| ์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
|---|---|---|---|---|---|---|
| 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
- ABAP
- ์ด๋ถํ์
- qas
- ์ค๋ฒ3
- ๊น์ด์ฐ์ ํ์
- screen
- Internal Table
- ์คํธ๋ญ์ฒ
- ๋๋น์ฐ์ ํ์
- structure
- SAP
- ์ค๋ฒ2
- select
- subscreen
- PRD
- tasknumber
- screen program
- t์ฝ๋
- Export
- ๋จ๋ฐฉํฅํ์
- dev
- modify
- abap dictionary
- Function Module
- call function
- Today
- Total
SAP & HR SaaS 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. " ์ค์
โถ ์ต์ข ํ์ธ!

