MF COBOLファイル移行ツールの使用方法について説明します。
コマンド形式
mftofjfb 変換元ファイル名 変換情報ファイル名
変換元ファイルのパス名を指定します。
変換情報ファイル名のパス名を指定します。
変換情報ファイルは必須です。
変換情報ファイルの内容
* コメント行 … *1 【任意】 OUT-FILE-DIR=変換後ファイルのディレクトリ名/ … *2 【必須】 OUT-LIST-DIR=変換結果情報リストファイルのディレクトリ名/ … *3 【任意】 ORGANIZATION={LINSEQ|SEQ|REL|IDX} … *4 【必須】 RECORD-FORMAT={F|V} … *5 【必須】 RECORD-LENGTH=最大レコード長 … *6 【必須】 ZONED-DECIMAL=位置,桁数,符号位置 … *7 【任意】 INDEX-DATA-ITEM=位置 … *8 【任意】
※{ }内はどれか1つを選択することを示します。
規則
ファイルの文字コードは、Unicode(UTF-8)です。
1行は、 256バイト以下でなければなりません。
先頭の文字が「*」の行は、コメント行とみなします。
各オプションの指定順序は任意です。
ディレクトリ名(*2、*3)は、フルパスで指定しなければなりません。
ディレクトリ名の最後には必ず「/」を指定する必要があります。
*7 および *8のオプションは、複数指定ができます。その他のオプションは1回だけ指定できます。
同一オプションを複数指定した場合は、最後に指定したオプションの内容が有効になります。
説明
*1:先頭の文字が「*」を記述した行はコメント行です。内容は自由です。
*2:変換後ファイルを格納するディレクトリ名を指定します。変換元と同じファイル名で当ディレクトリに出力します。
注意
格納先に同名のファイルがすでに存在している場合、ファイルを上書きします。
変換元ファイルと同じディレクトリは指定することはできません。指定した場合はエラーとなります。
*3:変換結果情報リストファイルを格納するディレクトリ名を指定します。
変換結果情報リストファイルは、変換元のファイル名に拡張子がある場合は、その拡張子を「.LST」に変えて当ディレクトリに作成します。拡張子がない場合には、「.LST」を付加した名前となります。
なお、当オプションを省略した場合、変換結果情報リストファイルは「OUT-FILE-DIR=」で指定したディレクトリに出力します。
注意
格納先に同名のファイルがすでに存在している場合、ファイルを上書きします。
*4:ファイル編成を指定します。
LINSEQ … 行順ファイル
SEQ … 順ファイル
REL … 相対ファイル
IDX … 索引ファイル
*5:レコード形式を指定します。
F … 固定長
V … 可変長
*6:レコード長を指定します。
最大レコード長 … 固定長の場合、その長さを指定します。可変長の場合、最大長を指定します。
*7:符号付き外部10進項目(SEPARATE指定なし)の情報を指定します。
符号(内部表現)を変換するために必要です。また、当項目が複数個存在する場合は、当オプションをその個数分指定してください。なお、複数指定する場合、順序についての制限はありません。
位置 … レコード内の相対位置(先頭を1として)を指定します。
桁数 … 符号付き外部10進項目の全桁数を指定します。
符号位置 … 符号の位置を指定します。
LEADING :左端に符号がある場合
TRAILING:右端に符号がある場合
*8:指標データ項目のレコード内の相対位置(先頭を1として)を指定します。
当項目が複数個存在する場合は、当オプションをその個数分指定してください。複数指定する場合、順序についての制限はありません。
本ツールは、索引ファイルの場合に限り、一度中間ファイル(可変長順ファイル)に変換しています。この中間ファイルを「COBOLファイルユーティリティ」を使用して、FJ形式の索引ファイルに変換しなければなりません。
詳細については、“NetCOBOL ユーザーズガイド”を参照してください。
本ツールで、実行時に処理が続行不可能となった場合、エラーメッセージを出力します。その場合は、エラーメッセージの内容を確認して対処をしたうえで、再度起動してください。
エラーメッセージは、次に示す場合に出力します。
変換情報ファイルの内容の記述に誤りがあった場合
入出力ファイルに対するアクセスエラーの場合
本ツールの定量制限を超えた場合
変換元ファイルの内容と変換オプションで指定した内容に矛盾があった場合
本ツールが修復不可能なアプリケーションエラーで異常終了した場合、各入力ファイルを再度確認してください。
以下にファイルを変換する場合の例を示します。
【例1】順ファイル(固定長)の変換例
前提事項
[入力ファイル名]
/home/mfdata/SEQFIL01.FIL
[出力先ディレクトリ]
/home/fjdata/ … 変換後ファイルおよび変換結果情報リスト
[ファイル仕様]
順ファイル(固定長)
最大レコード長…80バイト
外部10進項目…有り(2箇所)
指標データ項目…有り(1箇所)
レコードフォーマット
01 SEQ-FILE. 相対位置 02 DATA-1 PIC 9(4). 1 02 DATA-2 PIC S9(4). *1:符号付き外部10進 5 02 DATA-3 PIC X(4). 9 02 DATA-4 USAGE IS INDEX. *2:指標データ項目 13 02 DATA-5 PIC X(4). 17 02 DATA-6 PIC S9(8) SIGN IS LEADING. *3:符号付き外部10進 21 02 DATA-7 PIC X(52). 29
変換情報ファイルの作成
ファイル名 /home/mfdata/SEQFIL01.INF
*** 順ファイル(固定長)の変換 *** OUT-FILE-DIR=/home/fjdata/ ORGANIZATION=SEQ RECORD-FORMAT=F RECORD-LENGTH=80 ZONED-DECIMAL=5,4,TRAILING … *1 ZONED-DECIMAL=21,8,LEADING … *3 INDEX-DATA-ITEM=13 … *2
変換ツールの実行
本ツールを実行します。
変換結果の確認
以下のファイルが作成されます。変換結果情報リストを確認してください。
/home/fjdata/SEQFIL01.LST
/home/fjdata/SEQFIL01.FIL
→ FJ形式の順ファイル(固定長)形式
【例2】索引ファイル(可変長)の変換例
前提事項
[入力ファイル名]
/home/mfdata/IDXFIL01.FIL
[出力先ディレクトリ]
/home/fjdata/ … 変換後ファイル
/home/fjdata/LIST … 変換結果情報リスト
[ファイル仕様]
索引ファイル(可変長)
最大レコード長…80バイト
外部10進項目…有り(2箇所)
指標データ項目…無し
レコードフォーマット(MF:OCCURS DEPENDING ONで指定した項目は、最大サイズで獲得されていることを意識します。)
01 IDX-FILE. 相対位置 02 DATA-1 PIC 9(4). 1 02 DATA-2 PIC S9(4). *1:符号付き外部10進 5 02 DATA-3 PIC X(4). 9 02 DATA-4 PIC X(4). 13 02 DATA-5 PIC X(4). 17 02 DATA-6 PIC S9(8) SIGN IS LEADING. *2:符号付き外部10進 21 02 DATA-7 OCCURS 1 TO 10 TIMES DEPENDING ON DATA-7-DEP. 29 03 DATA-7-ITEM PIC X(10). 02 DATA-8 PIC S9(4). *3:符号付き外部10進 129
変換情報ファイルの作成
ファイル名 /home/mfdata/IDXFIL01.INF
*** 索引ファイル(可変長)の変換 *** OUT-FILE-DIR=/home/fjdata/ OUT-LIST-DIR=/home/fjdata/LIST/ ORGANIZATION=IDX RECORD-FORMAT=V RECORD-LENGTH=80 ZONED-DECIMAL=5,4,TRAILING … *1 ZONED-DECIMAL=21,8,LEADING … *2 ZONED-DECIMAL=129,4,TRAILING … *3
変換ツールの実行
本ツールを実行します。
変換結果の確認
以下のファイルが作成されます。変換結果情報リストを確認してください。
/home/fjdata/LIST/IDXFIL01.LST
/home/fjdata/IDXFIL01.FIL
順ファイル(可変長)形式となっているため、コマンドを使用して、索引ファイルに変換する必要があります。
COBOLファイルユーティリティコマンドによる変換
ロードコマンド(cobfload)で順ファイル(可変長)から、索引ファイルに変換します。