✅ 코드 구조

1. 작업에 필요한 워크 에어리어(work area)는 이미 선언됨


DATA wa_employees LIKE zemployees.

2. 첫 번째 INSERT

 
 
wa_employees-employee = '10000006'. 
wa_employees-surname = 'WESTMORE'. 
wa_employees-forename = 'BRUCE'. 
wa_employees-title = 'MR'. 
wa_employees-dob = '19921213'. 


INSERT zemployees FROM wa_employees. 


IF sy-subrc = 0. 
	WRITE 'Record Inserted Correctly'. 
ELSE. 
	WRITE: 'We have a return code of ', sy-subrc. 
ENDIF.
  • 새 직원 'WESTMORE / BRUCE'를 등록함.
  • sy-subrc = 0이면 성공한 거고, 4면 실패 (예: 중복 key)

3. UPDATE 할 값으로 다시 세팅

wa_employees-surname = 'EASTMORE'. wa_employees-forename = 'ANDY'.
 
 
  • 이름만 바꿔줌.
  • employee number는 그대로!
    ➜ 이게 key 역할을 하기 때문에, 이 key로 해당 레코드를 찾아서 나머지를 바꾸는 것!

4. UPDATE 실행

UPDATE zemployees FROM wa_employees. 
IF sy-subrc = 0. 
	WRITE 'Record Updated Correctly'. 
ELSE. 
	WRITE: 'Update Failed. Return code: ', sy-subrc. 
ENDIF.
 
이 구문은 employee가 10000006인 레코드를 찾아서, surname, forename 등을 UPDATE함.

🔍 추가 팁

✨ CLEAR 안 해도 괜찮은 이유

  • 이 예제에서는 모든 필드를 다시 덮어쓰니까, 이전 값이 남아 있을 걱정이 없음
  • 하지만 일부 필드만 바꾼다면, 꼭 CLEAR 해줘야 함!

🧠 UPDATE의 핵심 조건

  • Key 필드 (employee) 가 같아야 하고,
  • 나머지 필드를 바꾸고 싶을 때 사용함.

💡 정리


구문 역할
INSERT 새 레코드 추가
UPDATE 기존 레코드 수정 (Key 기준 찾음)
sy-subrc = 0 성공 여부 확인

+ Recent posts