zoukankan      html  css  js  c++  java
  • OO实现ALV-SALV-实战攻略3-2-ALV工具栏自定义按钮展示方式

    REPORT ZSALV-01.
    *SALV自定义按钮功能
    *变量定义
    DATA: S_ALV TYPE REF TO CL_SALV_TABLE.
    "class 定义
    CLASS SALV_DISPLAY DEFINITION."基础类
      PUBLIC SECTION.
        METHODS: DISPLAYDATA ."方法
        EVENTS:FUNCTION ."事件
      PRIVATE SECTION.
        DATA:LR_FUNCTIONS TYPE REF TO CL_SALV_FUNCTIONS,
             LR_EVENTS    TYPE REF TO CL_SALV_EVENTS.
    ENDCLASS.
    CLASS SET_HANDLER DEFINITION.
      PUBLIC SECTION.
        "理解为为某个类的事件而产生的方法,相当于将2个类关联起来
        METHODS:USER_COMMAND FOR EVENT ADDED_FUNCTION OF CL_SALV_EVENTS_TABLE"直接使用该类的function事件
          IMPORTING E_SALV_FUNCTION.
    ENDCLASS.
    
    "class 实现
    CLASS SALV_DISPLAY IMPLEMENTATION.
      METHOD DISPLAYDATA.
        SELECT * INTO TABLE @DATA(LT_VBAK) FROM VBAK UP TO 10 ROWS.
        TRY.
            CL_SALV_TABLE=>FACTORY( IMPORTING R_SALV_TABLE   = S_ALV  CHANGING T_TABLE = LT_VBAK ).
          CATCH CX_SALV_MSG .
        ENDTRY.
    *    LR_FUNCTIONS = S_ALV->GET_FUNCTIONS( ).
    *    LR_FUNCTIONS->SET_ALL( ABAP_TRUE ).
        LR_EVENTS = S_ALV->GET_EVENT( ).
        "设置ALV功能
        S_ALV->SET_SCREEN_STATUS(
        PFSTATUS      =  'SALV_STANDARD1'
        REPORT        =  SY-REPID
        SET_FUNCTIONS = S_ALV->C_FUNCTIONS_ALL ).
        "=====事件注册
        DATA:HANDLER TYPE REF TO SET_HANDLER.
        CREATE OBJECT HANDLER.
        SET HANDLER HANDLER->USER_COMMAND FOR ALL INSTANCES.
        S_ALV->DISPLAY( ).
      ENDMETHOD.
    ENDCLASS.
    
    CLASS SET_HANDLER IMPLEMENTATION.
      METHOD USER_COMMAND.
        PERFORM USER_CLICK USING E_SALV_FUNCTION.
      ENDMETHOD.
    
    ENDCLASS.
    FORM USER_CLICK USING P_SALV_FUNCTION TYPE SALV_DE_FUNCTION.
      CASE P_SALV_FUNCTION.
        WHEN '&CLICK'.
          MESSAGE '你点击了我!' TYPE 'I'.
          S_ALV->REFRESH( ).
      ENDCASE.
    ENDFORM.
    
    START-OF-SELECTION.
      DATA:LR_ALV TYPE REF TO SALV_DISPLAY.
      CREATE OBJECT LR_ALV.
      LR_ALV->DISPLAYDATA( ).

     其中格式状态需要使用SE41自建一个或者复制一个标准的后自己添加一些按钮。

  • 相关阅读:
    VSS與CSV區別
    办公室中节约时间
    C#中用Smtp發郵件
    关于分层结构的感悟(轉)
    Visual Studio.Net 技巧(轉)
    常用數據庫訪問方式比較
    Winows部署中一些內容說明
    适配器模式(Adapter Pattern)(轉)
    Vistual Studio 2005 sp1補丁的詳細內容
    感情 程序 祭 【转】
  • 原文地址:https://www.cnblogs.com/BruceKing/p/14628068.html
Copyright © 2011-2022 走看看