Как мне перейти к следующему элементу в цикле в RPGLE?

#loops #rpgle

#циклы #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. ITER перейдите к следующему. LEAVE завершите цикл.

Ответ №1:

Операция 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