์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
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 |
- ๊น์ด์ฐ์ ํ์
- ABAP
- call function
- Export
- screen
- dev
- select
- SAP
- subscreen
- Internal Table
- ์๋ฐฉํฅํ์
- qas
- structure
- t์ฝ๋
- modify
- ๋ฐฑ์ค
- ๋จ๋ฐฉํฅํ์
- ์๊ณ ๋ฆฌ์ฆ
- tasknumber
- ์ค๋ฒ2
- ๋๋น์ฐ์ ํ์
- screen program
- Function Module
- ์ค๋ฒ3
- Import
- ์ด๋ถํ์
- PRD
- ๋ชจ๋ํ
- abap dictionary
- ์คํธ๋ญ์ฒ
- Today
- Total
CS Studentโs SAP&Tech Journey๐ซ
[SAP] ALV (4) ์๊ฐ์ ์ ์ด ๊ธฐ๋ฅ - ์ ํธ๋ฑ, ์ปฌ๋ฌ ๊ฐ์กฐ, FREE ํจ์ / ์ฝ๋ ๋ฆฌํํ ๋ง ๋ณธ๋ฌธ
[SAP] ALV (4) ์๊ฐ์ ์ ์ด ๊ธฐ๋ฅ - ์ ํธ๋ฑ, ์ปฌ๋ฌ ๊ฐ์กฐ, FREE ํจ์ / ์ฝ๋ ๋ฆฌํํ ๋ง
์ธํฌ๋งํฑ 2025. 3. 28. 15:42SAP์์ ๋ฐ์ดํฐ๋ฅผ ๋ ์ง๊ด์ ์ผ๋ก ์ ๋ฌํ๊ธฐ ์ํด ALV์ ๋ค์ํ ์๊ฐ์ ์ ์ด ๊ธฐ๋ฅ์ ํ์ฉํ ์ ์์ต๋๋ค. ์ด๋ฒ ํฌ์คํ ์์๋ ์ ํธ๋ฑ, ์ปฌ๋ฌ ๊ฐ์กฐ, ์ฒดํฌ๋ฐ์ค ์์ด์ฝ ์ถ๋ ฅ, ๊ทธ๋ฆฌ๊ณ ํ๋ ์นดํ๋ก๊ทธ ์กฐ์์ ํตํด ALV๋ฅผ ๋ ํ๋ถํ๊ฒ ๊ตฌ์ฑํ๋ ๋ฐฉ๋ฒ์ ์ ๋ฆฌํด๋ณด๊ฒ ์ต๋๋ค.
โ ALV ๊ฐ์ฒด ์ ๊ฑฐ - FREE ํจ์
ALV์ Container ๊ฐ์ฒด๋ ํ๋ฉด์ ๋๊ฐ๊ธฐ ์ ๋ฐ๋์ ๋ฉ๋ชจ๋ฆฌ์์ ํด์ ํด์ค์ผ ํฉ๋๋ค. ๊ทธ๋ ์ง ์์ผ๋ฉด BACKํ ๋๋ง๋ค ALV ๊ฐ์ฒด๊ฐ ์ค๋ณต ์์ฑ๋ฉ๋๋ค.
โถ XXXXXI01 (PAI)
PATTERN ์ฌ์ฉํ์ฌ FREE ํจ์ ํธ์ถํฉ๋๋ค.


WHEN 'BACK'.
" 100๋ฒ ํ๋ฉด์์ ์์ฑํ ๊ฐ์ฒด ํ๊ดดํ๊ณ ๋ ๋์ผ ํฉ๋๋ค.
" ALV, Container ๋๊ฐ์ ๊ฐ์ฒด ํ๊ดดํด์ผํ๋ค.
" ํ๊ดด ์์ : ALV -> Container
CALL METHOD go_alv->free. " ALV "
CALL METHOD go_con->free. " Container "
LEAVE TO SCREEN 0.
โ ALV Layout ์ต์ ์ค์
โถ XXXXXO01(PBO)
GS_LAYOUT-CWIDTH_OPT = 'X'. " ์ค ๋ง์ถค
GS_LAYOUT-ZEBRA = 'X'. " ์ผ๋ฃฉ๋ง ํจํด
GS_LAYOUT-GRID_TITLE = 'Flight Connections'.
GS_LAYOUT-TOTALS_BEF = 'X'. " ํฉ๊ณ ์์ ์ถ๋ ฅ
GS_LAYOUT-SEL_MODE = 'A'. " ๋ผ์ธ ์ ํ ๋ชจ๋ (A, D: ๊ฐ๋ฅ)
โถ ํ์ธ

โ ์ ํธ๋ฑ (Threshold) ์ค์
์กฐ๊ฑด๋ณ ์์ ์๊ฐํ 1: ๋นจ๊ฐ์, 2: ์ฃผํฉ์, 3: ์ด๋ก์์ผ๋ก ์ค์ ํฉ๋๋ค.
โถ TOP
TYPES: BEGIN OF GTY_CONN.
INCLUDE TYPE SDYN_CONN.
TYPES LIGHT TYPE C LENGTH 1.
TYPES: END OF GTY_CONN.
DATA GT_CONN TYPE TABLE OF GTY_CONN. "์ ํธ๋ฑ์ ์ํ ์ปฌ๋ผ 1๊ฐ ์ถ๊ฐ
์ธํฐ๋ ํ ์ด๋ธ์ ์ ์ํฉ๋๋ค.
โถ LOOP ๋ด ์กฐ๊ฑด ์ค์
LOOP AT GT_CONN INTO GS_CONN.
IF GS_CONN-distance > 6000.
GS_CONN-light = 1.
ELSEIF GS_CONN-distance > 3000.
GS_CONN-light = 2.
ELSE.
GS_CONN-light = 3.
ENDIF.
MODIFY GT_CONN FROM GS_CONN TRANSPORTING light.
ENDLOOP.
โถ XXXXXO01(PBO) : Layout ์ค์
์ ๊ท๋ก ์ถ๊ฐํ ์ ํธ๋ฑ ์ปฌ๋ผ ์ด๋ฆ์ ALV์๊ฒ ์๋ ค์ค์ผ ํฉ๋๋ค.
GS_LAYOUT-excp_fname = 'LIGHT'.
GS_LAYOUT-excp_led = 'X'. " 1๊ตฌ ์ ํธ๋ฑ
โถ ํ์ธ

โ ํน์ ๋ผ์ธ ์ปฌ๋ฌ ๊ฐ์กฐ
๋ ธ๋์ ๊ฐ์กฐ: ์ ์ธ๊ธฐ(Charter fit)์ธ ๊ฒฝ์ฐ ์ปฌ๋ฌ ๋ถ์ฌ
โถ TOP
TYPES LCOLOR TYPE C LENGTH 4.
โถ XXXXXO01(PBO) : Layout ์ค์
์ ๊ท๋ก ์ถ๊ฐํ ๋ผ์ธ ์ปฌ๋ผ ์ด๋ฆ์ ALV์๊ฒ ์๋ ค์ค์ผ ํฉ๋๋ค.
GS_LAYOUT-info_fname = 'LCOLOR'.
โถ LOOP ๋ด ์กฐ๊ฑด ์ค์
LOOP AT gt_conn INTO gs_conn.
IF gs_conn-distance > 6000.
gs_conn-light = 1.
ELSEIF gs_conn-distance > 3000.
gs_conn-light = 2.
ELSE.
gs_conn-light = 3.
ENDIF.
" ์ ์ธ๊ธฐ(Charter Flight)์ธ ๊ฒฝ์ฐ ๋
ธ๋์์ผ๋ก ์ถ๋ ฅํ๊ธฐ
IF gs_conn-fltype = 'X'.
gs_conn-lcolor = 'C300'.
ENDIF.
MODIFY gt_conn FROM gs_conn
TRANSPORTING light lcolor.
ENDLOOP.
โถ ํ์ธ

โ ALV ๊ธฐ๋ณธ ๋ฒํผ ์จ๊ธฐ๊ธฐ (ํด๋ฐ ์ ์ด)
โถ TOP
DATA GT_EXCLUDED TYPE ui_functions.
โถ XXXXXO01(PBO) : Layout ์ค์
ํด๋ฐ์์ ์จ๊ธธ ๋ฒํผ ์ถ๊ฐํด์ผ ํฉ๋๋ค. ํ๋ฆฐํธ ๋ฒํผ์ ์จ๊ฒจ๋ณด๊ฒ ์ต๋๋ค.
APPEND CL_GUI_ALV_GRID=>MC_FC_PRINT TO GT_EXCLUDED.
โถ SET_TABLE_FOR_FIRST_DISPLAY ์ฐ๊ฒฐ
MODULE init_control OUTPUT.
CALL METHOD go_alv->set_table_for_first_display
EXPORTING
i_structure_name = 'SDYN_CONN'
is_variant = GS_VARIANT
i_save = GV_SAVE
is_layout = GS_LAYOUT
it_toolbar_excluding = GT_EXCLUDED " ์ถ๊ฐ "
CHANGING
it_outtab = gt_conn.
ENDMODULE.
โถ ํ๋ฆฐํธ ๋ฒํผ ๋ณด์ด์ง ์๋ ๊ฒ ํ์ธ

