ABAP内表在ABAP 740后支持的filter操作
ABAP內(nèi)表和Java的Array一樣,都是面向過程編程時代的產(chǎn)物。最近Jerry手頭的工作,經(jīng)常需要和Java Array對象化之后的集合類型和Java 8推出的流式API打交道。圖一這種filter操作ABAP內(nèi)表無法支持,但ABAP 740后新增了一個FILTER關鍵字。
圖1的Java流的filter操作,傳入一個Lambda函數(shù),該函數(shù)是一個Java標準類型的Predicate,返回布爾值。filter方法像一個漏斗一樣,對集合里的每一個元素施加這個Predicate函數(shù),結(jié)果返回true的元素會存放到新生成的集合容器里。圖1的Lambda函數(shù)的邏輯即比較集合內(nèi)元素代表的時間值是否早于當前時間轉(zhuǎn)換成UTC后的時間。
再看看ABAP內(nèi)表支持的FILTER關鍵字。還是以ABAP開發(fā)人員喜聞樂見的SPFLI為例,在740之前,如果想從內(nèi)表里提取出部分滿足WHERE條件的部分記錄,必須要用圖2的LOOP操作。
740之后,用FILTER就簡潔多了,如圖3:
如果想支持多個過濾條件也是可以的,把過濾條件維護在一張過濾表里即可,如圖4:
要獲取更多Jerry的原創(chuàng)文章,請關注公眾號"汪子熙":
總結(jié)
以上是生活随笔為你收集整理的ABAP内表在ABAP 740后支持的filter操作的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 大疆发布 DJI Mavic 3 系列和
- 下一篇: jsTree树控件(基于jQuery,