Tutorial Loop in SAP ABAP
There may be situations when you need to repeat your code / Looping. In SAP ABAP, statements are executed sequentially: The first statement in a function is executed first, followed by the second, and so on. Loop statements allow us to execute a statement or group of statements several times and the following is the general form of a loop statement in most programming languages.
The ABAP programming language provides 3 types of Loop statements such as:
The general format of the WHILE command is as follows:
A block statement can be a single statement or a block statement. While Loop executes the statements attached by the WHILE and ENDWHILE commands until the logical expression becomes false.
Example:
The output is
Syntax
'Times' imposes restrictions on the number of loop paths, represented by 'n'. The value 'n' cannot be negative or zero. If zero or negative, the statement in the loop cannot be executed
Example:
The output is:
The output is:
In this example, the outer DO loop is processed twice and the inner DO loop is processed 10 times, each time the outer DO loop is processed. So in this case, the inner loop is processed 20 times.
The ABAP programming language provides 3 types of Loop statements such as:
- WHILE loop
- Do loop
- Nested loop
WHILE loop
WHILE loop statements repeatedly execute target statements as long as certain conditions are true.The general format of the WHILE command is as follows:
WHILE   
. 
    
ENDWHILE.  A block statement can be a single statement or a block statement. While Loop executes the statements attached by the WHILE and ENDWHILE commands until the logical expression becomes false.
Example:
| 
1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 | REPORT YS_SEP_15. DATA: a typei.a =0. WHILE a <> 8.    Write: /'This is the line:', a.    a =a +1. | 
This is the line: 0
This is the line: 1
This is the line: 2
This is the line: 3
This is the line: 4
This is the line: 5
This is the line: 6
This is the line: 7Do loop
The unconditional loop repeatedly makes several statements without specifying any conditions. The DO statement applies the unconditional loop by executing a set of statement blocks several times without conditions.Syntax
'Times' imposes restrictions on the number of loop paths, represented by 'n'. The value 'n' cannot be negative or zero. If zero or negative, the statement in the loop cannot be executed
Example:
| 
1 
2 
3 
4 
5 
6 
7 | Report YH_SEP_15.  Do 15TIMES.  Write: /'Hello'.  ENDDO. | 
Hello 
Hello 
Hello 
Hello 
Hello 
Hello 
Hello 
Hello 
Hello 
Hello 
Hello 
Hello 
Hello 
Hello 
HelloNested loop
DO and WHILE statements can be tested and combined with other forms of loops. Each nested loop will have its own SY-INDEX which is created and monitored by the system.DO [n TIMES]. 
. 
   DO [m TIMES]. 
   . 
   ENDDO. 
ENDDO.  | 
1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
13 
14 
15 
16 
17 
18 
19 
20 | REPORT YS_SEP_15.  Data: a1 typeI, b1 typeI.  a1 =0.b1 =0.  Do 2times.  a1 =a1 +1.  Write: /'Outer', a1.  Do 10times.  b1 =b1 +1.  Write: /'Inner', b1.  ENDDo. ENDDo | 
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  20In this example, the outer DO loop is processed twice and the inner DO loop is processed 10 times, each time the outer DO loop is processed. So in this case, the inner loop is processed 20 times.

