如何按字段数量筛选SAP表?求统计字段超20的透明表方法
统计SAP中字段数超过20的透明表数量的简便方法
不用逐个跑事务码,直接利用SAP自带的字典表就能快速统计,给你两个简单方案:
方案一:用SE16N直接查询统计
- 打开事务码
SE16N,输入表名DD03L(这个表存储了所有SAP表的字段明细) - 进入筛选界面后,设置条件:
TABCLASS=TRANSP(只筛选透明表) - 点击工具栏的统计按钮(或按
Ctrl+F7),在统计设置里选择按TABNAME分组,统计字段数量,最后筛选出计数大于20的结果即可。
方案二:用极简ABAP程序一键输出
如果SE16的统计满足不了需求,可以写个超简单的ABAP程序,复制粘贴就能用:
REPORT Z_COUNT_TABLE_FIELDS. TYPES: BEGIN OF ty_result, tabname TYPE dd03l-tabname, field_count TYPE i, END OF ty_result. DATA: gt_result TYPE STANDARD TABLE OF ty_result, gs_result TYPE ty_result. SELECT tabname, COUNT( * ) AS field_count FROM dd03l WHERE tabclass = 'TRANSP' GROUP BY tabname HAVING COUNT( * ) > 20 INTO CORRESPONDING FIELDS OF TABLE gt_result. SORT gt_result BY field_count DESCENDING. LOOP AT gt_result INTO gs_result. WRITE: / gs_result-tabname, gs_result-field_count. ENDLOOP.
- 操作步骤:打开事务码
SE38,创建新报表(命名比如Z_COUNT_TABLE_FIELDS),粘贴上述代码,点击激活后执行,就能直接得到所有字段数超20的透明表列表,还能按字段数从多到少排序。
原理说明:DD03L是SAP的字段字典表,TABCLASS = 'TRANSP'用来限定只查透明表,通过分组统计每个表的字段数量,直接筛选出符合条件的表,比逐个跑事务码效率高N倍。
内容的提问来源于stack exchange,提问作者Mike McNally
相关产品推荐
相关产品推荐

