如何使用数据源名称BAPI_EMP_SO_CHANGE映射SalesOrder的更新操作

2020-09-27 02:43发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)大家好,我正在尝试使用以下BAP...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


大家好,我正在尝试使用以下BAPI作为实体类型来提供OData服务:

-BAPI_SO_EMP_SO_GETLIST;
-BAPI_SO_EMP_SO_GETDETAIL;

我遵循了指南(非常有用!),但是,他仅映射了Read和Query操作。 我可以修改数据映射向导并映射"创建和删除"操作(我已按预期进行了测试和工作),但是,我无法映射"更新操作"。 我尝试了以下方法:

但是当我尝试更新/IWFND/GW_CLIENT事务中的条目时,出现以下错误:

我的逻辑解决方案是更改数据源参数,如下所示:

我遇到了一个新错误,我无法推断出任何解决方案:

我该如何解决? 我什至考虑过要去ABAP工作台重新定义UpdateEntity方法,但是我对ABAP的了解几乎为零。 令我更加困惑的是,我正在使用RFC模块创建oData服务,为什么它输出无效的BOR密钥?

预先感谢

威廉

attempt1.jpg (44.8 kB)
4条回答
天桥码农
2020-09-27 03:36 .采纳回答

嗨,

详细说明并添加Pavan的建议。

您应该使用过-BAPI_EPM_SO_CHANGE。 这些BAPI以某种方式运行。 它们有两种结构-一种用于实际数据,另一种称为" X"结构,用以表示哪些数据已更改。

根据您的情况,尝试按以下方式映射数据。

如果仅创建标题,则将数据传递到SOHEADERDATA并将键(即销售订单ID和true/false值)传递给SOHEADERDATAX。 无论您为SOHEADERDATAX中的相应属性在SOHEADERDATA中传递的数据是什么,都需要将其传递为true才能反映更改。 另外,请注意并使用PERSIST_TO_DB标志将更改提交到数据库。

BR。

一周热门 更多>