当前位置:网站首页>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 在服务器端的实现步骤。
边栏推荐
- run command for node
- web 应用开发最佳实践之一:避免大型、复杂的布局和布局抖动
- 嵌入式分享合集28
- 阿里的arthas使用,入门报错:Unable to attach to 32-bit process running under WOW64
- vim clear last search highlighting
- Nuxt.js的优缺点和注意事项
- win10 uwp modify picture quality compress picture
- 如何进行AI业务诊断,快速识别降本提效增长点?
- win10终端中如何切换磁盘
- 【CAS:2306109-91-9 |胺-PEG4-脱硫生物素】价格
猜你喜欢

Comic | Two weeks after the boss laid me off, he hired me back and doubled my salary!

五分钟入门文本处理三剑客grep awk sed

【数据挖掘】搜狐公司数据挖掘工程师笔试题

Zero-knowledge proof notes - private transaction, pederson, interval proof, proof of ownership

宝塔实测-搭建中小型民宿酒店管理源码

新式茶饮,卷完水果还能卷什么?

数字IC设计中基本运算的粗略的延时估计

【CAS:2306109-91-9 |胺-PEG4-脱硫生物素】价格

KubeSphere简介,功能介绍,优势,架构说明及应用场景

手撕SparkSQL五大JOIN的底层机制
随机推荐
MYSQL gets the table name and table comment of the database
2022年国内手机满意度榜单:华为稳坐国产品牌第一
嵌入式分享合集28
How to promote the implementation of rural revitalization
使用 Allatori 进行 Jar 包混淆
Order of lds links
ts集成和使用
多用户同时远程登录连接到一台服务器
Tear down the underlying mechanism of the five JOINs of SparkSQL
腾讯云胡启明:Kubernetes云上资源的分析与优化
PriorityQueue类的使用及底层原理
漫画 | 老板裁掉我两周后,又把我请回去,工资翻番!
vs Code 运行一个本地WEB服务器
Getting Started with Lattice Passwords
【SQL】触发器同步表数据
After the tester with 10 years of service "naked resignation" from the big factory...
零知识证明笔记——私密交易,pederson,区间证明,所有权证明
实现菜单拖拽排序
【C语言】指针和数组的深入理解(第三期)
Oreo domain name authorization verification system v1.0.6 public open source version website source code