안녕하세요
alv질문인데요.
지금 alv로 display부분을 만들어 놓은 상태입니다.
근데 필드1 필드2 필드3 필드4
이런식으로 있다면
필드2 와 필드3 사이에 필드를 하나 추가 하고 싶은겁니다.
혹시나 이 필드들을 정의 해놓은 부분이 따로 있는건가요??
댓글 6
-
새로고침
2009.02.07 00:10
-
쭈니
2009.02.07 00:20
답변 감사합니다.
제가 헷갈려서 그런데요
CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
I_PROGRAM_NAME = 'ZPFWF0110'
I_INTERNAL_TABNAME = 'APP_TAB'
I_INCLNAME = 'ZPFWF0110'
CHANGING
CT_FIELDCAT = GT_FIELDCAT.
이 부분인지...
CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = 'ZPFWF0110'
I_CALLBACK_USER_COMMAND = 'USER_COMMAND'
I_CALLBACK_PF_STATUS_SET = 'PF_STATUS_SET'
* i_structure_name = 'REGUH'
IT_FIELDCAT = GT_FIELDCAT[]
IS_LAYOUT = GS_LAYOUT
IS_VARIANT = G_VARIANT
I_SAVE = 'A'
IT_EVENTS = GT_EVENTS[]
TABLES
T_OUTTAB = APP_TAB.
이부분인지 잘 이해가 안가서요.
-
쭈니
2009.02.07 00:32
필드 설정하는 부분을 찾는중인데요
DATA: GT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV.
DATA: LS_FIELDCAT TYPE SLIS_FIELDCAT_ALV.
------------------------------------------------
LS_FIELDCAT-SELTEXT_L = 'Branch'.
LS_FIELDCAT-SELTEXT_M = 'Branch'.
LS_FIELDCAT-SELTEXT_S = 'Branch'.
LS_FIELDCAT-INTTYPE = 'C'.
------------------------------------------------
FORM MODIFY_FCATALOG USING P_FNAME
P_TNAME
P_NAME.
IF NOT P_FNAME IS INITIAL.
LS_FIELDCAT-CFIELDNAME = P_FNAME.
ENDIF.
IF NOT P_TNAME IS INITIAL.
LS_FIELDCAT-CTABNAME = P_TNAME .
ENDIF.
LS_FIELDCAT-REPTEXT_DDIC = P_NAME.
LS_FIELDCAT-SELTEXT_L = P_NAME.
LS_FIELDCAT-SELTEXT_M = P_NAME.
LS_FIELDCAT-SELTEXT_S = P_NAME.
MODIFY GT_FIELDCAT FROM LS_FIELDCAT INDEX SY-TABIX.
--------------------------------------------------------------
이런 부분들이 있네요..
fieldcat으로 시작하는거 찾아보니.. 많네요.
fieldcat이 필드 생성할때 사용하는건가요.
-
Lipton
2009.02.07 00:35
ALV에 사용될 필드를 담는 부분이 Fieldcat입니다.
쭈니님 프로그램에서는 Fieldcat을 가져올때 Merge 펑션을 쓰신다음 APP_TAB에서 통째로 가져오신거죠
이렇게 가져오셨다고 하더라도 ZPFWF0110에 매칭되는 추가하실 필드가 없다면 gt_fieldcat에 app_tab에 담겨있는
필드를 추가하시고 레이아웃에서 순서를 바꿔주셔야 합니다.
또는 merge펑션을 사용안하시고 그냥 하나씩 추가해주셔도 됩니다.
-
쭈니
2009.02.11 03:08
하나씩 추가를 한다는 말씀은
어떻게 되는거죠??
이미 만들어져있는걸 무시하고
제가 다시 하나씩 다시 만들어줘야 한다는 말씀이신가요??
그렇게 한다고 하면, 펑션을 무시하고 만들어야 하는건가요??
이해가 잘 안가서
어떤 방식으로 하면 되는건가요??
-
쭈니
2009.02.12 20:16
여러분들의 도움으로 alv 조금이나마 이해를 하고 있습니다
감사합니다.
근데 아직도 갈길이 멀군요..
정확한 답변은, 소스를 봐야겠지만, alv-reuse라면, 소스중에 fieldcat으로 시작하는 필드 설정 부분이 있을것입니다.
그 부분 찾아서 추가하시면 됩니다.