인터널테이블을 동적으로 구성하기위해..
CREATE_DYNAMIC_TABLE 메소드를 이용하여
인터널테이블을 만들었습니다.
CALL FUNCTION 'LVC_FIELDCATALOG_MERGE'
EXPORTING
I_STRUCTURE_NAME = 'ZSFC_BA_CONTROL2'
CHANGING
CT_FIELDCAT = IT_FIELDCATALOG
EXCEPTIONS
INCONSISTENT_INTERFACE = 1
PROGRAM_ERROR = 2.
CNT = 5.
LOOP AT ITAB_COMPANY.
CLEAR: WA_FIELDCAT.
WA_FIELDCAT-FIELDNAME = ITAB_COMPANY-UORGCD.
ADD 1 TO CNT.
WA_FIELDCAT-COL_POS = CNT.
SELECT SINGLE BUTXT INTO WA_FIELDCAT-TOOLTIP FROM T001
WHERE BUKRS = ITAB_COMPANY-UORGCD.
WA_FIELDCAT-COLTEXT = ITAB_COMPANY-UORGCD.
WA_FIELDCAT-INTLEN = 30.
WA_FIELDCAT-CHECKBOX = 'X'.
WA_FIELDCAT-EDIT = ''.
APPEND WA_FIELDCAT TO IT_FIELDCATALOG.
ENDLOOP.
CALL METHOD CL_ALV_TABLE_CREATE=>CREATE_DYNAMIC_TABLE
EXPORTING
I_STYLE_TABLE = I_STYLE_TABLE
IT_FIELDCATALOG = IT_FIELDCATALOG
I_LENGTH_IN_BYTE = I_LENGTH_IN_BYTE
IMPORTING
EP_TABLE = EP_TABLE
E_STYLE_FNAME = E_STYLE_FNAME.
ASSIGN : EP_TABLE->* TO <TABLE>.
생성된 인터널테이블(<TABLE>) 에 스타일을 적용하고자 합니다.
ex)
LS_CELLTAB-STYLE = CL_GUI_ALV_GRID=>MC_STYLE_ENABLED.
스타일을적용하기위해서는 celltab type lvc_t_styl 필드가 필요하기때문에..
소스 맨위에 ZSFC_BA_CONTROL2 스트럭쳐에 celltab을 추가하여 dynamic internal table을 생성했습니다.
궁금한점은 이렇게 생성된 internal테이블(<TABLE>) 구조를 보니 celltab필드가 보이질않았습니다.
원래 안보이는것인지 모르겠지만......
혹시 다이나믹테이블에 스타일이 적용가능한지 궁금합니다.
혹 적용참고 소스가 있으심 부탁드립니다.
더블클릭시 해당 Row값이 enable되게끔 하고싶습니다.
고수님들 도와주세요