-
[Data Type] Data variable & Data type 기본SAP/Abap 2022. 1. 10. 15:40
[Data Variable]
프로그램 내에서 사용 가능한 변수. Java의 변수와 동일하다.
DATA var [TYPE type | LIKE dobj] ...
- TYPE type: 선언하고자 하는 변수의 type을 지정한다.
- LIKE dobj: 해당 명령어 이전에 생성한 변수 dobj와 동일하게 변수의 type을 지정한다.
- VALUE val: 선언하고자 하는 변수의 초깃값을 지정한다.
- LENGTH n: 선언하고자 하는 변수의 길이를 지정한다. C, N, P, X 타입에만 사용 가능하다.
- DECIMALS n: 선언하고자 하는 변수의 소수자리수를 지정한다. P 타입에만 사용 가능하다.
[Data type]
프로그램 내에서 사용되는 변수의 타입을 정의하기 위해 사용. Java의 자료형과 동일하다.
TYPES dtype [TYPE type | LIKE dobj]
1) Predefined ABAP Type: 이미 kernel 레벨에서 정의되어 있는 기본 데이터 타입
DATA: gv_num TYPE i, " 정수 타입 gv_deci TYPE f, " 실수 타입 gv_date TYPE d, " 날짜 타입 gv_time TYPE t, " 시간 타입 gv_text1 TYPE c, " 문자 타입 gv_text2(2) TYPE c, " 문자열 타입 gv_longtext TYPE string. " 문자열 타입
2) Local Data Type in Program: Predefined abap type을 조합하여 생성한 Structure 데이터 타입
- TYPES 구문을 사용하여 정의하며, 정의된 type은 해당 프로그램 내에서만 사용가능하기 때문에 local data type이라 한다.
TYPES: BEGIN OF t_struct, " Local 타입 선언 col1 TYPE c, " 문자 타입 col2 TYPE i, " 정수 타입 col3 TYPE d, " 날짜 타입 END OF t_struct.
3) Global Data Type in ABAP Dictionary
- Abap의 모든 Dictionary obejct들은 모든 Abap 프로그램 내에서 data type으로 사용할 수 있다.
- ex) Table, Data type, Data element, Structure, Table type
- 모든 프로그램에서 사용할 수 있어 global data type이라 한다.
DATA: gv_carrid TYPE s_carr_id, gv_connid TYPE sflight-carrid, gv_matnr TYPE mara-matnr.
[출력 프로그램 예제]
*&---------------------------------------------------------------------* *& Report ZA02_01 *&---------------------------------------------------------------------* *& 문자열 타입 변수 선언 및 값 할당 후 출력 예제 *&---------------------------------------------------------------------* REPORT ZA02_01. TYPES t_var TYPE c LENGTH 20. " 길이 20의 문자열 type t_var 선언 DATA gv_var TYPE t_var. " t_var type의 변수 gv_var 선언 * DATA gv_var TYPE c LENGTH 20. " local type 정의 생략 gv_var = 'Hellow ABAP'. " 변수 gv_var 초기화 WRITE gv_var. " 변수 gv_var 출력
'SAP > Abap' 카테고리의 다른 글
[Data Type] Program's local type (0) 2022.01.11 [Data Type] Predefined ABAP Type: Other types (0) 2022.01.10 [Data Type] Predefined ABAP Type: Numeric type (0) 2022.01.10 [Data Type] Abap naming rule (0) 2022.01.10 [Abap] Package & CTS (0) 2022.01.04