<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: ALV report using OOPS concept. in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-report-using-oops-concept/m-p/3103696#M736638</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;    Pls find the steps below.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1) Create a Z report program.&lt;/P&gt;&lt;P&gt;2) Now create a screen (say 100) in your report program. You can do this by writing call screen 100 and double clicking on it.&lt;/P&gt;&lt;P&gt;3) now in the screen painter of screen 100, click on Edit-&amp;gt;create element-&amp;gt;custom control&lt;/P&gt;&lt;P&gt;4) give some name. say (LIST_GRID). Save and come back to report&lt;/P&gt;&lt;P&gt;5) Now in the data declaretion add the follow statments&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:lo_container TYPE REF TO cl_gui_custom_container,&lt;/P&gt;&lt;P&gt;     lo_grid      TYPE REF TO cl_gui_alv_grid.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;6) populate the output internal table, field catlog etc...&lt;/P&gt;&lt;P&gt;7) now do the following.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CREATE OBJECT lo_container&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      container_name              = 'LIST_GRID'.&lt;/P&gt;&lt;P&gt;  CREATE OBJECT lo_grid&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      i_parent          = lo_container.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*(LIST_GRID is the name which you have given in the screen painter)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-unicode-emoji" title=":smiling_face_with_sunglasses:"&gt;😎&lt;/span&gt; Now, do the following&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL METHOD lo_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              = 'MARA' "UR STRUCTURE&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;LI level="1" type="ul"&gt;&lt;P&gt;   IS_LAYOUT                     =&lt;/P&gt;&lt;/LI&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;/UL&gt;&lt;P&gt;  CHANGING&lt;/P&gt;&lt;P&gt;    it_outtab                     = it_ans "UR INTERNAL TABLE&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;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;   INVALID_PARAMETER_COMBINATION = 1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   PROGRAM_ERROR                 = 2&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   TOO_MANY_LINES                = 3&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   others                        = 4&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        .&lt;/P&gt;&lt;P&gt;IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Reward point if useful.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Niyaz&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 28 Nov 2007 05:32:56 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2007-11-28T05:32:56Z</dc:date>
    <item>
      <title>ALV report using OOPS concept.</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-report-using-oops-concept/m-p/3103692#M736634</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;Please help me in writing ALV report using OOPS concept as i have never used this concept before.Please post a clear picture for this.&lt;/P&gt;&lt;P&gt;Thanks in advance.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 28 Nov 2007 05:24:52 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-report-using-oops-concept/m-p/3103692#M736634</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-11-28T05:24:52Z</dc:date>
    </item>
    <item>
      <title>Re: ALV report using OOPS concept.</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-report-using-oops-concept/m-p/3103693#M736635</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;Here is the simple code as explained previously.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;REPORT  zgs_simple_alv.
 
DATA : it_mara TYPE TABLE OF mara.
 
DATA : container TYPE REF TO cl_gui_custom_container,
       grid TYPE REF TO cl_gui_alv_grid.
 
SELECT * FROM mara INTO TABLE it_mara UP TO 10 ROWS.
 
 CREATE OBJECT container
   EXPORTING
*     PARENT                      =
     container_name              =  'CONTAINER'
*     STYLE                       =
*     LIFETIME                    = lifetime_default
*     REPID                       =
*     DYNNR                       =
*     NO_AUTODEF_PROGID_DYNNR     =
*   EXCEPTIONS
*     CNTL_ERROR                  = 1
*     CNTL_SYSTEM_ERROR           = 2
*     CREATE_ERROR                = 3
*     LIFETIME_ERROR              = 4
*     LIFETIME_DYNPRO_DYNPRO_LINK = 5
*     others                      = 6
     .
 IF sy-subrc &amp;lt;&amp;gt; 0.
*  MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*             WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
 ENDIF.
 
 
CREATE OBJECT grid
  EXPORTING
*    I_SHELLSTYLE      = 0
*    I_LIFETIME        =
    i_parent          = container
