데이터 오브젝트는 프로그램에서 실제로 사용되는 변수를 말한다. 데이터 오브젝트는 선언된 데이터 타입을 기반으로 한다.
DATA: lv_name TYPE ty_char10, " 10자리 문자형 변수 선언
lv_age TYPE i. " 정수형 변수 선언DATA: ls_person TYPE ty_person. " ty_person 구조체 타입의 변수 선언DATA: lt_person TYPE ty_person_table, " ty_person_table 타입의 내부 테이블 선언
ls_person_line TYPE ty_person. " ty_person 구조체 타입의 라인 변수 선언CONSTANTS: lc_max_value TYPE i VALUE 100. " 정수형 상수 선언 및 초기값 100 할당lv_name = 'John Doe'. " lv_name 변수에 'John Doe' 값 할당
lv_age = 30. " lv_age 변수에 30 값 할당ls_person-name = 'Jane Doe'. " ls_person 구조체의 name 필드에 'Jane Doe' 값 할당
ls_person-age = 25. " ls_person 구조체의 age 필드에 25 값 할당APPEND ls_person TO lt_person. " ls_person 구조체를 lt_person 내부 테이블에 추가
LOOP AT lt_person INTO ls_person_line. " lt_person 내부 테이블의 각 라인을 ls_person_line 변수에 읽어오기
WRITE: / ls_person_line-name, ls_person_line-age. " 읽어온 라인의 name 및 age 필드를 출력
ENDLOOP.FIELD-SYMBOLS: <fs_person> TYPE ty_person. " ty_person 타입의 필드 심볼 선언
ASSIGN ls_person TO <fs_person>. " ls_person 구조체를 <fs_person> 필드 심볼에 할당
IF sy-subrc = 0. " 할당 성공 시
WRITE: / <fs_person>-name, <fs_person>-age. " <fs_person> 심볼을 통해 name 및 age 필드 값을 출력
ENDIF.