配列フィールドの定義方法は?

Document created by Masaaki_Iyama Employee on Jun 16, 2015
Version 1Show Document
  • View in full screen mode

文書番号: JTEC000980

製品名: CA-Easytrieve Plus

バージョン: ALL

OS: z/OS, MSP, VOS3

 

Question

配列フィールドの定義方法は?

 

Answer

フィールド定義ステートメントで OCCURS パラメータで定義します。

 

[OCCURSパラメータの指定]

[DEFINE] フィールド名    開始位置    フィールド長    属性     OCCURS     リテラル

リテラル : 配列を構成している要素の数を正の整数で指定する。


多次元配列は、各次元ごとに発生する数と長さを指定します。また、フィールドの開始位置には一番近い次元のフィールド名を記述します。

   記述例

   (例1)  二次元配列の定義

 

   DATA          W              30    A     VALUE '112233445566778899AABBCCDDEEFF'

   ROW          DATA         10    A     OCCURS  3

   COLUMN    ROW           2    A     OCCURS  5

   ELEMENT   COLUMN     2    A

 

        [参照方法]

        ROW       

            ROW(1)     ROW(2)      ROW(3)

 

        COLUMN

           COLUMN(1 1)      COLUMN(1 2).....COLUMN(3 5)

 

        ELEMENT

          ELEMENT(1 1)     ELEMENT(1 2).....ELEMENT(3 5)

                                           

  ELEMENT はCOLUMNを再定義しているだけなので、参照はCOLUMNと同様になります。

 

   (例2)  三次元配列の定義

 

FILE FILEA

  YEAR       1                   930     A      OCCURS  10

  MONTH    YEAR              93     A      OCCURS  12

  DAY        MONTH              3      A     OCCURS 31

  *

   I        W    2   N

   J       W    2   N

   K      W    2   N

  *

  JOB

     IF  DAY(I  J  K)  ZERO

         GOTO  JOB

     END-IF

     ~

Attachments

    Outcomes