728x90
๋ฐ์ํ
1. SAP ABAP ํ๋ก๊ทธ๋จ(๋ ํฌํธ) ์คํ ์์
SAP ABAP์์ ๋ ํฌํธ ํ๋ก๊ทธ๋จ์ ์คํ ์์๋ ํน์ ์ด๋ฒคํธ ๋ธ๋ก์ ๋ฐ๋ผ ์งํ๋ฉ๋๋ค.
SAP ๋ ํฌํธ ํ๋ก๊ทธ๋จ์ ์ ์ธ๋ถ → ์ด๊ธฐํ → ๋ฐ์ดํฐ ์ ํ → ํ๋ฉด ์ถ๋ ฅ์ ํ๋ฆ์ผ๋ก ๋์ํ๋ฉฐ, ํน์ ์ด๋ฒคํธ ๋ธ๋ก(`START-OF-SELECTION`, `END-OF-SELECTION` ๋ฑ)์ ๋ฐ๋ผ ์คํ๋ฉ๋๋ค.
2. ๋ ํฌํธ ํ๋ก๊ทธ๋จ ์คํ ์์ (์ด๋ฒคํธ ๋ธ๋ก ๊ธฐ์ค)
SAP ABAP์ ์คํ ํ๋ฆ์ ์ด๋ฒคํธ ๋ธ๋ก(Event Blocks) ์์๋ก ์ ๋ฆฌํ๋ฉด ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
์์์ด๋ฒคํธ ๋ธ๋ก์ค๋ช
์์ | ์ด๋ฒคํธ ๋ธ๋ก | ์ค๋ช |
1 | ๋ฐ์ดํฐ ์ ์ธ๋ถ | `DATA`, `TABLES`, `TYPES` ๋ฑ์ ์ ์ธ |
2 | INITIALIZATION | ํ๋ก๊ทธ๋จ ์คํ ์ ์ ์ด๊ธฐ๊ฐ์ ์ค์ |
3 | AT SELECTION-SCREEN | ์ฌ์ฉ์๊ฐ ์ ๋ ฅํ ๊ฐ์ ์ฒดํฌ ๋ฐ ๋ณ๊ฒฝ |
4 | START-OF-SELECTION | ๋ณธ๊ฒฉ์ ์ธ ๋ฉ์ธ ๋ก์ง ์คํ (๋ฐ์ดํฐ ์ฒ๋ฆฌ) |
5 | END-OF-SELECTION | ๋ฐ์ดํฐ ์ฒ๋ฆฌ๊ฐ ๋๋ ํ ํ์ฒ๋ฆฌ |
6 | TOP-OF-PAGE | ์ถ๋ ฅํ ๋ฆฌ์คํธ์ ํค๋๋ฅผ ์ ์ |
7 | NEW-PAGE | ์๋ก์ด ํ์ด์ง๋ฅผ ์์ฑ |
8 | TOP-OF-PAGE DURING LINE-SELECTION | ์ฌ์ฉ์ ์ก์ (ํด๋ฆญ) ํ ๋ฆฌ์คํธ ํค๋ ์ฒ๋ฆฌ |
9 | AT LINE-SELECTION | ์ฌ์ฉ์๊ฐ ํน์ ๋ผ์ธ์ ํด๋ฆญํ๋ฉด ์คํ |
10 | AT USER-COMMAND | ์ฌ์ฉ์ ์ธํฐํ์ด์ค(UI)์์ ๋ฒํผ ๋ฑ์ ํด๋ฆญํ๋ฉด ์คํ |
11 | END-OF-PAGE | ๋ฆฌ์คํธ์ ๋ง์ง๋ง ํ์ด์ง ๋ถ๋ถ ์ ์ |
3. SAP ABAP ํ๋ก๊ทธ๋จ ์คํ ์์ ์์
์๋ ์์ ๋ฅผ ํตํด ์คํ ํ๋ฆ์ ์ดํดํ ์ ์์ต๋๋ค.
DATA: GV_NAME TYPE STRING,
GV_AGE TYPE I.
PARAMETERS: P_NAME TYPE STRING DEFAULT 'ํ๊ธธ๋',
P_AGE TYPE I DEFAULT 30.
* 1๏ธ. ํ๋ก๊ทธ๋จ ์คํ ์ ์ ์ด๊ธฐ๊ฐ ์ค์
INITIALIZATION.
WRITE: / 'INITIALIZATION ์คํ: ๊ธฐ๋ณธ๊ฐ ์ค์ ์๋ฃ.'.
* 2๏ธ.์ฌ์ฉ์๊ฐ ์
๋ ฅํ ๊ฐ์ ์ฒดํฌ
AT SELECTION-SCREEN.
IF P_AGE < 0.
MESSAGE '๋์ด๋ 0 ์ด์ ์
๋ ฅํด์ผ ํฉ๋๋ค.' TYPE 'E'.
ENDIF.
* 3๏ธ.๋ฐ์ดํฐ ์ฒ๋ฆฌ (MAIN LOGIC)
START-OF-SELECTION.
GV_NAME = P_NAME.
GV_AGE = P_AGE.
WRITE: / 'START-OF-SELECTION ์คํ: ๋ฐ์ดํฐ ์ฒ๋ฆฌ ์ค...'.
* 4๏ธ.์ถ๋ ฅ ๋ฆฌ์คํธ ํค๋
TOP-OF-PAGE.
WRITE: / '======= ๋ณด๊ณ ์ ํค๋ ======='.
* 5๏ธ.๊ฒฐ๊ณผ ์ถ๋ ฅ
END-OF-SELECTION.
WRITE: / 'END-OF-SELECTION ์คํ: ๊ฒฐ๊ณผ ์ถ๋ ฅ'.
WRITE: / '์ด๋ฆ:', GV_NAME.
WRITE: / '๋์ด:', GV_AGE.
* 6.์ฌ์ฉ์๊ฐ ํน์ ํ์ ํด๋ฆญํ๋ฉด ์คํ
AT LINE-SELECTION.
WRITE: / 'AT LINE-SELECTION ์คํ: ์์ธ ๋ณด๊ธฐ ์ถ๋ ฅ'.
ํ๋ผ๋ฏธํฐ ์ ๋ ฅ ํ๋ฉด
์คํ ๊ฒฐ๊ณผ ํ๋ฉด
4. ์คํ ์์ ๋ถ์
1. ๋ณ์์ ๋ํ ํ๋ผ๋ฏธํฐ ๊ฐ ์ ๋ ฅ (PARAMETERS)
PARAMETERS: P_NAME TYPE STRING DEFAULT 'ํ๊ธธ๋',
P_AGE TYPE I DEFAULT 30.
2. ํ๋ก๊ทธ๋จ ์คํ (INITIALIZATION)
- `INITIALIZATION`๋ธ๋ก์ด ์คํ๋๋ฉด ๊ธฐ๋ณธ๊ฐ์ ์ค์ ํฉ๋๋ค.
3. ์ฌ์ฉ์ ์ ๋ ฅ๊ฐ ์ฒดํฌ (AT SELECTION-SCREEN)
- `SELECTION SCREEN`์์ ์ฌ์ฉ์๊ฐ ์ ๋ ฅํ ๊ฐ์ ์ฒดํฌํฉ๋๋ค.
- ๋์ด๊ฐ `0`๋ณด๋ค ์์ผ๋ฉด ์ค๋ฅ ๋ฉ์์ง๋ฅผ ์ถ๋ ฅํ๊ณ ํ๋ก๊ทธ๋จ์ ์ค๋จํฉ๋๋ค.
4. ๋ฉ์ธ ๋ก์ง ์คํ (START-OF-SELECTION)
- ๋ณธ๊ฒฉ์ ์ธ ๋ฐ์ดํฐ ์ฒ๋ฆฌ ๋ก์ง์ด ์คํ๋ฉ๋๋ค.
START-OF-SELECTION ์คํ: ๋ฐ์ดํฐ ์ฒ๋ฆฌ ์ค...
5. ๋ฆฌ์คํธ ํค๋ ์ถ๋ ฅ (TOP-OF-PAGE)
- ์ถ๋ ฅ ๋ฆฌ์คํธ์ ํค๋๋ฅผ ์์ฑํฉ๋๋ค.
======= ๋ณด๊ณ ์ ํค๋ =======
6. ์ต์ข ๊ฒฐ๊ณผ ์ถ๋ ฅ (END-OF-SELECTION)
- ๋ฐ์ดํฐ๊ฐ ์ถ๋ ฅ๋ฉ๋๋ค.
END-OF-SELECTION ์คํ: ๊ฒฐ๊ณผ ์ถ๋ ฅ
์ด๋ฆ: ํ๊ธธ๋
๋์ด: 30
7. ์ฌ์ฉ์ ํน์ ๋ฐ์ดํฐ ํด๋ฆญ (AT LINE-SELECTION)
- ์ฌ์ฉ์๊ฐ ํน์ ๋ฐ์ดํฐ๋ฅผ ์ ํํ๋ฉด ์คํ๋ฉ๋๋ค.
728x90
๋ฐ์ํ