본문 바로가기
IT/SAP

[IT#3][SAP], SalesOrder CREATE BAPI 사용 시 BUSINESS_OBJECT - 코드 찾기

by 봉부 2021. 6. 25.

[SAP], SalesOrder CREATE BAPI 사용 시 BUSINESS_OBJECT - 코드 찾기

 

 

 

 

 

 

 


(+) 매출증가 오더를 일괄로 ,생성하는 프로그램을 개발하기, 위해

기존에 개발되어 있던 (-) 매출차감 오더를 일괄로 만드는 프로그램을 참조하여,

Sales Order Create Bapi인 'SD_SALEDOCUMENT_CREATE'를 사용하려니,

BUSINESS OBJECT가 맞지 않아서 생성이 불가

 

 



헤매다가 알게 된

오더 타입(SALES ORDER TYPE) 별로 어떤 BUSSINESS_OBJECT 코드를 사용해야하는지

찾는 방법을 정리

 


오더 타입별로 어떤 BUSINESS_OBJECT코드를 사용해야 하는지
‘SD_OBJECT_TYPE_DETERMINE’ 이라는 Function을 활용하여 찾을 수 있음

IMPORT 값으로 I_DOCUMENT_TYPE을 줘
RETRUN 값으로 BUSSINESS_OBJECT 코드를 확인하는 Function임

 

 

 

 

 

 

 


해당 Function의 소스를 확인

I_DOCUMENT_TYPE이 'A'이면 BUS_2030
'I'이면 BUS_2103 이나 BUS_2032
'B'이면 BUS_2031 , 'CI'이면 BUS_2032
'G'이면 BUS_2034 , 'EF'이면 BUS_2035
'K'이면BUS_2094, 'O'면 BUS_2095
'L'이면 BUS_2096 , 'H'면 BUS_2102
'G'면 BUS_2090 등

지정 하면 되는 것 같은데
DOCUMENT_TYPE코드는 어디서 가져와야하는지?

 

 

 

 

 


이는 IMG에서 오더타입을 ,정의한 내역에서 확인이 가능
판매관리 > 매출액 > 판매 문서 > 영업문서,헤더 > 영업문서유형정의에서 ,들어가 확인을 해보면
각 오더타입 별 세팅값을, 확인할 수 가 있음

위와, 같이 정의된 오더 타입에서 ,SD문서범주라는 ,카테고리가 DOCUMENT_TYPE이 됨

 

 

 

 

 

 


각 SD문서범주는 위와 같이 정의

생성하려던 오더타입의 SD문서범주는

'L' 차변, 메모 요청이었는데

'K' 대변 ,메모 요청의 BUSINESS OBJECT인 BUS_2094로 BAPI를 태우려다보니

오류가 발생했던 것으로 확인

 

 

 


 Function : SD_OBJECT_TYPE_DETERMINE에,서 I_DOCUMENT_TYPE을, 'L'로 주니

BUSINESS_OBJECT를 BUS2096으로, 지정해야한다고 확인

 

 

 

 

 

 

 

댓글