SAP Data Type
SAP Data Type
1. 전체 데이터 타입 매핑
| 데이터 성격 (Data Nature) | CBO 물리 테이블 (define table) | CDS 뷰 / 인터페이스 (define view) | ABAP 클래스 로컬 변수 (DATA: TYPE …) | Java / 웹 개발 매칭 레벨 |
|---|---|---|---|---|
| 고정 길이 문자형 숫자 | NUMC(len) | abap.numc(len) | TYPE n LENGTH len | String (Format “%03d” 등) |
| 고정 길이 일반 문자 | CHAR(len) | abap.char(len) | TYPE c LENGTH len | char[] / String (고정) |
| 가변 길이 대용량 문자 | STRING | abap.string | TYPE string | String / Text |
| 기본 정수 (4Byte) | INT4 | abap.int4 | TYPE i | int / Integer |
| 대용량 정수 (8Byte) | INT8 | abap.int8 | TYPE int8 | long / Long |
| 단정밀도 부동 소수점 | FLTP | abap.fltp | TYPE f | float / double |
| 고정 소수점 연산 (Packed) | DEC(len, dec) | abap.dec(len, dec) | TYPE p LENGTH len DECIMALS dec | BigDecimal (금액 계산용) |
| 수량 연산 전용 Packed | QUAN(len, dec) | abap.quan(len, dec) | TYPE p LENGTH len DECIMALS dec | BigDecimal (수량/재고 연산) |
| 금액 연산 전용 Packed | CURR(len, dec) | abap.curr(len, dec) | TYPE p LENGTH len DECIMALS dec | BigDecimal (통화 금액 연산) |
| 수량 단위 (UoM) | UNIT(3) | abap.unit(3) | TYPE c LENGTH 3 (또는 unit) | String (EA, KG, BOX 등) |
| 통화 키 (Currency Key) | CUKY(5) | abap.cuky(5) | TYPE c LENGTH 5 (또는 cuky) | String (KRW, USD, EUR 등) |
| 순수 날짜 (YYYYMMDD) | DATS | abap.dats | TYPE d | LocalDate / String |
| 순수 시간 (HHMMSS) | TIMS | abap.tims | TYPE t | LocalTime / String |
| 일반 타임스탬프 (UTC) | TIMESTAMP | abap.tstmp | TYPE timestamp | Instant / Timestamp (Short) |
| 밀리초 포함 타임스탬프 | TIMESTAMPL | timestampl | TYPE timestampl | LocalDateTime (Long) |
| 클라이언트 식별자 | CLNT | abap.clnt | TYPE c LENGTH 3 (기본 sy-mandt) | Client ID 세션 파라미터 |
| Raw 바이너리 데이터 | RAW(len) | abap.raw(len) | TYPE x LENGTH len | byte[] (바이트 배열) |
| 가변 바이너리 데이터 | RAWSTRING | abap.rawstring | TYPE xstring | Blob / 파일 스트림 데이터 |
2. 영역별 특징
2-1. CBO 물리 테이블 (define table) 구역
- 특징: HANA DB 등 실제 데이터베이스 스토리지에 물리적인 카탈로그 스키마를 생성하는 레이어입니다.
암기 팁: 무조건 대문자 표준 형식을 사용하며, 온점(
.)이 절대 들어가지 않습니다.QUAN,CURR같은 수량/금액 타입은 반드시 상단에@Semantics어노테이션이나 우측에with referenced type으로 단위 컬럼(UNIT,CUKY)을 링크해 줘야 빌드가 통과됩니다. 2-2. CDS 뷰 / 인터페이스 (define view) 구역- 특징: DB 테이블 위에 가상 뷰나 OData API 게이트웨이 파라미터(Abstract Entity 모달 팝업 등) 프로토콜 규격을 선언하는 레이어입니다.
암기 팁: 반드시 앞에
abap.이라는 접두사(소문자 온점)가 붙는 추상화 내장 타입을 사용해야 파서가 인식합니다. (단,timestampl같은 일부 최신 데이터 원시 객체는 접두사 없이 통으로 소문자로 쓰기도 함) 2-3. ABAP 클래스 로컬 변수 (DATA: TYPE ...) 구역- 특징: Java의 Service 클래스 구현체 본문처럼 메서드 내부(
METHOD ~ ENMETHOD)에서 비즈니스 알고리즘, 사칙연산, 루프문을 돌릴 때 메모리에 임시 변수를 선언하는 원시 언어 레이어입니다. - 암기 팁: 고정 길이를 가진 문자나 숫자를 선언할 때는 전통적인 ABAP 문법 서식인
TYPE 데이터유형 LENGTH 길이포맷을 준수해야 합니다. (수량/금액 계산용 Packed 타입의 경우 소수점 자릿수 지정을 위해 뒤에DECIMALS 자릿수구문이 필수로 붙습니다.
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.