안녕하세요 아밥 초보입니다.
다름이 아니오라,
cost element planning 프로그램에서 입력한 예산 금액 값과
DB에 저장되는 금액 값이 차이가 나는 이유가 궁금합니다.
예를 들어, 예산에 50000원을 입력했을 때
실제 집행 금액이 예산을 초과하는지 여부를 체크하는 펑션이 있는데요.
펑션을 테스트하기 위한 입력값으로 집행금액을 넣어주는데, 원래 대로라면 60000원을 입력하면 10000원이 초과되었다는 것이 리턴되어야 하는데 막상 해보면 제대로 되지 않습니다.
하지만 600을 입력하면 제대로 되는데 그 이유는 DB에 저장된 50000원이 500.00으로 저장되어 있기 때문이라고 하더군요.
제가 궁금한 것은 한화(KRW)의 경우만 그런건지 아니면 모든 국가별 통화가 다 그렇게 실제 입력값과 저장되는 값과 차이가 나는 것인지 궁금합니다.
펑션 로직에 코스트 센터를 조건으로 하여 currency를 구별하는 로직도 있는데 그럼 국가별 어떤 차이가 있다는 거잖아요.
과연 그 차이가 무엇인지, 제가 말씀 드리는 입력값과 실제 저장되는 값의 차이 관점에서 설명해주시면 감사하겠습니다^^
질문이 넘 장황한데, 이해해주시고
친절한 답변 기대할께요.
감사합니다.^^
환율을 표시하는 방법은 두가집니다.
직접표시법, 간접표시법
직접표시법은 외화의 1단위 또는 100단위에 대한 자국통화의 교환대가를 표시하는 방법이고
간접표시법은 자국통화 1단위 또는 100단위에 대한 외화의 교환대가를 표시하는 방법입니다.
대부분 직접표시법을 사용하구요 저희나라도 직접을 사용합니다.
SAP내에서 우리나라의 경우 일본의 엔화, 인도네시아 루피아등에 1이아닌 100단위 환율을 적용합니다.
요기까진 환율에 대한 일반적 이야기고
SAP내에서 제가 알기로는 JPY, KRW, EUR 일때 100단위로 적용되어 저장되는거 같습니다 (Type : M)
저같은 경우는 다음의 함수를 이용합니다.
CURRENCY_AMOUNT_SAP_TO_DISPLAY 를 이용해서 보여줄때 처리를 하고 반대로는
CURRENCY_AMOUNT_DISPLAY_TO_SAP 을 이용해서 내부적인 값을 알수 있습니다.