对于生产工单完工收货(migo+101),我作为ABAP人员通过对日常业务了解。总结以下几种情况可以通过增强方式进行控制。
1、收货时未报工。
2、未投料就有产出。
3、在全部收货时判断贵重A类物料是否按工单组件要求进行投料(A类物料需要在主数据MRP视图中设置)。
具体开发部署如下:
1、通过CMOD事务代码,引入出口增强。增强点如下。
2、收货时未报工的代码。
DATA:TMPOBJNR TYPE aufk-objnr.
DATA:i_jest LIKE jest OCCURS 0 WITH HEADER LINE .
IF i_mseg-aufnr IS NOT INITIAL AND i_mseg-bwart = '101' AND i_mseg-ebeln IS INITIAL .
SELECT SINGLE
aufk~objnr
INTO TMPOBJNR
FROM AUFK
WHERE AUFK~AUFNR = i_mseg-AUFNR AND AUFK~WERKS = i_mseg-WERKS.
SELECT * FROM jest
INTO CORRESPONDING FIELDS OF TABLE i_jest
WHERE objnr = TMPOBJNR.
SORT i_jest .
DELETE i_jest WHERE ( stat <> 'I0009' AND inact = space ) or inact = 'X'.
IF i_jest[] is INITIAL.
MESSAGE '报工未完成,无法收最后一次货!' TYPE 'I'.
ENDIF.
ENDIF
3、未投料就有产出
IF i_mseg-aufnr IS NOT INITIAL AND i_mseg-bwart = '101' AND i_mseg-ebeln IS INITIAL .
SELECT AUFNR MBLNR BUDAT BWART RSNUM R