在上一篇文章我们讲到了function模式的ALV如何响应单击事件,这种需求一般是先显示一个汇总的信 息,然后通过点击单元格进而显示单元格的明细情况表,那通过什么方式来显示明细的情况呢,每个人的风格不同,则实现的方式也不同,有人选择通过 screen的表格(table control),也有人通过面向对象的alv(oo alv),我现在来通过非以上两种方法来实现,其实ALV已经封装了一个function模式的ALV来实现了,它就是:
CALL FUNCTION 'REUSE_ALV_POPUP_TO_SELECT'
EXPORTING
I_TITLE = TITLE "这里设置alv标题
* I_SELECTION = 'X'
* I_ALLOW_NO_SELECTION =
* I_ZEBRA = ' '
* I_SCREEN_START_COLUMN = 0
* I_SCREEN_START_LINE = 0
* I_SCREEN_END_COLUMN = 0
* I_SCREEN_END_LINE = 0
* I_CHECKBOX_FIELDNAME =
* I_LINEMARK_FIELDNAME =
* I_SCROLL_TO_SEL_LINE = 'X'
I_TABNAME = SPACE "这里默认是空就OK了
* I_STRUCTURE_NAME =
IT_FIELDCAT = PT_FIELDCAT[] "这里是字段目录
* IT_EXCLUDING =
* I_CALLBACK_PROGRAM =
* I_CALLBACK_USER_COMMAND =
* IS_PRIVATE =
* IMPORTING
* ES_SELFIELD =
* E_EXIT =
TABLES
T_OUTTAB = T_POUTPUT[] "输出内表.
* EXCEPTIONS
* PROGRAM_ERROR = 1
* OTHERS = 2
.
IF SY-SUBRC <> 0 .
ENDIF .
通过以上这种方式实现起来很简单,代码量也很少了!方便快捷了!
function模式设置ALV用弹出窗口显示
最新推荐文章于 2024-06-14 11:14:41 发布