데이터 타입은 프로그래밍 언어에서 변수나 상수의 값을 저장할 때 사용하는 메모리 공간의 형태를 정의한다. 데이터 타입을 올바르게 정의하고 사용하는 것은 프로그램의 안정성 및 효율성을 높일 수 있다.
메모리 할당: 데이터 타입은 변수나 상수에 필요한 메모리 크기와 구조를 정의한다.
데이터 무결성: 데이터 타입은 변수에 저장할 수 있는 값의 유형과 범위를 제한하여 데이터 무결성을 보장한다.
연산 정의: 데이터 타입에 따라 사용할 수 있는 연산이 결정된다. 예를 들어, 정수형 데이터 타입은 산술 연산을 지원하고, 문자열 데이터 타입은 문자열 조작 연산을 지원한다.
코드 가독성: 명확한 데이터 타입 정의는 코드의 가독성을 높이고 유지 보수를 용이하게 한다.
표준 데이터 타입은 ABAP 언어 자체에 내장되어 있는 기본 데이터 타입이다. 이들은 모든 ABAP 프로그램에서 기본적으로 사용될 수 있다.
C (Character)
설명: 고정 길이 문자열
DATA lv_char TYPE c LENGTH 10.
N (Numeric)
설명: 고정 길이 숫자 문자열 (숫자로만 구성)
DATA lv_num TYPE n LENGTH 5.
I (Integer)
설명: 정수형 데이터 타입
DATA lv_int TYPE i.
F (Floating Point)
설명: 부동 소수점 숫자
DATA lv_float TYPE f.
P (Packed Number)
설명: 고정 소수점 숫자 (BCD 방식)
DATA lv_packed TYPE p LENGTH 5 DECIMALS 2.
D (Date)
설명: 날짜 (YYYYMMDD 형식)
DATA lv_date TYPE d.
T (Time)
설명: 시간 (HHMMSS 형식)
DATA lv_time TYPE t.
X (Hexadecimal)
설명: 헥사데시멀 값
DATA lv_hex TYPE x LENGTH 2.
글로벌 데이터 타입은 ABAP Dictionary에서 정의된 데이터 타입이다. 이들은 모든 ABAP 프로그램에서 참조할 수 있으며, 데이터베이스 테이블, 뷰, 구조체, 도메인 등을 정의할 때 사용된다.
도메인(Domain)
설명: 값의 범위와 속성을 정의하는 데이터 타입
DOMAIN z_domain TYPE c LENGTH 10.
데이터 요소(Data Element)
설명: 특정 필드의 의미와 데이터 타입을 정의
DATA ELEMENT z_data_element TYPE z_domain.
구조체(Structure)
설명: 여러 필드를 묶어 하나의 논리적 단위로 정의
TYPES: BEGIN OF z_structure, field1 TYPE z_data_element, field2 TYPE i, END OF z_structure.
테이블 타입(Table Type)
설명: 내부 테이블의 구조를 정의
TYPES: z_table_type TYPE TABLE OF z_structure.
로컬 데이터 타입은 특정 ABAP 프로그램 내에서만 사용되는 데이터 타입이다. 이들은 해당 프로그램이나 클래스, 메서드에서만 유효하다.
로컬 타입 정의
설명: 특정 프로그램 내에서만 사용되는 데이터 타입 정의
TYPES: ty_local_char TYPE c LENGTH 10.
DATA: lv_local_var TYPE ty_local_char.
로컬 구조체 정의
설명: 특정 프로그램 내에서만 사용되는 구조체 정의
TYPES: BEGIN OF ty_local_struct,
field1 TYPE c LENGTH 10,
field2 TYPE i,
END OF ty_local_struct.
DATA: ls_local_struct TYPE ty_local_struct.