データ記述項の全体的な骨組み

機能

データ記述項は、個々のデータ項目の特徴を指定する。

またはプログラマが定義したデータ型の特徴を記述して、複数のデータ項目の記述を指定するのに使用する。

作業場所節またはファイル節内の01レベルのデータ記述項によって、データ・レコードおよびその下位のデータ項目に局所名(local name)または大域名(global name)が含まれるか否かが決まる。

作業場所節内の01レベルのデータ記述によって、データ・レコードとその下位のデータ項目の内部属性または外部属性が決まる。

一般形式

形式 1

形式 2

形式 3

形式 4

構文規則

  1. 形式 1では、レベル番号は01から49までのどれか、または77とする。

  2. 原則として、各句をどんな順序で書いてもよい。ただし、例外が2つある。データ1またはFILLER(無名項目)句が、

    指定されていれば、

    それらをレベル番号の直後に書く。REDEFINES(再定義)句を指定するときは、データ名-1またはFILLER句が、

    指定してあれば 直後に書く。指定がなければ、レベル番号の直後に書く。

  3. 以下の用途の項目に指定されたRENAMES句の左辺として、PICTURE(形式)句を指定してはならない。

    • INDEX

    • OBJECT-REFERENCE

    • PROCEDURE-POINTER

    • PROGRAM-POINTER

    • POINTER

    • COMPUTATIONAL-1、COMPUTATIONAL-2、

    • BINARY-CHAR、BINARY-SHORT、BINARY-LONG、BINARY-DOUBLE、

    • FLOAT-SHORT、FLOAT-LONG、

    • EVENT-POINTER、MONITOR-POINTER、MUTEX-POINTER、SEMAPHORE-POINTER、またはTHREAD-POINTER
    .

    基本項目を記述する他のどの記述項に対しても、PICTURE句を指定しなければならない。ただし、次の規則(構文規則4)に該当する場合を除く

  4. 形式 1のVALUE句で英数字定数または各国語型定数が指定されている場合は、基本項目に対してPICTURE句を省略してもよい。以下の場合は、PICTURE句が暗黙的に指定される。

    1. 定数が英数字の 'PICTURE X(長さ)' である

    2. 定数が各国語型の 'PICTURE N(長さ))'である

    ここで、「長さ」とは、COBOL言語の概念の章の定数節で指定された、定数の長さである。

  5. THRUとTHROUGHは同義語であり、どちらを書いてもよい。

  6. EXTERNAL句を指定できるのは、作業場所節内の01レベルのデータ記述項の中だけである。

  7. EXTERNAL句とREDEFINES句は、同じデータ記述項の中には指定できない。

  8. EXTERNAL句およびTHREAD-LOCAL句は、同じデータ記述項の中には指定できない。

  9. GLOBAL(大域)句は、01レベルのデータ記述項の中でだけ指定できる。

  10. データ名-1は、GLOBAL句およびEXTERNAL句を含む記述項に対して、または、GLOBAL句およびEXTERNAL句を含むファイル記述項に関連づけられたレコード記述に対して指定するものとする。

  11. TYPEDEF句は、レベル番号が01のデータ記述項の中でのみ指定できる。

  12. TYPEDEF句は、データ名-1が記述されている時にだけ使用できる。他の語では、明示的または暗黙的な FILLER句のデータ記述項と同じものを使用できない。

    TYPEDEF句を集団項目に対して指定した場合、従属するデータ記述は明示的または暗黙的なFILLER句で定義できるので注意が必要である。

  13. SYNCHRONIZED句、PICTURE句、JUSTIFIED句、BLANK WHEN ZEROの各句は、基本データ項目以外には指定できない。

    SYNCHRONIZED句は、集団項目に指定できる。

  14. 定数-6と整数-1は、浮動点小数値あるいは負数の値であってはならず、18桁を超えてはならない。

  15. 定数-6が式の一部として使用されている場合、整数でなければならない。

  16. データ名-2およびデータ名-3は、暗黙的に修飾できる。

  17. VALUE句は、字類が指標、オブジェクト、ポインタのデータ項目には指定できない。

  18. ANY LENGTH句を指定した場合は、レベル番号、記述項名、PICTURE、およびUSAGE以外の句は指定できない。

一般規則

  1. 形式 3 は、条件名(condition-name)に適用する。 各条件名はレベル番号が88の記述項に別々に定義する必要がある。ここに、条件名とそれに対応する単独の値またはいくつかの値または値の範囲を指定する。条件変数(condition variable)に対する条件名記述項は、条件名が関連する項目の記述項の直後に書く。条件名は原則として、レベル番号を含む任意のデータ記述項に関連付けることができる。ただし、下記のものを除く。

    1. 他の条件名

    2. 66レベルの項目

    3. JUSTIFIED、SYNCHRONIZED、USAGE(USAGE IS DISPLAYを除く)を含む記述項を伴う項目を含む集団項目

    4. 指標データ項目

      またはポインタ・データ項目

      (USAGE(用途)句節を参照。)

    5. 定数名

  2. 条件名を、内部浮動小数点数項目と関連付けることができる。

    条件名を、外部浮動小数点数項目と関連付けることができる。

  3. 形式 4 では、定数名を定義する。定数名(constant-name)とは、原始コードがCOBOLシステムを経由して渡されるときに割り当てられる定数値を表わす記号名である。COBOLシステムは定数名を対応する値で置き換える。

  4. TYPEDEF句を使用すると、基本データ記述の集団を型定義として宣言できる。そして、USAGE句内でデータ名-1を型定義名-1として使用して、そのデータ記述のインスタンスを宣言できる。型定義自体は記憶領域を割り当てられたデータ項目ではない。

  5. TYPEDEF句を集団のレベルで指定した場合、その型の任意のデータ項目に関してその型定義の構成要素が暗黙的に宣言される。その構成要素を参照するには、データ項目の修飾に関するCOBOLの通常の規則を適用する。