<?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: Existing Function module for my requirement in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/existing-function-module-for-my-requirement/m-p/2340131#M515650</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Santosh&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The following report shows in the first ALV grid the selected sales document. Using a double-click the status of the sales document are selected and displayed in the second ALV grid. The hotspot leads you to VA03.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Please note that the status selection is somewhat crude and should be optimized (e.g. using the fm proposed by Anji).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;*&amp;amp;---------------------------------------------------------------------*
*&amp;amp; Report  ZUS_SDN_TWO_ALV_GRIDS_5
*&amp;amp;
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;
*&amp;amp;
*&amp;amp;---------------------------------------------------------------------*

REPORT  zus_sdn_two_alv_grids_5.



TYPE-POOLS: abap.



TABLES:  vbak.


DATA:
  gd_okcode        TYPE ui_func,
*
  go_docking       TYPE REF TO cl_gui_docking_container,
  go_splitter      TYPE REF TO cl_gui_splitter_container,
  go_cell_top      TYPE REF TO cl_gui_container,
  go_cell_bottom   TYPE REF TO cl_gui_container,
  go_grid1         TYPE REF TO cl_gui_alv_grid,
  go_grid2         TYPE REF TO cl_gui_alv_grid,
  gs_layout        TYPE lvc_s_layo.


DATA:
  gt_outtab        TYPE STANDARD TABLE OF vbak,
  gt_status        TYPE STANDARD TABLE OF jest.





*---------------------------------------------------------------------*
*       CLASS lcl_eventhandler DEFINITION
*---------------------------------------------------------------------*
*
*---------------------------------------------------------------------*
CLASS lcl_eventhandler DEFINITION.

  PUBLIC SECTION.
    CLASS-METHODS:
      handle_hotspot_click FOR EVENT hotspot_click OF cl_gui_alv_grid
        IMPORTING
          e_row_id
          e_column_id
          es_row_no
          sender,


      handle_double_click FOR EVENT double_click OF cl_gui_alv_grid
        IMPORTING
          e_row
          e_column
          es_row_no
          sender.


ENDCLASS.                    "lcl_eventhandler DEFINITION



*---------------------------------------------------------------------*
*       CLASS lcl_eventhandler IMPLEMENTATION
*---------------------------------------------------------------------*
*
*---------------------------------------------------------------------*
CLASS lcl_eventhandler IMPLEMENTATION.

  METHOD handle_hotspot_click.
*   define local data
    DATA:
      ls_outtab   LIKE LINE OF gt_outtab,
      ls_col_id   TYPE lvc_s_col.

    READ TABLE gt_outtab INTO ls_outtab INDEX e_row_id-index.
    CHECK ( ls_outtab-vbeln IS NOT INITIAL ).

    CASE e_column_id-fieldname.
      WHEN 'VBELN'.
        SET PARAMETER ID 'AUN' FIELD ls_outtab-vbeln.

        CALL TRANSACTION 'VA03' AND SKIP FIRST SCREEN.


      WHEN OTHERS.
*       do nothing
    ENDCASE.




***   Set active cell to field BUKRS otherwise the focus is still on
***   field KUNNR which will always raise event HOTSPOT_CLICK
**    ls_col_id-fieldname = 'BUKRS'.
**    CALL METHOD go_grid1-&amp;gt;set_current_cell_via_id
**      EXPORTING
**        is_row_id    = e_row_id
**        is_column_id = ls_col_id.



  ENDMETHOD.                    "handle_hotspot_click


  METHOD handle_double_click.
*   define local data
    DATA:
      ls_outtab      LIKE LINE OF gt_outtab.

    CHECK ( sender = go_grid1 ).

    READ TABLE gt_outtab INTO ls_outtab INDEX e_row-index.
    CHECK ( ls_outtab-vbeln IS NOT INITIAL ).

**    CALL METHOD go_grid1-&amp;gt;set_current_cell_via_id
**      EXPORTING
***        IS_ROW_ID    =
***        IS_COLUMN_ID =
**        is_row_no    = es_row_no.


*   Triggers PAI of the dynpro with the specified ok-code
    CALL METHOD cl_gui_cfw=&amp;gt;set_new_ok_code( 'DETAIL' ).



  ENDMETHOD.                    "handle_double_click

ENDCLASS.                    "lcl_eventhandler IMPLEMENTATION




SELECT-OPTIONS:
  o_auart    FOR vbak-auart  DEFAULT 'OR'.



START-OF-SELECTION.


* Select sales orders
  SELECT        * FROM  vbak INTO TABLE gt_outtab
    WHERE auart IN o_auart.


* Create docking container
  CREATE OBJECT go_docking
    EXPORTING
      parent                      = cl_gui_container=&amp;gt;screen0
      ratio                       = 90
    EXCEPTIONS
      OTHERS                      = 6.
  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.


* Create splitter container
  CREATE OBJECT go_splitter
    EXPORTING
      parent            = go_docking
      rows              = 2
      columns           = 1
*      NO_AUTODEF_PROGID_DYNNR =
*      NAME              =
    EXCEPTIONS
      cntl_error        = 1
      cntl_system_error = 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.

* Get cell container
  CALL METHOD go_splitter-&amp;gt;get_container
    EXPORTING
      row       = 1
      column    = 1
    RECEIVING
      container = go_cell_top.
  CALL METHOD go_splitter-&amp;gt;get_container
    EXPORTING
      row       = 2
      column    = 1
    RECEIVING
      container = go_cell_bottom.

* Create ALV grids
  CREATE OBJECT go_grid1
    EXPORTING
      i_parent          = go_cell_top
    EXCEPTIONS
      OTHERS            = 5.
  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.


* Set event handler
  SET HANDLER:
    lcl_eventhandler=&amp;gt;handle_double_click  FOR go_grid1,
    lcl_eventhandler=&amp;gt;handle_hotspot_click FOR go_grid1.


  CREATE OBJECT go_grid2
    EXPORTING
      i_parent          = go_cell_bottom
    EXCEPTIONS
      OTHERS            = 5.
  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.


* Display data
  gs_layout-grid_title = 'Sales Orders'.
  CALL METHOD go_grid1-&amp;gt;set_table_for_first_display
    EXPORTING
      i_structure_name = 'VBAK'
      is_layout        = gs_layout
    CHANGING
      it_outtab        = gt_outtab
    EXCEPTIONS
      OTHERS           = 4.
  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.

  PERFORM modify_fieldcatalog.


  gs_layout-grid_title = 'Status of Sales Order'.
  CALL METHOD go_grid2-&amp;gt;set_table_for_first_display
    EXPORTING
      i_structure_name = 'JEST'
      is_layout        = gs_layout
    CHANGING
      it_outtab        = gt_status  " empty !!!
    EXCEPTIONS
      OTHERS           = 4.
  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.


* Link the docking container to the target dynpro
  CALL METHOD go_docking-&amp;gt;link
    EXPORTING
      repid                       = syst-repid
      dynnr                       = '0100'
*      CONTAINER                   =
    EXCEPTIONS
      OTHERS                      = 4.
  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.


* NOTE: dynpro does not contain any elements
  CALL SCREEN '0100'.
* Flow logic of dynpro (does not contain any dynpro elements,
* ok-code field = gd_okcode):
*
*PROCESS BEFORE OUTPUT.
*  MODULE STATUS_0100.
**
*PROCESS AFTER INPUT.
*  MODULE USER_COMMAND_0100.



END-OF-SELECTION.

*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Module  STATUS_0100  OUTPUT
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
MODULE status_0100 OUTPUT.
  SET PF-STATUS 'STATUS_0100'.  " contains push button "DETAIL"
*  SET TITLEBAR 'xxx'.


* Refresh display of detail ALV list
  CALL METHOD go_grid2-&amp;gt;refresh_table_display
*    EXPORTING
*      IS_STABLE      =
*      I_SOFT_REFRESH =
    EXCEPTIONS
      OTHERS         = 2.
  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.


ENDMODULE.                 " STATUS_0100  OUTPUT

*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Module  USER_COMMAND_0100  INPUT
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
MODULE user_command_0100 INPUT.

  CASE gd_okcode.
    WHEN 'BACK' OR
         'END'  OR
         'CANC'.
      SET SCREEN 0. LEAVE SCREEN.

*   User has pushed button "Display Details"
    WHEN 'DETAIL'.
      PERFORM entry_show_details.

    WHEN OTHERS.
  ENDCASE.

  CLEAR: gd_okcode.

ENDMODULE.                 " USER_COMMAND_0100  INPUT

