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

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

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

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

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

์ธํฌ๋งˆํ‹ฑ 2025. 3. 6. 16:06

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

 


 

๐Ÿ“Œํ•„๋…

 

์ง€๋‚œ ํฌ์ŠคํŒ…๊ณผ ๋‚ด์šฉ์ด ์ด์–ด์ง€๋Š” ํฌ์ŠคํŒ…์ž…๋‹ˆ๋‹ค. 

5๋ฒˆ๊นŒ์ง€ ์ฝ์œผ์‹  ํ›„ ์ด๋ฒˆ ํฌ์ŠคํŒ…์„ ์‹œ์ž‘ํ•˜๋Š” ๊ฒƒ์„ ์ถ”์ฒœ๋“œ๋ฆฝ๋‹ˆ๋‹ค. โฌ‡๏ธ

 

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

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

informatik.tistory.com

 

 

 


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

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

CASE 2๋Š” ABAP Dictionary์— ์ •์˜๋œ ๊ตฌ์กฐ์ฒด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ Screen Program์„ ๊ตฌ์„ฑํ•˜๋Š” ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค.

 

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

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

 

1. Screen Element ์ƒ์„ฑ

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

  • ์Šคํฌ๋ฆฐ์€ ์ปจํ…Œ์ด๋„ˆ์ด๋ฉฐ, INPUT ํ•„๋“œ๋‚˜ RADIO ๋ฒ„ํŠผ์„ ์Šคํฌ๋ฆฐ ์—˜๋ฆฌ๋จผํŠธ๋ผ๊ณ  ๋ถ€๋ฆ…๋‹ˆ๋‹ค.
  • ABAP Dictionary์— ๊ตฌ์กฐ์ฒด๋ฅผ ์ •์˜ํ•˜์—ฌ ๊ตฌ์„ฑํ•ฉ๋‹ˆ๋‹ค.

 

๐Ÿ“Œ ABAP Dictionary ๊ตฌ์กฐ์ฒด ์ƒ์„ฑ (ZSCALCULATOR1_07)

  1. SE11 ์‹คํ–‰ ํ›„ Structure ์ƒ์„ฑ
  2. ํ•„๋“œ ์ •์˜:
    • ARG1 (์ž…๋ ฅ ๊ฐ’ 1)
    • ARG2 (์ž…๋ ฅ ๊ฐ’ 2)
    • OPERATOR (์—ฐ์‚ฐ์ž, +, -, *, / ์ œํ•œ)
    • RESULT (๊ฒฐ๊ณผ ๊ฐ’)
  3. ์ €์žฅ ํ›„ ํ™œ์„ฑํ™”

 

โœ”๏ธ SE11 - ์ด๋ฆ„ ์ž…๋ ฅ ํ›„ Create - Structure

 

โœ”๏ธ ๊ณ„์‚ฐ๊ธฐ ํ”„๋กœ๊ทธ๋žจ ์„ค๊ณ„์— ๋”ฐ๋ผ ๋ณ€์ˆ˜๋“ค์„ ์ŠคํŠธ๋Ÿญ์ฒ˜์— ์ •์˜

 

 

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

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

 

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

 

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

 

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

 

โœ”๏ธ ์›ํ•˜๋Š” ํ˜•ํƒœ์— ๋”ฐ๋ผ ์„ ํƒ

 

โœ”๏ธ ์ŠคํŠธ๋Ÿญ์ฒ˜๋ฅผ ์ƒ์„ฑํ–ˆ๊ธฐ๋•Œ๋ฌธ์— Input Field์™€ Text ํ˜•ํƒœ ์œ ์ง€

 

 

๐Ÿ“Œ ํ†ต์‹  ๋ณ€์ˆ˜ ์„ ์–ธ (MZSAMPLE_07TOP)

TABLES: ZSCALCULATOR1_07.

โœ… ABAP Dictionary ๊ตฌ์กฐ์ฒด์™€ ํ™”๋ฉด์˜ ์ž…๋ ฅ๊ฐ’์„ ์ง์ ‘ ์—ฐ๊ฒฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

 โ“ํ†ต์‹  ๋ณ€์ˆ˜ Identical Names

โœ… ์ž๋™ ๋งคํ•‘ ๋ฐฉ์‹ (Implicit Mapping)

  • TABLES ๋ฌธ์„ ์‚ฌ์šฉํ•˜๋ฉด ABAP Dictionary์˜ ํ…Œ์ด๋ธ” ๋˜๋Š” ๊ตฌ์กฐ์ฒด ํ•„๋“œ์™€ ํ™”๋ฉด(Screen) ํ•„๋“œ์˜ ์ด๋ฆ„์ด ๋™์ผํ•  ๊ฒฝ์šฐ ์ž๋™์œผ๋กœ ๋งคํ•‘๋ฉ๋‹ˆ๋‹ค.
  • ์ด ๋ฐฉ์‹์€ ๋ช…์‹œ์ ์ธ ๋ฐ์ดํ„ฐ ์ด๋™ ์—†์ด๋„ ํ”„๋กœ๊ทธ๋žจ์—์„œ ํ™”๋ฉด์œผ๋กœ, ๋˜๋Š” ํ™”๋ฉด์—์„œ ํ”„๋กœ๊ทธ๋žจ์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ ๋ฐ›์„ ์ˆ˜ ์žˆ๋„๋ก ํ•ด์ค๋‹ˆ๋‹ค.

