添え字付け

添え字付けとは、正の整数を使用してテーブル参照を行う手法のことです。 添え字とは、テーブル・エレメントのオカレンス番号を指定する正の整数値 (または整数データ項目) です。

構文図を読む構文図をスキップする
添え字付け - 形式

               .--------------------.                        
               V                    |                        
>>-+-条件名-1--+----+----------------+-+--+-----------------+------>
   '-データ名-1-'    '-+-IN-+--データ名-2-'    '-+-IN-+--ファイル名-1-'   
                   '-OF-'                '-OF-'              

      .------------------------------.      
      V                              |      
>--(----+-整数-1---------------------+-+--)----------------------><
        +-ALL----------------------+        
        +-データ名-3--+--------------+-+        
        |         '-+-+--+--整数-2-' |        
        |           '- --'         |        
        '-指標名-1--+--------------+--'        
                 '-+-+--+--整数-3-'           
                   '- --'                   

条件名-1
OCCURS 文節を含むデータ記述記入項目に従属している必要があります。
データ名-1
OCCURS 文節を含んでいるか、または OCCURS 文節を含むデータ記述記入項目に従属している必要があります。
整数-1
符号付きでもかまいません。符号付きの場合には、正でなければなりません。
ALL
さまざまな数の引数を認める関数の、関数引数として使用されます。 添え字付き ID が関数の引数として使用されるときのみ使用でき、条件名が指定されているときには使用できません。
データ名-3
整数を表す数字基本項目でなければなりません。

データ名-3 は修飾できます。

指標名-1
指標名を指定している INDEXED BY 句を含む、参照されているテーブルの階層のデータ記述記入項目に対応します。
整数-2、整数-3
符号のない整数でなければなりません。

括弧で囲まれた添え字は、テーブル・エレメントの名前の修飾を直後に続けて書きます。 このような参照の添え字の数は、そのエレメントが参照されているテーブルの次元の数と等しくなければなりません。 すなわち、データ名そのものも含めて、データ名の入っている階層の各 OCCURS 文節に 1 つの添え字がなければなりません。

複数の添え字が必要とされるときには、それらはデータ編成を含めた小さい方の次元から連続した順序で書かれます。 複数の次元のテーブルが連続するネストされたテーブルであると見なされ、ネストの一番外側のテーブルが大テーブルで、 一番内側が小テーブルであると見なされる場合、添え字は大、中、小の順番で左から右へ書かれます。

例えば、TABLE-THREE が次のように定義されている場合、
01  TABLE-THREE.
    05  ELEMENT-ONE OCCURS 3 TIMES.
        10  ELEMENT-TWO OCCURS 3 TIMES.
            15  ELEMENT-THREE OCCURS 2 TIMES    PIC X(8).
TABLE-THREE への有効な添え字付き参照は次のとおりです。
ELEMENT-THREE (2 2 1)

項目への参照は、 その項目がテーブル・エレメントまたはテーブル・エレメントに関連した項目または条件名でなければ、添え字付きにしてはなりません。

各テーブル・エレメント参照は、次のような参照が行われる場合を除き、添え字を付ける必要があります。

添え字によって表される最低の許容オカレンス数は 1 です。 どのような特定の場合でも最高の許容オカレンス数は、OCCURS 文節で指定される項目のオカレンスの最大数です。

関連情報