COBOL プログラムで、ファイル記述 (FD) 項目 (またはソート/マージ・ファイルの場合 はソート・ファイル記述 (SD) 項目) は、ファイル・セクションの中の最高レベルの編成を表します。FD 項目や SD 項目の後にオプションの節をどのような順序で指定するかは、 重要なことではありません。
フォーマット 1: 順次ファイル記述項目 >>-FD--ファイル名-1--+------------------+--+----------------+---> '-+----+--EXTERNAL-' '-+----+--GLOBAL-' '-IS-' '-IS-' >--+-------------------------------------------------------------+--> '-BLOCK--+----------+--+------------+--整数-2--+-CHARACTERS-+-' '-CONTAINS-' '-整数-1--TO-' '-RECORDS----' >--+--------------------------------------------------------------+--> '-RECORD--+-+----------+--整数-3--+------------+-------------+-' | '-CONTAINS-' '-CHARACTERS-' | +-+----------+--整数-4--TO--整数-5--+------------+-+ | '-CONTAINS-' '-CHARACTERS-' | '-| 節 1 |--+-------------------------------+------' '-DEPENDING--+----+--データ名-1--' '-ON-' >--+-----------------------------------------------------+------> '-LABEL--+-RECORD--+----+---+--+-STANDARD-----------+-' | '-IS-' | +-OMITTED------------+ '-RECORDS--+-----+-' | .----------------. | '-ARE-' | V | | '---+------------+-+-' '-データ名-2--' >--+----------------------------------------------------+-------> | .--------------------------------------. | | V | | '-VALUE OF----システム名-1--+----+--+-データ名-3---+-+-' '-IS-' '-リテラル-1-' >--+--------------------------------------------+---------------> | .------------. | | V | | '-DATA--+-RECORD--+----+---+----データ名-4--+-' | '-IS-' | '-RECORDS--+-----+-' '-ARE-' >--+-----------------------------------------------------+------> '-LINAGE--+----+--+-データ名-5-+--+-------+--| 節 2 |--' '-IS-' '-整数-8-----' '-LINES-' >--+-------------------------------------+----------------------> '-RECORDING--+------+--+----+--モード-' '-MODE-' '-IS-' >--+--------------------------+--.----------------------------->< '-CODE-SET--+----+--英字名-' '-IS-' 節 1 |--+----+--VARYING--+----+--+------+--+------------------+------> '-IS-' '-IN-' '-SIZE-' '-+------+--整数-6-' '-FROM-' >--+------------+--+------------+-------------------------------| '-TO--整数-7-' '-CHARACTERS-' 節 2 |--+-------------------------------------------+----------------> '-+------+--FOOTING--+----+--+-データ名-6-+-' '-WITH-' '-AT-' '-整数-9-----' >--+----------------------------------------+-------------------> '-+-------+--+----+--TOP--+-データ名-7-+-' '-LINES-' '-AT-' '-整数-10----' >--+-------------------------------------------+----------------| '-+-------+--+----+--BOTTOM--+-データ名-8-+-' '-LINES-' '-AT-' '-整数-11----'
フォーマット 2: 相対および索引付きファイル記述項目 >>-FD--ファイル名-1--+------------------+--+----------------+---> '-+----+--EXTERNAL-' '-+----+--GLOBAL-' '-IS-' '-IS-' >--+-------------------------------------------------------------+--> '-BLOCK--+----------+--+------------+--整数-2--+-CHARACTERS-+-' '-CONTAINS-' '-整数-1--TO-' '-RECORDS----' >--+--------------------------------------------------------------+--> '-RECORD--+-+----------+--整数-3--+------------+-------------+-' | '-CONTAINS-' '-CHARACTERS-' | +-+----------+--整数-4--TO--整数-5--+------------+-+ | '-CONTAINS-' '-CHARACTERS-' | '-| 節 1 |--+-------------------------------+------' '-DEPENDING--+----+--データ名-1-' '-ON-' >--+-------------------------------------------+----------------> '-LABEL--+-RECORD--+----+---+--+-STANDARD-+-' | '-IS-' | '-OMITTED--' '-RECORDS--+-----+-' '-ARE-' >--+----------------------------------------------------+-------> | .--------------------------------------. | | V | | '-VALUE OF----システム名-1--+----+--+-データ名-3--+--+-' '-IS-' '-リテラル-1-' >--+--------------------------------------------+--.----------->< | .------------. | | V | | '-DATA--+-RECORD--+----+---+----データ名-4--+-' | '-IS-' | '-RECORDS--+-----+-' '-ARE-' 節 1 |--+----+--VARYING--+----+--+------+--+------------------+------> '-IS-' '-IN-' '-SIZE-' '-+------+--整数-6-' '-FROM-' >--+------------+--+------------+-------------------------------| '-TO--整数-7-' '-CHARACTERS-'
フォーマット 3: 行順次ファイル記述項目 >>-FD--ファイル名-1--+------------------+--+----------------+---> '-+----+--EXTERNAL-' '-+----+--GLOBAL-' '-IS-' '-IS-' >--+---------------------------------------------------------+--> '-RECORD--+-+----------+--整数-3--+------------+--------+-' | '-CONTAINS-' '-CHARACTERS-' | '-| 節 1 |--+-------------------------------+-' '-DEPENDING--+----+--データ名-1-' '-ON-' >--.----------------------------------------------------------->< 節 1 |--+----+--VARYING--+----+--+------+--+------------------+------> '-IS-' '-IN-' '-SIZE-' '-+------+--整数-6-' '-FROM-' >--+------------+--+------------+-------------------------------| '-TO--整数-7-' '-CHARACTERS-'
フォーマット 4: ソート/マージ・ファイル記述項目 >>-SD--ファイル名-1---------------------------------------------> >--+--------------------------------------------------------------+--> '-RECORD--+-+----------+--整数-3--+------------+-------------+-' | '-CONTAINS-' '-CHARACTERS-' | +-+----------+--整数-4--TO--整数-5--+------------+-+ | '-CONTAINS-' '-CHARACTERS-' | '-| 節 1 |--+-------------------------------+------' '-DEPENDING--+----+--データ名-1--' '-ON-' >--+--------------------------------------------+---------------> | .------------. | | V | | '-DATA--+-RECORD--+----+---+----データ名-4--+-' | '-IS-' | '-RECORDS--+-----+-' '-ARE-' >--+-------------------------------------------------------------+--> '-BLOCK--+----------+--+------------+--整数-2--+-CHARACTERS-+-' '-CONTAINS-' '-整数-1--TO-' '-RECORDS----' >--+-------------------------------------------------+----------> '-LABEL--+-RECORD--+----+---+--+-STANDARD-------+-' | '-IS-' | +-OMITTED--------+ '-RECORDS--+-----+-' | .------------. | '-ARE-' | V | | '---データ名-2--+-' >--+----------------------------------------------------+-------> | .--------------------------------------. | | V | | '-VALUE OF----システム名-1--+----+--+-データ名-3--+--+-' '-IS-' '-リテラル-1-' >--+-----------------------------------------------------+------> '-LINAGE--+----+--+-データ名-5-+--+-------+--| 節 2 |-' '-IS-' '-整数-8-----' '-LINES-' >--+--------------------------+--.----------------------------->< '-CODE-SET--+----+--英字名-' '-IS-' 節 1 |--+----+--VARYING--+----+--+------+--+------------------+------> '-IS-' '-IN-' '-SIZE-' '-+------+--整数-6-' '-FROM-' >--+------------+--+------------+-------------------------------| '-TO--整数-7-' '-CHARACTERS-' 節 2 |--+-------------------------------------------+----------------> '-+------+--FOOTING--+----+--+-データ名-6--+-' '-WITH-' '-AT-' '-整数-9-----' >--+----------------------------------------+-------------------> '-+-------+--+----+--TOP--+-データ名-7--+-' '-LINES-' '-AT-' '-整数-10----' >--+-------------------------------------------+----------------| '-+-------+--+----+--BOTTOM--+-データ名-8--+-' '-LINES-' '-AT-' '-整数-11----'