๐Ÿง‘‍๐Ÿ’ผ SAP/ABAP

[SAP ABAP] Docking Container๋ž€? ๋„ํ‚น ์ปจํ…Œ์ด๋„ˆ ์‚ฌ์šฉ ๋ฐฉ๋ฒ•

Jay Din 2025. 2. 28. 19:13
728x90
๋ฐ˜์‘ํ˜•

1๏ธโƒฃ Docking Container๋ž€?

๐Ÿ“ฆ ํด๋ž˜์Šค๋ช…: CL_GUI_DOCKING_CONTAINER
  • Docking Container ๋Š” SAP GUI ํ™”๋ฉด(Dynpro) ๋‚ด์—์„œ ํŠน์ • ์˜์—ญ์„ ์ฐจ์ง€ํ•˜๋„๋ก ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์ƒ์„ฑํ•˜๋Š” ํด๋ž˜์Šค์ž…๋‹ˆ๋‹ค.
  • Docking Container ์•ˆ์—๋Š” ALV(Grid) ๊ฐ™์€ UI ์š”์†Œ๋ฅผ ์‚ฝ์ž…ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

๐Ÿ”น ์ฃผ์š” ํŠน์ง•

  • SAP ํ™”๋ฉด์˜ ์ขŒ/์šฐ/์ƒ/ํ•˜ ์›ํ•˜๋Š” ์œ„์น˜์— ๋„ํ‚น ๊ฐ€๋Šฅ
  • ์‚ฌ์šฉ์ž๊ฐ€ ํฌ๊ธฐ๋ฅผ ์ง์ ‘ ์กฐ์ ˆํ•  ์ˆ˜ ์žˆ์Œ (Resizable)
  • SAP GUI ํ™”๋ฉด ๋‚ด์—์„œ ALV๋ฅผ ๊ณ ์ •ํ˜•์œผ๋กœ ์ถœ๋ ฅํ•  ์ˆ˜ ์žˆ์Œ
  • ๊ฐ™์€ ํ™”๋ฉด ๋‚ด ์—ฌ๋Ÿฌ ๊ฐœ Docking Container๋„ ์ƒ์„ฑ ๊ฐ€๋Šฅ

 

2๏ธโƒฃ ์™œ Docking Container๋ฅผ ์‚ฌ์šฉํ•˜๋Š”๊ฐ€?

  • ํ•œ ํ™”๋ฉด์—์„œ ์—ฌ๋Ÿฌ ๋ฐ์ดํ„ฐ ๋น„๊ต๋ฅผ ํ•ด์•ผ ํ•  ๋•Œ
  • ALV๋ฅผ SAP GUI ํ™”๋ฉด ์•ˆ์— ๊ณ ์ •ํ˜• ๋ ˆ์ด์•„์›ƒ์œผ๋กœ ๋ณด๊ณ  ์‹ถ์„ ๋•Œ
  • ์‚ฌ์šฉ์ž๊ฐ€ ALV ํฌ๊ธฐ๋ฅผ ์ง์ ‘ ์กฐ์ ˆํ•˜๋„๋ก ๋งŒ๋“ค๊ณ  ์‹ถ์„ ๋•Œ
  • ๋ฉ”์ธ ํ™”๋ฉด ๋‚ด์— ๋ฐ์ดํ„ฐ ์˜์—ญ๊ณผ ์ปจํŠธ๋กค ์˜์—ญ์„ ๊ตฌ๋ถ„ํ•˜๊ณ  ์‹ถ์„ ๋•Œ

 

3๏ธโƒฃ Docking Container์˜ ์ž‘๋™ ์›๋ฆฌ

Docking Container๋Š” ํ™”๋ฉด์— ๋นˆ ์ปจํ…Œ์ด๋„ˆ ๊ณต๊ฐ„์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

์ด ๊ณต๊ฐ„ ์•ˆ์— ALV Grid, Text Editor, Custom Control ๋“ฑ์„ ์‹ฌ์–ด์ฃผ๋ฉด ๋ฉ๋‹ˆ๋‹ค.

SAP๋Š” Docking Container์˜ ๋ถ€๋ชจ๋ฅผ ํ˜„์žฌ ํ”„๋กœ๊ทธ๋žจ/ํ™”๋ฉด์œผ๋กœ ์ธ์‹ํ•˜๊ธฐ ๋•Œ๋ฌธ์—

์–ด๋–ค Dynpro์—์„œ ์‹คํ–‰๋ ์ง€ ๋ฐ˜๋“œ์‹œ ์•Œ๋ ค์ค˜์•ผ ํ•ฉ๋‹ˆ๋‹ค.

 

4๏ธโƒฃ ์ฝ”๋“œ ์ƒ์„ธ ์„ค๋ช…

๐Ÿ“Œ Docking Container ์ƒ์„ฑ

