ABAP Types 선언
1. 구조체(Structure) 선언
TYPES: BEGIN OF lts_employee,
id TYPE i,
first_name TYPE string,
last_name TYPE string,
hire_date TYPE d,
salary TYPE p DECIMALS 2,
END OF lts_employee.
DATA: ls_employee TYPE ty_employee.
2. 테이블 타입 선언
TYPES: ltt_employee TYPE TABLE OF lts_employee.
DATA: lt_employees TYPE ltt_employee.
3. 복합 예제
*-- 사용자 정의 타입 선언
TYPES: BEGIN OF lts_product,
id TYPE i,
name TYPE string,
price TYPE p DECIMALS 2,
create_date TYPE d,
END OF ty_product.
TYPES: ;tt_products TYPE TABLE OF lts_product.
*-- 변수 선언
DATA: ls_product TYPE lts_product,
lt_products TYPE ltt_products,
lv_count TYPE i,
lv_total TYPE p DECIMALS 2.
*-- 변수 초기화
ls_product-id = 1.
ls_product-name = '노트북'.
ls_product-price = '1500.50'.
ls_product-create_date = sy-datum. " 현재 날짜
*-- 테이블에 추가
APPEND ls_product TO lt_products.
*-- 다른 제품 추가
CLEAR ls_product.
ls_product-id = 2.
ls_product-name = '스마트폰'.
ls_product-price = '800.75'.
ls_product-create_date = sy-datum.
APPEND ls_product TO lt_products.
*-- 제품 수 계산
DESCRIBE TABLE lt_products LINES lv_count.
*-- 모든 제품 표시
LOOP AT lt_products INTO ls_product.
WRITE: / 'ID:', ls_product-id,
'제품명:', ls_product-name,
'가격:', ls_product-price,
'등록일:', ls_product-create_date.
lv_total = lv_total + ls_product-price.
ENDLOOP.
WRITE: / '총 제품 수:', lv_count.
WRITE: / '총 가격:', lv_total.