logo资料库

ABAP开发ALV中自定义按钮实现.pdf

第1页 / 共6页
第2页 / 共6页
第3页 / 共6页
第4页 / 共6页
第5页 / 共6页
第6页 / 共6页
资料共6页,全文预览结束
我身在江湖,江湖却仍没有关于我的传说! ------挨踢行业的小人物 ABAP 自学笔记之 ALV 自定义按钮 ALV 中自定义按钮 ----李宝勋 使用 alv 的时候,我们经常性需要添加自定义按钮,实现用户单击事件调用 , 这里介绍通过 GUI 状态增加按钮。 假如你定义了报表程序 ZMMR3009,里面已经编写好了 alv 的实现函数:如下 : CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY' EXPORTING I_CALLBACK_PROGRAM I_SAVE IS_LAYOUT = W_REPID "当前程序 = '' = I_LAYOUT "子函数layout_build填充的格式 定义 IT_FIELDCAT = I_FIELDCAT_ALV[] "子函数fields填充的各 列 TABLES T_OUTTAB EXCEPTIONS = IT_BLNTD PROGRAM_ERROR OTHERS 在你的程序里找到函数:‘REUSE_ALV_GRID_DISPLAY’,双击这个函数名,打 = 1 = 2. 开这个函数代码窗口:如下图: 1
我身在江湖,江湖却仍没有关于我的传说! ------挨踢行业的小人物 ABAP 自学笔记之 ALV 自定义按钮 点击工具栏上的‘Dispaly Object List’按钮 ,打开对象浏览器窗口, 如下图: 展开函数组:SLVC_FULLSCREEN,并选中 GUI 状态下的:STANDARD_FULLSCREEN 项,如下图: 右键单击,选择 copy 选项 ,在打开的窗体中设置如下,将 alv 的 gui 状态 复制到你的程序里,程序:ZMMR3009 是的目标程序,状态:STANDARD_004 是你 新建的 gui 名称,如下图: 2
我身在江湖,江湖却仍没有关于我的传说! ------挨踢行业的小人物 ABAP 自学笔记之 ALV 自定义按钮 然后点击'Copy',直到弹出的窗体全部消失,然后在你的程序里添加如下代 码: CONSTANTS CNS_PF_STATUS 'ALV_PF_STATUS'."alv自定义按钮 CONSTANTS CNS_USER_COMMAND TYPE SLIS_FORMNAME VALUE 'ALV_USER_COMMAND'."alv自定义按钮响应事件 上面代码写到 alv 变量定义的代码下面,下面添加设置 GUI 状态代码: TYPE SLIS_FORMNAME VALUE FORM alv_pf_status USING rt_extab TYPE slis_t_extab. SET PF-STATUS 'STANDARD_004' EXCLUDING rt_extab. ENDFORM. 创建按钮开始: 双击'STANDARD_004',打开如下界面,找个空白的单元格先添加个'|',如下图: 3
我身在江湖,江湖却仍没有关于我的传说! ------挨踢行业的小人物 ABAP 自学笔记之 ALV 自定义按钮 然后在下个单元格输入名称:print,,双击这个名称弹出界面如下图: 确定后,在界面里设置按钮文本和图标等信息,如下图: 4
我身在江湖,江湖却仍没有关于我的传说! ------挨踢行业的小人物 ABAP 自学笔记之 ALV 自定义按钮 确定后,如下图 选择功能键后,确定后,如下图 输入图标文字信息,单击 确定,然后点击保存按钮、编译,没有问题后,激活程序。到 此按钮创建完毕。 创建按钮结束。 接下来进行在 alv 中进行设置自定义按钮,在 alv 函 数 :‘REUSE_ALV_GRID_DISPLAY’ 中添加下面的红色代码部分: CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY' EXPORTING I_CALLBACK_PROGRAM = W_REPID "当前程序 5
我身在江湖,江湖却仍没有关于我的传说! ------挨踢行业的小人物 ABAP 自学笔记之 ALV 自定义按钮 GUI I_CALLBACK_PF_STATUS_SET = CNS_PF_STATUS "设置alv的自定义按钮 I_CALLBACK_USER_COMMAND = CNS_USER_COMMAND "设置alv自定义按钮 响应事件 I_SAVE IS_LAYOUT 定义 IT_FIELDCAT = '' = I_LAYOUT "子函数layout_build填充的格式 = I_FIELDCAT_ALV[] "子函数fields填充的各 列 TABLES T_OUTTAB EXCEPTIONS PROGRAM_ERROR OTHERS = IT_BLNTD = 1 = 2. 编写自定义按钮响应事件: FORM ALV_USER_COMMAND USING R_UCOMM LIKE SY-UCOMM RS_SELFIELD TYPE SLIS_SELFIELD. 到此 alv 自定义按钮设置完毕,如果你想添加多个按钮,只需将创建按钮开始到创建按钮 结束部分重复就行了,在按钮响应事件里根据你设定的功能代码键值进行不同按钮的区别。 PERFORM PRINT_FORM."调用打印程序 CASE R_UCOMM. WHEN 'PRINT'. WHEN OTHERS. ... ENDCASE. 创建好的程序运行如下: 6
分享到:
收藏