업데이트:


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

Data type은 Data variable과 독립적으로 선언하게 되며, Data variable은 Data Type을 참고하여 선언하게 된다.

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

Local Data type은 이미 정의되어 잇는 ABAP Data를 참고하여 선언하게 된다. Ex: (TYPES dtype TYPE C)


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

Data Type을 참고하여 프로그램에서 사용 할 수 있는 변수이다. 프로그램의 실행 시점에 메모리를 차지하는 데이터 변수를 의미한다. ABAP프로그램에서는 Data variable의 이름을 통해서 값에 접근할 수 있다.

"Data type
TYPES dtype [TYPE type | LIKE dobj]

"Data variable
Data var [TYPE type| LIKE dobj]



Data type의 종류

  • Predefined ABAP type

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

    C, JAVA의 (c, f, l) 타입과 같이 이미 정의 되어 있는 데이터 TYPE 이다.

    추가로 p, d, t 과 같은 타입들이 존재한다.

  • Local Data type in Program

    ABAP프로그램 내에서 Predefined ABAP Type을 이용하여 Local Type을 생성한다.

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

    ex) TYPES dtype [TYPE type LIKE dobj]…
  • Global Data Type in ABAP Dictionary

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

    Table(table field), Data type, Data Element, Structure, Table Type

    ex) TYPES : types TYPE table.

    ​ DATA: gv_data LIKE table-field …

    Type Group을 사용하여 TYPE를 그룹화 하여 사용할 수 있다.



Data Variable 선언

  • Predefned ABAP Type 이용하여 변수 선언 ABAP에서 제공되는 기본 타입을 이용하여 데이터를 선언하는 방식

    Data : gv_num TYPE I,
    	gv_deci TYPE f,
    	gv_date TYPE d,
    	gv_time TYPE t,
    	gv_text1 TYPE c,
    	gv__text(2) TYPE c,
    	gv_longtext TYPE string.
    
  • 프로그램의 Local type을 이용하여 변수 선언 Local 프로그램에서 자주 사용하게 되는 데이터 및 구조를 TYPE으로 선언하여, 프로그램내에서만 ABAP 기본 데이터 타입처럼 사용할 수도 있다.

    TYPES : BEGIN OF t_struct,
    	Col1 type c,
    	Col2 type c,
    	Col3 type c,
    	END OF t_struct. "Local TYPE 선언
      	
    DATA: gs_struct TYPE T_struct,
    gv_var LIKE gs_struct-col1.
    
  • ABAP Dictionary의 Type을 이용하여 변수 선언

    ABAP Dictionary(Table, Structure, Data Element 등)는 모든 프로그램에서 선언한여 사용할 수 있다.

    DATA : gv_carrid TYPE s_carr_id,
      gv_connid TYPE sflight-carrid,
      gv_matnr TYPE mara-matnr. "Type in ABAP Dictionary
    



DATA 구문

데이터 변수를 선언할 때 사용하는 구문이다. 변수명은 언더라인(_) 기호를 포함하여 30자까지 가능하다.

  • TYPE type 데이터 변수의 타입을 정의한다. 위에서 말한 data type의 3가지 종류가 TYEP구문 다음에 올 수 있다.

    콜론(: ) 기호는 동일한 명령어를 쉼표(,)로 구분하여 마침표(.) 을 만날 때까지 실행하도록 한다. 변수 두개를 한번에 선언할 수 있다.

    DATA: gv_num TYPE i.
    DATA: gv_num1 TYPE I,
    		gv_num2 TYPE I.
    
  • LIKE num

    앞에서 생성한 Data Variabled인 gv_num1과 동일한 타입의 변수를 선언 할 때 사용 된다.

    타입이 있는 모든 데이터 변수(Field, Parameter, Structure, 시스템 변수..)를 사용 할 수 있다.

    Data: gv_num2 LIKE gv_num1.
    
  • VALUE int

    모든 데이터 타입은 Initial Value가 존재한다. Data 구문을 사용할 때 Value 옵션을 사용하면 기본 Initial Value 대신에 int로 초기값을 설정한다.

    VALUE IS INITIAL 구문을 사용하면 Data Type의 Initial Value로 지정된다.(생략해도 된다)

    Constants변수를 선언할때에는 VALUE옵션은 필수 사항이다.

    DATA: gv_num TYPE i VALUE 123,
    	gv_flag VALUE 'X',
    	gv_val VALUE IS INITIAL,
    	gv_idx LIKE sy_tabix VALUE 45.
    
  • LENGTH n 필드의 길이를 설정한다. C, N, P, X 타입에만 사용 할 수 있다.

    DATA: gv_num TYPE n LENGTH 2.
    
  • DECIMALS n Data Type P에서만 사용 가능하며 1~14 사이의 소수 자리 수를 설정한다.

    DATA: gv_num TYPE P DECIMALS 3.
    



  • 최종 예시

TYPES t_var TYPE C LENGTH 20.

DATA gv_var TYPE t_var.
gv_var = 'Hellow ABAP'.
WRITE gv_var.


🚙 SAP 책이 뭔지 까먹었다… P24~32을 보고 요약한 글입니다!

카테고리:

업데이트: