JP4405571B1 - プログラム - Google Patents
プログラム Download PDFInfo
- Publication number
- JP4405571B1 JP4405571B1 JP2008218741A JP2008218741A JP4405571B1 JP 4405571 B1 JP4405571 B1 JP 4405571B1 JP 2008218741 A JP2008218741 A JP 2008218741A JP 2008218741 A JP2008218741 A JP 2008218741A JP 4405571 B1 JP4405571 B1 JP 4405571B1
- Authority
- JP
- Japan
- Prior art keywords
- program
- instruction
- copy
- file
- item
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Abstract
【解決手段】プログラム変換装置100であって、ファイル定義体200と入力プログラム300とを記憶している記憶部102と、ファイル定義体200に格納された項目名に、所定の文字と区切り文字とを付加した項目名を作成し、作成した項目名と項目属性とを用いてデータファイルを定義するコピー句400を生成するコピー句生成部103と、ファイル定義体200に基づいて、テーブル定義500を生成するテーブル定義生成部104と、入力プログラム300のファイル定義体200を用いてデータファイルを定義する部分を、コピー句400を複写する命令と、複写したコピー句400から所定の文字を置換する命令とを用いてデータファイルを定義するように変換するプログラム変換部105とを備える。
【選択図】図1
Description
具体的には、ファイル節において、COPY命令とともにJOINING命令のみを用いることができる第1COBOLを用いて構築されたレガシーシステムの場合、COPY命令とともにJOINING命令のみを用いることができない第2COBOLで利用可能な命令に変換することが必要となる。
特に、ファイル節において、COPY命令とともにJOINING命令のみを用いることができる第1COBOLで記述されたソースプログラムから、COPY命令とともにJOINING命令のみを用いることができない第2COBOLで記述されたソースプログラムに変換する場合に、プログラム変換を効率的に実行することができるプログラムを提供することを目的とする。
また、上記目的を達成するために、本発明に係るプログラム変換装置は、ファイル定義体を用いてデータファイルを定義する入力プログラムを、ファイル定義体を用いずにデータファイルを定義する目的プログラムへ変換するプログラム変換装置であって、前記入力プログラム及び前記目的プログラムは、COBOLで記述され、前記データファイルは、一以上のデータ項目を有する一以上のレコードにより構成され、前記ファイル定義体には、前記データ項目の項目名と項目属性とが前記データ項目ごとに格納され、前記入力プログラムは、一つの前記ファイル定義体を用いて、項目属性が同じで項目名だけが互いに異
なるデータ構造を有する複数のデータファイルをそれぞれ定義する複数の第一命令を含み、前記複数の第一命令のそれぞれは、前記ファイル定義体に格納されたすべてのデータ項目の項目名に対して、一文字以上の同一の第一所定文字列と予め定められた同一の区切り文字とを付加する付加命令を用いて、前記データファイルを定義する命令であり、前記第一所定文字列は、前記複数の第一命令のそれぞれで互いに異なる文字列であり、前記目的プログラムに用いられるCOBOLは、前記付加命令を解釈することができないCOBOLであり、前記プログラム変換装置は、前記ファイル定義体と前記入力プログラムとを記憶している記憶部と、前記記憶部に記憶された前記ファイル定義体を参照することにより、前記目的プログラムがコンパイルされる際に前記目的プログラム中に複写されるテキストファイルであるコピー句を生成するコピー句生成部と、前記記憶部に記憶された前記入力プログラムを読み出し、読み出した入力プログラムに含まれる前記複数の第一命令を特定し、特定した前記複数の第一命令のそれぞれを、同一の前記コピー句を用いて前記複数のデータファイルをそれぞれ定義する第二命令に書き換えることにより、前記入力プログラムを前記目的プログラムに変換するプログラム変換部とを備え、前記コピー句生成部は、前記ファイル定義体に格納されたすべてのデータ項目の項目名に対して一文字以上の同一の第二所定文字列と同一の前記区切り文字とを付加した新たな項目名を作成し、作成した新たな項目名と前記ファイル定義体に格納された項目属性とからなるデータ構造を定義する命令を生成することにより、前記コピー句を生成し、前記プログラム変換部は、前記コピー句に含まれる前記第二所定文字列を前記第一所定文字列に置換する置換命令を前記第一命令に追加することにより、前記第一命令のそれぞれを前記第二命令に書き換え、前記第二所定文字列は、前記ファイル定義体に格納されたいずれの項目名にも含まれない文字列であることを特徴とする。
つまり、本発明に係るプログラム変換装置は、第1高級プログラム言語で記述された入力プログラムを、第2高級プログラム言語で記述された目的プログラムへ変換するプログラム変換装置であって、データファイルを構成するデータ項目の項目名と項目属性とをデータ項目ごとに格納したファイル定義体と、前記入力プログラムとを記憶している記憶部と、前記ファイル定義体に格納された項目名に、所定の文字と区切り文字とを付加した新たな項目名を作成し、作成した新たな項目名と前記項目属性とを用いて、データファイルを定義する命令であるコピー句を生成するコピー句生成部と、前記ファイル定義体に格納された項目名と項目属性とを用いて、リレーショナルデータベースマネージメントシステムにおいてテーブルを作成するための命令であるテーブル定義を生成するテーブル定義生成部と、前記入力プログラム中の、前記ファイル定義体を用いてデータファイルを定義する部分を、前記コピー句を複写する命令と、複写した前記コピー句から前記所定の文字を置換する命令とを用いてデータファイルを定義するように修正することにより、前記入力プログラムを前記目的プログラムに変換するプログラム変換部とを備えることを特徴とする。
以下、本発明の実施の形態1に係るプログラム変換装置100について、図面を用いて詳細に説明する。
型202は、データの型を示す。例えば、型202は、数値型(U)、英数字型(X)等を示す。桁数203は、各データ項目に格納するデータの桁数を示す。
項目順位205は、データ項目をグループ化する項目(集団項目)の項目名を示す。見出し206は、データ項目の説明を示す。
図3に示す入力プログラム300は、COBOLを用いて記述されている。図3に示すように、入力プログラム300は、見出し部301(IDENTIFICATION DIVISION.)、環境部302(ENVIRONMENT DIVISION.)、データ部303(DATA DIVISION.)及び手続き部304(PROCEDURE DIVISION.)により構成される。
環境部302には、プログラムが実行されるコンピュータの環境が記述される。
このコピー句400は、目的プログラム600に記述された「COPY」命令により、目的プログラム600の中に複写される。以下に、コピー句400の内容について詳述する。
図7は、プログラム変換装置が実行するプログラムの変換に関する処理の流れを示すフローチャートである。
以下、本発明の実施の形態2に係るプログラム変換装置1000ついて、図面を用いて詳細に説明する。
図に示すように、入力プログラム1300は、データファイル「KAKMST」のデータファイル定義において、項目名に文字を付加するように命令していない。すなわち、行1301及び行1302は、ファイル定義体200に定義された項目名と同一の項目名を用いて、データファイルのデータ構造を定義することを命令している。一方、データファイル「MEIMST」のデータファイル定義では、入力プログラム1300は、項目名に文字を付加するように命令している。すなわち、行1303、行1304及び行1305は、「KAKTANPF2」に対応するファイル定義体に定義された項目名に対して「MEI−」を付加した項目名を用いて、データファイルのデータ構造を定義することを命令している。
本実施の形態のプログラム変換装置1000は、実施の形態1のプログラム変換装置100と同様に、図7に示した処理を実行する。
以下、本発明の実施の形態3に係るプログラム変換装置2000について、図面を用いて詳細に説明する。
図18に示すファイル定義体2200は、図2に示すファイル定義体200と比べて、格納されているデータの内容が異なる。例えば、図18に示すファイル定義体2200では、項目名2201が「MEICOD」のデータ項目は、型2202が「U(数値型)」であり、桁数2203が「6桁」であり、項目順位2205が「KEY」であり、見出し2206が「名称コード」であることが示されている。
図に示すように、入力プログラム2300は、データファイル「KAKMST」のデータファイル定義において、項目名に文字を前方から付加するようにデータファイルを定義する。
本実施の形態のプログラム変換装置2000は、実施の形態1のプログラム変換装置100と同様に、図7に示した処理を実行する。
101 入力部
102 記憶部
103、1003、2003 コピー句生成部
104 テーブル定義生成部
105、1005 プログラム変換部
106 出力部
200、2200 ファイル定義体
300、1300、2300 入力プログラム
301、601 見出し部
302、602 環境部
303、603 データ部
304、604 手続き部
400、1400、2400 コピー句
500 テーブル定義
600、1600 目的プログラム
2007 付加方向判定部
Claims (1)
- 第1COBOLで記述された入力ソースプログラムを、第2COBOLで記述された出力ソースプログラムへ変換するコンピュータ実行可能なプログラムであって、
前記第1COBOLは、データファイルのデータ構造を定義するファイル節において、ファイル定義体を呼び出す命令である第1「COPY」命令とともに、前記項目名に付加文字列及び区切り文字を付加する命令である「JOINING」命令を用いることにより、前記ファイル定義体に格納された項目名に付加文字列及び区切り文字が付加された付加項目名と前記ファイル定義体に格納された項目属性とによって特定されるデータ構造を定義することが可能な言語であり、
前記第2COBOLは、前記ファイル節において、前記第1「COPY」命令とともに前記「JOINING」命令のみを用いることが不可能な言語であり、
前記入力ソースプログラムには、第1「COPY」命令と、当該第1「COPY」命令に続いて記載された「JOINING」命令とが含まれ、
前記コンピュータは、
データファイルのデータ構造を特定するための項目名及び項目属性が格納されたファイル定義体と前記入力ソースプログラムとを記憶している記憶部を備え、
前記プログラムは、
前記記憶部に記憶されたファイル定義体に格納された項目名及び項目属性を読み出し、読み出した項目名と、当該項目名と重複しない文字列であるダミー文字列及び区切り文字とからなるダミー項目名を生成し、生成したダミー項目名と読み出した項目属性とによって特定されるデータ構造を定義するテキストデータであって、ソースプログラムの一部として取り込まれるためのテキストデータであるコピー句を生成するコピー句生成ステップと、
前記記憶部に記憶された入力ソースプログラムを読み出し、読み出した入力ソースプログラムに含まれるファイル節における前記第1「COPY」命令を特定し、特定した前記第1「COPY」命令によって呼び出されるファイル定義体が定義された登録集を特定するための登録集名を、変換後の命令によって取り込まれるコピー句が定義された登録集を特定するための登録集名に変更することにより、前記第1「COPY」命令を、前記コピー句をソースプログラムの一部として取り込む命令である第2「COPY」命令に変換し、かつ、前記「JOINING」命令とともに用いることにより前記ダミー文字列を前記付加文字列に置換する命令となる「DISJOINING」命令を前記第2「COPY」命令と前記「JOINING」命令との間に挿入することにより、前記出力ソースプログラムを生成するプログラム変換ステップと、
前記コピー句生成ステップにおいて生成された前記コピー句と、前記プログラム変換ステップにおいて生成された前記出力ソースプログラムとを出力する出力ステップとを前記コンピュータに実行させる
プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008218741A JP4405571B1 (ja) | 2008-08-27 | 2008-08-27 | プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008218741A JP4405571B1 (ja) | 2008-08-27 | 2008-08-27 | プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP4405571B1 true JP4405571B1 (ja) | 2010-01-27 |
JP2010134487A JP2010134487A (ja) | 2010-06-17 |
Family
ID=41706600
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008218741A Expired - Fee Related JP4405571B1 (ja) | 2008-08-27 | 2008-08-27 | プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4405571B1 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5464673B2 (ja) * | 2011-08-23 | 2014-04-09 | Necシステムテクノロジー株式会社 | コンパイル支援装置、コンパイル支援方法、及びプログラム |
JP6700554B2 (ja) | 2016-07-28 | 2020-05-27 | 富士通株式会社 | 分散処理管理方法、分散処理管理プログラム、および分散処理管理装置 |
-
2008
- 2008-08-27 JP JP2008218741A patent/JP4405571B1/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2010134487A (ja) | 2010-06-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20070299975A1 (en) | Systems and methods for migrating data | |
US9928283B2 (en) | Tracing data through a transformation process using tracer codes | |
CN112463149B (zh) | 一种面向软件定义卫星的可复用代码库构建方法与装置 | |
EP1477915A2 (en) | System and method of data modelling | |
JPH10254689A (ja) | クライアント・サーバシステムのアプリケーション構成設計支援方式 | |
Newman et al. | A scale-out RDF molecule store for distributed processing of biomedical data | |
US9244706B2 (en) | Command line shell command generation based on schema | |
JP4405571B1 (ja) | プログラム | |
CN109063059A (zh) | 行为日志处理方法、装置及电子设备 | |
Lushbough et al. | Life science data analysis workflow development using the bioextract server leveraging the iPlant collaborative cyberinfrastructure | |
CN116450107A (zh) | 低代码平台二次开发软件的方法、装置、电子设备 | |
Meier et al. | Traceability enabled by metamodel integration | |
US20080022258A1 (en) | Custom database system and method of building and operating the same | |
WO2017072872A1 (ja) | 業務プログラム生成支援システムおよび業務プログラム生成支援方法 | |
US8631393B2 (en) | Custom database system and method of building and operating the same | |
JP2003303100A (ja) | 情報処理システムおよび情報処理システム構築方法並びにこれに用いるプログラム | |
Ellison et al. | Towards Platform Independent Database Modelling in Enterprise Systems | |
JP2014157384A (ja) | 並列化設計支援システム、プログラム、および方法 | |
Würz et al. | Migrating monolithic applications to function as a service | |
WO2021084657A1 (ja) | 変換装置、変換方法及びプログラム | |
Kalkhanda | Learning AWK Programming: A fast, and simple cutting-edge utility for text-processing on the Unix-like environment | |
US11481545B1 (en) | Conditional processing of annotated documents for automated document generation | |
CN117687681B (zh) | 一种低代码应用的版本管理方法及系统 | |
JP2012133478A (ja) | データベース生成装置およびデータベース生成方法 | |
JP2007034806A (ja) | 情報処理装置及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20091104 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121113 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121113 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131113 Year of fee payment: 4 |
|
LAPS | Cancellation because of no payment of annual fees |