일반적으로 인터널테이블을 선언한후에 with header line을 붙으면 테이블에 header가 생기는데요...
internal table에 header 유무의 차이점을 알려주세요..아밥 프로그램상에서 header가 있는 테이블은
거의 본적이 없어시리...
댓글 3
-
지의
2007.12.14 01:11
-
윤군친구(bsp개발자)
2007.12.14 02:08
안녕하세요.. 답변드립니다.
먼저 인터널 테이블 , 구조가 아닌 테이블 유형이란게 있습니다.
테이블 유형의경우 인터널 테이블 같이 메모리에 올라가는 인터널 테이블과같지만 해더가 없습니다.(주로 bsp에서 많이 사용).
헤더의 유무라...
예를 하나 들어서 itab을 루프를 돈다고 가정해보세요.
헤더가 있다면 loop at itab. ~~ endloop. 으로 가정한다면 data가 루프돌면서 해더에 올라오기때문에 data를 가공할수 있습니다.
하지만 해더가 없다면.. loop at itab into ls_itab. ~ endloop. 일일이 스트럭처에 넣어서 data를 가공해야하조..
이해가 가세용?^^
-
백혜정
2007.12.14 05:33
SAP의 개발자가 코드 리뷰를 한 적이 있는데, header있는 itab들 모두 갈아 치운 경험이 있습니다.
예전 코드를 모두 볼수 있는 ABAP환경때문에 예전의 좋지않은 코딩 패턴이 아직도 사용되는 점을 SAP도 해결해야할 과제로 생각을 하고있습니다.
자세한 내역은 SDN등에서 coding가이드를 구해서 살펴보시면 될겁니다.
상위 버전에서는 header가 없는 itab만 파라메터로 넘길 수 있는 경우가 많습니다.
그래서 구 버전에서 개발된 코드를 그대로 사용하려면 오류가 발생합니다.
지금부터라도 header가 없는 itab을 사용하는 습관을 들이는 것이 좋습니다.
헤더가 없는 테이블을 거의 본적이 없으실거 같은데 반대로 말씀하시네요.
차이점이라고 하면 헤더 아이템이 하나에 있냐 아니냐의 차이점일 뿐입니다.
사용하기 편리함의 차이라고나 할가요.