์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
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 |
- ์๋ฐฉํฅํ์
- Import
- structure
- abap dictionary
- Internal Table
- ์คํธ๋ญ์ฒ
- ๋ฐฑ์ค
- ์ค๋ฒ2
- screen
- ์๊ณ ๋ฆฌ์ฆ
- subscreen
- ์ด๋ถํ์
- PRD
- select
- Export
- qas
- ๊น์ด์ฐ์ ํ์
- ABAP
- ๋๋น์ฐ์ ํ์
- screen program
- ์ค๋ฒ3
- ๋ชจ๋ํ
- t์ฝ๋
- modify
- tasknumber
- Function Module
- call function
- ๋จ๋ฐฉํฅํ์
- SAP
- dev
- Today
- Total
CS Student’s Tech Journey๐ซ
[SAP] ABAP Subscreen (5) Tabstrip Control๋ก ํ๋ฉด ์ ํ ๊ตฌํํ๊ธฐ ๋ณธ๋ฌธ
[SAP] ABAP Subscreen (5) Tabstrip Control๋ก ํ๋ฉด ์ ํ ๊ตฌํํ๊ธฐ
์ธํฌ๋งํฑ 2025. 3. 21. 20:33SAP ๋ค์ด์ผ๋ก๊ทธ ํ๋ก๊ทธ๋๋ฐ์์ ํ๋์ ํ๋ฉด์์ ์ฌ๋ฌ UI ๊ตฌ์ฑ์์๋ฅผ ๋ณด์ฌ์ฃผ๊ธฐ ์ํด Subscreen์ ํ์ฉํ๋ ๊ฒ์ ๋งค์ฐ ์ผ๋ฐ์ ์ธ ๋ฐฉ์์ ๋๋ค.
ํนํ ์ฌ์ฉ์๊ฐ ํญ(Tab)์ ๋๋ฌ์ ํ๋ฉด์ ์ ํํ๋ ๋ฐฉ์, ์ฆ Tabstrip Control์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ, ๋ค์ํ ๋ฐ์ดํฐ๋ฅผ ํ๋์ ๋
ผ๋ฆฌ์ ํ๋ฉด ์์์ ๊น๋ํ๊ฒ ํํํ ์ ์์ด UI ๊ตฌ์ฑ์ ์์ฃผ ํ์ฉ๋ฉ๋๋ค.
์ด๋ฒ ๊ธ์์๋ SAP์์ ์ ๊ณตํ๋ Tabstrip Control์ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ ๋ ๊ฐ์ง๋ฅผ ์๊ฐํฉ๋๋ค.
โ Tabstrip Control์ด๋?
Tabstrip์ ์ฌ๋ฌ ๊ฐ์ Subscreen์ ํ๋์ ์์ญ์์ ์ ํํด๊ฐ๋ฉฐ ๋ณด์ฌ์ฃผ๋ ์ปจํธ๋กค ์์์
๋๋ค.
ํ๋์ ๋ฉ์ธ ์คํฌ๋ฆฐ ๋ด์์ ์ฌ์ฉ์๊ฐ ์ ํํ ํญ์ ๋ฐ๋ผ ๋ค๋ฅธ Subscreen์ ๋ถ๋ฌ์์ ํ๋ฉด์ ๊ตฌ์ฑํฉ๋๋ค.
- Current Tab: ํ์ฌ ์ ํ๋ ํญ ์ด๋ฆ
- Pushbutton Tabs: ๊ฐ ํญ ๋ฒํผ
- Subscreen Area: ํญ์ด ์ ํ๋๋ฉด ์ด ์์ญ์ ๋ด์ฉ์ด ๋ฐ๋
๐ Tabstrip ๊ตฌํ ๋ฐฉ์ ๋ ๊ฐ์ง
๋ฐฉ์ | ์ค๋ช | ํน์ง |
CASE 1 | Fct Type์ P๋ก ์ค์ | ๊ตฌํ์ด ๊ฐ๋จํ์ง๋ง PAI๋ฅผ ํ์ง ์์ |
CASE 2 | ์ผ๋ฐ Normal ๋ฐฉ์ | ์ค๋ฌด์์ ๋ ๋ง์ด ์ฌ์ฉ๋จ, OK_CODE๋ก ์ ์ด |
๐ฏ CASE 1 – Tabstrip (Fct Type = P ๋ฐฉ์)
โ ์ฅ์
- ๊ตฌํ์ด ๊ฐ๋จํ๊ณ ์ง๊ด์ ์
- ๋ฒํผ ํด๋ฆญ ์ PAI๋ฅผ ํ์ง ์๊ธฐ ๋๋ฌธ์ ์ฝ๋ ๊ตฌ์กฐ๊ฐ ๊ฐ๋จํจ
โ ๏ธ ๋จ์
- ๊ฐ Subscreen์ CALL SUBSCREEN์ผ๋ก ๋ชจ๋ ํธ์ถํด์ผ ํจ
- ํ๋ฉด ํด๋ฆญ ์ ์๋ก์ด ๋ฐ์ดํฐ ๋ก๋ฉ์ด ํ์ํ๋ค๋ฉด PAI๋ฅผ ํ์ผ ํ๋ฏ๋ก ์ ์ฐ์ฑ์ด ๋จ์ด์ง
โถ ๋ณ์ ์ ์ธ (XXXXXTOP)
* Tab Strips ๋ณ์ ์ ์ธ
CONTROLS MY_TAB TYPE TABSTRIP.
โถ Tabstrip Layout ์ค์ (๋ฉ์ธ ํ๋ฉด Screen 100)
โถ Tab ์์ฑ ์ค์ - TAB ์ด๋ฆ์ ๋ณ์ ์ ์ธํ ๋ ์ฌ์ฉํ๋ ์ด๋ฆ์ผ๋ก ์ค์
โถ Tab ์์ฑ ์ค์ - TAB1 Connection ๋ฒํผ (Subscreen Area - SUB1)
Fct Code | ํญ ํด๋ฆญ ์ ๋ฐ์ํ๋ ์ฝ๋ |
Fct Type | P ๋ก ์ค์ |
Ref Field | Subscreen Area์ ์ฐ๊ฒฐ |
โ๏ธ Subscreen Area๋ฅผ ์์ ๊ทธ๋ ค์ค๋๋ค.
โถ Tab ์์ฑ ์ค์ - TAB2 Airline ๋ฒํผ (Subscreen Area - SUB2)
โ๏ธ Subscreen Area๋ฅผ ์์ ๊ทธ๋ ค์ค๋๋ค.
โถ Subscreen ์ฐ๊ฒฐ
PROCESS BEFORE OUTPUT.
MODULE status_0100.
CALL SUBSCREEN SUB1 INCLUDING SY-CPROG '0101'.
CALL SUBSCREEN SUB2 INCLUDING SY-CPROG '0102'.
PROCESS AFTER INPUT.
CALL SUBSCREEN SUB1.
CALL SUBSCREEN SUB2.
MODULE user_command_0100.
โถ ์ต์ข ํ์ธ
ํญ์ด ์์ฑ๋ ๊ฒ์ ํ์ธํ ์ ์์ต๋๋ค. ๋ค๋ง, ์์ง ๋ฐ์ดํฐ ์กฐํ๋ ๋ถ๊ฐ๋ฅํฉ๋๋ค.
๐ฏ CASE 2 – Tabstrip (Normal ๋ฐฉ์)
โ ํน์ง
- ๊ฐ ํญ์ ๋๋ฅด๋ฉด PAI → PBO๋ฅผ ํ๋ฉด์ ํ๋ฉด์ด ์ ํ๋จ
- Subscreen ํ๋๋ง ๊ณต์ ํ๊ณ , ํญ์ ๋ฐ๋ผ ํด๋น ํ๋ฉด๋ง ๊ต์ฒด
- ์ค๋ฌด์์ ๋ ๋ง์ด ์ฌ์ฉํ๋ ๋ฐฉ์
โถ Tab ์์ฑ ์ค์ - TAB ์ด๋ฆ์ ๋ณ์ ์ ์ธํ ๋ ์ฌ์ฉํ๋ ์ด๋ฆ์ผ๋ก ์ค์
โถ Tab ์์ฑ ์ค์ - TAB1 Connection ๋ฒํผ (Subscreen Area - SUB1)
โถ Tab ์์ฑ ์ค์ - TAB2 Airline ๋ฒํผ (Subscreen Area - SUB1)
๐ TAB1๊ณผ ๊ฐ์ Subscreen Area๋ฅผ ์ฌ์ฉํฉ๋๋ค.
โถ ๋ณ์ ์ ์ธ (XXXXXTOP)
* Tab Strips ๋ณ์ ์ ์ธ
DATA GV_DYNNR TYPE SY-DYNNR.
โถSubscreen ์ค์ ๋ก์ง (XXXXXO01) PBO โ๏ธ ACTIVETAB ์ ํ ์, ์ด๋ค ํ๋ฉด์ ๋์์ค์ง์ ๋ํ ๋ก์ง
PROCESS BEFORE OUTPUT.
MODULE status_0100.
MODULE FILL_DYNNR.
MODULE fill_dynnr OUTPUT.
CASE MY_TAB-ACTIVETAB.
WHEN 'TAB1'.
GV_DYNNR = '0101'.
WHEN 'TAB2'.
GV_DYNNR = '0102'.
WHEN OTHERS.
MY_TAB-ACTIVETAB = 'TAB2'. " ๋ํดํธ ์ค์
GV_DYNNR = '0102'.
ENDCASE.
ENDMODULE.
โ ํญ ํด๋ฆญ ์๋ง๋ค GV_DYNNR ๊ฐ์ด ๋ฐ๋๊ณ , ๊ทธ์ ๋ฐ๋ผ Subscreen์ด ์ ํ๋จ
โถ Subscreen ์ค์ ๋ก์ง (XXXXXI01) PAI โ๏ธ ์ฌ์ฉ์์ ํญ ์ ํ ์ฒ๋ฆฌ
MODULE user_command_0100 INPUT.
CASE ok_code.
WHEN 'TAB1' OR 'TAB2'. " PAI ๋ก์ง ์ถ๊ฐ
MY_TAB-ACTIVETAB = ok_code.
WHEN 'DISP'.
PERFORM GET_INFO.
WHEN 'BACK' OR 'EXIT'. "
LEAVE PROGRAM.
ENDCASE.
ENDMODULE.
โถ Subscreen ํธ์ถ
PROCESS BEFORE OUTPUT.
MODULE status_0100.
MODULE FILL_DYNNR.
CALL SUBSCREEN SUB1 INCLUDING SY-CPROG GV_DYNNR. " ์ค์
โถ ์ต์ข ํ์ธ!