SAP ABAP OData 的四种开发方式

SAP OData 开发实战教程 - 从入门到提高
专栏收录该内容
¥49.90
¥99.00
93 篇文章

在 SAP 开发领域,如何高效地将 CDS 视图转化为 OData 服务一直是开发者关注的核心话题。

随着 SAP 技术栈的不断演进,从 AS ABAP 7.40 到 ABAP Platform 7.54,SAP 为我们提供了四种不同的实现路径,这些路径在时间上诞生的先后顺序,代表着技术的进步与开发效率的提升。

在这里插入图片描述

本文简单给大家梳理一下这四种方案,帮助大家在实际项目中做出最优选择。

方案一:映射数据源(AS ABAP 7.40+)

第一种方案从 AS ABAP 7.40 版本开始支持,这是最传统的实现方式。在这个方案中,开发者需要在 SAP Gateway 事务代码 SEGW 中手动将 CDS 视图及其关联关系映射到 OData 服务的实体集和导航属性上。

具体操作流程是:首先导入 DDIC 结构,然后创建关联关系,最后将这些元素映射到 CDS 视图上。

虽然这种方式需要较多的手动操作,但它为开发者提供了最大的灵活性和控制力,特别适合需要精细化定制的复杂业务场景。这种方式让开发者能够完全掌控数据模型与 OData 服务之间的映射关系。

方案二:引用数据源(AS ABAP 7.50+)

从 AS ABAP 7.50 版本开始,SAP 引入了更加便捷的开发方式。

在 SEGW 中,开发者可以直接引用 CDS 视图

VIP SAP ABAP Odata 开通可读全文·4.4k 阅读·23 点赞·45 收藏 阅读全文

相关推荐

SAP OData 开发教程 - 从入门到提高(包含 SEGW, RAP 和 CDP)

在 SAP 产品里,存在多种 OData 服务的开发方式,其中最典型的三类,SEGW, RAP(Restful ABAP Programming) 和 CDP(Cloud Application Program),就是笔者在本教程里会为大家分享和讲解的内容。同笔者的另一个 SAP UI5 教程《SAP UI5 应用开发教程的学习目录 - 循序渐进,由浅入深,适合不同水平的 SAP UI5 开发人员》一样,本教程笔者计划通过 300 篇以上的文章篇幅,分别介绍这三类 SAP 主流的 OData 服务开发技术。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1万+

SAP OData 编程指南

OData(Open Data Protocol)协议是一个开放的工业标准,用于定义RESTFul API的设计和使用。我的文章标题前加上SAP的前缀,只是为了表明这篇文章介绍的是Jerry在SAP项目开发中使用到OData的一些心得和经验。 目前OData被广泛用于SAP Business Suite和SAP S/4HANA的众多Fiori应用中,以及SAP Customer Engage......

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 2万+

37. 如何在 SEGW 事务码里为 SAP ABAP OData 服务实现 Function Import

模型本身,所以我们将 ls_book_db 变量包含的图书数据(包括 function import 设置的值为 1 的 status 字段),写入到该 function import 实现方法的输出参数。当 STATUS 值为 1 时,代表该图书可以通过在线商城等前端应用访问,当 STATUS 值为 0 时,代表其暂时下架,一般的用户,无法通过在线商城等应用看到这本书。我们假设这样一个业务场景,给图书模型对应的后台数据库表,增添一个 STATUS 字段,为简单起见,其数据类型就为字符型,长度为 1.

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1914

36. 关于 SAP ABAP OData 服务如何实现 Deep Insert 场景 - SAP 应用的标准行为

如果 pu t不可以做,一般 odata 这种怎么做。的 association,将一个 Opportunity 订单的抬头字段,同依附其的 Products 子节点业务数据建立关联。假设 OData 模型有 A B C 三个节点,这些节点具有层级关系,比如 A 是 B 的父节点,B 又是 C 的父节点。层级关系反映了实际的业务场景,比如一个订单可以包含多个行项目,每个行项目又可以包含一个产品信息和一个业务伙伴信息。那么成功创建的 Products 节点的业务数据,在哪个请求里从 ABAP 后台返回的呢?

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 2047

在 SAP BTP ABAP 环境里直连 ABAP On-Premise OData

摘要 SAP BTP ABAP Environment 2311版本后,OData集成链路迎来重大改进:Service Consumption Model升级为v2版本,通过压缩模型到单一类减少对象数量;通信管理推荐采用Communication Arrangement替代传统Destination,提供更清晰的治理边界。新版支持同时生成OData v2/v4消费模型,并通过标准工厂类创建代理。配置需关注四层对象:Outbound Service声明协议入口,Scenario定义认证方式,System描述通

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1896

5. SAP ABAP OData 服务如何支持 $filter (过滤)操作

本文介绍 SAP ABAP OData 服务如何支持并实现 OData 协议的标准功能:$filter 即过滤操作。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 3345

