環境部 (ENVIRONMENT DIVISION) で順次ファイルの名前を指定した後で、 データ部 (DATA DIVISION) の中でファイル記述項目を使用してファイルを記述しなければなりません。 ファイル記述項目の詳細については、「WebSphere Development Studio: ILE COBOL 解説書」を参照してください。 テープ・ファイルを使用してアクセスする順次ファイルを記述するには、形式 3 のファイル記述項目を使用します。
テープ・ファイルにはデータ記述仕様 (DDS) がありません。 テープ装置に保管されている順次ファイルは、プログラム記述ファイルでなければなりません。 ILE COBOL プログラムでは、テープ装置との間で受け渡しされるデータをテープ・ファイル記述に指定された方法で配置できるようなレコード様式で、 フィールドを記述する必要があります。
DATA DIVISION の中で、テープ・ファイルによってアクセスする順次ファイルを記述する簡単なファイル記述項目は、以下のようなものになります。
FD sequential-file-name. 01 sequential-file-record. 05 record-element-1 PIC ... . 05 record-element-2 PIC ... . 05 record-element-3 PIC ... . . . .
可変長レコードのファイルをテープ装置に保管することができます。 ファイルの最大レコード長と最小レコード長を定義するには、ファイルの FD 項目に形式 3 の RECORD 文節を指定します。
DATA DIVISION の中で可変長レコードの順次ファイルを記述する簡単なファイル記述項目は、 以下のようなものになります。
FILE SECTION. FD sequential-file-name RECORD IS VARYING IN SIZE FROM integer-6 TO integer-7 DEPENDING ON data-name-1. 01 minimum-sized-record. 05 minimum-sized-element PIC X(integer-6). 01 maximum-sized-record. 05 maximum-sized-element PIC X(integer-7).
·
·
·
WORKING-STORAGE SECTION. 77 data-name-1 PIC 9(5).
·
·
·
ファイルの中のレコードの最小レコード・サイズは、integer-6 によって定義されます。 ファイルの中のレコードの最大レコード・サイズは、integer-7 によって定義されます。 integer-6 で指定されるものよりレコード長が短いファイルや integer-7 で指定されるものよりレコード長が長いファイルのレコード記述は作成しないようにしてください。 この規則を破るレコード記述があると、ILE COBOL コンパイラーからコンパイル時エラー・メッセージが出されます。 ILE COBOL コンパイラーは、レコード記述によって導き出される限界値を使用することになります。 また、ILE COBOL コンパイラーは、レコード記述の中にレコード長が integer-7 になるようなレコード記述がない場合にも、コンパイル時エラー・メッセージを出します。
可変長レコードに対して READ ステートメントまたは WRITE ステートメントが実行される場合、 そのレコードのサイズは data-name-1 の内容で定義されます。
可変長レコードの処理方法については、「WebSphere Development Studio: ILE COBOL 解説書」の形式 3 の RECORD 文節の部分を参照してください。
(C) Copyright IBM Corporation 1992, 2006. All Rights Reserved.