目的 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)的更多相关文章

  1. 【MM系列】SAP MM模块-配置PO的创建时间

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[MM系列]SAP MM模块-配置PO的创建时间 ...

  2. SAP MM ME21N 创建PO时报错 - Net price in CNY becomes too large –

    SAP MM ME21N 创建PO时报错 - Net price in CNY becomes too large – 笔者所在的项目上,由于客户尚未正式大规模量产,在现阶段,所有的物料基本都是走费用 ...

  3. 【MM系列】SAP MM中的委外加工与信息记录

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[MM系列]SAP MM中的委外加工与信息记录 ...

  4. SAP MM已经转成PO的采购申请Item依旧可以被删除?

    SAP MM已经转成PO的采购申请Item依旧可以被删除? 笔者测试发现,我们可以删除已产生PO的PR item, 系统只是给一个警告信息,不阻止保存. Purchase orders already ...

  5. SAP MM 按采购订单查询付款信息的报表?

    SAP MM 按采购订单查询付款信息的报表? 上午给P3项目采购部门用户做了一个采购相关的报表的培训.培训过程中,客户的采购部门经理提出了一个问题:有没有报表能查询到各个采购订单的付款情况,显示采购订 ...

  6. SAP MM A工厂下的PR可以转成B工厂下的PO?

    SAP MM A工厂下的PR可以转成B工厂下的PO? 答案是可能的,这也是SAP标准行为之一. 如下图采购申请单据, PR中的Plant是GENL.该PR 已经转成了PO,如上图. 看这个PO,工厂代 ...

  7. SAP MM 实施项目里Open PO 迁移思路探讨

    SAP MM 实施项目里Open PO 迁移思路探讨 .序言.   SAP项目上线前夕,除了静态主数据需要导入以外,可能还有一些动态数据,比如open的采购订单,open的销售订单等单据也要迁移到SA ...

  8. SAP MM ME81N PO Value Analysis报表中Net Value 为负数是怎么回事?

    SAP MM ME81N PO Value Analysis报表中Net Value 为负数是怎么回事? ME81N 报表中,如下PO的net value为负数, 怎么回事? 经查这些PO都是退货采购 ...

  9. SAP MM 销售订单库存与普通库存之间相互转换过账后对于EBEWH以及MBEWH表的更新

    SAP MM 销售订单库存与普通库存之间相互转换过账后对于EBEWH以及MBEWH表的更新 1,DEMO数据 物料号:1300009995 工厂:2160 销售订单号/item号:0010097627 ...

随机推荐

  1. drf的JWT认证

    JWT认证(5星) token发展史 在用户注册或登录后,我们想记录用户的登录状态,或者为用户创建身份认证的凭证.我们不再使用Session认证机制,而使用Json Web Token(本质就是tok ...

  2. PostgreSQL安装 报there has been an error.Error running

    直接用postgresql-11.2-1:https://get.enterprisedb.com/postgresql/postgresql-11.2-1-windows-x64.exe这个版本的安 ...

  3. NodeJs学习日报——day3

    // 导入模块 const http = require('http') // 创建web服务器实例 const server = http.createServer() // 为服务器实例绑定req ...

  4. 将mysql主从复制由ABB模式修改为ABC模式

    最近遇到一个奇葩的需求,需要将mysql的主从复制模式由ABB修改为ABC,恰好这个mysql集群没有开启GTID,当时是在B上做了一次全量备份,然后使用该全量备份恢复C的方式进行的.做完之后在想有没 ...

  5. EF Core忽略某个属性保存

    1.事情起因 某天朋友突然问我他的EF不能保存,让我帮忙看看,观察发现主表中存在明细表的集合,导致保存失败. 2.解决方案 方案1:DTO模型与DO模型分开,保存时映射. 分层领域模型规约名词解释: ...

  6. 全栈交叉编译X86完成过程经验分享

    1 CMAKE的交叉编译配置 主要是C和C++编译器的配置和SYSROOT的配置. set (CMAKE_SYSTEM_NAME "Linux") set (CMAKE_SYSTE ...

  7. 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 ...

  8. c++:-4

    上一节学习了C++的数组,指针和字符串,c++:-3.本节学习C++的继承与派生: 继承 继承和派生的关系 继承与派生是同一过程从不同的角度看 保持已有类的特性而构造新类的过程称为继承 在已有类的基础 ...

  9. C#中的接口和类有什么异同

    不同点: 1. 不能直接实例化接口 2. 接口中的成员不能用访问修饰符修饰(默认public) 3. 接口不包含方法的实现 4. 接口可以多继承,类只能单继承. 5. 类定义可在不同的源文件之间进行拆 ...

  10. react 疑问集锦

    在 setState 后未 re-render function component 初始化调用接口