오늘은 인터널 테이블의 헤더라인에 대해 한번 알아보겠습니다.
헤더라인은 곧 스트럭처를 말합니다.
즉, 헤더라인이 있는 인터널 테이블은 인터널 테이블 안에 스트럭처를 별도로 하나 가지고 있는 것입니다.
(소스코드 예제)
(소스코드 해석)
먼저 헤더라인이 없는 인터널 테이블은 ' lt_sflight_no_header'로 선언하였고
헤더라인(스트럭처)이 존재하는 인터널 테이블은 ' lt_sflight_with_header'로 선언하였습니다.
이 두 인터널 테이블의 차이점은 내부적으로 스트럭처를 가지고 있느냐 없느냐입니다.
헤더라인이 없는 인터널 테이블의 값을 먼저 한번 보겠습니다.
위에 보시면 아시겠지만 우리가 알고있는 여러행이 존재하는 테이블입니다.
헤더라인이 있는 인터널 테이블의 값을 한번 보겠습니다.
헤더라인이 없는 테이블 형태에다가 스트럭처(=헤더라인)가 하나 더 추가되었습니다.
따라서 헤더라인이 있는 인터널 테이블은 테이블을 생성함과 동시에 그 테이블의 타입을 참조하여 스트럭처도 하나 생성해주는 효과가 있습니다.
두 테이블의 차이점이 가장 크게 와닿는 대표적인 로직은 바로 LOOP문입니다.
위에 보시면 아시겠지만 헤더라인이 없는 인터널 테이블을 LOOP돌리려면 스트럭처를 하나 선언해줘서 담아줘야 하고
( INTO LS_SFLIGHT)
헤더라인이 있는 인터널 테이블은 내부적으로 스트럭처를 하나 가지고 있어 스트럭처를 별도로 선언 할 필요가 없습니다.
헤더라인이 있는 인터널 테이블 내부에서 스트럭처와 테이블의 구분 값은 무엇일까요??
바로 대괄호입니다.
따라서 대괄호를 사용하지않고 테이블명만 적었다면 스트럭처를 뜻하겠죠??
감사합니다.
'- SAP ABAP 구문' 카테고리의 다른 글
SAP ABAP 개념) Call by Value와 Call by Reference 개념은 어디에 사용되는가? (1) | 2024.01.05 |
---|---|
금액 마이너스 부호를 맨 앞으로 옮기기(CLOI_PUT_SIGN_IN_FRONT) (0) | 2023.03.06 |
SY-TABIX와 SY-INDEX의 차이에 대해서 알아보기 (0) | 2022.11.10 |
DO ~ ENDDO 구문 (구구단 출력) (0) | 2022.11.09 |
SAP 시스템 변수 SY (SYST) (0) | 2022.11.09 |