DATA: G_DOCKING_CONTAINER1      TYPE REF TO CL_GUI_DOCKING_CONTAINER.
ํ•ญ๋ชฉ ์„ค๋ช…
TYPE REF TO ์ฐธ์กฐ ๋ณ€์ˆ˜๋กœ ์„ ์–ธํ•œ๋‹ค๋Š” ์˜๋ฏธ (ํด๋ž˜์Šค ์ธ์Šคํ„ด์Šค๋ฅผ ๊ฐ€๋ฆฌํ‚ด)
CL_GUI_DOCKING_CONTAINER SAP GUI์˜ ๋„ํ‚น ์ปจํ…Œ์ด๋„ˆ๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ํ‘œ์ค€ ํด๋ž˜์Šค

 

*&---------------------------------------------------------------------*
*&      Form  CREATE_DOCKING_CONTAINER
*&---------------------------------------------------------------------*
*       text : ALV๋ฅผ ๋„์šธ Docking Container ์ƒ์„ฑ
*----------------------------------------------------------------------*
FORM CREATE_DOCKING_CONTAINER .

  " Create ALV
  CREATE OBJECT G_DOCKING_CONTAINER1
    EXPORTING
      REPID                       = SY-REPID                            " ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์†ํ•  ํ”„๋กœ๊ทธ๋žจ๋ช…
      DYNNR                       = '0100'                              " ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์†ํ•  ์Šคํฌ๋ฆฐ ๋ฒˆํ˜ธ.
      SIDE                        = G_DOCKING_CONTAINER1->DOCK_AT_LEFT  " ํ™”๋ฉด์˜ ์™ผ์ชฝ์— ๋ถ™์ด๊ฒ ๋‹ค
      EXTENSION                   = 3000
    EXCEPTIONS
      CNTL_ERROR                  = 1
      CNTL_SYSTEM_ERROR           = 2
      CREATE_ERROR                = 3
      LIFETIME_ERROR              = 4
      LIFETIME_DYNPRO_DYNPRO_LINK = 5
      OTHERS                      = 6.

  IF SY-SUBRC <> 0.
    MESSAGE 'Docking Container ์ƒ์„ฑ ์‹คํŒจ' TYPE 'E'.
  ENDIF.

