ABAP 随笔新语法 Fliiter

作者:SAPTAB 约 3 分钟阅读 更新日期:2025-03-02 1 年前更新 标签:ABAP, Data Engineering, MM, SD, WM, 仓库管理, 开发, 数据工程, 物料管理, 销售分销
ABAP 随笔新语法 Fliiter - 封面图
ABAP 随笔新语法 Fliiter - 封面图

原创 Tab Zhu [ SAP TAB ](javascript:void\(0\);)

点击 ** 蓝字 ** 关注我们

ABAP 随笔新语法 Fliiter - 封面图
ABAP 随笔新语法 Fliiter - 封面图

富强 民主 文明 和谐

自由 平等 公正 法制

爱国 敬业 诚信 友善

_**T** _

**使用内表来过滤数据FILTER**

**不念过** **去**

**START**

**不畏将来**

ABAP 随笔新语法 Fliiter - 封面图
ABAP 随笔新语法 Fliiter - 封面图

内表的过滤条件为 (物料群组=01,工厂=1000) 或 (物料群组=01,工厂=3000)

*… FILTER type( itab [EXCEPT] [IN ftab] [USING KEY keyname]* WHERE c1 op f1 [AND c2 op f2 […]] )

TYPES:BEGIN OF ty_filter, matkl TYPE ekpo-matkl, werks TYPE ekpo-werks, END OF ty_filter, ty_filter_tab TYPE SORTED TABLE OF ty_filter WITH UNIQUE KEY matkl werks.

DATA lt_ekpo TYPE STANDARD TABLE OF ekpo.SELECT * FROM ekpo INTO TABLE lt_ekpo.

DATA lt_ekpo_sorted TYPE SORTED TABLE OF ekpo WITH UNIQUE KEY ebeln ebelp.SELECT * FROM ekpo INTO TABLE lt_ekpo_sorted ORDER BY ebeln ebelp.

"1.直接用where条件去过滤DATA(lt_ekpo_filter_01) = FILTER #( lt_ekpo_sorted WHERE ebeln = '4500000048' )."Output filtered recordscl_demo_output=>display( lt_ekpo_filter_01 ). "制作过滤条件table,过滤条件一定要有key值DATA(lt_filter) = VALUE ty_filter_tab(( matkl = '01' werks = '1000' )( matkl = '01' werks = '3000' )). "2.按照过滤条件table过滤数据,DATA(lt_ekpo_filter_02) = FILTER #( lt_ekpo IN lt_filter WHERE matkl = matkl AND werks = werks )."Output filtered recordscl_demo_output=>display( lt_ekpo_filter_02 ). "3.排除过滤DATA(lt_ekpo_filter_03) = FILTER #( lt_ekpo EXCEPT IN lt_filter WHERE matkl = matkl AND werks = werks )."Output filtered recordscl_demo_output=>display( lt_ekpo_filter_03 ).

1. 过滤出 4500000048的订单

ABAP 随笔新语法 Fliiter - 封面图
ABAP 随笔新语法 Fliiter - 封面图

2.过滤出 (物料群组=01,工厂=1000) 或 (物料群组=01,工厂=3000) 的数据

ABAP 随笔新语法 Fliiter - 封面图
ABAP 随笔新语法 Fliiter - 封面图

3.过滤排除掉 (物料群组=01,工厂=1000) 或 (物料群组=01,工厂=3000) 的数据

ABAP 随笔新语法 Fliiter - 封面图
ABAP 随笔新语法 Fliiter - 封面图

**不念过** **去**

**END**

**不畏将来**

ABAP 随笔新语法 Fliiter - 封面图
ABAP 随笔新语法 Fliiter - 封面图

微信号 : TAB_JXZHU

● 长按二维码关注我

● 扫码关注我

SAPTAB

关于作者:SAPTAB

企业信息化与 SAP 技术顾问,长期专注 SAP ABAP、FI/CO、MM、SD 等模块的技术分享与实战经验总结。查看更多介绍

来源说明:本文内容由「ABAP随笔新语法Fliiter.md」整理生成,仅用于内部技术分享与学习交流。