<?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: ALV Interactive in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-interactive/m-p/1651490#M289411</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi muhammed,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1. In alv we cannot use AT LINE Selection&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;2. For alv, there is a special syntax, so that when we double-click on alv,&lt;/P&gt;&lt;P&gt;   our FORM / routine is called and there we display another alv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;3. just copy paste to get a taste of interactive alv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT abc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPE-POOLS : slis.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------" /&gt;&lt;P&gt; Data&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : ITAB LIKE T001 OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;DATA : alvfc TYPE slis_t_fieldcat_alv.&lt;/P&gt;&lt;P&gt;DATA : STAB LIKE T001 OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----" /&gt;&lt;P&gt; Select Data&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT * FROM t001 INTO TABLE itab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*------- Field Catalogue&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'&lt;/P&gt;&lt;P&gt;  EXPORTING&lt;/P&gt;&lt;P&gt;    i_program_name         = sy-repid&lt;/P&gt;&lt;P&gt;    i_internal_tabname     = 'ITAB'&lt;/P&gt;&lt;P&gt;    i_inclname             = sy-repid&lt;/P&gt;&lt;P&gt;  CHANGING&lt;/P&gt;&lt;P&gt;    ct_fieldcat            = alvfc&lt;/P&gt;&lt;P&gt;  EXCEPTIONS&lt;/P&gt;&lt;P&gt;    inconsistent_interface = 1&lt;/P&gt;&lt;P&gt;    program_error          = 2&lt;/P&gt;&lt;P&gt;    OTHERS                 = 3.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------" /&gt;&lt;P&gt;Display&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'&lt;/P&gt;&lt;P&gt;  EXPORTING&lt;/P&gt;&lt;P&gt;    it_fieldcat             = alvfc&lt;/P&gt;&lt;P&gt;    i_callback_program      = sy-repid "&amp;lt;-------Important&lt;/P&gt;&lt;P&gt;    i_callback_user_command = 'ITAB_USER_COMMAND' "&amp;lt;------ Important&lt;/P&gt;&lt;P&gt;  TABLES&lt;/P&gt;&lt;P&gt;    t_outtab                = itab&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;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="--------------------------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;CALL BACK FORM&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="--------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM itab_user_command USING whatcomm TYPE sy-ucomm whatrow TYPE&lt;/P&gt;&lt;P&gt;slis_selfield.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----" /&gt;&lt;P&gt; IMPORTANT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  READ TABLE ITAB INDEX WHATROW-TABINDEX.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;  CLEAR STAB.&lt;/P&gt;&lt;P&gt;  SELECT * FROM T001&lt;/P&gt;&lt;P&gt;  INTO TABLE STAB&lt;/P&gt;&lt;P&gt;  WHERE BUKRS = ITAB-BUKRS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR ALVFC.&lt;/P&gt;&lt;P&gt;*------- Field Catalogue&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      i_program_name         = sy-repid&lt;/P&gt;&lt;P&gt;      i_internal_tabname     = 'STAB'&lt;/P&gt;&lt;P&gt;      i_inclname             = sy-repid&lt;/P&gt;&lt;P&gt;    CHANGING&lt;/P&gt;&lt;P&gt;      ct_fieldcat            = alvfc&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      inconsistent_interface = 1&lt;/P&gt;&lt;P&gt;      program_error          = 2&lt;/P&gt;&lt;P&gt;      OTHERS                 = 3.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------" /&gt;&lt;P&gt;Display&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      it_fieldcat        = alvfc&lt;/P&gt;&lt;P&gt;      i_callback_program = sy-repid "&amp;lt;-------Important&lt;/P&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      t_outtab           = Stab&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;&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;ENDFORM. "ITAB_user_command&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;regards,&lt;/P&gt;&lt;P&gt;amit m.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 27 Nov 2006 07:22:43 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2006-11-27T07:22:43Z</dc:date>
    <item>
      <title>ALV Interactive</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-interactive/m-p/1651487#M289408</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I know how to make an ALV report.But i am not sure how to make that ALV report interactive.In the case of normal report we can make use of the hide statement.But in the case of ALV report how is it possible.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Useful questions will be rewarded more.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks &lt;/P&gt;&lt;P&gt;Ansari&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 27 Nov 2006 07:11:33 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-interactive/m-p/1651487#M289408</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-11-27T07:11:33Z</dc:date>
    </item>
    <item>
      <title>Re: ALV Interactive</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-interactive/m-p/1651488#M289409</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;chk this wonderful link,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sapdevelopment.co.uk/reporting/alvhome.htm" target="test_blank"&gt;http://www.sapdevelopment.co.uk/reporting/alvhome.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;rgds&lt;/P&gt;&lt;P&gt;Anver&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 27 Nov 2006 07:14:15 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-interactive/m-p/1651488#M289409</guid>
      <dc:creator>anversha_s</dc:creator>
      <dc:date>2006-11-27T07:14:15Z</dc:date>
    </item>
    <item>
      <title>Re: ALV Interactive</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-interactive/m-p/1651489#M289410</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;HI,&lt;/P&gt;&lt;P&gt;Check out this program.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;example progm for alv&lt;/P&gt;&lt;P&gt;report zz_alv_report_stub&lt;/P&gt;&lt;P&gt;no standard page heading&lt;/P&gt;&lt;P&gt;line-size 200&lt;/P&gt;&lt;P&gt;line-count 65&lt;/P&gt;&lt;P&gt;message-id zz.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Tables&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------" /&gt;&lt;P&gt;tables:&lt;/P&gt;&lt;P&gt;ekpo,&lt;/P&gt;&lt;P&gt;trdir.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Global Types&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------" /&gt;&lt;P&gt;type-pools: slis.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Global Internal Tables&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------" /&gt;&lt;P&gt;data:&lt;/P&gt;&lt;P&gt;i_fieldcat_alv type slis_t_fieldcat_alv,&lt;/P&gt;&lt;P&gt;i_events type slis_t_event,&lt;/P&gt;&lt;P&gt;i_event_exit type slis_t_event_exit,&lt;/P&gt;&lt;P&gt;i_list_comments type slis_t_listheader,&lt;/P&gt;&lt;P&gt;i_excluding type slis_t_extab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Display data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data: begin of i_data occurs 0,&lt;/P&gt;&lt;P&gt;name like trdir-name,&lt;/P&gt;&lt;P&gt;clas like trdir-clas,&lt;/P&gt;&lt;P&gt;subc like trdir-subc,&lt;/P&gt;&lt;P&gt;cnam like trdir-cnam,&lt;/P&gt;&lt;P&gt;cdat like trdir-cdat,&lt;/P&gt;&lt;P&gt;myfield(1) type c,&lt;/P&gt;&lt;P&gt;end of i_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Global Variables&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------" /&gt;&lt;P&gt;data:&lt;/P&gt;&lt;P&gt;w_variant like disvariant,&lt;/P&gt;&lt;P&gt;wx_variant like disvariant,&lt;/P&gt;&lt;P&gt;w_variant_save(1) type c,&lt;/P&gt;&lt;P&gt;w_exit(1) type c,&lt;/P&gt;&lt;P&gt;w_repid like sy-repid,&lt;/P&gt;&lt;P&gt;w_user_specific(1) type c,&lt;/P&gt;&lt;P&gt;w_callback_ucomm type slis_formname,&lt;/P&gt;&lt;P&gt;w_print type slis_print_alv,&lt;/P&gt;&lt;P&gt;w_layout type slis_layout_alv,&lt;/P&gt;&lt;P&gt;w_html_top_of_page type slis_formname,&lt;/P&gt;&lt;P&gt;w_fieldcat_alv like line of i_fieldcat_alv,&lt;/P&gt;&lt;P&gt;w_excluding like line of i_excluding,&lt;/P&gt;&lt;P&gt;w_events like line of i_events,&lt;/P&gt;&lt;P&gt;w_event_exit like line of i_event_exit,&lt;/P&gt;&lt;P&gt;w_list_comments like line of i_list_comments.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Global Constants&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------" /&gt;&lt;P&gt;*constants:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Selection Screen&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------" /&gt;&lt;P&gt;selection-screen begin of block blk_criteria with frame title text-f01.&lt;/P&gt;&lt;P&gt;select-options:&lt;/P&gt;&lt;P&gt;s_name for trdir-name.&lt;/P&gt;&lt;P&gt;selection-screen end of block blk_criteria.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;selection-screen begin of block blk_params with frame title text-f02.&lt;/P&gt;&lt;P&gt;parameters:&lt;/P&gt;&lt;P&gt;p_vari like disvariant-variant.&lt;/P&gt;&lt;P&gt;selection-screen skip 1.&lt;/P&gt;&lt;P&gt;parameters:&lt;/P&gt;&lt;P&gt;p_grid radiobutton group rb01 default 'X',&lt;/P&gt;&lt;P&gt;p_html as checkbox.&lt;/P&gt;&lt;P&gt;selection-screen skip 1.&lt;/P&gt;&lt;P&gt;parameters:&lt;/P&gt;&lt;P&gt;p_list radiobutton group rb01.&lt;/P&gt;&lt;P&gt;selection-screen end of block blk_params.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Initialization&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------" /&gt;&lt;P&gt;initialization.&lt;/P&gt;&lt;P&gt;perform init_variant.&lt;/P&gt;&lt;P&gt;perform variant_default using p_vari.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;clear: s_name[].&lt;/P&gt;&lt;P&gt;s_name-sign = 'I'.&lt;/P&gt;&lt;P&gt;s_name-option = 'CP'.&lt;/P&gt;&lt;P&gt;s_name-low = 'Z*'.&lt;/P&gt;&lt;P&gt;append s_name.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;At Selection Screen PBO&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------" /&gt;&lt;P&gt;at selection-screen output.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-----------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;At Selection Screen Value Request&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-----------------------------" /&gt;&lt;P&gt;at selection-screen on value-request for p_vari.&lt;/P&gt;&lt;P&gt;perform variant_f4 using p_vari.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;At Selection Screen&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------" /&gt;&lt;P&gt;at selection-screen.&lt;/P&gt;&lt;P&gt;perform variant_fill.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Start of Selection&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------" /&gt;&lt;P&gt;start-of-selection.&lt;/P&gt;&lt;P&gt;perform get_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;end-of-selection.&lt;/P&gt;&lt;P&gt;perform fieldcat_build.&lt;/P&gt;&lt;P&gt;perform event_build.&lt;/P&gt;&lt;P&gt;perform event_exit_build.&lt;/P&gt;&lt;P&gt;perform exclude_build.&lt;/P&gt;&lt;P&gt;perform print_build.&lt;/P&gt;&lt;P&gt;perform layout_build.&lt;/P&gt;&lt;P&gt;perform display_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Top of Page&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------" /&gt;&lt;P&gt;top-of-page.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Top of Page During Line Sel&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------" /&gt;&lt;P&gt;top-of-page during line-selection.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;At User Command&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------" /&gt;&lt;P&gt;at user-command.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;At Line Selection&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------" /&gt;&lt;P&gt;at line-selection.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Macros&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------" /&gt;&lt;P&gt;define skip_1.&lt;/P&gt;&lt;P&gt;write: /001 sy-vline,&lt;/P&gt;&lt;P&gt;at sy-linsz sy-vline.&lt;/P&gt;&lt;P&gt;end-of-definition.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Forms&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&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 variant_f4&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;form variant_f4 using p_variant.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;call function 'LVC_VARIANT_F4'&lt;/P&gt;&lt;P&gt;exporting&lt;/P&gt;&lt;P&gt;is_variant = w_variant&lt;/P&gt;&lt;P&gt;i_save = w_variant_save&lt;/P&gt;&lt;P&gt;importing&lt;/P&gt;&lt;P&gt;e_exit = w_exit&lt;/P&gt;&lt;P&gt;es_variant = wx_variant&lt;/P&gt;&lt;P&gt;exceptions&lt;/P&gt;&lt;P&gt;not_found = 1&lt;/P&gt;&lt;P&gt;program_error = 2&lt;/P&gt;&lt;P&gt;others = 3.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;message i000(zz) with text-g01.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if w_exit is initial.&lt;/P&gt;&lt;P&gt;w_variant-variant = wx_variant-variant.&lt;/P&gt;&lt;P&gt;p_variant = wx_variant-variant.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&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 init_variant&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;form init_variant.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;clear: w_variant.&lt;/P&gt;&lt;P&gt;w_repid = sy-repid.&lt;/P&gt;&lt;P&gt;w_variant-report = w_repid.&lt;/P&gt;&lt;P&gt;w_variant-username = sy-uname.&lt;/P&gt;&lt;P&gt;w_variant_save = 'A'. "All types&lt;/P&gt;&lt;P&gt;&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 variant_default&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;form variant_default using p_variant.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;wx_variant = w_variant.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if not p_variant is initial.&lt;/P&gt;&lt;P&gt;wx_variant-variant = p_variant.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;call function 'LVC_VARIANT_DEFAULT_GET'&lt;/P&gt;&lt;P&gt;exporting&lt;/P&gt;&lt;P&gt;i_save = w_variant_save&lt;/P&gt;&lt;P&gt;changing&lt;/P&gt;&lt;P&gt;cs_variant = wx_variant&lt;/P&gt;&lt;P&gt;exceptions&lt;/P&gt;&lt;P&gt;wrong_input = 1&lt;/P&gt;&lt;P&gt;not_found = 2&lt;/P&gt;&lt;P&gt;program_error = 3&lt;/P&gt;&lt;P&gt;others = 4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;case sy-subrc.&lt;/P&gt;&lt;P&gt;when 0.&lt;/P&gt;&lt;P&gt;p_variant = wx_variant-variant.&lt;/P&gt;&lt;P&gt;when 2.&lt;/P&gt;&lt;P&gt;clear: p_variant.&lt;/P&gt;&lt;P&gt;endcase.&lt;/P&gt;&lt;P&gt;&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 variant_fill&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;form variant_fill.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;clear: w_variant.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if p_vari is initial.&lt;/P&gt;&lt;P&gt;w_variant-variant = 'STANDARD'.&lt;/P&gt;&lt;P&gt;w_variant-report = w_repid.&lt;/P&gt;&lt;P&gt;else.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;w_variant-variant = p_vari.&lt;/P&gt;&lt;P&gt;w_variant-report = w_repid.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;call function 'LVC_VARIANT_EXISTENCE_CHECK'&lt;/P&gt;&lt;P&gt;exporting&lt;/P&gt;&lt;P&gt;i_save = w_variant_save&lt;/P&gt;&lt;P&gt;changing&lt;/P&gt;&lt;P&gt;cs_variant = w_variant&lt;/P&gt;&lt;P&gt;exceptions&lt;/P&gt;&lt;P&gt;others = 01.&lt;/P&gt;&lt;P&gt;if sy-subrc ne 0.&lt;/P&gt;&lt;P&gt;message i000(zz) with text-g02.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&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 fieldcat_build&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;form fieldcat_build.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;call function 'REUSE_ALV_FIELDCATALOG_MERGE'&lt;/P&gt;&lt;P&gt;exporting&lt;/P&gt;&lt;P&gt;i_program_name = w_repid&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;i_structure_name = 'TRDIR'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;i_internal_tabname = 'I_DATA'&lt;/P&gt;&lt;P&gt;i_inclname = w_repid&lt;/P&gt;&lt;P&gt;changing&lt;/P&gt;&lt;P&gt;ct_fieldcat = i_fieldcat_alv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Modify displayed fields&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;loop at i_fieldcat_alv into w_fieldcat_alv.&lt;/P&gt;&lt;P&gt;case w_fieldcat_alv-fieldname.&lt;/P&gt;&lt;P&gt;when 'NAME'.&lt;/P&gt;&lt;P&gt;w_fieldcat_alv-hotspot = 'X'.&lt;/P&gt;&lt;P&gt;when 'MYFIELD'.&lt;/P&gt;&lt;P&gt;w_fieldcat_alv-checkbox = 'X'.&lt;/P&gt;&lt;P&gt;w_fieldcat_alv-seltext_s = 'MyChkBox'.&lt;/P&gt;&lt;P&gt;when others.&lt;/P&gt;&lt;P&gt;endcase.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;modify i_fieldcat_alv from w_fieldcat_alv.&lt;/P&gt;&lt;P&gt;endloop.&lt;/P&gt;&lt;P&gt;&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 display_data&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;form display_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;w_callback_ucomm = 'CALLBACK_UCOMM'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;case 'X'.&lt;/P&gt;&lt;P&gt;when p_grid.&lt;/P&gt;&lt;P&gt;if p_html = 'X'.&lt;/P&gt;&lt;P&gt;w_html_top_of_page = 'HTML_TOP_OF_PAGE'.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;call function 'REUSE_ALV_GRID_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_background_id = 'SIWB_WALLPAPER'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;i_background_id = 'SIWB_WALLPAPER'&lt;/P&gt;&lt;P&gt;i_callback_program = w_repid&lt;/P&gt;&lt;P&gt;i_callback_html_top_of_page = w_html_top_of_page&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;i_structure_name = 'TRDIR'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;i_default = 'X'&lt;/P&gt;&lt;P&gt;i_save = 'A'&lt;/P&gt;&lt;P&gt;is_variant = w_variant&lt;/P&gt;&lt;P&gt;is_layout = w_layout&lt;/P&gt;&lt;P&gt;i_callback_user_command = w_callback_ucomm&lt;/P&gt;&lt;P&gt;it_fieldcat = i_fieldcat_alv&lt;/P&gt;&lt;P&gt;it_events = i_events&lt;/P&gt;&lt;P&gt;it_event_exit = i_event_exit&lt;/P&gt;&lt;P&gt;it_excluding = i_excluding&lt;/P&gt;&lt;P&gt;is_print = w_print&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;i_screen_start_column = 1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;i_screen_start_line = 1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;i_screen_end_column = 70&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;i_screen_end_line = 30&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;tables&lt;/P&gt;&lt;P&gt;t_outtab = i_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;when p_list.&lt;/P&gt;&lt;P&gt;call function 'REUSE_ALV_LIST_DISPLAY'&lt;/P&gt;&lt;P&gt;exporting&lt;/P&gt;&lt;P&gt;i_background_id = 'ALV_BACKGROUND'&lt;/P&gt;&lt;P&gt;i_callback_program = w_repid&lt;/P&gt;&lt;P&gt;i_default = 'X'&lt;/P&gt;&lt;P&gt;i_save = 'A'&lt;/P&gt;&lt;P&gt;is_variant = w_variant&lt;/P&gt;&lt;P&gt;is_layout = w_layout&lt;/P&gt;&lt;P&gt;i_callback_user_command = w_callback_ucomm&lt;/P&gt;&lt;P&gt;it_fieldcat = i_fieldcat_alv&lt;/P&gt;&lt;P&gt;it_events = i_events&lt;/P&gt;&lt;P&gt;it_event_exit = i_event_exit&lt;/P&gt;&lt;P&gt;is_print = w_print&lt;/P&gt;&lt;P&gt;tables&lt;/P&gt;&lt;P&gt;t_outtab = i_data.&lt;/P&gt;&lt;P&gt;endcase.&lt;/P&gt;&lt;P&gt;&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 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 callback_ucomm using r_ucomm like sy-ucomm&lt;/P&gt;&lt;P&gt;rs_selfield type slis_selfield.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;message i000(zz) with r_ucomm.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;case r_ucomm.&lt;/P&gt;&lt;P&gt;when '&amp;amp;IC1'.&lt;/P&gt;&lt;P&gt;set parameter id 'RID' field rs_selfield-value.&lt;/P&gt;&lt;P&gt;call transaction 'SE38'.&lt;/P&gt;&lt;P&gt;when others.&lt;/P&gt;&lt;P&gt;endcase.&lt;/P&gt;&lt;P&gt;&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 get_data&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;form get_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;select * up to 15 rows from trdir&lt;/P&gt;&lt;P&gt;into corresponding fields of table i_data&lt;/P&gt;&lt;P&gt;where name in s_name.&lt;/P&gt;&lt;P&gt;&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 ALV_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 alv_top_of_page.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;clear: i_list_comments[].&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;w_list_comments-typ = 'H'. "H=Header, S=Selection, A=Action&lt;/P&gt;&lt;P&gt;w_list_comments-key = ''.&lt;/P&gt;&lt;P&gt;w_list_comments-info = 'Info 1'.&lt;/P&gt;&lt;P&gt;append w_list_comments to i_list_comments.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;w_list_comments-typ = 'A'. " H = Header, S = Selection, A = Action&lt;/P&gt;&lt;P&gt;w_list_comments-key = ''.&lt;/P&gt;&lt;P&gt;w_list_comments-info = 'Begin of list'.&lt;/P&gt;&lt;P&gt;append w_list_comments to i_list_comments.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;call function 'REUSE_ALV_COMMENTARY_WRITE'&lt;/P&gt;&lt;P&gt;exporting&lt;/P&gt;&lt;P&gt;i_logo = 'ENJOYSAP_LOGO'&lt;/P&gt;&lt;P&gt;it_list_commentary = i_list_comments.&lt;/P&gt;&lt;P&gt;&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 event_build&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;form event_build.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;call function 'REUSE_ALV_EVENTS_GET'&lt;/P&gt;&lt;P&gt;exporting&lt;/P&gt;&lt;P&gt;i_list_type = 0&lt;/P&gt;&lt;P&gt;importing&lt;/P&gt;&lt;P&gt;et_events = i_events.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;read table i_events&lt;/P&gt;&lt;P&gt;with key name = slis_ev_top_of_page&lt;/P&gt;&lt;P&gt;into w_events.&lt;/P&gt;&lt;P&gt;if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;move 'ALV_TOP_OF_PAGE' to w_events-form.&lt;/P&gt;&lt;P&gt;modify i_events from w_events index sy-tabix.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;read table i_events&lt;/P&gt;&lt;P&gt;with key name = slis_ev_end_of_list&lt;/P&gt;&lt;P&gt;into w_events.&lt;/P&gt;&lt;P&gt;if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;move 'ALV_END_OF_LIST' to w_events-form.&lt;/P&gt;&lt;P&gt;modify i_events from w_events index sy-tabix.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;read table i_events&lt;/P&gt;&lt;P&gt;with key name = slis_ev_end_of_page&lt;/P&gt;&lt;P&gt;into w_events.&lt;/P&gt;&lt;P&gt;if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;move 'ALV_END_OF_PAGE' to w_events-form.&lt;/P&gt;&lt;P&gt;modify i_events from w_events index sy-tabix.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&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 alv_end_of_list *&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 alv_end_of_list.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;clear: i_list_comments[].&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;w_list_comments-typ = 'A'. "H = Header, S = Selection, A = Action&lt;/P&gt;&lt;P&gt;w_list_comments-key = ''.&lt;/P&gt;&lt;P&gt;w_list_comments-info = 'End of list'.&lt;/P&gt;&lt;P&gt;append w_list_comments to i_list_comments.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;call function 'REUSE_ALV_COMMENTARY_WRITE'&lt;/P&gt;&lt;P&gt;exporting&lt;/P&gt;&lt;P&gt;it_list_commentary = i_list_comments&lt;/P&gt;&lt;P&gt;i_logo = 'ZMYOBJECTKEY'&lt;/P&gt;&lt;P&gt;i_end_of_list_grid = 'X'.&lt;/P&gt;&lt;P&gt;&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 alv_end_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 alv_end_of_page.&lt;/P&gt;&lt;P&gt;&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 print_build&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;form print_build.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;w_print-no_print_listinfos = 'X'.&lt;/P&gt;&lt;P&gt;&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 layout_build&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;form layout_build.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;w_layout-zebra = 'X'.&lt;/P&gt;&lt;P&gt;w_layout-no_vline = 'X'.&lt;/P&gt;&lt;P&gt;w_layout-colwidth_optimize = 'X'.&lt;/P&gt;&lt;P&gt;w_layout-detail_popup = 'X'.&lt;/P&gt;&lt;P&gt;w_layout-detail_initial_lines = 'X'.&lt;/P&gt;&lt;P&gt;w_layout-detail_titlebar = 'Detail Title Bar'.&lt;/P&gt;&lt;P&gt;&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 event_exit_build&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;form event_exit_build.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;clear: i_event_exit[].&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Pick&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;w_event_exit-ucomm = '&amp;amp;ETA'.&lt;/P&gt;&lt;P&gt;w_event_exit-before = ' '.&lt;/P&gt;&lt;P&gt;w_event_exit-after = 'X'.&lt;/P&gt;&lt;P&gt;append w_event_exit to i_event_exit.&lt;/P&gt;&lt;P&gt;&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 HTML_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 html_top_of_page using r_top type ref to cl_dd_document.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data:&lt;/P&gt;&lt;P&gt;text type sdydo_text_element,&lt;/P&gt;&lt;P&gt;s_table type ref to cl_dd_table_element,&lt;/P&gt;&lt;P&gt;col_key type ref to cl_dd_area,&lt;/P&gt;&lt;P&gt;col_info type ref to cl_dd_area,&lt;/P&gt;&lt;P&gt;a_logo type ref to cl_dd_area.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Split TOP-Document&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;call method r_top-&amp;gt;vertical_split&lt;/P&gt;&lt;P&gt;exporting split_area = r_top&lt;/P&gt;&lt;P&gt;split_width = '30%'&lt;/P&gt;&lt;P&gt;importing right_area = a_logo.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Fill TOP-Document&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;call method r_top-&amp;gt;add_text&lt;/P&gt;&lt;P&gt;exporting text = 'Example of a Heading'&lt;/P&gt;&lt;P&gt;sap_style = 'HEADING'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;call method r_top-&amp;gt;new_line.&lt;/P&gt;&lt;P&gt;call method r_top-&amp;gt;new_line.&lt;/P&gt;&lt;P&gt;call method r_top-&amp;gt;add_table&lt;/P&gt;&lt;P&gt;exporting no_of_columns = 2&lt;/P&gt;&lt;P&gt;with_heading = ' '&lt;/P&gt;&lt;P&gt;border = '1'&lt;/P&gt;&lt;P&gt;importing table = s_table.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;call method s_table-&amp;gt;add_column importing column = col_key.&lt;/P&gt;&lt;P&gt;call method s_table-&amp;gt;add_column importing column = col_info.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;text = 'A key value marked'.&lt;/P&gt;&lt;P&gt;call method col_key-&amp;gt;add_text&lt;/P&gt;&lt;P&gt;exporting text = text&lt;/P&gt;&lt;P&gt;sap_emphasis = 'Strong'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;call method col_info-&amp;gt;add_gap exporting width = 6.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;text = '600' .&lt;/P&gt;&lt;P&gt;call method col_info-&amp;gt;add_text&lt;/P&gt;&lt;P&gt;exporting text = text&lt;/P&gt;&lt;P&gt;sap_style = 'Key'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;call method col_info-&amp;gt;add_gap exporting width = 3.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;text = 'Block brick units'.&lt;/P&gt;&lt;P&gt;call method col_info-&amp;gt;add_text exporting text = text.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;call method s_table-&amp;gt;new_row.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;text = 'Storage Bin'.&lt;/P&gt;&lt;P&gt;call method col_key-&amp;gt;add_text&lt;/P&gt;&lt;P&gt;exporting text = text&lt;/P&gt;&lt;P&gt;sap_emphasis = 'Strong'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;call method col_info-&amp;gt;add_gap exporting width = 7.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;text = 'C-A-004'.&lt;/P&gt;&lt;P&gt;call method col_info-&amp;gt;add_text exporting text = text.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;call method s_table-&amp;gt;new_row.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;text = 'Warehouse number' .&lt;/P&gt;&lt;P&gt;call method col_key-&amp;gt;add_text&lt;/P&gt;&lt;P&gt;exporting text = text&lt;/P&gt;&lt;P&gt;sap_emphasis = 'Strong'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;call method col_info-&amp;gt;add_gap exporting width = 6.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;text = '200' .&lt;/P&gt;&lt;P&gt;call method col_info-&amp;gt;add_text&lt;/P&gt;&lt;P&gt;exporting text = text&lt;/P&gt;&lt;P&gt;sap_style = 'Success'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;call method col_info-&amp;gt;add_gap exporting width = 3.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;text = 'marked success'.&lt;/P&gt;&lt;P&gt;call method col_info-&amp;gt;add_text exporting text = text.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;call method s_table-&amp;gt;new_row.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;call method r_top-&amp;gt;new_line.&lt;/P&gt;&lt;P&gt;text = 'This last line is a comment in italics.'.&lt;/P&gt;&lt;P&gt;call method r_top-&amp;gt;add_text&lt;/P&gt;&lt;P&gt;exporting text = text&lt;/P&gt;&lt;P&gt;sap_emphasis = 'EMPHASIS'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;call method r_top-&amp;gt;new_line.&lt;/P&gt;&lt;P&gt;call method a_logo-&amp;gt;add_picture&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;exporting picture_id = 'ZZTESTBMP'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;exporting picture_id = 'ENJOYSAP_LOGO'.&lt;/P&gt;&lt;P&gt;&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 exclude_build&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;form exclude_build.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;w_excluding = '&amp;amp;GRAPH'. "Graphic&lt;/P&gt;&lt;P&gt;append w_excluding to i_excluding.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform. " exclude_build&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Rgds,&lt;/P&gt;&lt;P&gt;Sunil.K&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 27 Nov 2006 07:18:59 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-interactive/m-p/1651489#M289410</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-11-27T07:18:59Z</dc:date>
    </item>
    <item>
      <title>Re: ALV Interactive</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-interactive/m-p/1651490#M289411</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi muhammed,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1. In alv we cannot use AT LINE Selection&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;2. For alv, there is a special syntax, so that when we double-click on alv,&lt;/P&gt;&lt;P&gt;   our FORM / routine is called and there we display another alv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;3. just copy paste to get a taste of interactive alv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT abc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPE-POOLS : slis.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------" /&gt;&lt;P&gt; Data&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : ITAB LIKE T001 OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;DATA : alvfc TYPE slis_t_fieldcat_alv.&lt;/P&gt;&lt;P&gt;DATA : STAB LIKE T001 OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----" /&gt;&lt;P&gt; Select Data&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT * FROM t001 INTO TABLE itab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*------- Field Catalogue&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'&lt;/P&gt;&lt;P&gt;  EXPORTING&lt;/P&gt;&lt;P&gt;    i_program_name         = sy-repid&lt;/P&gt;&lt;P&gt;    i_internal_tabname     = 'ITAB'&lt;/P&gt;&lt;P&gt;    i_inclname             = sy-repid&lt;/P&gt;&lt;P&gt;  CHANGING&lt;/P&gt;&lt;P&gt;    ct_fieldcat            = alvfc&lt;/P&gt;&lt;P&gt;  EXCEPTIONS&lt;/P&gt;&lt;P&gt;    inconsistent_interface = 1&lt;/P&gt;&lt;P&gt;    program_error          = 2&lt;/P&gt;&lt;P&gt;    OTHERS                 = 3.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------" /&gt;&lt;P&gt;Display&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'&lt;/P&gt;&lt;P&gt;  EXPORTING&lt;/P&gt;&lt;P&gt;    it_fieldcat             = alvfc&lt;/P&gt;&lt;P&gt;    i_callback_program      = sy-repid "&amp;lt;-------Important&lt;/P&gt;&lt;P&gt;    i_callback_user_command = 'ITAB_USER_COMMAND' "&amp;lt;------ Important&lt;/P&gt;&lt;P&gt;  TABLES&lt;/P&gt;&lt;P&gt;    t_outtab                = itab&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;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="--------------------------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;CALL BACK FORM&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="--------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM itab_user_command USING whatcomm TYPE sy-ucomm whatrow TYPE&lt;/P&gt;&lt;P&gt;slis_selfield.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----" /&gt;&lt;P&gt; IMPORTANT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  READ TABLE ITAB INDEX WHATROW-TABINDEX.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;  CLEAR STAB.&lt;/P&gt;&lt;P&gt;  SELECT * FROM T001&lt;/P&gt;&lt;P&gt;  INTO TABLE STAB&lt;/P&gt;&lt;P&gt;  WHERE BUKRS = ITAB-BUKRS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR ALVFC.&lt;/P&gt;&lt;P&gt;*------- Field Catalogue&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      i_program_name         = sy-repid&lt;/P&gt;&lt;P&gt;      i_internal_tabname     = 'STAB'&lt;/P&gt;&lt;P&gt;      i_inclname             = sy-repid&lt;/P&gt;&lt;P&gt;    CHANGING&lt;/P&gt;&lt;P&gt;      ct_fieldcat            = alvfc&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      inconsistent_interface = 1&lt;/P&gt;&lt;P&gt;      program_error          = 2&lt;/P&gt;&lt;P&gt;      OTHERS                 = 3.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------" /&gt;&lt;P&gt;Display&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      it_fieldcat        = alvfc&lt;/P&gt;&lt;P&gt;      i_callback_program = sy-repid "&amp;lt;-------Important&lt;/P&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      t_outtab           = Stab&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;&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;ENDFORM. "ITAB_user_command&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;regards,&lt;/P&gt;&lt;P&gt;amit m.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 27 Nov 2006 07:22:43 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-interactive/m-p/1651490#M289411</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-11-27T07:22:43Z</dc:date>
    </item>
    <item>
      <title>Re: ALV Interactive</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-interactive/m-p/1651491#M289412</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Ansari,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;check this program&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT  Z7RNP_ALV_SO  MESSAGE-ID Z7NEW .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;TABLE DECLARATION&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;TABLES: VBAK ,             "Sales Document: Header Data&lt;/P&gt;&lt;P&gt;        VBAP ,             "Sales Document: Item Data&lt;/P&gt;&lt;P&gt;        MAKT ,             "Material Descriptions&lt;/P&gt;&lt;P&gt;        LIPS .             "SD document: Delivery: Item data&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;DECLARATION OF TYPE-POOL&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;*THIS TYPE-POOL CONTAINS THE EVENTS,&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;TYPE-POOLS : SLIS.&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;DECLARATION OF EVENTS&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;DATA: I_EVENT TYPE SLIS_T_EVENT.&lt;/P&gt;&lt;P&gt;DATA: T_EVENT TYPE SLIS_ALV_EVENT.&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;DECLARATION OF LIST HEADER&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;DATA: I_LISTHEADER TYPE SLIS_T_LISTHEADER.&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;DECLARATION OF FIELD CATALOG FOR SCREEN 1&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;DATA: I_FLDCAT TYPE SLIS_T_FIELDCAT_ALV WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;DECLARATION OF FIELD CATALOG FOR SCREEN 2&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;DATA: I_FLDCAT2 TYPE SLIS_T_FIELDCAT_ALV WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;DECLARATION OF FIELD LAYOUT&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;DATA: I_LAYOUT TYPE SLIS_LAYOUT_ALV.&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;SORTING OF OUTPUT&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;DATA: I_SORT TYPE SLIS_T_SORTINFO_ALV.&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;*DATA DECLARATION&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;DATA: V_AUART TYPE TVAK-AUART,&lt;/P&gt;&lt;P&gt;      V_VKORG TYPE TVKO-VKORG,&lt;/P&gt;&lt;P&gt;      V_KUNNR TYPE KNA1-KUNNR,&lt;/P&gt;&lt;P&gt;      V_MATNR TYPE MARA-MATNR ,&lt;/P&gt;&lt;P&gt;      V_SPART TYPE TVTA-SPART .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF IT_SO ,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       VBELN TYPE VBELN_VA ,          "SALES ORDER NO.&lt;/P&gt;&lt;P&gt;       AUART TYPE AUART ,             "SALES DOC. TYPE&lt;/P&gt;&lt;P&gt;       VKORG TYPE VKORG ,             "SALES ORG.&lt;/P&gt;&lt;P&gt;       SPART TYPE SPART ,             "DIVISION&lt;/P&gt;&lt;P&gt;       KUNNR TYPE KUNAG ,             "SOLD TO PARTY&lt;/P&gt;&lt;P&gt;       POSNR TYPE POSNR_VA ,          "SALES DOC. ITEM&lt;/P&gt;&lt;P&gt;       MATNR TYPE MATNR ,             "MATERIAL NO&lt;/P&gt;&lt;P&gt;       MAKTX TYPE MAKTX ,             "DESCRIPTION&lt;/P&gt;&lt;P&gt;       KWMENG TYPE KWMENG ,           "QUANTITY&lt;/P&gt;&lt;P&gt;       VRKME TYPE VRKME ,             "SALES UNIT&lt;/P&gt;&lt;P&gt;       LINE_COLOR(4) TYPE C ,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       END OF IT_SO .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF IT_DEL ,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       VBELN TYPE VBELN_VL ,         "SALES ORDER NO.&lt;/P&gt;&lt;P&gt;       POSNR TYPE POSNR_VL ,         "SALES DOC. ITEM&lt;/P&gt;&lt;P&gt;       MATNR TYPE MATNR ,            "MATERIAL NO&lt;/P&gt;&lt;P&gt;       WERKS TYPE WERKS_D ,          "PLANT&lt;/P&gt;&lt;P&gt;       LGORT TYPE LGORT_D ,          "STORAGE LOCATION&lt;/P&gt;&lt;P&gt;       CHARG TYPE CHARG_D ,          "BATCH NO.&lt;/P&gt;&lt;P&gt;       LFIMG TYPE LFIMG ,            "ACTUAL DELIVERY QTY.&lt;/P&gt;&lt;P&gt;       VRKME TYPE VRKME ,            "SALES UNIT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       END OF IT_DEL .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF TYPE_VBFA ,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      VBELV TYPE VBELN_VON , "Preceding sales and distribution document&lt;/P&gt;&lt;P&gt;      POSNV TYPE POSNR_VON , "Preceding item of an SD document&lt;/P&gt;&lt;P&gt;      VBELN TYPE VBELN_NACH, "Subsequent sales and distribution document&lt;/P&gt;&lt;P&gt;      POSNN TYPE POSNR_NACH, "Document category of subsequent document&lt;/P&gt;&lt;P&gt;      VBTYP_N TYPE VBTYP_N ,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      END OF TYPE_VBFA .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: IT_SO1 TYPE STANDARD TABLE OF IT_SO ,&lt;/P&gt;&lt;P&gt;      IT_DEL1 TYPE STANDARD TABLE OF IT_DEL ,&lt;/P&gt;&lt;P&gt;      IT_VBFA TYPE STANDARD TABLE OF TYPE_VBFA,&lt;/P&gt;&lt;P&gt;      IT_DEL_FUL TYPE STANDARD TABLE OF IT_DEL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: WA_SO TYPE IT_SO ,&lt;/P&gt;&lt;P&gt;      WA_DEL TYPE IT_DEL ,&lt;/P&gt;&lt;P&gt;      WA_VBFA TYPE TYPE_VBFA,&lt;/P&gt;&lt;P&gt;      WA_IT_DEL_FUL TYPE IT_DEL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;*SELECTION SCREEN                                                      *&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK BLK1 WITH FRAME TITLE TEXT-004 .&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS: S_VBELN FOR VBAK-VBELN ,&lt;/P&gt;&lt;P&gt;                S_AUART FOR V_AUART ,&lt;/P&gt;&lt;P&gt;                S_VKORG FOR V_VKORG ,&lt;/P&gt;&lt;P&gt;                S_SPART FOR V_SPART ,&lt;/P&gt;&lt;P&gt;                S_KUNNR FOR V_KUNNR ,&lt;/P&gt;&lt;P&gt;                S_MATNR FOR V_MATNR .&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK BLK1 .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;*AT SELECTION SCREEN                                                   *&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT SINGLE VBELN&lt;/P&gt;&lt;P&gt;                 FROM VBAK INTO VBAK-VBELN&lt;/P&gt;&lt;P&gt;                 WHERE VBELN IN S_VBELN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    MESSAGE E202.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;*START OF SELECTION                                                    *&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;START-OF-SELECTION .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM DATA_SELECT.&lt;/P&gt;&lt;P&gt;  PERFORM T_SORT USING I_SORT .&lt;/P&gt;&lt;P&gt;  PERFORM EVENT_CAT USING I_EVENT .&lt;/P&gt;&lt;P&gt;  PERFORM FLD_CAT USING I_FLDCAT[] .&lt;/P&gt;&lt;P&gt;  PERFORM T_LAYOUT USING I_LAYOUT .&lt;/P&gt;&lt;P&gt;  PERFORM FLD_CAT2 USING I_FLDCAT2[] .&lt;/P&gt;&lt;P&gt;  PERFORM CALL_ALV.&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;DATA SELECT                                                          *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&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;      Form  DATA_SELECT&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 DATA_SELECT .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  REFRESH: IT_VBFA, IT_SO1, IT_DEL_FUL ,IT_DEL1 .&lt;/P&gt;&lt;P&gt;  BREAK-POINT.&lt;/P&gt;&lt;P&gt;  SELECT&lt;/P&gt;&lt;P&gt;        A~VBELN&lt;/P&gt;&lt;P&gt;        A~AUART&lt;/P&gt;&lt;P&gt;        A~VKORG&lt;/P&gt;&lt;P&gt;        A~SPART&lt;/P&gt;&lt;P&gt;        A~KUNNR&lt;/P&gt;&lt;P&gt;        B~POSNR&lt;/P&gt;&lt;P&gt;        B~MATNR&lt;/P&gt;&lt;P&gt;        C~MAKTX&lt;/P&gt;&lt;P&gt;        B~KWMENG&lt;/P&gt;&lt;P&gt;        B~VRKME&lt;/P&gt;&lt;P&gt;        INTO TABLE IT_SO1 FROM VBAK AS A&lt;/P&gt;&lt;P&gt;              JOIN VBAP AS B ON B&lt;SUB&gt;VBELN = A&lt;/SUB&gt;VBELN&lt;/P&gt;&lt;P&gt;              JOIN MAKT AS C ON C&lt;SUB&gt;MATNR = B&lt;/SUB&gt;MATNR&lt;/P&gt;&lt;P&gt;              AND C~SPRAS = SY-LANGU&lt;/P&gt;&lt;P&gt;              WHERE A~VBELN IN S_VBELN .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;COLURING DISPLAY                                                     *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: LD_COLOR(1) TYPE  C .&lt;/P&gt;&lt;P&gt;  LOOP AT IT_SO1 INTO WA_SO.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Populate color variable with colour properties&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Char 1 = C (This is a color property)&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Char 2 = 3 (Color codes: 1 - 7)&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Char 3 = Intensified on/off ( 1 or 0 )&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Char 4 = Inverse display on/off ( 1 or 0 )&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          i.e. wa_ekko-line_color = 'C410'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    LD_COLOR = LD_COLOR + 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Only 7 colours so need to reset color value&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    IF LD_COLOR = 8.&lt;/P&gt;&lt;P&gt;      LD_COLOR = 1.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    CONCATENATE 'C' LD_COLOR '10' INTO WA_SO-LINE_COLOR.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; wa_ekko-line_color = 'C410'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    MODIFY IT_SO1 FROM WA_SO.&lt;/P&gt;&lt;P&gt;  ENDLOOP .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SELECT VBELV&lt;/P&gt;&lt;P&gt;           POSNV&lt;/P&gt;&lt;P&gt;           VBELN&lt;/P&gt;&lt;P&gt;           POSNN&lt;/P&gt;&lt;P&gt;           VBTYP_N&lt;/P&gt;&lt;P&gt;           INTO TABLE IT_VBFA&lt;/P&gt;&lt;P&gt;           FROM VBFA&lt;/P&gt;&lt;P&gt;           FOR ALL ENTRIES IN IT_SO1&lt;/P&gt;&lt;P&gt;           WHERE VBELV = IT_SO1-VBELN&lt;/P&gt;&lt;P&gt;           AND   POSNN = IT_SO1-POSNR&lt;/P&gt;&lt;P&gt;           AND VBTYP_N ='J' .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      SELECT VBELN&lt;/P&gt;&lt;P&gt;             POSNR&lt;/P&gt;&lt;P&gt;             MATNR&lt;/P&gt;&lt;P&gt;             WERKS&lt;/P&gt;&lt;P&gt;             LGORT&lt;/P&gt;&lt;P&gt;             CHARG&lt;/P&gt;&lt;P&gt;             LFIMG&lt;/P&gt;&lt;P&gt;             VRKME&lt;/P&gt;&lt;P&gt;             FROM LIPS INTO TABLE IT_DEL_FUL&lt;/P&gt;&lt;P&gt;             FOR ALL ENTRIES IN IT_VBFA&lt;/P&gt;&lt;P&gt;             WHERE VBELN = IT_VBFA-VBELN&lt;/P&gt;&lt;P&gt;             AND   POSNR = IT_VBFA-POSNN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " DATA_SELECT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***********************************************************************&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;UL&gt;&lt;UL&gt;&lt;LI level="16" type="ul"&gt;&lt;P&gt;EVENT CATALOG ****************************************&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;/UL&gt;&lt;/UL&gt;&lt;P&gt;***********************************************************************&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;      Form  EVENT_CAT&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;P_I_EVENT  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;&lt;/P&gt;&lt;P&gt;FORM EVENT_CAT  USING    P_I_EVENT TYPE SLIS_T_EVENT .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  REFRESH P_I_EVENT .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_EVENTS_GET'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_LIST_TYPE           = 0&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   IMPORTING&lt;/P&gt;&lt;P&gt;      ET_EVENTS             = P_I_EVENT&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;  LIST_TYPE_WRONG       = 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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;LI level="2" 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="2" 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;LI level="1" type="ul"&gt;&lt;P&gt; ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  READ TABLE P_I_EVENT WITH KEY NAME = SLIS_EV_TOP_OF_PAGE INTO T_EVENT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    MOVE 'TOP_OF_PAGE' TO T_EVENT-FORM.&lt;/P&gt;&lt;P&gt;    MODIFY P_I_EVENT FROM T_EVENT INDEX SY-TABIX TRANSPORTING FORM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR T_EVENT .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " EVENT_CAT&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;STRONG&gt;FORM FOR EVENT TOP_OF_PAGE&lt;/STRONG&gt;*********************************&lt;/P&gt;&lt;P&gt;**********************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM TOP_OF_PAGE .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  REFRESH I_LISTHEADER.&lt;/P&gt;&lt;P&gt;  DATA: T_HEADER TYPE SLIS_LISTHEADER.&lt;/P&gt;&lt;P&gt;  DATA: V_TEXT(50).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  WRITE SY-DATUM TO V_TEXT.&lt;/P&gt;&lt;P&gt;  CLEAR T_HEADER.&lt;/P&gt;&lt;P&gt;  T_HEADER-TYP = 'S'.&lt;/P&gt;&lt;P&gt;  T_HEADER-KEY = "Date".&lt;/P&gt;&lt;P&gt;  T_HEADER-INFO = V_TEXT.&lt;/P&gt;&lt;P&gt;  APPEND T_HEADER TO I_LISTHEADER.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR T_HEADER.&lt;/P&gt;&lt;P&gt;  CLEAR V_TEXT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  WRITE:  'SALES ORDER REPORT  ' TO V_TEXT .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  T_HEADER-TYP = 'S'.&lt;/P&gt;&lt;P&gt;  T_HEADER-KEY = 'TITLE'.&lt;/P&gt;&lt;P&gt;  T_HEADER-INFO = V_TEXT.&lt;/P&gt;&lt;P&gt;  APPEND T_HEADER TO I_LISTHEADER.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      IT_LIST_COMMENTARY = I_LISTHEADER.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     I_LOGO             = 'ALV_BACKGROUND'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_END_OF_LIST_GRID       =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "TOP_OF_PAGE&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&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;LI level="8" type="ul"&gt;&lt;P&gt; FIRST ALV GRID DISPLAY ***************************************&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;P&gt;************************************************************************&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;      Form  CALL_ALV&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;&lt;/P&gt;&lt;P&gt;FORM CALL_ALV .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   EXPORTING&lt;/P&gt;&lt;P&gt;     I_CALLBACK_PROGRAM                = SY-REPID&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   I_CALLBACK_PF_STATUS_SET          = 'SET_PF_STATUS'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     I_CALLBACK_USER_COMMAND           = 'USER_COMMAND1'&lt;/P&gt;&lt;P&gt;     I_CALLBACK_TOP_OF_PAGE            = 'TOP_OF_PAGE'&lt;/P&gt;&lt;P&gt;     I_BACKGROUND_ID                   = 'ALV_BACKGROUND'&lt;/P&gt;&lt;P&gt;     IS_LAYOUT                         = I_LAYOUT&lt;/P&gt;&lt;P&gt;     IT_FIELDCAT                       = I_FLDCAT[]&lt;/P&gt;&lt;P&gt;     IT_SORT                           = I_SORT&lt;/P&gt;&lt;P&gt;     IT_EVENTS                         = I_EVENT&lt;/P&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;     T_OUTTAB                          = IT_SO1&lt;/P&gt;&lt;P&gt;            .&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;LI level="2" 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="2" 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;LI level="1" type="ul"&gt;&lt;P&gt; ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " CALL_ALV&lt;/P&gt;&lt;P&gt;***********************************************************************&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;FIRST FIELDCATALOG *************************************&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;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  FLD_CAT&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;P_I_FLDCAT[]  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;&lt;/P&gt;&lt;P&gt;FORM FLD_CAT  USING    P_I_FLDCAT TYPE SLIS_T_FIELDCAT_ALV.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR I_FLDCAT.&lt;/P&gt;&lt;P&gt;  I_FLDCAT-FIELDNAME   = 'VBELN'. "FIELD FOR WHICH CATALOG ID FILLED&lt;/P&gt;&lt;P&gt;  I_FLDCAT-TABNAME     = 'IT_SO1'."TABLE NAME&lt;/P&gt;&lt;P&gt;  I_FLDCAT-SELTEXT_M   = 'SALES ORDER NO.'.&lt;/P&gt;&lt;P&gt;  I_FLDCAT-COL_POS     = 1.        " POSITION OF THE COLUMN.&lt;/P&gt;&lt;P&gt;  I_FLDCAT-OUTPUTLEN   = 20.       " SET THE OUTPUT LENGTH.&lt;/P&gt;&lt;P&gt;  I_FLDCAT-EMPHASIZE   = 'X'.      " COLOR OF THIS COLUMN.&lt;/P&gt;&lt;P&gt;  I_FLDCAT-KEY         = 'X'.      " SO THAT THIS FIELD IS NOT&lt;/P&gt;&lt;P&gt;                                   "SCROLLABLE AND HIDDABLE.&lt;/P&gt;&lt;P&gt;  I_FLDCAT-HOTSPOT     = 'X'.&lt;/P&gt;&lt;P&gt;  I_FLDCAT-JUST(1)     = 'C'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  APPEND I_FLDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR I_FLDCAT.&lt;/P&gt;&lt;P&gt;  I_FLDCAT-FIELDNAME   = 'AUART'. "FIELD FOR WHICH CATALOG ID FILLED&lt;/P&gt;&lt;P&gt;  I_FLDCAT-TABNAME     = 'IT_SO1'."TABLE NAME&lt;/P&gt;&lt;P&gt;  I_FLDCAT-SELTEXT_M   = 'SALES DOC. TYPE'.&lt;/P&gt;&lt;P&gt;  I_FLDCAT-COL_POS     = 2.        " POSITION OF THE COLUMN.&lt;/P&gt;&lt;P&gt;  I_FLDCAT-OUTPUTLEN   = 15.       " SET THE OUTPUT LENGTH.&lt;/P&gt;&lt;P&gt;  I_FLDCAT-EMPHASIZE   = 'X'.      " COLOR OF THIS COLUMN.&lt;/P&gt;&lt;P&gt;  I_FLDCAT-KEY         = 'X'.      " SO THAT THIS FIELD IS NOT&lt;/P&gt;&lt;P&gt;                                   "SCROLLABLE AND HIDDABLE.&lt;/P&gt;&lt;P&gt;  I_FLDCAT-JUST(1)     = 'C'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  APPEND I_FLDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR I_FLDCAT.&lt;/P&gt;&lt;P&gt;  I_FLDCAT-FIELDNAME   = 'VKORG'. "FIELD FOR WHICH CATALOG ID FILLED&lt;/P&gt;&lt;P&gt;  I_FLDCAT-TABNAME     = 'IT_SO1'.&lt;/P&gt;&lt;P&gt;  I_FLDCAT-SELTEXT_M   = 'SALES ORG.'.&lt;/P&gt;&lt;P&gt;  I_FLDCAT-COL_POS     = 3.        " POSITION OF THE COLUMN.&lt;/P&gt;&lt;P&gt;  I_FLDCAT-OUTPUTLEN   = 12.       " SET THE OUTPUT LENGTH.&lt;/P&gt;&lt;P&gt;  I_FLDCAT-EMPHASIZE   = 'X'.      " COLOR OF THIS COLUMN.&lt;/P&gt;&lt;P&gt;  I_FLDCAT-KEY         = 'X'.      " SO THAT THIS FIELD IS NOT&lt;/P&gt;&lt;P&gt;                                   "SCROLLABLE AND HIDDABLE.&lt;/P&gt;&lt;P&gt;  I_FLDCAT-JUST(1)     = 'C'.&lt;/P&gt;&lt;P&gt;  APPEND I_FLDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR I_FLDCAT.&lt;/P&gt;&lt;P&gt;  I_FLDCAT-FIELDNAME   = 'SPART'. "FIELD FOR WHICH CATALOG ID FILLED&lt;/P&gt;&lt;P&gt;  I_FLDCAT-TABNAME     = 'IT_SO1'.&lt;/P&gt;&lt;P&gt;  I_FLDCAT-SELTEXT_M   = 'DIVISION'.&lt;/P&gt;&lt;P&gt;  I_FLDCAT-COL_POS     = 4.        " POSITION OF THE COLUMN.&lt;/P&gt;&lt;P&gt;  I_FLDCAT-OUTPUTLEN   = 10.       " SET THE OUTPUT LENGTH.&lt;/P&gt;&lt;P&gt;  I_FLDCAT-EMPHASIZE   = 'X'.      " COLOR OF THIS COLUMN.&lt;/P&gt;&lt;P&gt;  I_FLDCAT-KEY         = 'X'.      " SO THAT THIS FIELD IS NOT&lt;/P&gt;&lt;P&gt;                                   "SCROLLABLE AND HIDDABLE.&lt;/P&gt;&lt;P&gt;  I_FLDCAT-JUST(1)     = 'C'.&lt;/P&gt;&lt;P&gt;  APPEND I_FLDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR I_FLDCAT.&lt;/P&gt;&lt;P&gt;  I_FLDCAT-FIELDNAME   = 'KUNNR'. "FIELD FOR WHICH CATALOG ID FILLED&lt;/P&gt;&lt;P&gt;  I_FLDCAT-TABNAME     = 'IT_SO1'.&lt;/P&gt;&lt;P&gt;  I_FLDCAT-SELTEXT_M   = 'SOLD TO PARTY'.&lt;/P&gt;&lt;P&gt;  I_FLDCAT-COL_POS     = 5.        " POSITION OF THE COLUMN.&lt;/P&gt;&lt;P&gt;  I_FLDCAT-OUTPUTLEN   = 15.       " SET THE OUTPUT LENGTH.&lt;/P&gt;&lt;P&gt;  I_FLDCAT-EMPHASIZE   = 'X'.      " COLOR OF THIS COLUMN.&lt;/P&gt;&lt;P&gt;  I_FLDCAT-KEY         = 'X'.      " SO THAT THIS FIELD IS NOT&lt;/P&gt;&lt;P&gt;                                   "SCROLLABLE AND HIDDABLE.&lt;/P&gt;&lt;P&gt;  I_FLDCAT-JUST(1)     = 'C'.&lt;/P&gt;&lt;P&gt;  APPEND I_FLDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR I_FLDCAT.&lt;/P&gt;&lt;P&gt;  I_FLDCAT-FIELDNAME   = 'POSNR'. "FIELD FOR WHICH CATALOG ID FILLED&lt;/P&gt;&lt;P&gt;  I_FLDCAT-TABNAME     = 'IT_SO1'.&lt;/P&gt;&lt;P&gt;  I_FLDCAT-SELTEXT_M   = 'SALES DOC. ITEM'.&lt;/P&gt;&lt;P&gt;  I_FLDCAT-COL_POS     = 6.        " POSITION OF THE COLUMN.&lt;/P&gt;&lt;P&gt;  I_FLDCAT-OUTPUTLEN   = 17.       " SET THE OUTPUT LENGTH.&lt;/P&gt;&lt;P&gt;  I_FLDCAT-EMPHASIZE   = 'X'.      " COLOR OF THIS COLUMN.&lt;/P&gt;&lt;P&gt;  I_FLDCAT-KEY         = 'X'.      " SO THAT THIS FIELD IS NOT&lt;/P&gt;&lt;P&gt;                                   "SCROLLABLE AND HIDDABLE.&lt;/P&gt;&lt;P&gt;  I_FLDCAT-JUST(1)     = 'C'.&lt;/P&gt;&lt;P&gt;  APPEND I_FLDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR I_FLDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  I_FLDCAT-FIELDNAME   = 'MATNR'. "FIELD FOR WHICH CATALOG ID FILLED&lt;/P&gt;&lt;P&gt;  I_FLDCAT-TABNAME     = 'IT_SO1'.&lt;/P&gt;&lt;P&gt;  I_FLDCAT-SELTEXT_M   = 'MATERIAL NO.'.&lt;/P&gt;&lt;P&gt;  I_FLDCAT-COL_POS     = 7.        " POSITION OF THE COLUMN.&lt;/P&gt;&lt;P&gt;  I_FLDCAT-OUTPUTLEN   = 20.       " SET THE OUTPUT LENGTH.&lt;/P&gt;&lt;P&gt;  I_FLDCAT-EMPHASIZE   = 'X'.      " COLOR OF THIS COLUMN.&lt;/P&gt;&lt;P&gt;  I_FLDCAT-KEY         = 'X'.      " SO THAT THIS FIELD IS NOT&lt;/P&gt;&lt;P&gt;                                   "SCROLLABLE AND HIDDABLE.&lt;/P&gt;&lt;P&gt;  I_FLDCAT-JUST(1)     = 'C'.&lt;/P&gt;&lt;P&gt;  APPEND I_FLDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR I_FLDCAT.&lt;/P&gt;&lt;P&gt;  I_FLDCAT-FIELDNAME   = 'MAKTX'. "FIELD FOR WHICH CATALOG ID FILLED&lt;/P&gt;&lt;P&gt;  I_FLDCAT-TABNAME     = 'IT_SO1'.&lt;/P&gt;&lt;P&gt;  I_FLDCAT-SELTEXT_M   = 'DESCRIPTION'.&lt;/P&gt;&lt;P&gt;  I_FLDCAT-COL_POS     = 8.        " POSITION OF THE COLUMN.&lt;/P&gt;&lt;P&gt;  I_FLDCAT-OUTPUTLEN   = 20.       " SET THE OUTPUT LENGTH.&lt;/P&gt;&lt;P&gt;  I_FLDCAT-EMPHASIZE   = 'X'.      " COLOR OF THIS COLUMN.&lt;/P&gt;&lt;P&gt;  I_FLDCAT-KEY         = 'X'.      " SO THAT THIS FIELD IS NOT&lt;/P&gt;&lt;P&gt;                                   "SCROLLABLE AND HIDDABLE.&lt;/P&gt;&lt;P&gt;  I_FLDCAT-JUST(1)     = 'C'.&lt;/P&gt;&lt;P&gt;  APPEND I_FLDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR I_FLDCAT.&lt;/P&gt;&lt;P&gt;  I_FLDCAT-FIELDNAME   = 'KWMENG'. "FIELD FOR WHICH CATALOG ID FILLED&lt;/P&gt;&lt;P&gt;  I_FLDCAT-TABNAME     = 'IT_SO1'.&lt;/P&gt;&lt;P&gt;  I_FLDCAT-SELTEXT_M   = 'QUANTITY'.&lt;/P&gt;&lt;P&gt;  I_FLDCAT-COL_POS     = 9.        " POSITION OF THE COLUMN.&lt;/P&gt;&lt;P&gt;  I_FLDCAT-OUTPUTLEN   = 15.       " SET THE OUTPUT LENGTH.&lt;/P&gt;&lt;P&gt;  I_FLDCAT-EMPHASIZE   = 'X'.      " COLOR OF THIS COLUMN.&lt;/P&gt;&lt;P&gt;  I_FLDCAT-KEY         = 'X'.      " SO THAT THIS FIELD IS NOT&lt;/P&gt;&lt;P&gt;                                   "SCROLLABLE AND HIDDABLE.&lt;/P&gt;&lt;P&gt;  I_FLDCAT-DO_SUM    = 'X'.        " For doing "SUM"&lt;/P&gt;&lt;P&gt;  I_FLDCAT-JUST(1)     = 'C'.&lt;/P&gt;&lt;P&gt;  APPEND I_FLDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR I_FLDCAT.&lt;/P&gt;&lt;P&gt;  I_FLDCAT-FIELDNAME   = 'VRKME'. "FIELD FOR WHICH CATALOG ID FILLED&lt;/P&gt;&lt;P&gt;  I_FLDCAT-TABNAME     = 'IT_SO1'.&lt;/P&gt;&lt;P&gt;  I_FLDCAT-SELTEXT_M   = 'SALES UNIT'.&lt;/P&gt;&lt;P&gt;  I_FLDCAT-COL_POS     = 10.       " POSITION OF THE COLUMN.&lt;/P&gt;&lt;P&gt;  I_FLDCAT-OUTPUTLEN   = 10.       " SET THE OUTPUT LENGTH.&lt;/P&gt;&lt;P&gt;  I_FLDCAT-EMPHASIZE   = 'X'.      " COLOR OF THIS COLUMN.&lt;/P&gt;&lt;P&gt;  I_FLDCAT-KEY         = 'X'.      " SO THAT THIS FIELD IS NOT&lt;/P&gt;&lt;P&gt;                                   "SCROLLABLE AND HIDDABLE.&lt;/P&gt;&lt;P&gt;  I_FLDCAT-JUST(1)     = 'C'.&lt;/P&gt;&lt;P&gt;  APPEND I_FLDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " FLD_CAT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***********************************************************************&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;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="18" type="ul"&gt;&lt;P&gt;ALV SORTING  ***************************************&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;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&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;      Form  SORT&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;P_I_SORT  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;&lt;/P&gt;&lt;P&gt;FORM T_SORT  USING    P_I_SORT TYPE SLIS_T_SORTINFO_ALV .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: I_SORT TYPE SLIS_SORTINFO_ALV .&lt;/P&gt;&lt;P&gt;  REFRESH P_I_SORT .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR I_SORT.&lt;/P&gt;&lt;P&gt;  I_SORT-SPOS = 1.&lt;/P&gt;&lt;P&gt;  I_SORT-TABNAME = 'IT_SO1'.&lt;/P&gt;&lt;P&gt;  I_SORT-FIELDNAME = 'VBELN'.&lt;/P&gt;&lt;P&gt;  I_SORT-UP = 'X'.&lt;/P&gt;&lt;P&gt;  I_SORT-SUBTOT = 'X'.&lt;/P&gt;&lt;P&gt;  I_SORT-GROUP = '*'.&lt;/P&gt;&lt;P&gt;  APPEND I_SORT TO P_I_SORT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " SORT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*FORM SET_PF_STATUS USING rt_extab TYPE slis_t_extab.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; SET PF-STATUS 'ZSTANDARD'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*ENDFORM. "Set_pf_status&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;P&gt;**********&lt;STRONG&gt;FORM FOR EVENT USER_COMMAND1&lt;/STRONG&gt;*******************************&lt;/P&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM USER_COMMAND1 USING R_UCOMM LIKE SY-UCOMM&lt;/P&gt;&lt;P&gt;                         RS_SELFIELD TYPE SLIS_SELFIELD.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*CASE R_UCOMM .&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   WHEN '&amp;amp;IC1' .&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IF rs_selfield-FIELDNAME = 'VBELN' .&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   ENDIF .&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;WHEN OTHERS .&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;ENDCASE .&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR WA_SO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  REFRESH: IT_DEL1 .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF R_UCOMM = '&amp;amp;IC1' AND RS_SELFIELD-FIELDNAME = 'VBELN' AND&lt;/P&gt;&lt;P&gt;  RS_SELFIELD-VALUE IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    READ TABLE IT_SO1 INTO WA_SO INDEX RS_SELFIELD-TABINDEX.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      LOOP AT IT_VBFA INTO WA_VBFA WHERE VBELV = WA_SO-VBELN&lt;/P&gt;&lt;P&gt;                                   AND   POSNV = WA_SO-POSNR.&lt;/P&gt;&lt;P&gt;        READ TABLE IT_DEL_FUL INTO WA_IT_DEL_FUL&lt;/P&gt;&lt;P&gt;             WITH KEY VBELN = WA_VBFA-VBELV&lt;/P&gt;&lt;P&gt;                      POSNR = WA_VBFA-POSNN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          CLEAR WA_DEL.&lt;/P&gt;&lt;P&gt;          MOVE WA_IT_DEL_FUL TO WA_DEL.&lt;/P&gt;&lt;P&gt;          APPEND WA_DEL TO IT_DEL1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ENDLOOP.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*********************************************************************&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;LI level="9" type="ul"&gt;&lt;P&gt;SECOND ALV GRID DISPLAY ***********************************&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;P&gt;*********************************************************************&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   EXPORTING&lt;/P&gt;&lt;P&gt;    I_CALLBACK_PROGRAM                = SY-REPID&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_CALLBACK_PF_STATUS_SET          = 'SET_PF_STATUS'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    I_CALLBACK_USER_COMMAND           = 'USER_COMMAND2'&lt;/P&gt;&lt;P&gt;    I_CALLBACK_TOP_OF_PAGE            = 'TOP_OF_PAGE'&lt;/P&gt;&lt;P&gt;    I_BACKGROUND_ID                   = 'ALV_BACKGROUND'&lt;/P&gt;&lt;P&gt;    IT_FIELDCAT                       = I_FLDCAT2[]&lt;/P&gt;&lt;P&gt;    IT_SORT                           = I_SORT&lt;/P&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;    T_OUTTAB                          = IT_DEL_FUL&lt;/P&gt;&lt;P&gt;            .&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;LI level="2" 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="2" 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;LI level="1" type="ul"&gt;&lt;P&gt; ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM .                    "USER_COMMAND1&lt;/P&gt;&lt;P&gt;***********************************************************************&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;LI level="10" type="ul"&gt;&lt;P&gt;FORM FOR EVENT USER_COMMAND 2 ******************************&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;P&gt;***********************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM USER_COMMAND2 USING R_UCOMM LIKE SY-UCOMM&lt;/P&gt;&lt;P&gt;                         RS_SELFIELD TYPE SLIS_SELFIELD.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR WA_SO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  REFRESH: IT_DEL1 .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF R_UCOMM = '&amp;amp;IC1' AND RS_SELFIELD-FIELDNAME = 'VBELN' AND&lt;/P&gt;&lt;P&gt;  RS_SELFIELD-VALUE IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    READ TABLE IT_SO1 INTO WA_SO INDEX RS_SELFIELD-TABINDEX.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IF SY-SUBRC = 0.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      LOOP AT it_vbfa INTO wa_vbfa WHERE vbelv = WA_SO-vbeln&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                   AND   posnv = WA_SO-posnr.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    READ TABLE IT_DEL_FUL INTO WA_IT_DEL_FUL&lt;/P&gt;&lt;P&gt;         WITH KEY VBELN = RS_SELFIELD-VALUE&lt;/P&gt;&lt;P&gt;                  POSNR = WA_VBFA-POSNN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF RS_SELFIELD-FIELDNAME = 'VBELN'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      SET PARAMETER ID 'VL' FIELD WA_VBFA-VBELN .&lt;/P&gt;&lt;P&gt;      CALL TRANSACTION 'VL03' AND SKIP FIRST SCREEN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDIF .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      ENDLOOP.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM .                    "USER_COMMAND2&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&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;LI level="9" type="ul"&gt;&lt;P&gt;SECOND FIELDCATALOG ******************************************&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;P&gt;************************************************************************&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;      Form  FLD_CAT2&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;P_I_FLDCAT2[]  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;&lt;/P&gt;&lt;P&gt;FORM FLD_CAT2  USING    P_I_FLDCAT2 TYPE SLIS_T_FIELDCAT_ALV .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR I_FLDCAT2.&lt;/P&gt;&lt;P&gt;  I_FLDCAT2-FIELDNAME   = 'VBELN'. "FIELD FOR WHICH CATALOG ID FILLED&lt;/P&gt;&lt;P&gt;  I_FLDCAT2-TABNAME     = 'IT_DEL_FUL'."TABLE NAME&lt;/P&gt;&lt;P&gt;  I_FLDCAT2-SELTEXT_M   = 'DELIVERY NO.'.&lt;/P&gt;&lt;P&gt;  I_FLDCAT2-COL_POS     = 1.        " POSITION OF THE COLUMN.&lt;/P&gt;&lt;P&gt;  I_FLDCAT2-OUTPUTLEN   = 20.       " SET THE OUTPUT LENGTH.&lt;/P&gt;&lt;P&gt;  I_FLDCAT2-EMPHASIZE   = 'X'.      " COLOR OF THIS COLUMN.&lt;/P&gt;&lt;P&gt;  I_FLDCAT2-KEY         = 'X'.      " SO THAT THIS FIELD IS NOT&lt;/P&gt;&lt;P&gt;  "SCROLLABLE AND HIDDABLE.&lt;/P&gt;&lt;P&gt;  I_FLDCAT2-HOTSPOT     = 'X'.&lt;/P&gt;&lt;P&gt;  I_FLDCAT2-JUST(1)     = 'C'.&lt;/P&gt;&lt;P&gt;  APPEND I_FLDCAT2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR I_FLDCAT2.&lt;/P&gt;&lt;P&gt;  I_FLDCAT2-FIELDNAME   = 'POSNR'. "FIELD FOR WHICH CATALOG ID FILLED&lt;/P&gt;&lt;P&gt;  I_FLDCAT2-SELTEXT_M   = 'DELIVERY ITEM'.&lt;/P&gt;&lt;P&gt;  I_FLDCAT2-COL_POS     = 2.        " POSITION OF THE COLUMN.&lt;/P&gt;&lt;P&gt;  I_FLDCAT2-OUTPUTLEN   = 20.       " SET THE OUTPUT LENGTH.&lt;/P&gt;&lt;P&gt;  I_FLDCAT2-EMPHASIZE   = 'X'.      " COLOR OF THIS COLUMN.&lt;/P&gt;&lt;P&gt;  I_FLDCAT2-KEY         = 'X'.      " SO THAT THIS FIELD IS NOT&lt;/P&gt;&lt;P&gt;  "SCROLLABLE AND HIDDABLE.&lt;/P&gt;&lt;P&gt;  I_FLDCAT2-JUST(1)     = 'C'.&lt;/P&gt;&lt;P&gt;  APPEND I_FLDCAT2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR I_FLDCAT2.&lt;/P&gt;&lt;P&gt;  I_FLDCAT2-FIELDNAME   = 'MATNR'. "FIELD FOR WHICH CATALOG ID FILLED&lt;/P&gt;&lt;P&gt;  I_FLDCAT2-SELTEXT_M   = 'MATERIAL NO.'.&lt;/P&gt;&lt;P&gt;  I_FLDCAT2-COL_POS     = 3.        " POSITION OF THE COLUMN.&lt;/P&gt;&lt;P&gt;  I_FLDCAT2-OUTPUTLEN   = 20.       " SET THE OUTPUT LENGTH.&lt;/P&gt;&lt;P&gt;  I_FLDCAT2-EMPHASIZE   = 'X'.      " COLOR OF THIS COLUMN.&lt;/P&gt;&lt;P&gt;  I_FLDCAT2-KEY         = 'X'.      " SO THAT THIS FIELD IS NOT&lt;/P&gt;&lt;P&gt;  "SCROLLABLE AND HIDDABLE.&lt;/P&gt;&lt;P&gt;  I_FLDCAT2-JUST(1)     = 'C'.&lt;/P&gt;&lt;P&gt;  APPEND I_FLDCAT2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR I_FLDCAT2.&lt;/P&gt;&lt;P&gt;  I_FLDCAT2-FIELDNAME   = 'WERKS'. "FIELD FOR WHICH CATALOG ID FILLED&lt;/P&gt;&lt;P&gt;  I_FLDCAT2-SELTEXT_M   = 'PLANT.'.&lt;/P&gt;&lt;P&gt;  I_FLDCAT2-COL_POS     = 4.        " POSITION OF THE COLUMN.&lt;/P&gt;&lt;P&gt;  I_FLDCAT2-OUTPUTLEN   = 20.       " SET THE OUTPUT LENGTH.&lt;/P&gt;&lt;P&gt;  I_FLDCAT2-EMPHASIZE   = 'X'.      " COLOR OF THIS COLUMN.&lt;/P&gt;&lt;P&gt;  I_FLDCAT2-KEY         = 'X'.      " SO THAT THIS FIELD IS NOT&lt;/P&gt;&lt;P&gt;  "SCROLLABLE AND HIDDABLE.&lt;/P&gt;&lt;P&gt;  I_FLDCAT2-JUST(1)     = 'C'.&lt;/P&gt;&lt;P&gt;  APPEND I_FLDCAT2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR I_FLDCAT2.&lt;/P&gt;&lt;P&gt;  I_FLDCAT2-FIELDNAME   = 'LGORT'. "FIELD FOR WHICH CATALOG ID FILLED&lt;/P&gt;&lt;P&gt;  I_FLDCAT2-SELTEXT_M   = 'ST. LOCATION'.&lt;/P&gt;&lt;P&gt;  I_FLDCAT2-COL_POS     = 5.        " POSITION OF THE COLUMN.&lt;/P&gt;&lt;P&gt;  I_FLDCAT2-OUTPUTLEN   = 20.       " SET THE OUTPUT LENGTH.&lt;/P&gt;&lt;P&gt;  I_FLDCAT2-EMPHASIZE   = 'X'.      " COLOR OF THIS COLUMN.&lt;/P&gt;&lt;P&gt;  I_FLDCAT2-KEY         = 'X'.      " SO THAT THIS FIELD IS NOT&lt;/P&gt;&lt;P&gt;  "SCROLLABLE AND HIDDABLE.&lt;/P&gt;&lt;P&gt;  I_FLDCAT2-JUST(1)     = 'C'.&lt;/P&gt;&lt;P&gt;  APPEND I_FLDCAT2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR I_FLDCAT2.&lt;/P&gt;&lt;P&gt;  I_FLDCAT2-FIELDNAME   = 'CHARG'. "FIELD FOR WHICH CATALOG ID FILLED&lt;/P&gt;&lt;P&gt;  I_FLDCAT2-SELTEXT_M   = 'BATCH NO.'.&lt;/P&gt;&lt;P&gt;  I_FLDCAT2-COL_POS     = 6.        " POSITION OF THE COLUMN.&lt;/P&gt;&lt;P&gt;  I_FLDCAT2-OUTPUTLEN   = 20.       " SET THE OUTPUT LENGTH.&lt;/P&gt;&lt;P&gt;  I_FLDCAT2-EMPHASIZE   = 'X'.      " COLOR OF THIS COLUMN.&lt;/P&gt;&lt;P&gt;  I_FLDCAT2-KEY         = 'X'.      " SO THAT THIS FIELD IS NOT&lt;/P&gt;&lt;P&gt;  "SCROLLABLE AND HIDDABLE.&lt;/P&gt;&lt;P&gt;  I_FLDCAT2-JUST(1)     = 'C'.&lt;/P&gt;&lt;P&gt;  APPEND I_FLDCAT2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR I_FLDCAT2.&lt;/P&gt;&lt;P&gt;  I_FLDCAT2-FIELDNAME   = 'LFIMG'. "FIELD FOR WHICH CATALOG ID FILLED&lt;/P&gt;&lt;P&gt;  I_FLDCAT2-SELTEXT_M   = 'ACT. DEL. QTY.'.&lt;/P&gt;&lt;P&gt;  I_FLDCAT2-COL_POS     = 7.        " POSITION OF THE COLUMN.&lt;/P&gt;&lt;P&gt;  I_FLDCAT2-OUTPUTLEN   = 20.       " SET THE OUTPUT LENGTH.&lt;/P&gt;&lt;P&gt;  I_FLDCAT2-EMPHASIZE   = 'X'.      " COLOR OF THIS COLUMN.&lt;/P&gt;&lt;P&gt;  I_FLDCAT2-KEY         = 'X'.      " SO THAT THIS FIELD IS NOT&lt;/P&gt;&lt;P&gt;  "SCROLLABLE AND HIDDABLE.&lt;/P&gt;&lt;P&gt;  I_FLDCAT2-JUST(1)     = 'C'.&lt;/P&gt;&lt;P&gt;  APPEND I_FLDCAT2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR I_FLDCAT2.&lt;/P&gt;&lt;P&gt;  I_FLDCAT2-FIELDNAME   = 'VRKME'. "FIELD FOR WHICH CATALOG ID FILLED&lt;/P&gt;&lt;P&gt;  I_FLDCAT2-SELTEXT_M   = 'SALES UNIT.'.&lt;/P&gt;&lt;P&gt;  I_FLDCAT2-COL_POS     = 8.        " POSITION OF THE COLUMN.&lt;/P&gt;&lt;P&gt;  I_FLDCAT2-OUTPUTLEN   = 20.       " SET THE OUTPUT LENGTH.&lt;/P&gt;&lt;P&gt;  I_FLDCAT2-EMPHASIZE   = 'X'.      " COLOR OF THIS COLUMN.&lt;/P&gt;&lt;P&gt;  I_FLDCAT2-KEY         = 'X'.      " SO THAT THIS FIELD IS NOT&lt;/P&gt;&lt;P&gt;  "SCROLLABLE AND HIDDABLE.&lt;/P&gt;&lt;P&gt;  I_FLDCAT2-JUST(1)     = 'C'.&lt;/P&gt;&lt;P&gt;  APPEND I_FLDCAT2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                                                    " FLD_CAT2&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&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;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="17" type="ul"&gt;&lt;P&gt;ALV LAYOUT *******************************************&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;/UL&gt;&lt;/UL&gt;&lt;/UL&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;      Form  LAYOUT&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;P_I_LAYOUT  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;&lt;/P&gt;&lt;P&gt;FORM T_LAYOUT  USING    P_I_LAYOUT TYPE SLIS_LAYOUT_ALV .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  P_I_LAYOUT-ZEBRA  = 'X'.&lt;/P&gt;&lt;P&gt;  P_I_LAYOUT-TOTALS_TEXT = 'GRAND TOTAL ='.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; p_i_layout-CONFIRMATION_PROMPT = 'X'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; p_i_layout-DEF_STATUS  = ' '.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  P_I_LAYOUT-INFO_FIELDNAME = 'LINE_COLOR'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " LAYOUT&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 27 Nov 2006 07:22:44 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-interactive/m-p/1651491#M289412</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-11-27T07:22:44Z</dc:date>
    </item>
    <item>
      <title>Re: ALV Interactive</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-interactive/m-p/1651492#M289413</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Ansari,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;you need to take the help of USER_COMMAND event.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;with that it is simple to show the interactive report.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;**-ALV list Display
  CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
    EXPORTING
      I_CALLBACK_PROGRAM       = SY-REPID
   &amp;lt;b&amp;gt;   I_CALLBACK_PF_STATUS_SET = 'PF_STATUS_SET'&amp;lt;/b&amp;gt;
    &amp;lt;b&amp;gt;  I_CALLBACK_USER_COMMAND  = 'USER_COMMAND'&amp;lt;/b&amp;gt;
      IS_LAYOUT                = X_LAYOUT
      IT_FIELDCAT              = IT_FIELDCAT
      IT_EVENTS                = IT_EVENTS
    TABLES
      T_OUTTAB                 = IT_FINAL
    EXCEPTIONS
      PROGRAM_ERROR            = 1
      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.&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;you need to pass these two forms&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;FORM PF_STATUS_SET USING    P_EXTAB TYPE SLIS_T_EXTAB.
  SET PF-STATUS 'STANDARD' EXCLUDING P_EXTAB.
