ABAP/Function Module

[ABAP] TCURR 환율 테이블 관련 함수

샙브리띵 2023. 8. 22. 19:23

[FUNCTION NAME : DAY_ATTRIBUTES_SET]
 
DAY_FROM 부터 DATE_TO 까지의 날짜를 추출하여 LANGUAGE에 맞는 날짜들을 인터널 테이블에 담아주는 FUNCTION이다.

 
예를 들어 DAY_FROM에 2023.08.01 일자를 입력하고, DATE_TO에 2023.08.31 일자를 입력한 뒤 언어는 한국어 환경에서 해당 날짜들을 추출했다고 가정했을 때 아래와 같이 인터널 테이블에 담기게 된다.

 
주의할 점은 해당 파라미터들의 데이터 타입이다.  아래의 데이터 타입으로 선언하지 않으면 'CX_SY_DYN_CALL_ILLEGAL_TYPE' 덤프가 발생한다. 특히 EXPORTING의 LANGUAGE 파라미터는 T002 테이블의 SPRAS 필드값을 넣어주어야 한다.

 


[FUNCTION NAME : CONVERSION_EXIT_INVDT_INPUT]
 
TCURR 환율 테이블의 GDATU 날짜 필드에는 특이하게도 이 FUNCTION을 사용해서 날짜 데이터를 컨버젼해야 테이블에 값이 올바르게 들어간다. SELECT를 이용해서 GDATU 필드값을 BETWEEN할 때도 날짜가 더 큰 값을 왼쪽에 작은 값을 오른 쪽에 넣어야 값이 올바르게 추출된다.

 


[FUNCTION NAME : READ_EXCHANGE_RATE]
 
Date, From currency와 To currency, Exchange Rate Type을 입력하면 해당 날짜의 환율 데이터를 추출할 수 있는 FUNCTION이다.

 


[FUNCTION NAME : RP_LAST_DAY_OF_MONTHS]
 
EXPORTING의 DAY_IN 파라미터 날짜의 해당 월의 말일 날짜를 추출하는 FUNCTION이다.

 

 

[FUNCTION NAME : CONVERT_TO_FOREIGN_CURRENCY]

 

EXPORTING의 DATE 파라미터 날짜에 해당하는 환율 정보를 참조하여 LOCAL_CURRENCY에서 FOREIGN_CURRENCY로 금액을 환산해 주는 FUNCTION이다.

 

아래의 코드로 보면, 1,000 KRW를 USD로 환산했을 때 환율과 금액이 얼마인지 알 수 있다. 따라서 IMPORTING의 EXCHAGE_RATE는 1 USD를 나타내는 KRW의 환율이고, FOREIGN_AMOUNT는 1,000 KRW를 USD로 환산한 금액이다.

 

* WRITE문 결과값