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

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

[SAP] Screen Program (2) Screen Program ์ƒ์„ฑํ•˜๊ธฐ - ์ „์—ญ๋ณ€์ˆ˜ ํ™œ์šฉํ•˜๊ธฐ ๋ณธ๋ฌธ

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

[SAP] Screen Program (2) Screen Program ์ƒ์„ฑํ•˜๊ธฐ - ์ „์—ญ๋ณ€์ˆ˜ ํ™œ์šฉํ•˜๊ธฐ

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

SAP Screen Program(๋ชจ๋“ˆ ํ’€ ํ”„๋กœ๊ทธ๋žจ)์€ UI์™€ ๋กœ์ง์„ ๊ฒฐํ•ฉํ•˜์—ฌ ์‚ฌ์šฉ์ž ์ž…๋ ฅ์„ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋™์ž‘ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฒˆ ๊ธ€์—์„œ๋Š” Screen Program์„ ์ƒ์„ฑํ•˜๋Š” ์ผ๋ฐ˜์ ์ธ ๊ณผ์ •๊ณผ ์‹ค์ œ ์˜ˆ์ œ๋ฅผ ํ•จ๊ป˜ ์„ค๋ช…ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

 

 

Screen ํ”„๋กœ๊ทธ๋žจ์˜ ๊ตฌ์กฐ์™€ ๊ธฐ๋ณธ๊ฐœ๋… ๋ณด๋Ÿฌ๊ฐ€๊ธฐโฌ‡๏ธ

 

[SAP] Screen Program (1) ๊ตฌ์กฐ์™€ ๊ธฐ๋ณธ ๊ฐœ๋…

SAP์˜ Screen Program( = Dialog Program, Module Pool Program)์€ UI์™€ ๋กœ์ง์„ ๊ฒฐํ•ฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ ์ž…๋ ฅ ๋ฐ ์ถœ๋ ฅ์„ ์ฒ˜๋ฆฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ ์œ ํ˜•์ž…๋‹ˆ๋‹ค. ์ด ๊ธ€์—์„œ๋Š” Screen Program์˜ ๊ตฌ์กฐ์™€ ๊ธฐ๋ณธ ๊ฐœ๋…์„ ์ •๋ฆฌํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

informatik.tistory.com


 

 

1. Screen Program ์ƒ์„ฑ ๋‹จ๊ณ„

SAP Screen Program์„ ์ƒ์„ฑํ•˜๋Š” ๊ธฐ๋ณธ์ ์ธ ์ˆœ์„œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

1๏ธโƒฃ ํ”„๋กœ๊ทธ๋žจ ์ƒ์„ฑ (Type: Module Pool)
2๏ธโƒฃ INCLUDE ํŒŒ์ผ ๊ตฌ์„ฑ (TOP, PBO, PAI, FORM)
3๏ธโƒฃ Screen ์ƒ์„ฑ (Screen ๋ฒˆํ˜ธ ์ง€์ • ๋ฐ ์†์„ฑ ์„ค์ •)
4๏ธโƒฃ Flow Logic(PBO/PAI) ์ž‘์„ฑ 
5๏ธโƒฃ Transaction Code(T์ฝ”๋“œ) ์ƒ์„ฑ (ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰์„ ์œ„ํ•œ ์„ค์ •)
6๏ธโƒฃ ํ…Œ์ŠคํŠธ ๋ฐ ๋””๋ฒ„๊น…

์ด์ œ ์ด ๊ณผ์ •์„ ์‹ค์ œ ์˜ˆ์ œ์™€ ํ•จ๊ป˜ ์ž์„ธํžˆ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

 

 

2. ํ”„๋กœ๊ทธ๋žจ ์ƒ์„ฑ (์˜ˆ์ œ: SAPMZFIRST_07)

  1. SE80(Object Navigator) ์‹คํ–‰
  2. ํ”„๋กœ๊ทธ๋žจ(Program)์„ ์„ ํƒ ํ›„, ์ƒˆ๋กœ์šด ๋ชจ๋“ˆ ํ’€ ํ”„๋กœ๊ทธ๋žจ(Module Pool)์„ ์ƒ์„ฑ
  3. ํ”„๋กœ๊ทธ๋žจ ์ด๋ฆ„ ์ž…๋ ฅ: SAPMZFIRST_07
  4. Type: Module Pool ์„ ํƒ
  5. ์ €์žฅ ํ›„ ํ™œ์„ฑํ™”(Activate): ํ”„๋กœ๊ทธ๋žจ๊ณผ TOP ๋ชจ๋‘ Activate