ENDFORM.                    "PF_STATUS_SET


FORM USER_COMMAND USING UCOMM LIKE SY-UCOMM SELFIELD TYPE
                                                         SLIS_SELFIELD.
 case UCOMM.
 when '&amp;amp;IC1'.  "this is for double click.
 "do some thing..
  ENDCASE.
ENDFORM.                    "USER_COMMAND&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Check the sample code also..&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;
REPORT  ZTEST_ALV_CHECK     message-id zz           .


TYPE-POOLS: SLIS.
DATA: X_FIELDCAT TYPE SLIS_FIELDCAT_ALV,
      IT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,
      L_LAYOUT type slis_layout_alv.


DATA: BEGIN OF ITAB OCCURS 0,
      VBELN LIKE VBAK-VBELN,
      POSNR LIKE VBAP-POSNR,
     END OF ITAB.

SELECT VBELN
       POSNR
       FROM VBAP
       UP TO 20 ROWS
       INTO TABLE ITAB.



X_FIELDCAT-FIELDNAME = 'VBELN'.
X_FIELDCAT-SELTEXT_L = 'VBELN'.
X_FIELDCAT-TABNAME = 'ITAB'.
X_FIELDCAT-COL_POS = 2.
APPEND X_FIELDCAT TO IT_FIELDCAT.
CLEAR X_FIELDCAT.

