<?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: interactive report coding in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/interactive-report-coding/m-p/2130918#M447917</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi rakkasi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;this is a simple interactive ALV report &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;hope this helps u understand intreactive report or drill down report..&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;AIM&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Report that would take display all the Sales Order between 2 dates. When the user double clicks on a sales order the report would then display additional details on that Sales Order.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Description:&lt;/P&gt;&lt;P&gt;1)Use Select Options for the range of dates (VBAK-ERDAT).&lt;/P&gt;&lt;P&gt;2)Display the following fields for the Report from the Sales Document Header (VBAK). Customer name can be found in table (KNA1).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;DISPLAY THE FIELDS &lt;/P&gt;&lt;P&gt;1) Document No.	&lt;/P&gt;&lt;P&gt;2) Creation User Name	&lt;/P&gt;&lt;P&gt;3) Creation Date	&lt;/P&gt;&lt;P&gt;4) Customer Name&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WHEN DOCUMENT NO. IS DOUBLE CLICKED THEN DISPLAY THE FOLLOWING FIELDS :&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1) Material No.&lt;/P&gt;&lt;P&gt;2) Material Description.&lt;/P&gt;&lt;P&gt;3) Batch Number.	&lt;/P&gt;&lt;P&gt;4) Item type&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;u&amp;gt;&amp;lt;b&amp;gt;CODING&amp;lt;/b&amp;gt;&amp;lt;/u&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT  zginni_sales_report NO STANDARD PAGE HEADING  .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TABLES :  vbak .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;u&amp;gt;&amp;lt;b&amp;gt;structure&amp;lt;/b&amp;gt;&amp;lt;/u&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES : BEGIN OF st_vbak ,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        vbeln TYPE vbak-vbeln ,&lt;/P&gt;&lt;P&gt;        ernam TYPE vbak-ernam ,&lt;/P&gt;&lt;P&gt;        erdat TYPE vbak-erdat ,&lt;/P&gt;&lt;P&gt;        name1 TYPE kna1-name1 ,&lt;/P&gt;&lt;P&gt;        END OF st_vbak .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES :  BEGIN OF st_vbap ,&lt;/P&gt;&lt;P&gt;        matnr TYPE vbap-matnr ,&lt;/P&gt;&lt;P&gt;        maktx TYPE makt-maktx ,&lt;/P&gt;&lt;P&gt;        charg TYPE vbap-charg ,&lt;/P&gt;&lt;P&gt;        posar TYPE vbap-posar ,&lt;/P&gt;&lt;P&gt;        END OF st_vbap .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;u&amp;gt;&amp;lt;b&amp;gt;internal table and work area&amp;lt;/b&amp;gt;&amp;lt;/u&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA :  it_vbak TYPE TABLE OF st_vbak ,&lt;/P&gt;&lt;P&gt;        wa_vbak TYPE st_vbak ,&lt;/P&gt;&lt;P&gt;        it_vbap TYPE TABLE OF st_vbap ,&lt;/P&gt;&lt;P&gt;        wa_vbap  TYPE st_vbap .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;TOP-OF-PAGE .&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;P&gt;  WRITE :4 sy-vline .&lt;/P&gt;&lt;P&gt;  WRITE AT 5(125) sy-uline.&lt;/P&gt;&lt;P&gt;  WRITE :130 sy-vline .&lt;/P&gt;&lt;P&gt;  WRITE :/4 sy-vline  ,&lt;/P&gt;&lt;P&gt;          10 'document no.' ,&lt;/P&gt;&lt;P&gt;          39 sy-vline ,&lt;/P&gt;&lt;P&gt;          40 username&lt;/P&gt;&lt;P&gt;          69 sy-vline ,&lt;/P&gt;&lt;P&gt;          70 date&lt;/P&gt;&lt;P&gt;          89 sy-vline ,&lt;/P&gt;&lt;P&gt;          90 custmer name&lt;/P&gt;&lt;P&gt;          130 sy-vline.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  WRITE :/130 sy-vline .&lt;/P&gt;&lt;P&gt;  WRITE  AT 5(125) sy-uline.&lt;/P&gt;&lt;P&gt;  WRITE :4 sy-vline ,130 sy-vline .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;TOP-OF-PAGE DURING LINE-SELECTION .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  WRITE :4 sy-vline .&lt;/P&gt;&lt;P&gt;  WRITE AT 5(125) sy-uline.&lt;/P&gt;&lt;P&gt;  WRITE :130 sy-vline .&lt;/P&gt;&lt;P&gt;  WRITE :/4 sy-vline  ,&lt;/P&gt;&lt;P&gt;        &amp;lt;b&amp;gt;  10 material no.&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;P&gt;          39 sy-vline ,&lt;/P&gt;&lt;P&gt;        &amp;lt;b&amp;gt;  40 material description&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;P&gt;          69 sy-vline ,&lt;/P&gt;&lt;P&gt;         &amp;lt;b&amp;gt; 70 batch no.&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;P&gt;          89 sy-vline ,&lt;/P&gt;&lt;P&gt;         &amp;lt;b&amp;gt; 90 item type&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;P&gt;         130 sy-vline.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  WRITE :/130 sy-vline .&lt;/P&gt;&lt;P&gt;  WRITE  AT 5(125) sy-uline.&lt;/P&gt;&lt;P&gt;  WRITE :4   sy-vline ,&lt;/P&gt;&lt;P&gt;         130 sy-vline .&amp;lt;/b&amp;gt;  &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS put_date FOR vbak-erdat  .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;AT LINE-SELECTION .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM select_and_write_vbap .&amp;lt;/b&amp;gt;&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 sales_document .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;END-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM select_and_write_vbap .&lt;/P&gt;&lt;P&gt;  SELECT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        vbap~matnr&lt;/P&gt;&lt;P&gt;        makt~maktx&lt;/P&gt;&lt;P&gt;        vbap~charg&lt;/P&gt;&lt;P&gt;        vbap~posar&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  FROM ( vbap INNER JOIN makt ON vbap&lt;SUB&gt;matnr = makt&lt;/SUB&gt;matnr )&lt;/P&gt;&lt;P&gt;  INTO CORRESPONDING FIELDS OF TABLE IT_VBAP&lt;/P&gt;&lt;P&gt;  WHERE vbap~vbeln = wa_vbak-vbeln AND spras = 'EN' .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF sy-subrc EQ 0 .&lt;/P&gt;&lt;P&gt;    LOOP AT it_vbap INTO wa_vbap .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WRITE :/4 sy-vline        ,&lt;/P&gt;&lt;P&gt;      10 wa_vbap-matnr ,&lt;/P&gt;&lt;P&gt;      39 sy-vline       ,&lt;/P&gt;&lt;P&gt;      40 wa_vbap-maktx ,&lt;/P&gt;&lt;P&gt;      69 sy-vline       ,&lt;/P&gt;&lt;P&gt;      70 wa_vbap-charg ,&lt;/P&gt;&lt;P&gt;      89 sy-vline       ,&lt;/P&gt;&lt;P&gt;      90 wa_vbap-posar ,&lt;/P&gt;&lt;P&gt;      130 sy-vline      .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;    WRITE :/4 sy-vline.&lt;/P&gt;&lt;P&gt;    WRITE AT 5(125) sy-uline.&lt;/P&gt;&lt;P&gt;    WRITE 130 sy-vline.&lt;/P&gt;&lt;P&gt;  ELSE .&lt;/P&gt;&lt;P&gt;    MESSAGE s000(zginni) .&lt;/P&gt;&lt;P&gt;  ENDIF .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM    .                "select_vbap&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM sales_document .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF put_date-low IS INITIAL AND put_date-high IS NOT INITIAL .&lt;/P&gt;&lt;P&gt;    SELECT&lt;/P&gt;&lt;P&gt;            vbak~vbeln&lt;/P&gt;&lt;P&gt;            vbak~ernam&lt;/P&gt;&lt;P&gt;            vbak~erdat&lt;/P&gt;&lt;P&gt;            kna1~name1&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      FROM ( kna1 INNER JOIN vbak ON vbak&lt;SUB&gt;kunnr = kna1&lt;/SUB&gt;kunnr )  INTO&lt;/P&gt;&lt;P&gt;      CORRESPONDING FIELDS OF TABLE IT_VBAK&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       WHERE vbak~erdat  &amp;lt;= put_date-high.&lt;/P&gt;&lt;P&gt;    IF sy-subrc EQ 0 .&lt;/P&gt;&lt;P&gt;      PERFORM looping_wa_vbak .&lt;/P&gt;&lt;P&gt;    ELSE .&lt;/P&gt;&lt;P&gt;      MESSAGE s000(zginni) .&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;  IF put_date-low IS NOT INITIAL AND put_date-high IS INITIAL .&lt;/P&gt;&lt;P&gt;    SELECT      vbeln&lt;/P&gt;&lt;P&gt;                vbak~ernam&lt;/P&gt;&lt;P&gt;                vbak~erdat&lt;/P&gt;&lt;P&gt;                kna1~name1&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;         FROM ( kna1 INNER JOIN vbak ON vbak&lt;SUB&gt;kunnr = kna1&lt;/SUB&gt;kunnr )  INTO&lt;/P&gt;&lt;P&gt;          CORRESPONDING FIELDS OF TABLE IT_VBAK&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;           WHERE vbak~erdat EQ put_date-low .&lt;/P&gt;&lt;P&gt;    IF sy-subrc EQ 0 .&lt;/P&gt;&lt;P&gt;      PERFORM looping_wa_vbak .&lt;/P&gt;&lt;P&gt;    ELSE .&lt;/P&gt;&lt;P&gt;      MESSAGE s000(zginni) .&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;  IF put_date-high IS INITIAL AND put_date-low IS INITIAL .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    MESSAGE s000(zginni) .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ELSE .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SELECT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          vbak~vbeln&lt;/P&gt;&lt;P&gt;          vbak~ernam&lt;/P&gt;&lt;P&gt;          vbak~erdat&lt;/P&gt;&lt;P&gt;          kna1~name1&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    FROM ( kna1 INNER JOIN vbak ON vbak&lt;SUB&gt;kunnr = kna1&lt;/SUB&gt;kunnr )  INTO&lt;/P&gt;&lt;P&gt;    CORRESPONDING FIELDS OF TABLE IT_VBAK&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     WHERE vbak~erdat  BETWEEN put_date-low AND put_date-high.&lt;/P&gt;&lt;P&gt;    IF sy-subrc EQ 0 .&lt;/P&gt;&lt;P&gt;      PERFORM looping_wa_vbak .&lt;/P&gt;&lt;P&gt;    ELSE .&lt;/P&gt;&lt;P&gt;      MESSAGE s000(zginni) .&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;&lt;/P&gt;&lt;P&gt;ENDFORM .                    "sales_document&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM  looping_wa_vbak .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT it_vbak INTO wa_vbak .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    &amp;lt;b&amp;gt;WRITE :/4 sy-vline           ,&lt;/P&gt;&lt;P&gt;            10 wa_vbak-vbeln .&lt;/P&gt;&lt;P&gt;    HIDE wa_vbak-vbeln .&lt;/P&gt;&lt;P&gt;    WRITE:  39 sy-vline          ,&lt;/P&gt;&lt;P&gt;            40 wa_vbak-ernam ,&lt;/P&gt;&lt;P&gt;            69 sy-vline          ,&lt;/P&gt;&lt;P&gt;            70 wa_vbak-erdat ,&lt;/P&gt;&lt;P&gt;            89 sy-vline          ,&lt;/P&gt;&lt;P&gt;            90 wa_vbak-name1 ,&lt;/P&gt;&lt;P&gt;           130 sy-vline         .&lt;/P&gt;&lt;P&gt;  ENDLOOP.&amp;lt;/b&amp;gt;  WRITE :/4 sy-vline.&lt;/P&gt;&lt;P&gt;  WRITE AT 5(125) sy-uline .&lt;/P&gt;&lt;P&gt;  WRITE 130 sy-vline.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "looping_wa_vbak&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;hope this helps u,&lt;/P&gt;&lt;P&gt;reward points if useful&lt;/P&gt;&lt;P&gt;Ginni&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 18 Apr 2007 09:16:53 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2007-04-18T09:16:53Z</dc:date>
    <item>
      <title>interactive report coding</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/interactive-report-coding/m-p/2130910#M447909</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi can i know the coding for interactive report&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 18 Apr 2007 09:00:50 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/interactive-report-coding/m-p/2130910#M447909</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-04-18T09:00:50Z</dc:date>
    </item>
    <item>
      <title>Re: interactive report coding</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/interactive-report-coding/m-p/2130911#M447910</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;  1) Use Hide statement&lt;/P&gt;&lt;P&gt;  2) Use the export parameter i_callback_usercommand and give one subroutine name for this and write the code for that subroutine.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; For this the eg is&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; Report  ZDEMO_ALVGRID                                               *&lt;/P&gt;&lt;P&gt;*&amp;amp;                                                                     *&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;                                                                     *&lt;/P&gt;&lt;P&gt;*&amp;amp; Example of a simple ALV Grid Report                                 *&lt;/P&gt;&lt;P&gt;*&amp;amp; ...................................                                 *&lt;/P&gt;&lt;P&gt;*&amp;amp;                                                                     *&lt;/P&gt;&lt;P&gt;*&amp;amp; The basic requirement for this demo is to display a number of       *&lt;/P&gt;&lt;P&gt;*&amp;amp; fields from the EKKO table.                                         *&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;REPORT  zdemo_alvgrid                 .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TABLES:     ekko.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;type-pools: slis.                                 "ALV Declarations&lt;/P&gt;&lt;P&gt;*Data Declaration&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-----------" /&gt;&lt;P&gt;TYPES: BEGIN OF t_ekko,&lt;/P&gt;&lt;P&gt;  ebeln TYPE ekpo-ebeln,&lt;/P&gt;&lt;P&gt;  ebelp TYPE ekpo-ebelp,&lt;/P&gt;&lt;P&gt;  statu TYPE ekpo-statu,&lt;/P&gt;&lt;P&gt;  aedat TYPE ekpo-aedat,&lt;/P&gt;&lt;P&gt;  matnr TYPE ekpo-matnr,&lt;/P&gt;&lt;P&gt;  menge TYPE ekpo-menge,&lt;/P&gt;&lt;P&gt;  meins TYPE ekpo-meins,&lt;/P&gt;&lt;P&gt;  netpr TYPE ekpo-netpr,&lt;/P&gt;&lt;P&gt;  peinh TYPE ekpo-peinh,&lt;/P&gt;&lt;P&gt; END OF t_ekko.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: it_ekko TYPE STANDARD TABLE OF t_ekko INITIAL SIZE 0,&lt;/P&gt;&lt;P&gt;      wa_ekko TYPE t_ekko.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*ALV data declarations&lt;/P&gt;&lt;P&gt;data: fieldcatalog type slis_t_fieldcat_alv with header line,&lt;/P&gt;&lt;P&gt;      gd_tab_group type slis_t_sp_group_alv,&lt;/P&gt;&lt;P&gt;      gd_layout    type slis_layout_alv,&lt;/P&gt;&lt;P&gt;      gd_repid     like sy-repid,&lt;/P&gt;&lt;P&gt;      gt_events     type slis_t_event,&lt;/P&gt;&lt;P&gt;      gd_prntparams type slis_print_alv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;*Start-of-selection.&lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;perform data_retrieval.&lt;/P&gt;&lt;P&gt;perform build_fieldcatalog.&lt;/P&gt;&lt;P&gt;perform build_layout.&lt;/P&gt;&lt;P&gt;perform build_events.&lt;/P&gt;&lt;P&gt;perform build_print_params.&lt;/P&gt;&lt;P&gt;perform display_alv_report.&lt;/P&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  BUILD_FIELDCATALOG&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;      Build Fieldcatalog for ALV Report&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 build_fieldcatalog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;There are a number of ways to create a fieldcat. &lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;For the purpose of this example i will build the fieldcatalog manualy&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;by populating the internal table fields individually and then &lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;appending the rows. This method can be the most time consuming but can&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;also allow you  more control of the final product.&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;Beware though, you need to ensure that all fields required are&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;populated. When using some of functionality available via ALV, such as&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;total. You may need to provide more information than if you were &lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;simply displaying the result&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;              I.e. Field type may be required in-order for&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                   the 'TOTAL' function to work.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  fieldcatalog-fieldname   = 'EBELN'.&lt;/P&gt;&lt;P&gt;  fieldcatalog-seltext_m   = 'Purchase Order'.&lt;/P&gt;&lt;P&gt;  fieldcatalog-col_pos     = 0.&lt;/P&gt;&lt;P&gt;  fieldcatalog-outputlen   = 10.&lt;/P&gt;&lt;P&gt;  fieldcatalog-emphasize   = 'X'.&lt;/P&gt;&lt;P&gt;  fieldcatalog-key         = 'X'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; fieldcatalog-do_sum      = 'X'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; fieldcatalog-no_zero     = 'X'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  append fieldcatalog to fieldcatalog.&lt;/P&gt;&lt;P&gt;  clear  fieldcatalog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  fieldcatalog-fieldname   = 'EBELP'.&lt;/P&gt;&lt;P&gt;  fieldcatalog-seltext_m   = 'PO Item'.&lt;/P&gt;&lt;P&gt;  fieldcatalog-col_pos     = 1.&lt;/P&gt;&lt;P&gt;  append fieldcatalog to fieldcatalog.&lt;/P&gt;&lt;P&gt;  clear  fieldcatalog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  fieldcatalog-fieldname   = 'STATU'.&lt;/P&gt;&lt;P&gt;  fieldcatalog-seltext_m   = 'Status'.&lt;/P&gt;&lt;P&gt;  fieldcatalog-col_pos     = 2.&lt;/P&gt;&lt;P&gt;  append fieldcatalog to fieldcatalog.&lt;/P&gt;&lt;P&gt;  clear  fieldcatalog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  fieldcatalog-fieldname   = 'AEDAT'.&lt;/P&gt;&lt;P&gt;  fieldcatalog-seltext_m   = 'Item change date'.&lt;/P&gt;&lt;P&gt;  fieldcatalog-col_pos     = 3.&lt;/P&gt;&lt;P&gt;  append fieldcatalog to fieldcatalog.&lt;/P&gt;&lt;P&gt;  clear  fieldcatalog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  fieldcatalog-fieldname   = 'MATNR'.&lt;/P&gt;&lt;P&gt;  fieldcatalog-seltext_m   = 'Material Number'.&lt;/P&gt;&lt;P&gt;  fieldcatalog-col_pos     = 4.&lt;/P&gt;&lt;P&gt;  append fieldcatalog to fieldcatalog.&lt;/P&gt;&lt;P&gt;  clear  fieldcatalog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  fieldcatalog-fieldname   = 'MENGE'.&lt;/P&gt;&lt;P&gt;  fieldcatalog-seltext_m   = 'PO quantity'.&lt;/P&gt;&lt;P&gt;  fieldcatalog-col_pos     = 5.&lt;/P&gt;&lt;P&gt;  append fieldcatalog to fieldcatalog.&lt;/P&gt;&lt;P&gt;  clear  fieldcatalog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  fieldcatalog-fieldname   = 'MEINS'.&lt;/P&gt;&lt;P&gt;  fieldcatalog-seltext_m   = 'Order Unit'.&lt;/P&gt;&lt;P&gt;  fieldcatalog-col_pos     = 6.&lt;/P&gt;&lt;P&gt;  append fieldcatalog to fieldcatalog.&lt;/P&gt;&lt;P&gt;  clear  fieldcatalog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  fieldcatalog-fieldname   = 'NETPR'.&lt;/P&gt;&lt;P&gt;  fieldcatalog-seltext_m   = 'Net Price'.&lt;/P&gt;&lt;P&gt;  fieldcatalog-col_pos     = 7.&lt;/P&gt;&lt;P&gt;  fieldcatalog-outputlen   = 15.&lt;/P&gt;&lt;P&gt;  fieldcatalog-do_sum      = 'X'.&lt;/P&gt;&lt;P&gt;  fieldcatalog-datatype     = 'CURR'.&lt;/P&gt;&lt;P&gt;  append fieldcatalog to fieldcatalog.&lt;/P&gt;&lt;P&gt;  clear  fieldcatalog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  fieldcatalog-fieldname   = 'PEINH'.&lt;/P&gt;&lt;P&gt;  fieldcatalog-seltext_m   = 'Price Unit'.&lt;/P&gt;&lt;P&gt;  fieldcatalog-col_pos     = 8.&lt;/P&gt;&lt;P&gt;  append fieldcatalog to fieldcatalog.&lt;/P&gt;&lt;P&gt;  clear  fieldcatalog.&lt;/P&gt;&lt;P&gt;endform.                    " BUILD_FIELDCATALOG&lt;/P&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  BUILD_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;      Build layout for ALV grid report&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 build_layout.&lt;/P&gt;&lt;P&gt;  gd_layout-no_input          = 'X'.&lt;/P&gt;&lt;P&gt;  gd_layout-colwidth_optimize = 'X'.&lt;/P&gt;&lt;P&gt;  gd_layout-totals_text       = 'Totals'(201).&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; gd_layout-totals_only        = 'X'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; gd_layout-f2code            = 'DISP'.  "Sets fcode for when double&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                        "click(press f2)&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; gd_layout-zebra             = 'X'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; gd_layout-group_change_edit = 'X'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; gd_layout-header_text       = 'helllllo'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;endform.                    " BUILD_LAYOUT&lt;/P&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  DISPLAY_ALV_REPORT&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;      Display report using ALV grid&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 display_alv_report.&lt;/P&gt;&lt;P&gt;  gd_repid = sy-repid.&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;            i_callback_program      = gd_repid&lt;/P&gt;&lt;P&gt;            i_callback_top_of_page   = 'TOP-OF-PAGE'  "see FORM&lt;/P&gt;&lt;P&gt;            i_callback_user_command = 'USER_COMMAND'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           i_grid_title           = outtext&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            is_layout               = gd_layout&lt;/P&gt;&lt;P&gt;            it_fieldcat             = fieldcatalog[]&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           it_special_groups       = gd_tabgroup&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            it_events               = gt_events  &lt;/P&gt;&lt;P&gt;            is_print                = gd_prntparams  &lt;/P&gt;&lt;P&gt;            i_save                  = 'X'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           is_variant              = z_template&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;       tables&lt;/P&gt;&lt;P&gt;            t_outtab                = it_ekko&lt;/P&gt;&lt;P&gt;       exceptions&lt;/P&gt;&lt;P&gt;            program_error           = 1&lt;/P&gt;&lt;P&gt;            others                  = 2.&lt;/P&gt;&lt;P&gt;  if sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;endform.                    " DISPLAY_ALV_REPORT&lt;/P&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_RETRIEVAL&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;      Retrieve data form EKPO table and populate itab it_ekko&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_retrieval.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;select ebeln ebelp statu aedat matnr menge meins netpr peinh&lt;/P&gt;&lt;P&gt; up to 10 rows&lt;/P&gt;&lt;P&gt;  from ekpo&lt;/P&gt;&lt;P&gt;  into table it_ekko.&lt;/P&gt;&lt;P&gt;endform.                    " DATA_RETRIEVAL&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="--------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Form  TOP-OF-PAGE                                                 *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="--------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;ALV Report Header                                                 *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="--------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Form top-of-page.&lt;/P&gt;&lt;P&gt;*ALV Header declarations&lt;/P&gt;&lt;P&gt;data: t_header type slis_t_listheader,&lt;/P&gt;&lt;P&gt;      wa_header type slis_listheader,&lt;/P&gt;&lt;P&gt;      t_line like wa_header-info,&lt;/P&gt;&lt;P&gt;      ld_lines type i,&lt;/P&gt;&lt;P&gt;      ld_linesc(10) type c.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Title&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  wa_header-typ  = 'H'.&lt;/P&gt;&lt;P&gt;  wa_header-info = 'EKKO Table Report'.&lt;/P&gt;&lt;P&gt;  append wa_header to t_header.&lt;/P&gt;&lt;P&gt;  clear wa_header.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Date&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  wa_header-typ  = 'S'.&lt;/P&gt;&lt;P&gt;  wa_header-key = 'Date: '.&lt;/P&gt;&lt;P&gt;  CONCATENATE  sy-datum+6(2) '.'&lt;/P&gt;&lt;P&gt;               sy-datum+4(2) '.'&lt;/P&gt;&lt;P&gt;               sy-datum(4) INTO wa_header-info.   "todays date&lt;/P&gt;&lt;P&gt;  append wa_header to t_header.&lt;/P&gt;&lt;P&gt;  clear: wa_header.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Total No. of Records Selected&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  describe table it_ekko lines ld_lines.&lt;/P&gt;&lt;P&gt;  ld_linesc = ld_lines.&lt;/P&gt;&lt;P&gt;  concatenate 'Total No. of Records Selected: ' ld_linesc&lt;/P&gt;&lt;P&gt;                    into t_line separated by space.&lt;/P&gt;&lt;P&gt;  wa_header-typ  = 'A'.&lt;/P&gt;&lt;P&gt;  wa_header-info = t_line.&lt;/P&gt;&lt;P&gt;  append wa_header to t_header.&lt;/P&gt;&lt;P&gt;  clear: wa_header, t_line.&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 = t_header.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           i_logo             = 'Z_LOGO'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;endform.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      --&amp;gt; R_UCOMM                                                *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      --&amp;gt; RS_SELFIELD                                            *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM user_command USING 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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Check function code&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CASE r_ucomm.&lt;/P&gt;&lt;P&gt;    WHEN '&amp;amp;IC1'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Check field clicked on within ALVgrid report&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    IF rs_selfield-fieldname = 'EBELN'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    Read data table, using index of row user clicked on&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      READ TABLE it_ekko INTO wa_ekko INDEX rs_selfield-tabindex.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    Set parameter ID for transaction screen field&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      SET PARAMETER ID 'BES' FIELD wa_ekko-ebeln.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    Sxecute transaction ME23N, and skip initial data entry screen&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      CALL TRANSACTION 'ME23N' AND SKIP FIRST SCREEN.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDCASE.&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&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  BUILD_EVENTS&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;      Build events table&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 build_events.&lt;/P&gt;&lt;P&gt;  data: ls_event type slis_alv_event.&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   = gt_events[].&lt;/P&gt;&lt;P&gt;  read table gt_events with key name =  slis_ev_end_of_page&lt;/P&gt;&lt;P&gt;                           into ls_event.&lt;/P&gt;&lt;P&gt;  if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;    move 'END_OF_PAGE' to ls_event-form.&lt;/P&gt;&lt;P&gt;    append ls_event to gt_events.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    read table gt_events with key name =  slis_ev_end_of_list&lt;/P&gt;&lt;P&gt;                           into ls_event.&lt;/P&gt;&lt;P&gt;  if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;    move 'END_OF_LIST' to ls_event-form.&lt;/P&gt;&lt;P&gt;    append ls_event to gt_events.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;endform.                    " BUILD_EVENTS&lt;/P&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  BUILD_PRINT_PARAMS&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;      Setup print parameters&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 build_print_params.&lt;/P&gt;&lt;P&gt;  gd_prntparams-reserve_lines = '3'.   "Lines reserved for footer&lt;/P&gt;&lt;P&gt;  gd_prntparams-no_coverpage = 'X'.&lt;/P&gt;&lt;P&gt;endform.                    " BUILD_PRINT_PARAMS&lt;/P&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  END_OF_PAGE&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 END_OF_PAGE.&lt;/P&gt;&lt;P&gt;  data: listwidth type i,&lt;/P&gt;&lt;P&gt;        ld_pagepos(10) type c,&lt;/P&gt;&lt;P&gt;        ld_page(10)    type c.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  write: sy-uline(50).&lt;/P&gt;&lt;P&gt;  skip.&lt;/P&gt;&lt;P&gt;  write:/40 'Page:', sy-pagno .&lt;/P&gt;&lt;P&gt;endform.&lt;/P&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  END_OF_LIST&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form END_OF_LIST.&lt;/P&gt;&lt;P&gt;  data: listwidth type i,&lt;/P&gt;&lt;P&gt;        ld_pagepos(10) type c,&lt;/P&gt;&lt;P&gt;        ld_page(10)    type c.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  skip.&lt;/P&gt;&lt;P&gt;  write:/40 'Page:', sy-pagno .&lt;/P&gt;&lt;P&gt;endform.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 18 Apr 2007 09:02:04 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/interactive-report-coding/m-p/2130911#M447910</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-04-18T09:02:04Z</dc:date>
    </item>
    <item>
      <title>Re: interactive report coding</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/interactive-report-coding/m-p/2130912#M447911</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi rakkasi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Interactive-Report. (using alv)&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>Wed, 18 Apr 2007 09:04:12 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/interactive-report-coding/m-p/2130912#M447911</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-04-18T09:04:12Z</dc:date>
    </item>
    <item>
      <title>Re: interactive report coding</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/interactive-report-coding/m-p/2130913#M447912</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;Interactive reporting can be done using 2 ways :&lt;/P&gt;&lt;P&gt;1. Using LINE-SELECTION&lt;/P&gt;&lt;P&gt;2. Using USER_COMMAND.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LINE-SELECTION means a processing will take place when LINE on the report output is selected i.e. clicked or double-clicked.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;USER-COMMAND approach is followed when there is a GUI Status defined for the report output and user clciks on a button.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;For using AT LINE-SELECTION, u shud use HIDE command&lt;/P&gt;&lt;P&gt;For Using USER-COMMAND option , u shud define PF-STatus and define the required buttons and give function codes to them.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Himanshu&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 18 Apr 2007 09:04:41 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/interactive-report-coding/m-p/2130913#M447912</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-04-18T09:04:41Z</dc:date>
    </item>
    <item>
      <title>Re: interactive report coding</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/interactive-report-coding/m-p/2130914#M447913</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;Have a look at this Interactive ALV report.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT ZZ_22038_22098_002 NO STANDARD PAGE HEADING LINE-SIZE 650&lt;/P&gt;&lt;P&gt;MESSAGE-ID ZZ_9838 .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPE-POOLS: SLIS.&lt;/P&gt;&lt;P&gt;*type declaration for values from ekko&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF I_EKKO,&lt;/P&gt;&lt;P&gt;EBELN LIKE EKKO-EBELN,&lt;/P&gt;&lt;P&gt;AEDAT LIKE EKKO-AEDAT,&lt;/P&gt;&lt;P&gt;BUKRS LIKE EKKO-BUKRS,&lt;/P&gt;&lt;P&gt;BSART LIKE EKKO-BSART,&lt;/P&gt;&lt;P&gt;LIFNR LIKE EKKO-LIFNR,&lt;/P&gt;&lt;P&gt;END OF I_EKKO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: IT_EKKO TYPE STANDARD TABLE OF I_EKKO INITIAL SIZE 0,&lt;/P&gt;&lt;P&gt;WA_EKKO TYPE I_EKKO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*type declaration for values from ekpo&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF I_EKPO,&lt;/P&gt;&lt;P&gt;EBELN LIKE EKPO-EBELN,&lt;/P&gt;&lt;P&gt;EBELP LIKE EKPO-EBELP,&lt;/P&gt;&lt;P&gt;MATNR LIKE EKPO-MATNR,&lt;/P&gt;&lt;P&gt;MENGE LIKE EKPO-MENGE,&lt;/P&gt;&lt;P&gt;MEINS LIKE EKPO-MEINS,&lt;/P&gt;&lt;P&gt;NETPR LIKE EKPO-NETPR,&lt;/P&gt;&lt;P&gt;END OF I_EKPO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: IT_EKPO TYPE STANDARD TABLE OF I_EKPO INITIAL SIZE 0,&lt;/P&gt;&lt;P&gt;WA_EKPO TYPE I_EKPO .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*variable for Report ID&lt;/P&gt;&lt;P&gt;DATA: V_REPID LIKE SY-REPID .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*declaration for fieldcatalog&lt;/P&gt;&lt;P&gt;DATA: I_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,&lt;/P&gt;&lt;P&gt;WA_FIELDCAT TYPE SLIS_FIELDCAT_ALV.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: IT_LISTHEADER TYPE SLIS_T_LISTHEADER.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;declaration for events table where user comand or set PF status will&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;be defined&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA: V_EVENTS TYPE SLIS_T_EVENT,&lt;/P&gt;&lt;P&gt;WA_EVENT TYPE SLIS_ALV_EVENT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;declartion for layout&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA: ALV_LAYOUT TYPE SLIS_LAYOUT_ALV.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;declaration for variant(type of display we want)&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA: I_VARIANT TYPE DISVARIANT,&lt;/P&gt;&lt;P&gt;I_VARIANT1 TYPE DISVARIANT,&lt;/P&gt;&lt;P&gt;I_SAVE(1) TYPE C.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*PARAMETERS : p_var TYPE disvariant-variant.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Title displayed when the alv list is displayed&lt;/P&gt;&lt;P&gt;DATA: I_TITLE_EKKO TYPE LVC_TITLE VALUE 'FIRST LIST DISPLAYED'.&lt;/P&gt;&lt;P&gt;DATA: I_TITLE_EKPO TYPE LVC_TITLE VALUE 'SECONDRY LIST DISPLAYED'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;INITIALIZATION.&lt;/P&gt;&lt;P&gt;V_REPID = SY-REPID.&lt;/P&gt;&lt;P&gt;PERFORM BUILD_FIELDCATLOG.&lt;/P&gt;&lt;P&gt;PERFORM EVENT_CALL.&lt;/P&gt;&lt;P&gt;PERFORM POPULATE_EVENT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;PERFORM DATA_RETRIEVAL.&lt;/P&gt;&lt;P&gt;PERFORM BUILD_LISTHEADER USING IT_LISTHEADER.&lt;/P&gt;&lt;P&gt;PERFORM DISPLAY_ALV_REPORT.&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 BUILD_FIELDCATLOG&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;Fieldcatalog has all the field details from ekko&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 BUILD_FIELDCATLOG.&lt;/P&gt;&lt;P&gt;WA_FIELDCAT-TABNAME = 'IT_EKKO'.&lt;/P&gt;&lt;P&gt;WA_FIELDCAT-FIELDNAME = 'EBELN'.&lt;/P&gt;&lt;P&gt;WA_FIELDCAT-SELTEXT_M = 'PO NO.'.&lt;/P&gt;&lt;P&gt;APPEND WA_FIELDCAT TO I_FIELDCAT.&lt;/P&gt;&lt;P&gt;CLEAR WA_FIELDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WA_FIELDCAT-TABNAME = 'IT_EKKO'.&lt;/P&gt;&lt;P&gt;WA_FIELDCAT-FIELDNAME = 'AEDAT'.&lt;/P&gt;&lt;P&gt;WA_FIELDCAT-SELTEXT_M = 'DATE.'.&lt;/P&gt;&lt;P&gt;APPEND WA_FIELDCAT TO I_FIELDCAT.&lt;/P&gt;&lt;P&gt;CLEAR WA_FIELDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WA_FIELDCAT-TABNAME = 'IT_EKKO'.&lt;/P&gt;&lt;P&gt;WA_FIELDCAT-FIELDNAME = 'BUKRS'.&lt;/P&gt;&lt;P&gt;WA_FIELDCAT-SELTEXT_M = 'COMPANY CODE'.&lt;/P&gt;&lt;P&gt;APPEND WA_FIELDCAT TO I_FIELDCAT.&lt;/P&gt;&lt;P&gt;CLEAR WA_FIELDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WA_FIELDCAT-TABNAME = 'IT_EKKO'.&lt;/P&gt;&lt;P&gt;WA_FIELDCAT-FIELDNAME = 'BUKRS'.&lt;/P&gt;&lt;P&gt;WA_FIELDCAT-SELTEXT_M = 'DOCMENT TYPE'.&lt;/P&gt;&lt;P&gt;APPEND WA_FIELDCAT TO I_FIELDCAT.&lt;/P&gt;&lt;P&gt;CLEAR WA_FIELDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WA_FIELDCAT-TABNAME = 'IT_EKKO'.&lt;/P&gt;&lt;P&gt;WA_FIELDCAT-FIELDNAME = 'LIFNR'.&lt;/P&gt;&lt;P&gt;WA_FIELDCAT-NO_OUT = 'X'.&lt;/P&gt;&lt;P&gt;WA_FIELDCAT-SELTEXT_M = 'VENDOR CODE'.&lt;/P&gt;&lt;P&gt;APPEND WA_FIELDCAT TO I_FIELDCAT.&lt;/P&gt;&lt;P&gt;CLEAR WA_FIELDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. "BUILD_FIELDCATLOG&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_CALL&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;we get all events - TOP OF PAGE or USER COMMAND in table v_events&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM EVENT_CALL.&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 = V_EVENTS&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;P&gt;IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM. "EVENT_CALL&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 POPULATE_EVENT&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;Events populated for TOP OF PAGE &amp;amp; USER COMAND&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 POPULATE_EVENT.&lt;/P&gt;&lt;P&gt;READ TABLE V_EVENTS INTO WA_EVENT WITH KEY NAME = 'TOP_OF_PAGE'.&lt;/P&gt;&lt;P&gt;IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;WA_EVENT-FORM = 'TOP_OF_PAGE'.&lt;/P&gt;&lt;P&gt;MODIFY V_EVENTS FROM WA_EVENT TRANSPORTING FORM WHERE NAME =&lt;/P&gt;&lt;P&gt;WA_EVENT-FORM.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;READ TABLE V_EVENTS INTO WA_EVENT WITH KEY NAME = 'USER_COMMAND'.&lt;/P&gt;&lt;P&gt;IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;WA_EVENT-FORM = 'USER_COMMAND'.&lt;/P&gt;&lt;P&gt;MODIFY V_EVENTS FROM WA_EVENT TRANSPORTING FORM WHERE NAME =&lt;/P&gt;&lt;P&gt;WA_EVENT-NAME.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM. "POPULATE_EVENT&lt;/P&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_retrieval&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;retreiving values from the database table ekko&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_RETRIEVAL.&lt;/P&gt;&lt;P&gt;SELECT EBELN AEDAT BUKRS BSART LIFNR FROM EKKO INTO TABLE IT_EKKO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. "data_retrieval&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 bUild_listheader&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;I_LISTHEADEtext&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 BUILD_LISTHEADER USING I_LISTHEADER TYPE SLIS_T_LISTHEADER.&lt;/P&gt;&lt;P&gt;DATA HLINE TYPE SLIS_LISTHEADER.&lt;/P&gt;&lt;P&gt;HLINE-INFO = 'this is my first alv pgm'.&lt;/P&gt;&lt;P&gt;HLINE-TYP = 'H'.&lt;/P&gt;&lt;P&gt;ENDFORM. "build_listheader&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 display_alv_report&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;P&gt;FORM DISPLAY_ALV_REPORT.&lt;/P&gt;&lt;P&gt;V_REPID = SY-REPID.&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;I_CALLBACK_PROGRAM = V_REPID&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;I_CALLBACK_PF_STATUS_SET = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;I_CALLBACK_USER_COMMAND = 'USER_COMMAND'&lt;/P&gt;&lt;P&gt;I_CALLBACK_TOP_OF_PAGE = 'TOP_OF_PAGE'&lt;/P&gt;&lt;P&gt;I_GRID_TITLE = I_TITLE_EKKO&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;I_GRID_SETTINGS =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IS_LAYOUT = ALV_LAYOUT&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;IT_FIELDCAT = I_FIELDCAT[]&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IT_EXCLUDING =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IT_SPECIAL_GROUPS =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IT_SORT =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IT_FILTER =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IS_SEL_HIDE =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;i_default = 'ZLAY1'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;I_SAVE = 'A'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;is_variant = i_variant&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;IT_EVENTS = V_EVENTS&lt;/P&gt;&lt;P&gt;TABLES&lt;/P&gt;&lt;P&gt;T_OUTTAB = IT_EKKO&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;PROGRAM_ERROR = 1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;OTHERS = 2&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;.&lt;/P&gt;&lt;P&gt;IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM. "display_alv_report&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;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 TOP_OF_PAGE&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;P&gt;FORM TOP_OF_PAGE.&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 = IT_LISTHEADER&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;i_logo =&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;&lt;/P&gt;&lt;P&gt;ENDFORM. "TOP_OF_PAGE&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 USER_COMMAND&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;R_UCOMM text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;--&amp;gt;, text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;--&amp;gt;RS_SLEFIELDtext&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM USER_COMMAND USING R_UCOMM LIKE SY-UCOMM&lt;/P&gt;&lt;P&gt;RS_SELFIELD TYPE SLIS_SELFIELD.&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;READ TABLE IT_EKKO INTO WA_EKKO INDEX RS_SELFIELD-TABINDEX.&lt;/P&gt;&lt;P&gt;PERFORM BUILD_FIELDCATLOG_EKPO.&lt;/P&gt;&lt;P&gt;PERFORM EVENT_CALL_EKPO.&lt;/P&gt;&lt;P&gt;PERFORM POPULATE_EVENT_EKPO.&lt;/P&gt;&lt;P&gt;PERFORM DATA_RETRIEVAL_EKPO.&lt;/P&gt;&lt;P&gt;PERFORM BUILD_LISTHEADER_EKPO USING IT_LISTHEADER.&lt;/P&gt;&lt;P&gt;PERFORM DISPLAY_ALV_EKPO.&lt;/P&gt;&lt;P&gt;ENDCASE.&lt;/P&gt;&lt;P&gt;ENDFORM. "user_command&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 BUILD_FIELDCATLOG_EKPO&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;P&gt;FORM BUILD_FIELDCATLOG_EKPO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WA_FIELDCAT-TABNAME = 'IT_EKPO'.&lt;/P&gt;&lt;P&gt;WA_FIELDCAT-FIELDNAME = 'EBELN'.&lt;/P&gt;&lt;P&gt;WA_FIELDCAT-SELTEXT_M = 'PO NO.'.&lt;/P&gt;&lt;P&gt;APPEND WA_FIELDCAT TO I_FIELDCAT.&lt;/P&gt;&lt;P&gt;CLEAR WA_FIELDCAT.&lt;/P&gt;&lt;P&gt;WA_FIELDCAT-TABNAME = 'IT_EKPO'.&lt;/P&gt;&lt;P&gt;WA_FIELDCAT-FIELDNAME = 'EBELP'.&lt;/P&gt;&lt;P&gt;WA_FIELDCAT-SELTEXT_M = 'LINE NO'.&lt;/P&gt;&lt;P&gt;APPEND WA_FIELDCAT TO I_FIELDCAT.&lt;/P&gt;&lt;P&gt;CLEAR WA_FIELDCAT.&lt;/P&gt;&lt;P&gt;WA_FIELDCAT-TABNAME = 'I_EKPO'.&lt;/P&gt;&lt;P&gt;WA_FIELDCAT-FIELDNAME = 'MATNR'.&lt;/P&gt;&lt;P&gt;WA_FIELDCAT-SELTEXT_M = 'MATERIAL NO.'.&lt;/P&gt;&lt;P&gt;APPEND WA_FIELDCAT TO I_FIELDCAT.&lt;/P&gt;&lt;P&gt;CLEAR WA_FIELDCAT.&lt;/P&gt;&lt;P&gt;WA_FIELDCAT-TABNAME = 'I_EKPO'.&lt;/P&gt;&lt;P&gt;WA_FIELDCAT-FIELDNAME = 'MENGE'.&lt;/P&gt;&lt;P&gt;WA_FIELDCAT-SELTEXT_M = 'QUANTITY'.&lt;/P&gt;&lt;P&gt;APPEND WA_FIELDCAT TO I_FIELDCAT.&lt;/P&gt;&lt;P&gt;CLEAR WA_FIELDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WA_FIELDCAT-TABNAME = 'I_EKPO'.&lt;/P&gt;&lt;P&gt;WA_FIELDCAT-FIELDNAME = 'MEINS'.&lt;/P&gt;&lt;P&gt;WA_FIELDCAT-SELTEXT_M = 'UOM'.&lt;/P&gt;&lt;P&gt;APPEND WA_FIELDCAT TO I_FIELDCAT.&lt;/P&gt;&lt;P&gt;CLEAR WA_FIELDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WA_FIELDCAT-TABNAME = 'I_EKPO'.&lt;/P&gt;&lt;P&gt;WA_FIELDCAT-FIELDNAME = 'NETPR'.&lt;/P&gt;&lt;P&gt;WA_FIELDCAT-SELTEXT_M = 'PRICE'.&lt;/P&gt;&lt;P&gt;APPEND WA_FIELDCAT TO I_FIELDCAT.&lt;/P&gt;&lt;P&gt;CLEAR WA_FIELDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. "BUILD_FIELDCATLOG_EKPO&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_call_ekpo&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;we get all events - TOP OF PAGE or USER COMMAND in table v_events&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM EVENT_CALL_EKPO.&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 = V_EVENTS&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;P&gt;IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM. "event_call_ekpo&lt;/P&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 POPULATE_EVENT&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;Events populated for TOP OF PAGE &amp;amp; USER COMAND&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 POPULATE_EVENT_EKPO.&lt;/P&gt;&lt;P&gt;READ TABLE V_EVENTS INTO WA_EVENT WITH KEY NAME = 'TOP_OF_PAGE'.&lt;/P&gt;&lt;P&gt;IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;WA_EVENT-FORM = 'TOP_OF_PAGE'.&lt;/P&gt;&lt;P&gt;MODIFY V_EVENTS FROM WA_EVENT TRANSPORTING FORM WHERE NAME =&lt;/P&gt;&lt;P&gt;WA_EVENT-FORM.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. "POPULATE_EVENT&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 TOP_OF_PAGE&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;P&gt;FORM F_TOP_OF_PAGE.&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 = IT_LISTHEADER&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;i_logo =&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;&lt;/P&gt;&lt;P&gt;ENDFORM. "TOP_OF_PAGE&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 USER_COMMAND&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;R_UCOMM text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;--&amp;gt;, text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;--&amp;gt;RS_SLEFIELDtext&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;*retreiving values from the database table ekko&lt;/P&gt;&lt;P&gt;FORM DATA_RETRIEVAL_EKPO.&lt;/P&gt;&lt;P&gt;SELECT EBELN EBELP MATNR MENGE MEINS NETPR FROM EKPO INTO TABLE IT_EKPO.&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM BUILD_LISTHEADER_EKPO USING I_LISTHEADER TYPE SLIS_T_LISTHEADER.&lt;/P&gt;&lt;P&gt;DATA: HLINE1 TYPE SLIS_LISTHEADER.&lt;/P&gt;&lt;P&gt;HLINE1-TYP = 'H'.&lt;/P&gt;&lt;P&gt;HLINE1-INFO = 'CHECKING PGM'.&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM DISPLAY_ALV_EKPO.&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_INTERFACE_CHECK = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;I_BYPASSING_BUFFER = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;I_BUFFER_ACTIVE = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;I_CALLBACK_PROGRAM = V_REPID&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;I_CALLBACK_PF_STATUS_SET = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;I_CALLBACK_USER_COMMAND = 'F_USER_COMMAND'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;I_CALLBACK_TOP_OF_PAGE = 'TOP_OF_PAGE'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;I_CALLBACK_HTML_TOP_OF_PAGE = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;I_CALLBACK_HTML_END_OF_LIST = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;I_STRUCTURE_NAME =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;I_BACKGROUND_ID = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;I_GRID_TITLE = I_TITLE_EKPO&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;I_GRID_SETTINGS =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IS_LAYOUT =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;IT_FIELDCAT = I_FIELDCAT[]&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IT_EXCLUDING =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IT_SPECIAL_GROUPS =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IT_SORT =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IT_FILTER =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IS_SEL_HIDE =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;I_DEFAULT =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;I_SAVE = 'A'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IS_VARIANT =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;IT_EVENTS = V_EVENTS&lt;/P&gt;&lt;P&gt;TABLES&lt;/P&gt;&lt;P&gt;T_OUTTAB = IT_EKPO&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;IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hope this resolves your query.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Reward all the helpful answers.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 18 Apr 2007 09:04:55 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/interactive-report-coding/m-p/2130914#M447913</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-04-18T09:04:55Z</dc:date>
    </item>
    <item>
      <title>Re: interactive report coding</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/interactive-report-coding/m-p/2130915#M447914</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;ABAP-ALV Interactive Report &amp;lt;/b&amp;gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ALV Interactive Report with call transaction sample report./* &amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Report ZKAL_ALV_INTERACTIVE_1 *&lt;/P&gt;&lt;P&gt;*&amp;amp; *&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; *&lt;/P&gt;&lt;P&gt;*&amp;amp; *&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;REPORT ZKAL_ALV_INTERACTIVE_1 .&lt;/P&gt;&lt;P&gt;TYPE-POOLS: SLIS.&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;TYPES: BEGIN OF TY_KNA1,&lt;/P&gt;&lt;P&gt;KUNNR TYPE KUNNR,&lt;/P&gt;&lt;P&gt;NAME1 TYPE NAME1,&lt;/P&gt;&lt;P&gt;ORT01 TYPE ORT01,&lt;/P&gt;&lt;P&gt;END OF TY_KNA1.&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF TY_VBAK,&lt;/P&gt;&lt;P&gt;VBELN TYPE VBELN,&lt;/P&gt;&lt;P&gt;ERNAM TYPE ERNAM,&lt;/P&gt;&lt;P&gt;ERDAT TYPE ERDAT,&lt;/P&gt;&lt;P&gt;NETWR TYPE NETWR,&lt;/P&gt;&lt;P&gt;WAERK TYPE WAERK,&lt;/P&gt;&lt;P&gt;END OF TY_VBAK.&lt;/P&gt;&lt;P&gt;&amp;amp;--&lt;DEL&gt;&lt;/DEL&gt;&lt;/P&gt;&lt;HR originaltext="----------" /&gt;WORK AREA &amp;amp; TABLE DECLARATION--&lt;P&gt;&lt;/P&gt;&lt;HR originaltext="------------------" /&gt;&lt;P&gt;DATA: W_KNA1 TYPE TY_KNA1.&lt;/P&gt;&lt;P&gt;DATA: T_KNA1 TYPE STANDARD TABLE OF TY_KNA1 INITIAL SIZE 1.&lt;/P&gt;&lt;P&gt;DATA: W_VBAK TYPE TY_VBAK.&lt;/P&gt;&lt;P&gt;DATA: T_VBAK TYPE STANDARD TABLE OF TY_VBAK INITIAL SIZE 1.&lt;/P&gt;&lt;P&gt;&amp;amp;--&lt;DEL&gt;&lt;/DEL&gt;&lt;/P&gt;&lt;HR originaltext="----------" /&gt;FIELDCAT TABLE &amp;amp; WORK AREA--&lt;P&gt;&lt;/P&gt;&lt;HR originaltext="---------------------" /&gt;&lt;P&gt;DATA: W_FCAT TYPE SLIS_FIELDCAT_ALV.&lt;/P&gt;&lt;P&gt;DATA: T_FCAT TYPE SLIS_T_FIELDCAT_ALV.&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;DATA: W_FCAT1 TYPE SLIS_FIELDCAT_ALV.&lt;/P&gt;&lt;P&gt;DATA: T_FCAT1 TYPE SLIS_T_FIELDCAT_ALV.&lt;/P&gt;&lt;P&gt;&amp;amp;--&lt;DEL&gt;&lt;/DEL&gt;&lt;/P&gt;&lt;HR originaltext="-----------" /&gt;EVENT TABLE AND WORK AREA--&lt;P&gt;&lt;/P&gt;&lt;HR originaltext="--------------------" /&gt;&lt;P&gt;DATA: W_EVENTS TYPE SLIS_ALV_EVENT.&lt;/P&gt;&lt;P&gt;DATA: T_EVENTS TYPE SLIS_T_EVENT.&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;DATA: W_EVENTS1 TYPE SLIS_ALV_EVENT.&lt;/P&gt;&lt;P&gt;DATA: T_EVENTS1 TYPE SLIS_T_EVENT.&lt;/P&gt;&lt;P&gt;&amp;amp;--&lt;DEL&gt;&lt;/DEL&gt;&lt;/P&gt;&lt;HR originaltext="-------------" /&gt;COMMENT TABLE &amp;amp; WORK AREA--&lt;P&gt;&lt;/P&gt;&lt;HR originaltext="------------------" /&gt;&lt;P&gt;DATA: W_COMMENT TYPE SLIS_LISTHEADER.&lt;/P&gt;&lt;P&gt;DATA: T_COMMENT TYPE SLIS_T_LISTHEADER.&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;DATA: W_COMMENT1 TYPE SLIS_LISTHEADER.&lt;/P&gt;&lt;P&gt;DATA: T_COMMENT1 TYPE SLIS_T_LISTHEADER.&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------" /&gt;&lt;P&gt;APPENDING FCAT -&lt;/P&gt;&lt;HR originaltext="---------------------------------" /&gt;&lt;P&gt;W_FCAT-COL_POS = 1.&lt;/P&gt;&lt;P&gt;W_FCAT-FIELDNAME = 'KUNNR'.&lt;/P&gt;&lt;P&gt;W_FCAT-SELTEXT_M = 'CUST. NO'.&lt;/P&gt;&lt;P&gt;W_FCAT-HOTSPOT = 'X'. "HOT SPOT HAND SYMBOL&lt;/P&gt;&lt;P&gt;W_FCAT-EMPHASIZE = 'C119'. "FOR COLORING THE COLUMN 1&lt;/P&gt;&lt;P&gt;APPEND W_FCAT TO T_FCAT.&lt;/P&gt;&lt;P&gt;CLEAR W_FCAT.&lt;/P&gt;&lt;P&gt;W_FCAT-COL_POS = 2.&lt;/P&gt;&lt;P&gt;W_FCAT-FIELDNAME = 'NAME1'.&lt;/P&gt;&lt;P&gt;W_FCAT-SELTEXT_M = 'CUST. NAME'.&lt;/P&gt;&lt;P&gt;APPEND W_FCAT TO T_FCAT.&lt;/P&gt;&lt;P&gt;W_FCAT-COL_POS = 3.&lt;/P&gt;&lt;P&gt;W_FCAT-FIELDNAME = 'ORT01'.&lt;/P&gt;&lt;P&gt;W_FCAT-SELTEXT_M = 'CITY'.&lt;/P&gt;&lt;P&gt;APPEND W_FCAT TO T_FCAT.&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;W_FCAT1-COL_POS = 1.&lt;/P&gt;&lt;P&gt;W_FCAT1-FIELDNAME = 'VBELN'.&lt;/P&gt;&lt;P&gt;W_FCAT1-SELTEXT_M = 'ORDER NO'.&lt;/P&gt;&lt;P&gt;W_FCAT1-EMPHASIZE = 'C519'.&lt;/P&gt;&lt;P&gt;APPEND W_FCAT1 TO T_FCAT1.&lt;/P&gt;&lt;P&gt;CLEAR W_FCAT.&lt;/P&gt;&lt;P&gt;W_FCAT1-COL_POS = 2.&lt;/P&gt;&lt;P&gt;W_FCAT1-FIELDNAME = 'ERNAM'.&lt;/P&gt;&lt;P&gt;W_FCAT1-SELTEXT_M = 'NAME OF PARTY'.&lt;/P&gt;&lt;P&gt;APPEND W_FCAT1 TO T_FCAT1.&lt;/P&gt;&lt;P&gt;W_FCAT1-COL_POS = 3.&lt;/P&gt;&lt;P&gt;W_FCAT1-FIELDNAME = 'ERDAT'.&lt;/P&gt;&lt;P&gt;W_FCAT1-SELTEXT_M = 'DATE'.&lt;/P&gt;&lt;P&gt;APPEND W_FCAT1 TO T_FCAT1.&lt;/P&gt;&lt;P&gt;W_FCAT1-COL_POS = 4.&lt;/P&gt;&lt;P&gt;W_FCAT1-FIELDNAME = 'NETWR'.&lt;/P&gt;&lt;P&gt;W_FCAT1-SELTEXT_M = 'ORDER VALUE'.&lt;/P&gt;&lt;P&gt;APPEND W_FCAT1 TO T_FCAT1.&lt;/P&gt;&lt;P&gt;W_FCAT1-COL_POS = 5.&lt;/P&gt;&lt;P&gt;W_FCAT1-FIELDNAME = 'WAERK'.&lt;/P&gt;&lt;P&gt;W_FCAT1-SELTEXT_M = 'CURRENCY'.&lt;/P&gt;&lt;P&gt;APPEND W_FCAT1 TO T_FCAT1.&lt;/P&gt;&lt;P&gt;&amp;amp;--&lt;DEL&gt;&lt;/DEL&gt;&lt;/P&gt;&lt;HR originaltext="-------------" /&gt;APPEND COMMENTRY--&lt;P&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------" /&gt;&lt;P&gt;W_COMMENT-TYP = 'H'.&lt;/P&gt;&lt;P&gt;W_COMMENT-INFO = 'CUSTOMER DETAILS'.&lt;/P&gt;&lt;P&gt;APPEND W_COMMENT TO T_COMMENT.&lt;/P&gt;&lt;P&gt;CLEAR W_COMMENT.&lt;/P&gt;&lt;P&gt;&amp;amp;--&lt;DEL&gt;&lt;/DEL&gt;&lt;/P&gt;&lt;HR originaltext="-------------" /&gt;APPEND EVENTS TABLE--&lt;P&gt;&lt;/P&gt;&lt;HR originaltext="------------------------" /&gt;&lt;P&gt;W_EVENTS-NAME = 'TOP_OF_PAGE'.&lt;/P&gt;&lt;P&gt;W_EVENTS-FORM = 'TOPPAGE'.&lt;/P&gt;&lt;P&gt;APPEND W_EVENTS TO T_EVENTS.&lt;/P&gt;&lt;P&gt;W_EVENTS-NAME = 'USER_COMMAND'.&lt;/P&gt;&lt;P&gt;W_EVENTS-FORM = 'SUB2'.&lt;/P&gt;&lt;P&gt;APPEND W_EVENTS TO T_EVENTS.&lt;/P&gt;&lt;P&gt;W_EVENTS1-NAME = 'TOP_OF_PAGE'.&lt;/P&gt;&lt;P&gt;W_EVENTS1-FORM = 'TOPPAGE1'.&lt;/P&gt;&lt;P&gt;APPEND W_EVENTS1 TO T_EVENTS1.&lt;/P&gt;&lt;P&gt;CLEAR W_EVENTS1.&lt;/P&gt;&lt;P&gt;W_EVENTS1-NAME = 'USER_COMMAND'.&lt;/P&gt;&lt;P&gt;W_EVENTS1-FORM = 'SUB3'.&lt;/P&gt;&lt;P&gt;APPEND W_EVENTS1 TO T_EVENTS1.&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;SELECT-OPTIONS: CUSTNO FOR W_KNA1-KUNNR.&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;SELECT KUNNR&lt;/P&gt;&lt;P&gt;NAME1&lt;/P&gt;&lt;P&gt;ORT01 FROM KNA1 INTO TABLE T_KNA1&lt;/P&gt;&lt;P&gt;WHERE KUNNR IN CUSTNO.&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;I_CALLBACK_PROGRAM = 'ZKAL_ALV_INTERACTIVE_12'&lt;/P&gt;&lt;P&gt;I_BACKGROUND_ID = 'BIKE'&lt;/P&gt;&lt;P&gt;I_GRID_TITLE = 'CUSTOMER DETAILS'&lt;/P&gt;&lt;P&gt;IT_FIELDCAT = T_FCAT&lt;/P&gt;&lt;P&gt;IT_EVENTS = T_EVENTS&lt;/P&gt;&lt;P&gt;TABLES&lt;/P&gt;&lt;P&gt;T_OUTTAB = T_KNA1 .&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;FORM TOPPAGE.&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 = T_COMMENT&lt;/P&gt;&lt;P&gt;I_LOGO = 'LOGO_ALV'.&lt;/P&gt;&lt;P&gt;ENDFORM. "END OF TOPPAGE SUB.&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;FORM SUB2 USING UCOMM LIKE SY-UCOMM FIELDS1 TYPE SLIS_SELFIELD.&lt;/P&gt;&lt;P&gt;READ TABLE T_KNA1 INTO W_KNA1 INDEX FIELDS1-TABINDEX.&lt;/P&gt;&lt;P&gt;SELECT VBELN&lt;/P&gt;&lt;P&gt;ERNAM&lt;/P&gt;&lt;P&gt;ERDAT&lt;/P&gt;&lt;P&gt;NETWR&lt;/P&gt;&lt;P&gt;WAERK&lt;/P&gt;&lt;P&gt;FROM VBAK&lt;/P&gt;&lt;P&gt;INTO TABLE T_VBAK&lt;/P&gt;&lt;P&gt;WHERE KUNNR = W_KNA1-KUNNR.&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;I_CALLBACK_PROGRAM = 'ZKAL_ALV_INTERACTIVE_12'&lt;/P&gt;&lt;P&gt;I_BACKGROUND_ID = 'KALEEM'&lt;/P&gt;&lt;P&gt;I_GRID_TITLE = 'LIST OF ORDERS'&lt;/P&gt;&lt;P&gt;IT_FIELDCAT = T_FCAT1&lt;/P&gt;&lt;P&gt;IT_EVENTS = T_EVENTS1&lt;/P&gt;&lt;P&gt;TABLES&lt;/P&gt;&lt;P&gt;T_OUTTAB = T_VBAK.&lt;/P&gt;&lt;P&gt;ENDFORM. "END OF SUB2.&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;FORM TOPPAGE1.&lt;/P&gt;&lt;P&gt;&amp;amp;--&lt;DEL&gt;&lt;/DEL&gt;&lt;/P&gt;&lt;HR originaltext="-------" /&gt;APPEND COMMENTRYOF SECONDRY SCREEN--&lt;P&gt;&lt;/P&gt;&lt;HR originaltext="----------------" /&gt;&lt;P&gt;W_COMMENT1-TYP = 'H'.&lt;/P&gt;&lt;P&gt;W_COMMENT1-INFO = 'LIST OF ORDERS'.&lt;/P&gt;&lt;P&gt;APPEND W_COMMENT1 TO T_COMMENT1.&lt;/P&gt;&lt;P&gt;W_COMMENT1-TYP = 'S'.&lt;/P&gt;&lt;P&gt;W_COMMENT1-KEY = 'CUSTOMER'.&lt;/P&gt;&lt;P&gt;W_COMMENT1-INFO = W_KNA1-KUNNR.&lt;/P&gt;&lt;P&gt;APPEND W_COMMENT1 TO T_COMMENT1.&lt;/P&gt;&lt;P&gt;CLEAR W_COMMENT.&lt;/P&gt;&lt;P&gt;W_COMMENT1-TYP = 'A'.&lt;/P&gt;&lt;P&gt;W_COMMENT1-INFO = W_KNA1-NAME1.&lt;/P&gt;&lt;P&gt;APPEND W_COMMENT1 TO T_COMMENT1.&lt;/P&gt;&lt;P&gt;CLEAR W_COMMENT1.&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 = T_COMMENT1&lt;/P&gt;&lt;P&gt;I_LOGO = 'LOGO_ALV'&lt;/P&gt;&lt;P&gt;.&lt;/P&gt;&lt;P&gt;REFRESH T_COMMENT1.&lt;/P&gt;&lt;P&gt;ENDFORM. "END OF TOPPAGE1&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;FORM SUB3 USING UCOMM LIKE SY-UCOMM FIELDS1 TYPE SLIS_SELFIELD.&lt;/P&gt;&lt;P&gt;READ TABLE T_VBAK INTO W_VBAK INDEX FIELDS1-TABINDEX.&lt;/P&gt;&lt;P&gt;SET PARAMETER ID 'AUN' FIELD W_VBAK-VBELN.&lt;/P&gt;&lt;P&gt;CALL TRANSACTION 'VA02' AND SKIP FIRST SCREEN.&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="------------------------------------------------------------------" /&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;&amp;lt;b&amp;gt;Interactive Reports&amp;lt;/b&amp;gt; &lt;/P&gt;&lt;P&gt;As the name suggests, the user can Interact with the report. We can have a drill down into the report data. For example, Column one of the report displays the material numbers, and the user feels that he needs some more specific data about the vendor for that material, he can HIDE that data under those material numbers. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;And when the user clicks the material number, another report (actually sub report/secondary list) which displays the vendor details will be displayed. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;We can have a basic list (number starts from 0) and 20 secondary lists (1 to 21). &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Events associated with Interactive Reports are: &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;AT LINE-SELECTION &lt;/P&gt;&lt;P&gt;AT USER-COMMAND &lt;/P&gt;&lt;P&gt;AT PF&amp;lt;key&amp;gt; &lt;/P&gt;&lt;P&gt;TOP-OF-PAGE DURING LINE-SELECTION.&amp;lt;/b&amp;gt; &lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;HIDE&amp;lt;/b&amp;gt; statement holds the data to be displayed in the secondary list. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;sy-lisel : contains data of the selected line. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;sy-lsind : contains the level of report (from 0 to 21) &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Interactive Report Events: &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT LINE-SELECTION : This Event triggers when we double click a line on the list, when the event is triggered a new sublist is going to be generated. Under this event what ever the statements that are been return will be displayed on newly generated sublist. &lt;/P&gt;&lt;P&gt;AT PFn: For predefined function keys... &lt;/P&gt;&lt;P&gt;AT USER-COMMAND : It provides user functions keys. &lt;/P&gt;&lt;P&gt;TOP-OF-PAGE DURING LINE-SELECTION :top of page event for secondary list. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;hope it will clear ur doubt&lt;/P&gt;&lt;P&gt;regards&lt;/P&gt;&lt;P&gt;ravish&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;plz dont forget to reward points if helpful&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 18 Apr 2007 09:05:09 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/interactive-report-coding/m-p/2130915#M447914</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-04-18T09:05:09Z</dc:date>
    </item>
    <item>
      <title>Re: interactive report coding</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/interactive-report-coding/m-p/2130916#M447915</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;Go through the following Example Code&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; Report ZSSSS1 *&lt;/P&gt;&lt;P&gt;*&amp;amp; *&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; *&lt;/P&gt;&lt;P&gt;*&amp;amp; *&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;REPORT ZSSSS1 LINE-SIZE 120&lt;/P&gt;&lt;P&gt;LINE-COUNT 25(3)&lt;/P&gt;&lt;P&gt;MESSAGE-ID ZSAN.&lt;/P&gt;&lt;P&gt;********************************************************************&lt;/P&gt;&lt;P&gt;*Program Desc: INTERACTIVE REPORT FOR PURCHASE ORDER DETAILS&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;BASIC LIST CONTAINS HEADER DETAILS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;SECONDARY LIST CONTAINS ITEM DETAILS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;AND CONDETION RECORD DETAILS&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;T A B L E S U S E D *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;********************************************************************&lt;/P&gt;&lt;P&gt;TABLES: EKKO,EKPO,KONV,LFA1,T001.&lt;/P&gt;&lt;P&gt;********************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;S E L E C T I O N S C R E E N *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;********************************************************************&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-000.&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS:&lt;/P&gt;&lt;P&gt;S_LIFNR FOR EKKO-LIFNR,&lt;/P&gt;&lt;P&gt;S_BUKRS FOR EKKO-BUKRS.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK B1.&lt;/P&gt;&lt;P&gt;********************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;D A T A D E C L A R A T I O N S *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;********************************************************************&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF IT_EKKO OCCURS 0,&lt;/P&gt;&lt;P&gt;BUKRS LIKE EKKO-BUKRS,&lt;/P&gt;&lt;P&gt;LIFNR LIKE EKKO-LIFNR,&lt;/P&gt;&lt;P&gt;EBELN LIKE EKKO-EBELN,&lt;/P&gt;&lt;P&gt;KNUMV LIKE EKKO-KNUMV,&lt;/P&gt;&lt;P&gt;END OF IT_EKKO.&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF IT_EKPO OCCURS 0,&lt;/P&gt;&lt;P&gt;EBELN LIKE EKPO-EBELN,&lt;/P&gt;&lt;P&gt;EBELP LIKE EKPO-EBELP,&lt;/P&gt;&lt;P&gt;MATNR LIKE EKPO-MATNR,&lt;/P&gt;&lt;P&gt;INFNR LIKE EKPO-INFNR,&lt;/P&gt;&lt;P&gt;MENGE LIKE EKPO-MENGE,&lt;/P&gt;&lt;P&gt;MEINS LIKE EKPO-MEINS,&lt;/P&gt;&lt;P&gt;NETPR LIKE EKPO-NETPR,&lt;/P&gt;&lt;P&gt;END OF IT_EKPO.&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF IT_KONV OCCURS 0,&lt;/P&gt;&lt;P&gt;KNUMV LIKE KONV-KNUMV,&lt;/P&gt;&lt;P&gt;KSCHL LIKE KONV-KSCHL,&lt;/P&gt;&lt;P&gt;KAWRT LIKE KONV-KAWRT,&lt;/P&gt;&lt;P&gt;KBETR LIKE KONV-KBETR,&lt;/P&gt;&lt;P&gt;KPOSN LIKE KONV-KPOSN,&lt;/P&gt;&lt;P&gt;END OF IT_KONV.&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF IT_LFA1 OCCURS 0,&lt;/P&gt;&lt;P&gt;LIFNR LIKE LFA1-LIFNR,&lt;/P&gt;&lt;P&gt;NAME1 LIKE LFA1-NAME1,&lt;/P&gt;&lt;P&gt;STRAS LIKE LFA1-STRAS,&lt;/P&gt;&lt;P&gt;ORT01 LIKE LFA1-ORT01,&lt;/P&gt;&lt;P&gt;PSTLZ LIKE LFA1-PSTLZ,&lt;/P&gt;&lt;P&gt;LAND1 LIKE LFA1-LAND1,&lt;/P&gt;&lt;P&gt;END OF IT_LFA1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: V_BUTXT LIKE T001-BUTXT,&lt;/P&gt;&lt;P&gt;FNAM(20) TYPE C,&lt;/P&gt;&lt;P&gt;FVAL(20) TYPE C.&lt;/P&gt;&lt;P&gt;********************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;A T S E L E C T I O N - S C R E E N O N &amp;lt;FIELD&amp;gt; *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;********************************************************************&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN ON S_BUKRS.&lt;/P&gt;&lt;P&gt;PERFORM VALIDATE.&lt;/P&gt;&lt;P&gt;********************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;S T A R T - O F - S E L E C T I O N *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;********************************************************************&lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;PERFORM SELECT_DATA. " SELECTION OF ALL DATA&lt;/P&gt;&lt;P&gt;PERFORM DISPLAY_DATA. " DISPLAY OF BASIC LIST&lt;/P&gt;&lt;P&gt;********************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;A T L I N E S E L E C T I O N *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;********************************************************************&lt;/P&gt;&lt;P&gt;AT LINE-SELECTION.&lt;/P&gt;&lt;P&gt;GET CURSOR FIELD FNAM VALUE FVAL.&lt;/P&gt;&lt;P&gt;CASE FNAM.&lt;/P&gt;&lt;P&gt;WHEN 'IT_EKKO-EBELN'.&lt;/P&gt;&lt;P&gt;PERFORM DISPLAY_SEC1.&lt;/P&gt;&lt;P&gt;WHEN 'IT_EKKO-LIFNR'.&lt;/P&gt;&lt;P&gt;PERFORM DISPLAY_SEC2.&lt;/P&gt;&lt;P&gt;WHEN OTHERS.&lt;/P&gt;&lt;P&gt;PERFORM DISPLAY_SEC3.&lt;/P&gt;&lt;P&gt;ENDCASE.&lt;/P&gt;&lt;P&gt;********************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;T O P - O F - P A G E *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;********************************************************************&lt;/P&gt;&lt;P&gt;TOP-OF-PAGE.&lt;/P&gt;&lt;P&gt;PERFORM WRITE_HEADER.&lt;/P&gt;&lt;P&gt;********************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;T O P - O F - P A G E D U R I N G L I N E S E L *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;********************************************************************&lt;/P&gt;&lt;P&gt;TOP-OF-PAGE DURING LINE-SELECTION.&lt;/P&gt;&lt;P&gt;PERFORM WRITE_HEADER2.&lt;/P&gt;&lt;P&gt;********************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;E N D - O F - P A G E *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;********************************************************************&lt;/P&gt;&lt;P&gt;END-OF-PAGE.&lt;/P&gt;&lt;P&gt;PERFORM WRITE_FOOTER.&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 SELECT_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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;THIS FORM CONTAINS ALL SELECTION OF DATA STATEMENTS&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 SELECT_DATA.&lt;/P&gt;&lt;P&gt;SELECT BUKRS LIFNR EBELN KNUMV&lt;/P&gt;&lt;P&gt;FROM EKKO&lt;/P&gt;&lt;P&gt;INTO TABLE IT_EKKO&lt;/P&gt;&lt;P&gt;WHERE LIFNR IN S_LIFNR&lt;/P&gt;&lt;P&gt;AND BUKRS IN S_BUKRS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF NOT IT_EKKO[] IS INITIAL.&lt;/P&gt;&lt;P&gt;SELECT EBELN EBELP MATNR INFNR MENGE MEINS NETPR&lt;/P&gt;&lt;P&gt;FROM EKPO&lt;/P&gt;&lt;P&gt;INTO TABLE IT_EKPO&lt;/P&gt;&lt;P&gt;FOR ALL ENTRIES IN IT_EKKO&lt;/P&gt;&lt;P&gt;WHERE EBELN = IT_EKKO-EBELN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;LOOP AT IT_EKKO.&lt;/P&gt;&lt;P&gt;LOOP AT IT_EKPO.&lt;/P&gt;&lt;P&gt;SELECT KNUMV KSCHL KAWRT KBETR KPOSN&lt;/P&gt;&lt;P&gt;FROM KONV&lt;/P&gt;&lt;P&gt;INTO IT_KONV&lt;/P&gt;&lt;P&gt;WHERE KNUMV = IT_EKKO-KNUMV&lt;/P&gt;&lt;P&gt;AND KPOSN = IT_EKPO-EBELP.&lt;/P&gt;&lt;P&gt;APPEND IT_KONV.&lt;/P&gt;&lt;P&gt;ENDSELECT.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDIF." END OF IF FOR CHECK OF SY-SUBRC&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT LIFNR NAME1 STRAS ORT01 PSTLZ LAND1&lt;/P&gt;&lt;P&gt;INTO TABLE IT_LFA1&lt;/P&gt;&lt;P&gt;FROM LFA1&lt;/P&gt;&lt;P&gt;FOR ALL ENTRIES IN IT_EKKO&lt;/P&gt;&lt;P&gt;WHERE LIFNR = IT_EKKO-LIFNR.&lt;/P&gt;&lt;P&gt;ENDIF." END OF IF FOR IT_EKKO IS NOT INITIAL&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform. " SELECT_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;*&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;DISPLAY THE BASIC DATA&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 DISPLAY_DATA.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: LINNO TYPE I.&lt;/P&gt;&lt;P&gt;SORT IT_EKKO BY BUKRS LIFNR EBELN.&lt;/P&gt;&lt;P&gt;LOOP AT IT_EKKO.&lt;/P&gt;&lt;P&gt;READ TABLE IT_LFA1 WITH KEY LIFNR = IT_EKKO-LIFNR.&lt;/P&gt;&lt;P&gt;SELECT SINGLE BUTXT&lt;/P&gt;&lt;P&gt;FROM T001&lt;/P&gt;&lt;P&gt;INTO (V_BUTXT)&lt;/P&gt;&lt;P&gt;WHERE BUKRS = IT_EKKO-BUKRS.&lt;/P&gt;&lt;P&gt;WRITE:/1 SY-VLINE,&lt;/P&gt;&lt;P&gt;(10) IT_EKKO-EBELN HOTSPOT ON,&lt;/P&gt;&lt;P&gt;SY-VLINE,&lt;/P&gt;&lt;P&gt;(10) IT_EKKO-LIFNR HOTSPOT ON,&lt;/P&gt;&lt;P&gt;SY-VLINE,&lt;/P&gt;&lt;P&gt;(15) IT_LFA1-NAME1 HOTSPOT ON,&lt;/P&gt;&lt;P&gt;SY-VLINE,&lt;/P&gt;&lt;P&gt;(10) IT_EKKO-BUKRS HOTSPOT ON,&lt;/P&gt;&lt;P&gt;SY-VLINE,&lt;/P&gt;&lt;P&gt;(15) V_BUTXT,&lt;/P&gt;&lt;P&gt;75 SY-VLINE.&lt;/P&gt;&lt;P&gt;HIDE: IT_EKKO-EBELN,&lt;/P&gt;&lt;P&gt;IT_EKKO-LIFNR.&lt;/P&gt;&lt;P&gt;WRITE:/1(75) SY-ULINE.&lt;/P&gt;&lt;P&gt;AT END OF LIFNR.&lt;/P&gt;&lt;P&gt;LINNO = SY-LINCT - SY-LINNO - 1.&lt;/P&gt;&lt;P&gt;SKIP LINNO.&lt;/P&gt;&lt;P&gt;ENDAT.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;endform. " DISPLAY_DATA&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;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_SEC3&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_SEC3.&lt;/P&gt;&lt;P&gt;LOOP AT IT_EKPO.&lt;/P&gt;&lt;P&gt;CLEAR: IT_EKPO, IT_KONV.&lt;/P&gt;&lt;P&gt;READ TABLE IT_EKPO WITH KEY EBELN = IT_EKKO-EBELN.&lt;/P&gt;&lt;P&gt;IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;FORMAT COLOR 3.&lt;/P&gt;&lt;P&gt;WRITE:/1 SY-VLINE,&lt;/P&gt;&lt;P&gt;(10) IT_EKPO-EBELN,&lt;/P&gt;&lt;P&gt;SY-VLINE,&lt;/P&gt;&lt;P&gt;(10) IT_EKPO-EBELP,&lt;/P&gt;&lt;P&gt;SY-VLINE,&lt;/P&gt;&lt;P&gt;(18) IT_EKPO-MATNR,&lt;/P&gt;&lt;P&gt;SY-VLINE,&lt;/P&gt;&lt;P&gt;(10) IT_EKPO-INFNR,&lt;/P&gt;&lt;P&gt;SY-VLINE,&lt;/P&gt;&lt;P&gt;(15) IT_EKPO-MENGE,&lt;/P&gt;&lt;P&gt;SY-VLINE,&lt;/P&gt;&lt;P&gt;(10) IT_EKPO-MEINS,&lt;/P&gt;&lt;P&gt;SY-VLINE,&lt;/P&gt;&lt;P&gt;(12) IT_EKPO-NETPR,&lt;/P&gt;&lt;P&gt;105 SY-VLINE.&lt;/P&gt;&lt;P&gt;FORMAT COLOR OFF.&lt;/P&gt;&lt;P&gt;WRITE:/1(105) SY-ULINE.&lt;/P&gt;&lt;P&gt;FORMAT COLOR 4.&lt;/P&gt;&lt;P&gt;READ TABLE IT_KONV WITH KEY KPOSN = IT_EKPO-EBELP.&lt;/P&gt;&lt;P&gt;IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;WRITE:/1 SY-VLINE,&lt;/P&gt;&lt;P&gt;(10) IT_KONV-KNUMV,&lt;/P&gt;&lt;P&gt;SY-VLINE,&lt;/P&gt;&lt;P&gt;(10) IT_KONV-KSCHL,&lt;/P&gt;&lt;P&gt;SY-VLINE,&lt;/P&gt;&lt;P&gt;(15) IT_KONV-KAWRT,&lt;/P&gt;&lt;P&gt;SY-VLINE,&lt;/P&gt;&lt;P&gt;(12) IT_KONV-KBETR,&lt;/P&gt;&lt;P&gt;SY-VLINE.&lt;/P&gt;&lt;P&gt;WRITE:/1(95) SY-ULINE.&lt;/P&gt;&lt;P&gt;FORMAT COLOR OFF.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;endform. " DISPLAY_SEC3&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 DISPLAY_SEC1&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;TO CALL TRANSACTION ME23&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 DISPLAY_SEC1.&lt;/P&gt;&lt;P&gt;SET PARAMETER ID 'BES' FIELD IT_EKKO-EBELN.&lt;/P&gt;&lt;P&gt;CALL TRANSACTION 'ME23' AND SKIP FIRST SCREEN.&lt;/P&gt;&lt;P&gt;endform. " DISPLAY_SEC1&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;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 WRITE_HEADER&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;HEADER DISPLAY&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form WRITE_HEADER.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORMAT COLOR 3.&lt;/P&gt;&lt;P&gt;WRITE:/1 SY-VLINE,&lt;/P&gt;&lt;P&gt;(10) 'PUR.ORDER',&lt;/P&gt;&lt;P&gt;SY-VLINE,&lt;/P&gt;&lt;P&gt;(10) 'VENDOR',&lt;/P&gt;&lt;P&gt;SY-VLINE,&lt;/P&gt;&lt;P&gt;(15) 'NAME',&lt;/P&gt;&lt;P&gt;SY-VLINE,&lt;/P&gt;&lt;P&gt;(10) 'COMP.CODE',&lt;/P&gt;&lt;P&gt;SY-VLINE,&lt;/P&gt;&lt;P&gt;(15) 'COMP.DESC',&lt;/P&gt;&lt;P&gt;75 SY-VLINE.&lt;/P&gt;&lt;P&gt;WRITE:/1(75) SY-ULINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORMAT COLOR OFF.&lt;/P&gt;&lt;P&gt;endform. " WRITE_HEADER&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 WRITE_FOOTER&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;FOOTER 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 WRITE_FOOTER.&lt;/P&gt;&lt;P&gt;FORMAT COLOR 4.&lt;/P&gt;&lt;P&gt;WRITE: /1 'USER:',SY-UNAME,&lt;/P&gt;&lt;P&gt;45 'DATE:', SY-DATUM.&lt;/P&gt;&lt;P&gt;FORMAT COLOR OFF.&lt;/P&gt;&lt;P&gt;endform. " WRITE_FOOTER&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 WRITE_HEADER2&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;HEADER FOR SECONDARY 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 WRITE_HEADER2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORMAT COLOR 4.&lt;/P&gt;&lt;P&gt;WRITE: /30 'INTELLIGROUP ASIA PVT LTD' CENTERED.&lt;/P&gt;&lt;P&gt;WRITE:/50 'HYDERABAD' CENTERED.&lt;/P&gt;&lt;P&gt;FORMAT COLOR 5.&lt;/P&gt;&lt;P&gt;WRITE:/1 SY-VLINE,&lt;/P&gt;&lt;P&gt;(10) 'PUR.ORDR',&lt;/P&gt;&lt;P&gt;SY-VLINE,&lt;/P&gt;&lt;P&gt;(10) 'ITEM',&lt;/P&gt;&lt;P&gt;SY-VLINE,&lt;/P&gt;&lt;P&gt;(18) 'MATERIAL NUMBER',&lt;/P&gt;&lt;P&gt;SY-VLINE,&lt;/P&gt;&lt;P&gt;(10) 'INFO.RECD',&lt;/P&gt;&lt;P&gt;SY-VLINE,&lt;/P&gt;&lt;P&gt;(15) 'QUANTITY',&lt;/P&gt;&lt;P&gt;SY-VLINE,&lt;/P&gt;&lt;P&gt;(10) 'UNITS',&lt;/P&gt;&lt;P&gt;SY-VLINE,&lt;/P&gt;&lt;P&gt;(12) 'NETPRICE',&lt;/P&gt;&lt;P&gt;105 SY-VLINE.&lt;/P&gt;&lt;P&gt;FORMAT COLOR OFF.&lt;/P&gt;&lt;P&gt;WRITE:/1(105) SY-ULINE.&lt;/P&gt;&lt;P&gt;FORMAT COLOR 6.&lt;/P&gt;&lt;P&gt;WRITE:/1 SY-VLINE,&lt;/P&gt;&lt;P&gt;(10) 'COND.RECD',&lt;/P&gt;&lt;P&gt;SY-VLINE,&lt;/P&gt;&lt;P&gt;(10) 'TYPE',&lt;/P&gt;&lt;P&gt;SY-VLINE,&lt;/P&gt;&lt;P&gt;(15) 'BASE VALUE',&lt;/P&gt;&lt;P&gt;SY-VLINE,&lt;/P&gt;&lt;P&gt;(12) 'AMOUNT',&lt;/P&gt;&lt;P&gt;SY-VLINE.&lt;/P&gt;&lt;P&gt;FORMAT COLOR OFF.&lt;/P&gt;&lt;P&gt;WRITE:/1(95) SY-ULINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform. " WRITE_HEADER2&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_SEC2&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;TO DISPLAY VENDOR DETAILS IN POP UP WINDOW&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 DISPLAY_SEC2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;READ TABLE IT_LFA1 WITH KEY LIFNR = IT_EKKO-LIFNR.&lt;/P&gt;&lt;P&gt;IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;WRITE:/ 'NAME IS:' , IT_LFA1-NAME1,&lt;/P&gt;&lt;P&gt;/ 'STREET IS:', IT_LFA1-STRAS,&lt;/P&gt;&lt;P&gt;/ 'CITY IS:', IT_LFA1-ORT01,&lt;/P&gt;&lt;P&gt;/ 'POSTEL CODE IS:',IT_LFA1-PSTLZ,&lt;/P&gt;&lt;P&gt;/ 'COUNTRY IS: ', IT_LFA1-LAND1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WINDOW STARTING AT 1 15&lt;/P&gt;&lt;P&gt;ENDING AT 50 20.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform. " DISPLAY_SEC2&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 VALIDATE&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;VALIDATE BUKRS&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 VALIDATE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT SINGLE *&lt;/P&gt;&lt;P&gt;FROM T001&lt;/P&gt;&lt;P&gt;WHERE BUKRS IN S_BUKRS.&lt;/P&gt;&lt;P&gt;IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;MESSAGE E001.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;endform. " VALIDATE&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;and&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sapgenie.com/abap/ireports.htm" target="test_blank"&gt;http://www.sapgenie.com/abap/ireports.htm&lt;/A&gt;  &lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sap-img.com/abap/an-interactive-alv-report.htm" target="test_blank"&gt;http://www.sap-img.com/abap/an-interactive-alv-report.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sap-basis-abap.com/abap/check-boxes-in-an-interactive-report.htm" target="test_blank"&gt;http://www.sap-basis-abap.com/abap/check-boxes-in-an-interactive-report.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://sap-img.com/abap/difference-between-drilldown-report-and-interactive-report.htm" target="test_blank"&gt;http://sap-img.com/abap/difference-between-drilldown-report-and-interactive-report.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;Rk&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Message was edited by: &lt;/P&gt;&lt;P&gt;        Rk Pasupuleti&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 18 Apr 2007 09:09:48 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/interactive-report-coding/m-p/2130916#M447915</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-04-18T09:09:48Z</dc:date>
    </item>
    <item>
      <title>Re: interactive report coding</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/interactive-report-coding/m-p/2130917#M447916</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;   Try the following code n let me know.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;"----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;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;STRONG&gt;"----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;tables:&lt;/P&gt;&lt;P&gt;  sflight,                             " Flight master&lt;/P&gt;&lt;P&gt;  spfli.                               " Flight schedule master&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;"----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Field string to hold flight schedule data                           *&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;data:&lt;/P&gt;&lt;P&gt;  begin of fs_spfli,&lt;/P&gt;&lt;P&gt;    carrid   type spfli-carrid,        " Airline carrier id&lt;/P&gt;&lt;P&gt;    connid   type spfli-connid,        " Flight connection number&lt;/P&gt;&lt;P&gt;    airpfrom type spfli-airpfrom,      " Departure airport&lt;/P&gt;&lt;P&gt;    airpto   type spfli-airpto,        " Destination airport&lt;/P&gt;&lt;P&gt;    deptime  type spfli-deptime,       " Departure time&lt;/P&gt;&lt;P&gt;    arrtime  type spfli-arrtime,       " Arrival time&lt;/P&gt;&lt;P&gt;  end of fs_spfli.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;"----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Internal table to hold flight schedule data                         *&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;data:&lt;/P&gt;&lt;P&gt;  t_spfli like standard table&lt;/P&gt;&lt;P&gt;       of fs_spfli.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;"----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Field string to hold flight data                                    *&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;data:&lt;/P&gt;&lt;P&gt;  begin of fs_sflight,&lt;/P&gt;&lt;P&gt;    carrid   type sflight-carrid,      " Airline carrier id&lt;/P&gt;&lt;P&gt;    fldate   type sflight-fldate,      " Flight date&lt;/P&gt;&lt;P&gt;    seatsmax type sflight-seatsmax,    " Maximum seats&lt;/P&gt;&lt;P&gt;    seatsocc type sflight-seatsocc,    " Occupied seats&lt;/P&gt;&lt;P&gt;  end of fs_sflight.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;"----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Internal table to hold flight data                                  *&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;data:&lt;/P&gt;&lt;P&gt;  t_sflight like standard table&lt;/P&gt;&lt;P&gt;         of fs_sflight.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*" Data declarations...................................................&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;Work variables                                                      *&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;data:&lt;/P&gt;&lt;P&gt;  w_checkbox type c.                   " Checkbox variable&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;"----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                      START-OF-SELECTION EVENT                      *&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;start-of-selection.&lt;/P&gt;&lt;P&gt;  select carrid                        " Airline carrier id&lt;/P&gt;&lt;P&gt;         connid                        " Flight connection number&lt;/P&gt;&lt;P&gt;         airpfrom                      " Departure airport&lt;/P&gt;&lt;P&gt;         airpto                        " Destination airport&lt;/P&gt;&lt;P&gt;         deptime                       " Departure time&lt;/P&gt;&lt;P&gt;         arrtime                       " Arrival time&lt;/P&gt;&lt;P&gt;    into table t_spfli&lt;/P&gt;&lt;P&gt;    from spfli.&lt;/P&gt;&lt;P&gt;  set pf-status 'TOOL'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  if sy-subrc eq 0.&lt;/P&gt;&lt;P&gt;  endif.                               " IF SY-SUBRC...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;"----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                      END-OF-SELECTION EVENT                        *&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;end-of-selection.&lt;/P&gt;&lt;P&gt;  loop at t_spfli into fs_spfli.&lt;/P&gt;&lt;P&gt;    write:/ w_checkbox as checkbox,&lt;/P&gt;&lt;P&gt;            fs_spfli-carrid,&lt;/P&gt;&lt;P&gt;            fs_spfli-connid,&lt;/P&gt;&lt;P&gt;            fs_spfli-airpfrom,&lt;/P&gt;&lt;P&gt;            fs_spfli-airpto,&lt;/P&gt;&lt;P&gt;            fs_spfli-deptime,&lt;/P&gt;&lt;P&gt;            fs_spfli-arrtime.&lt;/P&gt;&lt;P&gt;     hide:  fs_spfli-carrid,&lt;/P&gt;&lt;P&gt;            fs_spfli-connid.&lt;/P&gt;&lt;P&gt;  endloop.                             " LOOP AT T_SPFLI...&lt;/P&gt;&lt;P&gt;  clear fs_spfli.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;"----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                      AT USER-COMMAND EVENT                         *&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;at user-command.&lt;/P&gt;&lt;P&gt;  case sy-ucomm.&lt;/P&gt;&lt;P&gt;    when 'DETAILS'.&lt;/P&gt;&lt;P&gt;      perform selection.&lt;/P&gt;&lt;P&gt;      submit YH645_030501A and return.&lt;/P&gt;&lt;P&gt; endcase.                              " CASE SY-UCOMM...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     FORM SELECTION                                                 *&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; This subroutine selects the required flight schedule data.         *&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; There are no interface parameters to be passed to this subroutine. *&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 selection.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  data:&lt;/P&gt;&lt;P&gt;    begin of lfs_spfli,&lt;/P&gt;&lt;P&gt;      carrid   type spfli-carrid,        " Airline carrier id&lt;/P&gt;&lt;P&gt;      connid   type spfli-connid,        " Flight connection number&lt;/P&gt;&lt;P&gt;      airpfrom type spfli-airpfrom,      " Departure airport&lt;/P&gt;&lt;P&gt;      airpto   type spfli-airpto,        " Destination airport&lt;/P&gt;&lt;P&gt;      deptime  type spfli-deptime,       " Departure time&lt;/P&gt;&lt;P&gt;      arrtime  type spfli-arrtime,       " Arrival time&lt;/P&gt;&lt;P&gt;    end of lfs_spfli.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;"----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Internal table to hold flight schedule data                         *&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;data:&lt;/P&gt;&lt;P&gt;  lt_spfli like standard table&lt;/P&gt;&lt;P&gt;        of lfs_spfli.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  data:&lt;/P&gt;&lt;P&gt;    lw_lines  type i,                  " Number of lines&lt;/P&gt;&lt;P&gt;    lw_lineno type i value 3,          " Line number&lt;/P&gt;&lt;P&gt;    lw_count  type i.                  " Count variable&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  describe table t_spfli lines lw_lines.&lt;/P&gt;&lt;P&gt;  do lw_lines times.&lt;/P&gt;&lt;P&gt;    read line lw_lineno&lt;/P&gt;&lt;P&gt;      field value w_checkbox into w_checkbox&lt;/P&gt;&lt;P&gt;                  fs_spfli-carrid into fs_spfli-carrid&lt;/P&gt;&lt;P&gt;                  fs_spfli-connid into fs_spfli-connid.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    if sy-subrc eq 0.&lt;/P&gt;&lt;P&gt;      if w_checkbox eq 'X'.&lt;/P&gt;&lt;P&gt;        add 1 to lw_count.&lt;/P&gt;&lt;P&gt;        clear w_checkbox.&lt;/P&gt;&lt;P&gt;        lfs_spfli-carrid = fs_spfli-carrid.&lt;/P&gt;&lt;P&gt;        lfs_spfli-connid = fs_spfli-connid.&lt;/P&gt;&lt;P&gt;        append lfs_spfli to lt_spfli.&lt;/P&gt;&lt;P&gt;        clear lfs_spfli.&lt;/P&gt;&lt;P&gt;      endif.                           " IF W_CHECKBOX...&lt;/P&gt;&lt;P&gt;    endif.                             " IF SY-SUBRC...&lt;/P&gt;&lt;P&gt;    add 1 to lw_lineno.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  enddo.                               " DO LW_LINES TIMES...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  export lt_spfli to memory id 'YH645'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; endform.                              " SELECTION&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;kiran kumar k&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 18 Apr 2007 09:12:55 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/interactive-report-coding/m-p/2130917#M447916</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-04-18T09:12:55Z</dc:date>
    </item>
    <item>
      <title>Re: interactive report coding</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/interactive-report-coding/m-p/2130918#M447917</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi rakkasi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;this is a simple interactive ALV report &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;hope this helps u understand intreactive report or drill down report..&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;AIM&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Report that would take display all the Sales Order between 2 dates. When the user double clicks on a sales order the report would then display additional details on that Sales Order.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Description:&lt;/P&gt;&lt;P&gt;1)Use Select Options for the range of dates (VBAK-ERDAT).&lt;/P&gt;&lt;P&gt;2)Display the following fields for the Report from the Sales Document Header (VBAK). Customer name can be found in table (KNA1).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;DISPLAY THE FIELDS &lt;/P&gt;&lt;P&gt;1) Document No.	&lt;/P&gt;&lt;P&gt;2) Creation User Name	&lt;/P&gt;&lt;P&gt;3) Creation Date	&lt;/P&gt;&lt;P&gt;4) Customer Name&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WHEN DOCUMENT NO. IS DOUBLE CLICKED THEN DISPLAY THE FOLLOWING FIELDS :&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1) Material No.&lt;/P&gt;&lt;P&gt;2) Material Description.&lt;/P&gt;&lt;P&gt;3) Batch Number.	&lt;/P&gt;&lt;P&gt;4) Item type&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;u&amp;gt;&amp;lt;b&amp;gt;CODING&amp;lt;/b&amp;gt;&amp;lt;/u&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT  zginni_sales_report NO STANDARD PAGE HEADING  .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TABLES :  vbak .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;u&amp;gt;&amp;lt;b&amp;gt;structure&amp;lt;/b&amp;gt;&amp;lt;/u&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES : BEGIN OF st_vbak ,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        vbeln TYPE vbak-vbeln ,&lt;/P&gt;&lt;P&gt;        ernam TYPE vbak-ernam ,&lt;/P&gt;&lt;P&gt;        erdat TYPE vbak-erdat ,&lt;/P&gt;&lt;P&gt;        name1 TYPE kna1-name1 ,&lt;/P&gt;&lt;P&gt;        END OF st_vbak .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES :  BEGIN OF st_vbap ,&lt;/P&gt;&lt;P&gt;        matnr TYPE vbap-matnr ,&lt;/P&gt;&lt;P&gt;        maktx TYPE makt-maktx ,&lt;/P&gt;&lt;P&gt;        charg TYPE vbap-charg ,&lt;/P&gt;&lt;P&gt;        posar TYPE vbap-posar ,&lt;/P&gt;&lt;P&gt;        END OF st_vbap .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;u&amp;gt;&amp;lt;b&amp;gt;internal table and work area&amp;lt;/b&amp;gt;&amp;lt;/u&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA :  it_vbak TYPE TABLE OF st_vbak ,&lt;/P&gt;&lt;P&gt;        wa_vbak TYPE st_vbak ,&lt;/P&gt;&lt;P&gt;        it_vbap TYPE TABLE OF st_vbap ,&lt;/P&gt;&lt;P&gt;        wa_vbap  TYPE st_vbap .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;TOP-OF-PAGE .&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;P&gt;  WRITE :4 sy-vline .&lt;/P&gt;&lt;P&gt;  WRITE AT 5(125) sy-uline.&lt;/P&gt;&lt;P&gt;  WRITE :130 sy-vline .&lt;/P&gt;&lt;P&gt;  WRITE :/4 sy-vline  ,&lt;/P&gt;&lt;P&gt;          10 'document no.' ,&lt;/P&gt;&lt;P&gt;          39 sy-vline ,&lt;/P&gt;&lt;P&gt;          40 username&lt;/P&gt;&lt;P&gt;          69 sy-vline ,&lt;/P&gt;&lt;P&gt;          70 date&lt;/P&gt;&lt;P&gt;          89 sy-vline ,&lt;/P&gt;&lt;P&gt;          90 custmer name&lt;/P&gt;&lt;P&gt;          130 sy-vline.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  WRITE :/130 sy-vline .&lt;/P&gt;&lt;P&gt;  WRITE  AT 5(125) sy-uline.&lt;/P&gt;&lt;P&gt;  WRITE :4 sy-vline ,130 sy-vline .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;TOP-OF-PAGE DURING LINE-SELECTION .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  WRITE :4 sy-vline .&lt;/P&gt;&lt;P&gt;  WRITE AT 5(125) sy-uline.&lt;/P&gt;&lt;P&gt;  WRITE :130 sy-vline .&lt;/P&gt;&lt;P&gt;  WRITE :/4 sy-vline  ,&lt;/P&gt;&lt;P&gt;        &amp;lt;b&amp;gt;  10 material no.&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;P&gt;          39 sy-vline ,&lt;/P&gt;&lt;P&gt;        &amp;lt;b&amp;gt;  40 material description&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;P&gt;          69 sy-vline ,&lt;/P&gt;&lt;P&gt;         &amp;lt;b&amp;gt; 70 batch no.&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;P&gt;          89 sy-vline ,&lt;/P&gt;&lt;P&gt;         &amp;lt;b&amp;gt; 90 item type&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;P&gt;         130 sy-vline.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  WRITE :/130 sy-vline .&lt;/P&gt;&lt;P&gt;  WRITE  AT 5(125) sy-uline.&lt;/P&gt;&lt;P&gt;  WRITE :4   sy-vline ,&lt;/P&gt;&lt;P&gt;         130 sy-vline .&amp;lt;/b&amp;gt;  &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS put_date FOR vbak-erdat  .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;AT LINE-SELECTION .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM select_and_write_vbap .&amp;lt;/b&amp;gt;&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 sales_document .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;END-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM select_and_write_vbap .&lt;/P&gt;&lt;P&gt;  SELECT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        vbap~matnr&lt;/P&gt;&lt;P&gt;        makt~maktx&lt;/P&gt;&lt;P&gt;        vbap~charg&lt;/P&gt;&lt;P&gt;        vbap~posar&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  FROM ( vbap INNER JOIN makt ON vbap&lt;SUB&gt;matnr = makt&lt;/SUB&gt;matnr )&lt;/P&gt;&lt;P&gt;  INTO CORRESPONDING FIELDS OF TABLE IT_VBAP&lt;/P&gt;&lt;P&gt;  WHERE vbap~vbeln = wa_vbak-vbeln AND spras = 'EN' .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF sy-subrc EQ 0 .&lt;/P&gt;&lt;P&gt;    LOOP AT it_vbap INTO wa_vbap .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WRITE :/4 sy-vline        ,&lt;/P&gt;&lt;P&gt;      10 wa_vbap-matnr ,&lt;/P&gt;&lt;P&gt;      39 sy-vline       ,&lt;/P&gt;&lt;P&gt;      40 wa_vbap-maktx ,&lt;/P&gt;&lt;P&gt;      69 sy-vline       ,&lt;/P&gt;&lt;P&gt;      70 wa_vbap-charg ,&lt;/P&gt;&lt;P&gt;      89 sy-vline       ,&lt;/P&gt;&lt;P&gt;      90 wa_vbap-posar ,&lt;/P&gt;&lt;P&gt;      130 sy-vline      .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;    WRITE :/4 sy-vline.&lt;/P&gt;&lt;P&gt;    WRITE AT 5(125) sy-uline.&lt;/P&gt;&lt;P&gt;    WRITE 130 sy-vline.&lt;/P&gt;&lt;P&gt;  ELSE .&lt;/P&gt;&lt;P&gt;    MESSAGE s000(zginni) .&lt;/P&gt;&lt;P&gt;  ENDIF .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM    .                "select_vbap&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM sales_document .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF put_date-low IS INITIAL AND put_date-high IS NOT INITIAL .&lt;/P&gt;&lt;P&gt;    SELECT&lt;/P&gt;&lt;P&gt;            vbak~vbeln&lt;/P&gt;&lt;P&gt;            vbak~ernam&lt;/P&gt;&lt;P&gt;            vbak~erdat&lt;/P&gt;&lt;P&gt;            kna1~name1&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      FROM ( kna1 INNER JOIN vbak ON vbak&lt;SUB&gt;kunnr = kna1&lt;/SUB&gt;kunnr )  INTO&lt;/P&gt;&lt;P&gt;      CORRESPONDING FIELDS OF TABLE IT_VBAK&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       WHERE vbak~erdat  &amp;lt;= put_date-high.&lt;/P&gt;&lt;P&gt;    IF sy-subrc EQ 0 .&lt;/P&gt;&lt;P&gt;      PERFORM looping_wa_vbak .&lt;/P&gt;&lt;P&gt;    ELSE .&lt;/P&gt;&lt;P&gt;      MESSAGE s000(zginni) .&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;  IF put_date-low IS NOT INITIAL AND put_date-high IS INITIAL .&lt;/P&gt;&lt;P&gt;    SELECT      vbeln&lt;/P&gt;&lt;P&gt;                vbak~ernam&lt;/P&gt;&lt;P&gt;                vbak~erdat&lt;/P&gt;&lt;P&gt;                kna1~name1&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;         FROM ( kna1 INNER JOIN vbak ON vbak&lt;SUB&gt;kunnr = kna1&lt;/SUB&gt;kunnr )  INTO&lt;/P&gt;&lt;P&gt;          CORRESPONDING FIELDS OF TABLE IT_VBAK&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;           WHERE vbak~erdat EQ put_date-low .&lt;/P&gt;&lt;P&gt;    IF sy-subrc EQ 0 .&lt;/P&gt;&lt;P&gt;      PERFORM looping_wa_vbak .&lt;/P&gt;&lt;P&gt;    ELSE .&lt;/P&gt;&lt;P&gt;      MESSAGE s000(zginni) .&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;  IF put_date-high IS INITIAL AND put_date-low IS INITIAL .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    MESSAGE s000(zginni) .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ELSE .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SELECT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          vbak~vbeln&lt;/P&gt;&lt;P&gt;          vbak~ernam&lt;/P&gt;&lt;P&gt;          vbak~erdat&lt;/P&gt;&lt;P&gt;          kna1~name1&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    FROM ( kna1 INNER JOIN vbak ON vbak&lt;SUB&gt;kunnr = kna1&lt;/SUB&gt;kunnr )  INTO&lt;/P&gt;&lt;P&gt;    CORRESPONDING FIELDS OF TABLE IT_VBAK&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     WHERE vbak~erdat  BETWEEN put_date-low AND put_date-high.&lt;/P&gt;&lt;P&gt;    IF sy-subrc EQ 0 .&lt;/P&gt;&lt;P&gt;      PERFORM looping_wa_vbak .&lt;/P&gt;&lt;P&gt;    ELSE .&lt;/P&gt;&lt;P&gt;      MESSAGE s000(zginni) .&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;&lt;/P&gt;&lt;P&gt;ENDFORM .                    "sales_document&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM  looping_wa_vbak .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT it_vbak INTO wa_vbak .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    &amp;lt;b&amp;gt;WRITE :/4 sy-vline           ,&lt;/P&gt;&lt;P&gt;            10 wa_vbak-vbeln .&lt;/P&gt;&lt;P&gt;    HIDE wa_vbak-vbeln .&lt;/P&gt;&lt;P&gt;    WRITE:  39 sy-vline          ,&lt;/P&gt;&lt;P&gt;            40 wa_vbak-ernam ,&lt;/P&gt;&lt;P&gt;            69 sy-vline          ,&lt;/P&gt;&lt;P&gt;            70 wa_vbak-erdat ,&lt;/P&gt;&lt;P&gt;            89 sy-vline          ,&lt;/P&gt;&lt;P&gt;            90 wa_vbak-name1 ,&lt;/P&gt;&lt;P&gt;           130 sy-vline         .&lt;/P&gt;&lt;P&gt;  ENDLOOP.&amp;lt;/b&amp;gt;  WRITE :/4 sy-vline.&lt;/P&gt;&lt;P&gt;  WRITE AT 5(125) sy-uline .&lt;/P&gt;&lt;P&gt;  WRITE 130 sy-vline.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "looping_wa_vbak&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;hope this helps u,&lt;/P&gt;&lt;P&gt;reward points if useful&lt;/P&gt;&lt;P&gt;Ginni&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 18 Apr 2007 09:16:53 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/interactive-report-coding/m-p/2130918#M447917</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-04-18T09:16:53Z</dc:date>
    </item>
  </channel>
</rss>

