*&---------------------------------------------------------------------*
*& Report  Z_OPENSQL_1                                                 *
*&---------------------------------------------------------------------*
*& Demonstrates INSERT with Open SQL and SY-SUBRC check
*&---------------------------------------------------------------------*

REPORT  z_opensql_1.

* Work area 선언
DATA wa_employees LIKE zemployees.

* 데이터 채우기
wa_employees-employee = '10000006'.
wa_employees-surname = 'WESTMORE'.
wa_employees-forename = 'BRUCE'.
wa_employees-title = 'MR'.
wa_employees-dob = '19921213'.

* INSERT 구문 실행
INSERT zemployees FROM wa_employees.

* 결과 확인
IF sy-subrc = 0.
  WRITE 'Record Inserted Correctly'.
ELSE.
  WRITE: 'We have a return code of ', sy-subrc.
ENDIF.

💡 보충 설명:

  • wa_employees는 테이블 구조와 동일한 레코드 단위 메모리 공간
  • INSERT 구문으로 테이블에 데이터를 넣고,
  • sy-subrc = 0이면 성공적으로 삽입된 것!
  • 실패 시에는 실패 코드(sy-subrc)를 출력

 

💡 Work Area란?

**Work Area(워크 에어리어)**는 ABAP에서 내가 작업할 데이터를 임시로 저장해두는 메모리 공간

  • 쉽게 말해, "하나의 레코드(한 줄)"를 담을 수 있는 변수라고 생각하면됨!
  • 보통 테이블 구조와 동일하게 만들어서, 테이블에 값을 넣거나, 테이블에서 값을 가져와서 사용하는 데 쓰임.

📦 예시로 이해하기

예를 들어 zemployees라는 테이블이 이렇게 생겼다고 해볼게요:


EMPLOYEE SURNAME FORENAME TITLE DOB
10000006 WESTMORE BRUCE MR 19921213

이 한 줄을 담을 수 있는 그릇이 바로 Work Area!

 
DATA wa_employees LIKE zemployees.

 

📝 결과

+ Recent posts