SAP MM- BAPI_PO_CHANGE 更新PO version 信息(version management)
目的 Version 信息的Complated 字段,自动打勾

实例程序
*&---------------------------------------------------------------------*
*& Report Z_PO_CHANGE
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
REPORT z_po_change.
DATA:lv_ponumber TYPE bapimepoheader-po_number,
ls_version TYPE bapimedcm,
ls_expheader LIKE bapimepoheader,
ls_exppoexpimpheader LIKE bapieikp,
lt_return TYPE TABLE OF bapiret2,
lt_allversions TYPE TABLE OF bapimedcm_allversions,
lt_poitem TYPE TABLE OF bapimepoitem,
lt_poitemx TYPE TABLE OF bapimepoitemx,
ls_poitem TYPE bapimepoitem,
ls_poitemx TYPE bapimepoitemx. ls_poitem-po_item = '00010'.
APPEND ls_poitem TO lt_poitem. ls_poitemx-po_item = '00010'.
ls_poitemx-po_itemx = 'U'.
APPEND ls_poitemx TO lt_poitemx. lv_ponumber = '4551701247'.
ls_version-post_date = '20210510'.
ls_version-completed = 'X'.
ls_version-description = 'Testing'.
ls_version-reason = 'CR03'.
ls_version-req_by = 'WANGZ94'. APPEND INITIAL LINE TO lt_allversions ASSIGNING FIELD-SYMBOL(<fs_v>).
<fs_v>-doc_type = 'F'.
<fs_v>-doc_number = '4551701247'.
<fs_v>-item_number = '00000'.
<fs_v>-version = '00000000'.
<fs_v>-created_by = 'LIS72'.
<fs_v>-cr_on = '20210510'.
<fs_v>-rec_time = '094927'.
<fs_v>-reason = 'CR03'.
<fs_v>-completed = 'X'.
*<fs_v>-net_value = '850'.
*<fs_v>-value_changed = '150'.
<fs_v>-currency = 'CNY'. CALL FUNCTION 'BAPI_PO_CHANGE'
EXPORTING
purchaseorder = lv_ponumber
versions = ls_version
IMPORTING
expheader = ls_expheader
exppoexpimpheader = ls_exppoexpimpheader
TABLES
return = lt_return
poitem = lt_poitem
poitemx = lt_poitemx
allversions = lt_allversions. LOOP AT lt_return TRANSPORTING NO FIELDS WHERE type CA 'AEX'.
EXIT.
ENDLOOP. IF sy-subrc <> 0.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
wait = 'X'.
ELSE.
CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.
ENDIF.
BAPI 程序跟踪数据流向



论坛
https://answers.sap.com/questions/6461311/update-versions-using-bapipochange.html
SAP MM- BAPI_PO_CHANGE 更新PO version 信息(version management)的更多相关文章
- 【MM系列】SAP MM模块-配置PO的创建时间
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[MM系列]SAP MM模块-配置PO的创建时间 ...
- SAP MM ME21N 创建PO时报错 - Net price in CNY becomes too large –
SAP MM ME21N 创建PO时报错 - Net price in CNY becomes too large – 笔者所在的项目上,由于客户尚未正式大规模量产,在现阶段,所有的物料基本都是走费用 ...
- 【MM系列】SAP MM中的委外加工与信息记录
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[MM系列]SAP MM中的委外加工与信息记录 ...
- SAP MM已经转成PO的采购申请Item依旧可以被删除?
SAP MM已经转成PO的采购申请Item依旧可以被删除? 笔者测试发现,我们可以删除已产生PO的PR item, 系统只是给一个警告信息,不阻止保存. Purchase orders already ...
- SAP MM 按采购订单查询付款信息的报表?
SAP MM 按采购订单查询付款信息的报表? 上午给P3项目采购部门用户做了一个采购相关的报表的培训.培训过程中,客户的采购部门经理提出了一个问题:有没有报表能查询到各个采购订单的付款情况,显示采购订 ...
- SAP MM A工厂下的PR可以转成B工厂下的PO?
SAP MM A工厂下的PR可以转成B工厂下的PO? 答案是可能的,这也是SAP标准行为之一. 如下图采购申请单据, PR中的Plant是GENL.该PR 已经转成了PO,如上图. 看这个PO,工厂代 ...
- SAP MM 实施项目里Open PO 迁移思路探讨
SAP MM 实施项目里Open PO 迁移思路探讨 .序言. SAP项目上线前夕,除了静态主数据需要导入以外,可能还有一些动态数据,比如open的采购订单,open的销售订单等单据也要迁移到SA ...
- SAP MM ME81N PO Value Analysis报表中Net Value 为负数是怎么回事?
SAP MM ME81N PO Value Analysis报表中Net Value 为负数是怎么回事? ME81N 报表中,如下PO的net value为负数, 怎么回事? 经查这些PO都是退货采购 ...
- SAP MM 销售订单库存与普通库存之间相互转换过账后对于EBEWH以及MBEWH表的更新
SAP MM 销售订单库存与普通库存之间相互转换过账后对于EBEWH以及MBEWH表的更新 1,DEMO数据 物料号:1300009995 工厂:2160 销售订单号/item号:0010097627 ...
随机推荐
- drf的JWT认证
JWT认证(5星) token发展史 在用户注册或登录后,我们想记录用户的登录状态,或者为用户创建身份认证的凭证.我们不再使用Session认证机制,而使用Json Web Token(本质就是tok ...
- PostgreSQL安装 报there has been an error.Error running
直接用postgresql-11.2-1:https://get.enterprisedb.com/postgresql/postgresql-11.2-1-windows-x64.exe这个版本的安 ...
- NodeJs学习日报——day3
// 导入模块 const http = require('http') // 创建web服务器实例 const server = http.createServer() // 为服务器实例绑定req ...
- 将mysql主从复制由ABB模式修改为ABC模式
最近遇到一个奇葩的需求,需要将mysql的主从复制模式由ABB修改为ABC,恰好这个mysql集群没有开启GTID,当时是在B上做了一次全量备份,然后使用该全量备份恢复C的方式进行的.做完之后在想有没 ...
- EF Core忽略某个属性保存
1.事情起因 某天朋友突然问我他的EF不能保存,让我帮忙看看,观察发现主表中存在明细表的集合,导致保存失败. 2.解决方案 方案1:DTO模型与DO模型分开,保存时映射. 分层领域模型规约名词解释: ...
- 全栈交叉编译X86完成过程经验分享
1 CMAKE的交叉编译配置 主要是C和C++编译器的配置和SYSROOT的配置. set (CMAKE_SYSTEM_NAME "Linux") set (CMAKE_SYSTE ...
- Incorrect table definition; there can be only one TIMESTAMP column with CURRENT_TIMESTAMP in DEFAULT or ON UPDATE clause
错误描述 在DBeaver执行DDL语句时报错:SQL 错误 [1293] [HY000]: Incorrect table definition; there can be only one TIM ...
- c++:-4
上一节学习了C++的数组,指针和字符串,c++:-3.本节学习C++的继承与派生: 继承 继承和派生的关系 继承与派生是同一过程从不同的角度看 保持已有类的特性而构造新类的过程称为继承 在已有类的基础 ...
- C#中的接口和类有什么异同
不同点: 1. 不能直接实例化接口 2. 接口中的成员不能用访问修饰符修饰(默认public) 3. 接口不包含方法的实现 4. 接口可以多继承,类只能单继承. 5. 类定义可在不同的源文件之间进行拆 ...
- react 疑问集锦
在 setState 后未 re-render function component 初始化调用接口
