일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- oracle
- js
- 구글로그인
- SQL 문제풀이
- 오라클
- SQL프로그래머스
- 자바 스트림
- kotlin 클래스
- java8
- 파이게임
- mysql
- Leetcode
- 자바스크립트
- 코틀린 클래스
- 스프링
- Spring
- javascript
- 프로그래머스
- 스프링시큐리티
- 자바8
- MSA
- LeetCode SQL
- 스프링부트
- springboot
- pygame
- oauth2
- SQL
- 스프링부트 채팅서버
- spring boot
- python
Archives
- Today
- Total
웅겹살의 프로그래밍 삼매경
[ABAP] Abap Data Type 아밥 데이터 타입 정리 본문
728x90
ABAP 데이터 타입
ABAP에서는 데이터 타입을 크게 세 가지로 나눌 수 있다.
Global Data type, Predefined Type, Local Type.
1. Global Data type
Global Data type은 SAP 데이터 딕셔너리에서 정의된 데이터 타입입니다. 이는 모든 프로그램에서 공통으로 사용할 수 있습니다.
- BUKRS (Company Code): 회사 코드
- 길이: 4
- 설명: 회사의 식별 코드
DATA: gv_bukrs TYPE BUKRS.
gv_bukrs = '1000'.
- KUNNR (Customer Number): 고객 번호
- 길이: 10
- 설명: 고객의 식별 번호
DATA: gv_kunnr TYPE KUNNR.
gv_kunnr = '123456'.
- MATNR (Material Number): 자재 번호
- 길이: 18
- 설명: 자재의 식별 번호
DATA: gv_matnr TYPE MATNR.
gv_matnr = 'A100'.
- EKORG (Purchasing Organization): 구매 조직
- 길이: 4
- 설명: 구매 조직의 식별 코드
DATA: gv_ekorg TYPE EKORG.
gv_ekorg = '0001'.
- LIFNR (Vendor Number): 공급업체 번호
- 길이: 10
- 설명: 공급업체의 식별 번호
DATA: gv_lifnr TYPE LIFNR.
gv_lifnr = '500001'.
2. Predefined Type
Predefined Type은 ABAP에서 미리 정의된 데이터 타입으로, 기본적인 데이터 타입을 포함합니다.
예시:
- Character 타입 (C): 고정 길이 문자열
- 길이: 최대 65535
- 범위: 문자
- 설명: 고정 길이 문자열을 저장
DATA: lv_char TYPE C LENGTH 10.
lv_char = 'ABAP'.
- Numeric 타입 (N): 고정 길이 숫자 문자열
- 길이: 최대 65535
- 범위: 0-9
- 설명: 고정 길이 숫자 문자열을 저장
DATA: lv_num TYPE N LENGTH 5.
lv_num = '12345'.
- Integer 타입 (I): 정수
- 길이: 4 바이트
- 범위: -2,147,483,648 ~ 2,147,483,647
- 설명: 정수를 저장
DATA: lv_int TYPE I.
lv_int = 100.
- Packed Number 타입 (P): 소수점 포함 숫자
- 길이: 1-16 바이트
- 범위: 사용자 정의
- 설명: 고정 소수점 숫자를 저장
DATA: lv_packed TYPE P DECIMALS 2.
lv_packed = 1234.56.
- Float 타입 (F): 부동 소수점
- 길이: 8 바이트
- 범위: 1.8E-308 ~ 1.8E+308
- 설명: 부동 소수점 숫자를 저장
DATA: lv_float TYPE F.
lv_float = 1234.5678.
- Date 타입 (D): 날짜
- 길이: 8
- 포맷: YYYYMMDD
- 설명: 날짜를 저장
DATA: lv_date TYPE D.
lv_date = '20230701'.
- Time 타입 (T): 시간
- 길이: 6
- 포맷: HHMMSS
- 설명: 시간을 저장
DATA: lv_time TYPE T.
lv_time = '123000'.
3. Local Type
Local Type은 프로그램 내에서만 사용되는 타입으로, TYPES 문을 사용하여 정의할 수 있습니다.
예시:
- Structure (구조체):
TYPES: BEGIN OF ty_employee,
name TYPE C LENGTH 20,
age TYPE I,
dept TYPE C LENGTH 10,
END OF ty_employee.
DATA: lv_employee TYPE ty_employee.
lv_employee-name = 'Pig Choi'.
lv_employee-age = 33.
lv_employee-dept = 'IT'.
- Internal Table (내부 테이블):
TYPES: tt_employee TYPE TABLE OF ty_employee WITH KEY name.
DATA: lt_employee TYPE tt_employee.
APPEND lv_employee TO lt_employee.
- Custom Type:
TYPES: ty_amount TYPE P DECIMALS 2 LENGTH 10.
DATA: lv_amount TYPE ty_amount.
lv_amount = 10000.50.
데이터 타입 요약표
유형 | 데이터 타입 | 변수명 예시 | 길이/범위 | 추가 설명 |
Global Data type | `BUKRS` | `gv_bukrs` | 길이: 4 | 회사 코드 |
`KUNNR` | `gv_kunnr` | 길이: 10 | 고객 번호 | |
`MATNR` | `gv_matnr` | 길이: 18 | 자재 번호 | |
`EKORG` | `gv_ekorg` | 길이: 4 | 구매 조직 코드 | |
`LIFNR` | `gv_lifnr` | 길이: 10 | 공급업체 번호 | |
Predefined Type | `C` (Character) | `lv_char` | 길이: 최대 65535, 문자 | 고정 길이 문자열 저장 |
`N` (Numeric) | `lv_num` | 길이: 최대 65535, 0-9 | 고정 길이 숫자 문자열 저장 | |
`I` (Integer) | `lv_int` | 길이: 4 바이트, -2,147,483,648 ~ 2,147,483,647 | 정수 저장 | |
`P` (Packed Number) | `lv_packed` | 길이: 1-16 바이트, 사용자 정의 | 고정 소수점 숫자 저장 | |
`F` (Float) | `lv_float` | 길이: 8 바이트, 1.8E-308 ~ 1.8E+308 | 부동 소수점 숫자 저장 | |
`D` (Date) | `lv_date` | 길이: 8, 포맷: YYYYMMDD | 날짜 저장 | |
`T` (Time) | `lv_time` | 길이: 6, 포맷: HHMMSS | 시간 저장 | |
Local Type | 구조체 | `lv_employee` | 사용자 정의 | 프로그램 내에서 정의된 구조체 |
내부 테이블 | `lt_employee` | 사용자 정의 | 프로그램 내에서 정의된 내부 테이블 | |
커스텀 타입 | `lv_amount` | 길이: 사용자 정의 | 커스텀 데이터 타입, 소수점 포함 숫자 저장 |
728x90
'SAP Abap' 카테고리의 다른 글
[ABAP] SAP ERP 주요 모듈 정리(FI MM SD PP CO) (0) | 2024.07.02 |
---|
Comments