ABAP内表在ABAP 740后支持的filter操作

简介: ABAP内表在ABAP 740后支持的filter操作

ABAP内表和Java的Array一样,都是面向过程编程时代的产物。最近Jerry手头的工作,经常需要和Java Array对象化之后的集合类型和Java 8推出的流式API打交道。图一这种filter操作ABAP内表无法支持,但ABAP 740后新增了一个FILTER关键字。

image.png

图1的Java流的filter操作,传入一个Lambda函数,该函数是一个Java标准类型的Predicate,返回布尔值。filter方法像一个漏斗一样,对集合里的每一个元素施加这个Predicate函数,结果返回true的元素会存放到新生成的集合容器里。图1的Lambda函数的逻辑即比较集合内元素代表的时间值是否早于当前时间转换成UTC后的时间。


再看看ABAP内表支持的FILTER关键字。还是以ABAP开发人员喜闻乐见的SPFLI为例,在740之前,如果想从内表里提取出部分满足WHERE条件的部分记录,必须要用图2的LOOP操作。

image.png

740之后,用FILTER就简洁多了,如图3:

image.png

如果想支持多个过滤条件也是可以的,把过滤条件维护在一张过滤表里即可,如图4:

image.png


相关文章
|
12月前
|
SQL 网络协议 数据库连接
在 ABAP 层执行 Open SQL 的幕后操作 - 武侠版
在 ABAP 层执行 Open SQL 的幕后操作 - 武侠版
|
5月前
|
存储 前端开发 应用服务中间件
使用 SAP ABAP 执行 FTP 操作
使用 SAP ABAP 执行 FTP 操作
|
5月前
|
数据处理 自然语言处理 BI
ABAP 源代码如何创建嵌套的内表,即内表列数据结构又是内表
ABAP 源代码如何创建嵌套的内表,即内表列数据结构又是内表
|
5月前
|
SQL Java 数据库
ABAP 7.40 新语法介绍系列之四 - ABAP Table Expression 内表表达式的用法试读版
ABAP 7.40 新语法介绍系列之四 - ABAP Table Expression 内表表达式的用法试读版
|
存储 数据库
SAP ABAP OData 服务如何支持删除(Delete)操作试读版
SAP ABAP OData 服务如何支持删除(Delete)操作试读版
SAP ABAP OData 服务如何支持修改(Update)操作试读版
SAP ABAP OData 服务如何支持修改(Update)操作试读版
|
JSON 数据库 数据格式
SAP ABAP OData 服务如何支持创建(Create)操作试读版
SAP ABAP OData 服务如何支持创建(Create)操作试读版
|
Web App开发 存储 JSON
SAP ABAP OData 服务如何支持 $orderby (排序)操作试读版
SAP ABAP OData 服务如何支持 $orderby (排序)操作试读版
|
Web App开发 测试技术 开发者
如何修改 SAP ABAP OData 模型,使其支持 $expand 操作试读版
如何修改 SAP ABAP OData 模型,使其支持 $expand 操作试读版
|
12月前
|
数据库
SAP ABAP 系统支持的锁操作类型和各自使用场景的详细讲解试读版
SAP ABAP 系统支持的锁操作类型和各自使用场景的详细讲解试读版

热门文章

最新文章

下一篇
无影云桌面