๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿง‘‍๐Ÿ’ผ SAP/ABAP

[SAP ABAP] REUSE_ALV_FIELDCATALOG_MERGE ํ•จ์ˆ˜๋ž€?

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

1. REUSE_ALV_FIELDCATALOG_MERGE ๋ž€?

  • ALV Grid์—์„œ ์‚ฌ์šฉํ•  ํ•„๋“œ ๋ชฉ๋ก์„ ์ž๋™ ์ƒ์„ฑํ•˜๋Š” ํ•จ์ˆ˜
  • ์ธํ„ฐ๋„ ํ…Œ์ด๋ธ”์˜ ํ•„๋“œ ์ •๋ณด(์ด๋ฆ„, ๊ธธ์ด, ํƒ€์ž…)๋ฅผ ์ž๋™์œผ๋กœ ALV์— ๋งž๊ฒŒ ๊ตฌ์„ฑ
  • SAP ํ‘œ์ค€ ALV ํ•จ์ˆ˜ (`REUSE_ALV_GRID_DISPLAY`)์™€ ํ•จ๊ผ ์‚ฌ์šฉ๋จ
๐Ÿ’กํ•„๋“œ ์นดํƒˆ๋กœ๊ทธ(Field Catalog)๋ž€?
ALV์—์„œ ์–ด๋–ค ์ปฌ๋Ÿผ์„ ํ‘œ์‹œํ• ์ง€, ์–ด๋–ค ์†์„ฑ์„ ๊ฐ€์งˆ์ง€(๊ธธ์ด, ์ •๋ ฌ, ์ƒ‰์ƒ, ํŽธ์ง‘ ๊ฐ€๋Šฅ ์—ฌ๋ถ€ ๋“ฑ)๋ฅผ ์ •์˜ํ•˜๋Š” ์ •๋ณด

 

2. ์ฝ”๋“œ ๋ถ„์„

CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
  EXPORTING
    I_PROGRAM_NAME         = SY-REPID
    I_INTERNAL_TABNAME     = P_TABLE
    I_INCLNAME             = SY-REPID
  CHANGING
    CT_FIELDCAT            = G_FIELDCAT_H[]
  EXCEPTIONS
    INCONSISTENT_INTERFACE = 1
    PROGRAM_ERROR          = 2.

 

1) ์ฃผ์š” ํŒŒ๋ผ๋ฏธํ„ฐ

ํŒŒ๋ผ๋ฏธํ„ฐ ์„ค๋ช…
`I_PROGRAM_NAME = SY-REPID` ํ˜„์žฌ ์‹คํ–‰ ์ค‘์ธ ํ”„๋กœ๊ทธ๋žจ ์ด๋ฆ„
`I_INTERNAL_TABNAME = P_TABLE` ํ•„๋“œ ์นดํƒˆ๋กœ๊ทธ๋ฅผ ์ƒ์„ฑํ•  ๋‚ด๋ถ€ ํ…Œ์ด๋ธ” ์ด๋ฆ„
`I_INCLNAME = SY-REPID` ํ˜„์žฌ ํ”„๋กœ๊ทธ๋žจ ๋‚ด์—์„œ ํ•„๋“œ ์ •์˜๋ฅผ ์ฐพ๋„๋ก ์„ค์ •
`CT_FIELDCAT = G_FIELDCAT_H[]` ํ•„๋“œ ์นดํƒˆ๋กœ๊ทธ ํ…Œ์ด๋ธ” (์ถœ๋ ฅ ๊ฒฐ๊ณผ)

 

2) ์‹คํ–‰ ๊ณผ์ • (์ž‘๋™ ์›๋ฆฌ)

  1. ์ธํ„ฐ๋„ ํ…Œ์ด๋ธ”(P_TABLE)์˜ ํ•„๋“œ ์ •๋ณด(์ด๋ฆ„, ํƒ€์ž…, ๊ธธ์ด ๋“ฑ)๋ฅผ ์ž๋™ ์ถ”์ถœ
  2. ALV์— ๋งž๊ฒŒ ํ•„๋“œ ๋ชฉ๋ก(`G_FIELDCAT_H[]`)์„ ์ƒ์„ฑ
  3. ์ดํ›„ `REUSE_ALV_GRID_DISPLAY`์—์„œ `CT_FIELDCAT`์„ ์‚ฌ์šฉํ•˜์—ฌ ALV ํ™”๋ฉด์„ ์ถœ๋ ฅ

โœ… ์ฆ‰, ์ด ํ•จ์ˆ˜๋Š” ์ธํ„ฐ๋„ ํ…Œ์ด๋ธ”์„ ๋ณด๊ณ  ์ž๋™์œผ๋กœ ALV์— ํ•„์š”ํ•œ ์ปฌ๋Ÿผ์„ ๊ตฌ์„ฑํ•ด ์ฃผ๋Š” ์—ญํ• 

 

 

4. ํ•„๋“œ ์นดํƒˆ๋กœ๊ทธ ์—†์ด ์‹คํ–‰ํ•˜๋ฉด?

๋งŒ์•ฝ `REUSE_ALV_FIELDCATALOG_MERGE`๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ  `REUSE_ALV_GRID_DISPLAY`๋ฅผ ์‹คํ–‰ํ•˜๋ฉด ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

ALV๋Š” ํ•„๋“œ ๋ชฉ๋ก์„ ๋ชฐ๋ผ์„œ ์–ด๋–ค ์ปฌ๋Ÿผ์„ ์ถœ๋ ฅํ• ์ง€ ๊ฒฐ์ •ํ•˜์ง€ ๋ชปํ•ฉ๋‹ˆ๋‹ค.

โœ… ์ฆ‰, ์ด ํ•จ์ˆ˜๋Š” ํ•„๋“œ ์นดํƒˆ๋กœ๊ทธ๋ฅผ ์ž๋™์œผ๋กœ ์„ค์ •ํ•˜์—ฌ ALV๊ฐ€ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์‹คํ–‰๋˜๋„๋ก ๋•๋Š” ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค.

 

728x90
๋ฐ˜์‘ํ˜•