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

  • 1. 创建BADI增强实施
  • 2.修改增强实施
  • 3.生产订单MIGO过账效果

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 102delete 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 AFRUinto WA_AFRUwhere 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 AFRUinto @LV_LMNGAwhere AUFNR = @WA_GOITEM-PPS_AUFNR  "订单and STOKZ = @SPACE                  "排除已被冲销和被取消的确认行and STZHL = @SPACE.when others.select B~VORNR                      "PP01订单类型的最后一道工序工序号from AFRU as Ainner join AFVC as B on A~AUFPL = B~AUFPLwhere A~AUFNR = @WA_GOITEM-PPS_AUFNRand B~STEUS = 'PP01'order by B~VORNR descendinginto @LV_VORNR up to 1 rows.endselect.select sum( LMNGA )from AFRUinto @LV_LMNGA                      "工序报工最后一道工序报工数量where AUFNR = @WA_GOITEM-PPS_AUFNRand VORNR = @LV_VORNRand STOKZ = @SPACEand STZHL = @SPACE.endcase.select sum( ERFMG ) from MSEGwhere AUFNR = @WA_GOITEM-PPS_AUFNRand MATNR = @WA_GOITEM-MATNRand BWART = '101'into @LV_ERFMG_101.select sum( ERFMG ) from MSEGwhere AUFNR = @WA_GOITEM-PPS_AUFNRand MATNR = @WA_GOITEM-MATNRand 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过账效果

  • BADI检查

    XXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXX

SAP MIGO生产订单入库校验BADI增强MB_MIGO_BADI相关推荐

  1. MIGO生产订单入库写入批次特性增强

    一.生产订单入库 MIGO根据生产订单入库时,将生产订单中的字段,写入到批次特性中 二.BADI:MB_MIGO_BADI 调用BADI中的IF_EX_MB_MIGO_BADI~POST_DOCUME ...

  2. 关于SAP 对生产订单的月度结算

    关于SAP 对生产订单的月度结算 以及生产订单差异结转入库存差异及销售成本差异处理的流程分析 鉴于目前SAP上线所出现的差异难以分析的现象,根据对SAP现有配置的流程 分析,现对有关系统的差异处理流程 ...

  3. SAP区分采购订单入库和转储订单入库

    近期采购有统计原料采购入库数量统计需求,想到利用物料凭证后台表MSEG统计时间范围内移动类型为101和102的过账数量的统计求和,但是由于采购订单入库.转储订单入库和生产订单入库没有区分移动类型,导致 ...

  4. 【ABAP系列】SAP 读取生产订单 记入文档的货物移动明细

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP 读取生产订单 记入文档的 ...

  5. 【SAP ABAP 生产订单修改组件需求用量增强】

    @ABAP 需求: 由于标准生产订单组件用量的获取方式无法满足业务,需要嵌入自定义表数据进行运算得出新的组件用量,注意:此增强只能再保存时触发组件用量的变更. 实现增强: 1.COMD 出口 PPCO ...

  6. SAP License:关于SAP 对生产订单的月度结算

    以及生产订单差异结转入库存差异及销售成本差异处理的流程分析 鉴于目前SAP上线所出现的差异难以分析的现象,根据对SAP现有配置的流程 分析,现对有关系统的差异处理流程分析如下: 月末结帐之前SAP系统 ...

  7. SAP CO生产订单的标准成本、计划成本、实际成本和目标成本

    什么是生产订单的标准成本.计划成本.实际成本.目标成本,我想做成本会计的应该很熟悉,计算公式简单表示如下. 标准成本 = 标准价格 * 标准数量 + 作业价格 * 标准数量 计划成本 = 计划价格 * ...

  8. SAP PP生产订单相关信息的获取

    在SAP PP模块中,获取生产订单的相关信息,应采取如下步骤: 工作活动 1: 工序获取 afko-aufpl = afvc-aufpl => afvc-vornr  afvc- ltxa1   ...

  9. SAP CO88 生产订单实际成本计算

    co88 sap 实际结算_SAP生产订单实际成本计算 SAP计算产品成本的方法有三种,按期间计算成本,按工单计算成本,按销售单(sales order)计算成本.其中,按工单计算成本最为常见,很多公 ...

最新文章

  1. 如何利用 C# 爬取 One 持有者返利数据!
  2. 二、应用层协议概述与HTTP
  3. pytorch_lightning Default process group is not initialized
  4. shell脚本判断输入参数个数
  5. Node.js 之 新手安装详解 及 npm 配置说明
  6. explain分析执行计划
  7. abaqus质量缩放系数取值_ABAQUS/Explicit质量缩放(MASS SCALING)使用心得  [转simwe]...
  8. 【数据结构与算法】二叉树基本算法锦集
  9. css特性:空白外边距互相叠加
  10. 2020年2月数据库流行度排行:冬日虽然寒冷,春光必定灿烂
  11. django xadmin 集成DjangoUeditor富文本编辑器
  12. 2012-12-17 → 2013-01-20 周总结:五周没写周总结了,今天来总结下
  13. linux群ping服务器各网段脚本
  14. Chromium OS Autotest 客户端测试
  15. linux中括号的用法,【shell】Linux shell中括号的用法
  16. Qt C++招聘要求
  17. 【XGantt教程】为甘特图分组添加舒适排序选项的三个步骤
  18. 小数点化分数的过程_小数怎么化成分数
  19. 计算机文档里的圆圈,请问在WORD文档里怎样插入数字上的圆点?
  20. 千行代码率和代码行数总量

热门文章

  1. 这篇3万字的Java后端面试总结,面试官看了瑟瑟发抖(汇总)
  2. 副族元素从上到下原子半径_原子结构与原子半径.PPT
  3. 用行列式展开计算n阶行列式【c++/递归】
  4. 大神自述|7岁接触建模的大神建模师,分享建模经验与技巧
  5. Freshman Here~
  6. 浏览器控制台接口测试以及造测试数据
  7. linux+手机+gps,Linux环境下利用GPS+蓝牙实现移动定位
  8. 【艺术评析】陈全胜先生山水画
  9. 《工业控制网络安全技术与实践》一第1章 绪  论
  10. 讲解SQL数据库语句