SAP TRM 금융거래는 고객이나 G/L 계정으로만 전기가 가능합니다.
여기서 BAdI를 사용하여 공급업체 원장으로 전기해 보도록 해보겠습니다.
물론 지급 요청을 사용하여 고객 원장으로 F111(지급요청에 대한 자동지급거래)로 지급처리를 할 수 있지만,
여러가지 사유 등으로 User Exit을 통해 공급업체 원장으로 기표하기로 결정했습니다.
(지급에 대한 CBO 프로그램이 다 공급업체 기준이라는 점, BP 계좌번호 변경에 대한 내부통제 프로세스가 없다는 점 등등…)
☞ T-CODE : SE19
Claasic BAdI에 TPM_ACCIF_TRAC 입력하고 신규 생성
여기에 많은 메소드가 있는데,
전체 구조를 바꿀 수 있는 ACCIT_EXIT를 사용해 봅시다.
해당 메소드의 매개변수는 위와 같습니다.
- IM_DATA: 금융 거래에 대한 정보
- CH_ACCIT_D: 차변(Debit)
- CH_ACCIT_C: 대변(Credit)
코드는 다음과 같이 작성했습니다.
한 단계씩 나눠서 보면
1. 유효성 체크: 고객 지급에 대한 부문만 적용.
CHECK CH_ACCIT_C-SHKZG = 'H' AND CH_ACCIT_C-KOART = 'D'.
2. BP 가져오기: 매개변수 IM_DATA의 필드 중 TAB_BP에서 비즈니스 파트너에 대한 정보 조회
READ TABLE IM_DATA-TAB_BP INDEX 1 INTO LS_BP.
3. 공급업체 코드: BP에 연결된 공급업체 코드 가져오기.
SELECT SINGLE V~VENDOR
INTO LV_LIFNR
FROM BUT000 AS B
INNER JOIN CVI_VEND_LINK AS V
ON B~PARTNER_GUID = V~PARTNER_GUID
WHERE B~PARTNER = LS_BP-BUSINESS_PARTNER_NUMBER.
저같은 경우에는, BP에 연결된 공급업체 코드를 가져왔는데
다른 방식으로 공급업체 코드를 조회해도 상관 없습니다.
4. 전표 라인 변경: 고객 원장 -> 공급업체 원장
CLEAR CH_ACCIT_C-KUNNR.
CH_ACCIT_D-BLART = CH_ACCIT_C-BLART = '전표 유형'.
CH_ACCIT_C-BSCHL = '31'.
CH_ACCIT_C-KOART = 'K'.
CH_ACCIT_C-LIFNR = LV_LIFNR.
CH_ACCIT_C-HKONT = '공급업체 조정 계정'.
CH_ACCIT_C-BUPLA = '사업장'.
CH_ACCIT_C-ZTERM = '지급조건'.
CH_ACCIT_C-ZLSCH = '지급방법'.
CH_ACCIT_C-ZLSPR = '지급보류'.
KUNNR(고객)에 대한 값을 초기화 해주고, 나머지는 원하는 정보로 채우면 됩니다.
이제 테스트를 해봅시다.
☞ T-CODE : FTR_EDIT
흐름 방향 -(유출) 생성
☞ T-CODE : TBB1
흐름 전기 - 테스트 실행 먼저
공급업체 송장으로 잘 기표되었습니다.
☞ T-CODE : TPM10
흐름 취소 및 역분개도 문제없이 가능합니다!
'SAP TR' 카테고리의 다른 글
[SAP TR] 자동지급 은행결정_Payment Program Bank determination (0) | 2024.12.02 |
---|---|
[SAP TR] 자동지급 지급방법 설정_Payment Program Configuration (0) | 2024.11.10 |