SAP ABAP OData 服务的分页加载数据集的实现(Paging)试读版
正如本教程的开篇介绍文章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 有选择性地仅读取部分模型字段值
- 13. SAP ABAP OData 服务的分页加载数据集的实现(Paging)
- 更多文章正在写作中,敬请期待
使用 Restful ABAP Programming 编程模型(简称 RAP) 开发 OData 服务
- 正在写作中,敬请期待
使用 SAP Cloud Application Programming 编程模型开发 OData 服务
- 正在写作中,敬请期待
SAP UI5 应用的分页加载数据集,是一个极为重要的特性,需要 SAP UI5 前端和 OData 服务后端同时进行相应的开发工作,才能实现这个场景。
所谓分页加载数据集,就是默认情况下,SAP UI5 应用在启动后的默认页面里,只显示指定数据的数据集,这个个数默认为 20,也可以在系统或者代码里进行配置。因此我们可以理解成,SAP UI5 应用初始化时,默认从数据库加载第 1 到第 20 条数据。
当我们的滚动条向下滑动至屏幕底部时,会触发新一批数据的加载,读取第 21 条到第 40条也就是第二个 20 条数据。
SAP UI5 调用后台 OData 服务时,通过参数 $skip=X&$top=Y
来进行分页场景的指定。
- 其中
$skip=X
,代表跳过数据库第 X 条记录,从 X + 1 条记录开始读取(X为索引值,从 0 开始计数) $top=Y
,代表总共读取数据库 Y 条记录。
假设后台的 SAP ABAP OData 服务针对消费者通过 url 传入的 $skip=X&$top=Y
,已经正确实现,则 SAP UI5 应用,以分页的方式消费该 OData 服务,具体实现步骤,可以参考笔者这些文章:
- SAP UI5 应用开发教程之九十二 - 基于 SAP UI5 JSONModel 客户端模型的列表分页显示(Table Pagination)前提
- SAP UI5 应用开发教程之九十四 - 基于 JSONModel 数据模型的 SAP UI5 列表控件分页显示数据的完整解决方案
- SAP UI5 应用开发教程之九十六 - SAP UI5 列表控件分页显示数据时,如何自定义分页大小
下面介绍为了支持分页加载数据集的 SAP ABAP OData 服务的后台实现。
转载自:https://segmentfault.com/a/1190000042312288