学习笔记SAP OData服务简介

Posted SAP剑客

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了学习笔记SAP OData服务简介相关的知识,希望对你有一定的参考价值。

SAP OData服务简介

之前有一篇博文介绍过OData:OData简介

OData服务在数据提取方面有如下优势:

  1. 适合流行的REST模式;
  2. 将数据服务提供给任何可以进行HTTP调用的设备或者客户端;
  3. 允许进行结果数据过滤和排序;

有些SAP安装系统使用单独的系统来运行Gateway组件,有些则是将Gateway与所有的ERP模块一样直接安装在同一个系统中。默认情况下,大多数运行NetWeaver Gateway的公司都会运行企业防火墙。OData还允许完整的RESTful操作(创建/读取/更新/删除)。

【示例】

创建一个简单的服务,返回ERP系统配置的所有工厂列表。

首先,创建一个结构来定义要提取的数据,定义字段,激活保存。

事务代码:SE11

其次,设置OData服务来传输数据,进入SAP NetWeaver Gateway Service Builder,一站式设置和维护OData服务。

事务代码:SEGW

OData服务可以插入多个数据源,这些数据源称为entity(实体)和entity set(实体集合)。可以把实体看成定义数据源终端的单记录结构,而实体集合则是该结构匹配的记录集合。单个服务可以附加多个实体和实体集合,每个实体可以选择实现部分或者全部的创建、读取、更新、删除操作。

这里,我们把上面创建的工厂信息转换为服务中可用的实体集合之一,实现简单的读取功能。

最后一步设置关键字段(Key Field),这里将“WERKS”(工厂代码)作为唯一识别的记录。

上面的操作可确保将创建的结构作为Plant实体的定义导入到服务中。SAP系统使用结构中的信息来确保OData服务的类型定义正确。

之后我们生成一些数据提取类,当调用特定的操作(创建/读取/更新/删除)时,SAP Gateway使用生成的类来处理OData服务的默认行为。

接着我们可以写一些查询代码,打开“Service Implementation”选项,右击“GetEntitySet (Query)”,选择“Go to ABAP Workbench”,显然该方法还未实现,我们需要将其重定义。

最后,我们还需要让其提供网络服务。

事务代码:/IWFND/MAINT_SERVICE

这里需要确定是否必须使用本地系统作为网关,还是使用单独的网关服务器。如果使用本地系统,输入LOCAL或者其他别名,如果使用网关服务器系统,则必须输入正确的别名。

这里我们使用本地系统作为网关,输入“LOCAL”,然后点击按钮“获取服务”,在服务中选择“ZDATA_PLANT_SRV”,进入后接受其默认值即可。

返回“激活并维护服务”主界面,可以看到新的服务已经在主目录中了,等待进行测试。

单击“ZDATA_PLANT_SRV”,可以看到下图所示的ICF Nodes(Internet通信框架节点)的展开区域,单击这个区域的“Gateway客户端”按钮,来到SAP GUI网关测试工具界面。

以上是关于学习笔记SAP OData服务简介的主要内容,如果未能解决你的问题,请参考以下文章

SAP Gateway Service Builder 里的 OData 服务实现方式

SAP ABAP OData 服务如何支持创建(Create)操作试读版

SAP ABAP OData 服务如何支持 $orderby (排序)操作试读版

SAP ABAP OData 服务如何支持 $filter (过滤)操作试读版

SAP ABAP OData 服务里 EntityType 和 EntitySet 的区别试读版

SAP Abap三种方法进行SAP ODATA数据服务发布(DDICRFCCDS)