順次ファイルの処理

ILE COBOL 順次ファイルは、レコードの処理が、ファイルに入れられた順序、すなわち到着順に行われるファイルのことです。 たとえば、ファイルで 10 番目にあるレコードは、10 番目のレコード位置を占めており、10 番目に処理されます。 ファイルを順次ファイルとして処理するには、SELECT 文節に ORGANIZATION IS SEQUENTIAL を指定するか、または ORGANIZATION 文節を省略する必要があります。 順次ファイルに対して可能なのは順次アクセスだけです。

順次ファイルにアクセスする標準的な COBOL プログラムを作成するには、特定の特性のファイルを作成する必要があります。表 24 に、それらの特性とそれを制御する方法を示します。

表 24. 標準的な COBOL プログラムからアクセス可能な順次ファイルの特性
特性 制御
ファイルは物理ファイルでなければならない。 CRTPF コマンドを使用してファイルを作成する。
ファイルは共用ファイルにはできない。 CRTPF CL コマンドに SHARE(*NO) を指定する。
ファイルにキーを指定することはできない。 ファイルのデータ記述仕様 (DDS) の中に、位置 17 が K である行を含めない。
ファイルのファイル・タイプは DATA でなければならない。 CRTPF CL コマンドに FILETYPE(*DATA) を指定する。
フィールド編集は使えない。 ファイル DDS に EDTCDE キーワードおよび EDTWRD キーワードを指定しないようにする。
行および位置情報を指定できない。 ファイル DDS の中のすべてのフィールド記述の位置 39 〜 44 をブランクのままにする。
行送りキーワードとスキップ・キーワードを指定できない。 ファイル DDS に SPACEA、SPACEB、 SKIPA、または SKIPB のキーワードを指定しないようにする。
標識は使えない。 ファイル DDS の中のすべての行の位置 9 〜 16 をブランクのままにする。
日付、時刻、およびページ番号などのシステム提供関数を使用できない。 ファイル DDS に DATE、TIME、または PAGNBR のキーワードを指定しないようにする。
ファイルに対して選択 / 除外レベル・キーワードを使用できない。 ファイル DDS の中に、位置 17 が S または O である行を含めないようにする。 COMP、RANGE、VALUES、または ALL のキーワードは指定しないようにする。
ファイル中のレコードを再使用できない。 CRTPF CL コマンドに REUSEDLT(*NO) を指定する。
ファイル中のレコードに NULL フィールドを含めることができない。 ファイル DDS に ALWNULL キーワードを指定しないようにする。

順次ファイルに格納されているデータにアクセスするには、OPEN、READ、 WRITE、REWRITE、および CLOSE ステートメントを使用します。 それらのステートメントのそれぞれについては、「WebSphere Development Studio: ILE COBOL 解説書」を参照してください。

SEQUENTIAL 編成の物理データベース・ファイルを OUTPUT 用にオープンすると、それはすべてクリアされます。

I-O (更新) モードでオープンするファイルの中のレコードの順序を保って、 そのファイル中のレコードを再使用できるようにするには、ファイルを作成したり変更したりしないでください。 すなわち、REUSEDLT オプションを指定した物理ファイルの変更 (CHGPF) CL コマンドを使用しないでください。

注:
ILE COBOL コンパイラーは、外部ファイルと関連付けられた装置が、 割り当て名の装置部分で指定されたタイプのものかどうかの検査は行いません。 割り当て名で指定された装置は、そのファイルが割り当てられている実際の装置と一致している必要があります。 詳細については、「WebSphere Development Studio: ILE COBOL 解説書」の『ASSIGN 文節』を参照してください。