*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  ENTRY_SHOW_DETAILS
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  --&amp;gt;  p1        text
*  &amp;lt;--  p2        text
*----------------------------------------------------------------------*
FORM entry_show_details .
* define local data
  CONSTANTS:
    lc_posnr_dummy  TYPE ionra-posnr  VALUE '999999'.

  DATA:
    ld_row      TYPE i,
    ls_outtab   LIKE LINE OF gt_outtab,
    ld_title    TYPE lvc_title.

  DATA:
    lt_objnr    TYPE TABLE OF jsto_pre.


  CALL METHOD go_grid1-&amp;gt;get_current_cell
    IMPORTING
      e_row = ld_row.

  REFRESH: gt_status.

  READ TABLE gt_outtab INTO ls_outtab INDEX ld_row.
  CHECK ( syst-subrc = 0 ).

**  CALL FUNCTION 'BAPI_SALESORDER_GETSTATUS'
**    EXPORTING
**      salesdocument       = ls_outtab-vbeln
***   IMPORTING
***     RETURN              =
**    TABLES
**      statusinfo          = gt_status.

  IF ( ls_outtab-objnr IS INITIAL ).
    CALL FUNCTION 'OBJECT_NUMBER_DETERMINE_VB'
      EXPORTING
        posnr = lc_posnr_dummy
        vbeln = ls_outtab-vbeln
      IMPORTING
        objnr = ls_outtab-objnr.
  ENDIF.

  REPLACE lc_posnr_dummy WITH '%' INTO ls_outtab-objnr.
  SELECT * FROM jest INTO TABLE gt_status
    WHERE objnr LIKE ls_outtab-objnr.


  

**  APPEND ls_outtab-objnr TO lt_objnr.
**  CALL FUNCTION 'STATUS_READ_MULTI'
***   EXPORTING
***     CLIENT                     = SY-MANDT
***     ONLY_ACTIVE                = ' '
***     ALL_IN_BUFFER              = ' '
***     GET_CHANGE_DOCUMENTS       = ' '
***     NO_BUFFER_FILL             = ' '
**    TABLES
**      objnr_tab                  = lt_objnr
**      status                     = gt_status
***     JSTO_TAB                   =
***     JCDO_TAB                   =
***     JCDS_TAB                   =
**            .


  CONCATENATE 'Status of Sales Order' ls_outtab-vbeln
    INTO ld_title
    SEPARATED BY space.

  go_grid2-&amp;gt;set_gridtitle( ld_title ).



ENDFORM.                    " ENTRY_SHOW_DETAILS


*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  MODIFY_FIELDCATALOG
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  --&amp;gt;  p1        text
*  &amp;lt;--  p2        text
*----------------------------------------------------------------------*
FORM modify_fieldcatalog .
* define local data
  DATA:
    ls_fcat      TYPE lvc_s_fcat,
    lt_fcat      TYPE lvc_t_fcat.

  CALL METHOD go_grid1-&amp;gt;get_frontend_fieldcatalog
    IMPORTING
      et_fieldcatalog = lt_fcat.

  LOOP AT lt_fcat INTO ls_fcat
                  WHERE ( fieldname = 'VBELN' ).
    ls_fcat-hotspot = abap_true.
    MODIFY lt_fcat FROM ls_fcat.
  ENDLOOP.

  go_grid1-&amp;gt;set_frontend_fieldcatalog( lt_fcat ).
  go_grid1-&amp;gt;refresh_table_display( ).


