当前位置: 首页 > news >正文

MIGO委外(外协)采购订单过账的增强

在这里插入图片描述
这个MIGO的BIDI增强,对外协组件的处理,主要是外协的批次赋值是在前台界面上的,导致接口无法处理。

看到博客自己直接用BADI全部写了一段代码。
https://www.cnblogs.com/pnj-owowa/p/17146943.html
CALL FUNCTION ‘BAPI_GOODSMVT_CREATE’
EXPORTING
goodsmvt_header = ls_header
IMPORTING
goodsmvt_headret = ls_headret
TABLES
goodsmvt_items = lt_goodsmvt_items
return = lt_return.

把组件的清单也放到 goodsmvt_items 里面
"上面的过账一般采购收货都是一样的 ,委外的区别就在下面这个循环,需要将bom组件的数据也写入
IF lt_outpo IS NOT INITIAL. " 该采购单是委外采购单 需要填入明细数据 移动类型为543

  lv_outfz = '采购收货的数量'. " 过账的数量 用作分子READ TABLE lt_outpo INTO DATA(ls_outpo) WITH KEY ebeln = '4500000908' ebelp = '00010'.IF sy-subrc EQ 0.lv_outfm = ls_outpo-menge. " 找出采购单的数量 用作分母ENDIF.LOOP AT lt_outbom ASSIGNING FIELD-SYMBOL(<fs_outbom>) WHERE ebeln = '4500000908' AND ebelp = '00010'. " 获取bom预留lt_item-move_type = '543'.  " 移动类型lt_item-material = <fs_outbom>-matnr. " 物料号lt_item-plant = <fs_outbom>-werks. " 工厂lt_item-stge_loc = <fs_outbom>-lgort. " 存储字典lt_item-spec_stock = 'O'. " 特殊库存lt_item-batch = <fs_outbom>-charg. " 内部批次lt_item-entry_qnt = lv_outfz / lv_outfm * <fs_outbom>-erfmg. " 过账的成品数量 / 采购的成品数量 * BOM组件的数量lt_item-entry_uom = <fs_outbom>-meins. " 单位lt_item-parent_id = lv_parent_id. " 父项目编码lv_line_id = lv_line_id + 1. " 子项目编号lt_item-line_id = lv_line_id.lv_line_depth = '01'.lt_item-line_depth = lv_line_depth. "bom层次APPEND lt_item.CLEAR lt_item.ENDLOOP.
ENDIF.
clear it_item.
然后直接调用BAPI_GOODSMVT_CREATE过账CALL FUNCTION 'BAPI_GOODSMVT_CREATE'
EXPORTINGgoodsmvt_header  = ls_headergoodsmvt_code    = lv_code
IMPORTINGmaterialdocument = lv_docmatdocumentyear  = lv_year
TABLESgoodsmvt_item    = lt_itemreturn           = lt_ret.

IF lv_doc <> ‘’.
CALL FUNCTION ‘BAPI_TRANSACTION_COMMIT’
EXPORTING
wait = ‘X’.

ELSE.
CALL FUNCTION ‘BAPI_TRANSACTION_ROLLBACK’.
ENDIF.
换句话说,就是外协的组件清单,也同步更新到BAPI_GOODSMVT_CREATE的
GOODSMVT_ITEMS(表)
其中部分字段说明:
MATERIAL:物料号,代表具体的物料。
PLANT:工厂,表明物料所处的工厂。
STGE_LOC:库存地点,即物料所在的库存位置。
MOVE_TYPE:移动类型,例如 101 表示采购收货,201 表示成本中心领用。
ENTRY_QNT:输入数量,指物料移动的数量。
ENTRY_UOM:输入单位,是数量的单位。
COSTCENTER:成本中心,用于归集物料移动的成本。
PROFIT_CTR:利润中心,和利润核算相关。
ORDERID:生产订单号,若物料移动和生产订单有关,则填写此订单号。
更多信息参考SAP的帮助。

http://www.xdnf.cn/news/614827.html

相关文章:

  • 如何选择和应用WAF技术:核心原理、应用场景与优劣势解析
  • 【接口设计文档】:在线聊天平台(Online-Chat)
  • IEC 61156-5:2020 标准技术解析与应用综述
  • 肠道微生物组研究的特有数据库
  • [C]基础15.C语言内存函数
  • centos原系统安装了Python3.7.9兼用在安装一个python3.8
  • 全面解析EDI RECADV报文:结构组成、业务应用与关键注意事项
  • Java中的集合(持续更新)
  • 如何使用WordPress区块(以及如何创建自定义区块)?
  • 常见算法题目2 - 给定一个字符串,找出其中最长的不重复子串
  • C++ std::find() 函数全解析
  • 在 Android 开发中判断用户是否开启了“允许安装未知来源应用(Install Unknown Apps)”权限
  • 字符串和常量池的进一步研究
  • Android中Binder驱动作用?
  • 影刀RPA:开启办公自动化的高效之旅
  • Vue:axios(POST请求)
  • 【JavaScript 实现导航栏顶部吸附效果】
  • 8天Python从入门到精通【itheima】-35~37
  • 养成一个逐渐成长的强化学习ai
  • AI练习:折叠效果
  • magentic-ui和browser-use深度分析
  • 统一错误处理脚本实现
  • 数据赋能(234)——数据管理——标准化原则
  • CST软件基础六:视图
  • java中string类型的list集合放到redis的5种数据类型的那种比较合适呢,可以用StringRedisTemplate实现
  • 佰力博与您探讨PVDF薄膜极化特性及其影响因素
  • 巴西电商爆发期,第三方海外仓如何应用WMS系统抢占市场先机?
  • dubbo使用nacos作为注册中心配置
  • Python语法特点与编码规范
  • DAY 34 GPU训练及类的call方法