While Nested Loop in SAP ABAP

DATA: inner TYPE i , outer TYPE i.

inner =1.
outer = 1.

WHILE outer < =2.
WRITE: / 'outer = ', outer.
WHILE inner <= 3.
WRITE: / 'inner = ', inner.
inner = inner + 1.
ENDWHILE
outer = outer +1.
inner=1.
ENDWHILE.

Output:

outer = 1
inner = 1
inner = 2
inner = 3
outer = 2
inner = 1
inner = 2
inner = 3

In the above example, the outer while loop will run 2 times and in every outer loop the inner while loop will run 3 times.

Nested Loop in SAP ABAP

A nested loop means a loop statement inside another loop statement. That is why nested loops are also called “loop inside loops“.  Neste­d loops in SAP ABAP are a valuable tool when you need to iterate within another loop. They come in handy for processing hie­rarchical data or performing complex data operations. Nested loops in SAP ABAP are used in different ways according to the needs of the program. In this article, We will discuss how we will use these nested loops in detail. DO and While loops are used in SAP ABAP for performing Nested operations. we can use one of them or a mix of both to do nested activities in SAP ABAP programs.

Nested Loop in SAP ABAP

Similar Reads

Syntax of Nested loops in SAP ABAP

DO 3 TIMES. DO 2 TIMES. WRITE: / sy-index, sy-index1. ENDDO.ENDDO....

Example: Do Nested Loop in SAP ABAP

DATA: val1 TYPE i, val2 TYPE i.val1 = 10.val2 = 20.DO 2 TIMES.val1 = val1 * 2. WRITE:/ 'val1 = ', val1. DO 2 TIMES. val2 = val2 + 5. WRITE:/ 'val2= :', val2. ENDDO.ENDDO....

Example: While Nested Loop in SAP ABAP

DATA: inner TYPE i , outer TYPE i.inner =1.outer = 1.WHILE outer < =2. WRITE: / 'outer = ', outer. WHILE inner <= 3. WRITE: / 'inner = ', inner. inner = inner + 1. ENDWHILEouter = outer +1.inner=1.ENDWHILE....

Example: While nested loop with Do in SAP ABAP

DATA: inner TYPE i , outer TYPE i. inner =1. outer = 1.WHILE outer < =2. WRITE: / 'outer = ', outer. DO 2 TIMES. WRITE: / 'inner = ', inner. i inner = inner + 1. ENDDO.outer = outer +1. inner=1. ENDWHILE....

Example: Do Nested Loop with While in SAP ABAP

DATA: inner TYPE i , outer TYPE i. inner =1. outer = 1. DO 2 TIMES. WRITE: / 'outer = ', outer. WHILE inner< =2. WRITE: / 'inner = ', inner. inner = inner + 1. ENDWHILE.outer = outer +1. inner=1. ENDDO....