REPORT z_alv_list_block.
TYPE-POOLS: slis. " ALV Global types
SELECTION-SCREEN :
SKIP,
BEGIN OF LINE,
COMMENT 5(27) v_1 FOR FIELD p_max. "#EC NEEDED
PARAMETERS p_max(2) TYPE n DEFAULT '02' OBLIGATORY.
SELECTION-SCREEN END OF LINE.
DATA:
* 1st Table
BEGIN OF gt_kna1 OCCURS 0, " Data displayed
kunnr LIKE kna1-kunnr, " Customer number
ernam LIKE kna1-ernam, " Name of Person who Created
erdat LIKE kna1-erdat, " Creation date
name1 LIKE kna1-name1, " Name 1
END OF gt_kna1,
* 2nd Table
BEGIN OF gt_mara OCCURS 0,
ernam LIKE mara-ernam, " Name of Person who Created
matnr LIKE mara-matnr, " Material number
ersda LIKE mara-e rsda, " Creation date
brgew LIKE mara-brgew, " Gross weight
END OF gt_mara,
* 3rd Table
BEGIN OF gt_vbak OCCURS 0,
vkorg LIKE vbak-vkorg, " Sales organization
kunnr LIKE vbak-kunnr, " Sold-to party
vbeln LIKE vbak-vbeln, " Sales document
netwr LIKE vbak-netwr, " Net Value of the Sales Order
waerk LIKE vbak-waerk, " SD document currency
END OF gt_vbak.
*---------------------------------------------------------------------*
INITIALIZATION.
v_1 = 'Maximum of records to read'.
*---------------------------------------------------------------------*
START-OF-SELECTION.
* Read data
SELECT * FROM kna1
UP TO p_max ROWS
INTO CORRESPONDING FIELDS OF TABLE gt_kna1.
SELECT * FROM mara
UP TO p_max ROWS
INTO CORRESPONDING FIELDS OF TABLE gt_mara.
SELECT * FROM vbak
UP TO p_max ROWS
INTO CORRESPONDING FIELDS OF TABLE gt_vbak.
CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_INIT'
EXPORTING
i_callback_program = sy-cprog
i_callback_user_command = 'USER_COMMAND'.
PERFORM list_append TABLES gt_kna1
USING '1'
'GT_KNA1'.
PERFORM list_append TABLES gt_mara
USING '2'
'GT_MARA'.
PERFORM list_append TABLES gt_vbak
USING '3'
'GT_VBAK'.
PERFORM f_list_display.
*---------------------------------------------------------------------*
* FORM USER_COMMAND *
*---------------------------------------------------------------------*
FORM user_command USING i_ucomm LIKE sy-ucomm
is_selfield TYPE slis_selfield. "#EC CALLED
CASE i_ucomm.
WHEN '&IC1'. " Pick
CASE is_selfield-tabname.
WHEN 'GT_MARA'.
WHEN 'GT_KNA1'.
WHEN 'GT_VBAK'.
READ TABLE gt_vbak INDEX is_selfield-tabindex.
IF sy-subrc EQ 0.
* Sales order number
SET PARAMETER ID 'AUN' FIELD gt_vbak-vbeln.
* Display Sales Order
CALL TRANSACTION 'VA03' AND SKIP FIRST SCREEN.
ENDIF.
ENDCASE.
ENDCASE.
ENDFORM. " USER_COMMAND
*---------------------------------------------------------------------*<
/div>
* Form list_append
*---------------------------------------------------------------------*
FORM list_append TABLES ut_table
USING u_no TYPE char1
u_tabname TYPE slis_tabname.
* Macro definition
DEFINE m_fieldcat.
ls_fieldcat-fieldname = &1.
ls_fieldcat-ref_tabname = &2.
append ls_fieldcat to lt_fieldcat.
END-OF-DEFINITION.
DEFINE m_sort.
ls_sort-fieldname = &1.
ls_sort-up = 'X'.
append ls_sort to lt_sort.
END-OF-DEFINITION.
DATA :
ls_fieldcat TYPE slis_fieldcat_alv,
lt_fieldcat TYPE slis_t_fieldcat_alv, " Field catalog
ls_sort TYPE slis_sortinfo_alv,
lt_sort TYPE slis_t_sortinfo_alv. " Sort table
DATA:
lt_events TYPE slis_t_event,
ls_event TYPE slis_alv_event,
ls_layout TYPE slis_layout_alv.
ls_layout-group_change_edit = 'X'.
ls_layout-colwidth_optimize = 'X'.
ls_layout-zebra = 'X'.
ls_layout-detail_popup = 'X'.
ls_layout-get_selinfos = 'X'.
ls_layout-max_linesize = '200'.
CASE u_no.
WHEN '1'.
* Build field catalog and sort table
m_fieldcat 'KUNNR' 'KNA1'.
m_fieldcat 'ERNAM' 'KNA1'.
m_fieldcat 'ERDAT' 'KNA1'.
m_fieldcat 'NAME1' 'KNA1'.
m_sort 'KUNNR'.
WHEN '2'.
m_fieldcat 'MATNR' 'MARA'.
m_fieldcat 'ERNAM' 'MARA'.
m_fieldcat 'ERSDA' 'MARA'.
m_fieldcat 'BRGEW' 'MARA'.
m_sort 'MATNR'.
WHEN '3'.
m_fieldcat 'VBELN' 'VBAK'.
m_fieldcat 'VKORG' 'VBAK'.
m_fieldcat 'KUNNR' 'VBAK'.
m_fieldcat 'NETWR' 'VBAK'.
m_fieldcat 'WAERK' 'VBAK'.
m_sort 'VBELN'.
ENDCASE.
IF u_no CA '13'.
MOVE 'TOP_OF_PAGE' TO ls_event-name.
CONCATENATE 'TOP_OF_PAGE' u_no INTO ls_event-form.
APPEND ls_event TO lt_events.
ELSE.
MOVE 'TOP_OF_LIST' TO ls_event-name.
CONCATENATE 'TOP_OF_LIST' u_no INTO ls_event-form.
APPEND ls_event TO lt_events.
ENDIF.
CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND'
EXPORTING
it_fieldcat = lt_fieldcat
is_layout = ls_layout
i_tabname = u_tabname
it_events = lt_events
it_sort = lt_sort
* i_text =
TABLES
t_outtab = ut_table
EXCEPTIONS
program_error = 1
maximum_of_appends_reached = 2
OTHERS = 3.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
ENDFORM. " LIST_APPEND
*---------------------------------------------------------------------*
* Form f_list_display
*---------------------------------------------------------------------*
FORM f_list_display.
DATA ls_print TYPE slis_print_alv.
Following is a demo program on ALV Blocked list using the following function modules (The
screenshots of the output are shown at the end):
REUSE_ALV_BLOCK_LIST_INIT
REUSE_ALV_BLOCK_LIST_APPEND
REUSE_ALV_BLOCK_LIST_DISPLAY
*&---------------------------------------------------------------------*
*& Report ZALV_BLOCKEDALV
*
*&
*
*&---------------------------------------------------------------------*
REPORT ZALV_BLOCKEDALV .
*provide tables
TABLES: MARA, MAKT, MARD.
*provide type-pools
TYPE-POOLS: SLIS.
*provide select-options
SELECT-OPTIONS: S_MATNR FOR MARA-MATNR.
*provide data objects
DATA: V_REPID TYPE SY-REPID,
WA_MARA_FIELD TYPE SLIS_FIELDCAT_ALV,
"it is for field catalog
WA_MAKT_FIELD TYPE SLIS_FIELDCAT_ALV,
WA_MARD_FIELD TYPE SLIS_FIELDCAT_ALV,
WA_MARA TYPE MARA,
WA_MAKT TYPE MAKT,
WA_MARD TYPE MARD,
IT_MARA_FIELD TYPE SLIS_T_FIELDCAT_ALV,
IT_MAKT_FIELD TYPE SLIS_T_FIELDCAT_ALV,
IT_MARD_FIELD TYPE SLIS_T_FIELDCAT_ALV,
IT_MARA TYPE TABLE OF MARA,
IT_MAKT TYPE TABLE OF MAKT,
IT_MARD TYPE TABLE OF MARD,
V_LAYOUT TYPE SLIS_LAYOUT_ALV,
IT_EVENTS TYPE SLIS_T_EVENT,
"it is for events
WA_EVENTS TYPE SLIS_ALV_EVENT.
V_REPID = SY-REPID.
*provide field catalog perform
PERFORM FIELD_CAT.
*call the initial function module
CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_INIT'
EXPORTING
I_CALLBACK_PROGRAM
= V_REPID
*
I_CALLBACK_PF_STATUS_SET
= ' '
*
I_CALLBACK_USER_COMMAND
= ' '
*
IT_EXCLUDING
=
.
*provide perform for select the data
PERFORM SELECT_DATA.
*call mara append list
CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND'
EXPORTING
IS_LAYOUT
= V_LAYOUT
IT_FIELDCAT
= IT_MARA_FIELD[]
I_TABNAME
= 'MARA'
IT_EVENTS
= IT_EVENTS[]
*
*
IT_SORT
=
I_TEXT
= ' '
TABLES
T_OUTTAB
= IT_MARA
EXCEPTIONS
PROGRAM_ERROR
= 1
MAXIMUM_OF_APPENDS_REACHED
= 2
OTHERS
= 3.
*call makt append list
CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND'
EXPORTING
IS_LAYOUT
= V_LAYOUT
IT_FIELDCAT
= IT_MAKT_FIELD
I_TABNAME
= 'MAKT'
IT_EVENTS
= IT_EVENTS
*
IT_SORT
=
*
I_TEXT
= ' '
TABLES
T_OUTTAB
= IT_MAKT
EXCEPTIONS
PROGRAM_ERROR
= 1
MAXIMUM_OF_APPENDS_REACHED
= 2
OTHERS
= 3.
*call mard append list
CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND'
EXPORTING
IS_LAYOUT
= V_LAYOUT
IT_FIELDCAT
= IT_MARD_FIELD
I_TABNAME
= 'MARD'
IT_EVENTS
= IT_EVENTS
*
IT_SORT
=
*
I_TEXT
= ' '
TABLES
T_OUTTAB
= IT_MARD
EXCEPTIONS
PROGRAM_ERROR
= 1
MAXIMUM_OF_APPENDS_REACHED
= 2
OTHERS
= 3.
*display the data
CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_DISPLAY'
* EXPORTING
*
I_INTERFACE_CHECK
= ' '
*
IS_PRINT
=
*
I_SCREEN_START_COLUMN
= 0
*
I_SCREEN_START_LINE
= 0
*
I_SCREEN_END_COLUMN
= 0
*
I_SCREEN_END_LINE
= 0
* IMPORTING
*
E_EXIT_CAUSED_BY_CALLER
=
*
ES_EXIT_CAUSED_BY_USER
=
* EXCEPTIONS
*
PROGRAM_ERROR
= 1
*
OTHERS
= 2.
.
*&--------------------------------------------------------------------*
*&
Form TOP_PAGE
*&--------------------------------------------------------------------*
*
text
*---------------------------------------------------------------------*
FORM TOP_PAGE.
WRITE:/ 'THIS IS BLOCKED ALV REPORT PROGRAM BASED ON 3 BLOCKS' COLOR 5.
ENDFORM.
"TOP_PAGE
*&---------------------------------------------------------------------*
*&
Form FIELD_CAT
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
* --> p1
text
* <-- p2
text
*----------------------------------------------------------------------*
FORM FIELD_CAT .
WA_MARA_FIELD-COL_POS = 1.
WA_MARA_FIELD-FIELDNAME = 'MATNR'.
WA_MARA_FIELD-REF_TABNAME = 'MARA'.
APPEND WA_MARA_FIELD TO IT_MARA_FIELD.
CLEAR WA_MARA_FIELD.
WA_MARA_FIELD-COL_POS = 2.
WA_MARA_FIELD-FIELDNAME = 'ERSDA'.
WA_MARA_FIELD-REF_TABNAME = 'MARA'.
APPEND WA_MARA_FIELD TO IT_MARA_FIELD.
CLEAR WA_MARA_FIELD.
WA_MARA_FIELD-COL_POS = 3.
WA_MARA_FIELD-FIELDNAME = 'ERNAM'.
WA_MARA_FIELD-REF_TABNAME = 'MARA'.
APPEND WA_MARA_FIELD TO IT_MARA_FIELD.
CLEAR WA_MARA_FIELD.
WA_MARA_FIELD-COL_POS = 4.
WA_MARA_FIELD-FIELDNAME = 'LAEDA'.
WA_MARA_FIELD-REF_TABNAME = 'MARA'.
APPEND WA_MARA_FIELD TO IT_MARA_FIELD.
CLEAR WA_MARA_FIELD.
WA_MAKT_FIELD-COL_POS = '1'.
WA_MAKT_FIELD-FIELDNAME = 'MATNR'.
WA_MAKT_FIELD-REF_TABNAME = 'MAKT'.
APPEND WA_MAKT_FIELD TO IT_MAKT_FIELD.
CLEAR WA_MAKT_FIELD.
WA_MAKT_FIELD-COL_POS = 2.
WA_MAKT_FIELD-FIELDNAME = 'MAKTX'.
WA_MAKT_FIELD-REF_TABNAME = 'MAKT'.
APPEND WA_MAKT_FIELD TO IT_MAKT_FIELD.
CLEAR WA_MAKT_FIELD.
WA_MAKT_FIELD-COL_POS = 3.
WA_MAKT_FIELD-FIELDNAME = 'MAKTG'.
WA_MAKT_FIELD-REF_TABNAME = 'MAKT'.
APPEND WA_MAKT_FIELD TO IT_MAKT_FIELD.
CLEAR WA_MAKT_FIELD.
WA_MARD_FIELD-COL_POS = 1.
WA_MARD_FIELD-FIELDNAME = 'MATNR'.
WA_MARD_FIELD-REF_TABNAME = 'MARD'.
APPEND WA_MARD_FIELD TO IT_MARD_FIELD.
CLEAR WA_MARD_FIELD.
WA_MARD_FIELD-COL_POS = 2.
WA_MARD_FIELD-FIELDNAME = 'WERKS'.
WA_MARD_FIELD-REF_TABNAME = 'MARD'.
Press F8.
Then output is like this.
REPORT Z_50657_ALV_EX3
NO STANDARD PAGE HEADING
LINE-COUNT 65(3)
LINE-SIZE 220
MESSAGE-ID ZZ.
************************************************************************
*
Type Pools
*
************************************************************************
TYPE-POOLS: SLIS, ICON.
************************************************************************
*
Tables
*
************************************************************************
TABLES: MARA, "General Material Data
MAKT. "Material Descriptions
************************************************************************
*
Internal Tables
*
************************************************************************
** Internal table to hold data from MARA
DATA: BEGIN OF IT_MARA OCCURS 0,
MATNR LIKE MARA-MATNR,
MTART LIKE MARA-MTART,
MATKL LIKE MARA-MATKL,
MEINS LIKE MARA-MEINS,
NTGEW LIKE MARA-NTGEW,
CHECK(1) TYPE C,
END OF IT_MARA.
** Internal table to hold material description from MAKT
DATA: BEGIN OF IT_MAKT OCCURS 0,
MATNR LIKE MAKT-MATNR,
MAKTX LIKE MAKT-MAKTX,
END OF IT_MAKT.
** Internal table to hold data from MARC
DATA: BEGIN OF IT_MARC OCCURS 0,
MATNR LIKE MARC-MATNR,
WERKS LIKE MARC-WERKS,
LADGR LIKE MARC-LADGR,
MTVFP LIKE MARC-MTVFP,
DISPR LIKE MARC-DISPR,
DISMM LIKE MARC-DISMM,
DISPO LIKE MARC-DISPO,
END OF IT_MARC.
************************************************************************
*
Work Area
*
************************************************************************
DATA: X_FIELDCAT TYPE SLIS_FIELDCAT_ALV,
IT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV.
DATA: X_FIELDCAT_MAKT TYPE SLIS_FIELDCAT_ALV,
IT_FIELDCAT_MAKT TYPE SLIS_T_FIELDCAT_ALV.
PERFORM FIELDCATALOG_MERGE.
*USE SORT FUNCTION SO AS TO GET SUBTOTALS AND GRAND TOTAL
PERFORM SORT_FUNC.
************************************************************************
*
End of Selection
*
************************************************************************
END-OF-SELECTION.
PERFORM FINAL_DISPLAY.
*&--------------------------------------------------------------------*
*&
Form GET_DATA
*&--------------------------------------------------------------------*
*
text
*---------------------------------------------------------------------*
FORM GET_DATA.
SELECT MATNR
MTART
MATKL
MEINS
NTGEW
FROM MARA INTO TABLE IT_MARA
WHERE MATNR IN S_MATNR AND MTART IN S_MTART .
SELECT MATNR
MAKTX
FROM MAKT INTO TABLE IT_MAKT
FOR ALL ENTRIES IN IT_MARA
WHERE MATNR = IT_MARA-MATNR.
SELECT MATNR
WERKS
LADGR
MTVFP
DISPR
DISMM
DISPO FROM MARC INTO TABLE IT_MARC
FOR ALL ENTRIES IN IT_MARA
WHERE MATNR = IT_MARA-MATNR.
ENDFORM.
"GET_DATA
*&--------------------------------------------------------------------*
*&
Form DEFINE_FIELDCAT
*&--------------------------------------------------------------------*
*
text
*---------------------------------------------------------------------*
FORM DEFINE_FIELDCAT.
X_FIELDCAT-FIELDNAME = 'MTART'.
X_FIELDCAT-TABNAME = 'IT_MARA'.
X_FIELDCAT-SELTEXT_L = ''.
X_FIELDCAT-OUTPUTLEN = 15.
APPEND X_FIELDCAT TO IT_FIELDCAT.
CLEAR X_FIELDCAT.
X_FIELDCAT-FIELDNAME = 'CHECK'.
X_FIELDCAT-TABNAME = 'IT_MARA'.
X_FIELDCAT-CHECKBOX = 'X'.
X_FIELDCAT-COL_POS = 1.
APPEND X_FIELDCAT TO IT_FIELDCAT.
CLEAR X_FIELDCAT.
X_FIELDCAT-FIELDNAME
X_FIELDCAT-TABNAME =
X_FIELDCAT-OUTPUTLEN
APPEND X_FIELDCAT TO
CLEAR X_FIELDCAT.
= 'MATKL'.
'IT_MARA'.
= 15.
IT_FIELDCAT.
X_FIELDCAT-FIELDNAME = 'NTGEW'.
X_FIELDCAT-TABNAME = 'IT_MARA'.
X_FIELDCAT-DO_SUM = 'X'.
X_FIELDCAT-OUTPUTLEN = 15.
APPEND X_FIELDCAT TO IT_FIELDCAT.
CLEAR X_FIELDCAT.
ENDFORM.
"DEFINE_FIELDCAT
*&--------------------------------------------------------------------*
*&
Form DEFINE_LAYOUT
*&--------------------------------------------------------------------*
*
text
*---------------------------------------------------------------------*
FORM DEFINE_LAYOUT.
L_LAYOUT_MARA-ZEBRA = 'X'.
L_LAYOUT_MARA-SUBTOTALS_TEXT = 'GEN SUBTOT'.
L_LAYOUT_MARA-WINDOW_TITLEBAR = 'DETAILS'.
L_LAYOUT_MARA-TOTALS_TEXT = 'TOTAL VALUE'.
L_LAYOUT_MARC-ZEBRA = 'X'.
L_LAYOUT_MAKT-ZEBRA = 'X'.
ENDFORM.
"DEFINE_LAYOUT
*&--------------------------------------------------------------------*
*&
Form FIELDCATALOG_MERGE
*&--------------------------------------------------------------------*
*
text
*---------------------------------------------------------------------*
FORM FIELDCATALOG_MERGE.
CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
I_PROGRAM_NAME
= SY-REPID
I_INTERNAL_TABNAME
= 'IT_MARA'
I_INCLNAME
= SY-REPID
CHANGING
CT_FIELDCAT
= IT_FIELDCAT
EXCEPTIONS
INCONSISTENT_INTERFACE = 1
PROGRAM_ERROR
= 2
OTHERS
= 3.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
I_PROGRAM_NAME
= SY-REPID
I_INTERNAL_TABNAME
= 'IT_MAKT'
I_INCLNAME
= SY-REPID
CHANGING
CT_FIELDCAT
= IT_FIELDCAT_MAKT
EXCEPTIONS
INCONSISTENT_INTERFACE = 1
PROGRAM_ERROR
= 2
OTHERS
= 3.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
I_PROGRAM_NAME
= SY-REPID
I_INTERNAL_TABNAME
= 'IT_MARC'
I_INCLNAME
= SY-REPID
CHANGING
CT_FIELDCAT
= IT_FIELDCAT_MARC
EXCEPTIONS
INCONSISTENT_INTERFACE = 1
PROGRAM_ERROR
= 2
OTHERS
= 3.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDFORM.
"FIELDCATALOG_MERGE
*&--------------------------------------------------------------------*
*&
Form SORT_FUNC
*&--------------------------------------------------------------------*
*
text
*---------------------------------------------------------------------*
FORM SORT_FUNC.
WA_SORT-SPOS = '1'.
WA_SORT-FIELDNAME = 'MTART'.
WA_SORT-TABNAME = 'IT_MARA'.
WA_SORT-UP = 'X'.
APPEND WA_SORT TO IT_SORT.
CLEAR WA_SORT.
WA_SORT-SPOS = '2'.
WA_SORT-FIELDNAME = 'MATKL'.
WA_SORT-TABNAME = 'IT_MARA'.
WA_SORT-UP = 'X'.
APPEND WA_SORT TO IT_SORT.
CLEAR WA_SORT.
WA_SORT-SPOS = '3'.
WA_SORT-FIELDNAME = 'MATKL'.
WA_SORT-TABNAME = 'IT_MARA'.
WA_SORT-UP = 'X'.
APPEND WA_SORT TO IT_SORT.
CLEAR WA_SORT.
WA_SORT-SPOS = '4'.
WA_SORT-FIELDNAME = 'NTGEW'.
WA_SORT-TABNAME = 'IT_MARA'.
WA_SORT-UP = 'X'.
WA_SORT-SUBTOT = 'X'.
APPEND WA_SORT TO IT_SORT.
CLEAR WA_SORT.
WA_SORT-SPOS = '5'.
WA_SORT-FIELDNAME = 'MATNR'.
WA_SORT-TABNAME = 'IT_MARA'.
WA_SORT-UP = 'X'.
APPEND WA_SORT TO IT_SORT.
CLEAR WA_SORT.
ENDFORM.
"SORT_FUNC
*&--------------------------------------------------------------------*
*&
Form FINAL_DISPLAY
*&--------------------------------------------------------------------*
*
text
*---------------------------------------------------------------------*
FORM FINAL_DISPLAY.
CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_INIT'
EXPORTING
I_CALLBACK_PROGRAM = SY-REPID.
CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND'
EXPORTING
IS_LAYOUT
= L_LAYOUT_MARA
IT_FIELDCAT
= IT_FIELDCAT
I_TABNAME
= 'IT_MARA'
IT_EVENTS
= GT_XEVENTS
IT_SORT
= IT_SORT
TABLES
T_OUTTAB
= IT_MARA
EXCEPTIONS
PROGRAM_ERROR
= 1
MAXIMUM_OF_APPENDS_REACHED = 2
OTHERS
= 3.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND'
EXPORTING
IS_LAYOUT
= L_LAYOUT_MAKT
IT_FIELDCAT
= IT_FIELDCAT_MAKT
I_TABNAME
= 'IT_MAKT'
IT_EVENTS
= GT_YEVENTS
TABLES
T_OUTTAB
= IT_MAKT
EXCEPTIONS
PROGRAM_ERROR
= 1
MAXIMUM_OF_APPENDS_REACHED = 2
OTHERS
= 3.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND'
EXPORTING
IS_LAYOUT
= L_LAYOUT_MARC
IT_FIELDCAT
= IT_FIELDCAT_MARC
I_TABNAME
= 'IT_MARC'
IT_EVENTS
= GT_YEVENTS
TABLES
T_OUTTAB
= IT_MARC
EXCEPTIONS
PROGRAM_ERROR
= 1
MAXIMUM_OF_APPENDS_REACHED = 2
OTHERS
= 3.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_DISPLAY'
EXPORTING
IS_PRINT = GT_PRINT.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDFORM.
"FINAL_DISPLAY