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

news2024/9/21 18:39:57

文章目录

  • 概述
  • 操作

概述

有多种方法可以开发 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 服务维护概述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1273297.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

MIT_线性代数笔记:第 10 讲 四个基本子空间

目录 四个子空间 Four subspaces基和维数 Basis& Dimension新向量空间 New vector space 本讲讨论矩阵的四个基本子空间以及他们之间的关系。 四个子空间 Four subspaces 任意的 m x n 矩阵 A 都定义了四个子空间。 列空间 Column space C(A) 矩阵 A 的列空间是 A 的列向…

YOLO改进系列之ParNetAttention注意力机制

ParNet注意力是一种用于自然语言处理任务的注意力机制,它是由谷歌在2019年提出的。ParNet注意力旨在解决传统注意力机制在处理长序列时的效率问题。传统的注意力机制在计算注意力权重时,需要对所有输入序列的位置进行逐一计算,这导致了在长序…

INA219电流感应芯片_程序代码

详细跳转借鉴链接INA219例程此处进行总结 简单介绍一下 INA219: 1、 输入脚电压可以从 0V~26V,INA219 采用 3.3V/5V 供电. 2、 能够检测电流,电压和功率,INA219 内置基准器和乘法器使之能够直接以 A 为单位 读出电流值。 3、 16 位可编程地…

GPT-4 惨遭削弱;拼多多市值一度超阿里;雷军回应个人向武汉大学捐款 13 亿元丨 RTE 开发者日报 Vol.96

开发者朋友们大家好: 这里是 「RTE 开发者日报」 ,每天和大家一起看新闻、聊八卦。我们的社区编辑团队会整理分享 RTE (Real Time Engagement) 领域内「有话题的 新闻 」、「有态度的 观点 」、「有意思的 数据 」、「有…

【Openstack Train安装】三、openstack安装

本文在所有节点安装openstack包,请确保按照以下教程完成了相关配置: 【Openstack Train安装】一、虚拟机创建 【Openstack Train安装】二、NTP安装 安装环境如下 VMware WorkstationV17.0本机系统win11虚拟机系统CentOS 7.5 openstack包含多个版本&…

传智杯第五届题解

B.莲子的机械动力学 分析&#xff1a;这题有个小坑&#xff0c;如果是00 0&#xff0c;结果记得要输出0。 得到的教训是&#xff0c;避免前导0出现时&#xff0c;要注意答案为0的情况。否则有可能会没有输出 #include<assert.h> #include<cstdio> #include<…

【神印王座】永恒之塔秘密透露,林鑫告白李馨,皓晨采儿甜蜜接吻

Hello,小伙伴们&#xff0c;我是拾荒君。 《神印王座》第83集如期而至&#xff0c;带来了令人期待已久的更新。与众多热情的观众一样&#xff0c;拾荒君一得到更新消息&#xff0c;便急不可耐地观赏起来。这一集中&#xff0c;龙皓晨随着月魔宫的月夜商队成功抵达联盟&#xf…

下载并安装anaconda和VScode,配置虚拟环境,并使用VScode运行代码

文章目录 前言软件下载Anaconda下载VScode下载 软件安装Anaconda安装Vscod安装 配置虚拟环境并运行代码Anaconda创建环境VScode使用&#xff0c;运行代码1. 打开代码所在文件夹2. 选择解释器3. 运行代码 总结 前言 运行python代码&#xff0c;需要2个软件如下&#xff1a; Ana…

漏洞扫描服务是什么

漏洞扫描服务是维护网络安全的重要一环。通过定期或实时的漏洞扫描&#xff0c;组织可以及时发现并修复可能存在的安全威胁&#xff0c;增强自身网络的安全性。在选择漏洞扫描服务时&#xff0c;需要明确自身的需求和目标&#xff0c;并选择合适的工具和服务提供商。只有这样&a…

TFIDF、BM25、编辑距离、倒排索引

TFIDF TF刻画了词语t对某篇文档的重要性&#xff0c;IDF刻画了词语t对整个文档集的重要性

MySQL数据库如何应对故障恢复与数据恢复回滚

