🔥 ABAP DELETE 문이란?
- 데이터베이스 테이블의 레코드를 삭제하는 명령어
- 신중히 써야 해! 잘못 쓰면 테이블 전체 레코드가 삭제될 수도 있음!
✅ 기본 문법
1. 🔸 특정 레코드 삭제 (기본 키 기준)
```
CLEAR wa_employees. wa_employees-employee = '10000007'. " 기본 키만 세팅 DELETE zemployees FROM wa_employees.
```
```
- wa_employees 구조체의 **기본 키 값(employee)**에 해당하는 레코드만 삭제.
- sy-subrc = 0 → 삭제 성공
- sy-subrc ≠ 0 → 실패 (예: 해당 키의 레코드 없음)
2. 🔸 조건 삭제 (WHERE 사용)
abap
CopyEdit
DELETE FROM zemployees WHERE surname = 'BROWN'.
- surname이 'BROWN'인 모든 레코드 삭제
- 여러 개 삭제 가능!
3. 🔥 전부 삭제 (❗주의❗)
abap
CopyEdit
DELETE FROM zemployees.
- 테이블의 모든 레코드 삭제 😱
- 실수로 쓰면 큰 문제가 생길 수 있으니 정말 조심해야함
💡 DELETE 문 흐름 예시
- 기본 키로 삭제
- employee = '10000007' 인 레코드 1개 삭제
- 조건으로 삭제
- surname = 'BROWN' 인 레코드 여러 개 삭제
- 테이블 전체 삭제
- 실습에서는 하지 않았지만, 문법은 존재
📌 리턴 코드 sy-subrc
값 | 의미 |
0 | 삭제 성공 |
4 | 해당 조건의 레코드 없음 |
🚨 주의사항
- 항상 sy-subrc를 체크해서 정상 동작했는지 확인해야함
- DELETE FROM 전체 삭제는 절대 주의!!
- CLEAR 구문으로 워크에어리어 초기화하는 습관도 중요
🧠 결론 요약
- ✅ 기본 키 삭제 → DELETE FROM tab FROM wa
- ✅ 조건 삭제 → DELETE FROM tab WHERE field = 'value'
- ❗ 전체 삭제 → DELETE FROM tab. → 사용 주의!
- ✔ 항상 sy-subrc 체크하기
- ✔ CLEAR 문으로 워크에어리어 초기화 습관 들이기
DELETE FROM ... FROM wa | 특정 키 값 레코드 삭제 |
DELETE FROM ... WHERE | 조건에 해당하는 레코드 삭제 |
DELETE FROM ... | 테이블 전체 삭제 |
✅ 1. 첫 번째 DELETE FROM zemployees FROM wa_empl.
abap
CopyEdit
wa_empl-employee = '1000012'. DELETE zemployees FROM wa_empl.
이 경우는 employee = '1000012' 인 레코드가 실제로 존재해서 삭제 성공했기 때문에
→ sy-subrc = 0이 되는 거야.
즉, 삭제 성공 = sy-subrc가 0
❌ 2. 두 번째 DELETE FROM zemployees WHERE surname = 'BROWN'.
abap
CopyEdit
DELETE FROM zemployees WHERE surname = 'BROWN'.
여기서는 surname = 'BROWN'인 레코드가 존재하지 않았기 때문에,
→ 삭제할 게 없어서 아무 일도 안 일어났고,
→ 그 결과 **sy-subrc = 4**가 된 거야.
🔢 SY-SUBRC 값 정리:
SY-SUBRC 값의미
0 | 작업 성공 (레코드 삭제됨) |
4 | 작업 실패 (삭제할 레코드 없음 등) |
🔢 table entries delete
결과:
- No table entries found for specified key
: 모든 데이터가 사라졌다!
'SAP' 카테고리의 다른 글
SAP ABAP Programming for Beginners - 40 비교연산자 (0) | 2025.04.10 |
---|---|
SAPSAP ABAP Programming for Beginners - 39 IF 조건문 (0) | 2025.04.10 |
SAP ABAP Programming for Beginners - 37 MODIFY문 (0) | 2025.04.10 |
SAP ABAP Programming for Beginners - 36 UPDATE문 (0) | 2025.04.10 |
SAP ABAP Programming for Beginners - 35 Clear문 (0) | 2025.04.10 |