🔹 헤더 라인을 사용하는 내부 테이블의 동작 방식
- 헤더 라인이 있는 내부 테이블을 사용할 때는,
- 데이터를 읽을 때: 읽은 레코드는 자동으로 헤더 라인에 저장됨.
- 데이터를 쓸 때: 헤더 라인에 값을 넣고 나서 APPEND 문으로 본문(table body)에 추가함.
🔹 배열 방식으로 한 번에 전체 데이터 가져오기 (Array Fetch)
SELECT * FROM zemployees INTO CORRESPONDING FIELDS OF TABLE itab1.
- SELECT *: zemployees 테이블의 모든 필드를 선택.
- INTO CORRESPONDING FIELDS OF TABLE itab1: 필드 이름이 같은 것끼리 자동 매칭해서 itab1 테이블에 한꺼번에 다 넣음.
- 이건 반복문 없이 한 줄로 한 번에 여러 행을 가져오는 방식이야.
- 이 방법을 Array Fetch 라고 부름.
- itab1 테이블에는 원래 테이블보다 필드가 하나 더 (LOS, 근속연수) 있지만, 그 필드는 기본값 3으로 채워짐.
🔹 루프 + 개별 MOVE 방식 (루프를 돌면서 하나씩 넣기)
SELECT * FROM zemployees. wa-employee = zemployees-employee. wa-surname = zemployees-surname. ... APPEND wa TO itab. ENDSELECT.
- 이 방식은 하나씩 SELECT → MOVE → APPEND하는 방식
- 중요한 점:
- MOVE만 하고 APPEND 안 하면 내부 테이블에 값이 저장되지 않음!
- 그냥 헤더 레코드만 계속 덮어쓰게 됨.
- 그래서 반드시 APPEND itab. 해줘야 함.
- append하면 헤더레코드에 값이 그대로 남기 때문에, 다음 데이터 넣기 전에 CLEAR로 헤더 레코드 초기화하는 것이 안전함.
🔹 핵심 요약
방식 | 설명 |
SELECT ... INTO CORRESPONDING FIELDS OF TABLE | 한 번에 전체 데이터를 내부 테이블에 넣는 방식 (Array Fetch) |
SELECT ... + MOVE + APPEND | 반복문으로 한 줄씩 읽고 옮겨서 넣는 방식 |
헤더 라인 사용 시 | 데이터는 헤더 라인에 들어가므로, APPEND로 테이블 본문에 꼭 추가해야 함 |
'SAP' 카테고리의 다른 글
SAP ABAP PACKAGE SIZE 5 & ULINE 출력 버퍼 (0) | 2025.04.24 |
---|---|
SAP ABAP Programming for Beginners 70 TYPE, LIKE 차이 (0) | 2025.04.24 |
SAP ABAP 코드 정리하기 - 구조체 정의, Internal Table (0) | 2025.04.24 |
SAP ABAP Selection screen Lines & underline & comments/ 프레임만들기 (0) | 2025.04.24 |
SAP ABAP SELECT-OPTIONS 화면 범위 검색 입력 필드 (0) | 2025.04.23 |