function方式的ALV中 增加按鈕 用 REUSE_ALV_GRID_DISPLAY

SAP騎士發表於2010-03-03

我做了一個例子,在function方式的ALV中,實現增強功能。

例如,想要在ALV介面通過某個按鈕完成ALV資料的下載。這個需求有很多實現的方式,我這裡給出一種比較少見的做法。

 

每一個標準的用'REUSE_ALV_GRID_DISPLAY'實現的ALV,執行後都會跳轉到一個標準的螢幕。我們可以去觀察這個screenGUI Status—STANDARD_FULLSCREEN’。上面有不少的按鈕,每個按鈕都有一個功能程式碼。如   &ALL’ ‘&SAL’這種。我的想法是,按這個按鈕的時候激發我在程式中程式碼,實現ALVuser exit

 

做法(以下載按鈕為例):

Step 1

  DATA: it_event_test TYPE slis_t_event_exit,

        it_event_test_wa TYPE slis_event_exit.

  it_event_test_wa-ucomm = '%PC '.

  it_event_test_wa-before = 'X'.

*  it_event_test_wa-after = 'X'.

APPEND it_event_test_wa TO it_event_test.

 

Step 2

FORM. mycommand USING r_ucomm LIKE sy-ucomm

                     rs_selfield TYPE slis_selfield.

 

IF r_ucomm = '%PC '.

  此處新增增強的程式碼

  ENDIF.

ENDFORM.          

 

Step 3:

  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

    EXPORTING

      i_callback_program      = g_repid

      is_layout               = gs_layout

      it_fieldcat             = gt_fieldcat[]

      i_grid_title            = l_text

      i_save                  = 'A'

      is_variant              = gs_variant

      i_callback_user_command = 'MYCOMMAND'

      it_event_exit           = it_event_test

    TABLES

      t_outtab                = gt_data[].

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/17204926/viewspace-628543/,如需轉載,請註明出處,否則將追究法律責任。

相關文章