更新"映射到数据"源中的多个订单项

2020-08-31 10:35发布

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

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


大家好,

我需要使用BAPI_PO_CHANGE更新采购订单中的多个订单项。 我想使用"映射到数据源"方法进行更新操作。

我可以继续使用CREATE_DEEP_ENTITY方法,而不是映射到数据源。 但这不是建议。 所以我只剩下批处理了。 我真的不确定批处理在映射到数据源方案中的表现如何,因为在这种情况下存在提交。

还有其他解决方法吗?

谢谢

Kishore。

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

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


大家好,

我需要使用BAPI_PO_CHANGE更新采购订单中的多个订单项。 我想使用"映射到数据源"方法进行更新操作。

我可以继续使用CREATE_DEEP_ENTITY方法,而不是映射到数据源。 但这不是建议。 所以我只剩下批处理了。 我真的不确定批处理在映射到数据源方案中的表现如何,因为在这种情况下存在提交。

还有其他解决方法吗?

谢谢

Kishore。

付费偷看设置
发送
3条回答
Nir深蓝
1楼 · 2020-08-31 11:17.采纳回答

使用方法到RFC功能模块的映射的方法仅适用于简单方案。 任何高级方案都需要ABAP编码。 因此,您说对了,您必须采用延迟模式,并且必须显式地启用BAPI。
但是您可能可以重用一些生成的代码,这些代码将在DPC类的UPDATE_ENTITYSET方法中找到。

我也同意第3点。

如果这解决了您的问题,请将其标记为"正确"。

最好的问候,

< p>安德烈

小熊yu生菜
2楼-- · 2020-08-31 11:16

谢谢安德烈。 能帮您理解以下几点吗?

1。 就我而言,我需要编辑/创建/删除订单项。 因此,所有CUD操作均由相同的BAPI(BAPI_PO_CHANGE)完成。 我可以使用POST或PUT。 但是在我的UPDATE_ENTITYSET中生成的代码在方法末尾(在BAPI调用之后)调用了" me->/iwbep/if_sb_dpc_comm_services〜commit_work"。 我不认为此方法调用是有条件的调用。 不确定如何跳过此提交。

2。 如果我使用延迟处理方法(对于我的实体集,CV_DEFER_MODE = abap_true),那么我需要在CHANGESET_PROCESS中显式调用BAPI,而这并未完全利用RFC/BOR映射到数据源的方法。

3。 在RFC/BOR参考中,如果需要传递ITEMX结构,则应该构建包装器功能模块,或者在后端处理ITEMX结构填充。 我希望你同意这一点。

我想使用映射到数据源的方法,但是看起来我需要选择延迟模式。

谢谢

基肖尔。

我是小鹏鹏啊
3楼-- · 2020-08-31 11:09

只有当您所有的更新请求都属于一个变更集中时,在$ batch调用中提交才是问题。

但是BAPI(如果设计正确)不会发出提交。 然后,SAP Gateway Framework将在操作结束时发出提交。

您还可以尝试实现延迟处理,在此过程中,您(类似于深度插入)可自行处理$ batch请求的完整负载。

https://help.sap。 com/doc/saphelp_gateway20sp12/2.0/en-US/90/dc8363306c47d3b2fca1398f5de94b/frameset.htm

这取决于使用的BAPI,这可能是有益的,因为如果BAPI接受一个表作为输入并且可以在一个调用中执行多次更新,则可能只有一个调用。

最好的问候

安德烈

一周热门 更多>