๊ด€๋ฆฌ ๋ฉ”๋‰ด

CS Student’s SAP&Tech Journey๐Ÿ’ซ

[SAP] ๋ฐ˜๋ณต๋ฌธ DO, WHILE ๋ณธ๋ฌธ

SAP/ABAP ๋ฌธ๋ฒ• | Open SQL

[SAP] ๋ฐ˜๋ณต๋ฌธ DO, WHILE

์ธํฌ๋งˆํ‹ฑ 2025. 1. 30. 22:00

ABAP์—์„œ ๋ฐ˜๋ณต๋ฌธ์„ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ตํžˆ๋ฉด ๋‹ค์–‘ํ•œ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ์™€ ๋กœ์ง ๊ตฌํ˜„์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฒˆ ํฌ์ŠคํŒ…์—์„œ๋Š” DO, WHILE ๋ฐ˜๋ณต๋ฌธ์„ ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

 


 

1. DO ๋ฐ˜๋ณต๋ฌธ

DO ๋ฐ˜๋ณต๋ฌธ์€ ํŠน์ • ํšŸ์ˆ˜๋งŒํผ ๋ฐ˜๋ณตํ•  ๋•Œ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

1) ๋ฌดํ•œ ๋ฃจํ”„ ์ข…๋ฃŒ (DO ... IF EXIT.)

DO ๋ฐ˜๋ณต๋ฌธ์„ ์‚ฌ์šฉํ•  ๋•Œ EXIT ๋ฌธ์„ ํ™œ์šฉํ•˜์—ฌ ํŠน์ • ์กฐ๊ฑด์—์„œ ๋ฃจํ”„๋ฅผ ์ข…๋ฃŒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

DATA lv_count TYPE i VALUE 0.
DO.
    lv_count = lv_count + 1.
    WRITE: / '๋ฐ˜๋ณต ํšŸ์ˆ˜:', lv_count.
    IF lv_count >= 5.
        EXIT.
    ENDIF.
ENDDO.

 

์œ„์˜ ์‹์€ lv_count ๊ฐ’์ด 5 ์ด์ƒ์ด ๋˜๋ฉด ๋ฃจํ”„๋ฅผ ์ข…๋ฃŒํ•ฉ๋‹ˆ๋‹ค.

2) ๋ฃจํ”„ ํšŸ์ˆ˜ ์ง€์ • (DO 10 TIMES.)

๋ฐ˜๋ณต ํšŸ์ˆ˜๋ฅผ ๋ฏธ๋ฆฌ ์ •ํ•ด๋‘๊ณ  ์‹คํ–‰ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

DO 10 TIMES.
    WRITE: / 'ํ˜„์žฌ ๋ฐ˜๋ณต ํšŸ์ˆ˜:', SY-INDEX.
ENDDO.

์œ„ ์ฝ”๋“œ๋Š” 10๋ฒˆ ๋ฐ˜๋ณต๋˜๋ฉฐ, SY-INDEX๋Š” ํ˜„์žฌ ๋ฐ˜๋ณต ํšŸ์ˆ˜๋ฅผ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค.

 

2. WHILE ๋ฐ˜๋ณต๋ฌธ

WHILE ๋ฌธ์€ ํŠน์ • ์กฐ๊ฑด์ด ์ถฉ์กฑ๋˜๋Š” ๋™์•ˆ ๋ฃจํ”„๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

DATA lv_number TYPE i VALUE 1.
WHILE lv_number <= 5.
    WRITE: / 'ํ˜„์žฌ ๊ฐ’:', lv_number.
    lv_number = lv_number + 1.
ENDWHILE.

์œ„ ์ฝ”๋“œ๋Š” lv_number๊ฐ€ 5 ์ดํ•˜์ผ ๋•Œ๊นŒ์ง€ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค.