SAP/ALV

[SAP] ALV (3) ์‚ฌ์šฉ์ž๋ณ„ ๋ ˆ์ด์•„์›ƒ ์ €์žฅ / Layout Variant ์„ค์ • (IS_VARIANT, I_SAVE)

์ธํฌ๋งˆํ‹ฑ 2025. 3. 28. 14:21

SAP์˜ ALV๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ํ‘œ ํ˜•ํƒœ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ถœ๋ ฅํ•ด์ฃผ์ง€๋งŒ, ์‚ฌ์šฉ์ž๋งˆ๋‹ค ๋ณด๊ณ  ์‹ถ์€ ๋ทฐ๊ฐ€ ๋‹ค๋ฅผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์–ด๋–ค ์‚ฌ์šฉ์ž๋Š” ์ปฌ๋Ÿผ ์ˆœ์„œ๋ฅผ ๋ฐ”๊พธ๊ณ  ์‹ถ๊ณ , ์–ด๋–ค ์‚ฌ์šฉ์ž๋Š” ํŠน์ • ์ปฌ๋Ÿผ๋งŒ ๋ณด๊ณ  ์‹ถ์–ดํ•˜๊ธฐ๋„ ํ•ฉ๋‹ˆ๋‹ค.

์ด๋Ÿด ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ๋ฐ”๋กœ Layout Variant์ž…๋‹ˆ๋‹ค.

Layout Variant๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ์ง์ ‘ ๊ตฌ์„ฑํ•œ ๋ทฐ๋ฅผ ์ €์žฅํ•˜๊ณ , ๋‹ค์Œ์—๋„ ๊ทธ๋Œ€๋กœ ๋ถˆ๋Ÿฌ์™€์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ด์ฃผ๋Š” ๊ธฐ๋Šฅ์œผ๋กœ, SAP ALV์—์„œ ์‹ค๋ฌด์—์„œ ๊ฐ€์žฅ ๋งŽ์ด ์“ฐ์ด๋Š” ์˜ต์…˜ ์ค‘ ํ•˜๋‚˜์ž…๋‹ˆ๋‹ค.

์ด๋ฒˆ ํฌ์ŠคํŒ…์—์„œ๋Š” SET_TABLE_FOR_FIRST_DISPLAY ๋ฉ”์„œ๋“œ์˜ ๋‘ ๊ฐ€์ง€ ํ•ต์‹ฌ ํŒŒ๋ผ๋ฏธํ„ฐ์ธ IS_VARIANT์™€ I_SAVE ๋ฅผ ํ™œ์šฉํ•˜์—ฌ ์‚ฌ์šฉ์ž๊ฐ€ ๋ทฐ๋ฅผ ์ €์žฅํ•˜๊ณ  ๋ถˆ๋Ÿฌ์˜ค๋Š” ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

 


 

โ“ Layout Variant๋ž€?

ALV์—์„œ ์‚ฌ์šฉ์ž๊ฐ€ ์„ค์ •ํ•œ ์ปฌ๋Ÿผ ์ˆœ์„œ, ์ •๋ ฌ, ํ•„ํ„ฐ, ์ˆจ๊น€ ์ปฌ๋Ÿผ ๋“ฑ์„ ์ €์žฅํ•ด๋‘๊ณ , ํ•„์š”ํ•  ๋•Œ๋งˆ๋‹ค ๋ถˆ๋Ÿฌ์˜ฌ ์ˆ˜ ์žˆ๋„๋ก ํ•ด์ฃผ๋Š” ๊ธฐ๋Šฅ์ž…๋‹ˆ๋‹ค. ์‹ค์ œ SAP์˜ ํ‘œ์ค€ ํŠธ๋žœ์žญ์…˜์—์„œ๋„ ๋Œ€๋ถ€๋ถ„ ์ด ๊ธฐ๋Šฅ์ด ์ ์šฉ๋˜์–ด ์žˆ์œผ๋ฉฐ, ALV๋ฅผ ์‹ค๋ฌด์— ์ ์šฉํ•  ๋•Œ ๊ผญ ํฌํ•จํ•˜๋Š” ํŽธ์ž…๋‹ˆ๋‹ค.

 

 

โ–ถ ํด๋ž˜์Šค CL_GUI_ALV_GRID์˜ ๋ฉ”์„œ๋“œ SET_TABLE_FOR_FIRST_DISPLAY ํŒŒ๋ผ๋ฏธํ„ฐ ํ™•์ธํ•˜๊ธฐ

SET_TABLE_FOR_FIRST_DISPLAY ๋ฉ”์„œ๋“œ์˜ ๋‘ ๊ฐ€์ง€ ํ•ต์‹ฌ ํŒŒ๋ผ๋ฏธํ„ฐ์ธ IS_VARIANT์™€ I_SAVE๋ฅผ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด์„œ ํ•ด๋‹น ํŒŒ๋ผ๋ฏธํ„ฐ๋“ค์ด ์–ด๋–ค ํƒ€์ž…์ธ์ง€, ์–ด๋–ป๊ฒŒ ์ „๋‹ฌ๋˜์–ด์•ผ ํ•˜๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. 

 

1๏ธโƒฃ SE24 → CL_GUI_ALV_GRID → ๋ฉ”์„œ๋“œ → SET_TABLE_FOR_FIRST_DISPLAY

 

