首先看OOALV与FMALV的区别:
1、OO ALV的屏幕需要自己创建生成,FM ALV的屏幕已经包含在函数中;
2、OO ALV更灵活,通过类的方法对ALV执行操作,比如,一个屏幕可以放多个ALV,而FM ALV不能;
3、OO ALV更安全,增加显示效果,比如刷新稳定性;
4、OO ALV能实现在显示列表的页脚或者边上显示LOGO,而FM不能;
5、类可实例化,而函数组不能(对象是类的实例,而函数不是函数组的实例)。
实例:
*&---------------------------------------------------------------------*
*& Report Z_ZHANGM_018
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
REPORT z_zhangm_018.
DATA:
wcl_container TYPE REF TO cl_gui_custom_container, "存放ALV的容器
wcl_alv TYPE REF TO cl_gui_alv_grid , "ALV的网格
gt_fieldcat TYPE lvc_t_fcat , "存放字段目录的内表
gs_layout TYPE lvc_s_layo . "布局结构
DATA