[ABAP]Function实现ALV Table一:最简单的ALV显示

 *&---------------------------------------------------------------------*
*& Report  ZKJ_ALV_TEST_01
*&
*&---------------------------------------------------------------------*
*&   Function实现ALV Table一:最简单的ALV显示
*&
*&---------------------------------------------------------------------*

REPORT  ZKJ_ALV_TEST_01.

*ALV的实现方法有三种:一种是用类CL_SALV_TABLE,
*一种是用类CL_GUI_GRID_DISPLAY,还有另外一种,跟前面两种不同,
*是用Function来实现的,它们是REUSE_ALV_LIST_DISPLAY
*和REUSE_ALV_GRID_DISPLAY。现在用得最多的也是用Functoin来
*实现ALV,其实这两个Function的底层也是基于类CL_GUI_GRID_DISPLAY的。


parameters p_list type c RADIOBUTTON group gp1.
parameters p_grid type c RADIOBUTTON group gp1.

data:
  td_spfli type table of spfli.

  select * from spfli into table td_spfli.

  if p_list = 'X'.
    set titlebar 'TB_001' with text-h02.
    CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
      EXPORTING
*       I_INTERFACE_CHECK              = ' '
*       I_BYPASSING_BUFFER             =
*       I_BUFFER_ACTIVE                = ' '
*       I_CALLBACK_PROGRAM             = ' '
*       I_CALLBACK_PF_STATUS_SET       = ' '
*       I_CALLBACK_USER_COMMAND        = ' '
        I_STRUCTURE_NAME               = 'spfli'
*       IS_LAYOUT                      =
*       IT_FIELDCAT                    =
*       IT_EXCLUDING                   =
*       IT_SPECIAL_GROUPS              =
*       IT_SORT                        =
*       IT_FILTER                      =
*       IS_SEL_HIDE                    =
*       I_DEFAULT                      = 'X'
*       I_SAVE                         = ' '
*       IS_VARIANT                     =
*       IT_EVENTS                      =
*       IT_EVENT_EXIT                  =
*       IS_PRINT                       =
*       IS_REPREP_ID                   =
*       I_SCREEN_START_COLUMN          = 0
*       I_SCREEN_START_LINE            = 0
*       I_SCREEN_END_COLUMN            = 0
*       I_SCREEN_END_LINE              = 0
*       IR_SALV_LIST_ADAPTER           =
*       IT_EXCEPT_QINFO                =
*       I_SUPPRESS_EMPTY_DATA          = ABAP_FALSE
*     IMPORTING
*       E_EXIT_CAUSED_BY_CALLER        =
*       ES_EXIT_CAUSED_BY_USER         =
      TABLES
        t_outtab                       = td_spfli
      EXCEPTIONS
        PROGRAM_ERROR                  = 1
        OTHERS                         = 2
              .
    IF sy-subrc <> 0.
      MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
              WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.


  else.

    set titlebar 'TB_001' with text-h01.
    CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
      EXPORTING
*       I_INTERFACE_CHECK                 = ' '
*       I_BYPASSING_BUFFER                = ' '
*       I_BUFFER_ACTIVE                   = ' '
*       I_CALLBACK_PROGRAM                = ' '
*       I_CALLBACK_PF_STATUS_SET          = ' '
*       I_CALLBACK_USER_COMMAND           = ' '
*       I_CALLBACK_TOP_OF_PAGE            = ' '
*       I_CALLBACK_HTML_TOP_OF_PAGE       = ' '
*       I_CALLBACK_HTML_END_OF_LIST       = ' '
        I_STRUCTURE_NAME                  = 'spfli'
*       I_BACKGROUND_ID                   = ' '
*       I_GRID_TITLE                      =
*       I_GRID_SETTINGS                   =
*       IS_LAYOUT                         =
*       IT_FIELDCAT                       =
*       IT_EXCLUDING                      =
*       IT_SPECIAL_GROUPS                 =
*       IT_SORT                           =
*       IT_FILTER                         =
*       IS_SEL_HIDE                       =
*       I_DEFAULT                         = 'X'
*       I_SAVE                            = ' '
*       IS_VARIANT                        =
*       IT_EVENTS                         =
*       IT_EVENT_EXIT                     =
*       IS_PRINT                          =
*       IS_REPREP_ID                      =
*       I_SCREEN_START_COLUMN             = 0
*       I_SCREEN_START_LINE               = 0
*       I_SCREEN_END_COLUMN               = 0
*       I_SCREEN_END_LINE                 = 0
*       I_HTML_HEIGHT_TOP                 = 0
*       I_HTML_HEIGHT_END                 = 0
*       IT_ALV_GRAPHICS                   =
*       IT_HYPERLINK                      =
*       IT_ADD_FIELDCAT                   =
*       IT_EXCEPT_QINFO                   =
*       IR_SALV_FULLSCREEN_ADAPTER        =
*     IMPORTING
*       E_EXIT_CAUSED_BY_CALLER           =
*       ES_EXIT_CAUSED_BY_USER            =
      TABLES
        t_outtab                          = td_spfli
      EXCEPTIONS
        PROGRAM_ERROR                     = 1
        OTHERS                            = 2
              .
    IF sy-subrc <> 0.
      MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
              WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.

  endif.

【参照:http://blog.csdn.net/lhx20/archive/2008/09/18/2947391.aspx

猜你喜欢

转载自klg.iteye.com/blog/277008
alv