부제: 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 탭에서 한다.
다른 테이블에 있는 필드와 연결시킬수도 있다.
감사합니다.
'SAP > ABAP' 카테고리의 다른 글
handle_data_changed vs handle_data_changed_finished 차이, mc_evt_modified vs mc_evt_enter 차이점 (0) | 2023.09.12 |
---|---|
ABAP 코드 비교 분석 EXIT CANEL STOP CHECK 차이점 (0) | 2023.09.05 |