๐Ÿ“Œ TIP: SAP Screen Program์˜ ์ด๋ฆ„์€ ๋ณดํ†ต SAPMZ๋กœ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค.

 

ํ”„๋กœ๊ทธ๋žจ๊ณผ TOP Include ์ž…๋ ฅ

 

Type: Module Pool ์„ ํƒ

 

ํ”„๋กœ๊ทธ๋žจ ์ƒ์„ฑ ํ›„ ์ดˆ๊ธฐ์ƒํƒœ๋กœ, ํ”„๋กœ๊ทธ๋žจ๊ณผ TOP ๋ชจ๋‘ Activate

 

 

3. INCLUDE ํŒŒ์ผ ๊ตฌ์„ฑ (์˜ˆ์ œ ์ ์šฉ)

SAP Screen Program์€ ์œ ์ง€๋ณด์ˆ˜๋ฅผ ์‰ฝ๊ฒŒ ํ•˜๊ธฐ ์œ„ํ•ด ์—ฌ๋Ÿฌ ๊ฐœ์˜ INCLUDE ํŒŒ์ผ๋กœ ๋‚˜๋ˆ„์–ด ๊ด€๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ“Œ INCLUDE ํŒŒ์ผ ๊ตฌ์„ฑ

INCLUDE ํŒŒ์ผ ์—ญํ• 
MZFIRST_07TOP ์ „์—ญ ๋ณ€์ˆ˜ ๋ฐ ๋ฐ์ดํ„ฐ ์„ ์–ธ
MZFIRST_07O01 PBO ๋ชจ๋“ˆ (ํ™”๋ฉด ์ถœ๋ ฅ ๊ด€๋ จ)
MZFIRST_07I01 PAI ๋ชจ๋“ˆ (์‚ฌ์šฉ์ž ์ž…๋ ฅ ์ฒ˜๋ฆฌ)
MZFIRST_07F01 ์„œ๋ธŒ๋ฃจํ‹ด (FORM ๋ฃจํ‹ด)

โœ… ์ด๋ ‡๊ฒŒ ๋‚˜๋ˆ„๋ฉด ์ฝ”๋“œ๊ฐ€ ๋ชจ๋“ˆํ™”๋˜์–ด ์œ ์ง€๋ณด์ˆ˜๊ฐ€ ์šฉ์ดํ•ด์ง‘๋‹ˆ๋‹ค.

 

Includes ํŒŒ์ผ ๊ตฌ์„ฑ

 

MZFIRST_07F01, MZFRIST_07O01, MZFIRST_07I01 ์ƒ์„ฑ

 

 

4. Screen ์ƒ์„ฑ 

  1. SE80์—์„œ Screen์„ ์„ ํƒํ•˜๊ณ , ์ƒˆ๋กœ์šด ์Šคํฌ๋ฆฐ ๋ฒˆํ˜ธ(์˜ˆ: 100๋ฒˆ)๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.
  2. Short Description ์ž…๋ ฅ: "My First Screen App"
  3. Screen ์†์„ฑ ์„ค์ • (Dialog Screen ์„ ํƒ)
  4. Layout Editor(ํ™”๋ฉด ๋””์ž์ธ) ์—ด๊ธฐ

 

๐Ÿ“Œ SAP Screen ๋ฒˆํ˜ธ ๊ทœ์น™

  • 100๋ฒˆ: ๋ฉ”์ธ ํ™”๋ฉด
  • 110๋ฒˆ: ์ฒซ ๋ฒˆ์งธ ์„œ๋ธŒ ํ™”๋ฉด
  • 200๋ฒˆ: ๋‹ค์Œ ๋ฉ”์ธ ํ™”๋ฉด

 

 

 


 5. T์ฝ”๋“œ ์ƒ์„ฑ

 

โœ”๏ธ ํ”„๋กœ๊ทธ๋žจ - Create - Transaction

 

โœ”๏ธ Program and dynpro ์„ ํƒ

 

โœ”๏ธ T์ฝ”๋“œ ์„ค์ •ํ•˜๊ณ  ์‹ถ์€ ํ”„๋กœ๊ทธ๋žจ ์ž…๋ ฅ

 

 

6. Screen Program ๋งŒ๋“ค๊ธฐ

1๏ธโƒฃ CASE1: ์ „์—ญ ๋ณ€์ˆ˜๋ฅผ ํ™œ์šฉํ•˜์—ฌ ๊ณ„์‚ฐ๊ธฐ ํ”„๋กœ๊ทธ๋žจ ๋งŒ๋“ค๊ธฐ

