当前位置:网站首页>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
在服务器端的实现步骤。
边栏推荐
猜你喜欢
DICOM医学影像协议
【学术相关】清华教授发文劝退读博:我见过太多博士生精神崩溃、心态失衡、身体垮掉、一事无成!...
xss课堂内容复现
漫画 | 老板裁掉我两周后,又把我请回去,工资翻番!
多用户同时远程登录连接到一台服务器
Tensorflow2 环境搭建
Using Baidu EasyDL to realize forest fire early warning and identification
基于HDF的LED驱动程序开发(2)
After the tester with 10 years of service "naked resignation" from the big factory...
面试官:Redis中过期的key是怎么被删除的?
随机推荐
阿里的arthas使用,入门报错:Unable to attach to 32-bit process running under WOW64
格密码入门
链路聚合技术及VRRP
Elastic Search 根据匹配分和热度分排序
新式茶饮,卷完水果还能卷什么?
Desthiobiotin-PEG4-Azide_脱硫生物素-叠氮化物 100mg
【Web漏洞探索】跨站脚本漏洞
基于单向链表结构的软件虚拟定时器的设计与构建
5 g NR notes
Zero-knowledge proof - zkSNARK proof system
面试官:JVM运行时数据区包含哪几部分?作用是啥?
Matlab画图2
vehemently condemn
IPV6地址
Using Baidu EasyDL to realize forest fire early warning and identification
零知识证明——zkSNARK证明体系
37.轮播图
How to carry out AI business diagnosis and quickly identify growth points for cost reduction and efficiency improvement?
node 的运行命令
简述@RequestParam与@RequestBody参数注解