<?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: REPORT TAKING MORE CPU UTILIZATION in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/report-taking-more-cpu-utilization/m-p/2959884#M698285</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Rajan,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;There is a lot of scope for performance tuning the code:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1. Read statement should be with BINARY SEARCH&lt;/P&gt;&lt;P&gt;2. Select statement should have FIELDS in the same order as they exist in the table&lt;/P&gt;&lt;P&gt;3. Select statement where clause should have fields in same order as they exist in the table.&lt;/P&gt;&lt;P&gt;4. Internal tables seem to be having a huge number of fields. If possible, please limit the fields to only required fields in the internal table.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best regards,&lt;/P&gt;&lt;P&gt;Prashant&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 22 Oct 2007 09:29:02 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2007-10-22T09:29:02Z</dc:date>
    <item>
      <title>REPORT TAKING MORE CPU UTILIZATION</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/report-taking-more-cpu-utilization/m-p/2959883#M698284</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Experts,&lt;/P&gt;&lt;P&gt;my following report is of sales order report it gives me an output in less than 250 seconds,&lt;/P&gt;&lt;P&gt;But taking 80 percentage CPU time so tell me how to overcome this problem ??&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; Report  ZMSL_SALES_ORDER_REPORT&lt;/P&gt;&lt;P&gt;*&amp;amp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;&lt;/P&gt;&lt;P&gt;*&amp;amp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT  ZMSL_SALES_ORDER_REPORT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DEFINE: M_FIELDCAT.&lt;/P&gt;&lt;P&gt;  ADD 1 TO LS_FIELDCAT-COL_POS.&lt;/P&gt;&lt;P&gt;  LS_FIELDCAT-FIELDNAME = &amp;amp;1.&lt;/P&gt;&lt;P&gt;  LS_FIELDCAT-SELTEXT_L = &amp;amp;2.&lt;/P&gt;&lt;P&gt;  LS_FIELDCAT-OUTPUTLEN = &amp;amp;3.&lt;/P&gt;&lt;P&gt;  LS_FIELDCAT-TABNAME = 'gt_final_data'.&lt;/P&gt;&lt;P&gt;  APPEND LS_FIELDCAT TO FELD_CAT.&lt;/P&gt;&lt;P&gt;END-OF-DEFINITION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*==================Start of Datebase tables Declaration=================&lt;/P&gt;&lt;P&gt;TABLES : VBAK, "Sales Document: Header Data&lt;/P&gt;&lt;P&gt;         VBAP, "Sales Document: Item Data&lt;/P&gt;&lt;P&gt;         MARA, "Matrial Master&lt;/P&gt;&lt;P&gt;         VBEP, "Sales Document: Schedule Line Data&lt;/P&gt;&lt;P&gt;         VBPA, "Sales Document: Partner&lt;/P&gt;&lt;P&gt;         TVROT,&lt;/P&gt;&lt;P&gt;         YMSLT_MAIL_ID.&lt;/P&gt;&lt;P&gt;*=================End of Datebase tables Declaration====================&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*==================Start of Virable  ALV  declaration=================&lt;/P&gt;&lt;P&gt;**=============================&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;TYPE POOLS&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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;*FIELD CATALOG DECLARATION&lt;/P&gt;&lt;P&gt;*=============================&lt;/P&gt;&lt;P&gt;CONSTANTS : CO_FORMNAME_TOP_OF_PAGE  TYPE SLIS_FORMNAME&lt;/P&gt;&lt;P&gt;                                     VALUE 'TOP_OF_PAGE'.&lt;/P&gt;&lt;P&gt;DATA : G_TABNAME_HEADER TYPE SLIS_TABNAME,&lt;/P&gt;&lt;P&gt;       G_TABNAME_ITEM   TYPE SLIS_TABNAME.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:  FELD_CAT TYPE SLIS_T_FIELDCAT_ALV," WITH HEADER LINE ,&lt;/P&gt;&lt;P&gt;       ALV_LAYOUT   TYPE SLIS_LAYOUT_ALV,&lt;/P&gt;&lt;P&gt;       T_EVENTS           TYPE SLIS_T_EVENT,&lt;/P&gt;&lt;P&gt;       G_SAVE(1) TYPE C,&lt;/P&gt;&lt;P&gt;       G_VARIANT LIKE DISVARIANT,&lt;/P&gt;&lt;P&gt;       GX_VARIANT LIKE DISVARIANT,&lt;/P&gt;&lt;P&gt;       EVENTS   TYPE SLIS_T_EVENT,&lt;/P&gt;&lt;P&gt;       G_EXIT(1) TYPE C,&lt;/P&gt;&lt;P&gt;       LAYOUT   TYPE SLIS_LAYOUT_ALV,&lt;/P&gt;&lt;P&gt;       ALV_PRINT        TYPE SLIS_PRINT_ALV,&lt;/P&gt;&lt;P&gt;       ALV_DETAIL_FUNC(30),&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      EVENTS   TYPE SLIS_T_EVENT,&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;       T_LIST_TOP_OF_PAGE TYPE SLIS_T_LISTHEADER.&lt;/P&gt;&lt;P&gt;CONSTANTS: FORMNAME_TOP_OF_PAGE TYPE SLIS_FORMNAME VALUE 'TOP_OF_PAGE'.&lt;/P&gt;&lt;P&gt;RANGES : R_PARVW FOR VBPA-PARVW.&lt;/P&gt;&lt;P&gt;*=================End of Virable  tables Declaration====================&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*==================Start of Selection Screen Declaration================&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;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK VAR WITH FRAME TITLE VARIANT.&lt;/P&gt;&lt;P&gt;PARAMETERS     : P_VARI LIKE DISVARIANT-VARIANT.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK VAR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN :BEGIN OF BLOCK B2 WITH FRAME TITLE TEXT-002.&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS : S_VKORG FOR VBAK-VKORG OBLIGATORY, " Sales Org.&lt;/P&gt;&lt;P&gt;                 S_VKBUR FOR VBAK-VKBUR, " Sales Office&lt;/P&gt;&lt;P&gt;                 S_VKGRP FOR VBAK-VKGRP, " Sales Group&lt;/P&gt;&lt;P&gt;                 S_VTWEG FOR VBAK-VTWEG. " Distribution Channel&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN :END OF BLOCK B2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN :BEGIN OF BLOCK B3 WITH FRAME TITLE TEXT-003.&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS : S_KUNNR FOR VBAK-KUNNR, "Customer Number&lt;/P&gt;&lt;P&gt;                 S_VBELN FOR VBAK-VBELN, "Sales Order Number&lt;/P&gt;&lt;P&gt;                 S_ERDAT FOR VBAK-ERDAT, "OBLIGATORY, "Sales Order Date&lt;/P&gt;&lt;P&gt;                 S_AUGRU FOR VBAK-AUGRU, "Order Reason&lt;/P&gt;&lt;P&gt;                 S_BSTNK FOR VBAK-BSTNK, "PO Number&lt;/P&gt;&lt;P&gt;                 S_AUART FOR VBAK-AUART. "Sales order type&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN :END OF BLOCK B3.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN :BEGIN OF BLOCK B4 WITH FRAME TITLE TEXT-004.&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS : S_WERKS FOR VBAP-WERKS,  "plant,&lt;/P&gt;&lt;P&gt;                 S_MATNR FOR VBAP-MATNR, " Matrial Code&lt;/P&gt;&lt;P&gt;                 S_PSTYV FOR VBAP-PSTYV, "Sales Order Item cat.&lt;/P&gt;&lt;P&gt;                 S_EDATU FOR VBEP-EDATU,  "Conformatin Date&lt;/P&gt;&lt;P&gt;                 S_REQDAT FOR VBAP-ZZCUST_REQDAT. "Req.Del Date&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN :END OF BLOCK B4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN :BEGIN OF BLOCK B5 WITH FRAME TITLE TEXT-005.&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS : S_ZE FOR  VBPA-KUNNR NO INTERVALS NO-EXTENSION , "Partner Function&lt;/P&gt;&lt;P&gt;                 S_ZS FOR VBPA-KUNNR NO INTERVALS NO-EXTENSION, "Partner Function&lt;/P&gt;&lt;P&gt;                 S_ZA FOR VBPA-KUNNR NO INTERVALS NO-EXTENSION, "Partner Function&lt;/P&gt;&lt;P&gt;                 S_ZR FOR VBPA-KUNNR NO INTERVALS NO-EXTENSION, "Partner Function&lt;/P&gt;&lt;P&gt;                 S_ZI FOR VBPA-KUNNR NO INTERVALS NO-EXTENSION. "Partner Function&lt;/P&gt;&lt;P&gt;*FOR VBPA-KUNNR MATCHCODE OBJECT ZSMR ,&lt;/P&gt;&lt;P&gt;***&lt;/P&gt;&lt;P&gt;***SELECT-OPTIONS : S_ZE FOR  VBPA-PARVW NO INTERVALS NO-EXTENSION , "Partner Function&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;                S_ZS FOR VBPA-PARVW NO INTERVALS NO-EXTENSION, "Partner Function&lt;/P&gt;&lt;/LI&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;                S_ZA FOR VBPA-PARVW NO INTERVALS NO-EXTENSION, "Partner Function&lt;/P&gt;&lt;/LI&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;                S_ZR FOR VBPA-PARVW NO INTERVALS NO-EXTENSION, "Partner Function&lt;/P&gt;&lt;/LI&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;                S_ZI FOR VBPA-PARVW NO INTERVALS NO-EXTENSION. "Partner Function&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;SELECTION-SCREEN :END OF BLOCK B5.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN : BEGIN OF BLOCK B6 WITH FRAME TITLE TEXT-006.&lt;/P&gt;&lt;P&gt;PARAMETER :  P_SCREEN RADIOBUTTON GROUP RTYP DEFAULT 'X' USER-COMMAND&lt;/P&gt;&lt;P&gt;                                                 UCOMM ,&lt;/P&gt;&lt;P&gt;             P_FILE  RADIOBUTTON GROUP RTYP,&lt;/P&gt;&lt;P&gt;             P_MAIL  RADIOBUTTON GROUP RTYP.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN :END OF BLOCK B6.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN : BEGIN OF BLOCK B7 WITH FRAME TITLE TEXT-007.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PARAMETER :  P_PEN RADIOBUTTON GROUP RE1 DEFAULT 'X' USER-COMMAND&lt;/P&gt;&lt;P&gt;                                                 UCOMM , " Pending Sales order&lt;/P&gt;&lt;P&gt;             P_ALL  RADIOBUTTON GROUP RE1,  " ALL Sales order&lt;/P&gt;&lt;P&gt;             P_BLOCK  RADIOBUTTON GROUP RE1.  " Blocked Sales order&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            P_DELE   RADIOBUTTON GROUP RE1.  " Delevered Sales order&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN :END OF BLOCK B7.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN : END OF BLOCK B1.&lt;/P&gt;&lt;P&gt;*=================End of Selection Screen Declaration===================&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*==================Start of Internal table Declaration==================&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-----" /&gt;&lt;P&gt;Internal table for vbak&lt;/P&gt;&lt;P&gt;DATA : BEGIN OF GT_VBAK OCCURS 0 ,&lt;/P&gt;&lt;P&gt;            VBELN             LIKE VBAK-VBELN , " Sales Document Number&lt;/P&gt;&lt;P&gt;            ERDAT             LIKE VBAK-ERDAT , " Order Date&lt;/P&gt;&lt;P&gt;            AUART             LIKE VBAK-AUART,  "Sales Document Type&lt;/P&gt;&lt;P&gt;            VTWEG             LIKE VBAK-VTWEG,  "Distribution Channel&lt;/P&gt;&lt;P&gt;            SPART             LIKE VBAK-SPART,  "Division&lt;/P&gt;&lt;P&gt;            KNUMV             LIKE VBAK-KNUMV ,  "Number of the document condition&lt;/P&gt;&lt;P&gt;            BSTNK             LIKE VBAK-BSTNK, " cUSTOMER pURCHASE ORDER NUMBER&lt;/P&gt;&lt;P&gt;            BSTDK             LIKE VBAK-BSTDK,  "Customer purchase order date&lt;/P&gt;&lt;P&gt;            KUNNR             LIKE VBAK-KUNNR,  " Customer Code&lt;/P&gt;&lt;P&gt;            ZOA_RECP_PLAN_DT  LIKE VBAK-ZOA_RECP_PLAN_DT, "Order receipt at plant&lt;/P&gt;&lt;P&gt;       END OF GT_VBAK.&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-------" /&gt;&lt;P&gt;Internal table for VBAP&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : BEGIN OF GT_VBAP OCCURS 0,&lt;/P&gt;&lt;P&gt;          VBELN LIKE VBAP-VBELN, " Sales Document Number&lt;/P&gt;&lt;P&gt;          POSNR LIKE VBAP-POSNR, " Sales Doc. Line item number&lt;/P&gt;&lt;P&gt;          MATNR LIKE VBAP-MATNR,&lt;/P&gt;&lt;P&gt;          ABGRU LIKE VBAP-ABGRU, "Reason for rejection&lt;/P&gt;&lt;P&gt;          MEINS LIKE VBAP-MEINS,  "Base Unit of Measure&lt;/P&gt;&lt;P&gt;          FAKSP LIKE VBAP-FAKSP,&lt;/P&gt;&lt;P&gt;          NETWR  LIKE VBAP-NETWR, " Net Value&lt;/P&gt;&lt;P&gt;          KWMENG LIKE VBAP-KWMENG, " Order Quantity&lt;/P&gt;&lt;P&gt;          WERKS LIKE VBAP-WERKS, "PLANT&lt;/P&gt;&lt;P&gt;          LGORT LIKE VBAP-LGORT, "S.Loc&lt;/P&gt;&lt;P&gt;          ROUTE LIKE VBAP-ROUTE, " Route&lt;/P&gt;&lt;P&gt;          ZZWIDTH LIKE VBAP-ZZWIDTH, " widht&lt;/P&gt;&lt;P&gt;          ZZKDMAT LIKE VBAP-ZZKDMAT, " customer Matrial&lt;/P&gt;&lt;P&gt;          ZZBRAND LIKE VBAP-ZZBRAND, " bRAND&lt;/P&gt;&lt;P&gt;          ZZSPLDIA LIKE VBAP-ZZSPLDIA, "Spool Diameter&lt;/P&gt;&lt;P&gt;          ZZCUST_REQDAT LIKE VBAP-ZZCUST_REQDAT, " REquested Date&lt;/P&gt;&lt;P&gt;          ZZCOATING LIKE VBAP-ZZCOATING,&lt;/P&gt;&lt;P&gt;          ZZWEIGHT LIKE VBAP-ZZWEIGHT,&lt;/P&gt;&lt;P&gt;          ZZWEIGHT_UMO LIKE VBAP-ZZWEIGHT_UMO,&lt;/P&gt;&lt;P&gt;         END OF GT_VBAP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-----" /&gt;&lt;P&gt;Internal table for VBEP&lt;/P&gt;&lt;P&gt;DATA : BEGIN OF GT_VBEP OCCURS 0,&lt;/P&gt;&lt;P&gt;          VBELN LIKE VBEP-VBELN, " Sales Doc. Number&lt;/P&gt;&lt;P&gt;          POSNR LIKE VBEP-POSNR, " Sales Doc. Item Number&lt;/P&gt;&lt;P&gt;          ETENR LIKE VBEP-ETENR, "Delivery Schedule Line Number&lt;/P&gt;&lt;P&gt;          EDATU LIKE VBEP-EDATU, "Schedule line date&lt;/P&gt;&lt;P&gt;         END OF GT_VBEP.&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-----" /&gt;&lt;P&gt;Internal table for VBPA&lt;/P&gt;&lt;P&gt;DATA : BEGIN OF GT_VBPA OCCURS 0,&lt;/P&gt;&lt;P&gt;         VBELN LIKE VBAP-VBELN, "Sales Document Number&lt;/P&gt;&lt;P&gt;         POSNR LIKE VBAP-POSNR, "Sales Document Item Number&lt;/P&gt;&lt;P&gt;         PARVW LIKE VBPA-PARVW, "Partner Function&lt;/P&gt;&lt;P&gt;         KUNNR LIKE VBPA-KUNNR, " Customer Number&lt;/P&gt;&lt;P&gt;      END OF GT_VBPA.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---" /&gt;&lt;P&gt;Internal table for VBKD&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : BEGIN OF GT_VBKD OCCURS 0,&lt;/P&gt;&lt;P&gt;        VBELN LIKE VBKD-VBELN , " Sales Documet number&lt;/P&gt;&lt;P&gt;        KDGRP LIKE VBKD-KDGRP, " Custoemr Group&lt;/P&gt;&lt;P&gt;        INCO1 LIKE VBKD-INCO1, "Incoterms (Part 1)&lt;/P&gt;&lt;P&gt;        INCO2 LIKE VBKD-INCO2, "Incoterms (Part 2)&lt;/P&gt;&lt;P&gt;        ZTERM LIKE VBKD-ZTERM, " Payment Term&lt;/P&gt;&lt;P&gt;        STCUR LIKE VBKD-STCUR, " Exchang Rate&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     END OF GT_VBKD.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----" /&gt;&lt;P&gt;Internal table VBFA&lt;/P&gt;&lt;P&gt;DATA : BEGIN OF GT_VBFA OCCURS 0 ,&lt;/P&gt;&lt;P&gt;         VBELV   LIKE VBFA-VBELV, " Preceding sales and distribution document&lt;/P&gt;&lt;P&gt;         POSNV   LIKE VBFA-POSNV, "Preceding item of an SD document&lt;/P&gt;&lt;P&gt;         VBELN   LIKE VBFA-VBELN, "Subsequent sales and distribution document&lt;/P&gt;&lt;P&gt;         POSNN   LIKE VBFA-POSNN, "Subsequent item of an SD document&lt;/P&gt;&lt;P&gt;         VBTYP_N LIKE VBFA-VBTYP_N, "Document category of subsequent document&lt;/P&gt;&lt;P&gt;         RFMNG   LIKE VBFA-RFMNG,    "Referenced quantity in base unit of measure&lt;/P&gt;&lt;P&gt;       END OF GT_VBFA.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-------" /&gt;&lt;P&gt;Internal table for KONV&lt;/P&gt;&lt;P&gt;DATA :  BEGIN OF GT_KONV OCCURS 0,&lt;/P&gt;&lt;P&gt;              KNUMV LIKE KONV-KNUMV, "Number of the document condition&lt;/P&gt;&lt;P&gt;              KPOSN LIKE KONV-KPOSN, "Condition item number&lt;/P&gt;&lt;P&gt;              KSCHL LIKE KONV-KSCHL , "Cond Type.&lt;/P&gt;&lt;P&gt;              KBETR LIKE KONV-KBETR, " Rate per KG&lt;/P&gt;&lt;P&gt;              WAERS LIKE KONV-WAERS, "currency&lt;/P&gt;&lt;P&gt;              KWERT LIKE KONV-KWERT, "Condition value&lt;/P&gt;&lt;P&gt;          END OF GT_KONV.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----" /&gt;&lt;P&gt;Internal table for MSKA,&lt;/P&gt;&lt;P&gt;DATA  : BEGIN OF GT_MSKA OCCURS 0,&lt;/P&gt;&lt;P&gt;           MATNR LIKE MSKA-MATNR, "Matrial&lt;/P&gt;&lt;P&gt;           WERKS LIKE MSKA-WERKS, "PLANT&lt;/P&gt;&lt;P&gt;           LGORT LIKE MSKA-LGORT, "S. Loc&lt;/P&gt;&lt;P&gt;           CHARG  LIKE MSKA-CHARG,"Batch Number&lt;/P&gt;&lt;P&gt;           SOBKZ LIKE MSKA-SOBKZ, "Special Stock Indicator&lt;/P&gt;&lt;P&gt;           VBELN LIKE MSKA-VBELN , "Sales Doc Number&lt;/P&gt;&lt;P&gt;           POSNR LIKE MSKA-POSNR, "Sales Doc Item Number&lt;/P&gt;&lt;P&gt;           KALAB LIKE MSKA-KALAB, "Unrestricted-Use Stock&lt;/P&gt;&lt;P&gt;           KAINS LIKE MSKA-KAINS, " Stock in Quality Inspection&lt;/P&gt;&lt;P&gt;        END OF GT_MSKA.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-------" /&gt;&lt;P&gt;Internal table for MARD&lt;/P&gt;&lt;P&gt;DATA : BEGIN OF GT_MARD OCCURS 0 ,&lt;/P&gt;&lt;P&gt;          MATNR LIKE MARD-MATNR, "Matrial&lt;/P&gt;&lt;P&gt;          WERKS LIKE MARD-WERKS, "PLANT&lt;/P&gt;&lt;P&gt;          LGORT LIKE MARD-LGORT, "S. Loc&lt;/P&gt;&lt;P&gt;          LABST LIKE MARD-LABST, "Valuated Unrestricted-Use Stock&lt;/P&gt;&lt;P&gt;       END OF GT_MARD.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-----" /&gt;&lt;P&gt;Internal table for KNA1&lt;/P&gt;&lt;P&gt;DATA : BEGIN OF GT_KNA1 OCCURS 0,&lt;/P&gt;&lt;P&gt;           KUNNR LIKE KNA1-KUNNR , " Customer Number&lt;/P&gt;&lt;P&gt;           NAME1 LIKE KNA1-NAME1,  "Customer Name&lt;/P&gt;&lt;P&gt;           NAME2 LIKE KNA1-NAME2,  " Customer Name&lt;/P&gt;&lt;P&gt;           ORT01 LIKE KNA1-ORT01, "City&lt;/P&gt;&lt;P&gt;        END OF GT_KNA1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF GT_KNA1_1 OCCURS 0,&lt;/P&gt;&lt;P&gt;          KUNNR LIKE KNA1-KUNNR , " Customer Number&lt;/P&gt;&lt;P&gt;          NAME1 LIKE KNA1-NAME1,  "Customer Name&lt;/P&gt;&lt;P&gt;         ORT01 LIKE KNA1-ORT01,&lt;/P&gt;&lt;P&gt;       END OF GT_KNA1_1.&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-------" /&gt;&lt;P&gt;Internal table for KNVV&lt;/P&gt;&lt;P&gt;DATA : BEGIN OF GT_KNVV OCCURS 0,&lt;/P&gt;&lt;P&gt;            KUNNR LIKE KNVV-KUNNR , " Customer Number&lt;/P&gt;&lt;P&gt;            KLABC LIKE KNVV-KLABC, " Custoemr Class&lt;/P&gt;&lt;P&gt;       END OF GT_KNVV.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---" /&gt;&lt;P&gt;Internal table for MAKT,&lt;/P&gt;&lt;P&gt;DATA : BEGIN OF GT_MAKT OCCURS 0,&lt;/P&gt;&lt;P&gt;         MATNR LIKE MAKT-MATNR,  "Matrial&lt;/P&gt;&lt;P&gt;         SPRAS LIKE MAKT-SPRAS,&lt;/P&gt;&lt;P&gt;         MAKTX LIKE MAKT-MAKTX, "Matrial DESC&lt;/P&gt;&lt;P&gt;         MAKTG LIKE MAKT-MAKTG,&lt;/P&gt;&lt;P&gt;      END OF GT_MAKT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---" /&gt;&lt;P&gt;Internal table for MVKE&lt;/P&gt;&lt;P&gt;DATA : BEGIN OF GT_MVKE OCCURS 0 ,&lt;/P&gt;&lt;P&gt;            MATNR LIKE MVKE-MATNR,  "Matrial&lt;/P&gt;&lt;P&gt;            MVGR1 LIKE MVKE-MVGR1, " Matrial Group&lt;/P&gt;&lt;P&gt;      END OF GT_MVKE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---" /&gt;&lt;P&gt;Internal table for TVM1T&lt;/P&gt;&lt;P&gt;DATA : BEGIN OF GT_TVM1T OCCURS 0 ,&lt;/P&gt;&lt;P&gt;             SPRAS LIKE TVM1T-SPRAS,&lt;/P&gt;&lt;P&gt;             MVGR1 LIKE TVM1T-MVGR1, " Matrial Group&lt;/P&gt;&lt;P&gt;             BEZEI LIKE TVM1T-BEZEI, "  Matrial Group DESC&lt;/P&gt;&lt;P&gt;      END OF GT_TVM1T.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---" /&gt;&lt;P&gt;Internal table for TSPAT&lt;/P&gt;&lt;P&gt;DATA : BEGIN OF GT_TSPAT OCCURS 0,&lt;/P&gt;&lt;P&gt;            SPRAS LIKE TSPAT-SPRAS,&lt;/P&gt;&lt;P&gt;            SPART LIKE VBAK-SPART,  "Division&lt;/P&gt;&lt;P&gt;            VTEXT LIKE TSPAT-VTEXT, "Division Desc&lt;/P&gt;&lt;P&gt;       END OF GT_TSPAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---" /&gt;&lt;P&gt;Internal table for TVTWT&lt;/P&gt;&lt;P&gt;DATA : BEGIN OF GT_TVTWT OCCURS 0 ,&lt;/P&gt;&lt;P&gt;        SPRAS LIKE TVTWT-SPRAS,&lt;/P&gt;&lt;P&gt;        VTWEG LIKE VBAK-VTWEG, "  Distribution Channel&lt;/P&gt;&lt;P&gt;        VTEXT LIKE TVTWT-VTEXT, "Distribution Channel Desc&lt;/P&gt;&lt;P&gt;       END OF GT_TVTWT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-----" /&gt;&lt;P&gt;Internal table for TVAKT&lt;/P&gt;&lt;P&gt;DATA : BEGIN OF GT_TVAKT OCCURS 0,&lt;/P&gt;&lt;P&gt;          SPRAS LIKE TVAKT-SPRAS,&lt;/P&gt;&lt;P&gt;          AUART LIKE VBAK-AUART,  "Sales Document Type&lt;/P&gt;&lt;P&gt;          BEZEI LIKE TVAKT-BEZEI, "sALES dOC TYPE Description&lt;/P&gt;&lt;P&gt;       END OF GT_TVAKT .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-----" /&gt;&lt;P&gt;Internal table for T151t&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF GT_VBUP OCCURS 0,&lt;/P&gt;&lt;P&gt;          VBELN LIKE VBUP-VBELN,&lt;/P&gt;&lt;P&gt;          POSNR LIKE VBUP-POSNR,&lt;/P&gt;&lt;P&gt;          GBSTA LIKE VBUP-GBSTA,&lt;/P&gt;&lt;P&gt;      END OF GT_VBUP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : BEGIN OF GT_T151T OCCURS 0,&lt;/P&gt;&lt;P&gt;          SPRAS LIKE T151T-SPRAS,&lt;/P&gt;&lt;P&gt;          KDGRP LIKE VBKD-KDGRP, " Custoemr Group&lt;/P&gt;&lt;P&gt;          KTEXT LIKE T151T-KTEXT, " Custoemr Group Desc&lt;/P&gt;&lt;P&gt;      END OF GT_T151T.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : BEGIN OF GT_TVROT OCCURS 0,&lt;/P&gt;&lt;P&gt;          SPRAS LIKE TVROT-SPRAS,&lt;/P&gt;&lt;P&gt;          ROUTE LIKE TVROT-ROUTE, " Route code&lt;/P&gt;&lt;P&gt;          BEZEI LIKE TVROT-BEZEI , " Route Desc&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       END OF GT_TVROT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : BEGIN OF GT_T052U OCCURS 0,&lt;/P&gt;&lt;P&gt;          SPRAS LIKE T052U-SPRAS,&lt;/P&gt;&lt;P&gt;          ZTERM LIKE T052U-ZTERM, " Payment terms&lt;/P&gt;&lt;P&gt;          TEXT1 LIKE T052U-TEXT1, " text&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       END OF GT_T052U.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF GT_VBUK OCCURS 0,&lt;/P&gt;&lt;P&gt;         VBELN LIKE VBUK-VBELN,&lt;/P&gt;&lt;P&gt;         WBSTK LIKE VBUK-WBSTK,&lt;/P&gt;&lt;P&gt;      END OF GT_VBUK.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-------fINAL iNTERNAL TABLE FOR OUTPUT&lt;/P&gt;&lt;P&gt;DATA : BEGIN OF GT_FINAL_DATA OCCURS 0,&lt;/P&gt;&lt;P&gt;            KUNNR             LIKE VBAK-KUNNR, " cUSTOMER CODE&lt;/P&gt;&lt;P&gt;            NAME(70)          TYPE C, " cUSTOMER NAME&lt;/P&gt;&lt;P&gt;            ORT01             LIKE KNA1-ORT01, "cITY&lt;/P&gt;&lt;P&gt;            S_KUNNR           LIKE VBAK-KUNNR, " cUSTOMER CODE&lt;/P&gt;&lt;P&gt;            S_NAME(70)        TYPE C, " cUSTOMER NAME&lt;/P&gt;&lt;P&gt;            S_ORT01           LIKE KNA1-ORT01, "cITY&lt;/P&gt;&lt;P&gt;            KLABC             LIKE KNVV-KLABC, " Custoemr Class&lt;/P&gt;&lt;P&gt;            VBELN(70)         TYPE C, "   LIKE VBAK-VBELN, "sALES oRDER nUMBER&lt;/P&gt;&lt;P&gt;            POSNR             LIKE VBAP-POSNR, "SALES ORDER LINE NUMBER&lt;/P&gt;&lt;P&gt;            INCO1             LIKE VBKD-INCO1, "Incoterms (Part 1)&lt;/P&gt;&lt;P&gt;            INCO2             LIKE VBKD-INCO2, "Incoterms (Part 2)&lt;/P&gt;&lt;P&gt;            KALAB             LIKE MSKA-KALAB, "Unrestricted-Use Stock&lt;/P&gt;&lt;P&gt;            KAINS             LIKE MSKA-KAINS, " Stock in Quality Inspection&lt;/P&gt;&lt;P&gt;            LABST             LIKE MARD-LABST, "Valuated Unrestricted-Use Stock&lt;/P&gt;&lt;P&gt;            ERDAT             LIKE VBAK-ERDAT , " Order Date&lt;/P&gt;&lt;P&gt;            MATNR             LIKE MAKT-MATNR,  "Matrial&lt;/P&gt;&lt;P&gt;            MAKTX             LIKE MAKT-MAKTX, "Matrial DESC&lt;/P&gt;&lt;P&gt;            MAKTG             LIKE MAKT-MAKTG, "Matrial DESC&lt;/P&gt;&lt;P&gt;            ZZKDMAT           LIKE VBAP-ZZKDMAT, "Customter Mat. Number&lt;/P&gt;&lt;P&gt;            ABGRU             LIKE VBAP-ABGRU, " Reason for rejection&lt;/P&gt;&lt;P&gt;            COLOR(20)         TYPE C,          "Color&lt;/P&gt;&lt;P&gt;            COMPLEX(20)       TYPE C,         "Complex&lt;/P&gt;&lt;P&gt;            WIDTH(10)         TYPE C,          "Width&lt;/P&gt;&lt;P&gt;            KBETR             LIKE KONV-KBETR, " Rate per KG&lt;/P&gt;&lt;P&gt;            WAERS             LIKE KONV-WAERS, "currency&lt;/P&gt;&lt;P&gt;            STCUR             LIKE VBKD-STCUR, " Exchang Rate&lt;/P&gt;&lt;P&gt;            MEINS             LIKE VBAP-MEINS,  "Base Unit of Measure&lt;/P&gt;&lt;P&gt;            KWMENG            LIKE VBAP-KWMENG, " Order Quantity&lt;/P&gt;&lt;P&gt;            RFMNG             LIKE VBFA-RFMNG,    "Referenced quantity in base unit of measure&lt;/P&gt;&lt;P&gt;            BAL_QTY           LIKE VBFA-RFMNG, " Balance QTY&lt;/P&gt;&lt;P&gt;            EDATU             LIKE VBEP-EDATU, "Schedule line date&lt;/P&gt;&lt;P&gt;            DAYS(5)          TYPE C, " Sch.Delay&lt;/P&gt;&lt;P&gt;            BSTNK             LIKE VBAK-BSTNK, " cUSTOMER pURCHASE ORDER NUMBER&lt;/P&gt;&lt;P&gt;            BSTDK             LIKE VBAK-BSTDK,  "Customer purchase order date&lt;/P&gt;&lt;P&gt;            VTWEG             LIKE VBAK-VTWEG,  "Distribution Channel&lt;/P&gt;&lt;P&gt;            SPART             LIKE VBAK-SPART,  "Division&lt;/P&gt;&lt;P&gt;            DIST_NAME         LIKE TVTWT-VTEXT, "Distribution Channels NAME&lt;/P&gt;&lt;P&gt;            DIV_NAME          LIKE TSPAT-VTEXT, "Sales Divisions NAME&lt;/P&gt;&lt;P&gt;            ZA_KUNNR          LIKE KNA1-KUNNR,&lt;/P&gt;&lt;P&gt;            ZA_NAME	          LIKE KNA1-NAME1,&lt;/P&gt;&lt;P&gt;            ZE_KUNNR          LIKE KNA1-KUNNR,&lt;/P&gt;&lt;P&gt;            ZE_NAME	          LIKE KNA1-NAME1,&lt;/P&gt;&lt;P&gt;            ZI_KUNNR          LIKE KNA1-KUNNR,&lt;/P&gt;&lt;P&gt;            ZI_NAME	          LIKE KNA1-NAME1,&lt;/P&gt;&lt;P&gt;            ZR_KUNNR          LIKE KNA1-KUNNR,&lt;/P&gt;&lt;P&gt;            ZR_NAME	          LIKE KNA1-NAME1,&lt;/P&gt;&lt;P&gt;            ZS_KUNNR          LIKE KNA1-KUNNR,&lt;/P&gt;&lt;P&gt;            ZS_NAME	          LIKE KNA1-NAME1,&lt;/P&gt;&lt;P&gt;            MVGR1(20)         TYPE C          , " Matrial Group&lt;/P&gt;&lt;P&gt;            B_VALUE           LIKE KONV-KWERT, "bASIC value&lt;/P&gt;&lt;P&gt;            EX_VALUE          LIKE KONV-KWERT, "eXCISE value&lt;/P&gt;&lt;P&gt;            EC_VALUE          LIKE KONV-KWERT, "ecess value&lt;/P&gt;&lt;P&gt;            HE_VALUE          LIKE  KONV-KWERT, "hcess value&lt;/P&gt;&lt;P&gt;            VAT_VALUE         LIKE KONV-KWERT, "VAT value&lt;/P&gt;&lt;P&gt;            CST_VALUE         LIKE KONV-KWERT, "CST&lt;/P&gt;&lt;P&gt;            F_VALUE           LIKE KONV-KWERT, "fREIGJT&lt;/P&gt;&lt;P&gt;            C_VALUE           LIKE KONV-KWERT, "cOMISSION&lt;/P&gt;&lt;P&gt;            KDGRP(70)         TYPE C, " Custoemr Group&lt;/P&gt;&lt;P&gt;            NETWR             LIKE VBAP-NETWR, " Net Value&lt;/P&gt;&lt;P&gt;            INR               LIKE VBAP-NETWR, " inr Net Value&lt;/P&gt;&lt;P&gt;            AUART             LIKE VBAK-AUART,  "Sales Document Type&lt;/P&gt;&lt;P&gt;            BEZEI             LIKE TVAKT-BEZEI, "SALES DOC TYPE DESC&lt;/P&gt;&lt;P&gt;            ZOA_RECP_PLAN_DT  LIKE VBAK-ZOA_RECP_PLAN_DT, "Order receipt at plant&lt;/P&gt;&lt;P&gt;            ZZCUST_REQDAT     LIKE VBAP-ZZCUST_REQDAT, " REquested Date&lt;/P&gt;&lt;P&gt;            ROUTE             LIKE VBAP-ROUTE, " Route&lt;/P&gt;&lt;P&gt;            ROUTE_NAME        LIKE  TVROT-BEZEI , "Route name&lt;/P&gt;&lt;P&gt;            ZZBRAND           LIKE VBAP-ZZBRAND, " bRAND&lt;/P&gt;&lt;P&gt;            ZZSPLDIA          LIKE VBAP-ZZSPLDIA, "Spool Diameter&lt;/P&gt;&lt;P&gt;            ZTERM             LIKE VBKD-ZTERM, " Payment Term&lt;/P&gt;&lt;P&gt;            Z_TERM_TEXT(50)   TYPE C, "Payment Terms Text&lt;/P&gt;&lt;P&gt;            Z001(50)          TYPE C, "text&lt;/P&gt;&lt;P&gt;            Z002(50)          TYPE C, "text&lt;/P&gt;&lt;P&gt;            Z003(50)          TYPE C, "text&lt;/P&gt;&lt;P&gt;            Z004(50)          TYPE C, "text&lt;/P&gt;&lt;P&gt;            ZI_001(50)        TYPE C, "text&lt;/P&gt;&lt;P&gt;            ZI_002(50)        TYPE C, "text&lt;/P&gt;&lt;P&gt;            ZZCOATING(20)     TYPE C,&lt;/P&gt;&lt;P&gt;            ZZWEIGHT          LIKE VBAP-ZZWEIGHT,&lt;/P&gt;&lt;P&gt;            ZZWEIGHT_UMO      LIKE VBAP-ZZWEIGHT_UMO,&lt;/P&gt;&lt;P&gt;            WBSTK             LIKE VBUK-WBSTK,&lt;/P&gt;&lt;P&gt;            T_NETWR           LIKE VBAP-NETWR, " Net Value&lt;/P&gt;&lt;P&gt;            FAKSP             LIKE VBAP-FAKSP,&lt;/P&gt;&lt;P&gt;       END OF GT_FINAL_DATA.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*****Mail Data Decleration.&lt;/P&gt;&lt;P&gt;DATA : BEGIN OF MAIL_TAB OCCURS 0 ,&lt;/P&gt;&lt;P&gt;            ZE_NAME	          LIKE KNA1-NAME1,&lt;/P&gt;&lt;P&gt;            ZS_NAME	          LIKE KNA1-NAME1,&lt;/P&gt;&lt;P&gt;            NAME              LIKE KNA1-NAME1,&lt;/P&gt;&lt;P&gt;            ORT01             LIKE KNA1-ORT01, "cITY&lt;/P&gt;&lt;P&gt;            S_NAME            LIKE KNA1-NAME1,&lt;/P&gt;&lt;P&gt;            S_ORT01           LIKE KNA1-ORT01, "cITY&lt;/P&gt;&lt;P&gt;            KLABC             LIKE KNVV-KLABC, " Custoemr Class&lt;/P&gt;&lt;P&gt;            VBELN             LIKE VBAK-VBELN, "sALES oRDER nUMBER&lt;/P&gt;&lt;P&gt;            POSNR             LIKE VBAP-POSNR, "SALES ORDER LINE NUMBER&lt;/P&gt;&lt;P&gt;            ERDAT             LIKE VBAK-ERDAT , " Order Date&lt;/P&gt;&lt;P&gt;            MATNR             LIKE MAKT-MATNR,  "Matrial&lt;/P&gt;&lt;P&gt;            MAKTX             LIKE MAKT-MAKTX, "Matrial DESC&lt;/P&gt;&lt;P&gt;            ZZKDMAT           LIKE VBAP-ZZKDMAT, "Customter Mat. Number&lt;/P&gt;&lt;P&gt;            COLOR(20)         TYPE C,          "Color&lt;/P&gt;&lt;P&gt;            COMPLEX(20)       TYPE C,         "Complex&lt;/P&gt;&lt;P&gt;            WIDTH(10)         TYPE C,          "Width&lt;/P&gt;&lt;P&gt;            KBETR             LIKE KONV-KBETR, " Rate per KG&lt;/P&gt;&lt;P&gt;            WAERS             LIKE KONV-WAERS, "currency&lt;/P&gt;&lt;P&gt;            MEINS             LIKE VBAP-MEINS,  "Base Unit of Measure&lt;/P&gt;&lt;P&gt;            KWMENG            LIKE VBAP-KWMENG, " Order Quantity&lt;/P&gt;&lt;P&gt;            BAL_QTY           LIKE VBFA-RFMNG, " Balance QTY&lt;/P&gt;&lt;P&gt;            EDATU             LIKE VBEP-EDATU, "Schedule line date&lt;/P&gt;&lt;P&gt;            DAYS(5)          TYPE C, " Sch.Delay&lt;/P&gt;&lt;P&gt;            BSTNK             LIKE VBAK-BSTNK, " cUSTOMER pURCHASE ORDER NUMBER&lt;/P&gt;&lt;P&gt;            BSTDK             LIKE VBAK-BSTDK,  "Customer purchase order date&lt;/P&gt;&lt;P&gt;            ZA_NAME	          LIKE KNA1-NAME1,&lt;/P&gt;&lt;P&gt;            ZI_NAME	          LIKE KNA1-NAME1,&lt;/P&gt;&lt;P&gt;            ZR_NAME	          LIKE KNA1-NAME1,&lt;/P&gt;&lt;P&gt;            MVGR1(20)         TYPE C          , " Matrial Group&lt;/P&gt;&lt;P&gt;            ZZCUST_REQDAT     LIKE VBAP-ZZCUST_REQDAT, " REquested Date&lt;/P&gt;&lt;P&gt;            ZZBRAND           LIKE VBAP-ZZBRAND, " bRAND&lt;/P&gt;&lt;P&gt;       END OF MAIL_TAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : IT_MAIL_ID TYPE YMSLT_MAIL_ID OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;DATA : SM_MAIL_ID TYPE YMSLT_MAIL_ID OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;DATA : SP_MAIL_ID TYPE YMSLT_MAIL_ID OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:   IT_MESSAGE TYPE STANDARD TABLE OF SOLISTI1 INITIAL SIZE 0&lt;/P&gt;&lt;P&gt;                WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;DATA:   IT_ATTACH TYPE STANDARD TABLE OF SOLISTI1 INITIAL SIZE 0&lt;/P&gt;&lt;P&gt;                WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:   T_PACKING_LIST LIKE SOPCKLSTI1 OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;        T_CONTENTS LIKE SOLISTI1 OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;        T_RECEIVERS LIKE SOMLRECI1 OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;        T_ATTACHMENT LIKE SOLISTI1 OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;        T_OBJECT_HEADER LIKE SOLISTI1 OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;        W_CNT TYPE I,&lt;/P&gt;&lt;P&gt;        W_SENT_ALL(1) TYPE C,&lt;/P&gt;&lt;P&gt;        W_DOC_DATA LIKE SODOCCHGI1,&lt;/P&gt;&lt;P&gt;        GD_ERROR    TYPE SY-SUBRC,&lt;/P&gt;&lt;P&gt;        GD_RECIEVER TYPE SY-SUBRC.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA STR_VAL TYPE STRING.&lt;/P&gt;&lt;P&gt;CLASS CL_ABAP_CHAR_UTILITIES DEFINITION LOAD.&lt;/P&gt;&lt;P&gt;CONSTANTS:&lt;/P&gt;&lt;P&gt;    CON_TAB  TYPE C VALUE CL_ABAP_CHAR_UTILITIES=&amp;gt;HORIZONTAL_TAB,&lt;/P&gt;&lt;P&gt;    CON_CRET TYPE C VALUE CL_ABAP_CHAR_UTILITIES=&amp;gt;CR_LF.&lt;/P&gt;&lt;P&gt;DATA: GT_VBAK_KNA1 LIKE GT_VBAK OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;      GT_VBAP_VBPA LIKE GT_VBAP OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;      GT_VBAP_MAKT LIKE GT_VBAP OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;      GT_MVKE_TVM1T LIKE GT_MVKE OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;      GT_VBAP_MSKA LIKE GT_VBAP OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;      GT_VBPA_KNA1 LIKE GT_VBPA OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;      GT_VBFA_VBUK LIKE GT_VBFA OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;      GT_VBAP_INOB LIKE GT_VBAP OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;DATA : BEGIN OF GT_INOB  OCCURS 0.&lt;/P&gt;&lt;P&gt;          INCLUDE STRUCTURE INOB.&lt;/P&gt;&lt;P&gt;DATA : END OF GT_INOB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF GT_YCAT_PARAMS OCCURS 0,&lt;/P&gt;&lt;P&gt;       KEY01 TYPE YYKEY01_C10,&lt;/P&gt;&lt;P&gt;       KEY02 TYPE YYKEY02_C16,&lt;/P&gt;&lt;P&gt;       KEY03 TYPE YYKEY03_C20,&lt;/P&gt;&lt;P&gt;       SRNO TYPE YYSRNO_N4,&lt;/P&gt;&lt;P&gt;       VALUE TYPE YYVALUE_C25,&lt;/P&gt;&lt;P&gt;      END OF GT_YCAT_PARAMS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF GT_CABN OCCURS 0,&lt;/P&gt;&lt;P&gt;       ATINN LIKE CABN-ATINN,&lt;/P&gt;&lt;P&gt;       ATNAM LIKE CABN-ATNAM,&lt;/P&gt;&lt;P&gt;      END OF GT_CABN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF GT_AUSP OCCURS 0,&lt;/P&gt;&lt;P&gt;       OBJEK LIKE AUSP-OBJEK,&lt;/P&gt;&lt;P&gt;       ATINN LIKE AUSP-ATINN,&lt;/P&gt;&lt;P&gt;       ATWRT LIKE AUSP-ATWRT,&lt;/P&gt;&lt;P&gt;      END OF GT_AUSP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF GT_CUOBJ OCCURS 0,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      CUOBJ(18) TYPE C,&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        CUOBJ TYPE OBJNUM,&lt;/P&gt;&lt;P&gt;      END OF GT_CUOBJ.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF GT_CAWN OCCURS 0,&lt;/P&gt;&lt;P&gt;        ATINN LIKE CAWN-ATINN,&lt;/P&gt;&lt;P&gt;        ATZHL LIKE CAWN-ATZHL,&lt;/P&gt;&lt;P&gt;        ATWRT LIKE CAWN-ATWRT,&lt;/P&gt;&lt;P&gt;     END OF GT_CAWN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF GT_CAWNT OCCURS 0,&lt;/P&gt;&lt;P&gt;        ATINN LIKE CAWNT-ATINN,&lt;/P&gt;&lt;P&gt;        ATZHL LIKE CAWNT-ATZHL,&lt;/P&gt;&lt;P&gt;        SPRAS LIKE CAWNT-SPRAS,&lt;/P&gt;&lt;P&gt;        ATWTB LIKE CAWNT-ATWTB,&lt;/P&gt;&lt;P&gt;     END OF GT_CAWNT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                      START-OF-SELECTION                             *&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;INITIALIZATION.&lt;/P&gt;&lt;P&gt;**********************&lt;/P&gt;&lt;P&gt;  VARIANT = 'Display Options'.&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; RB1 = 'X'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; REPNAME = SY-REPID.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM BUILD_EVENTTAB USING EVENTS[].&lt;/P&gt;&lt;P&gt;  PERFORM BUILD_LAYOUT .&lt;/P&gt;&lt;P&gt;  PERFORM INITIALIZE_VARIANT.&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 P_VARI.&lt;/P&gt;&lt;P&gt;  PERFORM F4_FOR_VARIANT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;********************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN.&lt;/P&gt;&lt;P&gt;  PERFORM PAI_OF_SELECTION_SCREEN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;END-OF-SELECTION.&lt;/P&gt;&lt;P&gt;  PERFORM SELECT_DATA.&lt;/P&gt;&lt;P&gt;  PERFORM PROCESS_DATA.&lt;/P&gt;&lt;P&gt;  PERFORM FILTER_PATNER_DATA.&lt;/P&gt;&lt;P&gt;  IF P_FILE = 'X'.&lt;/P&gt;&lt;P&gt;    PERFORM OUT_PUT_FILE.&lt;/P&gt;&lt;P&gt;  ELSEIF P_SCREEN = 'X'.&lt;/P&gt;&lt;P&gt;    PERFORM FILED_CAT_LOG.&lt;/P&gt;&lt;P&gt;    PERFORM CREATE_ALV_LAYOUT.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; PERFORM fill_events.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    PERFORM OUT_PUT_DATA.&lt;/P&gt;&lt;P&gt;  ELSEIF P_MAIL = 'X'.&lt;/P&gt;&lt;P&gt;    PERFORM MAIL_RPT.&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;*=================Start of Internal table Declaration===================&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  SELECT_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;      sELECTING DATA FROM dATA bASE&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 SELECT_DATA .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  REFRESH R_PARVW.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  R_PARVW-SIGN = 'I'.&lt;/P&gt;&lt;P&gt;  R_PARVW-OPTION = 'EQ'.&lt;/P&gt;&lt;P&gt;  IF  NOT  S_ZE[] IS INITIAL.&lt;/P&gt;&lt;P&gt;    R_PARVW-LOW = S_ZE-LOW.&lt;/P&gt;&lt;P&gt;    APPEND R_PARVW.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  IF  NOT  S_ZS[] IS INITIAL.&lt;/P&gt;&lt;P&gt;    R_PARVW-LOW = S_ZS-LOW.&lt;/P&gt;&lt;P&gt;    APPEND R_PARVW.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF  NOT  S_ZA[] IS INITIAL.&lt;/P&gt;&lt;P&gt;    R_PARVW-LOW = S_ZA-LOW.&lt;/P&gt;&lt;P&gt;    APPEND R_PARVW.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF  NOT  S_ZR[] IS INITIAL.&lt;/P&gt;&lt;P&gt;    R_PARVW-LOW = S_ZR-LOW.&lt;/P&gt;&lt;P&gt;    APPEND R_PARVW.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF  NOT  S_ZI[] IS INITIAL.&lt;/P&gt;&lt;P&gt;    R_PARVW-LOW = S_ZI-LOW.&lt;/P&gt;&lt;P&gt;    APPEND R_PARVW.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;R_PARVW-LOW = 'SH'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;APPEND R_PARVW.&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;HR originaltext="-----" /&gt;&lt;P&gt;sELECTING DATA FROM VBAK TABLE INTO INTERNAL TABLE GT_VBAK&lt;/P&gt;&lt;P&gt;  SELECT  VBELN ERDAT AUART&lt;/P&gt;&lt;P&gt;          VTWEG SPART KNUMV&lt;/P&gt;&lt;P&gt;          BSTNK BSTDK KUNNR&lt;/P&gt;&lt;P&gt;           ZOA_RECP_PLAN_DT&lt;/P&gt;&lt;P&gt;    INTO TABLE GT_VBAK&lt;/P&gt;&lt;P&gt;    FROM VBAK&lt;/P&gt;&lt;P&gt;          WHERE VBELN IN S_VBELN&lt;/P&gt;&lt;P&gt;          AND ERDAT IN S_ERDAT&lt;/P&gt;&lt;P&gt;          AND VBTYP = 'C'&lt;/P&gt;&lt;P&gt;          AND AUART IN S_AUART&lt;/P&gt;&lt;P&gt;          AND AUGRU IN S_AUGRU&lt;/P&gt;&lt;P&gt;          AND VKORG IN S_VKORG&lt;/P&gt;&lt;P&gt;          AND VTWEG IN S_VTWEG&lt;/P&gt;&lt;P&gt;          AND VKGRP IN S_VKGRP&lt;/P&gt;&lt;P&gt;          AND VKBUR IN S_VKBUR&lt;/P&gt;&lt;P&gt;          AND BSTNK  IN S_BSTNK&lt;/P&gt;&lt;P&gt;          AND KUNNR IN S_KUNNR.&lt;/P&gt;&lt;P&gt;  SORT GT_VBAK[] BY VBELN.&lt;/P&gt;&lt;P&gt;  IF NOT GT_VBAK[] IS INITIAL.&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---" /&gt;&lt;P&gt;Selecting data from VBAP into Internal tabl gt_vbap&lt;/P&gt;&lt;P&gt;    IF P_BLOCK = 'X' .&lt;/P&gt;&lt;P&gt;      SELECT  VBELN   POSNR&lt;/P&gt;&lt;P&gt;              MATNR  ABGRU&lt;/P&gt;&lt;P&gt;              MEINS   FAKSP&lt;/P&gt;&lt;P&gt;              NETWR KWMENG&lt;/P&gt;&lt;P&gt;              WERKS   LGORT&lt;/P&gt;&lt;P&gt;              ROUTE ZZWIDTH&lt;/P&gt;&lt;P&gt;              ZZKDMAT ZZBRAND&lt;/P&gt;&lt;P&gt;              ZZSPLDIA ZZCUST_REQDAT&lt;/P&gt;&lt;P&gt;              ZZCOATING ZZWEIGHT&lt;/P&gt;&lt;P&gt;              ZZWEIGHT_UMO&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        INTO TABLE GT_VBAP&lt;/P&gt;&lt;P&gt;        FROM VBAP&lt;/P&gt;&lt;P&gt;        FOR ALL ENTRIES IN GT_VBAK&lt;/P&gt;&lt;P&gt;        WHERE VBELN = GT_VBAK-VBELN&lt;/P&gt;&lt;P&gt;        AND MATNR IN S_MATNR&lt;/P&gt;&lt;P&gt;        AND ABGRU &amp;lt;&amp;gt; ''&lt;/P&gt;&lt;P&gt;        AND WERKS IN S_WERKS&lt;/P&gt;&lt;P&gt;        .&lt;/P&gt;&lt;P&gt;    ELSEIF P_PEN = 'X'.&lt;/P&gt;&lt;P&gt;      SELECT  VBELN   POSNR&lt;/P&gt;&lt;P&gt;              MATNR  ABGRU&lt;/P&gt;&lt;P&gt;              MEINS   FAKSP&lt;/P&gt;&lt;P&gt;              NETWR KWMENG&lt;/P&gt;&lt;P&gt;              WERKS   LGORT&lt;/P&gt;&lt;P&gt;              ROUTE ZZWIDTH&lt;/P&gt;&lt;P&gt;              ZZKDMAT ZZBRAND&lt;/P&gt;&lt;P&gt;              ZZSPLDIA ZZCUST_REQDAT&lt;/P&gt;&lt;P&gt;              ZZCOATING ZZWEIGHT&lt;/P&gt;&lt;P&gt;              ZZWEIGHT_UMO&lt;/P&gt;&lt;P&gt;        INTO TABLE GT_VBAP&lt;/P&gt;&lt;P&gt;        FROM VBAP&lt;/P&gt;&lt;P&gt;        FOR ALL ENTRIES IN GT_VBAK&lt;/P&gt;&lt;P&gt;        WHERE VBELN = GT_VBAK-VBELN&lt;/P&gt;&lt;P&gt;        AND MATNR IN S_MATNR&lt;/P&gt;&lt;P&gt;        AND FAKSP &amp;lt;&amp;gt; '10'&lt;/P&gt;&lt;P&gt;        AND WERKS IN S_WERKS.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;         SELECT  VBELN   POSNR&lt;/P&gt;&lt;P&gt;              MATNR  ABGRU&lt;/P&gt;&lt;P&gt;              MEINS   FAKSP&lt;/P&gt;&lt;P&gt;              NETWR KWMENG&lt;/P&gt;&lt;P&gt;              WERKS   LGORT&lt;/P&gt;&lt;P&gt;              ROUTE ZZWIDTH&lt;/P&gt;&lt;P&gt;              ZZKDMAT ZZBRAND&lt;/P&gt;&lt;P&gt;              ZZSPLDIA ZZCUST_REQDAT&lt;/P&gt;&lt;P&gt;              ZZCOATING ZZWEIGHT&lt;/P&gt;&lt;P&gt;              ZZWEIGHT_UMO&lt;/P&gt;&lt;P&gt;        INTO TABLE GT_VBAP&lt;/P&gt;&lt;P&gt;        FROM VBAP&lt;/P&gt;&lt;P&gt;        FOR ALL ENTRIES IN GT_VBAK&lt;/P&gt;&lt;P&gt;        WHERE VBELN = GT_VBAK-VBELN&lt;/P&gt;&lt;P&gt;        AND MATNR IN S_MATNR&lt;/P&gt;&lt;P&gt;        AND WERKS IN S_WERKS.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; IF P_PEN = 'X'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   SELECT VBELN POSNR GBSTA FROM VBUP INTO TABLE GT_VBUP&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          FOR ALL ENTRIES IN GT_VBAP&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          WHERE VBELN = GT_VBAP-VBELN AND  POSNR = GT_VBAP-POSNR AND&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          GBSTA &amp;lt;&amp;gt; 'C'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   SORT GT_VBUP[] BY VBELN.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   LOOP AT GT_VBAP.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     READ TABLE GT_VBUP WITH KEY VBELN = GT_VBAP-VBELN&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                 POSNR = GT_VBAP-POSNR.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       DELETE GT_VBAP.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     CLEAR GT_VBUP.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   ENDLOOP.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    LOOP AT GT_VBAK.&lt;/P&gt;&lt;P&gt;      READ TABLE GT_VBAP WITH KEY VBELN = GT_VBAK-VBELN.&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;        DELETE GT_VBAK.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;      CLEAR GT_VBAP.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF NOT GT_VBAP[] IS INITIAL.&lt;/P&gt;&lt;P&gt;    GT_VBAP_INOB[] = GT_VBAP[].&lt;/P&gt;&lt;P&gt;SORT GT_VBAP_INOB[] BY MATNR.&lt;/P&gt;&lt;P&gt;DELETE ADJACENT DUPLICATES FROM GT_VBAP_INOB COMPARING MATNR.&lt;/P&gt;&lt;P&gt;SELECT * FROM INOB INTO TABLE GT_INOB&lt;/P&gt;&lt;P&gt;     WHERE KLART = '023'&lt;/P&gt;&lt;P&gt;         AND  OBTAB = 'MARA'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;   SELECT  KEY01 KEY02 KEY03 SRNO VALUE&lt;/P&gt;&lt;P&gt;                 INTO TABLE Gt_YCAT_PARAMS&lt;/P&gt;&lt;P&gt;                 FROM  YCAT_PARAMS&lt;/P&gt;&lt;P&gt;                             WHERE KEY01 = 'CHAR_NAME'&lt;/P&gt;&lt;P&gt;                             AND   KEY02 = 'ATNAM'&lt;/P&gt;&lt;P&gt;                             AND  ( KEY03 = 'COLOR' OR  KEY03 = 'COMPLEX' )&lt;/P&gt;&lt;P&gt;                             AND   SRNO  = '0001'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT ATINN ATNAM INTO TABLE GT_CABN FROM CABN&lt;/P&gt;&lt;P&gt;                          WHERE ( ATNAM = 'COLOUR' OR ATNAM = 'COMPLEX' ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOOP AT GT_INOB.&lt;/P&gt;&lt;P&gt;GT_CUOBJ-CUOBJ = GT_INOB-CUOBJ.&lt;/P&gt;&lt;P&gt;APPEND GT_CUOBJ.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT OBJEK ATINN ATWRT&lt;/P&gt;&lt;P&gt;      INTO TABLE GT_AUSP FROM AUSP&lt;/P&gt;&lt;P&gt;         FOR ALL ENTRIES IN GT_CUOBJ&lt;/P&gt;&lt;P&gt;          WHERE OBJEK = GT_CUOBJ-CUOBJ.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         AND   ATINN = L_ATINN.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT ATINN ATZHL ATWRT INTO TABLE GT_CAWN&lt;/P&gt;&lt;P&gt;        FROM CAWN FOR ALL ENTRIES IN GT_AUSP&lt;/P&gt;&lt;P&gt;          WHERE ATWRT = GT_AUSP-ATWRT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT ATINN ATZHL SPRAS ATWTB INTO TABLE GT_CAWNT&lt;/P&gt;&lt;P&gt;       FROM CAWNT FOR ALL ENTRIES IN GT_CAWN&lt;/P&gt;&lt;P&gt;          WHERE ATINN = GT_CAWN-ATINN&lt;/P&gt;&lt;P&gt;          AND   ATZHL = GT_CAWN-ATZHL&lt;/P&gt;&lt;P&gt;          AND SPRAS = 'EN'.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---" /&gt;&lt;P&gt;Selecting data from VBeP into Internal tabl gt_vbep&lt;/P&gt;&lt;P&gt;    SORT GT_VBAP[] BY VBELN POSNR.&lt;/P&gt;&lt;P&gt;    SELECT  VBELN POSNR&lt;/P&gt;&lt;P&gt;            ETENR EDATU&lt;/P&gt;&lt;P&gt;      INTO TABLE GT_VBEP&lt;/P&gt;&lt;P&gt;      FROM VBEP&lt;/P&gt;&lt;P&gt;      FOR ALL ENTRIES IN GT_VBAP&lt;/P&gt;&lt;P&gt;      WHERE VBELN = GT_VBAP-VBELN&lt;/P&gt;&lt;P&gt;      AND POSNR = GT_VBAP-POSNR&lt;/P&gt;&lt;P&gt;      AND EDATU IN S_EDATU&lt;/P&gt;&lt;P&gt;           AND BMENG &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SELECT SPRAS ROUTE BEZEI&lt;/P&gt;&lt;P&gt;          INTO TABLE GT_TVROT&lt;/P&gt;&lt;P&gt;          FROM TVROT&lt;/P&gt;&lt;P&gt;         WHERE SPRAS = 'EN'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT GT_VBAP[] IS INITIAL.&lt;/P&gt;&lt;P&gt;    GT_VBAP_VBPA[] = GT_VBAP[].&lt;/P&gt;&lt;P&gt;    SORT GT_VBAP_VBPA[] BY VBELN.&lt;/P&gt;&lt;P&gt;    DELETE ADJACENT DUPLICATES FROM GT_VBAP_VBPA COMPARING VBELN.&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---" /&gt;&lt;P&gt;Selecting data from  VBPA into Internal tabl GT_VBPA&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF NOT R_PARVW[] IS INITIAL.&lt;/P&gt;&lt;P&gt;      SELECT VBELN POSNR&lt;/P&gt;&lt;P&gt;             PARVW KUNNR&lt;/P&gt;&lt;P&gt;        INTO TABLE GT_VBPA&lt;/P&gt;&lt;P&gt;        FROM VBPA&lt;/P&gt;&lt;P&gt;        FOR ALL ENTRIES IN  GT_VBAP_VBPA&lt;/P&gt;&lt;P&gt;        WHERE VBELN = GT_VBAP_VBPA-VBELN&lt;/P&gt;&lt;P&gt;        AND (  PARVW  IN R_PARVW&lt;/P&gt;&lt;P&gt;        OR PARVW = 'WE' ).&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      SELECT VBELN POSNR&lt;/P&gt;&lt;P&gt;             PARVW KUNNR&lt;/P&gt;&lt;P&gt;        INTO TABLE GT_VBPA&lt;/P&gt;&lt;P&gt;        FROM VBPA&lt;/P&gt;&lt;P&gt;        FOR ALL ENTRIES IN  GT_VBAP_VBPA&lt;/P&gt;&lt;P&gt;        WHERE VBELN = GT_VBAP_VBPA-VBELN&lt;/P&gt;&lt;P&gt;        AND  ( PARVW  = 'ZE'&lt;/P&gt;&lt;P&gt;        OR  PARVW = 'ZS'&lt;/P&gt;&lt;P&gt;        OR PARVW = 'ZA'&lt;/P&gt;&lt;P&gt;        OR  PARVW = 'ZR'&lt;/P&gt;&lt;P&gt;        OR  PARVW = 'ZI' OR PARVW = 'WE' ).&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  SORT GT_VBPA[].&lt;/P&gt;&lt;P&gt;  GT_VBPA_KNA1[] = GT_VBPA[].&lt;/P&gt;&lt;P&gt;  SORT GT_VBPA_KNA1[] BY KUNNR.&lt;/P&gt;&lt;P&gt;  DELETE ADJACENT DUPLICATES FROM GT_VBPA_KNA1 COMPARING KUNNR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT GT_VBPA_KNA1[] IS INITIAL.&lt;/P&gt;&lt;P&gt;    SELECT KUNNR NAME1 ORT01 FROM KNA1 INTO TABLE&lt;/P&gt;&lt;P&gt;           GT_KNA1_1 FOR ALL ENTRIES IN GT_VBPA_KNA1&lt;/P&gt;&lt;P&gt;            WHERE KUNNR = GT_VBPA_KNA1-KUNNR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---" /&gt;&lt;P&gt;Selecting data from  VBKD into Internal tabl GT_VBKD&lt;/P&gt;&lt;P&gt;  IF NOT GT_VBAK[] IS INITIAL.&lt;/P&gt;&lt;P&gt;    SELECT VBELN  KDGRP&lt;/P&gt;&lt;P&gt;           INCO1 INCO2&lt;/P&gt;&lt;P&gt;           ZTERM  STCUR&lt;/P&gt;&lt;P&gt;      INTO TABLE GT_VBKD&lt;/P&gt;&lt;P&gt;      FROM VBKD&lt;/P&gt;&lt;P&gt;      FOR ALL ENTRIES IN GT_VBAK&lt;/P&gt;&lt;P&gt;      WHERE VBELN = GT_VBAK-VBELN&lt;/P&gt;&lt;P&gt;      AND PRSDT &amp;lt;&amp;gt; ''.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="------" /&gt;&lt;P&gt;Selecting data from VBFA into Internal table gt_vbfa&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF P_PEN = 'X'.&lt;/P&gt;&lt;P&gt;        SELECT VBFA&lt;SUB&gt;VBELV   VBFA&lt;/SUB&gt;POSNV&lt;/P&gt;&lt;P&gt;                VBFA&lt;SUB&gt;VBELN   VBFA&lt;/SUB&gt;POSNN&lt;/P&gt;&lt;P&gt;                VBFA&lt;SUB&gt;VBTYP_N VBFA&lt;/SUB&gt;RFMNG&lt;/P&gt;&lt;P&gt;           INTO TABLE GT_VBFA&lt;/P&gt;&lt;P&gt;           FROM VBFA INNER JOIN&lt;/P&gt;&lt;P&gt;           VBAK ON VBFA&lt;SUB&gt;VBELV = VBAK&lt;/SUB&gt;VBELN&lt;/P&gt;&lt;P&gt;           WHERE&lt;/P&gt;&lt;P&gt;           ( VBFA~VBTYP_N = 'J' OR&lt;/P&gt;&lt;P&gt;                 VBFA~VBTYP_N = 'R').&lt;/P&gt;&lt;P&gt; LOOP AT GT_VBFA.&lt;/P&gt;&lt;P&gt;     READ TABLE GT_VBAK WITH KEY VBELN = Gt_VBFA-VBELV.&lt;/P&gt;&lt;P&gt;       IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;         DELETE GT_VBFA.&lt;/P&gt;&lt;P&gt;       ENDIF.&lt;/P&gt;&lt;P&gt; CLEAR GT_VBFA.&lt;/P&gt;&lt;P&gt; ENDLOOP.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     SELECT VBELV   POSNV&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;               VBELN   POSNN&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;               VBTYP_N RFMNG&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          INTO TABLE GT_VBFA&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          FROM VBFA&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          FOR ALL ENTRIES IN GT_VBAK&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          WHERE VBELV = GT_VBAK-VBELN&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          AND ( VBTYP_N = 'J' OR&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                VBTYP_N = 'R').&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      SELECT VBELV   POSNV&lt;/P&gt;&lt;P&gt;             VBELN   POSNN&lt;/P&gt;&lt;P&gt;             VBTYP_N RFMNG&lt;/P&gt;&lt;P&gt;        INTO TABLE GT_VBFA&lt;/P&gt;&lt;P&gt;        FROM VBFA&lt;/P&gt;&lt;P&gt;        FOR ALL ENTRIES IN GT_VBAK&lt;/P&gt;&lt;P&gt;        WHERE VBELV = GT_VBAK-VBELN&lt;/P&gt;&lt;P&gt;        AND VBTYP_N = 'J'.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    SORT GT_VBFA[].&lt;/P&gt;&lt;P&gt;    IF GT_VBFA[] IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;      GT_VBFA_VBUK[] = GT_VBFA[].&lt;/P&gt;&lt;P&gt;      SORT GT_VBFA_VBUK[] BY VBELN.&lt;/P&gt;&lt;P&gt;      DELETE ADJACENT DUPLICATES FROM GT_VBFA_VBUK COMPARING VBELN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      SELECT VBELN WBSTK FROM VBUK INTO TABLE GT_VBUK&lt;/P&gt;&lt;P&gt;           FOR ALL ENTRIES IN GT_VBFA_VBUK&lt;/P&gt;&lt;P&gt;              WHERE VBELN = GT_VBFA_VBUK-VBELN.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         -----------Selection data from KONv into Internal table gt_konv&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    SORT GT_VBAK[] BY KNUMV.&lt;/P&gt;&lt;P&gt;    SELECT KNUMV KPOSN KSCHL&lt;/P&gt;&lt;P&gt;           KBETR WAERS KWERT&lt;/P&gt;&lt;P&gt;         INTO TABLE GT_KONV&lt;/P&gt;&lt;P&gt;         FROM KONV&lt;/P&gt;&lt;P&gt;         FOR ALL ENTRIES IN GT_VBAK&lt;/P&gt;&lt;P&gt;         WHERE KNUMV = GT_VBAK-KNUMV&lt;/P&gt;&lt;P&gt;         AND ( KSCHL = 'ZBAP'&lt;/P&gt;&lt;P&gt;              OR   KSCHL = 'JEXP'&lt;/P&gt;&lt;P&gt;              OR   KSCHL = 'JEDC'&lt;/P&gt;&lt;P&gt;              OR   KSCHL = 'JEDH'&lt;/P&gt;&lt;P&gt;              OR   KSCHL = 'ZJIP'&lt;/P&gt;&lt;P&gt;              OR   KSCHL = 'ZCOM'&lt;/P&gt;&lt;P&gt;              OR   KSCHL = 'JIVC'&lt;/P&gt;&lt;P&gt;              OR   KSCHL   = 'JFRE' ).&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT GT_VBAP[] IS INITIAL.&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---" /&gt;&lt;P&gt;sELECING dATA FROM MSKA INTO INTERNAL TABLE GT_MSKA&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    GT_VBAP_MSKA[] = GT_VBAP[].&lt;/P&gt;&lt;P&gt;    SORT GT_VBAP_MSKA[] BY MATNR WERKS VBELN POSNR.&lt;/P&gt;&lt;P&gt;    DELETE ADJACENT DUPLICATES FROM GT_VBAP_MSKA COMPARING MATNR WERKS VBELN POSNR.&lt;/P&gt;&lt;P&gt;    SELECT  MATNR  WERKS&lt;/P&gt;&lt;P&gt;            LGORT  CHARG&lt;/P&gt;&lt;P&gt;            SOBKZ  VBELN&lt;/P&gt;&lt;P&gt;            POSNR&lt;/P&gt;&lt;P&gt;            KALAB  KAINS&lt;/P&gt;&lt;P&gt;      INTO TABLE GT_MSKA&lt;/P&gt;&lt;P&gt;      FROM MSKA&lt;/P&gt;&lt;P&gt;      FOR ALL ENTRIES IN GT_VBAP_MSKA&lt;/P&gt;&lt;P&gt;      WHERE MATNR = GT_VBAP_MSKA-MATNR&lt;/P&gt;&lt;P&gt;      AND WERKS = GT_VBAP_MSKA-WERKS&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   AND LGORT = GT_VBAP-LGORT&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      AND VBELN = GT_VBAP_MSKA-VBELN&lt;/P&gt;&lt;P&gt;      AND POSNR = GT_VBAP_MSKA-POSNR.&lt;/P&gt;&lt;P&gt;    SORT GT_MSKA[].&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    DATA :BEGIN OF TMP_MATNR OCCURS 0,&lt;/P&gt;&lt;P&gt;           MATNR LIKE MARA-MATNR,&lt;/P&gt;&lt;P&gt;          END OF TMP_MATNR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    LOOP AT GT_VBAP.&lt;/P&gt;&lt;P&gt;      TMP_MATNR-MATNR = GT_VBAP-MATNR.&lt;/P&gt;&lt;P&gt;      TMP_MATNR-MATNR+0(1) ='S'.&lt;/P&gt;&lt;P&gt;      APPEND TMP_MATNR.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;    SORT TMP_MATNR[].&lt;/P&gt;&lt;P&gt;    DELETE ADJACENT DUPLICATES FROM TMP_MATNR COMPARING MATNR.&lt;/P&gt;&lt;P&gt;    SELECT MATNR&lt;/P&gt;&lt;P&gt;           WERKS&lt;/P&gt;&lt;P&gt;           LGORT&lt;/P&gt;&lt;P&gt;           LABST&lt;/P&gt;&lt;P&gt;      FROM MARD&lt;/P&gt;&lt;P&gt;      INTO TABLE GT_MARD&lt;/P&gt;&lt;P&gt;      FOR ALL ENTRIES IN TMP_MATNR&lt;/P&gt;&lt;P&gt;      WHERE MATNR = TMP_MATNR-MATNR."'SDX25000B040GC01'."GT_VBAP-MATNR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  SORT GT_MARD[].&lt;/P&gt;&lt;P&gt;  IF NOT GT_VBAK[] IS INITIAL.&lt;/P&gt;&lt;P&gt;    GT_VBAK_KNA1[] = GT_VBAK[].&lt;/P&gt;&lt;P&gt;    SORT GT_VBAK_KNA1[] BY KUNNR.&lt;/P&gt;&lt;P&gt;    DELETE ADJACENT DUPLICATES FROM GT_VBAK_KNA1 COMPARING KUNNR.&lt;/P&gt;&lt;P&gt;    SELECT  KUNNR&lt;/P&gt;&lt;P&gt;                 NAME1&lt;/P&gt;&lt;P&gt;                 NAME2&lt;/P&gt;&lt;P&gt;                 ORT01&lt;/P&gt;&lt;P&gt;         FROM KNA1&lt;/P&gt;&lt;P&gt;         INTO TABLE GT_KNA1&lt;/P&gt;&lt;P&gt;         FOR ALL ENTRIES IN GT_VBAK_KNA1&lt;/P&gt;&lt;P&gt;         WHERE KUNNR = GT_VBAK_KNA1-KUNNR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SELECT KUNNR  KLABC&lt;/P&gt;&lt;P&gt;      FROM KNVV&lt;/P&gt;&lt;P&gt;     INTO TABLE GT_KNVV&lt;/P&gt;&lt;P&gt;     FOR ALL ENTRIES IN GT_VBAK_KNA1&lt;/P&gt;&lt;P&gt;     WHERE KUNNR = GT_VBAK_KNA1-KUNNR.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT GT_VBAP[] IS INITIAL.&lt;/P&gt;&lt;P&gt;    GT_VBAP_MAKT[] = GT_VBAP[].&lt;/P&gt;&lt;P&gt;    SORT GT_VBAP_MAKT[] BY MATNR.&lt;/P&gt;&lt;P&gt;    DELETE ADJACENT DUPLICATES FROM GT_VBAP_MAKT COMPARING MATNR.&lt;/P&gt;&lt;P&gt;    SELECT   MATNR&lt;/P&gt;&lt;P&gt;             SPRAS&lt;/P&gt;&lt;P&gt;             MAKTX&lt;/P&gt;&lt;P&gt;         FROM MAKT&lt;/P&gt;&lt;P&gt;         INTO TABLE GT_MAKT&lt;/P&gt;&lt;P&gt;         FOR ALL ENTRIES IN GT_VBAP_MAKT&lt;/P&gt;&lt;P&gt;         WHERE MATNR = GT_VBAP_MAKT-MATNR AND&lt;/P&gt;&lt;P&gt;               SPRAS = 'EN'.&lt;/P&gt;&lt;P&gt;    SELECT MATNR&lt;/P&gt;&lt;P&gt;           MVGR1&lt;/P&gt;&lt;P&gt;      FROM MVKE&lt;/P&gt;&lt;P&gt;      INTO TABLE GT_MVKE&lt;/P&gt;&lt;P&gt;      FOR ALL ENTRIES IN GT_VBAP_MAKT&lt;/P&gt;&lt;P&gt;      WHERE MATNR = GT_VBAP_MAKT-MATNR&lt;/P&gt;&lt;P&gt;      AND MVGR1 &amp;lt;&amp;gt; ''.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT GT_MVKE[] IS INITIAL.&lt;/P&gt;&lt;P&gt;    GT_MVKE_TVM1T[] = GT_MVKE[].&lt;/P&gt;&lt;P&gt;    SORT GT_MVKE_TVM1T[] BY MVGR1.&lt;/P&gt;&lt;P&gt;    DELETE ADJACENT DUPLICATES FROM GT_MVKE_TVM1T COMPARING MVGR1.&lt;/P&gt;&lt;P&gt;    SELECT SPRAS MVGR1 BEZEI&lt;/P&gt;&lt;P&gt;        FROM TVM1T&lt;/P&gt;&lt;P&gt;        INTO TABLE GT_TVM1T&lt;/P&gt;&lt;P&gt;        FOR ALL ENTRIES IN GT_MVKE_TVM1T&lt;/P&gt;&lt;P&gt;        WHERE SPRAS = 'EN' AND&lt;/P&gt;&lt;P&gt;          MVGR1 = GT_MVKE_TVM1T-MVGR1.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT GT_VBAK[] IS INITIAL.&lt;/P&gt;&lt;P&gt;    SELECT SPRAS&lt;/P&gt;&lt;P&gt;           SPART&lt;/P&gt;&lt;P&gt;           VTEXT&lt;/P&gt;&lt;P&gt;      FROM TSPAT&lt;/P&gt;&lt;P&gt;      INTO TABLE GT_TSPAT&lt;/P&gt;&lt;P&gt;      WHERE SPRAS = 'EN'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SELECT  SPRAS&lt;/P&gt;&lt;P&gt;            VTWEG&lt;/P&gt;&lt;P&gt;            VTEXT&lt;/P&gt;&lt;P&gt;          FROM TVTWT&lt;/P&gt;&lt;P&gt;          INTO TABLE GT_TVTWT&lt;/P&gt;&lt;P&gt;          WHERE SPRAS = 'EN'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SELECT SPRAS AUART BEZEI&lt;/P&gt;&lt;P&gt;          FROM TVAKT&lt;/P&gt;&lt;P&gt;          INTO TABLE GT_TVAKT&lt;/P&gt;&lt;P&gt;          WHERE&lt;/P&gt;&lt;P&gt;           SPRAS = 'EN'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT GT_VBKD[] IS INITIAL.&lt;/P&gt;&lt;P&gt;    SELECT SPRAS KDGRP&lt;/P&gt;&lt;P&gt;           KTEXT&lt;/P&gt;&lt;P&gt;           FROM T151T&lt;/P&gt;&lt;P&gt;      INTO TABLE GT_T151T&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    FOR ALL ENTRIES IN GT_VBKD&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     WHERE SPRAS = 'EN' .&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     AND&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         KDGRP = GT_VBKD-KDGRP.&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;  IF NOT GT_VBKD[] IS INITIAL.&lt;/P&gt;&lt;P&gt;    SELECT SPRAS ZTERM TEXT1&lt;/P&gt;&lt;P&gt;      FROM T052U&lt;/P&gt;&lt;P&gt;      INTO TABLE GT_T052U&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    FOR ALL ENTRIES IN GT_VBKD&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      WHERE SPRAS = 'EN'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      AND ZTERM = GT_VBKD-ZTERM.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      .&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.                    " SELECT_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;P&gt;*&amp;amp;      Form  PROCESS_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;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        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 PROCESS_DATA .&lt;/P&gt;&lt;P&gt;  DATA : T_FLAG(2) TYPE C,&lt;/P&gt;&lt;P&gt;         J_AMT LIKE VBFA-RFMNG,&lt;/P&gt;&lt;P&gt;         M_AMT LIKE VBFA-RFMNG,&lt;/P&gt;&lt;P&gt;         R_AMT LIKE VBFA-RFMNG,&lt;/P&gt;&lt;P&gt;         N_AMT LIKE VBFA-RFMNG,&lt;/P&gt;&lt;P&gt;         JR_AMT LIKE VBFA-RFMNG,&lt;/P&gt;&lt;P&gt;         MN_AMT LIKE VBFA-RFMNG,&lt;/P&gt;&lt;P&gt;         TMP_WBSTK LIKE VBUK-WBSTK,&lt;/P&gt;&lt;P&gt;         SFG_MATNR LIKE MARD-MATNR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT GT_VBAP.&lt;/P&gt;&lt;P&gt;    CLEAR : GT_FINAL_DATA,&lt;/P&gt;&lt;P&gt;          J_AMT ,&lt;/P&gt;&lt;P&gt;         M_AMT ,&lt;/P&gt;&lt;P&gt;         R_AMT,&lt;/P&gt;&lt;P&gt;         N_AMT ,&lt;/P&gt;&lt;P&gt;         JR_AMT ,&lt;/P&gt;&lt;P&gt;         SFG_MATNR,&lt;/P&gt;&lt;P&gt;         MN_AMT .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    READ TABLE GT_VBAK WITH KEY VBELN = GT_VBAP-VBELN.&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;      GT_FINAL_DATA-KUNNR    = GT_VBAK-KUNNR.&lt;/P&gt;&lt;P&gt;      GT_FINAL_DATA-VBELN  = GT_VBAK-VBELN.&lt;/P&gt;&lt;P&gt;      GT_FINAL_DATA-POSNR = GT_VBAP-POSNR.&lt;/P&gt;&lt;P&gt;      GT_FINAL_DATA-ABGRU = GT_VBAP-ABGRU.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    READ TABLE GT_KNA1 WITH KEY KUNNR = GT_VBAK-KUNNR.&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;      GT_FINAL_DATA-NAME = GT_KNA1-NAME1.&lt;/P&gt;&lt;P&gt;      GT_FINAL_DATA-ORT01 = GT_KNA1-ORT01.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    READ TABLE GT_KNVV WITH KEY KUNNR = GT_VBAK-KUNNR.&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;      GT_FINAL_DATA-KLABC = GT_KNVV-KLABC.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;      READ TABLE GT_VBKD WITH KEY VBELN = GT_VBAK-VBELN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      GT_FINAL_DATA-INCO1 = GT_VBKD-INCO1. "Incoterms (Part 1)&lt;/P&gt;&lt;P&gt;      GT_FINAL_DATA-INCO2 = GT_VBKD-INCO2. "Incoterms (Part 2)&lt;/P&gt;&lt;P&gt;      GT_FINAL_DATA-ZTERM = GT_VBKD-ZTERM. " Payment Term&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    LOOP AT  GT_MSKA WHERE  MATNR = GT_VBAP-MATNR&lt;/P&gt;&lt;P&gt;                     AND    WERKS = GT_VBAP-WERKS&lt;/P&gt;&lt;P&gt;                     AND    LGORT = GT_VBAP-LGORT&lt;/P&gt;&lt;P&gt;                     AND    VBELN = GT_VBAP-VBELN&lt;/P&gt;&lt;P&gt;                     AND    POSNR = GT_VBAP-POSNR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      GT_FINAL_DATA-KALAB = GT_FINAL_DATA-KALAB  + GT_MSKA-KALAB. "Unrestricted-Use Stock&lt;/P&gt;&lt;P&gt;      GT_FINAL_DATA-KAINS = GT_FINAL_DATA-KAINS + GT_MSKA-KAINS. " Stock in Quality Inspection&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;    SFG_MATNR = GT_VBAP-MATNR.&lt;/P&gt;&lt;P&gt;    SFG_MATNR+0(1) ='S'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    READ TABLE  GT_MARD WITH KEY  MATNR = SFG_MATNR&lt;/P&gt;&lt;P&gt;                           WERKS = GT_VBAP-WERKS&lt;/P&gt;&lt;P&gt;                       LGORT = 'SF01'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   loop at gt_mard where MATNR = SFG_MATNR&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                   and  WERKS = GT_VBAP-WERKS.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;      GT_FINAL_DATA-LABST =   GT_FINAL_DATA-LABST + GT_MARD-LABST . "Valuated Unrestricted-Use Stock&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   endloop.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    GT_FINAL_DATA-MATNR = GT_VBAP-MATNR.  "Matrial&lt;/P&gt;&lt;P&gt;    GT_FINAL_DATA-ZZKDMAT = GT_VBAP-ZZKDMAT. " Customer Mat. Number&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    READ TABLE GT_MAKT WITH KEY MATNR = GT_VBAP-MATNR.&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;      GT_FINAL_DATA-MAKTX = GT_MAKT-MAKTX.&lt;/P&gt;&lt;P&gt;      GT_FINAL_DATA-MAKTG = GT_MAKT-MAKTG.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    GT_FINAL_DATA-ERDAT = GT_VBAK-ERDAT.&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;   READ TABLE GT_KONV WITH KEY KNUMV = GT_VBAK-KNUMV&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                               KSCHL = 'ZBAP'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   loop at gt_konv where KNUMV = GT_VBAK-KNUMV&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                         and KSCHL = 'ZBAP'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                          and&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IF SY-SUBRC = 0.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     GT_FINAL_DATA-KBETR = GT_KONV-KBETR. " Rate per KG&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     GT_FINAL_DATA-WAERS = GT_KONV-WAERS. "currency&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    GT_FINAL_DATA-STCUR = GT_VBKD-STCUR. " Exchang Rate&lt;/P&gt;&lt;P&gt;    GT_FINAL_DATA-MEINS = GT_VBAP-MEINS.  "Base Unit of Measure&lt;/P&gt;&lt;P&gt;    GT_FINAL_DATA-KWMENG = GT_VBAP-KWMENG. " Order Quantity&lt;/P&gt;&lt;P&gt;    GT_FINAL_DATA-WIDTH = GT_VBAP-ZZWIDTH. " width&lt;/P&gt;&lt;P&gt;    GT_FINAL_DATA-ROUTE = GT_VBAP-ROUTE. " route&lt;/P&gt;&lt;P&gt;    IF  GT_VBAP-ZZCOATING = 'IN'.&lt;/P&gt;&lt;P&gt;      GT_FINAL_DATA-ZZCOATING = 'Inside Coating'.&lt;/P&gt;&lt;P&gt;    ELSEIF GT_VBAP-ZZCOATING = 'OUT'.&lt;/P&gt;&lt;P&gt;      GT_FINAL_DATA-ZZCOATING = 'Outside Coating'.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    GT_FINAL_DATA-ZZWEIGHT = GT_VBAP-ZZWEIGHT.&lt;/P&gt;&lt;P&gt;    GT_FINAL_DATA-ZZWEIGHT_UMO = GT_VBAP-ZZWEIGHT_UMO.&lt;/P&gt;&lt;P&gt;    LOOP AT GT_VBFA WHERE VBELV = GT_VBAK-VBELN&lt;/P&gt;&lt;P&gt;            AND POSNV = GT_VBAP-POSNR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;     IF P_DELE = 'X'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;***&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;       IF GT_VBFA-VBTYP_N = 'J'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;         SELECT SINGLE WBSTK&lt;/P&gt;&lt;/LI&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;              INTO   GT_FINAL_DATA-WBSTK&lt;/P&gt;&lt;/LI&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;              FROM VBUK&lt;/P&gt;&lt;/LI&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;             WHERE  VBELN = GT_VBFA-VBELN.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;         IF SY-SUBRC = 0.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;           J_AMT = J_AMT   + GT_VBFA-RFMNG.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;         ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;       ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;       GT_FINAL_DATA-RFMNG = J_AMT .&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF P_PEN = 'X'.&lt;/P&gt;&lt;P&gt;        IF GT_VBFA-VBTYP_N = 'J'.&lt;/P&gt;&lt;P&gt;          GT_FINAL_DATA-RFMNG = GT_FINAL_DATA-RFMNG   + GT_VBFA-RFMNG.&lt;/P&gt;&lt;P&gt;          READ TABLE GT_VBUK WITH KEY VBELN = GT_VBFA-VBELN.&lt;/P&gt;&lt;P&gt;          IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;            GT_FINAL_DATA-WBSTK = GT_VBUK-WBSTK.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         SELECT SINGLE WBSTK&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;              INTO   GT_FINAL_DATA-WBSTK&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;              FROM VBUK&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             WHERE  VBELN = GT_VBFA-VBELN.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            T_FLAG = 'XX'.&lt;/P&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;        GT_FINAL_DATA-RFMNG = GT_FINAL_DATA-RFMNG + GT_VBFA-RFMNG.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;    GT_FINAL_DATA-BAL_QTY = GT_FINAL_DATA-KWMENG - GT_FINAL_DATA-RFMNG . " Balance QTY&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    READ TABLE GT_VBEP WITH KEY VBELN = GT_VBAP-VBELN&lt;/P&gt;&lt;P&gt;                                POSNR = GT_VBAP-POSNR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;      GT_FINAL_DATA-EDATU = GT_VBEP-EDATU. "Schedule line date&lt;/P&gt;&lt;P&gt;      GT_FINAL_DATA-DAYS =  SY-DATUM - GT_VBEP-EDATU.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    GT_FINAL_DATA-BSTNK  = GT_VBAK-BSTNK. " cUSTOMER pURCHASE ORDER NUMBER&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    GT_FINAL_DATA-BSTDK  = GT_VBAK-BSTDK.  "Customer purchase order date&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    GT_FINAL_DATA-VTWEG  = GT_VBAK-VTWEG.  "Distribution Channel&lt;/P&gt;&lt;P&gt;    READ TABLE GT_TVTWT WITH KEY VTWEG = GT_VBAK-VTWEG.&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;      GT_FINAL_DATA-DIST_NAME = GT_TVTWT-VTEXT.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    GT_FINAL_DATA-SPART  = GT_VBAK-SPART.  "Division&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    READ TABLE GT_TSPAT WITH KEY SPART = GT_VBAK-SPART.&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;      GT_FINAL_DATA-DIV_NAME = GT_TSPAT-VTEXT. "Sales Divisions NAME&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    CLEAR T_FLAG.&lt;/P&gt;&lt;P&gt;PERFORM NAME_DATA USING GT_VBAP-VBELN changing T_FLAG.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   LOOP AT GT_VBPA WHERE VBELN = GT_VBAP-VBELN.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     CASE GT_VBPA-PARVW .&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       WHEN 'ZA'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         GT_FINAL_DATA-ZA_KUNNR = GT_VBPA-KUNNR.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         READ TABLE GT_KNA1_1 WITH KEY KUNNR = GT_VBPA-KUNNR.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         GT_FINAL_DATA-ZA_NAME = GT_KNA1_1-NAME1.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         T_FLAG ='XX'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       WHEN 'ZE'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         GT_FINAL_DATA-ZE_KUNNR = GT_VBPA-KUNNR.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         READ TABLE GT_KNA1_1 WITH KEY KUNNR = GT_VBPA-KUNNR.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         GT_FINAL_DATA-ZE_NAME = GT_KNA1_1-NAME1.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         T_FLAG ='XX'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       WHEN  'ZI'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         GT_FINAL_DATA-ZI_KUNNR = GT_VBPA-KUNNR.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         READ TABLE GT_KNA1_1 WITH KEY KUNNR = GT_VBPA-KUNNR.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         GT_FINAL_DATA-ZI_NAME = GT_KNA1_1-NAME1.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         T_FLAG ='XX'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       WHEN   'ZR'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         GT_FINAL_DATA-ZR_KUNNR = GT_VBPA-KUNNR.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         READ TABLE GT_KNA1_1 WITH KEY KUNNR = GT_VBPA-KUNNR.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         GT_FINAL_DATA-ZR_NAME = GT_KNA1_1-NAME1.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         T_FLAG ='XX'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       WHEN  'ZS'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         GT_FINAL_DATA-ZS_KUNNR = GT_VBPA-KUNNR.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         READ TABLE GT_KNA1_1 WITH KEY KUNNR = GT_VBPA-KUNNR.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         GT_FINAL_DATA-ZS_NAME = GT_KNA1_1-NAME1.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         T_FLAG ='XX'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       WHEN  'WE'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         GT_FINAL_DATA-S_KUNNR = GT_VBPA-KUNNR.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         READ TABLE GT_KNA1_1 WITH KEY KUNNR = GT_VBPA-KUNNR.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         GT_FINAL_DATA-S_NAME = GT_KNA1_1-NAME1.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         GT_FINAL_DATA-S_ORT01 = GT_KNA1_1-ORT01.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         T_FLAG ='XX'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     ENDCASE.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   ENDLOOP.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    READ TABLE GT_MVKE WITH KEY MATNR = GT_VBAP-MATNR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    READ TABLE GT_TVM1T WITH KEY MVGR1 = GT_MVKE-MVGR1.&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;      GT_FINAL_DATA-MVGR1 = GT_TVM1T-BEZEI.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PERFORM VALUE_DATA USING GT_VBAK-KNUMV  GT_VBAP-POSNR.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   LOOP AT GT_KONV WHERE KNUMV = GT_VBAK-KNUMV&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                   AND KPOSN = GT_VBAP-POSNR.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     CASE GT_KONV-KSCHL.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       WHEN  'ZBAP'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         GT_FINAL_DATA-B_VALUE = GT_KONV-KWERT.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         GT_FINAL_DATA-KBETR = GT_KONV-KBETR. " Rate per KG&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         GT_FINAL_DATA-WAERS = GT_KONV-WAERS. "currency&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       WHEN 'JEXP'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         GT_FINAL_DATA-EX_VALUE = GT_KONV-KWERT.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       WHEN 'JEDC'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         GT_FINAL_DATA-EC_VALUE  = GT_KONV-KWERT.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       WHEN 'JEDH'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         GT_FINAL_DATA-HE_VALUE  = GT_KONV-KWERT.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       WHEN 'JIVP'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         GT_FINAL_DATA-VAT_VALUE   = GT_KONV-KWERT.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       WHEN  'JIVC'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         GT_FINAL_DATA-CST_VALUE   = GT_KONV-KWERT.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       WHEN  'ZCOM'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         GT_FINAL_DATA-C_VALUE     = GT_KONV-KWERT.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       WHEN 'JFRE'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         GT_FINAL_DATA-F_VALUE     = GT_KONV-KWERT.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     ENDCASE.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   ENDLOOP .&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    GT_FINAL_DATA-T_NETWR  = ( GT_VBAP-NETWR +  GT_FINAL_DATA-EX_VALUE + GT_FINAL_DATA-EC_VALUE +&lt;/P&gt;&lt;P&gt;                             GT_FINAL_DATA-HE_VALUE + GT_FINAL_DATA-VAT_VALUE + GT_FINAL_DATA-CST_VALUE +&lt;/P&gt;&lt;P&gt;                             GT_FINAL_DATA-C_VALUE + GT_FINAL_DATA-F_VALUE ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    READ TABLE GT_T151T WITH KEY KDGRP = GT_VBKD-KDGRP.&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;      GT_FINAL_DATA-KDGRP = GT_T151T-KTEXT. " Custoemr Group&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    GT_FINAL_DATA-NETWR  = GT_VBAP-NETWR. " Net Value&lt;/P&gt;&lt;P&gt;    GT_FINAL_DATA-INR  = GT_VBAP-NETWR. " INR Net Value&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    GT_FINAL_DATA-AUART = GT_VBAK-AUART.  "Sales Document Type&lt;/P&gt;&lt;P&gt;    READ TABLE GT_TVAKT WITH KEY  AUART = GT_VBAK-AUART.&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;      GT_FINAL_DATA-BEZEI = GT_TVAKT-BEZEI.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    GT_FINAL_DATA-ZOA_RECP_PLAN_DT  = GT_VBAK-ZOA_RECP_PLAN_DT. "Order receipt at plant&lt;/P&gt;&lt;P&gt;    GT_FINAL_DATA-ZZCUST_REQDAT  = GT_VBAP-ZZCUST_REQDAT . " Cust. Req. Date&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    READ TABLE GT_TVROT WITH KEY ROUTE = GT_VBAP-ROUTE.&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;      GT_FINAL_DATA-ROUTE_NAME = GT_TVROT-BEZEI .&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    PERFORM COLOR_COMPLEX_WIDTH.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    GT_FINAL_DATA-ZZBRAND = GT_VBAP-ZZBRAND. " bRAND&lt;/P&gt;&lt;P&gt;    GT_FINAL_DATA-ZZSPLDIA = GT_VBAP-ZZSPLDIA. "Spool Diameter&lt;/P&gt;&lt;P&gt;    GT_FINAL_DATA-FAKSP = GT_VBAP-FAKSP.&lt;/P&gt;&lt;P&gt;    READ TABLE GT_T052U WITH KEY ZTERM = GT_VBKD-ZTERM.&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;      GT_FINAL_DATA-Z_TERM_TEXT = GT_T052U-TEXT1.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    PERFORM TEXT_DATA.&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        INPUT  = GT_FINAL_DATA-VBELN&lt;/P&gt;&lt;P&gt;      IMPORTING&lt;/P&gt;&lt;P&gt;        OUTPUT = GT_FINAL_DATA-VBELN.&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;   CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     EXPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       INPUT  = GT_FINAL_DATA-VBELN&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;       OUTPUT = GT_FINAL_DATA-VBELN.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        INPUT  = GT_FINAL_DATA-KUNNR&lt;/P&gt;&lt;P&gt;      IMPORTING&lt;/P&gt;&lt;P&gt;        OUTPUT = GT_FINAL_DATA-KUNNR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        INPUT  = GT_FINAL_DATA-S_KUNNR&lt;/P&gt;&lt;P&gt;      IMPORTING&lt;/P&gt;&lt;P&gt;        OUTPUT = GT_FINAL_DATA-S_KUNNR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF T_FLAG = 'XX'.&lt;/P&gt;&lt;P&gt;      APPEND GT_FINAL_DATA.&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;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF P_PEN = 'X'.&lt;/P&gt;&lt;P&gt;    DELETE GT_FINAL_DATA WHERE  BAL_QTY &amp;lt;= 0.&lt;/P&gt;&lt;P&gt;    DELETE GT_FINAL_DATA WHERE FAKSP = 10.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  *WBSTK  = 'C'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; IF P_DELE = 'X'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   DELETE GT_FINAL_DATA WHERE RFMNG = 0   .&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SORT GT_FINAL_DATA BY VBELN POSNR.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " PROCESS_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;P&gt;*&amp;amp;      Form  FILED_CAT_LOG&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        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 FILED_CAT_LOG .&lt;/P&gt;&lt;P&gt;  DATA: LS_FIELDCAT TYPE SLIS_FIELDCAT_ALV.&lt;/P&gt;&lt;P&gt;  CLEAR : FELD_CAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  M_FIELDCAT 'KUNNR' 'Cust.Cd' '15'.&lt;/P&gt;&lt;P&gt;  M_FIELDCAT 'NAME' 'Cust.name' '70'.&lt;/P&gt;&lt;P&gt;  M_FIELDCAT 'ORT01' 'Destination' '35'.&lt;/P&gt;&lt;P&gt;  M_FIELDCAT 'S_KUNNR' 'Ship To Party Code' '15'.&lt;/P&gt;&lt;P&gt;  M_FIELDCAT 'S_NAME' 'Ship To Party Name' '70'.&lt;/P&gt;&lt;P&gt;  M_FIELDCAT 'S_ORT01' 'Party Distination' '35'.&lt;/P&gt;&lt;P&gt;  M_FIELDCAT 'KLABC' 'Customer Class' '15'.&lt;/P&gt;&lt;P&gt;  M_FIELDCAT 'VBELN' 'Sales Doc' '15'.&lt;/P&gt;&lt;P&gt;  M_FIELDCAT 'POSNR' 'Sales Doc Item' '15'.&lt;/P&gt;&lt;P&gt;  M_FIELDCAT 'INCO1' 'Incoterms1' '15'.&lt;/P&gt;&lt;P&gt;  M_FIELDCAT 'INCO2' 'Incoterms2' '15'.&lt;/P&gt;&lt;P&gt;  M_FIELDCAT 'KALAB' 'FG-OK Stock' '15'.&lt;/P&gt;&lt;P&gt;  M_FIELDCAT 'KAINS' 'FG-HOLD Stock' '15'.&lt;/P&gt;&lt;P&gt;  M_FIELDCAT 'LABST' 'SFG Stock' '15'.&lt;/P&gt;&lt;P&gt;  M_FIELDCAT 'ERDAT' 'Order.Dat' '15'.&lt;/P&gt;&lt;P&gt;  M_FIELDCAT 'MATNR' 'Mat.Code' '50'.&lt;/P&gt;&lt;P&gt;  M_FIELDCAT 'MAKTX' 'Matrial Desc.' '15'.&lt;/P&gt;&lt;P&gt;  M_FIELDCAT 'COLOR' 'Color' '15'.&lt;/P&gt;&lt;P&gt;  M_FIELDCAT 'COMPLEX' 'Complex' '50'.&lt;/P&gt;&lt;P&gt;  M_FIELDCAT 'WIDTH' 'Width.' '6'.&lt;/P&gt;&lt;P&gt;  M_FIELDCAT 'KBETR' 'Rate/kg' '15'.&lt;/P&gt;&lt;P&gt;  M_FIELDCAT 'WAERS' 'Currency' '15'.&lt;/P&gt;&lt;P&gt;  M_FIELDCAT 'STCUR' 'Exchange rate' '15'.&lt;/P&gt;&lt;P&gt;  M_FIELDCAT 'MEINS' 'UoM' '15'.&lt;/P&gt;&lt;P&gt;  M_FIELDCAT 'KWMENG' 'Order Qty.' '15'.&lt;/P&gt;&lt;P&gt;  M_FIELDCAT 'RFMNG' 'Dispatched Qty' '15'.&lt;/P&gt;&lt;P&gt;  M_FIELDCAT 'BAL_QTY' 'Balance Qty(KGs)' '15'.&lt;/P&gt;&lt;P&gt;  M_FIELDCAT 'EDATU' 'Ori.Sch.Date' '15'.&lt;/P&gt;&lt;P&gt;  M_FIELDCAT 'DAYS' 'Sch.Delay' '15'.&lt;/P&gt;&lt;P&gt;  M_FIELDCAT 'BSTNK' 'Cust.P.O.No' '30'.&lt;/P&gt;&lt;P&gt;  M_FIELDCAT 'BSTDK' 'Cust.P.O.Date' '15'.&lt;/P&gt;&lt;P&gt;  M_FIELDCAT 'VTWEG' 'Distr.Channel' '15'.&lt;/P&gt;&lt;P&gt;  M_FIELDCAT 'DIST_NAME' 'Distr.Channel Name' '15'.&lt;/P&gt;&lt;P&gt;  M_FIELDCAT 'SPART' 'Division' '15'.&lt;/P&gt;&lt;P&gt;  M_FIELDCAT 'DIV_NAME' 'Division Name' '15'.&lt;/P&gt;&lt;P&gt;  M_FIELDCAT 'ZA_KUNNR' 'Area Manager' '50'.&lt;/P&gt;&lt;P&gt;  M_FIELDCAT 'ZA_NAME' 'Area Manager Name' '50'.&lt;/P&gt;&lt;P&gt;  M_FIELDCAT 'ZE_KUNNR' 'Sales Manager' '50'.&lt;/P&gt;&lt;P&gt;  M_FIELDCAT 'ZE_NAME' 'Sales Manager Name' '50'.&lt;/P&gt;&lt;P&gt;  M_FIELDCAT 'ZI_KUNNR' 'ISP Manager' '50'.&lt;/P&gt;&lt;P&gt;  M_FIELDCAT 'ZI_NAME' 'ISP Manager Name' '50'.&lt;/P&gt;&lt;P&gt;  M_FIELDCAT 'ZR_KUNNR' 'Regional  Manager' '15'.&lt;/P&gt;&lt;P&gt;  M_FIELDCAT 'ZR_NAME' 'Regional  Manager' '50'.&lt;/P&gt;&lt;P&gt;  M_FIELDCAT 'ZS_KUNNR' 'Support Manager' '15'.&lt;/P&gt;&lt;P&gt;  M_FIELDCAT 'ZS_NAME' 'Support Manager Name' '50'.&lt;/P&gt;&lt;P&gt;  M_FIELDCAT 'MVGR1' 'Matrial Grp.' '5'.&lt;/P&gt;&lt;P&gt;  M_FIELDCAT 'B_VALUE' 'Basic Value' '15'.&lt;/P&gt;&lt;P&gt;  M_FIELDCAT 'EX_VALUE' 'Excise' '15'.&lt;/P&gt;&lt;P&gt;  M_FIELDCAT 'EC_VALUE' 'E Cess Value' '15'.&lt;/P&gt;&lt;P&gt;  M_FIELDCAT 'HE_VALUE' 'H Cess Value' '15'.&lt;/P&gt;&lt;P&gt;  M_FIELDCAT 'VAT_VALUE' 'VAT Value' '15'.&lt;/P&gt;&lt;P&gt;  M_FIELDCAT 'CST_VALUE' 'CST Value' '15'.&lt;/P&gt;&lt;P&gt;  M_FIELDCAT 'F_VALUE' 'Feright' '15'.&lt;/P&gt;&lt;P&gt;  M_FIELDCAT 'C_VALUE' 'Commission' '15'.&lt;/P&gt;&lt;P&gt;  M_FIELDCAT 'KDGRP' 'Customer Grp' '15'.&lt;/P&gt;&lt;P&gt;  M_FIELDCAT 'T_NETWR' 'Ord. Amount' '15'.&lt;/P&gt;&lt;P&gt;  M_FIELDCAT 'INR' 'Ord.Amount INR' '15'.&lt;/P&gt;&lt;P&gt;  M_FIELDCAT 'AUART' 'Sales Document Type' '15'.&lt;/P&gt;&lt;P&gt;  M_FIELDCAT 'BEZEI' 'Desc. Sales Document Type' '30'.&lt;/P&gt;&lt;P&gt;  M_FIELDCAT 'ZOA_RECP_PLAN_DT' 'Ord. Receipt at Plant' '20'.&lt;/P&gt;&lt;P&gt;  M_FIELDCAT 'ZZCUST_REQDAT' 'Cust. Req. Date' '20'.&lt;/P&gt;&lt;P&gt;  M_FIELDCAT 'ROUTE' 'Route' '20'.&lt;/P&gt;&lt;P&gt;  M_FIELDCAT 'ROUTE_NAME' 'Route Name' '20'.&lt;/P&gt;&lt;P&gt;  M_FIELDCAT 'ZZKDMAT' 'Customer Mat. Number' '50'.&lt;/P&gt;&lt;P&gt;  M_FIELDCAT 'ZZBRAND' 'Brand' '50'.&lt;/P&gt;&lt;P&gt;  M_FIELDCAT 'ZZSPLDIA'  'Spool Diameter' '50'.&lt;/P&gt;&lt;P&gt;  M_FIELDCAT 'ZTERM'  'Payment Terms' '50'.&lt;/P&gt;&lt;P&gt;  M_FIELDCAT 'Z_TERM_TEXT'  'Payment Terms Desc.' '50'.&lt;/P&gt;&lt;P&gt;  M_FIELDCAT 'Z001'  'Header Texts 1' '50'.&lt;/P&gt;&lt;P&gt;  M_FIELDCAT 'Z002'  'Header Texts 2' '50'.&lt;/P&gt;&lt;P&gt;  M_FIELDCAT 'Z003'  'Header Texts 3' '50'.&lt;/P&gt;&lt;P&gt;  M_FIELDCAT 'Z004'  'Header Texts 4' '50'.&lt;/P&gt;&lt;P&gt;  M_FIELDCAT 'ZI_001'  'Item Texts 1' '50'.&lt;/P&gt;&lt;P&gt;  M_FIELDCAT 'ZI_002'  'Item Texts 2' '50'.&lt;/P&gt;&lt;P&gt;  M_FIELDCAT 'ZZCOATING' 'Coating Side' '50'.&lt;/P&gt;&lt;P&gt;  M_FIELDCAT 'ZZWEIGHT' 'Spool Weight' '50'.&lt;/P&gt;&lt;P&gt;  M_FIELDCAT 'ZZWEIGHT_UMO' 'UMO' '50'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  LIKE VBKD-ZTERM, " Payment Term&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          LIKE VBAP-ZZBRAND, " bRAND&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          LIKE VBAP-ZZSPLDIA, "Spool Diameter&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;ENDFORM.                    " FILED_CAT_LOG&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  OUT_PUT_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;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        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 OUT_PUT_DATA .&lt;/P&gt;&lt;P&gt;  DATA TITLE(70) TYPE C.&lt;/P&gt;&lt;P&gt;  IF P_ALL = 'X'.&lt;/P&gt;&lt;P&gt;    TITLE = 'ALL SALES ORDER REPORT'.&lt;/P&gt;&lt;P&gt;  ELSEIF P_PEN = 'X'.&lt;/P&gt;&lt;P&gt;    TITLE = 'PENDING SALES ORDER REPORT'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; ELSEIF P_DELE = 'X'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   TITLE = 'DELIVERED SALES ORDER REPORT'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ELSEIF P_BLOCK = 'X'.&lt;/P&gt;&lt;P&gt;    TITLE = 'BLOCKED SALES ORDER REPORT'.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    TITLE = 'SALES ORDER REPORT'.&lt;/P&gt;&lt;P&gt;  ENDIF.&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_USER_COMMAND = 'USER_COMMAND'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_CALLBACK_PF_STATUS_SET          = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_CALLBACK_USER_COMMAND           = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_CALLBACK_TOP_OF_PAGE            = ' '&lt;/P&gt;&lt;/LI&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;/UL&gt;&lt;P&gt;   I_GRID_TITLE                      = TITLE&lt;/P&gt;&lt;UL&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                         = LAYOUT"ALV_LAYOUT&lt;/P&gt;&lt;P&gt;     IT_FIELDCAT                       = FELD_CAT[]&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;/UL&gt;&lt;P&gt;      I_SAVE                            = G_SAVE&lt;/P&gt;&lt;P&gt;      IS_VARIANT                        = G_VARIANT&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     IT_EVENTS               = EVENTS[]&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      IS_PRINT                = ALV_PRINT&lt;/P&gt;&lt;P&gt;&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;P&gt;      T_OUTTAB                          = GT_FINAL_DATA&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  PROGRAM_ERROR                     = 1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  OTHERS                            = 2&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            .&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   EXPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     I_CALLBACK_PROGRAM      = sy-REPID&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     I_CALLBACK_USER_COMMAND = 'USER_COMMAND'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     IS_LAYOUT               = LAYOUT&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     IT_FIELDCAT             = FELD_CAT[]&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     I_SAVE                  = G_SAVE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     IS_VARIANT              = G_VARIANT&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;     IT_EVENTS               = EVENTS[]&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     IS_PRINT                = ALV_PRINT&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   TABLES&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     T_OUTTAB                = GT_FINAL_DATA&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   EXCEPTIONS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     PROGRAM_ERROR           = 1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     OTHERS                  = 2.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " OUT_PUT_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  create_alv_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;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM CREATE_ALV_LAYOUT .&lt;/P&gt;&lt;P&gt;  ALV_LAYOUT-COLWIDTH_OPTIMIZE = 'X'.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " create_alv_layout&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  fill_events&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;      ALV Event fill&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM FILL_EVENTS USING LT_EV TYPE SLIS_T_EVENT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-- Declaration&lt;/P&gt;&lt;P&gt;  DATA: WA_EVENT TYPE SLIS_ALV_EVENT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-- Read in all possible events&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   = LT_EV.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-- top-of-page&lt;/P&gt;&lt;P&gt;  READ TABLE LT_EV WITH KEY NAME = SLIS_EV_TOP_OF_PAGE INTO WA_EVENT.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;    WA_EVENT-FORM = CO_FORMNAME_TOP_OF_PAGE.&lt;/P&gt;&lt;P&gt;    MODIFY LT_EV FROM WA_EVENT INDEX SY-TABIX.&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.                    " fill_events&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  OUT_PUT_FILE&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        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 OUT_PUT_FILE .&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'DOWNLOAD'&lt;/P&gt;&lt;P&gt; EXPORTING&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  BIN_FILESIZE                  = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  CODEPAGE                      = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  FILENAME                      = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   FILETYPE                      = 'DAT'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  ITEM                          = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  MODE                          = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  WK1_N_FORMAT                  = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  WK1_N_SIZE                    = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  WK1_T_FORMAT                  = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  WK1_T_SIZE                    = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  FILEMASK_MASK                 = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  FILEMASK_TEXT                 = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  FILETYPE_NO_CHANGE            = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  FILEMASK_ALL                  = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  FILETYPE_NO_SHOW              = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  SILENT                        = 'M'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  COL_SELECT                    = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  COL_SELECTMASK                = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  NO_AUTH_CHECK                 = ' '&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;  ACT_FILENAME                  =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  ACT_FILETYPE                  =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  FILESIZE                      =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  CANCEL                        =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      DATA_TAB                      = GT_FINAL_DATA&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  FIELDNAMES                    =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt; EXCEPTIONS&lt;/P&gt;&lt;P&gt;   INVALID_FILESIZE              = 1&lt;/P&gt;&lt;P&gt;   INVALID_TABLE_WIDTH           = 2&lt;/P&gt;&lt;P&gt;   INVALID_TYPE                  = 3&lt;/P&gt;&lt;P&gt;   NO_BATCH                      = 4&lt;/P&gt;&lt;P&gt;   UNKNOWN_ERROR                 = 5&lt;/P&gt;&lt;P&gt;   GUI_REFUSE_FILETRANSFER       = 6&lt;/P&gt;&lt;P&gt;   OTHERS                        = 7&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;  ELSE.&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.                    " OUT_PUT_FILE&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  color_complex_width&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 COLOR_COMPLEX_WIDTH.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA : L_VALUE(15) TYPE C,&lt;/P&gt;&lt;P&gt;        V_VALUE(15) TYPE C,&lt;/P&gt;&lt;P&gt;        L_ATINN(30) TYPE C,&lt;/P&gt;&lt;P&gt;        T_COMPLEX(30) TYPE C,&lt;/P&gt;&lt;P&gt;        T_COLOR(30) TYPE C,&lt;/P&gt;&lt;P&gt;        T_MATNR TYPE OBJNUM,&lt;/P&gt;&lt;P&gt;        T_CUOBJ(50) TYPE C.&lt;/P&gt;&lt;P&gt;  DATA: L_ATZHL LIKE CAWN-ATZHL,&lt;/P&gt;&lt;P&gt;        L_ATWRT LIKE CAWN-ATWRT,&lt;/P&gt;&lt;P&gt;        L_SPRAS LIKE CAWNT-SPRAS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;T_MATNR = GT_VBAP-MATNR.&lt;/P&gt;&lt;P&gt;READ TABLE Gt_INOB WITH KEY "KLART = '023'&lt;/P&gt;&lt;P&gt;                            "OBTAB = 'MARA'&lt;/P&gt;&lt;P&gt;                            OBJEK = T_MATNR.&lt;/P&gt;&lt;P&gt;CLEAR T_MATNR.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; SELECT SINGLE *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        INTO GT_INOB&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        FROM INOB&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WHERE KLART = '023'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        AND  OBTAB = 'MARA'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        AND  OBJEK = GT_VBAP-MATNR.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;--&lt;/STRONG&gt;&lt;DEL&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&lt;/DEL&gt;&lt;/P&gt;&lt;HR originaltext="---" /&gt;To Read value from--&lt;HR originaltext="------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;READ TABLE GT_YCAT_PARAMS WITH KEY KEY01 = 'CHAR_NAME'&lt;/P&gt;&lt;P&gt;                                   KEY02 = 'ATNAM'&lt;/P&gt;&lt;P&gt;                                   KEY03 = 'COMPLEX'&lt;/P&gt;&lt;P&gt;                                   SRNO  = '0001'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   SELECT SINGLE VALUE INTO L_VALUE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                            FROM  YCAT_PARAMS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                            WHERE KEY01 = 'CHAR_NAME'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                            AND   KEY02 = 'ATNAM'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                            AND   KEY03 = 'COMPLEX'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                            AND   SRNO  = '0001'.&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;&lt;/P&gt;&lt;P&gt;    V_VALUE = GT_YCAT_PARAMS-VALUE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF NOT V_VALUE IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;READ TABLE GT_CABN WITH KEY ATNAM = V_VALUE.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     SELECT SINGLE ATINN INTO L_ATINN FROM CABN&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                               WHERE ATNAM = V_VALUE.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;T_CUOBJ = GT_INOB-CUOBJ.&lt;/P&gt;&lt;P&gt;L_ATINN = Gt_CABN-ATINN.&lt;/P&gt;&lt;P&gt;READ TABLE GT_AUSP WITH KEY OBJEK = T_CUOBJ&lt;/P&gt;&lt;P&gt;                            ATINN = L_ATINN."GT_CABN-ATINN.&lt;/P&gt;&lt;P&gt;*CLEAR T_CUOBJ.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   SELECT SINGLE ATWRT&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     INTO T_COMPLEX&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       FROM AUSP&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         WHERE OBJEK = GT_INOB-CUOBJ&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         AND   ATINN = L_ATINN.       "'0000000098'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;T_COMPLEX = GT_AUSP-ATWRT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CLEAR V_VALUE.&lt;/P&gt;&lt;P&gt;    CLEAR L_ATINN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;READ TABLE GT_YCAT_PARAMS WITH KEY KEY01 = 'CHAR_NAME'&lt;/P&gt;&lt;P&gt;                                   KEY02 = 'ATNAM'&lt;/P&gt;&lt;P&gt;                                   KEY03 = 'COLOR'&lt;/P&gt;&lt;P&gt;                                   SRNO  = '0001'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   SELECT SINGLE VALUE INTO L_VALUE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                            FROM  YCAT_PARAMS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                            WHERE KEY01 = 'CHAR_NAME'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                            AND   KEY02 = 'ATNAM'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                            AND   KEY03 = 'COLOR'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                            AND   SRNO  = '0001'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    V_VALUE = GT_YCAT_PARAMS-VALUE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF NOT V_VALUE IS INITIAL.&lt;/P&gt;&lt;P&gt;CLEAR GT_CABN.&lt;/P&gt;&lt;P&gt;READ TABLE GT_CABN WITH KEY ATNAM = V_VALUE.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     SELECT SINGLE ATINN INTO L_ATINN FROM CABN&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                         WHERE ATNAM = V_VALUE.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;L_ATINN = GT_CABN-ATINN.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR: T_COLOR, L_ATWRT, L_ATZHL, L_SPRAS.&lt;/P&gt;&lt;P&gt;  READ TABLE GT_AUSP WITH KEY OBJEK = T_CUOBJ&lt;/P&gt;&lt;P&gt;                            ATINN = L_ATINN."GT_CABN-ATINN.&lt;/P&gt;&lt;P&gt;  L_ATWRT = GT_AUSP-ATWRT.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; SELECT SINGLE ATWRT&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   INTO L_ATWRT&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   FROM AUSP&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  WHERE OBJEK = T_CUOBJ"GT_INOB-CUOBJ&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    AND ATINN = L_ATINN.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;READ TABLE GT_CAWN WITH KEY ATINN = L_ATINN&lt;/P&gt;&lt;P&gt;                            ATWRT = L_ATWRT.&lt;/P&gt;&lt;P&gt;*L_ATINN = GT_CAWN-ATINN.&lt;/P&gt;&lt;P&gt;L_ATZHL = GT_CAWN-ATZHL.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; SELECT SINGLE ATINN ATZHL&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; INTO   (L_ATINN, L_ATZHL)&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; FROM   CAWN&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; WHERE  ATINN = L_ATINN&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; AND    ATWRT = L_ATWRT.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; L_SPRAS = 'EN'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;READ TABLE GT_CAWNT WITH KEY ATINN = L_ATINN&lt;/P&gt;&lt;P&gt;                             ATZHL = L_ATZHL.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; SELECT SINGLE ATWTB&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        INTO T_COLOR&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        FROM CAWNT&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WHERE ATINN  = L_ATINN&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        AND   ATZHL  = L_ATZHL&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        AND   SPRAS  = L_SPRAS.     "'0000000099'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;T_COLOR = GT_CAWNT-ATWTB.&lt;/P&gt;&lt;P&gt;  GT_FINAL_DATA-COMPLEX = T_COMPLEX .&lt;/P&gt;&lt;P&gt;  GT_FINAL_DATA-COLOR = T_COLOR .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "color_complex_width&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  text_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;      updading TExt fields of sales order&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 TEXT_DATA .&lt;/P&gt;&lt;P&gt;  DATA : BEGIN OF GT_TEXT OCCURS 0.&lt;/P&gt;&lt;P&gt;          INCLUDE STRUCTURE TLINE.&lt;/P&gt;&lt;P&gt;  DATA : END OF GT_TEXT.&lt;/P&gt;&lt;P&gt;  DATA: TEST_VBELN(70) TYPE C.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CONCATENATE GT_VBAP-VBELN GT_VBAP-POSNR INTO TEST_VBELN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'READ_TEXT'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;     CLIENT                        = SY-MANDT&lt;/P&gt;&lt;P&gt;      ID                            = 'Z001'&lt;/P&gt;&lt;P&gt;      LANGUAGE                      = SY-LANGU&lt;/P&gt;&lt;P&gt;      NAME                          = GT_FINAL_DATA-VBELN&lt;/P&gt;&lt;P&gt;      OBJECT                        = 'VBBK'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  ARCHIVE_HANDLE                = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  LOCAL_CAT                     = ' '&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;  HEADER                        =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      LINES                         = GT_TEXT&lt;/P&gt;&lt;P&gt;   EXCEPTIONS&lt;/P&gt;&lt;P&gt;     ID                            = 1&lt;/P&gt;&lt;P&gt;     LANGUAGE                      = 2&lt;/P&gt;&lt;P&gt;     NAME                          = 3&lt;/P&gt;&lt;P&gt;     NOT_FOUND                     = 4&lt;/P&gt;&lt;P&gt;     OBJECT                        = 5&lt;/P&gt;&lt;P&gt;     REFERENCE_CHECK               = 6&lt;/P&gt;&lt;P&gt;     WRONG_ACCESS_TO_ARCHIVE       = 7&lt;/P&gt;&lt;P&gt;     OTHERS                        = 8&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;&lt;/P&gt;&lt;P&gt;    GT_FINAL_DATA-Z001 = ''.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    CLEAR GT_TEXT.&lt;/P&gt;&lt;P&gt;    READ TABLE GT_TEXT.&lt;/P&gt;&lt;P&gt;    GT_FINAL_DATA-Z001 = GT_TEXT-TDLINE .&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'READ_TEXT'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;     CLIENT                        = SY-MANDT&lt;/P&gt;&lt;P&gt;      ID                            = 'Z002'&lt;/P&gt;&lt;P&gt;      LANGUAGE                      = SY-LANGU&lt;/P&gt;&lt;P&gt;      NAME                          = GT_FINAL_DATA-VBELN&lt;/P&gt;&lt;P&gt;      OBJECT                        = 'VBBK'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  ARCHIVE_HANDLE                = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  LOCAL_CAT                     = ' '&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;  HEADER                        =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      LINES                         = GT_TEXT&lt;/P&gt;&lt;P&gt;   EXCEPTIONS&lt;/P&gt;&lt;P&gt;     ID                            = 1&lt;/P&gt;&lt;P&gt;     LANGUAGE                      = 2&lt;/P&gt;&lt;P&gt;     NAME                          = 3&lt;/P&gt;&lt;P&gt;     NOT_FOUND                     = 4&lt;/P&gt;&lt;P&gt;     OBJECT                        = 5&lt;/P&gt;&lt;P&gt;     REFERENCE_CHECK               = 6&lt;/P&gt;&lt;P&gt;     WRONG_ACCESS_TO_ARCHIVE       = 7&lt;/P&gt;&lt;P&gt;     OTHERS                        = 8&lt;/P&gt;&lt;P&gt;            .&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    CLEAR GT_TEXT.&lt;/P&gt;&lt;P&gt;    READ TABLE GT_TEXT.&lt;/P&gt;&lt;P&gt;    GT_FINAL_DATA-Z002 = GT_TEXT-TDLINE.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'READ_TEXT'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;     CLIENT                        = SY-MANDT&lt;/P&gt;&lt;P&gt;      ID                            = 'Z003'&lt;/P&gt;&lt;P&gt;      LANGUAGE                      = SY-LANGU&lt;/P&gt;&lt;P&gt;      NAME                          = GT_FINAL_DATA-VBELN&lt;/P&gt;&lt;P&gt;      OBJECT                        = 'VBBK'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  ARCHIVE_HANDLE                = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  LOCAL_CAT                     = ' '&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;  HEADER                        =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      LINES                         = GT_TEXT&lt;/P&gt;&lt;P&gt;   EXCEPTIONS&lt;/P&gt;&lt;P&gt;     ID                            = 1&lt;/P&gt;&lt;P&gt;     LANGUAGE                      = 2&lt;/P&gt;&lt;P&gt;     NAME                          = 3&lt;/P&gt;&lt;P&gt;     NOT_FOUND                     = 4&lt;/P&gt;&lt;P&gt;     OBJECT                        = 5&lt;/P&gt;&lt;P&gt;     REFERENCE_CHECK               = 6&lt;/P&gt;&lt;P&gt;     WRONG_ACCESS_TO_ARCHIVE       = 7&lt;/P&gt;&lt;P&gt;     OTHERS                        = 8&lt;/P&gt;&lt;P&gt;            .&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    CLEAR GT_TEXT.&lt;/P&gt;&lt;P&gt;    READ TABLE GT_TEXT.&lt;/P&gt;&lt;P&gt;    GT_FINAL_DATA-Z003 = GT_TEXT-TDLINE.&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;  CALL FUNCTION 'READ_TEXT'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;     CLIENT                        = SY-MANDT&lt;/P&gt;&lt;P&gt;      ID                            = 'Z004'&lt;/P&gt;&lt;P&gt;      LANGUAGE                      = SY-LANGU&lt;/P&gt;&lt;P&gt;      NAME                          = GT_FINAL_DATA-VBELN&lt;/P&gt;&lt;P&gt;      OBJECT                        = 'VBBK'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  ARCHIVE_HANDLE                = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  LOCAL_CAT                     = ' '&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;  HEADER                        =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;     LINES                         = GT_TEXT&lt;/P&gt;&lt;P&gt;   EXCEPTIONS&lt;/P&gt;&lt;P&gt;     ID                            = 1&lt;/P&gt;&lt;P&gt;    LANGUAGE                      = 2&lt;/P&gt;&lt;P&gt;     NAME                          = 3&lt;/P&gt;&lt;P&gt;     NOT_FOUND                     = 4&lt;/P&gt;&lt;P&gt;     OBJECT                        = 5&lt;/P&gt;&lt;P&gt;     REFERENCE_CHECK               = 6&lt;/P&gt;&lt;P&gt;     WRONG_ACCESS_TO_ARCHIVE       = 7&lt;/P&gt;&lt;P&gt;     OTHERS                        = 8&lt;/P&gt;&lt;P&gt;            .&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    CLEAR GT_TEXT.&lt;/P&gt;&lt;P&gt;    READ TABLE GT_TEXT.&lt;/P&gt;&lt;P&gt;    GT_FINAL_DATA-Z004 = GT_TEXT-TDLINE.&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;  CALL FUNCTION 'READ_TEXT'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;     CLIENT                        = SY-MANDT&lt;/P&gt;&lt;P&gt;      ID                            = '0001'&lt;/P&gt;&lt;P&gt;      LANGUAGE                      = SY-LANGU&lt;/P&gt;&lt;P&gt;      NAME                          = TEST_VBELN&lt;/P&gt;&lt;P&gt;      OBJECT                        = 'VBBP'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  ARCHIVE_HANDLE                = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  LOCAL_CAT                     = ' '&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;  HEADER                        =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;     LINES                         = GT_TEXT&lt;/P&gt;&lt;P&gt;   EXCEPTIONS&lt;/P&gt;&lt;P&gt;     ID                            = 1&lt;/P&gt;&lt;P&gt;    LANGUAGE                      = 2&lt;/P&gt;&lt;P&gt;     NAME                          = 3&lt;/P&gt;&lt;P&gt;     NOT_FOUND                     = 4&lt;/P&gt;&lt;P&gt;     OBJECT                        = 5&lt;/P&gt;&lt;P&gt;     REFERENCE_CHECK               = 6&lt;/P&gt;&lt;P&gt;     WRONG_ACCESS_TO_ARCHIVE       = 7&lt;/P&gt;&lt;P&gt;     OTHERS                        = 8&lt;/P&gt;&lt;P&gt;            .&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    CLEAR GT_TEXT.&lt;/P&gt;&lt;P&gt;    READ TABLE GT_TEXT.&lt;/P&gt;&lt;P&gt;    GT_FINAL_DATA-ZI_001 = GT_TEXT-TDLINE.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'READ_TEXT'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;     CLIENT                        = SY-MANDT&lt;/P&gt;&lt;P&gt;      ID                            = '0002'&lt;/P&gt;&lt;P&gt;      LANGUAGE                      = SY-LANGU&lt;/P&gt;&lt;P&gt;      NAME                          = TEST_VBELN&lt;/P&gt;&lt;P&gt;      OBJECT                        = 'VBBP'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  ARCHIVE_HANDLE                = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  LOCAL_CAT                     = ' '&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;  HEADER                        =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;     LINES                         = GT_TEXT&lt;/P&gt;&lt;P&gt;   EXCEPTIONS&lt;/P&gt;&lt;P&gt;     ID                            = 1&lt;/P&gt;&lt;P&gt;    LANGUAGE                      = 2&lt;/P&gt;&lt;P&gt;     NAME                          = 3&lt;/P&gt;&lt;P&gt;     NOT_FOUND                     = 4&lt;/P&gt;&lt;P&gt;     OBJECT                        = 5&lt;/P&gt;&lt;P&gt;     REFERENCE_CHECK               = 6&lt;/P&gt;&lt;P&gt;     WRONG_ACCESS_TO_ARCHIVE       = 7&lt;/P&gt;&lt;P&gt;     OTHERS                        = 8&lt;/P&gt;&lt;P&gt;            .&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    CLEAR GT_TEXT.&lt;/P&gt;&lt;P&gt;    READ TABLE GT_TEXT.&lt;/P&gt;&lt;P&gt;    GT_FINAL_DATA-ZI_002 = GT_TEXT-TDLINE.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;*CALL FUNCTION 'READ_TEXT'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; EXPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  CLIENT                        = SY-MANDT&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   ID                            = 'Z002'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   LANGUAGE                      = 'EN'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   NAME                          = '0002000040'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   OBJECT                        = 'VBBK'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  ARCHIVE_HANDLE                = 0&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;  LOCAL_CAT                     = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;  HEADER                        =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; TABLES&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   LINES                         = GT_TEXT&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;  ID                            = 1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;  LANGUAGE                      = 2&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;  NAME                          = 3&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;  NOT_FOUND                     = 4&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;  OBJECT                        = 5&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;  REFERENCE_CHECK               = 6&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;  WRONG_ACCESS_TO_ARCHIVE       = 7&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;  OTHERS                        = 8&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         .&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" 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="2" 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;/UL&gt;&lt;P&gt;*ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*CALL FUNCTION 'READ_TEXT'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; EXPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  CLIENT                        = SY-MANDT&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   ID                            = 'Z003'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   LANGUAGE                      = 'EN'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   NAME                          = GT_VBAK-VBELN&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   OBJECT                        = 'VBBK'&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;  ARCHIVE_HANDLE                = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;  LOCAL_CAT                     = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;  HEADER                        =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; TABLES&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   LINES                         = GT_TEXT&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;  ID                            = 1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;  LANGUAGE                      = 2&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;  NAME                          = 3&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;  NOT_FOUND                     = 4&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;  OBJECT                        = 5&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;  REFERENCE_CHECK               = 6&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;  WRONG_ACCESS_TO_ARCHIVE       = 7&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;  OTHERS                        = 8&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         .&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" 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="2" 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;/UL&gt;&lt;P&gt;*ENDIF.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*CALL FUNCTION 'READ_TEXT'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; EXPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  CLIENT                        = SY-MANDT&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   ID                            = 'Z004'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   LANGUAGE                      = 'EN'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   NAME                          = GT_VBAK-VBELN&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   OBJECT                        = 'VBBK'&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;  ARCHIVE_HANDLE                = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;  LOCAL_CAT                     = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;  HEADER                        =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; TABLES&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   LINES                         = GT_TEXT&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;  ID                            = 1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;  LANGUAGE                      = 2&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;  NAME                          = 3&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;  NOT_FOUND                     = 4&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;  OBJECT                        = 5&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;  REFERENCE_CHECK               = 6&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;  WRONG_ACCESS_TO_ARCHIVE       = 7&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;  OTHERS                        = 8&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         .&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" 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="2" 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;/UL&gt;&lt;P&gt;*ENDIF.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " text_dataf&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_EVENTTAB&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_EVENTS   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 BUILD_EVENTTAB USING P_EVENTS TYPE SLIS_T_EVENT.&lt;/P&gt;&lt;P&gt;  DATA: LS_EVENT TYPE SLIS_ALV_EVENT.&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   = P_EVENTS.&lt;/P&gt;&lt;P&gt;  READ TABLE P_EVENTS WITH KEY NAME = SLIS_EV_TOP_OF_PAGE&lt;/P&gt;&lt;P&gt;                           INTO LS_EVENT.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;    MOVE FORMNAME_TOP_OF_PAGE TO LS_EVENT-FORM.&lt;/P&gt;&lt;P&gt;    APPEND LS_EVENT TO P_EVENTS.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.                               " BUILD_EVENTTAB&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp;      form  initialize_variant&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&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;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM INITIALIZE_VARIANT.&lt;/P&gt;&lt;P&gt;  G_SAVE = 'A'.&lt;/P&gt;&lt;P&gt;  CLEAR G_VARIANT.&lt;/P&gt;&lt;P&gt;  G_VARIANT-REPORT = SY-REPID.&lt;/P&gt;&lt;P&gt;  GX_VARIANT = G_VARIANT.&lt;/P&gt;&lt;P&gt;  GX_VARIANT = G_VARIANT.&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_VARIANT_DEFAULT_GET'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      I_SAVE     = G_SAVE&lt;/P&gt;&lt;P&gt;    CHANGING&lt;/P&gt;&lt;P&gt;      CS_VARIANT = GX_VARIANT&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      NOT_FOUND  = 2.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;    P_VARI = GX_VARIANT-VARIANT.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  LAYOUT-GET_SELINFOS = 'X'.&lt;/P&gt;&lt;P&gt;  LAYOUT-GROUP_CHANGE_EDIT = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ALV_PRINT-NO_PRINT_SELINFOS  = 'X'.&lt;/P&gt;&lt;P&gt;  ALV_PRINT-NO_COVERPAGE       = 'X'.&lt;/P&gt;&lt;P&gt;  ALV_PRINT-NO_PRINT_LISTINFOS = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ALV_DETAIL_FUNC = 'REUSE_ALV_LIST_DISPLAY'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                               " INITIALIZE_VARIANT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  F4_FOR_VARIANT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        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;&lt;/P&gt;&lt;P&gt;FORM F4_FOR_VARIANT.&lt;/P&gt;&lt;P&gt;****************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; CALL FUNCTION 'REUSE_ALV_VARIANT_F4'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   EXPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     is_variant = g_variant&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     i_save     = g_save&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     = g_exit&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     es_variant = gx_variant&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   EXCEPTIONS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     not_found  = 2.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; IF sy-subrc = 2.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   MESSAGE ID sy-msgid TYPE 'S'      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;LI level="1" type="ul"&gt;&lt;P&gt; ELSE.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IF g_exit = space.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     p_vari = gx_variant-variant.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  G_VARIANT-REPORT = SY-REPID.&lt;/P&gt;&lt;P&gt;  GX_VARIANT-REPORT = SY-REPID.&lt;/P&gt;&lt;P&gt;  G_SAVE = 'A'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  G_VARIANT = SY-REPID.&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_VARIANT_F4'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      IS_VARIANT       = G_VARIANT&lt;/P&gt;&lt;P&gt;      I_SAVE           = 'A'&lt;/P&gt;&lt;P&gt;      I_TABNAME_HEADER = G_TABNAME_HEADER&lt;/P&gt;&lt;P&gt;      I_TABNAME_ITEM   = G_TABNAME_ITEM&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      E_EXIT           = G_EXIT&lt;/P&gt;&lt;P&gt;      ES_VARIANT       = GX_VARIANT&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      NOT_FOUND        = 2.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC = 2.&lt;/P&gt;&lt;P&gt;    MESSAGE ID SY-MSGID TYPE 'S'      NUMBER SY-MSGNO&lt;/P&gt;&lt;P&gt;    WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    IF G_EXIT = SPACE.&lt;/P&gt;&lt;P&gt;      P_VARI = GX_VARIANT-VARIANT.&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;ENDFORM.                               " F4_FOR_VARIANT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  PAI_OF_SELECTION_SCREEN&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;*----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM PAI_OF_SELECTION_SCREEN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT P_VARI IS INITIAL.&lt;/P&gt;&lt;P&gt;    MOVE G_VARIANT TO GX_VARIANT.&lt;/P&gt;&lt;P&gt;    MOVE P_VARI TO GX_VARIANT-VARIANT.&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'REUSE_ALV_VARIANT_EXISTENCE'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        I_SAVE     = G_SAVE&lt;/P&gt;&lt;P&gt;      CHANGING&lt;/P&gt;&lt;P&gt;        CS_VARIANT = GX_VARIANT.&lt;/P&gt;&lt;P&gt;    G_VARIANT = GX_VARIANT.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    PERFORM INITIALIZE_VARIANT.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.                               " PAI_OF_SELECTION_SCREEN&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_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;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        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 BUILD_LAYOUT.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; layout-f2code       = f2code.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; layout-zebra        = 'X'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  LAYOUT-DETAIL_POPUP = 'X'.&lt;/P&gt;&lt;P&gt;  LAYOUT-NO_VLINE = '1'.&lt;/P&gt;&lt;P&gt;  LAYOUT-COLWIDTH_OPTIMIZE = 'X'.&lt;/P&gt;&lt;P&gt;ENDFORM.                               " BUILD_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;P&gt;*&amp;amp;      Form  filter_patner_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;      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;&lt;/P&gt;&lt;P&gt;FORM FILTER_PATNER_DATA .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF S_ZE IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;    DELETE GT_FINAL_DATA WHERE ZE_KUNNR NOT IN S_ZE.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF S_ZS IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;    DELETE GT_FINAL_DATA WHERE ZS_KUNNR NOT IN S_ZS.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF S_ZA IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;    DELETE GT_FINAL_DATA WHERE ZA_KUNNR NOT IN S_ZA.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF S_ZR IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;    DELETE GT_FINAL_DATA WHERE ZR_KUNNR NOT IN S_ZR.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF S_ZI IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;    DELETE GT_FINAL_DATA WHERE ZI_KUNNR NOT IN S_ZI.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " filter_patner_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;P&gt;*&amp;amp;      Form  MAIL_RPT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        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 MAIL_RPT .&lt;/P&gt;&lt;P&gt;  PERFORM POPULATE_EMAIL_MESSAGE_BODY.&lt;/P&gt;&lt;P&gt;  PERFORM BUILD_XLS_DATA_TABLE USING G_VARIANT-VARIANT.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " MAIL_RPT&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_XLS_DATA_TABLE&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        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 BUILD_XLS_DATA_TABLE USING P_VARIANT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT * FROM YMSLT_MAIL_ID INTO CORRESPONDING FIELDS OF TABLE IT_MAIL_ID.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                           WHERE ZVARIANT = P_VARIANT.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CHECK NOT IT_MAIL_ID[] IS INITIAL.&lt;/P&gt;&lt;P&gt;  LOOP AT IT_MAIL_ID.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CLEAR   :T_RECEIVERS,IT_ATTACH,MAIL_TAB.&lt;/P&gt;&lt;P&gt;    REFRESH :T_RECEIVERS,IT_ATTACH,MAIL_TAB.&lt;/P&gt;&lt;P&gt;    PERFORM MAIL_TO_SM USING IT_MAIL_ID-ZEMAIL_ID&lt;/P&gt;&lt;P&gt;                             IT_MAIL_ID-ZSMCODE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CLEAR   :T_RECEIVERS,IT_ATTACH,MAIL_TAB.&lt;/P&gt;&lt;P&gt;    REFRESH :T_RECEIVERS,IT_ATTACH,MAIL_TAB.&lt;/P&gt;&lt;P&gt;    PERFORM MAIL_TO_SP USING IT_MAIL_ID-ZEMAIL_ID&lt;/P&gt;&lt;P&gt;                             IT_MAIL_ID-ZSPCODE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " BUILD_XLS_DATA_TABLE&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  POPULATE_EMAIL_MESSAGE_BODY&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM POPULATE_EMAIL_MESSAGE_BODY .&lt;/P&gt;&lt;P&gt;  REFRESH IT_MESSAGE.&lt;/P&gt;&lt;P&gt;  IT_MESSAGE = 'Please find attached a list of Pending Sales Order Rpt '.&lt;/P&gt;&lt;P&gt;  APPEND IT_MESSAGE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " POPULATE_EMAIL_MESSAGE_BODY&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  SEND_FILE_AS_EMAIL_ATTACHMENT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_IT_MESSAGE  text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_IT_ATTACH  text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_5619   text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_5620   text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_5621   text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_5622   text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_5623   text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_5624   text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     &amp;lt;--P_GD_ERROR  text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     &amp;lt;--P_GD_RECIEVER  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 SEND_FILE_AS_EMAIL_ATTACHMENT TABLES PIT_MESSAGE&lt;/P&gt;&lt;P&gt;                                          PIT_ATTACH&lt;/P&gt;&lt;P&gt;                                    USING P_MTITLE&lt;/P&gt;&lt;P&gt;                                          P_FORMAT&lt;/P&gt;&lt;P&gt;                                          P_FILENAME&lt;/P&gt;&lt;P&gt;                                          P_ATTDESCRIPTION&lt;/P&gt;&lt;P&gt;                                          P_SENDER_ADDRESS&lt;/P&gt;&lt;P&gt;                                          P_SENDER_ADDRES_TYPE&lt;/P&gt;&lt;P&gt;                                 CHANGING P_ERROR&lt;/P&gt;&lt;P&gt;                                          P_RECIEVER.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: LD_ERROR    TYPE SY-SUBRC,&lt;/P&gt;&lt;P&gt;        LD_RECIEVER TYPE SY-SUBRC,&lt;/P&gt;&lt;P&gt;        LD_MTITLE LIKE SODOCCHGI1-OBJ_DESCR,&lt;/P&gt;&lt;P&gt;        LD_EMAIL LIKE  SOMLRECI1-RECEIVER,&lt;/P&gt;&lt;P&gt;        LD_FORMAT TYPE  SO_OBJ_TP ,&lt;/P&gt;&lt;P&gt;        LD_ATTDESCRIPTION TYPE  SO_OBJ_DES ,&lt;/P&gt;&lt;P&gt;        LD_ATTFILENAME TYPE  SO_OBJ_NAM ,&lt;/P&gt;&lt;P&gt;        LD_SENDER_ADDRESS LIKE  SOEXTRECI1-RECEIVER,&lt;/P&gt;&lt;P&gt;        LD_SENDER_ADDRESS_TYPE LIKE  SOEXTRECI1-ADR_TYP,&lt;/P&gt;&lt;P&gt;        LD_RECEIVER LIKE  SY-SUBRC.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; LD_EMAIL   = P_EMAIL.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  LD_MTITLE = P_MTITLE.&lt;/P&gt;&lt;P&gt;  LD_FORMAT              = P_FORMAT.&lt;/P&gt;&lt;P&gt;  LD_ATTDESCRIPTION      = P_ATTDESCRIPTION.&lt;/P&gt;&lt;P&gt;  LD_ATTFILENAME         = P_FILENAME.&lt;/P&gt;&lt;P&gt;  LD_SENDER_ADDRESS      = P_SENDER_ADDRESS.&lt;/P&gt;&lt;P&gt;  LD_SENDER_ADDRESS_TYPE = P_SENDER_ADDRES_TYPE.&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;Fill the document data.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  W_DOC_DATA-DOC_SIZE = 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Populate the subject/generic message attributes&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  W_DOC_DATA-OBJ_LANGU = SY-LANGU.&lt;/P&gt;&lt;P&gt;  W_DOC_DATA-OBJ_NAME  = 'SAPRPT'.&lt;/P&gt;&lt;P&gt;  W_DOC_DATA-OBJ_DESCR = LD_MTITLE .&lt;/P&gt;&lt;P&gt;  W_DOC_DATA-SENSITIVTY = 'F'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Fill the document data and get size of attachment&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CLEAR W_DOC_DATA.&lt;/P&gt;&lt;P&gt;  READ TABLE IT_ATTACH INDEX W_CNT.&lt;/P&gt;&lt;P&gt;  W_DOC_DATA-DOC_SIZE =&lt;/P&gt;&lt;P&gt;     ( W_CNT - 1 ) * 255 + STRLEN( IT_ATTACH ).&lt;/P&gt;&lt;P&gt;  W_DOC_DATA-OBJ_LANGU  = SY-LANGU.&lt;/P&gt;&lt;P&gt;  W_DOC_DATA-OBJ_NAME   = 'SAPRPT'.&lt;/P&gt;&lt;P&gt;  W_DOC_DATA-OBJ_DESCR  = LD_MTITLE.&lt;/P&gt;&lt;P&gt;  W_DOC_DATA-SENSITIVTY = 'F'.&lt;/P&gt;&lt;P&gt;  CLEAR T_ATTACHMENT.&lt;/P&gt;&lt;P&gt;  REFRESH T_ATTACHMENT.&lt;/P&gt;&lt;P&gt;  T_ATTACHMENT[] = PIT_ATTACH[].&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Describe the body of the message&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CLEAR T_PACKING_LIST.&lt;/P&gt;&lt;P&gt;  REFRESH T_PACKING_LIST.&lt;/P&gt;&lt;P&gt;  T_PACKING_LIST-TRANSF_BIN = SPACE.&lt;/P&gt;&lt;P&gt;  T_PACKING_LIST-HEAD_START = 1.&lt;/P&gt;&lt;P&gt;  T_PACKING_LIST-HEAD_NUM = 0.&lt;/P&gt;&lt;P&gt;  T_PACKING_LIST-BODY_START = 1.&lt;/P&gt;&lt;P&gt;  DESCRIBE TABLE IT_MESSAGE LINES T_PACKING_LIST-BODY_NUM.&lt;/P&gt;&lt;P&gt;  T_PACKING_LIST-DOC_TYPE = 'RAW'.&lt;/P&gt;&lt;P&gt;  APPEND T_PACKING_LIST.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Create attachment notification&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  T_PACKING_LIST-TRANSF_BIN = 'X'.&lt;/P&gt;&lt;P&gt;  T_PACKING_LIST-HEAD_START = 1.&lt;/P&gt;&lt;P&gt;  T_PACKING_LIST-HEAD_NUM   = 1.&lt;/P&gt;&lt;P&gt;  T_PACKING_LIST-BODY_START = 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DESCRIBE TABLE T_ATTACHMENT LINES T_PACKING_LIST-BODY_NUM.&lt;/P&gt;&lt;P&gt;  T_PACKING_LIST-DOC_TYPE   =  LD_FORMAT.&lt;/P&gt;&lt;P&gt;  T_PACKING_LIST-OBJ_NAME   =  LD_ATTFILENAME.&lt;/P&gt;&lt;P&gt;  T_PACKING_LIST-OBJ_DESCR  =  LD_ATTDESCRIPTION.&lt;/P&gt;&lt;P&gt;  T_PACKING_LIST-DOC_SIZE   =  T_PACKING_LIST-BODY_NUM * 255.&lt;/P&gt;&lt;P&gt;  APPEND T_PACKING_LIST.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Add the recipients email address&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'SO_DOCUMENT_SEND_API1'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      DOCUMENT_DATA              = W_DOC_DATA&lt;/P&gt;&lt;P&gt;      PUT_IN_OUTBOX              = 'X'&lt;/P&gt;&lt;P&gt;      SENDER_ADDRESS             = LD_SENDER_ADDRESS&lt;/P&gt;&lt;P&gt;      SENDER_ADDRESS_TYPE        = LD_SENDER_ADDRESS_TYPE&lt;/P&gt;&lt;P&gt;      COMMIT_WORK                = 'X'&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      SENT_TO_ALL                = W_SENT_ALL&lt;/P&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      PACKING_LIST               = T_PACKING_LIST&lt;/P&gt;&lt;P&gt;      CONTENTS_BIN               = T_ATTACHMENT&lt;/P&gt;&lt;P&gt;      CONTENTS_TXT               = IT_MESSAGE&lt;/P&gt;&lt;P&gt;      RECEIVERS                  = T_RECEIVERS&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      TOO_MANY_RECEIVERS         = 1&lt;/P&gt;&lt;P&gt;      DOCUMENT_NOT_SENT          = 2&lt;/P&gt;&lt;P&gt;      DOCUMENT_TYPE_NOT_EXIST    = 3&lt;/P&gt;&lt;P&gt;      OPERATION_NO_AUTHORIZATION = 4&lt;/P&gt;&lt;P&gt;      PARAMETER_ERROR            = 5&lt;/P&gt;&lt;P&gt;      X_ERROR                    = 6&lt;/P&gt;&lt;P&gt;      ENQUEUE_ERROR              = 7&lt;/P&gt;&lt;P&gt;      OTHERS                     = 8.&lt;/P&gt;&lt;P&gt;  .&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " SEND_FILE_AS_EMAIL_ATTACHMENT&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  INITIATE_MAIL_EXECUTE_PROGRAM&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        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 INITIATE_MAIL_EXECUTE_PROGRAM .&lt;/P&gt;&lt;P&gt;  WAIT UP TO 2 SECONDS.&lt;/P&gt;&lt;P&gt;  SUBMIT RSCONN01 WITH MODE = 'INT'&lt;/P&gt;&lt;P&gt;                WITH OUTPUT = 'X'&lt;/P&gt;&lt;P&gt;                AND RETURN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " INITIATE_MAIL_EXECUTE_PROGRAM&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  MAIL_TO_SM&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_HD_MAIL_ID_ZSMCODE  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 MAIL_TO_SM  USING    P_ZEMAIL_ID&lt;/P&gt;&lt;P&gt;                          P_ZSMCODE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  T_RECEIVERS-RECEIVER = P_ZEMAIL_ID.&lt;/P&gt;&lt;P&gt;  T_RECEIVERS-REC_TYPE = 'U'.&lt;/P&gt;&lt;P&gt;  T_RECEIVERS-COM_TYPE = 'INT'.&lt;/P&gt;&lt;P&gt;  T_RECEIVERS-NOTIF_DEL = 'X'.&lt;/P&gt;&lt;P&gt;  T_RECEIVERS-NOTIF_NDEL = 'X'.&lt;/P&gt;&lt;P&gt;  APPEND T_RECEIVERS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  T_RECEIVERS-RECEIVER = 'manjusha.shembekar@bilcare.com'.&lt;/P&gt;&lt;P&gt;  T_RECEIVERS-REC_TYPE = 'U'.&lt;/P&gt;&lt;P&gt;  T_RECEIVERS-COM_TYPE = 'INT'.&lt;/P&gt;&lt;P&gt;  T_RECEIVERS-NOTIF_DEL = 'X'.&lt;/P&gt;&lt;P&gt;  T_RECEIVERS-NOTIF_NDEL = 'X'.&lt;/P&gt;&lt;P&gt;  APPEND T_RECEIVERS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  T_RECEIVERS-RECEIVER = 'manjeet.singh@bilcare.com'.&lt;/P&gt;&lt;P&gt;  T_RECEIVERS-REC_TYPE = 'U'.&lt;/P&gt;&lt;P&gt;  T_RECEIVERS-COM_TYPE = 'INT'.&lt;/P&gt;&lt;P&gt;  T_RECEIVERS-NOTIF_DEL = 'X'.&lt;/P&gt;&lt;P&gt;  T_RECEIVERS-NOTIF_NDEL = 'X'.&lt;/P&gt;&lt;P&gt;  APPEND T_RECEIVERS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA : ORDER_QTY(12),RATE(10),BAL_QTY(12),PODT(10),ORDDT(10),CUST_REQ_DT(10),&lt;/P&gt;&lt;P&gt;         SCH_DT(10).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CONCATENATE 'SALES MANAGER' 'SUPP.MANAGER' 'SOLD TO PARTY NAME' 'SOLD TO PARTY DEST.'&lt;/P&gt;&lt;P&gt;              'SHIP TO PARTY NAME'  'SHIP TO PARTY DEST.' 'CUST.CLASS' 'CUST PO#'&lt;/P&gt;&lt;P&gt;              'CUST PO DATE' 'OA NO' 'OA DATE' 'MAT.CODE' 'MAT.DESC.'&lt;/P&gt;&lt;P&gt;              'MAT.GROUP' 'COLOR' 'COMPLEX' 'WIDTH' 'CUST MAT.NO.'&lt;/P&gt;&lt;P&gt;              'ORDER QTY' 'UOM' 'RATE/KG' 'CURRENCY' 'CUST REQ.DATE' 'BRAND NAME'&lt;/P&gt;&lt;P&gt;              'SCHEDULE DATE'  'DELAY DAYS' 'BALANCE QTY.' ''&lt;/P&gt;&lt;P&gt;               INTO STR_VAL SEPARATED BY CON_TAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CONCATENATE CON_CRET STR_VAL  INTO STR_VAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'SCMS_STRING_TO_FTEXT'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      TEXT            = STR_VAL&lt;/P&gt;&lt;UL&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;  LENGTH          =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      FTEXT_TAB       = IT_ATTACH .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CONCATENATE CON_CRET IT_ATTACH  INTO IT_ATTACH.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT GT_FINAL_DATA WHERE ZE_KUNNR = P_ZSMCODE.&lt;/P&gt;&lt;P&gt;    CLEAR: ORDER_QTY(12),RATE(10),BAL_QTY(12),PODT(10),ORDDT(10),CUST_REQ_DT(10),&lt;/P&gt;&lt;P&gt;           SCH_DT(10).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ORDER_QTY = GT_FINAL_DATA-KWMENG.&lt;/P&gt;&lt;P&gt;    RATE      = GT_FINAL_DATA-KBETR.&lt;/P&gt;&lt;P&gt;    BAL_QTY   = GT_FINAL_DATA-BAL_QTY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CONCATENATE GT_FINAL_DATA-BSTDK&lt;EM&gt;6(2) '.' GT_FINAL_DATA-BSTDK&lt;/EM&gt;4(2) '.'&lt;/P&gt;&lt;P&gt;                GT_FINAL_DATA-BSTDK+0(4) INTO PODT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CONCATENATE GT_FINAL_DATA-ERDAT&lt;EM&gt;6(2) '.' GT_FINAL_DATA-ERDAT&lt;/EM&gt;4(2) '.'&lt;/P&gt;&lt;P&gt;                GT_FINAL_DATA-ERDAT+0(4) INTO ORDDT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CONCATENATE GT_FINAL_DATA-ZZCUST_REQDAT&lt;EM&gt;6(2) '.' GT_FINAL_DATA-ZZCUST_REQDAT&lt;/EM&gt;4(2) '.'&lt;/P&gt;&lt;P&gt;                GT_FINAL_DATA-ZZCUST_REQDAT+0(4) INTO CUST_REQ_DT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CONCATENATE GT_FINAL_DATA-EDATU&lt;EM&gt;6(2) '.' GT_FINAL_DATA-EDATU&lt;/EM&gt;4(2) '.'&lt;/P&gt;&lt;P&gt;                GT_FINAL_DATA-EDATU+0(4) INTO SCH_DT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CONCATENATE GT_FINAL_DATA-ZE_NAME    GT_FINAL_DATA-ZS_NAME   GT_FINAL_DATA-NAME&lt;/P&gt;&lt;P&gt;                GT_FINAL_DATA-ORT01      GT_FINAL_DATA-S_NAME    GT_FINAL_DATA-S_ORT01&lt;/P&gt;&lt;P&gt;                GT_FINAL_DATA-KLABC      GT_FINAL_DATA-BSTNK     PODT&lt;/P&gt;&lt;P&gt;                GT_FINAL_DATA-VBELN      ORDDT&lt;/P&gt;&lt;P&gt;                GT_FINAL_DATA-MATNR      GT_FINAL_DATA-MAKTG      GT_FINAL_DATA-MVGR1&lt;/P&gt;&lt;P&gt;                GT_FINAL_DATA-COLOR      GT_FINAL_DATA-COMPLEX    GT_FINAL_DATA-WIDTH&lt;/P&gt;&lt;P&gt;                GT_FINAL_DATA-ZZKDMAT    ORDER_QTY                GT_FINAL_DATA-MEINS&lt;/P&gt;&lt;P&gt;                RATE                     GT_FINAL_DATA-WAERS      CUST_REQ_DT&lt;/P&gt;&lt;P&gt;                GT_FINAL_DATA-ZZBRAND    SCH_DT                   GT_FINAL_DATA-DAYS&lt;/P&gt;&lt;P&gt;                BAL_QTY '' INTO STR_VAL SEPARATED BY CON_TAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CONCATENATE CON_CRET STR_VAL  INTO STR_VAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'SCMS_STRING_TO_FTEXT'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        TEXT            = STR_VAL&lt;/P&gt;&lt;UL&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;  LENGTH          =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      TABLES&lt;/P&gt;&lt;P&gt;        FTEXT_TAB       = IT_ATTACH .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CONCATENATE CON_CRET IT_ATTACH  INTO IT_ATTACH.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    INTO IT_ATTACH SEPARATED BY CON_TAB.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     APPEND  IT_ATTACH.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    MOVE-CORRESPONDING : GT_FINAL_DATA TO MAIL_TAB.&lt;/P&gt;&lt;P&gt;    APPEND MAIL_TAB.CLEAR MAIL_TAB.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC NE 0.&lt;/P&gt;&lt;P&gt;    CLEAR   :T_RECEIVERS,IT_ATTACH.&lt;/P&gt;&lt;P&gt;    REFRESH :T_RECEIVERS,IT_ATTACH.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  IF NOT IT_ATTACH[] IS INITIAL.&lt;/P&gt;&lt;P&gt;    PERFORM SEND_FILE_AS_EMAIL_ATTACHMENT&lt;/P&gt;&lt;P&gt;                                  TABLES IT_MESSAGE&lt;/P&gt;&lt;P&gt;                                         IT_ATTACH&lt;/P&gt;&lt;P&gt;                                   USING 'Pending Sale Order Rpt.'&lt;/P&gt;&lt;P&gt;                                         'XLS'&lt;/P&gt;&lt;P&gt;                                         'Order'&lt;/P&gt;&lt;P&gt;                                         ' '&lt;/P&gt;&lt;P&gt;                                         ' '&lt;/P&gt;&lt;P&gt;                                         ' '&lt;/P&gt;&lt;P&gt;                                CHANGING GD_ERROR&lt;/P&gt;&lt;P&gt;                                         GD_RECIEVER.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    PERFORM INITIATE_MAIL_EXECUTE_PROGRAM.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " MAIL_TO_SM&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  MAIL_TO_SP&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_SP_MAIL_ID_ZSPCODE  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 MAIL_TO_SP  USING  P_ZEMAIL_ID&lt;/P&gt;&lt;P&gt;                        P_ZSPCODE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  T_RECEIVERS-RECEIVER = P_ZEMAIL_ID.&lt;/P&gt;&lt;P&gt;  T_RECEIVERS-REC_TYPE = 'U'.&lt;/P&gt;&lt;P&gt;  T_RECEIVERS-COM_TYPE = 'INT'.&lt;/P&gt;&lt;P&gt;  T_RECEIVERS-NOTIF_DEL = 'X'.&lt;/P&gt;&lt;P&gt;  T_RECEIVERS-NOTIF_NDEL = 'X'.&lt;/P&gt;&lt;P&gt;  APPEND T_RECEIVERS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  T_RECEIVERS-RECEIVER = 'manjusha.shembekar@bilcare.com'.&lt;/P&gt;&lt;P&gt;  T_RECEIVERS-REC_TYPE = 'U'.&lt;/P&gt;&lt;P&gt;  T_RECEIVERS-COM_TYPE = 'INT'.&lt;/P&gt;&lt;P&gt;  T_RECEIVERS-NOTIF_DEL = 'X'.&lt;/P&gt;&lt;P&gt;  T_RECEIVERS-NOTIF_NDEL = 'X'.&lt;/P&gt;&lt;P&gt;  APPEND T_RECEIVERS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  T_RECEIVERS-RECEIVER = 'manjeet.singh@bilcare.com'.&lt;/P&gt;&lt;P&gt;  T_RECEIVERS-REC_TYPE = 'U'.&lt;/P&gt;&lt;P&gt;  T_RECEIVERS-COM_TYPE = 'INT'.&lt;/P&gt;&lt;P&gt;  T_RECEIVERS-NOTIF_DEL = 'X'.&lt;/P&gt;&lt;P&gt;  T_RECEIVERS-NOTIF_NDEL = 'X'.&lt;/P&gt;&lt;P&gt;  APPEND T_RECEIVERS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA : ORDER_QTY(12),RATE(10),BAL_QTY(12),PODT(10),ORDDT(10),CUST_REQ_DT(10),&lt;/P&gt;&lt;P&gt;         SCH_DT(10).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CONCATENATE 'SALES MANAGER' 'SUPP.MANAGER' 'SOLD TO PARTY NAME' 'SOLD TO PARTY DEST.'&lt;/P&gt;&lt;P&gt;              'SHIP TO PARTY NAME'  'SHIP TO PARTY DEST.' 'CUST.CLASS' 'CUST PO#'&lt;/P&gt;&lt;P&gt;              'CUST PO DATE' 'OA NO' 'OA DATE' 'MAT.CODE' 'MAT.DESC.'&lt;/P&gt;&lt;P&gt;              'MAT.GROUP' 'COLOR' 'COMPLEX' 'WIDTH' 'CUST MAT.NO.'&lt;/P&gt;&lt;P&gt;              'ORDER QTY' 'UOM' 'RATE/KG' 'CURRENCY' 'CUST REQ.DATE' 'BRAND NAME'&lt;/P&gt;&lt;P&gt;              'SCHEDULE DATE'  'DELAY DAYS' 'BALANCE QTY.' ''&lt;/P&gt;&lt;P&gt;               INTO STR_VAL SEPARATED BY CON_TAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CONCATENATE CON_CRET STR_VAL  INTO STR_VAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'SCMS_STRING_TO_FTEXT'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      TEXT            = STR_VAL&lt;/P&gt;&lt;UL&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;  LENGTH          =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      FTEXT_TAB       = IT_ATTACH .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CONCATENATE CON_CRET IT_ATTACH  INTO IT_ATTACH.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT GT_FINAL_DATA WHERE ZS_KUNNR = P_ZSPCODE.&lt;/P&gt;&lt;P&gt;    CLEAR: ORDER_QTY(12),RATE(10),BAL_QTY(12),PODT(10),ORDDT(10),CUST_REQ_DT(10),&lt;/P&gt;&lt;P&gt;           SCH_DT(10).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ORDER_QTY = GT_FINAL_DATA-KWMENG.&lt;/P&gt;&lt;P&gt;    RATE      = GT_FINAL_DATA-KBETR.&lt;/P&gt;&lt;P&gt;    BAL_QTY   = GT_FINAL_DATA-BAL_QTY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CONCATENATE GT_FINAL_DATA-BSTDK&lt;EM&gt;6(2) '.' GT_FINAL_DATA-BSTDK&lt;/EM&gt;4(2) '.'&lt;/P&gt;&lt;P&gt;                GT_FINAL_DATA-BSTDK+0(4) INTO PODT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CONCATENATE GT_FINAL_DATA-ERDAT&lt;EM&gt;6(2) '.' GT_FINAL_DATA-ERDAT&lt;/EM&gt;4(2) '.'&lt;/P&gt;&lt;P&gt;                GT_FINAL_DATA-ERDAT+0(4) INTO ORDDT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CONCATENATE GT_FINAL_DATA-ZZCUST_REQDAT&lt;EM&gt;6(2) '.' GT_FINAL_DATA-ZZCUST_REQDAT&lt;/EM&gt;4(2) '.'&lt;/P&gt;&lt;P&gt;                GT_FINAL_DATA-ZZCUST_REQDAT+0(4) INTO CUST_REQ_DT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CONCATENATE GT_FINAL_DATA-EDATU&lt;EM&gt;6(2) '.' GT_FINAL_DATA-EDATU&lt;/EM&gt;4(2) '.'&lt;/P&gt;&lt;P&gt;                GT_FINAL_DATA-EDATU+0(4) INTO SCH_DT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CONCATENATE GT_FINAL_DATA-ZE_NAME    GT_FINAL_DATA-ZS_NAME   GT_FINAL_DATA-NAME&lt;/P&gt;&lt;P&gt;                GT_FINAL_DATA-ORT01      GT_FINAL_DATA-S_NAME    GT_FINAL_DATA-S_ORT01&lt;/P&gt;&lt;P&gt;                GT_FINAL_DATA-KLABC      GT_FINAL_DATA-BSTNK     PODT&lt;/P&gt;&lt;P&gt;                GT_FINAL_DATA-VBELN      ORDDT&lt;/P&gt;&lt;P&gt;                GT_FINAL_DATA-MATNR      GT_FINAL_DATA-MAKTG      GT_FINAL_DATA-MVGR1&lt;/P&gt;&lt;P&gt;                GT_FINAL_DATA-COLOR      GT_FINAL_DATA-COMPLEX    GT_FINAL_DATA-WIDTH&lt;/P&gt;&lt;P&gt;                GT_FINAL_DATA-ZZKDMAT    ORDER_QTY                GT_FINAL_DATA-MEINS&lt;/P&gt;&lt;P&gt;                RATE                     GT_FINAL_DATA-WAERS      CUST_REQ_DT&lt;/P&gt;&lt;P&gt;                GT_FINAL_DATA-ZZBRAND    SCH_DT                   GT_FINAL_DATA-DAYS&lt;/P&gt;&lt;P&gt;                BAL_QTY '' INTO STR_VAL SEPARATED BY CON_TAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CONCATENATE CON_CRET STR_VAL  INTO STR_VAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'SCMS_STRING_TO_FTEXT'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        TEXT            = STR_VAL&lt;/P&gt;&lt;UL&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;  LENGTH          =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      TABLES&lt;/P&gt;&lt;P&gt;        FTEXT_TAB       = IT_ATTACH .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CONCATENATE CON_CRET IT_ATTACH  INTO IT_ATTACH.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    INTO IT_ATTACH SEPARATED BY CON_TAB.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     APPEND  IT_ATTACH.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    MOVE-CORRESPONDING : GT_FINAL_DATA TO MAIL_TAB.&lt;/P&gt;&lt;P&gt;    APPEND MAIL_TAB.CLEAR MAIL_TAB.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC NE 0.&lt;/P&gt;&lt;P&gt;    CLEAR   :T_RECEIVERS,IT_ATTACH.&lt;/P&gt;&lt;P&gt;    REFRESH :T_RECEIVERS,IT_ATTACH.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  IF NOT IT_ATTACH[] IS INITIAL.&lt;/P&gt;&lt;P&gt;    PERFORM SEND_FILE_AS_EMAIL_ATTACHMENT&lt;/P&gt;&lt;P&gt;                                  TABLES IT_MESSAGE&lt;/P&gt;&lt;P&gt;                                         IT_ATTACH&lt;/P&gt;&lt;P&gt;                                   USING 'Pending Sale Order Rpt.'&lt;/P&gt;&lt;P&gt;                                         'XLS'&lt;/P&gt;&lt;P&gt;                                         'Order'&lt;/P&gt;&lt;P&gt;                                         ' '&lt;/P&gt;&lt;P&gt;                                         ' '&lt;/P&gt;&lt;P&gt;                                         ' '&lt;/P&gt;&lt;P&gt;                                CHANGING GD_ERROR&lt;/P&gt;&lt;P&gt;                                         GD_RECIEVER.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    PERFORM INITIATE_MAIL_EXECUTE_PROGRAM.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " MAIL_TO_SP&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  NAME_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;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_GT_VBAP_VBELN  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 NAME_DATA  USING    P_GT_VBAP_VBELN TYPE VBELN CHANGING T_FLAG.&lt;/P&gt;&lt;P&gt; READ TABLE GT_VBPA WITH KEY VBELN = P_GT_VBAP_VBELN&lt;/P&gt;&lt;P&gt;                             PARVW = 'ZA'.&lt;/P&gt;&lt;P&gt; IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt; GT_FINAL_DATA-ZA_KUNNR = GT_VBPA-KUNNR.&lt;/P&gt;&lt;P&gt;          READ TABLE GT_KNA1_1 WITH KEY KUNNR = GT_VBPA-KUNNR.&lt;/P&gt;&lt;P&gt;          GT_FINAL_DATA-ZA_NAME = GT_KNA1_1-NAME1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          T_FLAG ='XX'.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt; READ TABLE GT_VBPA WITH KEY VBELN = P_GT_VBAP_VBELN&lt;/P&gt;&lt;P&gt;                             PARVW = 'ZE'.&lt;/P&gt;&lt;P&gt; IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;   GT_FINAL_DATA-ZE_KUNNR = GT_VBPA-KUNNR.&lt;/P&gt;&lt;P&gt;          READ TABLE GT_KNA1_1 WITH KEY KUNNR = GT_VBPA-KUNNR.&lt;/P&gt;&lt;P&gt;          GT_FINAL_DATA-ZE_NAME = GT_KNA1_1-NAME1.&lt;/P&gt;&lt;P&gt;          T_FLAG ='XX'.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;READ TABLE GT_VBPA WITH KEY VBELN = P_GT_VBAP_VBELN&lt;/P&gt;&lt;P&gt;                             PARVW = 'ZI'.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt; GT_FINAL_DATA-ZI_KUNNR = GT_VBPA-KUNNR.&lt;/P&gt;&lt;P&gt; READ TABLE GT_KNA1_1 WITH KEY KUNNR = GT_VBPA-KUNNR.&lt;/P&gt;&lt;P&gt; GT_FINAL_DATA-ZI_NAME = GT_KNA1_1-NAME1.&lt;/P&gt;&lt;P&gt; T_FLAG ='XX'.&lt;/P&gt;&lt;P&gt; ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;READ TABLE GT_VBPA WITH KEY VBELN = P_GT_VBAP_VBELN&lt;/P&gt;&lt;P&gt;                             PARVW = 'ZR'.&lt;/P&gt;&lt;P&gt;IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;GT_FINAL_DATA-ZR_KUNNR = GT_VBPA-KUNNR.&lt;/P&gt;&lt;P&gt;READ TABLE GT_KNA1_1 WITH KEY KUNNR = GT_VBPA-KUNNR.&lt;/P&gt;&lt;P&gt;GT_FINAL_DATA-ZR_NAME = GT_KNA1_1-NAME1.&lt;/P&gt;&lt;P&gt; T_FLAG ='XX'.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;READ TABLE GT_VBPA WITH KEY VBELN = P_GT_VBAP_VBELN&lt;/P&gt;&lt;P&gt;                             PARVW = 'ZS'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;GT_FINAL_DATA-ZS_KUNNR = GT_VBPA-KUNNR.&lt;/P&gt;&lt;P&gt;READ TABLE GT_KNA1_1 WITH KEY KUNNR = GT_VBPA-KUNNR.&lt;/P&gt;&lt;P&gt;GT_FINAL_DATA-ZS_NAME = GT_KNA1_1-NAME1.&lt;/P&gt;&lt;P&gt;T_FLAG ='XX'.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;READ TABLE GT_VBPA WITH KEY VBELN = P_GT_VBAP_VBELN&lt;/P&gt;&lt;P&gt;                             PARVW = 'WE'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;          GT_FINAL_DATA-S_KUNNR = GT_VBPA-KUNNR.&lt;/P&gt;&lt;P&gt;          READ TABLE GT_KNA1_1 WITH KEY KUNNR = GT_VBPA-KUNNR.&lt;/P&gt;&lt;P&gt;          GT_FINAL_DATA-S_NAME = GT_KNA1_1-NAME1.&lt;/P&gt;&lt;P&gt;          GT_FINAL_DATA-S_ORT01 = GT_KNA1_1-ORT01.&lt;/P&gt;&lt;P&gt;          T_FLAG ='XX'.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " NAME_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;P&gt;*&amp;amp;      Form  VALUE_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;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_GT_VBAK_KNUMV  text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_GT_VBAP_POSNR  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 VALUE_DATA  USING    P_GT_VBAK_KNUMV LIKE VBAK-KNUMV&lt;/P&gt;&lt;P&gt;                          P_GT_VBAP_POSNR LIKE VBAP-POSNR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;READ TABLE GT_KONV WITH KEY KNUMV = P_GT_VBAK_KNUMV&lt;/P&gt;&lt;P&gt;                            KPOSN = P_GT_VBAP_POSNR&lt;/P&gt;&lt;P&gt;                            KSCHL = 'ZBAP'.&lt;/P&gt;&lt;P&gt;IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;          GT_FINAL_DATA-B_VALUE = GT_KONV-KWERT.&lt;/P&gt;&lt;P&gt;          GT_FINAL_DATA-KBETR = GT_KONV-KBETR. " Rate per KG&lt;/P&gt;&lt;P&gt;          GT_FINAL_DATA-WAERS = GT_KONV-WAERS. "currency&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;READ TABLE GT_KONV WITH KEY KNUMV = P_GT_VBAK_KNUMV&lt;/P&gt;&lt;P&gt;                            KPOSN = P_GT_VBAP_POSNR&lt;/P&gt;&lt;P&gt;                            KSCHL = 'JEXP'.&lt;/P&gt;&lt;P&gt;IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;  GT_FINAL_DATA-EX_VALUE = GT_KONV-KWERT.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;READ TABLE GT_KONV WITH KEY KNUMV = P_GT_VBAK_KNUMV&lt;/P&gt;&lt;P&gt;                            KPOSN = P_GT_VBAP_POSNR&lt;/P&gt;&lt;P&gt;                            KSCHL = 'JEDC'.&lt;/P&gt;&lt;P&gt;IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;          GT_FINAL_DATA-EC_VALUE  = GT_KONV-KWERT.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;READ TABLE GT_KONV WITH KEY KNUMV = P_GT_VBAK_KNUMV&lt;/P&gt;&lt;P&gt;                            KPOSN = P_GT_VBAP_POSNR&lt;/P&gt;&lt;P&gt;                            KSCHL = 'JEDH'.&lt;/P&gt;&lt;P&gt;IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;          GT_FINAL_DATA-HE_VALUE  = GT_KONV-KWERT.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;READ TABLE GT_KONV WITH KEY KNUMV = P_GT_VBAK_KNUMV&lt;/P&gt;&lt;P&gt;                            KPOSN = P_GT_VBAP_POSNR&lt;/P&gt;&lt;P&gt;                            KSCHL = 'JIVP'.&lt;/P&gt;&lt;P&gt;IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;          GT_FINAL_DATA-VAT_VALUE   = GT_KONV-KWERT.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;READ TABLE GT_KONV WITH KEY KNUMV = P_GT_VBAK_KNUMV&lt;/P&gt;&lt;P&gt;                            KPOSN = P_GT_VBAP_POSNR&lt;/P&gt;&lt;P&gt;                            KSCHL = 'JIVC'.&lt;/P&gt;&lt;P&gt;IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;          GT_FINAL_DATA-CST_VALUE   = GT_KONV-KWERT.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;READ TABLE GT_KONV WITH KEY KNUMV = P_GT_VBAK_KNUMV&lt;/P&gt;&lt;P&gt;                            KPOSN = P_GT_VBAP_POSNR&lt;/P&gt;&lt;P&gt;                            KSCHL = 'ZCOM'.&lt;/P&gt;&lt;P&gt;IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;          GT_FINAL_DATA-C_VALUE     = GT_KONV-KWERT.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;READ TABLE GT_KONV WITH KEY KNUMV = P_GT_VBAK_KNUMV&lt;/P&gt;&lt;P&gt;                            KPOSN = P_GT_VBAP_POSNR&lt;/P&gt;&lt;P&gt;                            KSCHL = 'JFRE'.&lt;/P&gt;&lt;P&gt;IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;          GT_FINAL_DATA-F_VALUE     = GT_KONV-KWERT.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " VALUE_DATA&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Points will be rewarded...&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 22 Oct 2007 09:23:10 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/report-taking-more-cpu-utilization/m-p/2959883#M698284</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-10-22T09:23:10Z</dc:date>
    </item>
    <item>
      <title>Re: REPORT TAKING MORE CPU UTILIZATION</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/report-taking-more-cpu-utilization/m-p/2959884#M698285</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Rajan,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;There is a lot of scope for performance tuning the code:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1. Read statement should be with BINARY SEARCH&lt;/P&gt;&lt;P&gt;2. Select statement should have FIELDS in the same order as they exist in the table&lt;/P&gt;&lt;P&gt;3. Select statement where clause should have fields in same order as they exist in the table.&lt;/P&gt;&lt;P&gt;4. Internal tables seem to be having a huge number of fields. If possible, please limit the fields to only required fields in the internal table.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best regards,&lt;/P&gt;&lt;P&gt;Prashant&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 22 Oct 2007 09:29:02 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/report-taking-more-cpu-utilization/m-p/2959884#M698285</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-10-22T09:29:02Z</dc:date>
    </item>
    <item>
      <title>Re: REPORT TAKING MORE CPU UTILIZATION</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/report-taking-more-cpu-utilization/m-p/2959885#M698286</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Use SE30 to analyze your program's performance and follow the tips and tricks samples there. You will learn a lot from the sample given. But based on your program, this is more on ABAP programming enhancement.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 22 Oct 2007 09:31:47 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/report-taking-more-cpu-utilization/m-p/2959885#M698286</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-10-22T09:31:47Z</dc:date>
    </item>
    <item>
      <title>Re: REPORT TAKING MORE CPU UTILIZATION</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/report-taking-more-cpu-utilization/m-p/2959886#M698287</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Rajan,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; Few more points below&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; 1. Clear work areas after append, modify statements.&lt;/P&gt;&lt;P&gt; 2. Sort the internal tables before reading and use Binary search.&lt;/P&gt;&lt;P&gt; 3. Use secondary indexes if possible and consider them at first in where clause.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;Reward for helpful answers&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Satish&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 22 Oct 2007 09:37:16 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/report-taking-more-cpu-utilization/m-p/2959886#M698287</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-10-22T09:37:16Z</dc:date>
    </item>
    <item>
      <title>Re: REPORT TAKING MORE CPU UTILIZATION</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/report-taking-more-cpu-utilization/m-p/2959887#M698288</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;ya all this is right &lt;/P&gt;&lt;P&gt;but it is not aking much execution time and the matter is not of menory&lt;/P&gt;&lt;P&gt;but basis consultant is saying that it is taking 80-85 % cpu of production system.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;So regarding that wat i should do..??&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 22 Oct 2007 09:49:01 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/report-taking-more-cpu-utilization/m-p/2959887#M698288</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-10-22T09:49:01Z</dc:date>
    </item>
    <item>
      <title>Re: REPORT TAKING MORE CPU UTILIZATION</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/report-taking-more-cpu-utilization/m-p/2959888#M698289</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;ya all this is right &lt;/P&gt;&lt;P&gt;but it is not aking much execution time and the matter is not of menory&lt;/P&gt;&lt;P&gt;but basis consultant is saying that it is taking 80-85 % cpu of production system.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;So regarding that wat i should do..??&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 22 Oct 2007 09:54:36 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/report-taking-more-cpu-utilization/m-p/2959888#M698289</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-10-22T09:54:36Z</dc:date>
    </item>
    <item>
      <title>Re: REPORT TAKING MORE CPU UTILIZATION</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/report-taking-more-cpu-utilization/m-p/2959889#M698290</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;se30&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 22 Oct 2007 09:58:56 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/report-taking-more-cpu-utilization/m-p/2959889#M698290</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-10-22T09:58:56Z</dc:date>
    </item>
  </channel>
</rss>

