SAP/์Šคํฌ๋ฆฐ ํ”„๋กœ๊ทธ๋žจ Screen Program

[SAP] Screen Program (1) ๊ตฌ์กฐ์™€ ๊ธฐ๋ณธ ๊ฐœ๋… / INCLUDE(TOP, PAI, PBO, FORM)

์ธํฌ๋งˆํ‹ฑ 2025. 3. 3. 18:56

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

 

 


 

 

๐Ÿ“Œ ๋ชฉ์ฐจ

  1. Screen Program์˜ ๊ธฐ๋ณธ ๊ตฌ์กฐ
    • ์ฃผ์š” ์ปดํฌ๋„ŒํŠธ (Screen, PBO, PAI, INCLUDE ํ”„๋กœ๊ทธ๋žจ)
  2. Screen Numbering ๊ทœ์น™
    • ๋ฉ”์ธ ํ™”๋ฉด ๋ฐ ์„œ๋ธŒ ํ™”๋ฉด ๋ฒˆํ˜ธ ์ฒด๊ณ„
  3. INCLUDE ํ”„๋กœ๊ทธ๋žจ ๊ตฌ์„ฑ
    • TOP, PBO, PAI, FORM ๋ฃจํ‹ด ์—ญํ• 
  4. Global Declarations (์ „์—ญ ๋ณ€์ˆ˜ ์„ ์–ธ)
    • TOP INCLUDE์—์„œ ์ „์—ญ ๋ณ€์ˆ˜ ๋ฐ ๋ฐ์ดํ„ฐ ์„ ์–ธ
  5. Form Routines (์„œ๋ธŒ๋ฃจํ‹ด)
    • ๋ฐ˜๋ณต๋˜๋Š” ๊ธฐ๋Šฅ์„ ๋ชจ๋“ˆํ™”ํ•˜๋Š” FORM ๋ฃจํ‹ด
  6. PBO (Process Before Output)
    • ํ™”๋ฉด์ด ํ‘œ์‹œ๋˜๊ธฐ ์ „์— ์‹คํ–‰๋˜๋Š” ๋กœ์ง
    • UI ์š”์†Œ ํ™œ์„ฑํ™”/๋น„ํ™œ์„ฑํ™”
  7. PAI (Process After Input)
    • ์‚ฌ์šฉ์ž ์ž…๋ ฅ ์ฒ˜๋ฆฌ ๋ฐ ์ด๋ฒคํŠธ ํ•ธ๋“ค๋ง
  8. T์ฝ”๋“œ(Transaction Code) ์ƒ์„ฑ
    • SE93์„ ์ด์šฉํ•œ ์‹คํ–‰ ์ฝ”๋“œ ์„ค์ •
  9. 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์ฝ”๋“œ ์ƒ์„ฑ ๋ฐฉ๋ฒ•

  1. SE93 ์‹คํ–‰
  2. ์ƒˆ๋กœ์šด Transaction Code ์ž…๋ ฅ (์˜ˆ: ZMYSCREEN)
  3. ํ”„๋กœ๊ทธ๋žจ๋ช… ์ž…๋ ฅ (SAPMZSCREEN)
  4. Dialog Program ์„ ํƒ
  5. ์ €์žฅ ํ›„ ์‹คํ–‰ ๊ฐ€๋Šฅ

T์ฝ”๋“œ๋ฅผ ์ƒ์„ฑํ•˜๋ฉด ํ•ด๋‹น ํ”„๋กœ๊ทธ๋žจ์„ ์‰ฝ๊ฒŒ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

 

9. Screen Program ๋™์ž‘ ํ๋ฆ„

Screen Program์˜ ๊ธฐ๋ณธ์ ์ธ ๋™์ž‘ ์ˆœ์„œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

1๏ธโƒฃ ์‚ฌ์šฉ์ž๊ฐ€ T์ฝ”๋“œ ์ž…๋ ฅ โ†’ ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰ 
2๏ธโƒฃ PBO ์‹คํ–‰ โ†’ ํ™”๋ฉด ์ถœ๋ ฅ 
3๏ธโƒฃ ์‚ฌ์šฉ์ž๊ฐ€ ์ž…๋ ฅ ํ›„ ๋ฒ„ํŠผ ํด๋ฆญ 
4๏ธโƒฃ PAI ์‹คํ–‰ โ†’ ๋ฐ์ดํ„ฐ ๊ฒ€์ฆ ๋ฐ ์ฒ˜๋ฆฌ 
5๏ธโƒฃ ํ•„์š”์‹œ Next Screen์œผ๋กœ ์ด๋™ โ†’ PBO ์‹คํ–‰ ๋ฐ˜๋ณต

์ด ํ๋ฆ„์„ ์ดํ•ดํ•˜๋ฉด Screen Program์ด ์–ด๋–ป๊ฒŒ ๋™์ž‘ํ•˜๋Š”์ง€ ์‰ฝ๊ฒŒ ํŒŒ์•…ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

 

SAP ์ œ๊ณตํ•˜๋Š” ์Šคํฌ๋ฆฐ ํ”„๋กœ๊ทธ๋žจ ์˜ˆ์‹œ