修飾の規則

名前の修飾に関する規則を次に示します。
  • 名前は、その必要がない場合でも、修飾できます。
  • 各修飾子は、修飾する名前より高いレベルでなければならず、同じ階層内になければなりません。
    例えば、次のとおりです。
       01 FIELD-A
          02 FIELD-B
             05 SUB1
                07 SUB2
          02 FIELD-C
                07 SUB1

    階層には、同じかまたはより高いレベル番号が次に現れるまでのすべての従属記入項目が含まれます。 したがって、上記の例ではすべての記入項目が FIELD-A の階層に含まれます。 FIELD-B から FIELD-C の前までのすべての記入項目、ただし組み込まれているものではないものが FIELD-B の階層に含まれます。

    FIELD-A の階層では、SUB1 を 2 回使用できます。 1 回は FIELD-B に従属するものとして、さらにもう 1 回は FIELD-C に従属するものとして使用できます。 SUB-1 を参照する場合には、SUB-1 OF FIELD-B または SUB-1 OF FIELD-C のように修飾しなければなりません。 FIELD-B または FIELD-C では、SUB1 は自分自身に従属することはできません。

  • 1 つのデータ名の全修飾子のリストは、別のデータ名の修飾子の部分的リストと同じであってはなりません。
  • 1 つのデータ名または条件名が複数のデータ項目に割り当てられている場合は、そのデータ項目を参照するたびに修飾しなければなりません。(1 つ例外がありますので REDEFINES 文節を参照してください。)
  • 修飾により参照を固有にできる場合は、指定されたプログラムまたはコンパイル単位の複数の場所でデータ名を定義できます。
  • 固有性を確実にする修飾子の組み合わせが 2 組以上存在する場合には、どの組み合わせを使用してもかまいません。
  • プログラム内でセクション名を参照する場合は、セクション名は固有でなければなりません。
  • プログラム内で段落名を参照する場合、段落名はセクションの中で固有でなければなりません。 段落名をセクション名で修飾する場合は、SECTION という語を書いてはなりません。 段落名をそれが書かれているセクション内で参照する場合は、修飾の必要はありません。
  • ソース・プログラム内に LINAGE 文節を含むファイル記述記入項目が複数指定されている場合は、LINAGE-COUNTER は参照するたびに修飾しなければなりません。
  • ライブラリー名はシステム内で固有でなければなりません。 したがって、ライブラリー名の上位 10 文字は固有でなければなりません。
  • テキスト名 (メンバー名) は、それが属するライブラリー名およびファイル名によって修飾しなければなりません。 (ライブラリー名とファイル名の間には、スペースを入れずにハイフンを置くことが必要です。) ライブラリーが指定されない場合は、ライブラリー・リストが検索されます。 ファイル名が指定されない場合は、QCBLLESRC が使用されます。
    IBM Extension

    IBM Extension 形式 1 の COPY ステートメントでは、ファイル名の指定はオプショナルです。 ファイル名が指定されない場合のデフォルトは QCBLLESRC です。 End of IBM Extension

    End of IBM Extension