[SAP] Screen Program (1) ๊ตฌ์กฐ์ ๊ธฐ๋ณธ ๊ฐ๋ / INCLUDE(TOP, PAI, PBO, FORM)
SAP์ Screen Program( = Dialog Program, Module Pool Program)์ UI์ ๋ก์ง์ ๊ฒฐํฉํ์ฌ ๋ฐ์ดํฐ ์ ๋ ฅ ๋ฐ ์ถ๋ ฅ์ ์ฒ๋ฆฌํ๋ ํ๋ก๊ทธ๋จ ์ ํ์ ๋๋ค. ์ด ๊ธ์์๋ Screen Program์ ๊ตฌ์กฐ์ ๊ธฐ๋ณธ ๊ฐ๋ ์ ์ ๋ฆฌํ๊ฒ ์ต๋๋ค.
Report ํ๋ก๊ทธ๋จ๊ณผ Screen ํ๋ก๊ทธ๋จ ๊ด๋ จ๋ ๊ธ ๋ณด๋ฌ๊ฐ๊ธฐโฌ๏ธ
[SAP] ABAP ํ๋ก๊ทธ๋จ: Report ํ๋ก๊ทธ๋จ๊ณผ Screen ํ๋ก๊ทธ๋จ์ด๋?
SAP ABAP์์ ํ๋ก๊ทธ๋จ์ ํฌ๊ฒ Report ํ๋ก๊ทธ๋จ๊ณผ Screen ํ๋ก๊ทธ๋จ์ผ๋ก ๋๋ฉ๋๋ค. ๊ฐ๊ฐ์ ํน์ง๊ณผ ์ฌ์ฉ๋ฒ์ ์ดํดํ๋ฉด SAP ๊ฐ๋ฐ ํ๊ฒฝ์์ ์ ์ ํ ํ๋ก๊ทธ๋จ ์ ํ์ ์ ํํ ์ ์์ต๋๋ค. 1. Report ํ๋ก
informatik.tistory.com
๐ ๋ชฉ์ฐจ
- Screen Program์ ๊ธฐ๋ณธ ๊ตฌ์กฐ
- ์ฃผ์ ์ปดํฌ๋ํธ (Screen, PBO, PAI, INCLUDE ํ๋ก๊ทธ๋จ)
- Screen Numbering ๊ท์น
- ๋ฉ์ธ ํ๋ฉด ๋ฐ ์๋ธ ํ๋ฉด ๋ฒํธ ์ฒด๊ณ
- INCLUDE ํ๋ก๊ทธ๋จ ๊ตฌ์ฑ
- TOP, PBO, PAI, FORM ๋ฃจํด ์ญํ
- Global Declarations (์ ์ญ ๋ณ์ ์ ์ธ)
- TOP INCLUDE์์ ์ ์ญ ๋ณ์ ๋ฐ ๋ฐ์ดํฐ ์ ์ธ
- Form Routines (์๋ธ๋ฃจํด)
- ๋ฐ๋ณต๋๋ ๊ธฐ๋ฅ์ ๋ชจ๋ํํ๋ FORM ๋ฃจํด
- PBO (Process Before Output)
- ํ๋ฉด์ด ํ์๋๊ธฐ ์ ์ ์คํ๋๋ ๋ก์ง
- UI ์์ ํ์ฑํ/๋นํ์ฑํ
- PAI (Process After Input)
- ์ฌ์ฉ์ ์ ๋ ฅ ์ฒ๋ฆฌ ๋ฐ ์ด๋ฒคํธ ํธ๋ค๋ง
- T์ฝ๋(Transaction Code) ์์ฑ
- SE93์ ์ด์ฉํ ์คํ ์ฝ๋ ์ค์
- Screen Program ๋์ ํ๋ฆ
1. Screen Program์ ๊ธฐ๋ณธ ๊ตฌ์กฐ
SAP Screen Program์ 4๊ฐ์ ์ฃผ์ ์ปดํฌ๋ํธ๋ก ๊ตฌ์ฑ๋ฉ๋๋ค.
์ปดํฌ๋ํธ | ์ญํ |
Screen (์คํฌ๋ฆฐ) | UI ํ๋ฉด (์ ๋ ฅ ํ๋, ๋ฒํผ, ํ ์ด๋ธ ๋ฑ) |
PBO (Process Before Output) | ํ๋ฉด์ด ํ์๋๊ธฐ ์ ์ ์คํ๋๋ ๋ก์ง |
PAI (Process After Input) | ์ฌ์ฉ์๊ฐ ์ ๋ ฅํ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ๋ ๋ก์ง |
INCLUDE ํ๋ก๊ทธ๋จ | ๋ชจ๋ํ๋ ์ฝ๋ ๊ตฌ์ฑ (TOP, PAI, PBO, FORM) |
SAP Screen Program์ ํ๋ฉด์ ์ค๊ณํ๊ณ PBO/PAI๋ฅผ ํตํด ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ๋ ๊ตฌ์กฐ๋ก ๋์ด ์์ต๋๋ค.
2. Screen Numbering ๊ท์น
SAP์ Screen Program์์๋ ํ๋ฉด(Screen)์ ๋ฒํธ๋ก ๊ด๋ฆฌํฉ๋๋ค.
- ๋ฉ์ธ ํ๋ฉด: 100๋ฒ
- ์ฒซ ๋ฒ์งธ ์๋ธ ํ๋ฉด: 110๋ฒ, 120๋ฒ
- ๋ค์ ๋ฉ์ธ ํ๋ฉด: 200๋ฒ
์ด๋ฌํ ๊ท์น์ ์ฌ์ฉํ์ฌ ํ๋ก๊ทธ๋จ ๋ด์์ ํ๋ฉด ์ด๋์ ํจ์จ์ ์ผ๋ก ๊ด๋ฆฌํ ์ ์์ต๋๋ค.
3. INCLUDE ํ๋ก๊ทธ๋จ ๊ตฌ์ฑ
SAP์ Screen Program์ ์ ์ง๋ณด์๋ฅผ ์ฝ๊ฒ ํ๊ธฐ ์ํด INCLUDE ํ๋ก๊ทธ๋จ์ ์ฌ์ฉํ์ฌ ์ฌ๋ฌ ํ์ผ๋ก ๋๋ ๊ด๋ฆฌํฉ๋๋ค.
INCLUDE ํ์ผ | ์ญํ |
XXXXTOP | ์ ์ญ ๋ณ์ ๋ฐ ๋ฐ์ดํฐ ์ ์ธ |
XXXXO01 | PBO ๋ชจ๋ (ํ๋ฉด ์ถ๋ ฅ ๊ด๋ จ) |
XXXXI01 | PAI ๋ชจ๋ (์ฌ์ฉ์ ์ ๋ ฅ ์ฒ๋ฆฌ) |
XXXXF01 | ์๋ธ๋ฃจํด (FORM ๋ฃจํด) |
๐ ์์ : INCLUDE ๋ฌธ ๊ตฌ์กฐ
INCLUDE MZSAMPLE_07TOP. " ์ ์ญ ๋ณ์ ์ ์ธ
INCLUDE MZSAMPLE_07O01. " PBO ๋ชจ๋
INCLUDE MZSAMPLE_07I01. " PAI ๋ชจ๋
INCLUDE MZSAMPLE_07F01. " FORM ๋ฃจํด
์ด๋ ๊ฒ ๋๋๋ฉด ์ฝ๋๊ฐ ๋ชจ๋ํ๋์ด ์ ์ง๋ณด์๊ฐ ํธ๋ฆฌํด์ง๋๋ค.
4. Global Declarations (์ ์ญ ๋ณ์ ์ ์ธ)
XXXXTOP ํ์ผ์์๋ ํ๋ก๊ทธ๋จ ์ ์ฒด์์ ์ฌ์ฉ๋ ์ ์ญ ๋ณ์ ๋ฐ ๋ฐ์ดํฐ ๊ตฌ์กฐ๋ฅผ ์ ์ํฉ๋๋ค.
๐ ์์ ์ฝ๋
DATA: gv_username TYPE string,
gv_age TYPE i.
TABLES: zemployee.
โ ์ ์ญ ๋ณ์๋ ๋ชจ๋ ๋ชจ๋์์ ์ ๊ทผ ๊ฐ๋ฅํ๋ฏ๋ก ๋ฐ์ดํฐ์ ์ผ๊ด์ฑ์ ์ ์งํ ์ ์์ต๋๋ค.
5. Form Routines (์๋ธ๋ฃจํด)
์๋ธ๋ฃจํด์ XXXXF01 ํ์ผ์ ์ ์๋๋ฉฐ, ์ฌ์ฌ์ฉ ๊ฐ๋ฅํ ์ฝ๋ ๋ธ๋ก์ ์๋ฏธํฉ๋๋ค. ํน์ ๊ธฐ๋ฅ์ ๋ณ๋์ ๋ธ๋ก์ผ๋ก ๋ถ๋ฆฌํ์ฌ ์ฝ๋ ์ค๋ณต์ ๋ฐฉ์งํ ์ ์์ต๋๋ค.
๐ ์์ ์ฝ๋
FORM calculate_salary USING p_salary TYPE p DECIMALS 2.
p_salary = p_salary * 1.1.
ENDFORM.
โ ์๋ธ๋ฃจํด์ ํ์ฉํ๋ฉด ๋ฐ๋ณต์ ์ธ ๋ก์ง์ ๋ชจ๋ํํ์ฌ ์ ์ง๋ณด์๊ฐ ์ฉ์ดํฉ๋๋ค.
6. PBO (Process Before Output)
PBO๋ ํ๋ฉด์ด ๋ก๋๋๊ธฐ ์ ์ ์คํ๋๋ ๋ก์ง์ผ๋ก, ์ฃผ๋ก UI ์์๋ฅผ ์ค์ ํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค.
๐ PBO ์์ ์ฝ๋
PROCESS BEFORE OUTPUT.
MODULE set_screen_defaults. " ํ๋ฉด ์ด๊ธฐ ์ค์
๐ PBO ๋ด๋ถ ๋ชจ๋ ์์
MODULE set_screen_defaults OUTPUT.
IF ZUSER_DATA-GENDER = 'M'.
LOOP AT SCREEN.
IF SCREEN-NAME = 'P_FEMALE'.
SCREEN-ACTIVE = 0.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ENDIF.
ENDMODULE.
โ ํน์ ์กฐ๊ฑด(์: ์ฑ๋ณ)์ ๋ฐ๋ผ ํ๋ฉด ์์๋ฅผ ํ์ฑํ/๋นํ์ฑํํ ์ ์์ต๋๋ค.
7. PAI (Process After Input)
PAI๋ ์ฌ์ฉ์๊ฐ ๋ฐ์ดํฐ๋ฅผ ์ ๋ ฅํ๊ณ ์ด๋ฒคํธ(๋ฒํผ ํด๋ฆญ ๋ฑ)๊ฐ ๋ฐ์ํ์ ๋ ์คํ๋๋ ๋ก์ง์ ๋๋ค.
๐ PAI ์์ ์ฝ๋
PROCESS AFTER INPUT.
MODULE process_user_input. " ์ฌ์ฉ์ ์
๋ ฅ ์ฒ๋ฆฌ
๐ PAI ๋ด๋ถ ๋ชจ๋ ์์
MODULE set_screen_defaults OUTPUT.
IF ZUSER_DATA-GENDER = 'M'.
LOOP AT SCREEN.
IF SCREEN-NAME = 'P_FEMALE'.
SCREEN-ACTIVE = 0.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ENDIF.
ENDMODULE.
โ ํน์ ์กฐ๊ฑด(์: ์ฑ๋ณ)์ ๋ฐ๋ผ ํ๋ฉด ์์๋ฅผ ํ์ฑํ/๋นํ์ฑํํ ์ ์์ต๋๋ค.
8. T์ฝ๋(Transaction Code) ์์ฑ
Screen Program์ ์คํํ๋ ค๋ฉด T์ฝ๋(Transaction Code)๋ฅผ ์์ฑํด์ผ ํฉ๋๋ค.
๐ T์ฝ๋ ์์ฑ ๋ฐฉ๋ฒ
- SE93 ์คํ
- ์๋ก์ด Transaction Code ์ ๋ ฅ (์: ZMYSCREEN)
- ํ๋ก๊ทธ๋จ๋ช ์ ๋ ฅ (SAPMZSCREEN)
- Dialog Program ์ ํ
- ์ ์ฅ ํ ์คํ ๊ฐ๋ฅ
T์ฝ๋๋ฅผ ์์ฑํ๋ฉด ํด๋น ํ๋ก๊ทธ๋จ์ ์ฝ๊ฒ ์คํํ ์ ์์ต๋๋ค.
9. Screen Program ๋์ ํ๋ฆ
Screen Program์ ๊ธฐ๋ณธ์ ์ธ ๋์ ์์๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
1๏ธโฃ ์ฌ์ฉ์๊ฐ T์ฝ๋ ์
๋ ฅ โ ํ๋ก๊ทธ๋จ ์คํ
2๏ธโฃ PBO ์คํ โ ํ๋ฉด ์ถ๋ ฅ
3๏ธโฃ ์ฌ์ฉ์๊ฐ ์
๋ ฅ ํ ๋ฒํผ ํด๋ฆญ
4๏ธโฃ PAI ์คํ โ ๋ฐ์ดํฐ ๊ฒ์ฆ ๋ฐ ์ฒ๋ฆฌ
5๏ธโฃ ํ์์ Next Screen์ผ๋ก ์ด๋ โ PBO ์คํ ๋ฐ๋ณต
์ด ํ๋ฆ์ ์ดํดํ๋ฉด Screen Program์ด ์ด๋ป๊ฒ ๋์ํ๋์ง ์ฝ๊ฒ ํ์ ํ ์ ์์ต๋๋ค.