ENDFORM.                    " CREATE_DOCKING_CONTAINER
ํŒŒ๋ผ๋ฏธํ„ฐ ์„ค๋ช…
STYLE ์ž์‹ ์ปจํŠธ๋กค(WS_CHILD), SAP GUI ์•ˆ์—์„œ ๋™์ž‘
REPID ํ˜„์žฌ ํ”„๋กœ๊ทธ๋žจ ์ด๋ฆ„
DYNNR ํ™”๋ฉด ๋ฒˆํ˜ธ(Dynpro)
SIDE ๋„ํ‚น ์œ„์น˜ (์ขŒ์ธก, ์šฐ์ธก, ์ƒ๋‹จ, ํ•˜๋‹จ)
LIFETIME ์„ธ์…˜์ด ์ข…๋ฃŒ๋  ๋•Œ ๊ฐ์ฒด๋„ ํ•จ๊ป˜ ์‚ญ์ œ
EXTENSION ์ปจํ…Œ์ด๋„ˆ ํฌ๊ธฐ (ํ”ฝ์…€ ๋‹จ์œ„)
    1. `STYLE = CL_GUI_CONTROL=>WS_CHILD`
      • ๋„ํ‚น ์ปจํ…Œ์ด๋„ˆ์˜ ์Šคํƒ€์ผ์„ ์ž์‹ ์ปจํŠธ๋กค(WS_CHILD)๋กœ ์„ค์ •
      • ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ๋…๋ฆฝ์ ์ธ ๊ฐœ์ฒด๊ฐ€ ์•„๋‹Œ, SAP GUI ํ™”๋ฉด ๋‚ด์—์„œ ๋™์ž‘ํ•˜๋„๋ก ์ง€์ •
      • ์ด ์ฝ”๋“œ๊ฐ€ ์—†์œผ๋ฉด, ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์ œ๋Œ€๋กœ ๋ณด์ด์ง€ ์•Š์„ ์ˆ˜ ์žˆ์Œ.
    2. ` REPID = SY-CPROG`, ` DYNNR = SY-DYNNR`
      • ` REPID = SY-CPROG`: ํ˜„์žฌ ํ”„๋กœ๊ทธ๋žจ์„ ์ปจํ…Œ์ด๋„ˆ์˜ ๋ถ€๋ชจ๋กœ ์„ค์ •
      • ` DYNNR = SY-DYNNR`: ํ˜„์žฌ Dynpro(ํ™”๋ฉด ๋ฒˆํ˜ธ)๋ฅผ ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์†ํ•  ํ™”๋ฉด์œผ๋กœ ์„ค์ •
      • ์ด ์ฝ”๋“œ๊ฐ€ ์—†์œผ๋ฉด, ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์–ด๋А ํ™”๋ฉด์— ๋ฐฐ์น˜ํ• ์ง€ ์‹œ์Šคํ…œ์ด ๋ชจ๋ฆ„ → ์˜ค๋ฅ˜ ๋ฐœ์ƒ ๊ฐ€๋Šฅ!
    3. ` SIDE = G_DOCKING_CONTAINER1->DOCK_AT_LEFT`
      • ์ปจํ…Œ์ด๋„ˆ๋ฅผ ํ™”๋ฉด์˜ ์™ผ์ชฝ์— ๋„ํ‚น
      • ๊ฐ€๋Šฅํ•œ ๊ฐ’:
        • `DOCK_AT_LEFT `→ ์™ผ์ชฝ
        • `DOCK_AT_RIGHT` → ์˜ค๋ฅธ์ชฝ
        • `DOCK_AT_TOP `→ ์œ„์ชฝ
        • `DOCK_AT_BOTTOM `→ ์•„๋ž˜์ชฝ
      • ์ด ์ฝ”๋“œ๊ฐ€ ์—†์œผ๋ฉด, ๊ธฐ๋ณธ๊ฐ’์œผ๋กœ ์„ค์ •๋จ → ํŠน์ • ์œ„์น˜๋ฅผ ์ง€์ •ํ•˜์ง€ ์•Š์œผ๋ฉด ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ํ™”๋ฉด์—์„œ ์•ˆ ๋ณด์ผ ์ˆ˜๋„ ์žˆ์Œ.
    4. ` LIFETIME = CL_GUI_CONTROL=>LIFETIME_IMODE`
      • ์ปจํ…Œ์ด๋„ˆ๊ฐ€ SAP ์„ธ์…˜์ด ์ข…๋ฃŒ๋  ๋•Œ ์ž๋™ ์‚ญ์ œ๋˜๋„๋ก ์„ค์ •
      • `LIFETIME_IMODE` → ์„ธ์…˜์ด ๋๋‚˜๋ฉด ์ปจํ…Œ์ด๋„ˆ๋„ ์‚ญ์ œ๋จ
      • ์ด ์ฝ”๋“œ๊ฐ€ ์—†์œผ๋ฉด, SAP ์„ธ์…˜์ด ์ข…๋ฃŒ๋œ ํ›„์—๋„ ๊ฐ์ฒด๊ฐ€ ๋ฉ”๋ชจ๋ฆฌ์— ๋‚จ์•„์žˆ์„ ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ์Œ.
    5. `EXTENSION = 3000`
      • ์ปจํ…Œ์ด๋„ˆ์˜ ํฌ๊ธฐ(๊ฐ€๋กœ ๋„ˆ๋น„)๋ฅผ 3000 ํ”ฝ์…€๋กœ ์„ค์ •
      • ๊ฐ’์ด ํด์ˆ˜๋ก ์ปจํ…Œ์ด๋„ˆ์˜ ํฌ๊ธฐ๊ฐ€ ์ปค์ง.
      • ์ด ์ฝ”๋“œ๊ฐ€ ์—†์œผ๋ฉด,๊ธฐ๋ณธ๊ฐ’์œผ๋กœ ์ž‘์€ ํฌ๊ธฐ๋กœ ์ƒ์„ฑ๋จ → UI๊ฐ€ ์ œ๋Œ€๋กœ ๋ณด์ด์ง€ ์•Š์„ ์ˆ˜๋„ ์žˆ์Œ.
    6. EXCEPTIONS ์ฒ˜๋ฆฌ
EXCEPTIONS
  OTHERS = 1.
  • ์˜ˆ์™ธ(Exception)๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด OTHERS = 1. → ๋ฌด์กฐ๊ฑด 1๋กœ ์„ค์ •

 

5๏ธโƒฃ Docking Container์˜ ๋ผ์ดํ”„ ์‚ฌ์ดํด

์ปจํŠธ๋กค ์ƒ์„ฑ ์‹œ LIFETIME ๊ฐ’ ์˜๋ฏธ
`CL_GUI_CONTROL=>LIFETIME_IMODE` SAP ์„ธ์…˜ ์ข…๋ฃŒ ์‹œ ์ž๋™ ์‚ญ์ œ
`CL_GUI_CONTROL=>LIFETIME_DEFAULT` ๋ช…์‹œ์ ์œผ๋กœ ์‚ญ์ œํ•˜๊ฑฐ๋‚˜ Dynpro ์ข…๋ฃŒ ์‹œ ์‚ญ์ œ
  • ๋„ํ‚น ์ปจํ…Œ์ด๋„ˆ๋Š” ๋ณดํ†ต SAP ์„ธ์…˜๊ณผ ํ•จ๊ป˜ ์›€์ง์ด๊ธฐ ๋•Œ๋ฌธ์— `LIFETIME_IMODE`๋ฅผ ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉํ•œ๋‹ค.

 

728x90
๋ฐ˜์‘ํ˜•