✅ ABAP SORT 문 – 내부 테이블 정렬하기
1️⃣ 기본 문법
SORT itab01.
- 내부 테이블 itab01을 오름차순(ascending) 으로 정렬함.
- 기본 키(primary key) 기준으로 정렬됨.b
- 추가 조건이 없는 경우는 기본 정렬 방식으로 작동함.
2️⃣ BY 절을 사용한 정렬
SORT itab01 BY surname.
- surname 필드 기준으로 정렬함.
- 여러 필드로 정렬하고 싶으면 공백으로 필드명만 나열하면 됨.
SORT itab01 BY surname forename.
❌ 쉼표(,) 쓰지 않음!
3️⃣ 언어 특성을 반영한 정렬: AS TEXT
SAP 시스템은 전 세계 언어를 다루기 때문에 정렬 시 언어 특성을 고려할 수도 있어.
SORT itab01 AS TEXT BY surname forename.
- 언어 기준 정렬 적용됨 (예: 독일어 ß, ä 같은 특수문자).
- AS TEXT는 모든 필드에 적용됨.
특정 필드에만 AS TEXT 적용하고 싶다면?
SORT itab01 BY surname forename AS TEXT.
- forename 필드에만 텍스트 정렬 적용됨.
4️⃣ 정렬 방향 지정 – ASCENDING, DESCENDING
SORT itab01 BY surname DESCENDING.
- surname 필드를 기준으로 내림차순 정렬함.
SORT itab01 BY surname ASCENDING.
- 오름차순은 기본값이므로 생략 가능하지만 명시할 수도 있다.
5️⃣ SORT 가능한 테이블 종류
| 테이블 | 종류사용가능여부 | 설명 |
| Standard Table | ✅ 가능 | 꼭 BY절을 사용해야 함 |
| Sorted Table | ✅ 가능 | 기본 키 기준으로 자동 정렬됨 |
| Hashed Table | ❌ 불가능 | 정렬 개념 자체가 없음 (인덱스도 없음) |
🔍 정리 요약
| 기본 정렬 | SORT itab. |
| 특정 필드 기준 정렬 | SORT itab BY surname. |
| 다중 필드 기준 정렬 | SORT itab BY surname forename. |
| 내림차순 정렬 | SORT itab BY surname DESCENDING. |
| 언어 정렬 전체 적용 | SORT itab AS TEXT BY surname forename. |
| 언어 정렬 필드만 적용 | SORT itab BY surname forename AS TEXT. |

'SAP' 카테고리의 다른 글
| easy abap 01. 네이밍 규칙 (0) | 2025.05.07 |
|---|---|
| easy abap 00. 자료형 (0) | 2025.05.06 |
| SAP ABAP Programming for Beginners - 73 Delete (0) | 2025.04.24 |
| SAP ABAP Programming for Beginners - 72 Read (0) | 2025.04.24 |
| SAP ABAP Programming for Beginners - 71 Describe & Insert & modify로 변경이 안되는 점 확인하기 (0) | 2025.04.24 |