X_FIELDCAT-FIELDNAME = 'POSNR'.
X_FIELDCAT-SELTEXT_L = 'POSNR'.
X_FIELDCAT-TABNAME = 'ITAB'.
X_FIELDCAT-COL_POS = 3.
APPEND X_FIELDCAT TO IT_FIELDCAT.
CLEAR X_FIELDCAT.


CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
  EXPORTING
    I_CALLBACK_PROGRAM       = SY-REPID
    IS_LAYOUT                = L_LAYOUT
&amp;lt;b&amp;gt;    I_CALLBACK_PF_STATUS_SET = 'STATUS'
    I_CALLBACK_USER_COMMAND  = 'USER_COMMAND'&amp;lt;/b&amp;gt;
    IT_FIELDCAT              = IT_FIELDCAT
  TABLES
    T_OUTTAB                 = ITAB
  EXCEPTIONS
    PROGRAM_ERROR            = 1
    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.

*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  STATUS
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*      --&amp;gt;P_EXTAB    text
*----------------------------------------------------------------------*
FORM STATUS USING P_EXTAB TYPE SLIS_T_EXTAB.
*- Pf status
&amp;lt;b&amp;gt;  SET PF-STATUS 'STATUS'.&amp;lt;/b&amp;gt;
ENDFORM.                 " STATUS

