输入增强实施名称
激活增强实施
2.修改增强实施 导航到增强实施类
创建全局变量
IF_EX_MB_MIGO_BADI~LINE_MODIFY 中传入数据
method IF_EX_MB_MIGO_BADI~LINE_MODIFY. if CS_GOITEM-BWART 101 OR CS_GOITEM-BWART 102 . 移动类型101 102 delete GT_GOITEM where ZEILE I_LINE_ID. append CS_GOITEM to GT_GOITEM. endif. endmethod.IF_EX_MB_MIGO_BADI~CHECK_ITEM 中做值校验
method IF_EX_MB_MIGO_BADI~CHECK_ITEM.
data: WA_GOITEM type GOITEM.
data: LV_FLAG type C,
WA_AFRU type AFRU.
data: LV_LMNGA type AFRU-LMNGA, 报工数量
LV_VORNR type AFVC-VORNR, 最后工序的工序号
LV_ERFMG_101 type MSEG-ERFMG, 101收货入库数量
LV_ERFMG_102 type MSEG-ERFMG. 102冲销入库数量
data: LS_BAPIRET type BAPIRET2.
break JIEMM.
if SY-TCODE MIGO .
loop at GT_GOITEM into WA_GOITEM where ZEILE I_LINE_ID and PPS_AUFNR is not initial and BWART 101 .
clear: WA_AFRU,LV_FLAG.
select single * from AFRU
into WA_AFRU
where AUFNR WA_GOITEM-PPS_AUFNR.
if WA_AFRU-VORNR is initial.
LV_FLAG X . 判断是整体报工还是工序报工
endif.
clear: LV_LMNGA,LV_VORNR. 取已报工数量
case LV_FLAG.
when X .
select sum( LMNGA ) 整体报工已报工数量
from AFRU
into LV_LMNGA
where AUFNR WA_GOITEM-PPS_AUFNR 订单
and STOKZ SPACE 排除已被冲销和被取消的确认行
and STZHL SPACE.
when others.
select B~VORNR PP01订单类型的最后一道工序工序号
from AFRU as A
inner join AFVC as B on A~AUFPL B~AUFPL
where A~AUFNR WA_GOITEM-PPS_AUFNR
and B~STEUS PP01
order by B~VORNR descending
into LV_VORNR up to 1 rows.
endselect.
select sum( LMNGA )
from AFRU
into LV_LMNGA 工序报工最后一道工序报工数量
where AUFNR WA_GOITEM-PPS_AUFNR
and VORNR LV_VORNR
and STOKZ SPACE
and STZHL SPACE.
endcase.
select sum( ERFMG ) from MSEG
where AUFNR WA_GOITEM-PPS_AUFNR
and MATNR WA_GOITEM-MATNR
and BWART 101
into LV_ERFMG_101.
select sum( ERFMG ) from MSEG
where AUFNR WA_GOITEM-PPS_AUFNR
and MATNR WA_GOITEM-MATNR
and BWART 102
into LV_ERFMG_102.
if ( LV_LMNGA - ( LV_ERFMG_101 - LV_ERFMG_102 ) ) 0.
LS_BAPIRET-TYPE E .
LS_BAPIRET-ID 00 .
LS_BAPIRET-NUMBER 001 .
LS_BAPIRET-MESSAGE_V1 |生产订单 { WA_GOITEM-PPS_AUFNR alpha out }前期数量超收 请联系生产确认入库单|.
append LS_BAPIRET to ET_BAPIRET2.
else.
if WA_GOITEM-ERFMG LV_LMNGA - ( LV_ERFMG_101 - LV_ERFMG_102 ).
LS_BAPIRET-TYPE E .
LS_BAPIRET-ID 00 .
LS_BAPIRET-NUMBER 001 .
LS_BAPIRET-MESSAGE_V1 |生产订单 { WA_GOITEM-PPS_AUFNR alpha out }收货超过报工数量 目前可入库数量为{ LV_LMNGA - ( LV_ERFMG_101 - LV_ERFMG_102 ) }个|.
append LS_BAPIRET to ET_BAPIRET2.
endif.
endif.
endloop.
endif.
endmethod.
IF_EX_MB_MIGO_BADI~POST_document 中释放全局变量method IF_EX_MB_MIGO_BADI~POST_document. CLEAR gt_goitem. endmethod.3.生产订单MIGO过账效果



