REUSE_ALV_GRID_DISPLAY_LVC

ABAP程序中调用REUSE_ALV_GRID_DISPLAY_LVC显示ALV,经常会有双击某行或某字段跳转到其他tcode的需求。下面简单介绍一下。

双击事件的ucomm是'&IC1'.

完整代码:

1REPORT ztest_alv_lvc_2click. 2 3TYPES:BEGIN OF gty_ekko, 4 ebeln TYPE ekko-ebeln, 5 verkf TYPE ekko-verkf, 6 END OF gty_ekko. 7DATA:git_ekko TYPE STANDARD TABLE OF gty_ekko, 8 gwa_ekko TYPE gty_ekko. 9 10DATA:git_fcat TYPE lvc_t_fcat, 11 gwa_fcat LIKE LINE OF git_fcat, 12 gwa_layout TYPE lvc_s_layo. 13CONSTANTS: gco_callback_user_command TYPE slis_formname VALUE 'FRM_USER_COMMAND'. 14 15START-OF-SELECTION. 16 17 SELECT ebeln 18 verkf 19 INTO CORRESPONDING FIELDS OF TABLE git_ekko 20 FROM ekko 21 UP TO 10 ROWS. 22 23 PERFORM frm_set_catalog. 24 25 gwa_layout-zebra = 'X'. 26 gwa_layout-sel_mode = 'A'. 27 gwa_layout-cwidth_opt = 'X'. 28 CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY_LVC' 29 EXPORTING 30 i_callback_program = sy-repid 31 is_layout_lvc = gwa_layout 32 it_fieldcat_lvc = git_fcat 33 i_callback_user_command = gco_callback_user_command 34 TABLES 35 t_outtab = git_ekko[] 36 EXCEPTIONS 37 program_error = 1 38 OTHERS = 2. 39 IF sy-subrc = 0. 40 41 ENDIF. 42FORM frm_user_command USING i_ucomm TYPE sy-ucomm 43 i_wa_selfield TYPE slis_selfield. 44 CASE i_ucomm. 45 WHEN '&IC1'. "Double click 46* if click on PO field, jump to me23n 47 IF i_wa_selfield-fieldname = 'EBELN'. 48 SET PARAMETER ID 'BES' FIELD i_wa_selfield-value. 49 CALL TRANSACTION 'ME23N' AND SKIP FIRST SCREEN. 50 ENDIF. 51 WHEN OTHERS. 52 53 ENDCASE. 54 55ENDFORM. 56*&---------------------------------------------------------------------* 57*& Form FRM_SET_CATALOG 58*&---------------------------------------------------------------------* 59* text 60*----------------------------------------------------------------------* 61* --> p1 text 62* <-- p2 text 63*----------------------------------------------------------------------* 64FORM frm_set_catalog . 65 66 DATA:l_pos TYPE i VALUE 1. 67 CLEAR: l_pos. 68 l_pos = l_pos + 1. 69 gwa_fcat-coltext = 'PO'. 70 gwa_fcat-scrtext_l = 'PO'. 71 gwa_fcat-scrtext_m = 'PO'. 72 gwa_fcat-scrtext_s = 'PO'. 73 gwa_fcat-fieldname = 'EBELN'. 74 gwa_fcat-col_pos = l_pos. 75 gwa_fcat-outputlen = '10'. 76 APPEND gwa_fcat TO git_fcat. 77 l_pos = l_pos + 1. 78 gwa_fcat-coltext = 'PO item'. 79 gwa_fcat-scrtext_l = 'PO item'. 80 gwa_fcat-scrtext_m = 'PO item'. 81 gwa_fcat-scrtext_s = 'PO item'. 82 gwa_fcat-fieldname = 'VERKF'. 83 gwa_fcat-col_pos = l_pos. 84 gwa_fcat-outputlen = '20'. 85 APPEND gwa_fcat TO git_fcat. 86 87ENDFORM.

运行:

&lt;img class="alignnone size-full wp-image-3993" src="http://www.baidusap.com/wp-content/uploads/2017-03-21\_9-40-23.png" alt="" width="371" height="312" /&gt;

跳转到me23n显示采购订单3000000100

&lt;img class="alignnone size-full wp-image-3994" src="http://www.baidusap.com/wp-content/uploads/2017-03-21\_9-41-49.png" alt="" width="715" height="334" /&gt;

以上。

点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

UITableView 中 didSelectRowAtIndexPath 手势冲突或者双击事件处理

实现双击事件的方法(void)tableView:(UITableView)tableViewdidSelectRowAtIndexPath:(NSIndexPath)indexPath{NSUIntegercurrentNSDatedatetimeIntervalSince1970

JavaScript中常用事件

原文链接:鼠标事件鼠标单击事件click在文档中鼠标进行单击,就会触发事件。javascriptvari0document.addEventListener('click',function()console.log(i))鼠标双击事件dblclick

2020年前端实用代码段,为你的工作保驾护航

有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )

REUSE_ALV_GRID_DISPLAY_LVC - HelloWorld