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

Rus*_*lan 2 loops rpgle

假设您有以下代码:

FOR I = 1 to 10;
  // some code here
ENDFOR;
Run Code Online (Sandbox Code Playgroud)

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

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

     // some code here

C     NEXTONE       TAG   
   ENDFOR;
Run Code Online (Sandbox Code Playgroud)

小智 9

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

https://www.ibm.com/support/knowledgecenter/zh-CN/ssw_ibm_i_73/rzasd/zziter.htm