<?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: Problem in Interactive ALV using OOPS in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/problem-in-interactive-alv-using-oops/m-p/5551844#M1267384</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Debugging always shows me the new values.&lt;/P&gt;&lt;P&gt;All the variables and tables have the proper values but screen is not.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 27 Apr 2009 10:16:37 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2009-04-27T10:16:37Z</dc:date>
    <item>
      <title>Problem in Interactive ALV using OOPS</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/problem-in-interactive-alv-using-oops/m-p/5551835#M1267375</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Gurus,&lt;/P&gt;&lt;P&gt;I have designed an interactive ALV using OOPS in which I use double-click event.&lt;/P&gt;&lt;P&gt;The problem is when I click on a record on first screen it gives the proper second screen.&lt;/P&gt;&lt;P&gt;But when I exit the second screen and double click another record on the first screen it still shows the first record I clicked on. I've used 'REFRESH_TABLE_DISPLAY' method even.&lt;/P&gt;&lt;P&gt;Please help.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 24 Apr 2009 12:58:59 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/problem-in-interactive-alv-using-oops/m-p/5551835#M1267375</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2009-04-24T12:58:59Z</dc:date>
    </item>
    <item>
      <title>Re: Problem in Interactive ALV using OOPS</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/problem-in-interactive-alv-using-oops/m-p/5551836#M1267376</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;Are you using 2 ALV??  (One in first screen and one in second screen)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;One Tip:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   - Call method CL_GUI_CFW=&amp;gt;FLUSH in your PAI to tell framework to flush data and actions.&lt;/P&gt;&lt;P&gt;   - This sentence solves most problems of this kind&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Second Tip:&lt;/P&gt;&lt;P&gt;   - If your second screen is also an ALV, free all objects when returning to the first screen&lt;/P&gt;&lt;P&gt;   - Call method FREE for your object of class CL_GUI_ALV_GRID&lt;/P&gt;&lt;P&gt;   - FREE variable that holds object reference for ALV&lt;/P&gt;&lt;P&gt;   - Call method FREE for the container too&lt;/P&gt;&lt;P&gt;   - FREE variable that holds object reference for container&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Third tip:&lt;/P&gt;&lt;P&gt;   - Pay attention to parameter LIFETIME in CREATE method of CL_GUI_ALV_GRID&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best regards,&lt;/P&gt;&lt;P&gt;Jorge Linares&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Edited by: Jorge Linares Miranda on Apr 24, 2009 3:45 PM&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 24 Apr 2009 13:45:35 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/problem-in-interactive-alv-using-oops/m-p/5551836#M1267376</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2009-04-24T13:45:35Z</dc:date>
    </item>
    <item>
      <title>Re: Problem in Interactive ALV using OOPS</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/problem-in-interactive-alv-using-oops/m-p/5551837#M1267377</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Did you clear/refresh the internal table before populating the second screens data. Just check it once.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;are you doing this in DOUBLE_CLICK event or hotspot_click event..??&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 25 Apr 2009 09:23:29 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/problem-in-interactive-alv-using-oops/m-p/5551837#M1267377</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2009-04-25T09:23:29Z</dc:date>
    </item>
    <item>
      <title>Re: Problem in Interactive ALV using OOPS</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/problem-in-interactive-alv-using-oops/m-p/5551838#M1267378</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks a lot Jorge &amp;amp; Vijay.&lt;/P&gt;&lt;P&gt;I tried the first and second tips they didnt work for me.&lt;/P&gt;&lt;P&gt;The last tip I didnt get.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I'm using double_click event.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I tried using leave to screen instead of call screen for the exit button of the second screen.&lt;/P&gt;&lt;P&gt;Its working..but after that there are two first screens open.&lt;/P&gt;&lt;P&gt;I was not satisfied by that.&lt;/P&gt;&lt;P&gt;Moreover I tried using leave to screen for double_click event of first screen.&lt;/P&gt;&lt;P&gt;But its not allowing the syntax 'starting at'.&lt;/P&gt;&lt;P&gt;Thanks for your kind replies..but I still need your help.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 27 Apr 2009 05:01:07 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/problem-in-interactive-alv-using-oops/m-p/5551838#M1267378</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2009-04-27T05:01:07Z</dc:date>
    </item>
    <item>
      <title>Re: Problem in Interactive ALV using OOPS</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/problem-in-interactive-alv-using-oops/m-p/5551839#M1267379</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Cheetan&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I assume your report layout is like this:&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;- first screen contains first ALV list
