abap 在table control(表控件) 实现查找功能

来源:互联网 发布:碎屏 mac 壁纸高清 编辑:程序博客网 时间:2024/06/06 03:50

我们都知道ALV控件已经集成了查找功能,这对于在海量数据中查找某条数据是非常方便的,而 table control(表控件)没有提供这样的功能,那只能通过手工的方式在屏幕添加一个这样的功能,方便对数据的操作与查阅,要实现这个功能,需要注意两点:
1)如何根据查找条件查找内表的数据呢
read table tab with key field = 查找条件,  如果成功,sy-tabix 就对应的是内表tab中的第几条记录,有了
这个,就可以设置table control(表控件)滚动的行数。
2)如何实现 table control(表控件)的滚动到查找的记录
这通过table control(表控件)的字段top_line来设置滚动的行数,比如:表控件(tab1),tab1-top_line = sy-tabix,但这个赋值的过程只能在屏幕输出之前进行处理,即在pbo事件后处理。

注意:针对有这种特殊需求的开发,最好对输出的内表按一定规则排序,让查找相似结果聚集在一起。