์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- qas
- ์๋ฐฉํฅํ์
- PRD
- modify
- Internal Table
- ๋จ๋ฐฉํฅํ์
- screen program
- Function Module
- ์๊ณ ๋ฆฌ์ฆ
- ๊น์ด์ฐ์ ํ์
- Export
- ์ค๋ฒ2
- screen
- ABAP
- ์ด๋ถํ์
- select
- ๋ฐฑ์ค
- abap dictionary
- ์คํธ๋ญ์ฒ
- t์ฝ๋
- subscreen
- structure
- dev
- Import
- ๋ชจ๋ํ
- ์ค๋ฒ3
- SAP
- call function
- tasknumber
- ๋๋น์ฐ์ ํ์
- Today
- Total
CS Student’s SAP&Tech Journey๐ซ
[SAP] Screen Program (3) Screen Program ์์ฑํ๊ธฐ - ABAP Dictionary๋ฅผ ํ์ฉํ๊ธฐ ๋ณธ๋ฌธ
[SAP] Screen Program (3) Screen Program ์์ฑํ๊ธฐ - ABAP Dictionary๋ฅผ ํ์ฉํ๊ธฐ
์ธํฌ๋งํฑ 2025. 3. 6. 16:06SAP 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)
- SE11 ์คํ ํ Structure ์์ฑ
- ํ๋ ์ ์:
- ARG1 (์ ๋ ฅ ๊ฐ 1)
- ARG2 (์ ๋ ฅ ๊ฐ 2)
- OPERATOR (์ฐ์ฐ์, +, -, *, / ์ ํ)
- RESULT (๊ฒฐ๊ณผ ๊ฐ)
- ์ ์ฅ ํ ํ์ฑํ
โ๏ธ 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 ํญ์์ ํ์ธ ๊ฐ๋ฅ