ENDFORM.                    " MODIFY_FIELDCATALOG&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;  Uwe&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 05 Jun 2007 11:16:30 GMT</pubDate>
    <dc:creator>uwe_schieferstein</dc:creator>
    <dc:date>2007-06-05T11:16:30Z</dc:date>
    <item>
      <title>Existing Function module for my requirement</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/existing-function-module-for-my-requirement/m-p/2340127#M515646</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;My reuirement is as follows,&lt;/P&gt;&lt;P&gt;1) Enter the Sales order number in the selection screen.&lt;/P&gt;&lt;P&gt;2) Get the sales order Object number from the Objnr field of VBAK.&lt;/P&gt;&lt;P&gt;3) using the Objnr field, read the status of the sales order using the Function Module.&lt;/P&gt;&lt;P&gt;4) Display the status of the sales order in an ALV output.&lt;/P&gt;&lt;P&gt;5) Click on the Sales order number and display the sales order details using the transaction VA03.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Please help me out for function module to read d status of sales order,N also send me the steps to create my ALV report.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Tanx,&lt;/P&gt;&lt;P&gt;Santu.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 05 Jun 2007 10:17:07 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/existing-function-module-for-my-requirement/m-p/2340127#M515646</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-06-05T10:17:07Z</dc:date>
    </item>
    <item>
      <title>Re: Existing Function module for my requirement</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/existing-function-module-for-my-requirement/m-p/2340128#M515647</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi&lt;/P&gt;&lt;P&gt;As I told already take the OBJNR field in Sales order table VBAK and pass it to &amp;lt;b&amp;gt;JEST&amp;lt;/b&amp;gt; table and Take the description of that Status from &amp;lt;b&amp;gt;TJ02T&amp;lt;/b&amp;gt; table.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Design the Internal table by fetching the data from VBAK and VBAP tables and build the field catalog and display the ALV using the int table&lt;/P&gt;&lt;P&gt;se the sample table and the hight lighed portion for calling the transaction&lt;/P&gt;&lt;P&gt;REPORT YMS_BLOCKLISTALV .&lt;/P&gt;&lt;P&gt;TYPE-POOLS: slis. " ALV Global types&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN :&lt;/P&gt;&lt;P&gt;SKIP,&lt;/P&gt;&lt;P&gt;BEGIN OF LINE,&lt;/P&gt;&lt;P&gt;COMMENT 5(27) v_1 FOR FIELD p_max. "#EC NEEDED&lt;/P&gt;&lt;P&gt;PARAMETERS p_max(2) TYPE n DEFAULT '02' OBLIGATORY.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF LINE.&lt;/P&gt;&lt;P&gt;DATA:&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;1st Table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;BEGIN OF gt_kna1 OCCURS 0, " Data displayed&lt;/P&gt;&lt;P&gt;kunnr LIKE kna1-kunnr, " Customer number&lt;/P&gt;&lt;P&gt;ernam LIKE kna1-ernam, " Name of Person who Created&lt;/P&gt;&lt;P&gt;erdat LIKE kna1-erdat, " Creation date&lt;/P&gt;&lt;P&gt;name1 LIKE kna1-name1, " Name 1&lt;/P&gt;&lt;P&gt;END OF gt_kna1,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;2nd Table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;BEGIN OF gt_mara OCCURS 0,&lt;/P&gt;&lt;P&gt;ernam LIKE mara-ernam, " Name of Person who Created&lt;/P&gt;&lt;P&gt;matnr LIKE mara-matnr, " Material number&lt;/P&gt;&lt;P&gt;ersda LIKE mara-ersda, " Creation date&lt;/P&gt;&lt;P&gt;brgew LIKE mara-brgew, " Gross weight&lt;/P&gt;&lt;P&gt;END OF gt_mara,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;3rd Table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;BEGIN OF gt_vbak OCCURS 0,&lt;/P&gt;&lt;P&gt;vkorg LIKE vbak-vkorg, " Sales organization&lt;/P&gt;&lt;P&gt;kunnr LIKE vbak-kunnr, " Sold-to party&lt;/P&gt;&lt;P&gt;vbeln LIKE vbak-vbeln, " Sales document&lt;/P&gt;&lt;P&gt;netwr LIKE vbak-netwr, " Net Value of the Sales Order&lt;/P&gt;&lt;P&gt;waerk LIKE vbak-waerk, " SD document currency&lt;/P&gt;&lt;P&gt;END OF gt_vbak.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;INITIALIZATION.&lt;/P&gt;&lt;P&gt;v_1 = 'Maximum of records to read'.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Read data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;SELECT * FROM kna1&lt;/P&gt;&lt;P&gt;UP TO p_max ROWS&lt;/P&gt;&lt;P&gt;INTO CORRESPONDING FIELDS OF TABLE gt_kna1.&lt;/P&gt;&lt;P&gt;SELECT * FROM mara&lt;/P&gt;&lt;P&gt;UP TO p_max ROWS&lt;/P&gt;&lt;P&gt;INTO CORRESPONDING FIELDS OF TABLE gt_mara.&lt;/P&gt;&lt;P&gt;SELECT * FROM vbak&lt;/P&gt;&lt;P&gt;UP TO p_max ROWS&lt;/P&gt;&lt;P&gt;INTO CORRESPONDING FIELDS OF TABLE gt_vbak.&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_INIT'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;i_callback_program = sy-cprog&lt;/P&gt;&lt;P&gt;i_callback_user_command = 'USER_COMMAND'.&lt;/P&gt;&lt;P&gt;PERFORM list_append TABLES gt_kna1&lt;/P&gt;&lt;P&gt;USING '1'&lt;/P&gt;&lt;P&gt;'GT_KNA1'.&lt;/P&gt;&lt;P&gt;PERFORM list_append TABLES gt_mara&lt;/P&gt;&lt;P&gt;USING '2'&lt;/P&gt;&lt;P&gt;'GT_MARA'.&lt;/P&gt;&lt;P&gt;PERFORM list_append TABLES gt_vbak&lt;/P&gt;&lt;P&gt;USING '3'&lt;/P&gt;&lt;P&gt;'GT_VBAK'.&lt;/P&gt;&lt;P&gt;PERFORM f_list_display.&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FORM USER_COMMAND *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM user_command USING i_ucomm LIKE sy-ucomm&lt;/P&gt;&lt;P&gt;is_selfield TYPE slis_selfield. "#EC CALLED&lt;/P&gt;&lt;P&gt;CASE i_ucomm.&lt;/P&gt;&lt;P&gt;WHEN '&amp;amp;IC1'. " Pick&lt;/P&gt;&lt;P&gt;CASE is_selfield-tabname.&lt;/P&gt;&lt;P&gt;WHEN 'GT_MARA'.&lt;/P&gt;&lt;P&gt;WHEN 'GT_KNA1'.&lt;/P&gt;&lt;P&gt;WHEN 'GT_VBAK'.&lt;/P&gt;&lt;P&gt;READ TABLE gt_vbak INDEX is_selfield-tabindex.&lt;/P&gt;&lt;P&gt;IF sy-subrc EQ 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Sales order number&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;SET PARAMETER ID 'AUN' FIELD gt_vbak-vbeln.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Display Sales Order&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;CALL TRANSACTION 'VA03' AND SKIP FIRST SCREEN.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDCASE.&lt;/P&gt;&lt;P&gt;ENDCASE.&lt;/P&gt;&lt;P&gt;ENDFORM. " USER_COMMAND&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*/div&amp;gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Form list_append&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM list_append TABLES ut_table&lt;/P&gt;&lt;P&gt;USING u_no TYPE char1&lt;/P&gt;&lt;P&gt;u_tabname TYPE slis_tabname.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Macro definition&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DEFINE m_fieldcat.&lt;/P&gt;&lt;P&gt;ls_fieldcat-fieldname = &amp;amp;1.&lt;/P&gt;&lt;P&gt;ls_fieldcat-ref_tabname = &amp;amp;2.&lt;/P&gt;&lt;P&gt;append ls_fieldcat to lt_fieldcat.&lt;/P&gt;&lt;P&gt;END-OF-DEFINITION.&lt;/P&gt;&lt;P&gt;DEFINE m_sort.&lt;/P&gt;&lt;P&gt;ls_sort-fieldname = &amp;amp;1.&lt;/P&gt;&lt;P&gt;ls_sort-up = 'X'.&lt;/P&gt;&lt;P&gt;append ls_sort to lt_sort.&lt;/P&gt;&lt;P&gt;END-OF-DEFINITION.&lt;/P&gt;&lt;P&gt;DATA :&lt;/P&gt;&lt;P&gt;ls_fieldcat TYPE slis_fieldcat_alv,&lt;/P&gt;&lt;P&gt;lt_fieldcat TYPE slis_t_fieldcat_alv, " Field catalog&lt;/P&gt;&lt;P&gt;ls_sort TYPE slis_sortinfo_alv,&lt;/P&gt;&lt;P&gt;lt_sort TYPE slis_t_sortinfo_alv. " Sort table&lt;/P&gt;&lt;P&gt;DATA:&lt;/P&gt;&lt;P&gt;lt_events TYPE slis_t_event,&lt;/P&gt;&lt;P&gt;ls_event TYPE slis_alv_event,&lt;/P&gt;&lt;P&gt;ls_layout TYPE slis_layout_alv.&lt;/P&gt;&lt;P&gt;ls_layout-group_change_edit = 'X'.&lt;/P&gt;&lt;P&gt;ls_layout-colwidth_optimize = 'X'.&lt;/P&gt;&lt;P&gt;ls_layout-zebra = 'X'.&lt;/P&gt;&lt;P&gt;ls_layout-detail_popup = 'X'.&lt;/P&gt;&lt;P&gt;ls_layout-get_selinfos = 'X'.&lt;/P&gt;&lt;P&gt;ls_layout-max_linesize = '200'.&lt;/P&gt;&lt;P&gt;CASE u_no.&lt;/P&gt;&lt;P&gt;WHEN '1'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Build field catalog and sort table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;m_fieldcat 'KUNNR' 'KNA1'.&lt;/P&gt;&lt;P&gt;m_fieldcat 'ERNAM' 'KNA1'.&lt;/P&gt;&lt;P&gt;m_fieldcat 'ERDAT' 'KNA1'.&lt;/P&gt;&lt;P&gt;m_fieldcat 'NAME1' 'KNA1'.&lt;/P&gt;&lt;P&gt;m_sort 'KUNNR'.&lt;/P&gt;&lt;P&gt;WHEN '2'.&lt;/P&gt;&lt;P&gt;m_fieldcat 'MATNR' 'MARA'.&lt;/P&gt;&lt;P&gt;m_fieldcat 'ERNAM' 'MARA'.&lt;/P&gt;&lt;P&gt;m_fieldcat 'ERSDA' 'MARA'.&lt;/P&gt;&lt;P&gt;m_fieldcat 'BRGEW' 'MARA'.&lt;/P&gt;&lt;P&gt;m_sort 'MATNR'.&lt;/P&gt;&lt;P&gt;WHEN '3'.&lt;/P&gt;&lt;P&gt;m_fieldcat 'VBELN' 'VBAK'.&lt;/P&gt;&lt;P&gt;m_fieldcat 'VKORG' 'VBAK'.&lt;/P&gt;&lt;P&gt;m_fieldcat 'KUNNR' 'VBAK'.&lt;/P&gt;&lt;P&gt;m_fieldcat 'NETWR' 'VBAK'.&lt;/P&gt;&lt;P&gt;m_fieldcat 'WAERK' 'VBAK'.&lt;/P&gt;&lt;P&gt;m_sort 'VBELN'.&lt;/P&gt;&lt;P&gt;ENDCASE.&lt;/P&gt;&lt;P&gt;IF u_no CA '13'.&lt;/P&gt;&lt;P&gt;MOVE 'TOP_OF_PAGE' TO ls_event-name.&lt;/P&gt;&lt;P&gt;CONCATENATE 'TOP_OF_PAGE' u_no INTO ls_event-form.&lt;/P&gt;&lt;P&gt;APPEND ls_event TO lt_events.&lt;/P&gt;&lt;P&gt;ELSE.&lt;/P&gt;&lt;P&gt;MOVE 'TOP_OF_LIST' TO ls_event-name.&lt;/P&gt;&lt;P&gt;CONCATENATE 'TOP_OF_LIST' u_no INTO ls_event-form.&lt;/P&gt;&lt;P&gt;APPEND ls_event TO lt_events.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;it_fieldcat = lt_fieldcat&lt;/P&gt;&lt;P&gt;is_layout = ls_layout&lt;/P&gt;&lt;P&gt;i_tabname = u_tabname&lt;/P&gt;&lt;P&gt;it_events = lt_events&lt;/P&gt;&lt;P&gt;it_sort = lt_sort&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;i_text =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;TABLES&lt;/P&gt;&lt;P&gt;t_outtab = ut_table&lt;/P&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;P&gt;program_error = 1&lt;/P&gt;&lt;P&gt;maximum_of_appends_reached = 2&lt;/P&gt;&lt;P&gt;OTHERS = 3.&lt;/P&gt;&lt;P&gt;IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno&lt;/P&gt;&lt;P&gt;WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM. " LIST_APPEND&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Form f_list_display&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM f_list_display.&lt;/P&gt;&lt;P&gt;DATA ls_print TYPE slis_print_alv.&lt;/P&gt;&lt;P&gt;ls_print-no_print_selinfos = 'X'. " Display no selection infos&lt;/P&gt;&lt;P&gt;ls_print-no_print_listinfos = 'X'. " Display no listinfos&lt;/P&gt;&lt;P&gt;ls_print-reserve_lines = 2. " Lines reserved for end of page&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_DISPLAY'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;i_interface_check = ' '&lt;/P&gt;&lt;P&gt;is_print = ls_print&lt;/P&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;P&gt;program_error = 1&lt;/P&gt;&lt;P&gt;OTHERS = 2.&lt;/P&gt;&lt;P&gt;IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno&lt;/P&gt;&lt;P&gt;WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM. " F_LIST_DISPLAY&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FORM top_of_page1 *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM top_of_page1. "#EC CALLED&lt;/P&gt;&lt;P&gt;PERFORM top_of_page.&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FORM top_of_page3 *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM top_of_page3. "#EC CALLED&lt;/P&gt;&lt;P&gt;PERFORM top_of_page.&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FORM top_of_page *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM top_of_page.&lt;/P&gt;&lt;P&gt;ULINE.&lt;/P&gt;&lt;P&gt;WRITE : sy-uname, sy-title(56) CENTERED, sy-datum.&lt;/P&gt;&lt;P&gt;ULINE.&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FORM top_of_list2 *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM top_of_list2. "#EC CALLED&lt;/P&gt;&lt;P&gt;WRITE 'TOP OF LIST2'.&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="14" type="ul"&gt;&lt;P&gt;END OF PROGRAM Z_ALV_LIST_BLOCK ***********************&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT ZKEERTHI_ALV3 LINE-COUNT 100 .&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; tables declaration&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;tables: mara.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; type-pools declaration&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;type-pools: slis.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; data declaration&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data: g_repid type sy-repid.&lt;/P&gt;&lt;P&gt;DATA : IT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV, "mara&lt;/P&gt;&lt;P&gt;WA_FIELDCAT TYPE SLIS_FIELDCAT_ALV.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : IT_FIELDCAT1 TYPE SLIS_T_FIELDCAT_ALV, "makt&lt;/P&gt;&lt;P&gt;WA_FIELDCAT1 TYPE SLIS_FIELDCAT_ALV.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : IT_FIELDCAT2 TYPE SLIS_T_FIELDCAT_ALV, "marc&lt;/P&gt;&lt;P&gt;WA_FIELDCAT2 TYPE SLIS_FIELDCAT_ALV.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: GT_PRINT TYPE SLIS_PRINT_ALV,&lt;/P&gt;&lt;P&gt;WA_LAYOUT TYPE SLIS_LAYOUT_ALV,&lt;/P&gt;&lt;P&gt;XS_EVENT TYPE SLIS_ALV_EVENT,&lt;/P&gt;&lt;P&gt;GT_XEVENTS TYPE SLIS_T_EVENT,&lt;/P&gt;&lt;P&gt;GT_YEVENTS TYPE SLIS_T_EVENT,&lt;/P&gt;&lt;P&gt;GT_ZEVENTS TYPE SLIS_T_EVENT,&lt;/P&gt;&lt;P&gt;WA_SORT TYPE SLIS_SORTINFO_ALV,&lt;/P&gt;&lt;P&gt;IT_SORT TYPE SLIS_T_SORTINFO_ALV.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF it_mara occurs 0,&lt;/P&gt;&lt;P&gt;MATNR LIKE MARA-MATNR,&lt;/P&gt;&lt;P&gt;MTART LIKE MARA-MTART,&lt;/P&gt;&lt;P&gt;MATKL LIKE MARA-MATKL,&lt;/P&gt;&lt;P&gt;MEINS LIKE MARA-MEINS,&lt;/P&gt;&lt;P&gt;NTGEW LIKE MARA-NTGEW,&lt;/P&gt;&lt;P&gt;END OF it_mara.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF IT_MAKT occurs 0,&lt;/P&gt;&lt;P&gt;MATNR LIKE MAKT-MATNR,&lt;/P&gt;&lt;P&gt;SPRAS LIKE MAKT-SPRAS,&lt;/P&gt;&lt;P&gt;MAKTX LIKE MAKT-MAKTX,&lt;/P&gt;&lt;P&gt;MAKTG LIKE MAKT-MAKTG,&lt;/P&gt;&lt;P&gt;END OF IT_MAKT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF IT_MARC occurs 0,&lt;/P&gt;&lt;P&gt;MATNR LIKE MARC-MATNR,&lt;/P&gt;&lt;P&gt;WERKS LIKE MARC-WERKS,&lt;/P&gt;&lt;P&gt;LADGR LIKE MARC-LADGR,&lt;/P&gt;&lt;P&gt;MTVFP LIKE MARC-MTVFP,&lt;/P&gt;&lt;P&gt;dispr LIKE marc-dispr,&lt;/P&gt;&lt;P&gt;dismm LIKE marc-dismm,&lt;/P&gt;&lt;P&gt;dispo LIKE marc-dispo,&lt;/P&gt;&lt;P&gt;END OF IT_MARC.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; initialisation&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;initialization.&lt;/P&gt;&lt;P&gt;g_repid = sy-repid.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; selection screen&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;selection-screen begin of block b with frame title text-001.&lt;/P&gt;&lt;P&gt;select-options: s_matnr for mara-matnr,&lt;/P&gt;&lt;P&gt;s_mtart for mara-mtart.&lt;/P&gt;&lt;P&gt;selection-screen end of block b.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; start of selection&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;start-of-selection.&lt;/P&gt;&lt;P&gt;perform get_maradetails.&lt;/P&gt;&lt;P&gt;perform get_maktdetails.&lt;/P&gt;&lt;P&gt;perform get_marcdetails.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; Form get_maradetails&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;--&amp;gt; p1 text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;&amp;lt;-- p2 text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM get_maradetails .&lt;/P&gt;&lt;P&gt;select matnr&lt;/P&gt;&lt;P&gt;mtart&lt;/P&gt;&lt;P&gt;matkl&lt;/P&gt;&lt;P&gt;meins&lt;/P&gt;&lt;P&gt;ntgew from mara&lt;/P&gt;&lt;P&gt;into table it_mara&lt;/P&gt;&lt;P&gt;where matnr in s_matnr and&lt;/P&gt;&lt;P&gt;mtart in s_mtart.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " get_maradetails&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; Form get_maktdetails&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;--&amp;gt; p1 text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;&amp;lt;-- p2 text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM get_maktdetails .&lt;/P&gt;&lt;P&gt;select matnr&lt;/P&gt;&lt;P&gt;spras&lt;/P&gt;&lt;P&gt;maktx&lt;/P&gt;&lt;P&gt;maktg from makt into table it_makt&lt;/P&gt;&lt;P&gt;for all entries in it_mara&lt;/P&gt;&lt;P&gt;where matnr = it_mara-matnr..&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " get_maktdetails&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; Form get_marcdetails&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;--&amp;gt; p1 text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;&amp;lt;-- p2 text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM get_marcdetails .&lt;/P&gt;&lt;P&gt;select matnr&lt;/P&gt;&lt;P&gt;werks&lt;/P&gt;&lt;P&gt;ladgr&lt;/P&gt;&lt;P&gt;mtvfp&lt;/P&gt;&lt;P&gt;dispr&lt;/P&gt;&lt;P&gt;dismm&lt;/P&gt;&lt;P&gt;dispo from marc&lt;/P&gt;&lt;P&gt;into table it_marc&lt;/P&gt;&lt;P&gt;for all entries in it_mara&lt;/P&gt;&lt;P&gt;where matnr = it_mara-matnr.&lt;/P&gt;&lt;P&gt;ENDFORM. " get_marcdetails&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; end of selection&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;END-OF-SELECTION.&lt;/P&gt;&lt;P&gt;perform sort_list.&lt;/P&gt;&lt;P&gt;perform modify_fieldcat.&lt;/P&gt;&lt;P&gt;PERFORM EVENT_LIST.&lt;/P&gt;&lt;P&gt;PERFORM BLOCK_LIST.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; Form modify_fieldcat&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;--&amp;gt; p1 text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;&amp;lt;-- p2 text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM modify_fieldcat .&lt;/P&gt;&lt;P&gt;clear wa_fieldcat.&lt;/P&gt;&lt;P&gt;WA_FIELDCAT-FIELDNAME = 'MATNR'.&lt;/P&gt;&lt;P&gt;WA_FIELDCAT-TABNAME = 'IT_MARA'.&lt;/P&gt;&lt;P&gt;WA_FIELDCAT-SELTEXT_L = 'MATERIAL NUM'.&lt;/P&gt;&lt;P&gt;WA_FIELDCAT-COL_POS = 1.&lt;/P&gt;&lt;P&gt;WA_FIELDCAT-OUTPUTLEN = 18.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;APPEND WA_FIELDCAT TO IT_FIELDCAT.&lt;/P&gt;&lt;P&gt;CLEAR WA_FIELDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WA_FIELDCAT-FIELDNAME = 'MTART'.&lt;/P&gt;&lt;P&gt;WA_FIELDCAT-TABNAME = 'IT_MARA'.&lt;/P&gt;&lt;P&gt;WA_FIELDCAT-SELTEXT_L = 'MAT TYPE'.&lt;/P&gt;&lt;P&gt;WA_FIELDCAT-COL_POS = 2.&lt;/P&gt;&lt;P&gt;WA_FIELDCAT-OUTPUTLEN = 5.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;APPEND WA_FIELDCAT TO IT_FIELDCAT.&lt;/P&gt;&lt;P&gt;CLEAR WA_FIELDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WA_FIELDCAT-FIELDNAME = 'MATKL'.&lt;/P&gt;&lt;P&gt;WA_FIELDCAT-TABNAME = 'IT_MARA'.&lt;/P&gt;&lt;P&gt;WA_FIELDCAT-SELTEXT_L = 'MAT GROUP'.&lt;/P&gt;&lt;P&gt;WA_FIELDCAT-COL_POS = 3.&lt;/P&gt;&lt;P&gt;WA_FIELDCAT-OUTPUTLEN = 10.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;APPEND WA_FIELDCAT TO IT_FIELDCAT.&lt;/P&gt;&lt;P&gt;CLEAR WA_FIELDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WA_FIELDCAT-FIELDNAME = 'MEINS'.&lt;/P&gt;&lt;P&gt;WA_FIELDCAT-TABNAME = 'IT_MARA'.&lt;/P&gt;&lt;P&gt;WA_FIELDCAT-SELTEXT_L = 'UNIT'.&lt;/P&gt;&lt;P&gt;WA_FIELDCAT-COL_POS = 4.&lt;/P&gt;&lt;P&gt;WA_FIELDCAT-OUTPUTLEN = 5.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;APPEND WA_FIELDCAT TO IT_FIELDCAT.&lt;/P&gt;&lt;P&gt;CLEAR WA_FIELDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WA_FIELDCAT-FIELDNAME = 'NTGEW'.&lt;/P&gt;&lt;P&gt;WA_FIELDCAT-TABNAME = 'IT_MARA'.&lt;/P&gt;&lt;P&gt;WA_FIELDCAT-DO_SUM = 'X'.&lt;/P&gt;&lt;P&gt;WA_FIELDCAT-SELTEXT_L = 'QUANTITY'.&lt;/P&gt;&lt;P&gt;WA_FIELDCAT-COL_POS = 5.&lt;/P&gt;&lt;P&gt;WA_FIELDCAT-OUTPUTLEN = 15.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;APPEND WA_FIELDCAT TO IT_FIELDCAT.&lt;/P&gt;&lt;P&gt;CLEAR WA_FIELDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLEAR WA_FIELDCAT1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WA_FIELDCAT1-FIELDNAME = 'MATNR'.&lt;/P&gt;&lt;P&gt;WA_FIELDCAT1-TABNAME = 'IT_MAKT'.&lt;/P&gt;&lt;P&gt;WA_FIELDCAT1-SELTEXT_L = 'MATERIAL NUM'.&lt;/P&gt;&lt;P&gt;WA_FIELDCAT1-COL_POS = 1.&lt;/P&gt;&lt;P&gt;WA_FIELDCAT1-OUTPUTLEN = 18.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;APPEND WA_FIELDCAT1 TO IT_FIELDCAT1.&lt;/P&gt;&lt;P&gt;CLEAR WA_FIELDCAT1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WA_FIELDCAT1-FIELDNAME = 'SPRAS'.&lt;/P&gt;&lt;P&gt;WA_FIELDCAT1-TABNAME = 'IT_MAKT'.&lt;/P&gt;&lt;P&gt;WA_FIELDCAT1-SELTEXT_L = 'LANGUAGE'.&lt;/P&gt;&lt;P&gt;WA_FIELDCAT1-COL_POS = 2.&lt;/P&gt;&lt;P&gt;WA_FIELDCAT1-OUTPUTLEN = 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;APPEND WA_FIELDCAT1 TO IT_FIELDCAT1.&lt;/P&gt;&lt;P&gt;CLEAR WA_FIELDCAT1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WA_FIELDCAT1-FIELDNAME = 'MAKTX'.&lt;/P&gt;&lt;P&gt;WA_FIELDCAT1-TABNAME = 'IT_MAKT'.&lt;/P&gt;&lt;P&gt;WA_FIELDCAT1-SELTEXT_L = 'MAT DESC'.&lt;/P&gt;&lt;P&gt;WA_FIELDCAT1-COL_POS = 3.&lt;/P&gt;&lt;P&gt;WA_FIELDCAT1-OUTPUTLEN = 40.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;APPEND WA_FIELDCAT1 TO IT_FIELDCAT1.&lt;/P&gt;&lt;P&gt;CLEAR WA_FIELDCAT1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WA_FIELDCAT1-FIELDNAME = 'MAKTG'.&lt;/P&gt;&lt;P&gt;WA_FIELDCAT1-TABNAME = 'IT_MAKT'.&lt;/P&gt;&lt;P&gt;WA_FIELDCAT1-SELTEXT_L = 'GRP DESC'.&lt;/P&gt;&lt;P&gt;WA_FIELDCAT1-COL_POS = 4.&lt;/P&gt;&lt;P&gt;WA_FIELDCAT1-OUTPUTLEN = 40.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;APPEND WA_FIELDCAT1 TO IT_FIELDCAT1.&lt;/P&gt;&lt;P&gt;CLEAR WA_FIELDCAT1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLEAR WA_FIELDCAT2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WA_FIELDCAT2-FIELDNAME = 'MATNR'.&lt;/P&gt;&lt;P&gt;WA_FIELDCAT2-TABNAME = 'IT_MARC'.&lt;/P&gt;&lt;P&gt;WA_FIELDCAT2-SELTEXT_L = 'MATERIAL NUM'.&lt;/P&gt;&lt;P&gt;WA_FIELDCAT2-COL_POS = 1.&lt;/P&gt;&lt;P&gt;WA_FIELDCAT2-OUTPUTLEN = 18.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;APPEND WA_FIELDCAT2 TO IT_FIELDCAT2.&lt;/P&gt;&lt;P&gt;CLEAR WA_FIELDCAT2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WA_FIELDCAT2-FIELDNAME = 'WERKS'.&lt;/P&gt;&lt;P&gt;WA_FIELDCAT2-TABNAME = 'IT_MARC'.&lt;/P&gt;&lt;P&gt;WA_FIELDCAT2-SELTEXT_L = 'PLANT'.&lt;/P&gt;&lt;P&gt;WA_FIELDCAT2-COL_POS = 2.&lt;/P&gt;&lt;P&gt;WA_FIELDCAT2-OUTPUTLEN = 4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;APPEND WA_FIELDCAT2 TO IT_FIELDCAT2.&lt;/P&gt;&lt;P&gt;CLEAR WA_FIELDCAT2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WA_FIELDCAT2-FIELDNAME = 'LADGR'.&lt;/P&gt;&lt;P&gt;WA_FIELDCAT2-TABNAME = 'IT_MARC'.&lt;/P&gt;&lt;P&gt;WA_FIELDCAT2-SELTEXT_L = 'LOAD GRP'.&lt;/P&gt;&lt;P&gt;WA_FIELDCAT2-COL_POS = 3.&lt;/P&gt;&lt;P&gt;WA_FIELDCAT2-OUTPUTLEN = 4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;APPEND WA_FIELDCAT2 TO IT_FIELDCAT2.&lt;/P&gt;&lt;P&gt;CLEAR WA_FIELDCAT2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WA_FIELDCAT2-FIELDNAME = 'MTVFP'.&lt;/P&gt;&lt;P&gt;WA_FIELDCAT2-TABNAME = 'IT_MARC'.&lt;/P&gt;&lt;P&gt;WA_FIELDCAT2-SELTEXT_L = 'GRP CHK'.&lt;/P&gt;&lt;P&gt;WA_FIELDCAT2-COL_POS = 4.&lt;/P&gt;&lt;P&gt;WA_FIELDCAT2-OUTPUTLEN = 4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;APPEND WA_FIELDCAT2 TO IT_FIELDCAT2.&lt;/P&gt;&lt;P&gt;CLEAR WA_FIELDCAT2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WA_FIELDCAT2-FIELDNAME = 'DISPR'.&lt;/P&gt;&lt;P&gt;WA_FIELDCAT2-TABNAME = 'IT_MARC'.&lt;/P&gt;&lt;P&gt;WA_FIELDCAT2-SELTEXT_L = 'MRP PROFILE'.&lt;/P&gt;&lt;P&gt;WA_FIELDCAT2-COL_POS = 5.&lt;/P&gt;&lt;P&gt;WA_FIELDCAT2-OUTPUTLEN = 4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;APPEND WA_FIELDCAT2 TO IT_FIELDCAT2.&lt;/P&gt;&lt;P&gt;CLEAR WA_FIELDCAT2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WA_FIELDCAT2-FIELDNAME = 'DISMM'.&lt;/P&gt;&lt;P&gt;WA_FIELDCAT2-TABNAME = 'IT_MARC'.&lt;/P&gt;&lt;P&gt;WA_FIELDCAT2-SELTEXT_L = 'MRP TYPE'.&lt;/P&gt;&lt;P&gt;WA_FIELDCAT2-COL_POS = 6.&lt;/P&gt;&lt;P&gt;WA_FIELDCAT2-OUTPUTLEN = 4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;APPEND WA_FIELDCAT2 TO IT_FIELDCAT2.&lt;/P&gt;&lt;P&gt;CLEAR WA_FIELDCAT2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WA_FIELDCAT2-FIELDNAME = 'DISPO'.&lt;/P&gt;&lt;P&gt;WA_FIELDCAT2-TABNAME = 'IT_MARC'.&lt;/P&gt;&lt;P&gt;WA_FIELDCAT2-SELTEXT_L = 'MRP CON'.&lt;/P&gt;&lt;P&gt;WA_FIELDCAT2-COL_POS = 7.&lt;/P&gt;&lt;P&gt;WA_FIELDCAT2-OUTPUTLEN = 4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;APPEND WA_FIELDCAT2 TO IT_FIELDCAT2.&lt;/P&gt;&lt;P&gt;CLEAR WA_FIELDCAT2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " modify_fieldcat&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; Form BLOCK_LIST&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;--&amp;gt; p1 text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;&amp;lt;-- p2 text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM BLOCK_LIST .&lt;/P&gt;&lt;P&gt;CLEAR WA_LAYOUT.&lt;/P&gt;&lt;P&gt;WA_LAYOUT-ZEBRA = 'X'.&lt;/P&gt;&lt;P&gt;WA_LAYOUT-TOTALS_TEXT = 'TOTAL'.&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_INIT'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;I_CALLBACK_PROGRAM = G_REPID&lt;/P&gt;&lt;P&gt;I_CALLBACK_PF_STATUS_SET = ' '&lt;/P&gt;&lt;P&gt;I_CALLBACK_USER_COMMAND = 'user_command'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IT_EXCLUDING =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;IS_LAYOUT = WA_LAYOUT&lt;/P&gt;&lt;P&gt;IT_FIELDCAT = IT_FIELDCAT[]&lt;/P&gt;&lt;P&gt;I_TABNAME = 'IT_MARA'&lt;/P&gt;&lt;P&gt;IT_EVENTS = GT_XEVENTS&lt;/P&gt;&lt;P&gt;IT_SORT = IT_SORT&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;I_TEXT = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;TABLES&lt;/P&gt;&lt;P&gt;T_OUTTAB = IT_MARA&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;PROGRAM_ERROR = 1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MAXIMUM_OF_APPENDS_REACHED = 2&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;OTHERS = 3&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;.&lt;/P&gt;&lt;P&gt;IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;IS_LAYOUT = WA_LAYOUT&lt;/P&gt;&lt;P&gt;IT_FIELDCAT = IT_FIELDCAT1&lt;/P&gt;&lt;P&gt;I_TABNAME = 'IT_MAKT'&lt;/P&gt;&lt;P&gt;IT_EVENTS = GT_YEVENTS&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IT_SORT =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;I_TEXT = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;TABLES&lt;/P&gt;&lt;P&gt;T_OUTTAB = IT_MAKT&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;PROGRAM_ERROR = 1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MAXIMUM_OF_APPENDS_REACHED = 2&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;OTHERS = 3&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;.&lt;/P&gt;&lt;P&gt;IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;IS_LAYOUT = WA_LAYOUT&lt;/P&gt;&lt;P&gt;IT_FIELDCAT = IT_FIELDCAT2&lt;/P&gt;&lt;P&gt;I_TABNAME = 'IT_MARC'&lt;/P&gt;&lt;P&gt;IT_EVENTS = GT_ZEVENTS&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IT_SORT =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;I_TEXT = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;TABLES&lt;/P&gt;&lt;P&gt;T_OUTTAB = IT_MARC&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;PROGRAM_ERROR = 1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MAXIMUM_OF_APPENDS_REACHED = 2&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;OTHERS = 3&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;.&lt;/P&gt;&lt;P&gt;IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_DISPLAY'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;I_INTERFACE_CHECK = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;IS_PRINT = GT_PRINT&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;I_SCREEN_START_COLUMN = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;I_SCREEN_START_LINE = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;I_SCREEN_END_COLUMN = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;I_SCREEN_END_LINE = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;E_EXIT_CAUSED_BY_CALLER =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;ES_EXIT_CAUSED_BY_USER =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;PROGRAM_ERROR = 1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;OTHERS = 2&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;.&lt;/P&gt;&lt;P&gt;IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " BLOCK_LIST&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; Form EVENT_LIST&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;--&amp;gt; p1 text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;&amp;lt;-- p2 text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM EVENT_LIST .&lt;/P&gt;&lt;P&gt;CLEAR XS_EVENT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;XS_EVENT-NAME = SLIS_EV_TOP_OF_PAGE.&lt;/P&gt;&lt;P&gt;XS_EVENT-FORM = 'XTOP_OF_PAGE'.&lt;/P&gt;&lt;P&gt;APPEND XS_EVENT TO GT_XEVENTS.&lt;/P&gt;&lt;P&gt;CLEAR XS_EVENT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;XS_EVENT-NAME = SLIS_EV_END_OF_PAGE.&lt;/P&gt;&lt;P&gt;XS_EVENT-FORM = 'XEND_OF_PAGE'.&lt;/P&gt;&lt;P&gt;APPEND XS_EVENT TO GT_XEVENTS.&lt;/P&gt;&lt;P&gt;CLEAR XS_EVENT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;XS_EVENT-NAME = SLIS_EV_TOP_OF_LIST.&lt;/P&gt;&lt;P&gt;XS_EVENT-FORM = 'XTOP_OF_LIST'.&lt;/P&gt;&lt;P&gt;APPEND XS_EVENT TO GT_XEVENTS.&lt;/P&gt;&lt;P&gt;CLEAR XS_EVENT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;XS_EVENT-NAME = SLIS_EV_END_OF_LIST.&lt;/P&gt;&lt;P&gt;XS_EVENT-FORM = 'XEND_OF_LIST'.&lt;/P&gt;&lt;P&gt;APPEND XS_EVENT TO GT_XEVENTS.&lt;/P&gt;&lt;P&gt;CLEAR XS_EVENT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;XS_EVENT-NAME = SLIS_EV_END_OF_PAGE.&lt;/P&gt;&lt;P&gt;XS_EVENT-FORM = 'YEND_OF_PAGE'.&lt;/P&gt;&lt;P&gt;APPEND XS_EVENT TO GT_YEVENTS.&lt;/P&gt;&lt;P&gt;CLEAR XS_EVENT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;XS_EVENT-NAME = SLIS_EV_TOP_OF_PAGE.&lt;/P&gt;&lt;P&gt;XS_EVENT-FORM = 'YTOP_OF_PAGE'.&lt;/P&gt;&lt;P&gt;APPEND XS_EVENT TO GT_YEVENTS.&lt;/P&gt;&lt;P&gt;CLEAR XS_EVENT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;XS_EVENT-NAME = SLIS_EV_TOP_OF_LIST.&lt;/P&gt;&lt;P&gt;XS_EVENT-FORM = 'YTOP_OF_LIST'.&lt;/P&gt;&lt;P&gt;APPEND XS_EVENT TO GT_YEVENTS.&lt;/P&gt;&lt;P&gt;CLEAR XS_EVENT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;XS_EVENT-NAME = SLIS_EV_END_OF_LIST.&lt;/P&gt;&lt;P&gt;XS_EVENT-FORM = 'YEND_OF_LIST'.&lt;/P&gt;&lt;P&gt;APPEND XS_EVENT TO GT_YEVENTS.&lt;/P&gt;&lt;P&gt;CLEAR XS_EVENT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;XS_EVENT-NAME = SLIS_EV_END_OF_PAGE.&lt;/P&gt;&lt;P&gt;XS_EVENT-FORM = 'ZEND_OF_PAGE'.&lt;/P&gt;&lt;P&gt;APPEND XS_EVENT TO GT_ZEVENTS.&lt;/P&gt;&lt;P&gt;CLEAR XS_EVENT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;XS_EVENT-NAME = SLIS_EV_TOP_OF_PAGE.&lt;/P&gt;&lt;P&gt;XS_EVENT-FORM = 'ZTOP_OF_PAGE'.&lt;/P&gt;&lt;P&gt;APPEND XS_EVENT TO GT_ZEVENTS.&lt;/P&gt;&lt;P&gt;CLEAR XS_EVENT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;XS_EVENT-NAME = SLIS_EV_TOP_OF_LIST.&lt;/P&gt;&lt;P&gt;XS_EVENT-FORM = 'ZTOP_OF_LIST'.&lt;/P&gt;&lt;P&gt;APPEND XS_EVENT TO GT_ZEVENTS.&lt;/P&gt;&lt;P&gt;CLEAR XS_EVENT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;XS_EVENT-NAME = SLIS_EV_END_OF_LIST.&lt;/P&gt;&lt;P&gt;XS_EVENT-FORM = 'ZEND_OF_LIST'.&lt;/P&gt;&lt;P&gt;APPEND XS_EVENT TO GT_ZEVENTS.&lt;/P&gt;&lt;P&gt;CLEAR XS_EVENT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " EVENT_LIST&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM XTOP_OF_PAGE.&lt;/P&gt;&lt;P&gt;WRITE:/ 'TOP OF PAGE FOR MARA'.&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM YTOP_OF_PAGE.&lt;/P&gt;&lt;P&gt;WRITE:/ 'TOP OF PAGE FOR MAKT'.&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM ZTOP_OF_PAGE.&lt;/P&gt;&lt;P&gt;WRITE:/ 'TOP OF PAGE FOR MARC'.&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM XEND_OF_PAGE.&lt;/P&gt;&lt;P&gt;WRITE:/ 'END OF PAGE FOR MARA'.&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM YEND_OF_PAGE.&lt;/P&gt;&lt;P&gt;WRITE:/ 'END OF PAGE FOR MAKT'.&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM ZEND_OF_PAGE.&lt;/P&gt;&lt;P&gt;WRITE:/ 'END OF PAGE FOR MARC'.&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM XTOP_OF_LIST.&lt;/P&gt;&lt;P&gt;WRITE:/ 'TOP OF LIST FOR MARA'.&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM YTOP_OF_LIST.&lt;/P&gt;&lt;P&gt;WRITE:/ 'TOP OF LIST FOR MAKT'.&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM ZTOP_OF_LIST.&lt;/P&gt;&lt;P&gt;WRITE:/ 'TOP OF LIST FOR MARC'.&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM XEND_OF_LIST.&lt;/P&gt;&lt;P&gt;WRITE:/ 'END OF LIST FOR MARA'.&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM YEND_OF_LIST.&lt;/P&gt;&lt;P&gt;WRITE:/ 'END OF LIST FOR MAKT'.&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM ZEND_OF_LIST.&lt;/P&gt;&lt;P&gt;WRITE:/ 'END OF LIST FOR MARC'.&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; Form sort_list&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;--&amp;gt; p1 text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;&amp;lt;-- p2 text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM sort_list .&lt;/P&gt;&lt;P&gt;CLEAR WA_SORT.&lt;/P&gt;&lt;P&gt;WA_SORT-FIELDNAME = 'MTART'.&lt;/P&gt;&lt;P&gt;WA_SORT-SUBTOT = 'X'.&lt;/P&gt;&lt;P&gt;APPEND WA_SORT TO IT_SORT.&lt;/P&gt;&lt;P&gt;CLEAR WA_SORT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WA_SORT-FIELDNAME = 'MATKL'.&lt;/P&gt;&lt;P&gt;WA_SORT-SUBTOT = 'X'.&lt;/P&gt;&lt;P&gt;APPEND WA_SORT TO IT_SORT.&lt;/P&gt;&lt;P&gt;CLEAR WA_SORT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " sort_list&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Reward points if useful&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;Anji&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Message was edited by: &lt;/P&gt;&lt;P&gt;        Anji Reddy Vangala&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 05 Jun 2007 10:23:35 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/existing-function-module-for-my-requirement/m-p/2340128#M515647</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-06-05T10:23:35Z</dc:date>
    </item>
    <item>
      <title>Re: Existing Function module for my requirement</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/existing-function-module-for-my-requirement/m-p/2340129#M515648</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Anji,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          M santos my TL is saying me to find out first function module which takes objnr n reads the status of the sales order.Then display it with alv display.So strucked in finding function module.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;santu.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 05 Jun 2007 10:54:23 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/existing-function-module-for-my-requirement/m-p/2340129#M515648</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-06-05T10:54:23Z</dc:date>
    </item>
    <item>
      <title>Re: Existing Function module for my requirement</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/existing-function-module-for-my-requirement/m-p/2340130#M515649</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi&lt;/P&gt;&lt;P&gt;Use the fun module&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;STATUS_READ&amp;lt;/b&amp;gt; to get the status of the object&lt;/P&gt;&lt;P&gt;further help see in the SE37 for this fun module&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Reward points if useful&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;Anji&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 05 Jun 2007 11:00:34 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/existing-function-module-for-my-requirement/m-p/2340130#M515649</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-06-05T11:00:34Z</dc:date>
    </item>
    <item>
      <title>Re: Existing Function module for my requirement</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/existing-function-module-for-my-requirement/m-p/2340131#M515650</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Santosh&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The following report shows in the first ALV grid the selected sales document. Using a double-click the status of the sales document are selected and displayed in the second ALV grid. The hotspot leads you to VA03.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Please note that the status selection is somewhat crude and should be optimized (e.g. using the fm proposed by Anji).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;*&amp;amp;---------------------------------------------------------------------*
