欢迎浏览sook云!

网站地图

当前位置:主页 > 数据库 > 海外数据 >

专属服务器_腾讯云计算设备_优惠券

时间:2021-10-11 08:09

人气:

作者:sook云

导读:本博客是OData V4基于代码的开发系列博客的一部分 OData V4基于代码的实现–概述 OData V4基于代码的实现I(基本接口,读访问) OData V4基于代码的实现I(基本接口,创建和更新) 为了访...

专属服务器_腾讯云计算设备_优惠券

本博客是OData V4基于代码的开发系列博客的一部分

OData V4基于代码的实现–概述

OData V4基于代码的实现I(基本接口,读访问)

OData V4基于代码的实现I(基本接口,创建和更新)

为了访问下面的源代码,大数据的数据库,您必须在新的ES5演示系统中注册

在这里注册ES5演示帐户

有关ES5演示系统的更多详细信息,您可以在我下面的博客中找到

新的SAP网关演示系统可用

如果您有ES5用户,您可以通过以下链接:

数据提供程序类–zcl\ U e2e001\ U odata\ U v4\ U so\ U数据

模型提供程序类–zcl\ U e2e001\ U odata\ U v4\ U so\ U模型

异常类–zcx\ U e2e001\ U odata\ U v4\ U so

接口–zif\ U e2e001\ U odata\ U v4\ U so\ U类型

消费视图–销售订单–ze2e001\ U c\ U销售订单

消费视图–销售订单项目–ze2e001\u c\u salesorderitem

界面视图–ze2e001\u i\u salesorderitem

在关于OData V4基于代码的实现的第一个博客中,我想展示如何构建一个简单的服务,该服务显示销售订单标题数据及其项。

服务实现将利用两个CD消费视图ze2e001\u c\u SalesOrder和ZE2E001\u C\u SalesOrderItem分别从CDS接口视图SEPM\u I\u SalesOrder\u E和SEPM\u I\u SalesOrderItem\u E读取数据。

请注意:

通过利用CDS视图,您将能够在新的ABAP编程模型中在很大程度上重用数据建模部分,一旦该模型支持OData V4,即使您当前正在使用AS ABAP750此外,您的服务将通过使用本博客中显示的代码示例来支持大多数开箱即用的查询选项。

除了OData V4服务必需的数据提供程序类和模型提供程序类之外,我们还将创建三个额外的存储库对象,以方便使用(一个接口)和作为最佳实践(一个错误和消息类)。

该接口用于定义数据提供程序类和模型提供程序类中使用的类型和常量。例如上面提到的两个CD消费视图的类型或我们的实体类型、实体集、导航属性等的ABAP内部和外部名称

为了方便您在新的演示系统ES5中使用,我们实施了此示例服务。系统的详细信息可以在我的下面找到博客。新的SAP网关演示系统可用。

该服务的$元数据文档可通过以下URL调用

https://sapes5.sapdevcenter.com/sap/opu/odata4/sap/ze2e001/default/sap/ze2e001\u salesorder/0001/$元数据?sap statistics=true

使用基本接口方法的实现,我们的服务已经支持以下请求:

读取单个销售订单

https://sapes5.sapdevcenter.com/sap/opu/odata4/sap/ze2e001/default/sap/ze2e001\u salesorder/0001/salesorder(‘500000000’)?sap ds debug=true

获取前三个销售订单

https://sapes5.sapdevcenter.com/sap/opu/odata4/sap/ze2e001/default/sap/ze2e001\u salesorder/0001/salesorder?$top=3&sap ds debug=true

从销售订单头导航到项目,并筛选grossamount大于1100$的项目的结果集。

https://sapes5.sapdevcenter.com/sap/opu/odata4/sap/ze2e001/default/sap/ze2e001\u salesorder/0001/salesorder('500000000')/\u项目?$filter=Grossamountintransaccurrency ge 1100和Transactioncurrency eq'USD'&sap ds debug=true

读取销售订单标题并通过对展开的项目进行筛选来展开项目。

https://sapes5.sapdevcenter.com/sap/opu/odata4/sap/ze2e001/default/sap/ze2e001\u salesorder/0001/salesorder(‘500000000’)?$expand=\u Item($filter=Grossamountintransaccurrency ge 1100 and Transactioncurrency eq'USD')&sap ds debug=true

(按实现顺序列出)

最后,大数据是啥意思,我们的ABAP项目将包含以下7个存储库对象:

Eclipse中ABAP开发工具中的项目资源管理器结构将如下所示:

CDS消费视图ZE2E001\U C\U SalesOrder和ZE2E001\U C\U SalesOrderItem

我们将开始在SAP作为EPM演示数据模型的一部分提供的两个现有CDS接口视图之上创建两个CDS消费视图。

请注意,您必须同时激活这两个视图(Ctrl+Shift+F3)。之后,您可以选择销售订单视图并使用(F8)预览数据。

界面–zif_e2e001_odata_v4_so_types

在第二步中,我们创建了一个界面zif_e2e001_odata_v4_so_types,用于存储将在这两个界面中使用的数据类型和常量,模型提供程序和数据提供程序类。

它还可用于驻留在同一服务组中的其他服务实现,并且可能希望利用接口中定义的信息来实现跨服务引用。

消息类

消息类包含在中使用的三条消息异常类引发特定于OData服务的错误消息。

消息类在ADT中如下所示。

异常类

使用自己的异常类是一种很好的做法。该类继承自SAP网关框架提供的基本异常类,悠哉返利机器人,并包含在发生以下错误时引发的异常:

应用程序尝试读取不存在的销售订单的标题数据应用程序尝试读取销售订单或销售订单项目列表,但不提供任何查询选项,以避免全表扫描

请注意:

例如,SAP Fiori应用程序默认使用$top和$skip等查询选项。对销售订单的一次读取也将使用事先检索到的正确密钥。

Model provider class–zcl\ U e2e001\ U odata\ U v4\ U so\ U Model–coding explained

温馨提示:以上内容整理于网络,仅供参考,如果对您有帮助,留下您的阅读感言吧!
相关阅读
本类排行
相关标签
本类推荐

关于我们 | 版权声明 | 广告服务 | 友情链接 | 联系我们 | 网站地图

Copyright © 2002-2020 sook云 版权所有 备案号:豫ICP备36548666号
本站资料均来源互联网收集整理,作品版权归作者所有,如果侵犯了您的版权,请跟我们联系。