Easytrieve Plus : フィールドの集団項目の定義方法は? フィールドの再定義の方法は? ワーク・フィールドの再定義の方法は?

book

Article ID: 185734

calendar_today

Updated On:

Products

EASYPROCLIB CA Easytrieve Report Generator CA Easytrieve Report Generator for Common Services

Issue/Introduction

Question
フィールドの集団項目の定義方法は?
フィールドの再定義の方法は?
ワーク・フィールドの再定義の方法は?

Environment

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

Resolution

Answer
フィールドの開始位置に、再定義したいフィールドを指定します。
フィールドを再定義する場合、ファイルの項目の時は同じ開始位置あるいは再定義したいフィールド名を指定します。ワーク・フィールドの場合はフィールドの開始位置に再定義したいフィールド名を指定します。フィールドの開始位置に再定義したいフィールド名を指定することは、このフィールドのスタート位置を指定したことになります。EASYPLUSには、フィールドの定義でレベル付けの考え方はありませんので、すべて再定義で処理します。

[同じ開始位置を指定する場合の定義例]
FILE     FILEA
URIAGE      1      10     A
SURYO       1        3     N 0
TANKA       4        7     N 0

[再定義したフィールド名を指定する場合の定義例(レコード・フィールド)]
FILE    FILEA
URIAGE          1           10        A
SURYO     URIAGE        3        N 0
TANKA     URIAGE +3   7         N 0

※上記、「+3」という指定はURIAGEフィールドのスタート位置からの変位を示しています。

[再定義したフィールド名を指定する場合の定義例(ワーク・フィールド)]
URIAGE              W           10        A
SURYO       URIAGE          3         N 0
TANKA       URIAGE +3      7         N 0


記述例
(例) 社員氏名一覧を名字でグループ・インディケーション処理して出力する

FILE     FILEA
NAME       20        20       K       HEADING ‘氏名'
NAME-1   20        10        K       HEADING ‘名字'
*
JOB
PRINT
REPORT   LINESIZE 70
SEQUENCE   NAME
CONTROL    FINAL   NOPRINT    NAME-1    NOPRINT
TITLE   ‘ ***社員氏名一覧表*** '
LINE    NAME-1     NAME

名字の部分を NAME-1 で再定義している。
このプログラム例の場合、NAME-1はCONTROLのキーとして指定しているので出力レポートはNAME-1でグループインディケーション処理されます。

Additional Information

Old Japanese Knowledge document ID: JTEC000981