포스트

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 lenString (Format “%03d” 등)
고정 길이 일반 문자CHAR(len)abap.char(len)TYPE c LENGTH lenchar[] / String (고정)
가변 길이 대용량 문자STRINGabap.stringTYPE stringString / Text
기본 정수 (4Byte)INT4abap.int4TYPE iint / Integer
대용량 정수 (8Byte)INT8abap.int8TYPE int8long / Long
단정밀도 부동 소수점FLTPabap.fltpTYPE ffloat / double
고정 소수점 연산 (Packed)DEC(len, dec)abap.dec(len, dec)TYPE p LENGTH len DECIMALS decBigDecimal (금액 계산용)
수량 연산 전용 PackedQUAN(len, dec)abap.quan(len, dec)TYPE p LENGTH len DECIMALS decBigDecimal (수량/재고 연산)
금액 연산 전용 PackedCURR(len, dec)abap.curr(len, dec)TYPE p LENGTH len DECIMALS decBigDecimal (통화 금액 연산)
수량 단위 (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)DATSabap.datsTYPE dLocalDate / String
순수 시간 (HHMMSS)TIMSabap.timsTYPE tLocalTime / String
일반 타임스탬프 (UTC)TIMESTAMPabap.tstmpTYPE timestampInstant / Timestamp (Short)
밀리초 포함 타임스탬프TIMESTAMPLtimestamplTYPE timestamplLocalDateTime (Long)
클라이언트 식별자CLNTabap.clntTYPE c LENGTH 3 (기본 sy-mandt)Client ID 세션 파라미터
Raw 바이너리 데이터RAW(len)abap.raw(len)TYPE x LENGTH lenbyte[] (바이트 배열)
가변 바이너리 데이터RAWSTRINGabap.rawstringTYPE xstringBlob / 파일 스트림 데이터

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 라이센스를 따릅니다.