我如何转到RPGLE中循环中的下一个元素?

时间:2019-04-11 21:08:52

标签: loops rpgle

假设您有以下代码:

FOR I = 1 to 10;
  // some code here
ENDFOR;

您将如何跳过元素? 当前使用GOTO可行,但我不喜欢该解决方案。例如:

   FOR I = 1 to 10;
     IF I = 4;
C                   GOTO      NEXTONE
     ENDIF;

     // some code here

C     NEXTONE       TAG   
   ENDFOR;

1 个答案:

答案 0 :(得分:9)

ITER操作将控制从DO或FOR组内部转移到该组的ENDDO或ENDFOR语句。它可以在DO,DOU,DOUxx,DOW,DOWxx和FOR循环中使用,以将控制权立即转移到循环的ENDDO或ENDFOR语句。它使循环的下一次迭代立即执行。 ITER影响最内层的循环。

https://www.ibm.com/support/knowledgecenter/en/ssw_ibm_i_73/rzasd/zziter.htm