*&amp;amp; Report  ZUS_SDN_TWO_ALV_GRIDS_5
*&amp;amp;
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;
*&amp;amp;
*&amp;amp;---------------------------------------------------------------------*

REPORT  zus_sdn_two_alv_grids_5.



TYPE-POOLS: abap.



TABLES:  vbak.


DATA:
  gd_okcode        TYPE ui_func,
*
  go_docking       TYPE REF TO cl_gui_docking_container,
  go_splitter      TYPE REF TO cl_gui_splitter_container,
  go_cell_top      TYPE REF TO cl_gui_container,
  go_cell_bottom   TYPE REF TO cl_gui_container,
  go_grid1         TYPE REF TO cl_gui_alv_grid,
  go_grid2         TYPE REF TO cl_gui_alv_grid,
  gs_layout        TYPE lvc_s_layo.


DATA:
  gt_outtab        TYPE STANDARD TABLE OF vbak,
  gt_status        TYPE STANDARD TABLE OF jest.





*---------------------------------------------------------------------*
*       CLASS lcl_eventhandler DEFINITION
*---------------------------------------------------------------------*
*
*---------------------------------------------------------------------*
CLASS lcl_eventhandler DEFINITION.

  PUBLIC SECTION.
    CLASS-METHODS:
      handle_hotspot_click FOR EVENT hotspot_click OF cl_gui_alv_grid
        IMPORTING
          e_row_id
          e_column_id
          es_row_no
          sender,


      handle_double_click FOR EVENT double_click OF cl_gui_alv_grid
        IMPORTING
          e_row
          e_column
          es_row_no
          sender.


