<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Interactive ALV list Report Using OOPS in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/interactive-alv-list-report-using-oops/m-p/3269947#M781629</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;yeah.....&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 04 Jan 2008 11:50:19 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2008-01-04T11:50:19Z</dc:date>
    <item>
      <title>Interactive ALV list Report Using OOPS</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/interactive-alv-list-report-using-oops/m-p/3269942#M781624</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Experts!!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I would like create secondary list using ABAP OPPS (Events).&lt;/P&gt;&lt;P&gt;Anybody can give me idea how to do that .&lt;/P&gt;&lt;P&gt;On clicking of perticurar row + column. Secondary list should be displayed. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Please do not suggest ALV Grid.&lt;/P&gt;&lt;P&gt;I know how to do it with ALV Grid using Events. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;P&gt;Anee&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 02 Jan 2008 04:47:42 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/interactive-alv-list-report-using-oops/m-p/3269942#M781624</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-01-02T04:47:42Z</dc:date>
    </item>
    <item>
      <title>Re: Interactive ALV list Report Using OOPS</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/interactive-alv-list-report-using-oops/m-p/3269943#M781625</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi there&lt;/P&gt;&lt;P&gt;Your question is a bit confusing&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You title the post Interactive ALV list report using OOPS and then in the actual post say you DON'T want to use ALV.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;So what exactly do you want to do.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Confused ????&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;jimbo&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 02 Jan 2008 13:02:16 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/interactive-alv-list-report-using-oops/m-p/3269943#M781625</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-01-02T13:02:16Z</dc:date>
    </item>
    <item>
      <title>Re: Interactive ALV list Report Using OOPS</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/interactive-alv-list-report-using-oops/m-p/3269944#M781626</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Yeah, I dont want alv report.&lt;/P&gt;&lt;P&gt;But I am asking about interactive report using OOPS Concept.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;P&gt;Anee&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 03 Jan 2008 04:23:46 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/interactive-alv-list-report-using-oops/m-p/3269944#M781626</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-01-03T04:23:46Z</dc:date>
    </item>
    <item>
      <title>Re: Interactive ALV list Report Using OOPS</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/interactive-alv-list-report-using-oops/m-p/3269945#M781627</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Anee&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Taking your question literally it basically means:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;"My dear Users,&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;SAP offers Excel-like functionality for reporting yet &lt;U&gt;I&lt;/U&gt; will &lt;STRONG&gt;not&lt;/STRONG&gt; offer this functions to you."&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Nevertheless here are two OO-based sample reports providing this kind of functionality:&lt;/P&gt;&lt;P&gt;[ZUS_SDN_TWO_ALV_GRIDS|&lt;A class="jive_macro jive_macro_thread" href="https://community.sap.com/" __jive_macro_name="thread" modifiedtitle="true" __default_attr="384685"&gt;&lt;/A&gt;;&lt;/P&gt;&lt;P&gt;[ZUS_SDN_THREE_ALV_GRIDS|&lt;A class="jive_macro jive_macro_thread" href="https://community.sap.com/" __jive_macro_name="thread" modifiedtitle="true" __default_attr="286895"&gt;&lt;/A&gt;;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;  Uwe&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 03 Jan 2008 05:44:09 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/interactive-alv-list-report-using-oops/m-p/3269945#M781627</guid>
      <dc:creator>uwe_schieferstein</dc:creator>
      <dc:date>2008-01-03T05:44:09Z</dc:date>
    </item>
    <item>
      <title>Re: Interactive ALV list Report Using OOPS</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/interactive-alv-list-report-using-oops/m-p/3269946#M781628</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;u want interactive classical report using OOPS?&lt;/P&gt;&lt;P&gt;as u dont want ALV....&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 03 Jan 2008 09:24:28 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/interactive-alv-list-report-using-oops/m-p/3269946#M781628</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-01-03T09:24:28Z</dc:date>
    </item>
    <item>
      <title>Re: Interactive ALV list Report Using OOPS</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/interactive-alv-list-report-using-oops/m-p/3269947#M781629</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;yeah.....&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 04 Jan 2008 11:50:19 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/interactive-alv-list-report-using-oops/m-p/3269947#M781629</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-01-04T11:50:19Z</dc:date>
    </item>
    <item>
      <title>Re: Interactive ALV list Report Using OOPS</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/interactive-alv-list-report-using-oops/m-p/3269948#M781630</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi&lt;/P&gt;&lt;P&gt;*"Table declarations...................................................&lt;/P&gt;&lt;P&gt;TABLES:&lt;/P&gt;&lt;P&gt;EKKO, " Purchasing Document Header&lt;/P&gt;&lt;P&gt;CDHDR, " Change document header&lt;/P&gt;&lt;P&gt;SSCRFIELDS. " Fields on selection screens&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*"Selection screen elements............................................&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS:&lt;/P&gt;&lt;P&gt;S_EBELN FOR EKKO-EBELN, " Purchasing Document Number&lt;/P&gt;&lt;P&gt;S_LIFNR FOR EKKO-LIFNR, " Vendor's account number&lt;/P&gt;&lt;P&gt;S_EKGRP FOR EKKO-EKGRP, " Purchasing group&lt;/P&gt;&lt;P&gt;S_BEDAT FOR EKKO-BEDAT, " Purchasing Document Date&lt;/P&gt;&lt;P&gt;S_UDATE FOR CDHDR-UDATE. " Creation date of the change&lt;/P&gt;&lt;P&gt;" document&lt;/P&gt;&lt;P&gt;*" Data declarations...................................................&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;"----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Field String to hold Purchase Document Number *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;"----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:&lt;/P&gt;&lt;P&gt;BEGIN OF FS_EBELN,&lt;/P&gt;&lt;P&gt;EBELN(90) TYPE C, " Purchase Document Number&lt;/P&gt;&lt;P&gt;ERNAM TYPE EKKO-ERNAM, " Name of Person who Created&lt;/P&gt;&lt;P&gt;" the Object&lt;/P&gt;&lt;P&gt;LIFNR TYPE EKKO-LIFNR, " Vendor's account number&lt;/P&gt;&lt;P&gt;EKGRP TYPE EKKO-EKGRP, " Purchasing group&lt;/P&gt;&lt;P&gt;BEDAT TYPE EKKO-BEDAT, " Purchasing Document Date&lt;/P&gt;&lt;P&gt;END OF FS_EBELN,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;"----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Field String to hold Purchase Document Header *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;"----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;BEGIN OF FS_EKKO,&lt;/P&gt;&lt;P&gt;EBELN TYPE EKKO-EBELN, " Purchasing Document Number&lt;/P&gt;&lt;P&gt;ERNAM TYPE EKKO-ERNAM, " Name of Person who Created the&lt;/P&gt;&lt;P&gt;" Object&lt;/P&gt;&lt;P&gt;LIFNR TYPE EKKO-LIFNR, " Vendor's account number&lt;/P&gt;&lt;P&gt;EKGRP TYPE EKKO-EKGRP, " Purchasing group&lt;/P&gt;&lt;P&gt;BEDAT TYPE EKKO-BEDAT, " Purchasing Document Date&lt;/P&gt;&lt;P&gt;END OF FS_EKKO,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;"----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Field String to hold Account Number and name of the Vendor *&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;BEGIN OF FS_LFA1,&lt;/P&gt;&lt;P&gt;LIFNR TYPE LFA1-LIFNR, " Account Number of Vendor&lt;/P&gt;&lt;P&gt;NAME1 TYPE LFA1-NAME1, " Name1&lt;/P&gt;&lt;P&gt;END OF FS_LFA1,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;"----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Field String to hold Change date and the name of the user *&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;BEGIN OF FS_CDHDR,&lt;/P&gt;&lt;P&gt;OBJECTCLAS TYPE CDHDR-OBJECTCLAS, " Object Class&lt;/P&gt;&lt;P&gt;OBJECTID TYPE CDHDR-OBJECTID, " Object value&lt;/P&gt;&lt;P&gt;CHANGENR TYPE CDHDR-CHANGENR, " Document change number&lt;/P&gt;&lt;P&gt;USERNAME TYPE CDHDR-USERNAME, " User name&lt;/P&gt;&lt;P&gt;UDATE TYPE CDHDR-UDATE, " Creation date of the change&lt;/P&gt;&lt;P&gt;" document&lt;/P&gt;&lt;P&gt;END OF FS_CDHDR,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;"----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Field String to hold Change document items *&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;BEGIN OF FS_CDPOS,&lt;/P&gt;&lt;P&gt;OBJECTCLAS TYPE CDPOS-OBJECTCLAS," Object class&lt;/P&gt;&lt;P&gt;OBJECTID(10) TYPE C, " Object Value&lt;/P&gt;&lt;P&gt;CHANGENR TYPE CDPOS-CHANGENR, " Document change number&lt;/P&gt;&lt;P&gt;TABNAME TYPE CDPOS-TABNAME, " Table Name&lt;/P&gt;&lt;P&gt;FNAME TYPE CDPOS-FNAME, " Field Name&lt;/P&gt;&lt;P&gt;VALUE_NEW TYPE CDPOS-VALUE_NEW, " New contents of changed field&lt;/P&gt;&lt;P&gt;VALUE_OLD TYPE CDPOS-VALUE_OLD, " Old contents of changed field&lt;/P&gt;&lt;P&gt;END OF FS_CDPOS,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;"----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Field String to hold Date Element Name *&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;BEGIN OF FS_DATAELE,&lt;/P&gt;&lt;P&gt;TABNAME TYPE DD03L-TABNAME, " Table Name&lt;/P&gt;&lt;P&gt;FIELDNAME TYPE DD03L-FIELDNAME, " Field Name&lt;/P&gt;&lt;P&gt;ROLLNAME TYPE DD03L-ROLLNAME, " Data element (semantic domain)&lt;/P&gt;&lt;P&gt;END OF FS_DATAELE,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;"----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Field String to hold Short Text of the Date Element *&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;BEGIN OF FS_TEXT,&lt;/P&gt;&lt;P&gt;ROLLNAME TYPE DD04T-ROLLNAME, " Data element (semantic domain)&lt;/P&gt;&lt;P&gt;DDTEXT TYPE DD04T-DDTEXT, " Short Text Describing R/3&lt;/P&gt;&lt;P&gt;" Repository Objects&lt;/P&gt;&lt;P&gt;END OF FS_TEXT,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;"----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Field String to hold data to be displayed on the ALV grid *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;"----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;BEGIN OF FS_OUTTAB,&lt;/P&gt;&lt;P&gt;EBELN TYPE EKKO-EBELN, " Purchasing Document Number&lt;/P&gt;&lt;P&gt;ERNAM TYPE EKKO-ERNAM, " Name of Person who Created the&lt;/P&gt;&lt;P&gt;" Object&lt;/P&gt;&lt;P&gt;LIFNR TYPE EKKO-LIFNR, " Vendor's account number&lt;/P&gt;&lt;P&gt;EKGRP TYPE EKKO-EKGRP, " Purchasing group&lt;/P&gt;&lt;P&gt;BEDAT TYPE EKKO-BEDAT, " Purchasing Document Date&lt;/P&gt;&lt;P&gt;WERKS TYPE LFA1-WERKS, " Plant&lt;/P&gt;&lt;P&gt;NAME1 TYPE LFA1-NAME1, " Name1&lt;/P&gt;&lt;P&gt;USERNAME TYPE CDHDR-USERNAME, " User name&lt;/P&gt;&lt;P&gt;UDATE TYPE CDHDR-UDATE, " Creation date of the change&lt;/P&gt;&lt;P&gt;" document&lt;/P&gt;&lt;P&gt;DDTEXT TYPE DD04T-DDTEXT, " Short Text Describing R/3&lt;/P&gt;&lt;P&gt;" Repository Objects&lt;/P&gt;&lt;P&gt;VALUE_NEW TYPE CDPOS-VALUE_NEW, " New contents of changed field&lt;/P&gt;&lt;P&gt;VALUE_OLD TYPE CDPOS-VALUE_OLD, " Old contents of changed field&lt;/P&gt;&lt;P&gt;END OF FS_OUTTAB,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;"----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Internal table to hold Purchase Document Number *&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;T_EBELN LIKE STANDARD TABLE&lt;/P&gt;&lt;P&gt;OF FS_EBELN,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;"----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Internal table to hold Purchase Document Header *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;"----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;T_EKKO LIKE STANDARD TABLE&lt;/P&gt;&lt;P&gt;OF FS_EKKO,&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;Temp Internal table to hold Purchase Document Header *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;"----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;T_EKKO_TEMP LIKE STANDARD TABLE&lt;/P&gt;&lt;P&gt;OF FS_EKKO,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;"----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Internal table to hold Account number and Name of the Vendor *&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;T_LFA1 LIKE STANDARD TABLE&lt;/P&gt;&lt;P&gt;OF FS_LFA1,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;"----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Internal Table to hold Change date and the name of the user *&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;T_CDHDR LIKE STANDARD TABLE&lt;/P&gt;&lt;P&gt;OF FS_CDHDR,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;"----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Internal Table to hold Change document items *&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;T_CDPOS LIKE STANDARD TABLE&lt;/P&gt;&lt;P&gt;OF FS_CDPOS,&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;Temp. Internal Table to hold Change document items *&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;T_CDPOS_TEMP LIKE STANDARD TABLE&lt;/P&gt;&lt;P&gt;OF FS_CDPOS,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;"----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Internal Table to hold Data Element Name *&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;T_DATAELE LIKE STANDARD TABLE&lt;/P&gt;&lt;P&gt;OF FS_DATAELE,&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;Temp. Internal Table to hold Data Element Name *&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;T_DATAELE_TEMP LIKE STANDARD TABLE&lt;/P&gt;&lt;P&gt;OF FS_DATAELE,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;"----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Internal Table to hold Short Text of the Date Element *&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;T_TEXT LIKE STANDARD TABLE&lt;/P&gt;&lt;P&gt;OF FS_TEXT,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;"----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Internal Table to hold data to be displayed on the ALV grid *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;"----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;T_OUTTAB LIKE STANDARD TABLE&lt;/P&gt;&lt;P&gt;OF FS_OUTTAB.&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;C L A S S D E F I N I T I O N *&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_EVENT_HANDLER DEFINITION DEFERRED.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*" Data declarations...................................................&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;"----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Work variables *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;"----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:&lt;/P&gt;&lt;P&gt;W_EBELN TYPE EKKO-EBELN, " Purchasing Document Number&lt;/P&gt;&lt;P&gt;W_LIFNR TYPE EKKO-LIFNR, " Vendor's account number&lt;/P&gt;&lt;P&gt;W_EKGRP TYPE EKKO-EKGRP, " Purchasing group&lt;/P&gt;&lt;P&gt;W_VALUE TYPE EKKO-EBELN, " Reflected Value&lt;/P&gt;&lt;P&gt;W_SPACE VALUE ' ', " Space&lt;/P&gt;&lt;P&gt;W_FLAG TYPE I, " Flag Variable&lt;/P&gt;&lt;P&gt;W_VARIANT TYPE DISVARIANT, " Variant&lt;/P&gt;&lt;P&gt;*--- ALV Grid&lt;/P&gt;&lt;P&gt;W_GRID TYPE REF TO CL_GUI_ALV_GRID,&lt;/P&gt;&lt;P&gt;*--- Event Handler&lt;/P&gt;&lt;P&gt;W_EVENT_CLICK TYPE REF TO LCL_EVENT_HANDLER,&lt;/P&gt;&lt;P&gt;*--- Field catalog table&lt;/P&gt;&lt;P&gt;T_FIELDCAT TYPE LVC_T_FCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;"----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;AT SELECTION-SCREEN EVENT *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;"----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN ON S_EBELN.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Subroutine to validate Purchase Document Number.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;PERFORM VALIDATE_PD_NUM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN ON S_LIFNR.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Subroutine to validate Vendor Number.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;PERFORM VALIDATE_VEN_NUM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN ON S_EKGRP.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Subroutine to validate Purchase Group.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;PERFORM VALIDATE_PUR_GRP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;"----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;START-OF-SELECTION EVENT *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;"----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Subroutine to select all Purchase orders.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;PERFORM SELECT_PO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CHECK W_FLAG EQ 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Subroutine to select Object values.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;PERFORM SELECT_OBJ_ID.&lt;/P&gt;&lt;P&gt;CHECK W_FLAG EQ 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Subroutine to select Changed values.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;PERFORM SELECT_CHANGED_VALUE.&lt;/P&gt;&lt;P&gt;CHECK W_FLAG EQ 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Subroutine to Select Purchase Orders.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;PERFORM SELECT_PUR_DOC.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Subroutine to select Vendor Details.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;PERFORM SELECT_VENDOR.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Subroutine to select Text for the Changed values.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;PERFORM DESCRIPTION.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;"----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;END-OF-SELECTION EVENT *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;"----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;END-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF NOT T_EKKO IS INITIAL.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Subroutine to populate the Output Table.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;PERFORM FILL_OUTTAB.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Subroutine to build Field Catalog.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;PERFORM PREPARE_FIELD_CATALOG CHANGING T_FIELDCAT.&lt;/P&gt;&lt;P&gt;CALL SCREEN 100.&lt;/P&gt;&lt;P&gt;ENDIF. " IF NOT T_EKKO...&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_EVENT_HANDLER 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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Defining Class which handles events&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLASS LCL_EVENT_HANDLER DEFINITION .&lt;/P&gt;&lt;P&gt;PUBLIC SECTION .&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 E_ROW_ID E_COLUMN_ID.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDCLASS. " LCL_EVENT_HANDLER DEFINITION&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_EVENT_HANDLER 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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Implementing the Class which can handle events&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLASS LCL_EVENT_HANDLER IMPLEMENTATION .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*---Handle Double Click&lt;/P&gt;&lt;P&gt;METHOD HANDLE_HOTSPOT_CLICK .&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Subroutine to get the HotSpot Cell information.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;PERFORM GET_CELL_INFO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SET PARAMETER ID 'BES' FIELD W_VALUE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL TRANSACTION 'ME23N'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDMETHOD. " HANDLE_HOTSPOT_CLICK&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDCLASS. " LCL_EVENT_HANDLER&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;PBO Event&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;MODULE STATUS_0100 OUTPUT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SET PF-STATUS 'OOPS'.&lt;/P&gt;&lt;P&gt;SET TITLEBAR 'TIT'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Subroutine to fill the Variant Structure&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;PERFORM FILL_VARIANT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF W_GRID IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CREATE OBJECT W_GRID&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;I_SHELLSTYLE = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;I_LIFETIME =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;I_PARENT = CL_GUI_CONTAINER=&amp;gt;SCREEN0&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;I_APPL_EVENTS =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;I_PARENTDBG =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;I_APPLOGPARENT =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;I_GRAPHICSPARENT =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;I_NAME =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;I_FCAT_COMPLETE = SPACE&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;P&gt;ERROR_CNTL_CREATE = 1&lt;/P&gt;&lt;P&gt;ERROR_CNTL_INIT = 2&lt;/P&gt;&lt;P&gt;ERROR_CNTL_LINK = 3&lt;/P&gt;&lt;P&gt;ERROR_DP_CREATE = 4&lt;/P&gt;&lt;P&gt;OTHERS = 5.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;P&gt;WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;P&gt;ENDIF. " IF SY-SUBRC &amp;lt;&amp;gt; 0&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL METHOD W_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;LI level="1" type="ul"&gt;&lt;P&gt;I_STRUCTURE_NAME =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;IS_VARIANT = W_VARIANT&lt;/P&gt;&lt;P&gt;I_SAVE = 'A'&lt;/P&gt;&lt;UL&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;LI level="1" type="ul"&gt;&lt;P&gt;IR_SALV_ADAPTER =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;CHANGING&lt;/P&gt;&lt;P&gt;IT_OUTTAB = T_OUTTAB&lt;/P&gt;&lt;P&gt;IT_FIELDCATALOG = T_FIELDCAT&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IT_SORT =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IT_FILTER =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;P&gt;INVALID_PARAMETER_COMBINATION = 1&lt;/P&gt;&lt;P&gt;PROGRAM_ERROR = 2&lt;/P&gt;&lt;P&gt;TOO_MANY_LINES = 3&lt;/P&gt;&lt;P&gt;OTHERS = 4&lt;/P&gt;&lt;P&gt;.&lt;/P&gt;&lt;P&gt;IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;P&gt;WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;P&gt;ENDIF. " IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDIF. " IF W_GRID IS INITIAL&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CREATE OBJECT W_EVENT_CLICK.&lt;/P&gt;&lt;P&gt;SET HANDLER W_EVENT_CLICK-&amp;gt;HANDLE_HOTSPOT_CLICK FOR W_GRID.&lt;/P&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 USER_COMMAND_0100 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;PAI Event&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;MODULE USER_COMMAND_0100 INPUT.&lt;/P&gt;&lt;P&gt;CASE SY-UCOMM.&lt;/P&gt;&lt;P&gt;WHEN 'BACK'.&lt;/P&gt;&lt;P&gt;LEAVE TO SCREEN 0.&lt;/P&gt;&lt;P&gt;WHEN 'EXIT'.&lt;/P&gt;&lt;P&gt;LEAVE PROGRAM.&lt;/P&gt;&lt;P&gt;WHEN 'CANCEL'.&lt;/P&gt;&lt;P&gt;LEAVE TO SCREEN 0.&lt;/P&gt;&lt;P&gt;ENDCASE.&lt;/P&gt;&lt;P&gt;ENDMODULE. " USER_COMMAND_0100 INPUT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; Form PREPARE_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;Subroutine to build the 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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;&amp;lt;--P_T_FIELDCAT Field Catalog Table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM PREPARE_FIELD_CATALOG CHANGING PT_FIELDCAT TYPE LVC_T_FCAT .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA LS_FCAT TYPE LVC_S_FCAT.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Purchasing group...&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;LS_FCAT-FIELDNAME = 'EKGRP'.&lt;/P&gt;&lt;P&gt;LS_FCAT-REF_TABLE = 'EKKO'.&lt;/P&gt;&lt;P&gt;LS_FCAT-INTTYPE = 'C'.&lt;/P&gt;&lt;P&gt;LS_FCAT-OUTPUTLEN = '10'.&lt;/P&gt;&lt;P&gt;APPEND LS_FCAT TO PT_FIELDCAT.&lt;/P&gt;&lt;P&gt;CLEAR LS_FCAT.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Purchasing Document Number...&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;LS_FCAT-FIELDNAME = 'EBELN'.&lt;/P&gt;&lt;P&gt;LS_FCAT-REF_TABLE = 'EKKO' .&lt;/P&gt;&lt;P&gt;LS_FCAT-EMPHASIZE = 'C411'.&lt;/P&gt;&lt;P&gt;LS_FCAT-INTTYPE = 'C'.&lt;/P&gt;&lt;P&gt;LS_FCAT-OUTPUTLEN = '10'.&lt;/P&gt;&lt;P&gt;LS_FCAT-HOTSPOT = 'X'.&lt;/P&gt;&lt;P&gt;APPEND LS_FCAT TO PT_FIELDCAT .&lt;/P&gt;&lt;P&gt;CLEAR LS_FCAT .&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Name of Person who Created the Object...&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;LS_FCAT-FIELDNAME = 'ERNAM'.&lt;/P&gt;&lt;P&gt;LS_FCAT-REF_TABLE = 'EKKO'.&lt;/P&gt;&lt;P&gt;LS_FCAT-OUTPUTLEN = '15' .&lt;/P&gt;&lt;P&gt;APPEND LS_FCAT TO PT_FIELDCAT.&lt;/P&gt;&lt;P&gt;CLEAR LS_FCAT.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Purchasing Document Date...&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;LS_FCAT-FIELDNAME = 'BEDAT'.&lt;/P&gt;&lt;P&gt;LS_FCAT-REF_TABLE = 'EKKO'.&lt;/P&gt;&lt;P&gt;LS_FCAT-INTTYPE = 'C'.&lt;/P&gt;&lt;P&gt;LS_FCAT-OUTPUTLEN = '10'.&lt;/P&gt;&lt;P&gt;APPEND LS_FCAT TO PT_FIELDCAT.&lt;/P&gt;&lt;P&gt;CLEAR LS_FCAT.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Vendor's account number...&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;LS_FCAT-FIELDNAME = 'LIFNR'.&lt;/P&gt;&lt;P&gt;LS_FCAT-REF_TABLE = 'EKKO'.&lt;/P&gt;&lt;P&gt;LS_FCAT-INTTYPE = 'C'.&lt;/P&gt;&lt;P&gt;LS_FCAT-OUTPUTLEN = '10'.&lt;/P&gt;&lt;P&gt;APPEND LS_FCAT TO PT_FIELDCAT.&lt;/P&gt;&lt;P&gt;CLEAR LS_FCAT.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Account Number of Vendor or Creditor...&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;LS_FCAT-FIELDNAME = 'NAME1'.&lt;/P&gt;&lt;P&gt;LS_FCAT-REF_TABLE = 'LFA1'.&lt;/P&gt;&lt;P&gt;LS_FCAT-INTTYPE = 'C'.&lt;/P&gt;&lt;P&gt;LS_FCAT-OUTPUTLEN = '10'.&lt;/P&gt;&lt;P&gt;LS_FCAT-COLTEXT = 'Vendor Name'(001).&lt;/P&gt;&lt;P&gt;LS_FCAT-SELTEXT = 'Vendor Name'(001).&lt;/P&gt;&lt;P&gt;APPEND LS_FCAT TO PT_FIELDCAT.&lt;/P&gt;&lt;P&gt;CLEAR LS_FCAT.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Creation date of the change document...&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;LS_FCAT-FIELDNAME = 'UDATE'.&lt;/P&gt;&lt;P&gt;LS_FCAT-REF_TABLE = 'CDHDR'.&lt;/P&gt;&lt;P&gt;LS_FCAT-INTTYPE = 'C'.&lt;/P&gt;&lt;P&gt;LS_FCAT-OUTPUTLEN = '10'.&lt;/P&gt;&lt;P&gt;LS_FCAT-COLTEXT = 'Change Date'(002).&lt;/P&gt;&lt;P&gt;LS_FCAT-SELTEXT = 'Change Date'(002).&lt;/P&gt;&lt;P&gt;APPEND LS_FCAT TO PT_FIELDCAT.&lt;/P&gt;&lt;P&gt;CLEAR LS_FCAT.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;User name of the person responsible in change document...&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;LS_FCAT-FIELDNAME = 'USERNAME'.&lt;/P&gt;&lt;P&gt;LS_FCAT-REF_TABLE = 'CDHDR'.&lt;/P&gt;&lt;P&gt;LS_FCAT-INTTYPE = 'C'.&lt;/P&gt;&lt;P&gt;LS_FCAT-OUTPUTLEN = '10'.&lt;/P&gt;&lt;P&gt;LS_FCAT-COLTEXT = 'Modified by'(003).&lt;/P&gt;&lt;P&gt;LS_FCAT-SELTEXT = 'Modified by'(003).&lt;/P&gt;&lt;P&gt;APPEND LS_FCAT TO PT_FIELDCAT.&lt;/P&gt;&lt;P&gt;CLEAR LS_FCAT.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Short Text Describing R/3 Repository Objects...&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;LS_FCAT-FIELDNAME = 'DDTEXT'.&lt;/P&gt;&lt;P&gt;LS_FCAT-REF_TABLE = 'DD04T'.&lt;/P&gt;&lt;P&gt;LS_FCAT-INTTYPE = 'C'.&lt;/P&gt;&lt;P&gt;LS_FCAT-OUTPUTLEN = '15'.&lt;/P&gt;&lt;P&gt;APPEND LS_FCAT TO PT_FIELDCAT.&lt;/P&gt;&lt;P&gt;CLEAR LS_FCAT.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Old contents of changed field...&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;LS_FCAT-FIELDNAME = 'VALUE_OLD'.&lt;/P&gt;&lt;P&gt;LS_FCAT-REF_TABLE = 'CDPOS'.&lt;/P&gt;&lt;P&gt;LS_FCAT-INTTYPE = 'C'.&lt;/P&gt;&lt;P&gt;LS_FCAT-OUTPUTLEN = '12'.&lt;/P&gt;&lt;P&gt;APPEND LS_FCAT TO PT_FIELDCAT.&lt;/P&gt;&lt;P&gt;CLEAR LS_FCAT.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;New contents of changed field...&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;LS_FCAT-FIELDNAME = 'VALUE_NEW'.&lt;/P&gt;&lt;P&gt;LS_FCAT-REF_TABLE = 'CDPOS'.&lt;/P&gt;&lt;P&gt;LS_FCAT-INTTYPE = 'C'.&lt;/P&gt;&lt;P&gt;LS_FCAT-OUTPUTLEN = '12'.&lt;/P&gt;&lt;P&gt;APPEND LS_FCAT TO PT_FIELDCAT.&lt;/P&gt;&lt;P&gt;CLEAR LS_FCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " PREPARE_FIELD_CATALOG&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 SELECT_PO&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;Subroutine to select all the Purchase Orders&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;There are no interface parameters to be passed to this subroutine.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM SELECT_PO .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT EBELN " Purchasing Document Number&lt;/P&gt;&lt;P&gt;ERNAM " Name of Person who Created&lt;/P&gt;&lt;P&gt;" the Object&lt;/P&gt;&lt;P&gt;LIFNR " Vendor's account number&lt;/P&gt;&lt;P&gt;EKGRP " Purchasing group&lt;/P&gt;&lt;P&gt;BEDAT " Purchasing Document Date&lt;/P&gt;&lt;P&gt;FROM EKKO&lt;/P&gt;&lt;P&gt;PACKAGE SIZE 10000&lt;/P&gt;&lt;P&gt;APPENDING TABLE T_EBELN&lt;/P&gt;&lt;P&gt;WHERE EBELN IN S_EBELN&lt;/P&gt;&lt;P&gt;AND BEDAT IN S_BEDAT.&lt;/P&gt;&lt;P&gt;ENDSELECT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF SY-SUBRC NE 0.&lt;/P&gt;&lt;P&gt;W_FLAG = 1.&lt;/P&gt;&lt;P&gt;MESSAGE S401(M8).&lt;/P&gt;&lt;P&gt;ENDIF. " IF SY-SUBRC NE 0&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " SELECT_PO&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; Form SELECT_OBJ_ID&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;Subroutine to select Object ID&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;There are no interface parameters to be passed to this subroutine.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM SELECT_OBJ_ID .&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IF NOT T_EBELN IS INITIAL.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT OBJECTCLAS " Object Class&lt;/P&gt;&lt;P&gt;OBJECTID " Object value&lt;/P&gt;&lt;P&gt;CHANGENR " Document change number&lt;/P&gt;&lt;P&gt;USERNAME " User name&lt;/P&gt;&lt;P&gt;UDATE " Creation date&lt;/P&gt;&lt;P&gt;FROM CDHDR&lt;/P&gt;&lt;P&gt;INTO TABLE T_CDHDR&lt;/P&gt;&lt;P&gt;FOR ALL ENTRIES IN T_EBELN&lt;/P&gt;&lt;P&gt;WHERE OBJECTID EQ T_EBELN-EBELN&lt;/P&gt;&lt;P&gt;AND UDATE IN S_UDATE&lt;/P&gt;&lt;P&gt;AND TCODE IN ('ME21N','ME22N','ME23N').&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;ENDSELECT.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;IF SY-SUBRC NE 0.&lt;/P&gt;&lt;P&gt;W_FLAG = 1.&lt;/P&gt;&lt;P&gt;MESSAGE S833(M8) WITH 'Header Not Found'(031).&lt;/P&gt;&lt;P&gt;ENDIF. " IF SY-SUBRC NE 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;ENDIF. " IF NOT T_EBELN IS INITIAL&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;ENDFORM. " SELECT_OBJ_ID&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; Form SELECT_CHANGED_VALUE&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;Subroutine to select Changed Values&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;There are no interface parameters to be passed to this subroutine.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM SELECT_CHANGED_VALUE .&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IF NOT T_CDHDR IS INITIAL.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT OBJECTCLAS " Object class&lt;/P&gt;&lt;P&gt;OBJECTID " Object value&lt;/P&gt;&lt;P&gt;CHANGENR " Document change number&lt;/P&gt;&lt;P&gt;TABNAME " Table Name&lt;/P&gt;&lt;P&gt;FNAME " Field Name&lt;/P&gt;&lt;P&gt;VALUE_NEW " New contents of changed field&lt;/P&gt;&lt;P&gt;VALUE_OLD " Old contents of changed field&lt;/P&gt;&lt;P&gt;FROM CDPOS&lt;/P&gt;&lt;P&gt;PACKAGE SIZE 10000&lt;/P&gt;&lt;P&gt;APPENDING TABLE T_CDPOS&lt;/P&gt;&lt;P&gt;FOR ALL ENTRIES IN T_CDHDR&lt;/P&gt;&lt;P&gt;WHERE OBJECTCLAS EQ T_CDHDR-OBJECTCLAS&lt;/P&gt;&lt;P&gt;AND OBJECTID EQ T_CDHDR-OBJECTID&lt;/P&gt;&lt;P&gt;AND CHANGENR EQ T_CDHDR-CHANGENR.&lt;/P&gt;&lt;P&gt;ENDSELECT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF SY-SUBRC NE 0.&lt;/P&gt;&lt;P&gt;W_FLAG = 1.&lt;/P&gt;&lt;P&gt;MESSAGE S833(M8) WITH 'Item Not Found'(032).&lt;/P&gt;&lt;P&gt;ENDIF. " IF SY-SUBRC NE 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;ENDIF. " IF NOT T_CDHDR IS INITIAL&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;T_CDPOS_TEMP[] = T_CDPOS[].&lt;/P&gt;&lt;P&gt;ENDFORM. " SELECT_CHANGED_VALUE&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; Form SELECT_PUR_DOC&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;Subroutine to select Purchase Order Details&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;There are no interface parameters to be passed to this subroutine.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM SELECT_PUR_DOC .&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IF NOT T_CDPOS IS INITIAL.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SORT T_EBELN BY EBELN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOOP AT T_CDPOS INTO FS_CDPOS.&lt;/P&gt;&lt;P&gt;READ TABLE T_EBELN INTO FS_EBELN WITH KEY EBELN =&lt;/P&gt;&lt;P&gt;FS_CDPOS-OBJECTID BINARY SEARCH.&lt;/P&gt;&lt;P&gt;IF SY-SUBRC NE 0.&lt;/P&gt;&lt;P&gt;DELETE TABLE T_EBELN FROM FS_EBELN.&lt;/P&gt;&lt;P&gt;ENDIF. " IF SY-SUBRC NE 0.&lt;/P&gt;&lt;P&gt;ENDLOOP. " LOOP AT T_CDPOS...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOOP AT T_EBELN INTO FS_EBELN.&lt;/P&gt;&lt;P&gt;MOVE FS_EBELN-EBELN TO FS_EKKO-EBELN.&lt;/P&gt;&lt;P&gt;MOVE FS_EBELN-ERNAM TO FS_EKKO-ERNAM.&lt;/P&gt;&lt;P&gt;MOVE FS_EBELN-LIFNR TO FS_EKKO-LIFNR.&lt;/P&gt;&lt;P&gt;MOVE FS_EBELN-EKGRP TO FS_EKKO-EKGRP.&lt;/P&gt;&lt;P&gt;MOVE FS_EBELN-BEDAT TO FS_EKKO-BEDAT.&lt;/P&gt;&lt;P&gt;APPEND FS_EKKO TO T_EKKO.&lt;/P&gt;&lt;P&gt;ENDLOOP. " LOOP AT T_EBELN...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;T_EKKO_TEMP[] = T_EKKO[].&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;ENDIF. " IF NOT T_CDPOS IS INITIAL&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;ENDFORM. " SELECT_PUR_DOC&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; Form SELECT_VENDOR&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;Subroutine to select Vendor details&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;There are no interface parameters to be passed to this subroutine.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM SELECT_VENDOR .&lt;/P&gt;&lt;P&gt;IF NOT T_EKKO IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SORT T_EKKO_TEMP BY LIFNR.&lt;/P&gt;&lt;P&gt;DELETE ADJACENT DUPLICATES FROM T_EKKO_TEMP COMPARING LIFNR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT LIFNR " Account Number of Vendor or&lt;/P&gt;&lt;P&gt;" Creditor&lt;/P&gt;&lt;P&gt;NAME1 " Name 1&lt;/P&gt;&lt;P&gt;FROM LFA1&lt;/P&gt;&lt;P&gt;INTO TABLE T_LFA1&lt;/P&gt;&lt;P&gt;FOR ALL ENTRIES IN T_EKKO_TEMP&lt;/P&gt;&lt;P&gt;WHERE LIFNR EQ T_EKKO_TEMP-LIFNR.&lt;/P&gt;&lt;P&gt;IF SY-SUBRC NE 0.&lt;/P&gt;&lt;P&gt;MESSAGE S002(M8) WITH 'Master Details'(033).&lt;/P&gt;&lt;P&gt;ENDIF. " IF SY-SUBRC NE 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDIF. " IF NOT T_EKKO IS INITIAL&lt;/P&gt;&lt;P&gt;ENDFORM. " SELECT_VENDOR&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 DESCRIPTION&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;Subroutine to get the description&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;There are no interface parameters to be passed to this subroutine.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM DESCRIPTION .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IF NOT T_CDPOS IS INITIAL.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SORT T_CDPOS_TEMP BY TABNAME FNAME.&lt;/P&gt;&lt;P&gt;DELETE ADJACENT DUPLICATES FROM T_CDPOS_TEMP COMPARING TABNAME FNAME&lt;/P&gt;&lt;P&gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT TABNAME " Table Name&lt;/P&gt;&lt;P&gt;FIELDNAME " Field Name&lt;/P&gt;&lt;P&gt;ROLLNAME " Data element&lt;/P&gt;&lt;P&gt;FROM DD03L&lt;/P&gt;&lt;P&gt;INTO TABLE T_DATAELE&lt;/P&gt;&lt;P&gt;FOR ALL ENTRIES IN T_CDPOS_TEMP&lt;/P&gt;&lt;P&gt;WHERE TABNAME EQ T_CDPOS_TEMP-TABNAME&lt;/P&gt;&lt;P&gt;AND FIELDNAME EQ T_CDPOS_TEMP-FNAME.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF NOT T_DATAELE IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;T_DATAELE_TEMP[] = T_DATAELE[].&lt;/P&gt;&lt;P&gt;SORT T_DATAELE_TEMP BY ROLLNAME.&lt;/P&gt;&lt;P&gt;DELETE ADJACENT DUPLICATES FROM T_DATAELE_TEMP COMPARING ROLLNAME.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT ROLLNAME " Data element&lt;/P&gt;&lt;P&gt;DDTEXT " Short Text Describing R/3&lt;/P&gt;&lt;P&gt;" Repository Objects&lt;/P&gt;&lt;P&gt;FROM DD04T&lt;/P&gt;&lt;P&gt;INTO TABLE T_TEXT&lt;/P&gt;&lt;P&gt;FOR ALL ENTRIES IN T_DATAELE_TEMP&lt;/P&gt;&lt;P&gt;WHERE ROLLNAME EQ T_DATAELE_TEMP-ROLLNAME&lt;/P&gt;&lt;P&gt;AND DDLANGUAGE EQ SY-LANGU.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF SY-SUBRC NE 0.&lt;/P&gt;&lt;P&gt;EXIT.&lt;/P&gt;&lt;P&gt;ENDIF. " IF SY-SUBRC NE 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDIF. " IF NOT T_DATAELE IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;ENDIF. " IF NOT T_CDPOS IS INITIAL.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " DESCRIPTION&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 FILL_OUTTAB&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;Subroutine to populate the Outtab&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;There are no interface parameters to be passed to this subroutine.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM FILL_OUTTAB .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SORT T_CDHDR BY OBJECTCLAS OBJECTID CHANGENR.&lt;/P&gt;&lt;P&gt;SORT T_EKKO BY EBELN.&lt;/P&gt;&lt;P&gt;SORT T_LFA1 BY LIFNR.&lt;/P&gt;&lt;P&gt;SORT T_DATAELE BY TABNAME FIELDNAME.&lt;/P&gt;&lt;P&gt;SORT T_TEXT BY ROLLNAME.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOOP AT T_CDPOS INTO FS_CDPOS.&lt;/P&gt;&lt;P&gt;READ TABLE T_CDHDR INTO FS_CDHDR WITH KEY&lt;/P&gt;&lt;P&gt;OBJECTCLAS = FS_CDPOS-OBJECTCLAS&lt;/P&gt;&lt;P&gt;OBJECTID = FS_CDPOS-OBJECTID&lt;/P&gt;&lt;P&gt;CHANGENR = FS_CDPOS-CHANGENR&lt;/P&gt;&lt;P&gt;BINARY SEARCH.&lt;/P&gt;&lt;P&gt;IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;MOVE FS_CDHDR-USERNAME TO FS_OUTTAB-USERNAME.&lt;/P&gt;&lt;P&gt;MOVE FS_CDHDR-UDATE TO FS_OUTTAB-UDATE.&lt;/P&gt;&lt;P&gt;READ TABLE T_EKKO INTO FS_EKKO WITH KEY&lt;/P&gt;&lt;P&gt;EBELN = FS_CDHDR-OBJECTID&lt;/P&gt;&lt;P&gt;BINARY SEARCH.&lt;/P&gt;&lt;P&gt;IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;MOVE FS_EKKO-EBELN TO FS_OUTTAB-EBELN.&lt;/P&gt;&lt;P&gt;MOVE FS_EKKO-ERNAM TO FS_OUTTAB-ERNAM.&lt;/P&gt;&lt;P&gt;MOVE FS_EKKO-LIFNR TO FS_OUTTAB-LIFNR.&lt;/P&gt;&lt;P&gt;MOVE FS_EKKO-EKGRP TO FS_OUTTAB-EKGRP.&lt;/P&gt;&lt;P&gt;MOVE FS_EKKO-BEDAT TO FS_OUTTAB-BEDAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;READ TABLE T_LFA1 INTO FS_LFA1 WITH KEY&lt;/P&gt;&lt;P&gt;LIFNR = FS_EKKO-LIFNR&lt;/P&gt;&lt;P&gt;BINARY SEARCH.&lt;/P&gt;&lt;P&gt;IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;MOVE FS_LFA1-NAME1 TO FS_OUTTAB-NAME1.&lt;/P&gt;&lt;P&gt;ENDIF. " IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDIF. " IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDIF. " IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;MOVE FS_CDPOS-VALUE_NEW TO FS_OUTTAB-VALUE_NEW.&lt;/P&gt;&lt;P&gt;MOVE FS_CDPOS-VALUE_OLD TO FS_OUTTAB-VALUE_OLD.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;READ TABLE T_DATAELE INTO FS_DATAELE WITH KEY&lt;/P&gt;&lt;P&gt;TABNAME = FS_CDPOS-TABNAME&lt;/P&gt;&lt;P&gt;FIELDNAME = FS_CDPOS-FNAME&lt;/P&gt;&lt;P&gt;BINARY SEARCH.&lt;/P&gt;&lt;P&gt;IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;READ TABLE T_TEXT INTO FS_TEXT WITH KEY&lt;/P&gt;&lt;P&gt;ROLLNAME = FS_DATAELE-ROLLNAME&lt;/P&gt;&lt;P&gt;BINARY SEARCH.&lt;/P&gt;&lt;P&gt;IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;MOVE FS_TEXT-DDTEXT TO FS_OUTTAB-DDTEXT.&lt;/P&gt;&lt;P&gt;ENDIF. " IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDIF. " IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;APPEND FS_OUTTAB TO T_OUTTAB.&lt;/P&gt;&lt;P&gt;CLEAR FS_OUTTAB.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " FILL_OUTTAB&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_CELL_INFO&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;Subroutine to get the Cell Information&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; W_VALUE Holds the value of Hotspot clicked&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_CELL_INFO .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL METHOD W_GRID-&amp;gt;GET_CURRENT_CELL&lt;/P&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;E_ROW =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;E_VALUE = W_VALUE&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;E_COL =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;ES_ROW_ID =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;ES_COL_ID =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;ES_ROW_NO =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;.&lt;/P&gt;&lt;P&gt;ENDFORM. " GET_CELL_INFO&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; Form VALIDATE_PD_NUM&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;Subroutine to validate Purchase Document Number&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;There are no interface parameters to be passed to this subroutine.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM VALIDATE_PD_NUM .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF NOT S_EBELN[] IS INITIAL.&lt;/P&gt;&lt;P&gt;SELECT EBELN " Purchase Document Number&lt;/P&gt;&lt;P&gt;FROM EKKO&lt;/P&gt;&lt;P&gt;INTO W_EBELN&lt;/P&gt;&lt;P&gt;UP TO 1 ROWS&lt;/P&gt;&lt;P&gt;WHERE EBELN IN S_EBELN.&lt;/P&gt;&lt;P&gt;ENDSELECT.&lt;/P&gt;&lt;P&gt;IF SY-SUBRC NE 0.&lt;/P&gt;&lt;P&gt;CLEAR SSCRFIELDS-UCOMM.&lt;/P&gt;&lt;P&gt;MESSAGE E717(M8).&lt;/P&gt;&lt;P&gt;ENDIF. " IF SY-SUBRC NE 0&lt;/P&gt;&lt;P&gt;ENDIF. " IF NOT S_EBELN[]...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " VALIDATE_PD_NUM&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; Form VALIDATE_VEN_NUM&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;Subroutine to validate Vendor Number&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;There are no interface parameters to be passed to this subroutine.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM VALIDATE_VEN_NUM .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF NOT S_LIFNR[] IS INITIAL.&lt;/P&gt;&lt;P&gt;SELECT LIFNR " Vendor Number&lt;/P&gt;&lt;P&gt;FROM LFA1&lt;/P&gt;&lt;P&gt;INTO W_LIFNR&lt;/P&gt;&lt;P&gt;UP TO 1 ROWS&lt;/P&gt;&lt;P&gt;WHERE LIFNR IN S_LIFNR.&lt;/P&gt;&lt;P&gt;ENDSELECT.&lt;/P&gt;&lt;P&gt;IF SY-SUBRC NE 0.&lt;/P&gt;&lt;P&gt;CLEAR SSCRFIELDS-UCOMM.&lt;/P&gt;&lt;P&gt;MESSAGE E002(M8) WITH W_SPACE.&lt;/P&gt;&lt;P&gt;ENDIF. " IF SY-SUBRC NE 0&lt;/P&gt;&lt;P&gt;ENDIF. " IF NOT S_LIFNR[]...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " VALIDATE_VEN_NUM&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; Form VALIDATE_PUR_GRP&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;Subroutine to validate the Purchase Group&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;There are no interface parameters to be passed to this subroutine.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM VALIDATE_PUR_GRP .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF NOT S_EKGRP[] IS INITIAL.&lt;/P&gt;&lt;P&gt;SELECT EKGRP " Purchase Group&lt;/P&gt;&lt;P&gt;FROM T024&lt;/P&gt;&lt;P&gt;INTO W_EKGRP&lt;/P&gt;&lt;P&gt;UP TO 1 ROWS&lt;/P&gt;&lt;P&gt;WHERE EKGRP IN S_EKGRP.&lt;/P&gt;&lt;P&gt;ENDSELECT.&lt;/P&gt;&lt;P&gt;IF SY-SUBRC NE 0.&lt;/P&gt;&lt;P&gt;CLEAR SSCRFIELDS-UCOMM.&lt;/P&gt;&lt;P&gt;MESSAGE E622(M8) WITH W_SPACE.&lt;/P&gt;&lt;P&gt;ENDIF. " IF SY-SUBRC NE 0&lt;/P&gt;&lt;P&gt;ENDIF. " IF NOT S_EKFRP[]...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " VALIDATE_PUR_GRP&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 FILL_VARIANT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Subroutine to fill the Variant Structure&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;There are no interface parameters to be passed to this subroutine&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM FILL_VARIANT .&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Filling the Variant structure&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;W_VARIANT-REPORT = SY-REPID.&lt;/P&gt;&lt;P&gt;W_VARIANT-USERNAME = SY-UNAME.&lt;/P&gt;&lt;P&gt;ENDFORM. " FILL_VARIANT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;with regards,&lt;/P&gt;&lt;P&gt;Hema SUndara.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 04 Jan 2008 15:20:04 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/interactive-alv-list-report-using-oops/m-p/3269948#M781630</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-01-04T15:20:04Z</dc:date>
    </item>
    <item>
      <title>Re: Interactive ALV list Report Using OOPS</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/interactive-alv-list-report-using-oops/m-p/3269949#M781631</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;please check the following code.&lt;/P&gt;&lt;P&gt;it displays the hedaer data in first grid.when user click on&lt;/P&gt;&lt;P&gt;this header it shows the corrsponding items in second grid.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; Report  ZVEN_INTERACTIVE_OBJ&lt;/P&gt;&lt;P&gt;*&amp;amp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;&lt;/P&gt;&lt;P&gt;*&amp;amp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT  ZVEN_INTERACTIVE_OBJ.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----type ref variables for custom container and alv&lt;/P&gt;&lt;P&gt;data:o_cost type ref to cl_gui_custom_container,&lt;/P&gt;&lt;P&gt;     o_cost1 type ref to cl_gui_custom_container,&lt;/P&gt;&lt;P&gt;     o_alv1 type ref to cl_gui_alv_grid,&lt;/P&gt;&lt;P&gt;     o_alv type ref to cl_gui_alv_grid.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-----Parameter declarations&lt;/P&gt;&lt;P&gt;parameters:p_vbeln like vbrk-vbeln.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;tables:vbrk.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*selection-screen begin of block a with frame title text-001.&lt;/P&gt;&lt;P&gt;*select-options:s_vbeln for vbrk-vbeln.&lt;/P&gt;&lt;P&gt;*selection-screen end of block a.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-----Internal table for vbrk and vbrp&lt;/P&gt;&lt;P&gt;data:it_vbrk like vbrk occurs 1 with header line,&lt;/P&gt;&lt;P&gt;     it_vbrp like vbrp occurs 1 with header line.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data:it_index like LVC_S_ROW occurs 1 with header line,&lt;/P&gt;&lt;P&gt;     wa_index like line of it_index.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data:wa_vbrk type vbrk.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-----declaration for field catalog&lt;/P&gt;&lt;P&gt;data:it_fcat TYPE LVC_T_FCAT with header line.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----class for handlling the event&lt;/P&gt;&lt;P&gt;class c1 definition.&lt;/P&gt;&lt;P&gt;public section.&lt;/P&gt;&lt;P&gt;methods:handler_HOTSPOT_CLICK for event HOTSPOT_CLICK&lt;/P&gt;&lt;P&gt;                                   of cl_gui_alv_grid.&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;*----implementaion for the enent&lt;/P&gt;&lt;P&gt;class c1 implementation.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;method:handler_HOTSPOT_CLICK.&lt;/P&gt;&lt;P&gt;&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;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;start-of-selection.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*---ref variable&lt;/P&gt;&lt;P&gt;data:obj type ref to c1.&lt;/P&gt;&lt;P&gt;create object obj.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*---Registering the event for the class c1&lt;/P&gt;&lt;P&gt;set handler obj-&amp;gt;handler_HOTSPOT_CLICK for all instances.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----populate the field catalog&lt;/P&gt;&lt;P&gt;perform populate_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      set screen 100.&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;P&gt;  SET PF-STATUS 'MENU'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF o_cost IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----Linking between screen to custom container class&lt;/P&gt;&lt;P&gt;CREATE OBJECT o_cost&lt;/P&gt;&lt;P&gt;  EXPORTING&lt;/P&gt;&lt;P&gt;    container_name              = 'VBRK_COST'&lt;/P&gt;&lt;P&gt;  EXCEPTIONS&lt;/P&gt;&lt;P&gt;    CNTL_ERROR                  = 1&lt;/P&gt;&lt;P&gt;    CNTL_SYSTEM_ERROR           = 2&lt;/P&gt;&lt;P&gt;    CREATE_ERROR                = 3&lt;/P&gt;&lt;P&gt;    LIFETIME_ERROR              = 4&lt;/P&gt;&lt;P&gt;    LIFETIME_DYNPRO_DYNPRO_LINK = 5&lt;/P&gt;&lt;P&gt;    others                      = 6.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt; MESSAGE I000(Z00) WITH 'Error while linking to custom container'.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-----Linking between custom container to alv grid class&lt;/P&gt;&lt;P&gt;CREATE OBJECT o_alv&lt;/P&gt;&lt;P&gt;  EXPORTING&lt;/P&gt;&lt;P&gt;    i_parent          = o_cost&lt;/P&gt;&lt;P&gt;  EXCEPTIONS&lt;/P&gt;&lt;P&gt;    ERROR_CNTL_CREATE = 1&lt;/P&gt;&lt;P&gt;    ERROR_CNTL_INIT   = 2&lt;/P&gt;&lt;P&gt;    ERROR_CNTL_LINK   = 3&lt;/P&gt;&lt;P&gt;    ERROR_DP_CREATE   = 4&lt;/P&gt;&lt;P&gt;    others            = 5&lt;/P&gt;&lt;P&gt;    .&lt;/P&gt;&lt;P&gt;IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt; MESSAGE I000(Z00) WITH 'Error while linging to alv frist grid'.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*---Registering the event for the class c1&lt;/P&gt;&lt;P&gt;*set handler&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*---get the data from vbrk&lt;/P&gt;&lt;P&gt;perform get_data_vbrk.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL METHOD o_alv-&amp;gt;set_table_for_first_display&lt;/P&gt;&lt;P&gt;  EXPORTING&lt;/P&gt;&lt;P&gt;    I_STRUCTURE_NAME              = 'VBRK'&lt;/P&gt;&lt;P&gt;  CHANGING&lt;/P&gt;&lt;P&gt;    it_outtab                     = it_vbrk[]&lt;/P&gt;&lt;P&gt;    IT_FIELDCATALOG               = IT_FCAT[]&lt;/P&gt;&lt;P&gt;  EXCEPTIONS&lt;/P&gt;&lt;P&gt;    INVALID_PARAMETER_COMBINATION = 1&lt;/P&gt;&lt;P&gt;    PROGRAM_ERROR                 = 2&lt;/P&gt;&lt;P&gt;    TOO_MANY_LINES                = 3&lt;/P&gt;&lt;P&gt;    others                        = 4&lt;/P&gt;&lt;P&gt;        .&lt;/P&gt;&lt;P&gt;IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt; MESSAGE I000(Z00) WITH 'Data was not display in first alv'.&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;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  USER_COMMAND_0100  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_0100 input.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CASE SY-UCOMM.&lt;/P&gt;&lt;P&gt;WHEN 'BACK'.&lt;/P&gt;&lt;P&gt;LEAVE PROGRAM.&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_0100  INPUT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  get_data_vbrk&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form get_data_vbrk .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;select *&lt;/P&gt;&lt;P&gt;       from vbrk&lt;/P&gt;&lt;P&gt;       into table it_vbrk&lt;/P&gt;&lt;P&gt;       where vbeln = p_vbeln.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    " get_data_vbrk&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  populate_fieldcat&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form populate_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;it_fcat-col_pos = 1.&lt;/P&gt;&lt;P&gt;it_fcat-FIELDNAME = 'VBELN'.&lt;/P&gt;&lt;P&gt;it_fcat-TABNAME = 'IT_VBRK'.&lt;/P&gt;&lt;P&gt;it_fcat-KEY = 'X'.&lt;/P&gt;&lt;P&gt;IT_FCAT-HOTSPOT = 'X'.&lt;/P&gt;&lt;P&gt;APPEND IT_FCAT.&lt;/P&gt;&lt;P&gt;CLEAR IT_FCAT.&lt;/P&gt;&lt;P&gt;endform.                    " populate_fieldcat&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_0200  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_0200 output.&lt;/P&gt;&lt;P&gt;  SET PF-STATUS 'MENU'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; IF o_cost1 IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----Linking between screen to custom container class&lt;/P&gt;&lt;P&gt;CREATE OBJECT o_cost&lt;/P&gt;&lt;P&gt;  EXPORTING&lt;/P&gt;&lt;P&gt;    container_name              = 'VBRP_COST'&lt;/P&gt;&lt;P&gt;  EXCEPTIONS&lt;/P&gt;&lt;P&gt;    CNTL_ERROR                  = 1&lt;/P&gt;&lt;P&gt;    CNTL_SYSTEM_ERROR           = 2&lt;/P&gt;&lt;P&gt;    CREATE_ERROR                = 3&lt;/P&gt;&lt;P&gt;    LIFETIME_ERROR              = 4&lt;/P&gt;&lt;P&gt;    LIFETIME_DYNPRO_DYNPRO_LINK = 5&lt;/P&gt;&lt;P&gt;    others                      = 6.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt; MESSAGE I000(Z00) WITH 'Error while linking to custom container'.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-----Linking between custom container to alv grid class&lt;/P&gt;&lt;P&gt;CREATE OBJECT o_alv1&lt;/P&gt;&lt;P&gt;  EXPORTING&lt;/P&gt;&lt;P&gt;    i_parent          = o_cost1&lt;/P&gt;&lt;P&gt;  EXCEPTIONS&lt;/P&gt;&lt;P&gt;    ERROR_CNTL_CREATE = 1&lt;/P&gt;&lt;P&gt;    ERROR_CNTL_INIT   = 2&lt;/P&gt;&lt;P&gt;    ERROR_CNTL_LINK   = 3&lt;/P&gt;&lt;P&gt;    ERROR_DP_CREATE   = 4&lt;/P&gt;&lt;P&gt;    others            = 5&lt;/P&gt;&lt;P&gt;    .&lt;/P&gt;&lt;P&gt;IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt; MESSAGE I000(Z00) WITH 'Error while linging to alv Second grid'.&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;*---get the data from vbrk&lt;/P&gt;&lt;P&gt;perform get_data_vbrp.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL METHOD o_alv1-&amp;gt;set_table_for_first_display&lt;/P&gt;&lt;P&gt;  EXPORTING&lt;/P&gt;&lt;P&gt;    I_STRUCTURE_NAME              = 'VBRP'&lt;/P&gt;&lt;P&gt;  CHANGING&lt;/P&gt;&lt;P&gt;    it_outtab                     = it_vbrp[]&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IT_FIELDCATALOG               = IT_FCAT[]&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  EXCEPTIONS&lt;/P&gt;&lt;P&gt;    INVALID_PARAMETER_COMBINATION = 1&lt;/P&gt;&lt;P&gt;    PROGRAM_ERROR                 = 2&lt;/P&gt;&lt;P&gt;    TOO_MANY_LINES                = 3&lt;/P&gt;&lt;P&gt;    others                        = 4&lt;/P&gt;&lt;P&gt;        .&lt;/P&gt;&lt;P&gt;IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt; MESSAGE I000(Z00) WITH 'Data was not display in first alv'.&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;endmodule.                 " STATUS_0200  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;      Form  get_data_vbrp&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form get_data_vbrp .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;select *&lt;/P&gt;&lt;P&gt;   from vbrp&lt;/P&gt;&lt;P&gt;   into table it_vbrp&lt;/P&gt;&lt;P&gt;   where vbeln = p_vbeln.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    " get_data_vbrp&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_0200  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_0200 input.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;case sy-ucomm.&lt;/P&gt;&lt;P&gt;when 'BACK'.&lt;/P&gt;&lt;P&gt;leave program.&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_0200  INPUT&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 04 Jan 2008 15:37:56 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/interactive-alv-list-report-using-oops/m-p/3269949#M781631</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-01-04T15:37:56Z</dc:date>
    </item>
    <item>
      <title>Re: Interactive ALV list Report Using OOPS</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/interactive-alv-list-report-using-oops/m-p/3269950#M781632</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;i think there nothing like oops in classical because in classical we use write statements for output so what would b opps concept in that?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 05 Jan 2008 09:11:17 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/interactive-alv-list-report-using-oops/m-p/3269950#M781632</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-01-05T09:11:17Z</dc:date>
    </item>
  </channel>
</rss>

