인터널 테이블의 컬럼수 알아오는 방법이 없나요?
제가 인터널 테이블의 컬럼 수 만큼 LOOP를 돌려야 하는데.
어떤 테이블으 5개이고 어떤 테이블은 10개라서
컬럼수를 알아와서 처리를 해야 합니다.
고수님들의 조언을 듣고싶습니다.
댓글 6
-
빠코
2008.11.06 20:39
DESCRIBE TABLE itab [KIND knd] [LINES lin] [OCCURS n]. -
k.sense
2008.11.06 22:17
꼭 5번 10번 고정되어 있나요?
Data l_lines type sy-tabix.
l_lines = LINES( gt_itab ).
DO l_lines.
..
ENDDO.
하셔도 될 것 같아요.-
-
궁그미
2008.11.07 17:39
흠....
두분의 말씀은 ROW의 수를 알아내는 방법인것 같은데요....
저는 Column의 수를 알고 싶은데요...ㅡㅜ''
다시 한번더 말씀을 해주세요...
감사합니다.
-
띵호아빠
2008.11.07 17:54
data: l_lines type i.
CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
I_PROGRAM_NAME = GV_REPID "sy-repid
I_INTERNAL_TABNAME = 'GT_DISP' "Internal table
I_INCLNAME = GV_REPID "sy-repid
CHANGING
CT_FIELDCAT = GT_FIELD[] "Internal Table의 layout 이 저장되는 Internal table
EXCEPTIONS
INCONSISTENT_INTERFACE = 1
PROGRAM_ERROR = 2.
이렇게 한후,
l_lines = lines( gt_field ).
하면, internal table의 zjffja rottnrk l_lines 에 들어옵니다.
즐밥하시고, 즐거운 하루되세요 ^^
-
아밥퍼
2008.11.07 18:03
** DB 에 존재하는 테이블이면
describe field <f> type l_type components l_cnt.
** 스트럭쳐 또는 헤더라인을 가지는 인터널테이블인 경우
do.
assign component sy-index of structure itab to <f>.
if sy-subrc <> 0.
exit.
endif.
enddo.
추가적인 내용은 F1 헬프 이용하시면 도움이 되실겁니다.
-
궁그미
2008.11.08 03:40
답변주신분들께 모두 감사드립니다.