ENDCLASS.                    "lcl_eventhandler DEFINITION



*---------------------------------------------------------------------*
*       CLASS lcl_eventhandler IMPLEMENTATION
*---------------------------------------------------------------------*
*
*---------------------------------------------------------------------*
CLASS lcl_eventhandler IMPLEMENTATION.

  METHOD handle_hotspot_click.
*   define local data
    DATA:
      ls_outtab   LIKE LINE OF gt_outtab,
      ls_col_id   TYPE lvc_s_col.

    READ TABLE gt_outtab INTO ls_outtab INDEX e_row_id-index.
    CHECK ( ls_outtab-vbeln IS NOT INITIAL ).

    CASE e_column_id-fieldname.
      WHEN 'VBELN'.
        SET PARAMETER ID 'AUN' FIELD ls_outtab-vbeln.

        CALL TRANSACTION 'VA03' AND SKIP FIRST SCREEN.


      WHEN OTHERS.
*       do nothing
    ENDCASE.




***   Set active cell to field BUKRS otherwise the focus is still on
***   field KUNNR which will always raise event HOTSPOT_CLICK
**    ls_col_id-fieldname = 'BUKRS'.
**    CALL METHOD go_grid1-&amp;gt;set_current_cell_via_id
**      EXPORTING
**        is_row_id    = e_row_id
**        is_column_id = ls_col_id.



  ENDMETHOD.                    "handle_hotspot_click


  METHOD handle_double_click.
