<?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: Abap in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/abap/m-p/1606020#M271933</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;HI Vijay,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Select single * from KNA1 where clause &lt;/P&gt;&lt;P&gt;---It fetches single record from the database, based on the condition you specified in the where clause. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Where as select * from kna1 up to 1 row &lt;/P&gt;&lt;P&gt;---Fetches first record if the condition specified in the where clause is satisfied, otherwise it doesn't fetch any record&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;A lot of people use the SELECT SINGLE statement to check for the existence of a value in a database prior to running a large report. Select singles are also used to look up values from a database where that value is going to be constant for the duration of the program run, or the value is being used to validate some user entry. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Other people prefer to use the 'UP TO 1 ROWS' variant of the SELECT statement. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;So what's the difference between using 'SELECT SINGLE' statement as against a 'SELECT .... UP TO 1 ROWS' statement ? &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If you're considering the statements &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Code: &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT SINGLE field &lt;/P&gt;&lt;P&gt;  INTO w_field &lt;/P&gt;&lt;P&gt;  FROM table. &lt;/P&gt;&lt;P&gt;and &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Code: &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT field &lt;/P&gt;&lt;P&gt;  INTO w_field &lt;/P&gt;&lt;P&gt;  FROM table &lt;/P&gt;&lt;P&gt;UP TO 1 ROWS. &lt;/P&gt;&lt;P&gt;ENDSELECT. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;then looking at the result, not much apart from the extra ENDSELECT statement. Look at the run time and memeory usage and they may be worlds apart. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Why is this ?? The answer is simple. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The 'SELECT SINGLE' statement selects the first row in the database that it finds that fulfils the 'WHERE' clause If this results in multiple records then only the first one will be returned and therefore may not be unique. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The 'SELECT .... UP TO 1 ROWS' statement is subtly different. The database selects all of the relevant records that are defined by the WHERE clause or lack of, applies any aggregate, ordering or grouping functions to them and then returns the first record of the resultant result set. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Get the difference ?? &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If not, then create a Ztable called ZDifference with 2 fields in it, MANDT of type MANDT and POSNR of type POSNR. Make sure both of these are keys. Also create a table maintenance dialog for it (SE11-&amp;gt;Utilities-&amp;gt;Table Maintenance Generator). Fill the table with ten rows 000001-000010. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Then run the program shown below: &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Code: &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="72" type="ul"&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Program:       Z_Difference &lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Purpose:       A program that demonstrates the difference &lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                     between SELECT SINGLE and SELECT UP TO n ROWS. &lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                     This program requires the data table Z_DIFFERENCE &lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                     to have been created according to the structure &lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                     outlined in the text above and populated with &lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                     at least 10 records. &lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Creation Date: 21/04/2004 &lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Requested By: &lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Reference Doc: &lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Author:        R Harper &lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Modification History: &lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Date    Reason                             Transport     Who &lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;/LI&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="72" type="ul"&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Report Z_Difference &lt;/P&gt;&lt;P&gt;       Message-id 38 &lt;/P&gt;&lt;P&gt;       Line-Size  80 &lt;/P&gt;&lt;P&gt;       Line-Count 0 &lt;/P&gt;&lt;P&gt;       No Standard Page Heading. &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Start-Of-Selection. &lt;/P&gt;&lt;P&gt;  Data: w_Single type Posnr, &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        t_Rows   type standard table of Posnr &lt;/P&gt;&lt;P&gt;                 initial size 0 &lt;/P&gt;&lt;P&gt;                 with header line. &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  Select single Posnr &lt;/P&gt;&lt;P&gt;    from zDifference &lt;/P&gt;&lt;P&gt;    into w_Single. &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  Select Posnr &lt;/P&gt;&lt;P&gt;    into table t_Rows &lt;/P&gt;&lt;P&gt;    from zDifference &lt;/P&gt;&lt;P&gt;   up to 1 rows &lt;/P&gt;&lt;P&gt;   order by Posnr descending. &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   Write &lt;span class="lia-unicode-emoji" title=":confused_face:"&gt;😕&lt;/span&gt; 'Select single:', w_Single. &lt;/P&gt;&lt;P&gt;   Skip 1. &lt;/P&gt;&lt;P&gt;   Write &lt;span class="lia-unicode-emoji" title=":confused_face:"&gt;😕&lt;/span&gt; 'Up to 1 rows :'. &lt;/P&gt;&lt;P&gt;   Loop at t_Rows. &lt;/P&gt;&lt;P&gt;        Write t_Rows. &lt;/P&gt;&lt;P&gt;   EndLoop.&lt;/P&gt;&lt;P&gt;You should see the output: &lt;/P&gt;&lt;P&gt;Code: &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Select single: 000001 &lt;/P&gt;&lt;P&gt;Up to 1 rows : 000010 &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The first 'SELECT' statement has selected the first record in the database according to any selection criteria in the 'WHERE' clause. This is what a 'SELECT SINGLE' does. The second 'SELECT' has asked the database to reverse the order of the records before returning the first row of the result. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In order to be able to do this the database has read the entire table, sort it and then return the first record. If there was no ORDER BY clause then the results would have been identical (ie both '000001') but the second select if given a big enough table to look at would be far slower. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Quote: &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Program: Z_DIFFERENCE Line : 39 &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Syntax check warning &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This warning is only displayed in SLIN. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Select single Posnr &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;^ &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Messages: &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In "SELECT SINGLE ...", the WHERE condition for the key field "POSNR" does not test for equality. Therefore, the single record you are searching for may not be unique. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A class="jive_macro jive_macro_message" href="https://community.sap.com/" __jive_macro_name="message" modifiedtitle="true" __default_attr="1469514"&gt;&lt;/A&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;How will we handle the errors in call transaction method? &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;'/00' is generally the BDC_OKCODE for the ENTER key. &lt;/P&gt;&lt;P&gt;You don't need to know the list of the BDC_OKCODE s. &lt;/P&gt;&lt;P&gt;You go to the transaction SHDB. &lt;/P&gt;&lt;P&gt;You can execute any transaction here. &lt;/P&gt;&lt;P&gt;Then you can replay the execution of the trasaction afterwards. &lt;/P&gt;&lt;P&gt;Select 'display all screens' mode. &lt;/P&gt;&lt;P&gt;BDC_OKCODEs for each one functions you use is displayed on the screen. &lt;/P&gt;&lt;P&gt;  &lt;/P&gt;&lt;P&gt;Now, regarding the error handling in call transaction. &lt;/P&gt;&lt;P&gt;The BDCMSGCOLL does not have the messages text. It has only the message type, number and message parameters. &lt;/P&gt;&lt;P&gt;You have to read the message text.  (recall that the database table T100 stores all the messages.) &lt;/P&gt;&lt;P&gt;There are more than one method of doing this. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Following is the psuedocode for one of the methods. &lt;/P&gt;&lt;P&gt;  &lt;/P&gt;&lt;P&gt;LOOP for the internal table IT1 which has data value from flat file. &lt;/P&gt;&lt;P&gt;  &lt;/P&gt;&lt;P&gt;call transcation using.... &lt;/P&gt;&lt;P&gt;if SY-SUBRC &amp;lt;&amp;gt; 0. &lt;/P&gt;&lt;P&gt;  &lt;/P&gt;&lt;P&gt;Read the dictionary table T100 FOR ALL ENTRIES in BDCMSGCOLL. &lt;/P&gt;&lt;P&gt;(also use the condition T100-SPRAS  =  SY-LANGU (the log on language. This is because you need only the message texts in English if the user is logged in English language) &lt;/P&gt;&lt;P&gt;  &lt;/P&gt;&lt;P&gt;IF message type is E , then, transfer the contents of this particular error record to file x. (TRANSFER......) &lt;/P&gt;&lt;P&gt;( Ignore all other messages. Only consider type 'E' messages. Ignore other types of messages.) &lt;/P&gt;&lt;P&gt;  &lt;/P&gt;&lt;P&gt;(You can also store the message text from T100 and the error record in another internal table IT2) &lt;/P&gt;&lt;P&gt;..... &lt;/P&gt;&lt;P&gt;.... &lt;/P&gt;&lt;P&gt;ENDLOOP. &lt;/P&gt;&lt;P&gt;  &lt;/P&gt;&lt;P&gt;Please note that the client might ask you for a file of records which could not be uploaded. &lt;/P&gt;&lt;P&gt;Give him the file created in the above psuedocode. (most often you will have to do this). &lt;/P&gt;&lt;P&gt;  &lt;/P&gt;&lt;P&gt;Otherwise just display the error messages and the error records in the internal table IT2 in the form of a list. &lt;/P&gt;&lt;P&gt;Thats it. &lt;/P&gt;&lt;P&gt;  &lt;/P&gt;&lt;P&gt;Alternatively, &lt;/P&gt;&lt;P&gt;  &lt;/P&gt;&lt;P&gt;Instead of &lt;/P&gt;&lt;P&gt;" Read the dictionary table T100 FOR ALL ENTRIES in BDCMSGCOLL." &lt;/P&gt;&lt;P&gt;you can use the function module &lt;/P&gt;&lt;P&gt;WRITE_MESSAGES to read the messages. &lt;/P&gt;&lt;P&gt;Please refer to the function module for the list of parameters. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT  ZTEST1234_ALV_TOP    MESSAGE-ID ZZ                           .&lt;/P&gt;&lt;P&gt;DATA: G_GRID TYPE REF TO CL_GUI_ALV_GRID.&lt;/P&gt;&lt;P&gt;DATA: L_VALID TYPE C,&lt;/P&gt;&lt;P&gt;      V_FLAG,&lt;/P&gt;&lt;P&gt;      V_DATA_CHANGE,&lt;/P&gt;&lt;P&gt;      V_ROW TYPE LVC_S_ROW,&lt;/P&gt;&lt;P&gt;      V_COLUMN TYPE LVC_S_COL,&lt;/P&gt;&lt;P&gt;      V_ROW_NUM TYPE LVC_S_ROID.&lt;/P&gt;&lt;P&gt;"The Below Definitions Must.....&lt;/P&gt;&lt;P&gt;DATA:&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Reference to document&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;       DG_DYNDOC_ID       TYPE REF TO CL_DD_DOCUMENT,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Reference to split container&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;       DG_SPLITTER          TYPE REF TO CL_GUI_SPLITTER_CONTAINER,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Reference to grid container&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;       DG_PARENT_GRID     TYPE REF TO CL_GUI_CONTAINER,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Reference to html container&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;       DG_HTML_CNTRL        TYPE REF TO CL_GUI_HTML_VIEWER,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Reference to html container&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;       DG_PARENT_HTML     TYPE REF TO CL_GUI_CONTAINER.&lt;/P&gt;&lt;P&gt;"up to here&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;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;**Hot spot Handler&lt;/P&gt;&lt;P&gt;    HANDLE_HOTSPOT_CLICK FOR EVENT HOTSPOT_CLICK OF CL_GUI_ALV_GRID&lt;/P&gt;&lt;P&gt;                      IMPORTING E_ROW_ID E_COLUMN_ID ES_ROW_NO,&lt;/P&gt;&lt;P&gt;**Double Click Handler&lt;/P&gt;&lt;P&gt;    HANDLE_DOUBLE_CLICK FOR EVENT DOUBLE_CLICK OF CL_GUI_ALV_GRID&lt;/P&gt;&lt;P&gt;                                     IMPORTING E_ROW E_COLUMN ES_ROW_NO,&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;    TOP_OF_PAGE FOR EVENT TOP_OF_PAGE              "event handler&lt;/P&gt;&lt;P&gt;                         OF CL_GUI_ALV_GRID&lt;/P&gt;&lt;P&gt;                         IMPORTING E_DYNDOC_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;P&gt;CLASS LCL_EVENT_HANDLER IMPLEMENTATION.&lt;/P&gt;&lt;P&gt;*Handle Hotspot Click&lt;/P&gt;&lt;P&gt;  METHOD HANDLE_HOTSPOT_CLICK .&lt;/P&gt;&lt;P&gt;    CLEAR: V_ROW,V_COLUMN,V_ROW_NUM.&lt;/P&gt;&lt;P&gt;    V_ROW  = E_ROW_ID.&lt;/P&gt;&lt;P&gt;    V_COLUMN = E_COLUMN_ID.&lt;/P&gt;&lt;P&gt;    V_ROW_NUM = ES_ROW_NO.&lt;/P&gt;&lt;P&gt;    MESSAGE I000 WITH V_ROW 'clicked'.&lt;/P&gt;&lt;P&gt;  ENDMETHOD.                    "lcl_event_handler&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;*Handle Double Click&lt;/P&gt;&lt;P&gt;  METHOD  HANDLE_DOUBLE_CLICK.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  ENDMETHOD.                    "handle_double_click&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  METHOD TOP_OF_PAGE.                   "implementation&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Top-of-page event&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    PERFORM EVENT_TOP_OF_PAGE USING DG_DYNDOC_ID.&lt;/P&gt;&lt;P&gt;  ENDMETHOD.                            "top_of_page&lt;/P&gt;&lt;P&gt;ENDCLASS.                    "LCL_EVENT_HANDLER IMPLEMENTATION&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;             Global Definitions&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;DATA:      G_CUSTOM_CONTAINER TYPE REF TO CL_GUI_CUSTOM_CONTAINER,"Container1&lt;/P&gt;&lt;P&gt;            G_HANDLER TYPE REF TO LCL_EVENT_HANDLER. "handler&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;DATA: OK_CODE LIKE SY-UCOMM,&lt;/P&gt;&lt;P&gt;      SAVE_OK LIKE SY-UCOMM,&lt;/P&gt;&lt;P&gt;      G_CONTAINER1 TYPE SCRFNAME VALUE 'TEST',&lt;/P&gt;&lt;P&gt;      GS_LAYOUT TYPE LVC_S_LAYO.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;*- Fieldcatalog for First and second Report&lt;/P&gt;&lt;P&gt;DATA: IT_FIELDCAT  TYPE  LVC_T_FCAT,&lt;/P&gt;&lt;P&gt;      X_FIELDCAT TYPE LVC_S_FCAT,&lt;/P&gt;&lt;P&gt;      LS_VARI  TYPE DISVARIANT.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;               START-OF_SELECTION&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;  DATA:BEGIN OF  ITAB OCCURS 0,&lt;/P&gt;&lt;P&gt;       VBELN LIKE LIKP-VBELN,&lt;/P&gt;&lt;P&gt;       POSNR LIKE LIPS-POSNR,&lt;/P&gt;&lt;P&gt;       CELLCOLOR TYPE LVC_T_SCOL, "required for color&lt;/P&gt;&lt;P&gt;       DROP(10),&lt;/P&gt;&lt;P&gt;       END OF ITAB.&lt;/P&gt;&lt;P&gt;  SELECT VBELN&lt;/P&gt;&lt;P&gt;         POSNR&lt;/P&gt;&lt;P&gt;         FROM LIPS&lt;/P&gt;&lt;P&gt;         UP TO 20 ROWS&lt;/P&gt;&lt;P&gt;         INTO CORRESPONDING FIELDS OF TABLE ITAB.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;END-OF-SELECTION.&lt;/P&gt;&lt;P&gt;  IF NOT ITAB[] IS INITIAL.&lt;/P&gt;&lt;P&gt;    CALL SCREEN 100.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    MESSAGE I002 WITH 'NO DATA FOR THE SELECTION'(004).&lt;/P&gt;&lt;P&gt;  ENDIF.&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  CREATE_AND_INIT_ALV&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 CREATE_AND_INIT_ALV .&lt;/P&gt;&lt;P&gt;  DATA: LT_EXCLUDE TYPE UI_FUNCTIONS.&lt;/P&gt;&lt;P&gt;  "attention.....from here&lt;/P&gt;&lt;P&gt;  "split your container here...into two parts&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  "create the container&lt;/P&gt;&lt;P&gt;  CREATE OBJECT G_CUSTOM_CONTAINER&lt;/P&gt;&lt;P&gt;           EXPORTING CONTAINER_NAME = G_CONTAINER1.&lt;/P&gt;&lt;P&gt;  "this is for top of page&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Create TOP-Document&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CREATE OBJECT DG_DYNDOC_ID&lt;/P&gt;&lt;P&gt;                   EXPORTING STYLE = 'ALV_GRID'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Create Splitter for custom_container&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CREATE OBJECT DG_SPLITTER&lt;/P&gt;&lt;P&gt;             EXPORTING PARENT  = G_CUSTOM_CONTAINER&lt;/P&gt;&lt;P&gt;                       ROWS    = 2&lt;/P&gt;&lt;P&gt;                       COLUMNS = 1.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Split the custom_container to two containers and move the reference&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;to receiving containers g_parent_html and g_parent_grid&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  "i am allocating the space for grid and top of page&lt;/P&gt;&lt;P&gt;  CALL METHOD DG_SPLITTER-&amp;gt;GET_CONTAINER&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      ROW       = 1&lt;/P&gt;&lt;P&gt;      COLUMN    = 1&lt;/P&gt;&lt;P&gt;    RECEIVING&lt;/P&gt;&lt;P&gt;      CONTAINER = DG_PARENT_HTML.&lt;/P&gt;&lt;P&gt;  CALL METHOD DG_SPLITTER-&amp;gt;GET_CONTAINER&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      ROW       = 2&lt;/P&gt;&lt;P&gt;      COLUMN    = 1&lt;/P&gt;&lt;P&gt;    RECEIVING&lt;/P&gt;&lt;P&gt;      CONTAINER = DG_PARENT_GRID.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  "you can set the height of it&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Set height for g_parent_html&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CALL METHOD DG_SPLITTER-&amp;gt;SET_ROW_HEIGHT&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      ID     = 1&lt;/P&gt;&lt;P&gt;      HEIGHT = 5.&lt;/P&gt;&lt;P&gt;  "from here as usual..you need to specify parent as splitter part&lt;/P&gt;&lt;P&gt;  "which we alloted for grid&lt;/P&gt;&lt;P&gt;  CREATE OBJECT G_GRID&lt;/P&gt;&lt;P&gt;         EXPORTING I_PARENT = DG_PARENT_GRID.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Set a titlebar for the grid control&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CLEAR GS_LAYOUT.&lt;/P&gt;&lt;P&gt;  GS_LAYOUT-GRID_TITLE = TEXT-003.&lt;/P&gt;&lt;P&gt;  GS_LAYOUT-ZEBRA = SPACE.&lt;/P&gt;&lt;P&gt;  GS_LAYOUT-CWIDTH_OPT = 'X'.&lt;/P&gt;&lt;P&gt;  GS_LAYOUT-NO_ROWMARK = 'X'.&lt;/P&gt;&lt;P&gt;  GS_LAYOUT-CTAB_FNAME = 'CELLCOLOR'.&lt;/P&gt;&lt;P&gt;  CALL METHOD G_GRID-&amp;gt;REGISTER_EDIT_EVENT&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      I_EVENT_ID = CL_GUI_ALV_GRID=&amp;gt;MC_EVT_ENTER.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  CREATE OBJECT G_HANDLER.&lt;/P&gt;&lt;P&gt;  SET HANDLER G_HANDLER-&amp;gt;HANDLE_DOUBLE_CLICK FOR G_GRID.&lt;/P&gt;&lt;P&gt;  SET HANDLER G_HANDLER-&amp;gt;HANDLE_HOTSPOT_CLICK FOR G_GRID.&lt;/P&gt;&lt;P&gt;  SET HANDLER G_HANDLER-&amp;gt;TOP_OF_PAGE FOR G_GRID.&lt;/P&gt;&lt;P&gt;  DATA: LS_CELLCOLOR TYPE LVC_S_SCOL. "required for color&lt;/P&gt;&lt;P&gt;  DATA: L_INDEX TYPE SY-TABIX.&lt;/P&gt;&lt;P&gt;  "Here i am changing the color of line 1,5,10...&lt;/P&gt;&lt;P&gt;  "so you can change the color of font conditionally&lt;/P&gt;&lt;P&gt;  LOOP AT ITAB.&lt;/P&gt;&lt;P&gt;    L_INDEX = SY-TABIX.&lt;/P&gt;&lt;P&gt;    IF L_INDEX = 1 OR L_INDEX = 5 OR L_INDEX = 10.&lt;/P&gt;&lt;P&gt;      LS_CELLCOLOR-FNAME = 'VBELN'.&lt;/P&gt;&lt;P&gt;      LS_CELLCOLOR-COLOR-COL = '6'.&lt;/P&gt;&lt;P&gt;      LS_CELLCOLOR-COLOR-INT = '0'.&lt;/P&gt;&lt;P&gt;      LS_CELLCOLOR-COLOR-INV = '1'.&lt;/P&gt;&lt;P&gt;      APPEND LS_CELLCOLOR TO ITAB-CELLCOLOR.&lt;/P&gt;&lt;P&gt;      MODIFY ITAB INDEX L_INDEX TRANSPORTING CELLCOLOR.&lt;/P&gt;&lt;P&gt;      LS_CELLCOLOR-FNAME = 'POSNR'.&lt;/P&gt;&lt;P&gt;      LS_CELLCOLOR-COLOR-COL = '6'.&lt;/P&gt;&lt;P&gt;      LS_CELLCOLOR-COLOR-INT = '0'.&lt;/P&gt;&lt;P&gt;      LS_CELLCOLOR-COLOR-INV = '1'.&lt;/P&gt;&lt;P&gt;      APPEND LS_CELLCOLOR TO ITAB-CELLCOLOR.&lt;/P&gt;&lt;P&gt;      MODIFY ITAB INDEX L_INDEX TRANSPORTING CELLCOLOR.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;setting focus for created grid control&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CALL METHOD CL_GUI_CONTROL=&amp;gt;SET_FOCUS&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      CONTROL = G_GRID.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Build fieldcat and set editable for date and reason code&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;edit enabled. Assign a handle for the dropdown listbox.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM BUILD_FIELDCAT.&lt;/P&gt;&lt;P&gt;  PERFORM  SET_DRDN_TABLE.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Optionally restrict generic functions to 'change only'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  (The user shall not be able to add new lines).&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM EXCLUDE_TB_FUNCTIONS CHANGING LT_EXCLUDE.&lt;/P&gt;&lt;P&gt;**Vaiant to save the layout&lt;/P&gt;&lt;P&gt;  LS_VARI-REPORT      = SY-REPID.&lt;/P&gt;&lt;P&gt;  LS_VARI-HANDLE      = SPACE.&lt;/P&gt;&lt;P&gt;  LS_VARI-LOG_GROUP   = SPACE.&lt;/P&gt;&lt;P&gt;  LS_VARI-USERNAME    = SPACE.&lt;/P&gt;&lt;P&gt;  LS_VARI-VARIANT     = SPACE.&lt;/P&gt;&lt;P&gt;  LS_VARI-TEXT        = SPACE.&lt;/P&gt;&lt;P&gt;  LS_VARI-DEPENDVARS  = SPACE.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;**Calling the Method for ALV output&lt;/P&gt;&lt;P&gt;  CALL METHOD G_GRID-&amp;gt;SET_TABLE_FOR_FIRST_DISPLAY&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      IT_TOOLBAR_EXCLUDING = LT_EXCLUDE&lt;/P&gt;&lt;P&gt;      IS_VARIANT           = LS_VARI&lt;/P&gt;&lt;P&gt;      IS_LAYOUT            = GS_LAYOUT&lt;/P&gt;&lt;P&gt;      I_SAVE               = 'A'&lt;/P&gt;&lt;P&gt;    CHANGING&lt;/P&gt;&lt;P&gt;      IT_FIELDCATALOG      = IT_FIELDCAT&lt;/P&gt;&lt;P&gt;      IT_OUTTAB            = ITAB[].&lt;/P&gt;&lt;P&gt;  "do these..{&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Initializing document&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CALL METHOD DG_DYNDOC_ID-&amp;gt;INITIALIZE_DOCUMENT.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Processing events&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CALL METHOD G_GRID-&amp;gt;LIST_PROCESSING_EVENTS&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      I_EVENT_NAME = 'TOP_OF_PAGE'&lt;/P&gt;&lt;P&gt;      I_DYNDOC_ID  = DG_DYNDOC_ID.&lt;/P&gt;&lt;P&gt;  "end }&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Set editable cells to ready for input initially&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CALL METHOD G_GRID-&amp;gt;SET_READY_FOR_INPUT&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      I_READY_FOR_INPUT = 1.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;ENDFORM.                               "CREATE_AND_INIT_ALV&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  EXCLUDE_TB_FUNCTIONS&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;PT_EXCLUDE 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 EXCLUDE_TB_FUNCTIONS CHANGING PT_EXCLUDE TYPE UI_FUNCTIONS.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Only allow to change data not to create new entries (exclude&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;generic functions).&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  DATA LS_EXCLUDE TYPE UI_FUNC.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  LS_EXCLUDE = CL_GUI_ALV_GRID=&amp;gt;MC_FC_LOC_COPY_ROW.&lt;/P&gt;&lt;P&gt;  APPEND LS_EXCLUDE TO PT_EXCLUDE.&lt;/P&gt;&lt;P&gt;  LS_EXCLUDE = CL_GUI_ALV_GRID=&amp;gt;MC_FC_LOC_DELETE_ROW.&lt;/P&gt;&lt;P&gt;  APPEND LS_EXCLUDE TO PT_EXCLUDE.&lt;/P&gt;&lt;P&gt;  LS_EXCLUDE = CL_GUI_ALV_GRID=&amp;gt;MC_FC_LOC_APPEND_ROW.&lt;/P&gt;&lt;P&gt;  APPEND LS_EXCLUDE TO PT_EXCLUDE.&lt;/P&gt;&lt;P&gt;  LS_EXCLUDE = CL_GUI_ALV_GRID=&amp;gt;MC_FC_LOC_INSERT_ROW.&lt;/P&gt;&lt;P&gt;  APPEND LS_EXCLUDE TO PT_EXCLUDE.&lt;/P&gt;&lt;P&gt;  LS_EXCLUDE = CL_GUI_ALV_GRID=&amp;gt;MC_FC_LOC_MOVE_ROW.&lt;/P&gt;&lt;P&gt;  APPEND LS_EXCLUDE TO PT_EXCLUDE.&lt;/P&gt;&lt;P&gt;  LS_EXCLUDE = CL_GUI_ALV_GRID=&amp;gt;MC_FC_LOC_COPY.&lt;/P&gt;&lt;P&gt;  APPEND LS_EXCLUDE TO PT_EXCLUDE.&lt;/P&gt;&lt;P&gt;  LS_EXCLUDE = CL_GUI_ALV_GRID=&amp;gt;MC_FC_LOC_CUT.&lt;/P&gt;&lt;P&gt;  APPEND LS_EXCLUDE TO PT_EXCLUDE.&lt;/P&gt;&lt;P&gt;  LS_EXCLUDE = CL_GUI_ALV_GRID=&amp;gt;MC_FC_LOC_PASTE.&lt;/P&gt;&lt;P&gt;  APPEND LS_EXCLUDE TO PT_EXCLUDE.&lt;/P&gt;&lt;P&gt;  LS_EXCLUDE = CL_GUI_ALV_GRID=&amp;gt;MC_FC_LOC_PASTE_NEW_ROW.&lt;/P&gt;&lt;P&gt;  APPEND LS_EXCLUDE TO PT_EXCLUDE.&lt;/P&gt;&lt;P&gt;  LS_EXCLUDE = CL_GUI_ALV_GRID=&amp;gt;MC_FC_LOC_UNDO.&lt;/P&gt;&lt;P&gt;  APPEND LS_EXCLUDE TO PT_EXCLUDE.&lt;/P&gt;&lt;P&gt;ENDFORM.                               " EXCLUDE_TB_FUNCTIONS&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  build_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;      Fieldcatalog&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM BUILD_FIELDCAT .&lt;/P&gt;&lt;P&gt;  DATA: L_POS TYPE I.&lt;/P&gt;&lt;P&gt;  L_POS = L_POS + 1.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  X_FIELDCAT-SCRTEXT_M = 'Delivery'(024).&lt;/P&gt;&lt;P&gt;  X_FIELDCAT-FIELDNAME = 'VBELN'.&lt;/P&gt;&lt;P&gt;  X_FIELDCAT-TABNAME = 'IT_FINAL'.&lt;/P&gt;&lt;P&gt;  X_FIELDCAT-COL_POS    = L_POS.&lt;/P&gt;&lt;P&gt;  X_FIELDCAT-NO_ZERO    = 'X'.&lt;/P&gt;&lt;P&gt;  X_FIELDCAT-OUTPUTLEN = '10'.&lt;/P&gt;&lt;P&gt;  X_FIELDCAT-HOTSPOT = 'X'.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  APPEND X_FIELDCAT TO IT_FIELDCAT.&lt;/P&gt;&lt;P&gt;  CLEAR X_FIELDCAT.&lt;/P&gt;&lt;P&gt;  L_POS = L_POS + 1.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  X_FIELDCAT-SCRTEXT_M = 'Item'(025).&lt;/P&gt;&lt;P&gt;  X_FIELDCAT-FIELDNAME = 'POSNR'.&lt;/P&gt;&lt;P&gt;  X_FIELDCAT-TABNAME = 'IT_FINAL'.&lt;/P&gt;&lt;P&gt;  X_FIELDCAT-COL_POS    = L_POS.&lt;/P&gt;&lt;P&gt;  X_FIELDCAT-OUTPUTLEN = '5'.&lt;/P&gt;&lt;P&gt;  APPEND X_FIELDCAT TO IT_FIELDCAT.&lt;/P&gt;&lt;P&gt;  CLEAR X_FIELDCAT.&lt;/P&gt;&lt;P&gt;  L_POS = L_POS + 1.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  X_FIELDCAT-SCRTEXT_M = 'Drop'(025).&lt;/P&gt;&lt;P&gt;  X_FIELDCAT-FIELDNAME = 'DROP'.&lt;/P&gt;&lt;P&gt;  X_FIELDCAT-TABNAME = 'IT_FINAL'.&lt;/P&gt;&lt;P&gt;  X_FIELDCAT-COL_POS    = L_POS.&lt;/P&gt;&lt;P&gt;  X_FIELDCAT-OUTPUTLEN = '5'.&lt;/P&gt;&lt;P&gt;  X_FIELDCAT-EDIT = 'X'.&lt;/P&gt;&lt;P&gt;  X_FIELDCAT-DRDN_HNDL = '1'.&lt;/P&gt;&lt;P&gt;  X_FIELDCAT-DRDN_ALIAS = 'X'.&lt;/P&gt;&lt;P&gt;  APPEND X_FIELDCAT TO IT_FIELDCAT.&lt;/P&gt;&lt;P&gt;  CLEAR X_FIELDCAT.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;ENDFORM.                    " build_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_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 'MAIN100'.&lt;/P&gt;&lt;P&gt;  SET TITLEBAR 'MAIN100'.&lt;/P&gt;&lt;P&gt;  IF G_CUSTOM_CONTAINER IS INITIAL.&lt;/P&gt;&lt;P&gt;**Initializing the grid and calling the fm to Display the O/P&lt;/P&gt;&lt;P&gt;    PERFORM CREATE_AND_INIT_ALV.&lt;/P&gt;&lt;P&gt;  ENDIF.&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;  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;  ENDCASE.&lt;/P&gt;&lt;P&gt;ENDMODULE.                 " USER_COMMAND_0100  INPUT&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  SET_DRDN_TABLE&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 SET_DRDN_TABLE.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  DATA:LT_DRAL TYPE LVC_T_DRAL,&lt;/P&gt;&lt;P&gt;        LS_DRAL TYPE LVC_S_DRAL.&lt;/P&gt;&lt;P&gt;  LOOP AT ITAB .&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;First listbox (handle '1').&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    IF SY-INDEX = 1.&lt;/P&gt;&lt;P&gt;      LS_DRAL-HANDLE = '1'.&lt;/P&gt;&lt;P&gt;      LS_DRAL-VALUE =  ' '.&lt;/P&gt;&lt;P&gt;      LS_DRAL-INT_VALUE =  ' '.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      LS_DRAL-HANDLE = '1'.&lt;/P&gt;&lt;P&gt;      LS_DRAL-VALUE =  ITAB-POSNR.&lt;/P&gt;&lt;P&gt;      LS_DRAL-INT_VALUE =  ITAB-POSNR.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    APPEND LS_DRAL TO LT_DRAL.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;**Setting the Drop down table for Reason Code&lt;/P&gt;&lt;P&gt;  CALL METHOD G_GRID-&amp;gt;SET_DROP_DOWN_TABLE&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      IT_DROP_DOWN_ALIAS = LT_DRAL.&lt;/P&gt;&lt;P&gt;ENDFORM.                               " set_drdn_table&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  EVENT_TOP_OF_PAGE&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;DG_DYNDOC_ID  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 EVENT_TOP_OF_PAGE USING   DG_DYNDOC_ID TYPE REF TO CL_DD_DOCUMENT.&lt;/P&gt;&lt;P&gt;  "this is more clear.....check it&lt;/P&gt;&lt;P&gt;  "first add text, then pass it to comentry write fm&lt;/P&gt;&lt;P&gt;  DATA : DL_TEXT(255) TYPE C.  "Text&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Populating header to top-of-page&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CALL METHOD DG_DYNDOC_ID-&amp;gt;ADD_TEXT&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      TEXT      = 'Test Report'&lt;/P&gt;&lt;P&gt;      SAP_STYLE = CL_DD_AREA=&amp;gt;HEADING.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Add new-line&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CALL METHOD DG_DYNDOC_ID-&amp;gt;NEW_LINE.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  CLEAR : DL_TEXT.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Move program ID&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CONCATENATE 'Program Name :' SY-REPID&lt;/P&gt;&lt;P&gt;         INTO DL_TEXT SEPARATED BY SPACE.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Add Program Name to Document&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM ADD_TEXT USING DL_TEXT.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Add new-line&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CALL METHOD DG_DYNDOC_ID-&amp;gt;NEW_LINE.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  CLEAR : DL_TEXT.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Move User ID&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CONCATENATE 'User ID :' SY-UNAME INTO DL_TEXT SEPARATED BY SPACE&lt;/P&gt;&lt;P&gt;.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Add User ID to Document&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM ADD_TEXT USING DL_TEXT.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Add new-line&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CALL METHOD DG_DYNDOC_ID-&amp;gt;NEW_LINE.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  CLEAR : DL_TEXT.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Move Client&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CONCATENATE 'Client :' SY-MANDT INTO DL_TEXT SEPARATED BY SPACE.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Add Client to Document&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM ADD_TEXT USING DL_TEXT.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Add new-line&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CALL METHOD DG_DYNDOC_ID-&amp;gt;NEW_LINE.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  CLEAR : DL_TEXT.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Move date&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  WRITE SY-DATUM TO DL_TEXT.&lt;/P&gt;&lt;P&gt;  CONCATENATE 'Date :' DL_TEXT INTO DL_TEXT SEPARATED BY SPACE.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Add Date to Document&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM ADD_TEXT USING DL_TEXT.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Add new-line&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CALL METHOD DG_DYNDOC_ID-&amp;gt;NEW_LINE.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  CLEAR : DL_TEXT.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Move time&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  WRITE SY-UZEIT TO DL_TEXT.&lt;/P&gt;&lt;P&gt;  CONCATENATE 'Time :' DL_TEXT INTO DL_TEXT SEPARATED BY SPACE.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Add Time to Document&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM ADD_TEXT USING DL_TEXT.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Add new-line&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CALL METHOD DG_DYNDOC_ID-&amp;gt;NEW_LINE.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Populating data to html control&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM HTML.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;ENDFORM.                    " EVENT_TOP_OF_PAGE&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  ADD_TEXT&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;      To add 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 ADD_TEXT USING P_TEXT TYPE SDYDO_TEXT_ELEMENT.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Adding text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CALL METHOD DG_DYNDOC_ID-&amp;gt;ADD_TEXT&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      TEXT         = P_TEXT&lt;/P&gt;&lt;P&gt;      SAP_EMPHASIS = CL_DD_AREA=&amp;gt;HEADING.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " ADD_TEXT&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  HTML&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 HTML.&lt;/P&gt;&lt;P&gt;  DATA : DL_LENGTH  TYPE I,                           " Length&lt;/P&gt;&lt;P&gt;         DL_BACKGROUND_ID TYPE SDYDO_KEY VALUE SPACE. " Background_id&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Creating html control&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF DG_HTML_CNTRL IS INITIAL.&lt;/P&gt;&lt;P&gt;    CREATE OBJECT DG_HTML_CNTRL&lt;/P&gt;&lt;P&gt;         EXPORTING&lt;/P&gt;&lt;P&gt;              PARENT    = DG_PARENT_HTML.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Reuse_alv_grid_commentary_set&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_GRID_COMMENTARY_SET'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      DOCUMENT = DG_DYNDOC_ID&lt;/P&gt;&lt;P&gt;      BOTTOM   = SPACE&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      LENGTH   = DL_LENGTH.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get TOP-&amp;gt;HTML_TABLE ready&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CALL METHOD DG_DYNDOC_ID-&amp;gt;MERGE_DOCUMENT.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Set wallpaper&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CALL METHOD DG_DYNDOC_ID-&amp;gt;SET_DOCUMENT_BACKGROUND&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      PICTURE_ID = DL_BACKGROUND_ID.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Connect TOP document to HTML-Control&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  DG_DYNDOC_ID-&amp;gt;HTML_CONTROL = DG_HTML_CNTRL.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Display TOP document&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CALL METHOD DG_DYNDOC_ID-&amp;gt;DISPLAY_DOCUMENT&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      REUSE_CONTROL      = 'X'&lt;/P&gt;&lt;P&gt;      PARENT             = DG_PARENT_HTML&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      HTML_DISPLAY_ERROR = 1.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC NE 0.&lt;/P&gt;&lt;P&gt;    MESSAGE I999 WITH 'Error in displaying top-of-page'(036).&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;ENDFORM.                    " HTML&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;Laxmi.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 22 Sep 2006 11:49:27 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2006-09-22T11:49:27Z</dc:date>
    <item>
      <title>Abap</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/abap/m-p/1606013#M271926</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi&lt;/P&gt;&lt;P&gt;  This is vijay&lt;/P&gt;&lt;P&gt;1.what is the difference between select single and select up to 1 row?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;2.How check errors in CallTransaction Method? &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;3.Which purpose to use Commentary in Alv?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 22 Sep 2006 11:33:47 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/abap/m-p/1606013#M271926</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-09-22T11:33:47Z</dc:date>
    </item>
    <item>
      <title>Re: Abap</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/abap/m-p/1606014#M271927</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; Reuse_ALV_Commentory_write is used to display header for every page. (similar to top of page)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; After call transaction method, check sy-subrc. If it is not equal to 0, hten those are error records.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; Nice explanation of differences between select single and select up to 1 rows  is given in this link&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A class="jive_macro jive_macro_message" href="https://community.sap.com/" __jive_macro_name="message" modifiedtitle="true" __default_attr="1710019"&gt;&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Sailaja.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Message was edited by: Sailaja N.L.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 22 Sep 2006 11:42:18 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/abap/m-p/1606014#M271927</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-09-22T11:42:18Z</dc:date>
    </item>
    <item>
      <title>Re: Abap</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/abap/m-p/1606015#M271928</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;1. In select single u have to specify the where condition with the key fields where as in select up to 1 rows it will retrieve the first record&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;2. DATA: ITAB TYPE TABLE OF BDCMSGCOLL. &lt;/P&gt;&lt;P&gt;   CALL TRANSACTION 'SE38'  USING BDCDATA  MODE 'N' &lt;/P&gt;&lt;P&gt;                         &amp;lt;b&amp;gt;MESSAGES INTO ITAB.&amp;lt;/b&amp;gt; &lt;/P&gt;&lt;P&gt;   ITAB will contain all the error messages&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;3.Commentry is used to write the header in ALV and also to display logo&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 22 Sep 2006 11:43:09 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/abap/m-p/1606015#M271928</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-09-22T11:43:09Z</dc:date>
    </item>
    <item>
      <title>Re: Abap</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/abap/m-p/1606016#M271929</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In SAP/ABAP if any operation fails, the corresponding system variable sy-subrc will have some interger value other than 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Check for this sys-subrc and hadle the errors.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ALV_COMMENTARY_WRITE is used to display header in ALV.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regs,&lt;/P&gt;&lt;P&gt;Venkat&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 22 Sep 2006 11:45:08 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/abap/m-p/1606016#M271929</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-09-22T11:45:08Z</dc:date>
    </item>
    <item>
      <title>Re: Abap</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/abap/m-p/1606017#M271930</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hello,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1. select single gets one row from Database depending on some where condition. select up to 1 rows will get u the first row from Database.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;2. In call transaction we have to manually handle errors. u declare an internal table like &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IT_BDCMSGCOLL LIKE BDCMSGCOLL OCCURS 1 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;after CALL TRANSACTION , u check the message type&lt;/P&gt;&lt;P&gt;IF IT_BDCMSGCOLL-MSGTYP EQ 'E'.&lt;/P&gt;&lt;P&gt;&amp;lt;now collect details of record into itab&amp;gt;&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;later u can process all these error records&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;3. REUSE_ALV_COMMENTARY_WRITE is mainly for the list headers when we use TOP_OF_PAGE event.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;hope it helps.&lt;/P&gt;&lt;P&gt;reward if useful...&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 22 Sep 2006 11:45:37 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/abap/m-p/1606017#M271930</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-09-22T11:45:37Z</dc:date>
    </item>
    <item>
      <title>Re: Abap</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/abap/m-p/1606018#M271931</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;1.Select single and select upto one both fetch single &lt;/P&gt;&lt;P&gt;  record but the difference is the select single does&lt;/P&gt;&lt;P&gt;  single hit to database for fetching one record whereas &lt;/P&gt;&lt;P&gt;  select upto i rows makes 2 hits.For using select &lt;/P&gt;&lt;P&gt;  single it is good practice to mention all the primary &lt;/P&gt;&lt;P&gt;  keys else the system will throw warning message.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;2.For avoiding the error's in BDC it is good practice to &lt;/P&gt;&lt;P&gt;  validate the data with master table before sending it &lt;/P&gt;&lt;P&gt;  to the transaction.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;3. ALV commentary write is used to insert pictures into &lt;/P&gt;&lt;P&gt;   the ALV Layout.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hope this helps.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 22 Sep 2006 11:45:42 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/abap/m-p/1606018#M271931</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-09-22T11:45:42Z</dc:date>
    </item>
    <item>
      <title>Re: Abap</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/abap/m-p/1606019#M271932</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;1&amp;gt; select single select any one data from DD table. normally its select first or last data. and slect up to one row select first row from DD table.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;2&amp;gt; call transcation 'qs21' using mode 'N' message into itab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;3&amp;gt; Commentry write use for header and footer. trigger event top-of-page &amp;amp; end of page. Normally ppls know Commentry use for header but its also define footer also.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 22 Sep 2006 11:48:20 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/abap/m-p/1606019#M271932</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-09-22T11:48:20Z</dc:date>
    </item>
    <item>
      <title>Re: Abap</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/abap/m-p/1606020#M271933</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;HI Vijay,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Select single * from KNA1 where clause &lt;/P&gt;&lt;P&gt;---It fetches single record from the database, based on the condition you specified in the where clause. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Where as select * from kna1 up to 1 row &lt;/P&gt;&lt;P&gt;---Fetches first record if the condition specified in the where clause is satisfied, otherwise it doesn't fetch any record&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;A lot of people use the SELECT SINGLE statement to check for the existence of a value in a database prior to running a large report. Select singles are also used to look up values from a database where that value is going to be constant for the duration of the program run, or the value is being used to validate some user entry. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Other people prefer to use the 'UP TO 1 ROWS' variant of the SELECT statement. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;So what's the difference between using 'SELECT SINGLE' statement as against a 'SELECT .... UP TO 1 ROWS' statement ? &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If you're considering the statements &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Code: &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT SINGLE field &lt;/P&gt;&lt;P&gt;  INTO w_field &lt;/P&gt;&lt;P&gt;  FROM table. &lt;/P&gt;&lt;P&gt;and &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Code: &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT field &lt;/P&gt;&lt;P&gt;  INTO w_field &lt;/P&gt;&lt;P&gt;  FROM table &lt;/P&gt;&lt;P&gt;UP TO 1 ROWS. &lt;/P&gt;&lt;P&gt;ENDSELECT. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;then looking at the result, not much apart from the extra ENDSELECT statement. Look at the run time and memeory usage and they may be worlds apart. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Why is this ?? The answer is simple. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The 'SELECT SINGLE' statement selects the first row in the database that it finds that fulfils the 'WHERE' clause If this results in multiple records then only the first one will be returned and therefore may not be unique. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The 'SELECT .... UP TO 1 ROWS' statement is subtly different. The database selects all of the relevant records that are defined by the WHERE clause or lack of, applies any aggregate, ordering or grouping functions to them and then returns the first record of the resultant result set. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Get the difference ?? &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If not, then create a Ztable called ZDifference with 2 fields in it, MANDT of type MANDT and POSNR of type POSNR. Make sure both of these are keys. Also create a table maintenance dialog for it (SE11-&amp;gt;Utilities-&amp;gt;Table Maintenance Generator). Fill the table with ten rows 000001-000010. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Then run the program shown below: &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Code: &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="72" type="ul"&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Program:       Z_Difference &lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Purpose:       A program that demonstrates the difference &lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                     between SELECT SINGLE and SELECT UP TO n ROWS. &lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                     This program requires the data table Z_DIFFERENCE &lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                     to have been created according to the structure &lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                     outlined in the text above and populated with &lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                     at least 10 records. &lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Creation Date: 21/04/2004 &lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Requested By: &lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Reference Doc: &lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Author:        R Harper &lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Modification History: &lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Date    Reason                             Transport     Who &lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;/LI&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="72" type="ul"&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Report Z_Difference &lt;/P&gt;&lt;P&gt;       Message-id 38 &lt;/P&gt;&lt;P&gt;       Line-Size  80 &lt;/P&gt;&lt;P&gt;       Line-Count 0 &lt;/P&gt;&lt;P&gt;       No Standard Page Heading. &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Start-Of-Selection. &lt;/P&gt;&lt;P&gt;  Data: w_Single type Posnr, &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        t_Rows   type standard table of Posnr &lt;/P&gt;&lt;P&gt;                 initial size 0 &lt;/P&gt;&lt;P&gt;                 with header line. &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  Select single Posnr &lt;/P&gt;&lt;P&gt;    from zDifference &lt;/P&gt;&lt;P&gt;    into w_Single. &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  Select Posnr &lt;/P&gt;&lt;P&gt;    into table t_Rows &lt;/P&gt;&lt;P&gt;    from zDifference &lt;/P&gt;&lt;P&gt;   up to 1 rows &lt;/P&gt;&lt;P&gt;   order by Posnr descending. &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   Write &lt;span class="lia-unicode-emoji" title=":confused_face:"&gt;😕&lt;/span&gt; 'Select single:', w_Single. &lt;/P&gt;&lt;P&gt;   Skip 1. &lt;/P&gt;&lt;P&gt;   Write &lt;span class="lia-unicode-emoji" title=":confused_face:"&gt;😕&lt;/span&gt; 'Up to 1 rows :'. &lt;/P&gt;&lt;P&gt;   Loop at t_Rows. &lt;/P&gt;&lt;P&gt;        Write t_Rows. &lt;/P&gt;&lt;P&gt;   EndLoop.&lt;/P&gt;&lt;P&gt;You should see the output: &lt;/P&gt;&lt;P&gt;Code: &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Select single: 000001 &lt;/P&gt;&lt;P&gt;Up to 1 rows : 000010 &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The first 'SELECT' statement has selected the first record in the database according to any selection criteria in the 'WHERE' clause. This is what a 'SELECT SINGLE' does. The second 'SELECT' has asked the database to reverse the order of the records before returning the first row of the result. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In order to be able to do this the database has read the entire table, sort it and then return the first record. If there was no ORDER BY clause then the results would have been identical (ie both '000001') but the second select if given a big enough table to look at would be far slower. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Quote: &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Program: Z_DIFFERENCE Line : 39 &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Syntax check warning &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This warning is only displayed in SLIN. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Select single Posnr &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;^ &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Messages: &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In "SELECT SINGLE ...", the WHERE condition for the key field "POSNR" does not test for equality. Therefore, the single record you are searching for may not be unique. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A class="jive_macro jive_macro_message" href="https://community.sap.com/" __jive_macro_name="message" modifiedtitle="true" __default_attr="1469514"&gt;&lt;/A&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;How will we handle the errors in call transaction method? &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;'/00' is generally the BDC_OKCODE for the ENTER key. &lt;/P&gt;&lt;P&gt;You don't need to know the list of the BDC_OKCODE s. &lt;/P&gt;&lt;P&gt;You go to the transaction SHDB. &lt;/P&gt;&lt;P&gt;You can execute any transaction here. &lt;/P&gt;&lt;P&gt;Then you can replay the execution of the trasaction afterwards. &lt;/P&gt;&lt;P&gt;Select 'display all screens' mode. &lt;/P&gt;&lt;P&gt;BDC_OKCODEs for each one functions you use is displayed on the screen. &lt;/P&gt;&lt;P&gt;  &lt;/P&gt;&lt;P&gt;Now, regarding the error handling in call transaction. &lt;/P&gt;&lt;P&gt;The BDCMSGCOLL does not have the messages text. It has only the message type, number and message parameters. &lt;/P&gt;&lt;P&gt;You have to read the message text.  (recall that the database table T100 stores all the messages.) &lt;/P&gt;&lt;P&gt;There are more than one method of doing this. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Following is the psuedocode for one of the methods. &lt;/P&gt;&lt;P&gt;  &lt;/P&gt;&lt;P&gt;LOOP for the internal table IT1 which has data value from flat file. &lt;/P&gt;&lt;P&gt;  &lt;/P&gt;&lt;P&gt;call transcation using.... &lt;/P&gt;&lt;P&gt;if SY-SUBRC &amp;lt;&amp;gt; 0. &lt;/P&gt;&lt;P&gt;  &lt;/P&gt;&lt;P&gt;Read the dictionary table T100 FOR ALL ENTRIES in BDCMSGCOLL. &lt;/P&gt;&lt;P&gt;(also use the condition T100-SPRAS  =  SY-LANGU (the log on language. This is because you need only the message texts in English if the user is logged in English language) &lt;/P&gt;&lt;P&gt;  &lt;/P&gt;&lt;P&gt;IF message type is E , then, transfer the contents of this particular error record to file x. (TRANSFER......) &lt;/P&gt;&lt;P&gt;( Ignore all other messages. Only consider type 'E' messages. Ignore other types of messages.) &lt;/P&gt;&lt;P&gt;  &lt;/P&gt;&lt;P&gt;(You can also store the message text from T100 and the error record in another internal table IT2) &lt;/P&gt;&lt;P&gt;..... &lt;/P&gt;&lt;P&gt;.... &lt;/P&gt;&lt;P&gt;ENDLOOP. &lt;/P&gt;&lt;P&gt;  &lt;/P&gt;&lt;P&gt;Please note that the client might ask you for a file of records which could not be uploaded. &lt;/P&gt;&lt;P&gt;Give him the file created in the above psuedocode. (most often you will have to do this). &lt;/P&gt;&lt;P&gt;  &lt;/P&gt;&lt;P&gt;Otherwise just display the error messages and the error records in the internal table IT2 in the form of a list. &lt;/P&gt;&lt;P&gt;Thats it. &lt;/P&gt;&lt;P&gt;  &lt;/P&gt;&lt;P&gt;Alternatively, &lt;/P&gt;&lt;P&gt;  &lt;/P&gt;&lt;P&gt;Instead of &lt;/P&gt;&lt;P&gt;" Read the dictionary table T100 FOR ALL ENTRIES in BDCMSGCOLL." &lt;/P&gt;&lt;P&gt;you can use the function module &lt;/P&gt;&lt;P&gt;WRITE_MESSAGES to read the messages. &lt;/P&gt;&lt;P&gt;Please refer to the function module for the list of parameters. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT  ZTEST1234_ALV_TOP    MESSAGE-ID ZZ                           .&lt;/P&gt;&lt;P&gt;DATA: G_GRID TYPE REF TO CL_GUI_ALV_GRID.&lt;/P&gt;&lt;P&gt;DATA: L_VALID TYPE C,&lt;/P&gt;&lt;P&gt;      V_FLAG,&lt;/P&gt;&lt;P&gt;      V_DATA_CHANGE,&lt;/P&gt;&lt;P&gt;      V_ROW TYPE LVC_S_ROW,&lt;/P&gt;&lt;P&gt;      V_COLUMN TYPE LVC_S_COL,&lt;/P&gt;&lt;P&gt;      V_ROW_NUM TYPE LVC_S_ROID.&lt;/P&gt;&lt;P&gt;"The Below Definitions Must.....&lt;/P&gt;&lt;P&gt;DATA:&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Reference to document&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;       DG_DYNDOC_ID       TYPE REF TO CL_DD_DOCUMENT,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Reference to split container&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;       DG_SPLITTER          TYPE REF TO CL_GUI_SPLITTER_CONTAINER,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Reference to grid container&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;       DG_PARENT_GRID     TYPE REF TO CL_GUI_CONTAINER,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Reference to html container&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;       DG_HTML_CNTRL        TYPE REF TO CL_GUI_HTML_VIEWER,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Reference to html container&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;       DG_PARENT_HTML     TYPE REF TO CL_GUI_CONTAINER.&lt;/P&gt;&lt;P&gt;"up to here&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;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;**Hot spot Handler&lt;/P&gt;&lt;P&gt;    HANDLE_HOTSPOT_CLICK FOR EVENT HOTSPOT_CLICK OF CL_GUI_ALV_GRID&lt;/P&gt;&lt;P&gt;                      IMPORTING E_ROW_ID E_COLUMN_ID ES_ROW_NO,&lt;/P&gt;&lt;P&gt;**Double Click Handler&lt;/P&gt;&lt;P&gt;    HANDLE_DOUBLE_CLICK FOR EVENT DOUBLE_CLICK OF CL_GUI_ALV_GRID&lt;/P&gt;&lt;P&gt;                                     IMPORTING E_ROW E_COLUMN ES_ROW_NO,&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;    TOP_OF_PAGE FOR EVENT TOP_OF_PAGE              "event handler&lt;/P&gt;&lt;P&gt;                         OF CL_GUI_ALV_GRID&lt;/P&gt;&lt;P&gt;                         IMPORTING E_DYNDOC_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;P&gt;CLASS LCL_EVENT_HANDLER IMPLEMENTATION.&lt;/P&gt;&lt;P&gt;*Handle Hotspot Click&lt;/P&gt;&lt;P&gt;  METHOD HANDLE_HOTSPOT_CLICK .&lt;/P&gt;&lt;P&gt;    CLEAR: V_ROW,V_COLUMN,V_ROW_NUM.&lt;/P&gt;&lt;P&gt;    V_ROW  = E_ROW_ID.&lt;/P&gt;&lt;P&gt;    V_COLUMN = E_COLUMN_ID.&lt;/P&gt;&lt;P&gt;    V_ROW_NUM = ES_ROW_NO.&lt;/P&gt;&lt;P&gt;    MESSAGE I000 WITH V_ROW 'clicked'.&lt;/P&gt;&lt;P&gt;  ENDMETHOD.                    "lcl_event_handler&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;*Handle Double Click&lt;/P&gt;&lt;P&gt;  METHOD  HANDLE_DOUBLE_CLICK.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  ENDMETHOD.                    "handle_double_click&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  METHOD TOP_OF_PAGE.                   "implementation&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Top-of-page event&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    PERFORM EVENT_TOP_OF_PAGE USING DG_DYNDOC_ID.&lt;/P&gt;&lt;P&gt;  ENDMETHOD.                            "top_of_page&lt;/P&gt;&lt;P&gt;ENDCLASS.                    "LCL_EVENT_HANDLER IMPLEMENTATION&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;             Global Definitions&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;DATA:      G_CUSTOM_CONTAINER TYPE REF TO CL_GUI_CUSTOM_CONTAINER,"Container1&lt;/P&gt;&lt;P&gt;            G_HANDLER TYPE REF TO LCL_EVENT_HANDLER. "handler&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;DATA: OK_CODE LIKE SY-UCOMM,&lt;/P&gt;&lt;P&gt;      SAVE_OK LIKE SY-UCOMM,&lt;/P&gt;&lt;P&gt;      G_CONTAINER1 TYPE SCRFNAME VALUE 'TEST',&lt;/P&gt;&lt;P&gt;      GS_LAYOUT TYPE LVC_S_LAYO.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;*- Fieldcatalog for First and second Report&lt;/P&gt;&lt;P&gt;DATA: IT_FIELDCAT  TYPE  LVC_T_FCAT,&lt;/P&gt;&lt;P&gt;      X_FIELDCAT TYPE LVC_S_FCAT,&lt;/P&gt;&lt;P&gt;      LS_VARI  TYPE DISVARIANT.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;               START-OF_SELECTION&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;  DATA:BEGIN OF  ITAB OCCURS 0,&lt;/P&gt;&lt;P&gt;       VBELN LIKE LIKP-VBELN,&lt;/P&gt;&lt;P&gt;       POSNR LIKE LIPS-POSNR,&lt;/P&gt;&lt;P&gt;       CELLCOLOR TYPE LVC_T_SCOL, "required for color&lt;/P&gt;&lt;P&gt;       DROP(10),&lt;/P&gt;&lt;P&gt;       END OF ITAB.&lt;/P&gt;&lt;P&gt;  SELECT VBELN&lt;/P&gt;&lt;P&gt;         POSNR&lt;/P&gt;&lt;P&gt;         FROM LIPS&lt;/P&gt;&lt;P&gt;         UP TO 20 ROWS&lt;/P&gt;&lt;P&gt;         INTO CORRESPONDING FIELDS OF TABLE ITAB.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;END-OF-SELECTION.&lt;/P&gt;&lt;P&gt;  IF NOT ITAB[] IS INITIAL.&lt;/P&gt;&lt;P&gt;    CALL SCREEN 100.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    MESSAGE I002 WITH 'NO DATA FOR THE SELECTION'(004).&lt;/P&gt;&lt;P&gt;  ENDIF.&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  CREATE_AND_INIT_ALV&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 CREATE_AND_INIT_ALV .&lt;/P&gt;&lt;P&gt;  DATA: LT_EXCLUDE TYPE UI_FUNCTIONS.&lt;/P&gt;&lt;P&gt;  "attention.....from here&lt;/P&gt;&lt;P&gt;  "split your container here...into two parts&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  "create the container&lt;/P&gt;&lt;P&gt;  CREATE OBJECT G_CUSTOM_CONTAINER&lt;/P&gt;&lt;P&gt;           EXPORTING CONTAINER_NAME = G_CONTAINER1.&lt;/P&gt;&lt;P&gt;  "this is for top of page&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Create TOP-Document&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CREATE OBJECT DG_DYNDOC_ID&lt;/P&gt;&lt;P&gt;                   EXPORTING STYLE = 'ALV_GRID'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Create Splitter for custom_container&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CREATE OBJECT DG_SPLITTER&lt;/P&gt;&lt;P&gt;             EXPORTING PARENT  = G_CUSTOM_CONTAINER&lt;/P&gt;&lt;P&gt;                       ROWS    = 2&lt;/P&gt;&lt;P&gt;                       COLUMNS = 1.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Split the custom_container to two containers and move the reference&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;to receiving containers g_parent_html and g_parent_grid&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  "i am allocating the space for grid and top of page&lt;/P&gt;&lt;P&gt;  CALL METHOD DG_SPLITTER-&amp;gt;GET_CONTAINER&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      ROW       = 1&lt;/P&gt;&lt;P&gt;      COLUMN    = 1&lt;/P&gt;&lt;P&gt;    RECEIVING&lt;/P&gt;&lt;P&gt;      CONTAINER = DG_PARENT_HTML.&lt;/P&gt;&lt;P&gt;  CALL METHOD DG_SPLITTER-&amp;gt;GET_CONTAINER&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      ROW       = 2&lt;/P&gt;&lt;P&gt;      COLUMN    = 1&lt;/P&gt;&lt;P&gt;    RECEIVING&lt;/P&gt;&lt;P&gt;      CONTAINER = DG_PARENT_GRID.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  "you can set the height of it&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Set height for g_parent_html&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CALL METHOD DG_SPLITTER-&amp;gt;SET_ROW_HEIGHT&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      ID     = 1&lt;/P&gt;&lt;P&gt;      HEIGHT = 5.&lt;/P&gt;&lt;P&gt;  "from here as usual..you need to specify parent as splitter part&lt;/P&gt;&lt;P&gt;  "which we alloted for grid&lt;/P&gt;&lt;P&gt;  CREATE OBJECT G_GRID&lt;/P&gt;&lt;P&gt;         EXPORTING I_PARENT = DG_PARENT_GRID.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Set a titlebar for the grid control&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CLEAR GS_LAYOUT.&lt;/P&gt;&lt;P&gt;  GS_LAYOUT-GRID_TITLE = TEXT-003.&lt;/P&gt;&lt;P&gt;  GS_LAYOUT-ZEBRA = SPACE.&lt;/P&gt;&lt;P&gt;  GS_LAYOUT-CWIDTH_OPT = 'X'.&lt;/P&gt;&lt;P&gt;  GS_LAYOUT-NO_ROWMARK = 'X'.&lt;/P&gt;&lt;P&gt;  GS_LAYOUT-CTAB_FNAME = 'CELLCOLOR'.&lt;/P&gt;&lt;P&gt;  CALL METHOD G_GRID-&amp;gt;REGISTER_EDIT_EVENT&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      I_EVENT_ID = CL_GUI_ALV_GRID=&amp;gt;MC_EVT_ENTER.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  CREATE OBJECT G_HANDLER.&lt;/P&gt;&lt;P&gt;  SET HANDLER G_HANDLER-&amp;gt;HANDLE_DOUBLE_CLICK FOR G_GRID.&lt;/P&gt;&lt;P&gt;  SET HANDLER G_HANDLER-&amp;gt;HANDLE_HOTSPOT_CLICK FOR G_GRID.&lt;/P&gt;&lt;P&gt;  SET HANDLER G_HANDLER-&amp;gt;TOP_OF_PAGE FOR G_GRID.&lt;/P&gt;&lt;P&gt;  DATA: LS_CELLCOLOR TYPE LVC_S_SCOL. "required for color&lt;/P&gt;&lt;P&gt;  DATA: L_INDEX TYPE SY-TABIX.&lt;/P&gt;&lt;P&gt;  "Here i am changing the color of line 1,5,10...&lt;/P&gt;&lt;P&gt;  "so you can change the color of font conditionally&lt;/P&gt;&lt;P&gt;  LOOP AT ITAB.&lt;/P&gt;&lt;P&gt;    L_INDEX = SY-TABIX.&lt;/P&gt;&lt;P&gt;    IF L_INDEX = 1 OR L_INDEX = 5 OR L_INDEX = 10.&lt;/P&gt;&lt;P&gt;      LS_CELLCOLOR-FNAME = 'VBELN'.&lt;/P&gt;&lt;P&gt;      LS_CELLCOLOR-COLOR-COL = '6'.&lt;/P&gt;&lt;P&gt;      LS_CELLCOLOR-COLOR-INT = '0'.&lt;/P&gt;&lt;P&gt;      LS_CELLCOLOR-COLOR-INV = '1'.&lt;/P&gt;&lt;P&gt;      APPEND LS_CELLCOLOR TO ITAB-CELLCOLOR.&lt;/P&gt;&lt;P&gt;      MODIFY ITAB INDEX L_INDEX TRANSPORTING CELLCOLOR.&lt;/P&gt;&lt;P&gt;      LS_CELLCOLOR-FNAME = 'POSNR'.&lt;/P&gt;&lt;P&gt;      LS_CELLCOLOR-COLOR-COL = '6'.&lt;/P&gt;&lt;P&gt;      LS_CELLCOLOR-COLOR-INT = '0'.&lt;/P&gt;&lt;P&gt;      LS_CELLCOLOR-COLOR-INV = '1'.&lt;/P&gt;&lt;P&gt;      APPEND LS_CELLCOLOR TO ITAB-CELLCOLOR.&lt;/P&gt;&lt;P&gt;      MODIFY ITAB INDEX L_INDEX TRANSPORTING CELLCOLOR.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;setting focus for created grid control&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CALL METHOD CL_GUI_CONTROL=&amp;gt;SET_FOCUS&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      CONTROL = G_GRID.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Build fieldcat and set editable for date and reason code&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;edit enabled. Assign a handle for the dropdown listbox.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM BUILD_FIELDCAT.&lt;/P&gt;&lt;P&gt;  PERFORM  SET_DRDN_TABLE.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Optionally restrict generic functions to 'change only'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  (The user shall not be able to add new lines).&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM EXCLUDE_TB_FUNCTIONS CHANGING LT_EXCLUDE.&lt;/P&gt;&lt;P&gt;**Vaiant to save the layout&lt;/P&gt;&lt;P&gt;  LS_VARI-REPORT      = SY-REPID.&lt;/P&gt;&lt;P&gt;  LS_VARI-HANDLE      = SPACE.&lt;/P&gt;&lt;P&gt;  LS_VARI-LOG_GROUP   = SPACE.&lt;/P&gt;&lt;P&gt;  LS_VARI-USERNAME    = SPACE.&lt;/P&gt;&lt;P&gt;  LS_VARI-VARIANT     = SPACE.&lt;/P&gt;&lt;P&gt;  LS_VARI-TEXT        = SPACE.&lt;/P&gt;&lt;P&gt;  LS_VARI-DEPENDVARS  = SPACE.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;**Calling the Method for ALV output&lt;/P&gt;&lt;P&gt;  CALL METHOD G_GRID-&amp;gt;SET_TABLE_FOR_FIRST_DISPLAY&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      IT_TOOLBAR_EXCLUDING = LT_EXCLUDE&lt;/P&gt;&lt;P&gt;      IS_VARIANT           = LS_VARI&lt;/P&gt;&lt;P&gt;      IS_LAYOUT            = GS_LAYOUT&lt;/P&gt;&lt;P&gt;      I_SAVE               = 'A'&lt;/P&gt;&lt;P&gt;    CHANGING&lt;/P&gt;&lt;P&gt;      IT_FIELDCATALOG      = IT_FIELDCAT&lt;/P&gt;&lt;P&gt;      IT_OUTTAB            = ITAB[].&lt;/P&gt;&lt;P&gt;  "do these..{&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Initializing document&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CALL METHOD DG_DYNDOC_ID-&amp;gt;INITIALIZE_DOCUMENT.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Processing events&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CALL METHOD G_GRID-&amp;gt;LIST_PROCESSING_EVENTS&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      I_EVENT_NAME = 'TOP_OF_PAGE'&lt;/P&gt;&lt;P&gt;      I_DYNDOC_ID  = DG_DYNDOC_ID.&lt;/P&gt;&lt;P&gt;  "end }&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Set editable cells to ready for input initially&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CALL METHOD G_GRID-&amp;gt;SET_READY_FOR_INPUT&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      I_READY_FOR_INPUT = 1.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;ENDFORM.                               "CREATE_AND_INIT_ALV&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  EXCLUDE_TB_FUNCTIONS&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;PT_EXCLUDE 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 EXCLUDE_TB_FUNCTIONS CHANGING PT_EXCLUDE TYPE UI_FUNCTIONS.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Only allow to change data not to create new entries (exclude&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;generic functions).&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  DATA LS_EXCLUDE TYPE UI_FUNC.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  LS_EXCLUDE = CL_GUI_ALV_GRID=&amp;gt;MC_FC_LOC_COPY_ROW.&lt;/P&gt;&lt;P&gt;  APPEND LS_EXCLUDE TO PT_EXCLUDE.&lt;/P&gt;&lt;P&gt;  LS_EXCLUDE = CL_GUI_ALV_GRID=&amp;gt;MC_FC_LOC_DELETE_ROW.&lt;/P&gt;&lt;P&gt;  APPEND LS_EXCLUDE TO PT_EXCLUDE.&lt;/P&gt;&lt;P&gt;  LS_EXCLUDE = CL_GUI_ALV_GRID=&amp;gt;MC_FC_LOC_APPEND_ROW.&lt;/P&gt;&lt;P&gt;  APPEND LS_EXCLUDE TO PT_EXCLUDE.&lt;/P&gt;&lt;P&gt;  LS_EXCLUDE = CL_GUI_ALV_GRID=&amp;gt;MC_FC_LOC_INSERT_ROW.&lt;/P&gt;&lt;P&gt;  APPEND LS_EXCLUDE TO PT_EXCLUDE.&lt;/P&gt;&lt;P&gt;  LS_EXCLUDE = CL_GUI_ALV_GRID=&amp;gt;MC_FC_LOC_MOVE_ROW.&lt;/P&gt;&lt;P&gt;  APPEND LS_EXCLUDE TO PT_EXCLUDE.&lt;/P&gt;&lt;P&gt;  LS_EXCLUDE = CL_GUI_ALV_GRID=&amp;gt;MC_FC_LOC_COPY.&lt;/P&gt;&lt;P&gt;  APPEND LS_EXCLUDE TO PT_EXCLUDE.&lt;/P&gt;&lt;P&gt;  LS_EXCLUDE = CL_GUI_ALV_GRID=&amp;gt;MC_FC_LOC_CUT.&lt;/P&gt;&lt;P&gt;  APPEND LS_EXCLUDE TO PT_EXCLUDE.&lt;/P&gt;&lt;P&gt;  LS_EXCLUDE = CL_GUI_ALV_GRID=&amp;gt;MC_FC_LOC_PASTE.&lt;/P&gt;&lt;P&gt;  APPEND LS_EXCLUDE TO PT_EXCLUDE.&lt;/P&gt;&lt;P&gt;  LS_EXCLUDE = CL_GUI_ALV_GRID=&amp;gt;MC_FC_LOC_PASTE_NEW_ROW.&lt;/P&gt;&lt;P&gt;  APPEND LS_EXCLUDE TO PT_EXCLUDE.&lt;/P&gt;&lt;P&gt;  LS_EXCLUDE = CL_GUI_ALV_GRID=&amp;gt;MC_FC_LOC_UNDO.&lt;/P&gt;&lt;P&gt;  APPEND LS_EXCLUDE TO PT_EXCLUDE.&lt;/P&gt;&lt;P&gt;ENDFORM.                               " EXCLUDE_TB_FUNCTIONS&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  build_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;      Fieldcatalog&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM BUILD_FIELDCAT .&lt;/P&gt;&lt;P&gt;  DATA: L_POS TYPE I.&lt;/P&gt;&lt;P&gt;  L_POS = L_POS + 1.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  X_FIELDCAT-SCRTEXT_M = 'Delivery'(024).&lt;/P&gt;&lt;P&gt;  X_FIELDCAT-FIELDNAME = 'VBELN'.&lt;/P&gt;&lt;P&gt;  X_FIELDCAT-TABNAME = 'IT_FINAL'.&lt;/P&gt;&lt;P&gt;  X_FIELDCAT-COL_POS    = L_POS.&lt;/P&gt;&lt;P&gt;  X_FIELDCAT-NO_ZERO    = 'X'.&lt;/P&gt;&lt;P&gt;  X_FIELDCAT-OUTPUTLEN = '10'.&lt;/P&gt;&lt;P&gt;  X_FIELDCAT-HOTSPOT = 'X'.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  APPEND X_FIELDCAT TO IT_FIELDCAT.&lt;/P&gt;&lt;P&gt;  CLEAR X_FIELDCAT.&lt;/P&gt;&lt;P&gt;  L_POS = L_POS + 1.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  X_FIELDCAT-SCRTEXT_M = 'Item'(025).&lt;/P&gt;&lt;P&gt;  X_FIELDCAT-FIELDNAME = 'POSNR'.&lt;/P&gt;&lt;P&gt;  X_FIELDCAT-TABNAME = 'IT_FINAL'.&lt;/P&gt;&lt;P&gt;  X_FIELDCAT-COL_POS    = L_POS.&lt;/P&gt;&lt;P&gt;  X_FIELDCAT-OUTPUTLEN = '5'.&lt;/P&gt;&lt;P&gt;  APPEND X_FIELDCAT TO IT_FIELDCAT.&lt;/P&gt;&lt;P&gt;  CLEAR X_FIELDCAT.&lt;/P&gt;&lt;P&gt;  L_POS = L_POS + 1.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  X_FIELDCAT-SCRTEXT_M = 'Drop'(025).&lt;/P&gt;&lt;P&gt;  X_FIELDCAT-FIELDNAME = 'DROP'.&lt;/P&gt;&lt;P&gt;  X_FIELDCAT-TABNAME = 'IT_FINAL'.&lt;/P&gt;&lt;P&gt;  X_FIELDCAT-COL_POS    = L_POS.&lt;/P&gt;&lt;P&gt;  X_FIELDCAT-OUTPUTLEN = '5'.&lt;/P&gt;&lt;P&gt;  X_FIELDCAT-EDIT = 'X'.&lt;/P&gt;&lt;P&gt;  X_FIELDCAT-DRDN_HNDL = '1'.&lt;/P&gt;&lt;P&gt;  X_FIELDCAT-DRDN_ALIAS = 'X'.&lt;/P&gt;&lt;P&gt;  APPEND X_FIELDCAT TO IT_FIELDCAT.&lt;/P&gt;&lt;P&gt;  CLEAR X_FIELDCAT.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;ENDFORM.                    " build_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_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 'MAIN100'.&lt;/P&gt;&lt;P&gt;  SET TITLEBAR 'MAIN100'.&lt;/P&gt;&lt;P&gt;  IF G_CUSTOM_CONTAINER IS INITIAL.&lt;/P&gt;&lt;P&gt;**Initializing the grid and calling the fm to Display the O/P&lt;/P&gt;&lt;P&gt;    PERFORM CREATE_AND_INIT_ALV.&lt;/P&gt;&lt;P&gt;  ENDIF.&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;  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;  ENDCASE.&lt;/P&gt;&lt;P&gt;ENDMODULE.                 " USER_COMMAND_0100  INPUT&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  SET_DRDN_TABLE&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 SET_DRDN_TABLE.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  DATA:LT_DRAL TYPE LVC_T_DRAL,&lt;/P&gt;&lt;P&gt;        LS_DRAL TYPE LVC_S_DRAL.&lt;/P&gt;&lt;P&gt;  LOOP AT ITAB .&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;First listbox (handle '1').&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    IF SY-INDEX = 1.&lt;/P&gt;&lt;P&gt;      LS_DRAL-HANDLE = '1'.&lt;/P&gt;&lt;P&gt;      LS_DRAL-VALUE =  ' '.&lt;/P&gt;&lt;P&gt;      LS_DRAL-INT_VALUE =  ' '.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      LS_DRAL-HANDLE = '1'.&lt;/P&gt;&lt;P&gt;      LS_DRAL-VALUE =  ITAB-POSNR.&lt;/P&gt;&lt;P&gt;      LS_DRAL-INT_VALUE =  ITAB-POSNR.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    APPEND LS_DRAL TO LT_DRAL.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;**Setting the Drop down table for Reason Code&lt;/P&gt;&lt;P&gt;  CALL METHOD G_GRID-&amp;gt;SET_DROP_DOWN_TABLE&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      IT_DROP_DOWN_ALIAS = LT_DRAL.&lt;/P&gt;&lt;P&gt;ENDFORM.                               " set_drdn_table&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  EVENT_TOP_OF_PAGE&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;DG_DYNDOC_ID  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 EVENT_TOP_OF_PAGE USING   DG_DYNDOC_ID TYPE REF TO CL_DD_DOCUMENT.&lt;/P&gt;&lt;P&gt;  "this is more clear.....check it&lt;/P&gt;&lt;P&gt;  "first add text, then pass it to comentry write fm&lt;/P&gt;&lt;P&gt;  DATA : DL_TEXT(255) TYPE C.  "Text&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Populating header to top-of-page&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CALL METHOD DG_DYNDOC_ID-&amp;gt;ADD_TEXT&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      TEXT      = 'Test Report'&lt;/P&gt;&lt;P&gt;      SAP_STYLE = CL_DD_AREA=&amp;gt;HEADING.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Add new-line&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CALL METHOD DG_DYNDOC_ID-&amp;gt;NEW_LINE.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  CLEAR : DL_TEXT.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Move program ID&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CONCATENATE 'Program Name :' SY-REPID&lt;/P&gt;&lt;P&gt;         INTO DL_TEXT SEPARATED BY SPACE.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Add Program Name to Document&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM ADD_TEXT USING DL_TEXT.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Add new-line&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CALL METHOD DG_DYNDOC_ID-&amp;gt;NEW_LINE.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  CLEAR : DL_TEXT.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Move User ID&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CONCATENATE 'User ID :' SY-UNAME INTO DL_TEXT SEPARATED BY SPACE&lt;/P&gt;&lt;P&gt;.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Add User ID to Document&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM ADD_TEXT USING DL_TEXT.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Add new-line&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CALL METHOD DG_DYNDOC_ID-&amp;gt;NEW_LINE.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  CLEAR : DL_TEXT.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Move Client&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CONCATENATE 'Client :' SY-MANDT INTO DL_TEXT SEPARATED BY SPACE.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Add Client to Document&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM ADD_TEXT USING DL_TEXT.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Add new-line&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CALL METHOD DG_DYNDOC_ID-&amp;gt;NEW_LINE.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  CLEAR : DL_TEXT.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Move date&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  WRITE SY-DATUM TO DL_TEXT.&lt;/P&gt;&lt;P&gt;  CONCATENATE 'Date :' DL_TEXT INTO DL_TEXT SEPARATED BY SPACE.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Add Date to Document&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM ADD_TEXT USING DL_TEXT.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Add new-line&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CALL METHOD DG_DYNDOC_ID-&amp;gt;NEW_LINE.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  CLEAR : DL_TEXT.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Move time&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  WRITE SY-UZEIT TO DL_TEXT.&lt;/P&gt;&lt;P&gt;  CONCATENATE 'Time :' DL_TEXT INTO DL_TEXT SEPARATED BY SPACE.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Add Time to Document&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM ADD_TEXT USING DL_TEXT.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Add new-line&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CALL METHOD DG_DYNDOC_ID-&amp;gt;NEW_LINE.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Populating data to html control&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM HTML.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;ENDFORM.                    " EVENT_TOP_OF_PAGE&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  ADD_TEXT&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;      To add 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 ADD_TEXT USING P_TEXT TYPE SDYDO_TEXT_ELEMENT.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Adding text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CALL METHOD DG_DYNDOC_ID-&amp;gt;ADD_TEXT&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      TEXT         = P_TEXT&lt;/P&gt;&lt;P&gt;      SAP_EMPHASIS = CL_DD_AREA=&amp;gt;HEADING.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " ADD_TEXT&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  HTML&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 HTML.&lt;/P&gt;&lt;P&gt;  DATA : DL_LENGTH  TYPE I,                           " Length&lt;/P&gt;&lt;P&gt;         DL_BACKGROUND_ID TYPE SDYDO_KEY VALUE SPACE. " Background_id&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Creating html control&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF DG_HTML_CNTRL IS INITIAL.&lt;/P&gt;&lt;P&gt;    CREATE OBJECT DG_HTML_CNTRL&lt;/P&gt;&lt;P&gt;         EXPORTING&lt;/P&gt;&lt;P&gt;              PARENT    = DG_PARENT_HTML.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Reuse_alv_grid_commentary_set&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_GRID_COMMENTARY_SET'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      DOCUMENT = DG_DYNDOC_ID&lt;/P&gt;&lt;P&gt;      BOTTOM   = SPACE&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      LENGTH   = DL_LENGTH.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get TOP-&amp;gt;HTML_TABLE ready&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CALL METHOD DG_DYNDOC_ID-&amp;gt;MERGE_DOCUMENT.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Set wallpaper&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CALL METHOD DG_DYNDOC_ID-&amp;gt;SET_DOCUMENT_BACKGROUND&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      PICTURE_ID = DL_BACKGROUND_ID.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Connect TOP document to HTML-Control&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  DG_DYNDOC_ID-&amp;gt;HTML_CONTROL = DG_HTML_CNTRL.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Display TOP document&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CALL METHOD DG_DYNDOC_ID-&amp;gt;DISPLAY_DOCUMENT&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      REUSE_CONTROL      = 'X'&lt;/P&gt;&lt;P&gt;      PARENT             = DG_PARENT_HTML&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      HTML_DISPLAY_ERROR = 1.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC NE 0.&lt;/P&gt;&lt;P&gt;    MESSAGE I999 WITH 'Error in displaying top-of-page'(036).&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;ENDFORM.                    " HTML&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;Laxmi.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 22 Sep 2006 11:49:27 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/abap/m-p/1606020#M271933</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-09-22T11:49:27Z</dc:date>
    </item>
    <item>
      <title>Re: Abap</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/abap/m-p/1606021#M271934</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;1.select single is used when all the primary key fields are used.&lt;/P&gt;&lt;P&gt;  select upto one row is used if all key fields are not used in th where clause.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;3.Inorder to print the text in the header and footer of the ALV report .we use the function module REUSE_ALV_COMMENTARY_WRITE &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;sudha&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Message was edited by: Sudha Vutukuru&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 22 Sep 2006 11:53:20 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/abap/m-p/1606021#M271934</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-09-22T11:53:20Z</dc:date>
    </item>
  </channel>
</rss>

