当前位置:网站首页>SAP ABAP OData 服务如何支持 $select 有选择性地仅读取部分模型字段值试读版
SAP ABAP OData 服务如何支持 $select 有选择性地仅读取部分模型字段值试读版
2022-08-04 20:38:00 【汪子熙】
正如本教程的开篇介绍文章SAP OData 开发教程 - 从入门到提高(包含 SEGW, RAP 和 CDP)所提到的,SAP OData 服务开发,从实现技术上来说,可以分为三大类。因此本教程也分为三大部分,分别进行介绍。本文是本教程的文章目录。
作者简介
Jerry Wang,2007 年从电子科技大学计算机专业硕士毕业后加入 SAP 成都研究院工作至今。Jerry 是 SAP 社区导师,SAP 中国技术大使。在长达 15 年的 SAP 标准产品开发生涯里,Jerry 曾经先后参与 SAP Business ByDesign, SAP CRM, SAP Cloud for Customer, SAP S/4HANA, SAP Commerce Cloud(电商云)等标准产品的研发工作。
Jerry 对 SAP OData 服务的开发,测试,发布,部署,测试,及基于各种不同 SAP 技术实现的 OData 服务的幕后技术实现细节和使用场合,均有着深入的研究。

基于 SEGW - Gateway Service Builder 的开发教程
4. SAP ABAP OData 服务 Data Provider Class 的 GET_ENTITYSET 方法实现指南
11. 使用 HTTP PUT, PATCH 以及 MERGE 请求消费 SAP ABAP OData 服务修改操作的实现及其区别
更多文章正在写作中,敬请期待
使用 Restful ABAP Programming 编程模型(简称 RAP) 开发 OData 服务
- 正在写作中,敬请期待
使用 SAP Cloud Application Programming 编程模型开发 OData 服务
- 正在写作中,敬请期待
SAP ABAP 开发人员,想必对 ABAP OPEN SQL 语句的 SELECT X Y Z FROM CORRESPONDING FIELDS OF TABLE 这个用法不陌生。
以我们本教程一直在使用的数据库表 ZBOOKS 为例,其内容如下:

我们如果用 ABAP OPEN SQL 语句的 SELECT *, 读取每行数据库表记录的全部字段到 ABAP 内表里,则内容如下:

如果我们只读取 BOOK_GUID, BOOK_NAME 和 AUTHOR_NAME 三个字段,OPEN SQL 语句可以这样写:
SELECT BOOK_GUID BOOK_NAME AUTHOR_NAME INTO CORRESPONDING FIELDS OF TABLE lt_book FROM ZBOOKS
其中待读取的字段名称,定义在 SELECT 操作后,字段之间通过空格作为分隔符。
最后读取的结果:

其实,OData 读取操作也支持类似 ABAP OPEN SQL 的 SELECT 选项。
下面是正常读取一本图书所有字段的 OData 请求 url:
https://{ {host}}:{ {port}}/sap/opu/odata/sap/ZBOOK_MANAGE_SRV/BookCollection(guid'42010aee-2a94-1edd-8494-c9d14e91555e')

下面是读取一本图书的 author_name 和 book_name 这两个字段的 OData 请求 url:
https://{ {host}}:{ {port}}/sap/opu/odata/sap/ZBOOK_MANAGE_SRV/BookCollection(guid'42010aee-2a94-1edd-8494-c9d14e91555e')?$select=book_name,author_name
我们能看到,通过 $select= 后面指定的 book_name 和 author_name 两个字段,中间用 , 分隔。
最后 OData 请求返回的结果,可以看到只有图书名称和作者名称两个字段被返回了。

下面介绍 $select 在服务器端的实现步骤。
边栏推荐
- MySQL stored procedure introduction, creation, case, delete, view "recommended collection"
- SAP UI5 ensures that the control id is globally unique implementation method
- C语言小笔记+题
- 【C语言】指针和数组的深入理解(第三期)
- 搭建MyCat2一主一从的MySQL读写分离
- 37.轮播图
- 暴雨中的人
- 2022-8-4 第七组 ptz 锁与线程池和工具类
- MYSQL gets the table name and table comment of the database
- 刷题-洛谷-P1304 哥德巴赫猜想
猜你喜欢

零知识证明笔记——私密交易,pederson,区间证明,所有权证明

推荐系统_刘老师

格密码入门

无代码平台字段设置:基础设置入门教程

WIN10系统如何开启终端

MATLAB中readtimetable函数用法

深度解析:为什么跨链桥又双叒出事了?
![[Academic related] Tsinghua professor persuaded to quit his Ph.D.:I have seen too many doctoral students have mental breakdowns, mental imbalances, physical collapses, and nothing!...](/img/d8/a367c26b51d9dbaf53bf4fe2a13917.png)
[Academic related] Tsinghua professor persuaded to quit his Ph.D.:I have seen too many doctoral students have mental breakdowns, mental imbalances, physical collapses, and nothing!...

刷题-洛谷-P1317 低洼地

手撕SparkSQL五大JOIN的底层机制
随机推荐
xss课堂内容复现
MYSQL gets the table name and table comment of the database
常用正则表达式[通俗易懂]
零知识证明——zkSNARK证明体系
EasyUi常用代码
MySQL字段类型
Differences in the working mechanism between SAP E-commerce Cloud Accelerator and Spartacus UI
JSD-2204-酷莎商城(管理员模块)-密码加密-Day10
5 g NR notes
win10终端中如何切换磁盘
推荐系统_刘老师
win10 uwp modify picture quality compress picture
MySQL stored procedure introduction, creation, case, delete, view "recommended collection"
[Data Mining] Written Exam Questions for Sohu Data Mining Engineers
漫画 | 老板裁掉我两周后,又把我请回去,工资翻番!
新式茶饮,卷完水果还能卷什么?
web 应用开发最佳实践之一:避免大型、复杂的布局和布局抖动
使用百度EasyDL实现森林火灾预警识别
Zero-knowledge proof notes - private transaction, pederson, interval proof, proof of ownership
Oreo domain name authorization verification system v1.0.6 public open source version website source code