SAP Gateway ABAP过帐到复杂类型,

2020-09-05 00:14发布

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

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


我在ABAP中有一个ORDER结构,其中有另一个ITEMS结构,每个订单中将包含多个项目。

我正在通过SAP Gateway服务填充此结构,该服务适用于ORDER和单个ITEM。

但是,提供不止一个ITEM的数组的语法是什么?

 {
  " d":{
  " Venueid":" dsfgg",
  "项目":{
  " __metadata":{
  " type":" ZGW_XXXX_SRV.Items"},
  " Venueid":" dsd",
  "类型":""
  }
  }

 

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

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


我在ABAP中有一个ORDER结构,其中有另一个ITEMS结构,每个订单中将包含多个项目。

我正在通过SAP Gateway服务填充此结构,该服务适用于ORDER和单个ITEM。

但是,提供不止一个ITEM的数组的语法是什么?

 {
  " d":{
  " Venueid":" dsfgg",
  "项目":{
  " __metadata":{
  " type":" ZGW_XXXX_SRV.Items"},
  " Venueid":" dsd",
  "类型":""
  }
  }

 
付费偷看设置
发送
6条回答
hengyuye
1楼 · 2020-09-05 00:35.采纳回答

Adam Harkus 就像您对商品所做的一样:)
在SEGW中定义新实体 使用将其链接到ITEM的键,在ITEM和FROMITEM之间创建关联,实现GET和POST来检索/写入数据。

我使用的实体深度超过3个级别
WorkOrder ->操作-> WorkCenter->设备
WorkOrder->组件-> AvailableBatch->文档->供应商

一旦您掌握了该机制,就很容易。

一点点 建议:在DEEP ENTITY GET方法中放置一个断点,并使用扩展条件检查表。
您可以使用它查看必须扩展的实体,这样可以减少发送回的有效负载 不需要每次都使用所有结构:)

大简至美
2楼-- · 2020-09-05 00:24

将这条非常实用的注释转换为答案

如果您的订单中有多个项目,则您的项目应该是一部分 具有1:n关系的订单结构的子实体,您将有t o使用深插入。

https://help.sap.com/saphelp_snc700_ehp02_nw740/ helpdata/en/11/a426519eff236ee10000000a445394/frameset.htm

土豆飞人
4楼-- · 2020-09-05 00:23

非常感谢Andre。

在SEGW中,我是否需要导入2个单独的结构并通过关联将它们链接? 而不是像我现在在ORDER中拥有ITEMS结构。

我可以看到DEEP_INSERT方法,但是从网关服务调用的方法到底是什么?

关于上面的JSON,将如何更改?

SAP小黑
5楼-- · 2020-09-05 00:38

如果您使用通过$ expand创建的响应作为模板,然后将其发布到

SAP网关框架(基于有效负载)将在DPC_EXT类中调用方法CREATE_DEEP_ENTITY。

有些博客描述了如何使用以下方法开发服务 深入插入或获取我们的

此处 一个以JSON显示有效负载的博客

https://blogs.sap.com/2015/03/25/deep-insert-request-payload-formats/

绿领巾童鞋
6楼-- · 2020-09-05 00:27

谢谢。

我跟踪了许多博客来使它工作。

现在使用 FromOrde r关联提取Order + Item。 (请参阅下面的ABAP)。

下一个问题。 我需要为此添加另一个级别。 FromItem 是每个 item 的修饰符的子集。

我该如何将其包含在下面的现有abap中...

数据:ls_order_item_data的开始。
  包括类型ZTPOI_XXX_ORDERS_S。
  数据:FromOrder TYPE ZTPOI_XXX_ITEMS_T,
  ls_order_item_data的结尾。
数据:lv_entity_set_name TYPE/iwbep/mgw_tech_name, ls_headerdata类型bapi_epm_so_header, lt_itemdata bapi_epm_so_item的类型标准表, ls_itemdata类型bapi_epm_so_item, ls_req_itemdata类型ZTPOI_XXX_ITEMS_S, lt_return bapiret2的标准类型表, lv_so_id类型bapi_epm_so_id。

一周热门 更多>