모듈쪽에만 가끔 활동하다가, ABAP쪽 질문을 하게 되는 것 처음인듯합니다. ^^
ABAP을 야매(???)로 배워서 부족한게 많거든요.
고수님의 지도를 받고자 질문을 올립니다.
구현하고자 하는 부분은,
전기된(101 or 309) 자재문서를 역분개 처리 하려고 하는데,
역분개시 이동평균가가 엄청나게 튀는 case에 관련된 것입니다.
(동일한 자재에 대해서 단가가 복수인 입고건이 존재할 경우, 예를 들어 보통 1TO당 60,000원 이던 자재가,
0.03TO에 10,000원이 되어서 이동평균가가 333,333원 으로 튀는 경우)
혹시 이러한 걸 방지 할수 있는 로직이나, user exit, customer exit 등을 알고 계시면 알려주세요.
(지금 까지 제가 고민한건, CBO쪽에서 취소 bapi를 타기전에,
mseg 테이블이랑, ML테이블의 필드값들을 참조하여 check 로직을 만들려고 하고 있습니다. )
감사합니다.
자문 자답이라도 해야 겠네요.
우선 트랜젝션 migo 에서 처리 가능한 BADI는 IF_EX_MB_MIGO_BADI~POST_DOCUMENT 네요.
그런데 이 방법을 사용하지 않고,
기존 CBO프로그램에서 해당 문서를 취소할때,
MBEW와 MBEWH에서 현재 재고 수량/값을 가져오고, mseg에서 기존 문서의 금액을 가져오고,
이것을 통해 예상 이동평균가를 구해서 이전값과 비교 처리 하도록 로직을 구성했습니다.
..
지금 여러가지 case를 놓고 수정해가며 테스트 하고 있네요.
잘 적용되야 할텐데.. ^^