[SAP] ABAP ํ์ ์ฐฝ๊ณผ ์ปค์ ์ค์ - CALL SCREEN๊ณผ SET CURSOR ํ์ฉํ๊ธฐ
SAP GUI์์ ์ฌ์ฉ์ ๊ฒฝํ์ ํฅ์์ํค๊ธฐ ์ํด ํ์ ์ฐฝ์ ๋์ฐ๋ ๋ฐฉ๋ฒ๊ณผ ์ปค์ ์์น๋ฅผ ์ค์ ํ๋ ๋ฐฉ๋ฒ์ ์์๋ณด๊ฒ ์ต๋๋ค. ํ์ ์ฐฝ์ ํ์ฉํ๋ฉด ์ฌ์ฉ์์๊ฒ ์ค์ํ ์ ๋ณด๋ฅผ ์ ๋ฌํ๊ฑฐ๋ ์ ๋ ฅ์ ์ ๋ํ ์ ์์ผ๋ฉฐ, ์ปค์ ์ค์ ์ ํตํด ์ฌ์ฉ์์ ์ ๋ ฅ ํธ์์ฑ์ ๋์ผ ์ ์์ต๋๋ค.
์ด๋ฒ ํฌ์คํ ์์๋ CALL SCREEN์ ํ์ฉํ ํ์ ์ฐฝ ๊ตฌํ๊ณผ SET CURSOR์ ์ด์ฉํ ์ปค์ ์ค์ ๋ฐฉ๋ฒ์ ๋จ๊ณ๋ณ ์์ ์ ํจ๊ป ์ค๋ช ํ๊ฒ ์ต๋๋ค.
๐ํ๋
์ด๋ฒ ํฌ์คํ ์ ์์ ๋ ์๋ ํฌ์คํ ๋ค๊ณผ ์ด์ด์ง๋๋ค. โฌ๏ธ
1๏ธโฃ ABAP ํ๋ฉด ๋์ ์ ์ด - MODIFY SCREEN ํ์ฉํ๊ธฐ
2๏ธโฃ ABAP ํ๋ฉด ์ ํ - Next Screen๊ณผ SET SCREEN ๋ฐฉ์์ ์ฐจ์ด
1. ์ปค์ ์ค์ - SET CURSOR
์ฌ์ฉ์๊ฐ ํ๋ฉด์ ์ง์ ํ์ ๋, ํน์ ์ ๋ ฅ ํ๋์ ์๋์ผ๋ก ์ปค์๋ฅผ ์์น์ํค๋ ค๋ฉด SET CURSOR๋ฅผ ์ฌ์ฉํฉ๋๋ค. ์ด ๊ธฐ๋ฅ์ ํ์ฉํ๋ฉด ์ฌ์ฉ์๊ฐ ๋ฐ๋ก ์ ๋ ฅํด์ผ ํ ํ๋๋ฅผ ๊ฐ์กฐํ ์ ์์ด ํธ๋ฆฌํฉ๋๋ค.
SET CURSOR
FIELD '์คํธ๋ญ์ฒ-ํ๋'.
โ ํญ๊ณต์ฌ ์์ธ์ ๋ณด ์กฐํ ์์ ๋ฅผ ํ์ฅํ ์ปค์ ์ค์ ์์
ํ๋ฉด์ด ์ผ์ง๋ฉด ํญ๊ณต์ฌ ์ฝ๋(CARRID)๊ฐ LH(Lufthansa)๋ก ์๋ ์ ๋ ฅ๋๊ณ , ์ปค์๋ Flight Number(CONNID) ํ๋์ ์์นํ๋๋ก ์ค์ ํด ๋ณด๊ฒ ์ต๋๋ค.
1๏ธโฃ ๋ก์ง ์ค์
SCREEN
PROCESS BEFORE OUTPUT.
MODULE SET_CURSOR. "์ปค์ ์ค์ ์ ์ํ ๋ชจ๋
PROCESS AFTER INPUT.
MODULE USER_COMMAND_0100.
XXXXXO01 (PBO)
MODULE set_cursor OUTPUT.
SET CURSOR
FIELD 'SDYN_CONN-CONNID'.
ENDMODULE.
2๏ธโฃ T์ฝ๋๋ฅผ ํตํด ํ์ธ