*    I_APPL_EVENTS     = space
*    I_PARENTDBG       =
*    I_APPLOGPARENT    =
*    I_GRAPHICSPARENT  =
*    I_NAME            =
*    I_FCAT_COMPLETE   = SPACE
*  EXCEPTIONS
*    ERROR_CNTL_CREATE = 1
*    ERROR_CNTL_INIT   = 2
*    ERROR_CNTL_LINK   = 3
*    ERROR_DP_CREATE   = 4
*    others            = 5
    .
IF sy-subrc &amp;lt;&amp;gt; 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
 
CALL METHOD grid-&amp;gt;set_table_for_first_display
  EXPORTING
*    I_BUFFER_ACTIVE               =
*    I_BYPASSING_BUFFER            =
*    I_CONSISTENCY_CHECK           =
    i_structure_name              = 'MARA'
*    IS_VARIANT                    =
*    I_SAVE                        =
*    I_DEFAULT                     = 'X'
*    IS_LAYOUT                     =
*    IS_PRINT                      =
*    IT_SPECIAL_GROUPS             =
*    IT_TOOLBAR_EXCLUDING          =
*    IT_HYPERLINK                  =
*    IT_ALV_GRAPHICS               =
*    IT_EXCEPT_QINFO               =
*    IR_SALV_ADAPTER               =
  CHANGING
    it_outtab                     = it_mara
*    IT_FIELDCATALOG               =
*    IT_SORT                       =
*    IT_FILTER                     =
*  EXCEPTIONS
*    INVALID_PARAMETER_COMBINATION = 1
*    PROGRAM_ERROR                 = 2
*    TOO_MANY_LINES                = 3
*    others                        = 4
        .
IF sy-subrc &amp;lt;&amp;gt; 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
 
