<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: using user_command in reuse_alv in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/using-user-command-in-reuse-alv/m-p/3774534#M908224</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;You can take the following approach to create multiple ALV in a single screen: &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PROCESSES: &lt;/P&gt;&lt;P&gt;1.	Declare two input table ( gt_ekko, gt_mara) . One for Purchase Order and One for material master.&lt;/P&gt;&lt;P&gt;2.	Retrive data: &lt;/P&gt;&lt;P&gt;1.	select records from ekko to gt_ekko&lt;/P&gt;&lt;P&gt;2.	select records from mara to gt_mara&lt;/P&gt;&lt;P&gt;3.	Declare two fieldcat table one for preparing the field catalog of purchase order and other for material master.&lt;/P&gt;&lt;P&gt;4.	Built those two field catalog:&lt;/P&gt;&lt;P&gt;1.	filedcatalog1 for purchase order&lt;/P&gt;&lt;P&gt;2.	fieldcatalog2 for material master&lt;/P&gt;&lt;P&gt;5.	Build the layout.&lt;/P&gt;&lt;P&gt;6.	Build event for the two alv&lt;/P&gt;&lt;P&gt;1.	events_ekko for events of ekko.&lt;/P&gt;&lt;P&gt;For  xs_event-form = 'TOP_OF_PAGE-EKKO'.&lt;/P&gt;&lt;P&gt;And xs_event-form =  &amp;#145;END_OF_LIST_EKKO'.&lt;/P&gt;&lt;P&gt;We have to build two form 'TOP_OF_PAGE-EKKO' and &amp;#145;END_OF_LIST_EKKO'.&lt;/P&gt;&lt;P&gt;2.	events_mara for events of mara.&lt;/P&gt;&lt;P&gt; For  xs_event-form = 'TOP_OF_LIST-MARA'.&lt;/P&gt;&lt;P&gt;And xs_event-form =  'TOP_OF_PAGE-MARA'.&lt;/P&gt;&lt;P&gt;We have to build two form 'TOP_OF_LIST-MARA'and 'TOP_OF_PAGE-MARA'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;7.	Call the following FM&amp;#146;s to display the ALVs:&lt;/P&gt;&lt;P&gt;1.	REUSE_ALV_BLOCK_LIST_INIT : Pass only the report id.&lt;/P&gt;&lt;P&gt;2.	REUSE_ALV_BLOCK_LIST_APPEND for ekko and pass &lt;/P&gt;&lt;P&gt;I.	Fommon layout&lt;/P&gt;&lt;P&gt;II.	Field catalof for ekko&lt;/P&gt;&lt;P&gt;III.	Input table name for ekko&lt;/P&gt;&lt;P&gt;IV.	Event table for ekko&lt;/P&gt;&lt;P&gt;V.	Input table ekko&lt;/P&gt;&lt;P&gt;3.	REUSE_ALV_BLOCK_LIST_APPEND for mara and pass &lt;/P&gt;&lt;P&gt;VI.	Fommon layout&lt;/P&gt;&lt;P&gt;VII.	Field catalof for mara&lt;/P&gt;&lt;P&gt;VIII.	Input table name for mara&lt;/P&gt;&lt;P&gt;IX.	Event table for mara&lt;/P&gt;&lt;P&gt;X.	Input table mara&lt;/P&gt;&lt;P&gt;4.	  REUSE_ALV_BLOCK_LIST_DISPLAY: Pass only is_print parameter.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;


REPORT  zdemoab.


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

*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  data_retrival
*&amp;amp;---------------------------------------------------------------------*

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
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  build_fieldcat
*&amp;amp;---------------------------------------------------------------------*

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
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  build_layout
*&amp;amp;---------------------------------------------------------------------*
FORM build_layout .
  gd_layout-no_input          = 'X'.
  gd_layout-colwidth_optimize = 'X'.
  gd_layout-totals_text       = 'Totals'(201).
ENDFORM.                    " build_layout
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  events_ekko
*&amp;amp;---------------------------------------------------------------------*

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

*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  TOP_OF_PAGE-EKKO
*&amp;amp;---------------------------------------------------------------------*

FORM top_of_page-ekko.
  WRITE: / 'TOP OF PAGE : Purchase Order'.
ENDFORM.                    "XTOP_OF_PAGE


*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  END_OF_LIST_EKKO
*&amp;amp;---------------------------------------------------------------------*

FORM end_of_list_ekko.
  WRITE: / 'end OF list : Purchase Order'.
ENDFORM.                    "END_OF_LIST_EKKO

*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  events_mara
*&amp;amp;---------------------------------------------------------------------*

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


*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  TOP_OF_LIST-MARA
*&amp;amp;---------------------------------------------------------------------*

FORM top_of_list-mara.
  WRITE: / 'TOP OF LIST : Material Master'.
ENDFORM.                    "TOP_OF_LIST-MARA



*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  END_OF_PAGE_MARA
*&amp;amp;---------------------------------------------------------------------*

FORM end_of_page_mara.
  WRITE: / 'End OF Page : Material Master'.
ENDFORM.                    "END_OF_PAGE_MARA

*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  display_alv_report
*&amp;amp;---------------------------------------------------------------------*

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 &amp;lt;&amp;gt; 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 &amp;lt;&amp;gt; 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

