guricode

[SAP ABAP] Data Type 본문

일기

[SAP ABAP] Data Type

agentrakugaki 2025. 12. 10. 19:34

ABAP 프로그렘에는 데이터 타입이 크게 3분류로 나누어져 있다.

ABAP Dictionary를 이용해 동일한 타입의 데이터를 선언할 수도 있다

 

  • Data Type

Data Type은 프로그램에서 사용할 수 있는 데이터의 타입을 정의한다. 

프로그렘에서 TYPES 구문을 사용하여 선언하면 해당 프로그램에서만 사용할 수 있다.이때는 Local Data Type이라고 부른다.

이 Local Data Type은 이미 정의되어 있는 ABAP Data type을 참고한다(TYPES dtype Type C).

 

 

 

 

  • Data Variable

Data Variable은 Data Type을 참고하여 값을 저장할 수 있는 변수이다. 

프로그램의 실행 시점에 메모리를 차지하는 데이터 변수다.

데이터 타입을 해석하는 작업이 먼저 진행된다.

 

흔히 개발할 때 타입과 변수의 개념과 동일한것 같다.

 

 

 


Data Type의 종류

 

1. Predefined ABAP Type

커널 레벨에서 정의되어있는 기본 데이터 타입이다.

C나 JAVA의 c,f,l과 같이 이미 정의되어있다. ABAP은 p,d,t 같은 타입이 있다

 

2.Local Data Type in Program

ABAP 프로그렘에서 Predefined ABAP Type을 이용해 Local Type을 생성한다

Predefined ABAP Type을 조합하여 여러 필드가 추가된 Structure 타입을 정의할수있다.

 

3.Global Data Type in ABAP Dictionary

모든 ABAP 프로그램에서 사용할 수 있는 Global Data Type이다.

ABAP Dictionary Data Type은 ABAP 프로그램 내에서 TYPE 구문을 사용할 수 있다.

 


DATA 구문

 

데이터 변수를 선언할 때 사용한다. 변수명은 _을 포함하여 30자 까지 가능하다.

 

1. TYPE type

데이터 변수의 타입을 정의한다.

DATA : gv_num	TYPE i.

 

콜론(:)은 동일한 명령어를 쉼표로 구분하여 마침표를 만날때까지 실행하도록 한다.

동일한 기능을 여러번 실행할 수 있다.

DATA gv_num1 TYPE I. 
DATA gv_num2 TYPE I.
----위와 아래는 같음----
DATA: gv_num1 TYPE I, 
      gv_num2 Type I.

 

 

2.LIKE num

앞에서 생성한 변수와 동일한 타입의 변수를 선언할때 사용한다.

DATA : gv_num2 LIKE gv_num1.

 

 

3.VALUE int

모든 데이터 타입에는 Initial Value가 존재하는데 VALUE를 사용하면 Initial Value 대신에 int값을 설정한다.

VALUE IS INITIAL을 사용하면 Data Type의 Initial Value로 지정된다(안해도됌).

 

DATA : gv_num TYPE i VALUE 333,
       gv_flag 		 VALUE 'X',
       gv_val        VALUE IS INITIAL,
       gv_idx        LIKE sy-tabix VALUE 45.

 

 

4.LENGTH n 

필드의 길이를 설정한다.

C,N,P,X 타입에만 사용가능하다

 

5.DECIMALS n

Data Type P 에서만 사용가능하다. 1~14사이의 소수자리 수를 설정한다.

 

DATA : gv_num TYPE n LENGTH 2,
	   gv_num2 TYPE p DECIMALS 3.