有时候需要下面这种效果:

ALV DMEO 07:REUSE_ALV_GRID_DISPLAY 使用TOP_OF_PAGE_java

使用的是参数:I_CALLBACK_TOP_OF_PAGE


代码比较简单,在demo10的基础上。

代码如下:

REPORT ZLM_ALV011.


DATA:GT_DATA                TYPE TABLE OF  SPFLI.

DATA:GS_LAYOUT              TYPE SLIS_LAYOUT_ALV.
DATA:CT_FIELDCAT            TYPE  SLIS_T_FIELDCAT_ALV.
DATA:GT_FIELDCATALOG        TYPE SLIS_T_FIELDCAT_ALV .
DATA:LS_CT_FIELDCAT         LIKE LINE OF CT_FIELDCAT.
DATA:LS_IT_FIELDCATALOG     LIKE LINE OF GT_FIELDCATALOG.
DATA:LV_ALV_STRUCTURE TYPE DD02L-TABNAME VALUE 'ZLMS_ALV'.

DATAG_GRID_TOP_OF_PAGE TYPE SLIS_T_LISTHEADER.

START-OF-SELECTION.


  SELECT FROM SPFLI INTO  TABLE GT_DATA.



  CLEAR CT_FIELDCAT[].
  CLEAR GT_FIELDCATALOG[].

  CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
    EXPORTING
      I_STRUCTURE_NAME       LV_ALV_STRUCTURE
    CHANGING
      CT_FIELDCAT            CT_FIELDCAT
    EXCEPTIONS
      INCONSISTENT_INTERFACE 1
      PROGRAM_ERROR          2
      OTHERS                 3.
  IF SY-SUBRC <> 0.

  ENDIF.



  LOOP AT CT_FIELDCAT INTO LS_CT_FIELDCAT .
    MOVE-CORRESPONDING LS_CT_FIELDCAT TO LS_IT_FIELDCATALOG.

    LS_IT_FIELDCATALOG-SELTEXT_L LS_CT_FIELDCAT-SELTEXT_L.
    LS_IT_FIELDCATALOG-SELTEXT_M LS_CT_FIELDCAT-SELTEXT_M.
    LS_IT_FIELDCATALOG-SELTEXT_S LS_CT_FIELDCAT-SELTEXT_S.

    LS_IT_FIELDCATALOG-DDICTXT ='L'.
    APPEND LS_IT_FIELDCATALOG TO GT_FIELDCATALOG.
  ENDLOOP.


  GS_LAYOUT-COLWIDTH_OPTIMIZE 'X'.
  GS_LAYOUT-ZEBRA 'X'.

  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
    EXPORTING
      I_DEFAULT              'X'
      I_SAVE                 'X'
      I_CALLBACK_PROGRAM     SY-REPID  "当前程序
      I_CALLBACK_TOP_OF_PAGE 'FRM_COMMENT_BUILD'
      I_GRID_TITLE           'SAP干货铺测试'
      IS_LAYOUT              GS_LAYOUT
      IT_FIELDCAT            GT_FIELDCATALOG
*     I_STRUCTURE_NAME       = 'SPFLI'
    TABLES
      T_OUTTAB               GT_DATA
    EXCEPTIONS
      PROGRAM_ERROR          1
      OTHERS                 2.

  IF SY-SUBRC <> 0.
* Implement suitable error handling here
  ENDIF.

*&---------------------------------------------------------------------*
*&      Form  COMMENT_BUILD
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
FORM FRM_COMMENT_BUILD .

  DATALS_LINE TYPE SLIS_LISTHEADER.
  CLEAR G_GRID_TOP_OF_PAGE[].
  CLEAR LS_LINE.
  LS_LINE-TYP  'H'.  " H = Header, S = Selection, A = Action
  LS_LINE-INFO  =  'SAP干货铺测试'.
  APPEND LS_LINE TO G_GRID_TOP_OF_PAGE.

  CLEAR LS_LINE.
  LS_LINE-TYP  'S'.
*  LS_LINE-KEY  = 'SAP干货铺'.

  CONCATENATE  'SAP干货铺测试日期:'SY-DATUM
              INTO LS_LINE-INFO  .

  APPEND LS_LINE TO G_GRID_TOP_OF_PAGE.

  CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
    EXPORTING
      IT_LIST_COMMENTARY G_GRID_TOP_OF_PAGE.


ENDFORM.                    " COMMENT_BUILD