Display Multiple lists under a same list display using FM: "REUSE_ALV_BLOCK_LIST_DISPLAY". We have to call four function modules in sequence to achieve this:
1)
REUSE_ALV_BLOCK_LIST_INIT2)
REUSE_ALV_BLOCK_LIST_APPEND3)then again
REUSE_ALV_BLOCK_LIST_APPEND4)At last
REUSE_ALV_BLOCK_LIST_DISPLAY1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157
|
REPORT zzsourav_multiple_list. TYPE-POOLS:slis.
DATA: v_repid TYPE syrepid, i_spfli TYPE STANDARD TABLE OF spfli INITIAL SIZE 0, i_scarr TYPE STANDARD TABLE OF scarr INITIAL SIZE 0, i_fcat1 TYPE slis_t_fieldcat_alv, i_fcat2 TYPE slis_t_fieldcat_alv, wa_layout1 TYPE slis_layout_alv, wa_layout2 TYPE slis_layout_alv, i_events1 TYPE slis_t_event, i_events2 TYPE slis_t_event.
INITIALIZATION. v_repid = sy-repid.
START-OF-SELECTION.
SELECT INTO TABLE i_spfli. IF sy-subrc <> 0. MESSAGE i001(00) WITH 'No data found!'. LEAVE LIST-PROCESSING. ENDIF.
SELECT INTO TABLE i_scarr.
IF sy-subrc <> 0. MESSAGE i001(00) WITH 'No data found!'. LEAVE LIST-PROCESSING. ENDIF.
CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE' EXPORTING i_program_name = v_repid i_internal_tabname = 'I_SCARR' i_structure_name = 'SCARR' i_client_never_display = 'X'
CHANGING ct_fieldcat = i_fcat1 EXCEPTIONS inconsistent_interface = 1 program_error = 2 OTHERS = 3 . IF sy-subrc <> 0. MESSAGE i001(00) WITH 'Unable to populate field-catalog!'. LEAVE LIST-PROCESSING. ENDIF.
CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE' EXPORTING i_program_name = v_repid i_internal_tabname = 'I_SPFLI' i_structure_name = 'SPFLI' i_client_never_display = 'X'
CHANGING ct_fieldcat = i_fcat2 EXCEPTIONS inconsistent_interface = 1 program_error = 2 OTHERS = 3 . IF sy-subrc <> 0. MESSAGE i001(00) WITH 'Unable to populate field-catalog!'. LEAVE LIST-PROCESSING. ENDIF.
END-OF-SELECTION. wa_layout1-colwidth_optimize = wa_layout2-colwidth_optimize = 'X'. wa_layout1-zebra = wa_layout2-zebra = 'X'.
CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_INIT' EXPORTING i_callback_program = v_repid
.
CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND' EXPORTING is_layout = wa_layout1 it_fieldcat = i_fcat1 i_tabname = 'I_SCARR' it_events = i_events1
TABLES t_outtab = i_scarr EXCEPTIONS program_error = 1 maximum_of_appends_reached = 2 OTHERS = 3 . IF sy-subrc <> 0.
ENDIF.
CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND' EXPORTING is_layout = wa_layout2 it_fieldcat = i_fcat2 i_tabname = 'I_SPFLI' it_events = i_events2
TABLES t_outtab = i_spfli EXCEPTIONS program_error = 1 maximum_of_appends_reached = 2 OTHERS = 3 . IF sy-subrc <> 0.
ENDIF.
CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_DISPLAY'
EXCEPTIONS program_error = 1 OTHERS = 2 . IF sy-subrc <> 0.
ENDIF.
|
The Output:
I am very thankful to you for publishing such a good & useful program.
ReplyDelete