본문 바로가기
IT 인걸/ABAP

SAP ABAP 통화 변환 및 환율 조회 함수(예제 포함) 💰📊

by sports_in_girl 2025. 2. 5.
반응형


안녕하세요! 😊
오늘은 SAP ABAP에서 통화 관련 함수(펑션) 모듈을 활용하는 방법을 소개해 드릴게요. SAP에서는 통화 변환, 환율 조회, 통화 코드 변환 등 다양한 기능을 수행하는 함수 모듈을 제공하고 있어요.

특히 글로벌 비즈니스 환경에서는 여러 통화를 실시간으로 변환해야 하는 경우가 많기 때문에, SAP에서 제공하는 통화 변환 함수를 잘 활용하면 보다 정확한 금융 데이터를 처리할 수 있습니다.

그럼, 주요 SAP 통화 관련 함수 5가지를 살펴볼까요? 🚀


🏆 1. FCURR_EXTERNAL - 외부 환율을 사용한 통화 변환

💡 설명:
FCURR_EXTERNAL 함수는 특정 날짜의 환율을 기준으로 한 통화를 다른 통화로 변환하는 데 사용됩니다.
예를 들어, USD를 KRW로 변환할 때 사용할 수 있어요.

📌 사용 예시 (ABAP 코드)

DATA: lv_amount         TYPE f,
      lv_amount_conv    TYPE f,
      lv_currency_input  TYPE waers,
      lv_currency_output TYPE waers.

lv_amount = '1000'.
lv_currency_input = 'USD'.
lv_currency_output = 'KRW'.

CALL FUNCTION 'FCURR_EXTERNAL'
  EXPORTING
    date             = sy-datum
    currency         = lv_currency_input
    foreign_amount   = lv_amount
    to_currency      = lv_currency_output
  IMPORTING
    local_amount     = lv_amount_conv
  EXCEPTIONS
    OTHERS           = 1.

IF sy-subrc = 0.
  WRITE: / '변환된 금액:', lv_amount_conv, lv_currency_output.
ELSE.
  WRITE: / '통화 변환 오류'.
ENDIF.

📌 활용 사례:

  • SAP 시스템에서 외환 환율을 적용하여 자동 변환
  • 회계 및 재무 모듈에서 다양한 국가 통화 변환 시 사용

🏆 2. CONVERSION_EXIT_ALPHA_INPUT - 통화 코드 변환

💡 설명:
SAP에서는 종종 통화 코드나 데이터 값을 특정 형식으로 변환해야 할 때가 있어요.
CONVERSION_EXIT_ALPHA_INPUT 함수는 소문자 입력을 대문자로 변환하는 데 유용합니다.

📌 사용 예시 (ABAP 코드)

DATA: lv_currency_input TYPE waers,
      lv_currency_conv  TYPE waers.

lv_currency_input = 'usd'.

CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
  EXPORTING
    input  = lv_currency_input
  IMPORTING
    output = lv_currency_conv
  EXCEPTIONS
    OTHERS = 1.

IF sy-subrc = 0.
  WRITE: / '변환된 통화 코드:', lv_currency_conv.
ELSE.
  WRITE: / '통화 코드 변환 오류'.
ENDIF.

📌 활용 사례:

  • 데이터 입력 시 통화 코드 일관성 유지
  • 대소문자 변환이 필요한 모든 필드에 적용 가능

🏆 3. BAPI_CURRENCY_GETEXCHANGERATE - 환율 조회

💡 설명:
BAPI_CURRENCY_GETEXCHANGERATE 함수는 실시간 환율 정보를 조회하는 데 사용됩니다.
예를 들어, EUR → USD 환율을 확인할 때 유용해요.

📌 사용 예시 (ABAP 코드)

DATA: lt_exchangerate TYPE TABLE OF bapicurrtype,
      ls_exchangerate TYPE bapicurrtype,
      lv_source_currency TYPE waers,
      lv_target_currency TYPE waers,
      lv_exchange_rate  TYPE f.

lv_source_currency = 'EUR'.
lv_target_currency = 'USD'.

CALL FUNCTION 'BAPI_CURRENCY_GETEXCHANGERATE'
  EXPORTING
    source_currency = lv_source_currency
    target_currency = lv_target_currency
    exchange_date   = sy-datum
  TABLES
    exchangerate    = lt_exchangerate
  EXCEPTIONS
    OTHERS          = 1.

