Easytrieve Plus : EOF時の処理方法は?
book
Article ID: 185554
calendar_today
Updated On:
Products
EASYPROCLIB
Easytrieve Report Generator
Easytrieve Report Generator for Common Services
Issue/Introduction
Question
EOF時の処理方法は?
Environment
z/OS, MSP, VOS3, IBM, FUJITSU, HITACHI
Resolution
Answer
ファイルを自動入力している時にはプロシジャーを指定して行います。自動入力を行っていない時にはEOFを判断して行います。
Easytrieve Plusは、自動入力ファイルの1件目から順にJOBアクティビティの処理を行います。自動入力ファイルがEOFになった時に、自動的にEOFを判定し終了処理を行います。この終了処理の中に任意の処理を追加したい時は FINISH プロシジャーを使用します。自動入力をしない時には、ロジックでEOFの判断をして処理します。
[FINISHプロシジャーの記述]
JOB FINISH プロシジャー名
....
.... (省略)
....
プロシジャー名. PROC
EOF時の処理ステートメント
~
....
END-PROC
[EOFを判断する記述]
IF EOF ファイル名
注意
1. FINISHプロシジャー内では自動入力データに対する処理はできません。参照する必要がある場合はFILEステートメントに WORKAREA パラメータを指定します。
2. JOBアクティビティは、EOF時には処理が行われません。 すなわち、 レコ-ド件数 = JOBアクティビティ実行回数となります。
記述例
(例1) EOF時にメッセージを出力する(自動入力をする場合)
FILE FILEA
~
JOB FINISH LAST
~
LAST. PROC
DISPLAY '************'
DISPLAY '* 処理終了 *'
DISPLAY '************'
END-PROC
(例2) EOF時にメッセージを出力する(自動入力をしない場合)
FILE FILEA
~
JOB INPUT NULL
GET FILEA
IF EOF FILEA
DISPLAY '************'
DISPLAY '* 処理終了 *'
DISPLAY '************'
STOP
END-IF
~
注意
INPUTに NULL を指定した時(ファイルの自動入力を行わない時)は、処理の最後に必ず STOP を記述します。
Additional Information
Old Japanese Knowledge document ID: JTEC000994
Feedback
thumb_up
Yes
thumb_down
No