SAP - FI 모듈

kailyn·2024년 8월 19일

SAP

목록 보기
11/12

FI(Financial Accounting) 모듈 - 금융 데이터를 처리하고 관리하기 위해 설계된 핵심 모듈
FI 모듈에서 ABAP의 활용 - 금융 데이터 관리, 재무 보고서 작성, 데이터 인터페이스 구현 등

1. 금융 데이터 관리

FI 모듈은 기업의 재무 상태를 실시간으로 관리할 수 있게 해주며, ABAP을 활용하여 금융 데이터 관리와 관련된 다양한 작업을 자동화하거나 최적화할 수 있음

  • 마스터 데이터 관리: 고객, 공급업체, 계정 그룹, 자산 등과 같은 마스터 데이터를 생성하고 관리할 수 있다. ABAP 프로그램을 통해 데이터의 대량 입력, 업데이트, 삭제 작업을 효율적으로 수행할 수 있다.
LOOP AT lt_customer INTO ls_customer.      " 고객 데이터를 반복 처리
  CALL FUNCTION 'BAPI_CUSTOMER_CREATEFROMDATA1'   " 고객 생성 BAPI 호출
    EXPORTING
      customerdata = ls_customer.          " 고객 데이터를 전달
ENDLOOP.
  • 트랜젝션 데이터 처리: 회사의 각종 금융 트랜잭션(예: 매출, 구매, 지출 등)을 관리할 수 있다. 이 데이터를 처리하고 분석하기 위해 ABAP을 사용하여 데이터 추출 및 보고서 생성이 가능하다.
SELECT bukrs, hkont, dmbtr, budat        " 회사 코드, 계정, 금액, 문서 일자 선택
  INTO TABLE lt_ledger
  FROM bseg                              " 회계 문서 테이블
  WHERE budat BETWEEN '20230101' AND '20231231'.  " 특정 기간의 트랜잭션만 선택

2. 재무 보고서 작성

SAP FI 모듈에서는 재무 보고서(예: 손익계산서, 대차대조표, 현금흐름표 등)를 생성하는 데 필요한 기능을 제공한다. ABAP을 활용하여 이러한 보고서를 사용자 정의하여 특정 요구사항에 맞출 수 있다.

  • 표준 보고서 확장: SAP 표준 재무 보고서를 확장하거나 수정하여 회사의 특정 요구사항에 맞출 수 있다. 예를 들어, 특정 계정 그룹에 대한 추가적인 세부 사항을 포함시키는 등의 작업을 수행할 수 있다.
SELECT hkont, dmbtr, shkzg              " 계정, 금액, 차변/대변 구분 선택
  INTO TABLE lt_report
  FROM bseg
  WHERE bukrs = '1000' AND hkont LIKE '4%'.  " 특정 회사 코드와 계정 그룹(예: 비용 계정) 선택

shkzg 필드는 SAP FI 모듈에서 차변(Debit)과 대변(Credit)을 구분하는 필드
shkzg 필드는 BSEG (회계 문서 세그먼트) 테이블에 있으며, 거래의 성격이 차변인지 대변인지를 나타낸다.

  • S: 차변 (Soll)
  • H: 대변 (Haben)
  • 맞춤형 보고서 개발: ABAP을 사용하여 특정 요구사항에 따라 맞춤형 재무 보고서를 개발할 수 있다. 예를 들어, 특정 기간 동안의 모든 매출 계정의 변동 내역을 요약하는 보고서를 생성할 수 있다.
DATA: lt_sales_report TYPE TABLE OF zsales_report.   " 사용자 정의 테이블 타입 선언

SELECT hkont, sum( dmbtr ) AS total_sales      " 계정별 매출 합계 계산
  INTO TABLE lt_sales_report
  FROM bseg
  WHERE hkont BETWEEN '400000' AND '499999'    " 매출 계정 범위
  GROUP BY hkont.

3. 데이터 인터페이스 구현

SAP 시스템은 다른 시스템과 데이터를 주고받기 위해 인터페이스를 필요로 한다. ABAP은 이러한 인터페이스를 구현하는 데 중요한 역할을 한다.

  • IDoc(Intermediate Document) 인터페이스: 다른 시스템과의 데이터 교환을 위해 IDoc을 사용하여 송수신하는 프로세스를 설정할 수 있다. 예를 들어, FI 데이터를 외부 시스템으로 전송하는 IDoc 인터페이스를 구현할 수 있다.
DATA: lv_idoc_number TYPE edidc-docnum.

CALL FUNCTION 'IDOC_OUTPUT_FINANCIAL'
  EXPORTING
    master_idoc_control = ls_idoc_control   " IDoc 제어 헤더
  TABLES
    idoc_data           = lt_idoc_data      " IDoc 데이터 세그먼트
  EXCEPTIONS
    others              = 1.
  • RFC(원격 함수 호출) 인터페이스: 외부 시스템에서 SAP 시스템의 기능을 호출하기 위해 RFC를 사용할 수 있다. 예를 들어, 외부 애플리케이션이 특정 계좌의 잔액을 조회하는 RFC를 구현할 수 있다.
FUNCTION z_get_account_balance.
  IMPORTING
    VALUE(iv_account) TYPE hkont      " 외부 시스템에서 전달된 계좌 번호
  EXPORTING
    VALUE(ev_balance) TYPE dmbtr.     " 조회된 잔액 반환
ENDFUNCTION.
  • ALE(Application Link Enabling) 설정: 회사 내 다양한 SAP 시스템 간의 데이터 교환을 위해 ALE를 설정할 수 있다. 예를 들어, 회사 본사와 지사 간의 재무 데이터를 동기화하기 위한 프로세스를 구현할 수 있다.
CALL FUNCTION 'MASTER_IDOC_DISTRIBUTE'                " IDoc을 전송하는 SAP 표준 함수 모듈을 호출
  EXPORTING
    master_idoc_control = ls_idoc_control             " IDoc 제어 헤더 정보가 담긴 구조체 ls_idoc_control을 함수에 전달
  TABLES
    communication_idoc_control = lt_comm_idoc_control " IDoc 통신 제어 정보를 담은 내부 테이블 lt_comm_idoc_control을 함수에 전달
    master_idoc_data           = lt_idoc_data.        " IDoc 데이터 세그먼트를 담은 내부 테이블 lt_idoc_data를 함수에 전달
profile
나는 할 수 있다...!

0개의 댓글