๐ŸŸข ์ž๋™ ๋งคํ•‘์˜ ์›๋ฆฌ

  • TABLES: ZSCALCULATOR1_07. ์„ ์–ธ ์‹œ, ์‹œ์Šคํ…œ์€ ๋‚ด๋ถ€์ ์œผ๋กœ ZSCALCULATOR1_07 ๊ตฌ์กฐ์ฒด๋ฅผ ๋™์ผํ•œ ํ•„๋“œ๋ช…์œผ๋กœ ํ™”๋ฉด(Screen) ํ•„๋“œ์™€ ์—ฐ๊ฒฐํ•ฉ๋‹ˆ๋‹ค.
  • ๋™์ผํ•œ ํ•„๋“œ๋ช…์ผ ๊ฒฝ์šฐ, ๋ช…์‹œ์ ์ธ MOVE ๋ฌธ ์—†์ด๋„ ๋ฐ์ดํ„ฐ๊ฐ€ ์ž๋™์œผ๋กœ ์ „๋‹ฌ๋ฉ๋‹ˆ๋‹ค.

 

 

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 ์ƒ์„ฑ - PAI

PROCESS BEFORE OUTPUT.

PROCESS AFTER INPUT.
  MODULE CALCULATE2.

โœ… PROCESS AFTER INPUT = PAI

 

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

MODULE calculate2 INPUT.
  CASE ZSCALCULATOR1_07-OPERATOR.

    WHEN '+'.
      ZSCALCULATOR1_07-RESULT
      = ZSCALCULATOR1_07-ARG1 + ZSCALCULATOR1_07-AGR2.
    WHEN '-'.
      ZSCALCULATOR1_07-RESULT
      = ZSCALCULATOR1_07-ARG1 - ZSCALCULATOR1_07-AGR2.
    WHEN '*'.
      ZSCALCULATOR1_07-RESULT
      = ZSCALCULATOR1_07-ARG1 * ZSCALCULATOR1_07-AGR2.
    WHEN '/'.
     ZSCALCULATOR1_07-RESULT
      = ZSCALCULATOR1_07-ARG1 / ZSCALCULATOR1_07-AGR2.
  ENDCASE.
ENDMODULE.

 

 

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

PROCESS BEFORE OUTPUT.
  MODULE INIT_OPERATOR.

PROCESS AFTER INPUT.
  MODULE CALCULATE2.

 

โœ… PROCESS BEFORE OUTPUT = PBO

 

๐Ÿ“Œ PBO (MZSAMPLE_07O01)

MODULE init_operator OUTPUT.
  IF ZSCALCULATOR1_07-OPERATOR IS INITIAL.
    ZSCALCULATOR1_07-OPERATOR = '+'.
  ENDIF.
ENDMODULE.

 โœ… Operator๊ฐ€ ๋น„์–ด์žˆ์„ ๋•Œ ( = ์ดˆ๊ธฐ๊ฐ’์ผ ๋•Œ) ๋งŒ ์ฑ„์›Œ์ง€๋„๋ก ์„ค์ •ํ•˜๋Š” ๋กœ์ง

 

 

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

 

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

 

 

4. ์ผ๋ฐ˜์ ์ธ ๋กœ์ง ์ˆœ์„œ

100๋ฒˆ ํ™”๋ฉด์—์„œ ๊ฐ’ ์ž…๋ ฅ ํ›„ ENTER๋ฅผ ๋ˆ„๋ฅด๋ฉด ์‹คํ–‰๋˜๋Š” ๊ณผ์ •

0๏ธโƒฃ ํ˜„์žฌ Screen์˜ PBO ์‹คํ–‰ - INIT_OPERATOR ๋ชจ๋“ˆ ์‹คํ–‰
1๏ธโƒฃ ํ˜„์žฌ Screen์˜ PAI ์‹คํ–‰ - Calculator ๋ชจ๋“ˆ ์‹คํ–‰
2๏ธโƒฃ Next Screen ์‹คํ–‰
3๏ธโƒฃ Next Screen์˜ PBO ์‹คํ–‰
4๏ธโƒฃ ์‚ฌ์šฉ์ž์—๊ฒŒ Next Screen ์ถœ๋ ฅ

PROCESS BEFORE OUTPUT. "ํ™”๋ฉด ๋ ˆ์ด์•„์›ƒ ์ œ์–ด ๊ด€๋ จ๋œ ๋กœ์ง
  MODULE INIT_OPERATOR.

PROCESS AFTER INPUT. "์ด๋ฒคํŠธ ๊ด€๋ จ๋œ ๋กœ์ง
  MODULE CALCULATE.

 

โœ… ๊ณ„์‚ฐ๊ธฐ ์—˜๋ฆฌ๋จผํŠธ ํ•œ๋ˆˆ์— ๋ณด๊ธฐ - Element list ํƒญ์—์„œ ํ™•์ธ ๊ฐ€๋Šฅ