SAP|SAP ABAP OData 服务如何支持 $select 有选择性地仅读取部分模型字段值试读版
正如本教程的开篇介绍文章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 的开发教程
- 1. 在 SAP ABAP 事物码 SEGW 里创建 SAP OData 项目
- 2. 在 SAP ABAP 系统对事物码 SEGW 创建的 OData 服务进行配置并测试
- 3. SAP ABAP OData 服务诊断工具 /IWFND/ERROR_LOG 的使用方法
- 4. SAP ABAP OData 服务 Data Provider Class 的 GET_ENTITYSET 方法实现指南
- 5. SAP ABAP OData 服务如何支持 $filter (过滤)操作
- 6. 使用 Postman 工具高效管理和测试 SAP ABAP OData 服务
- 7. SAP ABAP OData 服务如何支持 $orderby (排序)操作
- 8. SAP ABAP OData 服务如何支持创建(Create)操作
- 9. SAP ABAP OData 服务如何支持删除(Delete)操作
- 10. SAP ABAP OData 服务如何支持修改(Update)操作
- 11. 使用 HTTP PUT, PATCH 以及 MERGE 请求消费 SAP ABAP OData 服务修改操作的实现及其区别
- 12. SAP ABAP OData 服务如何支持 $select 有选择性地仅读取部分模型字段值
- 更多文章正在写作中,敬请期待
- 正在写作中,敬请期待
- 正在写作中,敬请期待
以我们本教程一直在使用的数据库表
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 操作后,字段之间通过空格作为分隔符。
最后读取的结果:
文章图片
【SAP|SAP ABAP OData 服务如何支持 $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
在服务器端的实现步骤。推荐阅读
- 授人以渔|授人以渔 - 如何自行查询任意 SAP UI5 控件属性的文档和技术实现细节试读版
- 使用|使用 HTTP PUT, PATCH 以及 MERGE 请求消费 SAP ABAP OData 服务修改操作的实现及其区别试读版
- Linux|yum报错(failure: repodata/repomd.xml from xxxxxx: [Errno 256] No more mirrors to try.解决办法)
- leetcode|leetcode 448. Find All Numbers Disappeared in an Array (简单)
- abap|各种语言里获取当前模块的方法(ABAP,ABSL,C,nodejs)
- SAP|SAP UI5 本地开发如何通过 http-proxy 解决跨域问题
- SAP|SAP ABAP Netweaver 容器化的一些前沿性研究工作分享
- 使用|使用 SAP UI5 FileUploader 控件上传本地文件
- ABAP开发|ABAP 代码中读取会计科目的字段状态(隐藏、可选、必输)
- 往期钟妍老师ASAP康复私教认证课程学员分享