SAP ABAP OData 服务如何支持 $select 有选择性地仅读取部分模型字段值试读版

简介: 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 的开发教程



使用 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 在服务器端的实现步骤。


相关文章
|
5月前
|
存储 安全 数据库
什么是 SAP ABAP 数据库表的 Display Maintenance Allowed with Restrictions
什么是 SAP ABAP 数据库表的 Display Maintenance Allowed with Restrictions
|
5月前
|
安全 API 数据库
SAP ABAP OData 中 Function import 的概念介绍
SAP ABAP OData 中 Function import 的概念介绍
|
5月前
|
前端开发 数据库 开发者
如何在 SEGW 事务码里为 SAP ABAP OData 服务实现 Function Import 试读版
如何在 SEGW 事务码里为 SAP ABAP OData 服务实现 Function Import 试读版
SAP ABAP OData 服务里需要指定 guid 类型的请求参数时,正确语法是什么?
SAP ABAP OData 服务里需要指定 guid 类型的请求参数时,正确语法是什么?
|
5月前
|
前端开发 搜索推荐 开发者
SAP UI5 sap.m.Column 控件的 minScreenWidth 属性介绍
SAP UI5 sap.m.Column 控件的 minScreenWidth 属性介绍
|
5月前
|
JavaScript 前端开发 开发者
SAP UI5 控件 sap.m.ListBase 的 inset 属性的作用介绍
SAP UI5 控件 sap.m.ListBase 的 inset 属性的作用介绍
|
5月前
|
Web App开发 数据采集 前端开发
纯技术讨论:如何让 SAP UI5 应用无法被别人在浏览器里调试 - 这种做法不推荐试读版
纯技术讨论:如何让 SAP UI5 应用无法被别人在浏览器里调试 - 这种做法不推荐试读版
|
5月前
|
XML 存储 数据格式
SAP UI5 控件 customData 属性的应用介绍
SAP UI5 控件 customData 属性的应用介绍
|
5月前
|
前端开发 JavaScript API
SAP UI5 sap.ui.require.toUrl 的作用介绍
SAP UI5 sap.ui.require.toUrl 的作用介绍
|
5月前
|
搜索推荐
如何让 SAP UI5 Smart Table 支持多项选择(Multiple-Selection)试读版
如何让 SAP UI5 Smart Table 支持多项选择(Multiple-Selection)试读版