首页 > 其他分享 >SAP ABAP 里 FILTER 关键字的用法举例

SAP ABAP 里 FILTER 关键字的用法举例

时间:2023-08-28 17:15:33浏览次数:42  
标签:age lt FILTER person ABAP ls SAP spfli

FILTER是ABAP中的一个关键字,用于在内部表中进行数据筛选和过滤,以便于提取所需的数据集。

FILTER关键字用于从内部表中筛选符合特定条件的数据行。它通过提供条件表达式,只返回满足条件的数据行,从而在不修改原始数据的情况下生成一个新的内部表。FILTER关键字在处理大量数据时非常有用,可以有效地减少内部表的大小,同时提高代码的可读性和可维护性。

REPORT ZJERRY_FILTER.

DATA: lt_spfli TYPE STANDARD TABLE OF spfli
       WITH NON-UNIQUE SORTED KEY carr_city COMPONENTS carrid,
      lt_lh TYPE TABLE OF spfli.

SELECT * INTO TABLE lt_spfli FROM spfli.

"data(lt) = FILTER #( lt_spfli using key carrid where carrid = '1' ).

lt_lh = FILTER #( lt_spfli using key carr_city where carrid = conv #( 'LH' ) ).
BREAK-POINT.

filter 之前:

filter 之后:

第二个例子:

report z.

TYPES: BEGIN OF ty_person,
           name type string,
           age type int4,
      end of ty_person.

data: lt_person type STANDARD TABLE OF ty_person
                        with NON-UNIQUE SORTED KEY person_key COMPONENTS age,
      lt_old1 like lt_person,
      lt_old2 like lt_person,
      ls_person type ty_person.

ls_person-name = 'Tom'. ls_person-age = '21'. INSERT ls_person into table lt_person.
ls_person-name = 'Jim'. ls_person-age = '62'. INSERT ls_person into table lt_person.
ls_person-name = 'Bob'. ls_person-age = '70'. INSERT ls_person into table lt_person.
ls_person-name = 'Kate'. ls_person-age = '30'. INSERT ls_person into table lt_person.

LOOP AT lt_person INTO ls_person WHERE age > 60.
   INSERT ls_person INTO TABLE lt_old1.
ENDLOOP.

lt_old2 = FILTER #( lt_person USING KEY person_key where age > 60 ).

IF lt_old1 = lt_old2.
   BREAK-POINT.
ENDIF.

总结

FILTER关键字是SAP ABAP中用于数据筛选和过滤的强大工具。它允许开发人员根据特定条件从内部表中提取所需的数据,从而简化了数据处理过程,提高了代码的可读性和可维护性。通过上述示例,我们可以看到FILTER关键字在实际开发中的应用,以及如何使用它来从员工信息中筛选出符合条件的数据。

标签:age,lt,FILTER,person,ABAP,ls,SAP,spfli
From: https://www.cnblogs.com/sap-jerry/p/17662822.html

相关文章

  • ABAP-负号前置
    1.创建一个CONVERSION_EXIT_ZXXX_OUTPUT的函数,ZXXX可自定义1FUNCTIONconversion_exit_z001_output.2*"----------------------------------------------------------------------3*"*"本地接口:4*"IMPORTING5*"REFERENCE(INPUT)6*"......
  • 引导滤波(guided filter)与快速引导滤波(fast guided filter)理解
    最近在学习图片的滤波和去噪的相关知识,查阅了一些资料参考了一些博客,这里做一个整合+理解。参考的博客资料在文末。引入普通滤波的概念假设输入图像为p,滤波窗口为wk,经过滤波后的输出图像为q,那么q图的第i个像素是由输入图p中以第i个像素为中心的窗口内的所有像素加权平均得......
  • csapp学习笔记——第二章信息的表示和处理
    csapp学习笔记——第二章信息的表示和处理本章主要讲了计算机系统中的数据的表示方法以及在为什么会出现相关的转化问题(floatintdouble等互相转换)。计算机系统中的数字表示方法在现实世界中我们使用的是十进制的表示方法,而在计算机系统中我们则使用的是2进制的表示方法(构造储......
  • SAP S4HANA 采购信息记录批量更新
    本文将会介绍通过Excel的方式进行采购信息记录的批量创建,更新,删除操作,可从purchasinginforecordsgeneral,purchaseorganization,pricingcondition以及scaleprice四个维度进行修改。输入事务代码:SPRO->MaterialsManagement->Purchasing->Excel-BasedDataExchange->Defi......
  • SAP GUI Scripting VBA Code Snippet to Detect all IDs of the UI Elements
    '-Begin-----------------------------------------------------------------OptionExplicitDimgColl()AsStringDimjAsIntegerSubGetAll(ObjAsObject)'---------------------------------------------'-'-Recursivelycalledsubro......
  • sap 子元素个数
    deftest(session):door(session)tabs=session.findById("/app/con[0]/ses[0]/wnd[0]/usr/tabsTABSPR1")a=tabs.FindById(r'/app/con[0]/ses[0]/wnd[0]/usr/tabsTABSPR1')foriinrange(a.Children.count):tmp=a.Chi......
  • SAP系统表清单之二
    SAPBUSINESSONE9.2 系统表清单之二USESAP560GOSELECTTOP90*FROM[RITM]--85434SELECTTOP90*FROM[CPRF]--14771SELECTTOP90*FROM[IMT11]--4445SELECTTOP90*FROM[IMT1]--2931SELECTTOP90*FROM[HFC1]--2242SELECTTOP90*F......
  • SAP Business One 9.2 表清单之一
    SAPBUSINESSONE9.2 系统表清单之一USE[SBO-COMMON]GOSELECTTOP90*FROM[SXRPR]--38750--2052:简体中文SELECTTOP900*FROM[SXRTE]WHERELanguage=2052--21050SELECTTOP90*FROM[SXRRE]--8235SELECTTOP90*FROM[SXROB]--4614SELE......
  • 什么是 SAP S/4HANA 的 VDM Layering Architecture 的 CDS Cube View
    SAPS/4HANA的VDMLayeringArchitecture的CDSCubeView在深入探讨"SAPS/4HANA的VDMLayeringArchitecture的CDSCubeView"之前,让我们逐步了解这个概念的不同组成部分。SAPS/4HANA:SAPS/4HANA是SAP的下一代企业资源计划(ERP)套件,通过内存数据库和先进的分析功能,实现更快......
  • 什么是 SAP S/4HANA 的 VDM Layering Architecture 的 CDS Hierarchy View
    当涉及SAPS/4HANA的CDSHierarchyView时,我们正在谈论一种高级数据建模技术,用于构建层次结构化的数据视图,以支持树状和分层数据的处理和分析。CDS(CoreDataServices)是SAP的一种数据建模和定义语言,而CDSHierarchyView则是CDS的一个重要组成部分,用于处理层次数据,如组织结构、产......