#02. DATA TYPE

썸지·2022년 4월 10일
0

ABAP Study

목록 보기
2/3

1년 동안, 진행해왔던 스터디를 재 정비하는 시간을 가지며 일주일에 한 번 만나는 시간은 그대로 유지하고 이제부터는 각자 공부했던 내용을 VELOG에 정리하기로 했다.


"SAP ABAP을 공부했다면 누구든 한 번쯤은 펼쳐 보았을 없어서는 안될 ABAP계 기본서이다! (입사 한 이후로도 많은 도움을 받고있다.)

스터디는 EASY ABAP 2.0 책에 있는 예제를 한 번씩 코딩하며 진행을 할 예정이다.

오늘은 EASY ABAP의 Chapter 02. Data type으로 abap의 기본기를 공부하였다. (기본적으로 알고 있는 내용은 가볍게 스킵하면서 지나가고 있어서 EASY ABAP의 흐름과는 조금 다를 수도 있다!)

Data Type과 Data Variable(Data Object)의 차이

Data Type : 프로그램에서 사용할 수 있는 데이터의 타입
Data Variable : Data Type을 참고하여 값을 저장할 수 있는 변수

(Data Type은 얼음틀, Data Variable은 틀에 담긴 얼음이라고 생각하면 좋다ㅎㅎ 얼음틀 모양에 따라서 얼음이 변하는 것!)

Data Type 선언 방법

TYPES T_TYPE(10) TYPE C.

Data Variable 선언 방법

DATA GV_1 TYPE T_TYPE.   "위에 선언한 T_TYPE을 참고하여 GV_1 선언

DATA GV_1(10) TYPE C.    "Data Variable 자체에 타입을 선언하는 방법

+함께 스터디하는 언니들이랑 이야기 한 바로는 셋 모두 Data Variable에서 Type을 선언 할 수 있어서 Data Type을 선언하지 않는다고 했다. (이건 개인 코딩 취향의 차이라고 생각이 들어 편한대로 하면 될 것 같다!)

ABAP 프로그램은 3가지 그룹의 Data Type을 사용할 수 있다.

∙ Predefined ABAP Type
∙ Local Data Type in Program
∙ Global Data Type in ABAP Dictionary

Predefined ABAP Type

1) kernel 레벨에서 정의되어 있는 기본 데이터 타입
(kernel : 운영체제의 가장 기본의 되는 핵심)
2) C, JAVA의 (C,F,I) 타입과 마찬가지로 이미 정의되어 있는 데이터 TYPE

DATA : GV_NUM  TYPE I.
DATA : GV_DATE TYPE D.

ABAP은 고정 길이를 가지고 있는 8가지 기본 Data Type이 있다.

Numeric Types
I

DATA GV_I TYPE I. "I로 선언시, 기본 값 정수 10자리(부호포함 시, 11자리)

F

DATA GV_F TYPE F.

P

DATA GV_P1 TYPE P. "기본 값 정수 8자리, 소수점 최대 14자리까지 허용
                 
DATA GV_P2 TYPE P DECIMAL 2. "소수점 표현을 위해서는 DECIMAL을 선언해주어야 한다.

GV_P1 = 123.45.
GV_P2 = 123.45.

WRITE :/ GV_P1.
WRITE :/ GV_P2.

결과값
123
123.45
   

TYPE P와 F의 차이점
∙ TYPE P가 높은 정확도 요구
∙ 매우 작거나 큰 수는 TYPE F를 쓴다
+이 두 TYPE의 자세한 차이점은 아직 자세히 모르겠다.
우선, 회사에서 소수점이 필요한 TYPE 선언시 P를 사용하는 경우가 대 다수이다.

Character Types
C

DATA GV_C TYPE C. "기본값 1

D
N
T
Hexadecimal type
X

Local Data Type in Program

ABAP 프로그램 내에서 Predifined ABAP TYPE을 이용해 해당 프로그램에서만 사용 할 수 있는 Local Type을 생성한다.

예를 들어, 아까 선언한 Data Type이 해당 프로그램에서만 사용이 가능한 Local data TYPE이다!

TYPES T_TYPE(10) TYPE C.

Global Data Type in ABAP Dictionary

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

DATA : GV_CARRID TYPE SFLIGHT-CARRID.

0개의 댓글