<?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: CODING  EXAMPLE - LAYOUT ALV - ( very urgent ) in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/coding-example-layout-alv-very-urgent/m-p/3343560#M801596</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Saurav,&lt;/P&gt;&lt;P&gt;Please check this code.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                                      *&lt;/P&gt;&lt;P&gt;REPORT  y56098rdup_list&lt;/P&gt;&lt;P&gt;                NO STANDARD PAGE HEADING LINE-SIZE 240 LINE-COUNT 65(8) .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Declartion of Tables.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TABLES: ztril_logtable,zreasoncodes,zsdcustxref, usr21, adrp.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  TABLES-POOLS&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;**************************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPE-POOLS: slis.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Internal tables declarations.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*************************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Declaration of output internal table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF tb_output OCCURS 0,&lt;/P&gt;&lt;P&gt;        user_id TYPE xubname,                                " Requestor ID&lt;/P&gt;&lt;P&gt;        role TYPE zrole,                                     "Role&lt;/P&gt;&lt;P&gt;        kunnr TYPE kunnr ,                                   "Customer Number 1&lt;/P&gt;&lt;P&gt;        customer_name    TYPE name1,                         "Customer Name&lt;/P&gt;&lt;P&gt;        stras TYPE stras_gp,                                 "Street Address&lt;/P&gt;&lt;P&gt;        ort01 TYPE city,                                     "City&lt;/P&gt;&lt;P&gt;        regio TYPE regio,                                    "State&lt;/P&gt;&lt;P&gt;        pstlz TYPE pstlz,                                    "Postal Code&lt;/P&gt;&lt;P&gt;        land1 TYPE land1_gp,                                 "COUNTRY CODE&lt;/P&gt;&lt;P&gt;        po_box TYPE ad_pobx,                                 "PO Box Number&lt;/P&gt;&lt;P&gt;        tril_po_postal  TYPE zpobox_postal,                  "PO BOX Postal Code&lt;/P&gt;&lt;P&gt;        tril_err_msg TYPE zerr_message,                      "Error Message&lt;/P&gt;&lt;P&gt;        reason_type TYPE zreason_type,                       "Reason Type&lt;/P&gt;&lt;P&gt;        reason_code TYPE zreason_code,                       "Reason Code&lt;/P&gt;&lt;P&gt;        perc_prob TYPE zprobability ,                        "Probability Percentage&lt;/P&gt;&lt;P&gt;        pattern_number TYPE z_pattern_no,                     "Match Pattern Number&lt;/P&gt;&lt;P&gt;        country_code TYPE land1,                             "COUNTRY CODE&lt;/P&gt;&lt;P&gt;        user_id_name(92) TYPE c,                             "UserID + Fast Name + Last Name&lt;/P&gt;&lt;P&gt;        zlkunnr LIKE zsdcustxref-zlkunnr,                    "Legacy Customer NO&lt;/P&gt;&lt;P&gt;        saplegcustno(20) TYPE c,                             "SAP + Legacy Customer No&lt;/P&gt;&lt;P&gt;        reason_desc LIKE zreasoncodes-reason_desc,           "Reason Description&lt;/P&gt;&lt;P&gt;        saplegcustno1(20) TYPE c,&lt;/P&gt;&lt;P&gt;      END OF tb_output.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Declation of work area.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA: wa_output LIKE tb_output.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Declaration of Internal Table.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA: tb_fill_output LIKE tb_output OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;      wa_fill_output LIKE tb_fill_output.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Declaration of internal table for ZREASONCODES&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA: BEGIN OF tb_reasoncodes OCCURS 0.&lt;/P&gt;&lt;P&gt;        INCLUDE STRUCTURE zreasoncodes.&lt;/P&gt;&lt;P&gt;DATA: END OF tb_reasoncodes.&lt;/P&gt;&lt;P&gt;DATA: wa_reasoncodes LIKE tb_reasoncodes.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Declaration of internal table ZSDCUTXREF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA: BEGIN OF tb_zsdcustxref OCCURS 0,&lt;/P&gt;&lt;P&gt;        zlkunnr LIKE zsdcustxref-zlkunnr,                      " Legacy Customer No&lt;/P&gt;&lt;P&gt;        zlsourc LIKE zsdcustxref-zlsourc,                      " Legacy customer source code&lt;/P&gt;&lt;P&gt;        kunnr   LIKE zsdcustxref-kunnr,                        " Customer No&lt;/P&gt;&lt;P&gt;      END OF tb_zsdcustxref.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Declation of work area.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA: wa_zsdcustxref LIKE tb_zsdcustxref.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Declaration of internal table for USR21.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA: BEGIN OF tb_usr21 OCCURS 0,&lt;/P&gt;&lt;P&gt;       bname      LIKE usr21-bname,                           " USER NAME IN USER MASTER RECORD&lt;/P&gt;&lt;P&gt;       persnumber LIKE usr21-persnumber,                      " PERSON NUMBER&lt;/P&gt;&lt;P&gt;       name_first LIKE adrp-name_first,                       " FIRST NAME&lt;/P&gt;&lt;P&gt;       name_last  LIKE adrp-name_last,                        " LAST NAME&lt;/P&gt;&lt;P&gt;      END OF tb_usr21.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Declation of work area.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA: wa_usr21 LIKE tb_usr21.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Declaration of internal table for ADRP.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA: BEGIN OF tb_adrp OCCURS 0,&lt;/P&gt;&lt;P&gt;       persnumber LIKE adrp-persnumber,                       " PERSON NUMBER&lt;/P&gt;&lt;P&gt;       name_first LIKE adrp-name_first,                       " FIRST NAME&lt;/P&gt;&lt;P&gt;       name_last  LIKE adrp-name_last,                        " LAST NAME&lt;/P&gt;&lt;P&gt;      END OF tb_adrp.&lt;/P&gt;&lt;P&gt;DATA: wa_adrp LIKE tb_adrp.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Declaration for fieldcatalog&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;**************************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: tb_fieldcat TYPE slis_t_fieldcat_alv,&lt;/P&gt;&lt;P&gt;      wa_fieldcat TYPE slis_fieldcat_alv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Declaration for events&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;**************************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: tb_events TYPE slis_t_event,&lt;/P&gt;&lt;P&gt;      wa_event TYPE slis_alv_event.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Declaration for Layout&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;**************************************************************************&lt;/P&gt;&lt;P&gt;DATA: tb_layout TYPE slis_layout_alv,&lt;/P&gt;&lt;P&gt;      wb_layout TYPE slis_layout_alv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: wa_line TYPE slis_listheader,&lt;/P&gt;&lt;P&gt;      tb_list_header TYPE slis_t_listheader.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:   g_date1(40) TYPE c,&lt;/P&gt;&lt;P&gt;        g_date2(40) TYPE c,&lt;/P&gt;&lt;P&gt;        g_date3(80) TYPE c.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Declaration for Selection Screen Fields&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;**************************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN: BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS: s_userid FOR ztril_logtable-user_id,                  "Requestor ID&lt;/P&gt;&lt;P&gt;                s_r_type FOR zreasoncodes-reason_type,                " Reason Type&lt;/P&gt;&lt;P&gt;                s_r_code FOR zreasoncodes-reason_code&lt;/P&gt;&lt;P&gt;                                            MATCHCODE OBJECT zr_code. " Reason Code&lt;/P&gt;&lt;P&gt;PARAMETERS    : p_frmdat LIKE ztril_logtable-curr_date OBLIGATORY,     " from date&lt;/P&gt;&lt;P&gt;                p_to_dat LIKE ztril_logtable-curr_date OBLIGATORY.     " to date&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN: END OF BLOCK b1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Declaration for Varialbes&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;**************************************************************************&lt;/P&gt;&lt;P&gt;DATA: g_sc_no(20) TYPE c,     " To combine the SAP &amp;amp; Legacy Customer No&lt;/P&gt;&lt;P&gt;      g_user_name(92) TYPE c. " To concatnate the Userid and User Name.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : tb_repid LIKE trdir-name.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;tb_repid = 'Y56098RDUP_LIST'.&lt;/P&gt;&lt;P&gt;*tb-repid type sy-repid.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF tb_user OCCURS 0,&lt;/P&gt;&lt;P&gt;       user_id LIKE ztril_logtable-user_id,&lt;/P&gt;&lt;P&gt;      END OF tb_user.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;To get the P_USERID F4 Functionality for LOW and HIGH.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;AT SELECTION-SCREEN ON  VALUE-REQUEST FOR s_userid-low.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT user_id FROM ztril_logtable INTO TABLE tb_user.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SORT tb_user.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DELETE ADJACENT DUPLICATES FROM tb_user.&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      retfield        = 'S_USERID'&lt;/P&gt;&lt;P&gt;      dynpprog        = sy-repid&lt;/P&gt;&lt;P&gt;      dynpnr          = sy-dynnr&lt;/P&gt;&lt;P&gt;      dynprofield     = 'S_USERID'&lt;/P&gt;&lt;P&gt;      value_org       = 'S'&lt;/P&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      value_tab       = tb_user&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      parameter_error = 1&lt;/P&gt;&lt;P&gt;      no_values_found = 2&lt;/P&gt;&lt;P&gt;      OTHERS          = 3.&lt;/P&gt;&lt;P&gt;  IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    MESSAGE e210(zsd).&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN ON  VALUE-REQUEST FOR s_userid-high.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      retfield        = 'S_USERID'&lt;/P&gt;&lt;P&gt;      dynpprog        = sy-repid&lt;/P&gt;&lt;P&gt;      dynpnr          = sy-dynnr&lt;/P&gt;&lt;P&gt;      dynprofield     = 'S_USERID'&lt;/P&gt;&lt;P&gt;      value_org       = 'S'&lt;/P&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      value_tab       = tb_user&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      parameter_error = 1&lt;/P&gt;&lt;P&gt;      no_values_found = 2&lt;/P&gt;&lt;P&gt;      OTHERS          = 3.&lt;/P&gt;&lt;P&gt;  IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    MESSAGE e210(zsd).&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;At selection screen event.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;**************************************************************************&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Validation of User_id(USER_ID) &amp;amp; Reason Type(REASON_CODE)&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM checking_user_id.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Validation of Reason type from the table ZREASONCODES&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM check_reasontype.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Validation of Reason code from the table ZREASONCODES&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM check_reasoncode.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Validation for checking From-Date&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM checking_from_date.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Validation for checking To-Date&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM checking_to_date.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Start of selection event.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;REFRESH data &amp;amp; clear data.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM refresh_tables.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get ZTRIL_LOGTABLE Data.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM get_tril_logtable.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get data from ZREASONCODE.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM get_reasoncode_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get the data Customer No from ZSDCUSTREF based on ZTRIL_LOGTABLE-KUNNR&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM get_sdcustrefdata.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get the data First Name and Last Name&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM get_data_from_usr21_adrp.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Updateing the output internal table i.e. IT_OUTPUT  data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM fill_output_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Displaying output data with two different Rows.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM output_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Populate the field catelog.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM build_fieldcatlog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Declartion Events.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM event_call.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Top of page Information&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM top_of_page.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Declation of Layout&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM layout USING tb_layout.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;To get the Output Format( Simple List/ ALV )&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM grid_display.&lt;/P&gt;&lt;P&gt;  .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  get_tril_logtable&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 get the data from table ztril_logtable&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM get_tril_logtable.&lt;/P&gt;&lt;P&gt;  REFRESH: tb_output.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Reading data from the table ZTRIL_LOGTABLE&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  SELECT user_id&lt;/P&gt;&lt;P&gt;         role                      "Role&lt;/P&gt;&lt;P&gt;         kunnr                     "Customer Number 1&lt;/P&gt;&lt;P&gt;         customer_name             "Customer Name&lt;/P&gt;&lt;P&gt;         stras                     "Street Address&lt;/P&gt;&lt;P&gt;         ort01                     "City&lt;/P&gt;&lt;P&gt;         regio                     "State&lt;/P&gt;&lt;P&gt;         pstlz                     "Postal Code&lt;/P&gt;&lt;P&gt;         land1                     "COUNTRY CODE&lt;/P&gt;&lt;P&gt;         po_box                    "PO Box Number&lt;/P&gt;&lt;P&gt;         tril_po_postal            "PO BOX Postal Code&lt;/P&gt;&lt;P&gt;         tril_err_msg              "Error Message&lt;/P&gt;&lt;P&gt;         reason_type               "Reason Type&lt;/P&gt;&lt;P&gt;         reason_code               "Reason Code&lt;/P&gt;&lt;P&gt;         perc_prob&lt;/P&gt;&lt;P&gt;         pattern_number&lt;/P&gt;&lt;P&gt;         FROM ztril_logtable INTO&lt;/P&gt;&lt;P&gt;         CORRESPONDING FIELDS OF&lt;/P&gt;&lt;P&gt;         TABLE tb_output&lt;/P&gt;&lt;P&gt;         WHERE&lt;/P&gt;&lt;P&gt;        ( curr_date GE p_frmdat AND curr_date LE p_to_dat )&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       ( curr_date BETWEEN  p_frmdat AND  p_to_dat )&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;         AND&lt;/P&gt;&lt;P&gt;         user_id IN s_userid&lt;/P&gt;&lt;P&gt;         AND reason_code IN s_r_code&lt;/P&gt;&lt;P&gt;         AND reason_type IN s_r_type.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;    MESSAGE i202(zsd).&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " get_tril_logtable&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  get_reasoncode_data&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      To get the Reason code and Reason type&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM get_reasoncode_data .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;checking internal table initial data.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT tb_output[]  IS INITIAL.&lt;/P&gt;&lt;P&gt;    SELECT reason_type&lt;/P&gt;&lt;P&gt;           reason_code&lt;/P&gt;&lt;P&gt;           reason_desc&lt;/P&gt;&lt;P&gt;           FROM zreasoncodes&lt;/P&gt;&lt;P&gt;           INTO CORRESPONDING FIELDS OF TABLE tb_reasoncodes&lt;/P&gt;&lt;P&gt;           WHERE reason_type IN s_r_type&lt;/P&gt;&lt;P&gt;           AND reason_code IN s_r_code.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " get_reasoncode_data&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  get_sdcustrefdata&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 get the legasy customer number data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM get_sdcustrefdata .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT tb_output[] IS INITIAL.&lt;/P&gt;&lt;P&gt;    SELECT  zlkunnr                      " Legacy Customer No&lt;/P&gt;&lt;P&gt;            zlsourc                      " Legacy customer source code&lt;/P&gt;&lt;P&gt;            kunnr                        " Customer No&lt;/P&gt;&lt;P&gt;            FROM zsdcustxref INTO TABLE tb_zsdcustxref&lt;/P&gt;&lt;P&gt;            FOR ALL ENTRIES IN tb_output&lt;/P&gt;&lt;P&gt;            WHERE kunnr EQ tb_output-kunnr.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " get_sdcustrefdata&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  fill_output_data&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      To get the final data into the Internal Table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM fill_output_data .&lt;/P&gt;&lt;P&gt;  IF NOT tb_output[] IS INITIAL.&lt;/P&gt;&lt;P&gt;    SORT tb_output BY role user_id.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    LOOP AT tb_output INTO wa_output.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      READ TABLE tb_reasoncodes INTO wa_reasoncodes&lt;/P&gt;&lt;P&gt;                    WITH KEY&lt;/P&gt;&lt;P&gt;                    reason_type = wa_output-reason_type&lt;/P&gt;&lt;P&gt;                    reason_code = wa_output-reason_code BINARY SEARCH.&lt;/P&gt;&lt;P&gt;      IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;        wa_output-reason_desc = wa_reasoncodes-reason_desc.&lt;/P&gt;&lt;P&gt;        CLEAR wa_reasoncodes.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;      READ TABLE  tb_zsdcustxref INTO wa_zsdcustxref&lt;/P&gt;&lt;P&gt;                                 WITH KEY&lt;/P&gt;&lt;P&gt;                                 kunnr = wa_output-kunnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;        CONCATENATE  wa_zsdcustxref-zlkunnr&lt;/P&gt;&lt;P&gt;                     wa_zsdcustxref-zlsourc&lt;/P&gt;&lt;P&gt;                       INTO&lt;/P&gt;&lt;P&gt;                     g_sc_no SEPARATED BY ' - '.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       wa_output-saplegcustno1 = wa_zsdcustxref-zlkunnr.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        wa_output-saplegcustno1 = g_sc_no.&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;        wa_output-saplegcustno = wa_output-kunnr.&lt;/P&gt;&lt;P&gt;        CLEAR: wa_reasoncodes,g_sc_no.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      READ TABLE tb_usr21 INTO wa_usr21 WITH KEY bname = wa_output-user_id.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF sy-subrc EQ 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       CONCATENATE wa_usr21-bname&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        CONCATENATE   wa_usr21-name_first&lt;/P&gt;&lt;P&gt;                      wa_usr21-name_last&lt;/P&gt;&lt;P&gt;                         INTO&lt;/P&gt;&lt;P&gt;                      g_user_name SEPARATED BY space.&lt;/P&gt;&lt;P&gt;        wa_output-user_id_name = g_user_name.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      MODIFY tb_output FROM wa_output&lt;/P&gt;&lt;P&gt;                            TRANSPORTING&lt;/P&gt;&lt;P&gt;                            reason_desc&lt;/P&gt;&lt;P&gt;                            saplegcustno&lt;/P&gt;&lt;P&gt;                            user_id_name&lt;/P&gt;&lt;P&gt;                            saplegcustno1.&lt;/P&gt;&lt;P&gt;      CLEAR: g_user_name,wa_usr21, wa_adrp.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " fill_output_data&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  get_data_from_USR21_ADRP&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 get the first name and last name from ADRP table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM get_data_from_usr21_adrp .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT tb_output[] IS INITIAL.&lt;/P&gt;&lt;P&gt;    SELECT bname&lt;/P&gt;&lt;P&gt;           persnumber&lt;/P&gt;&lt;P&gt;           FROM usr21&lt;/P&gt;&lt;P&gt;           INTO CORRESPONDING FIELDS OF TABLE tb_usr21&lt;/P&gt;&lt;P&gt;           FOR ALL ENTRIES IN tb_output&lt;/P&gt;&lt;P&gt;           WHERE bname EQ tb_output-user_id.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF NOT tb_usr21[] IS INITIAL.&lt;/P&gt;&lt;P&gt;      SELECT persnumber&lt;/P&gt;&lt;P&gt;             name_first&lt;/P&gt;&lt;P&gt;             name_last&lt;/P&gt;&lt;P&gt;             FROM adrp INTO TABLE tb_adrp&lt;/P&gt;&lt;P&gt;             FOR ALL ENTRIES IN tb_usr21&lt;/P&gt;&lt;P&gt;             WHERE persnumber EQ tb_usr21-persnumber.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  LOOP AT tb_usr21 INTO wa_usr21.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    READ TABLE tb_adrp INTO wa_adrp WITH KEY persnumber = wa_usr21-persnumber.&lt;/P&gt;&lt;P&gt;    IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;      wa_usr21-name_first = wa_adrp-name_first.&lt;/P&gt;&lt;P&gt;      wa_usr21-name_last = wa_adrp-name_last.&lt;/P&gt;&lt;P&gt;      CLEAR wa_adrp.&lt;/P&gt;&lt;P&gt;      MODIFY tb_usr21 FROM wa_usr21 TRANSPORTING name_first name_last.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " get_data_from_USR21_ADRP&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  build_fieldcatlog&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;      It is used to build the fieldcatlog&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_fieldcatlog .&lt;/P&gt;&lt;P&gt;  wa_fieldcat-col_pos = 1.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-tabname = 'TB_FILL_DATA'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-fieldname = 'USER_ID'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-seltext_l = 'Requestor ID'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-input = 'X'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-edit = 'X'.&lt;/P&gt;&lt;P&gt;  APPEND wa_fieldcat TO tb_fieldcat.&lt;/P&gt;&lt;P&gt;  CLEAR wa_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  wa_fieldcat-col_pos = 2.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-tabname = 'TB_FILL_DATA'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-fieldname = 'USER_ID_NAME'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-seltext_l = 'Requestor Name'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-input = 'X'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-edit = 'X'.&lt;/P&gt;&lt;P&gt;  APPEND wa_fieldcat TO tb_fieldcat.&lt;/P&gt;&lt;P&gt;  CLEAR wa_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  wa_fieldcat-col_pos = 3.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-tabname = 'TB_FILL_DATA'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-fieldname = 'SAPLEGCUSTNO'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-seltext_l = 'SAP &amp;amp; Legacy Customer No'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-input = 'X'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-edit = 'X'.&lt;/P&gt;&lt;P&gt;  APPEND wa_fieldcat TO tb_fieldcat.&lt;/P&gt;&lt;P&gt;  CLEAR wa_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  wa_fieldcat-col_pos = 4.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-tabname = 'TB_FILL_DATA'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-fieldname = 'CUSTOMER_NAME'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-seltext_m = 'Customer Name'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-input = 'X'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-edit = 'X'.&lt;/P&gt;&lt;P&gt;  APPEND wa_fieldcat TO tb_fieldcat.&lt;/P&gt;&lt;P&gt;  CLEAR wa_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  wa_fieldcat-col_pos = 5.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-tabname = 'TB_FILL_DATA'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-fieldname = 'STRAS'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-seltext_m = 'Street Address'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-input = 'X'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-edit = 'X'.&lt;/P&gt;&lt;P&gt;  APPEND wa_fieldcat TO tb_fieldcat.&lt;/P&gt;&lt;P&gt;  CLEAR wa_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  wa_fieldcat-col_pos = 6.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-tabname = 'TB_FILL_DATA'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-fieldname = 'ORT01'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-seltext_m = 'City'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-input = 'X'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-edit = 'X'.&lt;/P&gt;&lt;P&gt;  APPEND wa_fieldcat TO tb_fieldcat.&lt;/P&gt;&lt;P&gt;  CLEAR wa_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  wa_fieldcat-col_pos = 7.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-tabname = 'TB_FILL_DATA'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-fieldname = 'REGIO'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-seltext_m = 'State'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-input = 'X'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-edit = 'X'.&lt;/P&gt;&lt;P&gt;  APPEND wa_fieldcat TO tb_fieldcat.&lt;/P&gt;&lt;P&gt;  CLEAR wa_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  wa_fieldcat-col_pos = 8.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-tabname = 'TB_FILL_DATA'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-fieldname = 'PSTLZ'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-seltext_m = 'Postal Code'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-input = 'X'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-edit = 'X'.&lt;/P&gt;&lt;P&gt;  APPEND wa_fieldcat TO tb_fieldcat.&lt;/P&gt;&lt;P&gt;  CLEAR wa_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  wa_fieldcat-col_pos = 9.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-tabname = 'TB_FILL_DATA'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-fieldname = 'LAND1'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-seltext_m = 'Country Code'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-input = 'X'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-edit = 'X'.&lt;/P&gt;&lt;P&gt;  APPEND wa_fieldcat TO tb_fieldcat.&lt;/P&gt;&lt;P&gt;  CLEAR wa_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  wa_fieldcat-col_pos = 10.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-tabname = 'TB_FILL_DATA'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-fieldname = 'PO_BOX'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-seltext_m = 'PO BOX NO'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-input = 'X'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-edit = 'X'.&lt;/P&gt;&lt;P&gt;  APPEND wa_fieldcat TO tb_fieldcat.&lt;/P&gt;&lt;P&gt;  CLEAR wa_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  wa_fieldcat-col_pos = 11.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-tabname = 'TB_FILL_DATA'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-fieldname = 'TRIL_PO_POSTAL'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-seltext_m = 'PO Box Postal Code'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-input = 'X'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-edit = 'X'.&lt;/P&gt;&lt;P&gt;  APPEND wa_fieldcat TO tb_fieldcat.&lt;/P&gt;&lt;P&gt;  CLEAR wa_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  wa_fieldcat-col_pos = 12.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-tabname = 'TB_FILL_DATA'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-fieldname = 'REASON_TYPE'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-seltext_m = 'Reason Type'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-input = 'X'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-edit = 'X'.&lt;/P&gt;&lt;P&gt;  APPEND wa_fieldcat TO tb_fieldcat.&lt;/P&gt;&lt;P&gt;  CLEAR wa_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  wa_fieldcat-col_pos = 13.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-tabname = 'TB_FILL_DATA'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-fieldname = 'REASON_CODE'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-seltext_m = 'Reason Code'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-input = 'X'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-edit = 'X'.&lt;/P&gt;&lt;P&gt;  APPEND wa_fieldcat TO tb_fieldcat.&lt;/P&gt;&lt;P&gt;  CLEAR wa_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  wa_fieldcat-col_pos = 14.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-tabname = 'TB_FILL_DATA'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-fieldname = 'REASON_DESC'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-seltext_m = 'Reason Description'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-input = 'X'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-edit = 'X'.&lt;/P&gt;&lt;P&gt;  APPEND wa_fieldcat TO tb_fieldcat.&lt;/P&gt;&lt;P&gt;  CLEAR wa_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  wa_fieldcat-col_pos = 15.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-tabname = 'TB_FILL_DATA'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-fieldname = 'PERC_PROB'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-seltext_m = 'TOP %'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-input = 'X'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-edit = 'X'.&lt;/P&gt;&lt;P&gt;  APPEND wa_fieldcat TO tb_fieldcat.&lt;/P&gt;&lt;P&gt;  CLEAR wa_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  wa_fieldcat-col_pos = 16.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-tabname = 'TB_FILL_DATA'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-fieldname = 'PATTERN_NUMBER'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-seltext_m = 'Match Pattern'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-input = 'X'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-edit = 'X'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-datatype = 'N'.&lt;/P&gt;&lt;P&gt;  APPEND wa_fieldcat TO tb_fieldcat.&lt;/P&gt;&lt;P&gt;  CLEAR wa_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " build_fieldcatlog&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  event_call&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;     It is used to call the events&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM event_call .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_EVENTS_GET'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      i_list_type     = 0&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      et_events       = tb_events&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      list_type_wrong = 1&lt;/P&gt;&lt;P&gt;      OTHERS          = 2.&lt;/P&gt;&lt;P&gt;  IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno&lt;/P&gt;&lt;P&gt;            WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " event_call&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  grid_display&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 display the output in ALV Grid  format&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM grid_display .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_INTERFACE_CHECK                 = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_BYPASSING_BUFFER                = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_BUFFER_ACTIVE                   = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;       i_callback_program                = tb_repid&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      i_callback_pf_status_set          = 'SET_PF_STATUS'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;       i_callback_user_command           = 'USER_COMMAND'&lt;/P&gt;&lt;P&gt;       i_callback_top_of_page            = 'TOP_OF_PAGE'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_CALLBACK_HTML_TOP_OF_PAGE       = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_CALLBACK_HTML_END_OF_LIST       = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_STRUCTURE_NAME                  =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_BACKGROUND_ID                   = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_GRID_TITLE                      =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_GRID_SETTINGS                   =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;       is_layout                         = wb_layout&lt;/P&gt;&lt;P&gt;       it_fieldcat                       = tb_fieldcat[]&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_EXCLUDING                      =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_SPECIAL_GROUPS                 =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_SORT                           =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_FILTER                         =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_SEL_HIDE                       =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   I_DEFAULT                         = 'X'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SAVE                            = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_VARIANT                        =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;       it_events                         = tb_events&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_EVENT_EXIT                     =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_PRINT                          =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_REPREP_ID                      =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SCREEN_START_COLUMN             = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SCREEN_START_LINE               = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SCREEN_END_COLUMN               = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SCREEN_END_LINE                 = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_HTML_HEIGHT_TOP                 = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_HTML_HEIGHT_END                 = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_ALV_GRAPHICS                   =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_HYPERLINK                      =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_ADD_FIELDCAT                   =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_EXCEPT_QINFO                   =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IR_SALV_FULLSCREEN_ADAPTER        =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  E_EXIT_CAUSED_BY_CALLER           =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  ES_EXIT_CAUSED_BY_USER            =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     TABLES&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      t_outtab                          = tb_output&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      t_outtab                          = tb_fill_output&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      program_error                     = 1&lt;/P&gt;&lt;P&gt;      OTHERS                            = 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno&lt;/P&gt;&lt;P&gt;    WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " grid_display&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  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;      It is used to display the Top-of-page&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM top_of_page .&lt;/P&gt;&lt;P&gt;  CLEAR: wa_line, tb_list_header[].&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  wa_line-typ = 'H'.&lt;/P&gt;&lt;P&gt;  wa_line-info = 'Duplicates Ignored by Requestor Report'.&lt;/P&gt;&lt;P&gt;  APPEND wa_line TO tb_list_header.&lt;/P&gt;&lt;P&gt;  CLEAR wa_line.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  wa_line-typ = 'S'.&lt;/P&gt;&lt;P&gt;  WRITE p_frmdat TO g_date1 DD/MM/YY.&lt;/P&gt;&lt;P&gt;  WRITE p_to_dat TO g_date2 DD/MM/YY.&lt;/P&gt;&lt;P&gt;  CONCATENATE 'From Date : ' g_date1  '        To Date : ' g_date2&lt;/P&gt;&lt;P&gt;                INTO g_date3 SEPARATED BY  space .&lt;/P&gt;&lt;P&gt;  wa_line-info = g_date3.&lt;/P&gt;&lt;P&gt;  APPEND wa_line TO tb_list_header.&lt;/P&gt;&lt;P&gt;  CLEAR wa_line.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      it_list_commentary = tb_list_header.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   i_logo                   =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   I_END_OF_LIST_GRID       =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " top_of_page&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  layout&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;   It is used to display the output layout&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM layout  USING    p_tb_layout.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  tb_layout-detail_popup      = 'X'.&lt;/P&gt;&lt;P&gt;  tb_layout-colwidth_optimize = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " layout&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  refresh_tables&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 Refresh the internal table workarea&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM refresh_tables .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  REFRESH: tb_output, tb_reasoncodes, tb_zsdcustxref, tb_usr21, tb_fill_output.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR: wa_output, wa_reasoncodes, wa_zsdcustxref, wa_usr21, wa_fill_output.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " refresh_tables&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_PF_STATUS&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; It is used to populate the PF_STATUS&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM set_pf_status USING tb_extab TYPE slis_t_extab.&lt;/P&gt;&lt;P&gt;  SET PF-STATUS 'ZSTANDARD'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " SET_PF_STATUS&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  USER_COMMAND&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 avoid the shortdump of ALV Report&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM user_command USING rf_ucomm    LIKE sy-ucomm&lt;/P&gt;&lt;P&gt;                        rs_selfield TYPE slis_selfield.&lt;/P&gt;&lt;P&gt;ENDFORM.                              "user_command&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  check_reasoncode&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;      Checking Reason Code&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM check_reasoncode .&lt;/P&gt;&lt;P&gt;  IF NOT s_r_type IS INITIAL.&lt;/P&gt;&lt;P&gt;    SELECT SINGLE reason_code FROM zreasoncodes INTO s_r_code&lt;/P&gt;&lt;P&gt;                              WHERE reason_type IN s_r_type&lt;/P&gt;&lt;P&gt;                              AND reason_code IN s_r_code.&lt;/P&gt;&lt;P&gt;    IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;      SET CURSOR FIELD 'S_R_CODE-LOW'.&lt;/P&gt;&lt;P&gt;      MESSAGE e204(zsd).&lt;/P&gt;&lt;P&gt;    ELSEIF s_r_code = 'TP'.&lt;/P&gt;&lt;P&gt;      MESSAGE e208(zsd).&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " check_reasoncode&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  check_reasontype&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;   Checking Reason Type&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM check_reasontype .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF s_r_type-low = 'TP' OR&lt;/P&gt;&lt;P&gt;       s_r_type-high = 'TP'.&lt;/P&gt;&lt;P&gt;    MESSAGE e208(zsd).&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT SINGLE reason_type FROM zreasoncodes INTO s_r_type&lt;/P&gt;&lt;P&gt;                             WHERE reason_type IN s_r_type.&lt;/P&gt;&lt;P&gt;  IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    MESSAGE e201(zsd).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " check_reasontype&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  checking_From_date&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;      Checking From Date&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM checking_from_date .&lt;/P&gt;&lt;P&gt;  SELECT SINGLE&lt;/P&gt;&lt;P&gt;          curr_date&lt;/P&gt;&lt;P&gt;          FROM ztril_logtable&lt;/P&gt;&lt;P&gt;          INTO ztril_logtable-curr_date&lt;/P&gt;&lt;P&gt;          WHERE curr_date EQ  p_frmdat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;    MESSAGE e205(zsd).&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " checking_From_date&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  checking_To_date&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;  Checking To_date&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 checking_to_date .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT SINGLE&lt;/P&gt;&lt;P&gt;           curr_date&lt;/P&gt;&lt;P&gt;           FROM ztril_logtable&lt;/P&gt;&lt;P&gt;           INTO ztril_logtable-curr_date&lt;/P&gt;&lt;P&gt;           WHERE curr_date EQ  p_to_dat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;    MESSAGE e206(zsd).&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; elseif p_frmdat lt p_to_dat.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   Message e209(zsd).&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ELSEIF p_frmdat GT p_to_dat.&lt;/P&gt;&lt;P&gt;    MESSAGE e207(zsd).&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " checking_To_date&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  checking_user_id&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      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 checking_user_id .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT SINGLE user_id&lt;/P&gt;&lt;P&gt;           FROM ztril_logtable&lt;/P&gt;&lt;P&gt;           INTO s_userid&lt;/P&gt;&lt;P&gt;           WHERE user_id IN s_userid.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;    MESSAGE e200(zsd).&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " checking_user_id&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  output_data&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  To print the Legacy customer No and SAP no into two different rows.*&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 output_data .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT tb_output INTO wa_output.&lt;/P&gt;&lt;P&gt;    wa_fill_output-user_id = wa_output-user_id.&lt;/P&gt;&lt;P&gt;    wa_fill_output-role = wa_output-role.&lt;/P&gt;&lt;P&gt;    wa_fill_output-saplegcustno = wa_output-kunnr.&lt;/P&gt;&lt;P&gt;    wa_fill_output-user_id_name = wa_output-user_id_name.&lt;/P&gt;&lt;P&gt;    wa_fill_output-customer_name = wa_output-customer_name.&lt;/P&gt;&lt;P&gt;    wa_fill_output-stras = wa_output-stras.&lt;/P&gt;&lt;P&gt;    wa_fill_output-ort01 = wa_output-ort01.&lt;/P&gt;&lt;P&gt;    wa_fill_output-regio = wa_output-regio.&lt;/P&gt;&lt;P&gt;    wa_fill_output-pstlz = wa_output-pstlz.&lt;/P&gt;&lt;P&gt;    wa_fill_output-land1 = wa_output-land1.&lt;/P&gt;&lt;P&gt;    wa_fill_output-po_box = wa_output-po_box.&lt;/P&gt;&lt;P&gt;    wa_fill_output-tril_po_postal = wa_output-tril_po_postal.&lt;/P&gt;&lt;P&gt;    wa_fill_output-tril_err_msg = wa_output-tril_err_msg.&lt;/P&gt;&lt;P&gt;    wa_fill_output-reason_type = wa_output-reason_type.&lt;/P&gt;&lt;P&gt;    wa_fill_output-reason_code = wa_output-reason_code.&lt;/P&gt;&lt;P&gt;    wa_fill_output-country_code = wa_output-country_code.&lt;/P&gt;&lt;P&gt;    wa_fill_output-reason_desc = wa_output-reason_desc.&lt;/P&gt;&lt;P&gt;    wa_fill_output-pattern_number =  wa_output-pattern_number.&lt;/P&gt;&lt;P&gt;    wa_fill_output-perc_prob = wa_output-perc_prob.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CLEAR:  wa_output-user_id,&lt;/P&gt;&lt;P&gt;            wa_output-role,&lt;/P&gt;&lt;P&gt;            wa_output-kunnr,&lt;/P&gt;&lt;P&gt;            wa_output-user_id_name,&lt;/P&gt;&lt;P&gt;            wa_output-stras,&lt;/P&gt;&lt;P&gt;            wa_output-ort01,&lt;/P&gt;&lt;P&gt;            wa_output-regio,&lt;/P&gt;&lt;P&gt;            wa_output-pstlz,&lt;/P&gt;&lt;P&gt;            wa_output-land1,&lt;/P&gt;&lt;P&gt;            wa_output-po_box,&lt;/P&gt;&lt;P&gt;            wa_output-tril_po_postal,&lt;/P&gt;&lt;P&gt;            wa_output-tril_err_msg,&lt;/P&gt;&lt;P&gt;            wa_output-reason_type,&lt;/P&gt;&lt;P&gt;            wa_output-reason_code,&lt;/P&gt;&lt;P&gt;            wa_output-country_code,&lt;/P&gt;&lt;P&gt;            wa_output-reason_desc,&lt;/P&gt;&lt;P&gt;            wa_output-customer_name,&lt;/P&gt;&lt;P&gt;            wa_output-pattern_number,&lt;/P&gt;&lt;P&gt;            wa_output-perc_prob.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    APPEND wa_fill_output TO tb_fill_output.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF NOT wa_output-saplegcustno1 IS INITIAL.&lt;/P&gt;&lt;P&gt;      CLEAR:  wa_fill_output-user_id,&lt;/P&gt;&lt;P&gt;              wa_fill_output-role,&lt;/P&gt;&lt;P&gt;              wa_fill_output-kunnr,&lt;/P&gt;&lt;P&gt;              wa_fill_output-user_id_name,&lt;/P&gt;&lt;P&gt;              wa_fill_output-stras,&lt;/P&gt;&lt;P&gt;              wa_fill_output-ort01,&lt;/P&gt;&lt;P&gt;              wa_fill_output-regio,&lt;/P&gt;&lt;P&gt;              wa_fill_output-pstlz,&lt;/P&gt;&lt;P&gt;              wa_fill_output-land1,&lt;/P&gt;&lt;P&gt;              wa_fill_output-po_box,&lt;/P&gt;&lt;P&gt;              wa_fill_output-tril_po_postal,&lt;/P&gt;&lt;P&gt;              wa_fill_output-tril_err_msg,&lt;/P&gt;&lt;P&gt;              wa_fill_output-reason_type,&lt;/P&gt;&lt;P&gt;              wa_fill_output-reason_code,&lt;/P&gt;&lt;P&gt;              wa_fill_output-country_code,&lt;/P&gt;&lt;P&gt;              wa_fill_output-reason_desc,&lt;/P&gt;&lt;P&gt;              wa_fill_output-customer_name,&lt;/P&gt;&lt;P&gt;              wa_fill_output-pattern_number,&lt;/P&gt;&lt;P&gt;              wa_fill_output-perc_prob.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      wa_fill_output-saplegcustno = wa_output-saplegcustno1.&lt;/P&gt;&lt;P&gt;      APPEND wa_fill_output TO tb_fill_output.&lt;/P&gt;&lt;P&gt;      CLEAR: wa_output.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " output_data&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 22 Jan 2008 08:17:22 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2008-01-22T08:17:22Z</dc:date>
    <item>
      <title>CODING  EXAMPLE - LAYOUT ALV - ( very urgent )</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/coding-example-layout-alv-very-urgent/m-p/3343559#M801595</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Could any body please give me the  coding example&lt;/P&gt;&lt;P&gt;where slis_layout_alv is used ? Please treat this as very urgent.&lt;/P&gt;&lt;P&gt;                               &lt;/P&gt;&lt;P&gt;                          Yours sincerely,&lt;/P&gt;&lt;P&gt;                           SAURAV  LAHIRY&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 22 Jan 2008 08:12:20 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/coding-example-layout-alv-very-urgent/m-p/3343559#M801595</guid>
      <dc:creator>former_member574106</dc:creator>
      <dc:date>2008-01-22T08:12:20Z</dc:date>
    </item>
    <item>
      <title>Re: CODING  EXAMPLE - LAYOUT ALV - ( very urgent )</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/coding-example-layout-alv-very-urgent/m-p/3343560#M801596</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Saurav,&lt;/P&gt;&lt;P&gt;Please check this code.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                                      *&lt;/P&gt;&lt;P&gt;REPORT  y56098rdup_list&lt;/P&gt;&lt;P&gt;                NO STANDARD PAGE HEADING LINE-SIZE 240 LINE-COUNT 65(8) .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Declartion of Tables.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TABLES: ztril_logtable,zreasoncodes,zsdcustxref, usr21, adrp.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  TABLES-POOLS&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;**************************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPE-POOLS: slis.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Internal tables declarations.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*************************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Declaration of output internal table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF tb_output OCCURS 0,&lt;/P&gt;&lt;P&gt;        user_id TYPE xubname,                                " Requestor ID&lt;/P&gt;&lt;P&gt;        role TYPE zrole,                                     "Role&lt;/P&gt;&lt;P&gt;        kunnr TYPE kunnr ,                                   "Customer Number 1&lt;/P&gt;&lt;P&gt;        customer_name    TYPE name1,                         "Customer Name&lt;/P&gt;&lt;P&gt;        stras TYPE stras_gp,                                 "Street Address&lt;/P&gt;&lt;P&gt;        ort01 TYPE city,                                     "City&lt;/P&gt;&lt;P&gt;        regio TYPE regio,                                    "State&lt;/P&gt;&lt;P&gt;        pstlz TYPE pstlz,                                    "Postal Code&lt;/P&gt;&lt;P&gt;        land1 TYPE land1_gp,                                 "COUNTRY CODE&lt;/P&gt;&lt;P&gt;        po_box TYPE ad_pobx,                                 "PO Box Number&lt;/P&gt;&lt;P&gt;        tril_po_postal  TYPE zpobox_postal,                  "PO BOX Postal Code&lt;/P&gt;&lt;P&gt;        tril_err_msg TYPE zerr_message,                      "Error Message&lt;/P&gt;&lt;P&gt;        reason_type TYPE zreason_type,                       "Reason Type&lt;/P&gt;&lt;P&gt;        reason_code TYPE zreason_code,                       "Reason Code&lt;/P&gt;&lt;P&gt;        perc_prob TYPE zprobability ,                        "Probability Percentage&lt;/P&gt;&lt;P&gt;        pattern_number TYPE z_pattern_no,                     "Match Pattern Number&lt;/P&gt;&lt;P&gt;        country_code TYPE land1,                             "COUNTRY CODE&lt;/P&gt;&lt;P&gt;        user_id_name(92) TYPE c,                             "UserID + Fast Name + Last Name&lt;/P&gt;&lt;P&gt;        zlkunnr LIKE zsdcustxref-zlkunnr,                    "Legacy Customer NO&lt;/P&gt;&lt;P&gt;        saplegcustno(20) TYPE c,                             "SAP + Legacy Customer No&lt;/P&gt;&lt;P&gt;        reason_desc LIKE zreasoncodes-reason_desc,           "Reason Description&lt;/P&gt;&lt;P&gt;        saplegcustno1(20) TYPE c,&lt;/P&gt;&lt;P&gt;      END OF tb_output.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Declation of work area.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA: wa_output LIKE tb_output.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Declaration of Internal Table.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA: tb_fill_output LIKE tb_output OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;      wa_fill_output LIKE tb_fill_output.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Declaration of internal table for ZREASONCODES&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA: BEGIN OF tb_reasoncodes OCCURS 0.&lt;/P&gt;&lt;P&gt;        INCLUDE STRUCTURE zreasoncodes.&lt;/P&gt;&lt;P&gt;DATA: END OF tb_reasoncodes.&lt;/P&gt;&lt;P&gt;DATA: wa_reasoncodes LIKE tb_reasoncodes.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Declaration of internal table ZSDCUTXREF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA: BEGIN OF tb_zsdcustxref OCCURS 0,&lt;/P&gt;&lt;P&gt;        zlkunnr LIKE zsdcustxref-zlkunnr,                      " Legacy Customer No&lt;/P&gt;&lt;P&gt;        zlsourc LIKE zsdcustxref-zlsourc,                      " Legacy customer source code&lt;/P&gt;&lt;P&gt;        kunnr   LIKE zsdcustxref-kunnr,                        " Customer No&lt;/P&gt;&lt;P&gt;      END OF tb_zsdcustxref.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Declation of work area.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA: wa_zsdcustxref LIKE tb_zsdcustxref.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Declaration of internal table for USR21.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA: BEGIN OF tb_usr21 OCCURS 0,&lt;/P&gt;&lt;P&gt;       bname      LIKE usr21-bname,                           " USER NAME IN USER MASTER RECORD&lt;/P&gt;&lt;P&gt;       persnumber LIKE usr21-persnumber,                      " PERSON NUMBER&lt;/P&gt;&lt;P&gt;       name_first LIKE adrp-name_first,                       " FIRST NAME&lt;/P&gt;&lt;P&gt;       name_last  LIKE adrp-name_last,                        " LAST NAME&lt;/P&gt;&lt;P&gt;      END OF tb_usr21.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Declation of work area.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA: wa_usr21 LIKE tb_usr21.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Declaration of internal table for ADRP.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA: BEGIN OF tb_adrp OCCURS 0,&lt;/P&gt;&lt;P&gt;       persnumber LIKE adrp-persnumber,                       " PERSON NUMBER&lt;/P&gt;&lt;P&gt;       name_first LIKE adrp-name_first,                       " FIRST NAME&lt;/P&gt;&lt;P&gt;       name_last  LIKE adrp-name_last,                        " LAST NAME&lt;/P&gt;&lt;P&gt;      END OF tb_adrp.&lt;/P&gt;&lt;P&gt;DATA: wa_adrp LIKE tb_adrp.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Declaration for fieldcatalog&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;**************************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: tb_fieldcat TYPE slis_t_fieldcat_alv,&lt;/P&gt;&lt;P&gt;      wa_fieldcat TYPE slis_fieldcat_alv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Declaration for events&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;**************************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: tb_events TYPE slis_t_event,&lt;/P&gt;&lt;P&gt;      wa_event TYPE slis_alv_event.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Declaration for Layout&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;**************************************************************************&lt;/P&gt;&lt;P&gt;DATA: tb_layout TYPE slis_layout_alv,&lt;/P&gt;&lt;P&gt;      wb_layout TYPE slis_layout_alv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: wa_line TYPE slis_listheader,&lt;/P&gt;&lt;P&gt;      tb_list_header TYPE slis_t_listheader.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:   g_date1(40) TYPE c,&lt;/P&gt;&lt;P&gt;        g_date2(40) TYPE c,&lt;/P&gt;&lt;P&gt;        g_date3(80) TYPE c.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Declaration for Selection Screen Fields&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;**************************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN: BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS: s_userid FOR ztril_logtable-user_id,                  "Requestor ID&lt;/P&gt;&lt;P&gt;                s_r_type FOR zreasoncodes-reason_type,                " Reason Type&lt;/P&gt;&lt;P&gt;                s_r_code FOR zreasoncodes-reason_code&lt;/P&gt;&lt;P&gt;                                            MATCHCODE OBJECT zr_code. " Reason Code&lt;/P&gt;&lt;P&gt;PARAMETERS    : p_frmdat LIKE ztril_logtable-curr_date OBLIGATORY,     " from date&lt;/P&gt;&lt;P&gt;                p_to_dat LIKE ztril_logtable-curr_date OBLIGATORY.     " to date&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN: END OF BLOCK b1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Declaration for Varialbes&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;**************************************************************************&lt;/P&gt;&lt;P&gt;DATA: g_sc_no(20) TYPE c,     " To combine the SAP &amp;amp; Legacy Customer No&lt;/P&gt;&lt;P&gt;      g_user_name(92) TYPE c. " To concatnate the Userid and User Name.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : tb_repid LIKE trdir-name.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;tb_repid = 'Y56098RDUP_LIST'.&lt;/P&gt;&lt;P&gt;*tb-repid type sy-repid.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF tb_user OCCURS 0,&lt;/P&gt;&lt;P&gt;       user_id LIKE ztril_logtable-user_id,&lt;/P&gt;&lt;P&gt;      END OF tb_user.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;To get the P_USERID F4 Functionality for LOW and HIGH.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;AT SELECTION-SCREEN ON  VALUE-REQUEST FOR s_userid-low.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT user_id FROM ztril_logtable INTO TABLE tb_user.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SORT tb_user.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DELETE ADJACENT DUPLICATES FROM tb_user.&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      retfield        = 'S_USERID'&lt;/P&gt;&lt;P&gt;      dynpprog        = sy-repid&lt;/P&gt;&lt;P&gt;      dynpnr          = sy-dynnr&lt;/P&gt;&lt;P&gt;      dynprofield     = 'S_USERID'&lt;/P&gt;&lt;P&gt;      value_org       = 'S'&lt;/P&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      value_tab       = tb_user&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      parameter_error = 1&lt;/P&gt;&lt;P&gt;      no_values_found = 2&lt;/P&gt;&lt;P&gt;      OTHERS          = 3.&lt;/P&gt;&lt;P&gt;  IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    MESSAGE e210(zsd).&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN ON  VALUE-REQUEST FOR s_userid-high.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      retfield        = 'S_USERID'&lt;/P&gt;&lt;P&gt;      dynpprog        = sy-repid&lt;/P&gt;&lt;P&gt;      dynpnr          = sy-dynnr&lt;/P&gt;&lt;P&gt;      dynprofield     = 'S_USERID'&lt;/P&gt;&lt;P&gt;      value_org       = 'S'&lt;/P&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      value_tab       = tb_user&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      parameter_error = 1&lt;/P&gt;&lt;P&gt;      no_values_found = 2&lt;/P&gt;&lt;P&gt;      OTHERS          = 3.&lt;/P&gt;&lt;P&gt;  IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    MESSAGE e210(zsd).&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;At selection screen event.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;**************************************************************************&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Validation of User_id(USER_ID) &amp;amp; Reason Type(REASON_CODE)&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM checking_user_id.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Validation of Reason type from the table ZREASONCODES&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM check_reasontype.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Validation of Reason code from the table ZREASONCODES&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM check_reasoncode.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Validation for checking From-Date&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM checking_from_date.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Validation for checking To-Date&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM checking_to_date.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Start of selection event.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;REFRESH data &amp;amp; clear data.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM refresh_tables.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get ZTRIL_LOGTABLE Data.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM get_tril_logtable.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get data from ZREASONCODE.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM get_reasoncode_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get the data Customer No from ZSDCUSTREF based on ZTRIL_LOGTABLE-KUNNR&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM get_sdcustrefdata.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get the data First Name and Last Name&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM get_data_from_usr21_adrp.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Updateing the output internal table i.e. IT_OUTPUT  data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM fill_output_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Displaying output data with two different Rows.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM output_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Populate the field catelog.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM build_fieldcatlog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Declartion Events.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM event_call.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Top of page Information&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM top_of_page.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Declation of Layout&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM layout USING tb_layout.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;To get the Output Format( Simple List/ ALV )&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM grid_display.&lt;/P&gt;&lt;P&gt;  .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  get_tril_logtable&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 get the data from table ztril_logtable&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM get_tril_logtable.&lt;/P&gt;&lt;P&gt;  REFRESH: tb_output.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Reading data from the table ZTRIL_LOGTABLE&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  SELECT user_id&lt;/P&gt;&lt;P&gt;         role                      "Role&lt;/P&gt;&lt;P&gt;         kunnr                     "Customer Number 1&lt;/P&gt;&lt;P&gt;         customer_name             "Customer Name&lt;/P&gt;&lt;P&gt;         stras                     "Street Address&lt;/P&gt;&lt;P&gt;         ort01                     "City&lt;/P&gt;&lt;P&gt;         regio                     "State&lt;/P&gt;&lt;P&gt;         pstlz                     "Postal Code&lt;/P&gt;&lt;P&gt;         land1                     "COUNTRY CODE&lt;/P&gt;&lt;P&gt;         po_box                    "PO Box Number&lt;/P&gt;&lt;P&gt;         tril_po_postal            "PO BOX Postal Code&lt;/P&gt;&lt;P&gt;         tril_err_msg              "Error Message&lt;/P&gt;&lt;P&gt;         reason_type               "Reason Type&lt;/P&gt;&lt;P&gt;         reason_code               "Reason Code&lt;/P&gt;&lt;P&gt;         perc_prob&lt;/P&gt;&lt;P&gt;         pattern_number&lt;/P&gt;&lt;P&gt;         FROM ztril_logtable INTO&lt;/P&gt;&lt;P&gt;         CORRESPONDING FIELDS OF&lt;/P&gt;&lt;P&gt;         TABLE tb_output&lt;/P&gt;&lt;P&gt;         WHERE&lt;/P&gt;&lt;P&gt;        ( curr_date GE p_frmdat AND curr_date LE p_to_dat )&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       ( curr_date BETWEEN  p_frmdat AND  p_to_dat )&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;         AND&lt;/P&gt;&lt;P&gt;         user_id IN s_userid&lt;/P&gt;&lt;P&gt;         AND reason_code IN s_r_code&lt;/P&gt;&lt;P&gt;         AND reason_type IN s_r_type.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;    MESSAGE i202(zsd).&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " get_tril_logtable&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  get_reasoncode_data&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      To get the Reason code and Reason type&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM get_reasoncode_data .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;checking internal table initial data.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT tb_output[]  IS INITIAL.&lt;/P&gt;&lt;P&gt;    SELECT reason_type&lt;/P&gt;&lt;P&gt;           reason_code&lt;/P&gt;&lt;P&gt;           reason_desc&lt;/P&gt;&lt;P&gt;           FROM zreasoncodes&lt;/P&gt;&lt;P&gt;           INTO CORRESPONDING FIELDS OF TABLE tb_reasoncodes&lt;/P&gt;&lt;P&gt;           WHERE reason_type IN s_r_type&lt;/P&gt;&lt;P&gt;           AND reason_code IN s_r_code.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " get_reasoncode_data&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  get_sdcustrefdata&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 get the legasy customer number data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM get_sdcustrefdata .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT tb_output[] IS INITIAL.&lt;/P&gt;&lt;P&gt;    SELECT  zlkunnr                      " Legacy Customer No&lt;/P&gt;&lt;P&gt;            zlsourc                      " Legacy customer source code&lt;/P&gt;&lt;P&gt;            kunnr                        " Customer No&lt;/P&gt;&lt;P&gt;            FROM zsdcustxref INTO TABLE tb_zsdcustxref&lt;/P&gt;&lt;P&gt;            FOR ALL ENTRIES IN tb_output&lt;/P&gt;&lt;P&gt;            WHERE kunnr EQ tb_output-kunnr.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " get_sdcustrefdata&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  fill_output_data&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      To get the final data into the Internal Table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM fill_output_data .&lt;/P&gt;&lt;P&gt;  IF NOT tb_output[] IS INITIAL.&lt;/P&gt;&lt;P&gt;    SORT tb_output BY role user_id.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    LOOP AT tb_output INTO wa_output.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      READ TABLE tb_reasoncodes INTO wa_reasoncodes&lt;/P&gt;&lt;P&gt;                    WITH KEY&lt;/P&gt;&lt;P&gt;                    reason_type = wa_output-reason_type&lt;/P&gt;&lt;P&gt;                    reason_code = wa_output-reason_code BINARY SEARCH.&lt;/P&gt;&lt;P&gt;      IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;        wa_output-reason_desc = wa_reasoncodes-reason_desc.&lt;/P&gt;&lt;P&gt;        CLEAR wa_reasoncodes.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;      READ TABLE  tb_zsdcustxref INTO wa_zsdcustxref&lt;/P&gt;&lt;P&gt;                                 WITH KEY&lt;/P&gt;&lt;P&gt;                                 kunnr = wa_output-kunnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;        CONCATENATE  wa_zsdcustxref-zlkunnr&lt;/P&gt;&lt;P&gt;                     wa_zsdcustxref-zlsourc&lt;/P&gt;&lt;P&gt;                       INTO&lt;/P&gt;&lt;P&gt;                     g_sc_no SEPARATED BY ' - '.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       wa_output-saplegcustno1 = wa_zsdcustxref-zlkunnr.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        wa_output-saplegcustno1 = g_sc_no.&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;        wa_output-saplegcustno = wa_output-kunnr.&lt;/P&gt;&lt;P&gt;        CLEAR: wa_reasoncodes,g_sc_no.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      READ TABLE tb_usr21 INTO wa_usr21 WITH KEY bname = wa_output-user_id.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF sy-subrc EQ 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       CONCATENATE wa_usr21-bname&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        CONCATENATE   wa_usr21-name_first&lt;/P&gt;&lt;P&gt;                      wa_usr21-name_last&lt;/P&gt;&lt;P&gt;                         INTO&lt;/P&gt;&lt;P&gt;                      g_user_name SEPARATED BY space.&lt;/P&gt;&lt;P&gt;        wa_output-user_id_name = g_user_name.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      MODIFY tb_output FROM wa_output&lt;/P&gt;&lt;P&gt;                            TRANSPORTING&lt;/P&gt;&lt;P&gt;                            reason_desc&lt;/P&gt;&lt;P&gt;                            saplegcustno&lt;/P&gt;&lt;P&gt;                            user_id_name&lt;/P&gt;&lt;P&gt;                            saplegcustno1.&lt;/P&gt;&lt;P&gt;      CLEAR: g_user_name,wa_usr21, wa_adrp.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " fill_output_data&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  get_data_from_USR21_ADRP&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 get the first name and last name from ADRP table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM get_data_from_usr21_adrp .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT tb_output[] IS INITIAL.&lt;/P&gt;&lt;P&gt;    SELECT bname&lt;/P&gt;&lt;P&gt;           persnumber&lt;/P&gt;&lt;P&gt;           FROM usr21&lt;/P&gt;&lt;P&gt;           INTO CORRESPONDING FIELDS OF TABLE tb_usr21&lt;/P&gt;&lt;P&gt;           FOR ALL ENTRIES IN tb_output&lt;/P&gt;&lt;P&gt;           WHERE bname EQ tb_output-user_id.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF NOT tb_usr21[] IS INITIAL.&lt;/P&gt;&lt;P&gt;      SELECT persnumber&lt;/P&gt;&lt;P&gt;             name_first&lt;/P&gt;&lt;P&gt;             name_last&lt;/P&gt;&lt;P&gt;             FROM adrp INTO TABLE tb_adrp&lt;/P&gt;&lt;P&gt;             FOR ALL ENTRIES IN tb_usr21&lt;/P&gt;&lt;P&gt;             WHERE persnumber EQ tb_usr21-persnumber.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  LOOP AT tb_usr21 INTO wa_usr21.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    READ TABLE tb_adrp INTO wa_adrp WITH KEY persnumber = wa_usr21-persnumber.&lt;/P&gt;&lt;P&gt;    IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;      wa_usr21-name_first = wa_adrp-name_first.&lt;/P&gt;&lt;P&gt;      wa_usr21-name_last = wa_adrp-name_last.&lt;/P&gt;&lt;P&gt;      CLEAR wa_adrp.&lt;/P&gt;&lt;P&gt;      MODIFY tb_usr21 FROM wa_usr21 TRANSPORTING name_first name_last.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " get_data_from_USR21_ADRP&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  build_fieldcatlog&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;      It is used to build the fieldcatlog&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_fieldcatlog .&lt;/P&gt;&lt;P&gt;  wa_fieldcat-col_pos = 1.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-tabname = 'TB_FILL_DATA'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-fieldname = 'USER_ID'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-seltext_l = 'Requestor ID'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-input = 'X'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-edit = 'X'.&lt;/P&gt;&lt;P&gt;  APPEND wa_fieldcat TO tb_fieldcat.&lt;/P&gt;&lt;P&gt;  CLEAR wa_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  wa_fieldcat-col_pos = 2.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-tabname = 'TB_FILL_DATA'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-fieldname = 'USER_ID_NAME'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-seltext_l = 'Requestor Name'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-input = 'X'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-edit = 'X'.&lt;/P&gt;&lt;P&gt;  APPEND wa_fieldcat TO tb_fieldcat.&lt;/P&gt;&lt;P&gt;  CLEAR wa_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  wa_fieldcat-col_pos = 3.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-tabname = 'TB_FILL_DATA'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-fieldname = 'SAPLEGCUSTNO'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-seltext_l = 'SAP &amp;amp; Legacy Customer No'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-input = 'X'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-edit = 'X'.&lt;/P&gt;&lt;P&gt;  APPEND wa_fieldcat TO tb_fieldcat.&lt;/P&gt;&lt;P&gt;  CLEAR wa_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  wa_fieldcat-col_pos = 4.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-tabname = 'TB_FILL_DATA'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-fieldname = 'CUSTOMER_NAME'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-seltext_m = 'Customer Name'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-input = 'X'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-edit = 'X'.&lt;/P&gt;&lt;P&gt;  APPEND wa_fieldcat TO tb_fieldcat.&lt;/P&gt;&lt;P&gt;  CLEAR wa_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  wa_fieldcat-col_pos = 5.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-tabname = 'TB_FILL_DATA'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-fieldname = 'STRAS'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-seltext_m = 'Street Address'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-input = 'X'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-edit = 'X'.&lt;/P&gt;&lt;P&gt;  APPEND wa_fieldcat TO tb_fieldcat.&lt;/P&gt;&lt;P&gt;  CLEAR wa_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  wa_fieldcat-col_pos = 6.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-tabname = 'TB_FILL_DATA'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-fieldname = 'ORT01'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-seltext_m = 'City'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-input = 'X'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-edit = 'X'.&lt;/P&gt;&lt;P&gt;  APPEND wa_fieldcat TO tb_fieldcat.&lt;/P&gt;&lt;P&gt;  CLEAR wa_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  wa_fieldcat-col_pos = 7.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-tabname = 'TB_FILL_DATA'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-fieldname = 'REGIO'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-seltext_m = 'State'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-input = 'X'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-edit = 'X'.&lt;/P&gt;&lt;P&gt;  APPEND wa_fieldcat TO tb_fieldcat.&lt;/P&gt;&lt;P&gt;  CLEAR wa_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  wa_fieldcat-col_pos = 8.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-tabname = 'TB_FILL_DATA'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-fieldname = 'PSTLZ'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-seltext_m = 'Postal Code'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-input = 'X'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-edit = 'X'.&lt;/P&gt;&lt;P&gt;  APPEND wa_fieldcat TO tb_fieldcat.&lt;/P&gt;&lt;P&gt;  CLEAR wa_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  wa_fieldcat-col_pos = 9.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-tabname = 'TB_FILL_DATA'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-fieldname = 'LAND1'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-seltext_m = 'Country Code'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-input = 'X'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-edit = 'X'.&lt;/P&gt;&lt;P&gt;  APPEND wa_fieldcat TO tb_fieldcat.&lt;/P&gt;&lt;P&gt;  CLEAR wa_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  wa_fieldcat-col_pos = 10.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-tabname = 'TB_FILL_DATA'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-fieldname = 'PO_BOX'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-seltext_m = 'PO BOX NO'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-input = 'X'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-edit = 'X'.&lt;/P&gt;&lt;P&gt;  APPEND wa_fieldcat TO tb_fieldcat.&lt;/P&gt;&lt;P&gt;  CLEAR wa_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  wa_fieldcat-col_pos = 11.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-tabname = 'TB_FILL_DATA'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-fieldname = 'TRIL_PO_POSTAL'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-seltext_m = 'PO Box Postal Code'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-input = 'X'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-edit = 'X'.&lt;/P&gt;&lt;P&gt;  APPEND wa_fieldcat TO tb_fieldcat.&lt;/P&gt;&lt;P&gt;  CLEAR wa_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  wa_fieldcat-col_pos = 12.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-tabname = 'TB_FILL_DATA'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-fieldname = 'REASON_TYPE'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-seltext_m = 'Reason Type'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-input = 'X'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-edit = 'X'.&lt;/P&gt;&lt;P&gt;  APPEND wa_fieldcat TO tb_fieldcat.&lt;/P&gt;&lt;P&gt;  CLEAR wa_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  wa_fieldcat-col_pos = 13.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-tabname = 'TB_FILL_DATA'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-fieldname = 'REASON_CODE'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-seltext_m = 'Reason Code'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-input = 'X'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-edit = 'X'.&lt;/P&gt;&lt;P&gt;  APPEND wa_fieldcat TO tb_fieldcat.&lt;/P&gt;&lt;P&gt;  CLEAR wa_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  wa_fieldcat-col_pos = 14.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-tabname = 'TB_FILL_DATA'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-fieldname = 'REASON_DESC'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-seltext_m = 'Reason Description'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-input = 'X'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-edit = 'X'.&lt;/P&gt;&lt;P&gt;  APPEND wa_fieldcat TO tb_fieldcat.&lt;/P&gt;&lt;P&gt;  CLEAR wa_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  wa_fieldcat-col_pos = 15.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-tabname = 'TB_FILL_DATA'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-fieldname = 'PERC_PROB'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-seltext_m = 'TOP %'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-input = 'X'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-edit = 'X'.&lt;/P&gt;&lt;P&gt;  APPEND wa_fieldcat TO tb_fieldcat.&lt;/P&gt;&lt;P&gt;  CLEAR wa_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  wa_fieldcat-col_pos = 16.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-tabname = 'TB_FILL_DATA'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-fieldname = 'PATTERN_NUMBER'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-seltext_m = 'Match Pattern'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-input = 'X'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-edit = 'X'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat-datatype = 'N'.&lt;/P&gt;&lt;P&gt;  APPEND wa_fieldcat TO tb_fieldcat.&lt;/P&gt;&lt;P&gt;  CLEAR wa_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " build_fieldcatlog&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  event_call&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;     It is used to call the events&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM event_call .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_EVENTS_GET'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      i_list_type     = 0&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      et_events       = tb_events&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      list_type_wrong = 1&lt;/P&gt;&lt;P&gt;      OTHERS          = 2.&lt;/P&gt;&lt;P&gt;  IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno&lt;/P&gt;&lt;P&gt;            WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " event_call&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  grid_display&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 display the output in ALV Grid  format&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM grid_display .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_INTERFACE_CHECK                 = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_BYPASSING_BUFFER                = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_BUFFER_ACTIVE                   = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;       i_callback_program                = tb_repid&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      i_callback_pf_status_set          = 'SET_PF_STATUS'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;       i_callback_user_command           = 'USER_COMMAND'&lt;/P&gt;&lt;P&gt;       i_callback_top_of_page            = 'TOP_OF_PAGE'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_CALLBACK_HTML_TOP_OF_PAGE       = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_CALLBACK_HTML_END_OF_LIST       = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_STRUCTURE_NAME                  =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_BACKGROUND_ID                   = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_GRID_TITLE                      =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_GRID_SETTINGS                   =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;       is_layout                         = wb_layout&lt;/P&gt;&lt;P&gt;       it_fieldcat                       = tb_fieldcat[]&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_EXCLUDING                      =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_SPECIAL_GROUPS                 =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_SORT                           =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_FILTER                         =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_SEL_HIDE                       =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   I_DEFAULT                         = 'X'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SAVE                            = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_VARIANT                        =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;       it_events                         = tb_events&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_EVENT_EXIT                     =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_PRINT                          =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IS_REPREP_ID                      =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SCREEN_START_COLUMN             = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SCREEN_START_LINE               = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SCREEN_END_COLUMN               = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_SCREEN_END_LINE                 = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_HTML_HEIGHT_TOP                 = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_HTML_HEIGHT_END                 = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_ALV_GRAPHICS                   =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_HYPERLINK                      =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_ADD_FIELDCAT                   =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IT_EXCEPT_QINFO                   =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IR_SALV_FULLSCREEN_ADAPTER        =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  E_EXIT_CAUSED_BY_CALLER           =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  ES_EXIT_CAUSED_BY_USER            =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     TABLES&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      t_outtab                          = tb_output&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      t_outtab                          = tb_fill_output&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      program_error                     = 1&lt;/P&gt;&lt;P&gt;      OTHERS                            = 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno&lt;/P&gt;&lt;P&gt;    WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " grid_display&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  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;      It is used to display the Top-of-page&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM top_of_page .&lt;/P&gt;&lt;P&gt;  CLEAR: wa_line, tb_list_header[].&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  wa_line-typ = 'H'.&lt;/P&gt;&lt;P&gt;  wa_line-info = 'Duplicates Ignored by Requestor Report'.&lt;/P&gt;&lt;P&gt;  APPEND wa_line TO tb_list_header.&lt;/P&gt;&lt;P&gt;  CLEAR wa_line.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  wa_line-typ = 'S'.&lt;/P&gt;&lt;P&gt;  WRITE p_frmdat TO g_date1 DD/MM/YY.&lt;/P&gt;&lt;P&gt;  WRITE p_to_dat TO g_date2 DD/MM/YY.&lt;/P&gt;&lt;P&gt;  CONCATENATE 'From Date : ' g_date1  '        To Date : ' g_date2&lt;/P&gt;&lt;P&gt;                INTO g_date3 SEPARATED BY  space .&lt;/P&gt;&lt;P&gt;  wa_line-info = g_date3.&lt;/P&gt;&lt;P&gt;  APPEND wa_line TO tb_list_header.&lt;/P&gt;&lt;P&gt;  CLEAR wa_line.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      it_list_commentary = tb_list_header.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   i_logo                   =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   I_END_OF_LIST_GRID       =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " top_of_page&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  layout&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;   It is used to display the output layout&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM layout  USING    p_tb_layout.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  tb_layout-detail_popup      = 'X'.&lt;/P&gt;&lt;P&gt;  tb_layout-colwidth_optimize = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " layout&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  refresh_tables&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 Refresh the internal table workarea&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM refresh_tables .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  REFRESH: tb_output, tb_reasoncodes, tb_zsdcustxref, tb_usr21, tb_fill_output.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR: wa_output, wa_reasoncodes, wa_zsdcustxref, wa_usr21, wa_fill_output.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " refresh_tables&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_PF_STATUS&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; It is used to populate the PF_STATUS&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM set_pf_status USING tb_extab TYPE slis_t_extab.&lt;/P&gt;&lt;P&gt;  SET PF-STATUS 'ZSTANDARD'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " SET_PF_STATUS&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  USER_COMMAND&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 avoid the shortdump of ALV Report&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM user_command USING rf_ucomm    LIKE sy-ucomm&lt;/P&gt;&lt;P&gt;                        rs_selfield TYPE slis_selfield.&lt;/P&gt;&lt;P&gt;ENDFORM.                              "user_command&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  check_reasoncode&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;      Checking Reason Code&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM check_reasoncode .&lt;/P&gt;&lt;P&gt;  IF NOT s_r_type IS INITIAL.&lt;/P&gt;&lt;P&gt;    SELECT SINGLE reason_code FROM zreasoncodes INTO s_r_code&lt;/P&gt;&lt;P&gt;                              WHERE reason_type IN s_r_type&lt;/P&gt;&lt;P&gt;                              AND reason_code IN s_r_code.&lt;/P&gt;&lt;P&gt;    IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;      SET CURSOR FIELD 'S_R_CODE-LOW'.&lt;/P&gt;&lt;P&gt;      MESSAGE e204(zsd).&lt;/P&gt;&lt;P&gt;    ELSEIF s_r_code = 'TP'.&lt;/P&gt;&lt;P&gt;      MESSAGE e208(zsd).&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " check_reasoncode&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  check_reasontype&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;   Checking Reason Type&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM check_reasontype .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF s_r_type-low = 'TP' OR&lt;/P&gt;&lt;P&gt;       s_r_type-high = 'TP'.&lt;/P&gt;&lt;P&gt;    MESSAGE e208(zsd).&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT SINGLE reason_type FROM zreasoncodes INTO s_r_type&lt;/P&gt;&lt;P&gt;                             WHERE reason_type IN s_r_type.&lt;/P&gt;&lt;P&gt;  IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    MESSAGE e201(zsd).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " check_reasontype&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  checking_From_date&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;      Checking From Date&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM checking_from_date .&lt;/P&gt;&lt;P&gt;  SELECT SINGLE&lt;/P&gt;&lt;P&gt;          curr_date&lt;/P&gt;&lt;P&gt;          FROM ztril_logtable&lt;/P&gt;&lt;P&gt;          INTO ztril_logtable-curr_date&lt;/P&gt;&lt;P&gt;          WHERE curr_date EQ  p_frmdat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;    MESSAGE e205(zsd).&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " checking_From_date&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  checking_To_date&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;  Checking To_date&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 checking_to_date .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT SINGLE&lt;/P&gt;&lt;P&gt;           curr_date&lt;/P&gt;&lt;P&gt;           FROM ztril_logtable&lt;/P&gt;&lt;P&gt;           INTO ztril_logtable-curr_date&lt;/P&gt;&lt;P&gt;           WHERE curr_date EQ  p_to_dat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;    MESSAGE e206(zsd).&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; elseif p_frmdat lt p_to_dat.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   Message e209(zsd).&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ELSEIF p_frmdat GT p_to_dat.&lt;/P&gt;&lt;P&gt;    MESSAGE e207(zsd).&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " checking_To_date&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  checking_user_id&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      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 checking_user_id .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT SINGLE user_id&lt;/P&gt;&lt;P&gt;           FROM ztril_logtable&lt;/P&gt;&lt;P&gt;           INTO s_userid&lt;/P&gt;&lt;P&gt;           WHERE user_id IN s_userid.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;    MESSAGE e200(zsd).&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " checking_user_id&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  output_data&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  To print the Legacy customer No and SAP no into two different rows.*&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 output_data .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT tb_output INTO wa_output.&lt;/P&gt;&lt;P&gt;    wa_fill_output-user_id = wa_output-user_id.&lt;/P&gt;&lt;P&gt;    wa_fill_output-role = wa_output-role.&lt;/P&gt;&lt;P&gt;    wa_fill_output-saplegcustno = wa_output-kunnr.&lt;/P&gt;&lt;P&gt;    wa_fill_output-user_id_name = wa_output-user_id_name.&lt;/P&gt;&lt;P&gt;    wa_fill_output-customer_name = wa_output-customer_name.&lt;/P&gt;&lt;P&gt;    wa_fill_output-stras = wa_output-stras.&lt;/P&gt;&lt;P&gt;    wa_fill_output-ort01 = wa_output-ort01.&lt;/P&gt;&lt;P&gt;    wa_fill_output-regio = wa_output-regio.&lt;/P&gt;&lt;P&gt;    wa_fill_output-pstlz = wa_output-pstlz.&lt;/P&gt;&lt;P&gt;    wa_fill_output-land1 = wa_output-land1.&lt;/P&gt;&lt;P&gt;    wa_fill_output-po_box = wa_output-po_box.&lt;/P&gt;&lt;P&gt;    wa_fill_output-tril_po_postal = wa_output-tril_po_postal.&lt;/P&gt;&lt;P&gt;    wa_fill_output-tril_err_msg = wa_output-tril_err_msg.&lt;/P&gt;&lt;P&gt;    wa_fill_output-reason_type = wa_output-reason_type.&lt;/P&gt;&lt;P&gt;    wa_fill_output-reason_code = wa_output-reason_code.&lt;/P&gt;&lt;P&gt;    wa_fill_output-country_code = wa_output-country_code.&lt;/P&gt;&lt;P&gt;    wa_fill_output-reason_desc = wa_output-reason_desc.&lt;/P&gt;&lt;P&gt;    wa_fill_output-pattern_number =  wa_output-pattern_number.&lt;/P&gt;&lt;P&gt;    wa_fill_output-perc_prob = wa_output-perc_prob.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CLEAR:  wa_output-user_id,&lt;/P&gt;&lt;P&gt;            wa_output-role,&lt;/P&gt;&lt;P&gt;            wa_output-kunnr,&lt;/P&gt;&lt;P&gt;            wa_output-user_id_name,&lt;/P&gt;&lt;P&gt;            wa_output-stras,&lt;/P&gt;&lt;P&gt;            wa_output-ort01,&lt;/P&gt;&lt;P&gt;            wa_output-regio,&lt;/P&gt;&lt;P&gt;            wa_output-pstlz,&lt;/P&gt;&lt;P&gt;            wa_output-land1,&lt;/P&gt;&lt;P&gt;            wa_output-po_box,&lt;/P&gt;&lt;P&gt;            wa_output-tril_po_postal,&lt;/P&gt;&lt;P&gt;            wa_output-tril_err_msg,&lt;/P&gt;&lt;P&gt;            wa_output-reason_type,&lt;/P&gt;&lt;P&gt;            wa_output-reason_code,&lt;/P&gt;&lt;P&gt;            wa_output-country_code,&lt;/P&gt;&lt;P&gt;            wa_output-reason_desc,&lt;/P&gt;&lt;P&gt;            wa_output-customer_name,&lt;/P&gt;&lt;P&gt;            wa_output-pattern_number,&lt;/P&gt;&lt;P&gt;            wa_output-perc_prob.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    APPEND wa_fill_output TO tb_fill_output.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF NOT wa_output-saplegcustno1 IS INITIAL.&lt;/P&gt;&lt;P&gt;      CLEAR:  wa_fill_output-user_id,&lt;/P&gt;&lt;P&gt;              wa_fill_output-role,&lt;/P&gt;&lt;P&gt;              wa_fill_output-kunnr,&lt;/P&gt;&lt;P&gt;              wa_fill_output-user_id_name,&lt;/P&gt;&lt;P&gt;              wa_fill_output-stras,&lt;/P&gt;&lt;P&gt;              wa_fill_output-ort01,&lt;/P&gt;&lt;P&gt;              wa_fill_output-regio,&lt;/P&gt;&lt;P&gt;              wa_fill_output-pstlz,&lt;/P&gt;&lt;P&gt;              wa_fill_output-land1,&lt;/P&gt;&lt;P&gt;              wa_fill_output-po_box,&lt;/P&gt;&lt;P&gt;              wa_fill_output-tril_po_postal,&lt;/P&gt;&lt;P&gt;              wa_fill_output-tril_err_msg,&lt;/P&gt;&lt;P&gt;              wa_fill_output-reason_type,&lt;/P&gt;&lt;P&gt;              wa_fill_output-reason_code,&lt;/P&gt;&lt;P&gt;              wa_fill_output-country_code,&lt;/P&gt;&lt;P&gt;              wa_fill_output-reason_desc,&lt;/P&gt;&lt;P&gt;              wa_fill_output-customer_name,&lt;/P&gt;&lt;P&gt;              wa_fill_output-pattern_number,&lt;/P&gt;&lt;P&gt;              wa_fill_output-perc_prob.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      wa_fill_output-saplegcustno = wa_output-saplegcustno1.&lt;/P&gt;&lt;P&gt;      APPEND wa_fill_output TO tb_fill_output.&lt;/P&gt;&lt;P&gt;      CLEAR: wa_output.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " output_data&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 22 Jan 2008 08:17:22 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/coding-example-layout-alv-very-urgent/m-p/3343560#M801596</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-01-22T08:17:22Z</dc:date>
    </item>
    <item>
      <title>Re: CODING  EXAMPLE - LAYOUT ALV - ( very urgent )</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/coding-example-layout-alv-very-urgent/m-p/3343561#M801597</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi&lt;/P&gt;&lt;P&gt;follow the code below,u can get the solution.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;THIS IS TO DISPLAY THE HEADER WITH LOGO.&lt;/P&gt;&lt;P&gt;Follow the below step while uploading the image file:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Steps for uploading Logo :-: &lt;/P&gt;&lt;P&gt;1. Goto the transaction OAER &lt;/P&gt;&lt;P&gt;2. Enter the class name as 'PICTURES' &lt;/P&gt;&lt;P&gt;3. Enter the class type as 'OT' &lt;/P&gt;&lt;P&gt;4. Enter the object key as the name of the logo(e.g. tripodsm.gif) you wish to give &lt;/P&gt;&lt;P&gt;5. Execute &lt;/P&gt;&lt;P&gt;6. Then in the new screen select Standard doc. types in bottom window &lt;/P&gt;&lt;P&gt;Click on the Screen icon &lt;/P&gt;&lt;P&gt;Now, it will ask for the file path where you have to upload the logo &lt;/P&gt;&lt;P&gt;7. Now you can use this logo in REUSE_ALV_COMMENTARY_WRITE &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;call function 'REUSE_ALV_COMMENTARY_WRITE'&lt;/P&gt;&lt;P&gt;exporting&lt;/P&gt;&lt;P&gt;it_list_commentary = i_header&lt;/P&gt;&lt;P&gt;i_logo = 'tripodsm.gif'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT  ZCS_PRG6.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TABLES VBAK.&lt;/P&gt;&lt;P&gt;TYPE-POOLS SLIS.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Data Declaration&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;TYPES: BEGIN OF T_VBAK,&lt;/P&gt;&lt;P&gt;      VBELN TYPE VBAK-VBELN,&lt;/P&gt;&lt;P&gt;      ERDAT TYPE VBAK-ERDAT,&lt;/P&gt;&lt;P&gt;      ERNAM TYPE VBAK-ERNAM,&lt;/P&gt;&lt;P&gt;      AUDAT TYPE VBAK-AUDAT,&lt;/P&gt;&lt;P&gt;      VBTYP TYPE VBAK-VBTYP,&lt;/P&gt;&lt;P&gt;      NETWR TYPE VBAK-NETWR,&lt;/P&gt;&lt;P&gt;      VKORG TYPE VBAK-VKORG,&lt;/P&gt;&lt;P&gt;      VKGRP TYPE VBAK-VKGRP,&lt;/P&gt;&lt;P&gt;      LINE_COLOR(4) TYPE C,&lt;/P&gt;&lt;P&gt;      END OF T_VBAK.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: IT_VBAK TYPE STANDARD TABLE OF T_VBAK INITIAL SIZE 0,&lt;/P&gt;&lt;P&gt;      WA_VBAK TYPE T_VBAK.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;ALV Data Declaration&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA: FLDCAT TYPE SLIS_T_FIELDCAT_ALV WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;      GD_LAYOUT TYPE SLIS_LAYOUT_ALV,&lt;/P&gt;&lt;P&gt;      GD_REPID TYPE SY-REPID.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     I_EVENTS TYPE SLIS_T_EVENT,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     W_EVENTS LIKE LINE OF I_EVENTS.&lt;/P&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;PERFORM DATA_RETRIEVAL.&lt;/P&gt;&lt;P&gt;PERFORM BLD_FLDCAT.&lt;/P&gt;&lt;P&gt;PERFORM BLD_LAYOUT.&lt;/P&gt;&lt;P&gt;PERFORM DISPLAY_ALV_REPORT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Build Field Catalog for ALV Report&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;FORM BLD_FLDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FLDCAT-FIELDNAME = 'VBELN'.&lt;/P&gt;&lt;P&gt;FLDCAT-SELTEXT_M = 'Sales Document'.&lt;/P&gt;&lt;P&gt;FLDCAT-COL_POS = 0.&lt;/P&gt;&lt;P&gt;*FLDCAT-EMPHASIZE = 'C411'.&lt;/P&gt;&lt;P&gt;FLDCAT-OUTPUTLEN = 20.&lt;/P&gt;&lt;P&gt;FLDCAT-KEY = 'X'.&lt;/P&gt;&lt;P&gt;APPEND FLDCAT TO FLDCAT.&lt;/P&gt;&lt;P&gt;CLEAR FLDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FLDCAT-FIELDNAME = 'ERDAT'.&lt;/P&gt;&lt;P&gt;FLDCAT-SELTEXT_L = 'Record Date created'.&lt;/P&gt;&lt;P&gt;FLDCAT-COL_POS = 1.&lt;/P&gt;&lt;P&gt;FLDCAT-KEY = 'X'.&lt;/P&gt;&lt;P&gt;APPEND FLDCAT TO FLDCAT.&lt;/P&gt;&lt;P&gt;CLEAR FLDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FLDCAT-FIELDNAME = 'ERNAM'.&lt;/P&gt;&lt;P&gt;FLDCAT-SELTEXT_L = 'Cteated Object Person Name'.&lt;/P&gt;&lt;P&gt;APPEND FLDCAT TO FLDCAT.&lt;/P&gt;&lt;P&gt;CLEAR FLDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FLDCAT-FIELDNAME = 'AUDAT'.&lt;/P&gt;&lt;P&gt;FLDCAT-SELTEXT_M = 'Document Date'.&lt;/P&gt;&lt;P&gt;FLDCAT-COL_POS = 3.&lt;/P&gt;&lt;P&gt;FLDCAT-EMPHASIZE = 'C110'.&lt;/P&gt;&lt;P&gt;APPEND FLDCAT TO FLDCAT.&lt;/P&gt;&lt;P&gt;CLEAR FLDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FLDCAT-FIELDNAME = 'VBTYP'.&lt;/P&gt;&lt;P&gt;FLDCAT-SELTEXT_L = 'SD Document category'.&lt;/P&gt;&lt;P&gt;FLDCAT-COL_POS = 4.&lt;/P&gt;&lt;P&gt;APPEND FLDCAT TO FLDCAT.&lt;/P&gt;&lt;P&gt;CLEAR FLDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FLDCAT-FIELDNAME = 'NETWR'.&lt;/P&gt;&lt;P&gt;FLDCAT-SELTEXT_L = 'Net Value of the SO in Document Currency'.&lt;/P&gt;&lt;P&gt;FLDCAT-COL_POS = 5.&lt;/P&gt;&lt;P&gt;FLDCAT-OUTPUTLEN = 60.&lt;/P&gt;&lt;P&gt;FLDCAT-DO_SUM = 'X'.&lt;/P&gt;&lt;P&gt;FLDCAT-DATATYPE = 'CURR'.&lt;/P&gt;&lt;P&gt;APPEND FLDCAT TO FLDCAT.&lt;/P&gt;&lt;P&gt;CLEAR FLDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FLDCAT-FIELDNAME = 'VKORG'.&lt;/P&gt;&lt;P&gt;FLDCAT-SELTEXT_L = 'Sales Organization'.&lt;/P&gt;&lt;P&gt;FLDCAT-COL_POS = 6.&lt;/P&gt;&lt;P&gt;APPEND FLDCAT TO FLDCAT.&lt;/P&gt;&lt;P&gt;CLEAR FLDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FLDCAT-FIELDNAME = 'VKGRP'.&lt;/P&gt;&lt;P&gt;FLDCAT-SELTEXT_M = 'Sales Group'.&lt;/P&gt;&lt;P&gt;FLDCAT-COL_POS = 7.&lt;/P&gt;&lt;P&gt;FLDCAT-EMPHASIZE = 'C801'.&lt;/P&gt;&lt;P&gt;APPEND FLDCAT TO FLDCAT.&lt;/P&gt;&lt;P&gt;CLEAR FLDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Build Layout for ALV Grid Report&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM BLD_LAYOUT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;GD_LAYOUT-NO_INPUT = 'X'.&lt;/P&gt;&lt;P&gt;GD_LAYOUT-COLWIDTH_OPTIMIZE = 'X'.&lt;/P&gt;&lt;P&gt;GD_LAYOUT-INFO_FIELDNAME = 'LINE_COLOR'.&lt;/P&gt;&lt;P&gt;GD_LAYOUT-WINDOW_TITLEBAR = 'GRID DISPLAY'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;GD_LAYOUT-CONFIRMATION_PROMPT = 'X'.  &amp;#147; This asks the confirmation     &lt;/P&gt;&lt;P&gt;							before leaving the screen.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Display report using ALV grid&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM DISPLAY_ALV_REPORT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;GD_REPID = SY-REPID.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'&lt;/P&gt;&lt;P&gt; EXPORTING&lt;/P&gt;&lt;P&gt;   I_CALLBACK_PROGRAM                = GD_REPID&lt;/P&gt;&lt;P&gt;   IS_LAYOUT                         = GD_LAYOUT&lt;/P&gt;&lt;P&gt;   I_CALLBACK_TOP_OF_PAGE            = 'TOP_OF_PAGE'&lt;/P&gt;&lt;P&gt;   I_GRID_TITLE                      = 'SALES DOCUMENT HEADER'&lt;/P&gt;&lt;P&gt;   IT_FIELDCAT                       = FLDCAT[]&lt;/P&gt;&lt;P&gt;   I_SAVE                            = 'X'&lt;/P&gt;&lt;P&gt;  TABLES&lt;/P&gt;&lt;P&gt;    T_OUTTAB                          = IT_VBAK&lt;/P&gt;&lt;P&gt; EXCEPTIONS&lt;/P&gt;&lt;P&gt;   PROGRAM_ERROR                     = 1&lt;/P&gt;&lt;P&gt;   OTHERS                            = 2.&lt;/P&gt;&lt;P&gt;IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Retrieve data from VBAK table and populate itab IT_VBAK&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM DATA_RETRIEVAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA LD_COLOR(1) TYPE C.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT VBELN ERDAT ERNAM AUDAT VBTYP NETWR VKORG&lt;/P&gt;&lt;P&gt;UP TO 20 ROWS&lt;/P&gt;&lt;P&gt;FROM VBAK&lt;/P&gt;&lt;P&gt;INTO TABLE IT_VBAK.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOOP AT IT_VBAK INTO WA_VBAK.&lt;/P&gt;&lt;P&gt;LD_COLOR = LD_COLOR + 1.&lt;/P&gt;&lt;P&gt;IF LD_COLOR = 8.&lt;/P&gt;&lt;P&gt;  LD_COLOR = 1.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;CONCATENATE 'C' LD_COLOR '10' INTO WA_VBAK-LINE_COLOR.&lt;/P&gt;&lt;P&gt;MODIFY IT_VBAK FROM WA_VBAK.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM TOP_OF_PAGE.&lt;/P&gt;&lt;P&gt;DATA: T_HEADER TYPE SLIS_T_LISTHEADER,&lt;/P&gt;&lt;P&gt;      W_HEADER TYPE SLIS_LISTHEADER.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;W_HEADER-TYP = 'H'.&lt;/P&gt;&lt;P&gt;W_HEADER-INFO = 'WELCOME HEADER LIST'.&lt;/P&gt;&lt;P&gt;APPEND W_HEADER TO T_HEADER.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;W_HEADER-TYP = 'S'.&lt;/P&gt;&lt;P&gt;W_HEADER-KEY = 'REPORT:'.&lt;/P&gt;&lt;P&gt;W_HEADER-INFO = SY-REPID.&lt;/P&gt;&lt;P&gt;APPEND W_HEADER TO T_HEADER.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;W_HEADER-TYP = 'S'.&lt;/P&gt;&lt;P&gt;W_HEADER-KEY = 'DATE:'.&lt;/P&gt;&lt;P&gt;CONCATENATE SY-DATUM&lt;EM&gt;6(2) ' / ' SY-DATUM&lt;/EM&gt;4(2) ' / ' SY-DATUM(4) INTO W_HEADER-INFO.&lt;/P&gt;&lt;P&gt;APPEND W_HEADER TO T_HEADER.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'&lt;/P&gt;&lt;P&gt;  EXPORTING&lt;/P&gt;&lt;P&gt;    IT_LIST_COMMENTARY       = T_HEADER&lt;/P&gt;&lt;P&gt;    I_LOGO		= &amp;#145;TRIPODSM.GIF&amp;#146;.	&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Reward point,if it is useful.&lt;/P&gt;&lt;P&gt;thanks&lt;/P&gt;&lt;P&gt;chandu.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 22 Jan 2008 08:21:22 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/coding-example-layout-alv-very-urgent/m-p/3343561#M801597</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-01-22T08:21:22Z</dc:date>
    </item>
  </channel>
</rss>

