ALERT: Some images may not load properly within the Knowledge Base Article. If you see a broken image, please right-click and select 'Open image in a new tab'. We apologize for this inconvenience.

Easytrieve Plus : PERFORMステートメントにVARYINGを指定

book

Article ID: 185564

calendar_today

Updated On:

Products

EASYPROCLIB Easytrieve Report Generator EASYTRIEVE REPORT GENERATOR FOR COMMON SERVICES

Issue/Introduction

Question
PERFORMステートメントにVARYINGは指定できるか?
PERFORMステートメントにUNTILは指定できるか?

Environment

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

Resolution

Answer
PERFORMステ-トメントに処理条件はつけられません。ロジックで対応します。
Easytrieve PlusのPERFORM処理は、指定されたプロシジャーを1回だけ実行する指定ですので繰り返し処理や、終了条件を指定することはできません。 DO WHILEステートメントと組み合わせて対処します。

記述例
(例) 条件を満足している間、同じプロシジャーを繰り返し実行する(UNTILの代替処理)

パターンA.
FILE     FILEA
FLDA     1     4     A
FLDB     5     2     N
FLDC     7     5     P 0     OCCURS 5

JOB
IF FLDB ZERO
    FLDB = 1
END-IF
DO WHILE CNT < FLDB
    CNT = CNT + 1
    PERFORM SYORI1
END-DO
*
SYORI1. PROC
    WK-TBL(CNT) = FLDC(FLDB)
    ~
END-PROC


パターンB.

PERFORM   SYORI1
*
SYORI1. PROC
    DO WHILE CNT < FLDB
    CNT = CNT + 1
    WK-TBL(CNT) = FLDC(FLDB)
    ~
    END-DO
END-PROC

※パターンA、Bはどちらも同じ処理が実行されます。

 

Additional Information

Old Japanese Knowledge document ID: JTEC000999