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

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

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

1๏ธโƒฃ REUSE_ALV_FIELDCATALOG_MERGE ๋ž€?

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

 

2๏ธโƒฃ ์ฝ”๋“œ ๋ถ„์„

  CLEAR : G_FIELDCAT_H[], G_FIELDCAT_H.
  • `G_FIRELDCAT_H` : ALV ํ•„๋“œ์นดํƒˆ๋กœ๊ทธ๋ฅผ ์ €์žฅํ•˜๋Š” ๊ธ€๋กœ๋ฒŒ ์ธํ„ฐ๋„ ํ…Œ์ด๋ธ”.
  • `CLEAR G_FIELDCAT_H[]` : ๊ธฐ์กด ํ•„๋“œ์นดํƒˆ๋กœ๊ทธ๋ฅผ ๋น„์›Œ์ฃผ๋Š” ์ดˆ๊ธฐํ™” ์ž‘์—….

 

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` ALV๋กœ ์ถœ๋ ฅํ•  ์ธํ„ฐ๋„ ํ…Œ์ด๋ธ”์˜ ์ด๋ฆ„(๊ตฌ์กฐ)
`I_INCLNAME` ํ•„๋“œ ๊ตฌ์กฐ๊ฐ€ ์„ ์–ธ๋œ Include ์ด๋ฆ„. ๋ณดํ†ต SY-REPID์™€ ๊ฐ™๊ฒŒ ์„ค์ •.
`CT_FIELDCAT` ํ•„๋“œ์นดํƒˆ๋กœ๊ทธ๊ฐ€ ์ €์žฅ๋  ํ…Œ์ด๋ธ”. ALV ํ•„๋“œ ์ •์˜๋“ค์ด ๋‹ด๊น€.
` INCONSISTENT_INTERFACE` ์ธํ„ฐ๋„ ํ…Œ์ด๋ธ” ๊ตฌ์กฐ์™€ ์‹ค์ œ ์„ ์–ธ์ด ์ผ์น˜ํ•˜์ง€ ์•Š์„ ๊ฒฝ์šฐ.
` PROGRAM_ERROR` ํ”„๋กœ๊ทธ๋žจ ๋‚ด๋ถ€ ๋ฌธ์ œ.

 

2) ์ž‘๋™ ์›๋ฆฌ

  1. `REUSE_ALV_FIELDCATALOG_MERGE` ๋ฅผ ํ˜ธ์ถœํ•˜๋ฉด
  2. SAP `P_TABLE` ์ด๋ฆ„์˜ ์ธํ„ฐ๋„ ํ…Œ์ด๋ธ” ๊ตฌ์กฐ๋ฅผ ์กฐํšŒํ•ด์„œ
  3. ํ…Œ์ด๋ธ”์˜ ํ•„๋“œ๋ช…, ๋ฐ์ดํ„ฐ ํƒ€์ž…, ๊ธธ์ด ๋“ฑ์„ ์ฝ๊ณ 
  4. ALV์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ํ•„๋“œ์นดํƒˆ๋กœ๊ทธ๋ฅผ `G_FIELDCAT_H[]`์— ์ž๋™ ์ƒ์„ฑํ•ด์คŒ.

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

 

3๏ธโƒฃ ์–ธ์ œ ์“ฐ๋Š”๊ฐ€?

  • ๊ธฐ๋ณธ ALV ํ‘œ์ค€ ํ™”๋ฉด์„ ๋นจ๋ฆฌ ๋„์›Œ์•ผ ํ•  ๋•Œ.
  • ํ•„๋“œ์นดํƒˆ๋กœ๊ทธ๋ฅผ ์ผ์ผ์ด ์ž‘์„ฑํ•˜๊ธฐ ๊ท€์ฐฎ์„ ๋•Œ.
  • ์ธํ„ฐ๋„ ํ…Œ์ด๋ธ”์ด ์ž˜ ์ •์˜๋˜์–ด ์žˆ๊ณ , ํ•„๋“œ๋ช…-๋„๋ฉ”์ธ-๋ฐ์ดํ„ฐ์š”์†Œ๊ฐ€ SAP ํ‘œ์ค€๋Œ€๋กœ ์ž˜ ์—ฐ๋™๋˜์–ด ์žˆ์„ ๋•Œ.

 

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

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

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

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

 

728x90
๋ฐ˜์‘ํ˜•