‎2007 Aug 17 8:11 PM
Hi frnds,
Can i put 2 simple list into a block.. please tell me the possible solution...
‎2007 Aug 17 8:20 PM
plase check the fallowing code.it gives the two lists as blocked.
TYPE-POOLS:slis.
*internal table for purchase header.
DATA:BEGIN OF it_ekko OCCURS 0,
ebeln TYPE ekko-ebeln, "puchase document no
bukrs TYPE ekko-bukrs, "company code
bstyp TYPE ekko-bstyp, "puchase document category
bsart TYPE ekko-bsart, "Purchasing Document Type
bsakz TYPE ekko-bsakz, "Control indicator for purchasing document type
END OF it_ekko.
*internal table for purchase item
DATA:BEGIN OF it_ekpo OCCURS 0,
ebeln TYPE ekpo-ebeln, "Purchasing Document Numbe
loekz TYPE ekpo-loekz, "Deletion indicator in purchasing document
statu TYPE ekpo-statu, "RFQ status
aedat TYPE ekpo-aedat, "Purchasing document item change date
txz01 TYPE ekpo-txz01, "Short text
matnr TYPE ekpo-matnr, "Material Number
ematn TYPE ekpo-ematn, "Material number
END OF it_ekpo.
DATA:it_fcat1 TYPE slis_t_fieldcat_alv WITH HEADER LINE,
it_fcat2 TYPE slis_t_fieldcat_alv WITH HEADER LINE,
it_event1 TYPE slis_t_event,
it_event2 TYPE slis_t_event,
wa_event TYPE slis_alv_event,
it_layout TYPE slis_layout_alv.
*start-of-selection.
START-OF-SELECTION.
PERFORM get_data_ekko.
PERFORM get_data_ekpo.
PERFORM build_fieldcat_for_ekko_ekpo.
PERFORM layout_list.
PERFORM build_events.
PERFORM build_evnts_ekpo.
PERFORM display_two_lists.
&----
*& Form get_data_ekko
&----
text
FORM get_data_ekko .
SELECT ebeln
bukrs
bstyp
bsart
bsakz FROM ekko
INTO TABLE it_ekko
UP TO 15 ROWS.
IF sy-subrc = 0.
SORT it_ekko BY ebeln.
ENDIF.
ENDFORM. " get_data_ekko
&----
*& Form get_data_ekpo
&----
text
FORM get_data_ekpo .
SELECT ebeln
loekz
statu
aedat
txz01
matnr
ematn FROM ekpo
INTO TABLE it_ekpo
UP TO 10 ROWS.
IF sy-subrc = 0.
SORT it_ekpo BY ebeln.
ENDIF.
ENDFORM. " get_data_ekpo
&----
*& Form build_fieldcat_for_ekko_ekpo
&----
text
FORM build_fieldcat_for_ekko_ekpo .
CLEAR it_fcat1.
it_fcat1-fieldname = 'EBELN'.
it_fcat1-col_pos = '1'.
it_fcat1-tabname = 'EKKO'.
it_fcat1-seltext_l = 'puchase document no'.
APPEND it_fcat1.
CLEAR it_fcat1.
it_fcat1-fieldname = 'BUKRS'.
it_fcat1-col_pos = '2'.
it_fcat1-tabname = 'EKKO'.
it_fcat1-seltext_l = 'company code'.
APPEND it_fcat1.
CLEAR it_fcat1.
it_fcat1-fieldname = 'BSTYP'.
it_fcat1-col_pos = '3'.
it_fcat1-seltext_l = 'puchase document category'.
it_fcat1-tabname = 'EKKO'.
APPEND it_fcat1.
CLEAR it_fcat1.
it_fcat1-fieldname = 'BSART'.
it_fcat1-col_pos = '4'.
it_fcat1-tabname = 'EKKO'.
it_fcat1-seltext_l = 'Purchasing Document Type'.
APPEND it_fcat1.
CLEAR it_fcat1.
it_fcat1-fieldname = 'BSAKZ'.
it_fcat1-col_pos = '5'.
it_fcat1-tabname = 'EKKO'.
it_fcat1-seltext_l = 'Control indicator for pd type'.
APPEND it_fcat1.
CLEAR it_fcat1.
*FOR EKPO
CLEAR it_fcat2.
it_fcat2-fieldname = 'EBELN'.
it_fcat2-col_pos = '1'.
it_fcat2-seltext_l = 'puchase document no'.
it_fcat2-tabname = 'EKPO'.
APPEND it_fcat2.
CLEAR it_fcat2.
it_fcat2-fieldname = 'LOEKZ'.
it_fcat2-col_pos = '2'.
it_fcat2-tabname = 'EKPO'.
it_fcat2-seltext_l = 'Deletion indicator in pd'.
APPEND it_fcat2.
CLEAR it_fcat2.
it_fcat2-fieldname = 'STATU'.
it_fcat2-col_pos = '3'.
it_fcat2-tabname = 'EKPO'.
it_fcat2-seltext_l = 'RFQ status'.
APPEND it_fcat2.
CLEAR it_fcat2.
it_fcat2-fieldname = 'AEDAT'.
it_fcat2-col_pos = '4'.
it_fcat2-tabname = 'EKPO'.
it_fcat2-seltext_l = 'Purchasing document icd'.
APPEND it_fcat2.
CLEAR it_fcat2.
it_fcat2-fieldname = 'TXZ01'.
it_fcat2-col_pos = '5'.
it_fcat2-tabname = 'EKPO'.
it_fcat2-seltext_l = 'Short text'.
APPEND it_fcat2.
CLEAR it_fcat2.
it_fcat2-fieldname = 'MATNR'.
it_fcat2-col_pos = '6'.
it_fcat2-tabname = 'EKPO'.
it_fcat2-seltext_l = 'material no'.
APPEND it_fcat2.
CLEAR it_fcat2.
it_fcat2-fieldname = 'EMATN'.
it_fcat2-col_pos = '7'.
it_fcat2-tabname = 'EKPO'.
it_fcat2-seltext_l = 'material no'.
APPEND it_fcat2.
CLEAR it_fcat2.
ENDFORM. " build_fieldcat_for_ekko_ekpo
&----
*& Form build_events
&----
text
FORM build_events .
CLEAR wa_event.
wa_event-name = slis_ev_top_of_page.
wa_event-form = 'TOP_OF_PAGE-EKKO'.
APPEND wa_event TO it_event1.
CLEAR wa_event.
wa_event-name = slis_ev_end_of_list.
wa_event-form = 'END_OF_LIST-EKKO'.
APPEND wa_event TO it_event1.
ENDFORM. " build_events
&----
*& Form TOP_OF_PAGE-EKKO
&----
text
----
FORM TOP_OF_PAGE-EKKO.
WRITE:/ 'TOP OF PAGE:PURCHASE ORDER HEADER'.
ENDFORM. "TOP_OF_PAGE-EKKO
&----
*& Form END_OF_PAGE-EKKO
&----
text
----
FORM end_of_list-ekko.
WRITE:/ 'END OF PAGE:PURCHASE ORDER HEADER'.
ENDFORM. "END_OF_PAGE-EKKO
&----
*& Form display_two_lists
&----
text
FORM display_two_lists .
CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_INIT'
EXPORTING
i_callback_program = sy-repid.
CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND'
EXPORTING
is_layout = it_layout
it_fieldcat = it_fcat1[]
i_tabname = 'EKKO'
it_events = it_event1
IT_SORT = IT_SORT
I_TEXT = ' '
TABLES
t_outtab = it_ekko
EXCEPTIONS
PROGRAM_ERROR = 1
MAXIMUM_OF_APPENDS_REACHED = 2
OTHERS = 3
.
CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND'
EXPORTING
is_layout = it_layout
it_fieldcat = it_fcat2[]
i_tabname = 'EKPO'
it_events = it_event2
TABLES
t_outtab = it_ekpo
EXCEPTIONS
program_error = 1
maximum_of_appends_reached = 2
OTHERS = 3.
CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_DISPLAY'.
ENDFORM. " display_two_lists
&----
*& Form layout_list
&----
text
FORM layout_list .
it_layout-zebra = 'X'.
ENDFORM. " layout_list
&----
*& Form build_evnts_ekpo
&----
text
FORM build_evnts_ekpo .
CLEAR wa_event.
wa_event-name = slis_ev_top_of_page.
wa_event-form = 'TOP_OF_LIST-EKPO'.
APPEND wa_event TO it_event2.
CLEAR wa_event.
wa_event-name = slis_ev_end_of_list.
wa_event-form = 'END_OF_PAGE-EKPO'.
APPEND wa_event TO it_event2.
ENDFORM. " build_evnts_ekpo
&----
*& Form top_of_page-ekpo
&----
text
----
FORM top_of_list-ekpo.
WRITE:/ 'top-of-page:puchase document items'.
ENDFORM. "top_of_page-ekpo
&----
*& Form end_of_page-ekpo
&----
text
----
FORM end_of_page-ekpo.
WRITE:/ 'end-of-page:Puchase document item'.
ENDFORM. "end_of_page-ekpo
‎2007 Aug 17 8:13 PM
‎2007 Aug 17 8:19 PM
<a href="http://www.sap-img.com/abap/reuse-alv-block-list-display.htm">Bloced Alv REport</a>
‎2007 Aug 17 8:20 PM
plase check the fallowing code.it gives the two lists as blocked.
TYPE-POOLS:slis.
*internal table for purchase header.
DATA:BEGIN OF it_ekko OCCURS 0,
ebeln TYPE ekko-ebeln, "puchase document no
bukrs TYPE ekko-bukrs, "company code
bstyp TYPE ekko-bstyp, "puchase document category
bsart TYPE ekko-bsart, "Purchasing Document Type
bsakz TYPE ekko-bsakz, "Control indicator for purchasing document type
END OF it_ekko.
*internal table for purchase item
DATA:BEGIN OF it_ekpo OCCURS 0,
ebeln TYPE ekpo-ebeln, "Purchasing Document Numbe
loekz TYPE ekpo-loekz, "Deletion indicator in purchasing document
statu TYPE ekpo-statu, "RFQ status
aedat TYPE ekpo-aedat, "Purchasing document item change date
txz01 TYPE ekpo-txz01, "Short text
matnr TYPE ekpo-matnr, "Material Number
ematn TYPE ekpo-ematn, "Material number
END OF it_ekpo.
DATA:it_fcat1 TYPE slis_t_fieldcat_alv WITH HEADER LINE,
it_fcat2 TYPE slis_t_fieldcat_alv WITH HEADER LINE,
it_event1 TYPE slis_t_event,
it_event2 TYPE slis_t_event,
wa_event TYPE slis_alv_event,
it_layout TYPE slis_layout_alv.
*start-of-selection.
START-OF-SELECTION.
PERFORM get_data_ekko.
PERFORM get_data_ekpo.
PERFORM build_fieldcat_for_ekko_ekpo.
PERFORM layout_list.
PERFORM build_events.
PERFORM build_evnts_ekpo.
PERFORM display_two_lists.
&----
*& Form get_data_ekko
&----
text
FORM get_data_ekko .
SELECT ebeln
bukrs
bstyp
bsart
bsakz FROM ekko
INTO TABLE it_ekko
UP TO 15 ROWS.
IF sy-subrc = 0.
SORT it_ekko BY ebeln.
ENDIF.
ENDFORM. " get_data_ekko
&----
*& Form get_data_ekpo
&----
text
FORM get_data_ekpo .
SELECT ebeln
loekz
statu
aedat
txz01
matnr
ematn FROM ekpo
INTO TABLE it_ekpo
UP TO 10 ROWS.
IF sy-subrc = 0.
SORT it_ekpo BY ebeln.
ENDIF.
ENDFORM. " get_data_ekpo
&----
*& Form build_fieldcat_for_ekko_ekpo
&----
text
FORM build_fieldcat_for_ekko_ekpo .
CLEAR it_fcat1.
it_fcat1-fieldname = 'EBELN'.
it_fcat1-col_pos = '1'.
it_fcat1-tabname = 'EKKO'.
it_fcat1-seltext_l = 'puchase document no'.
APPEND it_fcat1.
CLEAR it_fcat1.
it_fcat1-fieldname = 'BUKRS'.
it_fcat1-col_pos = '2'.
it_fcat1-tabname = 'EKKO'.
it_fcat1-seltext_l = 'company code'.
APPEND it_fcat1.
CLEAR it_fcat1.
it_fcat1-fieldname = 'BSTYP'.
it_fcat1-col_pos = '3'.
it_fcat1-seltext_l = 'puchase document category'.
it_fcat1-tabname = 'EKKO'.
APPEND it_fcat1.
CLEAR it_fcat1.
it_fcat1-fieldname = 'BSART'.
it_fcat1-col_pos = '4'.
it_fcat1-tabname = 'EKKO'.
it_fcat1-seltext_l = 'Purchasing Document Type'.
APPEND it_fcat1.
CLEAR it_fcat1.
it_fcat1-fieldname = 'BSAKZ'.
it_fcat1-col_pos = '5'.
it_fcat1-tabname = 'EKKO'.
it_fcat1-seltext_l = 'Control indicator for pd type'.
APPEND it_fcat1.
CLEAR it_fcat1.
*FOR EKPO
CLEAR it_fcat2.
it_fcat2-fieldname = 'EBELN'.
it_fcat2-col_pos = '1'.
it_fcat2-seltext_l = 'puchase document no'.
it_fcat2-tabname = 'EKPO'.
APPEND it_fcat2.
CLEAR it_fcat2.
it_fcat2-fieldname = 'LOEKZ'.
it_fcat2-col_pos = '2'.
it_fcat2-tabname = 'EKPO'.
it_fcat2-seltext_l = 'Deletion indicator in pd'.
APPEND it_fcat2.
CLEAR it_fcat2.
it_fcat2-fieldname = 'STATU'.
it_fcat2-col_pos = '3'.
it_fcat2-tabname = 'EKPO'.
it_fcat2-seltext_l = 'RFQ status'.
APPEND it_fcat2.
CLEAR it_fcat2.
it_fcat2-fieldname = 'AEDAT'.
it_fcat2-col_pos = '4'.
it_fcat2-tabname = 'EKPO'.
it_fcat2-seltext_l = 'Purchasing document icd'.
APPEND it_fcat2.
CLEAR it_fcat2.
it_fcat2-fieldname = 'TXZ01'.
it_fcat2-col_pos = '5'.
it_fcat2-tabname = 'EKPO'.
it_fcat2-seltext_l = 'Short text'.
APPEND it_fcat2.
CLEAR it_fcat2.
it_fcat2-fieldname = 'MATNR'.
it_fcat2-col_pos = '6'.
it_fcat2-tabname = 'EKPO'.
it_fcat2-seltext_l = 'material no'.
APPEND it_fcat2.
CLEAR it_fcat2.
it_fcat2-fieldname = 'EMATN'.
it_fcat2-col_pos = '7'.
it_fcat2-tabname = 'EKPO'.
it_fcat2-seltext_l = 'material no'.
APPEND it_fcat2.
CLEAR it_fcat2.
ENDFORM. " build_fieldcat_for_ekko_ekpo
&----
*& Form build_events
&----
text
FORM build_events .
CLEAR wa_event.
wa_event-name = slis_ev_top_of_page.
wa_event-form = 'TOP_OF_PAGE-EKKO'.
APPEND wa_event TO it_event1.
CLEAR wa_event.
wa_event-name = slis_ev_end_of_list.
wa_event-form = 'END_OF_LIST-EKKO'.
APPEND wa_event TO it_event1.
ENDFORM. " build_events
&----
*& Form TOP_OF_PAGE-EKKO
&----
text
----
FORM TOP_OF_PAGE-EKKO.
WRITE:/ 'TOP OF PAGE:PURCHASE ORDER HEADER'.
ENDFORM. "TOP_OF_PAGE-EKKO
&----
*& Form END_OF_PAGE-EKKO
&----
text
----
FORM end_of_list-ekko.
WRITE:/ 'END OF PAGE:PURCHASE ORDER HEADER'.
ENDFORM. "END_OF_PAGE-EKKO
&----
*& Form display_two_lists
&----
text
FORM display_two_lists .
CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_INIT'
EXPORTING
i_callback_program = sy-repid.
CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND'
EXPORTING
is_layout = it_layout
it_fieldcat = it_fcat1[]
i_tabname = 'EKKO'
it_events = it_event1
IT_SORT = IT_SORT
I_TEXT = ' '
TABLES
t_outtab = it_ekko
EXCEPTIONS
PROGRAM_ERROR = 1
MAXIMUM_OF_APPENDS_REACHED = 2
OTHERS = 3
.
CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND'
EXPORTING
is_layout = it_layout
it_fieldcat = it_fcat2[]
i_tabname = 'EKPO'
it_events = it_event2
TABLES
t_outtab = it_ekpo
EXCEPTIONS
program_error = 1
maximum_of_appends_reached = 2
OTHERS = 3.
CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_DISPLAY'.
ENDFORM. " display_two_lists
&----
*& Form layout_list
&----
text
FORM layout_list .
it_layout-zebra = 'X'.
ENDFORM. " layout_list
&----
*& Form build_evnts_ekpo
&----
text
FORM build_evnts_ekpo .
CLEAR wa_event.
wa_event-name = slis_ev_top_of_page.
wa_event-form = 'TOP_OF_LIST-EKPO'.
APPEND wa_event TO it_event2.
CLEAR wa_event.
wa_event-name = slis_ev_end_of_list.
wa_event-form = 'END_OF_PAGE-EKPO'.
APPEND wa_event TO it_event2.
ENDFORM. " build_evnts_ekpo
&----
*& Form top_of_page-ekpo
&----
text
----
FORM top_of_list-ekpo.
WRITE:/ 'top-of-page:puchase document items'.
ENDFORM. "top_of_page-ekpo
&----
*& Form end_of_page-ekpo
&----
text
----
FORM end_of_page-ekpo.
WRITE:/ 'end-of-page:Puchase document item'.
ENDFORM. "end_of_page-ekpo
‎2007 Aug 17 8:24 PM
REPORT ztest1 .
TABLES: ekko, mara.
TYPE-POOLS: slis.
*Data Declaration
*----
TYPES: BEGIN OF t_ekko,
ebeln TYPE ekpo-ebeln,
ebelp TYPE ekpo-ebelp,
statu TYPE ekpo-statu,
aedat TYPE ekpo-aedat,
matnr TYPE ekpo-matnr,
menge TYPE ekpo-menge,
meins TYPE ekpo-meins,
netpr TYPE ekpo-netpr,
peinh TYPE ekpo-peinh,
END OF t_ekko.
TYPES: BEGIN OF t_mara,
matnr TYPE mara-matnr,
mtart TYPE mara-mtart,
matkl TYPE mara-matkl,
END OF t_mara.
DATA: it_ekko TYPE STANDARD TABLE OF t_ekko INITIAL SIZE 0,
it_mara TYPE STANDARD TABLE OF t_mara INITIAL SIZE 0.
*ALV data declarations
DATA: fieldcatalog1 TYPE slis_t_fieldcat_alv WITH HEADER LINE,
fieldcatalog2 TYPE slis_t_fieldcat_alv WITH HEADER LINE,
gd_layout TYPE slis_layout_alv,
gt_events_ekko TYPE slis_t_event,
xs_event TYPE slis_alv_event,
gt_events_mara TYPE slis_t_event,
gd_repid TYPE sy-repid,
gt_print TYPE slis_print_alv.
START-OF-SELECTION
START-OF-SELECTION.
PERFORM data_retrival.
PERFORM build_fieldcat.
PERFORM build_layout.
PERFORM events_ekko.
PERFORM events_mara.
PERFORM display_alv_report.
*SUBROUTINES
&----
*& Form data_retrival
&----
FORM data_retrival .
SELECT ebeln ebelp statu aedat matnr menge meins netpr peinh
UP TO 10 ROWS
FROM ekpo
INTO TABLE it_ekko.
SELECT matnr mtart matkl
UP TO 10 ROWS
FROM mara
INTO TABLE it_mara.
ENDFORM. " data_retrival
&----
*& Form build_fieldcat
&----
FORM build_fieldcat .
FOR EKKO
fieldcatalog1-fieldname = 'EBELN'.
fieldcatalog1-seltext_m = 'Purchase Order'.
fieldcatalog1-col_pos = 0.
fieldcatalog1-outputlen = 10.
fieldcatalog1-emphasize = 'X'.
fieldcatalog1-key = 'X'.
APPEND fieldcatalog1 TO fieldcatalog1.
CLEAR fieldcatalog1.
fieldcatalog1-fieldname = 'EBELP'.
fieldcatalog1-seltext_m = 'PO Item'.
fieldcatalog1-col_pos = 1.
APPEND fieldcatalog1 TO fieldcatalog1.
CLEAR fieldcatalog1.
fieldcatalog1-fieldname = 'STATU'.
fieldcatalog1-seltext_m = 'Status'.
fieldcatalog1-col_pos = 2.
APPEND fieldcatalog1 TO fieldcatalog1.
CLEAR fieldcatalog1.
fieldcatalog1-fieldname = 'AEDAT'.
fieldcatalog1-seltext_m = 'Item change date'.
fieldcatalog1-col_pos = 3.
APPEND fieldcatalog1 TO fieldcatalog1.
CLEAR fieldcatalog1.
fieldcatalog1-fieldname = 'MATNR'.
fieldcatalog1-seltext_m = 'Material Number'.
fieldcatalog1-col_pos = 4.
APPEND fieldcatalog1 TO fieldcatalog1.
CLEAR fieldcatalog1.
fieldcatalog1-fieldname = 'MENGE'.
fieldcatalog1-seltext_m = 'PO quantity'.
fieldcatalog1-col_pos = 5.
APPEND fieldcatalog1 TO fieldcatalog1.
CLEAR fieldcatalog1.
fieldcatalog1-fieldname = 'MEINS'.
fieldcatalog1-seltext_m = 'Order Unit'.
fieldcatalog1-col_pos = 6.
APPEND fieldcatalog1 TO fieldcatalog1.
CLEAR fieldcatalog1.
fieldcatalog1-fieldname = 'NETPR'.
fieldcatalog1-seltext_m = 'Net Price'.
fieldcatalog1-col_pos = 7.
fieldcatalog1-outputlen = 15.
fieldcatalog1-do_sum = 'X'. "Display column total
fieldcatalog1-datatype = 'CURR'.
APPEND fieldcatalog1 TO fieldcatalog1.
CLEAR fieldcatalog1.
fieldcatalog1-fieldname = 'PEINH'.
fieldcatalog1-seltext_m = 'Price Unit'.
fieldcatalog1-col_pos = 8.
APPEND fieldcatalog1 TO fieldcatalog1.
CLEAR fieldcatalog1.
FOR MARA
fieldcatalog2-fieldname = 'MATNR'.
fieldcatalog2-seltext_m = 'Material No'.
fieldcatalog2-col_pos = 0.
fieldcatalog2-outputlen = 10.
fieldcatalog2-emphasize = 'X'.
fieldcatalog2-key = 'X'.
APPEND fieldcatalog2 TO fieldcatalog2.
CLEAR fieldcatalog1.
fieldcatalog2-fieldname = 'MTART'.
fieldcatalog2-seltext_m = 'Material type'.
fieldcatalog2-col_pos = 1.
APPEND fieldcatalog2 TO fieldcatalog2.
CLEAR fieldcatalog2.
fieldcatalog2-fieldname = 'MATKL'.
fieldcatalog2-seltext_m = 'Material Group'.
fieldcatalog2-col_pos = 2.
APPEND fieldcatalog2 TO fieldcatalog2.
CLEAR fieldcatalog2.
ENDFORM. " build_fieldcat
&----
*& Form build_layout
&----
FORM build_layout .
gd_layout-no_input = 'X'.
gd_layout-colwidth_optimize = 'X'.
gd_layout-totals_text = 'Totals'(201).
ENDFORM. " build_layout
&----
*& Form events_ekko
&----
FORM events_ekko .
CLEAR xs_event.
xs_event-name = slis_ev_top_of_page.
xs_event-form = 'TOP_OF_PAGE-EKKO'.
APPEND xs_event TO gt_events_ekko.
CLEAR xs_event.
xs_event-name = slis_ev_end_of_list.
xs_event-form = 'END_OF_LIST_EKKO'.
APPEND xs_event TO gt_events_ekko.
ENDFORM. " events_ekko
&----
*& Form TOP_OF_PAGE-EKKO
&----
FORM top_of_page-ekko.
WRITE: / 'TOP OF PAGE : Purchase Order'.
ENDFORM. "XTOP_OF_PAGE
&----
*& Form END_OF_LIST_EKKO
&----
FORM end_of_list_ekko.
WRITE: / 'end OF list : Purchase Order'.
ENDFORM. "END_OF_LIST_EKKO
&----
*& Form events_mara
&----
FORM events_mara .
CLEAR xs_event.
xs_event-name = slis_ev_top_of_list.
xs_event-form = 'TOP_OF_LIST-MARA'.
APPEND xs_event TO gt_events_mara.
CLEAR xs_event.
xs_event-name = slis_ev_end_of_page.
xs_event-form = 'END_OF_PAGE_MARA'.
APPEND xs_event TO gt_events_mara.
ENDFORM. "events_mara
&----
*& Form TOP_OF_LIST-MARA
&----
FORM top_of_list-mara.
WRITE: / 'TOP OF LIST : Material Master'.
ENDFORM. "TOP_OF_LIST-MARA
&----
*& Form END_OF_PAGE_MARA
&----
FORM end_of_page_mara.
WRITE: / 'End OF Page : Material Master'.
ENDFORM. "END_OF_PAGE_MARA
&----
*& Form display_alv_report
&----
FORM display_alv_report .
gd_repid = sy-repid.
CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_INIT'
EXPORTING
i_callback_program = sy-repid.
CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND'
EXPORTING
is_layout = gd_layout
it_fieldcat = fieldcatalog1[]
i_tabname = 'it_ekko'
it_events = gt_events_ekko
TABLES
t_outtab = it_ekko
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 = gd_layout
it_fieldcat = fieldcatalog2[]
i_tabname = 'it_mara'
it_events = gt_events_mara
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.
gt_print-reserve_lines = 2.
CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_DISPLAY'
EXPORTING
is_print = gt_print.
ENDFORM. " display_alv_report