7. SAP ABAP OData 服务如何支持 $orderby (排序)操作

# 序言 本文详细介绍了 SAP ABAP OData 服务如何支持 $orderby (排序)操作,以一个图书管理的 OData 服务实现为例,阐述了如何基于图书的名称和作者名称这两个字段进行排序操作。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 2494

2. 在 SAP ABAP 系统对事物码 SEGW 创建的 OData 服务进行配置并测试

本教程介绍事物码 SEGW 里开发的 OData 服务,如何进行配置,使其可以在 SAP ABAP 系统里正常运行。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 4887

21. SAP ABAP OData 服务的 $count 操作实现

理论上讲,只要 SAP ABAP OData 服务的 DPC_EXT 类正确实现了 GET_ENTITYSET 方法,那么无需为 $count 操作进行额外的实现,因为按照本文介绍,OData 框架会自动帮我们完成 $count 操作的实现。然而也不难发现,对于一个纯粹的 $count 请求,实际上并不需要从数据库表里读取完整的图书数据,这是对数据库资源和计算资源的浪费。 本教程后续步骤,我们会介绍 $count 操作的正确实现,以及其和 $inlinecount 的区别。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1712

14. 几种 SAP ABAP OData 服务的性能评估和测试工具介绍

本教程至此已经完成了 13 个章节的介绍,我们初步掌握了 SAP ABAP OData 服务在事物码 SEGW 中的建模,以及该模型对应的 DPC - Data Provider Class 针对 CRUD(增删改查),过滤($filter), 排序($orderby), 选择性返回字段($select), 以及分页读取数据集($skip 和 $top) 等操作的具体实现步骤。 本步骤让我们暂时从 ABAP 编码中跳出来,分享几种实际 SAP ABAP OData 开发项目中,经常使用到的工具。...

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1528

1. 在 SAP ABAP 事物码 SEGW 里创建 SAP OData 项目

本文介绍如何在 SAP ABAP 事物码 SEGW 里创建 SEGW 项目,使用工具生成 Runtime 运行时需要的资源。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 5395

9. SAP ABAP OData 服务如何支持删除(Delete)操作

本文的内容分为两部分,首先介绍如何在 Postman 或者 SAP ABAP Gateway Client 里发送 HTTP DELETE 请求来调用 OData 服务的删除操作时,请求的 url 应该如何指定;其次介绍了如何基于 SAP ABAP OData 服务实现删除操作。......

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 2211

19. 如何使用 ABAP 程序消费 SAP ABAP OData 服务

本教程到目前为止,我们已经创建了一个支持增删改查的图书管理 OData 服务。本步骤介绍如何使用 ABAP 程序,来消费这个 OData 服务。 假设我们开发 OData 服务的 SAP ABAP 系统是 A,我们可以在任何其他 ABAP 系统上编写本步骤介绍的 ABAP 程序,当然也可以直接在 A 系统上编写程序,访问 A 系统上的 OData 服务。 在 ABAP 程序里,我们使用的 ABAP 工具类为 CL_HTTP_CLIENT, 这个工具类实现了 ICF Manager 提供的 HTTP接口。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 2192

22. SAP ABAP OData 服务的 $count 和 $inlinecount 两个操作的区别

本教程首先介绍了 SAP CRM Fiori 应用里 $count 和 $inlinecount 两种 OData 操作的用例,接着通过图书管理 OData 服务的实现为例,介绍了这两种操作的实现细节,并比较了其异同。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1241

8. SAP ABAP OData 服务如何支持创建(Create)操作

本文介绍 SAP ABAP OData 服务,如何实现创建(Create)操作。即通过 HTTP Post 的请求 Body,指定待创建的 OData 视图,部署了 OData Service 的服务器接收到这个请求后,成功处理完毕,返回 HTTP 201 Created 的状态码给 OData 消费者,表明 OData Entity 创建成功。......

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 3743

JAVA调用SAP ODATA服务

1、(401) 未经授权; 解决方法:将用户名密码加密后,添加到HTTP HEADER中。 String auth = "ZRFC" + ":" + "Init1234"; String encodeAuth = "Basic " + new String(Base64.getEncoder().encode(auth.getBytes(StandardCharsets.UTF_8))); connection.setRequestProperty("Authorization", encodeAuth); 2、POST方法地址; 解决方法:要先用GET方法从去调用ODATA中GET_ENTIY方法,例如:http://vhcals4h.com:44301/sap/opu/odata/sap/ztest_srv/HEADERSet('5000000001'),然后再将返回内容作为表身,传到ENTITYSET地址,如:http://vhcals4h.com:44301/sap/opu/odata/sap/ztest_srv/HEADERSet('5

DEM边界数值爆炸?用ArcGIS空间分析工具链搞定异常值过滤全流程

