안녕하세요. abap 초년생 입니다.
mb26에서 예약 번호 단위로 가용성 체크를 하고 싶습니다.
예약번호 0001 --- 자재 1 가용성 이상 x
자재 2 가용성 이상 x
자재 3 가용성 이상 o
이렇게 3개의 자재가 한가지 예약번호에 묶여 있는 경우 한가지 자재라도 가용성에 이상이 있으면
해당 예약번호에 대해서 문서처리가 되지 않도록 하고 싶습니다.
그래서 다른 올라온 자료를 참고해서 MBCF0002 을 사용해서 userexit을 만들어 보았습니다.
exit은 잘 먹지만 가용성 이상이 없는 자재에 대해서는 자재문서를 생성해 버립니다.
어떻게 자재문서 생성을 하지 않고 error 메세지를 뿌리고 저장하려고 하는 화면으로
다시 돌아가는 방법이 없을까요? leave screen to xxxx 안되더라구요 ㅜㅠ
IF sy-tcode = 'MB26' AND ( i_mseg-bwart = xxx OR i_mseg-bwart = xxx ).
CLEAR : it_wmdvsx, it_wmdvex.
REFRESH : it_wmdvsx, it_wmdvex.
CALL FUNCTION 'BAPI_MATERIAL_AVAILABILITY'
EXPORTING
plant = i_mseg-werks " 플랜트
material = i_mseg-matnr " 자재코드
unit = i_mseg-meins " 단위
check_rule = 'RP'
stge_loc = i_mseg-lgort " 저장위치
IMPORTING
av_qty_plt = l_menge
TABLES
wmdvsx = it_wmdvsx
wmdvex = it_wmdvex.
input_menge = i_mseg-menge.
IF input_menge > l_menge.
#자재문서 전기를 하지 않고 error 메세지나 또는 저장하는 화면으로 다시
돌아가고 싶습니다.
ENDIF.
ENDIF.