alv 구현시 fieldcat 선언할 때
책에는
l_pos = l_pos + 1.
CLEAR fieldcat_ln.
fieldcat_ln-col_pos = l_pos.
fieldcat_ln-key = 'X'.
fieldcat_ln-fieldname = 'BUKRS'.
fieldcat_ln-reptext_ddic = '회사코드'.
APPEND fieldcat_ln TO fieldcat.
l_pos = l_pos + 1.
CLEAR fieldcat_ln.
fieldcat_ln-col_pos = l_pos.
fieldcat_ln-key = 'X'.
fieldcat_ln-fieldname = 'GJAHR'.
fieldcat_ln-reptext_ddic = '회계연도'.
APPEND fieldcat_ln TO fieldcat.
이런식으로
저희 시스템에는
'S' 'CLASS' ' ',
' ' 'KEY' 'X',
' ' 'SELTEXT_M' '상태',
'E' 'DDICTXT' 'M',
'S' 'BELNR' ' ',
' ' 'KEY' 'X',
' ' 'SELTEXT_M' '원전표번호',
'E' 'DDICTXT' 'M',
이런식으로 setting되어 있는데..
어떻게 이런식으로 setting이 가능한지 알고 싶습니다.
다른곳에 질문 드렸었는데 이해가 잘 안되네요..
댓글 4
-
Giant
2008.11.07 19:57
-
아상
2008.11.07 22:36
시스템 찾아보니 GIANT님이 작성하신 것과 똑같은 것이 있더군요.
이렇게 봐도 어떻게 저렇게 쓰이는지는 이해가 안되지만 무엇이 저렇게 만드는지는 알게 되었네요
나머지는 제 몫이겠죠? ㅎㅎ
그런데 말이죠 위에 소스가 표준적인거에서 약간 변경을 한거라고 말슴하셨는데 그럼 GIANT님이 예제주신
FIELD-SYMBOL 이용하는거 말고 다른 방법이 또 있나요?
선처바랍니다~
-
Giant
2008.11.08 00:00
다른 방법은 하나 더 있는데 펑션을 상용하는 것입니다.
이것은 customizing이 안되서 database의 fieldcatalog을 직접 가져오는것입니다.
아래의 소스를 참조 하십시요!
pt_fieldcat TYPE lvc_t_fcat.
CALL FUNCTION 'LVC_FIELDCATALOG_MERGE'
EXPORTING
i_structure_name = 'SFLIGHT'
CHANGING
ct_fieldcat = pt_fieldcat[]
EXCEPTIONS
inconsistent_interface = 1
program_error = 2
OTHERS = 3.
IF sy-subrc <> 0.
*--Exception handling
ENDIF.
도움이 되길 바랍니다.
-
아상
2008.11.08 00:34
감사합니다
아상군씨가 예기한것 잘 알겠습니다. 책에서는 표준적으로 씌여졌습니다.
그리고 아상군씨의 시스템에서는 표준형식을 약간 변경 한것입니다.
저의 판단이 틀리지 않았더라면 아상군씨의 시스템에서는 FIELD-SYMBOLES의 형식을 사용했을것입니다.
'S'는 START라는 표시고 'E'는 END라는 표시 입니다. (아래의 코드는 제가 사용 한것입니다. 도움이 되길 바랍니다.)
PERFORM FILL_FIELD_CATEGORY USING:
'S' 'COL_POS' '01',
' ' 'FIELDNAME' 'EBELN',
' ' 'KEY' 'X',
' ' 'EMPHASIZE' ' ',
' ' 'JUST' 'L',
' ' 'OUTPUTLEN' '10',
' ' 'DATATYPE' 'CHAR',
' ' 'REPTEXT' TEXT-001,
' ' 'DO_SUM' ' ' ,
'E' 'F4AVAILABL' 'X'.
FORM FILL_FIELD_CATEGORY USING P_SECTION P_FNAME P_VALUE.
DATA L_COL(40).
FIELD-SYMBOLS <L_FS>.
IF P_SECTION = 'S'.
CLEAR GS_FIELDCAT1.
ENDIF.
CONCATENATE 'GS_FIELDCAT1-' P_FNAME INTO L_COL.
ASSIGN (L_COL) TO <L_FS>.
MOVE P_VALUE TO <L_FS>.
IF P_SECTION = 'E'.
APPEND GS_FIELDCAT1 TO GT_FIELDCAT1.
ENDIF.
ENDFORM. " fill_field_category
답변이 되였는지 모르겠네요! 그럼,오늘도 좋은 하루 되세요!