• ABAP ALV 表格 单击事件


    1.ALV表格单击事件 会涉及到两个重要概念 这里引用到sap论坛的一篇文章中的一个字段slis_selfield 与 slis_t_event 大部分内容翻译自该文章

    当我们使用alv显示内表,传统的那几个事件不会被触发,如果要在使用alv时候触发这事件 我们需要定义内表  type slis_t_event 且 itab应该通过 ‘REUSE_ALV_LIST_DISPLAY ’函数模块传递。

    TOP OF PAGE,

    AT LINE-SELECTION,

    AT USER-COMMAND

    使用事件如下

    w_events-name = 'TOP_OF_PAGE'.
    w_events-form = 'TOP_OF_PAGE'.
    append w_events to i_events.
    clear w_events.
     
    w_events-name = 'USER_COMMAND' .
    w_events-form = 'USER_COMMAND' .
    append w_events to i_events.
    clear w_events.
     
    w_events-name = 'PF_STATUS_SET' .
    w_events-form = 'PF_STATUS_SET' .
    append w_events to i_events.
    clear w_events.
    

    2.当我们处理 ‘USER_COMMAND’ 事件  slis_selfield 表将可见 ,该表内包好的信息当我们双击 或者是 单击hotpos 时会赋值 

    *&---------------------------------------------------------------------*
    *&      Form  user_command
    *&---------------------------------------------------------------------*
    form user_command using ucomm like sy-ucomm
                      selfield type slis_selfield.
      case ucomm .
        when '&IC1'. “This is for double click on ALV output.
          skip 10.
          position 10.
          write 'Double click was executed'.
      endcase.
     
    endform.                    "user_command
    

    3.slis_selfield 表结构 SLIS_SELFIELD: 大部分信息是光标说在的行所包含的信息.

    types: begin of slis_selfield,
             tabname              type slis_tabname,
             tabindex             like sy-tabix,
             sumindex             like sy-tabix,
             endsum(1)            type c,
             sel_tab_field        type slis_sel_tab_field,
             value                type slis_entry,
             before_action(1)     type c,
             after_action(1)      type c,
             refresh(1)           type c,
             col_stable(1)        type c,
             row_stable(1)        type c,
    *        colwidth_optimize(1) type c,
             exit(1)              type c,
             fieldname            type slis_fieldname,
             grouplevel           type i,
             collect_from         type i,
             collect_to           type i,
           end of slis_selfield.

    SLIS_T_EVENT: This is to set the events (for display the header data).

  • 相关阅读:
    搭建Android开发环境(linux x86_64)
    prisoner of love
    今天火箭和太阳打架了?
    归途,奋斗的起点
    年轻的希望
    老师:节日快乐!
    今天是我的生日吗?
    我亲爱的弟弟
    我的08,期盼09
    只是向往
  • 原文地址:https://www.cnblogs.com/senion/p/2357777.html
Copyright © 2020-2023  润新知