ALV响应自定义function code
来源:互联网 发布:网络开发技术 编辑:程序博客网 时间:2024/06/03 18:01
我们经常会遇到一些用户, 他们会要求我们把ALV的Export to Local功能改成直接download excel. 下面记录一下怎么实现这个需求。(之前做过一次了, 但有个细节还是忘了...)
1. Copy标准的ALV GUI Status到目标程序
2. 修改Function Code
3. 实现代码
TYPE-POOLS: slis.TYPES: BEGIN OF ty_data, fld1(10), fld2(10), END OF ty_data.DATA: gt_data TYPE STANDARD TABLE OF ty_data WITH HEADER LINE.DATA: gt_fieldcat TYPE slis_t_fieldcat_alv WITH HEADER LINE.CLEAR gt_data.gt_data-fld1 = 'Zero'.gt_data-fld2 = 'Palm'.APPEND gt_data.CLEAR gt_fieldcat.gt_fieldcat-fieldname = 'FLD1'.gt_fieldcat-seltext_l = 'Field 1'.APPEND gt_fieldcat.CLEAR gt_fieldcat.gt_fieldcat-fieldname = 'FLD2'.gt_fieldcat-seltext_l = 'Field 2'.APPEND gt_fieldcat.CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY' EXPORTING i_callback_program = sy-repid i_callback_pf_status_set = 'FRM_SET_PF_STATUS' i_callback_user_command = 'FRM_USER_COMMAND'* is_layout = g_layout it_fieldcat = gt_fieldcat[] TABLES t_outtab = gt_data EXCEPTIONS program_error = 1 OTHERS = 2 .*&---------------------------------------------------------------------**& Form frm_user_command*&---------------------------------------------------------------------** text*----------------------------------------------------------------------** -->R_UCOMM text* -->RS_SELFIELD text*----------------------------------------------------------------------*FORM frm_user_command USING r_ucomm LIKE sy-ucomm rs_selfield TYPE slis_selfield. IF r_ucomm = 'ZDOWN'. PERFORM frm_down_excel. ENDIF.ENDFORM. "frm_user_command*&---------------------------------------------------------------------**& Form frm_set_pf_status*&---------------------------------------------------------------------** text*----------------------------------------------------------------------** -->RT_EXTAB text*----------------------------------------------------------------------*FORM frm_set_pf_status USING rt_extab TYPE slis_t_extab. SET PF-STATUS'ZTEST'.ENDFORM. "frm_set_pf_status*&---------------------------------------------------------------------**& Form frm_down_excel*&---------------------------------------------------------------------** text*----------------------------------------------------------------------*FORM frm_down_excel. DATA: lt_excel TYPE STANDARD TABLE OF ty_data WITH HEADER LINE. DATA: lv_path TYPE string VALUE 'C:\TEMP\TEST.XLS'. CLEAR lt_excel. lt_excel-fld1 = 'Field1'. lt_excel-fld2 = 'Field2'. APPEND lt_excel. APPEND LINES OF gt_data TO lt_excel. CALL FUNCTION 'GUI_DOWNLOAD' EXPORTING filename = lv_path write_field_separator = 'X' dat_mode = 'X' filetype = 'DAT' codepage = '8400' wk1_n_format = '0' wk1_t_format = '0' TABLES data_tab = lt_excel.ENDFORM. "frm_down_excel
P.S.在ALV function里, 这两个subroutine的调用位置
Set status:
User Command:
- ALV响应自定义function code
- function模式的ALV如何响应单击事件
- Function ALV 自我总结
- FUNCTION ALV 示例模板
- ALV Call function 的方法
- call function 'POPUP_TO_CONFIRM_STEP' --> ALV display
- editable alv(call function)
- ALV自定义工具栏按钮
- ALV自定义搜索
- Function实现ALV Table一:最简单的ALV显示
- Function实现ALV Table 二:ALV的弹出窗口形式
- Function实现ALV Table 二:ALV的弹出窗口形式
- Function实现ALV Table一:最简单的ALV显示
- ALV例子1(不用REUSE function)
- ALV的例子2(Reuse function)
- Function实现ALV Table 三:功能设计
- Function实现ALV Table 四:显示样式
- Function实现ALV Table五:布局功能
- ubuntu最常用的10个快捷键
- Ubuntu下Git以及Github使用
- fms系列5 时时视频聊天
- mybatis查询类型为int的字段,返回null的异常
- 局部特征描述子概述
- ALV响应自定义function code
- SCSI 总线和协议
- usaco fence4 3.4.1
- DOM04---window常用事件和属性
- 状态模式(State)
- URL vs. HTML 录制模式 区别
- Hibernate学习笔记8--关联关系之一对多
- Oracle 学习笔记11 —— 游标
- hdu 1874 畅通工程续