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

2023-11-30 21:36

本文主要是介绍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 服务维护概述

这篇关于OData服务的开发-SAP Gateway Service Builder Projects的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/438651

相关文章

Spring Boot + MyBatis Plus 高效开发实战从入门到进阶优化(推荐)

《SpringBoot+MyBatisPlus高效开发实战从入门到进阶优化(推荐)》本文将详细介绍SpringBoot+MyBatisPlus的完整开发流程,并深入剖析分页查询、批量操作、动... 目录Spring Boot + MyBATis Plus 高效开发实战:从入门到进阶优化1. MyBatis

Python基于wxPython和FFmpeg开发一个视频标签工具

《Python基于wxPython和FFmpeg开发一个视频标签工具》在当今数字媒体时代,视频内容的管理和标记变得越来越重要,无论是研究人员需要对实验视频进行时间点标记,还是个人用户希望对家庭视频进行... 目录引言1. 应用概述2. 技术栈分析2.1 核心库和模块2.2 wxpython作为GUI选择的优

利用Python开发Markdown表格结构转换为Excel工具

《利用Python开发Markdown表格结构转换为Excel工具》在数据管理和文档编写过程中,我们经常使用Markdown来记录表格数据,但它没有Excel使用方便,所以本文将使用Python编写一... 目录1.完整代码2. 项目概述3. 代码解析3.1 依赖库3.2 GUI 设计3.3 解析 Mark

Linux上设置Ollama服务配置(常用环境变量)

《Linux上设置Ollama服务配置(常用环境变量)》本文主要介绍了Linux上设置Ollama服务配置(常用环境变量),Ollama提供了多种环境变量供配置,如调试模式、模型目录等,下面就来介绍一... 目录在 linux 上设置环境变量配置 OllamPOgxSRJfa手动安装安装特定版本查看日志在

利用Go语言开发文件操作工具轻松处理所有文件

《利用Go语言开发文件操作工具轻松处理所有文件》在后端开发中,文件操作是一个非常常见但又容易出错的场景,本文小编要向大家介绍一个强大的Go语言文件操作工具库,它能帮你轻松处理各种文件操作场景... 目录为什么需要这个工具?核心功能详解1. 文件/目录存javascript在性检查2. 批量创建目录3. 文件

SpringCloud之LoadBalancer负载均衡服务调用过程

《SpringCloud之LoadBalancer负载均衡服务调用过程》:本文主要介绍SpringCloud之LoadBalancer负载均衡服务调用过程,具有很好的参考价值,希望对大家有所帮助,... 目录前言一、LoadBalancer是什么?二、使用步骤1、启动consul2、客户端加入依赖3、以服务

基于Python开发批量提取Excel图片的小工具

《基于Python开发批量提取Excel图片的小工具》这篇文章主要为大家详细介绍了如何使用Python中的openpyxl库开发一个小工具,可以实现批量提取Excel图片,有需要的小伙伴可以参考一下... 目前有一个需求,就是批量读取当前目录下所有文件夹里的Excel文件,去获取出Excel文件中的图片,并

MyBatis-Plus中Service接口的lambdaUpdate用法及实例分析

《MyBatis-Plus中Service接口的lambdaUpdate用法及实例分析》本文将详细讲解MyBatis-Plus中的lambdaUpdate用法,并提供丰富的案例来帮助读者更好地理解和应... 目录深入探索MyBATis-Plus中Service接口的lambdaUpdate用法及示例案例背景

基于Python开发PDF转PNG的可视化工具

《基于Python开发PDF转PNG的可视化工具》在数字文档处理领域,PDF到图像格式的转换是常见需求,本文介绍如何利用Python的PyMuPDF库和Tkinter框架开发一个带图形界面的PDF转P... 目录一、引言二、功能特性三、技术架构1. 技术栈组成2. 系统架构javascript设计3.效果图

基于Python开发PDF转Doc格式小程序

《基于Python开发PDF转Doc格式小程序》这篇文章主要为大家详细介绍了如何基于Python开发PDF转Doc格式小程序,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 用python实现PDF转Doc格式小程序以下是一个使用Python实现PDF转DOC格式的GUI程序,采用T