Easytrieve Plus : 配列フィールドの定義方法は?
search cancel

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

book

Article ID: 185874

calendar_today

Updated On:

Products

EASYPROCLIB Easytrieve Report Generator Easytrieve Report Generator for Common Services

Issue/Introduction

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

Environment

z/OS, MSP, VOS3, IBM, FUJITSU, HITACHI

Resolution

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

Additional Information

Old Japanese Knowledge document ID: JTEC000980