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

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

文書番号: JTEC000999

製品名: CA-Easytrieve Plus

バージョン: ALL

OS: z/OS, MSP, VOS3

 

Question

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

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

 

Answer

PERFORMステ-トメントに処理条件はつけられません。ロジックで対応します。

EASYPLUSの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はどちらも同じ処理が実行されます。

 

Attachments

    Outcomes