๐ Perform ์ฌ์ฉํ์ฌ ์ฝ๋ ๋ฆฌํํ ๋ง ํ๊ธฐ
โ๏ธ ๊ธฐ์กด ์ฝ๋
โถ XXXXXO01(PBO)
MODULE init_control OUTPUT.
IF GO_CON IS INITIAL.
" Layout ์ค์
GS_LAYOUT-CWIDTH_OPT ='X'. " ์ค ๋ง์ถค
GS_LAYOUT-ZEBRA = 'X'. " ์ผ๋ฃฉ๋ง ๋ ์ด์์ ์ง์
GS_LAYOUT-GRID_TITLE = 'Flight Connections'. "AVL ํ์ดํ
GS_LAYOUT-TOTALS_BEF = 'X'.
GS_LAYOUT-SEL_MODE = 'A'.
GS_LAYOUT-info_fname = 'LCOLOR'.
GS_VARIANT-report = SY-CPROG. " 'ZALV_BASIC_07'
GS_VARIANT-variant = PA_LAY. " ํ๋ฉด์์ ์
๋ ฅ๋ฐ์ ๊ฐ
GV_SAVE = 'A'. "์ผ๋จ A๋ก ๊ณ ์
GS_LAYOUT-excp_fname = 'LIGHT'.
GS_LAYOUT-excp_led = 'X'. " 1๊ตฌ ์ ํธ๋ฑ
APPEND CL_GUI_ALV_GRID=>MC_FC_PRINT TO GT_EXCLUDED.
" ๊ธฐ์กด init_control ๋ชจ๋ "
CREATE OBJECT go_con
EXPORTING
container_name = 'MY_CON'.
CREATE OBJECT go_alv
EXPORTING
i_parent = go_con.
" display_control ๋ชจ๋ "
GS_LAYOUT-CWIDTH_OPT ='X'.
CALL METHOD go_alv->set_table_for_first_display
EXPORTING
i_structure_name = 'SDYN_CONN'
is_variant = GS_VARIANT
i_save = GV_SAVE
is_layout = GS_LAYOUT
it_toolbar_excluding = GT_EXCLUDED
CHANGING
it_outtab = gt_conn.
ENDIF. " ์ถ๊ฐ "
ENDMODULE.
โ๏ธ ์ฝ๋ ๋ฆฌํํ ๋ง
โถ XXXXXO01(PBO)
MODULE init_control OUTPUT.
IF GO_CON IS INITIAL.
" 1. ๊ฐ์ฒด 2๊ฐ ์์ฑํ๋ค.
PERFORM INIT_CONTROL.
" 2. ALV ์ ์ดํ๋ค.
PERFORM SET_ALV.
" 3. ALV ์ถ๋ ฅํ๋ค.
PERFORM DISPLAY_ALV.
ENDIF.
ENDMODULE.
โถ FORM init_control : ๊ฐ์ฒด ALV, Container ์์ฑ ์ญํ
FORM init_control .
CREATE OBJECT go_con
EXPORTING
container_name = 'MY_CON'.
CREATE OBJECT go_alv
EXPORTING
i_parent = go_con.
ENDFORM.
โถ FORM set_alv : ALV ์ ์ด ์ญํ
FORM set_alv .
GS_LAYOUT-CWIDTH_OPT ='X'.
GS_LAYOUT-ZEBRA = 'X'. " ์ผ๋ฃฉ๋ง ๋ ์ด์์ ์ง์
GS_LAYOUT-GRID_TITLE = 'Flight Connections'. "AVL ํ์ดํ
GS_LAYOUT-TOTALS_BEF = 'X'.
GS_LAYOUT-SEL_MODE = 'A'.
GS_VARIANT-report = SY-CPROG. " 'ZALV_BASIC_07'
GS_VARIANT-variant = PA_LAY. " ํ๋ฉด์์ ์
๋ ฅ๋ฐ์ ๊ฐ
GV_SAVE = 'A'. "์ผ๋จ A๋ก ๊ณ ์
" ์ ๊ท๋ก ์ถ๊ฐํ ์ ํธ๋ฑ ์ปฌ๋ผ ์ด๋ฆ์ ALV์๊ฒ ์๋ ค์ฃผ๊ธฐ
GS_LAYOUT-excp_fname = 'LIGHT'.
GS_LAYOUT-excp_led = 'X'. "1๊ตฌ ์ ํธ๋ฑ์ผ๋ก ๋ณ๊ฒฝ.
" ์ ๊ท๋ก ์ถ๊ฐํ ๋ผ์ธ ์ปฌ๋ผ ์ด๋ฆ์ ALV์๊ฒ ์๋ ค์ฃผ๊ธฐ
GS_LAYOUT-info_fname = 'LCOLOR'.
" ํด๋ฐ์์ ์จ๊ธธ ๋ฒํผ ์ถ๊ฐํ๊ธฐ.
APPEND CL_GUI_ALV_GRID=>MC_FC_PRINT TO GT_EXCLUDED.
ENDFORM.
โถ FORM display_alv : ALV ์ถ๋ ฅ ์ญํ
FORM display_alv .
GS_LAYOUT-CWIDTH_OPT ='X'.
CALL METHOD go_alv->set_table_for_first_display
EXPORTING
i_structure_name = 'SDYN_CONN'
is_variant = GS_VARIANT
i_save = GV_SAVE
is_layout = GS_LAYOUT
it_toolbar_excluding = GT_EXCLUDED
CHANGING
it_outtab = gt_conn.
ENDFORM.