CASE 1์€ ์ „์—ญ ๋ณ€์ˆ˜๋ฅผ ์ด์šฉํ•˜์—ฌ Screen Program์„ ๊ตฌ์„ฑํ•˜๋Š” ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค.

 

๐Ÿ“Œ ๊ณ„์‚ฐ๊ธฐ ํ”„๋กœ๊ทธ๋žจ ์„ค๊ณ„

  • Argument 1, Argument 2, Operator, Result ํ•„๋“œ ์ถ”๊ฐ€
  • Operator๋Š” +, -, *, / ๊ฐ’๋งŒ ์ž…๋ ฅ ๊ฐ€๋Šฅํ•˜๋„๋ก ์„ค์ •

์ด์ œ CASE 1๊ณผ CASE 2๋กœ ๋‚˜๋ˆ„์–ด ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

 

1. Screen Element ์ƒ์„ฑ

Screen Element๋Š” ํ™”๋ฉด์— ์ถ”๊ฐ€๋˜๋Š” ์ž…๋ ฅ ํ•„๋“œ, ๋ฒ„ํŠผ, ๋ผ๋””์˜ค ๋ฒ„ํŠผ ๋“ฑ์˜ UI ์š”์†Œ๋ฅผ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.

  • ์Šคํฌ๋ฆฐ์€ ์ปจํ…Œ์ด๋„ˆ์ด๋ฉฐ, INPUT ํ•„๋“œ๋‚˜ RADIO ๋ฒ„ํŠผ์„ ์Šคํฌ๋ฆฐ ์—˜๋ฆฌ๋จผํŠธ๋ผ๊ณ  ๋ถ€๋ฆ…๋‹ˆ๋‹ค.
  • ์Šคํฌ๋ฆฐ์˜ ์žฅ์ ์€ ์‚ฌ์šฉ์ž ์ž…๋ ฅ๊ฐ’ ์ฒดํฌ๋ฅผ ์ž๋™์œผ๋กœ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์ ์ž…๋‹ˆ๋‹ค.

 

๐Ÿ“Œ ์ „์—ญ ๋ณ€์ˆ˜ ์„ ์–ธ (MZSAMPLE_07TOP)

DATA: gv_arg1   TYPE int1,
      gv_oper   TYPE c,
      gv_arg2   TYPE int1,
      gv_result TYPE int1.

โœ… ๊ณ„์‚ฐ๊ธฐ์˜ Argument 1, Argument 2, Operator, Result๋ฅผ ์œ„ํ•œ ๋ณ€์ˆ˜ 4๊ฐœ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค. 

 

๐Ÿ“Œ ๊ณ„์‚ฐ๊ธฐ ํ”„๋กœ๊ทธ๋žจ UI ์„ค์ •

โœ”๏ธ Layout: ํ™”๋ฉด ๊ทธ๋ฆฌ๋Š” ํŽ˜์ด์ง€ (์ˆ˜์ •ํ•  ๋• Change ๋ชจ๋“œ)

 

โœ”๏ธ T: Text field (Name์€ ์œ ๋‹ˆํฌํ•˜๊ฒŒ ์„ค์ •) - Activate (๋„˜์–ด๊ฐ€์ง€ ์•Š์„ ๋• ๋‹ค๋ฅธ ์ฐฝ Activate ํ™•์ธ)

 

โœ”๏ธ Input field๋Š” ๋”•์…”๋„ˆ๋ฆฌ/ํ”„๋กœ๊ทธ๋žจ ํ•„๋“œ ์œˆ๋„์šฐ๋กœ ์„ค์ •ํ•˜๊ธฐ

 

โœ”๏ธ์ „์—ญ๋ณ€์ˆ˜ ์ž…๋ ฅ - Get from Program - Input Field๋ฅผ ์œ„ํ•œ 4๊ฐœ์˜ ๋ณ€์ˆ˜ ์„ ํƒ

 

 โœ”๏ธ ๋‚ด๊ฐ€ ์›ํ•˜๋Š” ํ…์ŠคํŠธ์™€ ์ž…๋ ฅ์ฐฝ์œผ๋กœ UI ๊ตฌ์„ฑ

 

โœ”๏ธ ์ถ”๊ฐ€์ ์œผ๋กœ ๋ณ€์ˆ˜ Result๋Š” ๊ฒฐ๊ณผ์ฐฝ์ด๋ฏ€๋กœ, Attributes - Program - Input Field ํ•ด์ œ

 

2. Flow Logic (PBO & PAI) ์ž‘์„ฑ

