連データ項目は、階層データ構造の一部となることができます。 従属データ項目を持たないデータ項目は、基本項目 と呼ばれます。 1 つ以上の従属データ項目で構成されるデータ項目をグループ項目と呼びます。
レコードは、基本項目またはグループ項目のどちらでも構いません。 グループ項目は、英数字グループ項目または国別グループ項目のいずれでも構いません。
例えば、以下の Customer-Record は英数字グループ項目であり、それぞれが基本データ項目を含んでいる 2 つの従属英数字グループ項目 (Customer-Name と Part-Order) で構成されています。 これらのグループ項目は暗黙的に USAGE DISPLAY を持ちます。 以下に示すように、PROCEDURE DIVISION の MOVE ステートメントで、グループ項目全体またはグループ項目の一部を参照できます。
Data Division.
File Section.
FD Customer-File
Record Contains 45 Characters.
01 Customer-Record.
05 Customer-Name.
10 Last-Name Pic x(17).
10 Filler Pic x.
10 Initials Pic xx.
05 Part-Order.
10 Part-Name Pic x(15).
10 Part-Color Pic x(10).
Working-Storage Section.
01 Orig-Customer-Name.
05 Surname Pic x(17).
05 Initials Pic x(3).
01 Inventory-Part-Name Pic x(15).
. . .
Procedure Division.
Move Customer-Name to Orig-Customer-Name
Move Part-Name to Inventory-Part-Name
. . .
代わりに、以下に示すように DATA DIVISION の宣言を変更することにより、Customer-Record を、2 つの従属国別グループ項目で構成される国別グループ項目として定義できます。 国別グループ項目の振る舞いは、ほとんどの操作でカテゴリー国別の基本データ項目と同じです。 GROUP-USAGE NATIONAL 節は、グループ項目およびその従属グループ項目が国別グループであることを示します。国別グループ内の従属基本項目は、明示的または暗黙的に USAGE NATIONAL として記述されている必要があります。
Data Division.
File Section.
FD Customer-File
Record Contains 90 Characters.
01 Customer-Record Group-Usage National.
05 Customer-Name.
10 Last-Name Pic n(17).
10 Filler Pic n.
10 Initials Pic nn.
05 Part-Order.
10 Part-Name Pic n(15).
10 Part-Color Pic n(10).
Working-Storage Section.
01 Orig-Customer-Name Group-Usage National.
05 Surname Pic n(17).
05 Initials Pic n(3).
01 Inventory-Part-Name Pic n(15) Usage National.
. . .
Procedure Division.
Move Customer-Name to Orig-Customer-Name
Move Part-Name to Inventory-Part-Name
. . .
上記の例のグループ項目は、グループ・レベルで USAGE NATIONAL 節を指定することもできます。 グループ・レベルの USAGE 節は、グループ内のそれぞれの基本データ項目に適用されます (ですから、これは便利な省略表現と言えます)。ただし、USAGE NATIONAL 節を指定しているグループは、グループ内の基本項目の表記にもかかわらず、国別グループではありません。 この USAGE 節を指定しているグループは英数字グループであり、多数の操作 (移動や比較など) において USAGE DISPLAY の基本データ項目と同様の振る舞いをします (ただし、データの編集や変換は行われません)。
関連参照
FILE SECTION 記入項目
国別データのストレージ
グループ項目のクラスおよびカテゴリー (Enterprise COBOL 言語解説書)
PICTURE 節 (Enterprise COBOL 言語解説書)
MOVE ステートメント (Enterprise COBOL 言語解説書)
USAGE 節 (Enterprise COBOL 言語解説書)