DATA integer01 TYPE i.
💡 필드란?
이름을 붙일 수 있는 임시 메모리 공간.
- 계산 결과를 저장하거나, 프로그램의 흐름을 제어할 때 사용됨
- Ram에 저장되므로 접근 속도가 매우 빠름 => 프로그램 실행 속도를 빠르게 하는데 도움이 됨!
- 변수, 상수와 같은 두가지 종류가 있음
- 변수
- 상수
변수란?
: 변수는 프로그램 실행 중 값이 바뀔 수 있는 필드를 의미함
이름 명명 규칙:
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 | 내부에 또 테이블을 가진 복합 구조 → 값이 복잡함 |
'SAP' 카테고리의 다른 글
SAP ABAP Programming for Beginners - 12 연산<뺄셈, 나눗셈, 곱하기> (0) | 2025.04.01 |
---|---|
SAP ABAP Programming for Beginners - 11 연산<덧셈> (0) | 2025.04.01 |
SAP ABAP Programming for Beginners - 9 주석달기 (0) | 2025.04.01 |
SAP ABAP Programming for Beginners - 8 (0) | 2025.04.01 |
SAP ABAP Programming for Beginners - 7 (0) | 2025.04.01 |