*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  USER_COMMAND
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*      --&amp;gt;R_UCOMM      text
*      --&amp;gt;RS_SELFIELD  text
*----------------------------------------------------------------------*
&amp;lt;b&amp;gt;FORM USER_COMMAND USING R_UCOMM     LIKE SY-UCOMM
                               RS_SELFIELD TYPE SLIS_SELFIELD.

  case r_ucomm.

    when 'BACK' or 'CANC' or 'EXIT'.
      leave to screen 0.
    when '&amp;amp;IC1'.
       if rs_selfield-fieldname = 'VBELN'.
*      message i000 with 'clicked on row' rs_Selfield-tabindex.
      set parameter id 'AUN' field rs_selfield-value.
      call transaction 'VA03' and skip first screen.
      endif.
  endcase.
ENDFORM.                    "USER_COMMAND&amp;lt;/b&amp;gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;you need set the PF-status and the User-command. and enable F2 key that is for double clicking, set the Function code '&amp;amp;IC1' for f2 key.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;then it will work.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;Vijay&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 27 Nov 2006 07:27:36 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-interactive/m-p/1651492#M289413</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-11-27T07:27:36Z</dc:date>
    </item>
    <item>
      <title>Re: ALV Interactive</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-interactive/m-p/1651493#M289414</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Here Let me give some SAP sample programs for ALV interaction. This requirement is served by using the events:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;added_function of cl_salv_events&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;double_click of cl_salv_events_table&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;link_click of cl_salv_events_table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Sample ALV interaction programs:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SALV_TEST_TABLE_EVENTS&lt;/P&gt;&lt;P&gt;SALV_TEST_TABLE_FORM_EVENTS&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks &amp;amp; Regards,&lt;/P&gt;&lt;P&gt;Karthikeyan G&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 27 Nov 2006 08:11:54 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-interactive/m-p/1651493#M289414</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-11-27T08:11:54Z</dc:date>
    </item>
  </channel>
</rss>

