본문 바로가기

SAP/ABAP

SAP ABAP Dictionary Table Currency/Quantity Fields 탭

부제: SAP Dictionary Table 통화/단위 설정

 

 

안녕하세요, D 입니다.

 

 

오늘은 SAP Dictionary Table 생성 시, 단위 설정하는 것이 헷갈린다는 요청이 있어 해당 내용을 정리해봅니다.

단위 설정, 처음 접할 때는 이게 뭘까 싶은 마음인데 생각보다 간단합니다.

 

 

금액, 수량 을 표현할 때에는 숫자만 말하기보다 단위와 함께 표현합니다.

1000 , 1000 달러, 1000 , 1000 kg, 1000 g, 1000 ...

모두 숫자는 1000 이지만 의미하는 크기는 전부 다릅니다.

그래서 테이블을 생성 할 때도 숫자를 담는 필드와, 단위를 담는 필드를 모두 만들어주어야 합니다.

 

금액을 담는 데이터 타입인 CURR 은 CUKY 와 짝꿍

수량을 담는 데이터 타입인 QUAN 은 UNIT 과 짝꿍입니다.

 

 

 

우선 이해하기 쉽게 SBOOK 테이블을 확인해봅시다.

해당 테이블에서 금액/수량을 나타내는 필드는 3개가 있습니다.

LUGGWEIGHT - 수화물 중량 , FORCURKEY - 외화통화 예약가격, LOCCURKEY - 항공사의 현지통화 예약가격

 

 

 

수화물 중량, 외화 가격, 현지 가격 셋 모두 숫자 그 자체로만 존재할 수 없고 단위가 필요합니다.

(Ex. 10, 100, 10000 불가능X , 10 kg, 100 $, 10000  가능O)

 

 

그래서 SBOOK 테이블은

수화물 중량, 즉 수량의 짝꿍 - 수량을 담는 QUAN 데이터 타입 필드인 WUNIT

외화 가격, 즉 금액의 짝꿍 - 통화를 담는 CUKY 데이터 타입 필드인 FORCURKEY

현지 가격, 즉 금액의 짝꿍 - 통화를 담는 CUKY 데이터 타입 필드인 LOCKCURKEY  로

중량 - 단위, 가격 - 통화, 가격 - 통화 의 짝꿍 필드가 존재합니다.

 

 

 

이 테이블 필드를 확인할 때, 사람은 이름을 보고 혹은 필드명을 읽고

수화물 중량 과 단위가 짝꿍이구나, 외화 금액과 외화 통화가 짝꿍이구나, 현지 금액과 현지 통화가 짝꿍이구나 이해하지만

DB는 이 필드만 보고 어떤 필드가 어떤 필드의 짝꿍인지 알지 못합니다.

 

따라서, 짝꿍을 이어주는 작업이 필요하고

이를 설정하는 방법은 Currency/Quantity Fields 탭입니다.

 

 

 

SBOOK 테이블에는 수화물 중량-단위, 외화통화 예약가격-통화, 현지통화 예약가격-통화 

세 개의 금액/수량 필드, 세 개의 통화/단위 필드 가 있습니다.

 

금액/수량 필드의 참조테이블/참조필드에 통화/단위 필드를 입력함으로 두 필드를 연결할 수 있습니다.

 

SBOOK 의 경우 LUGGWEIGHT 수량 필드는 SBOOK-WUNIT 단위 필드,

FORCURAM 가격 필드는 SBOOK-FORCURKEY 통화 필드,

LOCCURAM 가격 필드는 SBOOK-LOCKCURKEY 통화 필드로 수량/단위를 명시하였습니다. . 

 

이와 같이 참조 필드만 명시하는 것이 아닌 참조 테이블고 참조 필드를 모두 입력하도록 만든 이유는

다른 테이블에 있는 필드를 참조할 수 있기 때문입니다.

 

 

 

이번에는 BSEG 테이블을 봅시다.

해당 테이블의 통화/수량 필드를 보면, 참조 테이블이 T001, BKPF, BSEG 세 종류임을 확인할 수 있습니다.

 

 

 

이렇게 적절한 데이터 필드를 활용하여 원하는 데이터를 적절히 담을 수 있습니다.

 

 

 

세 줄 정리.

금액, 수량 필드는 통화/단위 필드가 필수적으로 필요하다.

A 금액 필드는 A' 통화 필드와 짝꿍이다 라는 표시는 Currency/Quantity 탭에서 한다.

다른 테이블에 있는 필드와 연결시킬수도 있다.

 

 

 

감사합니다.