abap中如何通过双击事件调用事务码

比如,通过普通屏幕,使用定制控制,显示了一个alv表格,表格中列举的信息包括物料编号,物料名称等信息

现在希望双击物料编号,直接调用事务码MM03显示物料信息,用哪个函数呢?

创建过程如下:

一、. 绘制初始屏幕

使用SE80进入,创建一个report 

基础的代码 包括:

1.定义(用于存储被显示的数据的)内表


  这个内表,需要在后面的代码中被反复赋值,形成最终需要的内容

  SELECT *** INTO CORRESPONDING FIELDS OF TABLE ITAB_XXX

  LOOP AT ITAB_XXX  然后赋值

  这个内表赋值完成后,会被后面的普通屏幕使用,作为普通屏幕中alv表格的数据源

2. 创建普通屏幕0100

    ABAP的屏幕基本分两种:选择屏幕 和 普通屏幕 

   选择屏幕 是默认的,系统分配的标识是1000 是整个程序的第一个屏幕,用于获取最初的输入之类的

   普通屏幕是开发者自己创建的,可以自己命名,通常命名为0100 0200之类的

   

   普通屏幕的创建 往往要在SE80中创建三个东西  屏幕  GUI状态 GUI标题

   

   创建的过程还是参考之前的帖子吧

3.定义变量

   这部分变量中,有一部分比较重要的是,屏幕元素对应的全局变量

   比如:

<
  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ABAP 报表实现双击事件可以通过以下步骤: 1. 在报表程序定义一个局部事件,例如“DOUBLE_CLICK”事件。可以使用“SE80”事务进入报表程序的开发环境,然后在“程序”节点下创建一个事件。 2. 在报表输出,使用“AT LINE-SELECTION”和“AT USER-COMMAND”事件处理程序来捕获用户的行选择和命令事件。 下面是一个示例代,演示如何在 ABAP 报表实现双击事件: ``` REPORT z_report. TABLES: sflight. DATA: wa_sflight TYPE sflight. START-OF-SELECTION. SELECT * FROM sflight INTO wa_sflight. WRITE: / wa_sflight-carrid, wa_sflight-connid, wa_sflight-fldate. ENDSELECT. * 双击事件处理程序 EVENTS double_click FOR sflight. DATA: wa_event TYPE slis_selfield. GET PARAMETER ID 'DYL' FIELD wa_event-tabname. GET PARAMETER ID 'DYP' FIELD wa_event-fieldname. CASE wa_event-tabname. WHEN 'SFLIGHT'. READ TABLE sflight INTO wa_sflight INDEX wa_event-tabix. IF sy-subrc EQ 0. WRITE: / 'You double clicked on flight', wa_sflight-carrid, wa_sflight-connid, wa_sflight-fldate. ENDIF. ENDCASE. ENDEVENT. * 行选择事件处理程序 AT LINE-SELECTION. DATA: wa_event TYPE slis_selfield. GET PARAMETER ID 'DYL' FIELD wa_event-tabname. GET PARAMETER ID 'DYP' FIELD wa_event-fieldname. CASE wa_event-tabname. WHEN 'SFLIGHT'. READ TABLE sflight INTO wa_sflight INDEX sy-lsind. IF sy-subrc EQ 0. WRITE: / 'You selected flight', wa_sflight-carrid, wa_sflight-connid, wa_sflight-fldate. ENDIF. ENDCASE. ENDAT. ``` 在上面的示例代,“DOUBLE_CLICK”事件处理程序将在用户双击行时触发,并显示所选行的详细信息。同时,“AT LINE-SELECTION”事件处理程序将在用户选择行时触发,显示所选行的基本信息。 请注意,在实际应用,需要根据具体需求来调整代

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值