웅겹살의 프로그래밍 삼매경

[ABAP] Abap Data Type 아밥 데이터 타입 정리 본문

SAP Abap

[ABAP] Abap Data Type 아밥 데이터 타입 정리

웅겹사r☆ 2024. 7. 1. 22:29
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