如何使用Odata一次向数据库表中发布多行...

2020-08-21 15:38发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)您好专家 我想使用Odata...

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

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


您好专家

我想使用Odata发布方法为远程启用的功能模块将多个记录发布到数据库表中。 为此,使用SE80,我使用功能模块创建了数据模型和表的映射字段。 然后创建一个消费模型并激活服务。 然后从REST Client调用该服务,并尝试使用XML Content进行发布,如下所示。

在下面的XML内容中,我尝试将2条记录发布到DB表中,但是将错误显示为"解析XML流时出错"。

您能否建议如何使用Odata创建/发布方法一次传递多个记录,就像我们在功能模块执行时通过单击表选项卡中的NewLine/DoubleLine来发布多个记录一样。


XML内容:


<?xml version =" 1.0" encoding =" utf-8"?>

http://Server:port/sap/opu/odata/sap/Z_RFC_POST/z_rfc_postCollection/"

xmlns =" http://www.w3.org/2005/Atom " xmlns :m =" http://schemas.microsoft.com/ado/2007/08/dataservices/metadata "

xmlns:d =" http://schemas.microsoft.com/ado/2007/08/dataservices ">

http://Server:port/sap/opu/odata/sap/Z_RFC_POST/z_rfc_postCollection/

收货状态

scheme =" http://schemas.microsoft.com/ado/2007/08/dataservices/scheme "/>

0000000050

Ram

金奈

0000000090

库马尔

班加罗尔

感谢您的帮助。

谢谢

Uday。

6条回答
CJones
2020-08-21 16:03

嗨,Uday,

OData不支持创建多结果 一次性记录。

但是有一个称为深度插入的概念,您可以在其中一次创建父项和子项。 例如销售订单和多个销售订单项目。

在此处检查如何进行深度插入。

http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/e0d92637-3d0d-2f10-ebb2-efc1f40a85e8?QuickLink = index&overridelayout = true&53717156092624

有一个选项可以批量更新和搜索 谷歌与OData和$ batch了解更多。

另一个解决方法是为您的实体创建一个虚拟父实体(您需要为其创建多个记录),为您的虚拟实体做一个深层插入,并在数据提供者类方法中,访问所有 孩子们记录下来并打电话给您的FM。

谢谢

克里希纳

一周热门 更多>