本文针对DEM数据处理中常见的边界数值爆炸问题,提供了一套完整的ArcGIS空间分析解决方案。文章深入剖析了异常值产生的根源,并详细介绍了从诊断、定位到使用栅格计算器、重分类等工具进行精准过滤与修复的全流程工作流,帮助用户彻底解决由插值误差、数据拼接及坐标系转换引发的数值异常。

weixin_29269441的博客 141

私有云平台搭建——OpenStack

私有云平台搭建——OpenStack 搭建过程

2301_79739036的博客 3082

大数据利器Hadoop:从基础到实战,一篇文章掌握大数据处理精髓!

在当今大数据时代,数据量的爆炸式增长对企业和技术提出了前所未有的挑战。如何高效地存储、处理和分析这些庞大的数据集,成为了亟待解决的问题。Hadoop作为一种分布式计算框架,应运而生,为大数据处理提供了有效的解决方案。Hadoop是一个由Apache软件基金会维护的开源项目,它基于Google的分布式文件系统(Google File System,GFS)和MapReduce计算模型设计。Hadoop的主要目标是处理大规模数据集,它可以在普通硬件集群上运行,从而降低了大数据处理的成本。

邓邓子的博客 8239

C#与天文观测:Celestia模拟星空的奇幻之旅

Celestia就像一艘穿梭在星海中的小飞船,带领我们遨游宇宙。C#则是这艘飞船的智能导航系统,用代码指挥它飞向任何我们向往的星球或星系。首先,下载并安装Celestia,熟悉其基本操作和功能。创建一个星空目标列表,包括不同的恒星、行星和星系。// 示例:定义观察目标列表new SpaceObject("太阳"),new SpaceObject("月球"),new SpaceObject("火星")

java专栏 1451

《AI编程实战:深度学习模型改进与系统部署》,改进专栏目录和介绍

专深度学习相关项目都写在本专栏,《一次订阅解锁全部,都有源码,永久观看》,包括车牌识别、股票预测、人脸识别、风格迁移、图像修复、图像超分辨重建、图像分割等任务,Web/PyQt系统实现。引入Transformer、Swin Transformer、DenseNet、ViT、ConvNeXt等算法实战,提供卷积改进,魔改对比实验,模型剪枝,模型蒸馏,模型量化,全网独家整合改进专栏,为不同领域的同学发表论文提供了大力支持。

在职AI算法工程师,擅长计算机视觉,YOLO目标检测、分割等,擅长web、pyqt界面可视化,好内容持续更新中,来这里跟大家一起学习,共同进步 3234

基于Simulink的光伏-储能-柴油机混合微网仿真

摘要:本文基于Simulink平台构建光伏-储能-柴油机混合微网仿真模型,实现可再生能源与备用电源的协同控制。通过光伏优先、储能调节、柴油机兜底的规则控制策略,在24小时仿真中验证了系统在晴天、阴天和夜间三种典型工况下的运行性能。模型采用PVArray模块模拟光伏发电,Simscape电气库构建储能系统,自定义MATLAB函数实现柴油机启停逻辑和能量管理。仿真结果显示系统功率平衡误差<5%,储能SOC维持在20%-80%,柴油机日均运行时间<4小时,满足设计指标。文章详细说明了建模步骤、参数设置

xiaoheshang_123的博客 66

基于STM32+OneNet设计的物联网智慧路灯(100)

本次设计的智能路灯采用STM32芯片和OneNet物联网平台进行连接,开发出支持太阳能充电锂电池供电、GPS定位上传位置信息、手动/自动控制路灯开关、环境光照调节、红外传感器检测周围人员、空气质量监测等多项功能。同时,当路灯发生异常情况时,系统可以自动发送邮件或短信到指定邮箱或电话。

7699

Altium Designer(AD24/25)PCB编辑的几种方法介绍

本文介绍了Altium Designer(AD24/25)软件中PCB编辑的四种操作方法:1)通过菜单栏"Place→Component"激活;2)点击工具栏元器件图标;3)右键快捷菜单选择;4)快捷键P+C组合操作。建议初学者先通过菜单栏和快捷菜单熟悉操作,熟练后转为工具栏和快捷键以提高效率。文章配有操作示意图,帮助用户快速掌握PCB元器件放置技巧。

fydar的博客 917

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

上一篇: SAP Fiori 中如何判定 Support Message Component:从 Launchpad 报错到后端组件定位的完整链路
下一篇: 为什么基于 CDS View 开发 OData 这个功能,SAP 花费了 10 年的时间来迭代?

双11狂欢大促

盲盒赢 定制羽绒服

开启惊喜盲盒,抽取你的专属好礼

— 惊喜奖品抢先看 —
汪子熙
汪子熙 新星创作者: 前端开发技术领域 新星创作者: 前端开发技术领域 优质创作者: 软件测试技术领域 优质创作者: 软件测试技术领域 领域专家: 数据库技术领域 领域专家: 数据库技术领域
博客等级 码龄16年 3万+粉丝 1万+原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

打赏作者

汪子熙

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

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

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

打赏作者

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

抵扣说明:

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

余额充值