CALL SCREEN 100.&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.erpgenie.com/abap/controls/alvgrid.htm" target="test_blank"&gt;http://www.erpgenie.com/abap/controls/alvgrid.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Go to the following link which gives you sample codes with brief description of the programs.&lt;/P&gt;&lt;P&gt;OOALV&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Then coming to steps for creation of ALV in OOABAP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1. Create a program in se38 and just activate it without any code for now.&lt;/P&gt;&lt;P&gt;2. Go to module pool and create a screen, put a custom container control on to the screen. (You will find this control on right side tool box).&lt;/P&gt;&lt;P&gt;3. Give a name to the control created in step 2.&lt;/P&gt;&lt;P&gt;4. Activate the screen.&lt;/P&gt;&lt;P&gt;5. Come to the program declare two variables to hold instances of 2 classes CL_GUI_CUSTOM_CONTAINER, CL_GUI_ALV_GRID.&lt;/P&gt;&lt;P&gt;6. create an instance of the class CL_GUI_CUSTOM_CONTAINER passing container name created in step 3.&lt;/P&gt;&lt;P&gt;7. create an instance of the class CL_GUI_ALV_GRID passing INSTANCE VARIBALE name created in step 6.&lt;/P&gt;&lt;P&gt;8. using the ref. variable of previous step call method SET_TABLE &lt;U&gt;FOR&lt;/U&gt;FIRST_DISPLAY method and pass structure name and internal table containing data.&lt;/P&gt;&lt;P&gt;9. then call screen created in step 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hey... execute the program . You are there with your OOALV.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sapdev.co.uk/reporting/alv/alvscr.htm" target="test_blank"&gt;http://www.sapdev.co.uk/reporting/alv/alvscr.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;Reward if usefull&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 28 Nov 2007 05:28:12 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-report-using-oops-concept/m-p/3103693#M736635</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-11-28T05:28:12Z</dc:date>
    </item>
    <item>
      <title>Re: ALV report using OOPS concept.</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-report-using-oops-concept/m-p/3103694#M736636</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Check this for basic concepts of OOPS&lt;/P&gt;&lt;P&gt;&lt;A href="https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/webas/abap/abap%20code%20samples/abap%20objects/abap%20code%20sample%20to%20learn%20basic%20concept%20of%20object-oriented%20programming.doc" target="test_blank"&gt;https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/webas/abap/abap%20code%20samples/abap%20objects/abap%20code%20sample%20to%20learn%20basic%20concept%20of%20object-oriented%20programming.doc&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/webas/abap/abap%20code%20samples/alv%20grid/abap%20code%20sample%20to%20display%20data%20in%20alv%20grid%20using%20object%20oriented%20programming.doc" target="test_blank"&gt;https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/webas/abap/abap%20code%20samples/alv%20grid/abap%20code%20sample%20to%20display%20data%20in%20alv%20grid%20using%20object%20oriented%20programming.doc&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;General Tutorial for OOPS&lt;/P&gt;&lt;P&gt;&lt;A href="https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/webas/abap/an%20easy%20reference%20for%20alv%20grid%20control.pdf" target="test_blank"&gt;https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/webas/abap/an%20easy%20reference%20for%20alv%20grid%20control.pdf&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sapdevelopment.co.uk/reporting/alvhome.htm" target="test_blank"&gt;http://www.sapdevelopment.co.uk/reporting/alvhome.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sap-img.com/abap/what-is-alv-programming.htm" target="test_blank"&gt;http://www.sap-img.com/abap/what-is-alv-programming.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sap-img.com/abap-function.htm" target="test_blank"&gt;http://www.sap-img.com/abap-function.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.geocities.com/mpioud/Abap_programs.html" target="test_blank"&gt;http://www.geocities.com/mpioud/Abap_programs.html&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sapdevelopment.co.uk/reporting/alv/alvtree%5Calvtree_basic.htm" target="test_blank"&gt;http://www.sapdevelopment.co.uk/reporting/alv/alvtree%5Calvtree_basic.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://esnips.com/doc/ad20dca9-6182-4903-8d8f-96a66dc8590c/ALV.pdf" target="test_blank"&gt;http://esnips.com/doc/ad20dca9-6182-4903-8d8f-96a66dc8590c/ALV.pdf&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sap-img.com/abap-function.htm" target="test_blank"&gt;http://www.sap-img.com/abap-function.htm&lt;/A&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 28 Nov 2007 05:30:34 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-report-using-oops-concept/m-p/3103694#M736636</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-11-28T05:30:34Z</dc:date>
    </item>
    <item>
      <title>Re: ALV report using OOPS concept.</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-report-using-oops-concept/m-p/3103695#M736637</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;&lt;/P&gt;&lt;P&gt;   Goto SE38 give BCALV* and pressF4 it will display list of all oops alv stadard programs  just refer that.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Prashant&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 28 Nov 2007 05:31:14 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-report-using-oops-concept/m-p/3103695#M736637</guid>
      <dc:creator>former_member386202</dc:creator>
      <dc:date>2007-11-28T05:31:14Z</dc:date>
    </item>
    <item>
      <title>Re: ALV report using OOPS concept.</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-report-using-oops-concept/m-p/3103696#M736638</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;    Pls find the steps below.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1) Create a Z report program.&lt;/P&gt;&lt;P&gt;2) Now create a screen (say 100) in your report program. You can do this by writing call screen 100 and double clicking on it.&lt;/P&gt;&lt;P&gt;3) now in the screen painter of screen 100, click on Edit-&amp;gt;create element-&amp;gt;custom control&lt;/P&gt;&lt;P&gt;4) give some name. say (LIST_GRID). Save and come back to report&lt;/P&gt;&lt;P&gt;5) Now in the data declaretion add the follow statments&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:lo_container TYPE REF TO cl_gui_custom_container,&lt;/P&gt;&lt;P&gt;     lo_grid      TYPE REF TO cl_gui_alv_grid.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;6) populate the output internal table, field catlog etc...&lt;/P&gt;&lt;P&gt;7) now do the following.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CREATE OBJECT lo_container&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      container_name              = 'LIST_GRID'.&lt;/P&gt;&lt;P&gt;  CREATE OBJECT lo_grid&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      i_parent          = lo_container.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*(LIST_GRID is the name which you have given in the screen painter)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-unicode-emoji" title=":smiling_face_with_sunglasses:"&gt;😎&lt;/span&gt; Now, do the following&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL METHOD lo_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              = 'MARA' "UR STRUCTURE&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;LI level="1" type="ul"&gt;&lt;P&gt;   IS_LAYOUT                     =&lt;/P&gt;&lt;/LI&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;/UL&gt;&lt;P&gt;  CHANGING&lt;/P&gt;&lt;P&gt;    it_outtab                     = it_ans "UR INTERNAL TABLE&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;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;   INVALID_PARAMETER_COMBINATION = 1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   PROGRAM_ERROR                 = 2&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   TOO_MANY_LINES                = 3&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   others                        = 4&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        .&lt;/P&gt;&lt;P&gt;IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Reward point if useful.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Niyaz&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 28 Nov 2007 05:32:56 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-report-using-oops-concept/m-p/3103696#M736638</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-11-28T05:32:56Z</dc:date>
    </item>
    <item>
      <title>Re: ALV report using OOPS concept.</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-report-using-oops-concept/m-p/3103697#M736639</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;Refer this code:&lt;/P&gt;&lt;P&gt;REPORT zcls_alv_oops MESSAGE-ID z1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TABLES : mara.&lt;/P&gt;&lt;P&gt;&lt;SPAN __default_attr="#0000ff" __jive_macro_name="color"&gt;\*----&lt;/SPAN&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;\-&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN __default_attr="#0000ff" __jive_macro_name="color"&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt; Types Declaration..&lt;/LI&gt;&lt;/UL&gt;\&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN __default_attr="#0000ff" __jive_macro_name="color"&gt;\*----&lt;/SPAN&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;\-&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES :&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;BEGIN OF t_mara,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;matnr TYPE matnr,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;mtart TYPE mtart,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;maktx TYPE maktx,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;END OF t_mara,&lt;/P&gt;&lt;P&gt;&lt;SPAN __default_attr="#0000ff" __jive_macro_name="color"&gt;\*&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;BEGIN OF t_marc,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;matnr TYPE matnr,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;werks TYPE werks_d,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;mtart TYPE mtart,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;maktx TYPE maktx,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;END OF t_marc.&lt;/P&gt;&lt;P&gt;&lt;SPAN __default_attr="#0000ff" __jive_macro_name="color"&gt;\*----&lt;/SPAN&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;\-&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN __default_attr="#0000ff" __jive_macro_name="color"&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt; Internal Tables Declaration..&lt;/LI&gt;&lt;/UL&gt;\&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN __default_attr="#0000ff" __jive_macro_name="color"&gt;\*----&lt;/SPAN&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;\-&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA :&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;i_mara TYPE TABLE OF t_mara,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;i_marc TYPE TABLE OF t_marc,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;i_fcat1 TYPE lvc_t_fcat,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;i_fcat2 TYPE lvc_t_fcat.&lt;/P&gt;&lt;P&gt;&lt;SPAN __default_attr="#0000ff" __jive_macro_name="color"&gt;\*----&lt;/SPAN&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;\-&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN __default_attr="#0000ff" __jive_macro_name="color"&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt; Constants Declaration..&lt;/LI&gt;&lt;/UL&gt;\&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN __default_attr="#0000ff" __jive_macro_name="color"&gt;\*----&lt;/SPAN&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;\-&lt;P&gt;&lt;/P&gt;&lt;P&gt;CONSTANTS :&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;c_cont1 TYPE scrfname VALUE 'CONT1',&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;c_cont2 TYPE scrfname VALUE 'CONT2'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;s_matnr FOR mara-matnr NO INTERVALS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN SKIP 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PARAMETERS :&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;p_hotspt RADIOBUTTON GROUP r1 DEFAULT 'X',&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;p_bttn RADIOBUTTON GROUP r1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK b1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;\*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;\* Class forward referncing.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLASS lcl_rcvr_class DEFINITION DEFERRED.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;\*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;\-&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;\* Pointers Declaration..&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;\*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;\-&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA :&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;lp_rcvr TYPE REF TO lcl_rcvr_class,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;lp_cont1 TYPE REF TO cl_gui_custom_container,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;lp_cont2 TYPE REF TO cl_gui_custom_container,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;lp_grid1 TYPE REF TO cl_gui_alv_grid,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;lp_grid2 TYPE REF TO cl_gui_alv_grid.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;\*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;\-&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;\* Local Class Definiton.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&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_rcvr_class DEFINITION.&lt;/P&gt;&lt;P&gt;&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;hotspot_click FOR EVENT hotspot_click OF cl_gui_alv_grid&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IMPORTING e_row_id e_column_id es_row_no,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;\*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;handle_double_click FOR EVENT double_click OF cl_gui_alv_grid&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IMPORTING e_row e_column.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDCLASS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;\*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;\-&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;\* Local Class Implementation.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&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_rcvr_class IMPLEMENTATION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;METHOD hotspot_click.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA :&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;wa_mara TYPE t_mara,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;wa_marc TYPE t_marc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;\*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA :&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;l_index TYPE sy-tabix.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;\*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;READ TABLE i_mara INTO wa_mara INDEX e_row_id-index.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REFRESH i_marc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT matnr&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;werks&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;INTO TABLE i_marc&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FROM marc&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WHERE matnr EQ wa_mara-matnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;\*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOOP AT i_marc INTO wa_marc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;l_index = sy-tabix.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;wa_marc-mtart = wa_mara-mtart.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;wa_marc-maktx = wa_mara-maktx.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;MODIFY i_marc FROM wa_marc INDEX l_index&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TRANSPORTING mtart maktx.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL SCREEN 200.&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;MESSAGE e121 WITH text-005 wa_mara-matnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;\*&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;\*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;METHOD handle_double_click.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA :&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;wa_mara TYPE t_mara,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;wa_marc TYPE t_marc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;\*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA :&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;l_index TYPE sy-tabix.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;\*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;READ TABLE i_mara INTO wa_mara INDEX e_row-index.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REFRESH i_marc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT matnr&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;werks&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;INTO TABLE i_marc&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FROM marc&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WHERE matnr EQ wa_mara-matnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;\*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOOP AT i_marc INTO wa_marc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;l_index = sy-tabix.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;wa_marc-mtart = wa_mara-mtart.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;wa_marc-maktx = wa_mara-maktx.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;MODIFY i_marc FROM wa_marc INDEX l_index&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TRANSPORTING mtart maktx.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL SCREEN 200.&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;MESSAGE e121 WITH text-005 wa_mara-matnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;\*&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;/P&gt;&lt;P&gt;\*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;\-&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;\* Start of Selection&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;\*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;\-&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;\* Extract the Material Master data for the Input Material.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT a~matnr&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;a~mtart&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;b~maktx&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;INTO TABLE i_mara&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FROM mara AS a&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;INNER JOIN makt AS b&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ON a~matnr EQ b~matnr&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WHERE a~matnr IN s_matnr&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AND b~spras EQ sy-langu.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;\*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;END-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF NOT i_mara\[\] IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;\* Call Screen to display the Material Master data.&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;ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;MESSAGE s121 WITH text-006.&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;\*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;\*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;\*&amp;amp; Module DISP_GRID OUTPUT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;\*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;\*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;\* text&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;\*----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;\*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;MODULE disp_grid OUTPUT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;\* Build the Field catelog for Material Master data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PERFORM build_fcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;\* Display the Material Master data using ALV.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PERFORM disp_alv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;\*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDMODULE. " DISP_GRID OUTPUT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;\*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;\*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;\*&amp;amp; Module USER_COMMAND_0100 INPUT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;\*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;\*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;\* text&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;\*----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;\*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;MODULE user_command_0100 INPUT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;\*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;\*when exit or cancel is clicked program has to come out&lt;/P&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 'EXIT' OR 'CANC'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LEAVE PROGRAM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WHEN 'BACK'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LEAVE TO SCREEN 0.&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;&lt;/P&gt;&lt;P&gt;ENDMODULE. " USER_COMMAND_0100 INPUT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;\*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;\*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;\*&amp;amp; Form build_fcat&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;\*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;\*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;\* text&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;\*----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;\*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;\* \--&amp;gt; p1 text&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;\* &amp;lt;-\- p2 text&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;\*----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;\*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM build_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;DATA : ws_fcat TYPE lvc_s_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;ws_fcat-fieldname = 'MATNR'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ws_fcat-scrtext_m = text-001.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ws_fcat-tabname = 'I_MARA'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF p_hotspt EQ 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ws_fcat-hotspot = 'X'.&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;APPEND ws_fcat TO i_fcat1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLEAR ws_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;ws_fcat-fieldname = 'MTART'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ws_fcat-scrtext_m = text-002.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ws_fcat-tabname = 'I_MARA'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;APPEND ws_fcat TO i_fcat1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLEAR ws_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;ws_fcat-fieldname = 'MAKTX'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ws_fcat-scrtext_m = text-003.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ws_fcat-tabname = 'I_MARA'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;APPEND ws_fcat TO i_fcat1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLEAR ws_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;ENDFORM. " build_fcat&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;\*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;\*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;\*&amp;amp; Form disp_alv&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;\*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;\*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;\* text&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;\*----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;\*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;\* \--&amp;gt; p1 text&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;\* &amp;lt;-\- p2 text&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;\*----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;\*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM disp_alv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;\*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF lp_cont1 IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;\* Create the Container Object of Material Master.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CREATE OBJECT lp_cont1&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;container_name = c_cont1&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;cntl_error = 1&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;cntl_system_error = 2&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;create_error = 3&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;lifetime_error = 4&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;lifetime_dynpro_dynpro_link = 5&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;others = 6 .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.&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;\* Create the Object for Grid of Material Master.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CREATE OBJECT lp_grid1&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;i_parent = lp_cont1&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;error_cntl_create = 1&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;error_cntl_init = 2&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;error_cntl_link = 3&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;error_dp_create = 4&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;others = 5.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.&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;\* Dipslay Material Master data by calling method.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL METHOD lp_grid1-&amp;gt;set_table_for_first_display&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CHANGING&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;it_outtab = i_mara&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;it_fieldcatalog = i_fcat1&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;invalid_parameter_combination = 1&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;program_error = 2&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;too_many_lines = 3&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;OTHERS = 4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.&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;\* Set Handler for the Hot Spot Event.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CREATE OBJECT lp_rcvr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF p_hotspt EQ 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SET HANDLER lp_rcvr-&amp;gt;hotspot_click FOR lp_grid1.&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;SET HANDLER lp_rcvr-&amp;gt;handle_double_click FOR lp_grid1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;\*&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;&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;&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;&lt;/P&gt;&lt;P&gt;ENDFORM. " disp_alv&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;\*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;\*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;\*&amp;amp; Module STATUS_0100 OUTPUT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;\*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;\*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;\* text&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;\*----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;\*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;MODULE status_0100 OUTPUT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SET PF-STATUS 'MAIN_STAT'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SET TITLEBAR 'T_100'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDMODULE. " STATUS_0100 OUTPUT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;\*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;\*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;\*&amp;amp; Module STATUS_0200 OUTPUT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;\*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;\*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;\* text&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;\*----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;\*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;MODULE status_0200 OUTPUT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SET PF-STATUS 'PLANT_STAT'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SET TITLEBAR 'T_200'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDMODULE. " STATUS_0200 OUTPUT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;\*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;\*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;\*&amp;amp; Module DISP_GRID_plant OUTPUT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;\*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;\*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;\* text&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;\*----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;\*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;MODULE disp_grid_plant OUTPUT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;\* Build the Field catelog for Material Plant data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PERFORM build_fcat_plant.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;\* Display the Material Master Plant data using ALV.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PERFORM disp_alv_plant.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDMODULE. " DISP_GRID_plant OUTPUT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;\*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;\*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;\*&amp;amp; Module USER_COMMAND_0200 INPUT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;\*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;\*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;\* text&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;\*----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;\*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;MODULE user_command_0200 INPUT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;\*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;\*when exit or cancel is clicked program has to come out&lt;/P&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 'EXIT' OR 'CANC'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LEAVE PROGRAM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WHEN 'BACK'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LEAVE TO SCREEN 0.&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;&lt;/P&gt;&lt;P&gt;ENDMODULE. " USER_COMMAND_0200 INPUT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;\*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;\*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;\*&amp;amp; Form build_fcat_plant&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;\*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;\*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;\* text&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;\*----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;\*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;\* \--&amp;gt; p1 text&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;\* &amp;lt;-\- p2 text&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;\*----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;\*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM build_fcat_plant.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : ws_fcat TYPE lvc_s_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;ws_fcat-fieldname = 'MATNR'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ws_fcat-scrtext_m = text-001.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ws_fcat-tabname = 'I_MARC'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;APPEND ws_fcat TO i_fcat2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLEAR ws_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;ws_fcat-fieldname = 'WERKS'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ws_fcat-scrtext_m = text-004.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ws_fcat-tabname = 'I_MARC'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;APPEND ws_fcat TO i_fcat2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLEAR ws_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;ws_fcat-fieldname = 'MTART'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ws_fcat-scrtext_m = text-002.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ws_fcat-tabname = 'I_MARC'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;APPEND ws_fcat TO i_fcat2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLEAR ws_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;ws_fcat-fieldname = 'MAKTX'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ws_fcat-scrtext_m = text-003.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ws_fcat-tabname = 'I_MARC'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;APPEND ws_fcat TO i_fcat2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLEAR ws_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;ENDFORM. " build_fcat_plant&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;\*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;\*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;\*&amp;amp; Form disp_alv_plant&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;\*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;\*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;\* text&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;\*----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;\*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;\* \--&amp;gt; p1 text&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;\* &amp;lt;-\- p2 text&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;\*----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;\*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM disp_alv_plant.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF lp_cont2 IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;\* Create the Container Object of Material Plant data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CREATE OBJECT lp_cont2&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;container_name = c_cont2&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;cntl_error = 1&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;cntl_system_error = 2&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;create_error = 3&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;lifetime_error = 4&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;lifetime_dynpro_dynpro_link = 5&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;others = 6.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.&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;\* Create the Object for Grid of Material Plant data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CREATE OBJECT lp_grid2&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;i_parent = lp_cont2&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;error_cntl_create = 1&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;error_cntl_init = 2&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;error_cntl_link = 3&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;error_dp_create = 4&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;others = 5.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.&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;\* Dipslay Material Plant data by calling method.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL METHOD lp_grid2-&amp;gt;set_table_for_first_display&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CHANGING&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;it_outtab = i_marc&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;it_fieldcatalog = i_fcat2&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;invalid_parameter_combination = 1&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;program_error = 2&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;too_many_lines = 3&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;OTHERS = 4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.&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;&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;&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;&lt;/P&gt;&lt;P&gt;ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;\* Call method 'REFRESH_TABLE_DISPLAY' to refresh the grid data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL METHOD lp_grid2-&amp;gt;refresh_table_display.&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;&lt;/P&gt;&lt;P&gt;ENDFORM. " disp_alv_plant &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;P&gt;Vasudha&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 28 Nov 2007 05:34:48 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-report-using-oops-concept/m-p/3103697#M736639</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-11-28T05:34:48Z</dc:date>
    </item>
    <item>
      <title>Re: ALV report using OOPS concept.</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-report-using-oops-concept/m-p/3103698#M736640</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;&lt;A href="http://www.abap4.it/download/ALV.pdf" target="test_blank"&gt;http://www.abap4.it/download/ALV.pdf&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;check this .pdf file. Its very good and simple to learn ALV with OOPS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Vikram&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 28 Nov 2007 05:55:10 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-report-using-oops-concept/m-p/3103698#M736640</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-11-28T05:55:10Z</dc:date>
    </item>
    <item>
      <title>Re: ALV report using OOPS concept.</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-report-using-oops-concept/m-p/3103699#M736641</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;&amp;lt;b&amp;gt;Object Oriented ALV-Sample program to insert Logo in ALV&amp;lt;/b&amp;gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;REPORT z_ooalv_logo.

