<?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 User Command in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-user-command/m-p/2495110#M563416</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Just copying Sources is nit ginving a solution but is nothing else as beggaing for points.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 09 Jul 2007 09:27:06 GMT</pubDate>
    <dc:creator>rainer_hbenthal</dc:creator>
    <dc:date>2007-07-09T09:27:06Z</dc:date>
    <item>
      <title>ALV User Command</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-user-command/m-p/2495105#M563411</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'm using this code&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;
FORM alv_user_command
USING ucomm         LIKE sy-ucomm
      selfield      TYPE slis_selfield.                "#EC CALLED

  IF ucomm              = '&amp;amp;IC1'    AND
  selfield-fieldname = 'DOCNUM'.
    SET PARAMETER ID 'DCN' FIELD selfield-VALUE.
    CALL TRANSACTION 'WE05' .
  ENDIF.

ENDFORM.                    "alv_user_command
&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;to jump from an own IDOC-handling Report to WE05. This works well, but the idoc number is not transfered to we05.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Another question, is it possible to delete the datefields? In this case i can add AND SKIP FIRST SCREEN to jump directly to the idoc monitor, but the date fields do not ha a paramater spo i guess its impossible.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 06 Jul 2007 11:07:02 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-user-command/m-p/2495105#M563411</guid>
      <dc:creator>rainer_hbenthal</dc:creator>
      <dc:date>2007-07-06T11:07:02Z</dc:date>
    </item>
    <item>
      <title>Re: ALV User Command</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-user-command/m-p/2495106#M563412</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;First get the cell info on which you are clicking by using &lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;GET_CURRENT_CELL&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;   Form  GET_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;/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;If you are interested see the whole code to get an idea.....&lt;/P&gt;&lt;P&gt;Here by clicking on the PO number we'll call transaction ME21N.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&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;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Pavan P.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 06 Jul 2007 11:14:44 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-user-command/m-p/2495106#M563412</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-07-06T11:14:44Z</dc:date>
    </item>
    <item>
      <title>Re: ALV User Command</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-user-command/m-p/2495107#M563413</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I do not have problems getting the IDOC Number, its in my code and the variable is well filled. I'm thrown to WE05 setting paramter DCN but the idocnumber does not arrive.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The above code works perfect with transaction PA20 and personnel number, but i cant see why it is not working proper with we05.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 06 Jul 2007 11:21:22 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-user-command/m-p/2495107#M563413</guid>
      <dc:creator>rainer_hbenthal</dc:creator>
      <dc:date>2007-07-06T11:21:22Z</dc:date>
    </item>
    <item>
      <title>Re: ALV User Command</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-user-command/m-p/2495108#M563414</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Change the value of SET PARAMETER ID 'XXX'. I think there might be some problem there.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Please enter the Parameter ID of the field you want to capture.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Pavan P.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 06 Jul 2007 11:24:17 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-user-command/m-p/2495108#M563414</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-07-06T11:24:17Z</dc:date>
    </item>
    <item>
      <title>Re: ALV User Command</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-user-command/m-p/2495109#M563415</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;And this paramter value is DCN, i went to WE05, place the cursor in the idocnumberfield, pressed F1, then F4 and theparamter ID was shown as DCN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The same way i selected PER for transaction PA20.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 06 Jul 2007 11:26:29 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-user-command/m-p/2495109#M563415</guid>
      <dc:creator>rainer_hbenthal</dc:creator>
      <dc:date>2007-07-06T11:26:29Z</dc:date>
    </item>
    <item>
      <title>Re: ALV User Command</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-user-command/m-p/2495110#M563416</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Just copying Sources is nit ginving a solution but is nothing else as beggaing for points.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 09 Jul 2007 09:27:06 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-user-command/m-p/2495110#M563416</guid>
      <dc:creator>rainer_hbenthal</dc:creator>
      <dc:date>2007-07-09T09:27:06Z</dc:date>
    </item>
  </channel>
</rss>