*   define local data
    DATA:
      ls_outtab      LIKE LINE OF gt_outtab.

    CHECK ( sender = go_grid1 ).

    READ TABLE gt_outtab INTO ls_outtab INDEX e_row-index.
    CHECK ( ls_outtab-vbeln IS NOT INITIAL ).

**    CALL METHOD go_grid1-&amp;gt;set_current_cell_via_id
**      EXPORTING
***        IS_ROW_ID    =
***        IS_COLUMN_ID =
**        is_row_no    = es_row_no.


*   Triggers PAI of the dynpro with the specified ok-code
    CALL METHOD cl_gui_cfw=&amp;gt;set_new_ok_code( 'DETAIL' ).



  ENDMETHOD.                    "handle_double_click

ENDCLASS.                    "lcl_eventhandler IMPLEMENTATION




SELECT-OPTIONS:
  o_auart    FOR vbak-auart  DEFAULT 'OR'.



START-OF-SELECTION.


* Select sales orders
  SELECT        * FROM  vbak INTO TABLE gt_outtab
    WHERE auart IN o_auart.


* Create docking container
  CREATE OBJECT go_docking
    EXPORTING
      parent                      = cl_gui_container=&amp;gt;screen0
      ratio                       = 90
    EXCEPTIONS
      OTHERS                      = 6.
  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.


