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

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

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

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

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

要获取更多Jerry的原创文章,请关注公众号"汪子熙":

ABAP内表在ABAP 740后支持的filter操作相关推荐

  1. abap内表的操作汇总

    abap内表是abap开发中最常用的工具之一 这里总结一个常用的一些操作,以后可以直接复制使用 1,定义 参考字段定义 DATA:BEGIN OF i_list OCCURS 0 ,   matnr ...

  2. SAP abap内表分类与增删改查操作

    SAP abap内表分类与增删改查操作 1.内表的分类 1.1.标准表 (standard table ) 系统为该表每一行生成一个院级索引.填表是可以将数据附加在现有行之后,也可以插入到指定的位置, ...

  3. 【转】ABAP内表数据和JSON格式互转

    本程序演示ABAP内表数据如何转为JSON格式, 以及JSON数据如何放入内表. REPORT ZTEST005. DATA : JSON_SER TYPE REF TO CL_TREX_JSON_S ...

  4. 上传EXCEL到ABAP内表

    上传EXCEL到ABAP内表 将EXCEL文件上载到内表两种方式: 一.直接将excel数据读入具有相同结构的内表 二.将excel数据读入一个行号,列号,值组成的内表,然后通过指针将数据读到与exc ...

  5. ABAP内表数据和JSON格式互转

    本程序演示ABAP内表数据如何转为JSON格式,以及JSON数据如何放入内表. 注:json字符串格式如:jsonstr = '[ {flag: "0",message: &quo ...

  6. 浅谈 ABAP 内表和工作区

    这几天一直在跟同事讲内表和工作区的问题,网上介绍这方面的资料也比较多,今天顺便就这个问题整理下了自己的思路,希望对您在这个问题上有所帮助. 1.首先,我们应该先了解下:内表(internal tabl ...

  7. ABAP~ 内表操作

    内表是每个ABAP开发人员都必须懂的,数据从R3取出来后,就是放在内表里处理的,其实就是Java中的集合框架,只是没有那么多不同数据结构的内表,目前只有标准.排序.Hash三种,这还是新的语法,老的只 ...

  8. ABAP内表与工作区的区别与作用

    在ABAP中常用的SQL是SAP自带的OPEN SQL,它与NATIVE SQL不同,还要多一层解析的过程.因此,在ABAP中使用多表JOIN(>3)的效率远小于将数据存储到内表后,再对内表进行 ...

  9. 释疑のABAP内表的比较

    我们都知道ABAP可以整体复制内表,如果想将内表的全部内容复制到另一个内表中,可以进行整体赋值操作,使用MOVE或"=". MOVE itab1 TOitab2. Itab1 = ...

最新文章

  1. java list 不包含_java判断list是否包含某个值
  2. DL之ResNet:ResNet算法的简介(论文介绍)、架构详解、案例应用等配图集合之详细攻略
  3. spark教程python案例_Spark实战(四)spark+python快速入门实战小例子(PySpark)
  4. c#url拼接方法名_C# 从1到Core委托与事件
  5. [转]数据库主键设计文章绘粹
  6. 20万+奖金池,“智在飞翔”2021 • 无人飞行器智能感知大赛,战火重燃 • 等你来战!!...
  7. web字体设置成平方字体_探索免费和开放的Web字体
  8. Jenkins插件开发(四)-- 插件发布
  9. Python-Scikit learn保存机器学习训练的模型
  10. cartographer代码流程分析
  11. 基于Web的svg编辑器(2)——层次结构设计(DOM结构)
  12. 批量调度工具 Taskctl 作业类型的维护管理
  13. 2017百度之星资格赛:1004. 度度熊的午饭时光(01背包+记录路径)
  14. 织梦建站教程:文章列表隔行换色 隔5行横线
  15. 【ACM- OJ】《六度分离》C++
  16. 初学SLAM二之BA当中的数学知识点
  17. Arduino与Proteus仿真实例-L298N驱动直流电机仿真
  18. 数字SOC设计之低功耗设计入门(二)——功耗的分析
  19. 在ubuntu下烧写映像文件到SD卡--基于三星210开发板
  20. EFR32xG21烧录指南

热门文章

  1. [IPhone] 仅在Debug编译的NSLog
  2. mybatis-plus中 queryWrapper查询对象常见方法
  3. springMVC笔记系列——RequestParam注解
  4. 队列同步器 AbstractQueuedSynchronizer
  5. 继承Comparable接口来实现排序
  6. MapReduce中map并行度优化及源码分析
  7. Linux与jvm内存关系分析
  8. css3加载ing动画
  9. sqlserver索引维护(重新组织生成索引)
  10. 四、卫星定位《苹果iOS实例编程入门教程》