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实例题之pygame开发打飞机游戏实例代码

《Python实例题之pygame开发打飞机游戏实例代码》对于python的学习者,能够写出一个飞机大战的程序代码,是不是感觉到非常的开心,:本文主要介绍Python实例题之pygame开发打飞机... 目录题目pygame-aircraft-game使用 Pygame 开发的打飞机游戏脚本代码解释初始化部

使用Python开发一个现代化屏幕取色器

《使用Python开发一个现代化屏幕取色器》在UI设计、网页开发等场景中,颜色拾取是高频需求,:本文主要介绍如何使用Python开发一个现代化屏幕取色器,有需要的小伙伴可以参考一下... 目录一、项目概述二、核心功能解析2.1 实时颜色追踪2.2 智能颜色显示三、效果展示四、实现步骤详解4.1 环境配置4.

SpringBoot服务获取Pod当前IP的两种方案

《SpringBoot服务获取Pod当前IP的两种方案》在Kubernetes集群中,SpringBoot服务获取Pod当前IP的方案主要有两种,通过环境变量注入或通过Java代码动态获取网络接口IP... 目录方案一:通过 Kubernetes Downward API 注入环境变量原理步骤方案二:通过

MybatisPlus service接口功能介绍

《MybatisPlusservice接口功能介绍》:本文主要介绍MybatisPlusservice接口功能介绍,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友... 目录Service接口基本用法进阶用法总结:Lambda方法Service接口基本用法MyBATisP

Python使用smtplib库开发一个邮件自动发送工具

《Python使用smtplib库开发一个邮件自动发送工具》在现代软件开发中,自动化邮件发送是一个非常实用的功能,无论是系统通知、营销邮件、还是日常工作报告,Python的smtplib库都能帮助我们... 目录代码实现与知识点解析1. 导入必要的库2. 配置邮件服务器参数3. 创建邮件发送类4. 实现邮件

如何搭建并配置HTTPD文件服务及访问权限控制

《如何搭建并配置HTTPD文件服务及访问权限控制》:本文主要介绍如何搭建并配置HTTPD文件服务及访问权限控制的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、安装HTTPD服务二、HTTPD服务目录结构三、配置修改四、服务启动五、基于用户访问权限控制六、

基于Python开发一个有趣的工作时长计算器

《基于Python开发一个有趣的工作时长计算器》随着远程办公和弹性工作制的兴起,个人及团队对于工作时长的准确统计需求日益增长,本文将使用Python和PyQt5打造一个工作时长计算器,感兴趣的小伙伴可... 目录概述功能介绍界面展示php软件使用步骤说明代码详解1.窗口初始化与布局2.工作时长计算核心逻辑3

python web 开发之Flask中间件与请求处理钩子的最佳实践

《pythonweb开发之Flask中间件与请求处理钩子的最佳实践》Flask作为轻量级Web框架,提供了灵活的请求处理机制,中间件和请求钩子允许开发者在请求处理的不同阶段插入自定义逻辑,实现诸如... 目录Flask中间件与请求处理钩子完全指南1. 引言2. 请求处理生命周期概述3. 请求钩子详解3.1

spring-gateway filters添加自定义过滤器实现流程分析(可插拔)

《spring-gatewayfilters添加自定义过滤器实现流程分析(可插拔)》:本文主要介绍spring-gatewayfilters添加自定义过滤器实现流程分析(可插拔),本文通过实例图... 目录需求背景需求拆解设计流程及作用域逻辑处理代码逻辑需求背景公司要求,通过公司网络代理访问的请求需要做请

如何基于Python开发一个微信自动化工具

《如何基于Python开发一个微信自动化工具》在当今数字化办公场景中,自动化工具已成为提升工作效率的利器,本文将深入剖析一个基于Python的微信自动化工具开发全过程,有需要的小伙伴可以了解下... 目录概述功能全景1. 核心功能模块2. 特色功能效果展示1. 主界面概览2. 定时任务配置3. 操作日志演示