****DECLARATION FOR LOGO INSERT
CONSTANTS: cntl_true TYPE i VALUE 1,
cntl_false TYPE i VALUE 0.
DATA:h_picture TYPE REF TO cl_gui_picture,
h_pic_container TYPE REF TO cl_gui_custom_container.

DATA: graphic_url(255),
graphic_refresh(1),
g_result LIKE cntl_true.

DATA: BEGIN OF graphic_table OCCURS 0,
line(255) TYPE x,
END OF graphic_table.

DATA: graphic_size TYPE i.

CALL SCREEN 100.

*&amp;amp;---------------------------------------------------------------------*
*&amp;amp; Module PICTURE OUTPUT
*&amp;amp;---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE picture OUTPUT.

DATA: l_graphic_xstr TYPE xstring,
l_graphic_conv TYPE i,
l_graphic_offs TYPE i.

CALL METHOD cl_ssf_xsf_utilities=&amp;gt;get_bds_graphic_as_bmp
EXPORTING
p_object = 'GRAPHICS'
p_name = 'EDS'"IMAGE NAME - Image name from SE78
p_id = 'BMAP'
p_btype = 'BCOL'
RECEIVING
p_bmp = l_graphic_xstr
EXCEPTIONS
not_found = 1
OTHERS = 2.


