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

相关文章

一文详解Python如何开发游戏

《一文详解Python如何开发游戏》Python是一种非常流行的编程语言,也可以用来开发游戏模组,:本文主要介绍Python如何开发游戏的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下... 目录一、python简介二、Python 开发 2D 游戏的优劣势优势缺点三、Python 开发 3D

Linux创建服务使用systemctl管理详解

《Linux创建服务使用systemctl管理详解》文章指导在Linux中创建systemd服务,设置文件权限为所有者读写、其他只读,重新加载配置,启动服务并检查状态,确保服务正常运行,关键步骤包括权... 目录创建服务 /usr/lib/systemd/system/设置服务文件权限:所有者读写js,其他

基于Python开发Windows自动更新控制工具

《基于Python开发Windows自动更新控制工具》在当今数字化时代,操作系统更新已成为计算机维护的重要组成部分,本文介绍一款基于Python和PyQt5的Windows自动更新控制工具,有需要的可... 目录设计原理与技术实现系统架构概述数学建模工具界面完整代码实现技术深度分析多层级控制理论服务层控制注

Spring Gateway动态路由实现方案

《SpringGateway动态路由实现方案》本文主要介绍了SpringGateway动态路由实现方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随... 目录前沿何为路由RouteDefinitionRouteLocator工作流程动态路由实现尾巴前沿S

Spring Boot分层架构详解之从Controller到Service再到Mapper的完整流程(用户管理系统为例)

《SpringBoot分层架构详解之从Controller到Service再到Mapper的完整流程(用户管理系统为例)》本文将以一个实际案例(用户管理系统)为例,详细解析SpringBoot中Co... 目录引言:为什么学习Spring Boot分层架构?第一部分:Spring Boot的整体架构1.1

Java服务实现开启Debug远程调试

《Java服务实现开启Debug远程调试》文章介绍如何通过JVM参数开启Java服务远程调试,便于在线上排查问题,在IDEA中配置客户端连接,实现无需频繁部署的调试,提升效率... 目录一、背景二、相关图示说明三、具体操作步骤1、服务端配置2、客户端配置总结一、背景日常项目中,通常我们的代码都是部署到远程

Java中的分布式系统开发基于 Zookeeper 与 Dubbo 的应用案例解析

《Java中的分布式系统开发基于Zookeeper与Dubbo的应用案例解析》本文将通过实际案例,带你走进基于Zookeeper与Dubbo的分布式系统开发,本文通过实例代码给大家介绍的非常详... 目录Java 中的分布式系统开发基于 Zookeeper 与 Dubbo 的应用案例一、分布式系统中的挑战二

基于Go语言开发一个 IP 归属地查询接口工具

《基于Go语言开发一个IP归属地查询接口工具》在日常开发中,IP地址归属地查询是一个常见需求,本文将带大家使用Go语言快速开发一个IP归属地查询接口服务,有需要的小伙伴可以了解下... 目录功能目标技术栈项目结构核心代码(main.go)使用方法扩展功能总结在日常开发中,IP 地址归属地查询是一个常见需求:

基于 Cursor 开发 Spring Boot 项目详细攻略

《基于Cursor开发SpringBoot项目详细攻略》Cursor是集成GPT4、Claude3.5等LLM的VSCode类AI编程工具,支持SpringBoot项目开发全流程,涵盖环境配... 目录cursor是什么?基于 Cursor 开发 Spring Boot 项目完整指南1. 环境准备2. 创建

SpringBoot 多环境开发实战(从配置、管理与控制)

《SpringBoot多环境开发实战(从配置、管理与控制)》本文详解SpringBoot多环境配置,涵盖单文件YAML、多文件模式、MavenProfile分组及激活策略,通过优先级控制灵活切换环境... 目录一、多环境开发基础(单文件 YAML 版)(一)配置原理与优势(二)实操示例二、多环境开发多文件版