- second screen contains secondary ALV list&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;As I mentioned already a few times I have never ever come across a situation where I needed to free the grid instances (which happens automatically be leaving the report).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;And again my recommendation is to use method call &lt;STRONG&gt;CL_GUI_CFW=&amp;gt;SET_NEW_OK_CODE&lt;/STRONG&gt; (e.g. ok_code = 'DISPLAY_2ND_LIST') to &lt;U&gt;trigger PAI&lt;/U&gt; with a specific ok-code.&lt;/P&gt;&lt;P&gt;In your event handler method HANDLE_DOUBLE_CLICK you simply store the required data (e.g. in static attributes of the event handler class), next trigger PAI (using the method call described above). In the USER_COMMAND module at PAI you prepare the data for the secondary ALV list and then do the CALL SCREEN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Further reading: [A Christmas Collection of Useful Classes|https://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/12377] &lt;B&gt;[original link is broken]&lt;/B&gt; &lt;B&gt;[original link is broken]&lt;/B&gt; &lt;B&gt;[original link is broken]&lt;/B&gt;;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;  Uwe&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 27 Apr 2009 05:21:29 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/problem-in-interactive-alv-using-oops/m-p/5551839#M1267379</guid>
      <dc:creator>uwe_schieferstein</dc:creator>
      <dc:date>2009-04-27T05:21:29Z</dc:date>
    </item>
    <item>
      <title>Re: Problem in Interactive ALV using OOPS</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/problem-in-interactive-alv-using-oops/m-p/5551840#M1267380</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi all,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Lifetime parameter in creation of ALV can be useful in this situation. By default, lifetime is inherited from container, but can be specified with other values.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;See documentation: [http://help.sap.com/saphelp_nw04/helpdata/en/06/3fa1a59f2811d2bd68080009b4534c/frameset.htm|http://help.sap.com/saphelp_nw04/helpdata/en/06/3fa1a59f2811d2bd68080009b4534c/frameset.htm]&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In these situations with 2 ALV, I use value &lt;STRONG&gt;cl_gui_alv_grid=&amp;gt;lifetime_dynpro&lt;/STRONG&gt; in parameter I_LIFETIME when creating the ALV in the second screen. &lt;/P&gt;&lt;P&gt;In this way, framework automatically frees ALV when returning from the second to the first screen. The default behaviour is that ALV control remains active during the active session.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best Regards,&lt;/P&gt;&lt;P&gt;Jorge&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 27 Apr 2009 08:44:50 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/problem-in-interactive-alv-using-oops/m-p/5551840#M1267380</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2009-04-27T08:44:50Z</dc:date>
    </item>
    <item>
      <title>Re: Problem in Interactive ALV using OOPS</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/problem-in-interactive-alv-using-oops/m-p/5551841#M1267381</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Sorry to say but..No..it still didnt solve my problem.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 27 Apr 2009 09:29:57 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/problem-in-interactive-alv-using-oops/m-p/5551841#M1267381</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2009-04-27T09:29:57Z</dc:date>
    </item>
    <item>
      <title>Re: Problem in Interactive ALV using OOPS</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/problem-in-interactive-alv-using-oops/m-p/5551842#M1267382</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Ok, it's strange. It always works for me.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Have you included FREE statments (Tip 1) when returning to the first screen??&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Example:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  &lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;" Free ALV
  IF NOT gr_alv_detail IS INITIAL.
    CALL METHOD gr_alv_detail-&amp;gt;free
      EXCEPTIONS
        cntl_error        = 1
        cntl_system_error = 2
        OTHERS            = 3
            .
    IF sy-subrc &amp;lt;&amp;gt; 0.
      l_err = sy-subrc.
    ENDIF.
    CLEAR gr_alv_detail.
    FREE gr_alv_detail.
  ENDIF.

  " Free container
  IF NOT gr_ccont_det IS INITIAL.
    CALL METHOD gr_ccont_det-&amp;gt;free
      EXCEPTIONS
        cntl_error        = 1
        cntl_system_error = 2
        OTHERS            = 3
            .
    IF sy-subrc &amp;lt;&amp;gt; 0.
      l_err = sy-subrc.
    ENDIF.
    CLEAR gr_ccont_det.
    FREE gr_ccont_det.
  ENDIF.

* Sync Framework
  CALL METHOD cl_gui_cfw=&amp;gt;flush
    EXCEPTIONS
      cntl_system_error = 1
      cntl_error        = 2
      OTHERS            = 3
          .
  IF sy-subrc &amp;lt;&amp;gt; 0.
    l_err = sy-subrc.
  ENDIF.&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;One fool question... If you debug double-click event of first ALV, values of ROW and COLUMN are correct or are the same as when first double-click?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I hope this help,&lt;/P&gt;&lt;P&gt;Jorge&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 27 Apr 2009 09:55:38 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/problem-in-interactive-alv-using-oops/m-p/5551842#M1267382</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2009-04-27T09:55:38Z</dc:date>
    </item>
    <item>
      <title>Re: Problem in Interactive ALV using OOPS</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/problem-in-interactive-alv-using-oops/m-p/5551843#M1267383</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Yes I've tried this..its didnt help me..&lt;/P&gt;&lt;P&gt;No question is foolish for me now..&lt;/P&gt;&lt;P&gt;This ALV is fooling me.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 27 Apr 2009 10:15:30 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/problem-in-interactive-alv-using-oops/m-p/5551843#M1267383</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2009-04-27T10:15:30Z</dc:date>
    </item>
    <item>
      <title>Re: Problem in Interactive ALV using OOPS</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/problem-in-interactive-alv-using-oops/m-p/5551844#M1267384</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Debugging always shows me the new values.&lt;/P&gt;&lt;P&gt;All the variables and tables have the proper values but screen is not.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 27 Apr 2009 10:16:37 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/problem-in-interactive-alv-using-oops/m-p/5551844#M1267384</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2009-04-27T10:16:37Z</dc:date>
    </item>
    <item>
      <title>Re: Problem in Interactive ALV using OOPS</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/problem-in-interactive-alv-using-oops/m-p/5551845#M1267385</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Well... I don't know what more to say.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Could you post relevant code parts??&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;- Dbl click event code &lt;/P&gt;&lt;P&gt;- ALV 2 creation in PBO&lt;/P&gt;&lt;P&gt;- ALV 2 destruction in PAI&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 27 Apr 2009 10:28:34 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/problem-in-interactive-alv-using-oops/m-p/5551845#M1267385</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2009-04-27T10:28:34Z</dc:date>
    </item>
    <item>
      <title>Re: Problem in Interactive ALV using OOPS</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/problem-in-interactive-alv-using-oops/m-p/5551846#M1267386</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I'm posting the whole code..It doesnt include all the solutions u said coz I tried al of dem and removed it if its not working.&lt;/P&gt;&lt;P&gt;It includes 3 screens in all..&lt;/P&gt;&lt;P&gt;1st is like a selection screen to tak the inputs i.e. matnr&lt;/P&gt;&lt;P&gt;2nd is the 1st alv screen.&lt;/P&gt;&lt;P&gt;3rd is the 2nd ALV screen.&lt;/P&gt;&lt;P&gt;Pls help.&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; Module Pool       ZCBOOPALV&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;&lt;/P&gt;&lt;P&gt;INCLUDE ZCBOOPALVTOP                            .  " global Data&lt;/P&gt;&lt;P&gt;INCLUDE ZCBOOPALVO01                            .  " PBO-Modules&lt;/P&gt;&lt;P&gt;INCLUDE ZCBOOPALVI01                            .  " PAI-Modules&lt;/P&gt;&lt;P&gt;INCLUDE ZCBOOPALVF01                            .  " FORM-Routines&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; Include ZCBOOPALVTOP                                      Module Pool      &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ZCBOOPALV&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;&lt;/P&gt;&lt;P&gt;PROGRAM  ZCBOOPALV.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TABLES: marav, mara.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*GLOBAL DATA DEFINITIONS FOR ALV&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;     ALV GRID INSTANCE REFERENCE*&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA: ALV_GRID TYPE REF TO CL_GUI_ALV_GRID,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     CUSTOM CONATINER INSTANCE REFERENCE&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      CUSTOM_CONTAINER TYPE REF TO CL_GUI_CUSTOM_CONTAINER,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     FIELD CATALOG TABLE&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      IT_FIELD_CAT TYPE LVC_T_FCAT,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     FIELD CATALOG STRUCTURE&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      FIELD_CAT TYPE LVC_S_FCAT,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     LAYOUT STRUCTURE&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      LAYOUT TYPE LVC_S_LAYO,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     OK_CODE FOR USER COMMAND.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      OK_CODE LIKE SY-UCOMM,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     MATERIAL LOW&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      MATL LIKE MARAV-MATNR,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     MATERIAL HIGH&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      MATH LIKE MARA-MATNR,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     COLUMN NUMBER&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      COL TYPE I.&lt;/P&gt;&lt;P&gt;data: matnr type matnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: ALV_GRID2 TYPE REF TO CL_GUI_ALV_GRID,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     CUSTOM CONATINER INSTANCE REFERENCE&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      CUSTOM_CONTAINER2 TYPE REF TO CL_GUI_CUSTOM_CONTAINER.&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;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;P&gt;&lt;STRONG&gt;INTERNAL TABLE HOLDING LIST DATA&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Data: begin of imat occurs 100,&lt;/P&gt;&lt;P&gt;*matnr like marav-matnr, "Material number&lt;/P&gt;&lt;P&gt;*maktx like marav-maktx, "Material short text&lt;/P&gt;&lt;P&gt;*matkl like marav-matkl, "Material group (so you can test&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; " to make intermediate sums)&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*ntgew like marav-ntgew, "Net weight, numeric field (so you can&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; "test to make sums)&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*gewei like marav-gewei, "weight unit (just to be complete)&lt;/P&gt;&lt;P&gt;*end of imat.&lt;/P&gt;&lt;P&gt;DATA: IMAT TYPE STANDARD TABLE OF MARAV,&lt;/P&gt;&lt;P&gt;      wa like LINE OF imat.&lt;/P&gt;&lt;P&gt;DATA: IMAT2 TYPE STANDARD TABLE OF MARAV.&lt;/P&gt;&lt;P&gt;    DATA: WA_IMAT LIKE LINE OF IMAT.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&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;Other data needed field to store report name&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data i_repid like sy-repid.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;field to check table length&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data i_lines like sy-tabix.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLASS LCL_EVENT_RECEIVER DEFINITION.&lt;/P&gt;&lt;P&gt;  public section.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    methods:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    handle_double_click&lt;/P&gt;&lt;P&gt;        for event double_click of cl_gui_alv_grid&lt;/P&gt;&lt;P&gt;            importing e_row e_column.&lt;/P&gt;&lt;P&gt;ENDCLASS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: EVENT_RECEIVER TYPE REF TO LCL_EVENT_RECEIVER.&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;  Include           ZCBOOPALVO01&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;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;      Module  ALV_DISPLAY  OUTPUT&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;MODULE ALV_DISPLAY OUTPUT.&lt;/P&gt;&lt;P&gt;PERFORM RETRIEVE_DATA USING MATL MATH CHANGING IMAT.&lt;/P&gt;&lt;P&gt;*PERFORM BUILD_FIELD_CATALOG.&lt;/P&gt;&lt;P&gt;PERFORM BUILD_LAYOUT.&lt;/P&gt;&lt;P&gt;PERFORM ALV_DISPLAY.&lt;/P&gt;&lt;P&gt;ENDMODULE.                 " ALV_DISPLAY  OUTPUT&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;      Module  STATUS_0599  OUTPUT&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;MODULE STATUS_0599 OUTPUT.&lt;/P&gt;&lt;P&gt;  SET PF-STATUS 'ZCBALV1'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; SET TITLEBAR 'xxx'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDMODULE.                 " STATUS_0599  OUTPUT&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;      Module  STATUS_0600  OUTPUT&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;MODULE STATUS_0600 OUTPUT.&lt;/P&gt;&lt;P&gt;  SET PF-STATUS 'ZPFALV'.&lt;/P&gt;&lt;P&gt;  SET TITLEBAR 'ZTI'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDMODULE.                 " STATUS_0600  OUTPUT&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;      Module  ALV_DISPLAY2  OUTPUT&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;MODULE ALV_DISPLAY2 OUTPUT.&lt;/P&gt;&lt;P&gt;*PERFORM RETRIEVE_DATA2.&lt;/P&gt;&lt;P&gt;*PERFORM BUILD_FIELD_CATALOG.&lt;/P&gt;&lt;P&gt;*PERFORM BUILD_LAYOUT.&lt;/P&gt;&lt;P&gt;PERFORM ALV_DISPLAY2.&lt;/P&gt;&lt;P&gt;ENDMODULE.                 " ALV_DISPLAY2  OUTPUT&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;      Module  USER_COMMAND_0599  INPUT&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;MODULE USER_COMMAND_0599 INPUT.&lt;/P&gt;&lt;P&gt;  PERFORM MAT_SEL CHANGING MATL MATH.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDMODULE.                 " USER_COMMAND_0599  INPUT&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;  Include           ZCBOOPALVI01&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;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;      Module  USER_COMMAND_0600  INPUT&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;MODULE USER_COMMAND_0600 INPUT.&lt;/P&gt;&lt;P&gt;IF OK_CODE = 'EXIT'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; CALL TRANSACTION 'SESSION_MANAGER'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  LEAVE PROGRAM.&lt;/P&gt;&lt;P&gt;ELSEIF OK_CODE = 'BACK'.&lt;/P&gt;&lt;P&gt;  CALL SCREEN 599.&lt;/P&gt;&lt;P&gt; ENDIF.&lt;/P&gt;&lt;P&gt;ENDMODULE.                 " USER_COMMAND_0600  INPUT&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;      Module  USER_COMMAND_0601  INPUT&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;MODULE USER_COMMAND_0601 INPUT.&lt;/P&gt;&lt;P&gt;IF ok_code = 'EXIT'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;CALL SCREEN 600.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  " Free ALV&lt;/P&gt;&lt;P&gt;  IF NOT alv_grid2 IS INITIAL.&lt;/P&gt;&lt;P&gt;    CALL METHOD alv_grid2-&amp;gt;free&lt;/P&gt;&lt;P&gt;      EXCEPTIONS&lt;/P&gt;&lt;P&gt;        cntl_error        = 1&lt;/P&gt;&lt;P&gt;        cntl_system_error = 2&lt;/P&gt;&lt;P&gt;        OTHERS            = 3&lt;/P&gt;&lt;P&gt;            .&lt;/P&gt;&lt;P&gt;    IF sy-subrc = 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     l_err = sy-subrc.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    CLEAR alv_grid2.&lt;/P&gt;&lt;P&gt;    FREE alv_grid2.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  " Free container&lt;/P&gt;&lt;P&gt;  IF NOT custom_container2 IS INITIAL.&lt;/P&gt;&lt;P&gt;    CALL METHOD custom_container2-&amp;gt;free&lt;/P&gt;&lt;P&gt;      EXCEPTIONS&lt;/P&gt;&lt;P&gt;        cntl_error        = 1&lt;/P&gt;&lt;P&gt;        cntl_system_error = 2&lt;/P&gt;&lt;P&gt;        OTHERS            = 3&lt;/P&gt;&lt;P&gt;            .&lt;/P&gt;&lt;P&gt;    IF sy-subrc = 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     l_err = sy-subrc.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    CLEAR custom_container2.&lt;/P&gt;&lt;P&gt;    FREE custom_container2.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Sync Framework&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CALL METHOD cl_gui_cfw=&amp;gt;flush&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      cntl_system_error = 1&lt;/P&gt;&lt;P&gt;      cntl_error        = 2&lt;/P&gt;&lt;P&gt;      OTHERS            = 3&lt;/P&gt;&lt;P&gt;          .&lt;/P&gt;&lt;P&gt;  IF sy-subrc = 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   l_err = sy-subrc.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  SET SCREEN 0.&lt;/P&gt;&lt;P&gt;  LEAVE SCREEN.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDMODULE.                 " USER_COMMAND_0601  INPUT&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 27 Apr 2009 12:21:24 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/problem-in-interactive-alv-using-oops/m-p/5551846#M1267386</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2009-04-27T12:21:24Z</dc:date>
    </item>
    <item>
      <title>Re: Problem in Interactive ALV using OOPS</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/problem-in-interactive-alv-using-oops/m-p/5551847#M1267387</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&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;  Include           ZCBOOPALVF01&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLASS LCL_EVENT_RECEIVER IMPLEMENTATION.&lt;/P&gt;&lt;P&gt;  METHOD HANDLE_DOUBLE_CLICK.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    READ TABLE IMAT INDEX E_ROW-INDEX INTO WA_IMAT.&lt;/P&gt;&lt;P&gt;    PERFORM SELECT_MATERIAL USING WA_IMAT CHANGING IMAT2.&lt;/P&gt;&lt;P&gt;    CALL SCREEN 601 STARTING AT 10 5.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDMETHOD.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDCLASS.&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  ALV_DISPLAY&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM ALV_DISPLAY .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CREATE OBJECT CUSTOM_CONTAINER&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   PARENT                      =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      CONTAINER_NAME              = 'CCONT'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   STYLE                       =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   LIFETIME                    = lifetime_default&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      REPID                       = SY-REPID&lt;/P&gt;&lt;P&gt;      DYNNR                       = SY-DYNNR&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   NO_AUTODEF_PROGID_DYNNR     =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      CNTL_ERROR                  = 1&lt;/P&gt;&lt;P&gt;      CNTL_SYSTEM_ERROR           = 2&lt;/P&gt;&lt;P&gt;      CREATE_ERROR                = 3&lt;/P&gt;&lt;P&gt;      LIFETIME_ERROR              = 4&lt;/P&gt;&lt;P&gt;      LIFETIME_DYNPRO_DYNPRO_LINK = 5&lt;/P&gt;&lt;P&gt;      others                      = 6&lt;/P&gt;&lt;P&gt;      .&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;P&gt;               WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CREATE OBJECT ALV_GRID&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   I_SHELLSTYLE      = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   I_LIFETIME        = cntl_lifetime_imode&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      I_PARENT          = CUSTOM_CONTAINER&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   I_APPL_EVENTS     = space&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   I_PARENTDBG       =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   I_APPLOGPARENT    =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   I_GRAPHICSPARENT  =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   I_NAME            =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   I_FCAT_COMPLETE   = SPACE&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      ERROR_CNTL_CREATE = 1&lt;/P&gt;&lt;P&gt;      ERROR_CNTL_INIT   = 2&lt;/P&gt;&lt;P&gt;      ERROR_CNTL_LINK   = 3&lt;/P&gt;&lt;P&gt;      ERROR_DP_CREATE   = 4&lt;/P&gt;&lt;P&gt;      others            = 5&lt;/P&gt;&lt;P&gt;      .&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;P&gt;               WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL METHOD ALV_GRID-&amp;gt;SET_TABLE_FOR_FIRST_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_BUFFER_ACTIVE               =&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_CONSISTENCY_CHECK           =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    I_STRUCTURE_NAME              = 'MARAV'&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;LI level="1" type="ul"&gt;&lt;P&gt;   I_SAVE                        =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   I_DEFAULT                     = 'X'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      IS_LAYOUT                     = LAYOUT&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IS_PRINT                      =&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_TOOLBAR_EXCLUDING          =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IT_HYPERLINK                  =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IT_ALV_GRAPHICS               =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IT_EXCEPT_QINFO               =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IR_SALV_ADAPTER               =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    CHANGING&lt;/P&gt;&lt;P&gt;      IT_OUTTAB                     = IMAT[]&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     IT_FIELDCATALOG               = IT_FIELD_CAT&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;/UL&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      INVALID_PARAMETER_COMBINATION = 1&lt;/P&gt;&lt;P&gt;      PROGRAM_ERROR                 = 2&lt;/P&gt;&lt;P&gt;      TOO_MANY_LINES                = 3&lt;/P&gt;&lt;P&gt;      others                        = 4&lt;/P&gt;&lt;P&gt;          .&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;P&gt;               WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CREATE OBJECT EVENT_RECEIVER.&lt;/P&gt;&lt;P&gt;SET HANDLER EVENT_RECEIVER-&amp;gt;HANDLE_DOUBLE_CLICK FOR ALV_GRID.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; CALL METHOD ALV_GRID-&amp;gt;REFRESH_TABLE_DISPLAY&lt;/P&gt;&lt;P&gt;   EXPORTING&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    IS_STABLE      = 'X'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     I_SOFT_REFRESH = 'X'&lt;/P&gt;&lt;P&gt;   EXCEPTIONS&lt;/P&gt;&lt;P&gt;     FINISHED       = 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;P&gt;  MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;P&gt;             WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;P&gt; ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " ALV_DISPLAY&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  MAT_SEL&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;lt;--P_MATL  text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     &amp;lt;--P_MATH  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 MAT_SEL  CHANGING P_MATL&lt;/P&gt;&lt;P&gt;                       P_MATH.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  P_MATL = MARAV-MATNR.&lt;/P&gt;&lt;P&gt;  P_MATH = MARA-MATNR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF P_MATL gt P_MATH.&lt;/P&gt;&lt;P&gt;    MESSAGE 'Incorrect Entries: Lower option is greater than higher option' TYPE &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;'I'.&lt;/P&gt;&lt;P&gt;*SUBMIT SY-REPID.&lt;/P&gt;&lt;P&gt;    SUBMIT ZCBOOPALV.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF ok_code = 'GALV'.&lt;/P&gt;&lt;P&gt;    CALL SCREEN 600.&lt;/P&gt;&lt;P&gt;  ELSEIF OK_CODE = 'BACK'.&lt;/P&gt;&lt;P&gt;    SET SCREEN 0.&lt;/P&gt;&lt;P&gt;    LEAVE PROGRAM.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " MAT_SEL&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  RETRIEVE_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;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_MATL  text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_MATH  text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     &amp;lt;--P_IMAT  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 RETRIEVE_DATA  USING    P_MATL&lt;/P&gt;&lt;P&gt;                             P_MATH&lt;/P&gt;&lt;P&gt;                    CHANGING P_IMAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;select * from marav&lt;/P&gt;&lt;P&gt;    into corresponding fields of table imat&lt;/P&gt;&lt;P&gt;    where&lt;/P&gt;&lt;P&gt;    matnr BETWEEN MATL and MATH.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " RETRIEVE_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  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;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM BUILD_LAYOUT .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LAYOUT-ZEBRA = 'X'.&lt;/P&gt;&lt;P&gt;LAYOUT-GRID_TITLE = 'MATERIAL INFO.'.&lt;/P&gt;&lt;P&gt;LAYOUT-CWIDTH_OPT = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " 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;P&gt;*&amp;amp;      Form  SELECT_MATERIAL&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_IMAT  text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     &amp;lt;--P_IMAT2  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 SELECT_MATERIAL  USING    P_IMAT LIKE LINE OF IMAT&lt;/P&gt;&lt;P&gt;                      CHANGING P_IMAT2 LIKE IMAT.&lt;/P&gt;&lt;P&gt;REFRESH IMAT2.&lt;/P&gt;&lt;P&gt;SELECT * FROM MARAV INTO TABLE P_IMAT2&lt;/P&gt;&lt;P&gt;  WHERE MATNR = P_IMAT-MATNR&lt;/P&gt;&lt;P&gt;  AND MAKTX = P_IMAT-MAKTX.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " SELECT_MATERIAL&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  ALV_DISPLAY2&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM ALV_DISPLAY2 .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   PERFORM SELECT_MATERIAL USING WA_IMAT CHANGING IMAT2.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CREATE OBJECT CUSTOM_CONTAINER2&lt;/P&gt;&lt;P&gt;  EXPORTING&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   PARENT                      =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    CONTAINER_NAME              = 'CCONT2'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   STYLE                       =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    LIFETIME                    = CNTL_lifetime_default&lt;/P&gt;&lt;P&gt;    REPID                       = SY-REPID&lt;/P&gt;&lt;P&gt;    DYNNR                       = SY-DYNNR&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   NO_AUTODEF_PROGID_DYNNR     =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  EXCEPTIONS&lt;/P&gt;&lt;P&gt;    CNTL_ERROR                  = 1&lt;/P&gt;&lt;P&gt;    CNTL_SYSTEM_ERROR           = 2&lt;/P&gt;&lt;P&gt;    CREATE_ERROR                = 3&lt;/P&gt;&lt;P&gt;    LIFETIME_ERROR              = 4&lt;/P&gt;&lt;P&gt;    LIFETIME_DYNPRO_DYNPRO_LINK = 5&lt;/P&gt;&lt;P&gt;    others                      = 6&lt;/P&gt;&lt;P&gt;    .&lt;/P&gt;&lt;P&gt;IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt; MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;P&gt;            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CREATE OBJECT ALV_GRID2&lt;/P&gt;&lt;P&gt;  EXPORTING&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   I_SHELLSTYLE      = 0&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    I_LIFETIME        = CNTL_lifetime_default&lt;/P&gt;&lt;P&gt;    I_PARENT          = CUSTOM_CONTAINER2&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   I_APPL_EVENTS     = space&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   I_PARENTDBG       =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   I_APPLOGPARENT    =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   I_GRAPHICSPARENT  =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   I_NAME            =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   I_FCAT_COMPLETE   = SPACE&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  EXCEPTIONS&lt;/P&gt;&lt;P&gt;    ERROR_CNTL_CREATE = 1&lt;/P&gt;&lt;P&gt;    ERROR_CNTL_INIT   = 2&lt;/P&gt;&lt;P&gt;    ERROR_CNTL_LINK   = 3&lt;/P&gt;&lt;P&gt;    ERROR_DP_CREATE   = 4&lt;/P&gt;&lt;P&gt;    others            = 5&lt;/P&gt;&lt;P&gt;    .&lt;/P&gt;&lt;P&gt;IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt; MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;P&gt;            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL METHOD ALV_GRID2-&amp;gt;SET_TABLE_FOR_FIRST_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_BUFFER_ACTIVE               =&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_CONSISTENCY_CHECK           =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    I_STRUCTURE_NAME              = 'MARAV'&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;LI level="1" type="ul"&gt;&lt;P&gt;   I_SAVE                        =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   I_DEFAULT                     = 'X'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    IS_LAYOUT                     = LAYOUT&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IS_PRINT                      =&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_TOOLBAR_EXCLUDING          =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IT_HYPERLINK                  =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IT_ALV_GRAPHICS               =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IT_EXCEPT_QINFO               =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IR_SALV_ADAPTER               =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CHANGING&lt;/P&gt;&lt;P&gt;    IT_OUTTAB                     = IMAT2[]&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IT_FIELDCATALOG               =&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;/UL&gt;&lt;P&gt;  EXCEPTIONS&lt;/P&gt;&lt;P&gt;    INVALID_PARAMETER_COMBINATION = 1&lt;/P&gt;&lt;P&gt;    PROGRAM_ERROR                 = 2&lt;/P&gt;&lt;P&gt;    TOO_MANY_LINES                = 3&lt;/P&gt;&lt;P&gt;    others                        = 4&lt;/P&gt;&lt;P&gt;        .&lt;/P&gt;&lt;P&gt;IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt; MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;P&gt;            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL METHOD ALV_GRID2-&amp;gt;REFRESH_TABLE_DISPLAY&lt;/P&gt;&lt;P&gt;  EXPORTING&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IS_STABLE      =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    I_SOFT_REFRESH = 'X'&lt;/P&gt;&lt;P&gt;  EXCEPTIONS&lt;/P&gt;&lt;P&gt;    FINISHED       = 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;P&gt; MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;P&gt;            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*CALL METHOD ALV_GRID2-&amp;gt;FINALIZE&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   .&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*CALL METHOD CL_GUI_CONTROL=&amp;gt;SET_FOCUS&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; EXPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CONTROL           = alv_grid2&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; EXCEPTIONS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CNTL_ERROR        = 1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CNTL_SYSTEM_ERROR = 2&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   others            = 3&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       .&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL METHOD CL_GUI_CFW=&amp;gt;FLUSH&lt;/P&gt;&lt;P&gt;  EXCEPTIONS&lt;/P&gt;&lt;P&gt;    CNTL_SYSTEM_ERROR = 1&lt;/P&gt;&lt;P&gt;    CNTL_ERROR        = 2&lt;/P&gt;&lt;P&gt;    others            = 3&lt;/P&gt;&lt;P&gt;        .&lt;/P&gt;&lt;P&gt;IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt; MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;P&gt;            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FREE alv_grid2.&lt;/P&gt;&lt;P&gt;FREE custom_container2.&lt;/P&gt;&lt;P&gt;REFRESH IMAT2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " ALV_DISPLAY2&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 27 Apr 2009 12:21:38 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/problem-in-interactive-alv-using-oops/m-p/5551847#M1267387</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2009-04-27T12:21:38Z</dc:date>
    </item>
    <item>
      <title>Re: Problem in Interactive ALV using OOPS</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/problem-in-interactive-alv-using-oops/m-p/5551848#M1267388</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I cannot import tis code as break lines are removed. When post code, use &amp;lt;&amp;gt; button, please.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have seen a pair of things:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1) In both ALVs, the use of method REFRESH_TABLE_DISPLAY in forms DISPLAY_ALV and DISPLAY_ALV2 should match the following pattern:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;
* These forms are called from PBO
IF  grid_ref IS INITIAL.
"  First time PBO is called
"  Create ALV 
"  Set table for first display
...

ELSE.

" Call method refresh
CALL METHOD grid_ref-&amp;gt;REFRESH_TABLE_DISPLAY.
ENDIF.
&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;2) Have you tried to call 2nd screen without "STARTING AT" ??? I don't think this can cause the problem&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;By the way... Have you tried what Uwe suggested to manage double click??&lt;/P&gt;&lt;P&gt;Call method cl_gui_cfw=&amp;gt;set_function_code and catch command in PAI of 1st ALV to call the next screen.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;It should work!!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Jorge&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 27 Apr 2009 13:29:23 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/problem-in-interactive-alv-using-oops/m-p/5551848#M1267388</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2009-04-27T13:29:23Z</dc:date>
    </item>
  </channel>
</rss>

