CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
i_program_name = sy-repid
i_internal_tabname = itab ------------->이부분
i_inclname = sy-repid
i_structure_name = 'MARC' ----------->이부분
* i_client_never_display = 'X'
CHANGING
ct_fieldcat = gv_field[].
ALV에서 필드카탈로그를 생성해주는 펑션으로 알고있는대여,, 인터널테이블을 변수로 넣어주는 부분과(itab)
구조체를 변수로 넣어주는 부분('MARC')부분이 있는데, 이 두 변수가 각각 어떤 역할을 하는지 좀 궁굼해서여
그리고 인터넬테이블 변수부분 주석처리하면 데이타는 나오고,, 구조체처리한 부분 주석 처리하면 안나오고,
테스트도 해보긴 했는데 초보자라서 정확히 감이 잘안오네여...;
답변 주시면 고맙겠습니다 ^^
둘중에 하나만 사용하면 됩니다...두개다 있을 필요는 없구요..
i_internal_tabname 은 프로그램 소스에서 정의된 인터널테이블의 필드 속성들을 가져와서 fieldcatalog를
생성해 주고요.
i_structure_name 는 abap dictionary의 필드 속성들을 가져와서 fieldcatalog를 생성해 주는것 같습니다.(이부분은 se11에서
정의된 테이블이나 구조만 가져오는것 같습니다)
프로그램 하다 보니까..그렇게 되어 있는것 같아서요..
그래서 보통 프로그램 소스에서 정의한 인터널테이블의 내용을 보여 줄때 i_internal_tabname을 사용하구요
se11에서 정의된 것은 i_structure_name 을 이용해서 프로그램을 작성하게 됩니다.
즐밥하세요