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) ์คํ ๊ณผ์ (์๋ ์๋ฆฌ)
- ์ธํฐ๋ ํ ์ด๋ธ(P_TABLE)์ ํ๋ ์ ๋ณด(์ด๋ฆ, ํ์ , ๊ธธ์ด ๋ฑ)๋ฅผ ์๋ ์ถ์ถ
- ALV์ ๋ง๊ฒ ํ๋ ๋ชฉ๋ก(`G_FIELDCAT_H[]`)์ ์์ฑ
- ์ดํ `REUSE_ALV_GRID_DISPLAY`์์ `CT_FIELDCAT`์ ์ฌ์ฉํ์ฌ ALV ํ๋ฉด์ ์ถ๋ ฅ
โ ์ฆ, ์ด ํจ์๋ ์ธํฐ๋ ํ ์ด๋ธ์ ๋ณด๊ณ ์๋์ผ๋ก ALV์ ํ์ํ ์ปฌ๋ผ์ ๊ตฌ์ฑํด ์ฃผ๋ ์ญํ
4. ํ๋ ์นดํ๋ก๊ทธ ์์ด ์คํํ๋ฉด?
๋ง์ฝ `REUSE_ALV_FIELDCATALOG_MERGE`๋ฅผ ์ฌ์ฉํ์ง ์๊ณ `REUSE_ALV_GRID_DISPLAY`๋ฅผ ์คํํ๋ฉด ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค.
ALV๋ ํ๋ ๋ชฉ๋ก์ ๋ชฐ๋ผ์ ์ด๋ค ์ปฌ๋ผ์ ์ถ๋ ฅํ ์ง ๊ฒฐ์ ํ์ง ๋ชปํฉ๋๋ค.
โ ์ฆ, ์ด ํจ์๋ ํ๋ ์นดํ๋ก๊ทธ๋ฅผ ์๋์ผ๋ก ์ค์ ํ์ฌ ALV๊ฐ ์ฌ๋ฐ๋ฅด๊ฒ ์คํ๋๋๋ก ๋๋ ์ญํ ์ ํฉ๋๋ค.
728x90
๋ฐ์ํ