采购订单的确认控制

作者:斌将军 约 4 分钟阅读 更新日期:2025-03-02 1 年前更新 标签:MM, PP, 物料管理, 生产
采购订单的确认控制 - 封面图
采购订单的确认控制 - 封面图

## 1.1、确认控制

配置路径:IMG→物料管理→采购→确认→建立确认控制

采购订单的确认控制 - 封面图
采购订单的确认控制 - 封面图

**供应商确认:**

下达采购订单后,供应商根据订单回执能够交货的日期和数量。例如:采购订单下达后通过接口同步给SRM,SRM执行确认后,调用接口同步给SAP确认的交货日期和数量。确认有两种方案:一步法和两步法。

**两步法:** 第一步:供应商回复确认的交货计划,系统中确认页签添加AB类别的行;

第二步:供应商按第一步的日期交货,在SAP中通过VL31N创建内向交货单,系统会自动在确认页签产生LA类别的行。

**一步法:** 对两步法的简化,具体看项目如何定义,是只做第一步还是只做第二步。

## 1.2、前台操作

模拟两步法:

第一步:回执

采购订单的确认控制 - 封面图
采购订单的确认控制 - 封面图

第二步:交货

VL31N创建内向交货单

采购订单的确认控制 - 封面图
采购订单的确认控制 - 封面图

ME23N查看采购订单,发现对应的LA和内向交货单已经带出来

采购订单的确认控制 - 封面图
采购订单的确认控制 - 封面图

根据内向交货单进行确认交货后,MIGO收货就要通过内向交货单,而不是采购订单

采购订单的确认控制 - 封面图
采购订单的确认控制 - 封面图

采购订单确认函数

"--------------------@斌将军--------------------DATA:lv_ebeln TYPE ebeln, ls_header TYPE bapimeconfheader, ls_headerx TYPE bapimeconfheaderx, ls_item TYPE bapimeconfitem, lt_item TYPE bapimeconf_t_item, ls_itemx TYPE bapimeconfitemx, lt_itemx TYPE bapimeconf_t_itemx, lt_poconfirmation TYPE TABLE OF bapimeconfdetail, ls_poconfirmation TYPE bapimeconfdetail, lt_poconfirmationx TYPE TABLE OF bapimeconfdetailx, ls_poconfirmationx TYPE bapimeconfdetailx, lt_return TYPE TABLE OF bapiret2, ls_return TYPE bapiret2.

DATA:lv_check TYPE char1, lv_message TYPE char200. lv_ebeln = '4100001501'."采购凭证编号 CLEAR:ls_header.ls_header-doc_number = lv_ebeln."采购凭证编号 CLEAR ls_item.ls_item-item_no = '00010'."行项目ls_item-canceled = ''."拒绝标识APPEND ls_item TO lt_item. CLEAR ls_itemx.ls_itemx-item_no = '00010'."行项目ls_itemx-canceled = 'X'.APPEND ls_itemx TO lt_itemx. CLEAR ls_poconfirmation.ls_poconfirmation-item_no = '00010'."行项目ls_poconfirmation-conf_category = 'AB'."确认类别ls_poconfirmation-creat_date = '20230406'."供应商确认的创建日期ls_poconfirmation-deliv_date = '20230430'."供应商确认的交货日期ls_poconfirmation-deliv_date_typ = 'D'."供应商确认中交货日期的日期类别ls_poconfirmation-quantity = '1'."按照供应商确认的数量APPEND ls_poconfirmation TO lt_poconfirmation. CLEAR ls_poconfirmationx.ls_poconfirmationx-item_no = '00010'."行项目ls_poconfirmationx-conf_category = 'X'."确认类别ls_poconfirmationx-creat_date = 'X'."供应商确认的创建日期ls_poconfirmationx-deliv_date = 'X'."供应商确认的交货日期ls_poconfirmationx-deliv_date_typ = 'X'."供应商确认中交货日期的日期类别ls_poconfirmationx-quantity = 'X'."按照供应商确认的数量APPEND ls_poconfirmationx TO lt_poconfirmationx.CALL FUNCTION 'ME_PO_CONFIRM' EXPORTING document_no = lv_ebeln header = ls_header* headerx = ls_headerx item = lt_item itemx = lt_itemx confirmation = lt_poconfirmation confirmationx = lt_poconfirmationx IMPORTING return = lt_return. CLEAR:lv_check,lv_message. LOOP AT lt_return INTO ls_return WHERE type CA 'EAX'. lv_check = 'E'. lv_message = lv_message && ls_return-message. ENDLOOP. IF lv_check = 'E'. CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'. WRITE:/ lv_message. ELSE. CALL FUNCTION 'BAPI_TRANSACTION_COMMIT' EXPORTING wait = 'X'. WRITE:/ 'SUCCESS'. ENDIF."--------------------@斌将军--------------------
斌将军

关于作者:斌将军

企业信息化与 SAP 技术顾问,长期专注 SAP ABAP、FI/CO、MM、SD 等模块的技术分享与实战经验总结。查看更多介绍

来源说明:本文内容由「采购订单的确认控制.md」整理生成,仅用于内部技术分享与学习交流。