โ๏ธ ๊ฒฐ๊ณผ: ํ๋ฉด์ด ๋ก๋๋์๋ง์ LH๊ฐ ์๋ ์ ๋ ฅ๋๊ณ , ์ปค์๋ Flight Number ์ ๋ ฅ ํ๋์์ ๊น๋นก๊ฑฐ๋ฆฝ๋๋ค.
2. ํ์ ์ฐฝ ๊ตฌํ - CALL SCREEN ํ์ฉ
SAP ABAP์์๋ CALL SCREEN์ ์ฌ์ฉํ์ฌ ํ์ ์ฐฝ์ ๋์ ์ผ๋ก ๋์ธ ์ ์์ต๋๋ค. ํ์ ์ฐฝ์ ๊ธฐ์กด ํ๋ฉด์ ์ ์งํ ์ฑ, ์ถ๊ฐ ์ ๋ณด๋ฅผ ์ ๊ณตํ๊ฑฐ๋ ํน์ ์ ๋ ฅ์ ๋ฐ์ ๋ ์ ์ฉํฉ๋๋ค.
๐ ํ์ ์ฐฝ์ Screen Type
SAP ํ๋ฉด(Screen)์๋ ๋ค์ํ ํ์ ์ด ์กด์ฌํ๋ฉฐ, ํ์ ์ฐฝ์ ๊ตฌํํ ๋๋ Modal Dialog Box๋ฅผ ์ฌ์ฉํฉ๋๋ค.
Screen Type | ์ค๋ช |
Normal | ์ผ๋ฐ ํ๋ฉด (์ฃผ ํ๋ฉด) |
Subscreen | ์๋ธ์คํฌ๋ฆฐ (๋ฉ์ธ ํ๋ฉด ๋ด ํฌํจ๋จ) |
Modal Dialog Box | ํ์ ์ฐฝ |
โ ํญ๊ณต์ฌ ์์ธ์ ๋ณด ์กฐํ ์์ ๋ฅผ ํ์ฅํ ํ์ ์ฐฝ ๋์ฐ๊ธฐ ์์
์ด๋ฒ ์์ ์์๋ ๋ฉ์ธ ํ๋ฉด(100)์์ 'T' ์ ๋ ฅ ์ ํ์ฌ ์๊ฐ์ ํ์ ์ฐฝ(110)์ผ๋ก ๋์ฐ๊ณ , ์ํฐ๋ฅผ ๋๋ฅด๋ฉด ํ์ ์ด ๋ซํ๋๋ก ๊ตฌํํ๊ฒ ์ต๋๋ค.
1๏ธโฃ ๋ถ๋ชจ ํ๋ฉด(100)์ ํ์ ์ฐฝ(110) ์์ฑ - Screen

โ๏ธ ํ์
ํ๋ฉด(110)
Screen Number: 110
Screen Type: Modal dialog box ์ ํ (ํ์
์ฐฝ)
Next Dynpro: 0 (์ด์ ํ๋ฉด์ธ ๋ถ๋ชจ ํ๋ฉด 100์ผ๋ก ํ๊ท)
2๏ธโฃ ํ์ ์ฐฝ(110) ๋ ์ด์์์์ ํ์ฌ ์๊ฐ ํ์

โ๏ธ ํค์๋ SYST ์ฌ์ฉ
ํ์ฌ ์๊ฐ: sy-uzeit
3๏ธโฃ 100๋ฒ ํ๋ฉด์์ 'T' ์ ๋ ฅ ์ ํ์ ํธ์ถ ๋ก์ง ์ค์
SCREEN 100
PROCESS AFTER INPUT.
MODULE USER_COMMAND_0100.
XXXXXI01(PAI)
MODULE user_command_0100 INPUT.
" ์
๋ ฅ๊ฐ 2๊ฐ (ํญ๊ณต์ฌ ์ฝ๋, ํญ๊ณตํธ)์ผ๋ก ํ
์ด๋ธ ๊ฒ์ํด์ ๊ฐ ๋ฃ์ด์ฃผ๊ธฐ
SELECT SINGLE *
FROM SPFLI
INTO CORRESPONDING FIELDS OF SDYN_CONN
WHERE CARRID = SDYN_CONN-CARRID
AND CONNID = SDYN_CONN-CONNID.
CASE GV_MODE.
WHEN 'U' OR 'D'.
LEAVE TO SCREEN 200.
WHEN 'X'.
LEAVE PROGRAM.
WHEN 'T'. "ํ์ฌ ์๊ฐ์ ํ์
์ฐฝ์ ํ์"
CALL SCREEN 110 STARTING AT 6 2.
ENDCASE.
ENDMODULE.
๐ ํ์ ์์น ์ค์ ๋ฌธ๋ฒ
CALL SCREEN 110 STARTING AT LC UR.
- LC 6 UR 2 โ ์ผ์ชฝ์์ 6์, ์์์ 2์ ์์น์ ํ์ ํ์
- ๋จ์๋ CHAR ๊ธฐ์ค
4๏ธโฃ T์ฝ๋๋ฅผ ํตํด ํ์ธ

3. ํ๋ ๊ฐ์ ํ์ ๊ฐ์ผ๋ก ์ค์ ํ๊ธฐ

โ๏ธ Screen Layout - Attributes์ Input Field - Required ์ ํ