&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 28 Apr 2008 06:42:21 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2008-04-28T06:42:21Z</dc:date>
    <item>
      <title>using user_command in reuse_alv</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/using-user-command-in-reuse-alv/m-p/3774533#M908223</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hai ,&lt;/P&gt;&lt;P&gt;        please help to solve this prob. after i used layout-list_append = 'X '.&lt;/P&gt;&lt;P&gt;to out put 3 alv's in one page .  use user_command is not working is  their any possible way to do this .&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 28 Apr 2008 06:35:02 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/using-user-command-in-reuse-alv/m-p/3774533#M908223</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-04-28T06:35:02Z</dc:date>
    </item>
    <item>
      <title>Re: using user_command in reuse_alv</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/using-user-command-in-reuse-alv/m-p/3774534#M908224</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;You can take the following approach to create multiple ALV in a single screen: &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PROCESSES: &lt;/P&gt;&lt;P&gt;1.	Declare two input table ( gt_ekko, gt_mara) . One for Purchase Order and One for material master.&lt;/P&gt;&lt;P&gt;2.	Retrive data: &lt;/P&gt;&lt;P&gt;1.	select records from ekko to gt_ekko&lt;/P&gt;&lt;P&gt;2.	select records from mara to gt_mara&lt;/P&gt;&lt;P&gt;3.	Declare two fieldcat table one for preparing the field catalog of purchase order and other for material master.&lt;/P&gt;&lt;P&gt;4.	Built those two field catalog:&lt;/P&gt;&lt;P&gt;1.	filedcatalog1 for purchase order&lt;/P&gt;&lt;P&gt;2.	fieldcatalog2 for material master&lt;/P&gt;&lt;P&gt;5.	Build the layout.&lt;/P&gt;&lt;P&gt;6.	Build event for the two alv&lt;/P&gt;&lt;P&gt;1.	events_ekko for events of ekko.&lt;/P&gt;&lt;P&gt;For  xs_event-form = 'TOP_OF_PAGE-EKKO'.&lt;/P&gt;&lt;P&gt;And xs_event-form =  &amp;#145;END_OF_LIST_EKKO'.&lt;/P&gt;&lt;P&gt;We have to build two form 'TOP_OF_PAGE-EKKO' and &amp;#145;END_OF_LIST_EKKO'.&lt;/P&gt;&lt;P&gt;2.	events_mara for events of mara.&lt;/P&gt;&lt;P&gt; For  xs_event-form = 'TOP_OF_LIST-MARA'.&lt;/P&gt;&lt;P&gt;And xs_event-form =  'TOP_OF_PAGE-MARA'.&lt;/P&gt;&lt;P&gt;We have to build two form 'TOP_OF_LIST-MARA'and 'TOP_OF_PAGE-MARA'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;7.	Call the following FM&amp;#146;s to display the ALVs:&lt;/P&gt;&lt;P&gt;1.	REUSE_ALV_BLOCK_LIST_INIT : Pass only the report id.&lt;/P&gt;&lt;P&gt;2.	REUSE_ALV_BLOCK_LIST_APPEND for ekko and pass &lt;/P&gt;&lt;P&gt;I.	Fommon layout&lt;/P&gt;&lt;P&gt;II.	Field catalof for ekko&lt;/P&gt;&lt;P&gt;III.	Input table name for ekko&lt;/P&gt;&lt;P&gt;IV.	Event table for ekko&lt;/P&gt;&lt;P&gt;V.	Input table ekko&lt;/P&gt;&lt;P&gt;3.	REUSE_ALV_BLOCK_LIST_APPEND for mara and pass &lt;/P&gt;&lt;P&gt;VI.	Fommon layout&lt;/P&gt;&lt;P&gt;VII.	Field catalof for mara&lt;/P&gt;&lt;P&gt;VIII.	Input table name for mara&lt;/P&gt;&lt;P&gt;IX.	Event table for mara&lt;/P&gt;&lt;P&gt;X.	Input table mara&lt;/P&gt;&lt;P&gt;4.	  REUSE_ALV_BLOCK_LIST_DISPLAY: Pass only is_print parameter.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;


REPORT  zdemoab.


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

*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  data_retrival
*&amp;amp;---------------------------------------------------------------------*

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
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  build_fieldcat
*&amp;amp;---------------------------------------------------------------------*

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
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  build_layout
*&amp;amp;---------------------------------------------------------------------*
FORM build_layout .
  gd_layout-no_input          = 'X'.
  gd_layout-colwidth_optimize = 'X'.
  gd_layout-totals_text       = 'Totals'(201).
ENDFORM.                    " build_layout
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  events_ekko
*&amp;amp;---------------------------------------------------------------------*

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

*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  TOP_OF_PAGE-EKKO
*&amp;amp;---------------------------------------------------------------------*

FORM top_of_page-ekko.
  WRITE: / 'TOP OF PAGE : Purchase Order'.
ENDFORM.                    "XTOP_OF_PAGE


*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  END_OF_LIST_EKKO
*&amp;amp;---------------------------------------------------------------------*

FORM end_of_list_ekko.
  WRITE: / 'end OF list : Purchase Order'.
ENDFORM.                    "END_OF_LIST_EKKO

*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  events_mara
*&amp;amp;---------------------------------------------------------------------*

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


*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  TOP_OF_LIST-MARA
*&amp;amp;---------------------------------------------------------------------*

FORM top_of_list-mara.
  WRITE: / 'TOP OF LIST : Material Master'.
ENDFORM.                    "TOP_OF_LIST-MARA



*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  END_OF_PAGE_MARA
*&amp;amp;---------------------------------------------------------------------*

FORM end_of_page_mara.
  WRITE: / 'End OF Page : Material Master'.
ENDFORM.                    "END_OF_PAGE_MARA

*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  display_alv_report
*&amp;amp;---------------------------------------------------------------------*

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 &amp;lt;&amp;gt; 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 &amp;lt;&amp;gt; 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

&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 28 Apr 2008 06:42:21 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/using-user-command-in-reuse-alv/m-p/3774534#M908224</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-04-28T06:42:21Z</dc:date>
    </item>
  </channel>
</rss>

