본문 바로가기
IT 인걸/ABAP

SAP ABAP에서 가장 많이 검색되는 함수 TOP 7🚀

by sports_in_girl 2025. 2. 5.
반응형

안녕하세요! 😊
SAP 시스템을 사용하면서 자주 활용되는 함수(Function Module) 들을 정리해보았습니다.
SAP에서는 다양한 기능을 수행하기 위해 수많은 함수 모듈이 제공되는데, 이 중에서도 자주 검색되는 핵심 함수들이 있어요.

오늘은 SAP 개발자와 사용자들이 가장 많이 찾는 TOP 7 SAP 함수를 소개하고, 각 함수의 용도와 사용 예시를 함께 제공하겠습니다!


📌 목차

  1. RFC_READ_TABLE – 테이블 데이터 조회
  2. BAPI_USER_GET_DETAIL – 사용자 상세 정보 조회
  3. CONVERSION_EXIT_ALPHA_INPUT – 키 값 변환
  4. FCURR_EXTERNAL – 통화 변환
  5. BAPI_MATERIAL_GET_DETAIL – 자재 정보 조회
  6. GET_TIME – 현재 시간 가져오기
  7. CALCULATE_DEPRECIATION – 감가상각 계산
  8. 결론

🏆 1. RFC_READ_TABLE – 테이블 데이터 조회

💡 설명:
SAP 시스템 내의 테이블 데이터를 원격으로 조회할 때 사용되는 함수입니다.
특히 외부 시스템과의 인터페이스에서 유용하게 활용됩니다.

📌 사용 예시 (ABAP 코드)

DATA: lt_data TYPE TABLE OF RFC_DB_TAB,
      lt_fields TYPE TABLE OF RFC_DB_FLD,
      ls_options TYPE RFC_DB_OPT.

CALL FUNCTION 'RFC_READ_TABLE'
  EXPORTING
    QUERY_TABLE = 'MARA'   " 조회할 테이블 (예: 자재 테이블)
    DELIMITER   = ','
    NO_DATA     = ' '
  TABLES
    FIELDS     = lt_fields
    OPTIONS    = lt_options
    DATA       = lt_data
  EXCEPTIONS
    OTHERS     = 1.

IF sy-subrc = 0.
  LOOP AT lt_data INTO DATA(ls_row).
    WRITE: / ls_row.
  ENDLOOP.
ELSE.
  WRITE: / '데이터 조회 오류'.
ENDIF.

📌 활용 사례:

  • SAP 테이블 데이터를 외부 시스템으로 전송
  • 특정 조건에 맞는 데이터 조회

🏆 2. BAPI_USER_GET_DETAIL – 사용자 상세 정보 조회

💡 설명:
SAP 시스템에서 특정 사용자의 상세 정보를 가져오는 함수입니다.
사용자 계정 관리 및 인증 시스템과 연동할 때 유용합니다.

📌 사용 예시 (ABAP 코드)

DATA: ls_user_detail TYPE BAPIUSR0021.

CALL FUNCTION 'BAPI_USER_GET_DETAIL'
  EXPORTING
    USERNAME = 'JOHNDOE'
  IMPORTING
    USERDETAIL = ls_user_detail
  EXCEPTIONS
    USER_NOT_FOUND = 1
    OTHERS        = 2.

IF sy-subrc = 0.
  WRITE: / '사용자 이름:', ls_user_detail-firstname, ls_user_detail-lastname.
ELSE.
  WRITE: / '사용자 정보 조회 오류'.
ENDIF.

📌 활용 사례:

  • SAP 사용자 관리
  • 사용자별 권한 및 정보 조회

🏆 3. CONVERSION_EXIT_ALPHA_INPUT – 키 값 변환

💡 설명:
SAP에서 내부적으로 사용하는 키 값(예: 자재 코드, 고객 코드 등)을 변환할 때 사용됩니다.

📌 사용 예시 (ABAP 코드)

DATA: lv_external TYPE char10 VALUE '0001234567',
      lv_internal TYPE char10.

CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
  EXPORTING
    input  = lv_external
  IMPORTING
    output = lv_internal
  EXCEPTIONS
    OTHERS = 1.

