COBOLのデータ定義

プログラム上で使用するデータを定義するとき、COBOLでは集団項目・基本項目・レベル番号と言われる概念を用います。


データ項目

プログラムは、何らかのデータの「入力」があり、そのデータを使い、とある計算を行い、その結果を「出力」する、というのが基本的な流れとなります。


その流れの中で、入力されたデータや計算過程のデータなどを保存しておく「場所」が必要です。
ですので、プログラミングを行う際、命令文を記述していく前に、まずその「場所」を定義してあげる必要があります。


COBOLではその「場所」に名前を付けたものをデータ項目と呼びます。
(つまりデータ項目とは、C言語など他の言語でいう変数のことです。)



集団項目と基本項目

データ項目は基本項目と、1つ以上の基本項目が複合した構造を持つ集団項目とに分類されます。


集団項目と基本項目

例えば、「日付」というデータ項目について考えてみます。
日付は「年」「月」「日」に分類できます。
この場合、「日付」が集団項目となり、「年」「月」「日」がデータ項目となります。



レベル番号

レベル番号とはデータ項目の階層や従属関係を定義するための番号のことです。
1から49までの範囲で表され、1が最上位の階層となり、数字が増えるほど下位の階層となります。


下記に集団項目の定義例を示します。

01  従業員.
    03  従業員コード  PIC 9(6).
    03  従業員名  PIC  X(30).
    03  入社日付.
        05  年  PIC 9999.
        05  月  PIC 99.
        05  日  PIC 99.

レベル番号は連番とするのではなく、ある程度、番号をあけて繰り上げていくのが通例となっています。
例えば1の次は3、3の次は5と定義していきます。
これは、後に階層構造が変わり、新たな集団項目を間に組み込みたいときなどのための対策となります。

また、数字は「01」「03」のように2桁で記述するのが一般的となっています。
(ただし、2桁である必要はなく、「1」「3」と記述してもまったく問題ありません。)