ABAP 변수 선언과 데이터 타입

ABAP 변수 선언

ABAP 은 타 프로그래밍 언어와 같이 변수를 선언, 사용할 수 있다. 유명한 프로그래밍 언어 C, JAVA 는 앞에 변수 타입이 오고 변수 명이 오는데 (예: String 변수 명) ABAP은 먼저 DATA 구문을 쓴 후 뒤에 변수 명, 타입을 지정한다. 기초적인 변수 선언의 예시는 다음과 같다.

DATA 변수 명 TYPE 타입 명 LENGTH 30.
ABAP

(참고: ABAP은 코드 끝에 . 을 붙여야 한다.)

기본적인 네이밍 룰

ABAP은 특이하게 Pretty Print 를 써보면 알겠지만, 기본적으로 프로그래밍 때 대소문자 구분을 하지 않는다. (당연히 안에 들어가는 값은 한다.) 그래서 변수 명을 지을 때 JavaScript 등에서 자주 사용되는 카멜 기법(예: myCar 등 단어 가 연결 될 때 첫 문자를 대문자로 사용하는 기법) 은 사용되지 않고 소, 대문자 그대로 적는다.

그리고 기본적인 네이밍 룰이 있는데 앞에 로컬, 글로벌 변수냐에 따라 L, G를 붙이고 V(Value) 를 붙인 후 변수 명을 적는다.

예를 들면 CAR 라는 변수를 만들 땐 로컬 변수 라면 LV_CAR or lv_car 라 적는 것이다.

ABAP 데이터 타입

ABAP에는 다음과 같은 기본적인 데이터 타입 들이 존재한다.

  1. C (Character): 고정 길이의 문자열을 저장 (예:  DATA: name TYPE C LENGTH 30.는 30자 길이의 문자열을 저장할 수 있는 변수 선언.
  2. N (Numeric Character): 숫자만 포함하는 문자열을 저장. 이는 고정 길이이며 앞쪽에 0으로 채워진다. (예: DATA: year TYPE N LENGTH 4.)
  3. D (Date): 날짜를 저장. 일반적으로 YYYYMMDD 형식으로 저장된다. (예: DATA: today TYPE D.)
  4. T (Time): 시간을 저장. HHMMSS 형식으로 저장된다. (예: DATA: currentTime TYPE T.)
  5. I (Integer): 정수를 저장. 예: DATA: count TYPE I.
  6. P (Packed Number): 정수나 소수를 저장하는 데 사용되며, 금융 및 계산에 사용. (예: DATA: amount TYPE P DECIMALS 2.)
  7. F (Floating Point): 부동소수점 숫자를 저장. (예: DATA: average TYPE F.)
  8. STRING: 가변 길이의 문자열을 저장. (예: DATA: longText TYPE STRING.)
  9. XSTRING: 가변 길이의 바이너리 데이터를 저장.
  10. X (Hexadecimal): 고정 길이의 바이너리 데이터를 저장.

이 중 C, N, D, STRING은 정말 자주 사용된다.

이 외에 ABAP 프로그래밍 에선 사용자가 직접 TYPE 을 만들 수도 있다. (이건 다음에 다루겠다.)

데이터 길이(LENGTH)

데이터 길이는 예시와 같이 타입을 지정하고 LENGTH 30와 같은 형태로 작성할 수도 있지만 타입 뒤에 괄호를 통해 작성도 가능하다.

DATA lv_name TYPE C(30).    " 30자 문자열
DATA lv_year TYPE N(4).     " 4자리 숫자
ABAP

데이터에 값 넣기

데이터에 값을 넣는 것은 간단하다. “= 기호 (할당 연산자)” 를 사용한다.

DATA lv_name TYPE C(30).    " 30자 문자열
DATA lv_year TYPE N(4).     " 4자리 숫자

lv_name = '홍길동'.
ABAP

참고 사항

C 타입의 최대 길이

ABAP 에서 C 타입의 최대 길이는 255자 이다. 만약 더 긴 문자열을 사용하고 싶다면 STRING 을 사용한다.

Chain Statement or Chaining Operator( : 기호 )

ABAP 에서 : 기호는 여러 명령어를 한 줄에 연결할 때 사용한다. 예를 들면 변수 선언 구문인 DATA 구문 뒤에 : 를 붙이면 라인 마다 DATA 를 작성할 필요가 없다.

연결 되는 코드는 쉼표(,) 로 연결한다.

DATA: lv_name TYPE C(30),    " 30자 문자열
      lv_year TYPE N(4).     " 4자리 숫자
ABAP

타입, LENGTH 생략

타입을 생략 하면 C 타입으로 선언 된다. LEENGTH 생략 시엔 1 자리 변수가 된다.

DATA lv_name(30).    " 30자 문자열
DATA lv_name2.       " 1자리 문자열
ABAP
5 1 vote
Article Rating
Subscribe
Notify of
guest
0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x
목차
위로 스크롤