ファイルの作成時にデータの編成を決めます。ファイルを作成したら、それ以降、ファイルを拡張することはできますが、 その編成を変更することはできません。
ファイルの中にレコードが配置される物理的な順番が、レコードのシーケンスを決定します。 ファイルの拡張はできますが、ファイルの中のレコードの相互関係は変更されません。 レコードは固定長または可変長のどちらも可能であり、キーはありません。
ファイルの中で、最初のレコード以外のレコードには、その先行レコードがそれぞれ一意に決まります。 また最後のレコード以外のレコードには、その後続レコードがそれぞれ一意に決まります。
ファイル中の各レコードには、1 つ以上の組み込みキー (キー・データ項目 として参照される) があり、 それぞれのキーは索引に関連しています。 各索引は、それに関連する埋め込みレコード・キー・データ項目の内容に従って、データ・レコードへの論理パスを提供します。索引付きファイルは、 直接アクセス・ストレージのファイルでなければなりません。 レコードは固定長でも可変長でも可能です。
索引付きファイルの各レコードには、 基本キー・データ項目が埋め込まれていなければなりません。 レコードの挿入、更新、または削除が実行される場合、 それらのレコードはその基本キーの値によってのみ識別されます。 したがって、基本キー・データ項目の値はそれぞれ固有な値でなければならず、 レコードの更新時にその値を変更してはなりません。 この基本キー・データ項目の名前は、ファイル制御段落の RECORD KEY 節によって COBOL プログラムに知らせます。
さらに索引付きファイルの各レコードには、 1 つ以上の埋め込み代替キー・データ項目を指定できます。 各代替キーは、検索するレコードを識別する別の方法を提供します。 この代替キー・データ項目の名前は、ファイル制御段落の ALTERNATE RECORD KEY 節によって COBOL プログラムに知らせます。
特定の入出力要求に使用されるキーは、参照キー と呼ばれます。
これは、ファイルをそれぞれに 1 つのレコードが含まれているレコード域のストリングとみなします。 それぞれのレコード域は、相対レコード番号で識別されます。 その相対レコード番号に基づいて、アクセス方式によりレコードが格納され検索されます。例えば、最初のレコード域は相対レコード番号 1 でアドレスが指定され、10 番目のレコードは相対レコード番号 10 でアドレスが指定されます。ファイルの中でレコードが配置される物理的なシーケンスは、各レコードが入れられるレコード域とは関係がなく、したがって、各レコードの相対レコード番号とも関係がありません。相対ファイルは、直接アクセス・ファイルでなければなりません。 レコードは固定長でも可変長でも可能です。
行順次ファイルでは、各レコードには、レコード区切り文字で終わる一連の文字が入っています。区切り文字はレコードの長さには数えられません。
レコードの書き込み時には、レコード区切り文字を追加する前に末尾ブランクがあれば 除去されます。レコード域に入っている最初の文字から追加された レコード区切り文字までを含む文字が 1 つのレコードとしてファイルに書き込まれます。
レコードの読み取り時には、以下の条件が発生するまで一度に 1 文字ずつ文字がレコード域に読み取られます。
行順次ファイルに書き込まれるレコードは、USAGE DISPLAY や DISPLAY-1 または DISPLAY と DISPLAY-1 項目の 組み合わせとして記述するデータ項目から構成されている必要があります。 ゾーン 10 進データ項目は、符号なしであるか、符号付きの場合は SEPARATE CHARACTER 句で宣言する必要があります。
行順次ファイルに使用できるのは、印刷可能文字と以下の制御文字だけです。
改行文字は、レコード区切り文字として処理されます。他の制御文字は COBOL がファイルにあるレコードのデータの一部として扱います。
行順次ファイルにおいては、次のものはサポートされません。