一个最基本的数据库&#xff0c;应当可以做到以下几点 数据持久化&#xff0c;可以将数据保存到磁盘&#xff0c;服务重启数据依然存在。 可以按照某种关系存储数据&#xff0c;如果你用过IO流&#xff0c;那么你会发现整理数据也是一件复杂的事情。我是该追加写呢还是找到某条…

一文讲清楚Python流程控制语句

流程控制就是控制程序如何执行的方法&#xff0c;它适用于任何一门编程语言&#xff0c;其作用在于可以根据用户的需求决定程序执行的顺序。计算机在运行程序时有三种执行方法&#xff1a;第一种是顺序执行&#xff0c;自上而下顺序执行所有的语句&#xff0c;对应程序设计中的…

客户案例:EDLP助力金融行业打造高效数据防泄露体系

客户背景 某金融机构是一家以金融科技为核心&#xff0c;致力于为客户提供全方位、智能化、便捷化金融服务的综合性企业。公司总部位于南京&#xff0c;业务范围覆盖全国&#xff0c;拥有强大的技术研发团队和优秀的业务精英&#xff0c;为客户提供全方位的金融服务解决方案。 …

“最甜港姐”走的与众不同之路

网络图片 媒体最新报道&#xff0c;她被誉为“最甜港姐”&#xff0c;曾是TVB炙手可热的当红花旦&#xff0c;却在最当红的时候选择急流勇退。 她不是退圈去相夫教子&#xff0c;而是读书深造&#xff0c;成为一名专业律师。 前不久&#xff0c;又有消息传出&#xff0c;明年…

06_MySQL数据库高可用解决方案(MHA)

各位道友好&#xff0c;鼠鼠我呀校招刚通过了移动的面试 &#xff0c;但是安排的岗位是偏远县城里面的岗位&#xff0c;各位能给给建议吗&#xff1f;鼠鼠我啊真不想有时候变成销售员去卖产品&#xff01;&#xff01;&#xff01; 任务背景 一、真实案例 公司现在需要做MySQ…

docker集群的详解以及超详细搭建

文章目录 一、问题引入1. 多容器位于同一主机2. 多容器位于不同主机 二、介绍三、特性四、概念1. 节点nodes2. 服务(service)和任务(task)3. 负载均衡 五、docker网络1. overlay网络 六、docker集群搭建1. 环境介绍2. 创建集群3. 集群网络4. 加入工作节点 七、部署可视化界面po…

Python多线程优化:提升程序性能的实例

更多Python学习内容&#xff1a;ipengtao.com 大家好&#xff0c;我是涛哥&#xff0c;今天为大家分享 Python多线程优化&#xff1a;提升程序性能的实例&#xff0c;全文5600字&#xff0c;阅读大约16钟。 多线程是一种有效的并发编程方式&#xff0c;能够提高程序的性能。本文…

基于Java SSM框架实现KTV点歌系统项目【项目源码+论文说明】

基于java的SSM框架实现KTV点歌系统演示 摘要 本论文主要论述了如何使用JAVA语言开发一个KTV点歌系统&#xff0c;本系统将严格按照软件开发流程进行各个阶段的工作&#xff0c;采用B/S架构&#xff0c;面向对象编程思想进行项目开发。在引言中&#xff0c;作者将论述KTV点歌系…

【模电】放大电路的性能指标

放大电路的性能指标 放大倍数输入电阻输出电阻通频带非线性失真系数最大不失真输出电压最大输出功率与效率 下图所示为放大电路的示意图。 对于信号而言&#xff0c;任何一个放大电路均可看成一个两端口网络。左边为输入端口&#xff0c;当内阻为 R s R\tiny s Rs的正弦波信号…

C语言练习记录(蓝桥杯练习)(小蓝数点)

目录 小蓝数点 第一题程序的输出结果是&#xff1f;: 第二题下面代码的执行结果是什么&#xff1f;: 第三题下面代码的执行结果是什么&#xff1f;: 第四题关于关系操作符说法错误的是&#xff1f;: 第五题对于下面代码段&#xff0c;y的值为&#xff1f; 第六题sum 21 …