SDF 配列

1 次元の SDF 配列を作成するには、次の操作を行います。

  1. フィールドを作成し、[Field Properties] ダイアログ ボックスでそのフィールドに名前を付けます。
  2. フィールドを右クリックし、ポップアップ メニューで [Make Horizontal Array] をクリックします。
  3. フィールドを右クリックし、ポップアップ メニューで [Add Array Column] をクリックします。
  4. フィールドを右クリックし、ポップアップ メニューで [Add Array Row] をクリックします。
  5. フィールドを右クリックし、ポップアップ メニューで [Add Array Row] をクリックします。

画面上のフィールドは 2 次元配列で配置されているように見えますが、コピーブック エントリでは 1 次元の SDF 配列が示されます。下図を参照してください。

生成される BMS マクロ ファイルは、次のようになります。

SDFARR  DFHMSD LANG=COBOL,    -
               MODE=INOUT,    -
               STORAGE=AUTO,  -
               TIOAPFX=YES,   -
               TYPE=&&SYSPARM 
SDFARR  DFHMDI SIZE=(24,80) 
* FIELD
FIELD   DFHMDF LENGTH=4,      -
               POS=(5,9) 
* FIELD
FIELD2  DFHMDF LENGTH=4,      -
               POS=(5,14) 
* FIELD
FIELD3  DFHMDF LENGTH=4,      -
               POS=(5,19) 
* FIELD
FIELD6  DFHMDF LENGTH=4,      -
               POS=(6,9) 
* FIELD
FIELD5  DFHMDF LENGTH=4,      -
               POS=(6,14) 
* FIELD
FIELD4  DFHMDF LENGTH=4,      -
               POS=(6,19) 
* FIELD
FIELD9  DFHMDF LENGTH=4,      -
               POS=(7,9) 
* FIELD
FIELD8  DFHMDF LENGTH=4,      -
               POS=(7,14) 
* FIELD
FIELD7  DFHMDF LENGTH=4,      -
               POS=(7,19) 
        DFHMSD TYPE=FINAL
        END

最上位行の 2 番目のフィールドの SDF プロパティを調べると、これが水平配列であることを確認できます。

  1. 最上位行の 2 番目のフィールドをダブルクリックします。
  2. [SDF] タブをクリックします。

これにより、そのフィールドは「Index 2 of 9」として表示されます。フィールドは画面の左から右に向かってカウントされます。

[Vertical Array] をオンにして配列を垂直配列にし、SDF プロパティをもう一度確認すると、今度はそのフィールドが「Index 4 of 9」として表示されます。この場合、フィールドは画面の上から下に向かってカウントされます。