SAP/ABAP 코드

ABAP - LOOP

haramang 2021. 5. 24. 21:50

*&---------------------------------------------------------------------*

*& Report ZPITERATIONS_1

*&---------------------------------------------------------------------*

*&

*&---------------------------------------------------------------------*

REPORT ZPITERATIONS_1.

 

TABLESZEMPLOYEES.

 

*======================================================================================================

* SELECT LOOP------------------------------------------------------------------------------------------

*======================================================================================================

 

 

SELECT FROM ZEMPLOYEES WHERE SURNAME 'JONES'.

  WRITE:/ ZEMPLOYEES.

ENDSELECT.

 

 

*======================================================================================================

* DO LOOP----------------------------------------------------------------------------------------------

*======================================================================================================

 

DATATYPE I,

      B TYPE I,

      C TYPE I.

 

0.

0.

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

*======================================================================================================

 

0.

0.

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.