OData服务的开发-SAP Gateway Service Builder Projects

文章目录

概述

有多种方法可以开发 OData 服务。对于经典的 ABAP 开发,引入了 SAP Gateway Service Builder。但是,在 SAP S/4HANA 1909 中引入的 ABAP RESTful 应用程序编程模型。

两个模型可以并行使用。但是,建议使用 ABAP RESTful 应用程序编程模型,因为这可以确保面向未来的开发。此外,ABAP RESTful 应用程序编程模型应用程序还可以在 SAP Business Technology Platform (SAP BTP) 上运行。

SAP Gateway Service Builder 是任何 ABAP 系统(包括 SAP Business Suite 和现代 SAP S/4HANA)附带的应用程序。使用 SAP Gateway Service Builder,开发人员可以创建和管理 OData 服务。要打开 SAP Gateway Service Builder,只需调用 Transaction SEGW。

操作

使用 SAP Gateway Service Builder 时,工作是在项目级别完成的,每个项目都对应一个 OData 服务。在这些项目中,开发人员可以定义和配置服务的各种实体、属性和功能(参见图 3.12)

在这里插入图片描述
图 3.12 SAP Gateway Service Builder 概述

为此,SAP Gateway Service Builder 提供了用户友好的界面和众多用于创建服务的功能。为此,您需要单击图标。之后,您将看到如图 3.13 所示的屏幕。您必须为项目指定名称和描述。此外,还必须将项目分配给包。请记住,您必须在 customer 命名空间(对象以字母 Z 或 Y 开头)或已注册的命名空间中工作。最后,单击 图标。
在这里插入图片描述
图 3.13 SAP Gateway Service Builder 项目向导

创建项目后,可以开始对实体进行建模。为此,上下文菜单位于项目的“数据模型”区域中。在这里,您可以创建、导入、重新定义或引用实体。一个简单的方法是导入 DDIC 结构,如图 3.14 所示。
在这里插入图片描述
图 3.14 创建 OData 实体

选择“导入 • DDIC 结构”选项后,将打开一个向导,您可以在其中为实体分配名称并选择所需的 ABAP 结构(参见图 3.15)。然后,单击“下一步”,您可以进行进一步的设置,例如选择关键字段和定义属性。
在这里插入图片描述
图 3.15 分配实体名称并选择 DDIC 结构

然后,您可以从 DDIC 结构中选择要传输到实体的属性(参见图 3.16)。单击“下一步”。
在这里插入图片描述
图 3.16 选择属性
要完成建模过程,必须选择将用作键的属性(参见图 3.17)。请注意,每个实体必须由键唯一标识,因此不能存在重复项。最后,单击“完成”以创建实体。

在这里插入图片描述
实现读取和查询功能的最简单方法是将其映射到现有的核心数据服务 (CDS) 视图。对于映射,打开上下文菜单(如图 3.18 所示),然后单击映射到数据源。
在这里插入图片描述
在下一步中,选择“目标系统”区域中的“本地”值。在“数据源属性”区域中,从“类型”下拉列表中选择“业务实体”(参见图 3.19)。然后,打开“名称”字段的值帮助。
在这里插入图片描述
图 3.19 数据源选择

在下一步中,选择值 CDS Core Data Services 作为 SADL 模型类型,然后使用输入帮助在 SADL 模型字段中选择所需的 OData 服务((F4);请参阅图 3.20)。最后,单击 继续。
在这里插入图片描述
按照前面的步骤,结果应如图 3.21 所示,其中空字段表示尚未创建映射。单击“生成映射”以启动映射过程。
在这里插入图片描述
图 3.21 属性映射概述

属性的映射会根据名称相似性自动执行。映射完成后,结果应与图 3.22 中相同。然后,您可以通过单击 开始生成所需的类。对于每个 OData 服务,都会在后台创建一些 ABAP 类。其中最重要的是扩展名为 _MPC、MPC_EXT、_DPC 和 _DPC_EXT 的类。
在这里插入图片描述
图 3.22 属性映射结果

模型提供程序类 (MPC) 和数据提供程序类 (DPC) 是 SAP 系统中开发 OData 服务的核心组件。扩展类 MPC_EXT 和 DPC_EXT 使这些核心组件能够扩展。MPC 负责数据模型,并包含实体及其属性的定义。它还定义导航属性和实体之间的关系。另一方面,DPC 负责提供数据,并包含用于读取、创建、更新和删除实体的方法。

MPC_EXT 和 DPC_EXT 扩展类允许您扩展和自定义 MPC 和 DPC 的行为。例如,在扩展类中,可以为实体定义其他属性或重写 DPC 的默认方法以实现特定的业务逻辑。

您自己的实现应仅在 _EXT 类中完成,因为在重新生成服务时,_DPC 和 _MPC 类将被覆盖,并且其中存在的任何实现都将丢失。

在生成 OData 服务期间,可以自定义数据和模型提供程序的名称以及服务注册类。这些可以根据您的要求单独命名。可以在相应的对话框中自定义相应的字段,如图 3.23 所示

在这里插入图片描述
图 3.23 服务生成

若要使用创建的 OData 服务,必须先在系统中注册该服务。为此,请启动 Transaction /IWFND/MAINT_SERVICE,它显示已注册的所有服务的概述。要注册新服务,请单击 + 添加服务按钮(参见图 3.24)。在“技术服务名称”字段中输入全名或部分名称,然后单击“获取服务”按钮(参见图 3.25)。
在这里插入图片描述
图 3.24 服务维护概述

  • 19
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

蓝袍先生

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值