graphic_size = XSTRLEN( l_graphic_xstr ).
CHECK graphic_size &amp;gt; 0.

l_graphic_conv = graphic_size.
l_graphic_offs = 0.

WHILE l_graphic_conv &amp;gt; 255.
graphic_table-line = l_graphic_xstr+l_graphic_offs(255).
APPEND graphic_table.
l_graphic_offs = l_graphic_offs + 255.
l_graphic_conv = l_graphic_conv - 255.
ENDWHILE.

graphic_table-line = l_graphic_xstr+l_graphic_offs(l_graphic_conv).
APPEND graphic_table.

CALL FUNCTION 'DP_CREATE_URL'
EXPORTING
type = 'image'
subtype = cndp_sap_tab_unknown " 'X-UNKNOWN'
size = graphic_size
lifetime = cndp_lifetime_transaction "'T'
TABLES
data = graphic_table
CHANGING
url = graphic_url
EXCEPTIONS
* dp_invalid_parameter = 1
* dp_error_put_table = 2
* dp_error_general = 3
OTHERS = 4 .
IF sy-subrc &amp;lt;&amp;gt; 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
EXIT.
ENDIF.

CREATE OBJECT h_pic_container
EXPORTING container_name = 'LOGO'.
CREATE OBJECT h_picture EXPORTING parent = h_pic_container.

CALL METHOD h_picture-&amp;gt;load_picture_from_url
EXPORTING
url = graphic_url
IMPORTING
RESULT = g_result.



ENDMODULE. " PICTURE OUTPUT&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 28 Nov 2007 07:01:21 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-report-using-oops-concept/m-p/3103699#M736641</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-11-28T07:01:21Z</dc:date>
    </item>
  </channel>
</rss>

