SAP OO ALV技术介绍
SAP OO ALV技术是SAP系统中的一种报表控件类,通过调用cl_gui_alv_grid类的方法set_table_for_first_display可以实现ALV报表的显示。OO ALV技术相比于标准函数REUSE_ALV_GRID_DISPLAY和REUSE_ALV_GRID_DISPLAY_LVC具有更多的灵活性和可扩展性,可以满足更多的报表需求。
OO ALV技术的实现主要涉及到以下几个方面:
1. 容器类的实例化:通过创建容器类cl_gui_custom_container的实例,基于容器的实例创建ALV实例。
2. 事件类的定义和实现:通过定义事件类,实现对ALV报表的各种事件响应,例如工具栏自定义按钮、监控按钮、双击事件、数据改变事件等。
3. ALV显示:通过调用set_table_for_first_display方法实现ALV报表的显示,并可以定义ALV Layout、Fieldcat等参数。
4. 屏幕定义:通过定义屏幕,选择屏幕控件,实现报表的显示。
OO ALV技术的优点是可以满足更多的报表需求,例如需要与后续的屏幕开发等集中在一个屏幕中,或者需要实现一些函数ALV不可实现的事件等。同时,OO ALV技术也可以与标准函数REUSE_ALV_GRID_DISPLAY和REUSE_ALV_GRID_DISPLAY_LVC结合使用,提供更多的报表解决方案。
在实现OO ALV技术时,需要注意以下几点:
1. 需要画一个屏幕,在屏幕上画一个容器(即ALV所显示的位置、大小),创建相应的容器类cl_gui_custom_container,基于容器的实例创建ALV实例。
2. 需要自定义的事件类,并完成相应的事件响应代码。
3. 功能码响应通过屏幕PAI,不再是传递FORM名给ALV。
4. 预定义有默认的ALV状态栏,通过toolbar事件定制按钮。
通过mastering OO ALV技术,可以满足更多的报表需求,提高报表的灵活性和可扩展性。