栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

SAP MIGO生产订单入库校验BADI增强MB

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

SAP MIGO生产订单入库校验BADI增强MB

1.创建BADI增强实施 SE19- 创建BADI增强
输入增强实施名称

激活增强实施
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过账效果

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/266685.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号