Screen Program์€ PBO(Process Before Output)์™€ PAI(Process After Input) ๋‘ ๊ฐœ์˜ ํ•ต์‹ฌ ํ”„๋กœ์„ธ์Šค๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

  • PBO (Process Before Output): ํ™”๋ฉด์ด ๋กœ๋“œ๋˜๊ธฐ ์ „์— ์‹คํ–‰๋˜๋Š” ๋กœ์ง
    • ์˜ˆ๋ฅผ ๋“ค์–ด, ๋‚จ์„ฑ์ด๋ฉด ํŠน์ • ํ•„๋“œ๋ฅผ ํ™œ์„ฑํ™”ํ•˜๊ณ  ์—ฌ์„ฑ์ด๋ฉด ๋‹ค๋ฅธ ํ•„๋“œ๋ฅผ ๋ณด์ด๋„๋ก ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Œ
  • PAI (Process After Input): ์‚ฌ์šฉ์ž๊ฐ€ ๋ฐ์ดํ„ฐ๋ฅผ ์ž…๋ ฅํ•˜๊ณ  ๋ฒ„ํŠผ์„ ํด๋ฆญํ–ˆ์„ ๋•Œ ์‹คํ–‰๋˜๋Š” ๋กœ์ง
    • ์˜ˆ๋ฅผ ๋“ค์–ด, ์ž…๋ ฅ๊ฐ’์ด 103์ด๋ฉด ์œ ํšจํ•˜์ง€ ์•Š์€ ๋ฐ์ดํ„ฐ๋กœ ์ฒ˜๋ฆฌํ•˜๋Š” ์œ ํšจ์„ฑ ๊ฒ€์ฆ์ด ๊ฐ€๋Šฅํ•จ

 

๐Ÿ“Œ  Screen Program ์ƒ์„ฑ

PROCESS BEFORE OUTPUT.

PROCESS AFTER INPUT.
  MODULE CALCULATE.

โœ… Screens 100๋ฒˆ ํ™”๋ฉด์— ๋ชจ๋“ˆ CALCULATE ์„ค์ •

 

๐Ÿ“Œ PAI (MZSAMPLE_07I01) - ์‚ฌ์šฉ์ž ์ž…๋ ฅ ํ›„ ์‹คํ–‰

MODULE calculate INPUT.
  CASE gv_oper.
    WHEN '+'.
      gv_result = gv_arg1 + gv_arg2.
    WHEN '-'.
      gv_result = gv_arg1 - gv_arg2.
    WHEN '*'.
      gv_result = gv_arg1 * gv_arg2.
    WHEN '/'.
      IF gv_arg2 <> 0.
        gv_result = gv_arg1 / gv_arg2.
      ELSE.
        MESSAGE '0์œผ๋กœ ๋‚˜๋ˆŒ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.' TYPE 'E'.
      ENDIF.
  ENDCASE.
ENDMODULE.

โœ… ์ „์—ญ ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์—ฐ์‚ฐ ๋กœ์ง์„ ๊ตฌ์„ฑํ•˜๋Š” ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค.

 

3. T์ฝ”๋“œ๋ฅผ ํ†ตํ•ด ํ”„๋กœ๊ทธ๋žจ ๊ตฌ๋™ ํ™•์ธํ•˜๊ธฐ

 

 

 โœ”๏ธ ์œ„์—์„œ ์„ค์ •ํ•œ T์ฝ”๋“œ ZFIRST_07๋กœ ํ”„๋กœ๊ทธ๋žจ ๊ตฌ๋™์„ ํ™•์ธ

 

 

2๏ธโƒฃ CASE 2: ABAP Dictionary๋ฅผ ํ™œ์šฉํ•˜์—ฌ ๊ณ„์‚ฐ๊ธฐ ํ”„๋กœ๊ทธ๋žจ ๋งŒ๋“ค๊ธฐ

 

[SAP] Screen Program (3) Screen Program ์ƒ์„ฑํ•˜๊ธฐ - ABAP Dictionary๋ฅผ ํ™œ์šฉํ•˜๊ธฐ

SAP Screen Program(๋ชจ๋“ˆ ํ’€ ํ”„๋กœ๊ทธ๋žจ)์€ UI์™€ ๋กœ์ง์„ ๊ฒฐํ•ฉํ•˜์—ฌ ์‚ฌ์šฉ์ž ์ž…๋ ฅ์„ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋™์ž‘ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฒˆ ๊ธ€์—์„œ๋Š” ABAP Dictionary๋ฅผ ์ด์šฉํ•˜์—ฌ Screen Program์„ ์ƒ์„ฑํ•˜๋Š” ์ผ๋ฐ˜์ ์ธ ๊ณผ์ •๊ณผ ์‹ค์ œ ์˜ˆ

informatik.tistory.com