* Create splitter container
  CREATE OBJECT go_splitter
    EXPORTING
      parent            = go_docking
      rows              = 2
      columns           = 1
*      NO_AUTODEF_PROGID_DYNNR =
*      NAME              =
    EXCEPTIONS
      cntl_error        = 1
      cntl_system_error = 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.

* Get cell container
  CALL METHOD go_splitter-&amp;gt;get_container
    EXPORTING
      row       = 1
      column    = 1
    RECEIVING
      container = go_cell_top.
  CALL METHOD go_splitter-&amp;gt;get_container
    EXPORTING
      row       = 2
      column    = 1
    RECEIVING
      container = go_cell_bottom.

* Create ALV grids
  CREATE OBJECT go_grid1
    EXPORTING
      i_parent          = go_cell_top
    EXCEPTIONS
      OTHERS            = 5.
  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.


* Set event handler
  SET HANDLER:
    lcl_eventhandler=&amp;gt;handle_double_click  FOR go_grid1,
    lcl_eventhandler=&amp;gt;handle_hotspot_click FOR go_grid1.


  CREATE OBJECT go_grid2
    EXPORTING
      i_parent          = go_cell_bottom
    EXCEPTIONS
      OTHERS            = 5.
  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.


* Display data
  gs_layout-grid_title = 'Sales Orders'.
  CALL METHOD go_grid1-&amp;gt;set_table_for_first_display
    EXPORTING
      i_structure_name = 'VBAK'
      is_layout        = gs_layout
    CHANGING
      it_outtab        = gt_outtab
    EXCEPTIONS
      OTHERS           = 4.
  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.

  PERFORM modify_fieldcatalog.


  gs_layout-grid_title = 'Status of Sales Order'.
  CALL METHOD go_grid2-&amp;gt;set_table_for_first_display
    EXPORTING
      i_structure_name = 'JEST'
      is_layout        = gs_layout
    CHANGING
      it_outtab        = gt_status  " empty !!!
    EXCEPTIONS
      OTHERS           = 4.
  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.


