๊ด€๋ฆฌ ๋ฉ”๋‰ด

CS Student’s SAP&Tech Journey๐Ÿ’ซ

[SAP] ALV (2) ํ™”๋ฉด ๊ฐฑ์‹  / refresh_table_display ๋ฉ”์„œ๋“œ๋กœ ๋ฐ์ดํ„ฐ ๋ฐ˜์˜ํ•˜๊ธฐ ๋ณธ๋ฌธ

SAP/ALV

[SAP] ALV (2) ํ™”๋ฉด ๊ฐฑ์‹  / refresh_table_display ๋ฉ”์„œ๋“œ๋กœ ๋ฐ์ดํ„ฐ ๋ฐ˜์˜ํ•˜๊ธฐ

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

SAP์—์„œ ALV๋ฅผ ์‚ฌ์šฉํ•˜๋‹ค ๋ณด๋ฉด, ๋‚ด๋ถ€ ํ…Œ์ด๋ธ”์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์ •ํ•œ ํ›„์—๋„ ํ™”๋ฉด์ด ์ž๋™์œผ๋กœ ๋ฐ”๋€Œ์ง€ ์•Š์•„ ๋‹นํ™ฉ์Šค๋Ÿฌ์šธ ๋•Œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ๋ฒ„ํŠผ์„ ๋ˆŒ๋Ÿฌ ํŠน์ • ํ•„๋“œ๋ฅผ ๋ณ€๊ฒฝํ–ˆ๋Š”๋ฐ, ๋ˆˆ์•ž์˜ ALV์—๋Š” ์•„๋ฌด ๋ณ€ํ™”๊ฐ€ ์—†๋‹ค๋ฉด?

์ด๋Ÿฐ ๊ฒฝ์šฐ์— ์‚ฌ์šฉํ•˜๋Š” ๋ฉ”์„œ๋“œ๊ฐ€ ๋ฐ”๋กœ go_alv->refresh_table_display ์ž…๋‹ˆ๋‹ค.

ALV๋Š” ๋‚ด๋ถ€ ํ…Œ์ด๋ธ”(IT)์˜ ๋ณ€๊ฒฝ์„ ์ž๋™์œผ๋กœ ์ถ”์ ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ฆ‰, MODIFY๋กœ ํ…Œ์ด๋ธ” ๊ฐ’์„ ๋ฐ”๊ฟ”๋„ ํ™”๋ฉด์—๋Š” ๋ฐ˜์˜๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ๋ณ„๋„๋กœ ํ™”๋ฉด์„ ๊ฐฑ์‹ ํ•ด์ฃผ๋Š” ๋ฉ”์„œ๋“œ๋ฅผ ์ง์ ‘ ํ˜ธ์ถœํ•ด์ค˜์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์ด๋ฒˆ ํฌ์ŠคํŒ…์—์„œ๋Š” ๋ฒ„ํŠผ์„ ๋ˆŒ๋ €์„ ๋•Œ ALV ํ™”๋ฉด์„ ์ˆ˜๋™์œผ๋กœ ๊ฐฑ์‹ ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์‹ค์Šต์„ ํ†ตํ•ด ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

 

 

๐Ÿ“Œ ์ด๋ฒˆ ํฌ์ŠคํŒ…์˜ ์˜ˆ์ œ๋Š” ์•„๋ž˜ ํฌ์ŠคํŒ…๊ณผ ์ด์–ด์ง‘๋‹ˆ๋‹ค. โฌ‡๏ธ

 

[SAP] ALV (1) ๊ธฐ๋ณธ ๊ฐœ๋… / ๊ฐ์ฒด์ง€ํ–ฅ ALV(CL_GUI_ALV_GRID)๋กœ ํ™”๋ฉด ๊ตฌ์„ฑํ•˜๊ธฐ

SAP ํ™”๋ฉด ๊ฐœ๋ฐœ์„ ํ•˜๋‹ค ๋ณด๋ฉด, ๋‹จ์ˆœํ•œ WRITE ์ถœ๋ ฅ๋งŒ์œผ๋กœ๋Š” ๋ณต์žกํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฌ์šฉ์ž์—๊ฒŒ ๋ช…ํ™•ํžˆ ๋ณด์—ฌ์ฃผ๊ธฐ ์–ด๋ ค์šธ ๋•Œ๊ฐ€ ๋งŽ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿด ๋•Œ ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉ๋˜๋Š” ๋„๊ตฌ๊ฐ€ ๋ฐ”๋กœ ALV (ABAP List Viewer)์ž…๋‹ˆ๋‹ค. AL

informatik.tistory.com

 

 


 

โ“ refresh_table_display ๋ฉ”์„œ๋“œ๋ž€?

go_alv->refresh_table_display ๋ฉ”์„œ๋“œ๋Š” ALV๊ฐ€ ๋ฐ”์ธ๋”ฉํ•˜๊ณ  ์žˆ๋Š” ๋‚ด๋ถ€ ํ…Œ์ด๋ธ”์˜ ๋‚ด์šฉ์ด ๋ณ€๊ฒฝ๋˜์—ˆ์„ ๋•Œ, ์ด๋ฅผ ํ™”๋ฉด์— ๋ฐ˜์˜ํ•ด์ฃผ๋Š” ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค. ๋‹จ์ˆœํžˆ ๋‚ด๋ถ€ ํ…Œ์ด๋ธ”๋งŒ ์ˆ˜์ •ํ•ด์„œ๋Š” ํ™”๋ฉด์ด ๊ฐฑ์‹ ๋˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ๋ฐ˜๋“œ์‹œ ์ด ๋ฉ”์„œ๋“œ๋ฅผ ํ˜ธ์ถœํ•ด ์ฃผ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

 

 

