FI(Financial Accounting) 모듈 - 금융 데이터를 처리하고 관리하기 위해 설계된 핵심 모듈
FI 모듈에서 ABAP의 활용 - 금융 데이터 관리, 재무 보고서 작성, 데이터 인터페이스 구현 등
FI 모듈은 기업의 재무 상태를 실시간으로 관리할 수 있게 해주며, ABAP을 활용하여 금융 데이터 관리와 관련된 다양한 작업을 자동화하거나 최적화할 수 있음
LOOP AT lt_customer INTO ls_customer. " 고객 데이터를 반복 처리
CALL FUNCTION 'BAPI_CUSTOMER_CREATEFROMDATA1' " 고객 생성 BAPI 호출
EXPORTING
customerdata = ls_customer. " 고객 데이터를 전달
ENDLOOP.
SELECT bukrs, hkont, dmbtr, budat " 회사 코드, 계정, 금액, 문서 일자 선택
INTO TABLE lt_ledger
FROM bseg " 회계 문서 테이블
WHERE budat BETWEEN '20230101' AND '20231231'. " 특정 기간의 트랜잭션만 선택
SAP FI 모듈에서는 재무 보고서(예: 손익계산서, 대차대조표, 현금흐름표 등)를 생성하는 데 필요한 기능을 제공한다. ABAP을 활용하여 이러한 보고서를 사용자 정의하여 특정 요구사항에 맞출 수 있다.
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)
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.
SAP 시스템은 다른 시스템과 데이터를 주고받기 위해 인터페이스를 필요로 한다. ABAP은 이러한 인터페이스를 구현하는 데 중요한 역할을 한다.
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.
FUNCTION z_get_account_balance.
IMPORTING
VALUE(iv_account) TYPE hkont " 외부 시스템에서 전달된 계좌 번호
EXPORTING
VALUE(ev_balance) TYPE dmbtr. " 조회된 잔액 반환
ENDFUNCTION.
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를 함수에 전달