收货已完成,此时删除订单系统是不允许的,正常会报错06115,
现在问题是生产机不报这个消息,直接删除了订单行,查了一下资料,都说这个配置是系统写死的,通过增加06115的消息号 也不起作用。
通过检查发现,生产机可以删除的是已经做发票校验的采购订单,如果只做收货也是删除不了的,SAP再这一块是没有控制的,需要增强。
必须使用MM06E005进行增强,在此处插入您的逻辑以检查EKBE等PO历史表,然后检查发票“Q”(BEWTP)是否存在,一旦用户删除PO行并保存它,就无法删除PO。请您的开发人员帮助您进行以下编码。
Use MM06E005 and EXIT_SAPMM06E_012
IF SY-TCODE = 'ME22N'.
IF sy-ucomm = 'MESAVE' OR SY-UCOMM = 'YES'..
LOOP AT TEKPO.
IF TEKPO-LOEKZ = 'L'.
SELECT SINGLE BELNR FROM EKBE INTO BELNR1 WHERE EBELN = TEKPO-EBELN AND EBELP = TEKPO-EBELP AND BEWTP = 'E'.
IF SY-SUBRC = 0.
SELECT SINGLE BELNR FROM EKBE INTO BELNR2 WHERE EBELN = TEKPO-EBELN AND EBELP = TEKPO-EBELP AND BEWTP = 'Q'.
IF SY-SUBRC = 0.
Regards,