SAP ABAP - Ciclo annidato
Le istruzioni DO e WHILE possono essere testate e combinate con altre forme di loop. Ogni ciclo annidato avrà il proprio SY-INDEX creato e monitorato dal sistema.
Sintassi
La sintassi per il ciclo DO annidato è:
DO [n TIMES]. 
<statement block n>. 
   DO [m TIMES]. 
   <statement block m>. 
   ENDDO. 
ENDDO. 
    Esempio
REPORT YS_SEP_15.
  
Data: a1 type I, b1 type I.
  
a1 = 0.  
b1 = 0.
  
Do 2 times.
  
a1 = a1 + 1.
  
Write: /'Outer', a1.
  
Do 10 times.  
b1 = b1 + 1.
  
Write: /'Inner', b1.
  
ENDDo. 
ENDDo 
    Il codice precedente produce il seguente output:
Outer   1 
Inner   1 
Inner   2 
Inner   3 
Inner   4 
Inner   5 
Inner   6 
Inner   7 
Inner   8 
Inner   9 
Inner  10 
Outer   2 
Inner  11 
Inner  12 
Inner  13 
Inner  14 
Inner  15 
Inner  16 
Inner  17 
Inner  18 
Inner  19 
Inner  20 
    In questo esempio, il ciclo DO esterno viene elaborato due volte e il ciclo DO interno viene elaborato 10 volte, ogni volta che viene elaborato il ciclo DO esterno. Quindi, in questo caso, il ciclo interno viene elaborato 20 volte.