IF sy-subrc = 0.
  WRITE: / '내부 키 값:', lv_internal.
ELSE.
  WRITE: / '변환 오류'.
ENDIF.

📌 활용 사례:

  • SAP 테이블의 키 값을 표준화
  • 숫자 코드에 앞의 0을 자동으로 붙이거나 제거

🏆 4. FCURR_EXTERNAL – 통화 변환

💡 설명:
외부 환율을 적용하여 한 통화를 다른 통화로 변환하는 데 사용됩니다.

📌 사용 예시 (ABAP 코드)

DATA: lv_amount         TYPE f VALUE '1000',
      lv_conv_amount    TYPE f,
      lv_currency_input  TYPE waers VALUE 'USD',
      lv_currency_output TYPE waers VALUE 'EUR'.

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_conv_amount
  EXCEPTIONS
    OTHERS           = 1.

IF sy-subrc = 0.
  WRITE: / lv_amount, lv_currency_input, '는',
           lv_conv_amount, lv_currency_output, '입니다.'.
ELSE.
  WRITE: / '통화 변환 오류'.
ENDIF.

📌 활용 사례:

  • 국제 거래 시 환율 변환
  • SAP ERP의 재무 모듈과 연동

🏆 5. BAPI_MATERIAL_GET_DETAIL – 자재 정보 조회

💡 설명:
SAP의 자재(MATERIAL) 정보를 조회할 때 사용됩니다.

📌 사용 예시 (ABAP 코드)

DATA: ls_material_detail TYPE BAPI_MATERIAL_BULK,
      lv_material        TYPE matnr VALUE 'MAT001'.

CALL FUNCTION 'BAPI_MATERIAL_GET_DETAIL'
  EXPORTING
    MATERIAL = lv_material
  IMPORTING
    MATERIALGENERALDATA = ls_material_detail-materialgeneraldata
  EXCEPTIONS
    OTHERS = 1.

IF sy-subrc = 0.
  WRITE: / '자재명:', ls_material_detail-materialgeneraldata-description.
ELSE.
  WRITE: / '자재 정보 조회 오류'.
ENDIF.

📌 활용 사례:

  • SAP 물류 관리에서 자재 상세 정보 조회
  • 특정 자재의 가격 및 속성 확인

🏆 6. GET_TIME – 현재 시간 가져오기

💡 설명:
SAP 시스템의 현재 시간을 가져오는 함수입니다.

📌 사용 예시 (ABAP 코드)

DATA: lv_time TYPE t.

CALL FUNCTION 'GET_TIME'
  IMPORTING
    current_time = lv_time
  EXCEPTIONS
    OTHERS       = 1.

IF sy-subrc = 0.
  WRITE: / '현재 시간:', lv_time.
ELSE.
  WRITE: / '시간 조회 오류'.
ENDIF.

📌 활용 사례:

  • 로그 기록, 시간 기반 트랜잭션 처리

🏆 7. CALCULATE_DEPRECIATION – 감가상각 계산

💡 설명:
SAP 재무(FI) 모듈에서 감가상각을 계산하는 함수입니다.

📌 사용 예시 (ABAP 코드)

DATA: lv_dep_amount TYPE f.

CALL FUNCTION 'CALCULATE_DEPRECIATION'
  EXPORTING
    asset_no       = '123456'
    posting_date   = sy-datum
  IMPORTING
    depreciation_amount = lv_dep_amount
  EXCEPTIONS
    OTHERS         = 1.

IF sy-subrc = 0.
  WRITE: / '감가상각 금액:', lv_dep_amount.
ELSE.
  WRITE: / '감가상각 계산 오류'.
ENDIF.

📌 활용 사례:

  • SAP FI 모듈에서 자산 관리

🎯 결론

이렇게 SAP에서 가장 많이 검색되는 함수 7가지를 살펴보았습니다!
SAP 개발을 하면서 꼭 알아두면 업무 효율성을 높일 수 있는 필수 함수들이니, 필요할 때 활용해보세요. 🚀

질문이나 추가로 다뤄줬으면 하는 함수가 있다면 댓글로 남겨주세요! 😊

 

반응형