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.