*&---------------------------------------------------------------------*
*& Report ZPITERATIONS_1
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
REPORT ZPITERATIONS_1.
TABLES: ZEMPLOYEES.
*======================================================================================================
* SELECT LOOP------------------------------------------------------------------------------------------
*======================================================================================================
SELECT * FROM ZEMPLOYEES WHERE SURNAME = 'JONES'.
WRITE:/ ZEMPLOYEES.
ENDSELECT.
*======================================================================================================
* DO LOOP----------------------------------------------------------------------------------------------
*======================================================================================================
DATA: A TYPE I,
B TYPE I,
C TYPE I.
A = 0.
B = 0.
C = 0.
*DO 15 TIMES.
* A = A + 1.
* WRITE:/ A.
*ENDDO.
* NESTED DO LOOP---------------------------------------------------------------
* Each DO loop will have its own SY-INDEX created and monitered by the system.
*DO 15 TIMES.
* A = A + 1.
* WRITE:/ 'Outer Loop Cycle: ', a.
* B = 0.
** WRITE:/ 'Outer Loop SY-INDEX: ', SY-INDEX.
* DO 10 TIMES.
* B = B + 1.
* WRITE:/ 'Inner Loop Cycle: ', b.
** WRITE:/ 'Inner Loop SY-INDEX: ', SY-INDEX.
* ENDDO.
* ULINE.
* C = c + b.
*ENDDO.
*C = C + A.
*WRITE:/ 'Total Iteration:: ', c.
*======================================================================================================
* WHILE LOOP-------------------------------------------------------------------------------------------
*======================================================================================================
* While Loop-----------------------------------------------
*WHILE A <> 15.
* A = A + 1.
* WRITE:/ 'Loop cycle: ', A.
*ENDWHILE.
* Nested While Loop-----------------------------------------------
*WHILE A <> 15.
* A = A + 1.
* WRITE:/ 'Outer Loop cycle: ', A.
* B = 0.
* WHILE B <> 10.
* B = B + 1.
* WRITE:/ ' Inner Loop cycle: ', B.
* ENDWHILE.
* C = C + B.
*ENDWHILE.
*
*C = C + A.
*ULINE.
*WRITE:/ 'Total Iteration: ', C.
*======================================================================================================
* Continue
*======================================================================================================
*A = 0.
*B = 0.
*C = 0.
*
*DO 15 TIMES.
* A = A + 1.
* IF SY-INDEX = 2.
* CONTINUE.
* ENDIF.
* WRITE:/ A.
*ENDDO.
*======================================================================================================
* Check
*======================================================================================================
*A = 0.
*B = 0.
*C = 0.
*
**CHECK A = 1. " If A is not 1, below statements will not be executed.
*
*DO 15 TIMES.
* A = A + 1.
* CHECK SY-INDEX <> 2. " If the CHECK statement is true, it will process the code below,
* " But, if not true, it will continue.
* WRITE:/ A.
*ENDDO.
*======================================================================================================
* Loop Termination
*======================================================================================================
A = 0.
B = 0.
C = 0.
*If A is not 0, below statements will not be executed.
*IF A = 0.
* EXIT.
*ENDIF.
DO 15 TIMES.
A = A + 1.
IF SY-INDEX = 3.
EXIT.
ENDIF.
WRITE:/ A.
ENDDO.
'SAP > ABAP 코드' 카테고리의 다른 글
(ABAP 코드)Work Area를 사용하여 Internal Table에 데이터 넣기 (0) | 2021.06.13 |
---|---|
ABAP - INTERNAL TABLE WITH HEADER LINE (0) | 2021.05.24 |
ABAP - IF & CASE (0) | 2021.05.24 |
ABAP - BASIC SQL STATEMENT (0) | 2021.05.24 |
ABAP - DATE & TIME & CURRENCY & QUANTITY (0) | 2021.05.24 |