修飾

COBOL ソース要素中の要素を定義する、利用者が指定したそれぞれの名前。

ANS85 そのソース要素中で参照する名前は、

すべて一意にする必要がある。そのためには、同じつづりおよびハイフネーションの名前が他にないようにするか、名前の階層系列内に名前が存在しており、1 つ以上の上位階層の名前を付け加えて一意参照できるようにする。この上位階層の名前を修飾語といい、一意にする手順を修飾という。名前を一意にするには、必要な修飾語を付け加えればよく、上位階層の名前をすべて書く必要はない。

データ部では、修飾に用いるデータ名はすべて、レベル指示語またはレベル番号と関連付ける必要がある。したがって、修飾しても一意にできない場合、

ANS85 またはそれらが参照されない場合を除き、2 つの同じデータ名を同じ集団項目に属する記述項として使用することはできない。

手続き部では、2 つの同じ段落名を同じ節では使用できない。

修飾の階層系列では、レベル指示語の後ろに書いた名前を最高位とし、次にレベル番号 01 に書いた名前、それに続いてレベル番号 02 以降 49 の後ろに書いた名前の順とする。段落名については、節名だけを最高位 (および唯一) の修飾語として使用できる。したがって、階層系列の最高位の名前は一意でなければならず、修飾はできない。添え字または指標の付いたデータ名や条件変数も、手続き名やデータ名と同様、修飾によって一意にできる。条件変数の名前は、その条件名の修飾語として使用できる。修飾の有無にかかわらず、同じつづりの名前をデータ名と手続き名の両方には使用できない。

修飾するには、データ名、条件名、段落名、または原文名の後ろに IN または OF を続けて修飾語を書く。修飾語はさらに修飾することもできる。IN と OF は論理的に同等である。

ANS85 関数を指定する場合関数定義に従って、その関数を参照する記述の中に、いくつかのパラメーターに対する値または値の組を指定する必要がある。そのパラメーターの値を用いて、参照した関数の値が算出される。これは、引数の指定によって行われる。詳細については、「関数一意名」セクションを参照。

書き方 1 の一般形式


*

書き方 2 の一般形式


*

書き方 3 の一般形式


*
MFXOPEN 

書き方 4 の一般形式


*

一般規則:

  1. 各修飾語は、連続する上位の階層に属し、それが修飾する名前と同じ階層系列に属さなければならない。
  2. 階層系列内の 2 つの階層では、同じ名前を使用できない

    ANS85 (ソース単位内で明示的に参照される場合)

  3. ソース要素中の複数のデータ項目に同じデータ名または条件名を指定した場合、そのデータ名や条件名は、手続き部、環境部、およびデータ部で参照され際には、必ず修飾する必要がある。ただし、REDEFINES 句では修飾できない。
  4. 1 つの節の中で同じ段落名を複数使用することはできない。段落名を節名で修飾する場合は、SECTION という語は使用できない。同じ節内で参照する場合には、段落名を修飾する必要はない。

    ANS85 段落名も節名も、明示的に参照されない限り、一意にする必要はなく、また一意にできるようにする必要もない。

  5. データ名を修飾語として使用する場合、添え字は付けられない。
  6. 修飾する必要のない語を修飾することもできる。一意にする修飾語の組み合わせが複数存在する場合は、どの組み合わせを使用してもよい。あるデータ名に対する修飾語の全集合を、他のデータ名に対する修飾語の集合の一部と同一にすることはできない。

    データ名に付けられる修飾語の数は 5 つまでである。

    ANS85 50 個までの修飾語を指定できる。

  7. COBOL システムで複数の COBOL ライブラリを使用できる場合、原文名は参照されるたびに修飾する必要がある。

    OSVSVSC2MF この規則は必須ではない。