* Link the docking container to the target dynpro
  CALL METHOD go_docking-&amp;gt;link
    EXPORTING
      repid                       = syst-repid
      dynnr                       = '0100'
*      CONTAINER                   =
    EXCEPTIONS
      OTHERS                      = 4.
  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.


* NOTE: dynpro does not contain any elements
  CALL SCREEN '0100'.
* Flow logic of dynpro (does not contain any dynpro elements,
* ok-code field = gd_okcode):
*
*PROCESS BEFORE OUTPUT.
*  MODULE STATUS_0100.
**
*PROCESS AFTER INPUT.
*  MODULE USER_COMMAND_0100.



END-OF-SELECTION.

*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Module  STATUS_0100  OUTPUT
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
MODULE status_0100 OUTPUT.
  SET PF-STATUS 'STATUS_0100'.  " contains push button "DETAIL"
*  SET TITLEBAR 'xxx'.


* Refresh display of detail ALV list
  CALL METHOD go_grid2-&amp;gt;refresh_table_display
*    EXPORTING
*      IS_STABLE      =
*      I_SOFT_REFRESH =
    EXCEPTIONS
      OTHERS         = 2.
  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.


ENDMODULE.                 " STATUS_0100  OUTPUT

*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Module  USER_COMMAND_0100  INPUT
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
MODULE user_command_0100 INPUT.

  CASE gd_okcode.
    WHEN 'BACK' OR
         'END'  OR
         'CANC'.
      SET SCREEN 0. LEAVE SCREEN.

*   User has pushed button "Display Details"
    WHEN 'DETAIL'.
      PERFORM entry_show_details.

    WHEN OTHERS.
  ENDCASE.

  CLEAR: gd_okcode.

ENDMODULE.                 " USER_COMMAND_0100  INPUT

*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  ENTRY_SHOW_DETAILS
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  --&amp;gt;  p1        text
*  &amp;lt;--  p2        text
*----------------------------------------------------------------------*
FORM entry_show_details .
* define local data
  CONSTANTS:
    lc_posnr_dummy  TYPE ionra-posnr  VALUE '999999'.

  DATA:
    ld_row      TYPE i,
    ls_outtab   LIKE LINE OF gt_outtab,
    ld_title    TYPE lvc_title.

  DATA:
    lt_objnr    TYPE TABLE OF jsto_pre.


  CALL METHOD go_grid1-&amp;gt;get_current_cell
    IMPORTING
      e_row = ld_row.

  REFRESH: gt_status.

  READ TABLE gt_outtab INTO ls_outtab INDEX ld_row.
  CHECK ( syst-subrc = 0 ).

**  CALL FUNCTION 'BAPI_SALESORDER_GETSTATUS'
**    EXPORTING
**      salesdocument       = ls_outtab-vbeln
***   IMPORTING
***     RETURN              =
**    TABLES
**      statusinfo          = gt_status.

  IF ( ls_outtab-objnr IS INITIAL ).
    CALL FUNCTION 'OBJECT_NUMBER_DETERMINE_VB'
      EXPORTING
        posnr = lc_posnr_dummy
        vbeln = ls_outtab-vbeln
      IMPORTING
        objnr = ls_outtab-objnr.
  ENDIF.

  REPLACE lc_posnr_dummy WITH '%' INTO ls_outtab-objnr.
  SELECT * FROM jest INTO TABLE gt_status
    WHERE objnr LIKE ls_outtab-objnr.


  

**  APPEND ls_outtab-objnr TO lt_objnr.
**  CALL FUNCTION 'STATUS_READ_MULTI'
***   EXPORTING
***     CLIENT                     = SY-MANDT
***     ONLY_ACTIVE                = ' '
***     ALL_IN_BUFFER              = ' '
***     GET_CHANGE_DOCUMENTS       = ' '
***     NO_BUFFER_FILL             = ' '
**    TABLES
**      objnr_tab                  = lt_objnr
**      status                     = gt_status
***     JSTO_TAB                   =
***     JCDO_TAB                   =
***     JCDS_TAB                   =
**            .


  CONCATENATE 'Status of Sales Order' ls_outtab-vbeln
    INTO ld_title
    SEPARATED BY space.

  go_grid2-&amp;gt;set_gridtitle( ld_title ).



ENDFORM.                    " ENTRY_SHOW_DETAILS


*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  MODIFY_FIELDCATALOG
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  --&amp;gt;  p1        text
*  &amp;lt;--  p2        text
*----------------------------------------------------------------------*
FORM modify_fieldcatalog .
* define local data
  DATA:
    ls_fcat      TYPE lvc_s_fcat,
    lt_fcat      TYPE lvc_t_fcat.

  CALL METHOD go_grid1-&amp;gt;get_frontend_fieldcatalog
    IMPORTING
      et_fieldcatalog = lt_fcat.

  LOOP AT lt_fcat INTO ls_fcat
                  WHERE ( fieldname = 'VBELN' ).
    ls_fcat-hotspot = abap_true.
    MODIFY lt_fcat FROM ls_fcat.
  ENDLOOP.

  go_grid1-&amp;gt;set_frontend_fieldcatalog( lt_fcat ).
  go_grid1-&amp;gt;refresh_table_display( ).


ENDFORM.                    " MODIFY_FIELDCATALOG&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;  Uwe&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 05 Jun 2007 11:16:30 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/existing-function-module-for-my-requirement/m-p/2340131#M515650</guid>
      <dc:creator>uwe_schieferstein</dc:creator>
      <dc:date>2007-06-05T11:16:30Z</dc:date>
    </item>
    <item>
      <title>Re: Existing Function module for my requirement</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/existing-function-module-for-my-requirement/m-p/2340132#M515651</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Anji,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          Tanx very much.My TL has accepted status_read function module for getting status of sales.Now m started using dis function module,If i get any problem in passing parameters i'll get bac to u,Please help me out in using d function module.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Tanx &amp;amp; regards,&lt;/P&gt;&lt;P&gt;santu.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 05 Jun 2007 12:07:52 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/existing-function-module-for-my-requirement/m-p/2340132#M515651</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-06-05T12:07:52Z</dc:date>
    </item>
  </channel>
</rss>

