ABAP ALV实现双击跳转事件

第一步:调用ALV函数的时候,在I_CALLBACK_USER_COMMAND中确定好点击事件的FORM名,比如这里的USER_COMMAND

  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY_LVC'
    EXPORTING
      I_GRID_TITLE             = '订单和物料信息'
      I_CALLBACK_PROGRAM       = SY-REPID
      I_CALLBACK_PF_STATUS_SET = 'FRM_STATUS'  "调用GUI状态
      I_CALLBACK_USER_COMMAND  = 'USER_COMMAND'  "调用屏幕点击事件
      IS_LAYOUT_LVC            = GS_LAYOUT
      IT_FIELDCAT_LVC          = GT_FIELDCAT[]
      I_DEFAULT                = 'X'
      I_SAVE                   = 'A'
    TABLES
      T_OUTTAB                 = GT_TAB[]
    EXCEPTIONS
      PROGRAM_ERROR            = 1
      OTHERS                   = 2.

第二步: 编写USER_COMMAND中的逻辑,注意引入相关参数

FORM USER_COMMAND USING P_UCOMM LIKE SY-UCOMM
                        P_RS_SELFIELD TYPE SLIS_SELFIELD.

  CASE P_UCOMM.
      "点击跳转
    WHEN '&IC1'.
      PERFORM FRM_SAVE.  "保存ALV上的改动到内表
      IF P_RS_SELFIELD-FIELDNAME = 'MATNR' OR P_RS_SELFIELD-FIELDNAME = 'MAKTX'.
        READ TABLE GT_TAB INDEX P_RS_SELFIELD-TABINDEX.
        IF SY-SUBRC = 0.
          PERFORM FRM_GETINFO1 USING GT_TAB-MATNR. "取数
          PERFORM FRM_FIELDCAT1. "定义FIELDCAT
          PERFORM FRM_OUTPUT1.  "调用ALV函数
        ENDIF.
      ELSEIF P_RS_SELFIELD-FIELDNAME = 'AUFNR'."生产订单携带订单号跳转CO03。
          READ TABLE GT_TAB INDEX P_RS_SELFIELD-TABINDEX.
          SET PARAMETER ID: 'ANR' FIELD GT_TAB-AUFNR.
          CALL TRANSACTION 'CO03' AND SKIP FIRST SCREEN.
      ELSE.
        EXIT.
      ENDIF.
    WHEN OTHERS.
  ENDCASE.

ENDFORM.

  • 3
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ALV单元格动态可编辑是ABAP技术在ALV报表上的一个重要扩展。ALVABAP List Viewer)是SAP系统中常用的报表显示工具,可以方便地展示和处理大量的数据。但是在默认情况下,ALV报表的单元格是不可编辑的,用户只能查看报表数据而无法进行修改。 为了满足用户对报表数据进行动态修改的需求,开发人员通过对ALV控件进行扩展,使其支持单元格的动态可编辑功能。这样用户可以直接在报表上进行数据编辑,无需打开数据源进行修改。 实现ALV单元格动态可编辑的扩展需要进行如下步骤: 1. 定义ALV报表的显示结构。 首先,需要定义ALV报表的显示结构,包括字段名、字段类型、长度等信息。 2. 扩展ALV函数模块。 在ALV函数模块中,需要添加相应的功能模块来支持单元格的动态可编辑。通过修改ALV函数模块的代码,实现对报表数据的修改和保存。 3. 增加用户交互接口。 为了方便用户进行数据修改,可以在报表上添加一些用户交互接口,比如勾选框、输入框等。用户可以通过这些接口直接修改报表数据,并进行保存操作。 4. 编写逻辑处理程序。 最后,需要编写逻辑处理程序,处理用户的修改操作。这个程序会根据用户输入的数据,更新相应的报表数据,并将修改后的数据保存回数据库中。 通过以上步骤的扩展,用户可以实现ALV报表中直接进行数据编辑的功能。这样,用户可以更加方便地进行数据修改和保存,提高工作效率。同ALV单元格动态可编辑的扩展也为定制化的报表需求提供了更多的灵活性。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值