1. 程式人生 > >同個螢幕,輸出多個alv列表

同個螢幕,輸出多個alv列表

REPORT  z_szq_test.

TYPE-POOLS: slis.
DATA:field_catalog TYPE slis_t_fieldcat_alv WITH HEADER LINE,
     layout        TYPE slis_layout_alv,
     events        TYPE slis_t_event,
     BEGIN OF itab OCCURS 0,
       matnr LIKE mara-matnr,
       maktx LIKE makt-maktx,
     END   OF itab,
     itab1 LIKE TABLE OF
 itab WITH HEADER LINE.

START-OF-SELECTION.

  field_catalog-col_pos = 1.
  field_catalog-fieldname = 'MATNR'.
  field_catalog-tabname   = 'ITAB'.
  field_catalog-seltext_m = '物料號'.
  field_catalog-ddictxt   = 'M'.
  APPEND field_catalog.

  field_catalog-col_pos = 2.
  field_catalog-fieldname = 'MAKTX'.
  field_catalog-tabname   = 'ITAB'
.
  field_catalog-seltext_m = '物料描述'.
  field_catalog-ddictxt   = 'M'.
  APPEND field_catalog.

  SELECT matnr maktx
  INTO TABLE itab
  UP TO 5 ROWS
  FROM makt
  WHERE spras = sy-langu AND
        matnr LIKE '1000%'.

  CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_INIT'
    EXPORTING
      i_callback_program = sy-repid.

  CALL
 FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND'
    EXPORTING
      it_fieldcat = field_catalog[]
      is_layout   = layout
      i_tabname   = 'ITAB'
      it_events   = events[]
    TABLES
      t_outtab    = itab[].

  SELECT matnr maktx
  INTO TABLE itab1
  UP TO 5 ROWS
  FROM makt
  WHERE spras = sy-langu.
*& 可以附加新的輸出列表
  CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND'
    EXPORTING
      it_fieldcat = field_catalog[]
      is_layout   = layout
      i_tabname   = 'ITAB1'
      it_events   = events[]
    TABLES
      t_outtab    = itab1[].
*& 顯示
  CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_DISPLAY'.