FILE-CONTROL 段落
FILE-CONTROL 段落は、COBOL プログラム内の各ファイルを外部データ・セットに関連
付け、ファイル編成、アクセス・モード、およびその他の情報を指定します。
FILE-CONTROL 段落のフォーマットは、以下のとおりです。
- 順次ファイル項目
- 索引付きファイル項目
- 相対ファイル項目
- 行順次ファイル項目
ファイルのタイプ (表 6) に、プログラムおよびメソッドで使用可能な各種のファイルのリストを示します。
表 6. ファイルのタイプ
| ファイル編成 |
アクセス方式 |
| 順次 |
Btrieve、STL、RSD |
| 相対 |
Btrieve、STL |
| 索引付き |
Btrieve、STL |
| 行順次 |
ネイティブ |
FILE-CONTROL 段落は、FILE-CONTROL という語で開始し、後に分離文字ピリオドが続きます。ここには、
データ部の FD 項目または SD 項目で記述されるそれぞれのファイルに対応して、
1 つの (ただ 1 つの) 項目を記述する必要があります。
各項目内では、SELECT 文節が最初でなければなりません。
他の文節は、任意の順序で指定できます。
| フォーマット 1: 順次ファイル制御項目 |
 >>-SELECT--+----------+--ファイル名-1--------------------------->
'-OPTIONAL-'
.--------------.
V |
>--ASSIGN--+-+----+----割り当て名-1-+-+------------------------->
| '-TO-' |
'-USING--データ名-9--------'
>--+---------------------------+-------------------------------->
'-RESERVE-- 整数--+-------+-'
+-AREA--+
'-AREAS-'
>--+--------------------------------------+--------------------->
'-+----------------------+--SEQUENTIAL-'
'-ORGANIZATION--+----+-'
'-IS-'
>--+------------------------------------------------+----------->
'-PADDING--+-----------+--+----+--+-データ名-5-+-'
'-CHARACTER-' '-IS-' '-リテラル-2-'
>--+--------------------------------------------+--------------->
'-RECORD DELIMITER--+----+--+-STANDARD-1---+-'
'-IS-' '-割り当て名-2-'
>--+--------------------------------------+--------------------->
'-ACCESS--+------+--+----+--SEQUENTIAL-'
'-MODE-' '-IS-'
>--+------------------------------+----------------------------->
'-PASSWORD--+----+--データ名-6-'
'-IS-'
>--+------------------------------------------------------+----->
'-+------+--STATUS--+----+--データ名-1--+------------+-'
'-FILE-' '-IS-' '-データ名-8-'
>--.-----------------------------------------------------------><
|
| フォーマット 2: 索引付きファイル制御項目 |
 >>-SELECT--+----------+--ファイル名-1--------------------------->
'-OPTIONAL-'
.--------------.
V |
>--ASSIGN--+-+----+----割り当て名-1-+-+------------------------->
| '-TO-' |
'-USING--データ名-9--------'
>--+--------------------------+--+----------------------+------->
'-RESERVE--整数--+-------+-' '-ORGANIZATION--+----+-'
+-AREA--+ '-IS-'
'-AREAS-'
>--INDEXED--+------------------------------------------+-------->
'-ACCESS--+------+--+----+--+-SEQUENTIAL-+-'
'-MODE-' '-IS-' +-RANDOM-----+
'-DYNAMIC----'
>--RECORD--+-----+--+----+--データ名-2-------------------------->
'-KEY-' '-IS-'
.----------------.
V |
>--+------------------------------+----+------------+-+--------->
'-PASSWORD--+----+--データ名-6-' '-| 項目 1 |-'
'-IS-'
>--+------------------------------------------------------+----->
'-+------+--STATUS--+----+--データ名-1--+------------+-'
'-FILE-' '-IS-' '-データ名-8-'
>--.-----------------------------------------------------------><
項目 1:
|--ALTERNATE--+--------+--+-----+--+----+--データ名-3----------->
'-RECORD-' '-KEY-' '-IS-'
>--+----------------------+--+------------------------------+---|
'-+------+--DUPLICATES-' '-PASSWORD--+----+--データ名-7-'
'-WITH-' '-IS-'
|
| フォーマット 3: 相対ファイル制御項目 |
 >>-SELECT--+----------+--ファイル名-1--------------------------->
'-OPTIONAL-'
.--------------.
V |
>--ASSIGN--+-+----+----割り当て名-1-+-+------------------------->
| '-TO-' |
'-USING--データ名-9--------'
>--+---------------------------+--+----------------------+------>
'-RESERVE-- 整数--+-------+-' '-ORGANIZATION--+----+-'
+-AREA--+ '-IS-'
'-AREAS-'
>--RELATIVE----------------------------------------------------->
>--+-------------------------------------------------------------------------------------+-->
'-ACCESS--+------+--+----+--+-SEQUENTIAL--+---------------------------------------+-+-'
'-MODE-' '-IS-' | '-RELATIVE--+-----+--+----+--データ名-4-' |
| '-KEY-' '-IS-' |
'-+-RANDOM--+--RELATIVE--+-----+--+----+--データ名-4----'
'-DYNAMIC-' '-KEY-' '-IS-'
>--+------------------------------+----------------------------->
'-PASSWORD--+----+--データ名-6-'
'-IS-'
>--+------------------------------------------------------+----->
'-+------+--STATUS--+----+--データ名-1--+------------+-'
'-FILE-' '-IS-' '-データ名-8-'
>--.-----------------------------------------------------------><
|
| フォーマット 4: 行順次ファイル制御項目 |
 >>-SELECT--+----------+--ファイル名-1--------------------------->
'-OPTIONAL-'
.--------------.
V |
>--ASSIGN--+-+----+----割り当て名-1-+-+------------------------->
| '-TO-' |
'-USING--データ名-9--------'
>--+----------------------+--LINE SEQUENTIAL-------------------->
'-ORGANIZATION--+----+-'
'-IS-'
>--+--------------------------------------+--------------------->
'-ACCESS--+------+--+----+--SEQUENTIAL-'
'-MODE-' '-IS-'
>--+------------------------------------------------------+----->
'-+------+--STATUS--+----+--データ名-1--+------------+-'
'-FILE-' '-IS-' '-データ名-8-'
>--.-----------------------------------------------------------><
|
|