DATA integer01 TYPE i.

💡 필드란?

이름을 붙일 수 있는 임시 메모리 공간.


- 계산 결과를 저장하거나, 프로그램의 흐름을 제어할 때 사용됨

- Ram에 저장되므로 접근 속도가 매우 빠름 => 프로그램 실행 속도를 빠르게 하는데 도움이 됨!

- 변수, 상수와 같은 두가지 종류가 있음

  1. 변수
  2. 상수

 

변수란?


: 변수는 프로그램 실행 중 값이 바뀔 수 있는 필드를 의미함

이름 명명 규칙:

1. 영문자로 시작함

2. 최대 30자

3. +, ,(콤마), :(콜론), 괄호() 사용불가

4. 예약어 사용불가

 

DATA문으로 변수선언


변수는 DATA문장으로 선언함

DATA integer01 TYPE i.

- DATA -> 변수선언

- integer01 -> 변수 이름

- TYPE i -> 정수형 타입

- . -> 문장끝

소수점 숫자 저장용 변수 선언

DATA packed_decimal01 TYPE p DECIMALS 2.

- TYPE p -> 소수점 있는 숫자

- DECIMALS 2 -> 소수점 2자리까지 저장

✅ Packed decimal은 최대 14자리 소수까지 저장할 수 있어 비즈니스 용도에 충분함 

 

LIKE 구문사용(참조형 변수선언)

- TYPE대신 LIKE를 쓰면, 다른 변수의 타입을 그대로 복사할 수 있음

DATA packed_decimal02 LIKE packed_decimal01.

- 원본 타입을 바꾸면, LIKE로 선언한 변수들도 자동으로 따라감

☑ 테이블의 필드도 참조 가능

DATA new_surname LIKE zemployees-surname.

=> 정확한 타입을 일일이 외우거나 찾지 않아도 돼서 편리함

 

초기값_INITIAL VALUE지정

- 변수에 초기값을 지정할 땐 VALUE를 씀

DATA integer01 TYPE i VALUE 22.
DATA packed_decimal01 TYPE p DECIMALS 2 VALUE '12.34'.

- packed decimal처럼 소수점있는 숫자는 ''작은따옴표로 감싸야함 (마침표가 소수점인지 문장끝인지 혼동되지 않기 위해)

- 음수 값도 - 기호를 붙여서 선언할 수 있음

 

 

상수(constants)란?


: 상수는 변수와 비슷하지만, 프로그램 실행 중 값이 변하지 않음

- 세율, 환율, 고정된 코드값 등 변하지 않는 값을 표현할 때 유용함

CONSTANTS pi TYPE p DECIMALS 2 VALUE '3.14'.

CONSTANTS → 상수 선언

pi → 이름

TYPE p → 소수점 있는 숫자

DECIMALS 2 → 소수점 둘째자리까지

VALUE '3.14' → 초기값 지정

 

ex) 총액에 세율을 곱하는 계산

 

CONSTANTS tax_rate TYPE p DECIMALS 2 VALUE '0.10'.

DATA total TYPE p DECIMALS 2 VALUE '100.00'.
DATA tax   TYPE p DECIMALS 2.

tax = total * tax_rate.
WRITE: / 'Tax:', tax.

- 고정된 값들을 명확하고 일관되게 관리가능

 

변수 DATA 값이 변경 가능
상수 CONSTANTS 한 번 설정한 값은 변경 불가
참조형 선언 LIKE 기존 변수나 테이블 필드의 타입을 그대로 사용
초기값 설정 VALUE 변수나 상수에 초기값을 부여

 

⭐️ 상수를 정의할 수 없는 경우

X 문자열(X string)

참조형 타입(reference)

내부 테이블(internal tables)

내부 테이블을 포함한 구조체(structure)

- 상수는 값이 고정된 단일 데이터여야함

타입이유

XSTRING 크기가 고정되지 않은 이진 데이터 (예: 이미지, 파일)
REFERENCE 포인터처럼 다른 객체를 참조하는 값 → 고정값 아님
INTERNAL TABLE 행 수가 유동적이고, 복잡한 구조를 가짐
STRUCTURE with table 내부에 또 테이블을 가진 복합 구조 → 값이 복잡함

 

+ Recent posts