2๏ธโƒฃ Signature ํƒญ์—์„œ IS_VARIANTI_SAVE ํ™•์ธ

 

3๏ธโƒฃ IS_VARIANT์™€ I_SAVE ํƒ€์ž… ํ™•์ธํ•˜๊ธฐ

IS_VARIANT TYPE DISVARIANT " ๊ตฌ์กฐ์ฒด
I_SAVE     TYPE CHAR01     " ๋ฌธ์ž 1์ž๋ฆฌ

์ด์ฒ˜๋Ÿผ ์ง์ ‘ ํƒ€์ž…์„ ํ™•์ธํ•˜๋ฉด ์„ ์–ธ ์‹œ ํ—ท๊ฐˆ๋ฆด ์ผ์ด ์—†์Šต๋‹ˆ๋‹ค.

 

โ–ถ  TOP ( IS_VARIANT, I_SAVE ๋ณ€์ˆ˜ ์„ ์–ธ)

DATA gs_variant TYPE disvariant.
DATA gv_save    TYPE char01.

TOP์— Variant ์„ค์ •์„ ์œ„ํ•œ ๊ตฌ์กฐ์ฒด์™€ ์ €์žฅ ์˜ต์…˜์„ ์„ ์–ธํ•ฉ๋‹ˆ๋‹ค.

 

โ–ถ  TOP :  ํ™”๋ฉด์— ์‚ฌ์šฉ์ž ๋ ˆ์ด์•„์›ƒ ์ด๋ฆ„์„ ์ž…๋ ฅ๋ฐ›๊ธฐ

์‚ฌ์šฉ์ž๊ฐ€ ๋ถˆ๋Ÿฌ์˜ฌ Variant ์ด๋ฆ„์„ ์ง์ ‘ ์ž…๋ ฅํ•  ์ˆ˜ ์žˆ๋„๋ก Selection Screen์— ์•„๋ž˜์™€ ๊ฐ™์€ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.

PARAMETERS pa_lay TYPE disvariant-variant.

 

โ–ถ ์‚ฌ์šฉ์ž Layout ์ •๋ณด๋ฅผ ALV์— ์ „๋‹ฌ

SET_TABLE_FOR_FIRST_DISPLAY ํ˜ธ์ถœ ์ „์— ์•„๋ž˜์ฒ˜๋Ÿผ Layout ์ •๋ณด๋ฅผ ์ฑ„์›Œ์„œ ๋„˜๊ฒจ์ค๋‹ˆ๋‹ค.

MODULE init_control OUTPUT.

    GS_VARIANT-report = SY-CPROG. " ํ˜„์žฌ ํ”„๋กœ๊ทธ๋žจ ์ด๋ฆ„ (ํ•„์ˆ˜) "
    GS_VARIANT-variant = PA_LAY. "  ํ™”๋ฉด์—์„œ ์ž…๋ ฅ๋ฐ›์€ ์‚ฌ์šฉ์ž๊ฐ€ ์„ ํƒํ•œ ๋ทฐ ์ด๋ฆ„
    GV_SAVE = 'A'. "์ผ๋‹จ A๋กœ ๊ณ ์ •
    
ENDMODULE.

 

โœ”๏ธ SAVE ์ €์žฅ ์˜ต์…˜ ์˜๋ฏธ ์ •๋ฆฌ

๊ฐ’ ์˜๋ฏธ
U ๋งŒ๋“  ์‚ฌ๋žŒ(๋ณธ์ธ)๋งŒ ์‚ฌ์šฉ ๊ฐ€๋Šฅ
X ๋งŒ๋“  ์‚ฌ๋žŒ ์™ธ ๋ชจ๋“  ์‚ฌ์šฉ์ž ์‚ฌ์šฉ ๊ฐ€๋Šฅ
A ๋งŒ๋“  ์‹œ์ ์— U ๋˜๋Š” X๋ฅผ ์„ ํƒ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•จ (โœ… ๊ฐ€์žฅ ์œ ์—ฐํ•จ)

 

โ–ถ XXXXXO01(PBO) : ALV ํ˜ธ์ถœ ์‹œ ์ ์šฉ

MODULE init_control OUTPUT.
  IF GO_CON IS INITIAL. 
    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 " is_variant ์ถ”๊ฐ€ "
        i_save           = GV_SAVE " i_save ์ถ”๊ฐ€ "
        is_layout        = GS_LAYOUT
      CHANGING
        it_outtab = gt_conn.



  ENDIF.
ENDMODULE.

 

โ–ถ ๋ทฐ ์ €์žฅ ๋ฐ ๋ถˆ๋Ÿฌ์˜ค๊ธฐ ํ™”๋ฉด

 โœ”๏ธ๋‚ด๊ฐ€ ์›ํ•˜๋Š” ํ˜•ํƒœ๋กœ Layout ๋ณ€๊ฒฝ

 

โœ”๏ธ ALV ์šฐ์ธก ์ƒ๋‹จ 'Layout ์ €์žฅ' ์•„์ด์ฝ˜ ํด๋ฆญ

 

โœ”๏ธ ์ด๋ฆ„ ์ž…๋ ฅ ํ›„ ์ €์žฅ

 

โœ”๏ธ์ €์žฅ๋œ Layout์€ ๋‹ค์Œ ํ˜ธ์ถœ ์‹œ ๋ถˆ๋Ÿฌ์˜ฌ ์ˆ˜ ์žˆ์Œ