<?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: BAPI_PO_CHANGE in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/bapi-po-change/m-p/2820986#M659800</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Check this sample code. Maybe it will be of some help for you&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;a href="http://www.sap-img.com/abap/sample-abap-code-on-bapi-po-change.htm"&amp;gt;BAPI_PO_CHANGE&amp;lt;/a&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;My Initial guess was BAPI_TRANSACTION_COMMIT, but since Vivek already gave that to you, see the sample code and see how it is different from yours.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;P&gt;Aneesh.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 27 Sep 2007 18:02:47 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2007-09-27T18:02:47Z</dc:date>
    <item>
      <title>BAPI_PO_CHANGE</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bapi-po-change/m-p/2820984#M659798</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;i want to modify the field costcenter with BAPI_PO_CHANGE and i introduce data but BAPI dont do that. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;could anyone help me.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 27 Sep 2007 16:53:16 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bapi-po-change/m-p/2820984#M659798</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-09-27T16:53:16Z</dc:date>
    </item>
    <item>
      <title>Re: BAPI_PO_CHANGE</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bapi-po-change/m-p/2820985#M659799</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Esmeralda,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I hope you have passed all the required parameters to the BAPI correctly..Also did you do a Commit after using the BAPI_PO_CHANGE ? If not, use this to commit:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;BAPI_TRANSACTION_COMMIT&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;to do an external commit....Hope this helps you...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Vivek&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 27 Sep 2007 17:55:17 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bapi-po-change/m-p/2820985#M659799</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-09-27T17:55:17Z</dc:date>
    </item>
    <item>
      <title>Re: BAPI_PO_CHANGE</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bapi-po-change/m-p/2820986#M659800</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Check this sample code. Maybe it will be of some help for you&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;a href="http://www.sap-img.com/abap/sample-abap-code-on-bapi-po-change.htm"&amp;gt;BAPI_PO_CHANGE&amp;lt;/a&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;My Initial guess was BAPI_TRANSACTION_COMMIT, but since Vivek already gave that to you, see the sample code and see how it is different from yours.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;P&gt;Aneesh.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 27 Sep 2007 18:02:47 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bapi-po-change/m-p/2820986#M659800</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-09-27T18:02:47Z</dc:date>
    </item>
    <item>
      <title>Re: BAPI_PO_CHANGE</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bapi-po-change/m-p/2820987#M659801</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;FUNCTION ZBC1BAPIPOCHANGE02.&lt;/P&gt;&lt;P&gt;*"----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;STRONG&gt;"&lt;/STRONG&gt;"Local Interface:&lt;/P&gt;&lt;P&gt;*"  IMPORTING&lt;/P&gt;&lt;P&gt;*"     VALUE(PURCHASEORDER) TYPE  BAPIMEPOHEADER-PO_NUMBER&lt;/P&gt;&lt;P&gt;*"     VALUE(POADDRVENDOR) TYPE  BAPIMEPOADDRVENDOR&lt;/P&gt;&lt;P&gt;*"     VALUE(TESTRUN) TYPE  BAPIFLAG-BAPIFLAG&lt;/P&gt;&lt;P&gt;*"     VALUE(MEMORY_UNCOMPLETE) TYPE  BAPIFLAG-BAPIFLAG&lt;/P&gt;&lt;P&gt;*"     VALUE(MEMORY_COMPLETE) TYPE  BAPIFLAG-BAPIFLAG&lt;/P&gt;&lt;P&gt;*"     VALUE(POEXPIMPHEADER) TYPE  ZBAPIEIKP&lt;/P&gt;&lt;P&gt;*"     VALUE(POEXPIMPHEADERX) TYPE  ZBAPIEIKPX&lt;/P&gt;&lt;P&gt;*"     VALUE(VERSIONS) TYPE  ZBAPIMEDCM&lt;/P&gt;&lt;P&gt;*"     VALUE(NO_MESSAGING) TYPE  BAPIFLAG-BAPIFLAG&lt;/P&gt;&lt;P&gt;*"     VALUE(NO_MESSAGE_REQ) TYPE  BAPIFLAG-BAPIFLAG&lt;/P&gt;&lt;P&gt;*"     VALUE(NO_AUTHORITY) TYPE  BAPIFLAG-BAPIFLAG&lt;/P&gt;&lt;P&gt;*"     VALUE(NO_PRICE_FROM_PO) TYPE  BAPIFLAG-BAPIFLAG&lt;/P&gt;&lt;P&gt;*"  EXPORTING&lt;/P&gt;&lt;P&gt;*"     VALUE(EXPPURCHASEORDER) TYPE  BAPIMEPOHEADER-PO_NUMBER&lt;/P&gt;&lt;P&gt;*"     VALUE(EXPHEADER) TYPE  BAPIMEPOHEADER&lt;/P&gt;&lt;P&gt;*"     VALUE(EXPPOEXPIMPHEADER) TYPE  ZBAPIEIKP&lt;/P&gt;&lt;P&gt;*"  TABLES&lt;/P&gt;&lt;P&gt;*"      RETURN STRUCTURE  BAPIRET2&lt;/P&gt;&lt;P&gt;*"      POITEM STRUCTURE  BAPIMEPOITEM&lt;/P&gt;&lt;P&gt;*"      POITEMX STRUCTURE  BAPIMEPOITEMX&lt;/P&gt;&lt;P&gt;*"      POADDRDELIVERY STRUCTURE  BAPIMEPOADDRDELIVERY&lt;/P&gt;&lt;P&gt;*"      POSCHEDULE STRUCTURE  BAPIMEPOSCHEDULE&lt;/P&gt;&lt;P&gt;*"      POSCHEDULEX STRUCTURE  BAPIMEPOSCHEDULX&lt;/P&gt;&lt;P&gt;*"      POACCOUNT STRUCTURE  BAPIMEPOACCOUNT&lt;/P&gt;&lt;P&gt;*"      POACCOUNTPROFITSEGMENT STRUCTURE  BAPIMEPOACCOUNTPROFITSEGMENT&lt;/P&gt;&lt;P&gt;*"      POACCOUNTX STRUCTURE  BAPIMEPOACCOUNTX&lt;/P&gt;&lt;P&gt;*"      POCONDHEADER STRUCTURE  BAPIMEPOCONDHEADER&lt;/P&gt;&lt;P&gt;*"      POCONDHEADERX STRUCTURE  BAPIMEPOCONDHEADERX&lt;/P&gt;&lt;P&gt;*"      POCOND STRUCTURE  BAPIMEPOCOND&lt;/P&gt;&lt;P&gt;*"      POCONDX STRUCTURE  BAPIMEPOCONDX&lt;/P&gt;&lt;P&gt;*"      POLIMITS STRUCTURE  BAPIESUHC&lt;/P&gt;&lt;P&gt;*"      POCONTRACTLIMITS STRUCTURE  BAPIESUCC&lt;/P&gt;&lt;P&gt;*"      POSERVICES STRUCTURE  BAPIESLLC&lt;/P&gt;&lt;P&gt;*"      POSRVACCESSVALUES STRUCTURE  BAPIESKLC&lt;/P&gt;&lt;P&gt;*"      POSERVICESTEXT STRUCTURE  BAPIESLLTX&lt;/P&gt;&lt;P&gt;*"      EXTENSIONIN STRUCTURE  BAPIPAREX&lt;/P&gt;&lt;P&gt;*"      EXTENSIONOUT STRUCTURE  BAPIPAREX&lt;/P&gt;&lt;P&gt;*"      POEXPIMPITEM STRUCTURE  ZBAPIEIPO&lt;/P&gt;&lt;P&gt;*"      POEXPIMPITEMX STRUCTURE  ZBAPIEIPOX&lt;/P&gt;&lt;P&gt;*"      POTEXTHEADER STRUCTURE  BAPIMEPOTEXT&lt;/P&gt;&lt;P&gt;*"      POTEXTITEM STRUCTURE  BAPIMEPOTEXT&lt;/P&gt;&lt;P&gt;*"      ALLVERSIONS STRUCTURE  ZBAPIMEDCM_ALLVERSIONS&lt;/P&gt;&lt;P&gt;*"      POPARTNER STRUCTURE  BAPIEKKOP&lt;/P&gt;&lt;P&gt;*"      POCOMPONENTS STRUCTURE  BAPIMEPOCOMPONENT&lt;/P&gt;&lt;P&gt;*"      POCOMPONENTSX STRUCTURE  BAPIMEPOCOMPONENT&lt;/P&gt;&lt;P&gt;*"      POSHIPPING STRUCTURE  BAPIMEPOCOMPONENTX&lt;/P&gt;&lt;P&gt;*"      POSHIPPINGX STRUCTURE  BAPIITEMSHIP&lt;/P&gt;&lt;P&gt;*"      POSHIPPINGEXP STRUCTURE  BAPIITEMSHIPX&lt;/P&gt;&lt;P&gt;*"      POHISTORY STRUCTURE  BAPIEKBE&lt;/P&gt;&lt;P&gt;*"      POCONFIRMATION STRUCTURE  BAPIEKBES&lt;/P&gt;&lt;P&gt;*"      NFMETALLITMS STRUCTURE  /NFM/BAPIDOCITM&lt;/P&gt;&lt;P&gt;*"  CHANGING&lt;/P&gt;&lt;P&gt;*"     VALUE(POHEADER) TYPE  BAPIMEPOHEADER&lt;/P&gt;&lt;P&gt;*"     VALUE(POHEADERX) TYPE  BAPIMEPOHEADERX&lt;/P&gt;&lt;P&gt;*"  EXCEPTIONS&lt;/P&gt;&lt;P&gt;*"      WRONG_FUNCTION_CALLED&lt;/P&gt;&lt;P&gt;*"      TIMEOUT&lt;/P&gt;&lt;P&gt;*"      TCPIP_ERROR&lt;/P&gt;&lt;P&gt;*"      CONNECT_FAILED&lt;/P&gt;&lt;P&gt;*"      INTERNAL_ERROR&lt;/P&gt;&lt;P&gt;*"      SYSTEM_FAILURE&lt;/P&gt;&lt;P&gt;*"      COMMUNICATION_FAILURE&lt;/P&gt;&lt;P&gt;*"----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&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;PROGRAM        Z_BC1_BAPI_PO_CHANGE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;TITLE          Function module to Change PO using BAPI&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;AUTHOR         Aveek Ghose&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;DATE WRITTEN   24.05.2006&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;R/3 RELEASE    4.6C&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;COPIED FROM    N/A&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;This function module is called during PO change in Ariba.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;The call to this function module is from WebMethods. The function&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;module performs custom validations on data provided from Ariba and&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;then calls BAPI_PO_CHANGE. The error messages are returned to Ariba.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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;PROGRAM TYPE    Function module&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;DEV. CLASS      ZP2P&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;LOGICAL DB      N/A&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;SCREENS         N/A&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;GUl TITLE       N/A&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;GUl STATUS      N/A&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;TRANSACTIONS    N/A&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;USER EXITS      N/A&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;HR originaltext="------------------------------------------------------------------" /&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;       DB-Tables&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;  TABLES: ekkn,        "Account Assignment in Purchasing Document&lt;/P&gt;&lt;P&gt;          ekbe.        "History per Purchasing Document&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        zconstants_new. "Constants for various interfaces&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                               &amp;amp; programs with comp code&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       Global variables&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: g_cnt_poaccount   TYPE i,         "No. of records in POACCOUNT&lt;/P&gt;&lt;P&gt;        g_cnt_ekkn        TYPE i,         "No. of records in EKKN&lt;/P&gt;&lt;P&gt;        g_msgv1 LIKE sy-msgv1.            "Message variable1&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       Internal Tables&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: g_t_poaccount_tmp LIKE poaccount  OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;        g_t_poaccount1    LIKE poaccount  OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;        g_t_poaccountx1   LIKE poaccountx OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;        g_t_poaccount     LIKE poaccount  OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*PVU-20-May-2004 - Changes for SCR1&lt;/P&gt;&lt;P&gt;        g_t_itemx_tmp     LIKE poitemx      OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;        g_t_schdx_tmp     LIKE poschedulex  OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;        g_t_accntx_tmp    LIKE poaccountx   OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;        g_t_condx_tmp     LIKE pocondx      OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      T_Zconstants      LIKE ZCONSTANTS_NEW OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*RD1K911982&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*PVU-20-May-2004 - End Changes for SCR1&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;       Structure&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA:  g_w_hdrx_tmp LIKE poheaderx. "PVU-20-May-2004 - Changes for SCR1&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; DATA: p_constname TYPE  zconstname,  "Constant Name&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       g_constval  TYPE  zconstval,   "Constant Value&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       c_po_ehub_var LIKE ZCONSTANTS_NEW-CONSTname  value 'EHUB_POS%'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  DATA : L_CONST_NAME  LIKE SY-MSGV1,   "Constant name&lt;/P&gt;&lt;P&gt;         L_COMP_CODE   LIKE SY-MSGV2.   "Company code&lt;/P&gt;&lt;P&gt;  DATA:  L_WA_TIMESTAMP TYPE ZP2P_TIMESTAMP.&lt;/P&gt;&lt;P&gt;  data: l_waers type waers.&lt;/P&gt;&lt;P&gt;  DATA: L_EKORG TYPE EKORG.&lt;/P&gt;&lt;P&gt;  DATA: L_SERIAL TYPE I.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA : L_VEND_ACTGRP(30) TYPE C,        "Vendor Account Group&lt;/P&gt;&lt;P&gt;         L_VEND_PAYTRM(30) TYPE C,        "Vendor Payment Terms&lt;/P&gt;&lt;P&gt;         L_VEND_RECON(30)  TYPE C,        "Vendor Reconciliation Account&lt;/P&gt;&lt;P&gt;         L_MSGV1           LIKE SY-MSGV1, "Message variable1&lt;/P&gt;&lt;P&gt;         L_WBS_EXTERNAL    LIKE BAPIMEPOACCOUNT-WBS_ELEMENT,&lt;/P&gt;&lt;P&gt;                                           "WBS external format&lt;/P&gt;&lt;P&gt;         L_WBS_INTERNAL    LIKE BAPIMEPOACCOUNT-WBS_ELEMENT,&lt;/P&gt;&lt;P&gt;         L_bukrs type bukrs.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; Ranges :r_ehub_pos for t_zconstants-constvalu.&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;Begin of Change SVALIDET(RD1K911990)&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; SELECT *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  FROM  zconstants_new&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  INTO TABLE t_zconstants&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   WHERE constname LIKE c_po_ehub_var.  " EHUB_POS%&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; IF sy-subrc = 0.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   SORT t_zconstants BY constvalu ASCENDING.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   DELETE ADJACENT DUPLICATES FROM t_zconstants&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          COMPARING constvalu.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   LOOP AT t_zconstants.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     r_ehub_pos-sign = 'I'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     r_ehub_pos-option = 'EQ'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     r_ehub_pos-low = t_zconstants-constvalu.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     APPEND r_ehub_pos.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     CLEAR: r_ehub_pos,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            t_zconstants.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   ENDLOOP.&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;**End of Change SVALIDET(RD1K911990)&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;Srini 18-May-2005 Start of changes&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;Developer Flexibility to debug issues&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; p_constname = 'BAPI_PO_CHANGE2'.&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; do.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CALL FUNCTION 'ZXA_GET_CONSTANT'&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;             const_name     = p_constname&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;            comp_code      =&lt;/P&gt;&lt;/LI&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;             const_value    = g_constval&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;             no_value_found = 1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             null_value     = 2&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             OTHERS         = 3.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   if g_constval NE 'X'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     exit.&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; enddo.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*Begin of comment   RD1Kk911990&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; IF PURCHASEORDER+0(3) EQ '099' AND POHEADER-DOC_TYPE EQ 'ZEHS'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   POHEADER-DOC_TYPE = 'ZEH'.&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;*End  of comment RD1K911990&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**********************************************************&lt;/P&gt;&lt;P&gt;*mod-003&lt;/P&gt;&lt;P&gt;**********************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;if not poheader-comp_code is initial.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; if poheader-comp_code is initial.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   clear: l_bukrs.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   select single companycode&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   into l_bukrs&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   from zcompanycodes01&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;  where companycode = poheader-comp_code and&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   where FSID        = poheader-fsid and&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         le          = poheader-le and&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         frmrc       = poheader-frmrc.&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;   if sy-subrc ne 0.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     CLEAR L_MSGV1.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     L_MSGV1 =   POHEADER-DOC_TYPE.&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;Please Enter an Account number for line&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     CALL FUNCTION 'BALW_BAPIRETURN_GET2'&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;               TYPE   = C_MSGTYPE_E&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;               CL     = C_MSGID_Z001&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;               NUMBER = C_MSGNR_618&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;               PAR1   = L_MSGV1&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;               RETURN = RETURN.&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;     APPEND RETURN.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     CLEAR  RETURN.&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;     poheader-comp_code = l_bukrs.&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;*mod-003&lt;/P&gt;&lt;P&gt;**********************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IF POHEADER-DOC_TYPE EQ 'ZEHS'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   POHEADER-DOC_TYPE = 'ZEH'.&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;SORT poaccount BY po_item serial_no.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Clear internal tables and global variables&lt;/P&gt;&lt;P&gt;  REFRESH: g_t_poaccount_tmp,&lt;/P&gt;&lt;P&gt;           g_t_poaccount1,&lt;/P&gt;&lt;P&gt;           g_t_poaccountx1,&lt;/P&gt;&lt;P&gt;           g_t_poaccount,&lt;/P&gt;&lt;P&gt;           return,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         g_t_idoc_data,&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;           g_t_itemx_tmp,&lt;/P&gt;&lt;P&gt;           g_t_schdx_tmp,&lt;/P&gt;&lt;P&gt;           g_t_accntx_tmp,&lt;/P&gt;&lt;P&gt;           g_t_condx_tmp.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR: g_cnt_poaccount,&lt;/P&gt;&lt;P&gt;         g_cnt_ekkn,&lt;/P&gt;&lt;P&gt;         g_msgv1.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       g_distr_perc,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       g_distr_perc1,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       g_adjust_perc,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        g_idoc_no,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        g_w_hdrx_tmp.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF poheader-po_number+0(1) = 'C'.&lt;/P&gt;&lt;P&gt;    poheader-doc_type = 'ZAC'.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  IF poheader-po_number+0(1) = 'P'.&lt;/P&gt;&lt;P&gt;    poheader-doc_type = 'ZAP'.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  IF poheader-po_number IS INITIAL.&lt;/P&gt;&lt;P&gt;    poheader-doc_type = 'ZAPS'.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF purchaseorder(3) &amp;lt;&amp;gt; c_pco.&lt;/P&gt;&lt;P&gt;    g_t_poaccount[] = poaccount[].&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;To retrieve the line items with blank GL Account Number&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  PERFORM filter_items TABLES g_t_poaccount.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    LOOP AT g_t_poaccount.&lt;/P&gt;&lt;P&gt;      CLEAR g_msgv1.&lt;/P&gt;&lt;P&gt;      g_msgv1 = g_t_poaccount-po_item.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Please Enter an Account number for line&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      CALL FUNCTION 'BALW_BAPIRETURN_GET2'&lt;/P&gt;&lt;P&gt;           EXPORTING&lt;/P&gt;&lt;P&gt;                type   = c_msgtype_e  "E&lt;/P&gt;&lt;P&gt;                cl     = c_msgid_z001                       "Z001&lt;/P&gt;&lt;P&gt;                number = c_msgnr_037  "037&lt;/P&gt;&lt;P&gt;                par1   = g_msgv1&lt;/P&gt;&lt;P&gt;           IMPORTING&lt;/P&gt;&lt;P&gt;                return = return.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      APPEND return.&lt;/P&gt;&lt;P&gt;      CLEAR  return.&lt;/P&gt;&lt;P&gt;      loop at return.&lt;/P&gt;&lt;P&gt;        l_wa_ZERRORS-OBJECT     = 'PURCHASE_ORDER'.&lt;/P&gt;&lt;P&gt;        l_wa_ZERRORS-serialno   = sy-tabix.&lt;/P&gt;&lt;P&gt;        l_wa_ZERRORS-COMP_CODE  = poheader-comp_code.&lt;/P&gt;&lt;P&gt;        l_wa_ZERRORS-zid        = return-id.&lt;/P&gt;&lt;P&gt;        l_wa_ZERRORS-znumber    = return-number.&lt;/P&gt;&lt;P&gt;        l_wa_ZERRORS-BEACON_DOC_NO = poheader-po_number.&lt;/P&gt;&lt;P&gt;        l_wa_ZERRORS-SRC_DOC_NO = poheader-po_number.&lt;/P&gt;&lt;P&gt;        l_wa_ZERRORS-ZDATE      = sy-datum.&lt;/P&gt;&lt;P&gt;        l_wa_ZERRORS-ERR_MSG    = return-message.&lt;/P&gt;&lt;P&gt;        append l_wa_ZERRORS to t_errors.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      insert into ZP2P_ERRORS values l_wa_ZP2P_ERRORS.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        clear: L_WA_ZERRORS.&lt;/P&gt;&lt;P&gt;      endloop.&lt;/P&gt;&lt;P&gt;      CLEAR g_msgv1.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SORT return BY type.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;On Error, exit the function module&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    READ TABLE return&lt;/P&gt;&lt;P&gt;         WITH KEY type = c_msgtype_e               "E&lt;/P&gt;&lt;P&gt;         BINARY SEARCH.&lt;/P&gt;&lt;P&gt;    IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;      EXIT.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***Begin of Change - BVIJAYA  01-July-2004  TPR-2239&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; If line item is marked for deletion, Clear the final_inv indicator,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; so that the condition value[conditions tab(po header)] reflects the&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; correct gross price for the remaining items.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SORT poitem  BY po_item.&lt;/P&gt;&lt;P&gt;    SORT poitemx BY po_item.&lt;/P&gt;&lt;P&gt;    LOOP AT poitem.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF NOT poitem-delete_ind IS INITIAL.   "delete ind marked.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;sraman2 07/17/04&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*For item deletion to work properly&lt;/P&gt;&lt;P&gt;*indicator should be 'D'. webmethods passes indicator 'X'.&lt;/P&gt;&lt;P&gt;        poitem-delete_ind = 'D'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;sraman2 07/17/04&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        CLEAR poitem-final_inv.&lt;/P&gt;&lt;P&gt;        MODIFY poitem.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        READ TABLE poitemx WITH KEY po_item = poitem-po_item.&lt;/P&gt;&lt;P&gt;        IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;          poitemx-final_inv = c_checked.   "X&lt;/P&gt;&lt;P&gt;          MODIFY poitemx INDEX sy-tabix.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      else.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&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;*mod-003&lt;/P&gt;&lt;P&gt;****************************************************&lt;/P&gt;&lt;P&gt;    DATA: L_TABIX TYPE SY-TABIX.&lt;/P&gt;&lt;P&gt;    LOOP AT POITEM.&lt;/P&gt;&lt;P&gt;      TBX = SY-TABIX.&lt;/P&gt;&lt;P&gt;      l_wa_timestamp-mandt          = SY-MANDT.&lt;/P&gt;&lt;P&gt;      l_wa_timestamp-EBELN          = POHEADER-PO_NUMBER.&lt;/P&gt;&lt;P&gt;      l_wa_timestamp-EBELP          = POITEM-PO_ITEM.&lt;/P&gt;&lt;P&gt;      l_wa_timestamp-CHANGE_IND     = ' '.&lt;/P&gt;&lt;P&gt;      l_wa_timestamp-DATE_TIME_STMP = POITEM-ARIBACRTTIMESTMP.&lt;/P&gt;&lt;P&gt;      insert into ZP2P_TIMESTAMP values l_wa_timestamp.&lt;/P&gt;&lt;P&gt;      clear: poheader-ARIBACRTTIMESTMP,&lt;/P&gt;&lt;P&gt;             poheader-ARIBACHGTIMESTMP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF NOT POITEM-DISTRIB IS INITIAL.&lt;/P&gt;&lt;P&gt;        CLEAR : L_CONST_NAME,&lt;/P&gt;&lt;P&gt;                L_COMP_CODE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        READ TABLE POACCOUNT INDEX L_TABIX.&lt;/P&gt;&lt;P&gt;        IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;          L_CONST_NAME  = POACCOUNT-GL_ACCOUNT.&lt;/P&gt;&lt;P&gt;          L_COMP_CODE   = L_comp_code.&lt;/P&gt;&lt;P&gt;          CALL FUNCTION 'BALW_BAPIRETURN_GET2'&lt;/P&gt;&lt;P&gt;               EXPORTING&lt;/P&gt;&lt;P&gt;                    type   = c_msgtype_e  "E&lt;/P&gt;&lt;P&gt;                    cl     = c_msgid_z001&lt;/P&gt;&lt;P&gt;                    number = c_msgnr_613&lt;/P&gt;&lt;P&gt;                    PAR1   = L_CONST_NAME&lt;/P&gt;&lt;P&gt;                    PAR2   = L_COMP_CODE&lt;/P&gt;&lt;P&gt;               IMPORTING&lt;/P&gt;&lt;P&gt;                    return = t_yreturn.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          APPEND t_yreturn.&lt;/P&gt;&lt;P&gt;          CLEAR  t_yreturn.&lt;/P&gt;&lt;P&gt;          loop at t_yreturn.&lt;/P&gt;&lt;P&gt;            L_WA_ZERRORS-OBJECT       = 'PURCHASE_ORDER'.&lt;/P&gt;&lt;P&gt;            L_WA_ZERRORS-serialno     = sy-tabix.&lt;/P&gt;&lt;P&gt;            L_WA_ZERRORS-COMP_CODE    = poheader-comp_code.&lt;/P&gt;&lt;P&gt;            L_WA_ZERRORS-zid          = t_yreturn-id.&lt;/P&gt;&lt;P&gt;            L_WA_ZERRORS-znumber      = t_yreturn-number.&lt;/P&gt;&lt;P&gt;            L_WA_ZERRORS-BEACON_DOC_NO = poheader-po_number.&lt;/P&gt;&lt;P&gt;            L_WA_ZERRORS-SRC_DOC_NO = poheader-po_number.&lt;/P&gt;&lt;P&gt;            L_WA_ZERRORS-ZDATE      = sy-datum.&lt;/P&gt;&lt;P&gt;            L_WA_ZERRORS-ERR_MSG    = t_yreturn-message.&lt;/P&gt;&lt;P&gt;            append L_WA_ZERRORS to t_errors.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        insert into ZP2P_ERRORS values L_WA_ZERRORS.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            clear: L_WA_ZERRORS.&lt;/P&gt;&lt;P&gt;          endloop.&lt;/P&gt;&lt;P&gt;        ENDIF.&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;    if not poheader-currency is initial.&lt;/P&gt;&lt;P&gt;      if not poheader-vendor is initial.&lt;/P&gt;&lt;P&gt;        loop at pocond.&lt;/P&gt;&lt;P&gt;          SELECT SINGLE WAERS&lt;/P&gt;&lt;P&gt;          INTO L_WAERS&lt;/P&gt;&lt;P&gt;          FROM LFM1 WHERE&lt;/P&gt;&lt;P&gt;          LIFNR = POHEADER-VENDOR&lt;/P&gt;&lt;P&gt;          AND EKORG = POHEADER-PURCH_ORG.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          IF SY-SUBRC NE 0.&lt;/P&gt;&lt;P&gt;            IF L_WAERS NE  poheader-currency.&lt;/P&gt;&lt;P&gt;              pocond-cond_value = 'PBXX'.&lt;/P&gt;&lt;P&gt;              pocond-currency    = l_waers.&lt;/P&gt;&lt;P&gt;              modify pocond transporting cond_value currency.&lt;/P&gt;&lt;P&gt;            endif.&lt;/P&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;P&gt;        endloop.&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;    IF NOT TESTRUN IS INITIAL.&lt;/P&gt;&lt;P&gt;      POHEADER-VENDOR = '4259999999'.&lt;/P&gt;&lt;P&gt;      poheader-doc_type = 'ZAPS'.&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;IF NOT POHEADER-PURCH_ORG IS INITIAL.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IF POHEADER-PURCH_ORG IS INITIAL.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     SELECT SINGLE PUR_ORG&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     INTO L_EKORG&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     FROM ZPUR_ORG&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     WHERE LE    = POHEADER-LE AND&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           FRMRC = POHEADER-FRMRC AND&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           FSID  = POHEADER-FSID.&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;     IF SY-SUBRC NE 0.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       CLEAR : L_CONST_NAME,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;               L_COMP_CODE.&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_CONST_NAME  = C_p2p_pur_ORG.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       L_COMP_CODE   = POHEADER-COMP_CODE.&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;       CALL FUNCTION 'BALW_BAPIRETURN_GET2'&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;                 TYPE   = c_msgtype_e&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                 CL     = c_msgid_z001&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                 NUMBER = c_msgnr_619&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                 PAR1   = L_CONST_NAME&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                 PAR2   = L_COMP_CODE&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;                 RETURN = RETURN.&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;       APPEND RETURN.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       CLEAR  RETURN.&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;       loop at t_yreturn.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         L_WA_ZERRORS-OBJECT     = 'PURCHASE_ORDER'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         L_WA_ZERRORS-serial_no   = sy-tabix.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         L_WA_ZERRORS-COMP_CODE  = poheader-comp_code.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         L_WA_ZERRORS-zid        = t_yreturn-id.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         L_WA_ZERRORS-znumber    = t_yreturn-number.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         L_WA_ZERRORS-BEACON_DOC_NO = poheader-po_number.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         L_WA_ZERRORS-SRC_DOC_NO = poheader-po_number.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         L_WA_ZERRORS-ZDATE      = sy-datum.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         L_WA_ZERRORS-ERROR_MSG    = t_yreturn-message.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         append L_WA_ZERRORS to t_errors.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       insert into ZP2P_ERRORS values L_WA_ZERRORS.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         clear: L_WA_ZERRORS.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       endloop.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       EXIT.&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;       POHEADER-PURCH_ORG = L_EKORG.&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; IF NOT POHEADER-PUR_GROUP IS INITIAL.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IF POHEADER-PUR_GROUP IS INITIAL.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     clear: g_constval.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     CALL FUNCTION 'ZXA_GET_CONSTANT'&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;               const_name     = c_p2p_pur_org&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;               comp_code      = POHEADER-COMP_CODE&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;               const_value    = g_constval&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;               no_value_found = 1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;               null_value     = 2&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;               OTHERS         = 3.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     IF SY-SUBRC NE 0.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       CLEAR : L_CONST_NAME,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;               L_COMP_CODE.&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_CONST_NAME  = C_p2p_pur_org.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       L_COMP_CODE   = POHEADER-COMP_CODE.&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;       CALL FUNCTION 'BALW_BAPIRETURN_GET2'&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;                 TYPE   = c_msgtype_e&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                 CL     = c_msgid_z001&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                 NUMBER = c_msgnr_046&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                 PAR1   = L_CONST_NAME&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                 PAR2   = L_COMP_CODE&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;                 RETURN = RETURN.&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;       APPEND RETURN.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       CLEAR  RETURN.&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;       loop at t_yreturn.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         L_WA_ZERRORS-OBJECT     = 'PURCHASE_ORDER'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         L_WA_ZERRORS-serial_no   = sy-tabix.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         L_WA_ZERRORS-COMP_CODE  = poheader-comp_code.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         L_WA_ZERRORS-zid        = t_yreturn-id.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         L_WA_ZERRORS-znumber    = t_yreturn-number.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         L_WA_ZERRORS-BEACON_DOC_NO = poheader-po_number.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         L_WA_ZERRORS-SRC_DOC_NO = poheader-po_number.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         L_WA_ZERRORS-ZDATE      = sy-datum.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         L_WA_ZERRORS-ERROR_MSG    = t_yreturn-message.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         append L_WA_ZERRORS to t_errors.&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;       insert into ZP2P_ERRORS values L_WA_ZERRORS.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         clear: L_WA_ZERRORS.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       endloop.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       EXIT.&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;       POHEADER-PUR_GROUP = G_CONSTVAL.&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   data: l_werks1 type werks_d.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   LOOP AT poitem.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     if poitem-plant is initial.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       clear: l_werks1.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       select single plant&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       into l_werks1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       from zpo_plantmapping&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       where COMPANY_CODE = poheader-comp_code and&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             PUR_ORG      = poheader-purch_org and&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             PUR_GROUP    = poheader-pur_group and&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             LE           = poheader-le and&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             FSID         = poheader-fsid and&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             FRMRC        = poheader-frmrc.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       if sy-subrc ne 0.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         PERFORM ERROR_HANDLING_PLANT USING   POHEADER&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                              poheader-comp_code&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                              L_WA_ZERRORS.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         EXIT.&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;         poitem-plant = l_werks1.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         CLEAR: L_WERKS1.&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;LI level="2" type="ul"&gt;&lt;P&gt;   IF POITEM-NET_PRICE NE POHEADER-CURRENCY.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;     POITEM-NET_PRICE = POHEADER-CURRENCY.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;   ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     IF POITEM-net_price NE 0.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       POITEM-IR_IND = 'X'.&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     POITEM-UNLIMITED_DLV = 'X'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     POITEM-UNDER_DLV_TOL = 0.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     clear: poitem-ARIBACRTTIMESTMP,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            poitem-ARIBAUPDTIMESTMP.&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;     MODIFY POITEM TRANSPORTING UNLIMITED_DLV&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                UNDER_DLV_TOL&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                PLANT&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                IR_IND&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                               ARIBACRTTIMESTMP&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                               ARIBAUPDTIMESTMP.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   ENDLOOP.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**********************************************************&lt;/P&gt;&lt;P&gt;*mod-003&lt;/P&gt;&lt;P&gt;***********************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    if not poheader-currency is initial.&lt;/P&gt;&lt;P&gt;      if not poheader-vendor is initial.&lt;/P&gt;&lt;P&gt;        loop at pocond.&lt;/P&gt;&lt;P&gt;          SELECT SINGLE WAERS&lt;/P&gt;&lt;P&gt;          INTO L_WAERS&lt;/P&gt;&lt;P&gt;          FROM LFM1 WHERE&lt;/P&gt;&lt;P&gt;          LIFNR = POHEADER-VENDOR&lt;/P&gt;&lt;P&gt;          AND EKORG = POHEADER-PURCH_ORG.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          IF SY-SUBRC NE 0.&lt;/P&gt;&lt;P&gt;            IF L_WAERS NE  poheader-currency.&lt;/P&gt;&lt;P&gt;              pocond-cond_value = 'PBXX'.&lt;/P&gt;&lt;P&gt;              pocond-currency    = l_waers.&lt;/P&gt;&lt;P&gt;              modify pocond transporting cond_value currency.&lt;/P&gt;&lt;P&gt;            endif.&lt;/P&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;P&gt;        endloop.&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;    IF NOT TESTRUN IS INITIAL.&lt;/P&gt;&lt;P&gt;      POHEADER-VENDOR = '4259999999'.&lt;/P&gt;&lt;P&gt;      poheader-doc_type = 'ZAPS'.&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;IF NOT POHEADER-PURCH_ORG IS INITIAL.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IF POHEADER-PURCH_ORG IS INITIAL.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     SELECT SINGLE PUR_ORG&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     INTO L_EKORG&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     FROM ZPUR_ORG&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     WHERE LE    = POHEADER-LE AND&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           FRMRC = POHEADER-FRMRC AND&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           FSID  = POHEADER-FSID.&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;     IF SY-SUBRC NE 0.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       CLEAR : L_CONST_NAME,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;               L_COMP_CODE.&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_CONST_NAME  = C_p2p_pur_ORG.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       L_COMP_CODE   = POHEADER-COMP_CODE.&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;       CALL FUNCTION 'BALW_BAPIRETURN_GET2'&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;                 TYPE   = c_msgtype_e&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                 CL     = c_msgid_z001&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                 NUMBER = c_msgnr_619&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                 PAR1   = L_CONST_NAME&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                 PAR2   = L_COMP_CODE&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;                 RETURN = RETURN.&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;       APPEND RETURN.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       CLEAR  RETURN.&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;       loop at t_yreturn.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         L_WA_ZERRORS-OBJECT     = 'PURCHASE_ORDER'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         L_WA_ZERRORS-serial_no   = sy-tabix.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         L_WA_ZERRORS-COMP_CODE  = poheader-comp_code.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         L_WA_ZERRORS-zid        = t_yreturn-id.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         L_WA_ZERRORS-znumber    = t_yreturn-number.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         L_WA_ZERRORS-BEACON_DOC_NO = poheader-po_number.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         L_WA_ZERRORS-SRC_DOC_NO = poheader-po_number.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         L_WA_ZERRORS-ZDATE      = sy-datum.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         L_WA_ZERRORS-ERROR_MSG    = t_yreturn-message.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         append L_WA_ZERRORS to t_errors.&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;       insert into ZP2P_ERRORS values L_WA_ZERRORS.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         clear: L_WA_ZERRORS.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       endloop.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       EXIT.&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;       POHEADER-PURCH_ORG = L_EKORG.&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;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt; IF NOT POHEADER-PUR_GROUP IS INITIAL.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IF POHEADER-PUR_GROUP IS INITIAL.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     clear: g_constval.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     CALL FUNCTION 'ZXA_GET_CONSTANT'&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;               const_name     = c_p2p_pur_org&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;               comp_code      = POHEADER-COMP_CODE&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;               const_value    = g_constval&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;               no_value_found = 1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;               null_value     = 2&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;               OTHERS         = 3.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     IF SY-SUBRC NE 0.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       CLEAR : L_CONST_NAME,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;               L_COMP_CODE.&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_CONST_NAME  = C_p2p_pur_org.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       L_COMP_CODE   = POHEADER-COMP_CODE.&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;       CALL FUNCTION 'BALW_BAPIRETURN_GET2'&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;                 TYPE   = c_msgtype_e&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                 CL     = c_msgid_z001&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                 NUMBER = c_msgnr_046&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                 PAR1   = L_CONST_NAME&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                 PAR2   = L_COMP_CODE&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;                 RETURN = RETURN.&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;       APPEND RETURN.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       CLEAR  RETURN.&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;       loop at return.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         L_WA_ZERRORS-OBJECT     = 'PURCHASE_ORDER'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         L_WA_ZERRORS-serial_no   = sy-tabix.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         L_WA_ZERRORS-COMP_CODE  = poheader-comp_code.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         L_WA_ZERRORS-zid        = return-id.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         L_WA_ZERRORS-znumber    = return-number.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         L_WA_ZERRORS-BEACON_DOC_NO = poheader-po_number.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         L_WA_ZERRORS-SRC_DOC_NO = poheader-po_number.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         L_WA_ZERRORS-ZDATE      = sy-datum.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         L_WA_ZERRORS-ERROR_MSG    = return-message.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         append L_WA_ZERRORS to t_errors.&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;       insert into ZP2P_ERRORS values L_WA_ZERRORS.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         clear: L_WA_ZERRORS.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       endloop.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       EXIT.&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;       POHEADER-PUR_GROUP = G_CONSTVAL.&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;*mod-003&lt;/P&gt;&lt;P&gt;***********************************************************&lt;/P&gt;&lt;P&gt;*-- Retrieve Account Assignment&lt;/P&gt;&lt;P&gt;    PERFORM get_account_assignment TABLES   poitem&lt;/P&gt;&lt;P&gt;                                            poitemx&lt;/P&gt;&lt;P&gt;                                            poaccount&lt;/P&gt;&lt;P&gt;                                            poaccountx&lt;/P&gt;&lt;P&gt;                                            t_yreturn&lt;/P&gt;&lt;P&gt;                                   USING    poheader-comp_code&lt;/P&gt;&lt;P&gt;                                            poheader.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;****************************************************&lt;/P&gt;&lt;P&gt;*mod-003&lt;/P&gt;&lt;P&gt;****************************************************&lt;/P&gt;&lt;P&gt;    IF NOT t_yreturn[] IS INITIAL.&lt;/P&gt;&lt;P&gt;      APPEND LINES OF t_yreturn TO RETURN.&lt;/P&gt;&lt;P&gt;      loop at return.&lt;/P&gt;&lt;P&gt;        L_WA_ZERRORS-OBJECT     = 'PURCHASE_ORDER'.&lt;/P&gt;&lt;P&gt;        L_WA_ZERRORS-serialno   = sy-tabix.&lt;/P&gt;&lt;P&gt;        L_WA_ZERRORS-COMP_CODE  = poheader-comp_code.&lt;/P&gt;&lt;P&gt;        L_WA_ZERRORS-zid        = return-id.&lt;/P&gt;&lt;P&gt;        L_WA_ZERRORS-znumber    = return-number.&lt;/P&gt;&lt;P&gt;        L_WA_ZERRORS-BEACON_DOC_NO = poheader-po_number.&lt;/P&gt;&lt;P&gt;        L_WA_ZERRORS-SRC_DOC_NO = poheader-po_number.&lt;/P&gt;&lt;P&gt;        L_WA_ZERRORS-ZDATE      = sy-datum.&lt;/P&gt;&lt;P&gt;        L_WA_ZERRORS-ERR_MSG    = return-message.&lt;/P&gt;&lt;P&gt;        append L_WA_ZERRORS to t_errors.&lt;/P&gt;&lt;P&gt;        clear: L_WA_ZERRORS.&lt;/P&gt;&lt;P&gt;      endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      SELECT max( serialno )&lt;/P&gt;&lt;P&gt;         INTO L_SERIAL&lt;/P&gt;&lt;P&gt;         FROM ZP2P_ERRORS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      LOOP AT T_ERRORS.&lt;/P&gt;&lt;P&gt;        L_SERIAL = L_SERIAL + 1.&lt;/P&gt;&lt;P&gt;        T_ERRORS-serialno = L_SERIAL.&lt;/P&gt;&lt;P&gt;        MODIFY T_ERRORS TRANSPORTING serialno.&lt;/P&gt;&lt;P&gt;      ENDLOOP.&lt;/P&gt;&lt;P&gt;      INSERT ZP2P_ERRORS FROM TABLE T_ERRORS.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    READ TABLE t_yreturn WITH KEY type = 'E'.&lt;/P&gt;&lt;P&gt;    IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;      EXIT.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*For Non-PCO Orders, do not update the GR and IR Indicator if the&lt;/P&gt;&lt;P&gt;*indicator passed in the current run is same as in PO.&lt;/P&gt;&lt;P&gt;  SORT poitem BY po_item.&lt;/P&gt;&lt;P&gt;  SORT poitemx BY po_item.&lt;/P&gt;&lt;P&gt;  LOOP AT poitem.&lt;/P&gt;&lt;P&gt;    SELECT SINGLE wepos                  "Goods receipt indicator&lt;/P&gt;&lt;P&gt;                  repos                  "Invoice receipt indicator&lt;/P&gt;&lt;P&gt;    INTO (ekpo-wepos, ekpo-repos)&lt;/P&gt;&lt;P&gt;    FROM ekpo&lt;/P&gt;&lt;P&gt;    WHERE ebeln = purchaseorder AND&lt;/P&gt;&lt;P&gt;          ebelp = poitem-po_item.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;      IF ekpo-wepos EQ poitem-gr_ind.&lt;/P&gt;&lt;P&gt;        READ TABLE poitemx&lt;/P&gt;&lt;P&gt;             WITH KEY po_item = poitem-po_item&lt;/P&gt;&lt;P&gt;             BINARY SEARCH.&lt;/P&gt;&lt;P&gt;        IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;          CLEAR poitemx-gr_ind.&lt;/P&gt;&lt;P&gt;          MODIFY poitemx INDEX sy-tabix.&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;      IF ekpo-repos EQ poitem-ir_ind.&lt;/P&gt;&lt;P&gt;        READ TABLE poitemx&lt;/P&gt;&lt;P&gt;              WITH KEY po_item = poitem-po_item&lt;/P&gt;&lt;P&gt;              BINARY SEARCH.&lt;/P&gt;&lt;P&gt;        IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;          CLEAR poitemx-ir_ind.&lt;/P&gt;&lt;P&gt;          MODIFY poitemx INDEX sy-tabix.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      ENDIF.&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;*Logic for addition, deletion and change of records in&lt;/P&gt;&lt;P&gt;*account assignment&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT poaccount.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CLEAR  g_t_poaccount_tmp.&lt;/P&gt;&lt;P&gt;    MOVE-CORRESPONDING poaccount TO g_t_poaccount_tmp.&lt;/P&gt;&lt;P&gt;    APPEND g_t_poaccount_tmp.&lt;/P&gt;&lt;P&gt;    ADD 1 TO g_cnt_poaccount.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    AT END OF po_item.&lt;/P&gt;&lt;P&gt;      SORT g_t_poaccount_tmp.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;For single account assignment, if the goods receipt is not posted,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;set the non-valuated indicator to blank.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      IF g_cnt_poaccount EQ 1.&lt;/P&gt;&lt;P&gt;        SELECT belnr                 "History per Purchasing Document&lt;/P&gt;&lt;P&gt;        INTO ekbe-belnr&lt;/P&gt;&lt;P&gt;        FROM ekbe&lt;/P&gt;&lt;P&gt;        UP TO 1 ROWS&lt;/P&gt;&lt;P&gt;        WHERE ebeln = purchaseorder AND&lt;/P&gt;&lt;P&gt;              ebelp = g_t_poaccount_tmp-po_item AND&lt;/P&gt;&lt;P&gt;              vgabe = 1.&lt;/P&gt;&lt;P&gt;        ENDSELECT.&lt;/P&gt;&lt;P&gt;        IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;*PVU-08-May-2004 - Set the no valuated GR indicator to blank in POITEM&lt;/P&gt;&lt;P&gt;          READ TABLE poitem&lt;/P&gt;&lt;P&gt;               WITH KEY po_item = g_t_poaccount_tmp-po_item&lt;/P&gt;&lt;P&gt;               BINARY SEARCH.&lt;/P&gt;&lt;P&gt;          IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;            CLEAR poitem-gr_non_val .&lt;/P&gt;&lt;P&gt;            MODIFY poitem INDEX sy-tabix.&lt;/P&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;P&gt;*PVU-08-May-2004 - End of Set the no valuated GR indicator to blank&lt;/P&gt;&lt;P&gt;          READ TABLE poitemx&lt;/P&gt;&lt;P&gt;               WITH KEY po_item = g_t_poaccount_tmp-po_item&lt;/P&gt;&lt;P&gt;               BINARY SEARCH.&lt;/P&gt;&lt;P&gt;          IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;            poitemx-gr_non_val = c_checked.&lt;/P&gt;&lt;P&gt;            MODIFY poitemx INDEX sy-tabix.&lt;/P&gt;&lt;P&gt;          ENDIF.&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;      CLEAR: ekkn.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      SELECT * FROM ekkn&lt;/P&gt;&lt;P&gt;      WHERE ebeln = purchaseorder AND&lt;/P&gt;&lt;P&gt;            ebelp = poaccount-po_item&lt;/P&gt;&lt;P&gt;      ORDER BY zekkn.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        ADD 1 TO g_cnt_ekkn.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**BV-12-July-2004- Begin of change - split line accounting&lt;/P&gt;&lt;P&gt;*clear the headerline before data population&lt;/P&gt;&lt;P&gt;        CLEAR : g_t_poaccount1,&lt;/P&gt;&lt;P&gt;                g_t_poaccountx1.&lt;/P&gt;&lt;P&gt;**BV-12-July-2004- End of change - split line accounting&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        READ TABLE g_t_poaccount_tmp INDEX g_cnt_ekkn.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;          g_t_poaccount1-po_item     = g_t_poaccount_tmp-po_item.&lt;/P&gt;&lt;P&gt;          g_t_poaccount1-serial_no   = ekkn-zekkn.&lt;/P&gt;&lt;P&gt;          g_t_poaccount1-quantity    = g_t_poaccount_tmp-quantity.&lt;/P&gt;&lt;P&gt;          g_t_poaccount1-gl_account  = g_t_poaccount_tmp-gl_account.&lt;/P&gt;&lt;P&gt;          READ TABLE poitem&lt;/P&gt;&lt;P&gt;               WITH KEY po_item = poaccount-po_item. "dd&lt;/P&gt;&lt;P&gt;*PVU-11-May-2004-Set cost center or WBS element depending on acc.assgn.&lt;/P&gt;&lt;P&gt;          IF poitem-acctasscat = c_costcenter.                   "K&lt;/P&gt;&lt;P&gt;            g_t_poaccount1-costcenter  = g_t_poaccount_tmp-costcenter .&lt;/P&gt;&lt;P&gt;          ELSEIF poitem-acctasscat = c_wbs.                      "P&lt;/P&gt;&lt;P&gt;            g_t_poaccount1-wbs_element = g_t_poaccount_tmp-wbs_element.&lt;/P&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;P&gt;*PVU-11-May-2004-End of set cost center or WBS element.&lt;/P&gt;&lt;P&gt;          g_t_poaccount1-orderid     = g_t_poaccount_tmp-orderid.&lt;/P&gt;&lt;P&gt;          g_t_poaccount1-distr_perc  = g_t_poaccount_tmp-distr_perc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          APPEND g_t_poaccount1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          g_t_poaccountx1-po_item    = g_t_poaccount_tmp-po_item.&lt;/P&gt;&lt;P&gt;          g_t_poaccountx1-serial_no  = ekkn-zekkn.&lt;/P&gt;&lt;P&gt;          g_t_poaccountx1-po_itemx   = c_checked.&lt;/P&gt;&lt;P&gt;          g_t_poaccountx1-quantity   = c_checked.&lt;/P&gt;&lt;P&gt;          g_t_poaccountx1-gl_account = c_checked.&lt;/P&gt;&lt;P&gt;*PVU-11-May-2004-Set cost center or WBS element depending on acc.assgn.&lt;/P&gt;&lt;P&gt;          IF poitem-acctasscat = c_costcenter.                   "K&lt;/P&gt;&lt;P&gt;            g_t_poaccountx1-costcenter = c_checked.&lt;/P&gt;&lt;P&gt;          ELSEIF poitem-acctasscat = c_wbs.                      "P&lt;/P&gt;&lt;P&gt;            g_t_poaccountx1-wbs_element = c_checked.&lt;/P&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;P&gt;*PVU-11-May-2004-End of set cost center or WBS element.&lt;/P&gt;&lt;P&gt;          g_t_poaccountx1-orderid    = c_checked.&lt;/P&gt;&lt;P&gt;          g_t_poaccountx1-distr_perc = c_checked.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          APPEND g_t_poaccountx1.&lt;/P&gt;&lt;P&gt;*If line is deleted from account assignment in Ariba&lt;/P&gt;&lt;P&gt;*then delete that line from SAP PO&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;          g_t_poaccount1-po_item     = g_t_poaccount_tmp-po_item.&lt;/P&gt;&lt;P&gt;          g_t_poaccount1-serial_no   = ekkn-zekkn.&lt;/P&gt;&lt;P&gt;          g_t_poaccount1-delete_ind  = c_checked.&lt;/P&gt;&lt;P&gt;          g_t_poaccount1-quantity    = ekkn-menge.&lt;/P&gt;&lt;P&gt;          g_t_poaccount1-gl_account  = ekkn-sakto.&lt;/P&gt;&lt;P&gt;*PVU-11-May-2004-Set cost center or WBS element depending on acc.assgn.&lt;/P&gt;&lt;P&gt;          IF poitem-acctasscat = c_costcenter.                   "K&lt;/P&gt;&lt;P&gt;            g_t_poaccount1-costcenter  = ekkn-kostl.&lt;/P&gt;&lt;P&gt;          ELSEIF poitem-acctasscat = c_wbs.                      "P&lt;/P&gt;&lt;P&gt;            g_t_poaccount1-wbs_element = ekkn-ps_psp_pnr.&lt;/P&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;P&gt;*PVU-11-May-2004-End of set cost center or WBS element.&lt;/P&gt;&lt;P&gt;          g_t_poaccount1-orderid     = ekkn-aufnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          APPEND g_t_poaccount1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          g_t_poaccountx1-po_item     = g_t_poaccount_tmp-po_item.&lt;/P&gt;&lt;P&gt;          g_t_poaccountx1-serial_no   = ekkn-zekkn.&lt;/P&gt;&lt;P&gt;          g_t_poaccountx1-po_itemx    = c_checked.&lt;/P&gt;&lt;P&gt;          g_t_poaccountx1-delete_ind  = c_checked.&lt;/P&gt;&lt;P&gt;          g_t_poaccountx1-quantity    = c_checked.&lt;/P&gt;&lt;P&gt;          g_t_poaccountx1-gl_account  = c_checked.&lt;/P&gt;&lt;P&gt;*PVU-11-May-2004-Set cost center or WBS element depending on acc.assgn.&lt;/P&gt;&lt;P&gt;          IF poitem-acctasscat = c_costcenter.                   "K&lt;/P&gt;&lt;P&gt;            g_t_poaccountx1-costcenter  = c_checked.&lt;/P&gt;&lt;P&gt;          ELSEIF poitem-acctasscat = c_wbs.                      "P&lt;/P&gt;&lt;P&gt;            g_t_poaccountx1-wbs_element = c_checked.&lt;/P&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;P&gt;*PVU-11-May-2004-End of set cost center or WBS element.&lt;/P&gt;&lt;P&gt;          g_t_poaccountx1-orderid     = c_checked.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          APPEND g_t_poaccountx1.&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;        SUBTRACT 1 FROM g_cnt_poaccount.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ENDSELECT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**BV-12-July-2004- Begin of change - split line accounting&lt;/P&gt;&lt;P&gt;*clear the headerline before data population&lt;/P&gt;&lt;P&gt;      CLEAR : g_t_poaccount1,&lt;/P&gt;&lt;P&gt;              g_t_poaccountx1.&lt;/P&gt;&lt;P&gt;**BV-12-July-2004- End of change  - split line accounting&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;If new lines are added to account assignment in Ariba&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;add those lines to SAP PO&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      IF g_cnt_poaccount GT 0.&lt;/P&gt;&lt;P&gt;        g_cnt_ekkn = ekkn-zekkn.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        SORT g_t_poaccount_tmp DESCENDING BY serial_no.&lt;/P&gt;&lt;P&gt;        LOOP AT g_t_poaccount_tmp.&lt;/P&gt;&lt;P&gt;          ADD 1 TO g_cnt_ekkn.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          g_t_poaccount1-po_item     = g_t_poaccount_tmp-po_item.&lt;/P&gt;&lt;P&gt;          g_t_poaccount1-serial_no   = g_cnt_ekkn.&lt;/P&gt;&lt;P&gt;          g_t_poaccount1-quantity    = g_t_poaccount_tmp-quantity.&lt;/P&gt;&lt;P&gt;          g_t_poaccount1-gl_account  = g_t_poaccount_tmp-gl_account.&lt;/P&gt;&lt;P&gt;*PVU-11-May-2004-Set cost center or WBS element depending on acc.assgn.&lt;/P&gt;&lt;P&gt;          IF poitem-acctasscat = c_costcenter.                   "K&lt;/P&gt;&lt;P&gt;            g_t_poaccount1-costcenter  = g_t_poaccount_tmp-costcenter.&lt;/P&gt;&lt;P&gt;          ELSEIF poitem-acctasscat = c_wbs.                      "P&lt;/P&gt;&lt;P&gt;            g_t_poaccount1-wbs_element = g_t_poaccount_tmp-wbs_element.&lt;/P&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;P&gt;*PVU-11-May-2004-End of set cost center or WBS element.&lt;/P&gt;&lt;P&gt;          g_t_poaccount1-orderid     = g_t_poaccount_tmp-orderid.&lt;/P&gt;&lt;P&gt;          g_t_poaccount1-distr_perc  = g_t_poaccount_tmp-distr_perc.&lt;/P&gt;&lt;P&gt;          APPEND g_t_poaccount1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          g_t_poaccountx1-po_item    = g_t_poaccount_tmp-po_item.&lt;/P&gt;&lt;P&gt;          g_t_poaccountx1-serial_no  = g_cnt_ekkn.&lt;/P&gt;&lt;P&gt;          g_t_poaccountx1-po_itemx   = c_checked.&lt;/P&gt;&lt;P&gt;          g_t_poaccountx1-quantity   = c_checked.&lt;/P&gt;&lt;P&gt;          g_t_poaccountx1-gl_account = c_checked.&lt;/P&gt;&lt;P&gt;*PVU-11-May-2004-Set cost center or WBS element depending on acc.assgn.&lt;/P&gt;&lt;P&gt;          IF poitem-acctasscat = c_costcenter.                   "K&lt;/P&gt;&lt;P&gt;            g_t_poaccountx1-costcenter = c_checked.&lt;/P&gt;&lt;P&gt;          ELSEIF poitem-acctasscat = c_wbs.                      "P&lt;/P&gt;&lt;P&gt;            g_t_poaccountx1-wbs_element = c_checked.&lt;/P&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;P&gt;*PVU-11-May-2004-End of set cost center or WBS element.&lt;/P&gt;&lt;P&gt;          g_t_poaccountx1-orderid    = c_checked.&lt;/P&gt;&lt;P&gt;          g_t_poaccountx1-distr_perc = c_checked.&lt;/P&gt;&lt;P&gt;          APPEND g_t_poaccountx1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          SUBTRACT 1 FROM g_cnt_poaccount.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          IF g_cnt_poaccount EQ 0.&lt;/P&gt;&lt;P&gt;            EXIT.&lt;/P&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;P&gt;        ENDLOOP.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;      CLEAR: g_cnt_poaccount, g_cnt_ekkn.&lt;/P&gt;&lt;P&gt;      REFRESH g_t_poaccount_tmp.&lt;/P&gt;&lt;P&gt;    ENDAT.&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;  REFRESH: poaccount, poaccountx.&lt;/P&gt;&lt;P&gt;  CLEAR:   poaccount, poaccountx.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  APPEND LINES OF g_t_poaccount1 TO poaccount.&lt;/P&gt;&lt;P&gt;  APPEND LINES OF g_t_poaccountx1 TO poaccountx.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  REFRESH: g_t_poaccount1, g_t_poaccountx1.&lt;/P&gt;&lt;P&gt;  SORT: poaccount, poaccountx.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*For POs Converted from legacy system, populate the item quantity and&lt;/P&gt;&lt;P&gt;*price based on the original purchase order qty/price. Also, populate&lt;/P&gt;&lt;P&gt;*the actual qty and price passed by Ariba in the Net weight and gross&lt;/P&gt;&lt;P&gt;*weight fields.&lt;/P&gt;&lt;P&gt;  LOOP AT poitem.&lt;/P&gt;&lt;P&gt;    CLEAR: ekpo.&lt;/P&gt;&lt;P&gt;    SELECT SINGLE menge                    "Purchase order quantity&lt;/P&gt;&lt;P&gt;                  netpr                    "Net price in PO&lt;/P&gt;&lt;P&gt;    INTO (ekpo-menge, ekpo-netpr)&lt;/P&gt;&lt;P&gt;    FROM ekpo&lt;/P&gt;&lt;P&gt;    WHERE  ebeln EQ purchaseorder   AND&lt;/P&gt;&lt;P&gt;           ebelp EQ poitem-po_item. "AND&lt;/P&gt;&lt;P&gt;    IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Turn off Final Invoice Indicator if net price or quantity is higher&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;than the existing value.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      IF poitem-quantity  GT ekpo-menge OR&lt;/P&gt;&lt;P&gt;         poitem-net_price GT ekpo-netpr.&lt;/P&gt;&lt;P&gt;        CLEAR poitem-final_inv.&lt;/P&gt;&lt;P&gt;        READ TABLE poitemx&lt;/P&gt;&lt;P&gt;             WITH KEY po_item = poitem-po_item&lt;/P&gt;&lt;P&gt;             BINARY SEARCH.&lt;/P&gt;&lt;P&gt;        IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;          poitemx-final_inv   = c_checked.&lt;/P&gt;&lt;P&gt;          MODIFY poitemx INDEX sy-tabix.&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;      MODIFY poitem.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;*endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;****Start of changes by Balaji V - 08-June-04&lt;/P&gt;&lt;P&gt;****Zero Pad and Prefix 1 to Vendor.&lt;/P&gt;&lt;P&gt;  DATA : L_LENGTH   TYPE I.&lt;/P&gt;&lt;P&gt;  "Vendor string length.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        L_MSGV1    LIKE SY-MSGV1. "Message variable1&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT POHEADER-VENDOR IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*remove any leading zeros for vendor populated from webmethods&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  = POHEADER-VENDOR&lt;/P&gt;&lt;P&gt;         IMPORTING&lt;/P&gt;&lt;P&gt;              OUTPUT = POHEADER-VENDOR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    L_LENGTH = STRLEN( POHEADER-VENDOR ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF L_LENGTH &amp;lt; 10.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*To pad leading zeros to Vendor&lt;/P&gt;&lt;P&gt;      CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'&lt;/P&gt;&lt;P&gt;           EXPORTING&lt;/P&gt;&lt;P&gt;                INPUT  = POHEADER-VENDOR&lt;/P&gt;&lt;P&gt;           IMPORTING&lt;/P&gt;&lt;P&gt;                OUTPUT = POHEADER-VENDOR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*To replace first character with 1.&lt;/P&gt;&lt;P&gt;      MOVE '1' TO POHEADER-VENDOR(1).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ELSE.       "Vendor is 10 char in length&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      CLEAR L_MSGV1.&lt;/P&gt;&lt;P&gt;      L_MSGV1 = POHEADER-VENDOR.&lt;/P&gt;&lt;P&gt;*Zero Padding and Prefixing 1 Not possible.Vendor is 10 Character&lt;/P&gt;&lt;P&gt;*length&lt;/P&gt;&lt;P&gt;      CALL FUNCTION 'BALW_BAPIRETURN_GET2'&lt;/P&gt;&lt;P&gt;           EXPORTING&lt;/P&gt;&lt;P&gt;                TYPE   = C_MSGTYPE_I  "I&lt;/P&gt;&lt;P&gt;                CL     = C_MSGID_Z001                       "Z001&lt;/P&gt;&lt;P&gt;                NUMBER = C_MSGNR_040  "040&lt;/P&gt;&lt;P&gt;                PAR1   = L_MSGV1&lt;/P&gt;&lt;P&gt;           IMPORTING&lt;/P&gt;&lt;P&gt;                RETURN = RETURN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      APPEND RETURN.&lt;/P&gt;&lt;P&gt;      CLEAR  RETURN.&lt;/P&gt;&lt;P&gt;      loop at return.&lt;/P&gt;&lt;P&gt;        L_WA_ZERRORS-OBJECT     = 'PURCHASE_ORDER'.&lt;/P&gt;&lt;P&gt;        L_WA_ZERRORS-serialno   = sy-tabix.&lt;/P&gt;&lt;P&gt;        L_WA_ZERRORS-COMP_CODE  = poheader-comp_code.&lt;/P&gt;&lt;P&gt;        L_WA_ZERRORS-zid        = return-id.&lt;/P&gt;&lt;P&gt;        L_WA_ZERRORS-znumber    = return-number.&lt;/P&gt;&lt;P&gt;        L_WA_ZERRORS-BEACON_DOC_NO = poheader-po_number.&lt;/P&gt;&lt;P&gt;        L_WA_ZERRORS-SRC_DOC_NO = poheader-po_number.&lt;/P&gt;&lt;P&gt;        L_WA_ZERRORS-ZDATE      = sy-datum.&lt;/P&gt;&lt;P&gt;        L_WA_ZERRORS-ERR_MSG    = return-message.&lt;/P&gt;&lt;P&gt;        append L_WA_ZERRORS to t_errors.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  insert into ZP2P_ERRORS values L_WA_ZERRORS.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        clear: L_WA_ZERRORS.&lt;/P&gt;&lt;P&gt;      endloop.&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;  ENDIF.&lt;/P&gt;&lt;P&gt;****End of changes by Balaji V - 08-June-04&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**********************************************************&lt;/P&gt;&lt;P&gt;*mod-003&lt;/P&gt;&lt;P&gt;***********************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;****************************************************&lt;/P&gt;&lt;P&gt;*mod-003&lt;/P&gt;&lt;P&gt;****************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; if not poheader-comp_code is initial.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   select single companycode&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   into l_bukrs&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   from zcompanycodes01&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   where companycode = poheader-comp_code and&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         FSID        = poheader-fsid and&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         le          = poheader-le and&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         frmrc       = poheader-frmrc.&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;   if sy-subrc ne 0.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     CLEAR L_MSGV1.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     L_MSGV1 = POACCOUNT-PO_ITEM.&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;Please Enter an Account number for line&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     CALL FUNCTION 'BALW_BAPIRETURN_GET2'&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;               TYPE   = C_MSGTYPE_E&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;               CL     = C_MSGID_Z001&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;               NUMBER = C_MSGNR_618&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;               PAR1   = L_MSGV1&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;               RETURN = RETURN.&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;     APPEND RETURN.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     CLEAR  RETURN.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     loop at return.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       L_WA_ZERRORS-OBJECT     = 'PURCHASE_ORDER'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       L_WA_ZERRORS-serial_no   = sy-tabix.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       L_WA_ZERRORS-COMP_CODE  = poheader-comp_code.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       L_WA_ZERRORS-zid        = return-id.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       L_WA_ZERRORS-znumber    = return-number.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       L_WA_ZERRORS-BEACON_DOC_NO = poheader-po_number.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       L_WA_ZERRORS-SRC_DOC_NO = poheader-po_number.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       L_WA_ZERRORS-ZDATE      = sy-datum.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       L_WA_ZERRORS-ERROR_MSG    = return-message.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       append L_WA_ZERRORS to t_errors.&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;  insert into ZP2P_ERRORS values L_WA_ZERRORS.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       clear: L_WA_ZERRORS.&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;UL&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;     poheader-comp_code = l_bukrs.&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;**********************************************************&lt;/P&gt;&lt;P&gt;*mod-003&lt;/P&gt;&lt;P&gt;***********************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  if not poheader-currency is initial.&lt;/P&gt;&lt;P&gt;    if not poheader-vendor is initial.&lt;/P&gt;&lt;P&gt;      loop at pocond.&lt;/P&gt;&lt;P&gt;        SELECT SINGLE WAERS&lt;/P&gt;&lt;P&gt;        INTO L_WAERS&lt;/P&gt;&lt;P&gt;        FROM LFM1 WHERE&lt;/P&gt;&lt;P&gt;        LIFNR = POHEADER-VENDOR&lt;/P&gt;&lt;P&gt;        AND EKORG = POHEADER-PURCH_ORG.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        IF SY-SUBRC NE 0.&lt;/P&gt;&lt;P&gt;          IF L_WAERS NE  poheader-currency.&lt;/P&gt;&lt;P&gt;            pocond-cond_value = 'PBXX'.&lt;/P&gt;&lt;P&gt;            pocond-currency    = l_waers.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            modify pocond transporting cond_value currency.&lt;/P&gt;&lt;P&gt;          endif.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      endloop.&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;*mod-003&lt;/P&gt;&lt;P&gt;***********************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; IF NOT TESTRUN IS INITIAL.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   POHEADER-VENDOR = '4259999999'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   poheader-doc_type = 'ZAP'.&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;*mod-003&lt;/P&gt;&lt;P&gt;***********************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**********************************************************&lt;/P&gt;&lt;P&gt;*mod-003&lt;/P&gt;&lt;P&gt;***********************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; IF NOT POHEADER-PURCH_ORG IS INITIAL.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   SELECT SINGLE PUR_ORG&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   INTO L_EKORG&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   FROM ZPUR_ORG&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   WHERE LE = POHEADER-LE AND&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         FRMRC = POHEADER-FRMRC AND&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         FSID = POHEADER-FSID.&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;   IF SY-SUBRC NE 0.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     CLEAR : L_CONST_NAME,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             L_COMP_CODE.&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_CONST_NAME  = C_p2p_pur_ORG.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     L_COMP_CODE   = POHEADER-COMP_CODE.&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;     CALL FUNCTION 'BALW_BAPIRETURN_GET2'&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;               TYPE   = c_msgtype_e&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;               CL     = c_msgid_z001&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;               NUMBER = c_msgnr_619&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;               PAR1   = L_CONST_NAME&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;               PAR2   = L_COMP_CODE&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;               RETURN = RETURN.&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;     APPEND RETURN.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     CLEAR  RETURN.&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;     loop at return.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       L_WA_ZERRORS-OBJECT     = 'PURCHASE_ORDER'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       L_WA_ZERRORS-serial_no   = sy-tabix.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       L_WA_ZERRORS-COMP_CODE  = poheader-comp_code.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       L_WA_ZERRORS-zid        = return-id.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       L_WA_ZERRORS-znumber    = return-number.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       L_WA_ZERRORS-BEACON_DOC_NO = poheader-po_number.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       L_WA_ZERRORS-SRC_DOC_NO = poheader-po_number.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       L_WA_ZERRORS-ZDATE      = sy-datum.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       L_WA_ZERRORS-ERROR_MSG    = return-message.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       append L_WA_ZERRORS to t_errors.&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;  insert into ZP2P_ERRORS values L_WA_ZERRORS.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       clear: L_WA_ZERRORS.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     endloop.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     EXIT.&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;     POHEADER-PURCH_ORG = L_EKORG.&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;*mod-003&lt;/P&gt;&lt;P&gt;**********************************************************&lt;/P&gt;&lt;P&gt;  LOOP AT POITEM.&lt;/P&gt;&lt;P&gt;    l_wa_timestamp-mandt          = SY-MANDT.&lt;/P&gt;&lt;P&gt;    l_wa_timestamp-EBELN          = POHEADER-PO_NUMBER.&lt;/P&gt;&lt;P&gt;    l_wa_timestamp-EBELP          = POITEM-PO_ITEM.&lt;/P&gt;&lt;P&gt;    l_wa_timestamp-CHANGE_IND     = ' '.&lt;/P&gt;&lt;P&gt;    l_wa_timestamp-DATE_TIME_STMP = POHEADER-ARIBACHGTIMESTMP.&lt;/P&gt;&lt;P&gt;    insert into ZP2P_TIMESTAMP values l_wa_timestamp.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: g_constval(10) type c.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT POHEADER-PUR_GROUP IS INITIAL.&lt;/P&gt;&lt;P&gt;    clear: g_constval.&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'ZXA_GET_CONSTANT'&lt;/P&gt;&lt;P&gt;         EXPORTING&lt;/P&gt;&lt;P&gt;              const_name     = c_p2p_pur_org&lt;/P&gt;&lt;P&gt;              comp_code      = POHEADER-COMP_CODE&lt;/P&gt;&lt;P&gt;         IMPORTING&lt;/P&gt;&lt;P&gt;              const_value    = g_constval&lt;/P&gt;&lt;P&gt;         EXCEPTIONS&lt;/P&gt;&lt;P&gt;              no_value_found = 1&lt;/P&gt;&lt;P&gt;              null_value     = 2&lt;/P&gt;&lt;P&gt;              OTHERS         = 3.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC NE 0.&lt;/P&gt;&lt;P&gt;      CLEAR : L_CONST_NAME,&lt;/P&gt;&lt;P&gt;              L_COMP_CODE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      L_CONST_NAME  = C_p2p_pur_org.&lt;/P&gt;&lt;P&gt;      L_COMP_CODE   = POHEADER-COMP_CODE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      CALL FUNCTION 'BALW_BAPIRETURN_GET2'&lt;/P&gt;&lt;P&gt;           EXPORTING&lt;/P&gt;&lt;P&gt;                TYPE   = c_msgtype_e&lt;/P&gt;&lt;P&gt;                CL     = c_msgid_z001&lt;/P&gt;&lt;P&gt;                NUMBER = c_msgnr_619&lt;/P&gt;&lt;P&gt;                PAR1   = L_CONST_NAME&lt;/P&gt;&lt;P&gt;                PAR2   = L_COMP_CODE&lt;/P&gt;&lt;P&gt;           IMPORTING&lt;/P&gt;&lt;P&gt;                RETURN = RETURN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      APPEND RETURN.&lt;/P&gt;&lt;P&gt;      CLEAR  RETURN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      loop at return.&lt;/P&gt;&lt;P&gt;        L_WA_ZERRORS-OBJECT     = 'PURCHASE_ORDER'.&lt;/P&gt;&lt;P&gt;        L_WA_ZERRORS-serialno   = sy-tabix.&lt;/P&gt;&lt;P&gt;        L_WA_ZERRORS-COMP_CODE  = poheader-comp_code.&lt;/P&gt;&lt;P&gt;        L_WA_ZERRORS-zid        = return-id.&lt;/P&gt;&lt;P&gt;        L_WA_ZERRORS-znumber    = return-number.&lt;/P&gt;&lt;P&gt;        L_WA_ZERRORS-BEACON_DOC_NO = poheader-po_number.&lt;/P&gt;&lt;P&gt;        L_WA_ZERRORS-SRC_DOC_NO = poheader-po_number.&lt;/P&gt;&lt;P&gt;        L_WA_ZERRORS-ZDATE      = sy-datum.&lt;/P&gt;&lt;P&gt;        L_WA_ZERRORS-ERR_MSG    = return-message.&lt;/P&gt;&lt;P&gt;        append L_WA_ZERRORS to t_errors.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  insert into ZP2P_ERRORS values L_WA_ZERRORS.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        clear: L_WA_ZERRORS.&lt;/P&gt;&lt;P&gt;      endloop.&lt;/P&gt;&lt;P&gt;      EXIT.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      POHEADER-PUR_GROUP = G_CONSTVAL.&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;*mod-003&lt;/P&gt;&lt;P&gt;**********************************************************&lt;/P&gt;&lt;P&gt;  IF purchaseorder(3) = c_pco.                       "PCO&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-------------------------------------------------" /&gt;&amp;amp;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; Begin of Change: 26-Sep-2005 SDUTTARO RD1K910989     *&amp;amp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-------------------------------------------------" /&gt;&amp;amp;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Map the external fields for ALZA with account assignment&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IF poheader-comp_code = c_bukrs_alza.                          "@SDR&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;**--    Retrieve Account Assignment&lt;/P&gt;&lt;P&gt;      PERFORM get_account_assignment TABLES   poitem              "@SDR&lt;/P&gt;&lt;P&gt;                                              poitemx             "@SDR&lt;/P&gt;&lt;P&gt;                                              poaccount           "@SDR&lt;/P&gt;&lt;P&gt;                                              poaccountx          "@SDR&lt;/P&gt;&lt;P&gt;                                              t_yreturn           "@SDR&lt;/P&gt;&lt;P&gt;                                     USING    poheader-comp_code  "@SDR&lt;/P&gt;&lt;P&gt;                                              poheader.           "@SDR&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   ENDIF.                                                         "@SDR&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-------------------------------------------------" /&gt;&amp;amp;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**&amp;amp; Begin of Change: 26-Sep-2005 SDUTTARO RD1K910989     *&amp;amp;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="-------------------------------------------------" /&gt;&lt;P&gt;&amp;amp;&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;For PCO Order, populate the PO and accounting data into a Z table and&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;exit the program run.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   PERFORM populate_nonpo_document   TABLES   poitem&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                              return&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                              potextheader&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                     USING    purchaseorder&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                              poheader.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   PERFORM populate_nonpo_accounting TABLES poaccount&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                            return&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                     USING  poheader.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;**&amp;amp;&amp;amp;---Begin of Addition: Soumya D Roy: 03/10/2006&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;To make sure that the ztables do not get updated in case of&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;checkpoints 1, 2 and get updated only after approval&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IF testrun IS INITIAL.                                          "SDR&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;**&amp;amp;&amp;amp;---End of Addition: Soumya D Roy: 03/10/2006&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     PERFORM update_nonpodocument.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;**&amp;amp;&amp;amp;---Begin of Addition: Soumya D Roy: 03/10/2006&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;To delete PCOs. No deletion code is required for CRs &amp;amp; UTs&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;as these two cannot be deleted&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   ENDIF.                                                         "@SDR&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;**&amp;amp;&amp;amp;---End of Addition: Soumya D Roy: 03/10/2006&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   LOOP AT t_return.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     MOVE: t_return-type TO return-type,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           t_return-number TO return-number,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           t_return-message TO return-message.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     APPEND return.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     CLEAR  return.&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;*&amp;amp;&amp;amp;&amp;amp;&amp;amp;&amp;amp;---- Begin of Addition: Soumya D Roy: 03/02/2006&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Code to build the message table for output to Ariba&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;for PCOs&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*GENERATE CUSTOM RETURN MESSAGES BASED ON MESSAGE ID AND NUMBER FROM&lt;/P&gt;&lt;P&gt;*maintenance table ZMESSAGES&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CALL FUNCTION 'Z_MM_BUILD_MESSAGES'&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;             return = return.&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 return BY type id number.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   READ TABLE return&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         WITH KEY id = space&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                  number = c_msgnr_000               "000&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         BINARY SEARCH.&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;   IF sy-subrc EQ 0 AND sy-tabix NE 1.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     DELETE return INDEX sy-tabix.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     INSERT return INDEX 1.&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;**&amp;amp;&amp;amp;&amp;amp;&amp;amp;----- End of Addition: Soumya D Roy: 03/02/2006&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   EXIT.&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;*-- Round off to 100 percent due to small difference in one decimal&lt;/P&gt;&lt;P&gt;*-- point rounding (in Ariba/wM)&lt;/P&gt;&lt;P&gt;  SORT poaccount BY po_item distr_perc.&lt;/P&gt;&lt;P&gt;  LOOP AT poaccount.&lt;/P&gt;&lt;P&gt;    ADD poaccount-distr_perc TO g_distr_perc.&lt;/P&gt;&lt;P&gt;    AT END OF po_item.&lt;/P&gt;&lt;P&gt;*-- Round off to 100 percent due to small difference in one decimal&lt;/P&gt;&lt;P&gt;*-- point rounding (in Ariba/wM)&lt;/P&gt;&lt;P&gt;      IF g_distr_perc GT 0.&lt;/P&gt;&lt;P&gt;        g_distr_perc = 100 - g_distr_perc.&lt;/P&gt;&lt;P&gt;        g_adjust_perc = c_checked.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDAT.&lt;/P&gt;&lt;P&gt;    IF g_adjust_perc = c_checked.&lt;/P&gt;&lt;P&gt;      g_distr_perc1 = g_distr_perc + poaccount-distr_perc.&lt;/P&gt;&lt;P&gt;      IF g_distr_perc1 = 100.&lt;/P&gt;&lt;P&gt;        poaccount-distr_perc = 0.&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;        poaccount-distr_perc = g_distr_perc1.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;      MODIFY poaccount.&lt;/P&gt;&lt;P&gt;      CLEAR poaccount.&lt;/P&gt;&lt;P&gt;      CLEAR: g_distr_perc, g_distr_perc1.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    CLEAR g_adjust_perc.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;  SORT poaccount.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SORT poschedule BY po_item sched_line.&lt;/P&gt;&lt;P&gt;  SORT poschedulex BY po_item sched_line.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*PVU-20-May-2004 - Start Changes for SCR1&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***************************************************&lt;/P&gt;&lt;P&gt;**MOD-003&lt;/P&gt;&lt;P&gt;**************************************************&lt;/P&gt;&lt;P&gt;*Populate the change indicator structures before calling BAPI_PO_CHANGE&lt;/P&gt;&lt;P&gt;*so that IDOC can be populated with this data&lt;/P&gt;&lt;P&gt;  IF NOT poheaderx IS INITIAL.&lt;/P&gt;&lt;P&gt;    g_w_hdrx_tmp = poheaderx.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  IF NOT poitemx[] IS INITIAL.&lt;/P&gt;&lt;P&gt;    g_t_itemx_tmp[] = poitemx[].&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  IF NOT poschedulex[] IS INITIAL.&lt;/P&gt;&lt;P&gt;    g_t_schdx_tmp[] = poschedulex[].&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  IF NOT poaccountx[] IS INITIAL.&lt;/P&gt;&lt;P&gt;    g_t_accntx_tmp[] = poaccountx[].&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  IF NOT pocondx[] IS INITIAL.&lt;/P&gt;&lt;P&gt;    g_t_condx_tmp[] = pocondx[].&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;***************************************************&lt;/P&gt;&lt;P&gt;**MOD-003&lt;/P&gt;&lt;P&gt;**************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*PVU-20-May-2004 - End Changes for SCR1&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*sraman2 06/28/04&lt;/P&gt;&lt;P&gt;*-- Default the Material Group to 99 if the incoming commodity&lt;/P&gt;&lt;P&gt;*-- code don't exist in SAP&lt;/P&gt;&lt;P&gt;  LOOP AT poitem.&lt;/P&gt;&lt;P&gt;    SELECT SINGLE matkl INTO t023-matkl FROM t023&lt;/P&gt;&lt;P&gt;      WHERE matkl = poitem-matl_group.&lt;/P&gt;&lt;P&gt;    IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;      MOVE: '99' TO poitem-matl_group.&lt;/P&gt;&lt;P&gt;      MODIFY poitem.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    CLEAR  poitem.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;*sraman2 06/28/04&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;---Begin of Addition: Soumya D Roy: 03/27/2006&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Logic for PO changes which are listed in table ZCONVERTEDPOS.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;ZCONVERTEDPOS contains Purchase Orders ie. both Material and&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Service which have either NONVAL GR checked or GR checked respectively&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;and are invoiced. Any changes to these POs from Ariba would not let&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;other quantity or amount or text description changes to flow into SAP.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;This piece of code will keep the Indicators' status same as in SAP&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;and also let the user perform the change.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*Begin of change by svalidet RD1K911990&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; IF purchaseorder+0(3) = '099'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; IF purchaseorder+0(3) in r_ehub_pos[].&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*End of change by svalidet RD1K911990&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'Z_CONVERTED_POS'&lt;/P&gt;&lt;P&gt;         EXPORTING&lt;/P&gt;&lt;P&gt;              P_PURCHASEORDER = purchaseorder&lt;/P&gt;&lt;P&gt;              P_POHEADER      = poheader&lt;/P&gt;&lt;P&gt;         TABLES&lt;/P&gt;&lt;P&gt;              P_POITEM        = poitem&lt;/P&gt;&lt;P&gt;              P_POITEMX       = poitemx.&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;&lt;/P&gt;&lt;P&gt;**************************************************************&lt;/P&gt;&lt;P&gt;*mod-003&lt;/P&gt;&lt;P&gt;**************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; perform get_uom_conversion  tables poitem&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                    POITEMX&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                    poaccount&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                    poaccountx&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                    poschedule&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                    poschedulex&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                           changing poheader&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                    poheaderx.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  perform get_uom_conversion  tables poitem&lt;/P&gt;&lt;P&gt;                                      POITEMX&lt;/P&gt;&lt;P&gt;                                      poaccount&lt;/P&gt;&lt;P&gt;                                      poaccountx&lt;/P&gt;&lt;P&gt;                                      poschedule&lt;/P&gt;&lt;P&gt;                                      poschedulex&lt;/P&gt;&lt;P&gt;                                      pocond&lt;/P&gt;&lt;P&gt;                                      pocondx&lt;/P&gt;&lt;P&gt;                                      pocondheader&lt;/P&gt;&lt;P&gt;                                      pocondheaderx&lt;/P&gt;&lt;P&gt;                             changing poheader&lt;/P&gt;&lt;P&gt;                                      poheaderx.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**************************************************************&lt;/P&gt;&lt;P&gt;*mod-003&lt;/P&gt;&lt;P&gt;**************************************************************&lt;/P&gt;&lt;P&gt;*Populate the change indicator structures before calling BAPI_PO_CHANGE&lt;/P&gt;&lt;P&gt;*so that IDOC can be populated with this data&lt;/P&gt;&lt;P&gt;  IF NOT poheaderx IS INITIAL.&lt;/P&gt;&lt;P&gt;    g_w_hdrx_tmp = poheaderx.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  IF NOT poitemx[] IS INITIAL.&lt;/P&gt;&lt;P&gt;    g_t_itemx_tmp[] = poitemx[].&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  IF NOT poschedulex[] IS INITIAL.&lt;/P&gt;&lt;P&gt;    g_t_schdx_tmp[] = poschedulex[].&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  IF NOT poaccountx[] IS INITIAL.&lt;/P&gt;&lt;P&gt;    g_t_accntx_tmp[] = poaccountx[].&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  IF NOT pocondx[] IS INITIAL.&lt;/P&gt;&lt;P&gt;    g_t_condx_tmp[] = pocondx[].&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;***************************************************&lt;/P&gt;&lt;P&gt;**MOD-003&lt;/P&gt;&lt;P&gt;**************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'BAPI_PO_CHANGE'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      purchaseorder          = purchaseorder&lt;/P&gt;&lt;P&gt;      poheader               = poheader&lt;/P&gt;&lt;P&gt;      poheaderx              = poheaderx&lt;/P&gt;&lt;P&gt;      poaddrvendor           = poaddrvendor&lt;/P&gt;&lt;P&gt;      testrun                = testrun&lt;/P&gt;&lt;P&gt;      memory_uncomplete      = memory_uncomplete&lt;/P&gt;&lt;P&gt;      memory_complete        = memory_complete&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     poexpimpheader         = poexpimpheader&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     poexpimpheaderx        = poexpimpheaderx&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     versions               = versions&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     no_messaging           = no_messaging&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     no_message_req         = no_message_req&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     no_authority           = no_authority&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     no_price_from_po       = no_price_from_po&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      expheader              = expheader&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     exppoexpimpheader      = exppoexpimpheader&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      return                 = return&lt;/P&gt;&lt;P&gt;      poitem                 = poitem&lt;/P&gt;&lt;P&gt;      poitemx                = poitemx&lt;/P&gt;&lt;P&gt;      poaddrdelivery         = poaddrdelivery&lt;/P&gt;&lt;P&gt;      poschedule             = poschedule&lt;/P&gt;&lt;P&gt;      poschedulex            = poschedulex&lt;/P&gt;&lt;P&gt;      poaccount              = poaccount&lt;/P&gt;&lt;P&gt;      poaccountprofitsegment = poaccountprofitsegment&lt;/P&gt;&lt;P&gt;      poaccountx             = poaccountx&lt;/P&gt;&lt;P&gt;      pocondheader           = pocondheader&lt;/P&gt;&lt;P&gt;      pocondheaderx          = pocondheaderx&lt;/P&gt;&lt;P&gt;      pocond                 = pocond&lt;/P&gt;&lt;P&gt;      pocondx                = pocondx&lt;/P&gt;&lt;P&gt;      polimits               = polimits&lt;/P&gt;&lt;P&gt;      pocontractlimits       = pocontractlimits&lt;/P&gt;&lt;P&gt;      poservices             = poservices&lt;/P&gt;&lt;P&gt;      posrvaccessvalues      = posrvaccessvalues&lt;/P&gt;&lt;P&gt;      poservicestext         = poservicestext&lt;/P&gt;&lt;P&gt;      extensionin            = extensionin&lt;/P&gt;&lt;P&gt;      extensionout           = extensionout&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     poexpimpitem           = poexpimpitem&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     poexpimpitemx          = poexpimpitemx&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      potextheader           = potextheader&lt;/P&gt;&lt;P&gt;      potextitem             = potextitem .&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     allversions            = allversions&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     popartner              = popartner.&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;Code inserted to commit work&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  SORT return BY type.&lt;/P&gt;&lt;P&gt;  IF testrun IS INITIAL.&lt;/P&gt;&lt;P&gt;    READ TABLE return&lt;/P&gt;&lt;P&gt;         WITH KEY type = c_msgtype_e               "E.&lt;/P&gt;&lt;P&gt;         BINARY SEARCH.&lt;/P&gt;&lt;P&gt;    IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;      CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.&lt;/P&gt;&lt;P&gt;**PVU-20-May-2004 - Start Changes for SCR1&lt;/P&gt;&lt;P&gt;**To generate inbound IDOC for failed PO&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     perform idoc_create tables poitem&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                g_t_itemx_tmp&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                poaddrdelivery&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                poschedule&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                g_t_schdx_tmp&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                poaccount&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                poaccountprofitsegment&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                g_t_accntx_tmp&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                pocond&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                g_t_condx_tmp&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                polimits&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                pocontractlimits&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                poservices&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                posrvaccessvalues&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                poservicestext&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                extensionin&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                return&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                          using c_flg_pochange              "CHNG&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                purchaseorder&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                poheader&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                g_w_hdrx_tmp&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                poaddrvendor&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                testrun&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                memory_uncomplete&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                memory_complete .&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*PVU-20-May-2004 - End Changes for SCR1&lt;/P&gt;&lt;P&gt;      loop at return.&lt;/P&gt;&lt;P&gt;        L_WA_ZERRORS-OBJECT     = 'PURCHASE_ORDER'.&lt;/P&gt;&lt;P&gt;        L_WA_ZERRORS-serialno   = sy-tabix.&lt;/P&gt;&lt;P&gt;        L_WA_ZERRORS-COMP_CODE  = poheader-comp_code.&lt;/P&gt;&lt;P&gt;        L_WA_ZERRORS-zid        = return-id.&lt;/P&gt;&lt;P&gt;        L_WA_ZERRORS-znumber    = return-number.&lt;/P&gt;&lt;P&gt;        L_WA_ZERRORS-BEACON_DOC_NO = poheader-po_number.&lt;/P&gt;&lt;P&gt;        L_WA_ZERRORS-SRC_DOC_NO = poheader-po_number.&lt;/P&gt;&lt;P&gt;        L_WA_ZERRORS-ZDATE      = sy-datum.&lt;/P&gt;&lt;P&gt;        L_WA_ZERRORS-ERR_MSG    = return-message.&lt;/P&gt;&lt;P&gt;        append L_WA_ZERRORS to t_errors.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      insert into ZP2P_ERRORS values L_WA_ZERRORS.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        clear: L_WA_ZERRORS.&lt;/P&gt;&lt;P&gt;      endloop.&lt;/P&gt;&lt;P&gt;      SELECT max( serialno )&lt;/P&gt;&lt;P&gt;       INTO L_SERIAL&lt;/P&gt;&lt;P&gt;       FROM ZP2P_ERRORS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      LOOP AT T_ERRORS.&lt;/P&gt;&lt;P&gt;        L_SERIAL = L_SERIAL + 1.&lt;/P&gt;&lt;P&gt;        T_ERRORS-serialno = L_SERIAL.&lt;/P&gt;&lt;P&gt;        MODIFY T_ERRORS TRANSPORTING serialno.&lt;/P&gt;&lt;P&gt;      ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      INSERT ZP2P_ERRORS FROM TABLE T_ERRORS.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.&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;*GENERATE CUSTOM RETURN MESSAGES BASED ON MESSAGE ID AND NUMBER FROM&lt;/P&gt;&lt;P&gt;*maintenance table ZMESSAGES&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'Z_MM_BUILD_MESSAGES'&lt;/P&gt;&lt;P&gt;       TABLES&lt;/P&gt;&lt;P&gt;            return = return.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SORT return BY type id number.&lt;/P&gt;&lt;P&gt;  READ TABLE return&lt;/P&gt;&lt;P&gt;        WITH KEY id = space&lt;/P&gt;&lt;P&gt;                 number = c_msgnr_000               "000&lt;/P&gt;&lt;P&gt;        BINARY SEARCH.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF sy-subrc EQ 0 AND sy-tabix NE 1.&lt;/P&gt;&lt;P&gt;    DELETE return INDEX sy-tabix.&lt;/P&gt;&lt;P&gt;    INSERT return INDEX 1.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT max( serialno )&lt;/P&gt;&lt;P&gt;       INTO L_SERIAL&lt;/P&gt;&lt;P&gt;       FROM ZP2P_ERRORS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT T_ERRORS.&lt;/P&gt;&lt;P&gt;    L_SERIAL = L_SERIAL + 1.&lt;/P&gt;&lt;P&gt;    T_ERRORS-serialno = L_SERIAL.&lt;/P&gt;&lt;P&gt;    MODIFY T_ERRORS TRANSPORTING serialno.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  INSERT ZP2P_ERRORS FROM TABLE T_ERRORS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFUNCTION.&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;***INCLUDE LZPORFCFUNCF01 .&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;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;PROGRAM        LZZ_M3_PURCHASEORDERF01&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;TITLE          Include containing subroutines for Function group&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;               ZZ_M3_PURCHASEORDER&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;AUTHOR         Aveek Ghose&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;DATE WRITTEN   25.05.2006&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;R/3 RELEASE    4.6C&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;&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_items&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Subroutine to obtain line items which have GL Account as blank.&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_T_TEMP_POACCOUNT  line item accounting data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM filter_items TABLES  p_t_temp_poaccount STRUCTURE bapimepoaccount.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT p_t_temp_poaccount[] IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SORT p_t_temp_poaccount BY po_item.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    DELETE p_t_temp_poaccount WHERE NOT gl_account IS initial.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    DELETE ADJACENT DUPLICATES FROM p_t_temp_poaccount&lt;/P&gt;&lt;P&gt;                               COMPARING po_item.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " filter_items&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  POPULATE_NONPO_DOCUMENT&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;      Update the table ZNONPO_DOCUMENT&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_poitem      Item data&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      --&amp;gt; p_return      Error Messages&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      --&amp;gt; p_textheader  Texts - Purchase Order&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      --&amp;gt; u_po          Purchase Order Number&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      --&amp;gt; u_poheader    Purchase Order Header Data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM populate_nonpo_document TABLES p_poitem     STRUCTURE bapimepoitem&lt;/P&gt;&lt;P&gt;                                    p_return     STRUCTURE bapiret2&lt;/P&gt;&lt;P&gt;                                    p_textheader STRUCTURE bapimepotext&lt;/P&gt;&lt;P&gt;                             USING  u_po&lt;/P&gt;&lt;P&gt;                                    u_poheader STRUCTURE bapimepoheader.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: l_price   LIKE p_poitem-net_price,&lt;/P&gt;&lt;P&gt;        c_poitem  LIKE bapimepotext-po_item VALUE '00000'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR l_price.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  t_znonpo_document-client          = sy-mandt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF u_po IS INITIAL.&lt;/P&gt;&lt;P&gt;    t_znonpo_document-documentnumber  = u_poheader-po_number.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    t_znonpo_document-documentnumber  = u_po.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  t_znonpo_document-companycode     = u_poheader-comp_code.&lt;/P&gt;&lt;P&gt;  t_znonpo_document-documenttype    = u_poheader-doc_type.&lt;/P&gt;&lt;P&gt;  t_znonpo_document-suppliernumber  = u_poheader-vendor.&lt;/P&gt;&lt;P&gt;  t_znonpo_document-currency        = u_poheader-currency.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; LOOP AT p_textheader WHERE po_item  = '00000'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  LOOP AT p_textheader WHERE po_item  = c_poitem.&lt;/P&gt;&lt;P&gt;    t_znonpo_document-description     = p_textheader-text_line.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT p_poitem.&lt;/P&gt;&lt;P&gt;    l_price = l_price + ( p_poitem-net_price * p_poitem-quantity ).&lt;/P&gt;&lt;P&gt;    t_znonpo_document-requester       = p_poitem-preq_name.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  t_znonpo_document-amount          = l_price.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  APPEND t_znonpo_document.&lt;/P&gt;&lt;P&gt;  CLEAR  t_znonpo_document.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "POPULATE_NONPO_DOCUMENT&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  POPULATE_NONPO_ACCOUNTING&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;      Update the table ZNONPO_ACCTG&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_poaccount   Account Assignment data for PO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      --&amp;gt; p_return      Error Messages&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      --&amp;gt; u_poheader    Purchase Order Header Data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM populate_nonpo_accounting TABLES p_poaccount STRUCTURE&lt;/P&gt;&lt;P&gt;                                                  bapimepoaccount&lt;/P&gt;&lt;P&gt;                                      p_return    STRUCTURE bapiret2&lt;/P&gt;&lt;P&gt;                               USING  u_poheader  STRUCTURE&lt;/P&gt;&lt;P&gt;                                                  bapimepoheader.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: l_serial_no LIKE p_poaccount-serial_no.&lt;/P&gt;&lt;P&gt;*begin of change by DD - 09-Aug-2004,tpr2289&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SORT p_poaccount  BY GL_ACCounT COSTCENTER wbs_element&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-------------------------------------------------" /&gt;&amp;amp;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; Begin of Addition: 26-Sep-2005 SDUTTARO RD1K911060   *&amp;amp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-------------------------------------------------" /&gt;&amp;amp;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  serial_no.                                         "@SDR&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-------------------------------------------------" /&gt;&amp;amp;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; End of Addition: 26-Sep-2005 SDUTTARO RD1K911060     *&amp;amp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-------------------------------------------------" /&gt;&amp;amp;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DELETE ADJACENT DUPLICATES FROM p_poaccount&lt;/P&gt;&lt;P&gt;  COMPARING GL_ACCounT&lt;/P&gt;&lt;P&gt;            COSTCENTER&lt;/P&gt;&lt;P&gt;            wbs_element&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-------------------------------------------------" /&gt;&amp;amp;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; Begin of Addition: 26-Sep-2005 SDUTTARO RD1K911060   *&amp;amp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-------------------------------------------------" /&gt;&amp;amp;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            serial_no.                               "@SDR&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-------------------------------------------------" /&gt;&amp;amp;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; End of Addition: 26-Sep-2005 SDUTTARO RD1K911060     *&amp;amp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-------------------------------------------------" /&gt;&amp;amp;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*end of change by DD - 09-Aug-2004,tpr2289&lt;/P&gt;&lt;P&gt;  SORT p_poaccount BY po_item.&lt;/P&gt;&lt;P&gt;*begin of change by DD - 13-Aug-2004,tpr2289&lt;/P&gt;&lt;P&gt;  CLEAR l_serial_no.&lt;/P&gt;&lt;P&gt;*end of change by DD - 13-Aug-2004,tpr2289&lt;/P&gt;&lt;P&gt;  LOOP AT p_poaccount.&lt;/P&gt;&lt;P&gt;*begin of change by DD - 13-Aug-2004,tpr2289&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   AT NEW po_item.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     CLEAR l_serial_no.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   ENDAT.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*end of change by DD - 13-Aug-2004,tpr2289&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*sraman2  10/14/04&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   ADD 1 TO l_serial_no.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*sraman2  10/14/04&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    t_znonpo_acctg-client          = sy-mandt.&lt;/P&gt;&lt;P&gt;    t_znonpo_acctg-documentnumber  = u_poheader-po_number.&lt;/P&gt;&lt;P&gt;*sraman2  10/14/04&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  t_znonpo_acctg-distnumber      = l_serial_no.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*sraman2  10/14/04&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    t_znonpo_acctg-distnumber      = p_poaccount-SERIAL_NO.&lt;/P&gt;&lt;P&gt;    t_znonpo_acctg-distpercent     = p_poaccount-distr_perc.&lt;/P&gt;&lt;P&gt;    t_znonpo_acctg-distquantity    = p_poaccount-quantity.&lt;/P&gt;&lt;P&gt;    t_znonpo_acctg-glacct          = p_poaccount-gl_account.&lt;/P&gt;&lt;P&gt;    t_znonpo_acctg-costcenter      = p_poaccount-costcenter.&lt;/P&gt;&lt;P&gt;*begin of change by DD - 24-June-2004&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   t_znonpo_acctg-internalorder   = p_poaccount-orderid.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    t_znonpo_acctg-pspnr   = p_poaccount-wbs_element.&lt;/P&gt;&lt;P&gt;*end of change by DD - 24-June-2004&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-------------------------------------------------" /&gt;&amp;amp;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; Begin of Addition: 26-Sep-2005 SDUTTARO RD1K910316   *&amp;amp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-------------------------------------------------" /&gt;&amp;amp;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   t_znonpo_acctg-ex_pro_no        = p_poaccount-unload_pt.       "@SDR&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-------------------------------------------------" /&gt;&amp;amp;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; End of Addition: 26-Sep-2005 SDUTTARO RD1K910316     *&amp;amp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-------------------------------------------------" /&gt;&amp;amp;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    APPEND  t_znonpo_acctg.&lt;/P&gt;&lt;P&gt;    CLEAR   t_znonpo_acctg.&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;ENDFORM.                    "POPULATE_NONPO_ACCOUNTING&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  UPDATE_NONPODOCUMENT&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;      Update the Non PO Document&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; t_RETURN   Error Messages&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 update_nonpodocument.&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'Z_P2P_INT_IN_NONPODOCUMENT'&lt;/P&gt;&lt;P&gt;       EXPORTING&lt;/P&gt;&lt;P&gt;            BYPASS_VENDOR = 'X'  "add TPR2220 DDUTTA 08-Jul-2004&lt;/P&gt;&lt;P&gt;       TABLES&lt;/P&gt;&lt;P&gt;            p_nonpodoc    = t_znonpo_document&lt;/P&gt;&lt;P&gt;            p_nonpoacctg  = t_znonpo_acctg&lt;/P&gt;&lt;P&gt;            return        = t_return.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "UPDATE_NONPODOCUMENT&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  EXTRACT_MESSAGES&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;      Select data from table zmessages&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 extract_messages .&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; SELECT * FROM zmessages INTO TABLE t_messages.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*ENDFORM.                    " EXTRACT_MESSAGES&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  extract_longtext&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;      Extract the long 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; u_id         Message class&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt; u_number     Message number&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt; u_msgv1      Message variable&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt; u_msgv2      Message variable&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt; u_msgv3      Message variable&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt; u_msgv4      Message variable&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt; u_override   Override flag&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt; u_shorttext  Shorttext flag&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt; u_longtext   Longtext flag&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt; u_message    Message 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 extract_longtext  USING    u_id&lt;/P&gt;&lt;P&gt;                                u_number&lt;/P&gt;&lt;P&gt;                                u_msgv1&lt;/P&gt;&lt;P&gt;                                u_msgv2&lt;/P&gt;&lt;P&gt;                                u_msgv3&lt;/P&gt;&lt;P&gt;                                u_msgv4&lt;/P&gt;&lt;P&gt;                                u_override&lt;/P&gt;&lt;P&gt;                                u_shorttext&lt;/P&gt;&lt;P&gt;                                u_longtext&lt;/P&gt;&lt;P&gt;                       CHANGING u_message.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: l_object       LIKE doktl-object,&lt;/P&gt;&lt;P&gt;        l_initial      TYPE c,&lt;/P&gt;&lt;P&gt;        l_variable(20) TYPE c,&lt;/P&gt;&lt;P&gt;        l_length       type i.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR: l_initial,&lt;/P&gt;&lt;P&gt;         l_variable,&lt;/P&gt;&lt;P&gt;         l_object.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF u_override IS INITIAL AND&lt;/P&gt;&lt;P&gt;     NOT u_longtext IS INITIAL.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;extract long text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    CONCATENATE u_id u_number INTO&lt;/P&gt;&lt;P&gt;    l_object.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SELECT * FROM doktl WHERE&lt;/P&gt;&lt;P&gt;      id        EQ  c_na     AND  "'NA'&lt;/P&gt;&lt;P&gt;      object    EQ  l_object AND&lt;/P&gt;&lt;P&gt;      langu     EQ  c_e.          "E&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF doktl-doktext EQ c_cause.  " '&amp;amp;CAUSE&amp;amp;'&lt;/P&gt;&lt;P&gt;        l_initial = c_x.            " 'X'&lt;/P&gt;&lt;P&gt;        CLEAR u_message.&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;        IF l_initial EQ c_x.               "'X'&lt;/P&gt;&lt;P&gt;          IF doktl-dokformat NE c_as AND   " 'AS'&lt;/P&gt;&lt;P&gt;             doktl-dokformat NE  space.&lt;/P&gt;&lt;P&gt;            EXIT.&lt;/P&gt;&lt;P&gt;          ELSE.&lt;/P&gt;&lt;P&gt;            DO.&lt;/P&gt;&lt;P&gt;              REPLACE c_ampv INTO doktl-doktext WITH c_amp. " '&amp;amp;V' '&amp;amp;'&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;              IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;                EXIT.&lt;/P&gt;&lt;P&gt;              ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            ENDDO.&lt;/P&gt;&lt;P&gt;            CONCATENATE u_message doktl-doktext&lt;/P&gt;&lt;P&gt;                   INTO u_message&lt;/P&gt;&lt;P&gt;                   SEPARATED BY space.&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;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDSELECT.&lt;/P&gt;&lt;P&gt;    IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;      SHIFT u_message LEFT DELETING LEADING space.&lt;/P&gt;&lt;P&gt;    ENDIF.&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;replace variables in the long text with the return message variables&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  DO.&lt;/P&gt;&lt;P&gt;    l_variable = sy-index.&lt;/P&gt;&lt;P&gt;    CONDENSE l_variable NO-GAPS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CONCATENATE c_amp l_variable c_amp INTO l_variable.    " '&amp;amp;'&lt;/P&gt;&lt;P&gt;    l_length = strlen( l_variable ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CASE sy-index.&lt;/P&gt;&lt;P&gt;      WHEN 1.&lt;/P&gt;&lt;P&gt;        REPLACE l_variable length l_length WITH u_msgv1 into u_message.&lt;/P&gt;&lt;P&gt;        condense u_message.&lt;/P&gt;&lt;P&gt;        IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;          EXIT.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      WHEN 2.&lt;/P&gt;&lt;P&gt;        REPLACE l_variable length l_length INTO u_message WITH u_msgv2.&lt;/P&gt;&lt;P&gt;        condense u_msgv2.&lt;/P&gt;&lt;P&gt;        IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;          EXIT.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      WHEN 3.&lt;/P&gt;&lt;P&gt;        REPLACE l_variable length l_length INTO u_message WITH u_msgv3.&lt;/P&gt;&lt;P&gt;        condense u_msgv3.&lt;/P&gt;&lt;P&gt;        IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;          EXIT.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      WHEN 4.&lt;/P&gt;&lt;P&gt;        REPLACE l_variable length l_length INTO u_message WITH u_msgv4.&lt;/P&gt;&lt;P&gt;        condense u_msgv4.&lt;/P&gt;&lt;P&gt;        IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;          EXIT.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      WHEN OTHERS.&lt;/P&gt;&lt;P&gt;        EXIT.&lt;/P&gt;&lt;P&gt;    ENDCASE.&lt;/P&gt;&lt;P&gt;  ENDDO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " extract_longtext&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*PVU-20-May-2004 - Start Changes for SCR1&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  get_constant&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;      Get the constant value from table ZCONSTANTS_NEW&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;U_CONST_NAME   Name of constant&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;U_COMP_CODE    Company code&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     &amp;lt;--CH_CONST_VAL   Value of constant&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     &amp;lt;--CH_RET         SY-SUBRC value&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM get_constant USING    u_const_name TYPE zconstname&lt;/P&gt;&lt;P&gt;                           u_comp_code  TYPE bukrs&lt;/P&gt;&lt;P&gt;                  CHANGING ch_const_val TYPE zconstval&lt;/P&gt;&lt;P&gt;                           ch_ret       TYPE sy-subrc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*The constant value retrieval function module&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'ZXA_GET_CONSTANT'&lt;/P&gt;&lt;P&gt;       EXPORTING&lt;/P&gt;&lt;P&gt;            const_name     = u_const_name&lt;/P&gt;&lt;P&gt;            comp_code      = u_comp_code&lt;/P&gt;&lt;P&gt;       IMPORTING&lt;/P&gt;&lt;P&gt;            const_value    = ch_const_val&lt;/P&gt;&lt;P&gt;       EXCEPTIONS&lt;/P&gt;&lt;P&gt;            no_value_found = 1&lt;/P&gt;&lt;P&gt;            null_value     = 2&lt;/P&gt;&lt;P&gt;            OTHERS         = 3.&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;    ch_ret = sy-subrc.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    ch_ret = 0.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " get_constant&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  idoc_create&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;      Create IDOC if BAPI fails&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 idoc_create TABLES t_poitem STRUCTURE bapimepoitem&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                       t_itemx_tmp STRUCTURE bapimepoitemx&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                       t_poaddrdelivery STRUCTURE bapimepoaddrdelivery&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                       t_poschedule STRUCTURE bapimeposchedule&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                       t_schdx_tmp STRUCTURE bapimeposchedulx&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                       t_poaccount STRUCTURE bapimepoaccount&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                       t_poaccountprofitsegment STRUCTURE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                         bapimepoaccountprofitsegment&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                       t_accntx_tmp STRUCTURE bapimepoaccountx&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                       t_pocond STRUCTURE bapimepocond&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                       t_condx_tmp STRUCTURE bapimepocondx&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                       t_polimits STRUCTURE bapiesuhc&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                       t_pocontractlimits STRUCTURE bapiesucc&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                       t_poservices STRUCTURE bapiesllc&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                       t_posrvaccessvalues STRUCTURE bapiesklc&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                       t_poservicestext STRUCTURE bapieslltx&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                       t_extensionin STRUCTURE bapiparex&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                       t_return_msg  STRUCTURE bapiret2&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                USING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                       u_flg_create_change TYPE c&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                       u_purchaseorder LIKE bapimepoheader-po_number&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                       u_poheader STRUCTURE bapimepoheader&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                       u_hdrx_tmp STRUCTURE bapimepoheaderx&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                       u_poaddrvendor STRUCTURE bapimepoaddrvendor&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                       u_testrun LIKE  bapiflag-bapiflag&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                       u_memory_uncomplete LIKE  bapiflag-bapiflag&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                       u_memory_complete LIKE  bapiflag-bapiflag.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;**----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;**&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;       Local variables&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&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; DATA:   l_bukrs_val    TYPE  zconstval,       "Company Code value&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         l_bukrs        TYPE  bukrs,           "Company code&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         l_sndpor       TYPE  zconstval,       "Sender Port&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         l_sndprt       TYPE  zconstval,       "Sender Partner Type&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         l_sndprn       TYPE  zconstval,       "Sender Partner No&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         l_rcvpor       TYPE  zconstval,       "Receiver Port&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         l_rcvprt       TYPE  zconstval,       "Receiver Partner Type&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         l_rcvprn       TYPE  zconstval,       "Receiver Partner No&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         l_dist_list    TYPE  zconstval,       "Distribution List&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         l_sy_subrc     LIKE  sy-subrc,        "Return value&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         l_subline(35)  TYPE  c,               "Subject Line&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         l_errmsg(200)  TYPE  c.               "Error Message&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;**----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;**&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;       Internal Tables/Ranges&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;**----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;**&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;Table to store error messages&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; RANGES : t_errmsg FOR l_errmsg.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;create IDoc control-record&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; CASE u_flg_create_change.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   WHEN c_flg_pocreate.                          "CREA&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     w_idoc_comm-idoctyp = c_create_idoctyp.               "ZMMPOC01&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     w_idoc_comm-mestyp  = c_create_mestyp.      "ZMMPOC&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   WHEN c_flg_pochange.                          "CHNG&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     w_idoc_comm-idoctyp = c_change_idoctyp.               "ZMMPOH01&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     w_idoc_comm-mestyp  = c_change_mestyp.      "ZMMPOH&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; w_idoc_comm-mandt   = sy-mandt.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; w_idoc_comm-docrel  = c_saprel.               "46C&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; w_idoc_comm-direct  = c_idoc_dir.             "2&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;Get constant value of Company Code&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; PERFORM get_constant USING c_bukrs            "ZRP_COMPCODE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                            u_poheader-comp_code&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                      CHANGING l_bukrs_val&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                               l_sy_subrc.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; IF l_sy_subrc = 0.&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;Get constant value of Sender Port&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   l_bukrs = l_bukrs_val.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   PERFORM get_constant USING c_sndpor         "ZRP_SNDPOR&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                              l_bukrs&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                        CHANGING l_sndpor&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                 l_sy_subrc.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IF l_sy_subrc = 0.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     w_idoc_comm-sndpor  = l_sndpor.&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;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;Get constant value of Sender Partner type&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   PERFORM get_constant USING c_sndprt         "ZRP_SNDPRT&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                              l_bukrs&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                        CHANGING l_sndprt&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                 l_sy_subrc.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IF l_sy_subrc = 0.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     w_idoc_comm-sndprt  = l_sndprt.&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;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;Get constant value of sender partner number&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   PERFORM get_constant USING c_sndprn         "ZRP_SNDPRN&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                              l_bukrs&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                        CHANGING l_sndprn&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                 l_sy_subrc.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IF l_sy_subrc = 0.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     w_idoc_comm-sndprn  = l_sndprn.&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;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;Get constant value of Receiver port&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   PERFORM get_constant USING c_rcvpor         "ZRP_RCVPOR&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                              l_bukrs&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                        CHANGING l_rcvpor&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                 l_sy_subrc.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IF l_sy_subrc = 0.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     w_idoc_comm-rcvpor  = l_rcvpor.&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;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;Get constant value of Receiver partner type&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   PERFORM get_constant USING c_rcvprt         "ZRP_RCVPRT&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                              l_bukrs&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                        CHANGING l_rcvprt&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                 l_sy_subrc.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IF l_sy_subrc = 0.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     w_idoc_comm-rcvprt  = l_rcvprt.&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;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;Get constant value of Receiver partner number&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   PERFORM get_constant USING c_rcvprn         "ZRP_RCVPRN&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                              l_bukrs&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                        CHANGING l_rcvprn&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                 l_sy_subrc.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IF l_sy_subrc = 0.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     w_idoc_comm-rcvprn  = l_rcvprn.&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; CLEAR: w_syst_info, g_t_idoc_data.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; REFRESH g_t_idoc_data.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;call subroutine to create IDoc data-record&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; IF u_flg_create_change = c_flg_pocreate.      "CREA&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   PERFORM zidoc_po_create1&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_poitem&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             t_itemx_tmp&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             t_poaddrdelivery&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             t_poschedule&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             t_schdx_tmp&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             t_poaccount&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             t_poaccountprofitsegment&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             t_accntx_tmp&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             t_pocond&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             t_condx_tmp&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             t_polimits&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             t_pocontractlimits&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             t_poservices&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             t_posrvaccessvalues&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             t_poservicestext&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             t_extensionin&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             g_t_idoc_data&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         USING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             u_poheader&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             u_hdrx_tmp&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             u_poaddrvendor&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             u_testrun&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             u_memory_uncomplete&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             u_memory_complete&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             w_syst_info.&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; ELSEIF u_flg_create_change = c_flg_pochange.  "CHNG&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   PERFORM zidoc_po_change&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_poitem&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;               t_itemx_tmp&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;               t_poaddrdelivery&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;               t_poschedule&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;               t_schdx_tmp&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;               t_poaccount&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;               t_poaccountprofitsegment&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;               t_accntx_tmp&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;               t_pocond&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;               t_condx_tmp&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;               t_polimits&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;               t_pocontractlimits&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;               t_poservices&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;               t_posrvaccessvalues&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;               t_poservicestext&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;               t_extensionin&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;               g_t_idoc_data&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           USING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;               u_purchaseorder&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;               u_poheader&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;               u_hdrx_tmp&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;               u_poaddrvendor&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;               u_testrun&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;               u_memory_uncomplete&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;               u_memory_complete&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;               w_syst_info.&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;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;**Call Function to create and post the IDOC&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; CALL FUNCTION 'IDOC_INBOUND_SINGLE'&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;           pi_idoc_control_rec_40  = w_idoc_comm&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;           pe_idoc_number          = g_idoc_no&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;           pt_idoc_data_records_40 = g_t_idoc_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;           idoc_not_saved          = 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;UL&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;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt; IDOC_INBOUND_SINGLE failed. IDOC can not be created.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   MESSAGE e000(z001) WITH text-004.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; ELSE.&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;Get constant value of Distribution list&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   PERFORM get_constant USING c_dist_list      "ZRP_DISTLIST&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                              l_bukrs&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                        CHANGING l_dist_list&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                 l_sy_subrc.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IF l_sy_subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt; Distribution list does not exist&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     MESSAGE e000(z001) WITH text-001.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   ELSE.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;**Subject Line&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     CASE u_flg_create_change.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       WHEN c_flg_pocreate.                      "CREA&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;**PO CREATE failed for PO&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         CONCATENATE text-005&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                     u_poheader-po_number&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                     INTO l_subline&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                     SEPARATED BY space.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       WHEN c_flg_pochange.                      "CHNG&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;**PO change failed for PO&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         CONCATENATE text-002&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                     u_purchaseorder&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                     INTO l_subline&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                     SEPARATED BY space.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     ENDCASE.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;**Generate Error Message table to display along with message in inbox.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     CLEAR t_errmsg.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     REFRESH t_errmsg.&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_errmsg-sign = c_sign.                         "I&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     t_errmsg-option = c_option.                     "EQ&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;**Error Messages :&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     t_errmsg-low = text-006.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     APPEND t_errmsg.&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;     CLEAR t_errmsg-low.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     LOOP AT t_return_msg&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             WHERE type = c_msgtype_e.               "E&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       t_errmsg-low = t_return_msg-message.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       APPEND t_errmsg.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       CLEAR t_errmsg-low.&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;**IDOC number posted is&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     CONCATENATE text-003&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                 g_idoc_no&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                 INTO l_errmsg&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                 SEPARATED BY space.&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_errmsg-low = l_errmsg.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     APPEND t_errmsg.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;**Notify users in distribution list of the failure&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     SUBMIT z_util_notify_distlist AND RETURN&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     WITH  p_rgroup    = l_dist_list&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     WITH  p_objdes    = l_subline&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     WITH  s_msg       IN t_errmsg&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     WITH  p_idocno    = g_idoc_no.&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;*ENDFORM.                    " idoc_create&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  ZIDOC_PO_CHANGE&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;      CREATE IDOC DATA RECORD FOR PO CHANGE&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 zidoc_po_change&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    TABLES poitem STRUCTURE bapimepoitem&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           poitemx STRUCTURE bapimepoitemx&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           poaddrdelivery STRUCTURE bapimepoaddrdelivery&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           poschedule STRUCTURE bapimeposchedule&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           poschedulex STRUCTURE bapimeposchedulx&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           poaccount STRUCTURE bapimepoaccount&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           poaccountprofitsegment STRUCTURE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                               bapimepoaccountprofitsegment&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           poaccountx STRUCTURE bapimepoaccountx&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           pocond STRUCTURE bapimepocond&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           pocondx STRUCTURE bapimepocondx&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           polimits STRUCTURE bapiesuhc&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           pocontractlimits STRUCTURE bapiesucc&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           poservices STRUCTURE bapiesllc&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           posrvaccessvalues STRUCTURE bapiesklc&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           poservicestext STRUCTURE bapieslltx&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           extensionin STRUCTURE bapiparex&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           idoc_data STRUCTURE edi_dd40&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    USING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           purchaseorder LIKE bapimepoheader-po_number&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           poheader LIKE bapimepoheader&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           poheaderx LIKE bapimepoheaderx&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           poaddrvendor LIKE bapimepoaddrvendor&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           testrun LIKE bapiflag-bapiflag&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           memoryuncomplete LIKE bapiflag-bapiflag&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           memorycomplete LIKE bapiflag-bapiflag&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           syst_info LIKE syst   .&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; DATA:  z1zmmpoh LIKE z1zmmpoh.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; DATA:  z1bpmepoheader LIKE z1bpmepoheader.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; DATA:  z1bpmepoheaderx LIKE z1bpmepoheaderx.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; DATA:  z1bpmepoaddrvendor LIKE z1bpmepoaddrvendor.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; DATA:  z1bpmepoaddrvendor1 LIKE z1bpmepoaddrvendor1.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; DATA:  z1bpmepoitem LIKE z1bpmepoitem.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; DATA:  z1bpmepoitemx LIKE z1bpmepoitemx.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; DATA:  z1bpmepoaddrdelivery LIKE z1bpmepoaddrdelivery.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; DATA:  z1bpmepoaddrdelivery1 LIKE z1bpmepoaddrdelivery1.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; DATA:  z1bpmeposchedule LIKE z1bpmeposchedule.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; DATA:  z1bpmeposchedulx LIKE z1bpmeposchedulx.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; DATA:  z1bpmepoaccount LIKE z1bpmepoaccount.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; DATA:  z1bpmepoaccountprofitsegmen LIKE z1bpmepoaccountprofitsegmen.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; DATA:  z1bpmepoaccountx LIKE z1bpmepoaccountx.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; DATA:  z1bpmepocond LIKE z1bpmepocond.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; DATA:  z1bpmepocondx LIKE z1bpmepocondx.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; DATA:  e1bpesuhc LIKE e1bpesuhc.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; DATA:  e1bpesucc LIKE e1bpesucc.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; DATA:  e1bpesllc LIKE e1bpesllc.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; DATA:  e1bpesklc LIKE e1bpesklc.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; DATA:  e1bpeslltx LIKE e1bpeslltx.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; DATA:  e1bpparex LIKE e1bpparex.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;go through all IDoc-segments&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;**&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;for segment 'Z1ZMMPOH'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;**&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; CLEAR: z1zmmpoh,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        idoc_data.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; MOVE purchaseorder&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   TO z1zmmpoh-purchaseorder.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; MOVE testrun&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   TO z1zmmpoh-testrun.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; MOVE memoryuncomplete&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   TO z1zmmpoh-memory_uncomplete.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; MOVE memorycomplete&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   TO z1zmmpoh-memory_complete.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; idoc_data-sdata  = z1zmmpoh.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; idoc_data-segnam = c_z1zmmpoh.                            "Z1ZMMPOH&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; APPEND idoc_data.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;  for segment 'Z1BPMEPOHEADER'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;**&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; CLEAR: z1bpmepoheader,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        idoc_data.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; MOVE-CORRESPONDING poheader&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                 TO z1bpmepoheader.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; IF NOT z1bpmepoheader IS INITIAL.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CONDENSE z1bpmepoheader-dscnt1_to.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CONDENSE z1bpmepoheader-dscnt2_to.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CONDENSE z1bpmepoheader-dscnt3_to.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CONDENSE z1bpmepoheader-dsct_pct1.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CONDENSE z1bpmepoheader-dsct_pct2.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CONDENSE z1bpmepoheader-exch_rate.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   idoc_data-sdata = z1bpmepoheader.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   idoc_data-segnam = c_z1bpmepoheader.             "Z1BPMEPOHEADER&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   APPEND idoc_data.&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;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;  for segment 'Z1BPMEPOHEADERX'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;**&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; CLEAR: z1bpmepoheaderx,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        idoc_data.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; MOVE-CORRESPONDING poheaderx&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                 TO z1bpmepoheaderx.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; IF NOT z1bpmepoheaderx IS INITIAL.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   idoc_data-sdata = z1bpmepoheaderx.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   idoc_data-segnam = c_z1bpmepoheaderx.            "Z1BPMEPOHEADERX.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   APPEND idoc_data.&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;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;  for segment 'Z1BPMEPOADDRVENDOR'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;**&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; CLEAR: z1bpmepoaddrvendor,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        idoc_data.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; MOVE-CORRESPONDING poaddrvendor&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                 TO z1bpmepoaddrvendor.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; idoc_data-sdata = z1bpmepoaddrvendor.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; idoc_data-segnam = c_z1bpmepoaddrvendor.          "Z1BPMEPOADDRVENDOR&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; APPEND idoc_data.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;    for segment 'Z1BPMEPOADDRVENDOR1'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;**&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; CLEAR: z1bpmepoaddrvendor1,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        idoc_data.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; MOVE-CORRESPONDING poaddrvendor&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                 TO z1bpmepoaddrvendor1.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; idoc_data-sdata = z1bpmepoaddrvendor1.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; idoc_data-segnam = c_z1bpmepoaddrvendor1.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*"Z1BPMEPOADDRVENDOR1&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; APPEND idoc_data.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;  for segment 'Z1BPMEPOITEM'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;**&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; LOOP AT poitem&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            .&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CLEAR: z1bpmepoitem,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          idoc_data.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   MOVE-CORRESPONDING poitem&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                   TO z1bpmepoitem.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CONDENSE z1bpmepoitem-quantity.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CONDENSE z1bpmepoitem-conv_num1.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CONDENSE z1bpmepoitem-conv_den1.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CONDENSE z1bpmepoitem-net_price.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CONDENSE z1bpmepoitem-price_unit.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CONDENSE z1bpmepoitem-gr_pr_time.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CONDENSE z1bpmepoitem-reminder1.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CONDENSE z1bpmepoitem-reminder2.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CONDENSE z1bpmepoitem-reminder3.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CONDENSE z1bpmepoitem-over_dlv_tol.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CONDENSE z1bpmepoitem-under_dlv_tol.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CONDENSE z1bpmepoitem-plan_del.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CONDENSE z1bpmepoitem-net_weight.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CONDENSE z1bpmepoitem-gross_wt.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CONDENSE z1bpmepoitem-volume.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CONDENSE z1bpmepoitem-points.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CONDENSE z1bpmepoitem-minremlife.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   idoc_data-sdata = z1bpmepoitem.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   idoc_data-segnam = c_z1bpmepoitem.               "Z1BPMEPOITEM&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   APPEND idoc_data.&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;*&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;  for segment 'Z1BPMEPOITEMX'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;**&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; LOOP AT poitemx&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            .&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CLEAR: z1bpmepoitemx,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          idoc_data.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   MOVE-CORRESPONDING poitemx&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                   TO z1bpmepoitemx.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   idoc_data-sdata = z1bpmepoitemx.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   idoc_data-segnam = c_z1bpmepoitemx.              "Z1BPMEPOITEMX&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   APPEND idoc_data.&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;*&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;  for segment 'Z1BPMEPOADDRDELIVERY'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;**&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; LOOP AT poaddrdelivery&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            .&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CLEAR: z1bpmepoaddrdelivery,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          idoc_data.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   MOVE-CORRESPONDING poaddrdelivery&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                   TO z1bpmepoaddrdelivery.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   idoc_data-sdata = z1bpmepoaddrdelivery.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   idoc_data-segnam = c_z1bpmepoaddrdelivery.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*"Z1BPMEPOADDRDELIVERY&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   APPEND idoc_data.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;    for segment 'Z1BPMEPOADDRDELIVERY1'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;**&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CLEAR: z1bpmepoaddrdelivery1,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          idoc_data.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   MOVE-CORRESPONDING poaddrdelivery&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                   TO z1bpmepoaddrdelivery1.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   idoc_data-sdata = z1bpmepoaddrdelivery1.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   idoc_data-segnam = c_z1bpmepoaddrdelivery1.  "Z1BPMEPOADDRDELIVERY1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   APPEND idoc_data.&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;*&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;  for segment 'Z1BPMEPOSCHEDULE'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;**&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; LOOP AT poschedule&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            .&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CLEAR: z1bpmeposchedule,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          idoc_data.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   MOVE-CORRESPONDING poschedule&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                   TO z1bpmeposchedule.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CONDENSE z1bpmeposchedule-quantity.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   idoc_data-sdata = z1bpmeposchedule.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   idoc_data-segnam = c_z1bpmeposchedule.          "Z1BPMEPOSCHEDULE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   APPEND idoc_data.&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;*&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;  for segment 'Z1BPMEPOSCHEDULX'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;**&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; LOOP AT poschedulex&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            .&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CLEAR: z1bpmeposchedulx,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          idoc_data.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   MOVE-CORRESPONDING poschedulex&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                   TO z1bpmeposchedulx.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   idoc_data-sdata = z1bpmeposchedulx.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   idoc_data-segnam = c_z1bpmeposchedulx.          "Z1BPMEPOSCHEDULX&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   APPEND idoc_data.&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;*&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;  for segment 'Z1BPMEPOACCOUNT'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;**&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; LOOP AT poaccount&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            .&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CLEAR: z1bpmepoaccount,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          idoc_data.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   MOVE-CORRESPONDING poaccount&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                   TO z1bpmepoaccount.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CONDENSE z1bpmepoaccount-quantity.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CONDENSE z1bpmepoaccount-distr_perc.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CONDENSE z1bpmepoaccount-net_value.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CONDENSE z1bpmepoaccount-nond_itax.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   idoc_data-sdata = z1bpmepoaccount.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   idoc_data-segnam = c_z1bpmepoaccount.             "Z1BPMEPOACCOUNT&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   APPEND idoc_data.&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;*&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;  for segment 'Z1BPMEPOACCOUNTPROFITSEGMEN'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;**&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; LOOP AT poaccountprofitsegment&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            .&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CLEAR: z1bpmepoaccountprofitsegmen,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          idoc_data.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   MOVE-CORRESPONDING poaccountprofitsegment&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                   TO z1bpmepoaccountprofitsegmen.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   idoc_data-sdata = z1bpmepoaccountprofitsegmen.&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;                                       "Z1BPMEPOACCOUNTPROFITSEGMEN&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   idoc_data-segnam = c_z1bpmepoaccountprofitsegmen.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   APPEND idoc_data.&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;*&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;  for segment 'Z1BPMEPOACCOUNTX'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;**&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; LOOP AT poaccountx&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            .&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CLEAR: z1bpmepoaccountx,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          idoc_data.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   MOVE-CORRESPONDING poaccountx&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                   TO z1bpmepoaccountx.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   idoc_data-sdata = z1bpmepoaccountx.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   idoc_data-segnam = c_z1bpmepoaccountx.           "Z1BPMEPOACCOUNTX&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   APPEND idoc_data.&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;*&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;  for segment 'Z1BPMEPOCOND'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;**&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; LOOP AT pocond&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            .&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CLEAR: z1bpmepocond,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          idoc_data.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   MOVE-CORRESPONDING pocond&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                   TO z1bpmepocond.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CONDENSE z1bpmepocond-cond_value.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CONDENSE z1bpmepocond-cond_p_unt.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CONDENSE z1bpmepocond-conbaseval.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CONDENSE z1bpmepocond-conexchrat.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CONDENSE z1bpmepocond-numconvert.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CONDENSE z1bpmepocond-denominato.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CONDENSE z1bpmepocond-scalbasval.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   idoc_data-sdata = z1bpmepocond.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   idoc_data-segnam = c_z1bpmepocond.               "Z1BPMEPOCOND&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   APPEND idoc_data.&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;*&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;  for segment 'Z1BPMEPOCONDX'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;**&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; LOOP AT pocondx&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            .&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CLEAR: z1bpmepocondx,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          idoc_data.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   MOVE-CORRESPONDING pocondx&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                   TO z1bpmepocondx.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   idoc_data-sdata = z1bpmepocondx.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   idoc_data-segnam = c_z1bpmepocondx.              "Z1BPMEPOCONDX&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   APPEND idoc_data.&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;*&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;  for segment 'E1BPESUHC'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;**&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; LOOP AT polimits&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            .&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CLEAR: e1bpesuhc,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          idoc_data.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   MOVE-CORRESPONDING polimits&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                   TO e1bpesuhc.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CONDENSE e1bpesuhc-limit.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CONDENSE e1bpesuhc-exp_value.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CONDENSE e1bpesuhc-free_limit.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CONDENSE e1bpesuhc-ssc_limit.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CONDENSE e1bpesuhc-ssc_perc.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CONDENSE e1bpesuhc-tmp_limit.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CONDENSE e1bpesuhc-tmp_perc.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CONDENSE e1bpesuhc-cont_perc.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   idoc_data-sdata = e1bpesuhc.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   idoc_data-segnam = c_e1bpesuhc.                         "E1BPESUHC&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   APPEND idoc_data.&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;*&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;  for segment 'E1BPESUCC'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;**&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; LOOP AT pocontractlimits&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            .&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CLEAR: e1bpesucc,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          idoc_data.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   MOVE-CORRESPONDING pocontractlimits&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                   TO e1bpesucc.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CONDENSE e1bpesucc-limit.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   idoc_data-sdata = e1bpesucc.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   idoc_data-segnam = c_e1bpesucc.                         "E1BPESUCC&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   APPEND idoc_data.&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;*&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;  for segment 'E1BPESLLC'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;**&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; LOOP AT poservices&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            .&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CLEAR: e1bpesllc,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          idoc_data.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   MOVE-CORRESPONDING poservices&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                   TO e1bpesllc.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CONDENSE e1bpesllc-outl_level.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CONDENSE e1bpesllc-quantity.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CONDENSE e1bpesllc-ovf_tol.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CONDENSE e1bpesllc-price_unit.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CONDENSE e1bpesllc-gr_price.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CONDENSE e1bpesllc-target_val.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CONDENSE e1bpesllc-form_val1.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CONDENSE e1bpesllc-form_val2.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CONDENSE e1bpesllc-form_val3.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CONDENSE e1bpesllc-form_val4.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CONDENSE e1bpesllc-form_val5.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CONDENSE e1bpesllc-userf2_num.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   idoc_data-sdata = e1bpesllc.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   idoc_data-segnam = c_e1bpesllc.                         "E1BPESLLC&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   APPEND idoc_data.&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;*&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;  for segment 'E1BPESKLC'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;**&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; LOOP AT posrvaccessvalues&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            .&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CLEAR: e1bpesklc,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          idoc_data.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   MOVE-CORRESPONDING posrvaccessvalues&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                   TO e1bpesklc.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CONDENSE e1bpesklc-percentage.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   idoc_data-sdata = e1bpesklc.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   idoc_data-segnam = c_e1bpesklc.                         "E1BPESKLC&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   APPEND idoc_data.&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;*&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;  for segment 'E1BPESLLTX'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;**&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; LOOP AT poservicestext&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            .&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CLEAR: e1bpeslltx,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          idoc_data.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   MOVE-CORRESPONDING poservicestext&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                   TO e1bpeslltx.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   idoc_data-sdata = e1bpeslltx.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   idoc_data-segnam = c_e1bpeslltx.                        "E1BPESLLTX&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   APPEND idoc_data.&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;*&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;  for segment 'E1BPPAREX'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;**&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; LOOP AT extensionin&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            .&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CLEAR: e1bpparex,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          idoc_data.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   MOVE-CORRESPONDING extensionin&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                   TO e1bpparex.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   idoc_data-sdata = e1bpparex.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   idoc_data-segnam = c_e1bpparex.                         "E1BPPAREX&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   APPEND idoc_data.&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;*&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;end of through all IDoc-segments&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;**&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*ENDFORM.                               " ZIDOC_PO_CHANGE&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  ZIDOC_PO_CREATE1&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;      CREATE IDOC DATA RECORD FOR PO CREATE1&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 zidoc_po_create1&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    TABLES poitem STRUCTURE bapimepoitem&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           poitemx STRUCTURE bapimepoitemx&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           poaddrdelivery STRUCTURE bapimepoaddrdelivery&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           poschedule STRUCTURE bapimeposchedule&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           poschedulex STRUCTURE bapimeposchedulx&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           poaccount STRUCTURE bapimepoaccount&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           poaccountprofitsegment STRUCTURE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                           bapimepoaccountprofitsegment&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           poaccountx STRUCTURE bapimepoaccountx&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           pocond STRUCTURE bapimepocond&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           pocondx STRUCTURE bapimepocondx&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           polimits STRUCTURE bapiesuhc&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           pocontractlimits STRUCTURE bapiesucc&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           poservices STRUCTURE bapiesllc&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           posrvaccessvalues STRUCTURE bapiesklc&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           poservicestext STRUCTURE bapieslltx&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           extensionin STRUCTURE bapiparex&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           idoc_data STRUCTURE edi_dd40&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    USING  poheader LIKE bapimepoheader&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           poheaderx LIKE bapimepoheaderx&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           poaddrvendor LIKE bapimepoaddrvendor&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           testrun LIKE bapiflag-bapiflag&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           memoryuncomplete LIKE bapiflag-bapiflag&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           memorycomplete LIKE bapiflag-bapiflag&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           syst_info LIKE syst      .&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; DATA:  z1zmmpoc LIKE z1zmmpoc.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; DATA:  z1bpmepoheader LIKE z1bpmepoheader.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; DATA:  z1bpmepoheaderx LIKE z1bpmepoheaderx.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; DATA:  z1bpmepoaddrvendor LIKE z1bpmepoaddrvendor.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; DATA:  z1bpmepoaddrvendor1 LIKE z1bpmepoaddrvendor1.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; DATA:  z1bpmepoitem LIKE z1bpmepoitem.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; DATA:  z1bpmepoitemx LIKE z1bpmepoitemx.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; DATA:  z1bpmepoaddrdelivery LIKE z1bpmepoaddrdelivery.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; DATA:  z1bpmepoaddrdelivery1 LIKE z1bpmepoaddrdelivery1.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; DATA:  z1bpmeposchedule LIKE z1bpmeposchedule.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; DATA:  z1bpmeposchedulx LIKE z1bpmeposchedulx.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; DATA:  z1bpmepoaccount LIKE z1bpmepoaccount.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; DATA:  z1bpmepoaccountprofitsegmen LIKE z1bpmepoaccountprofitsegmen.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; DATA:  z1bpmepoaccountx LIKE z1bpmepoaccountx.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; DATA:  z1bpmepocond LIKE z1bpmepocond.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; DATA:  z1bpmepocondx LIKE z1bpmepocondx.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; DATA:  e1bpesuhc LIKE e1bpesuhc.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; DATA:  e1bpesucc LIKE e1bpesucc.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; DATA:  e1bpesllc LIKE e1bpesllc.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; DATA:  e1bpesklc LIKE e1bpesklc.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; DATA:  e1bpeslltx LIKE e1bpeslltx.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; DATA:  e1bpparex LIKE e1bpparex.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;go through all IDoc-segments&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;**&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;for segment 'Z1ZMMPOC'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;**&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; CLEAR: z1zmmpoc,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        idoc_data.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; MOVE testrun&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   TO z1zmmpoc-testrun.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; MOVE memoryuncomplete&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   TO z1zmmpoc-memory_uncomplete.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; MOVE memorycomplete&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   TO z1zmmpoc-memory_complete.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; idoc_data-sdata  = z1zmmpoc.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; idoc_data-segnam = c_z1zmmpoc.                            "Z1ZMMPOC&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; APPEND idoc_data.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;  for segment 'Z1BPMEPOHEADER'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;**&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; CLEAR: z1bpmepoheader,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        idoc_data.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; MOVE-CORRESPONDING poheader&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                 TO z1bpmepoheader.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; IF NOT z1bpmepoheader IS INITIAL.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CONDENSE z1bpmepoheader-dscnt1_to.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CONDENSE z1bpmepoheader-dscnt2_to.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CONDENSE z1bpmepoheader-dscnt3_to.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CONDENSE z1bpmepoheader-dsct_pct1.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CONDENSE z1bpmepoheader-dsct_pct2.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CONDENSE z1bpmepoheader-exch_rate.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   idoc_data-sdata = z1bpmepoheader.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   idoc_data-segnam = c_z1bpmepoheader.           "Z1BPMEPOHEADER&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   APPEND idoc_data.&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;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;  for segment 'Z1BPMEPOHEADERX'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;**&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; CLEAR: z1bpmepoheaderx,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        idoc_data.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; MOVE-CORRESPONDING poheaderx&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                 TO z1bpmepoheaderx.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; IF NOT z1bpmepoheaderx IS INITIAL.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   idoc_data-sdata = z1bpmepoheaderx.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   idoc_data-segnam = c_z1bpmepoheaderx.          "Z1BPMEPOHEADERX&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   APPEND idoc_data.&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;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;  for segment 'Z1BPMEPOADDRVENDOR'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;**&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; CLEAR: z1bpmepoaddrvendor,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        idoc_data.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; MOVE-CORRESPONDING poaddrvendor&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                 TO z1bpmepoaddrvendor.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; idoc_data-sdata = z1bpmepoaddrvendor.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; idoc_data-segnam = c_z1bpmepoaddrvendor.      "Z1BPMEPOADDRVENDOR&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; APPEND idoc_data.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;    for segment 'Z1BPMEPOADDRVENDOR1'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;**&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; CLEAR: z1bpmepoaddrvendor1,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        idoc_data.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; MOVE-CORRESPONDING poaddrvendor&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                 TO z1bpmepoaddrvendor1.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; idoc_data-sdata = z1bpmepoaddrvendor1.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; idoc_data-segnam = c_z1bpmepoaddrvendor1.   "Z1BPMEPOADDRVENDOR1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; APPEND idoc_data.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;  for segment 'Z1BPMEPOITEM'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;**&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; LOOP AT poitem&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            .&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CLEAR: z1bpmepoitem,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          idoc_data.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   MOVE-CORRESPONDING poitem&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                   TO z1bpmepoitem.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CONDENSE z1bpmepoitem-quantity.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CONDENSE z1bpmepoitem-conv_num1.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CONDENSE z1bpmepoitem-conv_den1.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CONDENSE z1bpmepoitem-net_price.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CONDENSE z1bpmepoitem-price_unit.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CONDENSE z1bpmepoitem-gr_pr_time.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CONDENSE z1bpmepoitem-reminder1.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CONDENSE z1bpmepoitem-reminder2.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CONDENSE z1bpmepoitem-reminder3.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CONDENSE z1bpmepoitem-over_dlv_tol.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CONDENSE z1bpmepoitem-under_dlv_tol.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CONDENSE z1bpmepoitem-plan_del.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CONDENSE z1bpmepoitem-net_weight.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CONDENSE z1bpmepoitem-gross_wt.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CONDENSE z1bpmepoitem-volume.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CONDENSE z1bpmepoitem-points.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CONDENSE z1bpmepoitem-minremlife.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   idoc_data-sdata = z1bpmepoitem.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   idoc_data-segnam = c_z1bpmepoitem.             "Z1BPMEPOITEM&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   APPEND idoc_data.&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;*&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;  for segment 'Z1BPMEPOITEMX'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;**&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; LOOP AT poitemx&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            .&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CLEAR: z1bpmepoitemx,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          idoc_data.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   MOVE-CORRESPONDING poitemx&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                   TO z1bpmepoitemx.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   idoc_data-sdata = z1bpmepoitemx.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   idoc_data-segnam = c_z1bpmepoitemx.            "Z1BPMEPOITEMX&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   APPEND idoc_data.&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;*&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;  for segment 'Z1BPMEPOADDRDELIVERY'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;**&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; LOOP AT poaddrdelivery&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            .&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CLEAR: z1bpmepoaddrdelivery,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          idoc_data.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   MOVE-CORRESPONDING poaddrdelivery&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                   TO z1bpmepoaddrdelivery.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   idoc_data-sdata = z1bpmepoaddrdelivery.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   idoc_data-segnam = c_z1bpmepoaddrdelivery.  "Z1BPMEPOADDRDELIVERY&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   APPEND idoc_data.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;    for segment 'Z1BPMEPOADDRDELIVERY1'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;**&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CLEAR: z1bpmepoaddrdelivery1,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          idoc_data.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   MOVE-CORRESPONDING poaddrdelivery&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                   TO z1bpmepoaddrdelivery1.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   idoc_data-sdata = z1bpmepoaddrdelivery1.&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;                                               Z1BPMEPOADDRDELIVERY1&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   idoc_data-segnam = c_z1bpmepoaddrdelivery1.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   APPEND idoc_data.&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;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;  for segment 'Z1BPMEPOSCHEDULE'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;**&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; LOOP AT poschedule&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            .&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CLEAR: z1bpmeposchedule,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          idoc_data.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   MOVE-CORRESPONDING poschedule&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                   TO z1bpmeposchedule.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CONDENSE z1bpmeposchedule-quantity.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   idoc_data-sdata = z1bpmeposchedule.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   idoc_data-segnam = c_z1bpmeposchedule.         "Z1BPMEPOSCHEDULE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   APPEND idoc_data.&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;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;  for segment 'Z1BPMEPOSCHEDULX'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;**&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; LOOP AT poschedulex&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            .&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CLEAR: z1bpmeposchedulx,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          idoc_data.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   MOVE-CORRESPONDING poschedulex&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                   TO z1bpmeposchedulx.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   idoc_data-sdata = z1bpmeposchedulx.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   idoc_data-segnam = c_z1bpmeposchedulx.         "Z1BPMEPOSCHEDULX&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   APPEND idoc_data.&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;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;  for segment 'Z1BPMEPOACCOUNT'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;**&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; LOOP AT poaccount&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            .&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CLEAR: z1bpmepoaccount,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          idoc_data.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   MOVE-CORRESPONDING poaccount&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                   TO z1bpmepoaccount.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CONDENSE z1bpmepoaccount-quantity.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CONDENSE z1bpmepoaccount-distr_perc.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CONDENSE z1bpmepoaccount-net_value.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CONDENSE z1bpmepoaccount-nond_itax.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   idoc_data-sdata = z1bpmepoaccount.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   idoc_data-segnam = c_z1bpmepoaccount.          "Z1BPMEPOACCOUNT&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   APPEND idoc_data.&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;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;  for segment 'Z1BPMEPOACCOUNTPROFITSEGMEN'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;**&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; LOOP AT poaccountprofitsegment&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            .&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CLEAR: z1bpmepoaccountprofitsegmen,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          idoc_data.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   MOVE-CORRESPONDING poaccountprofitsegment&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                   TO z1bpmepoaccountprofitsegmen.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   idoc_data-sdata = z1bpmepoaccountprofitsegmen.&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;                                       Z1BPMEPOACCOUNTPROFITSEGMEN&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   idoc_data-segnam = c_z1bpmepoaccountprofitsegmen.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   APPEND idoc_data.&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;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;  for segment 'Z1BPMEPOACCOUNTX'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;**&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; LOOP AT poaccountx&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            .&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CLEAR: z1bpmepoaccountx,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          idoc_data.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   MOVE-CORRESPONDING poaccountx&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                   TO z1bpmepoaccountx.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   idoc_data-sdata = z1bpmepoaccountx.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   idoc_data-segnam = c_z1bpmepoaccountx.         "Z1BPMEPOACCOUNTX&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   APPEND idoc_data.&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;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;  for segment 'Z1BPMEPOCOND'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;**&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; LOOP AT pocond&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            .&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CLEAR: z1bpmepocond,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          idoc_data.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   MOVE-CORRESPONDING pocond&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                   TO z1bpmepocond.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CONDENSE z1bpmepocond-cond_value.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CONDENSE z1bpmepocond-cond_p_unt.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CONDENSE z1bpmepocond-conbaseval.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CONDENSE z1bpmepocond-conexchrat.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CONDENSE z1bpmepocond-numconvert.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CONDENSE z1bpmepocond-denominato.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CONDENSE z1bpmepocond-scalbasval.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   idoc_data-sdata = z1bpmepocond.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   idoc_data-segnam = c_z1bpmepocond.             "Z1BPMEPOCOND&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   APPEND idoc_data.&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;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;  for segment 'Z1BPMEPOCONDX'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;**&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; LOOP AT pocondx&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            .&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CLEAR: z1bpmepocondx,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          idoc_data.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   MOVE-CORRESPONDING pocondx&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                   TO z1bpmepocondx.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   idoc_data-sdata = z1bpmepocondx.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   idoc_data-segnam = c_z1bpmepocondx.            "Z1BPMEPOCONDX&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   APPEND idoc_data.&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;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;  for segment 'E1BPESUHC'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;**&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; LOOP AT polimits&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            .&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CLEAR: e1bpesuhc,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          idoc_data.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   MOVE-CORRESPONDING polimits&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                   TO e1bpesuhc.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CONDENSE e1bpesuhc-limit.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CONDENSE e1bpesuhc-exp_value.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CONDENSE e1bpesuhc-free_limit.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CONDENSE e1bpesuhc-ssc_limit.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CONDENSE e1bpesuhc-ssc_perc.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CONDENSE e1bpesuhc-tmp_limit.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CONDENSE e1bpesuhc-tmp_perc.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CONDENSE e1bpesuhc-cont_perc.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   idoc_data-sdata = e1bpesuhc.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   idoc_data-segnam = c_e1bpesuhc.                         "E1BPESUHC&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   APPEND idoc_data.&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;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;  for segment 'E1BPESUCC'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;**&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; LOOP AT pocontractlimits&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            .&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CLEAR: e1bpesucc,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          idoc_data.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   MOVE-CORRESPONDING pocontractlimits&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                   TO e1bpesucc.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CONDENSE e1bpesucc-limit.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   idoc_data-sdata = e1bpesucc.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   idoc_data-segnam = c_e1bpesucc.                         "E1BPESUCC&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   APPEND idoc_data.&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;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;  for segment 'E1BPESLLC'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;**&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; LOOP AT poservices&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            .&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CLEAR: e1bpesllc,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          idoc_data.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   MOVE-CORRESPONDING poservices&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                   TO e1bpesllc.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CONDENSE e1bpesllc-outl_level.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CONDENSE e1bpesllc-quantity.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CONDENSE e1bpesllc-ovf_tol.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CONDENSE e1bpesllc-price_unit.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CONDENSE e1bpesllc-gr_price.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CONDENSE e1bpesllc-target_val.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CONDENSE e1bpesllc-form_val1.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CONDENSE e1bpesllc-form_val2.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CONDENSE e1bpesllc-form_val3.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CONDENSE e1bpesllc-form_val4.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CONDENSE e1bpesllc-form_val5.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CONDENSE e1bpesllc-userf2_num.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   idoc_data-sdata = e1bpesllc.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   idoc_data-segnam = c_e1bpesllc.                         "E1BPESLLC&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   APPEND idoc_data.&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;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;  for segment 'E1BPESKLC'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;**&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; LOOP AT posrvaccessvalues&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            .&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CLEAR: e1bpesklc,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          idoc_data.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   MOVE-CORRESPONDING posrvaccessvalues&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                   TO e1bpesklc.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CONDENSE e1bpesklc-percentage.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   idoc_data-sdata = e1bpesklc.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   idoc_data-segnam = c_e1bpesklc.                         "E1BPESKLC&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   APPEND idoc_data.&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;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;  for segment 'E1BPESLLTX'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;**&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; LOOP AT poservicestext&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            .&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CLEAR: e1bpeslltx,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          idoc_data.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   MOVE-CORRESPONDING poservicestext&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                   TO e1bpeslltx.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   idoc_data-sdata = e1bpeslltx.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   idoc_data-segnam = c_e1bpeslltx.                        "E1BPESLLTX&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   APPEND idoc_data.&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;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;  for segment 'E1BPPAREX'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;**&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; LOOP AT extensionin&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            .&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CLEAR: e1bpparex,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          idoc_data.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   MOVE-CORRESPONDING extensionin&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                   TO e1bpparex.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   idoc_data-sdata = e1bpparex.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   idoc_data-segnam = c_e1bpparex.                         "E1BPPAREX&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   APPEND idoc_data.&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;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;end of through all IDoc-segments&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;**&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*ENDFORM.                               " ZIDOC_PO_CREATE1&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*PVU-20-May-2004 - End Changes for SCR1&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***&lt;STRONG&gt;BV-27-May-2004 - Begin of Changes for SCR2&lt;/STRONG&gt;***&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  get_account_assignment&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;      Retrieve the account assignment value from Z table zacctasgmnt&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      and modify the poitem and poitemx data.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;T_POITEM     PO item  data&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;T_POITEMX    PO itemx data&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;T_POACCOUNT  PO account data&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;T_COMPCODE   Company code&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM get_account_assignment TABLES t_poitem    STRUCTURE bapimepoitem&lt;/P&gt;&lt;P&gt;                                   t_poitemx   STRUCTURE bapimepoitemx&lt;/P&gt;&lt;P&gt;                                   t_poaccount STRUCTURE bapimepoaccount&lt;/P&gt;&lt;P&gt;                                 t_poaccountx STRUCTURE bapimepoaccountx&lt;/P&gt;&lt;P&gt;                                   t_yreturn   STRUCTURE bapiret2&lt;/P&gt;&lt;P&gt;                            USING  t_compcode  TYPE      bukrs&lt;/P&gt;&lt;P&gt;                                   t_poheader  TYPE      bapimepoheader.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: t_acct_assignmt LIKE zacctasgmnt OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: l_acct_present(1) TYPE c,&lt;/P&gt;&lt;P&gt;        l_cc_present(1)   TYPE c,&lt;/P&gt;&lt;P&gt;        l_wbs_present(1)  TYPE c,&lt;/P&gt;&lt;P&gt;        l_acct_assign     TYPE zconstval,&lt;/P&gt;&lt;P&gt;        l_wa_poaccount type bapimepoaccount,&lt;/P&gt;&lt;P&gt;        l_flag(1) type c,&lt;/P&gt;&lt;P&gt;        L_flag1(1) type c,&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;&amp;amp;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; Begin of Addition: 26-Sep-2005 SDUTTARO RD1K910316   *&amp;amp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-------------------------------------------------" /&gt;&amp;amp;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        l_index           TYPE sy-tabix,                           "@SDR&lt;/P&gt;&lt;P&gt;        l_itemindex       TYPE sy-tabix,                           "@SDR&lt;/P&gt;&lt;P&gt;        l_msgv1           TYPE sy-msgv1,                           "@SDR&lt;/P&gt;&lt;P&gt;        l_msgv2           TYPE sy-msgv2,                           "@SDR&lt;/P&gt;&lt;P&gt;        l_constname       TYPE zconstname VALUE 'CONVERSION',      "@SDR&lt;/P&gt;&lt;P&gt;        l_constval        TYPE zconstval                    ,      "@SDR&lt;/P&gt;&lt;P&gt;        l_conv_val        TYPE zconstval                    ,      "@SDR&lt;/P&gt;&lt;P&gt;        l_constname_gr    TYPE zconstname VALUE 'NONVAL_GRIR' ,    "@SDR&lt;/P&gt;&lt;P&gt;        l_constval_gr     TYPE zconstval                    ,      "@SDR&lt;/P&gt;&lt;P&gt;        l_ex_pro_no       TYPE zexprono                     ,      "@SDR&lt;/P&gt;&lt;P&gt;        l_ex_cc           TYPE z_ex_cc                      ,      "@SDR&lt;/P&gt;&lt;P&gt;        l_ex_acc_no       TYPE z_acc_no                     ,      "@SDR&lt;/P&gt;&lt;P&gt;        l_costcenter      TYPE kostl                        ,      "@SDR&lt;/P&gt;&lt;P&gt;        l_reference       TYPE ablad                        ,      "@SDR&lt;/P&gt;&lt;P&gt;        l_psga_glacct     TYPE zconstname VALUE 'PSGA_ACCOUNT'.    "@SDR&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-------------------------------------------------" /&gt;&amp;amp;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; End of Addition: 26-Sep-2005 SDUTTARO RD1K910316     *&amp;amp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-------------------------------------------------" /&gt;&amp;amp;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*BV-08-July-2004 -Begin - Change error handling for zxa_get_constant&lt;/P&gt;&lt;P&gt;  DATA : L_CONST_NAME  LIKE SY-MSGV1,   "Constant name&lt;/P&gt;&lt;P&gt;         L_COMP_CODE   LIKE SY-MSGV2,   "Company code&lt;/P&gt;&lt;P&gt;         l_acct_assmnt TYPE knttp.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*BV-08-July-2004 -End - Change error handling for zxa_get_constant&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Retrieve Account assignment category&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  SELECT * FROM zacctasgmnt&lt;/P&gt;&lt;P&gt;           INTO TABLE t_acct_assignmt&lt;/P&gt;&lt;P&gt;           WHERE comp_code EQ t_compcode.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF sy-subrc = 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Retrieve Account assignment constant&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    CALL FUNCTION 'ZXA_GET_CONSTANT'&lt;/P&gt;&lt;P&gt;         EXPORTING&lt;/P&gt;&lt;P&gt;              const_name     = c_acct_assign&lt;/P&gt;&lt;P&gt;              comp_code      = t_compcode&lt;/P&gt;&lt;P&gt;         IMPORTING&lt;/P&gt;&lt;P&gt;              const_value    = l_acct_assign&lt;/P&gt;&lt;P&gt;         EXCEPTIONS&lt;/P&gt;&lt;P&gt;              no_value_found = 1&lt;/P&gt;&lt;P&gt;              null_value     = 2&lt;/P&gt;&lt;P&gt;              OTHERS         = 3.&lt;/P&gt;&lt;P&gt;    IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;**BV-08-July-2004 -Begin - Change error handling for zxa_get_constant&lt;/P&gt;&lt;P&gt;*Constant not defined for company code.&lt;/P&gt;&lt;P&gt;      CLEAR : L_CONST_NAME,&lt;/P&gt;&lt;P&gt;              L_COMP_CODE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      L_CONST_NAME  = c_acct_assign.      "ZRP_ACCT_ASSIGN&lt;/P&gt;&lt;P&gt;      L_COMP_CODE   = t_compcode.&lt;/P&gt;&lt;P&gt;**BV-08-July-2004 -End - Change error handling for zxa_get_constant&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      CALL FUNCTION 'BALW_BAPIRETURN_GET2'&lt;/P&gt;&lt;P&gt;           EXPORTING&lt;/P&gt;&lt;P&gt;                type   = c_msgtype_e  "E&lt;/P&gt;&lt;P&gt;                cl     = c_msgid_z001&lt;/P&gt;&lt;P&gt;**BV-08-July-2004 -Begin - Change error handling for zxa_get_constant&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                number = c_msgnr_045  "045&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;                number = c_msgnr_046  "046&lt;/P&gt;&lt;P&gt;                PAR1   = L_CONST_NAME        "ZRP_ACCT_ASSIGN&lt;/P&gt;&lt;P&gt;                PAR2   = L_COMP_CODE&lt;/P&gt;&lt;P&gt;**BV-08-July-2004 -End - Change error handling for zxa_get_constant&lt;/P&gt;&lt;P&gt;           IMPORTING&lt;/P&gt;&lt;P&gt;                return = t_yreturn.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      APPEND t_yreturn.&lt;/P&gt;&lt;P&gt;      CLEAR  t_yreturn.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      loop at t_yreturn.&lt;/P&gt;&lt;P&gt;        l_wa_zerrors-OBJECT = 'PURCHASE_ORDER'.&lt;/P&gt;&lt;P&gt;        l_wa_zerrors-serialno = sy-tabix.&lt;/P&gt;&lt;P&gt;        l_wa_zerrors-zid       = t_yreturn-id.&lt;/P&gt;&lt;P&gt;        l_wa_zerrors-type       = t_yreturn-type.&lt;/P&gt;&lt;P&gt;        l_wa_zerrors-znumber   = t_yreturn-number.&lt;/P&gt;&lt;P&gt;        l_wa_zerrors-COMP_CODE = t_compcode.&lt;/P&gt;&lt;P&gt;        l_wa_zerrors-BEACON_DOC_NO = t_poheader-po_number.&lt;/P&gt;&lt;P&gt;        l_wa_zerrors-SRC_DOC_NO = t_poheader-po_number.&lt;/P&gt;&lt;P&gt;        l_wa_zerrors-ZDATE      = sy-datum.&lt;/P&gt;&lt;P&gt;        l_wa_zerrors-ERR_MSG   = t_yreturn-message.&lt;/P&gt;&lt;P&gt;        append l_wa_zerrors to t_errors.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      insert into zerrors values l_wa_zerrors.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        clear: l_wa_zerrors.&lt;/P&gt;&lt;P&gt;      endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      EXIT.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-------------------------------------------------" /&gt;&amp;amp;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; Begin of Addition: 26-Sep-2005 SDUTTARO RD1K910316   *&amp;amp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-------------------------------------------------" /&gt;&amp;amp;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; Requirement very specific to Alza&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF t_compcode = c_bukrs_alza.            " 1155 "@SDR&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    Check whether the conversion check is switched on for the specific&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    business unit.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    CLEAR: l_constval.                                           "@SDR&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'ZXA_GET_CONSTANT'                             "@SDR&lt;/P&gt;&lt;P&gt;      EXPORTING                                                  "@SDR&lt;/P&gt;&lt;P&gt;           const_name     = l_constname                          "@SDR&lt;/P&gt;&lt;P&gt;           comp_code      = t_compcode                           "@SDR&lt;/P&gt;&lt;P&gt;      IMPORTING                                                  "@SDR&lt;/P&gt;&lt;P&gt;           const_value    = l_conv_val                           "@SDR&lt;/P&gt;&lt;P&gt;      EXCEPTIONS                                                 "@SDR&lt;/P&gt;&lt;P&gt;           no_value_found = 1                                    "@SDR&lt;/P&gt;&lt;P&gt;           null_value     = 2                                    "@SDR&lt;/P&gt;&lt;P&gt;           OTHERS         = 3.                                   "@SDR&lt;/P&gt;&lt;P&gt;    "@SDR&lt;/P&gt;&lt;P&gt;    IF sy-subrc &amp;lt;&amp;gt; 0.                                            "@SDR&lt;/P&gt;&lt;P&gt;      CLEAR l_conv_val.                                         "@SDR&lt;/P&gt;&lt;P&gt;      l_msgv1 = l_constname.                                    "@SDR&lt;/P&gt;&lt;P&gt;      l_msgv2 = t_compcode.                                     "@SDR&lt;/P&gt;&lt;P&gt;      CALL FUNCTION 'BALW_BAPIRETURN_GET2'                      "@SDR&lt;/P&gt;&lt;P&gt;           EXPORTING                                            "@SDR&lt;/P&gt;&lt;P&gt;                TYPE   = c_msgtype_e                            "@SDR&lt;/P&gt;&lt;P&gt;                CL     = c_msgid_z001                           "@SDR&lt;/P&gt;&lt;P&gt;                NUMBER = c_msgnr_046                            "@SDR&lt;/P&gt;&lt;P&gt;                PAR1   = l_msgv1  "CONVERSION "@SDR&lt;/P&gt;&lt;P&gt;                PAR2   = l_msgv2                                "@SDR&lt;/P&gt;&lt;P&gt;           IMPORTING                                            "@SDR&lt;/P&gt;&lt;P&gt;                RETURN = t_yreturn.                             "@SDR&lt;/P&gt;&lt;P&gt;      "@SDR&lt;/P&gt;&lt;P&gt;      APPEND t_yreturn.                                         "@SDR&lt;/P&gt;&lt;P&gt;      CLEAR: t_yreturn ,                                        "@SDR&lt;/P&gt;&lt;P&gt;             l_conv_val,                                        "@SDR&lt;/P&gt;&lt;P&gt;             l_msgv1   ,                                        "@SDR&lt;/P&gt;&lt;P&gt;             l_msgv2   .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      loop at t_yreturn.&lt;/P&gt;&lt;P&gt;        l_wa_zerrors-OBJECT = 'PURCHASE_ORDER'.&lt;/P&gt;&lt;P&gt;        l_wa_zerrors-serialno = sy-tabix.&lt;/P&gt;&lt;P&gt;        l_wa_zerrors-COMP_CODE = t_compcode.&lt;/P&gt;&lt;P&gt;        l_wa_zerrors-zid       = t_yreturn-id.&lt;/P&gt;&lt;P&gt;        l_wa_zerrors-type      = t_yreturn-type.&lt;/P&gt;&lt;P&gt;        l_wa_zerrors-znumber   = t_yreturn-number.&lt;/P&gt;&lt;P&gt;        l_wa_zerrors-BEACON_DOC_NO = t_poheader-po_number.&lt;/P&gt;&lt;P&gt;        l_wa_zerrors-SRC_DOC_NO = t_poheader-po_number.&lt;/P&gt;&lt;P&gt;        l_wa_zerrors-ZDATE      = sy-datum.&lt;/P&gt;&lt;P&gt;        l_wa_zerrors-ERR_MSG   = t_yreturn-message.&lt;/P&gt;&lt;P&gt;        append l_wa_zerrors to t_errors.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      insert into zerrors values l_wa_zerrors.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        clear: l_wa_zerrors.&lt;/P&gt;&lt;P&gt;      endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      EXIT.                                                     "@SDR&lt;/P&gt;&lt;P&gt;    ENDIF.                                                       "@SDR&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    Check whether the Non-valuated GR indicator is Switched ON or OFF&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    CLEAR: l_constval_gr.                                        "@SDR&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'ZXA_GET_CONSTANT'                             "@SDR&lt;/P&gt;&lt;P&gt;      EXPORTING                                                  "@SDR&lt;/P&gt;&lt;P&gt;           const_name     = l_constname_gr                       "@SDR&lt;/P&gt;&lt;P&gt;           comp_code      = t_compcode                           "@SDR&lt;/P&gt;&lt;P&gt;      IMPORTING                                                  "@SDR&lt;/P&gt;&lt;P&gt;           const_value    = l_constval_gr                        "@SDR&lt;/P&gt;&lt;P&gt;      EXCEPTIONS                                                 "@SDR&lt;/P&gt;&lt;P&gt;           no_value_found = 1                                    "@SDR&lt;/P&gt;&lt;P&gt;           null_value     = 2                                    "@SDR&lt;/P&gt;&lt;P&gt;           OTHERS         = 3.                                   "@SDR&lt;/P&gt;&lt;P&gt;    "@SDR&lt;/P&gt;&lt;P&gt;    IF sy-subrc &amp;lt;&amp;gt; 0.                                            "@SDR&lt;/P&gt;&lt;P&gt;      CLEAR l_constval_gr.                                      "@SDR&lt;/P&gt;&lt;P&gt;      l_msgv1 = l_constname_gr.                                 "@SDR&lt;/P&gt;&lt;P&gt;      l_msgv2 = t_compcode.                                     "@SDR&lt;/P&gt;&lt;P&gt;      CALL FUNCTION 'BALW_BAPIRETURN_GET2'                      "@SDR&lt;/P&gt;&lt;P&gt;           EXPORTING                                            "@SDR&lt;/P&gt;&lt;P&gt;                TYPE   = c_msgtype_e                            "@SDR&lt;/P&gt;&lt;P&gt;                CL     = c_msgid_z001                           "@SDR&lt;/P&gt;&lt;P&gt;                NUMBER = c_msgnr_046                            "@SDR&lt;/P&gt;&lt;P&gt;                PAR1   = l_msgv1  "CONVERSION "@SDR&lt;/P&gt;&lt;P&gt;                PAR2   = l_msgv2                                "@SDR&lt;/P&gt;&lt;P&gt;           IMPORTING                                            "@SDR&lt;/P&gt;&lt;P&gt;                RETURN = t_yreturn.                             "@SDR&lt;/P&gt;&lt;P&gt;      "@SDR&lt;/P&gt;&lt;P&gt;      APPEND t_yreturn.                                         "@SDR&lt;/P&gt;&lt;P&gt;      CLEAR: t_yreturn ,                                        "@SDR&lt;/P&gt;&lt;P&gt;             l_constval_gr,                                     "@SDR&lt;/P&gt;&lt;P&gt;             l_msgv1   ,                                        "@SDR&lt;/P&gt;&lt;P&gt;             l_msgv2   .                                        "@SDR&lt;/P&gt;&lt;P&gt;      loop at t_yreturn.&lt;/P&gt;&lt;P&gt;        l_wa_zerrors-OBJECT = 'PURCHASE_ORDER'.&lt;/P&gt;&lt;P&gt;        l_wa_zerrors-serialno = sy-tabix.&lt;/P&gt;&lt;P&gt;        l_wa_zerrors-COMP_CODE = t_compcode.&lt;/P&gt;&lt;P&gt;        l_wa_zerrors-zid       = t_yreturn-id.&lt;/P&gt;&lt;P&gt;        l_wa_zerrors-type      = t_yreturn-type.&lt;/P&gt;&lt;P&gt;        l_wa_zerrors-znumber   = t_yreturn-number.&lt;/P&gt;&lt;P&gt;        l_wa_zerrors-BEACON_DOC_NO = t_poheader-po_number.&lt;/P&gt;&lt;P&gt;        l_wa_zerrors-SRC_DOC_NO = t_poheader-po_number.&lt;/P&gt;&lt;P&gt;        l_wa_zerrors-ZDATE      = sy-datum.&lt;/P&gt;&lt;P&gt;        l_wa_zerrors-ERR_MSG   = t_yreturn-message.&lt;/P&gt;&lt;P&gt;        append l_wa_zerrors to t_errors.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       insert into zerrors values l_wa_zerrors.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        clear: l_wa_zerrors.&lt;/P&gt;&lt;P&gt;      endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      EXIT.                                                     "@SDR&lt;/P&gt;&lt;P&gt;    ENDIF.                                                       "@SDR&lt;/P&gt;&lt;P&gt;  ENDIF.                                                          "@SDR&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;&amp;amp;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; End of Addition: 26-Sep-2005 SDUTTARO RD1K910316     *&amp;amp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-------------------------------------------------" /&gt;&amp;amp;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT t_poitem.&lt;/P&gt;&lt;P&gt;    CLEAR: l_acct_present, l_cc_present, l_wbs_present.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-------------------------------------------------" /&gt;&amp;amp;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; Begin of Addition: 26-Sep-2005 SDUTTARO RD1K910316   *&amp;amp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-------------------------------------------------" /&gt;&amp;amp;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    l_itemindex = sy-tabix.                                        "@SDR&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-------------------------------------------------" /&gt;&amp;amp;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; End of Addition: 26-Sep-2005 SDUTTARO RD1K910316     *&amp;amp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-------------------------------------------------" /&gt;&amp;amp;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    LOOP AT t_poaccount WHERE po_item = t_poitem-po_item.&lt;/P&gt;&lt;P&gt;      CLEAR: t_acct_assignmt.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-------------------------------------------------" /&gt;&amp;amp;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; Begin of Addition: 26-Sep-2005 SDUTTARO RD1K910316   *&amp;amp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-------------------------------------------------" /&gt;&amp;amp;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    Requirement very specific to Alza&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      IF t_compcode = c_bukrs_alza.    " 1155 "@SDR&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       Arrest the cuurent record number for the loop.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        l_index = sy-tabix.                                       "@SDR&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       If the conversion switch is on for the specific business unit&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       use custom mapping tables to fetch the corresponding WBS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       Elements, GL accounts and Cost Centers&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        IF l_conv_val = 'X'.   " Conversion is switched ON "@SDR&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          Use the below custom FM to retrieve the corresponding GL&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          account from SAP fro the external GL Account Number&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          IF  ( NOT t_compcode             IS INITIAL )          "@SDR&lt;/P&gt;&lt;P&gt;          AND ( NOT t_poaccount-gl_account IS INITIAL ).         "@SDR&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            IF NOT t_poaccount-costcenter IS INITIAL.           "@SDR&lt;/P&gt;&lt;P&gt;              SHIFT t_poaccount-costcenter LEFT                "@SDR&lt;/P&gt;&lt;P&gt;                 DELETING LEADING c_zeros.                     "@SDR&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             l_ex_cc = t_poaccount-costcenter.                "@SDR&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             CALL FUNCTION 'Z_COSTCTR_GET'                    "@SDR&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;              EXPORTING                                       "@SDR&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;               P_BUKRS                = t_compcode            "@SDR&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;               P_EX_CC                = l_ex_cc               "@SDR&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;              IMPORTING                                       "@SDR&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;               P_COSTCTR              = l_costcenter          "@SDR&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;              EXCEPTIONS                                      "@SDR&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;              NO_VALUE_FOUND         = 1                      "@SDR&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;              NULL_VALUE_FOUND       = 2                      "@SDR&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;              OTHERS                 = 3.                     "@SDR&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;              IF sy-subrc &amp;lt;&amp;gt; 0.                                "@SDR&lt;/P&gt;&lt;P&gt;                t_poaccount-costcenter = space.               "@SDR&lt;/P&gt;&lt;P&gt;                MODIFY t_poaccount INDEX l_index              "@SDR&lt;/P&gt;&lt;P&gt;                       TRANSPORTING costcenter.               "@SDR&lt;/P&gt;&lt;P&gt;                READ TABLE t_poaccountx WITH                  "@SDR&lt;/P&gt;&lt;P&gt;                     KEY po_item   = t_poaccount-po_item      "@SDR&lt;/P&gt;&lt;P&gt;                         serial_no = t_poaccount-serial_no.   "@SDR&lt;/P&gt;&lt;P&gt;                IF sy-subrc = 0.                              "@SDR&lt;/P&gt;&lt;P&gt;                  t_poaccountx-costcenter = space.           "@SDR&lt;/P&gt;&lt;P&gt;                  MODIFY t_poaccountx INDEX l_index          "@SDR&lt;/P&gt;&lt;P&gt;                         TRANSPORTING costcenter.            "@SDR&lt;/P&gt;&lt;P&gt;                ENDIF.                                        "@SDR&lt;/P&gt;&lt;P&gt;                l_msgv1 = l_costcenter.                       "@SDR&lt;/P&gt;&lt;P&gt;                l_msgv2 = t_compcode.                         "@SDR&lt;/P&gt;&lt;P&gt;                CALL FUNCTION 'BALW_BAPIRETURN_GET2'          "@SDR&lt;/P&gt;&lt;P&gt;                 EXPORTING                                    "@SDR&lt;/P&gt;&lt;P&gt;                  TYPE   = c_msgtype_e                        "@SDR&lt;/P&gt;&lt;P&gt;                  CL     = c_msgid_z001                       "@SDR&lt;/P&gt;&lt;P&gt;                  NUMBER = c_msgnr_072                        "@SDR&lt;/P&gt;&lt;P&gt;                  PAR1   = l_msgv1                            "@SDR&lt;/P&gt;&lt;P&gt;                  PAR2   = l_msgv2                            "@SDR&lt;/P&gt;&lt;P&gt;                 IMPORTING                                    "@SDR&lt;/P&gt;&lt;P&gt;                  RETURN = t_yreturn.                         "@SDR&lt;/P&gt;&lt;P&gt;                CLEAR: l_index,                               "@SDR&lt;/P&gt;&lt;P&gt;                       l_costcenter.                          "@SDR&lt;/P&gt;&lt;P&gt;                "@SDR&lt;/P&gt;&lt;P&gt;                APPEND t_yreturn.                             "@SDR&lt;/P&gt;&lt;P&gt;                CLEAR: t_yreturn,                             "@SDR&lt;/P&gt;&lt;P&gt;                       l_constval,                            "@SDR&lt;/P&gt;&lt;P&gt;                       l_msgv1   ,                            "@SDR&lt;/P&gt;&lt;P&gt;                       l_msgv2   .                            "@SDR&lt;/P&gt;&lt;P&gt;                loop at t_yreturn.&lt;/P&gt;&lt;P&gt;                  l_wa_zerrors-OBJECT = 'PURCHASE_ORDER'.&lt;/P&gt;&lt;P&gt;                  l_wa_zerrors-serialno = sy-tabix.&lt;/P&gt;&lt;P&gt;                  l_wa_zerrors-COMP_CODE = t_compcode.&lt;/P&gt;&lt;P&gt;                  l_wa_zerrors-zid       = t_yreturn-id.&lt;/P&gt;&lt;P&gt;                  l_wa_zerrors-type      = t_yreturn-type.&lt;/P&gt;&lt;P&gt;                  l_wa_zerrors-znumber   = t_yreturn-number.&lt;/P&gt;&lt;P&gt;                  l_wa_zerrors-BEACON_DOC_NO = t_poheader-po_number.&lt;/P&gt;&lt;P&gt;                  l_wa_zerrors-SRC_DOC_NO = t_poheader-po_number.&lt;/P&gt;&lt;P&gt;                  l_wa_zerrors-ZDATE      = sy-datum.&lt;/P&gt;&lt;P&gt;                  l_wa_zerrors-ERR_MSG   = t_yreturn-message.&lt;/P&gt;&lt;P&gt;                  append l_wa_zerrors to t_errors.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                insert into zerrors values l_wa_zerrors.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;                  clear: l_wa_zerrors.&lt;/P&gt;&lt;P&gt;                endloop.&lt;/P&gt;&lt;P&gt;                EXIT.                                         "@SDR&lt;/P&gt;&lt;P&gt;              ELSE.                                            "@SDR&lt;/P&gt;&lt;P&gt;                SHIFT l_costcenter LEFT                       "@SDR&lt;/P&gt;&lt;P&gt;                      DELETING LEADING c_zeros.               "@SDR&lt;/P&gt;&lt;P&gt;                IF l_costcenter = c_psgaw_cc.  " 54123 "@SDR&lt;/P&gt;&lt;P&gt;                  CLEAR: l_constval.                         "@SDR&lt;/P&gt;&lt;P&gt;                  CALL FUNCTION 'ZXA_GET_CONSTANT'           "@SDR&lt;/P&gt;&lt;P&gt;                   EXPORTING                                 "@SDR&lt;/P&gt;&lt;P&gt;                    const_name     = l_psga_glacct           "@SDR&lt;/P&gt;&lt;P&gt;                    comp_code      = t_compcode              "@SDR&lt;/P&gt;&lt;P&gt;                   IMPORTING                                 "@SDR&lt;/P&gt;&lt;P&gt;                    const_value    = l_constval              "@SDR&lt;/P&gt;&lt;P&gt;                   EXCEPTIONS                                "@SDR&lt;/P&gt;&lt;P&gt;                    no_value_found = 1                       "@SDR&lt;/P&gt;&lt;P&gt;                    null_value     = 2                       "@SDR&lt;/P&gt;&lt;P&gt;                    OTHERS         = 3.                      "@SDR&lt;/P&gt;&lt;P&gt;                  "@SDR&lt;/P&gt;&lt;P&gt;                  IF sy-subrc &amp;lt;&amp;gt; 0.                          "@SDR&lt;/P&gt;&lt;P&gt;                    t_poaccount-gl_account = space.         "@SDR&lt;/P&gt;&lt;P&gt;                    MODIFY t_poaccount INDEX l_index        "@SDR&lt;/P&gt;&lt;P&gt;                           TRANSPORTING gl_account.         "@SDR&lt;/P&gt;&lt;P&gt;                    READ TABLE t_poaccountx WITH KEY        "@SDR&lt;/P&gt;&lt;P&gt;                         po_item   = t_poaccount-po_item    "@SDR&lt;/P&gt;&lt;P&gt;                         serial_no = t_poaccount-serial_no. "@SDR&lt;/P&gt;&lt;P&gt;                    IF sy-subrc = 0.                        "@SDR&lt;/P&gt;&lt;P&gt;                      t_poaccountx-gl_account = space.     "@SDR&lt;/P&gt;&lt;P&gt;                      MODIFY t_poaccountx INDEX sy-tabix   "@SDR&lt;/P&gt;&lt;P&gt;                             TRANSPORTING gl_account.      "@SDR&lt;/P&gt;&lt;P&gt;                    ENDIF.                                  "@SDR&lt;/P&gt;&lt;P&gt;                    CLEAR l_constval.                       "@SDR&lt;/P&gt;&lt;P&gt;                    l_msgv1 = l_constname.                  "@SDR&lt;/P&gt;&lt;P&gt;                    l_msgv2 = t_compcode.                   "@SDR&lt;/P&gt;&lt;P&gt;                    CALL FUNCTION 'BALW_BAPIRETURN_GET2'    "@SDR&lt;/P&gt;&lt;P&gt;                     EXPORTING                              "@SDR&lt;/P&gt;&lt;P&gt;                      TYPE   = c_msgtype_e                  "@SDR&lt;/P&gt;&lt;P&gt;                      CL     = c_msgid_z001                 "@SDR&lt;/P&gt;&lt;P&gt;                      NUMBER = c_msgnr_046                  "@SDR&lt;/P&gt;&lt;P&gt;                      PAR1   = l_msgv1  "CONVERSION "@SDR&lt;/P&gt;&lt;P&gt;                      PAR2   = l_msgv2                      "@SDR&lt;/P&gt;&lt;P&gt;                     IMPORTING                              "@SDR&lt;/P&gt;&lt;P&gt;                      RETURN = t_yreturn.                   "@SDR&lt;/P&gt;&lt;P&gt;                    "@SDR&lt;/P&gt;&lt;P&gt;                    APPEND t_yreturn.                       "@SDR&lt;/P&gt;&lt;P&gt;                    CLEAR: t_yreturn ,                      "@SDR&lt;/P&gt;&lt;P&gt;                           l_constval,                      "@SDR&lt;/P&gt;&lt;P&gt;                           l_msgv1   ,                      "@SDR&lt;/P&gt;&lt;P&gt;                           l_msgv2   .                      "@SDR&lt;/P&gt;&lt;P&gt;                    loop at t_yreturn.&lt;/P&gt;&lt;P&gt;                      l_wa_zerrors-OBJECT = 'PURCHASE_ORDER'.&lt;/P&gt;&lt;P&gt;                      l_wa_zerrors-serialno = sy-tabix.&lt;/P&gt;&lt;P&gt;                      l_wa_zerrors-COMP_CODE = t_compcode.&lt;/P&gt;&lt;P&gt;                      l_wa_zerrors-zid       = t_yreturn-id.&lt;/P&gt;&lt;P&gt;                      l_wa_zerrors-type      = t_yreturn-type.&lt;/P&gt;&lt;P&gt;                      l_wa_zerrors-znumber   = t_yreturn-number.&lt;/P&gt;&lt;P&gt;                      l_wa_zerrors-BEACON_DOC_NO = t_poheader-po_number.&lt;/P&gt;&lt;P&gt;                      l_wa_zerrors-SRC_DOC_NO = t_poheader-po_number.&lt;/P&gt;&lt;P&gt;                      l_wa_zerrors-ZDATE      = sy-datum.&lt;/P&gt;&lt;P&gt;                      l_wa_zerrors-ERR_MSG   = t_yreturn-message.&lt;/P&gt;&lt;P&gt;                      append l_wa_zerrors to t_errors.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                    insert into zerrors values l_wa_zerrors.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;                      clear: l_wa_zerrors.&lt;/P&gt;&lt;P&gt;                    endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                    EXIT.                                   "@SDR&lt;/P&gt;&lt;P&gt;                  ELSE.                                      "@SDR&lt;/P&gt;&lt;P&gt;                    MOVE l_constval TO                      "@SDR&lt;/P&gt;&lt;P&gt;                         t_poaccount-gl_account.            "@SDR&lt;/P&gt;&lt;P&gt;                    CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'&lt;/P&gt;&lt;P&gt;                         EXPORTING  "@SDR&lt;/P&gt;&lt;P&gt;                              INPUT  = t_poaccount-gl_account&lt;/P&gt;&lt;P&gt;                         IMPORTING  "@SDR&lt;/P&gt;&lt;P&gt;                              OUTPUT = t_poaccount-gl_account.&lt;/P&gt;&lt;P&gt;                    MODIFY t_poaccount INDEX l_index        "@SDR&lt;/P&gt;&lt;P&gt;                         TRANSPORTING gl_account.           "@SDR&lt;/P&gt;&lt;P&gt;                  ENDIF.                                     "@SDR&lt;/P&gt;&lt;P&gt;                ELSE.                                         "@SDR&lt;/P&gt;&lt;P&gt;                  SHIFT t_poaccount-gl_account LEFT          "@SDR&lt;/P&gt;&lt;P&gt;                        DELETING LEADING c_zeros.            "@SDR&lt;/P&gt;&lt;P&gt;                  SHIFT t_poaccount-gl_account               "@SDR&lt;/P&gt;&lt;P&gt;                        BY 1 PLACES RIGHT.                   "@SDR&lt;/P&gt;&lt;P&gt;                  t_poaccount-gl_account+0(1) = 'P'.         "@SDR&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                 l_ex_acc_no = t_poaccount-gl_account.      "@SDR&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                 CALL FUNCTION 'Z_GLACCT_GET'               "@SDR&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                  EXPORTING                                 "@SDR&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                   P_BUKRS                = t_compcode      "@SDR&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                   P_EX_ACC_NO            = l_ex_acc_no     "@SDR&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                  IMPORTING                                 "@SDR&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                   P_GLACCT               =                 "@SDR&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                    t_poaccount-gl_account  "@SDR&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                  EXCEPTIONS                                "@SDR&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                   NO_VALUE_FOUND         = 1               "@SDR&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                   NULL_VALUE_FOUND       = 2               "@SDR&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                   OTHERS                 = 3.              "@SDR&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                 "@SDR&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;                  IF sy-subrc = 0.                           "@SDR&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                       Assign the retrieved GL Account from SAP to the&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                       account assignment strcuture after the mapping&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                       is successful&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;                    CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'&lt;/P&gt;&lt;P&gt;                         EXPORTING  "@SDR&lt;/P&gt;&lt;P&gt;                              INPUT  = t_poaccount-gl_account&lt;/P&gt;&lt;P&gt;                         IMPORTING  "@SDR&lt;/P&gt;&lt;P&gt;                              OUTPUT = t_poaccount-gl_account.&lt;/P&gt;&lt;P&gt;                    MODIFY t_poaccount INDEX l_index        "@SDR&lt;/P&gt;&lt;P&gt;                           TRANSPORTING gl_account.         "@SDR&lt;/P&gt;&lt;P&gt;                  ELSE.                                      "@SDR&lt;/P&gt;&lt;P&gt;                    t_poaccount-gl_account = space.         "@SDR&lt;/P&gt;&lt;P&gt;                    MODIFY t_poaccount INDEX l_index        "@SDR&lt;/P&gt;&lt;P&gt;                           TRANSPORTING gl_account.         "@SDR&lt;/P&gt;&lt;P&gt;                    READ TABLE t_poaccountx WITH KEY        "@SDR&lt;/P&gt;&lt;P&gt;                         po_item   = t_poaccount-po_item    "@SDR&lt;/P&gt;&lt;P&gt;                         serial_no = t_poaccount-serial_no. "@SDR&lt;/P&gt;&lt;P&gt;                    IF sy-subrc = 0.                        "@SDR&lt;/P&gt;&lt;P&gt;                      t_poaccountx-gl_account = space.     "@SDR&lt;/P&gt;&lt;P&gt;                      MODIFY t_poaccountx INDEX sy-tabix   "@SDR&lt;/P&gt;&lt;P&gt;                             TRANSPORTING gl_account.      "@SDR&lt;/P&gt;&lt;P&gt;                    ENDIF.                                  "@SDR&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                       Issue an error message that the mapping of the&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                       external Reference Number to SAP GL Account has&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                       not been possible as no mapping or null mapping&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                       has been maintained in the custom mapping table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;                    l_msgv1 = t_poaccount-gl_account.       "@SDR&lt;/P&gt;&lt;P&gt;                    l_msgv2 = t_compcode.                   "@SDR&lt;/P&gt;&lt;P&gt;                    CALL FUNCTION 'BALW_BAPIRETURN_GET2'    "@SDR&lt;/P&gt;&lt;P&gt;                     EXPORTING                              "@SDR&lt;/P&gt;&lt;P&gt;                      TYPE   = c_msgtype_e                  "@SDR&lt;/P&gt;&lt;P&gt;                      CL     = c_msgid_z001                 "@SDR&lt;/P&gt;&lt;P&gt;                      NUMBER = c_msgnr_071                  "@SDR&lt;/P&gt;&lt;P&gt;                      PAR1   = l_msgv1                      "@SDR&lt;/P&gt;&lt;P&gt;                      PAR2   = l_msgv2                      "@SDR&lt;/P&gt;&lt;P&gt;                     IMPORTING                              "@SDR&lt;/P&gt;&lt;P&gt;                      RETURN = t_yreturn.                   "@SDR&lt;/P&gt;&lt;P&gt;                    CLEAR: l_index,                         "@SDR&lt;/P&gt;&lt;P&gt;                           t_poaccount-gl_account.          "@SDR&lt;/P&gt;&lt;P&gt;                    "@SDR&lt;/P&gt;&lt;P&gt;                    APPEND t_yreturn.                       "@SDR&lt;/P&gt;&lt;P&gt;                    CLEAR: t_yreturn,                       "@SDR&lt;/P&gt;&lt;P&gt;                           l_constval,                      "@SDR&lt;/P&gt;&lt;P&gt;                           l_msgv1   ,                      "@SDR&lt;/P&gt;&lt;P&gt;                           l_msgv2   .                      "@SDR&lt;/P&gt;&lt;P&gt;                    loop at t_yreturn.&lt;/P&gt;&lt;P&gt;                      l_wa_zerrors-OBJECT = 'PURCHASE_ORDER'.&lt;/P&gt;&lt;P&gt;                      l_wa_zerrors-serialno = sy-tabix.&lt;/P&gt;&lt;P&gt;                      l_wa_zerrors-COMP_CODE = t_compcode.&lt;/P&gt;&lt;P&gt;                      l_wa_zerrors-zid       = t_yreturn-id.&lt;/P&gt;&lt;P&gt;                      l_wa_zerrors-type      = t_yreturn-type.&lt;/P&gt;&lt;P&gt;                      l_wa_zerrors-znumber   = t_yreturn-number.&lt;/P&gt;&lt;P&gt;                      l_wa_zerrors-BEACON_DOC_NO = t_poheader-po_number.&lt;/P&gt;&lt;P&gt;                      l_wa_zerrors-SRC_DOC_NO = t_poheader-po_number.&lt;/P&gt;&lt;P&gt;                      l_wa_zerrors-ZDATE      = sy-datum.&lt;/P&gt;&lt;P&gt;                      l_wa_zerrors-ERR_MSG   = t_yreturn-message.&lt;/P&gt;&lt;P&gt;                      append l_wa_zerrors to t_errors.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                    insert into zerrors values l_wa_zerrors.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;                      clear: l_wa_zerrors.&lt;/P&gt;&lt;P&gt;                    endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                    EXIT.                                   "@SDR&lt;/P&gt;&lt;P&gt;                  ENDIF.                                     "@SDR&lt;/P&gt;&lt;P&gt;                ENDIF.                                        "@SDR&lt;/P&gt;&lt;P&gt;              ENDIF.                                           "@SDR&lt;/P&gt;&lt;P&gt;            ELSE.                                               "@SDR&lt;/P&gt;&lt;P&gt;              t_poaccount-gl_account = space.                  "@SDR&lt;/P&gt;&lt;P&gt;              MODIFY t_poaccount INDEX l_index                 "@SDR&lt;/P&gt;&lt;P&gt;                     TRANSPORTING gl_account.                  "@SDR&lt;/P&gt;&lt;P&gt;              READ TABLE t_poaccountx                          "@SDR&lt;/P&gt;&lt;P&gt;                   WITH KEY po_item   = t_poaccount-po_item    "@SDR&lt;/P&gt;&lt;P&gt;                            serial_no = t_poaccount-serial_no. "@SDR&lt;/P&gt;&lt;P&gt;              IF sy-subrc = 0.                                 "@SDR&lt;/P&gt;&lt;P&gt;                t_poaccountx-gl_account = space.              "@SDR&lt;/P&gt;&lt;P&gt;                MODIFY t_poaccountx INDEX sy-tabix            "@SDR&lt;/P&gt;&lt;P&gt;                       TRANSPORTING gl_account.               "@SDR&lt;/P&gt;&lt;P&gt;              ENDIF.                                           "@SDR&lt;/P&gt;&lt;P&gt;            ENDIF.                                              "@SDR&lt;/P&gt;&lt;P&gt;          ENDIF.                                                 "@SDR&lt;/P&gt;&lt;P&gt;          IF l_costcenter = c_psgaw_cc. " 54123 "@SDR&lt;/P&gt;&lt;P&gt;            CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'         "@SDR&lt;/P&gt;&lt;P&gt;              EXPORTING                                         "@SDR&lt;/P&gt;&lt;P&gt;                INPUT         = l_costcenter                    "@SDR&lt;/P&gt;&lt;P&gt;              IMPORTING                                         "@SDR&lt;/P&gt;&lt;P&gt;                OUTPUT        = l_costcenter.                   "@SDR&lt;/P&gt;&lt;P&gt;            t_poaccount-costcenter = l_costcenter.              "@SDR&lt;/P&gt;&lt;P&gt;            MODIFY t_poaccount INDEX l_index                    "@SDR&lt;/P&gt;&lt;P&gt;                   TRANSPORTING costcenter.                     "@SDR&lt;/P&gt;&lt;P&gt;            t_poaccount-wbs_element = space.                    "@SDR&lt;/P&gt;&lt;P&gt;            MODIFY t_poaccount INDEX l_index                    "@SDR&lt;/P&gt;&lt;P&gt;                   TRANSPORTING wbs_element.                    "@SDR&lt;/P&gt;&lt;P&gt;            READ TABLE t_poaccountx                             "@SDR&lt;/P&gt;&lt;P&gt;                 WITH KEY po_item = t_poaccount-po_item         "@SDR&lt;/P&gt;&lt;P&gt;                          serial_no = t_poaccount-serial_no.    "@SDR&lt;/P&gt;&lt;P&gt;            IF sy-subrc = 0.                                    "@SDR&lt;/P&gt;&lt;P&gt;              t_poaccountx-wbs_element = space.                "@SDR&lt;/P&gt;&lt;P&gt;              MODIFY t_poaccountx INDEX sy-tabix               "@SDR&lt;/P&gt;&lt;P&gt;                     TRANSPORTING wbs_element.                 "@SDR&lt;/P&gt;&lt;P&gt;            ENDIF.                                              "@SDR&lt;/P&gt;&lt;P&gt;          ELSE.                                                  "@SDR&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            Check whether REFERENCE field is the same as Department&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            MOVE t_poaccount-unload_pt TO l_reference.           "@SDR&lt;/P&gt;&lt;P&gt;            SHIFT l_reference LEFT DELETING LEADING c_zeros.     "@SDR&lt;/P&gt;&lt;P&gt;            IF ( ( l_ex_acc_no+0(4) = c_p164        "P164 "@SDR&lt;/P&gt;&lt;P&gt;            OR l_ex_acc_no+0(4) = c_p165            "P165 "@SDR&lt;/P&gt;&lt;P&gt;            OR l_ex_acc_no+0(4) = c_p169   )        "P169 "@SDR&lt;/P&gt;&lt;P&gt;            AND ( l_reference IS INITIAL                           "@SDR&lt;/P&gt;&lt;P&gt;            OR  ( t_poaccount-unload_pt+0(4) = c_4zeros ) ) ).     "@SDR&lt;/P&gt;&lt;P&gt;              CLEAR: l_constval.                                 "@SDR&lt;/P&gt;&lt;P&gt;              CALL FUNCTION 'ZXA_GET_CONSTANT'                   "@SDR&lt;/P&gt;&lt;P&gt;               EXPORTING                                         "@SDR&lt;/P&gt;&lt;P&gt;                const_name     = c_wbs_default                   "@SDR&lt;/P&gt;&lt;P&gt;                comp_code      = t_compcode                      "@SDR&lt;/P&gt;&lt;P&gt;               IMPORTING                                         "@SDR&lt;/P&gt;&lt;P&gt;                const_value    = l_constval                      "@SDR&lt;/P&gt;&lt;P&gt;               EXCEPTIONS                                        "@SDR&lt;/P&gt;&lt;P&gt;                no_value_found = 1                               "@SDR&lt;/P&gt;&lt;P&gt;                null_value     = 2                               "@SDR&lt;/P&gt;&lt;P&gt;                OTHERS         = 3.                              "@SDR&lt;/P&gt;&lt;P&gt;              "@SDR&lt;/P&gt;&lt;P&gt;              IF sy-subrc &amp;lt;&amp;gt; 0.                                  "@SDR&lt;/P&gt;&lt;P&gt;                t_poaccount-wbs_element = space.                "@SDR&lt;/P&gt;&lt;P&gt;                MODIFY t_poaccount INDEX l_index                "@SDR&lt;/P&gt;&lt;P&gt;                       TRANSPORTING wbs_element.                "@SDR&lt;/P&gt;&lt;P&gt;                READ TABLE t_poaccountx WITH KEY                "@SDR&lt;/P&gt;&lt;P&gt;                     po_item   = t_poaccount-po_item            "@SDR&lt;/P&gt;&lt;P&gt;                     serial_no = t_poaccount-serial_no.         "@SDR&lt;/P&gt;&lt;P&gt;                IF sy-subrc = 0.                                "@SDR&lt;/P&gt;&lt;P&gt;                  t_poaccountx-wbs_element = space.            "@SDR&lt;/P&gt;&lt;P&gt;                  MODIFY t_poaccountx INDEX sy-tabix           "@SDR&lt;/P&gt;&lt;P&gt;                         TRANSPORTING wbs_element.             "@SDR&lt;/P&gt;&lt;P&gt;                ENDIF.                                          "@SDR&lt;/P&gt;&lt;P&gt;                CLEAR l_constval.                               "@SDR&lt;/P&gt;&lt;P&gt;                l_msgv1 = l_constname.                          "@SDR&lt;/P&gt;&lt;P&gt;                l_msgv2 = t_compcode.                           "@SDR&lt;/P&gt;&lt;P&gt;                CALL FUNCTION 'BALW_BAPIRETURN_GET2'            "@SDR&lt;/P&gt;&lt;P&gt;                 EXPORTING                                      "@SDR&lt;/P&gt;&lt;P&gt;                  TYPE   = c_msgtype_e                          "@SDR&lt;/P&gt;&lt;P&gt;                  CL     = c_msgid_z001                         "@SDR&lt;/P&gt;&lt;P&gt;                  NUMBER = c_msgnr_046                          "@SDR&lt;/P&gt;&lt;P&gt;                  PAR1   = l_msgv1  "CONVERSION "@SDR&lt;/P&gt;&lt;P&gt;                  PAR2   = l_msgv2                              "@SDR&lt;/P&gt;&lt;P&gt;                  IMPORTING                                     "@SDR&lt;/P&gt;&lt;P&gt;                  RETURN = t_yreturn.                           "@SDR&lt;/P&gt;&lt;P&gt;                "@SDR&lt;/P&gt;&lt;P&gt;                APPEND t_yreturn.                               "@SDR&lt;/P&gt;&lt;P&gt;                CLEAR: t_yreturn ,                              "@SDR&lt;/P&gt;&lt;P&gt;                       l_constval,                              "@SDR&lt;/P&gt;&lt;P&gt;                       l_msgv1   ,                              "@SDR&lt;/P&gt;&lt;P&gt;                       l_msgv2   .                              "@SDR&lt;/P&gt;&lt;P&gt;                loop at t_yreturn.&lt;/P&gt;&lt;P&gt;                  l_wa_zerrors-OBJECT = 'PURCHASE_ORDER'.&lt;/P&gt;&lt;P&gt;                  l_wa_zerrors-serialno = sy-tabix.&lt;/P&gt;&lt;P&gt;                  l_wa_zerrors-COMP_CODE = t_compcode.&lt;/P&gt;&lt;P&gt;                  l_wa_zerrors-zid       = t_yreturn-id.&lt;/P&gt;&lt;P&gt;                  l_wa_zerrors-type      = t_yreturn-type.&lt;/P&gt;&lt;P&gt;                  l_wa_zerrors-znumber   = t_yreturn-number.&lt;/P&gt;&lt;P&gt;                  l_wa_zerrors-BEACON_DOC_NO = t_poheader-po_number.&lt;/P&gt;&lt;P&gt;                  l_wa_zerrors-SRC_DOC_NO = t_poheader-po_number.&lt;/P&gt;&lt;P&gt;                  l_wa_zerrors-ZDATE      = sy-datum.&lt;/P&gt;&lt;P&gt;                  l_wa_zerrors-ERR_MSG   = t_yreturn-message.&lt;/P&gt;&lt;P&gt;                  append l_wa_zerrors to t_errors.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                insert into zerrors values l_wa_zerrors.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;                  clear: l_wa_zerrors.&lt;/P&gt;&lt;P&gt;                endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                EXIT.                                           "@SDR&lt;/P&gt;&lt;P&gt;              ELSE.                                              "@SDR&lt;/P&gt;&lt;P&gt;                t_poaccount-wbs_element = l_constval.           "@SDR&lt;/P&gt;&lt;P&gt;                MODIFY t_poaccount INDEX l_index                "@SDR&lt;/P&gt;&lt;P&gt;                       TRANSPORTING wbs_element.                "@SDR&lt;/P&gt;&lt;P&gt;                READ TABLE t_poaccountx WITH KEY                "@SDR&lt;/P&gt;&lt;P&gt;                     po_item   = t_poaccount-po_item            "@SDR&lt;/P&gt;&lt;P&gt;                     serial_no = t_poaccount-serial_no.         "@SDR&lt;/P&gt;&lt;P&gt;                IF sy-subrc = 0.                                "@SDR&lt;/P&gt;&lt;P&gt;                  t_poaccountx-wbs_element = 'X'.              "@SDR&lt;/P&gt;&lt;P&gt;                  MODIFY t_poaccountx INDEX sy-tabix           "@SDR&lt;/P&gt;&lt;P&gt;                         TRANSPORTING wbs_element.             "@SDR&lt;/P&gt;&lt;P&gt;                ENDIF.                                          "@SDR&lt;/P&gt;&lt;P&gt;                t_poaccount-costcenter = space.                 "@SDR&lt;/P&gt;&lt;P&gt;                MODIFY t_poaccount INDEX l_index                "@SDR&lt;/P&gt;&lt;P&gt;                       TRANSPORTING costcenter.                 "@SDR&lt;/P&gt;&lt;P&gt;                READ TABLE t_poaccountx WITH KEY                "@SDR&lt;/P&gt;&lt;P&gt;                     po_item = t_poaccount-po_item              "@SDR&lt;/P&gt;&lt;P&gt;                     serial_no = t_poaccount-serial_no.         "@SDR&lt;/P&gt;&lt;P&gt;                IF sy-subrc = 0.                                "@SDR&lt;/P&gt;&lt;P&gt;                  t_poaccountx-costcenter = space.             "@SDR&lt;/P&gt;&lt;P&gt;                  MODIFY t_poaccountx INDEX l_index            "@SDR&lt;/P&gt;&lt;P&gt;                         TRANSPORTING costcenter.              "@SDR&lt;/P&gt;&lt;P&gt;                ENDIF.                                          "@SDR&lt;/P&gt;&lt;P&gt;              ENDIF.                                             "@SDR&lt;/P&gt;&lt;P&gt;            ELSE.                                                  "@SDR&lt;/P&gt;&lt;P&gt;              IF t_poaccount-costcenter = l_reference.             "@SDR&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;              Map the Popelsoft Cost Center into SAP Cost Center&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;                IF  ( NOT t_compcode             IS INITIAL )      "@SDR&lt;/P&gt;&lt;P&gt;                AND ( NOT t_poaccount-costcenter IS INITIAL ).     "@SDR&lt;/P&gt;&lt;P&gt;                  SHIFT t_poaccount-costcenter LEFT               "@SDR&lt;/P&gt;&lt;P&gt;                        DELETING LEADING c_zeros.                 "@SDR&lt;/P&gt;&lt;P&gt;                  l_ex_cc = t_poaccount-costcenter.               "@SDR&lt;/P&gt;&lt;P&gt;                  CALL FUNCTION 'Z_COSTCTR_GET'                   "@SDR&lt;/P&gt;&lt;P&gt;                   EXPORTING                                      "@SDR&lt;/P&gt;&lt;P&gt;                    P_BUKRS                = t_compcode           "@SDR&lt;/P&gt;&lt;P&gt;                    P_EX_CC                = l_ex_cc              "@SDR&lt;/P&gt;&lt;P&gt;                   IMPORTING                                      "@SDR&lt;/P&gt;&lt;P&gt;                    P_COSTCTR              =                      "@SDR&lt;/P&gt;&lt;P&gt;                                          t_poaccount-costcenter  "@SDR&lt;/P&gt;&lt;P&gt;                   EXCEPTIONS                                     "@SDR&lt;/P&gt;&lt;P&gt;                    NO_VALUE_FOUND         = 1                    "@SDR&lt;/P&gt;&lt;P&gt;                    NULL_VALUE_FOUND       = 2                    "@SDR&lt;/P&gt;&lt;P&gt;                    OTHERS                 = 3.                   "@SDR&lt;/P&gt;&lt;P&gt;                  "@SDR&lt;/P&gt;&lt;P&gt;                  IF sy-subrc = 0.                                "@SDR&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                    Assign the retrieved Cost Center from SAP to the&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                    account assignment strcuture after the mapping is&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                    successful&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;                    CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'  "@SDR&lt;/P&gt;&lt;P&gt;                          EXPORTING                              "@SDR&lt;/P&gt;&lt;P&gt;                           INPUT         = t_poaccount-costcenter&lt;/P&gt;&lt;P&gt;                          IMPORTING                              "@SDR&lt;/P&gt;&lt;P&gt;                           OUTPUT        = t_poaccount-costcenter.&lt;/P&gt;&lt;P&gt;                    MODIFY t_poaccount INDEX l_index             "@SDR&lt;/P&gt;&lt;P&gt;                           TRANSPORTING costcenter.              "@SDR&lt;/P&gt;&lt;P&gt;                  ELSE.                                           "@SDR&lt;/P&gt;&lt;P&gt;                    READ TABLE t_poaccountx WITH KEY             "@SDR&lt;/P&gt;&lt;P&gt;                         po_item   = t_poaccount-po_item         "@SDR&lt;/P&gt;&lt;P&gt;                         serial_no = t_poaccount-serial_no.      "@SDR&lt;/P&gt;&lt;P&gt;                    IF sy-subrc = 0.                             "@SDR&lt;/P&gt;&lt;P&gt;                      t_poaccountx-costcenter = space.          "@SDR&lt;/P&gt;&lt;P&gt;                      MODIFY t_poaccountx INDEX sy-tabix        "@SDR&lt;/P&gt;&lt;P&gt;                             TRANSPORTING costcenter.           "@SDR&lt;/P&gt;&lt;P&gt;                    ENDIF.                                       "@SDR&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                    Issue an error message that the mapping of the&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                    external Reference Number to SAP WBS Element has&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                    not been possible as no mapping or null mapping&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                    has been maintained in the custom mapping table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;                    l_msgv1 = t_poaccount-costcenter.            "@SDR&lt;/P&gt;&lt;P&gt;                    l_msgv2 = t_compcode.                        "@SDR&lt;/P&gt;&lt;P&gt;                    CALL FUNCTION 'BALW_BAPIRETURN_GET2'         "@SDR&lt;/P&gt;&lt;P&gt;                     EXPORTING                                   "@SDR&lt;/P&gt;&lt;P&gt;                      TYPE   = c_msgtype_e                       "@SDR&lt;/P&gt;&lt;P&gt;                      CL     = c_msgid_z001                      "@SDR&lt;/P&gt;&lt;P&gt;                      NUMBER = c_msgnr_072                       "@SDR&lt;/P&gt;&lt;P&gt;                      PAR1   = l_msgv1                           "@SDR&lt;/P&gt;&lt;P&gt;                      PAR2   = l_msgv2                           "@SDR&lt;/P&gt;&lt;P&gt;                    IMPORTING                                    "@SDR&lt;/P&gt;&lt;P&gt;                      RETURN = t_yreturn.                        "@SDR&lt;/P&gt;&lt;P&gt;                    CLEAR: l_index,                              "@SDR&lt;/P&gt;&lt;P&gt;                           t_poaccount-costcenter.               "@SDR&lt;/P&gt;&lt;P&gt;                    "@SDR&lt;/P&gt;&lt;P&gt;                    APPEND t_yreturn.                             "@SDR&lt;/P&gt;&lt;P&gt;                    CLEAR: t_yreturn,                             "@SDR&lt;/P&gt;&lt;P&gt;                           l_constval,                            "@SDR&lt;/P&gt;&lt;P&gt;                           l_msgv1   ,                            "@SDR&lt;/P&gt;&lt;P&gt;                           l_msgv2   .                            "@SDR&lt;/P&gt;&lt;P&gt;                    loop at t_yreturn.&lt;/P&gt;&lt;P&gt;                      l_wa_zerrors-OBJECT = 'PURCHASE_ORDER'.&lt;/P&gt;&lt;P&gt;                      l_wa_zerrors-serialno = sy-tabix.&lt;/P&gt;&lt;P&gt;                      l_wa_zerrors-COMP_CODE = t_compcode.&lt;/P&gt;&lt;P&gt;                      l_wa_zerrors-zid       = t_yreturn-id.&lt;/P&gt;&lt;P&gt;                      l_wa_zerrors-type      = t_yreturn-type.&lt;/P&gt;&lt;P&gt;                      l_wa_zerrors-znumber   = t_yreturn-number.&lt;/P&gt;&lt;P&gt;                      l_wa_zerrors-BEACON_DOC_NO = t_poheader-po_number.&lt;/P&gt;&lt;P&gt;                      l_wa_zerrors-SRC_DOC_NO = t_poheader-po_number.&lt;/P&gt;&lt;P&gt;                      l_wa_zerrors-ZDATE      = sy-datum.&lt;/P&gt;&lt;P&gt;                      l_wa_zerrors-ERR_MSG   = t_yreturn-message.&lt;/P&gt;&lt;P&gt;                      append l_wa_zerrors to t_errors.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                    insert into zerrors values l_wa_zerrors.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;                      clear: l_wa_zerrors.&lt;/P&gt;&lt;P&gt;                    endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                    EXIT.                                         "@SDR&lt;/P&gt;&lt;P&gt;                  ENDIF.                                          "@SDR&lt;/P&gt;&lt;P&gt;                ENDIF.                                             "@SDR&lt;/P&gt;&lt;P&gt;              ELSE.                                                "@SDR&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;              IF the first 4 digits of the Reference field is 0, even&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;              then charge it to a cost center else to a project&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;                IF  ( NOT t_poaccount-unload_pt IS INITIAL )       "@SDR&lt;/P&gt;&lt;P&gt;                AND ( NOT t_compcode            IS INITIAL ).      "@SDR&lt;/P&gt;&lt;P&gt;                 IF  t_poaccount-unload_pt+0(4) = c_4zeros.        "@SDR&lt;/P&gt;&lt;P&gt;                   IF NOT t_poaccount-costcenter IS INITIAL.       "@SDR&lt;/P&gt;&lt;P&gt;                     SHIFT t_poaccount-costcenter LEFT             "@SDR&lt;/P&gt;&lt;P&gt;                         DELETING LEADING c_zeros.                 "@SDR&lt;/P&gt;&lt;P&gt;                   l_ex_cc = t_poaccount-costcenter.               "@SDR&lt;/P&gt;&lt;P&gt;                   CALL FUNCTION 'Z_COSTCTR_GET'                   "@SDR&lt;/P&gt;&lt;P&gt;                    EXPORTING                                      "@SDR&lt;/P&gt;&lt;P&gt;                     P_BUKRS                = t_compcode           "@SDR&lt;/P&gt;&lt;P&gt;                     P_EX_CC                = l_ex_cc              "@SDR&lt;/P&gt;&lt;P&gt;                    IMPORTING                                      "@SDR&lt;/P&gt;&lt;P&gt;                     P_COSTCTR              =                      "@SDR&lt;/P&gt;&lt;P&gt;                                           t_poaccount-costcenter  "@SDR&lt;/P&gt;&lt;P&gt;                    EXCEPTIONS                                     "@SDR&lt;/P&gt;&lt;P&gt;                     NO_VALUE_FOUND         = 1                    "@SDR&lt;/P&gt;&lt;P&gt;                     NULL_VALUE_FOUND       = 2                    "@SDR&lt;/P&gt;&lt;P&gt;                     OTHERS                 = 3.                   "@SDR&lt;/P&gt;&lt;P&gt;                      "@SDR&lt;/P&gt;&lt;P&gt;                   IF sy-subrc = 0.                                "@SDR&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                    Assign the retrieved Cost Center from SAP to the&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                    account assignment strcuture after the mapping is&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                    successful&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;                      CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'  "@SDR&lt;/P&gt;&lt;P&gt;                            EXPORTING                              "@SDR&lt;/P&gt;&lt;P&gt;                                 INPUT         = t_poaccount-costcenter&lt;/P&gt;&lt;P&gt;                            IMPORTING                              "@SDR&lt;/P&gt;&lt;P&gt;                                 OUTPUT        = t_poaccount-costcenter.&lt;/P&gt;&lt;P&gt;                      MODIFY t_poaccount INDEX l_index             "@SDR&lt;/P&gt;&lt;P&gt;                             TRANSPORTING costcenter.              "@SDR&lt;/P&gt;&lt;P&gt;                   ELSE.                                           "@SDR&lt;/P&gt;&lt;P&gt;                      READ TABLE t_poaccountx WITH KEY             "@SDR&lt;/P&gt;&lt;P&gt;                           po_item   = t_poaccount-po_item         "@SDR&lt;/P&gt;&lt;P&gt;                           serial_no = t_poaccount-serial_no.      "@SDR&lt;/P&gt;&lt;P&gt;                      IF sy-subrc = 0.                             "@SDR&lt;/P&gt;&lt;P&gt;                         t_poaccountx-costcenter = space.          "@SDR&lt;/P&gt;&lt;P&gt;                         MODIFY t_poaccountx INDEX sy-tabix        "@SDR&lt;/P&gt;&lt;P&gt;                                TRANSPORTING costcenter.           "@SDR&lt;/P&gt;&lt;P&gt;                      ENDIF.                                       "@SDR&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                    Issue an error message that the mapping of the&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                    external Reference Number to SAP WBS Element has&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                    not been possible as no mapping or null mapping&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                    has been maintained in the custom mapping table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;                      l_msgv1 = t_poaccount-costcenter.            "@SDR&lt;/P&gt;&lt;P&gt;                      l_msgv2 = t_compcode.                        "@SDR&lt;/P&gt;&lt;P&gt;                      CALL FUNCTION 'BALW_BAPIRETURN_GET2'         "@SDR&lt;/P&gt;&lt;P&gt;                       EXPORTING                                   "@SDR&lt;/P&gt;&lt;P&gt;                        TYPE   = c_msgtype_e                       "@SDR&lt;/P&gt;&lt;P&gt;                        CL     = c_msgid_z001                      "@SDR&lt;/P&gt;&lt;P&gt;                        NUMBER = c_msgnr_072                       "@SDR&lt;/P&gt;&lt;P&gt;                        PAR1   = l_msgv1                           "@SDR&lt;/P&gt;&lt;P&gt;                        PAR2   = l_msgv2                           "@SDR&lt;/P&gt;&lt;P&gt;                      IMPORTING                                    "@SDR&lt;/P&gt;&lt;P&gt;                        RETURN = t_yreturn.                        "@SDR&lt;/P&gt;&lt;P&gt;                      CLEAR: l_index,                              "@SDR&lt;/P&gt;&lt;P&gt;                             t_poaccount-costcenter.               "@SDR&lt;/P&gt;&lt;P&gt;                        "@SDR&lt;/P&gt;&lt;P&gt;                     APPEND t_yreturn.                             "@SDR&lt;/P&gt;&lt;P&gt;                     CLEAR: t_yreturn,                             "@SDR&lt;/P&gt;&lt;P&gt;                            l_constval,                            "@SDR&lt;/P&gt;&lt;P&gt;                            l_msgv1   ,                            "@SDR&lt;/P&gt;&lt;P&gt;                            l_msgv2   .                            "@SDR&lt;/P&gt;&lt;P&gt;                        loop at t_yreturn.&lt;/P&gt;&lt;P&gt;                          l_wa_zerrors-OBJECT = 'PURCHASE_ORDER'.&lt;/P&gt;&lt;P&gt;                          l_wa_zerrors-serialno = sy-tabix.&lt;/P&gt;&lt;P&gt;                          l_wa_zerrors-COMP_CODE = t_compcode.&lt;/P&gt;&lt;P&gt;                          l_wa_zerrors-zid       = t_yreturn-id.&lt;/P&gt;&lt;P&gt;                          l_wa_zerrors-type      = t_yreturn-type.&lt;/P&gt;&lt;P&gt;                          l_wa_zerrors-znumber   = t_yreturn-number.&lt;/P&gt;&lt;P&gt;                      l_wa_zerrors-BEACON_DOC_NO = t_poheader-po_number.&lt;/P&gt;&lt;P&gt;                         l_wa_zerrors-SRC_DOC_NO = t_poheader-po_number.&lt;/P&gt;&lt;P&gt;                          l_wa_zerrors-ZDATE      = sy-datum.&lt;/P&gt;&lt;P&gt;                          l_wa_zerrors-ERR_MSG   = t_yreturn-message.&lt;/P&gt;&lt;P&gt;                          append l_wa_zerrors to t_errors.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                        insert into zerrors values l_wa_zerrors.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;                          clear: l_wa_zerrors.&lt;/P&gt;&lt;P&gt;                        endloop.&lt;/P&gt;&lt;P&gt;                     EXIT.                                         "@SDR&lt;/P&gt;&lt;P&gt;                   ENDIF.                                          "@SDR&lt;/P&gt;&lt;P&gt;                   ENDIF.                                          "@SDR&lt;/P&gt;&lt;P&gt;                  ELSE.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;              Use the below custom FM to retrieve the corresponding&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;              WBS element from SAP for the external Reference number&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;              available if at all&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;                   l_ex_pro_no = t_poaccount-unload_pt.            "@SDR&lt;/P&gt;&lt;P&gt;                   CALL FUNCTION 'Z_WBSELEM_GET'                   "@SDR&lt;/P&gt;&lt;P&gt;                    EXPORTING                                      "@SDR&lt;/P&gt;&lt;P&gt;                     P_BUKRS                = t_compcode           "@SDR&lt;/P&gt;&lt;P&gt;                     P_EX_PRO_NO            = l_ex_pro_no          "@SDR&lt;/P&gt;&lt;P&gt;                    IMPORTING                                      "@SDR&lt;/P&gt;&lt;P&gt;                     P_WBS_ELEMENT          =                      "@SDR&lt;/P&gt;&lt;P&gt;                                           t_poaccount-wbs_element "@SDR&lt;/P&gt;&lt;P&gt;                    EXCEPTIONS                                     "@SDR&lt;/P&gt;&lt;P&gt;                     NO_VALUE_FOUND         = 1                    "@SDR&lt;/P&gt;&lt;P&gt;                     NULL_VALUE_FOUND       = 2                    "@SDR&lt;/P&gt;&lt;P&gt;                     OTHERS                 = 3.                   "@SDR&lt;/P&gt;&lt;P&gt;                    "@SDR&lt;/P&gt;&lt;P&gt;                   IF sy-subrc = 0.                                "@SDR&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                    Assign the retrieved WBS Element from SAP to the&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                    account assignment strcuture after the mapping is&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                    successful&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;                      MODIFY t_poaccount INDEX l_index             "@SDR&lt;/P&gt;&lt;P&gt;                             TRANSPORTING wbs_element.             "@SDR&lt;/P&gt;&lt;P&gt;                      READ TABLE t_poaccountx WITH KEY             "@SDR&lt;/P&gt;&lt;P&gt;                           po_item   = t_poaccount-po_item         "@SDR&lt;/P&gt;&lt;P&gt;                           serial_no = t_poaccount-serial_no.      "@SDR&lt;/P&gt;&lt;P&gt;                      IF sy-subrc = 0.                             "@SDR&lt;/P&gt;&lt;P&gt;                        t_poaccountx-wbs_element = 'X'.           "@SDR&lt;/P&gt;&lt;P&gt;                        MODIFY t_poaccountx INDEX sy-tabix        "@SDR&lt;/P&gt;&lt;P&gt;                               TRANSPORTING wbs_element.          "@SDR&lt;/P&gt;&lt;P&gt;                      ENDIF.                                       "@SDR&lt;/P&gt;&lt;P&gt;                      t_poaccount-costcenter = space.              "@SDR&lt;/P&gt;&lt;P&gt;                      MODIFY t_poaccount INDEX l_index             "@SDR&lt;/P&gt;&lt;P&gt;                             TRANSPORTING costcenter.              "@SDR&lt;/P&gt;&lt;P&gt;                      READ TABLE t_poaccountx                      "@SDR&lt;/P&gt;&lt;P&gt;                           WITH KEY po_item  = t_poaccount-po_item "@SDR&lt;/P&gt;&lt;P&gt;                                 serial_no = t_poaccount-serial_no."@SDR&lt;/P&gt;&lt;P&gt;                      IF sy-subrc = 0.                             "@SDR&lt;/P&gt;&lt;P&gt;                        t_poaccountx-costcenter = space.          "@SDR&lt;/P&gt;&lt;P&gt;                        MODIFY t_poaccountx INDEX sy-tabix        "@SDR&lt;/P&gt;&lt;P&gt;                               TRANSPORTING costcenter.           "@SDR&lt;/P&gt;&lt;P&gt;                      ENDIF.                                       "@SDR&lt;/P&gt;&lt;P&gt;                   ELSE.                                           "@SDR&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                     Issue an error message that the mapping of the&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                     external Reference Number to SAP WBS Element has&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                     not been possible as no mapping or null mapping&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                     has been  maintained in the custom mapping table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;                      l_msgv1 = t_poaccount-unload_pt.            "@SDR&lt;/P&gt;&lt;P&gt;                      l_msgv2 = t_compcode.                       "@SDR&lt;/P&gt;&lt;P&gt;                      CALL FUNCTION 'BALW_BAPIRETURN_GET2'        "@SDR&lt;/P&gt;&lt;P&gt;                       EXPORTING                                  "@SDR&lt;/P&gt;&lt;P&gt;                        TYPE   = c_msgtype_e                      "@SDR&lt;/P&gt;&lt;P&gt;                        CL     = c_msgid_z001                     "@SDR&lt;/P&gt;&lt;P&gt;                        NUMBER = c_msgnr_066                      "@SDR&lt;/P&gt;&lt;P&gt;                        PAR1   = l_msgv1                          "@SDR&lt;/P&gt;&lt;P&gt;                        PAR2   = l_msgv2                          "@SDR&lt;/P&gt;&lt;P&gt;                       IMPORTING                                  "@SDR&lt;/P&gt;&lt;P&gt;                        RETURN = t_yreturn.                       "@SDR&lt;/P&gt;&lt;P&gt;                      CLEAR: l_index,                             "@SDR&lt;/P&gt;&lt;P&gt;                             t_poaccount-wbs_element.             "@SDR&lt;/P&gt;&lt;P&gt;                      "@SDR&lt;/P&gt;&lt;P&gt;                      "@SDR&lt;/P&gt;&lt;P&gt;                      APPEND t_yreturn.                           "@SDR&lt;/P&gt;&lt;P&gt;                      CLEAR: t_yreturn,                           "@SDR&lt;/P&gt;&lt;P&gt;                             l_constval,                          "@SDR&lt;/P&gt;&lt;P&gt;                             l_msgv1   ,                          "@SDR&lt;/P&gt;&lt;P&gt;                             l_msgv2   .                          "@SDR&lt;/P&gt;&lt;P&gt;                      loop at t_yreturn.&lt;/P&gt;&lt;P&gt;                        l_wa_zerrors-OBJECT = 'PURCHASE_ORDER'.&lt;/P&gt;&lt;P&gt;                        l_wa_zerrors-serialno = sy-tabix.&lt;/P&gt;&lt;P&gt;                        l_wa_zerrors-COMP_CODE = t_compcode.&lt;/P&gt;&lt;P&gt;                        l_wa_zerrors-zid       = t_yreturn-id.&lt;/P&gt;&lt;P&gt;                        l_wa_zerrors-type      = t_yreturn-type.&lt;/P&gt;&lt;P&gt;                        l_wa_zerrors-znumber   = t_yreturn-number.&lt;/P&gt;&lt;P&gt;                      l_wa_zerrors-BEACON_DOC_NO = t_poheader-po_number.&lt;/P&gt;&lt;P&gt;                        l_wa_zerrors-SRC_DOC_NO = t_poheader-po_number.&lt;/P&gt;&lt;P&gt;                        l_wa_zerrors-ZDATE      = sy-datum.&lt;/P&gt;&lt;P&gt;                        l_wa_zerrors-ERR_MSG   = t_yreturn-message.&lt;/P&gt;&lt;P&gt;                        append l_wa_zerrors to t_errors.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                      insert into zerrors values l_wa_zerrors.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;                        clear: l_wa_zerrors.&lt;/P&gt;&lt;P&gt;                      endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                      EXIT.                                       "@SDR&lt;/P&gt;&lt;P&gt;                   ENDIF.                                          "@SDR&lt;/P&gt;&lt;P&gt;                  ENDIF.                                           "@SDR&lt;/P&gt;&lt;P&gt;                ENDIF.                                             "@SDR&lt;/P&gt;&lt;P&gt;              ENDIF.                                               "@SDR&lt;/P&gt;&lt;P&gt;            ENDIF.                                                 "@SDR&lt;/P&gt;&lt;P&gt;          ENDIF.                                                 "@SDR&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           IF t_poaccount-wbs_element IS INITIAL.                "@SDR&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           ELSE.                                                 "@SDR&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           CLEAR t_poaccount-costcenter.                         "@SDR&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           MODIFY t_poaccount INDEX l_index                      "@SDR&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                  TRANSPORTING costcenter.                       "@SDR&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           READ TABLE t_poaccountx                               "@SDR&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                WITH KEY po_item = t_poaccount-po_item.          "@SDR&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           IF sy-subrc = 0.                                      "@SDR&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;              t_poaccountx-costcenter = space.                   "@SDR&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;              MODIFY t_poaccountx INDEX sy-tabix TRANSPORTING    "@SDR&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                     costcenter.                                 "@SDR&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.                                                "@SDR&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          ENDIF.                                                 "@SDR&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        ELSE.                     " Conversion is switched OFF "@SDR&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             If the conversion switch is OFF, issue a warning message&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             saying that the Division/Location, Subcode and Reference&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             fields are no longer used for Alza; contents will be&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             ignored&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          IF NOT t_poaccount-unload_pt IS INITIAL.&lt;/P&gt;&lt;P&gt;            CALL FUNCTION 'BALW_BAPIRETURN_GET2'             "@SDR&lt;/P&gt;&lt;P&gt;             EXPORTING                                       "@SDR&lt;/P&gt;&lt;P&gt;              TYPE   = c_msgtype_w                           "@SDR&lt;/P&gt;&lt;P&gt;              CL     = c_msgid_z001                          "@SDR&lt;/P&gt;&lt;P&gt;              NUMBER = c_msgnr_067                           "@SDR&lt;/P&gt;&lt;P&gt;             IMPORTING                                       "@SDR&lt;/P&gt;&lt;P&gt;              RETURN = t_yreturn.                            "@SDR&lt;/P&gt;&lt;P&gt;            "@SDR&lt;/P&gt;&lt;P&gt;            APPEND t_yreturn.                                "@SDR&lt;/P&gt;&lt;P&gt;            CLEAR: t_yreturn,                                "@SDR&lt;/P&gt;&lt;P&gt;                   l_constval.                               "@SDR&lt;/P&gt;&lt;P&gt;            loop at t_yreturn.&lt;/P&gt;&lt;P&gt;              l_wa_zerrors-OBJECT = 'PURCHASE_ORDER'.&lt;/P&gt;&lt;P&gt;              l_wa_zerrors-serialno = sy-tabix.&lt;/P&gt;&lt;P&gt;              l_wa_zerrors-COMP_CODE = t_compcode.&lt;/P&gt;&lt;P&gt;              l_wa_zerrors-zid       = t_yreturn-id.&lt;/P&gt;&lt;P&gt;              l_wa_zerrors-type      = t_yreturn-type.&lt;/P&gt;&lt;P&gt;              l_wa_zerrors-znumber   = t_yreturn-number.&lt;/P&gt;&lt;P&gt;              l_wa_zerrors-BEACON_DOC_NO = t_poheader-po_number.&lt;/P&gt;&lt;P&gt;              l_wa_zerrors-SRC_DOC_NO = t_poheader-po_number.&lt;/P&gt;&lt;P&gt;              l_wa_zerrors-ZDATE      = sy-datum.&lt;/P&gt;&lt;P&gt;              l_wa_zerrors-ERR_MSG   = t_yreturn-message.&lt;/P&gt;&lt;P&gt;              append l_wa_zerrors to t_errors.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            insert into zerrors values l_wa_zerrors.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;              clear: l_wa_zerrors.&lt;/P&gt;&lt;P&gt;            endloop.&lt;/P&gt;&lt;P&gt;          ENDIF.                                              "@SDR&lt;/P&gt;&lt;P&gt;        ENDIF.                                                    "@SDR&lt;/P&gt;&lt;P&gt;      ENDIF.                                                       "@SDR&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-------------------------------------------------" /&gt;&amp;amp;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; End of Addition: 26-Sep-2005 SDUTTARO RD1K910316     *&amp;amp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-------------------------------------------------" /&gt;&amp;amp;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF NOT t_poaccount-costcenter IS INITIAL.&lt;/P&gt;&lt;P&gt;        l_cc_present   = c_x.    "X&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;      IF NOT t_poaccount-wbs_element IS INITIAL.&lt;/P&gt;&lt;P&gt;        l_wbs_present  = c_x.    "X&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;      IF NOT t_poaccount-gl_account IS INITIAL.&lt;/P&gt;&lt;P&gt;        l_acct_present = c_x.    "X&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      READ TABLE t_acct_assignmt WITH KEY&lt;/P&gt;&lt;P&gt;              costcenter = l_cc_present&lt;/P&gt;&lt;P&gt;              wbs_element = l_wbs_present&lt;/P&gt;&lt;P&gt;              gl_account  = l_acct_present.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF t_acct_assignmt-acct_assgmnt = l_acct_assign.    "F&lt;/P&gt;&lt;P&gt;        EXIT.&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;    IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;      t_poitem-acctasscat = t_acct_assignmt-acct_assgmnt.&lt;/P&gt;&lt;P&gt;      MODIFY t_poitem.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      READ TABLE t_poitemx WITH KEY po_item = t_poitem-po_item.&lt;/P&gt;&lt;P&gt;      IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;        t_poitemx-acctasscat = c_x.  "X&lt;/P&gt;&lt;P&gt;        MODIFY t_poitemx INDEX sy-tabix.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-------------------------------------------------" /&gt;&amp;amp;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; Begin of Addition: 21-oct-2005 SDUTTARO RD1K910316   *&amp;amp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-------------------------------------------------" /&gt;&amp;amp;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    Final Invoice Indicator checked for all POs for conversion&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    IF t_compcode = c_bukrs_alza AND l_constval_gr  = c_x.       "@SDR&lt;/P&gt;&lt;P&gt;      t_poitem-final_inv = c_x.                                 "@SDR&lt;/P&gt;&lt;P&gt;      MODIFY t_poitem INDEX l_itemindex TRANSPORTING final_inv. "@SDR&lt;/P&gt;&lt;P&gt;      READ TABLE t_poitemx WITH KEY po_item = t_poitem-po_item. "@SDR&lt;/P&gt;&lt;P&gt;      IF sy-subrc = 0.                                          "@SDR&lt;/P&gt;&lt;P&gt;        t_poitemx-final_inv = c_x.                             "@SDR&lt;/P&gt;&lt;P&gt;        MODIFY t_poitemx INDEX sy-tabix TRANSPORTING final_inv."@SDR&lt;/P&gt;&lt;P&gt;      ENDIF.                                                    "@SDR&lt;/P&gt;&lt;P&gt;    ENDIF.                                                       "@SDR&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    NON VALUATED GR Indicator&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    Case1: NONVAL GR (Active) GR from Ariba (Active) With Split&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    IF  t_compcode                = c_bukrs_alza   "1155 "@SDR&lt;/P&gt;&lt;P&gt;    AND l_constval_gr             = c_x            "X "@SDR&lt;/P&gt;&lt;P&gt;    AND t_poitem-gr_ind           = c_x            "X "@SDR&lt;/P&gt;&lt;P&gt;    AND NOT t_poitem-distrib      IS INITIAL       .             "@SDR&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        GR Flag (Active) Non val GR (active)&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      t_poitem-gr_non_val       = c_x.           "X "@SDR&lt;/P&gt;&lt;P&gt;      MODIFY t_poitem INDEX l_itemindex                        "@SDR&lt;/P&gt;&lt;P&gt;             TRANSPORTING   gr_non_val.                        "@SDR&lt;/P&gt;&lt;P&gt;      READ TABLE t_poitemx                                     "@SDR&lt;/P&gt;&lt;P&gt;           WITH KEY po_item = t_poitem-po_item.                "@SDR&lt;/P&gt;&lt;P&gt;      IF sy-subrc = 0.                                         "@SDR&lt;/P&gt;&lt;P&gt;        t_poitemx-gr_non_val = c_x.             "X "@SDR&lt;/P&gt;&lt;P&gt;        MODIFY t_poitemx INDEX sy-tabix                       "@SDR&lt;/P&gt;&lt;P&gt;               TRANSPORTING gr_non_val.                       "@SDR&lt;/P&gt;&lt;P&gt;      ENDIF.                                                   "@SDR&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    Case 2: NONVAL GR (Active) GR from Ariba (Active) Without Split&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    ELSEIF  t_compcode            = c_bukrs_alza   "1155 "@SDR&lt;/P&gt;&lt;P&gt;    AND l_constval_gr             = c_x            "X "@SDR&lt;/P&gt;&lt;P&gt;    AND t_poitem-gr_ind           = c_x            "X "@SDR&lt;/P&gt;&lt;P&gt;    AND t_poitem-distrib          IS INITIAL       .             "@SDR&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        GR Flag (Active) Non val GR (active)&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      t_poitem-gr_non_val       = c_x.           "X "@SDR&lt;/P&gt;&lt;P&gt;      MODIFY t_poitem INDEX l_itemindex                        "@SDR&lt;/P&gt;&lt;P&gt;             TRANSPORTING   gr_non_val.                        "@SDR&lt;/P&gt;&lt;P&gt;      READ TABLE t_poitemx                                     "@SDR&lt;/P&gt;&lt;P&gt;           WITH KEY po_item = t_poitem-po_item.                "@SDR&lt;/P&gt;&lt;P&gt;      IF sy-subrc = 0.                                         "@SDR&lt;/P&gt;&lt;P&gt;        t_poitemx-gr_non_val = c_x.             "X "@SDR&lt;/P&gt;&lt;P&gt;        MODIFY t_poitemx INDEX sy-tabix                       "@SDR&lt;/P&gt;&lt;P&gt;               TRANSPORTING gr_non_val.                       "@SDR&lt;/P&gt;&lt;P&gt;      ENDIF.                                                   "@SDR&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    Case 3: NONVAL GR (Active) GR from Ariba (InActive) With Split&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    ELSEIF  t_compcode            = c_bukrs_alza   "1155 "@SDR&lt;/P&gt;&lt;P&gt;    AND l_constval_gr             = c_x            "X "@SDR&lt;/P&gt;&lt;P&gt;    AND t_poitem-gr_ind           IS INITIAL                     "@SDR&lt;/P&gt;&lt;P&gt;    AND NOT t_poitem-distrib      IS INITIAL       .             "@SDR&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        GR Flag (InActive) Non val GR (Inactive)&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      t_poitem-gr_non_val       = space.                       "@SDR&lt;/P&gt;&lt;P&gt;      MODIFY t_poitem INDEX l_itemindex                        "@SDR&lt;/P&gt;&lt;P&gt;             TRANSPORTING   gr_non_val.                        "@SDR&lt;/P&gt;&lt;P&gt;      READ TABLE t_poitemx                                     "@SDR&lt;/P&gt;&lt;P&gt;           WITH KEY po_item = t_poitem-po_item.                "@SDR&lt;/P&gt;&lt;P&gt;      IF sy-subrc = 0.                                         "@SDR&lt;/P&gt;&lt;P&gt;        t_poitemx-gr_non_val = space.                         "@SDR&lt;/P&gt;&lt;P&gt;        MODIFY t_poitemx INDEX sy-tabix                       "@SDR&lt;/P&gt;&lt;P&gt;               TRANSPORTING gr_non_val.                       "@SDR&lt;/P&gt;&lt;P&gt;      ENDIF.                                                   "@SDR&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    Case 4: NONVAL GR (Active) GR from Ariba (InActive) Without Split&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    ELSEIF  t_compcode            = c_bukrs_alza   "1155 "@SDR&lt;/P&gt;&lt;P&gt;    AND l_constval_gr             = c_x            "X "@SDR&lt;/P&gt;&lt;P&gt;    AND t_poitem-gr_ind           IS INITIAL                     "@SDR&lt;/P&gt;&lt;P&gt;    AND t_poitem-distrib          IS INITIAL       .             "@SDR&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        GR Flag (InActive) Non val GR (Inactive)&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      t_poitem-gr_non_val       = space.                       "@SDR&lt;/P&gt;&lt;P&gt;      MODIFY t_poitem INDEX l_itemindex                        "@SDR&lt;/P&gt;&lt;P&gt;             TRANSPORTING   gr_non_val.                        "@SDR&lt;/P&gt;&lt;P&gt;      READ TABLE t_poitemx                                     "@SDR&lt;/P&gt;&lt;P&gt;           WITH KEY po_item = t_poitem-po_item.                "@SDR&lt;/P&gt;&lt;P&gt;      IF sy-subrc = 0.                                         "@SDR&lt;/P&gt;&lt;P&gt;        t_poitemx-gr_non_val = space.                         "@SDR&lt;/P&gt;&lt;P&gt;        MODIFY t_poitemx INDEX sy-tabix                       "@SDR&lt;/P&gt;&lt;P&gt;               TRANSPORTING gr_non_val.                       "@SDR&lt;/P&gt;&lt;P&gt;      ENDIF.                                                   "@SDR&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    Case 5: NONVAL GR (InActive) GR from Ariba (Active) With Split&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    ELSEIF  t_compcode            = c_bukrs_alza   "1155 "@SDR&lt;/P&gt;&lt;P&gt;    AND l_constval_gr             = 'Y'                          "@SDR&lt;/P&gt;&lt;P&gt;    AND t_poitem-gr_ind           = c_x            "X "@SDR&lt;/P&gt;&lt;P&gt;    AND NOT t_poitem-distrib      IS INITIAL       .             "@SDR&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        GR Flag (Active) Non val GR (active)&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      t_poitem-gr_non_val       = c_x.           "X "@SDR&lt;/P&gt;&lt;P&gt;      MODIFY t_poitem INDEX l_itemindex                        "@SDR&lt;/P&gt;&lt;P&gt;             TRANSPORTING   gr_non_val.                        "@SDR&lt;/P&gt;&lt;P&gt;      READ TABLE t_poitemx                                     "@SDR&lt;/P&gt;&lt;P&gt;           WITH KEY po_item = t_poitem-po_item.                "@SDR&lt;/P&gt;&lt;P&gt;      IF sy-subrc = 0.                                         "@SDR&lt;/P&gt;&lt;P&gt;        t_poitemx-gr_non_val = c_x.             "X "@SDR&lt;/P&gt;&lt;P&gt;        MODIFY t_poitemx INDEX sy-tabix                       "@SDR&lt;/P&gt;&lt;P&gt;               TRANSPORTING gr_non_val.                       "@SDR&lt;/P&gt;&lt;P&gt;      ENDIF.                                                   "@SDR&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    Case 6: NONVAL GR (InActive) GR from Ariba (Active) Without Split&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    ELSEIF  t_compcode            = c_bukrs_alza   "1155 "@SDR&lt;/P&gt;&lt;P&gt;    AND l_constval_gr             = 'Y'                          "@SDR&lt;/P&gt;&lt;P&gt;    AND t_poitem-gr_ind           = c_x            "X "@SDR&lt;/P&gt;&lt;P&gt;    AND t_poitem-distrib          IS INITIAL       .             "@SDR&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        GR Flag (Active) Non val GR (Inactive)&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      t_poitem-gr_non_val       = space.                       "@SDR&lt;/P&gt;&lt;P&gt;      MODIFY t_poitem INDEX l_itemindex                        "@SDR&lt;/P&gt;&lt;P&gt;             TRANSPORTING   gr_non_val.                        "@SDR&lt;/P&gt;&lt;P&gt;      READ TABLE t_poitemx                                     "@SDR&lt;/P&gt;&lt;P&gt;           WITH KEY po_item = t_poitem-po_item.                "@SDR&lt;/P&gt;&lt;P&gt;      IF sy-subrc = 0.                                         "@SDR&lt;/P&gt;&lt;P&gt;        t_poitemx-gr_non_val = space.                         "@SDR&lt;/P&gt;&lt;P&gt;        MODIFY t_poitemx INDEX sy-tabix                       "@SDR&lt;/P&gt;&lt;P&gt;               TRANSPORTING gr_non_val.                       "@SDR&lt;/P&gt;&lt;P&gt;      ENDIF.                                                   "@SDR&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    Case 7: NONVAL GR (InActive) GR from Ariba (InActive) With Split&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    ELSEIF  t_compcode            = c_bukrs_alza   "1155 "@SDR&lt;/P&gt;&lt;P&gt;    AND l_constval_gr             = 'Y'                          "@SDR&lt;/P&gt;&lt;P&gt;    AND t_poitem-gr_ind           IS INITIAL                     "@SDR&lt;/P&gt;&lt;P&gt;    AND NOT t_poitem-distrib      IS INITIAL       .             "@SDR&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        GR Flag (InActive) Non val GR (Inactive)&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      t_poitem-gr_non_val       = space.                       "@SDR&lt;/P&gt;&lt;P&gt;      MODIFY t_poitem INDEX l_itemindex                        "@SDR&lt;/P&gt;&lt;P&gt;             TRANSPORTING   gr_non_val.                        "@SDR&lt;/P&gt;&lt;P&gt;      READ TABLE t_poitemx                                     "@SDR&lt;/P&gt;&lt;P&gt;           WITH KEY po_item = t_poitem-po_item.                "@SDR&lt;/P&gt;&lt;P&gt;      IF sy-subrc = 0.                                         "@SDR&lt;/P&gt;&lt;P&gt;        t_poitemx-gr_non_val = space.                         "@SDR&lt;/P&gt;&lt;P&gt;        MODIFY t_poitemx INDEX sy-tabix                       "@SDR&lt;/P&gt;&lt;P&gt;               TRANSPORTING gr_non_val.                       "@SDR&lt;/P&gt;&lt;P&gt;      ENDIF.                                                   "@SDR&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    Case 8: NONVAL GR (InActive) GR from Ariba (InActive) W/O Split&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    ELSEIF  t_compcode            = c_bukrs_alza   "1155 "@SDR&lt;/P&gt;&lt;P&gt;    AND l_constval_gr             = 'Y'                          "@SDR&lt;/P&gt;&lt;P&gt;    AND t_poitem-gr_ind           IS INITIAL                     "@SDR&lt;/P&gt;&lt;P&gt;    AND t_poitem-distrib          IS INITIAL       .             "@SDR&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        GR Flag (InActive) Non val GR (Inactive)&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      t_poitem-gr_non_val       = space.                       "@SDR&lt;/P&gt;&lt;P&gt;      MODIFY t_poitem INDEX l_itemindex                        "@SDR&lt;/P&gt;&lt;P&gt;             TRANSPORTING   gr_non_val.                        "@SDR&lt;/P&gt;&lt;P&gt;      READ TABLE t_poitemx                                     "@SDR&lt;/P&gt;&lt;P&gt;           WITH KEY po_item = t_poitem-po_item.                "@SDR&lt;/P&gt;&lt;P&gt;      IF sy-subrc = 0.                                         "@SDR&lt;/P&gt;&lt;P&gt;        t_poitemx-gr_non_val = space.                         "@SDR&lt;/P&gt;&lt;P&gt;        MODIFY t_poitemx INDEX sy-tabix                       "@SDR&lt;/P&gt;&lt;P&gt;               TRANSPORTING gr_non_val.                       "@SDR&lt;/P&gt;&lt;P&gt;      ENDIF.                                                   "@SDR&lt;/P&gt;&lt;P&gt;    ENDIF.                                                       "@SDR&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;&amp;amp;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; End of Addition:   21-oct-2005 SDUTTARO RD1K910316   *&amp;amp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-------------------------------------------------" /&gt;&amp;amp;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------" /&gt;&amp;amp;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; Begin of Addition: -Sep-2005 SDUTTARO RD1K910316   *&amp;amp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------" /&gt;&amp;amp;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Clear all the local variables.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    CLEAR: l_index    ,                                            "@SDR&lt;/P&gt;&lt;P&gt;           l_constval ,                                            "@SDR&lt;/P&gt;&lt;P&gt;           l_itemindex,                                            "@SDR&lt;/P&gt;&lt;P&gt;           l_ex_pro_no.                                            "@SDR&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------" /&gt;&amp;amp;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; End of Addition: -Sep-2005 SDUTTARO RD1K910316     *&amp;amp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------" /&gt;&amp;amp;&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MOD-003&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;***********************************************************&lt;/P&gt;&lt;P&gt;  DATA: L_TABIX TYPE SY-TABIX.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Retrieve Account assignment category&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; SELECT * FROM zacctasgmnt&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          INTO TABLE t_acct_assignmt&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          WHERE comp_code EQ t_compcode.&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; IF sy-subrc = 0.&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt; Retrieve Account assignment constant&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CALL FUNCTION 'ZXA_GET_CONSTANT'&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;             const_name     = c_acct_assign&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             comp_code      = t_compcode&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;             const_value    = l_acct_assign&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;             no_value_found = 1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             null_value     = 2&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             OTHERS         = 3.&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;     CLEAR : L_CONST_NAME,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             L_COMP_CODE.&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_CONST_NAME  = c_acct_assign.      "ZRP_ACCT_ASSIGN&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     L_COMP_CODE   = t_compcode.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     CALL FUNCTION 'BALW_BAPIRETURN_GET2'&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;               type   = c_msgtype_e  "E&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;               cl     = c_msgid_z001&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;               number = c_msgnr_046  "046&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;               PAR1   = L_CONST_NAME  "ZRP_ACCT_ASSIGN&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;               PAR2   = L_COMP_CODE&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;               return = t_yreturn.&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;     APPEND t_yreturn.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     CLEAR  t_yreturn.&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;     EXIT.&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;  data: l_prart type ps_prart,&lt;/P&gt;&lt;P&gt;        l_belkz type ps_belkz,&lt;/P&gt;&lt;P&gt;        l_glaccount type ZCONSTVAL,&lt;/P&gt;&lt;P&gt;        l_anln1 type anln1,&lt;/P&gt;&lt;P&gt;        l_anln2 type anln2,&lt;/P&gt;&lt;P&gt;        P_XSPEB type xspeb_anla.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  constants: c_gl_acc_po type ZCONSTname value 'Z_P2P_GL_ACC_PO'.&lt;/P&gt;&lt;P&gt;  DATA: L_werks type werks_d.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  data: l_location type stort_t499s.&lt;/P&gt;&lt;P&gt;  data: l_prev_item type ebelp.&lt;/P&gt;&lt;P&gt;  data: l_glacc(10) type c.&lt;/P&gt;&lt;P&gt;  data: l_cost(10) type c.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT t_poitem.&lt;/P&gt;&lt;P&gt;    CLEAR: l_acct_present, l_cc_present, l_wbs_present.&lt;/P&gt;&lt;P&gt;    l_itemindex = sy-tabix.                                        "@SDR&lt;/P&gt;&lt;P&gt;    CLEAR: t_acct_assignmt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    LOOP AT t_poaccount WHERE po_item = t_poitem-po_item.&lt;/P&gt;&lt;P&gt;      l_tabix = sy-tabix.&lt;/P&gt;&lt;P&gt;      CLEAR: L_ACCT_ASSMNT.&lt;/P&gt;&lt;P&gt;      SELECT SINGLE ACCT_ASSGMNT&lt;/P&gt;&lt;P&gt;      INTO L_ACCT_ASSMNT&lt;/P&gt;&lt;P&gt;      FROM ZP2P_ACCTASSCATG&lt;/P&gt;&lt;P&gt;      WHERE ZACCT_TYPE = T_POACCOUNT-ZACCT_TYPE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;        t_poitem-acctasscat = l_acct_assmnt.&lt;/P&gt;&lt;P&gt;        modify t_poitem transporting acctasscat.&lt;/P&gt;&lt;P&gt;      endif.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT t_poitem.&lt;/P&gt;&lt;P&gt;    CLEAR: l_acct_present, l_cc_present, l_wbs_present.&lt;/P&gt;&lt;P&gt;    l_itemindex = sy-tabix.                                        "@SDR&lt;/P&gt;&lt;P&gt;    CLEAR: t_acct_assignmt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    LOOP AT t_poaccount WHERE po_item = t_poitem-po_item.&lt;/P&gt;&lt;P&gt;      l_tabix = sy-tabix.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*MOD-004&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   IF NOT t_poaccount-costcenter IS INITIAL.&lt;/P&gt;&lt;P&gt;      CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'&lt;/P&gt;&lt;P&gt;           EXPORTING&lt;/P&gt;&lt;P&gt;                INPUT  = t_poaccount-costcenter&lt;/P&gt;&lt;P&gt;           IMPORTING&lt;/P&gt;&lt;P&gt;                OUTPUT = l_cost.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     IF L_COST NE '0000000000'.&lt;/P&gt;&lt;P&gt;      MOVE:  L_COST TO T_POACCOUNT-COSTCENTER.&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;   IF NOT t_poaccount-gl_account IS INITIAL.&lt;/P&gt;&lt;P&gt;      CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'&lt;/P&gt;&lt;P&gt;           EXPORTING&lt;/P&gt;&lt;P&gt;                INPUT  = t_poaccount-gl_account&lt;/P&gt;&lt;P&gt;           IMPORTING&lt;/P&gt;&lt;P&gt;                OUTPUT = l_glacc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF L_GLACC NE '0000000000'.&lt;/P&gt;&lt;P&gt;         MOVE: L_GLACC TO T_POACCOUNT-GL_ACCOUNT.&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;*MOD-004&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**MOD-003&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     if l_tabix &amp;gt; 1.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       perform check_split_accounts using t_poaccount-gl_account&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                          l_glaccount&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                          t_poheader&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                          t_compcode&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                          l_prev_item&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                          t_poitem-po_item.&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;*MOD-003&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Split Accounting check&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       if t_poaccount-gl_account = l_glaccount.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        CLEAR : L_CONST_NAME,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                 L_COMP_CODE.&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_CONST_NAME  = l_glaccount.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         L_COMP_CODE   = t_compcode.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         CALL FUNCTION 'BALW_BAPIRETURN_GET2'&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;                   type   = c_msgtype_e  "E&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                   cl     = c_msgid_z001&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                   number = c_msgnr_613&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                   PAR1   = L_CONST_NAME&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                   PAR2   = L_COMP_CODE&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;                   return = t_yreturn.&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;         APPEND t_yreturn.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         CLEAR  t_yreturn.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         l_wa_zerrors-OBJECT = 'PURCHASE_ORDER'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         l_wa_zerrors-COMP_CODE = t_poheader-comp_code.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         l_wa_zerrors-BEACON_DOC_NO = t_poheader-po_number.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         l_wa_zerrors-SRC_DOC_NO = t_poheader-po_number.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         l_wa_zerrors-ZDATE      = sy-datum.&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;        l_wa_zerrors-ERR_MSG    = c_msgnr_613.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         read table t_yreturn index 1.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         l_wa_zerrors-ERR_MSG    = t_yreturn-message.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         insert into zerrors values l_wa_zerrors.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         clear: l_wa_zerrors.&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;     endif.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      clear: l_prart, l_belkz.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      If t_poaccount-zacct_type =  C_W1.  "'W'.&lt;/P&gt;&lt;P&gt;*********************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Case 1 Expense WBS&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*********************************************&lt;/P&gt;&lt;P&gt;        CLEAR: L_ACCT_ASSMNT.&lt;/P&gt;&lt;P&gt;        SELECT SINGLE ACCT_ASSGMNT&lt;/P&gt;&lt;P&gt;        INTO L_ACCT_ASSMNT&lt;/P&gt;&lt;P&gt;        FROM ZP2P_ACCTASSCATG&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        WHERE ZACCT_TYPE = T_POACCOUNT-ZACCT_TYPE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        IF L_ACCT_ASSMNT = C_P1.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      IF t_poitem-acctasscat = C_P1.    "'P'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          IF NOT t_poaccount-gl_account IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'&lt;/P&gt;&lt;P&gt;                 EXPORTING&lt;/P&gt;&lt;P&gt;                      INPUT  = t_poaccount-gl_account&lt;/P&gt;&lt;P&gt;                 IMPORTING&lt;/P&gt;&lt;P&gt;                      OUTPUT = l_glacc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            MOVE: L_GLACC TO T_POACCOUNT-GL_ACCOUNT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            clear: l_flag.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*mod-004&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          perform validate_gl_account using t_poaccount-gl_account&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                             t_compcode&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                             changing l_flag.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*mod-004&lt;/P&gt;&lt;P&gt;            perform validate_gl_account using l_glacc&lt;/P&gt;&lt;P&gt;                                              t_compcode&lt;/P&gt;&lt;P&gt;                                              changing l_flag.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            IF L_FLAG NE 'X'.&lt;/P&gt;&lt;P&gt;              PERFORM ERROR_HANDLING_GL USING T_POHEADER&lt;/P&gt;&lt;P&gt;                                              T_COMPCODE&lt;/P&gt;&lt;P&gt;                                              L_WA_ZERRORS.&lt;/P&gt;&lt;P&gt;            ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            PERFORM GET_CONSTANT_ZXA USING t_poheader&lt;/P&gt;&lt;P&gt;                                           t_compcode&lt;/P&gt;&lt;P&gt;                                           l_wa_zerrors&lt;/P&gt;&lt;P&gt;                                     changing l_glaccount.&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;              EXIT.&lt;/P&gt;&lt;P&gt;            ELSE.&lt;/P&gt;&lt;P&gt;              if not t_poaccount-wbs_element is initial.&lt;/P&gt;&lt;P&gt;                perform check_project_type&lt;/P&gt;&lt;P&gt;                               using t_poaccount-wbs_element&lt;/P&gt;&lt;P&gt;                                     t_poheader&lt;/P&gt;&lt;P&gt;                                     t_compcode.&lt;/P&gt;&lt;P&gt;              endif.&lt;/P&gt;&lt;P&gt;            endif.&lt;/P&gt;&lt;P&gt;          endif.&lt;/P&gt;&lt;P&gt;        endif.&lt;/P&gt;&lt;P&gt;        IF L_ACCT_ASSMNT = C_K1.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      IF t_poitem-acctasscat = C_K1. "'K'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          IF NOT t_poaccount-gl_account IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'&lt;/P&gt;&lt;P&gt;                 EXPORTING&lt;/P&gt;&lt;P&gt;                      INPUT  = t_poaccount-gl_account&lt;/P&gt;&lt;P&gt;                 IMPORTING&lt;/P&gt;&lt;P&gt;                      OUTPUT = l_glacc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            MOVE: L_GLACC TO T_POACCOUNT-GL_ACCOUNT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*mod-004&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           perform validate_gl_account using t_poaccount-gl_account&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                            t_compcode&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                            changing l_flag.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*MOD-004&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            perform validate_gl_account using l_glacc&lt;/P&gt;&lt;P&gt;                                              t_compcode&lt;/P&gt;&lt;P&gt;                                              changing l_flag.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            IF L_FLAG NE C_X. "'X'.&lt;/P&gt;&lt;P&gt;              PERFORM ERROR_HANDLING_GL USING T_POHEADER&lt;/P&gt;&lt;P&gt;                                              T_COMPCODE&lt;/P&gt;&lt;P&gt;                                              L_WA_ZERRORS.&lt;/P&gt;&lt;P&gt;            ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            PERFORM GET_CONSTANT_ZXA USING t_poheader&lt;/P&gt;&lt;P&gt;                                           t_compcode&lt;/P&gt;&lt;P&gt;                                           l_wa_zerrors&lt;/P&gt;&lt;P&gt;                                     changing l_glaccount.&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;              EXIT.&lt;/P&gt;&lt;P&gt;            ELSE.&lt;/P&gt;&lt;P&gt;              IF NOT T_POACCOUNT-WBS_ELEMENT IS INITIAL.&lt;/P&gt;&lt;P&gt;                perform check_project_type&lt;/P&gt;&lt;P&gt;                               using t_poaccount-wbs_element&lt;/P&gt;&lt;P&gt;                                     t_poheader&lt;/P&gt;&lt;P&gt;                                     t_compcode.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;              ENDIF.&lt;/P&gt;&lt;P&gt;            endif.&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;        IF NOT t_poaccount-costcenter IS INITIAL AND&lt;/P&gt;&lt;P&gt;           t_poaccount-costcenter NE '0000000000'.&lt;/P&gt;&lt;P&gt;*MOD-004&lt;/P&gt;&lt;P&gt;          CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'&lt;/P&gt;&lt;P&gt;               EXPORTING&lt;/P&gt;&lt;P&gt;                    INPUT  = t_poaccount-costcenter&lt;/P&gt;&lt;P&gt;               IMPORTING&lt;/P&gt;&lt;P&gt;                    OUTPUT = l_cost.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          MOVE: L_COST TO T_POACCOUNT-COSTCENTER.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         perform validate_costcenter using t_poaccount-costcenter&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                           changing l_flag.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*MOD-004&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          perform validate_costcenter using l_cost&lt;/P&gt;&lt;P&gt;                                           changing l_flag.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          IF L_FLAG NE C_X. "'X'.&lt;/P&gt;&lt;P&gt;            PERFORM ERROR_HANDLING_COST USING T_POHEADER&lt;/P&gt;&lt;P&gt;                                              T_COMPCODE&lt;/P&gt;&lt;P&gt;                                              L_WA_ZERRORS.&lt;/P&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;P&gt;          l_cc_present   = c_x.    "X&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;*Case 1&lt;/P&gt;&lt;P&gt;**********************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**********************************************************************&lt;/P&gt;&lt;P&gt;*Case 2 : Capital WBS- New Asset&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      If t_poaccount-zacct_type = C_N1. "'N'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Case 1 Expense WBS&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        CLEAR: L_ACCT_ASSMNT.&lt;/P&gt;&lt;P&gt;        SELECT SINGLE ACCT_ASSGMNT&lt;/P&gt;&lt;P&gt;        INTO L_ACCT_ASSMNT&lt;/P&gt;&lt;P&gt;        FROM ZP2P_ACCTASSCATG&lt;/P&gt;&lt;P&gt;        WHERE ZACCT_TYPE = T_POACCOUNT-ZACCT_TYPE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        IF L_ACCT_ASSMNT = C_P1.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      IF t_poitem-acctasscat = C_P1. "'P'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          IF NOT t_poaccount-gl_account IS INITIAL.&lt;/P&gt;&lt;P&gt;*MOD-004&lt;/P&gt;&lt;P&gt;            CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'&lt;/P&gt;&lt;P&gt;                 EXPORTING&lt;/P&gt;&lt;P&gt;                      INPUT  = t_poaccount-gl_account&lt;/P&gt;&lt;P&gt;                 IMPORTING&lt;/P&gt;&lt;P&gt;                      OUTPUT = l_glacc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            MOVE: L_GLACC TO T_POACCOUNT-GL_ACCOUNT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           perform validate_gl_account_exp_wbs&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                       using t_poaccount-gl_account&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                             t_compcode&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                             changing l_flag.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*MOD-004&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            perform validate_gl_account_exp_wbs&lt;/P&gt;&lt;P&gt;                                        using l_glacc&lt;/P&gt;&lt;P&gt;                                              t_compcode&lt;/P&gt;&lt;P&gt;                                              changing l_flag.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            IF L_FLAG NE C_X. "'X'.&lt;/P&gt;&lt;P&gt;              PERFORM ERROR_HANDLING_GL USING T_POHEADER&lt;/P&gt;&lt;P&gt;                                              T_COMPCODE&lt;/P&gt;&lt;P&gt;                                              L_WA_ZERRORS.&lt;/P&gt;&lt;P&gt;            ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            PERFORM GET_CONSTANT_ZXA USING t_poheader&lt;/P&gt;&lt;P&gt;                                           t_compcode&lt;/P&gt;&lt;P&gt;                                           l_wa_zerrors&lt;/P&gt;&lt;P&gt;                                     changing l_glaccount.&lt;/P&gt;&lt;P&gt;            IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;              PERFORM ERROR_HANDLING_GL USING T_POHEADER&lt;/P&gt;&lt;P&gt;                                             T_COMPCODE&lt;/P&gt;&lt;P&gt;                                             L_WA_ZERRORS.&lt;/P&gt;&lt;P&gt;              EXIT.&lt;/P&gt;&lt;P&gt;            ELSE.&lt;/P&gt;&lt;P&gt;              if not t_poaccount-wbs_element is initial.&lt;/P&gt;&lt;P&gt;                perform check_project_type&lt;/P&gt;&lt;P&gt;                               using t_poaccount-wbs_element&lt;/P&gt;&lt;P&gt;                                     t_poheader&lt;/P&gt;&lt;P&gt;                                     t_compcode.&lt;/P&gt;&lt;P&gt;                if sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;                  EXIT.&lt;/P&gt;&lt;P&gt;                ENDIF.&lt;/P&gt;&lt;P&gt;              endif.&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;      endif.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          if not t_poitem-plant is initial.&lt;/P&gt;&lt;P&gt;            clear: l_werks.&lt;/P&gt;&lt;P&gt;            select single werks&lt;/P&gt;&lt;P&gt;            into l_werks&lt;/P&gt;&lt;P&gt;            from t499s&lt;/P&gt;&lt;P&gt;            where werks = t_poitem-plant.&lt;/P&gt;&lt;P&gt;            if sy-subrc ne 0.&lt;/P&gt;&lt;P&gt;              PERFORM ERROR_HANDLING_PLANT USING   T_POHEADER&lt;/P&gt;&lt;P&gt;                                                   T_COMPCODE&lt;/P&gt;&lt;P&gt;                                                   L_WA_ZERRORS.&lt;/P&gt;&lt;P&gt;              EXIT.&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;           select single werks&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           into l_werks&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           from t001w&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           where werks = t_poitem-plant.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           if sy-subrc ne 0.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             PERFORM ERROR_HANDLING_PLANT USING   T_POHEADER&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                                  T_COMPCODE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                                  L_WA_ZERRORS.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             EXIT.&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;            Clear: l_werks.&lt;/P&gt;&lt;P&gt;            select single werks&lt;/P&gt;&lt;P&gt;            into l_werks&lt;/P&gt;&lt;P&gt;            from ANLZ&lt;/P&gt;&lt;P&gt;            where bukrs = t_compcode and&lt;/P&gt;&lt;P&gt;                  werks = t_poitem-plant.&lt;/P&gt;&lt;P&gt;            if sy-subrc ne 0.&lt;/P&gt;&lt;P&gt;              PERFORM ERROR_HANDLING_ANLZ USING    T_POHEADER&lt;/P&gt;&lt;P&gt;                                                   T_COMPCODE&lt;/P&gt;&lt;P&gt;                                                   L_WA_ZERRORS.&lt;/P&gt;&lt;P&gt;              EXIT.&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;           clear: l_werks.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           select single werks&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           into l_werks&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           from t499s&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           where werks = t_poitem-plant.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           if sy-subrc ne 0.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             PERFORM ERROR_HANDLING_PLANT USING   T_POHEADER&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                                  T_COMPCODE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                                  L_WA_ZERRORS.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             EXIT.&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;          endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        If not t_poitem-plant is initial.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          If not t_poaccount-zplant is initial.&lt;/P&gt;&lt;P&gt;            select single werks stand&lt;/P&gt;&lt;P&gt;            into (l_werks, l_location )&lt;/P&gt;&lt;P&gt;            from t499s&lt;/P&gt;&lt;P&gt;            where werks = t_POACCOUNT-ZPLANT AND&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                        poitem-plant and&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;                  stand =  t_poaccount-zlocation.&lt;/P&gt;&lt;P&gt;            if sy-subrc ne 0.&lt;/P&gt;&lt;P&gt;              PERFORM ERROR_HANDLING_location USING   T_POHEADER&lt;/P&gt;&lt;P&gt;                                                   T_COMPCODE&lt;/P&gt;&lt;P&gt;                                                   L_WA_ZERRORS.&lt;/P&gt;&lt;P&gt;              EXIT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            endif.&lt;/P&gt;&lt;P&gt;          endif.&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;       IF t_poitem-acctasscat = C_K1. "'K'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        IF L_ACCT_ASSMNT = C_K1.&lt;/P&gt;&lt;P&gt;          CLEAR: L_ACCT_ASSMNT.&lt;/P&gt;&lt;P&gt;          SELECT SINGLE ACCT_ASSGMNT&lt;/P&gt;&lt;P&gt;          INTO L_ACCT_ASSMNT&lt;/P&gt;&lt;P&gt;          FROM ZP2P_ACCTASSCATG&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        FROM ZPOACCTASGMNTCAT&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          WHERE ZACCT_TYPE = T_POACCOUNT-ZACCT_TYPE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          IF NOT t_poaccount-gl_account IS INITIAL.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                EXPORTING  "@SDR&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                     INPUT  = t_poaccount-gl_account&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                IMPORTING  "@SDR&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                     OUTPUT = t_poaccount-gl_account.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'&lt;/P&gt;&lt;P&gt;                 EXPORTING  "@SDR&lt;/P&gt;&lt;P&gt;                      INPUT  = t_poaccount-gl_account&lt;/P&gt;&lt;P&gt;                 IMPORTING  "@SDR&lt;/P&gt;&lt;P&gt;                      OUTPUT = l_glacc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            MOVE: L_GLACC TO T_POACCOUNT-GL_ACCOUNT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          perform validate_gl_account using t_poaccount-gl_account&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                            t_compcode&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                            changing l_flag.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            perform validate_gl_account using l_glacc&lt;/P&gt;&lt;P&gt;                                             t_compcode&lt;/P&gt;&lt;P&gt;                                             changing l_flag.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            IF L_FLAG NE C_X. "'X'.&lt;/P&gt;&lt;P&gt;              PERFORM ERROR_HANDLING_GL USING T_POHEADER&lt;/P&gt;&lt;P&gt;                                              T_COMPCODE&lt;/P&gt;&lt;P&gt;                                              L_WA_ZERRORS.&lt;/P&gt;&lt;P&gt;            ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            PERFORM GET_CONSTANT_ZXA USING t_poheader&lt;/P&gt;&lt;P&gt;                                           t_compcode&lt;/P&gt;&lt;P&gt;                                           l_wa_zerrors&lt;/P&gt;&lt;P&gt;                                     changing l_glaccount.&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;              EXIT.&lt;/P&gt;&lt;P&gt;            ELSE.&lt;/P&gt;&lt;P&gt;              IF NOT T_POACCOUNT-WBS_ELEMENT IS INITIAL.&lt;/P&gt;&lt;P&gt;                perform check_project_type&lt;/P&gt;&lt;P&gt;                               using t_poaccount-wbs_element&lt;/P&gt;&lt;P&gt;                                     t_poheader&lt;/P&gt;&lt;P&gt;                                     t_compcode.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;              ENDIF.&lt;/P&gt;&lt;P&gt;            endif.&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;*MOD-004&lt;/P&gt;&lt;P&gt;        IF NOT t_poaccount-costcenter IS INITIAL AND&lt;/P&gt;&lt;P&gt;           t_poaccount-costcenter NE '0000000000'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'&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  = t_poaccount-costcenter&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 = t_poaccount-costcenter.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'&lt;/P&gt;&lt;P&gt;               EXPORTING&lt;/P&gt;&lt;P&gt;                    INPUT  = t_poaccount-costcenter&lt;/P&gt;&lt;P&gt;               IMPORTING&lt;/P&gt;&lt;P&gt;                    OUTPUT = l_cost.&lt;/P&gt;&lt;P&gt;          IF t_poaccount-costcenter NE '0000000000'.&lt;/P&gt;&lt;P&gt;            MOVE: L_COST TO T_POACCOUNT-COSTCENTER.&lt;/P&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;P&gt;*MOD-004&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        perform validate_costcenter using t_poaccount-costcenter&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                           changing l_flag.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*MOD-004&lt;/P&gt;&lt;P&gt;          perform validate_costcenter using l_cost&lt;/P&gt;&lt;P&gt;                                            changing l_flag.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          IF L_FLAG NE C_X. "'X'.&lt;/P&gt;&lt;P&gt;            PERFORM ERROR_HANDLING_COST USING T_POHEADER&lt;/P&gt;&lt;P&gt;                                              T_COMPCODE&lt;/P&gt;&lt;P&gt;                                              L_WA_ZERRORS.&lt;/P&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;P&gt;          l_cc_present   = c_x.    "X&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        l_cc_present   = c_x.    "X&lt;/P&gt;&lt;P&gt;      endif.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Case 2&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;P&gt;*case 3 Capital WBS Existing Asset&lt;/P&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      If t_poaccount-zacct_type = C_A1. "'A'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Case 1 Expense WBS&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        CLEAR: L_ACCT_ASSMNT.&lt;/P&gt;&lt;P&gt;        SELECT SINGLE ACCT_ASSGMNT&lt;/P&gt;&lt;P&gt;        INTO L_ACCT_ASSMNT&lt;/P&gt;&lt;P&gt;        FROM ZP2P_ACCTASSCATG&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      FROM ZPOACCTASGMNTCAT&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        WHERE ZACCT_TYPE = T_POACCOUNT-ZACCT_TYPE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        IF L_ACCT_ASSMNT = C_P1.&lt;/P&gt;&lt;P&gt;          IF NOT t_poaccount-gl_account IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*MOD-004&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                EXPORTING  "@SDR&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                     INPUT  = t_poaccount-gl_account&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                IMPORTING  "@SDR&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                     OUTPUT = t_poaccount-gl_account.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;            CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'&lt;/P&gt;&lt;P&gt;                 EXPORTING  "@SDR&lt;/P&gt;&lt;P&gt;                      INPUT  = t_poaccount-gl_account&lt;/P&gt;&lt;P&gt;                 IMPORTING  "@SDR&lt;/P&gt;&lt;P&gt;                      OUTPUT = l_glacc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            MOVE: L_GLACC TO T_POACCOUNT-GL_ACCOUNT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           perform validate_gl_account_exp_wbs&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                       using t_poaccount-gl_account&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                             t_compcode&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                             changing l_flag.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*MOD-004&lt;/P&gt;&lt;P&gt;            perform validate_gl_account_exp_wbs&lt;/P&gt;&lt;P&gt;                                        using l_glacc&lt;/P&gt;&lt;P&gt;                                              t_compcode&lt;/P&gt;&lt;P&gt;                                              changing l_flag.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            IF L_FLAG NE 'X'.&lt;/P&gt;&lt;P&gt;              PERFORM ERROR_HANDLING_GL USING T_POHEADER&lt;/P&gt;&lt;P&gt;                                              T_COMPCODE&lt;/P&gt;&lt;P&gt;                                              L_WA_ZERRORS.&lt;/P&gt;&lt;P&gt;              EXIT.&lt;/P&gt;&lt;P&gt;            ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            PERFORM GET_CONSTANT_ZXA USING t_poheader&lt;/P&gt;&lt;P&gt;                                           t_compcode&lt;/P&gt;&lt;P&gt;                                           l_wa_zerrors&lt;/P&gt;&lt;P&gt;                                     changing l_glaccount.&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;              EXIT.&lt;/P&gt;&lt;P&gt;            ELSE.&lt;/P&gt;&lt;P&gt;              if not t_poaccount-wbs_element is initial.&lt;/P&gt;&lt;P&gt;                perform check_project_type&lt;/P&gt;&lt;P&gt;                               using t_poaccount-wbs_element&lt;/P&gt;&lt;P&gt;                                     t_poheader&lt;/P&gt;&lt;P&gt;                                     t_compcode.&lt;/P&gt;&lt;P&gt;                if sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;                  EXIT.&lt;/P&gt;&lt;P&gt;                ENDIF.&lt;/P&gt;&lt;P&gt;              endif.&lt;/P&gt;&lt;P&gt;            endif.&lt;/P&gt;&lt;P&gt;            if not t_poaccount-asset_no is initial.&lt;/P&gt;&lt;P&gt;              PERFORM GET_ASSET_DATA USING T_COMPCODE&lt;/P&gt;&lt;P&gt;                                           T_POACCOUNT&lt;/P&gt;&lt;P&gt;                                           T_POHEADER&lt;/P&gt;&lt;P&gt;                                      CHANGING P_XSPEB.&lt;/P&gt;&lt;P&gt;              if sy-subrc ne 0.&lt;/P&gt;&lt;P&gt;                EXIT.&lt;/P&gt;&lt;P&gt;              ELSE.&lt;/P&gt;&lt;P&gt;                IF P_XSPEB eq C_X. "'X'.&lt;/P&gt;&lt;P&gt;                  PERFORM ERROR_HANDLING_XSPEBG USING T_POHEADER&lt;/P&gt;&lt;P&gt;                                                      T_COMPCODE&lt;/P&gt;&lt;P&gt;                                                      L_WA_ZERRORS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                  EXIT.&lt;/P&gt;&lt;P&gt;                ENDIF.&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 not t_poitem-plant is initial.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             select single werks&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             into l_werks&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             from t001w&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             where werks = t_poitem-plant.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             if sy-subrc ne 0.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;               PERFORM ERROR_HANDLING_PLANT USING   T_POHEADER&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                                    T_COMPCODE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                                    L_WA_ZERRORS.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;               EXIT.&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;             Clear: l_werks.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             IF NOT T_POITEM-PLANT IS INITIAL.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;               select single werks&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;               into l_werks&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;               from ANLZ&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;               where bukrs = t_compcode and&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                     werks = t_poitem-plant.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;               if sy-subrc ne 0.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                 PERFORM ERROR_HANDLING_ANLZ USING    T_POHEADER&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                                  T_COMPCODE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                                  L_WA_ZERRORS.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                 EXIT.&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;LI level="1" type="ul"&gt;&lt;P&gt;             clear: l_werks.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             IF NOT T_POITEM-PLANT IS INITIAL.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;               select single werks&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;               into l_werks&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;               from t499s&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;               where werks = t_poitem-plant.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;               if sy-subrc ne 0.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                 PERFORM ERROR_HANDLING_PLANT USING   T_POHEADER&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                                  T_COMPCODE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                                  L_WA_ZERRORS.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                 EXIT.&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;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;           If not t_poitem-plant is initial.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             select single werks stand&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             into (l_werks, l_location )&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             from t499s&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             where werks = t_POACCOUNT-ZPLANT AND&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             stand =  t_poaccount-Zlocation.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             if sy-subrc ne 0.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;               PERFORM ERROR_HANDLING_location USING   T_POHEADER&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                                 T_COMPCODE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                                 L_WA_ZERRORS.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;               EXIT.&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;          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 t_poitem-acctasscat = C_K1. "'K'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        IF L_ACCT_ASSMNT = C_K1.&lt;/P&gt;&lt;P&gt;          IF NOT t_poaccount-gl_account IS INITIAL.&lt;/P&gt;&lt;P&gt;*MOD-004&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                EXPORTING  "@SDR&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                     INPUT  = t_poaccount-gl_account&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                IMPORTING  "@SDR&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                     OUTPUT = t_poaccount-gl_account.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'&lt;/P&gt;&lt;P&gt;                 EXPORTING  "@SDR&lt;/P&gt;&lt;P&gt;                      INPUT  = t_poaccount-gl_account&lt;/P&gt;&lt;P&gt;                 IMPORTING  "@SDR&lt;/P&gt;&lt;P&gt;                      OUTPUT = l_glacc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            MOVE: L_GLACC TO T_POACCOUNT-GL_ACCOUNT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          perform validate_gl_account using t_poaccount-gl_account&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                            t_compcode&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                            changing l_flag.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*MOD-004&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            perform validate_gl_account using l_glacc&lt;/P&gt;&lt;P&gt;                                             t_compcode&lt;/P&gt;&lt;P&gt;                                             changing l_flag.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            IF L_FLAG NE C_X. "'X'.&lt;/P&gt;&lt;P&gt;              PERFORM ERROR_HANDLING_GL USING T_POHEADER&lt;/P&gt;&lt;P&gt;                                              T_COMPCODE&lt;/P&gt;&lt;P&gt;                                              L_WA_ZERRORS.&lt;/P&gt;&lt;P&gt;            ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            PERFORM GET_CONSTANT_ZXA USING t_poheader&lt;/P&gt;&lt;P&gt;                                           t_compcode&lt;/P&gt;&lt;P&gt;                                           l_wa_zerrors&lt;/P&gt;&lt;P&gt;                                     changing l_glaccount.&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;              EXIT.&lt;/P&gt;&lt;P&gt;            ELSE.&lt;/P&gt;&lt;P&gt;              IF NOT T_POACCOUNT-WBS_ELEMENT IS INITIAL.&lt;/P&gt;&lt;P&gt;                perform check_project_type&lt;/P&gt;&lt;P&gt;                               using t_poaccount-wbs_element&lt;/P&gt;&lt;P&gt;                                     t_poheader&lt;/P&gt;&lt;P&gt;                                     t_compcode.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;              ENDIF.&lt;/P&gt;&lt;P&gt;            endif.&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;        IF NOT t_poaccount-costcenter IS INITIAL AND&lt;/P&gt;&lt;P&gt;               t_poaccount-costcenter NE '0000000000'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*mod-004&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'&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  = t_poaccount-costcenter&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 = t_poaccount-costcenter.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*MOD-004&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'&lt;/P&gt;&lt;P&gt;               EXPORTING&lt;/P&gt;&lt;P&gt;                    INPUT  = t_poaccount-costcenter&lt;/P&gt;&lt;P&gt;               IMPORTING&lt;/P&gt;&lt;P&gt;                    OUTPUT = l_cost.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          IF T_POACCOUNT-COSTCENTER NE '0000000000'.&lt;/P&gt;&lt;P&gt;            MOVE: L_COST TO T_POACCOUNT-COSTCENTER.&lt;/P&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*MOD-004&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        perform validate_costcenter using t_poaccount-costcenter&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                           changing l_flag.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*MOD-004&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          perform validate_costcenter using l_cost&lt;/P&gt;&lt;P&gt;                                            changing l_flag.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*mod-004&lt;/P&gt;&lt;P&gt;          IF L_FLAG NE C_X. "'X'.&lt;/P&gt;&lt;P&gt;            PERFORM ERROR_HANDLING_COST USING T_POHEADER&lt;/P&gt;&lt;P&gt;                                              T_COMPCODE&lt;/P&gt;&lt;P&gt;                                              L_WA_ZERRORS.&lt;/P&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;P&gt;          l_cc_present   = c_x.    "X&lt;/P&gt;&lt;P&gt;        ENDIF.&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;Case 3&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;Case 4&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;**********************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      If t_poaccount-zacct_type = C_C1. "'C'.&lt;/P&gt;&lt;P&gt;        CLEAR: L_ACCT_ASSMNT.&lt;/P&gt;&lt;P&gt;        SELECT SINGLE ACCT_ASSGMNT&lt;/P&gt;&lt;P&gt;        INTO L_ACCT_ASSMNT&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      FROM ZPOACCTASGMNTCAT&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        FROM ZP2P_ACCTASSCATG&lt;/P&gt;&lt;P&gt;        WHERE ZACCT_TYPE = T_POACCOUNT-ZACCT_TYPE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      IF t_poitem-acctasscat = C_K1. "'K'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        IF L_ACCT_ASSMNT = C_K1.&lt;/P&gt;&lt;P&gt;          IF NOT t_poaccount-gl_account IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*MOD-004&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                EXPORTING  "@SDR&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                     INPUT  = t_poaccount-gl_account&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                IMPORTING  "@SDR&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                     OUTPUT = t_poaccount-gl_account.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'&lt;/P&gt;&lt;P&gt;                 EXPORTING&lt;/P&gt;&lt;P&gt;                      INPUT  = t_poaccount-gl_account&lt;/P&gt;&lt;P&gt;                 IMPORTING&lt;/P&gt;&lt;P&gt;                      OUTPUT = l_glacc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            MOVE: L_GLACC TO T_POACCOUNT-GL_ACCOUNT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           perform validate_gl_account using t_poaccount-gl_account&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                            t_compcode&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                            changing l_flag.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*mod-004&lt;/P&gt;&lt;P&gt;            perform validate_gl_account using l_glacc&lt;/P&gt;&lt;P&gt;                                             t_compcode&lt;/P&gt;&lt;P&gt;                                             changing l_flag.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            IF L_FLAG NE C_X. "'X'.&lt;/P&gt;&lt;P&gt;              PERFORM ERROR_HANDLING_GL USING T_POHEADER&lt;/P&gt;&lt;P&gt;                                              T_COMPCODE&lt;/P&gt;&lt;P&gt;                                              L_WA_ZERRORS.&lt;/P&gt;&lt;P&gt;            ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            PERFORM GET_CONSTANT_ZXA USING t_poheader&lt;/P&gt;&lt;P&gt;                                           t_compcode&lt;/P&gt;&lt;P&gt;                                           l_wa_zerrors&lt;/P&gt;&lt;P&gt;                                     changing l_glaccount.&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;              EXIT.&lt;/P&gt;&lt;P&gt;            ELSE.&lt;/P&gt;&lt;P&gt;              IF NOT T_POACCOUNT-WBS_ELEMENT IS INITIAL.&lt;/P&gt;&lt;P&gt;                perform check_project_type&lt;/P&gt;&lt;P&gt;                               using t_poaccount-wbs_element&lt;/P&gt;&lt;P&gt;                                     t_poheader&lt;/P&gt;&lt;P&gt;                                     t_compcode.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;              ENDIF.&lt;/P&gt;&lt;P&gt;            endif.&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;        IF NOT t_poaccount-costcenter IS INITIAL AND&lt;/P&gt;&lt;P&gt;               t_poaccount-costcenter NE '0000000000'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*mod-004&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'&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  = t_poaccount-costcenter&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 = t_poaccount-costcenter.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*MOD-004&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'&lt;/P&gt;&lt;P&gt;               EXPORTING&lt;/P&gt;&lt;P&gt;                    INPUT  = t_poaccount-costcenter&lt;/P&gt;&lt;P&gt;               IMPORTING&lt;/P&gt;&lt;P&gt;                    OUTPUT = l_cost.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          IF t_poaccount-costcenter NE '0000000000'.&lt;/P&gt;&lt;P&gt;            MOVE: L_COST TO T_POACCOUNT-COSTCENTER.&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;        perform validate_costcenter using t_poaccount-costcenter&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                           changing l_flag.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          perform validate_costcenter using l_cost&lt;/P&gt;&lt;P&gt;                                            changing l_flag.&lt;/P&gt;&lt;P&gt;*MOD-004&lt;/P&gt;&lt;P&gt;          IF L_FLAG NE C_X. "'X'.&lt;/P&gt;&lt;P&gt;            PERFORM ERROR_HANDLING_COST USING T_POHEADER&lt;/P&gt;&lt;P&gt;                                              T_COMPCODE&lt;/P&gt;&lt;P&gt;                                              L_WA_ZERRORS.&lt;/P&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;P&gt;          l_cc_present   = c_x.    "X&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;      IF t_poitem-acctasscat = C_P1.    "'P'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        IF L_ACCT_ASSMNT = C_P1.&lt;/P&gt;&lt;P&gt;          IF NOT t_poaccount-gl_account IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*MOD-004&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                EXPORTING  "@SDR&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                     INPUT  = t_poaccount-gl_account&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                IMPORTING  "@SDR&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                     OUTPUT = t_poaccount-gl_account.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'&lt;/P&gt;&lt;P&gt;                 EXPORTING  "@SDR&lt;/P&gt;&lt;P&gt;                      INPUT  = t_poaccount-gl_account&lt;/P&gt;&lt;P&gt;                 IMPORTING  "@SDR&lt;/P&gt;&lt;P&gt;                      OUTPUT = l_glacc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            MOVE: L_GLACC TO T_POACCOUNT-GL_ACCOUNT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            clear: l_flag.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          perform validate_gl_account using t_poaccount-gl_account&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                             t_compcode&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                             changing l_flag.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            perform validate_gl_account using L_GLACC&lt;/P&gt;&lt;P&gt;                                              t_compcode&lt;/P&gt;&lt;P&gt;                                              changing l_flag.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            IF L_FLAG NE 'X'.&lt;/P&gt;&lt;P&gt;              PERFORM ERROR_HANDLING_GL USING T_POHEADER&lt;/P&gt;&lt;P&gt;                                              T_COMPCODE&lt;/P&gt;&lt;P&gt;                                              L_WA_ZERRORS.&lt;/P&gt;&lt;P&gt;            ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            PERFORM GET_CONSTANT_ZXA USING t_poheader&lt;/P&gt;&lt;P&gt;                                           t_compcode&lt;/P&gt;&lt;P&gt;                                           l_wa_zerrors&lt;/P&gt;&lt;P&gt;                                     changing l_glaccount.&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;              EXIT.&lt;/P&gt;&lt;P&gt;            ELSE.&lt;/P&gt;&lt;P&gt;              if not t_poaccount-wbs_element is initial.&lt;/P&gt;&lt;P&gt;                perform check_project_type&lt;/P&gt;&lt;P&gt;                               using t_poaccount-wbs_element&lt;/P&gt;&lt;P&gt;                                     t_poheader&lt;/P&gt;&lt;P&gt;                                     t_compcode.&lt;/P&gt;&lt;P&gt;              endif.&lt;/P&gt;&lt;P&gt;            endif.&lt;/P&gt;&lt;P&gt;          endif.&lt;/P&gt;&lt;P&gt;        endif.&lt;/P&gt;&lt;P&gt;      endif.&lt;/P&gt;&lt;P&gt;      l_glaccount = t_poaccount-gl_account.&lt;/P&gt;&lt;P&gt;      l_prev_item = t_poitem-po_item.&lt;/P&gt;&lt;P&gt;      MODIFY T_POACCOUNT.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;    clear: t_poitem.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;****************************************************************&lt;/P&gt;&lt;P&gt;*Case 4&lt;/P&gt;&lt;P&gt;****************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*****************************************************&lt;/P&gt;&lt;P&gt;*MOD-003&lt;/P&gt;&lt;P&gt;***************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " get_account_assignment&lt;/P&gt;&lt;P&gt;***&lt;STRONG&gt;BV-27-May-2004 - End of Changes for SCR2&lt;/STRONG&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  check_and_create_vendor&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      This subroutine prefixes the vendor number with 1 , checks if&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      the vendor is already created in the system , if not creates the&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      vendor&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_T_DOCUMENT  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 check_and_create_vendor&lt;/P&gt;&lt;P&gt;                        tables   p_t_return STRUCTURE bapiret2&lt;/P&gt;&lt;P&gt;*Begin of Change DDUTTA 03-Aug-2004 TPR 2288&lt;/P&gt;&lt;P&gt;                         using    p_suppliername type lfa1-name1&lt;/P&gt;&lt;P&gt;*end of Change DDUTTA 03-Aug-2004 TPR 2288&lt;/P&gt;&lt;P&gt;                       changing P_DOCUMENT structure znonpo_document.&lt;/P&gt;&lt;P&gt;  data : l_vend_actgrp type ZCONSTVAL, "vendor account grp&lt;/P&gt;&lt;P&gt;         l_vend_paytrm type ZCONSTVAL, "vendor payment term&lt;/P&gt;&lt;P&gt;         L_VEND_RECON  type ZCONSTVAL, "vendor recon acct&lt;/P&gt;&lt;P&gt;         L_VEND_ekorg  type ZCONSTVAL, "vendor recon acct&lt;/P&gt;&lt;P&gt;         L_MSGV1       LIKE SY-MSGV1,  "Message variable1&lt;/P&gt;&lt;P&gt;         L_LENGTH      TYPE I.         "Vendor string length.&lt;/P&gt;&lt;P&gt;*BV-08-July-2004 -Begin - Change error handling for zxa_get_constant&lt;/P&gt;&lt;P&gt;  DATA : L_CONST_NAME  LIKE SY-MSGV1,   "Constant name&lt;/P&gt;&lt;P&gt;         L_COMP_CODE   LIKE SY-MSGV2.   "Company code&lt;/P&gt;&lt;P&gt;*BV-08-July-2004 -End - Change error handling for zxa_get_constant&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*For PO Create, check the existence of Vendor in SAP for the given&lt;/P&gt;&lt;P&gt;*company code.&lt;/P&gt;&lt;P&gt;*If Vendor do not exist, create a new one. However, If Vendor exists,&lt;/P&gt;&lt;P&gt;*but not for the incoming company code, extend the Vendor Master for&lt;/P&gt;&lt;P&gt;*that company code.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  clear g_flg_vendor.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Retrieve vendor account group Constant&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CALL FUNCTION 'ZXA_GET_CONSTANT'&lt;/P&gt;&lt;P&gt;       EXPORTING&lt;/P&gt;&lt;P&gt;            CONST_NAME     = C_VEND_ACTGRP&lt;/P&gt;&lt;P&gt;            COMP_CODE      = p_document-companycode&lt;/P&gt;&lt;P&gt;       IMPORTING&lt;/P&gt;&lt;P&gt;            CONST_VALUE    = L_VEND_ACTGRP&lt;/P&gt;&lt;P&gt;       EXCEPTIONS&lt;/P&gt;&lt;P&gt;            NO_VALUE_FOUND = 1&lt;/P&gt;&lt;P&gt;            NULL_VALUE     = 2&lt;/P&gt;&lt;P&gt;            OTHERS         = 3.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;***BV-08-July-2004 -Begin- Change error handling for zxa_get_constant&lt;/P&gt;&lt;P&gt;*Constant not defined for company code.&lt;/P&gt;&lt;P&gt;****************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CALL FUNCTION 'BALW_BAPIRETURN_GET2'&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;             TYPE   = SY-MSGTY&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             CL     = SY-MSGID&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             NUMBER = SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             PAR1   = SY-MSGV1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             PAR2   = SY-MSGV2&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             PAR3   = SY-MSGV3&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             PAR4   = SY-MSGV4&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;             RETURN = p_t_return.&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;   APPEND p_t_return.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CLEAR  p_t_return.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;****************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CLEAR : L_CONST_NAME,&lt;/P&gt;&lt;P&gt;            L_COMP_CODE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    L_CONST_NAME  = C_VEND_ACTGRP.      "ZRP_VEND_ACTGRP&lt;/P&gt;&lt;P&gt;    L_COMP_CODE   = p_document-companycode.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'BALW_BAPIRETURN_GET2'&lt;/P&gt;&lt;P&gt;         EXPORTING&lt;/P&gt;&lt;P&gt;              TYPE   = c_msgtype_e&lt;/P&gt;&lt;P&gt;              CL     = c_msgid_z001&lt;/P&gt;&lt;P&gt;              NUMBER = c_msgnr_046&lt;/P&gt;&lt;P&gt;              PAR1   = L_CONST_NAME  "ZRP_VEND_ACTGRP&lt;/P&gt;&lt;P&gt;              PAR2   = L_COMP_CODE&lt;/P&gt;&lt;P&gt;         IMPORTING&lt;/P&gt;&lt;P&gt;              RETURN = p_t_return.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    APPEND p_t_return.&lt;/P&gt;&lt;P&gt;    CLEAR  p_t_return.&lt;/P&gt;&lt;P&gt;    EXIT.&lt;/P&gt;&lt;P&gt;**BV-08-July-2004 -End- Change error handling for zxa_get_constant&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Retrieve vendor payment terms Constant&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'ZXA_GET_CONSTANT'&lt;/P&gt;&lt;P&gt;       EXPORTING&lt;/P&gt;&lt;P&gt;            CONST_NAME     = C_VEND_PAYTRM&lt;/P&gt;&lt;P&gt;            COMP_CODE      = p_document-companycode&lt;/P&gt;&lt;P&gt;       IMPORTING&lt;/P&gt;&lt;P&gt;            CONST_VALUE    = L_VEND_PAYTRM&lt;/P&gt;&lt;P&gt;       EXCEPTIONS&lt;/P&gt;&lt;P&gt;            NO_VALUE_FOUND = 1&lt;/P&gt;&lt;P&gt;            NULL_VALUE     = 2&lt;/P&gt;&lt;P&gt;            OTHERS         = 3.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;**BV-08-July-2004 -Begin- Change error handling for zxa_get_constant&lt;/P&gt;&lt;P&gt;*Constant not defined for company code&lt;/P&gt;&lt;P&gt;****************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CALL FUNCTION 'BALW_BAPIRETURN_GET2'&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;             TYPE   = SY-MSGTY&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             CL     = SY-MSGID&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             NUMBER = SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             PAR1   = SY-MSGV1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             PAR2   = SY-MSGV2&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             PAR3   = SY-MSGV3&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             PAR4   = SY-MSGV4&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;             RETURN = p_t_return.&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;   APPEND P_t_return.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CLEAR  P_t_return.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;****************************************&lt;/P&gt;&lt;P&gt;    CLEAR : L_CONST_NAME,&lt;/P&gt;&lt;P&gt;            L_COMP_CODE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    L_CONST_NAME  = C_VEND_PAYTRM.      "ZRP_VEND_PAYTRM&lt;/P&gt;&lt;P&gt;    L_COMP_CODE   = p_document-companycode.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'BALW_BAPIRETURN_GET2'&lt;/P&gt;&lt;P&gt;         EXPORTING&lt;/P&gt;&lt;P&gt;              TYPE   = c_msgtype_e&lt;/P&gt;&lt;P&gt;              CL     = c_msgid_z001&lt;/P&gt;&lt;P&gt;              NUMBER = c_msgnr_046&lt;/P&gt;&lt;P&gt;              PAR1   = L_CONST_NAME  "ZRP_VEND_PAYTRM&lt;/P&gt;&lt;P&gt;              PAR2   = L_COMP_CODE&lt;/P&gt;&lt;P&gt;         IMPORTING&lt;/P&gt;&lt;P&gt;              RETURN = p_t_return.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    APPEND p_t_return.&lt;/P&gt;&lt;P&gt;    CLEAR  p_t_return.&lt;/P&gt;&lt;P&gt;    EXIT.&lt;/P&gt;&lt;P&gt;**BV-08-July-2004 -End- Change error handling for zxa_get_constant&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Retrieve vendor Reconciliation Account Constant&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'ZXA_GET_CONSTANT'&lt;/P&gt;&lt;P&gt;       EXPORTING&lt;/P&gt;&lt;P&gt;            CONST_NAME     = C_VEND_RECON&lt;/P&gt;&lt;P&gt;            COMP_CODE      = p_document-companycode&lt;/P&gt;&lt;P&gt;       IMPORTING&lt;/P&gt;&lt;P&gt;            CONST_VALUE    = L_VEND_RECON&lt;/P&gt;&lt;P&gt;       EXCEPTIONS&lt;/P&gt;&lt;P&gt;            NO_VALUE_FOUND = 1&lt;/P&gt;&lt;P&gt;            NULL_VALUE     = 2&lt;/P&gt;&lt;P&gt;            OTHERS         = 3.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;**BV-08-July-2004 -Begin- Change error handling for zxa_get_constant&lt;/P&gt;&lt;P&gt;*Constant not defined for company code&lt;/P&gt;&lt;P&gt;****************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CALL FUNCTION 'BALW_BAPIRETURN_GET2'&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;             TYPE   = SY-MSGTY&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             CL     = SY-MSGID&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             NUMBER = SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             PAR1   = SY-MSGV1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             PAR2   = SY-MSGV2&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             PAR3   = SY-MSGV3&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             PAR4   = SY-MSGV4&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;             RETURN = P_t_return.&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;   APPEND P_t_return.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CLEAR  P_t_return.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;****************************************&lt;/P&gt;&lt;P&gt;    CLEAR : L_CONST_NAME,&lt;/P&gt;&lt;P&gt;            L_COMP_CODE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    L_CONST_NAME  = C_VEND_RECON.      "ZRP_VEND_RECON&lt;/P&gt;&lt;P&gt;    L_COMP_CODE   = p_document-companycode.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'BALW_BAPIRETURN_GET2'&lt;/P&gt;&lt;P&gt;         EXPORTING&lt;/P&gt;&lt;P&gt;              TYPE   = c_msgtype_e&lt;/P&gt;&lt;P&gt;              CL     = c_msgid_z001&lt;/P&gt;&lt;P&gt;              NUMBER = c_msgnr_046&lt;/P&gt;&lt;P&gt;              PAR1   = L_CONST_NAME  "ZRP_VEND_RECON&lt;/P&gt;&lt;P&gt;              PAR2   = L_COMP_CODE&lt;/P&gt;&lt;P&gt;         IMPORTING&lt;/P&gt;&lt;P&gt;              RETURN = p_t_return.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    APPEND p_t_return.&lt;/P&gt;&lt;P&gt;    CLEAR  p_t_return.&lt;/P&gt;&lt;P&gt;    EXIT.&lt;/P&gt;&lt;P&gt;***BV-08-July-2004 -End- Change error handling for zxa_get_constant&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Retrieve vendor purchase org Constant&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'ZXA_GET_CONSTANT'&lt;/P&gt;&lt;P&gt;       EXPORTING&lt;/P&gt;&lt;P&gt;            CONST_NAME     = C_VEND_EKORG&lt;/P&gt;&lt;P&gt;            COMP_CODE      = p_document-companycode&lt;/P&gt;&lt;P&gt;       IMPORTING&lt;/P&gt;&lt;P&gt;            CONST_VALUE    = L_VEND_EKORg&lt;/P&gt;&lt;P&gt;       EXCEPTIONS&lt;/P&gt;&lt;P&gt;            NO_VALUE_FOUND = 1&lt;/P&gt;&lt;P&gt;            NULL_VALUE     = 2&lt;/P&gt;&lt;P&gt;            OTHERS         = 3.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;**BV-08-July-2004 -Begin- Change error handling for zxa_get_constant&lt;/P&gt;&lt;P&gt;*Constant not defined for company code&lt;/P&gt;&lt;P&gt;****************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CALL FUNCTION 'BALW_BAPIRETURN_GET2'&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;             TYPE   = SY-MSGTY&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             CL     = SY-MSGID&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             NUMBER = SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             PAR1   = SY-MSGV1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             PAR2   = SY-MSGV2&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             PAR3   = SY-MSGV3&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             PAR4   = SY-MSGV4&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;             RETURN = P_t_return.&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;   APPEND P_t_return.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CLEAR  P_t_return.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;****************************************&lt;/P&gt;&lt;P&gt;    CLEAR : L_CONST_NAME,&lt;/P&gt;&lt;P&gt;            L_COMP_CODE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    L_CONST_NAME  = C_VEND_EKORG.      "ZRP_EHUB_PURORG&lt;/P&gt;&lt;P&gt;    L_COMP_CODE   = p_document-companycode.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'BALW_BAPIRETURN_GET2'&lt;/P&gt;&lt;P&gt;         EXPORTING&lt;/P&gt;&lt;P&gt;              TYPE   = c_msgtype_e&lt;/P&gt;&lt;P&gt;              CL     = c_msgid_z001&lt;/P&gt;&lt;P&gt;              NUMBER = c_msgnr_046&lt;/P&gt;&lt;P&gt;              PAR1   = L_CONST_NAME  "ZRP_EHUB_PURORG&lt;/P&gt;&lt;P&gt;              PAR2   = L_COMP_CODE&lt;/P&gt;&lt;P&gt;         IMPORTING&lt;/P&gt;&lt;P&gt;              RETURN = p_t_return.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    APPEND p_t_return.&lt;/P&gt;&lt;P&gt;    CLEAR  p_t_return.&lt;/P&gt;&lt;P&gt;    EXIT.&lt;/P&gt;&lt;P&gt;**BV-08-July-2004 -End- Change error handling for zxa_get_constant&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Zero Pad and Prefix 1 to Vendor.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT p_document-suppliernumber IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*remove any leading zeros for vendor populated from webmethods&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    shift p_document-suppliernumber left deleting leading '0'.&lt;/P&gt;&lt;P&gt;    L_LENGTH = STRLEN( p_document-suppliernumber ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF L_LENGTH &amp;lt; 10.&lt;/P&gt;&lt;P&gt;      shift p_document-suppliernumber right deleting trailing space.&lt;/P&gt;&lt;P&gt;*To pad leading zeros to Vendor&lt;/P&gt;&lt;P&gt;      CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'&lt;/P&gt;&lt;P&gt;           EXPORTING&lt;/P&gt;&lt;P&gt;                INPUT  = p_document-suppliernumber&lt;/P&gt;&lt;P&gt;           IMPORTING&lt;/P&gt;&lt;P&gt;                OUTPUT = p_document-suppliernumber.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*To replace first character with 1.&lt;/P&gt;&lt;P&gt;      MOVE '1' TO p_document-suppliernumber(1).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ELSE.       "Vendor is 10 char in length&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      CLEAR L_MSGV1.&lt;/P&gt;&lt;P&gt;      L_MSGV1 = p_document-suppliernumber.&lt;/P&gt;&lt;P&gt;*Zero Padding and Prefixing 1 Not possible.Vendor is 10 Character&lt;/P&gt;&lt;P&gt;*length&lt;/P&gt;&lt;P&gt;      CALL FUNCTION 'BALW_BAPIRETURN_GET2'&lt;/P&gt;&lt;P&gt;           EXPORTING&lt;/P&gt;&lt;P&gt;                TYPE   = C_MSGTYPE_I  "I&lt;/P&gt;&lt;P&gt;                CL     = C_MSGID_Z001                       "Z001&lt;/P&gt;&lt;P&gt;                NUMBER = C_MSGNR_040  "040&lt;/P&gt;&lt;P&gt;                PAR1   = L_MSGV1&lt;/P&gt;&lt;P&gt;           IMPORTING&lt;/P&gt;&lt;P&gt;                RETURN = P_t_return.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      APPEND P_t_return.&lt;/P&gt;&lt;P&gt;      CLEAR  P_t_return.&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;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;  SELECT SINGLE * FROM LFA1 WHERE&lt;/P&gt;&lt;P&gt;    LIFNR = p_document-suppliernumber.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC NE 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Vendor Master (General Section)&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    W_LFA1-LIFNR = p_document-suppliernumber.&lt;/P&gt;&lt;P&gt;*Begin of Change DDUTTA 03-Aug-2004 TPR 2288&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;if Supplier name is not passed from Ariba - populate vendor name&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;with "Ariba Vendor"&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;    if  p_suppliername is initial.&lt;/P&gt;&lt;P&gt;*End of Change DDUTTA 03-Aug-2004 TPR 2288&lt;/P&gt;&lt;P&gt;      W_LFA1-NAME1 = C_ARIBAVENDOR." 'ARIBA VENDOR'&lt;/P&gt;&lt;P&gt;      W_LFA1-MCOD1 = C_ARIBAVENDOR." 'ARIBA VENDOR'&lt;/P&gt;&lt;P&gt;*Begin of Change DDUTTA 03-Aug-2004 TPR 2288&lt;/P&gt;&lt;P&gt;    else.&lt;/P&gt;&lt;P&gt;      W_LFA1-NAME1 = p_suppliername.&lt;/P&gt;&lt;P&gt;      W_LFA1-MCOD1 = p_suppliername.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;*End of Change DDUTTA 03-Aug-2004 TPR 2288&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    W_LFA1-LAND1 = C_US.   " 'US'&lt;/P&gt;&lt;P&gt;    W_LFA1-SPRAS = C_E.    " 'E'&lt;/P&gt;&lt;P&gt;    W_LFA1-KTOKK = L_VEND_ACTGRP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    W_LFB1-LIFNR = p_document-suppliernumber.&lt;/P&gt;&lt;P&gt;    W_LFB1-BUKRS = p_document-companycode.&lt;/P&gt;&lt;P&gt;    W_LFB1-AKONT = L_VEND_RECON.&lt;/P&gt;&lt;P&gt;    W_LFB1-ZTERM = L_VEND_PAYTRM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    W_LFM1-LIFNR = p_document-suppliernumber.&lt;/P&gt;&lt;P&gt;    W_LFM1-EKORG = l_vend_ekorg.&lt;/P&gt;&lt;P&gt;    W_LFM1-WAERS = p_document-CURRENCY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    MOVE C_N TO G_FLG_VENDOR.   " 'N'&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Vendor Master (General Section)&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    W_LFA1-LIFNR = p_document-suppliernumber.&lt;/P&gt;&lt;P&gt;*Begin of Change DDUTTA 03-Aug-2004 TPR 2288&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;if Supplier name is not passed from Ariba - populate vendor name&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;with "Ariba Vendor"&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;    if  p_suppliername is initial.&lt;/P&gt;&lt;P&gt;*End of Change DDUTTA 03-Aug-2004 TPR 2288&lt;/P&gt;&lt;P&gt;      W_LFA1-NAME1 = C_ARIBAVENDOR." 'ARIBA VENDOR'&lt;/P&gt;&lt;P&gt;      W_LFA1-MCOD1 = C_ARIBAVENDOR." 'ARIBA VENDOR'&lt;/P&gt;&lt;P&gt;*Begin of Change DDUTTA 03-Aug-2004 TPR 2288&lt;/P&gt;&lt;P&gt;    else.&lt;/P&gt;&lt;P&gt;      W_LFA1-NAME1 = p_suppliername.&lt;/P&gt;&lt;P&gt;      W_LFA1-MCOD1 = p_suppliername.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;*End of Change DDUTTA 03-Aug-2004 TPR 2288&lt;/P&gt;&lt;P&gt;    W_LFA1-LAND1 = C_US.    " 'US'&lt;/P&gt;&lt;P&gt;    W_LFA1-SPRAS = C_E.     " 'E'&lt;/P&gt;&lt;P&gt;    W_LFA1-KTOKK = L_VEND_ACTGRP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SELECT SINGLE * FROM LFB1 WHERE&lt;/P&gt;&lt;P&gt;              LIFNR = p_document-suppliernumber&lt;/P&gt;&lt;P&gt;          AND BUKRS = p_document-COMPanyCODE.&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC NE 0.&lt;/P&gt;&lt;P&gt;      W_LFB1-LIFNR     = p_document-suppliernumber.&lt;/P&gt;&lt;P&gt;      W_LFB1-BUKRS     = P_document-COMPanyCODE.&lt;/P&gt;&lt;P&gt;      W_LFB1-AKONT     = L_VEND_RECON.&lt;/P&gt;&lt;P&gt;      W_LFB1-ZTERM     = L_VEND_PAYTRM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      G_FLG_VENDOR = C_N.        " 'N'&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SELECT SINGLE * FROM LFM1 WHERE&lt;/P&gt;&lt;P&gt;            LIFNR = p_document-suppliernumber&lt;/P&gt;&lt;P&gt;            AND EKORG = l_vend_ekorg.&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC NE 0.&lt;/P&gt;&lt;P&gt;      W_LFM1-LIFNR     = p_document-suppliernumber.&lt;/P&gt;&lt;P&gt;      W_LFM1-EKORG     = l_vend_ekorg.&lt;/P&gt;&lt;P&gt;      W_LFM1-WAERS     = p_document-CURRENCY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      G_FLG_VENDOR = C_N.    " 'N'&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;  IF  G_FLG_VENDOR = C_N.   " 'N'&lt;/P&gt;&lt;P&gt;    refresh t_zreturn.&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'Z_VENDOR_INSERT'&lt;/P&gt;&lt;P&gt;         EXPORTING&lt;/P&gt;&lt;P&gt;              I_LFA1  = W_LFA1&lt;/P&gt;&lt;P&gt;              I_LFB1  = W_LFB1&lt;/P&gt;&lt;P&gt;              I_LFM1  = W_LFM1&lt;/P&gt;&lt;P&gt;         TABLES&lt;/P&gt;&lt;P&gt;              T_XLFAS = T_XLFAS&lt;/P&gt;&lt;P&gt;              T_XLFB5 = T_XLFB5&lt;/P&gt;&lt;P&gt;              T_XLFBK = T_XLFBK&lt;/P&gt;&lt;P&gt;              T_XLFZA = T_XLFZA&lt;/P&gt;&lt;P&gt;              ZRETURN = T_ZRETURN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;If Vendor create fails or the transaction commit fails, populate the&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;the Return structure and exit the program&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    READ TABLE T_ZRETURN WITH KEY TYPE = C_E.   " 'E'&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;      APPEND LINES OF T_ZRETURN TO P_t_return.&lt;/P&gt;&lt;P&gt;      loop at p_t_return.&lt;/P&gt;&lt;P&gt;        concatenate 'Error Creating Vendor -'(010)&lt;/P&gt;&lt;P&gt;                    p_t_return-message&lt;/P&gt;&lt;P&gt;        into p_t_return-message.&lt;/P&gt;&lt;P&gt;        modify p_t_return.&lt;/P&gt;&lt;P&gt;      endloop.&lt;/P&gt;&lt;P&gt;      EXIT.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'&lt;/P&gt;&lt;P&gt;           EXPORTING&lt;/P&gt;&lt;P&gt;                WAIT   = C_X  " 'X'&lt;/P&gt;&lt;P&gt;           IMPORTING&lt;/P&gt;&lt;P&gt;                RETURN = p_t_return.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF P_t_return-type = C_E.   " 'E'&lt;/P&gt;&lt;P&gt;        APPEND P_t_return.&lt;/P&gt;&lt;P&gt;        EXIT.&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;        CLEAR P_t_return.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " check_and_create_vendor&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  validate_costcenter&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_L_WA_PO_ACCOUNT_COSTCENTER  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 validate_costcenter USING&lt;/P&gt;&lt;P&gt;          P_L_WA_PO_ACCOUNT_COSTCENTER type bapimepoaccount-costcenter&lt;/P&gt;&lt;P&gt;          changing lv_flag type c.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  data: l_kostl type kostl.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  lv_flag = ' '.&lt;/P&gt;&lt;P&gt;  SELECT SINGLE kostl&lt;/P&gt;&lt;P&gt;  into l_kostl&lt;/P&gt;&lt;P&gt;  FROM CSKS&lt;/P&gt;&lt;P&gt;  WHERE KOSTL = P_L_WA_PO_ACCOUNT_COSTCENTER.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;    LV_FLAG = 'X'.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    " validate_costcenter&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  validate_wbs_element&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_L_WA_POACCOUNT_WBS_ELEMENT  text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     &amp;lt;--P_L_FLAG1  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 validate_wbs_element&lt;/P&gt;&lt;P&gt;USING    P_L_WA_POACCOUNT_WBS_ELEMENT type bapimepoaCcount-wbs_element&lt;/P&gt;&lt;P&gt;         CHANGING P_L_FLAG1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: L_PSPNR type ps_posnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT SINGLE pspnr&lt;/P&gt;&lt;P&gt;  into l_pspnr&lt;/P&gt;&lt;P&gt;  FROM  PRPS&lt;/P&gt;&lt;P&gt;  WHERE PSPNR = P_L_WA_POACCOUNT_WBS_ELEMENT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;    P_L_FLAG1 = 'X'.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " validate_wbs_element&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  validate_gl_account&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_L_WA_POACCOUNT_GL_ACCOUNT  text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     &amp;lt;--P_L_FLAG2  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 validate_gl_account USING T_POACCOUNT-GL_ACCOUNT type&lt;/P&gt;&lt;P&gt;                                              bapimepoaccount-gl_account&lt;/P&gt;&lt;P&gt;                               t_compcode type t001-bukrs&lt;/P&gt;&lt;P&gt;                         CHANGING P_L_FLAG2 type c.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CONSTANTS: C_EXP_WBS_ELEMENT TYPE SAKNR VALUE '0064511012'.&lt;/P&gt;&lt;P&gt;  data: t_acct_assignmt type standard table of ZACCTASGMNT.&lt;/P&gt;&lt;P&gt;  data: l_acct_assign     TYPE zconstval.&lt;/P&gt;&lt;P&gt;  data: l_ex_acc_no       TYPE z_acc_no.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; SHIFT t_poaccount-gl_account LEFT&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       DELETING LEADING c_zeros.            "&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; SHIFT t_poaccount-gl_account&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       BY 1 PLACES RIGHT.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; t_poaccount-gl_account+0(1) = 'P'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; l_ex_acc_no = t_poaccount-gl_account.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; CALL FUNCTION 'Z_GLACCT_GET'&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;           P_BUKRS          = t_compcode&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           P_EX_ACC_NO      = l_ex_acc_no&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;           P_GLACCT         = t_poaccount-gl_account&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;           NO_VALUE_FOUND   = 1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           NULL_VALUE_FOUND = 2&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           OTHERS           = 3.&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; IF sy-subrc = 0.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Assign the retrieved GL Account from SAP to the&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;account assignment strcuture after the mapping&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;is successful&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'&lt;/P&gt;&lt;P&gt;       EXPORTING  "@SDR&lt;/P&gt;&lt;P&gt;            INPUT  = t_poaccount-gl_account&lt;/P&gt;&lt;P&gt;       IMPORTING  "@SDR&lt;/P&gt;&lt;P&gt;            OUTPUT = t_poaccount-gl_account.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: L_saknr type saknr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: g_glacct TYPE saknr.&lt;/P&gt;&lt;P&gt;  DATA: p_glacct TYPE saknr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt; Retrieve the corresponding SAP GL Account from the custom mapping&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt; table corresponding to the combination of the Business Unit and&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt; Peoplesoft GL Account passed to the Function Module&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     SELECT SINGLE saknr             " WBS Element&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     FROM          zgl_acc_map&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     INTO          g_glacct&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     WHERE         bukrs     = c_bukrs&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     AND           ex_acc_no = l_ex_acc_no.&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;     IF sy-subrc = 0.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF t_poaccount-gl_account IS INITIAL.&lt;/P&gt;&lt;P&gt;    p_l_flag2 = ' '.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   if t_poaccount-gl_account ne '0064511012'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*MOD-005&lt;/P&gt;&lt;P&gt;   if t_poaccount-gl_account ne C_EXP_WBS_ELEMENT.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; if t_poaccount-gl_account EQ C_EXP_WBS_ELEMENT.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*MOD-005&lt;/P&gt;&lt;P&gt;      p_l_flag2 = 'X'.&lt;/P&gt;&lt;P&gt;    else.&lt;/P&gt;&lt;P&gt;      p_l_flag2 = ' '.&lt;/P&gt;&lt;P&gt;    endif.&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;endif.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " validate_gl_account&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  validate_gl_account_exp_wbs&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_T_POACCOUNT_GL_ACCOUNT  text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_T_COMPCODE  text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     &amp;lt;--P_L_FLAG  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 validate_gl_account_exp_wbs USING T_POACCOUNT_GL_ACCOUNT type&lt;/P&gt;&lt;P&gt;                                              bapimepoaccount-gl_account&lt;/P&gt;&lt;P&gt;                               t_compcode type t001-bukrs&lt;/P&gt;&lt;P&gt;                         CHANGING P_L_FLAG2 type c.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  constants: c_cap_wbs_new_asset type saknr value '0064511012'.&lt;/P&gt;&lt;P&gt;  data: t_acct_assignmt type standard table of ZACCTASGMNT.&lt;/P&gt;&lt;P&gt;  data: l_acct_assign     TYPE zconstval.&lt;/P&gt;&lt;P&gt;  data: l_ex_acc_no       TYPE z_acc_no.&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; SHIFT t_poaccount_gl_account LEFT&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       DELETING LEADING c_zeros.            "&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; SHIFT t_poaccount_gl_account&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       BY 1 PLACES RIGHT.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; t_poaccount_gl_account+0(1) = 'P'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; l_ex_acc_no = t_poaccount_gl_account.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; CALL FUNCTION 'Z_GLACCT_GET'&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;           P_BUKRS          = t_compcode&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           P_EX_ACC_NO      = l_ex_acc_no&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;           P_GLACCT         = t_poaccount_gl_account&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;           NO_VALUE_FOUND   = 1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           NULL_VALUE_FOUND = 2&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           OTHERS           = 3.&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;IF sy-subrc = 0.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Assign the retrieved GL Account from SAP to the&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;account assignment strcuture after the mapping&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;is successful&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'&lt;/P&gt;&lt;P&gt;       EXPORTING  "@SDR&lt;/P&gt;&lt;P&gt;            INPUT  = t_poaccount_gl_account&lt;/P&gt;&lt;P&gt;       IMPORTING  "@SDR&lt;/P&gt;&lt;P&gt;            OUTPUT = t_poaccount_gl_account.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: L_saknr type saknr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: g_glacct TYPE saknr.&lt;/P&gt;&lt;P&gt;  DATA: p_glacct TYPE saknr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt; Retrieve the corresponding SAP GL Account from the custom mapping&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt; table corresponding to the combination of the Business Unit and&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt; Peoplesoft GL Account passed to the Function Module&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     SELECT SINGLE saknr             " WBS Element&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     FROM          zgl_acc_map&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     INTO          g_glacct&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     WHERE         bukrs     = c_bukrs&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     AND           ex_acc_no = l_ex_acc_no.&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;     IF sy-subrc = 0.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF t_poaccount_gl_account IS INITIAL.&lt;/P&gt;&lt;P&gt;    p_l_flag2 = ' '.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  if t_poaccount_gl_account eq '0064511012'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    if t_poaccount_gl_account eq c_cap_wbs_new_asset.&lt;/P&gt;&lt;P&gt;      p_l_flag2 = 'X'.&lt;/P&gt;&lt;P&gt;    else.&lt;/P&gt;&lt;P&gt;      p_l_flag2 = ' '.&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; endif.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;ENDFORM.                    " validate_gl_account_exp_wbs&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  check_split_accounts&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_T_POACCOUNT_GL_ACCOUNT  text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_L_GLACCOUNT  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 check_split_accounts USING    t_POACCOUNT_GL_ACCOUNT type saknr&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                  L_GLACCOUNT type ZCONSTVAL&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                  t_poheader type bapimepoheader&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                  t_compcode type bukrs&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                  l_prev_item type ebelp&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                  t_poitem-po_item type ebelp.&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; .&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; data: l_wa_zeerors type zerrors.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; DATA : L_CONST_NAME  LIKE SY-MSGV1,   "Constant name&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        L_COMP_CODE   LIKE SY-MSGV2.   "Company code&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; if t_poaccount_gl_account = l_glaccount.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CLEAR : L_CONST_NAME,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           L_COMP_CODE.&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_CONST_NAME  = l_glaccount.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   L_COMP_CODE   = t_compcode.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CALL FUNCTION 'BALW_BAPIRETURN_GET2'&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;             type   = c_msgtype_e  "E&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             cl     = c_msgid_z001&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             number = c_msgnr_613&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             PAR1   = L_CONST_NAME&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             PAR2   = L_COMP_CODE&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;             return = t_yreturn.&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;   APPEND t_yreturn.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CLEAR  t_yreturn.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   loop at t_yreturn.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     l_wa_zerrors-OBJECT = 'PURCHASE_ORDER'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     l_wa_zerrors-serialno = sy-tabix.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     l_wa_zerrors-COMP_CODE = t_compcode.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     l_wa_zerrors-zid       = t_yreturn-id.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     l_wa_zerrors-type      = t_yreturn-type.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     l_wa_zerrors-znumber   = t_yreturn-number.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     l_wa_zerrors-BEACON_DOC_NO = t_poheader-po_number.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     l_wa_zerrors-SRC_DOC_NO = t_poheader-po_number.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     l_wa_zerrors-ZDATE      = sy-datum.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     l_wa_zerrors-ERR_MSG   = t_yreturn-message.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     insert into ZP2P_ERRORS values l_wa_zerrors.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     clear: l_wa_zerrors.&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;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;*&lt;/P&gt;&lt;P&gt;*ENDFORM.                    " check_split_accounts&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  check_project_type&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_T_PO_ACCOUNT_WBS_ELEMENT  text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_T_POHEADER  text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_T_COMPCODE  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 check_project_type USING    t_WBS_ELEMENT type ps_posid&lt;/P&gt;&lt;P&gt;                                 t_POHEADER    type bapimepoheader&lt;/P&gt;&lt;P&gt;                                 t_COMPCODE    type bukrs.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  data: l_prart type ps_prart.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       l_belkz type ps_belkz.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  clear: l_prart, l_belkz.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA :L_CONST_NAME  LIKE SY-MSGV1,   "Constant name&lt;/P&gt;&lt;P&gt;        L_COMP_CODE   LIKE SY-MSGV2.   "Company code&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  select single prart belkz&lt;/P&gt;&lt;P&gt;                  into (l_prart, l_belkz)&lt;/P&gt;&lt;P&gt;                  from prps&lt;/P&gt;&lt;P&gt;                  where posid = t_wbs_element.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  if sy-subrc = 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IF l_prart ne 'NC'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     CLEAR : L_CONST_NAME,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             L_COMP_CODE.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     L_CONST_NAME  = c_gl_acc_po.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     L_COMP_CODE   = t_compcode.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     CALL FUNCTION 'BALW_BAPIRETURN_GET2'&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;               type   = c_msgtype_e&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;               cl     = c_msgid_z001&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;               number = c_msgnr_622&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;               PAR1   = L_CONST_NAME&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;               PAR2   = L_COMP_CODE&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;               return = t_yreturn.&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;     APPEND t_yreturn.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     CLEAR  t_yreturn.&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_wa_zerrors-OBJECT = 'PURCHASE_ORDER'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     l_wa_zerrors-COMP_CODE = t_poheader-comp_code.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     l_wa_zerrors-BEACON_DOC_NO = t_poheader-po_number.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     l_wa_zerrors-SRC_DOC_NO = t_poheader-po_number.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     l_wa_zerrors-ZDATE      = sy-datum.&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;                l_wa_zerrors-ERR_MSG    = c_msgnr_614.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     read table t_yreturn index 1.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     l_wa_zerrors-ERR_MSG    = t_yreturn-message.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     insert into zerrors values l_wa_zerrors.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     clear: l_wa_zerrors.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     EXIT.&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;   IF L_BELKZ NE 'X'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     CLEAR : L_CONST_NAME,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             L_COMP_CODE.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     L_CONST_NAME  = c_gl_acc_po.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     L_COMP_CODE   = t_compcode.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     CALL FUNCTION 'BALW_BAPIRETURN_GET2'&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;               type   = c_msgtype_e&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;               cl     = c_msgid_z001&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;               number = c_msgnr_623&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;               PAR1   = L_CONST_NAME&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;               PAR2   = L_COMP_CODE&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;               return = t_yreturn.&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;     APPEND t_yreturn.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     CLEAR  t_yreturn.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     l_wa_zerrors-OBJECT = 'PURCHASE_ORDER'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     l_wa_zerrors-COMP_CODE = t_poheader-comp_code.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     l_wa_zerrors-BEACON_DOC_NO = t_poheader-po_number.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     l_wa_zerrors-SRC_DOC_NO = t_poheader-po_number.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     l_wa_zerrors-ZDATE      = sy-datum.&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;    l_wa_zerrors-ERR_MSG    = c_msgnr_614.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     read table t_yreturn index 1.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     l_wa_zerrors-ERR_MSG    = t_yreturn-message.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     insert into zerrors values l_wa_zerrors.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     clear: l_wa_zerrors.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     EXIT.&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;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " check_project_type&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  ERROR_HANDLING_GL&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_T_POHEADER  text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_T_COMPCODE  text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_L_WA_ERRORS  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 ERROR_HANDLING_GL USING    T_POHEADER TYPE BAPIMEPOHEADER&lt;/P&gt;&lt;P&gt;                                T_COMPCODE TYPE BUKRS&lt;/P&gt;&lt;P&gt;                                L_WA_ZERRORS TYPE ZP2P_ERRORS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR : L_CONST_NAME,&lt;/P&gt;&lt;P&gt;          L_COMP_CODE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  L_CONST_NAME  = c_gl_acc_po.&lt;/P&gt;&lt;P&gt;  L_COMP_CODE   = t_compcode.&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'BALW_BAPIRETURN_GET2'&lt;/P&gt;&lt;P&gt;       EXPORTING&lt;/P&gt;&lt;P&gt;            type   = c_msgtype_e&lt;/P&gt;&lt;P&gt;            cl     = c_msgid_z001&lt;/P&gt;&lt;P&gt;            number = c_msgnr_614&lt;/P&gt;&lt;P&gt;            PAR1   = L_CONST_NAME&lt;/P&gt;&lt;P&gt;            PAR2   = L_COMP_CODE&lt;/P&gt;&lt;P&gt;       IMPORTING&lt;/P&gt;&lt;P&gt;            return = t_yreturn.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  APPEND t_yreturn.&lt;/P&gt;&lt;P&gt;  CLEAR  t_yreturn.&lt;/P&gt;&lt;P&gt;  loop at t_yreturn.&lt;/P&gt;&lt;P&gt;    l_wa_zerrors-OBJECT = 'PURCHASE_ORDER'.&lt;/P&gt;&lt;P&gt;    l_wa_zerrors-serialno = sy-tabix.&lt;/P&gt;&lt;P&gt;    l_wa_zerrors-COMP_CODE = t_compcode.&lt;/P&gt;&lt;P&gt;    l_wa_zerrors-zid       = t_yreturn-id.&lt;/P&gt;&lt;P&gt;    l_wa_zerrors-type      = t_yreturn-type.&lt;/P&gt;&lt;P&gt;    l_wa_zerrors-znumber   = t_yreturn-number.&lt;/P&gt;&lt;P&gt;    l_wa_zerrors-BEACON_DOC_NO = t_poheader-po_number.&lt;/P&gt;&lt;P&gt;    l_wa_zerrors-SRC_DOC_NO = t_poheader-po_number.&lt;/P&gt;&lt;P&gt;    l_wa_zerrors-ZDATE      = sy-datum.&lt;/P&gt;&lt;P&gt;    l_wa_zerrors-ERR_MSG   = t_yreturn-message.&lt;/P&gt;&lt;P&gt;    append l_wa_zerrors to t_errors.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  insert into zerrors values l_wa_zerrors.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    clear: l_wa_zerrors.&lt;/P&gt;&lt;P&gt;  endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " ERROR_HANDLING_GL&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  GET_CONSTANT_ZXA&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_T_POHEADER  text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_T_COMPCODE  text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_L_WA_ZERRORS  text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     &amp;lt;--P_L_GLACCOUNT  text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM GET_CONSTANT_ZXA USING    T_POHEADER TYPE BAPIMEPOHEADER&lt;/P&gt;&lt;P&gt;                               T_COMPCODE TYPE BUKRS&lt;/P&gt;&lt;P&gt;                               L_WA_ZERRORS TYPE ZP2P_ERRORS&lt;/P&gt;&lt;P&gt;                      CHANGING L_GLACCOUNT TYPE ZCONSTVAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'ZXA_GET_CONSTANT'&lt;/P&gt;&lt;P&gt;       EXPORTING&lt;/P&gt;&lt;P&gt;            const_name     = c_gl_acc_po&lt;/P&gt;&lt;P&gt;            comp_code      = t_compcode&lt;/P&gt;&lt;P&gt;       IMPORTING&lt;/P&gt;&lt;P&gt;            const_value    = l_glaccount&lt;/P&gt;&lt;P&gt;       EXCEPTIONS&lt;/P&gt;&lt;P&gt;            no_value_found = 1&lt;/P&gt;&lt;P&gt;            null_value     = 2&lt;/P&gt;&lt;P&gt;            OTHERS         = 3.&lt;/P&gt;&lt;P&gt;  IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    CLEAR : L_CONST_NAME,&lt;/P&gt;&lt;P&gt;            L_COMP_CODE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    L_CONST_NAME  = c_gl_acc_po.&lt;/P&gt;&lt;P&gt;    L_COMP_CODE   = t_compcode.&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'BALW_BAPIRETURN_GET2'&lt;/P&gt;&lt;P&gt;         EXPORTING&lt;/P&gt;&lt;P&gt;              type   = c_msgtype_e  "E&lt;/P&gt;&lt;P&gt;              cl     = c_msgid_z001&lt;/P&gt;&lt;P&gt;              number = c_msgnr_614&lt;/P&gt;&lt;P&gt;              PAR1   = L_CONST_NAME&lt;/P&gt;&lt;P&gt;              PAR2   = L_COMP_CODE&lt;/P&gt;&lt;P&gt;         IMPORTING&lt;/P&gt;&lt;P&gt;              return = t_yreturn.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    APPEND t_yreturn.&lt;/P&gt;&lt;P&gt;    CLEAR  t_yreturn.&lt;/P&gt;&lt;P&gt;    loop at t_yreturn.&lt;/P&gt;&lt;P&gt;      l_wa_zerrors-OBJECT = 'PURCHASE_ORDER'.&lt;/P&gt;&lt;P&gt;      l_wa_zerrors-serialno = sy-tabix.&lt;/P&gt;&lt;P&gt;      l_wa_zerrors-COMP_CODE = t_compcode.&lt;/P&gt;&lt;P&gt;      l_wa_zerrors-zid       = t_yreturn-id.&lt;/P&gt;&lt;P&gt;      l_wa_zerrors-type      = t_yreturn-type.&lt;/P&gt;&lt;P&gt;      l_wa_zerrors-znumber   = t_yreturn-number.&lt;/P&gt;&lt;P&gt;      l_wa_zerrors-BEACON_DOC_NO = t_poheader-po_number.&lt;/P&gt;&lt;P&gt;      l_wa_zerrors-SRC_DOC_NO = t_poheader-po_number.&lt;/P&gt;&lt;P&gt;      l_wa_zerrors-ZDATE      = sy-datum.&lt;/P&gt;&lt;P&gt;      l_wa_zerrors-ERR_MSG   = t_yreturn-message.&lt;/P&gt;&lt;P&gt;      append l_wa_zerrors to t_errors.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    insert into zerrors values l_wa_zerrors.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      clear: l_wa_zerrors.&lt;/P&gt;&lt;P&gt;    endloop.&lt;/P&gt;&lt;P&gt;    EXIT.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " GET_CONSTANT_ZXA&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  ERROR_HANDLING_COST&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_T_POHEADER  text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_T_COMPCODE  text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_L_WA_ZERRORS  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 ERROR_HANDLING_COST USING    T_POHEADER TYPE BAPIMEPOHEADER&lt;/P&gt;&lt;P&gt;                                  T_COMPCODE TYPE BUKRS&lt;/P&gt;&lt;P&gt;                                  L_WA_ZERRORS TYPE ZP2P_ERRORS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR : L_CONST_NAME,&lt;/P&gt;&lt;P&gt;          L_COMP_CODE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  L_CONST_NAME  = c_acct_assign.&lt;/P&gt;&lt;P&gt;  L_COMP_CODE   = t_compcode.&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'BALW_BAPIRETURN_GET2'&lt;/P&gt;&lt;P&gt;       EXPORTING&lt;/P&gt;&lt;P&gt;            type   = c_msgtype_e  "E&lt;/P&gt;&lt;P&gt;            cl     = c_msgid_z001&lt;/P&gt;&lt;P&gt;            number = c_msgnr_621  "046&lt;/P&gt;&lt;P&gt;            PAR1   = L_CONST_NAME  "ZRP_ACCT_ASSIGN&lt;/P&gt;&lt;P&gt;            PAR2   = L_COMP_CODE&lt;/P&gt;&lt;P&gt;       IMPORTING&lt;/P&gt;&lt;P&gt;            return = t_yreturn.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  APPEND t_yreturn.&lt;/P&gt;&lt;P&gt;  CLEAR  t_yreturn.&lt;/P&gt;&lt;P&gt;  loop at t_yreturn.&lt;/P&gt;&lt;P&gt;    l_wa_zerrors-OBJECT = 'PURCHASE_ORDER'.&lt;/P&gt;&lt;P&gt;    l_wa_zerrors-serialno = sy-tabix.&lt;/P&gt;&lt;P&gt;    l_wa_zerrors-COMP_CODE = t_compcode.&lt;/P&gt;&lt;P&gt;    l_wa_zerrors-zid       = t_yreturn-id.&lt;/P&gt;&lt;P&gt;    l_wa_zerrors-type      = t_yreturn-type.&lt;/P&gt;&lt;P&gt;    l_wa_zerrors-znumber   = t_yreturn-number.&lt;/P&gt;&lt;P&gt;    l_wa_zerrors-BEACON_DOC_NO = t_poheader-po_number.&lt;/P&gt;&lt;P&gt;    l_wa_zerrors-SRC_DOC_NO = t_poheader-po_number.&lt;/P&gt;&lt;P&gt;    l_wa_zerrors-ZDATE      = sy-datum.&lt;/P&gt;&lt;P&gt;    l_wa_zerrors-ERR_MSG   = t_yreturn-message.&lt;/P&gt;&lt;P&gt;    append l_wa_zerrors to t_errors.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  insert into zerrors values l_wa_zerrors.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    clear: l_wa_zerrors.&lt;/P&gt;&lt;P&gt;  endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " ERROR_HANDLING_COST&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  ERROR_HANDLING_ANLZ&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_T_POHEADER  text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_T_COMPCODE  text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_L_WA_ZERRORS  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 ERROR_HANDLING_ANLZ USING    T_POHEADER TYPE BAPIMEPOHEADER&lt;/P&gt;&lt;P&gt;                                  T_COMPCODE TYPE BUKRS&lt;/P&gt;&lt;P&gt;                                  L_WA_ZERRORS TYPE ZP2P_ERRORS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR : L_CONST_NAME,&lt;/P&gt;&lt;P&gt;          L_COMP_CODE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  L_CONST_NAME  = c_po_werks.&lt;/P&gt;&lt;P&gt;  L_COMP_CODE   = t_compcode.&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'BALW_BAPIRETURN_GET2'&lt;/P&gt;&lt;P&gt;       EXPORTING&lt;/P&gt;&lt;P&gt;            type   = c_msgtype_e&lt;/P&gt;&lt;P&gt;            cl     = c_msgid_z001&lt;/P&gt;&lt;P&gt;            number = c_msgnr_615&lt;/P&gt;&lt;P&gt;            PAR1   = L_CONST_NAME&lt;/P&gt;&lt;P&gt;            PAR2   = L_COMP_CODE&lt;/P&gt;&lt;P&gt;       IMPORTING&lt;/P&gt;&lt;P&gt;            return = t_yreturn.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  APPEND t_yreturn.&lt;/P&gt;&lt;P&gt;  CLEAR  t_yreturn.&lt;/P&gt;&lt;P&gt;  loop at t_yreturn.&lt;/P&gt;&lt;P&gt;    l_wa_zerrors-OBJECT = 'PURCHASE_ORDER'.&lt;/P&gt;&lt;P&gt;    l_wa_zerrors-serialno = sy-tabix.&lt;/P&gt;&lt;P&gt;    l_wa_zerrors-COMP_CODE = t_compcode.&lt;/P&gt;&lt;P&gt;    l_wa_zerrors-zid       = t_yreturn-id.&lt;/P&gt;&lt;P&gt;    l_wa_zerrors-type      = t_yreturn-type.&lt;/P&gt;&lt;P&gt;    l_wa_zerrors-znumber   = t_yreturn-number.&lt;/P&gt;&lt;P&gt;    l_wa_zerrors-BEACON_DOC_NO = t_poheader-po_number.&lt;/P&gt;&lt;P&gt;    l_wa_zerrors-SRC_DOC_NO = t_poheader-po_number.&lt;/P&gt;&lt;P&gt;    l_wa_zerrors-ZDATE      = sy-datum.&lt;/P&gt;&lt;P&gt;    l_wa_zerrors-ERR_MSG   = t_yreturn-message.&lt;/P&gt;&lt;P&gt;    append l_wa_zerrors to t_errors.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      insert into zerrors values l_wa_zerrors.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    clear: l_wa_zerrors.&lt;/P&gt;&lt;P&gt;  endloop.&lt;/P&gt;&lt;P&gt;  EXIT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " ERROR_HANDLING_ANLZ&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  ERROR_HANDLING_location&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_T_POHEADER  text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_T_COMPCODE  text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_L_WA_ZERRORS  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 ERROR_HANDLING_location USING    T_POHEADER TYPE BAPIMEPOHEADER&lt;/P&gt;&lt;P&gt;                                      T_COMPCODE TYPE BUKRS&lt;/P&gt;&lt;P&gt;                                      L_WA_ZERRORS TYPE ZP2P_ERRORS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR : L_CONST_NAME,&lt;/P&gt;&lt;P&gt;            L_COMP_CODE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  L_CONST_NAME  = c_po_werks.&lt;/P&gt;&lt;P&gt;  L_COMP_CODE   = t_compcode.&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'BALW_BAPIRETURN_GET2'&lt;/P&gt;&lt;P&gt;       EXPORTING&lt;/P&gt;&lt;P&gt;            type   = c_msgtype_e&lt;/P&gt;&lt;P&gt;            cl     = c_msgid_z001&lt;/P&gt;&lt;P&gt;            number = c_msgnr_616&lt;/P&gt;&lt;P&gt;            PAR1   = L_CONST_NAME&lt;/P&gt;&lt;P&gt;            PAR2   = L_COMP_CODE&lt;/P&gt;&lt;P&gt;       IMPORTING&lt;/P&gt;&lt;P&gt;            return = t_yreturn.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  APPEND t_yreturn.&lt;/P&gt;&lt;P&gt;  CLEAR  t_yreturn.&lt;/P&gt;&lt;P&gt;  loop at t_yreturn.&lt;/P&gt;&lt;P&gt;    l_wa_zerrors-OBJECT = 'PURCHASE_ORDER'.&lt;/P&gt;&lt;P&gt;    l_wa_zerrors-serialno = sy-tabix.&lt;/P&gt;&lt;P&gt;    l_wa_zerrors-COMP_CODE = t_compcode.&lt;/P&gt;&lt;P&gt;    l_wa_zerrors-zid       = t_yreturn-id.&lt;/P&gt;&lt;P&gt;    l_wa_zerrors-type      = t_yreturn-type.&lt;/P&gt;&lt;P&gt;    l_wa_zerrors-znumber   = t_yreturn-number.&lt;/P&gt;&lt;P&gt;    l_wa_zerrors-BEACON_DOC_NO = t_poheader-po_number.&lt;/P&gt;&lt;P&gt;    l_wa_zerrors-SRC_DOC_NO = t_poheader-po_number.&lt;/P&gt;&lt;P&gt;    l_wa_zerrors-ZDATE      = sy-datum.&lt;/P&gt;&lt;P&gt;    l_wa_zerrors-ERR_MSG   = t_yreturn-message.&lt;/P&gt;&lt;P&gt;    append l_wa_zerrors to t_errors.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      insert into zerrors values l_wa_zerrors.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    clear: l_wa_zerrors.&lt;/P&gt;&lt;P&gt;  endloop.&lt;/P&gt;&lt;P&gt;  .&lt;/P&gt;&lt;P&gt;  EXIT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " ERROR_HANDLING_location&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  GET_ASSET_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_T_COMPCODE  text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_T_POACCOUNT  text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_T_POHEADER  text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM GET_ASSET_DATA USING    T_COMPCODE TYPE BUKRS&lt;/P&gt;&lt;P&gt;                             T_POACCOUNT TYPE BAPIMEPOACCOUNT&lt;/P&gt;&lt;P&gt;                             T_POHEADER TYPE BAPIMEPOHEADER&lt;/P&gt;&lt;P&gt;                    CHANGING L_XSPEB type xspeb_anla.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  data:  l_prart type ps_prart,&lt;/P&gt;&lt;P&gt;         l_werks type werks_d,&lt;/P&gt;&lt;P&gt;         l_belkz type ps_belkz,&lt;/P&gt;&lt;P&gt;         l_glaccount type ZCONSTVAL,&lt;/P&gt;&lt;P&gt;         l_anln1 type anln1,&lt;/P&gt;&lt;P&gt;         l_anln2 type anln2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  Clear: l_werks,&lt;/P&gt;&lt;P&gt;         l_anln1,&lt;/P&gt;&lt;P&gt;         l_anln2,&lt;/P&gt;&lt;P&gt;         l_xspeb.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  select single anln1 anln2 xspeb&lt;/P&gt;&lt;P&gt;  into (l_anln1, l_anln2, l_xspeb)&lt;/P&gt;&lt;P&gt;  from ANLA&lt;/P&gt;&lt;P&gt;  where bukrs = t_compcode and&lt;/P&gt;&lt;P&gt;        anln1 = t_poaccount-asset_no and&lt;/P&gt;&lt;P&gt;        anln2 = t_poaccount-sub_number.&lt;/P&gt;&lt;P&gt;  if sy-subrc ne 0.&lt;/P&gt;&lt;P&gt;    CLEAR : L_CONST_NAME,&lt;/P&gt;&lt;P&gt;            L_COMP_CODE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    L_CONST_NAME  = c_po_werks.&lt;/P&gt;&lt;P&gt;    L_COMP_CODE   = t_compcode.&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'BALW_BAPIRETURN_GET2'&lt;/P&gt;&lt;P&gt;         EXPORTING&lt;/P&gt;&lt;P&gt;              type   = c_msgtype_e&lt;/P&gt;&lt;P&gt;              cl     = c_msgid_z001&lt;/P&gt;&lt;P&gt;              number = c_msgnr_620&lt;/P&gt;&lt;P&gt;              PAR1   = L_CONST_NAME&lt;/P&gt;&lt;P&gt;              PAR2   = L_COMP_CODE&lt;/P&gt;&lt;P&gt;         IMPORTING&lt;/P&gt;&lt;P&gt;              return = t_yreturn.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    APPEND t_yreturn.&lt;/P&gt;&lt;P&gt;    CLEAR  t_yreturn.&lt;/P&gt;&lt;P&gt;    loop at t_yreturn.&lt;/P&gt;&lt;P&gt;      l_wa_zerrors-OBJECT = 'PURCHASE_ORDER'.&lt;/P&gt;&lt;P&gt;      l_wa_zerrors-serialno = sy-tabix.&lt;/P&gt;&lt;P&gt;      l_wa_zerrors-COMP_CODE = t_compcode.&lt;/P&gt;&lt;P&gt;      l_wa_zerrors-zid       = t_yreturn-id.&lt;/P&gt;&lt;P&gt;      l_wa_zerrors-type      = t_yreturn-type.&lt;/P&gt;&lt;P&gt;      l_wa_zerrors-znumber   = t_yreturn-number.&lt;/P&gt;&lt;P&gt;      l_wa_zerrors-BEACON_DOC_NO = t_poheader-po_number.&lt;/P&gt;&lt;P&gt;      l_wa_zerrors-SRC_DOC_NO = t_poheader-po_number.&lt;/P&gt;&lt;P&gt;      l_wa_zerrors-ZDATE      = sy-datum.&lt;/P&gt;&lt;P&gt;      l_wa_zerrors-ERR_MSG   = t_yreturn-message.&lt;/P&gt;&lt;P&gt;      append l_wa_zerrors to t_errors.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      insert into zerrors values l_wa_zerrors.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      clear: l_wa_zerrors.&lt;/P&gt;&lt;P&gt;    endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " GET_ASSET_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  ERROR_HANDLING_XSPEBG&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_T_POHEADER  text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_T_COMPCODE  text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_L_WA_ZERRORS  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 ERROR_HANDLING_XSPEBG USING    T_POHEADER TYPE BAPIMEPOHEADER&lt;/P&gt;&lt;P&gt;                                    T_COMPCODE TYPE BUKRS&lt;/P&gt;&lt;P&gt;                                    L_WA_ZERRORS TYPE ZP2P_ERRORS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR : L_CONST_NAME,&lt;/P&gt;&lt;P&gt;                            L_COMP_CODE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  L_CONST_NAME  = c_po_werks.&lt;/P&gt;&lt;P&gt;  L_COMP_CODE   = t_compcode.&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'BALW_BAPIRETURN_GET2'&lt;/P&gt;&lt;P&gt;       EXPORTING&lt;/P&gt;&lt;P&gt;            type   = c_msgtype_e&lt;/P&gt;&lt;P&gt;            cl     = c_msgid_z001&lt;/P&gt;&lt;P&gt;            number = c_msgnr_624&lt;/P&gt;&lt;P&gt;            PAR1   = L_CONST_NAME&lt;/P&gt;&lt;P&gt;            PAR2   = L_COMP_CODE&lt;/P&gt;&lt;P&gt;       IMPORTING&lt;/P&gt;&lt;P&gt;            return = t_yreturn.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  APPEND t_yreturn.&lt;/P&gt;&lt;P&gt;  CLEAR  t_yreturn.&lt;/P&gt;&lt;P&gt;  loop at t_yreturn.&lt;/P&gt;&lt;P&gt;    l_wa_zerrors-OBJECT = 'PURCHASE_ORDER'.&lt;/P&gt;&lt;P&gt;    l_wa_zerrors-serialno = sy-tabix.&lt;/P&gt;&lt;P&gt;    l_wa_zerrors-COMP_CODE = t_compcode.&lt;/P&gt;&lt;P&gt;    l_wa_zerrors-zid       = t_yreturn-id.&lt;/P&gt;&lt;P&gt;    l_wa_zerrors-type      = t_yreturn-type.&lt;/P&gt;&lt;P&gt;    l_wa_zerrors-znumber   = t_yreturn-number.&lt;/P&gt;&lt;P&gt;    l_wa_zerrors-BEACON_DOC_NO = t_poheader-po_number.&lt;/P&gt;&lt;P&gt;    l_wa_zerrors-SRC_DOC_NO = t_poheader-po_number.&lt;/P&gt;&lt;P&gt;    l_wa_zerrors-ZDATE      = sy-datum.&lt;/P&gt;&lt;P&gt;    l_wa_zerrors-ERR_MSG   = t_yreturn-message.&lt;/P&gt;&lt;P&gt;    append l_wa_zerrors to t_errors.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      insert into zerrors values l_wa_zerrors.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    clear: l_wa_zerrors.&lt;/P&gt;&lt;P&gt;  endloop.&lt;/P&gt;&lt;P&gt;  EXIT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " ERROR_HANDLING_XSPEBG&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  get_uom_conversion&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_POHEADER  text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_POITEM  text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_POACCOUNT  text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_POHEADERX  text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_POITEMX  text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_POACCOUNTX  text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM get_uom_conversion TABLES   t_poitem    STRUCTURE bapimepoitem&lt;/P&gt;&lt;P&gt;                                 t_poitemx   STRUCTURE bapimepoitemx&lt;/P&gt;&lt;P&gt;                                 t_account STRUCTURE bapimepoaccount&lt;/P&gt;&lt;P&gt;                                 t_accountx STRUCTURE bapimepoaccountx&lt;/P&gt;&lt;P&gt;                                 t_poschedule structure BAPIMEPOSCHEDULE&lt;/P&gt;&lt;P&gt;                                t_poschedulex structure BAPIMEPOSCHEDULX&lt;/P&gt;&lt;P&gt;                                t_pocond      structure BAPIMEPOCOND&lt;/P&gt;&lt;P&gt;                                T_pocondx     structure BAPIMEPOCONDX&lt;/P&gt;&lt;P&gt;                     t_pocondheader structure bapimepocondheader&lt;/P&gt;&lt;P&gt;                     t_pocondheaderx structure bapimepocondheaderx&lt;/P&gt;&lt;P&gt;                     changing t_poheader  type bapimepoheader&lt;/P&gt;&lt;P&gt;                                 t_poheaderx TYPE bapimepoheaderx.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*MOD-004&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; DATA: t_ZAPPL_UOM_CONVER TYPE STANDARD TABLE OF ZAPPL_UOM_CONVER&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                               INITIAL SIZE 0 WITH HEADER LINE.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*MOD-004&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: t_ZAPPL_UOM_CONVER TYPE STANDARD TABLE OF ZP2P_UOM_CONVERS&lt;/P&gt;&lt;P&gt;                          INITIAL SIZE 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: t_ZEHUB_UOM_CONVER TYPE STANDARD TABLE OF ZEHUB_UOM_CONVER&lt;/P&gt;&lt;P&gt;                              INITIAL SIZE 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; SELECT  *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; FROM ZAPPL_UOM_CONVER&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; INTO TABLE t_ZAPPL_UOM_CONVER.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MOD-004&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; SELECT  *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; FROM ZAPPL_UOM_CONVER&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; INTO TABLE t_ZAPPL_UOM_CONVER.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*MOD-004&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT  *&lt;/P&gt;&lt;P&gt;  FROM  ZP2P_UOM_CONVERS&lt;/P&gt;&lt;P&gt;  INTO TABLE t_ZAPPL_UOM_CONVER.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;    SORT t_ZAPPL_UOM_CONVER BY APPL_JNJISO ASCENDING.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  data:lv_polen type i,&lt;/P&gt;&lt;P&gt;      lv_orderpoint(3) TYPE C.&lt;/P&gt;&lt;P&gt;  constants : lc_zero type c value '0'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Hard-coded fields&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  t_poheader-langu = 'E'.&lt;/P&gt;&lt;P&gt;  t_poheaderX-langu = c_x.&lt;/P&gt;&lt;P&gt;  T_POHEADERX-doc_type = c_x.&lt;/P&gt;&lt;P&gt;  T_POHEADERX-purch_org = c_x.&lt;/P&gt;&lt;P&gt;  T_POHEADERX-pur_group = c_x.&lt;/P&gt;&lt;P&gt;  T_POHEADERX-currency = c_x.&lt;/P&gt;&lt;P&gt;  T_POHEADERX-doc_date = c_x.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT T_poheader-comp_code IS INITIAL.&lt;/P&gt;&lt;P&gt;    T_POHEADERX-comp_code = c_x.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT T_poheader-po_number IS INITIAL.&lt;/P&gt;&lt;P&gt;    T_poheaderx-po_number = c_x.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt; T_poheader-creat_date = sy-datum.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; IF NOT T_poheader-creat_date IS INITIAL.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   T_poheaderx-creat_date = c_x.&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;  IF NOT T_poheader-vendor IS INITIAL.&lt;/P&gt;&lt;P&gt;    T_poheaderx-vendor = c_x.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT T_poheader-PO_NUMBER is initial.&lt;/P&gt;&lt;P&gt;    t_poheaderx-po_number = c_x.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT T_poheader-COMP_CODE is initial.&lt;/P&gt;&lt;P&gt;    t_poheaderx-comp_code = c_x.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT T_poheader-DOC_TYPE is initial.&lt;/P&gt;&lt;P&gt;    t_poheaderx-doc_type = c_x.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT T_poheader-DELETE_IND is initial.&lt;/P&gt;&lt;P&gt;    t_poheaderx-delete_ind = c_x.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT T_poheader-STATUS is initial.&lt;/P&gt;&lt;P&gt;    t_poheaderx-status = c_x.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT T_poheader-CREAT_DATE is initial.&lt;/P&gt;&lt;P&gt;    t_poheaderx-creat_date = c_x.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT T_poheader-CREATED_BY is initial.&lt;/P&gt;&lt;P&gt;    t_poheaderx-created_by = c_x.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT T_poheader-ITEM_INTVL is initial.&lt;/P&gt;&lt;P&gt;    t_poheaderx-item_intvl = c_x.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT T_poheader-VENDOR is initial.&lt;/P&gt;&lt;P&gt;    t_poheaderx-vendor = c_x.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT T_poheader-LANGU is initial.&lt;/P&gt;&lt;P&gt;    t_poheaderx-langu = c_x.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT T_poheader-LANGU_ISO is initial.&lt;/P&gt;&lt;P&gt;    t_poheaderx-langu_iso = c_x.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT T_poheader-PMNTTRMS is initial.&lt;/P&gt;&lt;P&gt;    t_poheaderx-PMNTTRMS = c_x.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT T_poheader-DSCNT1_TO is initial.&lt;/P&gt;&lt;P&gt;    t_poheaderx-DSCNT1_TO = c_x.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT T_poheader-DSCNT2_TO is initial.&lt;/P&gt;&lt;P&gt;    t_poheaderx-DSCNT2_TO  = c_x.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT T_poheader-DSCNT3_TO is initial.&lt;/P&gt;&lt;P&gt;    t_poheaderx-DSCNT3_TO = c_x.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT T_poheader-DSCT_PCT1 is initial.&lt;/P&gt;&lt;P&gt;    t_poheaderx-DSCT_PCT1 = c_x.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT T_poheader-DSCT_PCT2 is initial.&lt;/P&gt;&lt;P&gt;    t_poheaderx-DSCT_PCT1 = c_x.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT T_poheader-PURCH_ORG is initial.&lt;/P&gt;&lt;P&gt;    t_poheaderx-po_number = c_x.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT T_poheader-PUR_GROUP is initial.&lt;/P&gt;&lt;P&gt;    t_poheaderx-PURCH_ORG = c_x.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT T_poheader-CURRENCY is initial.&lt;/P&gt;&lt;P&gt;    t_poheaderx-CURRENCY = c_x.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT T_poheader-CURRENCY_ISO is initial.&lt;/P&gt;&lt;P&gt;    t_poheaderx-CURRENCY_ISO = c_x.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT T_poheader-EXCH_RATE is initial.&lt;/P&gt;&lt;P&gt;    t_poheaderx-EXCH_RATE = c_x.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT T_poheader-EX_RATE_FX is initial.&lt;/P&gt;&lt;P&gt;    t_poheaderx-EX_RATE_FX = c_x.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT T_poheader-DOC_DATE is initial.&lt;/P&gt;&lt;P&gt;    t_poheaderx-DOC_DATE = c_x.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT T_poheader-VPER_START is initial.&lt;/P&gt;&lt;P&gt;    t_poheaderx-VPER_START = c_x.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT T_poheader-VPER_END is initial.&lt;/P&gt;&lt;P&gt;    t_poheaderx-VPER_END = c_x.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT T_poheader-WARRANTY is initial.&lt;/P&gt;&lt;P&gt;    t_poheaderx-WARRANTY = c_x.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT T_poheader-QUOTATION is initial.&lt;/P&gt;&lt;P&gt;    t_poheaderx-QUOTATION = c_x.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT T_poheader-QUOT_DATE is initial.&lt;/P&gt;&lt;P&gt;    t_poheaderx-QUOT_DATE = c_x.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT T_poheader-REF_1 is initial.&lt;/P&gt;&lt;P&gt;    t_poheaderx-REF_1 = c_x.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT T_poheader-SALES_PERS is initial.&lt;/P&gt;&lt;P&gt;    t_poheaderx-SALES_PERS = c_x.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT T_poheader-TELEPHONE is initial.&lt;/P&gt;&lt;P&gt;    t_poheaderx-TELEPHONE = c_x.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT T_poheader-SUPPL_VEND is initial.&lt;/P&gt;&lt;P&gt;    t_poheaderx-SUPPL_VEND = c_x.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT T_poheader-CUSTOMER is initial.&lt;/P&gt;&lt;P&gt;    t_poheaderx-CUSTOMER = c_x.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT T_poheader-AGREEMENT is initial.&lt;/P&gt;&lt;P&gt;    t_poheaderx-AGREEMENT = c_x.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT T_poheader-GR_MESSAGE is initial.&lt;/P&gt;&lt;P&gt;    t_poheaderx-GR_MESSAGE = c_x.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT T_poheader-SUPPL_PLNT is initial.&lt;/P&gt;&lt;P&gt;    t_poheaderx-SUPPL_PLNT = c_x.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT T_poheader-INCOTERMS1 is initial.&lt;/P&gt;&lt;P&gt;    t_poheaderx-INCOTERMS1 = c_x.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT T_poheader-INCOTERMS2 is initial.&lt;/P&gt;&lt;P&gt;    t_poheaderx-INCOTERMS2 = c_x.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT T_poheader-COLLECT_NO is initial.&lt;/P&gt;&lt;P&gt;    t_poheaderx-COLLECT_NO = c_x.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT T_poheader-DIFF_INV is initial.&lt;/P&gt;&lt;P&gt;    t_poheaderx-DIFF_INV = c_x.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT T_poheader-OUR_REF is initial.&lt;/P&gt;&lt;P&gt;    t_poheaderx-OUR_REF = c_x.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT T_poheader-LOGSYSTEM is initial.&lt;/P&gt;&lt;P&gt;    t_poheaderx-LOGSYSTEM = c_x.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT T_poheader-SUBITEMINT is initial.&lt;/P&gt;&lt;P&gt;    t_poheaderx-SUBITEMINT = c_x.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT T_poheader-PO_REL_IND is initial.&lt;/P&gt;&lt;P&gt;    t_poheaderx-PO_REL_IND = c_x.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT T_poheader-REL_STATUS is initial.&lt;/P&gt;&lt;P&gt;    t_poheaderx-REL_STATUS = c_x.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT T_poheader-VAT_CNTRY is initial.&lt;/P&gt;&lt;P&gt;    t_poheaderx-VAT_CNTRY = c_x.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT T_poheader-VAT_CNTRY_ISO is initial.&lt;/P&gt;&lt;P&gt;    t_poheaderx-VAT_CNTRY_ISO = c_x.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT T_poheader-REASON_CANCEL is initial.&lt;/P&gt;&lt;P&gt;    t_poheaderx-REASON_CANCEL = c_x.&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;poitem details.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  LOOP AT T_POITEM.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  LOOP AT T_POITEMX WHERE PO_ITEM = T_POITEM-PO_ITEM.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    t_poitemx-po_item = t_poitem-po_item.&lt;/P&gt;&lt;P&gt;    IF NOT T_poitem-po_item IS INITIAL.&lt;/P&gt;&lt;P&gt;      T_POITEMX-po_itemx = c_x.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF NOT t_poitem-matl_group IS INITIAL.&lt;/P&gt;&lt;P&gt;      T_poitemx-matl_group = c_x.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF NOT t_poitem-plant IS INITIAL.&lt;/P&gt;&lt;P&gt;      T_poitemx-plant = c_x.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF NOT t_poitem-short_text IS INITIAL.&lt;/P&gt;&lt;P&gt;      T_poitemx-short_text = c_x.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF NOT t_poitem-vend_mat IS INITIAL.&lt;/P&gt;&lt;P&gt;      T_poitemx-vend_mat  = c_x.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    READ TABLE t_ZAPPL_UOM_CONVER&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH KEY aribauom = t_poitem-orderpr_un.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          WITH KEY APPL_JNJISO = t_poitem-orderpr_un.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;      T_poitem-orderpr_un =&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        t_ZAPPL_UOM_CONVER-APPLUOM.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          t_ZAPPL_UOM_CONVER-SAP_UOM.&lt;/P&gt;&lt;P&gt;      IF NOT T_poitem-orderpr_un IS INITIAL.&lt;/P&gt;&lt;P&gt;        T_poitemx-orderpr_un = c_x.&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;    IF NOT t_poitem-orderpr_un IS INITIAL.&lt;/P&gt;&lt;P&gt;      T_poitemx-orderpr_un  = c_x.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF NOT t_poitem-quantity IS INITIAL.&lt;/P&gt;&lt;P&gt;      T_POITEMX-quantity = c_x.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    if not t_poitem-distrib is initial.&lt;/P&gt;&lt;P&gt;      t_poitemx-distrib = c_x.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF NOT t_poitem-incoterms1 IS INITIAL.&lt;/P&gt;&lt;P&gt;      T_POITEMX-incoterms1 = c_x.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    if not t_poitem-incoterms2 is initial.&lt;/P&gt;&lt;P&gt;      t_poitemx-incoterms2 = c_x.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    if not t_poitem-PART_INV is initial.&lt;/P&gt;&lt;P&gt;      t_poitemx-PART_INV = c_x.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CLEAR t_ZAPPL_UOM_CONVER.&lt;/P&gt;&lt;P&gt;    READ TABLE t_ZAPPL_UOM_CONVER&lt;/P&gt;&lt;P&gt;            WITH KEY APPL_JNJISO = t_poitem-po_unit.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          WITH KEY aribauom = t_poitem-po_unit&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;      T_poitem-po_unit =&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        t_ZAPPL_UOM_CONVER-APPLUOM.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          t_ZAPPL_UOM_CONVER-SAP_UOM.&lt;/P&gt;&lt;P&gt;      IF NOT T_poitem-po_unit IS INITIAL.&lt;/P&gt;&lt;P&gt;        T_poitemx-po_unit = c_x.&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;    IF NOT t_poitem-net_price IS INITIAL.&lt;/P&gt;&lt;P&gt;      T_poitemx-net_price = c_x.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF NOT t_poitem-price_unit IS INITIAL.&lt;/P&gt;&lt;P&gt;      T_poitemx-price_unit = c_x.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF NOT T_poitem-net_price IS INITIAL.&lt;/P&gt;&lt;P&gt;      T_poitemx-ir_ind = c_x.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;Translate the GR Indicator external value to internal format&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;for Z_BAPI_PO_CREATE1 to handle&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    if not t_poitem-gr_ind is initial.&lt;/P&gt;&lt;P&gt;      t_poitemx-gr_ind = c_x.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    if not t_poitem-ORDERPR_UN is initial.&lt;/P&gt;&lt;P&gt;      t_poitemx-orderpr_un = c_x.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF NOT T_poitem-preq_name IS INITIAL.&lt;/P&gt;&lt;P&gt;      T_poitemx-preq_name = c_x.&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;For Service Order POs&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    IF not T_poitem-trackingno is initial.&lt;/P&gt;&lt;P&gt;      T_poitemx-trackingno = c_x.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    T_poitem-unlimited_dlv  = c_x.&lt;/P&gt;&lt;P&gt;    T_poitemx-unlimited_dlv = c_x.&lt;/P&gt;&lt;P&gt;    T_poitemx-delete_ind    = c_x.&lt;/P&gt;&lt;P&gt;    T_poitemx-gr_ind        = c_x.&lt;/P&gt;&lt;P&gt;    T_poitemx-distrib       = c_x.&lt;/P&gt;&lt;P&gt;    T_poitemx-ir_ind        = c_x.&lt;/P&gt;&lt;P&gt;    T_poitemx-acctasscat    = c_x.&lt;/P&gt;&lt;P&gt;    APPEND T_POITEMX.&lt;/P&gt;&lt;P&gt;    CLEAR: t_poitemx.&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;    MODIFY T_POITEM TRANSPORTING PO_UNIT orderpr_un.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  delete t_poitem where po_item = '0000'.&lt;/P&gt;&lt;P&gt;  delete t_poitemx where po_item = '0000'.&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;POaccount data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;  data: l_tabix type sy-tabix.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT t_poitem.&lt;/P&gt;&lt;P&gt;    LOOP AT t_account. " Where po_item = t_poitem-po_item.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     l_tabix = sy-tabix.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     READ TABLE t_poitem index l_tabix.&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_accountx-po_item = t_account-po_item.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;***********************************************&lt;/P&gt;&lt;P&gt;**mod-004&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      if not t_account-po_item is initial.&lt;/P&gt;&lt;P&gt;        t_accountx-po_item = t_account-po_item.&lt;/P&gt;&lt;P&gt;      else.&lt;/P&gt;&lt;P&gt;        t_accountx-po_item = t_poitem-po_item.&lt;/P&gt;&lt;P&gt;        t_account-po_item = t_poitem-po_item.&lt;/P&gt;&lt;P&gt;      endif.&lt;/P&gt;&lt;P&gt;*mod-004&lt;/P&gt;&lt;P&gt;**********************************************&lt;/P&gt;&lt;P&gt;      IF NOT t_account-po_item IS INITIAL.&lt;/P&gt;&lt;P&gt;        t_accountx-po_itemx = c_x.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF NOT t_account-serial_no IS INITIAL.&lt;/P&gt;&lt;P&gt;        t_accountx-SERIAL_NO = t_account-serial_no.&lt;/P&gt;&lt;P&gt;        t_accountx-serial_nox = c_x.&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;To change the value of T_POITEM-DISTRIB&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;to 2 in case of a split&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      IF t_account-serial_no &amp;gt; 1.&lt;/P&gt;&lt;P&gt;        READ TABLE T_POITEM WITH KEY po_item = t_account-po_item.&lt;/P&gt;&lt;P&gt;        IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;          t_poitem-distrib = '2'.&lt;/P&gt;&lt;P&gt;          MODIFY t_poitem INDEX sy-tabix TRANSPORTING distrib.&lt;/P&gt;&lt;P&gt;          READ TABLE t_poitemx WITH KEY po_item = t_poitem-po_item.&lt;/P&gt;&lt;P&gt;          IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;            t_poitemx-distrib = 'X'.&lt;/P&gt;&lt;P&gt;            MODIFY t_poitemx INDEX sy-tabix TRANSPORTING distrib.&lt;/P&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;P&gt;        ENDIF.&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;     l_tabix = sy-tabix.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     t_accountx-po_item = l_tabix.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     IF NOT t_accountx-po_item IS INITIAL.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       t_accountx-po_item = c_x.&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;      IF NOT t_account-costcenter IS INITIAL.&lt;/P&gt;&lt;P&gt;        t_accountx-costcenter = c_x.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF NOT t_account-gl_account IS INITIAL.&lt;/P&gt;&lt;P&gt;        t_accountx-gl_account = c_x.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF NOT t_account-unload_pt IS INITIAL.&lt;/P&gt;&lt;P&gt;        t_accountx-unload_pt = c_x.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF NOT t_account-wbs_element IS INITIAL.&lt;/P&gt;&lt;P&gt;        t_accountx-wbs_element = c_x.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF NOT t_account-distr_perc IS INITIAL.&lt;/P&gt;&lt;P&gt;        t_accountx-distr_perc = c_x.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF NOT t_account-net_value IS INITIAL.&lt;/P&gt;&lt;P&gt;        t_accountx-net_value = c_x.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF NOT t_account-quantity IS INITIAL.&lt;/P&gt;&lt;P&gt;        t_accountx-quantity = c_x.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      APPEND T_accountx.&lt;/P&gt;&lt;P&gt;      CLEAR: t_accountx.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     READ TABLE t_accountx&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           WITH KEY po_item  = t_account-po_item&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                   serial_no = t_account-serial_no.&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;       MODIFY t_accountx.&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;      modify t_account.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&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;  delete t_account where po_item  = '0000'.&lt;/P&gt;&lt;P&gt;  delete t_accountx where po_item = '0000'.&lt;/P&gt;&lt;P&gt;*****************************************************************&lt;/P&gt;&lt;P&gt;*MOD-004&lt;/P&gt;&lt;P&gt;  sort t_accountx by po_item.&lt;/P&gt;&lt;P&gt;  delete adjacent duplicates from t_accountx comparing&lt;/P&gt;&lt;P&gt;        po_item.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;MOD-004&lt;/STRONG&gt;********************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  loop at t_poschedule.&lt;/P&gt;&lt;P&gt;    loop at t_poitem.&lt;/P&gt;&lt;P&gt;      IF NOT t_poschedule-po_item IS INITIAL.&lt;/P&gt;&lt;P&gt;        t_poschedulex-po_item = t_poschedule-po_item.&lt;/P&gt;&lt;P&gt;        t_poschedulex-PO_ITEMX = C_X.&lt;/P&gt;&lt;P&gt;      else.&lt;/P&gt;&lt;P&gt;        t_poschedule-po_item  = t_poitem-po_item.&lt;/P&gt;&lt;P&gt;        t_poschedulex-po_item = t_poitem-po_item.&lt;/P&gt;&lt;P&gt;        t_poschedulex-PO_ITEMX = C_X.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF NOT t_poschedule-sched_line IS INITIAL.&lt;/P&gt;&lt;P&gt;        t_poschedulex-sched_line = t_poschedule-sched_line.&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;        t_poschedule-sched_line = t_poitem-po_item.&lt;/P&gt;&lt;P&gt;        t_poschedulex-sched_line = t_poitem-po_item.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF NOT t_poschedule-SCHED_LINE IS INITIAL.&lt;/P&gt;&lt;P&gt;        t_poschedulex-SCHED_LINEX = C_X.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      I&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 01 Oct 2007 10:45:07 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bapi-po-change/m-p/2820987#M659801</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-10-01T10:45:07Z</dc:date>
    </item>
  </channel>
</rss>