โœ… ์˜ˆ์ œ ์‹œ๋‚˜๋ฆฌ์˜ค

  • ALV์˜ Arrival City(CITYTO) ๊ฐ’์„ ๋ชจ๋‘ 'Incheon' ์œผ๋กœ ๋ฐ”๊พธ๋Š” ๋ฒ„ํŠผ์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค.
  • ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅด๋ฉด ๋‚ด๋ถ€ ํ…Œ์ด๋ธ”์˜ ๊ฐ’์€ ๋ฐ”๋€Œ์ง€๋งŒ, ํ™”๋ฉด์—๋Š” ๋ฐ˜์˜๋˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— refresh_table_display ๋ฉ”์„œ๋“œ๋ฅผ ํ˜ธ์ถœํ•˜์—ฌ ํ™”๋ฉด์„ ๊ฐฑ์‹ ํ•ฉ๋‹ˆ๋‹ค.

 

โ–ถ S100 - GUI Status์— ๋ฒ„ํŠผ ์ถ”๊ฐ€ํ•˜๊ธฐ

โœ”๏ธ Arrival City(CITYTO) ๊ฐ’์„ ๋ชจ๋‘ 'Incheon' ์œผ๋กœ ๋ฐ”๊พธ๋Š” ๋ฒ„ํŠผ์ธ 
INCH ๋ฒ„ํŠผ ์ƒ์„ฑํ•˜๊ธฐ

 

โœ”๏ธ Application Toolbar์— ๋ฒ„ํŠผ ๋ฐฐ์น˜

 

 

 

โ–ถ ALV ๊ฐฑ์‹  ๋ฒ„ํŠผ ๋กœ์ง (INCH ๋ฒ„ํŠผ)

 

โœ”๏ธ PATTERNS - ABAP Objects Patterns - Call Method

 

MODULE user_command_0100 INPUT.
  CASE SY-UCOMM.
    WHEN 'INCH'.
      " MESSAGE
      MESSAGE 'Change Incheon' TYPE 'I'.

      " ALV์˜ ๋ชจ๋“  Arrival City๋ฅผ ์ธ์ฒœ์œผ๋กœ ๋ณ€๊ฒฝํ•œ๋‹ค.
      LOOP AT gt_conn INTO gs_conn.
        gs_conn-cityto = 'Incheon'.
        MODIFY gt_conn from gs_conn.
      ENDLOOP.

      " ALV ํ™”๋ฉด ๊ฐฑ์‹  ๋กœ์ง
      CALL METHOD go_alv->refresh_table_display
*        EXPORTING
*          is_stable      =
*          i_soft_refresh =
        EXCEPTIONS
          finished       = 1
          others         = 2
              .
      IF sy-subrc <> 0.
*       Implement suitable error handling here
      ENDIF.


    WHEN 'BACK'.
      LEAVE TO SCREEN 0.
  ENDCASE.
ENDMODULE.

 

 

โ–ถ refresh_table_display ํŒŒ๋ผ๋ฏธํ„ฐ

  • is_stable
    ์Šคํฌ๋กค๋ฐ” ์œ„์น˜๋ฅผ ์œ ์ง€ํ• ์ง€ ์—ฌ๋ถ€ (X ์„ค์ • ์‹œ ์œ„์น˜ ์œ ์ง€)
  • i_soft_refresh
    ๊ทธ๋ฆฌ๋“œ ์ „์ฒด๋ฅผ ๋‹ค์‹œ ๊ทธ๋ฆฌ์ง€ ์•Š๊ณ  ์†Œํ”„ํŠธํ•˜๊ฒŒ ๊ฐฑ์‹  (์˜ต์…˜)

๋ณดํ†ต EXPORTING์€ ์ƒ๋žตํ•ด๋„ ๋ฌด๋ฐฉํ•˜๋ฉฐ, ๋‹จ์ˆœํžˆ ๋‚ด์šฉ๋งŒ ๋ฐ”๋€Œ๋Š” ๊ฒฝ์šฐ์—๋Š” ๊ธฐ๋ณธ ํ˜ธ์ถœ๋งŒ์œผ๋กœ๋„ ์ถฉ๋ถ„ํ•ฉ๋‹ˆ๋‹ค.

 

 

โ–ถ ํ™•์ธ ๊ฒฐ๊ณผ

๋ฒ„ํŠผ์„ ๋ˆ„๋ฅด๋ฉด ๋‚ด๋ถ€ ํ…Œ์ด๋ธ” gt_conn์˜ cityto ๊ฐ’์ด ๋ชจ๋‘ Incheon์œผ๋กœ ๋ณ€๊ฒฝ๋˜๊ณ , refresh_table_display๋ฅผ ํ†ตํ•ด ALV ํ™”๋ฉด์—๋„ ๊ทธ ๋ณ€ํ™”๊ฐ€ ์ฆ‰์‹œ ๋ฐ˜์˜๋ฉ๋‹ˆ๋‹ค.