IF sy-subrc = 0 AND lt_exchangerate IS NOT INITIAL.
  READ TABLE lt_exchangerate INTO ls_exchangerate INDEX 1.
  lv_exchange_rate = ls_exchangerate-rate.
  WRITE: / '환율:', lv_exchange_rate.
ELSE.
  WRITE: / '환율 조회 오류'.
ENDIF.

📌 활용 사례:

  • 금융 및 재무 데이터 분석 시스템
  • SAP ERP에서 실시간 환율 조회

🏆 4. CURRENCY_CONVERT - 특정 환율을 적용한 변환

💡 설명:
CURRENCY_CONVERT 함수는 사용자가 지정한 환율을 적용하여 통화를 변환하는 기능을 제공합니다.
예를 들어, 특정 날짜에 GBP → JPY 변환 시 활용할 수 있어요.

📌 사용 예시 (ABAP 코드)

DATA: lv_amount         TYPE f,
      lv_amount_conv    TYPE f,
      lv_currency_input  TYPE waers,
      lv_currency_output TYPE waers,
      lv_date            TYPE sy-datum,
      lv_exchange_rate   TYPE f.

lv_amount = '2000'.
lv_currency_input = 'GBP'.
lv_currency_output = 'JPY'.
lv_date = '20250201'. " 변환 기준 날짜
lv_exchange_rate = '150.25'. " 사용자 정의 환율

CALL FUNCTION 'CURRENCY_CONVERT'
  EXPORTING
    amount            = lv_amount
    source_currency   = lv_currency_input
    target_currency   = lv_currency_output
    conversion_date   = lv_date
    exchange_rate     = lv_exchange_rate
  IMPORTING
    converted_amount  = lv_amount_conv
  EXCEPTIONS
    OTHERS            = 1.

IF sy-subrc = 0.
  WRITE: / '변환된 금액:', lv_amount_conv, lv_currency_output.
ELSE.
  WRITE: / '통화 변환 오류'.
ENDIF.

📌 활용 사례:

  • 특정 날짜의 환율 적용 필요 시
  • 회계 및 재무 부서에서 맞춤형 환율을 적용할 때

🏆 5. BAPI_EXCHANGERATE_GETDETAIL - 상세 환율 정보 조회

💡 설명:
BAPI_EXCHANGERATE_GETDETAIL 함수는 특정 통화 쌍의 상세한 환율 정보(시작일, 종료일, 환율 타입 등)를 조회할 수 있어요.

📌 사용 예시 (ABAP 코드)

DATA: lt_exchange_rate_detail TYPE TABLE OF bapicurrdatedetails,
      ls_exchange_rate_detail TYPE bapicurrdatedetails,
      lv_source_currency     TYPE waers,
      lv_target_currency     TYPE waers.

lv_source_currency = 'CAD'.
lv_target_currency = 'AUD'.

CALL FUNCTION 'BAPI_EXCHANGERATE_GETDETAIL'
  EXPORTING
    source_currency = lv_source_currency
    target_currency = lv_target_currency
  TABLES
    exchange_rate_detail = lt_exchange_rate_detail
  EXCEPTIONS
    OTHERS               = 1.

IF sy-subrc = 0 AND lt_exchange_rate_detail IS NOT INITIAL.
  LOOP AT lt_exchange_rate_detail INTO ls_exchange_rate_detail.
    WRITE: / '환율 타입:', ls_exchange_rate_detail-rate_type,
           '시작일:', ls_exchange_rate_detail-start_date,
           '환율:', ls_exchange_rate_detail-rate.
  ENDLOOP.
ELSE.
  WRITE: / '환율 상세 조회 오류'.
ENDIF.

📌 활용 사례:

  • 기업의 환율 변동 추적
  • 외환 트랜잭션 분석

🎯 결론

✔ SAP에서는 다양한 통화 변환 및 환율 조회 함수를 제공하며, 이를 활용하면 보다 정확하고 효율적인 금융 데이터 처리가 가능해요.
SAP 재무(FI), 회계, ERP 모듈에서 중요한 역할을 하므로 잘 익혀두면 좋아요!
✔ SAP에서 통화 변환을 자동화하면 업무 효율성을 극대화할 수 있어요! 🚀

 

반응형