<?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: Object oriented ALV in executable report in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/object-oriented-alv-in-executable-report/m-p/5324966#M1227145</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;Try this code.Hope it Helps!!!!!!!!!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;internal tables&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES : BEGIN OF t_output,&lt;/P&gt;&lt;P&gt;               matnr TYPE mara-matnr,&lt;/P&gt;&lt;P&gt;               meins TYPE mara-meins,&lt;/P&gt;&lt;P&gt;            END OF t_output.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:  i_output  TYPE STANDARD TABLE OF t_output,&lt;/P&gt;&lt;P&gt;           wa_output LIKE LINE OF i_output.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;internal data fields&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:      grid_layout              TYPE lvc_s_layo,&lt;/P&gt;&lt;P&gt;                i_fieldcat                 TYPE STANDARD TABLE OF lvc_s_fcat,&lt;/P&gt;&lt;P&gt;               wa_fieldcat               LIKE LINE OF i_fieldcat,&lt;/P&gt;&lt;P&gt;               grid1                        TYPE REF TO  cl_gui_alv_grid ,&lt;/P&gt;&lt;P&gt;               g_custom_container  TYPE REF TO cl_gui_custom_container,&lt;/P&gt;&lt;P&gt;               g_variant                   TYPE disvariant.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CONSTANTS :  c_container_name TYPE scrfname   " Container name&lt;/P&gt;&lt;P&gt;                        VALUE 'ALV_CONTROL'.&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;&lt;/P&gt;&lt;P&gt;  PERFORM get_data.&lt;/P&gt;&lt;P&gt;  PERFORM build_catalogue.&lt;/P&gt;&lt;P&gt;  PERFORM display_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  GET_DATA&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM get_data .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get the data from the tables and prepare an output table which you want to display&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  wa_output-matnr = '0020100300'.&lt;/P&gt;&lt;P&gt;  wa_output-meins = 'PC'.&lt;/P&gt;&lt;P&gt;  APPEND wa_output TO i_output.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " GET_DATA&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  BUILD_CATALOGUE&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_catalogue .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Build catologue&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR wa_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  wa_fieldcat-fieldname  =  'MATNR'. "(Pass the name of the database field that you want to display)&lt;/P&gt;&lt;P&gt;  wa_fieldcat-tabname    =  'I_OUTPUT'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-coltext       =  'Material'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-fix_column =  'X'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-edit           =  'X'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-col_pos     =  '1'.&lt;/P&gt;&lt;P&gt;  APPEND wa_fieldcat TO i_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR wa_fieldcat.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-fieldname     =  'MEINS'."(Pass the name of the database field that you want to display)&lt;/P&gt;&lt;P&gt;  wa_fieldcat-tabname      = 'I_OUTPUT'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-coltext         =  'Unit'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-fix_column    =  'X'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-edit              =  'X'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-col_pos        =  '2'.&lt;/P&gt;&lt;P&gt;  APPEND wa_fieldcat TO i_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " BUILD_CATALOGUE&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;      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 display_data .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL SCREEN 30.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Click on the  '30', it will prompt you to create a screen, give appropriate name to the screen,&lt;/P&gt;&lt;P&gt;*Click on the LAYOUT tab and create a container on the screen (Use Custom Control).&lt;/P&gt;&lt;P&gt;*Give appropriate name to the container it should be same as declared by the constant&lt;/P&gt;&lt;P&gt;*c_container_name TYPE scrfname.In this code it is named as ALV_CONTROL&lt;/P&gt;&lt;P&gt;*Once screen is created and activated double click on it it will take you to PBO and PAI modules.&lt;/P&gt;&lt;P&gt;*create these modules.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " DISPLAY_DATA&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Module  STATUS_0030  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_0030 OUTPUT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SET PF-STATUS '030'. "(Create PF status by double clicking on that&lt;/P&gt;&lt;P&gt;  SET TITLEBAR '030'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Standard toolbar options like BACK, SAVE , CANCEL can be added in toolbar using PF-STATUS&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;You need to add these buttons in function keys&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF g_custom_container IS INITIAL .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CREATE OBJECT g_custom_container&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        container_name = c_container_name.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CREATE OBJECT grid1&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        i_parent = g_custom_container.&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;    CALL METHOD grid1-&amp;gt;free.&lt;/P&gt;&lt;P&gt;    CALL METHOD g_custom_container-&amp;gt;free.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CREATE OBJECT g_custom_container&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        container_name = c_container_name.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CREATE OBJECT grid1&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        i_parent = g_custom_container.&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;  g_variant = sy-repid.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL METHOD grid1-&amp;gt;set_table_for_first_display&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      is_layout       = grid_layout&lt;/P&gt;&lt;P&gt;      is_variant      = g_variant&lt;/P&gt;&lt;P&gt;      i_save          = 'A'&lt;/P&gt;&lt;P&gt;    CHANGING&lt;/P&gt;&lt;P&gt;      it_outtab       = i_output[] "pass output table here&lt;/P&gt;&lt;P&gt;      it_fieldcatalog = i_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDMODULE.                 " STATUS_0030  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  USER_COMMAND_0030  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_0030 INPUT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;The code that needs to be handled after output is displayed needs to be written&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CASE sy-ucomm.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WHEN 'BACK' OR 'CANCEL'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      CALL METHOD g_custom_container-&amp;gt;free.&lt;/P&gt;&lt;P&gt;      CALL METHOD cl_gui_cfw=&amp;gt;flush.&lt;/P&gt;&lt;P&gt;      SET SCREEN 0.&lt;/P&gt;&lt;P&gt;      LEAVE SCREEN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDCASE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDMODULE.                 " USER_COMMAND_0030  INPUT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; By Tejaswini Khante&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 06 Mar 2009 07:29:32 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2009-03-06T07:29:32Z</dc:date>
    <item>
      <title>Object oriented ALV in executable report</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/object-oriented-alv-in-executable-report/m-p/5324962#M1227141</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Friends,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I am having requirement of ALV objects to display report in ALV format.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have created executable program in se38, in that I am having one internal table , I want to display that&lt;/P&gt;&lt;P&gt;table in ALV grid format by using ALV OOPS concept. I  also have to show some of the data in header part.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This is not a modulle pool report. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;so please suggest, or send me some sample code for ALV OOPS  without module pool.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 05 Mar 2009 15:18:58 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/object-oriented-alv-in-executable-report/m-p/5324962#M1227141</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2009-03-05T15:18:58Z</dc:date>
    </item>
    <item>
      <title>Re: Object oriented ALV in executable report</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/object-oriented-alv-in-executable-report/m-p/5324963#M1227142</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Use:CL_SALV* classes here you dont have to use Module pool.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;[CL_SALV|https://wiki.sdn.sap.com/wiki/display/Snippets/displaying&lt;EM&gt;hotspot&lt;/EM&gt;in&lt;EM&gt;alv&lt;/EM&gt;with&lt;EM&gt;class&lt;/EM&gt;cl_salv_table]&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;[CL_SALV FOR HEADER AND FOOTER|https://wiki.sdn.sap.com/wiki/display/Snippets/TOP&lt;EM&gt;OF&lt;/EM&gt;PAGE&lt;EM&gt;AND&lt;/EM&gt;END&lt;EM&gt;OF&lt;/EM&gt;PAGE&lt;EM&gt;IN&lt;/EM&gt;CLASS+cl_salv_table]&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Or,&lt;/P&gt;&lt;P&gt;Use: FM--&amp;gt; &lt;STRONG&gt;REUSE_ALV_GRID_DISPLAY_LVC&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This function module internally uses classes.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Gurpreet&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 05 Mar 2009 16:00:46 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/object-oriented-alv-in-executable-report/m-p/5324963#M1227142</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2009-03-05T16:00:46Z</dc:date>
    </item>
    <item>
      <title>Re: Object oriented ALV in executable report</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/object-oriented-alv-in-executable-report/m-p/5324964#M1227143</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;There are many standard demo program in SAP. Check into the system :&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;BCALV_GRID_01&lt;/P&gt;&lt;P&gt;BCALV_GRID_02&lt;/P&gt;&lt;P&gt;BCALV_GRID_03&lt;/P&gt;&lt;P&gt;BCALV_GRID_04 ...... many more..&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Kuntal&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 05 Mar 2009 16:08:25 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/object-oriented-alv-in-executable-report/m-p/5324964#M1227143</guid>
      <dc:creator>former_member376453</dc:creator>
      <dc:date>2009-03-05T16:08:25Z</dc:date>
    </item>
    <item>
      <title>Re: Object oriented ALV in executable report</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/object-oriented-alv-in-executable-report/m-p/5324965#M1227144</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Vinod,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   Below is the executable report u can paste it in editor and see the output ...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT  z_ALV_OOPS.&lt;/P&gt;&lt;P&gt;tables: MARA.&lt;/P&gt;&lt;P&gt;data: begin of it_tab occurs 0,&lt;/P&gt;&lt;P&gt;      matnr like mara-matnr,&lt;/P&gt;&lt;P&gt;      ersda like mara-ersda,  "creation date&lt;/P&gt;&lt;P&gt;      ernam like mara-ernam,  "person created&lt;/P&gt;&lt;P&gt;      pstat like mara-pstat,  "maint stat&lt;/P&gt;&lt;P&gt;      lvorm like mara-lvorm,  "flg for deletion&lt;/P&gt;&lt;P&gt;      mtart like mara-mtart,  "mat type&lt;/P&gt;&lt;P&gt;      meins like mara-meins,  "uom&lt;/P&gt;&lt;P&gt;      end of it_tab.&lt;/P&gt;&lt;P&gt;data: wa_it_tab like line of it_tab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLASS lcl_events_d0100 DEFINITION DEFERRED.&lt;/P&gt;&lt;P&gt;DATA: event_receiver1  TYPE REF TO lcl_events_d0100.&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;----&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;      CLASS lcl_events_d0100 DEFINITION&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;CLASS lcl_events_d0100 DEFINITION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PUBLIC SECTION.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   METHODS:&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*double_click FOR EVENT double_click&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                        OF cl_gui_alv_grid&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                        IMPORTING e_row&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                  e_column.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;    METHODS&lt;/P&gt;&lt;P&gt;        handle_hotspot_click&lt;/P&gt;&lt;P&gt;        FOR EVENT hotspot_click OF cl_gui_alv_grid&lt;/P&gt;&lt;P&gt;        IMPORTING&lt;/P&gt;&lt;P&gt;             e_row_id&lt;/P&gt;&lt;P&gt;             e_column_id&lt;/P&gt;&lt;P&gt;             es_row_no&lt;/P&gt;&lt;P&gt;             sender.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*---code addition for ALV pushbuttons&lt;/P&gt;&lt;P&gt;*--for placing buttons&lt;/P&gt;&lt;P&gt;    METHODS handle_toolbar_set&lt;/P&gt;&lt;P&gt;        FOR EVENT toolbar OF cl_gui_alv_grid&lt;/P&gt;&lt;P&gt;        IMPORTING&lt;/P&gt;&lt;P&gt;              e_object&lt;/P&gt;&lt;P&gt;              e_interactive.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*---user command on clicking a button&lt;/P&gt;&lt;P&gt;    METHODS handle_user_command&lt;/P&gt;&lt;P&gt;        FOR EVENT user_command OF cl_gui_alv_grid&lt;/P&gt;&lt;P&gt;        IMPORTING&lt;/P&gt;&lt;P&gt;             e_ucomm.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDCLASS.                    "lcl_events_d0100 DEFINITION&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPE-POOLS cndp.&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;                    LOCAL VARIABLE&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;DATA ok_code TYPE 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;                      FOR VARIANT&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 st_var TYPE disvariant .&lt;/P&gt;&lt;P&gt;DATA save TYPE c.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;st_var-report = 'YKC_ALV_OOPS'.&lt;/P&gt;&lt;P&gt;save = 'A'.&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;        FOR LAYOUT&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;DATA loyo TYPE lvc_s_layo.&lt;/P&gt;&lt;P&gt;loyo-zebra = 'X'.&lt;/P&gt;&lt;P&gt;loyo-detailinit = 'X'.&lt;/P&gt;&lt;P&gt;loyo-info_fname = 'RED'.&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;          FOR FIELD CATALOG&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 fcat TYPE lvc_t_fcat.&lt;/P&gt;&lt;P&gt;DATA wa_fcat LIKE LINE OF fcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--Declaration for toolbar buttons&lt;/P&gt;&lt;P&gt;DATA : ty_toolbar      TYPE stb_button.&lt;/P&gt;&lt;P&gt;DATA : e_object        TYPE REF TO cl_alv_event_toolbar_set,&lt;/P&gt;&lt;P&gt;       io_alv_toolbar  TYPE REF TO cl_alv_event_toolbar_set.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*---custom container&lt;/P&gt;&lt;P&gt;DATA container TYPE REF TO cl_gui_custom_container.&lt;/P&gt;&lt;P&gt;DATA ref_grid TYPE REF TO cl_gui_alv_grid.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CREATE OBJECT container&lt;/P&gt;&lt;P&gt;                  EXPORTING&lt;/P&gt;&lt;P&gt;                  container_name = 'CONTAINER'."name of container in module pool&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CREATE OBJECT  ref_grid&lt;/P&gt;&lt;P&gt;       EXPORTING&lt;/P&gt;&lt;P&gt;       i_parent = 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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      CLASS lcl_events_d0100 IMPLEMENTATION&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;CLASS lcl_events_d0100 IMPLEMENTATION.&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;      METHOD double_click                                           *&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;      ........                                                      *&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; METHOD double_click.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;   PERFORM d0100_event_double_click USING  e_row&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;                                            e_column .&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;**---remember when using double click hotspot will not work&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; ENDMETHOD.                    "double_click&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*---method for hotspot&lt;/P&gt;&lt;P&gt;  METHOD handle_hotspot_click.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    DATA:ls_col_id   TYPE lvc_s_col.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    READ TABLE it_tab INTO wa_it_tab&lt;/P&gt;&lt;P&gt;                             INDEX e_row_id-index.&lt;/P&gt;&lt;P&gt;    IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;      CHECK ( wa_it_tab-matnr IS NOT INITIAL ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      CASE e_column_id-fieldname.&lt;/P&gt;&lt;P&gt;        WHEN 'MATNR'.&lt;/P&gt;&lt;P&gt;        leave program.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        WHEN OTHERS.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      do nothing&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      ENDCASE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      CALL METHOD ref_grid-&amp;gt;set_current_cell_via_id&lt;/P&gt;&lt;P&gt;        EXPORTING&lt;/P&gt;&lt;P&gt;          is_row_id    = e_row_id&lt;/P&gt;&lt;P&gt;          is_column_id = ls_col_id.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDMETHOD.                    "handle_hotspot_click&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;**---method for handling toolbar&lt;/P&gt;&lt;P&gt;  METHOD handle_toolbar_set.&lt;/P&gt;&lt;P&gt;    CLEAR ty_toolbar.&lt;/P&gt;&lt;P&gt;    ty_toolbar-function = 'LEAVE'. "name of btn to  catch click&lt;/P&gt;&lt;P&gt;    ty_toolbar-butn_type = 0.&lt;/P&gt;&lt;P&gt;    ty_toolbar-text = 'LEAVE'.&lt;/P&gt;&lt;P&gt;    APPEND ty_toolbar    TO e_object-&amp;gt;mt_toolbar.&lt;/P&gt;&lt;P&gt;  ENDMETHOD.                    "handle_toolbar_set&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;  METHOD handle_user_command.&lt;/P&gt;&lt;P&gt;DATA: wr_data_changed TYPE REF TO cl_alv_changed_data_protocol.&lt;/P&gt;&lt;P&gt;    DATA: lt_rows TYPE lvc_t_row,&lt;/P&gt;&lt;P&gt;          lt_index TYPE  lvc_s_row-index.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CASE e_ucomm.&lt;/P&gt;&lt;P&gt;      WHEN 'LEAVE'.&lt;/P&gt;&lt;P&gt;        leave program.&lt;/P&gt;&lt;P&gt;    ENDCASE.&lt;/P&gt;&lt;P&gt;  ENDMETHOD.                    "handle_user_command&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDCLASS.                    "lcl_events_d0100 IMPLEMENTATION&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 get_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM field_catalog.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  get_data&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text : getting data into internal 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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form get_data .&lt;/P&gt;&lt;P&gt;*select matnr ersda ernam pstat lvorm mtart meins&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      into table it_tab&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      from mara&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      where lvorm = 'X'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  it_tab-matnr = '000000000000000001'.&lt;/P&gt;&lt;P&gt;  it_tab-ersda = 'asd' .&lt;/P&gt;&lt;P&gt;  it_tab-ernam = 'asd'.&lt;/P&gt;&lt;P&gt;  it_tab-pstat = 'sd'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; it_tab-lvorm = fdf'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  it_tab-mtart = 'we'.&lt;/P&gt;&lt;P&gt;  it_tab-meins = 'lb'.&lt;/P&gt;&lt;P&gt;append it_tab.&lt;/P&gt;&lt;P&gt;clear it_tab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;it_tab-matnr = '99999'.&lt;/P&gt;&lt;P&gt;  it_tab-ersda = 'asd' .&lt;/P&gt;&lt;P&gt;  it_tab-ernam = 'asd'.&lt;/P&gt;&lt;P&gt;  it_tab-pstat = 'sd'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; it_tab-lvorm = fdf'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  it_tab-mtart = 'we'.&lt;/P&gt;&lt;P&gt;  it_tab-meins = 'lb'.&lt;/P&gt;&lt;P&gt;append it_tab.&lt;/P&gt;&lt;P&gt;clear it_tab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;it_tab-matnr = '77777'.&lt;/P&gt;&lt;P&gt;  it_tab-ersda = 'asd' .&lt;/P&gt;&lt;P&gt;  it_tab-ernam = 'asd'.&lt;/P&gt;&lt;P&gt;  it_tab-pstat = 'sd'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; it_tab-lvorm = fdf'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  it_tab-mtart = 'we'.&lt;/P&gt;&lt;P&gt;  it_tab-meins = 'lb'.&lt;/P&gt;&lt;P&gt;append it_tab.&lt;/P&gt;&lt;P&gt;clear it_tab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    " get_data&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  field_catalog&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 field_catalog .&lt;/P&gt;&lt;P&gt;  REFRESH fcat.&lt;/P&gt;&lt;P&gt;  DATA: lv_pos TYPE i.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  lv_pos = lv_pos + 1.&lt;/P&gt;&lt;P&gt;  wa_fcat-fieldname = 'MATNR'.&lt;/P&gt;&lt;P&gt;  wa_fcat-coltext = 'Material No'.&lt;/P&gt;&lt;P&gt;  wa_fcat-col_pos = lv_pos.&lt;/P&gt;&lt;P&gt;  wa_fcat-hotspot = 'X'.&lt;/P&gt;&lt;P&gt;  wa_fcat-outputlen = 18.&lt;/P&gt;&lt;P&gt;  APPEND wa_fcat TO fcat.&lt;/P&gt;&lt;P&gt;  CLEAR wa_fcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  lv_pos = lv_pos + 1.&lt;/P&gt;&lt;P&gt;  wa_fcat-fieldname = 'ERSDA'.&lt;/P&gt;&lt;P&gt;  wa_fcat-coltext = 'Creation Date'.&lt;/P&gt;&lt;P&gt;  wa_fcat-col_pos = lv_pos.&lt;/P&gt;&lt;P&gt;  wa_fcat-outputlen = 18.&lt;/P&gt;&lt;P&gt;  APPEND wa_fcat TO fcat.&lt;/P&gt;&lt;P&gt;  CLEAR wa_fcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  lv_pos = lv_pos + 1.&lt;/P&gt;&lt;P&gt;  wa_fcat-fieldname = 'ERNAM'.&lt;/P&gt;&lt;P&gt;  wa_fcat-coltext = 'Person Created'.&lt;/P&gt;&lt;P&gt;  wa_fcat-col_pos = lv_pos.&lt;/P&gt;&lt;P&gt;  wa_fcat-outputlen = 18.&lt;/P&gt;&lt;P&gt;  APPEND wa_fcat TO fcat.&lt;/P&gt;&lt;P&gt;  CLEAR wa_fcat.&lt;/P&gt;&lt;P&gt;  lv_pos = lv_pos + 1.&lt;/P&gt;&lt;P&gt;  wa_fcat-fieldname = 'PSTAT'.&lt;/P&gt;&lt;P&gt;  wa_fcat-coltext = 'Maint Stat'.&lt;/P&gt;&lt;P&gt;  wa_fcat-col_pos = lv_pos.&lt;/P&gt;&lt;P&gt;  wa_fcat-outputlen = 18.&lt;/P&gt;&lt;P&gt;  APPEND wa_fcat TO fcat.&lt;/P&gt;&lt;P&gt;  CLEAR wa_fcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  lv_pos = lv_pos + 1.&lt;/P&gt;&lt;P&gt;  wa_fcat-fieldname = 'LVORM'.&lt;/P&gt;&lt;P&gt;  wa_fcat-coltext = 'Flag For Deletion'.&lt;/P&gt;&lt;P&gt;  wa_fcat-col_pos = lv_pos.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  wa_fcat-outputlen = 18.&lt;/P&gt;&lt;P&gt;  APPEND wa_fcat TO fcat.&lt;/P&gt;&lt;P&gt;  CLEAR wa_fcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  lv_pos = lv_pos + 1.&lt;/P&gt;&lt;P&gt;  wa_fcat-fieldname = 'MTART'.&lt;/P&gt;&lt;P&gt;  wa_fcat-coltext = 'Material Type'.&lt;/P&gt;&lt;P&gt;  wa_fcat-col_pos = lv_pos.&lt;/P&gt;&lt;P&gt;  wa_fcat-outputlen = 18.&lt;/P&gt;&lt;P&gt;  APPEND wa_fcat TO fcat.&lt;/P&gt;&lt;P&gt;  CLEAR wa_fcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  lv_pos = lv_pos + 1.&lt;/P&gt;&lt;P&gt;  wa_fcat-fieldname = 'MEINS'.&lt;/P&gt;&lt;P&gt;  wa_fcat-coltext = 'UOM'.&lt;/P&gt;&lt;P&gt;  wa_fcat-col_pos = lv_pos.&lt;/P&gt;&lt;P&gt;  wa_fcat-outputlen = 18.&lt;/P&gt;&lt;P&gt;  APPEND wa_fcat TO fcat.&lt;/P&gt;&lt;P&gt;  CLEAR wa_fcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; CREATE OBJECT gr_events_d0100.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; SET HANDLER gr_events_d0100-&amp;gt;double_click  FOR ref_grid.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CREATE OBJECT event_receiver1.&lt;/P&gt;&lt;P&gt;*---setting event handlers&lt;/P&gt;&lt;P&gt;  SET HANDLER event_receiver1-&amp;gt;handle_toolbar_set   FOR ref_grid.&lt;/P&gt;&lt;P&gt;  SET HANDLER event_receiver1-&amp;gt;handle_user_command  FOR ref_grid.&lt;/P&gt;&lt;P&gt;  SET HANDLER event_receiver1-&amp;gt;handle_hotspot_click FOR ref_grid.&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 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;  CALL METHOD ref_grid-&amp;gt;set_table_for_first_display&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      is_variant      = st_var&lt;/P&gt;&lt;P&gt;      i_save          = save&lt;/P&gt;&lt;P&gt;      is_layout       = loyo&lt;/P&gt;&lt;P&gt;    CHANGING&lt;/P&gt;&lt;P&gt;      it_outtab       = it_tab[]&lt;/P&gt;&lt;P&gt;      it_fieldcatalog = fcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL SCREEN 100.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    " field_catalog&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_0100  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_0100 output.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; CREATE OBJECT gr_events_d0100.&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; SET HANDLER gr_events_d0100-&amp;gt;double_click&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;                FOR ref_grid.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SET PF-STATUS 'S100'.&lt;/P&gt;&lt;P&gt;  SET TITLEBAR 'XXX'.&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;create the custom container&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CREATE OBJECT container&lt;/P&gt;&lt;/LI&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;                 container_name = 'CONTAINER'. "'CUSTOM'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*CALL METHOD cl_gui_cfw=&amp;gt;flush&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;       cntl_system_error = 1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       cntl_error        = 2.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;error handling&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endmodule.                 " STATUS_0100  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  exit  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 exit input.&lt;/P&gt;&lt;P&gt;CASE ok_code.&lt;/P&gt;&lt;P&gt;    WHEN 'EXI' .&lt;/P&gt;&lt;P&gt;      CLEAR ok_code.&lt;/P&gt;&lt;P&gt;      LEAVE PROGRAM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDCASE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endmodule.                 " exit  INPUT&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks &amp;amp; Regards,&lt;/P&gt;&lt;P&gt;Ruchi Tiwari&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 06 Mar 2009 07:16:32 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/object-oriented-alv-in-executable-report/m-p/5324965#M1227144</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2009-03-06T07:16:32Z</dc:date>
    </item>
    <item>
      <title>Re: Object oriented ALV in executable report</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/object-oriented-alv-in-executable-report/m-p/5324966#M1227145</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;Try this code.Hope it Helps!!!!!!!!!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;internal tables&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES : BEGIN OF t_output,&lt;/P&gt;&lt;P&gt;               matnr TYPE mara-matnr,&lt;/P&gt;&lt;P&gt;               meins TYPE mara-meins,&lt;/P&gt;&lt;P&gt;            END OF t_output.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:  i_output  TYPE STANDARD TABLE OF t_output,&lt;/P&gt;&lt;P&gt;           wa_output LIKE LINE OF i_output.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;internal data fields&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:      grid_layout              TYPE lvc_s_layo,&lt;/P&gt;&lt;P&gt;                i_fieldcat                 TYPE STANDARD TABLE OF lvc_s_fcat,&lt;/P&gt;&lt;P&gt;               wa_fieldcat               LIKE LINE OF i_fieldcat,&lt;/P&gt;&lt;P&gt;               grid1                        TYPE REF TO  cl_gui_alv_grid ,&lt;/P&gt;&lt;P&gt;               g_custom_container  TYPE REF TO cl_gui_custom_container,&lt;/P&gt;&lt;P&gt;               g_variant                   TYPE disvariant.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CONSTANTS :  c_container_name TYPE scrfname   " Container name&lt;/P&gt;&lt;P&gt;                        VALUE 'ALV_CONTROL'.&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;&lt;/P&gt;&lt;P&gt;  PERFORM get_data.&lt;/P&gt;&lt;P&gt;  PERFORM build_catalogue.&lt;/P&gt;&lt;P&gt;  PERFORM display_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  GET_DATA&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM get_data .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get the data from the tables and prepare an output table which you want to display&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  wa_output-matnr = '0020100300'.&lt;/P&gt;&lt;P&gt;  wa_output-meins = 'PC'.&lt;/P&gt;&lt;P&gt;  APPEND wa_output TO i_output.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " GET_DATA&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  BUILD_CATALOGUE&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_catalogue .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Build catologue&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR wa_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  wa_fieldcat-fieldname  =  'MATNR'. "(Pass the name of the database field that you want to display)&lt;/P&gt;&lt;P&gt;  wa_fieldcat-tabname    =  'I_OUTPUT'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-coltext       =  'Material'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-fix_column =  'X'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-edit           =  'X'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-col_pos     =  '1'.&lt;/P&gt;&lt;P&gt;  APPEND wa_fieldcat TO i_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR wa_fieldcat.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-fieldname     =  'MEINS'."(Pass the name of the database field that you want to display)&lt;/P&gt;&lt;P&gt;  wa_fieldcat-tabname      = 'I_OUTPUT'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-coltext         =  'Unit'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-fix_column    =  'X'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-edit              =  'X'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-col_pos        =  '2'.&lt;/P&gt;&lt;P&gt;  APPEND wa_fieldcat TO i_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " BUILD_CATALOGUE&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;      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 display_data .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL SCREEN 30.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Click on the  '30', it will prompt you to create a screen, give appropriate name to the screen,&lt;/P&gt;&lt;P&gt;*Click on the LAYOUT tab and create a container on the screen (Use Custom Control).&lt;/P&gt;&lt;P&gt;*Give appropriate name to the container it should be same as declared by the constant&lt;/P&gt;&lt;P&gt;*c_container_name TYPE scrfname.In this code it is named as ALV_CONTROL&lt;/P&gt;&lt;P&gt;*Once screen is created and activated double click on it it will take you to PBO and PAI modules.&lt;/P&gt;&lt;P&gt;*create these modules.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " DISPLAY_DATA&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Module  STATUS_0030  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_0030 OUTPUT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SET PF-STATUS '030'. "(Create PF status by double clicking on that&lt;/P&gt;&lt;P&gt;  SET TITLEBAR '030'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Standard toolbar options like BACK, SAVE , CANCEL can be added in toolbar using PF-STATUS&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;You need to add these buttons in function keys&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF g_custom_container IS INITIAL .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CREATE OBJECT g_custom_container&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        container_name = c_container_name.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CREATE OBJECT grid1&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        i_parent = g_custom_container.&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;    CALL METHOD grid1-&amp;gt;free.&lt;/P&gt;&lt;P&gt;    CALL METHOD g_custom_container-&amp;gt;free.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CREATE OBJECT g_custom_container&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        container_name = c_container_name.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CREATE OBJECT grid1&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        i_parent = g_custom_container.&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;  g_variant = sy-repid.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL METHOD grid1-&amp;gt;set_table_for_first_display&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      is_layout       = grid_layout&lt;/P&gt;&lt;P&gt;      is_variant      = g_variant&lt;/P&gt;&lt;P&gt;      i_save          = 'A'&lt;/P&gt;&lt;P&gt;    CHANGING&lt;/P&gt;&lt;P&gt;      it_outtab       = i_output[] "pass output table here&lt;/P&gt;&lt;P&gt;      it_fieldcatalog = i_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDMODULE.                 " STATUS_0030  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  USER_COMMAND_0030  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_0030 INPUT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;The code that needs to be handled after output is displayed needs to be written&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CASE sy-ucomm.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WHEN 'BACK' OR 'CANCEL'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      CALL METHOD g_custom_container-&amp;gt;free.&lt;/P&gt;&lt;P&gt;      CALL METHOD cl_gui_cfw=&amp;gt;flush.&lt;/P&gt;&lt;P&gt;      SET SCREEN 0.&lt;/P&gt;&lt;P&gt;      LEAVE SCREEN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDCASE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDMODULE.                 " USER_COMMAND_0030  INPUT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; By Tejaswini Khante&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 06 Mar 2009 07:29:32 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/object-oriented-alv-in-executable-report/m-p/5324966#M1227145</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2009-03-06T07:29:32Z</dc:date>
    </item>
    <item>
      <title>Re: Object oriented ALV in executable report</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/object-oriented-alv-in-executable-report/m-p/5324967#M1227146</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi look at the programs-------&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;BCALV*  -&lt;/P&gt;&lt;HR originaltext="---------" /&gt;&lt;P&gt;&amp;gt; for object oriented programs&lt;/P&gt;&lt;P&gt;SALV*    -&lt;/P&gt;&lt;HR originaltext="---------" /&gt;&lt;P&gt;&amp;gt; for new object OO model&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 07 Mar 2009 13:51:53 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/object-oriented-alv-in-executable-report/m-p/5324967#M1227146</guid>
      <dc:creator>former_member203501</dc:creator>
      <dc:date>2009-03-07T13:51:53Z</dc:date>
    </item>
  </channel>
</rss>

