딕셔너리에 있는 테이블만 가능함. itab 불가
FORM set_fcat_layout .
gs_layout-zebra = 'X'.
gs_layout-cwidth_opt = 'A'.
gs_layout-sel_mode = 'D'.
gs_layout-grid_title = TEXT-t02.
gs_layout-smalltitle = 'X'.
gs_layout-stylefname = 'STYLE'.
gs_stable-row = 'X'.
gs_stable-col = 'X'.
"==================================================
" FCAT 생성 (DDIC 기준)
"==================================================
CALL FUNCTION 'LVC_FIELDCATALOG_MERGE'
EXPORTING
i_structure_name = 'ZC505T0047'
CHANGING
ct_fieldcat = gt_fcat.
"==================================================
" FCAT 후처리 (기존 make_fcat 로직 대체)
"==================================================
LOOP AT gt_fcat ASSIGNING FIELD-SYMBOL(<fs_fcat>).
CASE <fs_fcat>-fieldname.
WHEN 'MATNR' OR 'WERKS'
OR 'STLAN' OR 'STLNR' OR 'STLAL'.
<fs_fcat>-key = 'X'.
<fs_fcat>-edit = space.
WHEN 'LOSBS' OR 'LOSVN'.
<fs_fcat>-edit = 'X'.
<fs_fcat>-qfieldname = 'BMEIN'.
WHEN 'BMEIN'.
<fs_fcat>-edit = space.
ENDCASE.
ENDLOOP.
ENDFORM.
FORM set_fcat_layout .
DATA ls_fcat TYPE lvc_s_fcat.
gs_layout = VALUE #(
zebra = 'X'
cwidth_opt = 'A'
sel_mode = 'D'
grid_title = TEXT-t01
smalltitle = 'X'
).
gs_stable = VALUE #(
row = 'X'
col = 'X'
).
CALL FUNCTION 'LVC_FIELDCATALOG_MERGE'
EXPORTING
i_structure_name = 'ZC505T0048'
CHANGING
ct_fieldcat = gt_fcat.
LOOP AT gt_fcat ASSIGNING FIELD-SYMBOL(<fs_fcat>).
CASE <fs_fcat>-fieldname.
WHEN 'AUFNR'. "핫스팟 (예: 생산오더 클릭)
<fs_fcat>-hotspot = 'X'.
<fs_fcat>-coltext = 'Production Order'.
WHEN 'ERDAT' OR 'ERZET' OR 'ERNAM' OR 'AEDAT' OR 'AEZET' OR 'AENAM'.
<fs_fcat>-no_out = 'X'.
ENDCASE.
ENDLOOP.
gt_fcat = VALUE #( BASE gt_fcat
( key = 'X'
fieldname = 'ICON'
coltext = 'ICON'
col_pos = 1
icon = 'X')
).
ENDFORM.'ABAP' 카테고리의 다른 글
| CALL FUNCTION 'RP_LAST_DAY_OF_MONTHS' 말일 계산 FUNCTION (0) | 2026.05.16 |
|---|---|
| [ABAP] ALV TREE , EVENT (0) | 2026.05.09 |
| [ABAP] FCAT 필드 값 바꾸기 (0) | 2026.04.19 |
| CL_GUI_TIMER - 타이머 이벤트 (0) | 2026.04.12 |
| [FI] 환율 API 프로그램 (0) | 2026.04.04 |