HEADER LINE 실무 개념 정리
✅ HEADER LINE
개요
- ABAP에서
WITH HEADER LINE은 내부 테이블 선언 시 한 줄짜리 구조체(워크 에어리어)를 함께 생성하는 구식 문법이다.
이로 인해 내부 테이블과 해당 구조체를 동일한 변수명으로 접근하게 되어, 코드가 암묵적으로 동작하고 유지보수 시 혼란이 발생할 수 있다.
- ABAP에서
SAP ABAP Style Guide에서는
WITH HEADER LINE을 비권장(deprecated) 문법으로 분류함- 구조체인지 테이블인지 명확하지 않아 가독성 저하
- 객체지향 개발 방식과 호환되지 않으며, 최근 SAP 시스템에서는 사용 자체가 제한됨
- 표준 함수, 메서드, 클래스 내에서는 대부분 사용 불가
HEADER LINE의 정의
DATA: it_customer TYPE STANDARD TABLE OF zcustomer WITH HEADER LINE. " 1. it_customer[] → 내부 테이블 (Body), 실제 데이터 저장소 " 2. it_customer → 한 줄짜리 구조체 (Header)HEADER LINE 방식(구식)
DATA: it_customer TYPE STANDARD TABLE OF zcustomer WITH HEADER LINE. READ TABLE it_customer WITH KEY customer_id = 'C001'. WRITE: it_customer-name. "구조체처럼 바로 사용"명시적 워크에어리어 방식(현대적)
DATA: lt_customer TYPE STANDARD TABLE OF zcustomer, ls_customer TYPE zcustomer. READ TABLE lt_customer INTO ls_customer WITH KEY customer_id = 'C001'. WRITE: ls_customer-name.
✅ 정리 요약표
| 구분 | HEADER LINE 방식 | 명시적 워크에어리어 방식 |
|---|---|---|
| 구조체 명시 여부 | ❌ 암묵적 | ✅ 명시적 |
| 코드 가독성 | ❌ 낮음 | ✅ 높음 |
| 디버깅/유지보수 용이성 | ❌ 어려움 | ✅ 쉬움 |
| 객체지향 사용 가능 여부 | ❌ 불가 | ✅ 가능 |
| SAP Style Guide 권장 여부 | ❌ 비권장 | ✅ 권장 |
*잘못된 부분이 있다면 댓글 부탁드려요~
'SAP > ABAP' 카테고리의 다른 글
| [SAP ABAP] FIELD-SYMBOLS vs. DATA (0) | 2025.07.22 |
|---|---|
| [SAP ABAP] LOOP AT vs. READ TABLE (0) | 2025.07.21 |
| [SAP ABAP] READ TABLE WITH BINARY SEARCH (2) | 2025.07.17 |
| [SAP ABAP] SELECT SINGLE vs. SELECT ... UP TO 1 ROWS (0) | 2025.07.15 |
| [SAP ABAP] FOR ALL ENTRIES vs. JOIN (0) | 2025.07.14 |