<?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: Create PO with reference to PR in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/create-po-with-reference-to-pr/m-p/4107556#M982245</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Checko thos for reference:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Author: Aveek Ghose&lt;/P&gt;&lt;P&gt;Submitted: 05/06/2007&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Related Links:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This function module is called during PR Creation in Ariba ( at&lt;/P&gt;&lt;P&gt;checkpoint1, checkpoint2 and checkpoint3) and also during posting of&lt;/P&gt;&lt;P&gt;PO in SAP. The call to this function module is from WebMethods.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FUNCTION Z_BC1_BAPI_PO_CREATE02.&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(POHEADER) LIKE  BAPIMEPOHEADER STRUCTURE  BAPIMEPOHEADER&lt;/P&gt;&lt;P&gt;*"     VALUE(POHEADERX) LIKE  BAPIMEPOHEADERX STRUCTURE&lt;/P&gt;&lt;P&gt;*"        BAPIMEPOHEADERX OPTIONAL&lt;/P&gt;&lt;P&gt;*"     VALUE(POADDRVENDOR) LIKE  BAPIMEPOADDRVENDOR STRUCTURE&lt;/P&gt;&lt;P&gt;*"        BAPIMEPOADDRVENDOR OPTIONAL&lt;/P&gt;&lt;P&gt;*"     VALUE(TESTRUN) LIKE  BAPIFLAG-BAPIFLAG OPTIONAL&lt;/P&gt;&lt;P&gt;*"     VALUE(MEMORY_UNCOMPLETE) LIKE  BAPIFLAG-BAPIFLAG OPTIONAL&lt;/P&gt;&lt;P&gt;*"     VALUE(MEMORY_COMPLETE) LIKE  BAPIFLAG-BAPIFLAG OPTIONAL&lt;/P&gt;&lt;P&gt;*"     VALUE(POEXPIMPHEADER) LIKE  ZBAPIEIKP STRUCTURE  ZBAPIEIKP&lt;/P&gt;&lt;P&gt;*"       OPTIONAL&lt;/P&gt;&lt;P&gt;*"     VALUE(POEXPIMPHEADERX) LIKE  ZBAPIEIKPX STRUCTURE  ZBAPIEIKPX&lt;/P&gt;&lt;P&gt;*"       OPTIONAL&lt;/P&gt;&lt;P&gt;*"     VALUE(VERSIONS) LIKE  ZBAPIMEDCM STRUCTURE  ZBAPIMEDCM OPTIONAL&lt;/P&gt;&lt;P&gt;*"     VALUE(NO_MESSAGING) LIKE  BAPIFLAG-BAPIFLAG OPTIONAL&lt;/P&gt;&lt;P&gt;*"     VALUE(NO_MESSAGE_REQ) LIKE  BAPIFLAG-BAPIFLAG OPTIONAL&lt;/P&gt;&lt;P&gt;*"     VALUE(NO_AUTHORITY) LIKE  BAPIFLAG-BAPIFLAG OPTIONAL&lt;/P&gt;&lt;P&gt;*"     VALUE(NO_PRICE_FROM_PO) LIKE  BAPIFLAG-BAPIFLAG OPTIONAL&lt;/P&gt;&lt;P&gt;*"  EXPORTING&lt;/P&gt;&lt;P&gt;*"     VALUE(EXPPURCHASEORDER) LIKE  BAPIMEPOHEADER-PO_NUMBER&lt;/P&gt;&lt;P&gt;*"     VALUE(EXPHEADER) LIKE  BAPIMEPOHEADER STRUCTURE  BAPIMEPOHEADER&lt;/P&gt;&lt;P&gt;*"     VALUE(EXPPOEXPIMPHEADER) LIKE  ZBAPIEIKP STRUCTURE  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 OPTIONAL&lt;/P&gt;&lt;P&gt;*"      POITEMX STRUCTURE  BAPIMEPOITEMX OPTIONAL&lt;/P&gt;&lt;P&gt;*"      POADDRDELIVERY STRUCTURE  BAPIMEPOADDRDELIVERY OPTIONAL&lt;/P&gt;&lt;P&gt;*"      POSCHEDULE STRUCTURE  BAPIMEPOSCHEDULE OPTIONAL&lt;/P&gt;&lt;P&gt;*"      POSCHEDULEX STRUCTURE  BAPIMEPOSCHEDULX OPTIONAL&lt;/P&gt;&lt;P&gt;*"      POACCOUNT STRUCTURE  BAPIMEPOACCOUNT OPTIONAL&lt;/P&gt;&lt;P&gt;*"      POACCOUNTPROFITSEGMENT STRUCTURE  BAPIMEPOACCOUNTPROFITSEGMENT&lt;/P&gt;&lt;P&gt;*"       OPTIONAL&lt;/P&gt;&lt;P&gt;*"      POACCOUNTX STRUCTURE  BAPIMEPOACCOUNTX OPTIONAL&lt;/P&gt;&lt;P&gt;*"      POCONDHEADER STRUCTURE  BAPIMEPOCOND OPTIONAL&lt;/P&gt;&lt;P&gt;*"      POCONDHEADERX STRUCTURE  BAPIMEPOCONDX OPTIONAL&lt;/P&gt;&lt;P&gt;*"      POCOND STRUCTURE  BAPIMEPOCOND OPTIONAL&lt;/P&gt;&lt;P&gt;*"      POCONDX STRUCTURE  BAPIMEPOCONDX OPTIONAL&lt;/P&gt;&lt;P&gt;*"      POLIMITS STRUCTURE  BAPIESUHC OPTIONAL&lt;/P&gt;&lt;P&gt;*"      POCONTRACTLIMITS STRUCTURE  BAPIESUCC OPTIONAL&lt;/P&gt;&lt;P&gt;*"      POSERVICES STRUCTURE  BAPIESLLC OPTIONAL&lt;/P&gt;&lt;P&gt;*"      POSRVACCESSVALUES STRUCTURE  BAPIESKLC OPTIONAL&lt;/P&gt;&lt;P&gt;*"      POSERVICESTEXT STRUCTURE  BAPIESLLTX OPTIONAL&lt;/P&gt;&lt;P&gt;*"      EXTENSIONIN STRUCTURE  BAPIPAREX OPTIONAL&lt;/P&gt;&lt;P&gt;*"      EXTENSIONOUT STRUCTURE  BAPIPAREX OPTIONAL&lt;/P&gt;&lt;P&gt;*"      POEXPIMPITEM STRUCTURE  ZBAPIEIPO OPTIONAL&lt;/P&gt;&lt;P&gt;*"      POEXPIMPITEMX STRUCTURE  ZBAPIEIPOX OPTIONAL&lt;/P&gt;&lt;P&gt;*"      POTEXTHEADER STRUCTURE  BAPIMEPOTEXT OPTIONAL&lt;/P&gt;&lt;P&gt;*"      POTEXTITEM STRUCTURE  BAPIMEPOTEXT OPTIONAL&lt;/P&gt;&lt;P&gt;*"      ALLVERSIONS STRUCTURE  ZBAPIMEDCM_ALLVERSIONS OPTIONAL&lt;/P&gt;&lt;P&gt;*"      POPARTNER STRUCTURE  BAPIEKKOP OPTIONAL&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Program   :    Z_BC1_BAPI_PO_CREATE01&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;TITLE          Function Module to create PO using BAPI&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;AUTHOR         Aveek Ghose, IBM&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;DATE WRITTEN   20-May-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;LI level="1" type="ul"&gt;&lt;P&gt;CTS:           RD1K912067&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 PR Creation in Ariba ( at&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;checkpoint1, checkpoint2 and checkpoint3) and also during posting of&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;PO in SAP. The call to this function module is from WebMethods.&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;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;       Local 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;&lt;/P&gt;&lt;P&gt;  CONSTANTS:   C_VENDOR TYPE ELIFN  VALUE '4259999999',&lt;/P&gt;&lt;P&gt;               C_DOC_TYPE TYPE ESART  VALUE 'ZAPS',&lt;/P&gt;&lt;P&gt;               C_CURRENCY TYPE WAERS  VALUE 'EUR',&lt;/P&gt;&lt;P&gt;               C_NETPR  TYPE NETPR  VALUE '1.00',&lt;/P&gt;&lt;P&gt;               C_99     TYPE CHAR2 VALUE '99',&lt;/P&gt;&lt;P&gt;               C_00     TYPE CHAR2 VALUE '00'.&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_LENGTH          TYPE I,        "Vendor string length.&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;  DATA: l_werks1 type werks_d.&lt;/P&gt;&lt;P&gt;  "WBS internal format&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;DATA: L_WA_TIMESTAMP TYPE ZPO_TIMESTAMP.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  DATA: L_WA_TIMESTAMP TYPE ZP2P_TIMESTAMP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: l_serial_no LIKE poaccount-serial_no.&lt;/P&gt;&lt;P&gt;  DATA: L_SERIAL TYPE I.&lt;/P&gt;&lt;P&gt;  DATA: L_RETURN  TYPE C.&lt;/P&gt;&lt;P&gt;  DATA: L_EXIT TYPE I.&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;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       Internal Table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA : T_TEMP_POACCOUNT LIKE POACCOUNT OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;                                          "To store items with blank GL&lt;/P&gt;&lt;P&gt;*PVU-22-May-2004 - Start 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_SCHD_TMP     LIKE POSCHEDULE    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;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;       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.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: p_constname TYPE  zconstname,  "Constant Name&lt;/P&gt;&lt;P&gt;        g_constval  TYPE  zconstval,   "Constant Value&lt;/P&gt;&lt;P&gt;        tbx         TYPE  SY-TABIX.&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;&lt;/P&gt;&lt;P&gt;*PVU-22-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;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;start of change for TPR2220 - DDUTTA - 07/08/2004&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            t_znonpo_document,&lt;/P&gt;&lt;P&gt;            t_znonpo_acctg,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;End of change for TPR2220 - DDUTTA - 07/08/2004&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*PVU-22-May-2004 - Start Changes for SCR1&lt;/P&gt;&lt;P&gt;            G_IDOC_NO,&lt;/P&gt;&lt;P&gt;            G_W_HDRX_TMP.&lt;/P&gt;&lt;P&gt;*PVU-22-May-2004 - End Changes for SCR1&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  REFRESH : RETURN, T_ZRETURN,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;start of change for TPR2220 - DDUTTA - 07/08/2004&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            t_znonpo_document,&lt;/P&gt;&lt;P&gt;            t_znonpo_acctg,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;End of change for TPR2220 - DDUTTA - 07/08/2004&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*PVU-22-May-2004 - Start Changes for SCR1&lt;/P&gt;&lt;P&gt;            G_T_IDOC_DATA,&lt;/P&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;*PVU-22-May-2004 - End Changes for SCR1&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Srini 17-May-2005 Start of changes&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Developer Flexibility to debug issues&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  p_constname = 'BAPI_PO_CREATE2'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  do.&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     = p_constname&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            comp_code      = poheader-comp_code&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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;    if g_constval ne 'X'.&lt;/P&gt;&lt;P&gt;      exit.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;  enddo.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Add of change: SDR: 12-Aug-2005&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; IF poheader-po_number IS INITIAL.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   poheader-doc_type = 'ZEHS'.&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;**********************************************************&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 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;  DELETE FROM ZP2P_ERRORS WHERE BEACON_DOC_NO = POHEADER-PO_NUMBER.&lt;/P&gt;&lt;P&gt;  DELETE FROM ZP2P_ERRORS WHERE TYPE NE C_E.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; DELETE FROM ZERRORS WHERE BEACON_DOC_NO = POHEADER-PO_NUMBER.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; DELETE FROM ZERRORS WHERE TYPE NE C_E.&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;  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          = '00'.&lt;/P&gt;&lt;P&gt;  l_wa_timestamp-CREATE_TIMESTMP = POHEADER-ARIBACRTTIMESTMP.&lt;/P&gt;&lt;P&gt;  l_wa_timestamp-CREATE_TIMESTMP = POHEADER-ARIBACHGTIMESTMP.&lt;/P&gt;&lt;P&gt;  insert into ZP2P_TIMESTAMP values l_wa_timestamp.&lt;/P&gt;&lt;P&gt;*MOD-004&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;*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;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;/UL&gt;&lt;P&gt;  if poheader-comp_code is initial.&lt;/P&gt;&lt;P&gt;    clear: l_bukrs.&lt;/P&gt;&lt;UL&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;P&gt;    select single companycode&lt;/P&gt;&lt;P&gt;    into l_bukrs&lt;/P&gt;&lt;P&gt;    from ZP2P_COMPANYCODE&lt;/P&gt;&lt;P&gt;    where FSID        = poheader-fsid and&lt;/P&gt;&lt;P&gt;          le          = poheader-le and&lt;/P&gt;&lt;P&gt;          frmrc       = poheader-frmrc.&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_MSGV1.&lt;/P&gt;&lt;P&gt;      L_MSGV1 = T_TEMP_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&lt;/P&gt;&lt;P&gt;                CL     = C_MSGID_Z001&lt;/P&gt;&lt;P&gt;                NUMBER = C_MSGNR_618&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;    else.&lt;/P&gt;&lt;P&gt;      poheader-comp_code = l_bukrs.&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;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;End of Change: SDR: 12-Aug-2005&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;Srini 10-May-2005 Start of changes&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Pass the value of SERIAL_NO from POACCOUNT to POACCOUNTX.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  LOOP AT POACCOUNTX.&lt;/P&gt;&lt;P&gt;    MOVE SY-TABIX to TBX.&lt;/P&gt;&lt;P&gt;    READ TABLE POACCOUNT INDEX TBX.&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC EQ 0 AND POACCOUNTX-SERIAL_NO IS INITIAL.&lt;/P&gt;&lt;P&gt;      POACCOUNTX-SERIAL_NO = POACCOUNT-SERIAL_NO.&lt;/P&gt;&lt;P&gt;      MODIFY POACCOUNTX INDEX TBX.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Srini 10-May-2005 End of changes&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Srini 17-May-2005 End of changes&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  T_TEMP_POACCOUNT[] = POACCOUNT[].&lt;/P&gt;&lt;P&gt;&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;/UL&gt;&lt;P&gt;  PERFORM FILTER_ITEMS TABLES T_TEMP_POACCOUNT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT T_TEMP_POACCOUNT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CLEAR L_MSGV1.&lt;/P&gt;&lt;P&gt;    L_MSGV1 = T_TEMP_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   = 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;&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-type       = return-type.&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 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;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&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 WITH KEY TYPE = C_E.  " 'E'&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;    EXPHEADER = POHEADER.&lt;/P&gt;&lt;P&gt;    EXPHEADER-CODE = '99'.&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;*MOD-005&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;On Error, exit the function module&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; l_exit = 0.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; LOOP AT RETURN WHERE TYPE = C_E.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   L_EXIT = 1.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   expheader      = poheader.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   EXPHEADER-CODE = C_99.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   RETURN-RETURN_CODE = C_99.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   RETURN-SEQ_CODE    = C_99.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   MODIFY RETURN TRANSPORTING RETURN_CODE SEQ_CODE.&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; IF L_EXIT = 1.&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;**MOD-005&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*MOD-005&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; L_RETURN = ' '..&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; LOOP AT RETURN WHERE TYPE = C_E.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   RETURN-RETURN_CODE = '99'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   L_RETURN = C_X.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   MODIFY RETURN TRANSPORTING RETURN_CODE.&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; IF L_RETURN = C_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;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;**MOD-004&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;Begin of Change: Soumya D Roy: 12/27/2005&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; Forcibly refresh the T_YRETURN table as a part of the conversion&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; program since this table is not getting refreshed&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  REFRESH t_yreturn.&lt;/P&gt;&lt;P&gt;  CLEAR   t_yreturn.&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;End of Change: Soumya D Roy: 12/27/2005&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;****BV-27-May-2004 - Begin of Changes for SCR2****&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  l_wa_timestamp-CHANGE_IND     = 'A'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    l_wa_timestamp-CREATE_TIMESTMP = POITEM-ARIBACRTTIMESTMP.&lt;/P&gt;&lt;P&gt;    l_wa_timestamp-CREATE_TIMESTMP = POITEM-ARIBAUPDTIMESTMP.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  l_wa_timestamp-DATE_TIME_STMP = POITEM-ARIBACRTTIMESTMP.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  insert into ZPO_TIMESTAMP values l_wa_timestamp.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    insert into ZP2P_TIMESTAMP values l_wa_timestamp.&lt;/P&gt;&lt;P&gt;&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-type       = t_yreturn-type.&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 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.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; if not poheader-currency is initial.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   if not poheader-vendor is initial.&lt;/P&gt;&lt;/LI&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;       SELECT SINGLE WAERS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       INTO L_WAERS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       FROM LFM1 WHERE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       LIFNR = POHEADER-VENDOR&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       AND EKORG = POHEADER-PURCH_ORG.&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;         IF L_WAERS NE  poheader-currency.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           pocond-cond_type = 'PBXX'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           pocond-currency    = l_waers.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           modify pocond transporting cond_value currency.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         endif.&lt;/P&gt;&lt;/LI&gt;&lt;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;     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;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 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;/UL&gt;&lt;P&gt;  IF POHEADER-PURCH_ORG IS INITIAL.&lt;/P&gt;&lt;P&gt;    SELECT SINGLE PUR_ORG&lt;/P&gt;&lt;P&gt;    INTO L_EKORG&lt;/P&gt;&lt;P&gt;    FROM ZP2P_PURCHASEORG&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  FROM ZPUR_ORG&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    WHERE LE    = POHEADER-LE AND&lt;/P&gt;&lt;P&gt;          FRMRC = POHEADER-FRMRC AND&lt;/P&gt;&lt;P&gt;          FSID  = POHEADER-FSID.&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 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-type       = return-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 = 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 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;    ELSE.&lt;/P&gt;&lt;P&gt;      POHEADER-PURCH_ORG = L_EKORG.&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 NOT POHEADER-PUR_GROUP IS INITIAL.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF 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_046&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 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-type       = return-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 = 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 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;    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;  LOOP AT poitem.&lt;/P&gt;&lt;P&gt;    if poitem-plant is initial.&lt;/P&gt;&lt;P&gt;      clear: l_werks1.&lt;/P&gt;&lt;P&gt;      select single plant&lt;/P&gt;&lt;P&gt;      into l_werks1&lt;/P&gt;&lt;P&gt;      from ZP2P_PLANTMAPING&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    from zpo_plantmapping&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      where COMPANY_CODE = poheader-comp_code and&lt;/P&gt;&lt;UL&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;/UL&gt;&lt;P&gt;            LE           = poheader-le and&lt;/P&gt;&lt;P&gt;            FSID         = poheader-fsid and&lt;/P&gt;&lt;P&gt;            MRC          = poheader-mrc and&lt;/P&gt;&lt;P&gt;            FRMRC        = poheader-frmrc.&lt;/P&gt;&lt;P&gt;      if sy-subrc ne 0.&lt;/P&gt;&lt;P&gt;        PERFORM ERROR_HANDLING_PLANT USING   POHEADER&lt;/P&gt;&lt;P&gt;                                             poheader-comp_code&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;        poitem-plant = l_werks1.&lt;/P&gt;&lt;P&gt;        CLEAR: L_WERKS1.&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 POITEM-NET_PRICE NE POHEADER-CURRENCY.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     POITEM-NET_PRICE = POHEADER-CURRENCY.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*mod-004&lt;/P&gt;&lt;P&gt;    IF POITEM-net_price NE 0.&lt;/P&gt;&lt;P&gt;      POITEM-IR_IND = 'X'.&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 POITEM-net_price eq 0.&lt;/P&gt;&lt;P&gt;      POITEM-IR_IND = 'X'.&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 POITEM-GR_IND = C_Y..&lt;/P&gt;&lt;P&gt;      POITEM-GR_IND = C_X.&lt;/P&gt;&lt;P&gt;    ELSEIF POITEM-GR_IND = C_X.&lt;/P&gt;&lt;P&gt;      POITEM-GR_IND = C_X.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      POITEM-GR_IND = ' '.&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   if POITEM-GR_IND = 'Y'..&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       POITEM-GR_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;P&gt;    if POITEM-INCOTERMS1 is initial.&lt;/P&gt;&lt;P&gt;      POITEM-INCOTERMS1 = 'CIF'.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;    if POITEM-INCOTERMS2  is initial.&lt;/P&gt;&lt;P&gt;      POITEM-INCOTERMS2 = 'CIF'.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    LOOP AT POACCOUNT WHERE PO_ITEM = POITEM-PO_ITEM.&lt;/P&gt;&lt;P&gt;      IF POITEM-DISTRIB IS INITIAL.&lt;/P&gt;&lt;P&gt;        POACCOUNT-DISTR_PERC = '0.00'.&lt;/P&gt;&lt;P&gt;        MODIFY POACCOUNT TRANSPORTING DISTR_PERC.&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;    POITEM-UNLIMITED_DLV = 'X'.&lt;/P&gt;&lt;P&gt;    POITEM-UNDER_DLV_TOL = 0.&lt;/P&gt;&lt;P&gt;    clear: poitem-ARIBACRTTIMESTMP,&lt;/P&gt;&lt;P&gt;           poitem-ARIBAUPDTIMESTMP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    MODIFY POITEM TRANSPORTING UNLIMITED_DLV&lt;/P&gt;&lt;P&gt;                               UNDER_DLV_TOL&lt;/P&gt;&lt;P&gt;                               PLANT&lt;/P&gt;&lt;P&gt;                               IR_IND&lt;/P&gt;&lt;P&gt;                               GR_IND&lt;/P&gt;&lt;P&gt;                               INCOTERMS1&lt;/P&gt;&lt;P&gt;                               INCOTERMS2&lt;/P&gt;&lt;P&gt;                               ARIBACRTTIMESTMP&lt;/P&gt;&lt;P&gt;                               ARIBAUPDTIMESTMP.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&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;*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;&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 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;    READ TABLE t_yreturn WITH KEY type = 'W'.&lt;/P&gt;&lt;P&gt;    IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;      expheader = poheader.&lt;/P&gt;&lt;P&gt;      EXPHEADER-CODE = '99'.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;**MOD-005&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;On Error, exit the function module&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   l_exit = 0.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   LOOP AT RETURN WHERE TYPE = C_E.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     L_EXIT = 1.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     expheader      = poheader.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     EXPHEADER-CODE = '99'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     RETURN-RETURN_CODE = C_99.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     RETURN-SEQ_CODE    = C_99.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     MODIFY RETURN TRANSPORTING RETURN_CODE SEQ_CODE.&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;   IF L_EXIT = 1.&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;**MOD-005&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 Change: 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;  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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; if not poheader-currency is initial.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   if not poheader-vendor is initial.&lt;/P&gt;&lt;/LI&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;       SELECT SINGLE WAERS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       INTO L_WAERS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       FROM LFM1 WHERE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       LIFNR = POHEADER-VENDOR&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       AND EKORG = POHEADER-PURCH_ORG.&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;         IF L_WAERS NE  poheader-currency.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           pocond-cond_type = 'PBXX'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           pocond-currency    = l_waers.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           modify pocond transporting cond_value currency.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         endif.&lt;/P&gt;&lt;/LI&gt;&lt;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;     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;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;*************************************************************&lt;/P&gt;&lt;P&gt;*currency check MOD-004&lt;/P&gt;&lt;P&gt;*************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; DATA:   l_header TYPE REF TO cl_po_header_handle_mm,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         l_item   TYPE REF TO cl_po_item_handle_mm,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         l_tkomv  TYPE STANDARD TABLE OF komv INITIAL SIZE 10,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         l_item_conditions_changed TYPE mmpur_bool.&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;header level pocond data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CHECK NOT l_item IS INITIAL.&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;   CHECK NOT l_item-&amp;gt;po_item_number IS INITIAL.&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_header ?= l_item-&amp;gt;my_parent.&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 METHOD l_header-&amp;gt;get_tkomv IMPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            ex_tkomv              = l_tkomv.&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;   l_item_conditions_changed = mmpur_no.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   PERFORM pai_item_conditions IN PROGRAM saplmepo&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                  TABLES   l_tkomv&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                  USING    poitem-po_item&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                  CHANGING l_item_conditions_changed.&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 l_item_conditions_changed IS INITIAL.&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 METHOD l_header-&amp;gt;set_tkomv EXPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;               im_tkomv                   = l_tkomv&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;               im_item_conditions_changed = l_item_conditions_changed.&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;Item level POCOND data&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;/UL&gt;&lt;P&gt;*.     CALL FUNCTION 'MEPO_DOC_PBO_ITEM_CONDITIONS'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        EXPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             im_ebelp      = poitem-po_item&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;             error_message = 1.&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;*************************************************************&lt;/P&gt;&lt;P&gt;*currency check mod-004&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;  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;*MOD-003&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;IF NOT POHEADER-PURCH_ORG IS INITIAL.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF POHEADER-PURCH_ORG IS INITIAL.&lt;/P&gt;&lt;P&gt;    SELECT SINGLE PUR_ORG&lt;/P&gt;&lt;P&gt;    INTO L_EKORG&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  FROM ZPUR_ORG&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    FROM ZP2P_PURCHASEORG&lt;/P&gt;&lt;P&gt;    WHERE LE    = POHEADER-LE AND&lt;/P&gt;&lt;P&gt;          FRMRC = POHEADER-FRMRC AND&lt;/P&gt;&lt;P&gt;          FSID  = POHEADER-FSID.&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 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-type       = return-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 = 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 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;    ELSE.&lt;/P&gt;&lt;P&gt;      POHEADER-PURCH_ORG = L_EKORG.&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 NOT POHEADER-PUR_GROUP IS INITIAL.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF 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_046&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-type       = return-type.&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 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;    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-004&lt;/P&gt;&lt;P&gt;  LOOP AT POACCOUNT.&lt;/P&gt;&lt;P&gt;    if POACCOUNT-COSTCENTER EQ '0000000000' OR&lt;/P&gt;&lt;P&gt;       POACCOUNT-COSTCENTER EQ '0'.&lt;/P&gt;&lt;P&gt;      POACCOUNT-COSTCENTER = ' '.&lt;/P&gt;&lt;P&gt;      MODIFY POACCOUNT.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;*MOD-004&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;  IF NOT TESTRUN IS INITIAL.&lt;/P&gt;&lt;P&gt;    L_SERIAL_NO = 0.&lt;/P&gt;&lt;P&gt;    L_TABIX = 0.&lt;/P&gt;&lt;P&gt;    POHEADER-VENDOR = C_VENDOR.&lt;/P&gt;&lt;P&gt;    poheader-doc_type = C_DOC_TYPE.&lt;/P&gt;&lt;P&gt;    poheader-comp_code = l_bukrs.&lt;/P&gt;&lt;P&gt;    POHEADER-DOC_DATE = SY-DATUM.&lt;/P&gt;&lt;P&gt;    POHEADER-CURRENCY = C_CURRENCY.&lt;/P&gt;&lt;P&gt;    POHEADER-NETPR = C_NETPR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    LOOP AT POACCOUNT.&lt;/P&gt;&lt;P&gt;      L_TABIX = L_TABIX + 1.&lt;/P&gt;&lt;P&gt;      LOOP AT POITEM.&lt;/P&gt;&lt;P&gt;        if POACCOUNT-PO_ITEM is initial.&lt;/P&gt;&lt;P&gt;          POACCOUNT-PO_ITEM = SY-TABIX.&lt;/P&gt;&lt;P&gt;        endif.&lt;/P&gt;&lt;P&gt;        if POACCOUNT-SERIAL_NO  is initial.&lt;/P&gt;&lt;P&gt;          POACCOUNT-SERIAL_NO = L_TABIX.&lt;/P&gt;&lt;P&gt;        endif.&lt;/P&gt;&lt;P&gt;        MODIFY POACCOUNT.&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;*MOD-004&lt;/P&gt;&lt;P&gt;    IF POCOND[] IS INITIAL and&lt;/P&gt;&lt;P&gt;       NOT TESTRUN IS INITIAL.&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;     SELECT SINGLE WAERS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;         INTO L_WAERS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;         FROM LFM1 WHERE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;         LIFNR = POHEADER-VENDOR&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;         AND EKORG = POHEADER-PURCH_ORG.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;     IF SY-SUBRC NE 0.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;       IF L_WAERS NE  poheader-currency.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;      LOOP AT POITEM.&lt;/P&gt;&lt;P&gt;        pocond-itm_number  = poitem-po_item.&lt;/P&gt;&lt;P&gt;        POCOND-COND_ST_NO  = SY-TABIX.&lt;/P&gt;&lt;P&gt;        POCOND-COND_COUNT  = SY-TABIX.&lt;/P&gt;&lt;P&gt;        pocond-cond_value  = poitem-net_price.&lt;/P&gt;&lt;P&gt;        pocond-cond_type   = 'PBXX'.&lt;/P&gt;&lt;P&gt;        POCOND-CHANGE_ID   = 'I'.&lt;/P&gt;&lt;P&gt;        if not pocond-currency is initial.&lt;/P&gt;&lt;P&gt;          pocond-currency    = l_waers.&lt;/P&gt;&lt;P&gt;        endif.&lt;/P&gt;&lt;P&gt;        POCONDHEADER-itm_number  = poitem-po_item.&lt;/P&gt;&lt;P&gt;        POCONDHEADER-COND_ST_NO  = SY-TABIX.&lt;/P&gt;&lt;P&gt;        POCONDHEADER-COND_COUNT  = SY-TABIX.&lt;/P&gt;&lt;P&gt;        pocondHEADER-cond_value  = poitem-net_price.&lt;/P&gt;&lt;P&gt;        pocondHEADER-cond_type   = 'PBXX'.&lt;/P&gt;&lt;P&gt;        POCONDHEADER-CHANGE_ID   = 'I'.&lt;/P&gt;&lt;P&gt;        if not pocond-currency is initial.&lt;/P&gt;&lt;P&gt;          pocondHEADER-currency    = l_waers.&lt;/P&gt;&lt;P&gt;        endif.&lt;/P&gt;&lt;P&gt;        APPEND: POCOND,POCONDHEADER.&lt;/P&gt;&lt;P&gt;        CLEAR: POCOND, POCONDHEADER.&lt;/P&gt;&lt;P&gt;      ENDLOOP.&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;    ENDIF.&lt;/P&gt;&lt;P&gt;*MOD-004&lt;/P&gt;&lt;P&gt;    IF POITEM[] IS INITIAL.&lt;/P&gt;&lt;P&gt;      POITEM-SHORT_TEXT = 'Simulation'(001).&lt;/P&gt;&lt;P&gt;      if poitem-plant is initial.&lt;/P&gt;&lt;P&gt;        clear: l_werks1.&lt;/P&gt;&lt;P&gt;        select single plant&lt;/P&gt;&lt;P&gt;        into l_werks1&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      from zpo_plantmapping&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        from zp2p_plantmaping&lt;/P&gt;&lt;P&gt;        where COMPANY_CODE = poheader-comp_code and&lt;/P&gt;&lt;UL&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;/UL&gt;&lt;P&gt;              LE           = poheader-le and&lt;/P&gt;&lt;P&gt;              MRC          = poheader-mrc and&lt;/P&gt;&lt;P&gt;              FSID         = poheader-fsid and&lt;/P&gt;&lt;P&gt;              FRMRC        = poheader-frmrc.&lt;/P&gt;&lt;P&gt;        IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;          poitem-plant = l_werks1.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      endif.&lt;/P&gt;&lt;P&gt;      if poitem-po_item is initial.&lt;/P&gt;&lt;P&gt;        POITEM-PO_ITEM = L_TABIX.&lt;/P&gt;&lt;P&gt;      endif.&lt;/P&gt;&lt;P&gt;      if poitem-plant is initial.&lt;/P&gt;&lt;P&gt;        poitem-plant = l_werks1.&lt;/P&gt;&lt;P&gt;      endif.&lt;/P&gt;&lt;P&gt;      if POITEM-MATL_GROUP is initial.&lt;/P&gt;&lt;P&gt;        POITEM-MATL_GROUP = '99'.&lt;/P&gt;&lt;P&gt;      endif.&lt;/P&gt;&lt;P&gt;      if  POITEM-QUANTITY is initial.&lt;/P&gt;&lt;P&gt;        POITEM-QUANTITY = '1'.&lt;/P&gt;&lt;P&gt;      endif.&lt;/P&gt;&lt;P&gt;      if POITEM-PO_UNIT is initial.&lt;/P&gt;&lt;P&gt;        POITEM-PO_UNIT = 'EA'.&lt;/P&gt;&lt;P&gt;      endif.&lt;/P&gt;&lt;P&gt;      if POITEM-ORDERPR_UN is initial.&lt;/P&gt;&lt;P&gt;        POITEM-ORDERPR_UN = 'EA'.&lt;/P&gt;&lt;P&gt;      endif.&lt;/P&gt;&lt;P&gt;      if POITEM-NET_PRICE is initial.&lt;/P&gt;&lt;P&gt;        POITEM-NET_PRICE = '1.00'.&lt;/P&gt;&lt;P&gt;      endif.&lt;/P&gt;&lt;P&gt;      if POITEM-PRICE_UNIT is initial.&lt;/P&gt;&lt;P&gt;        POITEM-PRICE_UNIT = '1.00'.&lt;/P&gt;&lt;P&gt;      endif.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     if POITEM-DISTRIB is initial.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       POITEM-DISTRIB = ' '.&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 POITEM-PART_INV is initial.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       POITEM-PART_INV = ' '.&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-004&lt;/P&gt;&lt;P&gt;      if POITEM-GR_IND = C_Y..&lt;/P&gt;&lt;P&gt;        POITEM-GR_IND = C_X.&lt;/P&gt;&lt;P&gt;      ELSEIF POITEM-GR_IND = C_X.&lt;/P&gt;&lt;P&gt;        POITEM-GR_IND = C_X.&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;        POITEM-GR_IND = ' '.&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;**MOD-004&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     if POITEM-GR_IND is initial or&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        POITEM-GR_IND = c_y.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        POITEM-GR_IND = c_x.&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-GR_IND = ' '.&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-004&lt;/P&gt;&lt;P&gt;      if POITEM-IR_IND  is initial.&lt;/P&gt;&lt;P&gt;        POITEM-IR_IND = 'X'.&lt;/P&gt;&lt;P&gt;      endif.&lt;/P&gt;&lt;P&gt;      if POITEM-INCOTERMS1 is initial.&lt;/P&gt;&lt;P&gt;        POITEM-INCOTERMS1 = 'CIF'.&lt;/P&gt;&lt;P&gt;      endif.&lt;/P&gt;&lt;P&gt;      if POITEM-INCOTERMS2  is initial.&lt;/P&gt;&lt;P&gt;        POITEM-INCOTERMS2 = 'CIF'.&lt;/P&gt;&lt;P&gt;      endif.&lt;/P&gt;&lt;P&gt;      if POITEM-PREQ_ITEM is initial.&lt;/P&gt;&lt;P&gt;        POITEM-PREQ_ITEM  = '123456'.&lt;/P&gt;&lt;P&gt;      endif.&lt;/P&gt;&lt;P&gt;      APPEND POITEM.&lt;/P&gt;&lt;P&gt;      CLEAR: POITEM.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     if POACCOUNT-PO_ITEM is initial.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       POACCOUNT-PO_ITEM = SY-TABIX.&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 POACCOUNT-SERIAL_NO  is initial.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       POACCOUNT-SERIAL_NO = L_TABIX.&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;     MODIFY POACCOUNT.&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; ENDLOOP.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&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;    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;      READ TABLE t_yreturn WITH KEY type = 'W'.&lt;/P&gt;&lt;P&gt;      IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;        EXPHEADER = POHEADER.&lt;/P&gt;&lt;P&gt;        EXPHEADER-CODE = '99'.&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;        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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      INSERT ZERRORS FROM TABLE T_ERRORS.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        INSERT ZP2P_ERRORS FROM TABLE T_ERRORS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**MOD-005&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;On Error, exit the function module&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       l_exit = 0.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       LOOP AT RETURN WHERE TYPE = C_E.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         L_EXIT = 1.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         EXPHEADER = POHEADER.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         EXPHEADER-CODE = '99'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         RETURN-RETURN_CODE = C_99.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         RETURN-SEQ_CODE    = C_99.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         MODIFY RETURN TRANSPORTING RETURN_CODE SEQ_CODE.&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;       IF L_EXIT = 1.&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;**MOD-005&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;    PERFORM GET_INCOTERMS_LINE_ITEM  tables   poitem&lt;/P&gt;&lt;P&gt;                                   using    poheader.&lt;/P&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;  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;&lt;/P&gt;&lt;P&gt;****BV-27-May-2004 - End of Changes for SCR2****&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*sraman2 10/14/04&lt;/P&gt;&lt;P&gt;  IF POHEADER-PO_NUMBER(3) = C_PCO.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   DATA: l_serial_no LIKE poaccount-serial_no.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    loop at POACCOUNT.&lt;/P&gt;&lt;P&gt;      ADD 1 TO l_serial_no.&lt;/P&gt;&lt;P&gt;      POACCOUNT-SERIAL_NO = l_serial_no.&lt;/P&gt;&lt;P&gt;      modify POACCOUNT.&lt;/P&gt;&lt;P&gt;    endloop.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;*sraman2 10/14/04&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SORT POACCOUNT BY PO_ITEM.&lt;/P&gt;&lt;P&gt;  LOOP AT POACCOUNT.&lt;/P&gt;&lt;P&gt;    check poheader-quotation+0(2) ne 'CR' and&lt;/P&gt;&lt;P&gt;    poheader-quotation+0(2) ne 'UT'.&lt;/P&gt;&lt;P&gt;    IF NOT POACCOUNT-WBS_ELEMENT IS INITIAL. "line item posting to&lt;/P&gt;&lt;P&gt;      "WBS element&lt;/P&gt;&lt;P&gt;      CLEAR L_MSGV1.&lt;/P&gt;&lt;P&gt;      L_MSGV1 = POACCOUNT-PO_ITEM.&lt;/P&gt;&lt;UL&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;    Line Item NOT eligible for PCARD&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_I  "I&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;               CL     = C_MSGID_Z001                       "Z001&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;               NUMBER = C_MSGNR_038  "038&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;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;*mod-004&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-type       = return-type.&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 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;      clear: l_wa_zerrors.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      IF NOT POACCOUNT-COSTCENTER IS INITIAL.&lt;/P&gt;&lt;P&gt;        "line item posting to cost center.&lt;/P&gt;&lt;P&gt;        READ TABLE POITEM WITH KEY PO_ITEM = POACCOUNT-PO_ITEM.&lt;/P&gt;&lt;P&gt;        IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;          IF NOT POITEM-DISTRIB IS INITIAL.&lt;/P&gt;&lt;P&gt;            CLEAR L_MSGV1.&lt;/P&gt;&lt;P&gt;            L_MSGV1 = POACCOUNT-PO_ITEM.&lt;/P&gt;&lt;P&gt;*Mod-004&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          Line Item NOT eligible for PCARD&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_I  "I&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                     CL     = C_MSGID_Z001                 "Z001&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                     NUMBER = C_MSGNR_038  "038&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;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;*mod-004&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        = return-id.&lt;/P&gt;&lt;P&gt;              l_wa_zerrors-type       = return-type.&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 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;          ELSE.     "line item does NOT contain split accounting&lt;/P&gt;&lt;P&gt;            CLEAR L_MSGV1.&lt;/P&gt;&lt;P&gt;            L_MSGV1 = POACCOUNT-PO_ITEM.&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;          Line Item Eligible for PCARD&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_I  "I&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                     CL     = C_MSGID_Z001                 "Z001&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                     NUMBER = C_MSGNR_039  "039&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;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;*MOD-004&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        = return-id.&lt;/P&gt;&lt;P&gt;              l_wa_zerrors-type       = return-type.&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 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.&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;To convert WBS Element from External format to Internal Format.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  LOOP AT POACCOUNT WHERE NOT WBS_ELEMENT IS INITIAL.&lt;/P&gt;&lt;P&gt;    CLEAR : L_WBS_EXTERNAL,&lt;/P&gt;&lt;P&gt;            L_WBS_INTERNAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    L_WBS_EXTERNAL = POACCOUNT-WBS_ELEMENT.&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'CONVERSION_EXIT_ABPSN_INPUT'&lt;/P&gt;&lt;P&gt;         EXPORTING&lt;/P&gt;&lt;P&gt;              INPUT  = L_WBS_EXTERNAL&lt;/P&gt;&lt;P&gt;         IMPORTING&lt;/P&gt;&lt;P&gt;              OUTPUT = L_WBS_INTERNAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    POACCOUNT-WBS_ELEMENT = L_WBS_INTERNAL.&lt;/P&gt;&lt;P&gt;*sraman2 06/23/04&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   MODIFY POACCOUNT INDEX SY-TABIX TRANSPORTING WBS_ELEMENT.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    MODIFY POACCOUNT.&lt;/P&gt;&lt;P&gt;*sraman2 06/23/04&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;*Rounding off to 100 percent.&lt;/P&gt;&lt;P&gt;  SORT POACCOUNT BY PO_ITEM DISTR_PERC.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*MOD-003&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;&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_X.   " 'X'&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_X.     " 'X'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     ADD g_distr_perc TO POACCOUNT-DISTR_PERC.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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;*MOD-003&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;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      = POHEADER-COMP_CODE&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;&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;&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_VEND_ACTGRP.      "ZRP_VEND_ACTGRP&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_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 = 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 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-type       = return-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 = 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 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;**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      = POHEADER-COMP_CODE&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;&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_VEND_PAYTRM.      "ZRP_VEND_PAYTRM&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_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 = 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-type       = return-type.&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 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;**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      = POHEADER-COMP_CODE&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;    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   = 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_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 = 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 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-type       = return-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 = 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 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;***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 POHEADER-VENDOR IS INITIAL.&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;    IF L_LENGTH &amp;lt; 10.&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;*To replace first character with 1.&lt;/P&gt;&lt;P&gt;      MOVE '1' TO POHEADER-VENDOR(1).&lt;/P&gt;&lt;P&gt;    ELSE.       "Vendor is 10 char in length&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 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        = return-id.&lt;/P&gt;&lt;P&gt;        l_wa_zerrors-type       = return-type.&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 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.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF TESTRUN IS INITIAL.&lt;/P&gt;&lt;P&gt;    SELECT SINGLE * FROM LFA1 WHERE&lt;/P&gt;&lt;P&gt;      LIFNR = POHEADER-VENDOR.&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;      IF POADDRVENDOR-NAME IS INITIAL.&lt;/P&gt;&lt;P&gt;        MOVE C_ARIBAVENDOR TO POADDRVENDOR-NAME. " 'ARIBA VENDOR'&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      W_LFA1-LIFNR = POHEADER-VENDOR.&lt;/P&gt;&lt;P&gt;      W_LFA1-NAME1 = POADDRVENDOR-NAME.&lt;/P&gt;&lt;P&gt;      W_LFA1-MCOD1 = POADDRVENDOR-NAME.&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 = POHEADER-VENDOR.&lt;/P&gt;&lt;P&gt;      W_LFB1-BUKRS = POHEADER-COMP_CODE.&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 = POHEADER-VENDOR.&lt;/P&gt;&lt;P&gt;      W_LFM1-EKORG = POHEADER-PURCH_ORG.&lt;/P&gt;&lt;P&gt;      W_LFM1-WAERS = POHEADER-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;      IF POADDRVENDOR-NAME IS INITIAL.&lt;/P&gt;&lt;P&gt;        MOVE C_ARIBAVENDOR TO POADDRVENDOR-NAME. " 'ARIBA VENDOR'&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      W_LFA1-LIFNR = POHEADER-VENDOR.&lt;/P&gt;&lt;P&gt;      W_LFA1-NAME1 = POADDRVENDOR-NAME.&lt;/P&gt;&lt;P&gt;      W_LFA1-MCOD1 = POADDRVENDOR-NAME.&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 = POHEADER-VENDOR&lt;/P&gt;&lt;P&gt;            AND BUKRS = POHEADER-COMP_CODE.&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC NE 0.&lt;/P&gt;&lt;P&gt;        W_LFB1-LIFNR     = POHEADER-VENDOR.&lt;/P&gt;&lt;P&gt;        W_LFB1-BUKRS     = POHEADER-COMP_CODE.&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 = POHEADER-VENDOR&lt;/P&gt;&lt;P&gt;          AND EKORG = POHEADER-PURCH_ORG.&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC NE 0.&lt;/P&gt;&lt;P&gt;        W_LFM1-LIFNR     = POHEADER-VENDOR.&lt;/P&gt;&lt;P&gt;        W_LFM1-EKORG     = POHEADER-PURCH_ORG.&lt;/P&gt;&lt;P&gt;        W_LFM1-WAERS     = POHEADER-CURRENCY.&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     CALL FUNCTION 'Z_VENDOR_INSERT'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          EXPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;               I_LFA1  = W_LFA1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;               I_LFB1  = W_LFB1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;               I_LFM1  = W_LFM1&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_XLFAS = T_XLFAS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;               T_XLFB5 = T_XLFB5&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;               T_XLFBK = T_XLFBK&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;               T_XLFZA = T_XLFZA&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;               ZRETURN = T_ZRETURN.&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 Vendor create fails or the transaction commit fails, populate the&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;the Return structure and exit the program&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;     READ TABLE T_ZRETURN WITH KEY TYPE = C_E.   " 'E'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       APPEND LINES OF T_ZRETURN TO RETURN.&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;       CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'&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;                 WAIT   = C_X  " 'X'&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;       IF RETURN-TYPE = C_E.   " 'E'&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;         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;         CLEAR RETURN.&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;    ELSE.&lt;/P&gt;&lt;P&gt;*M0D-003&lt;/P&gt;&lt;P&gt;      SELECT SINGLE * FROM LFA1 WHERE&lt;/P&gt;&lt;P&gt;      LIFNR = POHEADER-VENDOR.&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;        SELECT SINGLE * FROM LFB1 WHERE&lt;/P&gt;&lt;P&gt;                  LIFNR = POHEADER-VENDOR&lt;/P&gt;&lt;P&gt;              AND BUKRS = POHEADER-COMP_CODE.&lt;/P&gt;&lt;P&gt;        IF SY-SUBRC NE 0.&lt;/P&gt;&lt;P&gt;          SELECT SINGLE * FROM LFM1 WHERE&lt;/P&gt;&lt;P&gt;                 LIFNR = POHEADER-VENDOR AND&lt;/P&gt;&lt;P&gt;                 EKORG = POHEADER-PURCH_ORG.&lt;/P&gt;&lt;P&gt;          IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;            POHEADER-INCOTERMS1 = LFM1-INCO1.&lt;/P&gt;&lt;P&gt;            POHEADER-INCOTERMS2 = LFM1-INCO2.&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;*MOD-003&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 PCO Order, populate the PO and accounting data into a Z table .&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF POHEADER-PO_NUMBER(3) = C_PCO.  " 'PCO'&lt;/P&gt;&lt;P&gt;      PERFORM POPULATE_NONPO_DOCUMENT   TABLES POITEM&lt;/P&gt;&lt;P&gt;                                               RETURN&lt;/P&gt;&lt;P&gt;                                               POTEXTHEADER&lt;/P&gt;&lt;P&gt;                                        USING  POHEADER-PO_NUMBER&lt;/P&gt;&lt;P&gt;                                               POHEADER.&lt;/P&gt;&lt;P&gt;      PERFORM POPULATE_NONPO_ACCOUNTING TABLES POACCOUNT&lt;/P&gt;&lt;P&gt;                                               RETURN&lt;/P&gt;&lt;P&gt;                                        USING  POHEADER.&lt;/P&gt;&lt;P&gt;      PERFORM UPDATE_NONPODOCUMENT.&lt;/P&gt;&lt;P&gt;      LOOP AT T_RETURN.&lt;/P&gt;&lt;P&gt;        MOVE: T_RETURN-TYPE    TO RETURN-TYPE,&lt;/P&gt;&lt;P&gt;              T_RETURN-ID      TO RETURN-ID,&lt;/P&gt;&lt;P&gt;              T_RETURN-NUMBER  TO RETURN-NUMBER,&lt;/P&gt;&lt;P&gt;              T_RETURN-MESSAGE TO RETURN-MESSAGE.&lt;/P&gt;&lt;P&gt;        APPEND RETURN.&lt;/P&gt;&lt;P&gt;        CLEAR  RETURN.&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;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Move RETURN table messages to temp return table.&lt;/P&gt;&lt;P&gt;  REFRESH T_TEMPRETURN.&lt;/P&gt;&lt;P&gt;  APPEND LINES OF RETURN TO T_TEMPRETURN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*PVU-22-May-2004 - Start Changes for SCR1&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;**Populate the change indicator structures before calling&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;BAPI_PO_CREATE1&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;**so that IDOC can be populated with this data&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; IF NOT POHEADERX IS INITIAL.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   G_W_HDRX_TMP = POHEADERX.&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 POITEMX[] IS INITIAL.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   G_T_ITEMX_TMP[] = POITEMX[].&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 POSCHEDULEX[] IS INITIAL.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   G_T_SCHDX_TMP[] = POSCHEDULEX[].&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; IF NOT POSCHEDULE[] IS INITIAL.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   G_T_SCHD_TMP[] = POSCHEDULE[].&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-03&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; IF NOT POACCOUNTX[] IS INITIAL.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   G_T_ACCNTX_TMP[] = POACCOUNTX[].&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 POCONDX[] IS INITIAL.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   G_T_CONDX_TMP[] = POCONDX[].&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;*PVU-22-May-2004 - End Changes for SCR1&lt;/P&gt;&lt;P&gt;*sraman2 06/07/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 TRANSPORTING matl_group.&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/07/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;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;LI level="1" type="ul"&gt;&lt;P&gt;   IF POITEM-PRICE_UNIT 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;*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;P&gt;  if testrun is initial.&lt;/P&gt;&lt;P&gt;    PERFORM GET_INCOTERMS_LINE_ITEM  tables   poitem&lt;/P&gt;&lt;P&gt;                                   using    poheader.&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;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*MOD-004&lt;/P&gt;&lt;P&gt;  LOOP AT POITEM.&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 SY-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-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 = 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;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;        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;          READ TABLE t_yreturn WITH KEY type = 'E'.&lt;/P&gt;&lt;P&gt;          IF sy-subrc = 0.&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;            DELETE T_ERRORS WHERE TYPE NE C_E.&lt;/P&gt;&lt;P&gt;            DELETE T_ERRORS WHERE TYPE IS INITIAL.&lt;/P&gt;&lt;P&gt;            INSERT ZP2P_ERRORS FROM TABLE T_ERRORS.&lt;/P&gt;&lt;P&gt;**MOD-005&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;On Error, exit the function module&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           l_exit = 0.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           LOOP AT RETURN WHERE TYPE = C_E.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             L_EXIT = 1.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             EXPHEADER = POHEADER.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             EXPHEADER-CODE = '99'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             RETURN-RETURN_CODE = C_99.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             RETURN-SEQ_CODE    = C_99.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             MODIFY RETURN TRANSPORTING RETURN_CODE SEQ_CODE.&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;           IF L_EXIT = 1.&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;**MOD-005&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          INSERT ZERRORS FROM TABLE T_ERRORS.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;**MOD-004&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           L_RETURN = ' '.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           LOOP AT RETURN WHERE TYPE = C_E.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             RETURN-RETURN_CODE = '99'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             L_RETURN = C_X.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             MODIFY RETURN TRANSPORTING RETURN_CODE.&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;           IF L_RETURN = C_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;/UL&gt;&lt;P&gt;**MOD-004&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           EXPHEADER = POHEADER.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           EXPHEADER-CODE = '99'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*MOD-004&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;P&gt;  ENDLOOP.&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;    READ TABLE t_yreturn WITH KEY type = 'E'.&lt;/P&gt;&lt;P&gt;    IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;**MOD-005&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;On Error, exit the function module&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     l_exit = 0.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     LOOP AT RETURN WHERE TYPE = C_E.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       L_EXIT = 1.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       EXPHEADER = POHEADER.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       EXPHEADER-CODE = '99'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       RETURN-RETURN_CODE = C_99.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       RETURN-SEQ_CODE    = C_99.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       MODIFY RETURN TRANSPORTING RETURN_CODE SEQ_CODE.&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;     IF L_EXIT = 1.&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;**MOD-005&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*MOD-005&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     EXPHEADER = POHEADER.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     EXPHEADER-CODE = '99'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*MOD-005&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;*MOD-004&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_CREATE1&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;*MOD-003&lt;/P&gt;&lt;P&gt;  IF NOT POSCHEDULE[] IS INITIAL.&lt;/P&gt;&lt;P&gt;    G_T_SCHD_TMP[] = POSCHEDULE[].&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;*MOD-03&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;*MOD-004&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT poitem.&lt;/P&gt;&lt;P&gt;    IF NOT poitem-delete_ind IS INITIAL.   "delete ind marked.&lt;/P&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;      CASE POITEM-DELETE_IND.&lt;/P&gt;&lt;P&gt;        WHEN 'A'.&lt;/P&gt;&lt;P&gt;          POITEM-DELETE_IND  =  ' '.&lt;/P&gt;&lt;P&gt;        WHEN 'C'.&lt;/P&gt;&lt;P&gt;          POITEM-DELETE_IND =  ' '.&lt;/P&gt;&lt;P&gt;        WHEN 'D'.&lt;/P&gt;&lt;P&gt;          POITEM-DELETE_IND =  'D'.&lt;/P&gt;&lt;P&gt;          CLEAR poitem-final_inv.&lt;/P&gt;&lt;P&gt;        WHEN 'X'.&lt;/P&gt;&lt;P&gt;          POITEM-DELETE_IND =  'D'.&lt;/P&gt;&lt;P&gt;          CLEAR poitem-final_inv.&lt;/P&gt;&lt;P&gt;      ENDCASE.&lt;/P&gt;&lt;P&gt;&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;&lt;/P&gt;&lt;P&gt;*MOD-004&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Call PO Create BAPI.&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'BAPI_PO_CREATE1'&lt;/P&gt;&lt;P&gt;    EXPORTING&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;      EXPPURCHASEORDER       = EXPPURCHASEORDER&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;P&gt;  sort return by TYPE&lt;/P&gt;&lt;P&gt;                 ID&lt;/P&gt;&lt;P&gt;                 NUMBER&lt;/P&gt;&lt;P&gt;                 MESSAGE&lt;/P&gt;&lt;P&gt;                 LOG_NO&lt;/P&gt;&lt;P&gt;                 LOG_MSG_NO&lt;/P&gt;&lt;P&gt;                 MESSAGE_V1&lt;/P&gt;&lt;P&gt;                 MESSAGE_V2&lt;/P&gt;&lt;P&gt;                 MESSAGE_V3&lt;/P&gt;&lt;P&gt;                 MESSAGE_V4&lt;/P&gt;&lt;P&gt;                 PARAMETER&lt;/P&gt;&lt;P&gt;                 ROW&lt;/P&gt;&lt;P&gt;                 FIELD&lt;/P&gt;&lt;P&gt;                 SYSTEM.&lt;/P&gt;&lt;P&gt;  delete adjacent duplicates from RETURN&lt;/P&gt;&lt;P&gt;          comparing  TYPE&lt;/P&gt;&lt;P&gt;                     ID&lt;/P&gt;&lt;P&gt;                     NUMBER&lt;/P&gt;&lt;P&gt;                     MESSAGE&lt;/P&gt;&lt;P&gt;                     LOG_NO&lt;/P&gt;&lt;P&gt;                     LOG_MSG_NO&lt;/P&gt;&lt;P&gt;                     MESSAGE_V1&lt;/P&gt;&lt;P&gt;                     MESSAGE_V2&lt;/P&gt;&lt;P&gt;                     MESSAGE_V3&lt;/P&gt;&lt;P&gt;                     MESSAGE_V4&lt;/P&gt;&lt;P&gt;                     PARAMETER&lt;/P&gt;&lt;P&gt;                     ROW&lt;/P&gt;&lt;P&gt;                     FIELD&lt;/P&gt;&lt;P&gt;                     SYSTEM.&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-type       = return-type.&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 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;*append temp return table to RETURN table.&lt;/P&gt;&lt;P&gt;  APPEND LINES OF T_TEMPRETURN TO RETURN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  READ TABLE RETURN WITH KEY TYPE = C_E.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC = 0 .&lt;/P&gt;&lt;P&gt;    EXPHEADER-CODE = C_99.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    EXPHEADER-CODE = C_00.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**MOD-005&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;On Error, exit the function module&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; l_exit = 0.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; LOOP AT RETURN WHERE TYPE = C_E.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   L_EXIT = 1.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   EXPHEADER = POHEADER.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   EXPHEADER-CODE = C_99.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   RETURN-RETURN_CODE = C_99.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   RETURN-SEQ_CODE    = C_99.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   MODIFY RETURN TRANSPORTING RETURN_CODE SEQ_CODE.&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; IF L_EXIT = 1.&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;**MOD-005&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF TESTRUN IS INITIAL AND&lt;/P&gt;&lt;P&gt;    NOT EXPPURCHASEORDER IS INITIAL.&lt;/P&gt;&lt;P&gt;*sraman2 6/25/04&lt;/P&gt;&lt;P&gt;*This check for 'E' is not necessary.&lt;/P&gt;&lt;P&gt;*This is causing order creation issues&lt;/P&gt;&lt;P&gt;*for some scenarios&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   READ TABLE RETURN WITH KEY TYPE = C_E.    "E&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;/UL&gt;&lt;P&gt;    CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.&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;  ELSE.&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.&lt;/P&gt;&lt;P&gt;*PVU-22-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;   IF TESTRUN IS INITIAL.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     PERFORM IDOC_CREATE&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;                    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&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                    C_FLG_POCREATE               "CREA&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                    EXPPURCHASEORDER&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;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;*PVU-22-May-2004 - End Changes for SCR1&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;*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;  READ TABLE RETURN WITH KEY ID = SPACE&lt;/P&gt;&lt;P&gt;                           NUMBER = C_MSGNR_000.   "000&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; DATA: L_SERIAL TYPE I.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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;  DELETE T_ERRORS WHERE TYPE NE C_E.&lt;/P&gt;&lt;P&gt;  DELETE T_ERRORS WHERE TYPE IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; INSERT ZERRORS FROM TABLE T_ERRORS.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; DELETE FROM ZERRORS WHERE TYPE NE C_E.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT T_ERRORS IS INITIAL.&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;  DELETE FROM ZP2P_ERRORS WHERE TYPE NE C_E.&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  INCLUDE LZZ_M3_PURCHASEORDER02F02                                  *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;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;P&gt;    t_znonpo_acctg-ex_pro_no        = p_poaccount-unload_pt.       "@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;    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;P&gt;  SELECT * FROM zmessages INTO TABLE t_messages.&lt;/P&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;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              = l_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;              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;P&gt;                  l_ex_acc_no = t_poaccount-gl_account.      "@SDR&lt;/P&gt;&lt;P&gt;                  CALL FUNCTION 'Z_GLACCT_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_ACC_NO            = l_ex_acc_no     "@SDR&lt;/P&gt;&lt;P&gt;                   IMPORTING                                 "@SDR&lt;/P&gt;&lt;P&gt;                    P_GLACCT               =                 "@SDR&lt;/P&gt;&lt;P&gt;                                     t_poaccount-gl_account  "@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 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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          Check for external GL accounts starting with P164, P165 or&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          P169 and Reference is blank or starts with 4 zeros&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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;              cost_center = 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_PLANT&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_PLANT 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_404&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_PLANT&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_POHEA&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 01 Jul 2008 07:40:14 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2008-07-01T07:40:14Z</dc:date>
    <item>
      <title>Create PO with reference to PR</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/create-po-with-reference-to-pr/m-p/4107553#M982242</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi experts,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I want to create a PO with reference to PR my version is 4.7ee so i am using BAPI_PO_CREATE . Here the item bapi is BAPIEKPOC which dosent have Purchase requsition no and item details....and also where we can use BAPIEKPO ?? can we use in BAPI_PO_CREATE? &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;at selection sceen i ll give old PO no and that PO number have some ref PR so i have created new PR in desired plant a new PR is created so now i hv to create new PO with ref to new PR which i was created.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;How can we do using BAPI_PO_CREATE? any body  have sample code for this plz let me know... and also in this bapi it is using BAPIEKPOC which dosent have Purchase requistion parameters  ... so where can we use BAPIEKPO??&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Its an urgent...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;points will be rewarded&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;regards,&lt;/P&gt;&lt;P&gt;sunil kairam.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 28 Jun 2008 14:01:06 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/create-po-with-reference-to-pr/m-p/4107553#M982242</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-06-28T14:01:06Z</dc:date>
    </item>
    <item>
      <title>Re: Create PO with reference to PR</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/create-po-with-reference-to-pr/m-p/4107554#M982243</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I guess, Reference to the PR should be in the header level. Did you try checking it.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 28 Jun 2008 14:21:49 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/create-po-with-reference-to-pr/m-p/4107554#M982243</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-06-28T14:21:49Z</dc:date>
    </item>
    <item>
      <title>Re: Create PO with reference to PR</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/create-po-with-reference-to-pr/m-p/4107555#M982244</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi riki,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;thanx for your early reply... but in BAPIEKKOC there is no option for PR. we have to give PR in line item.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;sunil kairam&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 28 Jun 2008 14:27:40 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/create-po-with-reference-to-pr/m-p/4107555#M982244</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-06-28T14:27:40Z</dc:date>
    </item>
    <item>
      <title>Re: Create PO with reference to PR</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/create-po-with-reference-to-pr/m-p/4107556#M982245</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Checko thos for reference:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Author: Aveek Ghose&lt;/P&gt;&lt;P&gt;Submitted: 05/06/2007&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Related Links:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This function module is called during PR Creation in Ariba ( at&lt;/P&gt;&lt;P&gt;checkpoint1, checkpoint2 and checkpoint3) and also during posting of&lt;/P&gt;&lt;P&gt;PO in SAP. The call to this function module is from WebMethods.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FUNCTION Z_BC1_BAPI_PO_CREATE02.&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(POHEADER) LIKE  BAPIMEPOHEADER STRUCTURE  BAPIMEPOHEADER&lt;/P&gt;&lt;P&gt;*"     VALUE(POHEADERX) LIKE  BAPIMEPOHEADERX STRUCTURE&lt;/P&gt;&lt;P&gt;*"        BAPIMEPOHEADERX OPTIONAL&lt;/P&gt;&lt;P&gt;*"     VALUE(POADDRVENDOR) LIKE  BAPIMEPOADDRVENDOR STRUCTURE&lt;/P&gt;&lt;P&gt;*"        BAPIMEPOADDRVENDOR OPTIONAL&lt;/P&gt;&lt;P&gt;*"     VALUE(TESTRUN) LIKE  BAPIFLAG-BAPIFLAG OPTIONAL&lt;/P&gt;&lt;P&gt;*"     VALUE(MEMORY_UNCOMPLETE) LIKE  BAPIFLAG-BAPIFLAG OPTIONAL&lt;/P&gt;&lt;P&gt;*"     VALUE(MEMORY_COMPLETE) LIKE  BAPIFLAG-BAPIFLAG OPTIONAL&lt;/P&gt;&lt;P&gt;*"     VALUE(POEXPIMPHEADER) LIKE  ZBAPIEIKP STRUCTURE  ZBAPIEIKP&lt;/P&gt;&lt;P&gt;*"       OPTIONAL&lt;/P&gt;&lt;P&gt;*"     VALUE(POEXPIMPHEADERX) LIKE  ZBAPIEIKPX STRUCTURE  ZBAPIEIKPX&lt;/P&gt;&lt;P&gt;*"       OPTIONAL&lt;/P&gt;&lt;P&gt;*"     VALUE(VERSIONS) LIKE  ZBAPIMEDCM STRUCTURE  ZBAPIMEDCM OPTIONAL&lt;/P&gt;&lt;P&gt;*"     VALUE(NO_MESSAGING) LIKE  BAPIFLAG-BAPIFLAG OPTIONAL&lt;/P&gt;&lt;P&gt;*"     VALUE(NO_MESSAGE_REQ) LIKE  BAPIFLAG-BAPIFLAG OPTIONAL&lt;/P&gt;&lt;P&gt;*"     VALUE(NO_AUTHORITY) LIKE  BAPIFLAG-BAPIFLAG OPTIONAL&lt;/P&gt;&lt;P&gt;*"     VALUE(NO_PRICE_FROM_PO) LIKE  BAPIFLAG-BAPIFLAG OPTIONAL&lt;/P&gt;&lt;P&gt;*"  EXPORTING&lt;/P&gt;&lt;P&gt;*"     VALUE(EXPPURCHASEORDER) LIKE  BAPIMEPOHEADER-PO_NUMBER&lt;/P&gt;&lt;P&gt;*"     VALUE(EXPHEADER) LIKE  BAPIMEPOHEADER STRUCTURE  BAPIMEPOHEADER&lt;/P&gt;&lt;P&gt;*"     VALUE(EXPPOEXPIMPHEADER) LIKE  ZBAPIEIKP STRUCTURE  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 OPTIONAL&lt;/P&gt;&lt;P&gt;*"      POITEMX STRUCTURE  BAPIMEPOITEMX OPTIONAL&lt;/P&gt;&lt;P&gt;*"      POADDRDELIVERY STRUCTURE  BAPIMEPOADDRDELIVERY OPTIONAL&lt;/P&gt;&lt;P&gt;*"      POSCHEDULE STRUCTURE  BAPIMEPOSCHEDULE OPTIONAL&lt;/P&gt;&lt;P&gt;*"      POSCHEDULEX STRUCTURE  BAPIMEPOSCHEDULX OPTIONAL&lt;/P&gt;&lt;P&gt;*"      POACCOUNT STRUCTURE  BAPIMEPOACCOUNT OPTIONAL&lt;/P&gt;&lt;P&gt;*"      POACCOUNTPROFITSEGMENT STRUCTURE  BAPIMEPOACCOUNTPROFITSEGMENT&lt;/P&gt;&lt;P&gt;*"       OPTIONAL&lt;/P&gt;&lt;P&gt;*"      POACCOUNTX STRUCTURE  BAPIMEPOACCOUNTX OPTIONAL&lt;/P&gt;&lt;P&gt;*"      POCONDHEADER STRUCTURE  BAPIMEPOCOND OPTIONAL&lt;/P&gt;&lt;P&gt;*"      POCONDHEADERX STRUCTURE  BAPIMEPOCONDX OPTIONAL&lt;/P&gt;&lt;P&gt;*"      POCOND STRUCTURE  BAPIMEPOCOND OPTIONAL&lt;/P&gt;&lt;P&gt;*"      POCONDX STRUCTURE  BAPIMEPOCONDX OPTIONAL&lt;/P&gt;&lt;P&gt;*"      POLIMITS STRUCTURE  BAPIESUHC OPTIONAL&lt;/P&gt;&lt;P&gt;*"      POCONTRACTLIMITS STRUCTURE  BAPIESUCC OPTIONAL&lt;/P&gt;&lt;P&gt;*"      POSERVICES STRUCTURE  BAPIESLLC OPTIONAL&lt;/P&gt;&lt;P&gt;*"      POSRVACCESSVALUES STRUCTURE  BAPIESKLC OPTIONAL&lt;/P&gt;&lt;P&gt;*"      POSERVICESTEXT STRUCTURE  BAPIESLLTX OPTIONAL&lt;/P&gt;&lt;P&gt;*"      EXTENSIONIN STRUCTURE  BAPIPAREX OPTIONAL&lt;/P&gt;&lt;P&gt;*"      EXTENSIONOUT STRUCTURE  BAPIPAREX OPTIONAL&lt;/P&gt;&lt;P&gt;*"      POEXPIMPITEM STRUCTURE  ZBAPIEIPO OPTIONAL&lt;/P&gt;&lt;P&gt;*"      POEXPIMPITEMX STRUCTURE  ZBAPIEIPOX OPTIONAL&lt;/P&gt;&lt;P&gt;*"      POTEXTHEADER STRUCTURE  BAPIMEPOTEXT OPTIONAL&lt;/P&gt;&lt;P&gt;*"      POTEXTITEM STRUCTURE  BAPIMEPOTEXT OPTIONAL&lt;/P&gt;&lt;P&gt;*"      ALLVERSIONS STRUCTURE  ZBAPIMEDCM_ALLVERSIONS OPTIONAL&lt;/P&gt;&lt;P&gt;*"      POPARTNER STRUCTURE  BAPIEKKOP OPTIONAL&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Program   :    Z_BC1_BAPI_PO_CREATE01&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;TITLE          Function Module to create PO using BAPI&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;AUTHOR         Aveek Ghose, IBM&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;DATE WRITTEN   20-May-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;LI level="1" type="ul"&gt;&lt;P&gt;CTS:           RD1K912067&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 PR Creation in Ariba ( at&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;checkpoint1, checkpoint2 and checkpoint3) and also during posting of&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;PO in SAP. The call to this function module is from WebMethods.&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;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;       Local 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;&lt;/P&gt;&lt;P&gt;  CONSTANTS:   C_VENDOR TYPE ELIFN  VALUE '4259999999',&lt;/P&gt;&lt;P&gt;               C_DOC_TYPE TYPE ESART  VALUE 'ZAPS',&lt;/P&gt;&lt;P&gt;               C_CURRENCY TYPE WAERS  VALUE 'EUR',&lt;/P&gt;&lt;P&gt;               C_NETPR  TYPE NETPR  VALUE '1.00',&lt;/P&gt;&lt;P&gt;               C_99     TYPE CHAR2 VALUE '99',&lt;/P&gt;&lt;P&gt;               C_00     TYPE CHAR2 VALUE '00'.&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_LENGTH          TYPE I,        "Vendor string length.&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;  DATA: l_werks1 type werks_d.&lt;/P&gt;&lt;P&gt;  "WBS internal format&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;DATA: L_WA_TIMESTAMP TYPE ZPO_TIMESTAMP.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  DATA: L_WA_TIMESTAMP TYPE ZP2P_TIMESTAMP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: l_serial_no LIKE poaccount-serial_no.&lt;/P&gt;&lt;P&gt;  DATA: L_SERIAL TYPE I.&lt;/P&gt;&lt;P&gt;  DATA: L_RETURN  TYPE C.&lt;/P&gt;&lt;P&gt;  DATA: L_EXIT TYPE I.&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;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       Internal Table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA : T_TEMP_POACCOUNT LIKE POACCOUNT OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;                                          "To store items with blank GL&lt;/P&gt;&lt;P&gt;*PVU-22-May-2004 - Start 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_SCHD_TMP     LIKE POSCHEDULE    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;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;       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.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: p_constname TYPE  zconstname,  "Constant Name&lt;/P&gt;&lt;P&gt;        g_constval  TYPE  zconstval,   "Constant Value&lt;/P&gt;&lt;P&gt;        tbx         TYPE  SY-TABIX.&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;&lt;/P&gt;&lt;P&gt;*PVU-22-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;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;start of change for TPR2220 - DDUTTA - 07/08/2004&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            t_znonpo_document,&lt;/P&gt;&lt;P&gt;            t_znonpo_acctg,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;End of change for TPR2220 - DDUTTA - 07/08/2004&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*PVU-22-May-2004 - Start Changes for SCR1&lt;/P&gt;&lt;P&gt;            G_IDOC_NO,&lt;/P&gt;&lt;P&gt;            G_W_HDRX_TMP.&lt;/P&gt;&lt;P&gt;*PVU-22-May-2004 - End Changes for SCR1&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  REFRESH : RETURN, T_ZRETURN,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;start of change for TPR2220 - DDUTTA - 07/08/2004&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            t_znonpo_document,&lt;/P&gt;&lt;P&gt;            t_znonpo_acctg,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;End of change for TPR2220 - DDUTTA - 07/08/2004&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*PVU-22-May-2004 - Start Changes for SCR1&lt;/P&gt;&lt;P&gt;            G_T_IDOC_DATA,&lt;/P&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;*PVU-22-May-2004 - End Changes for SCR1&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Srini 17-May-2005 Start of changes&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Developer Flexibility to debug issues&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  p_constname = 'BAPI_PO_CREATE2'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  do.&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     = p_constname&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            comp_code      = poheader-comp_code&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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;    if g_constval ne 'X'.&lt;/P&gt;&lt;P&gt;      exit.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;  enddo.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Add of change: SDR: 12-Aug-2005&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; IF poheader-po_number IS INITIAL.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   poheader-doc_type = 'ZEHS'.&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;**********************************************************&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 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;  DELETE FROM ZP2P_ERRORS WHERE BEACON_DOC_NO = POHEADER-PO_NUMBER.&lt;/P&gt;&lt;P&gt;  DELETE FROM ZP2P_ERRORS WHERE TYPE NE C_E.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; DELETE FROM ZERRORS WHERE BEACON_DOC_NO = POHEADER-PO_NUMBER.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; DELETE FROM ZERRORS WHERE TYPE NE C_E.&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;  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          = '00'.&lt;/P&gt;&lt;P&gt;  l_wa_timestamp-CREATE_TIMESTMP = POHEADER-ARIBACRTTIMESTMP.&lt;/P&gt;&lt;P&gt;  l_wa_timestamp-CREATE_TIMESTMP = POHEADER-ARIBACHGTIMESTMP.&lt;/P&gt;&lt;P&gt;  insert into ZP2P_TIMESTAMP values l_wa_timestamp.&lt;/P&gt;&lt;P&gt;*MOD-004&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;*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;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;/UL&gt;&lt;P&gt;  if poheader-comp_code is initial.&lt;/P&gt;&lt;P&gt;    clear: l_bukrs.&lt;/P&gt;&lt;UL&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;P&gt;    select single companycode&lt;/P&gt;&lt;P&gt;    into l_bukrs&lt;/P&gt;&lt;P&gt;    from ZP2P_COMPANYCODE&lt;/P&gt;&lt;P&gt;    where FSID        = poheader-fsid and&lt;/P&gt;&lt;P&gt;          le          = poheader-le and&lt;/P&gt;&lt;P&gt;          frmrc       = poheader-frmrc.&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_MSGV1.&lt;/P&gt;&lt;P&gt;      L_MSGV1 = T_TEMP_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&lt;/P&gt;&lt;P&gt;                CL     = C_MSGID_Z001&lt;/P&gt;&lt;P&gt;                NUMBER = C_MSGNR_618&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;    else.&lt;/P&gt;&lt;P&gt;      poheader-comp_code = l_bukrs.&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;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;End of Change: SDR: 12-Aug-2005&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;Srini 10-May-2005 Start of changes&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Pass the value of SERIAL_NO from POACCOUNT to POACCOUNTX.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  LOOP AT POACCOUNTX.&lt;/P&gt;&lt;P&gt;    MOVE SY-TABIX to TBX.&lt;/P&gt;&lt;P&gt;    READ TABLE POACCOUNT INDEX TBX.&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC EQ 0 AND POACCOUNTX-SERIAL_NO IS INITIAL.&lt;/P&gt;&lt;P&gt;      POACCOUNTX-SERIAL_NO = POACCOUNT-SERIAL_NO.&lt;/P&gt;&lt;P&gt;      MODIFY POACCOUNTX INDEX TBX.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Srini 10-May-2005 End of changes&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Srini 17-May-2005 End of changes&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  T_TEMP_POACCOUNT[] = POACCOUNT[].&lt;/P&gt;&lt;P&gt;&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;/UL&gt;&lt;P&gt;  PERFORM FILTER_ITEMS TABLES T_TEMP_POACCOUNT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT T_TEMP_POACCOUNT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CLEAR L_MSGV1.&lt;/P&gt;&lt;P&gt;    L_MSGV1 = T_TEMP_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   = 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;&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-type       = return-type.&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 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;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&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 WITH KEY TYPE = C_E.  " 'E'&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;    EXPHEADER = POHEADER.&lt;/P&gt;&lt;P&gt;    EXPHEADER-CODE = '99'.&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;*MOD-005&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;On Error, exit the function module&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; l_exit = 0.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; LOOP AT RETURN WHERE TYPE = C_E.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   L_EXIT = 1.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   expheader      = poheader.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   EXPHEADER-CODE = C_99.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   RETURN-RETURN_CODE = C_99.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   RETURN-SEQ_CODE    = C_99.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   MODIFY RETURN TRANSPORTING RETURN_CODE SEQ_CODE.&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; IF L_EXIT = 1.&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;**MOD-005&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*MOD-005&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; L_RETURN = ' '..&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; LOOP AT RETURN WHERE TYPE = C_E.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   RETURN-RETURN_CODE = '99'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   L_RETURN = C_X.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   MODIFY RETURN TRANSPORTING RETURN_CODE.&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; IF L_RETURN = C_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;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;**MOD-004&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;Begin of Change: Soumya D Roy: 12/27/2005&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; Forcibly refresh the T_YRETURN table as a part of the conversion&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; program since this table is not getting refreshed&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  REFRESH t_yreturn.&lt;/P&gt;&lt;P&gt;  CLEAR   t_yreturn.&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;End of Change: Soumya D Roy: 12/27/2005&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;****BV-27-May-2004 - Begin of Changes for SCR2****&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  l_wa_timestamp-CHANGE_IND     = 'A'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    l_wa_timestamp-CREATE_TIMESTMP = POITEM-ARIBACRTTIMESTMP.&lt;/P&gt;&lt;P&gt;    l_wa_timestamp-CREATE_TIMESTMP = POITEM-ARIBAUPDTIMESTMP.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  l_wa_timestamp-DATE_TIME_STMP = POITEM-ARIBACRTTIMESTMP.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  insert into ZPO_TIMESTAMP values l_wa_timestamp.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    insert into ZP2P_TIMESTAMP values l_wa_timestamp.&lt;/P&gt;&lt;P&gt;&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-type       = t_yreturn-type.&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 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.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; if not poheader-currency is initial.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   if not poheader-vendor is initial.&lt;/P&gt;&lt;/LI&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;       SELECT SINGLE WAERS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       INTO L_WAERS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       FROM LFM1 WHERE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       LIFNR = POHEADER-VENDOR&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       AND EKORG = POHEADER-PURCH_ORG.&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;         IF L_WAERS NE  poheader-currency.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           pocond-cond_type = 'PBXX'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           pocond-currency    = l_waers.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           modify pocond transporting cond_value currency.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         endif.&lt;/P&gt;&lt;/LI&gt;&lt;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;     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;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 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;/UL&gt;&lt;P&gt;  IF POHEADER-PURCH_ORG IS INITIAL.&lt;/P&gt;&lt;P&gt;    SELECT SINGLE PUR_ORG&lt;/P&gt;&lt;P&gt;    INTO L_EKORG&lt;/P&gt;&lt;P&gt;    FROM ZP2P_PURCHASEORG&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  FROM ZPUR_ORG&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    WHERE LE    = POHEADER-LE AND&lt;/P&gt;&lt;P&gt;          FRMRC = POHEADER-FRMRC AND&lt;/P&gt;&lt;P&gt;          FSID  = POHEADER-FSID.&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 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-type       = return-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 = 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 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;    ELSE.&lt;/P&gt;&lt;P&gt;      POHEADER-PURCH_ORG = L_EKORG.&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 NOT POHEADER-PUR_GROUP IS INITIAL.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF 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_046&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 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-type       = return-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 = 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 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;    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;  LOOP AT poitem.&lt;/P&gt;&lt;P&gt;    if poitem-plant is initial.&lt;/P&gt;&lt;P&gt;      clear: l_werks1.&lt;/P&gt;&lt;P&gt;      select single plant&lt;/P&gt;&lt;P&gt;      into l_werks1&lt;/P&gt;&lt;P&gt;      from ZP2P_PLANTMAPING&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    from zpo_plantmapping&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      where COMPANY_CODE = poheader-comp_code and&lt;/P&gt;&lt;UL&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;/UL&gt;&lt;P&gt;            LE           = poheader-le and&lt;/P&gt;&lt;P&gt;            FSID         = poheader-fsid and&lt;/P&gt;&lt;P&gt;            MRC          = poheader-mrc and&lt;/P&gt;&lt;P&gt;            FRMRC        = poheader-frmrc.&lt;/P&gt;&lt;P&gt;      if sy-subrc ne 0.&lt;/P&gt;&lt;P&gt;        PERFORM ERROR_HANDLING_PLANT USING   POHEADER&lt;/P&gt;&lt;P&gt;                                             poheader-comp_code&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;        poitem-plant = l_werks1.&lt;/P&gt;&lt;P&gt;        CLEAR: L_WERKS1.&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 POITEM-NET_PRICE NE POHEADER-CURRENCY.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     POITEM-NET_PRICE = POHEADER-CURRENCY.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*mod-004&lt;/P&gt;&lt;P&gt;    IF POITEM-net_price NE 0.&lt;/P&gt;&lt;P&gt;      POITEM-IR_IND = 'X'.&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 POITEM-net_price eq 0.&lt;/P&gt;&lt;P&gt;      POITEM-IR_IND = 'X'.&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 POITEM-GR_IND = C_Y..&lt;/P&gt;&lt;P&gt;      POITEM-GR_IND = C_X.&lt;/P&gt;&lt;P&gt;    ELSEIF POITEM-GR_IND = C_X.&lt;/P&gt;&lt;P&gt;      POITEM-GR_IND = C_X.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      POITEM-GR_IND = ' '.&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   if POITEM-GR_IND = 'Y'..&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       POITEM-GR_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;P&gt;    if POITEM-INCOTERMS1 is initial.&lt;/P&gt;&lt;P&gt;      POITEM-INCOTERMS1 = 'CIF'.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;    if POITEM-INCOTERMS2  is initial.&lt;/P&gt;&lt;P&gt;      POITEM-INCOTERMS2 = 'CIF'.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    LOOP AT POACCOUNT WHERE PO_ITEM = POITEM-PO_ITEM.&lt;/P&gt;&lt;P&gt;      IF POITEM-DISTRIB IS INITIAL.&lt;/P&gt;&lt;P&gt;        POACCOUNT-DISTR_PERC = '0.00'.&lt;/P&gt;&lt;P&gt;        MODIFY POACCOUNT TRANSPORTING DISTR_PERC.&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;    POITEM-UNLIMITED_DLV = 'X'.&lt;/P&gt;&lt;P&gt;    POITEM-UNDER_DLV_TOL = 0.&lt;/P&gt;&lt;P&gt;    clear: poitem-ARIBACRTTIMESTMP,&lt;/P&gt;&lt;P&gt;           poitem-ARIBAUPDTIMESTMP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    MODIFY POITEM TRANSPORTING UNLIMITED_DLV&lt;/P&gt;&lt;P&gt;                               UNDER_DLV_TOL&lt;/P&gt;&lt;P&gt;                               PLANT&lt;/P&gt;&lt;P&gt;                               IR_IND&lt;/P&gt;&lt;P&gt;                               GR_IND&lt;/P&gt;&lt;P&gt;                               INCOTERMS1&lt;/P&gt;&lt;P&gt;                               INCOTERMS2&lt;/P&gt;&lt;P&gt;                               ARIBACRTTIMESTMP&lt;/P&gt;&lt;P&gt;                               ARIBAUPDTIMESTMP.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&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;*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;&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 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;    READ TABLE t_yreturn WITH KEY type = 'W'.&lt;/P&gt;&lt;P&gt;    IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;      expheader = poheader.&lt;/P&gt;&lt;P&gt;      EXPHEADER-CODE = '99'.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;**MOD-005&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;On Error, exit the function module&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   l_exit = 0.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   LOOP AT RETURN WHERE TYPE = C_E.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     L_EXIT = 1.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     expheader      = poheader.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     EXPHEADER-CODE = '99'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     RETURN-RETURN_CODE = C_99.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     RETURN-SEQ_CODE    = C_99.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     MODIFY RETURN TRANSPORTING RETURN_CODE SEQ_CODE.&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;   IF L_EXIT = 1.&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;**MOD-005&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 Change: 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;  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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; if not poheader-currency is initial.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   if not poheader-vendor is initial.&lt;/P&gt;&lt;/LI&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;       SELECT SINGLE WAERS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       INTO L_WAERS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       FROM LFM1 WHERE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       LIFNR = POHEADER-VENDOR&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       AND EKORG = POHEADER-PURCH_ORG.&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;         IF L_WAERS NE  poheader-currency.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           pocond-cond_type = 'PBXX'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           pocond-currency    = l_waers.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           modify pocond transporting cond_value currency.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         endif.&lt;/P&gt;&lt;/LI&gt;&lt;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;     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;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;*************************************************************&lt;/P&gt;&lt;P&gt;*currency check MOD-004&lt;/P&gt;&lt;P&gt;*************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; DATA:   l_header TYPE REF TO cl_po_header_handle_mm,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         l_item   TYPE REF TO cl_po_item_handle_mm,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         l_tkomv  TYPE STANDARD TABLE OF komv INITIAL SIZE 10,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         l_item_conditions_changed TYPE mmpur_bool.&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;header level pocond data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CHECK NOT l_item IS INITIAL.&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;   CHECK NOT l_item-&amp;gt;po_item_number IS INITIAL.&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_header ?= l_item-&amp;gt;my_parent.&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 METHOD l_header-&amp;gt;get_tkomv IMPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            ex_tkomv              = l_tkomv.&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;   l_item_conditions_changed = mmpur_no.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   PERFORM pai_item_conditions IN PROGRAM saplmepo&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                  TABLES   l_tkomv&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                  USING    poitem-po_item&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                  CHANGING l_item_conditions_changed.&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 l_item_conditions_changed IS INITIAL.&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 METHOD l_header-&amp;gt;set_tkomv EXPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;               im_tkomv                   = l_tkomv&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;               im_item_conditions_changed = l_item_conditions_changed.&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;Item level POCOND data&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;/UL&gt;&lt;P&gt;*.     CALL FUNCTION 'MEPO_DOC_PBO_ITEM_CONDITIONS'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        EXPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             im_ebelp      = poitem-po_item&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;             error_message = 1.&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;*************************************************************&lt;/P&gt;&lt;P&gt;*currency check mod-004&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;  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;*MOD-003&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;IF NOT POHEADER-PURCH_ORG IS INITIAL.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF POHEADER-PURCH_ORG IS INITIAL.&lt;/P&gt;&lt;P&gt;    SELECT SINGLE PUR_ORG&lt;/P&gt;&lt;P&gt;    INTO L_EKORG&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  FROM ZPUR_ORG&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    FROM ZP2P_PURCHASEORG&lt;/P&gt;&lt;P&gt;    WHERE LE    = POHEADER-LE AND&lt;/P&gt;&lt;P&gt;          FRMRC = POHEADER-FRMRC AND&lt;/P&gt;&lt;P&gt;          FSID  = POHEADER-FSID.&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 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-type       = return-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 = 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 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;    ELSE.&lt;/P&gt;&lt;P&gt;      POHEADER-PURCH_ORG = L_EKORG.&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 NOT POHEADER-PUR_GROUP IS INITIAL.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF 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_046&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-type       = return-type.&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 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;    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-004&lt;/P&gt;&lt;P&gt;  LOOP AT POACCOUNT.&lt;/P&gt;&lt;P&gt;    if POACCOUNT-COSTCENTER EQ '0000000000' OR&lt;/P&gt;&lt;P&gt;       POACCOUNT-COSTCENTER EQ '0'.&lt;/P&gt;&lt;P&gt;      POACCOUNT-COSTCENTER = ' '.&lt;/P&gt;&lt;P&gt;      MODIFY POACCOUNT.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;*MOD-004&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;  IF NOT TESTRUN IS INITIAL.&lt;/P&gt;&lt;P&gt;    L_SERIAL_NO = 0.&lt;/P&gt;&lt;P&gt;    L_TABIX = 0.&lt;/P&gt;&lt;P&gt;    POHEADER-VENDOR = C_VENDOR.&lt;/P&gt;&lt;P&gt;    poheader-doc_type = C_DOC_TYPE.&lt;/P&gt;&lt;P&gt;    poheader-comp_code = l_bukrs.&lt;/P&gt;&lt;P&gt;    POHEADER-DOC_DATE = SY-DATUM.&lt;/P&gt;&lt;P&gt;    POHEADER-CURRENCY = C_CURRENCY.&lt;/P&gt;&lt;P&gt;    POHEADER-NETPR = C_NETPR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    LOOP AT POACCOUNT.&lt;/P&gt;&lt;P&gt;      L_TABIX = L_TABIX + 1.&lt;/P&gt;&lt;P&gt;      LOOP AT POITEM.&lt;/P&gt;&lt;P&gt;        if POACCOUNT-PO_ITEM is initial.&lt;/P&gt;&lt;P&gt;          POACCOUNT-PO_ITEM = SY-TABIX.&lt;/P&gt;&lt;P&gt;        endif.&lt;/P&gt;&lt;P&gt;        if POACCOUNT-SERIAL_NO  is initial.&lt;/P&gt;&lt;P&gt;          POACCOUNT-SERIAL_NO = L_TABIX.&lt;/P&gt;&lt;P&gt;        endif.&lt;/P&gt;&lt;P&gt;        MODIFY POACCOUNT.&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;*MOD-004&lt;/P&gt;&lt;P&gt;    IF POCOND[] IS INITIAL and&lt;/P&gt;&lt;P&gt;       NOT TESTRUN IS INITIAL.&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;     SELECT SINGLE WAERS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;         INTO L_WAERS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;         FROM LFM1 WHERE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;         LIFNR = POHEADER-VENDOR&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;         AND EKORG = POHEADER-PURCH_ORG.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;     IF SY-SUBRC NE 0.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;       IF L_WAERS NE  poheader-currency.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;      LOOP AT POITEM.&lt;/P&gt;&lt;P&gt;        pocond-itm_number  = poitem-po_item.&lt;/P&gt;&lt;P&gt;        POCOND-COND_ST_NO  = SY-TABIX.&lt;/P&gt;&lt;P&gt;        POCOND-COND_COUNT  = SY-TABIX.&lt;/P&gt;&lt;P&gt;        pocond-cond_value  = poitem-net_price.&lt;/P&gt;&lt;P&gt;        pocond-cond_type   = 'PBXX'.&lt;/P&gt;&lt;P&gt;        POCOND-CHANGE_ID   = 'I'.&lt;/P&gt;&lt;P&gt;        if not pocond-currency is initial.&lt;/P&gt;&lt;P&gt;          pocond-currency    = l_waers.&lt;/P&gt;&lt;P&gt;        endif.&lt;/P&gt;&lt;P&gt;        POCONDHEADER-itm_number  = poitem-po_item.&lt;/P&gt;&lt;P&gt;        POCONDHEADER-COND_ST_NO  = SY-TABIX.&lt;/P&gt;&lt;P&gt;        POCONDHEADER-COND_COUNT  = SY-TABIX.&lt;/P&gt;&lt;P&gt;        pocondHEADER-cond_value  = poitem-net_price.&lt;/P&gt;&lt;P&gt;        pocondHEADER-cond_type   = 'PBXX'.&lt;/P&gt;&lt;P&gt;        POCONDHEADER-CHANGE_ID   = 'I'.&lt;/P&gt;&lt;P&gt;        if not pocond-currency is initial.&lt;/P&gt;&lt;P&gt;          pocondHEADER-currency    = l_waers.&lt;/P&gt;&lt;P&gt;        endif.&lt;/P&gt;&lt;P&gt;        APPEND: POCOND,POCONDHEADER.&lt;/P&gt;&lt;P&gt;        CLEAR: POCOND, POCONDHEADER.&lt;/P&gt;&lt;P&gt;      ENDLOOP.&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;    ENDIF.&lt;/P&gt;&lt;P&gt;*MOD-004&lt;/P&gt;&lt;P&gt;    IF POITEM[] IS INITIAL.&lt;/P&gt;&lt;P&gt;      POITEM-SHORT_TEXT = 'Simulation'(001).&lt;/P&gt;&lt;P&gt;      if poitem-plant is initial.&lt;/P&gt;&lt;P&gt;        clear: l_werks1.&lt;/P&gt;&lt;P&gt;        select single plant&lt;/P&gt;&lt;P&gt;        into l_werks1&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      from zpo_plantmapping&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        from zp2p_plantmaping&lt;/P&gt;&lt;P&gt;        where COMPANY_CODE = poheader-comp_code and&lt;/P&gt;&lt;UL&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;/UL&gt;&lt;P&gt;              LE           = poheader-le and&lt;/P&gt;&lt;P&gt;              MRC          = poheader-mrc and&lt;/P&gt;&lt;P&gt;              FSID         = poheader-fsid and&lt;/P&gt;&lt;P&gt;              FRMRC        = poheader-frmrc.&lt;/P&gt;&lt;P&gt;        IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;          poitem-plant = l_werks1.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      endif.&lt;/P&gt;&lt;P&gt;      if poitem-po_item is initial.&lt;/P&gt;&lt;P&gt;        POITEM-PO_ITEM = L_TABIX.&lt;/P&gt;&lt;P&gt;      endif.&lt;/P&gt;&lt;P&gt;      if poitem-plant is initial.&lt;/P&gt;&lt;P&gt;        poitem-plant = l_werks1.&lt;/P&gt;&lt;P&gt;      endif.&lt;/P&gt;&lt;P&gt;      if POITEM-MATL_GROUP is initial.&lt;/P&gt;&lt;P&gt;        POITEM-MATL_GROUP = '99'.&lt;/P&gt;&lt;P&gt;      endif.&lt;/P&gt;&lt;P&gt;      if  POITEM-QUANTITY is initial.&lt;/P&gt;&lt;P&gt;        POITEM-QUANTITY = '1'.&lt;/P&gt;&lt;P&gt;      endif.&lt;/P&gt;&lt;P&gt;      if POITEM-PO_UNIT is initial.&lt;/P&gt;&lt;P&gt;        POITEM-PO_UNIT = 'EA'.&lt;/P&gt;&lt;P&gt;      endif.&lt;/P&gt;&lt;P&gt;      if POITEM-ORDERPR_UN is initial.&lt;/P&gt;&lt;P&gt;        POITEM-ORDERPR_UN = 'EA'.&lt;/P&gt;&lt;P&gt;      endif.&lt;/P&gt;&lt;P&gt;      if POITEM-NET_PRICE is initial.&lt;/P&gt;&lt;P&gt;        POITEM-NET_PRICE = '1.00'.&lt;/P&gt;&lt;P&gt;      endif.&lt;/P&gt;&lt;P&gt;      if POITEM-PRICE_UNIT is initial.&lt;/P&gt;&lt;P&gt;        POITEM-PRICE_UNIT = '1.00'.&lt;/P&gt;&lt;P&gt;      endif.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     if POITEM-DISTRIB is initial.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       POITEM-DISTRIB = ' '.&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 POITEM-PART_INV is initial.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       POITEM-PART_INV = ' '.&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-004&lt;/P&gt;&lt;P&gt;      if POITEM-GR_IND = C_Y..&lt;/P&gt;&lt;P&gt;        POITEM-GR_IND = C_X.&lt;/P&gt;&lt;P&gt;      ELSEIF POITEM-GR_IND = C_X.&lt;/P&gt;&lt;P&gt;        POITEM-GR_IND = C_X.&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;        POITEM-GR_IND = ' '.&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;**MOD-004&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     if POITEM-GR_IND is initial or&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        POITEM-GR_IND = c_y.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        POITEM-GR_IND = c_x.&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-GR_IND = ' '.&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-004&lt;/P&gt;&lt;P&gt;      if POITEM-IR_IND  is initial.&lt;/P&gt;&lt;P&gt;        POITEM-IR_IND = 'X'.&lt;/P&gt;&lt;P&gt;      endif.&lt;/P&gt;&lt;P&gt;      if POITEM-INCOTERMS1 is initial.&lt;/P&gt;&lt;P&gt;        POITEM-INCOTERMS1 = 'CIF'.&lt;/P&gt;&lt;P&gt;      endif.&lt;/P&gt;&lt;P&gt;      if POITEM-INCOTERMS2  is initial.&lt;/P&gt;&lt;P&gt;        POITEM-INCOTERMS2 = 'CIF'.&lt;/P&gt;&lt;P&gt;      endif.&lt;/P&gt;&lt;P&gt;      if POITEM-PREQ_ITEM is initial.&lt;/P&gt;&lt;P&gt;        POITEM-PREQ_ITEM  = '123456'.&lt;/P&gt;&lt;P&gt;      endif.&lt;/P&gt;&lt;P&gt;      APPEND POITEM.&lt;/P&gt;&lt;P&gt;      CLEAR: POITEM.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     if POACCOUNT-PO_ITEM is initial.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       POACCOUNT-PO_ITEM = SY-TABIX.&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 POACCOUNT-SERIAL_NO  is initial.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       POACCOUNT-SERIAL_NO = L_TABIX.&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;     MODIFY POACCOUNT.&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; ENDLOOP.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&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;    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;      READ TABLE t_yreturn WITH KEY type = 'W'.&lt;/P&gt;&lt;P&gt;      IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;        EXPHEADER = POHEADER.&lt;/P&gt;&lt;P&gt;        EXPHEADER-CODE = '99'.&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;        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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      INSERT ZERRORS FROM TABLE T_ERRORS.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        INSERT ZP2P_ERRORS FROM TABLE T_ERRORS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**MOD-005&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;On Error, exit the function module&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       l_exit = 0.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       LOOP AT RETURN WHERE TYPE = C_E.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         L_EXIT = 1.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         EXPHEADER = POHEADER.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         EXPHEADER-CODE = '99'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         RETURN-RETURN_CODE = C_99.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         RETURN-SEQ_CODE    = C_99.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         MODIFY RETURN TRANSPORTING RETURN_CODE SEQ_CODE.&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;       IF L_EXIT = 1.&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;**MOD-005&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;    PERFORM GET_INCOTERMS_LINE_ITEM  tables   poitem&lt;/P&gt;&lt;P&gt;                                   using    poheader.&lt;/P&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;  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;&lt;/P&gt;&lt;P&gt;****BV-27-May-2004 - End of Changes for SCR2****&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*sraman2 10/14/04&lt;/P&gt;&lt;P&gt;  IF POHEADER-PO_NUMBER(3) = C_PCO.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   DATA: l_serial_no LIKE poaccount-serial_no.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    loop at POACCOUNT.&lt;/P&gt;&lt;P&gt;      ADD 1 TO l_serial_no.&lt;/P&gt;&lt;P&gt;      POACCOUNT-SERIAL_NO = l_serial_no.&lt;/P&gt;&lt;P&gt;      modify POACCOUNT.&lt;/P&gt;&lt;P&gt;    endloop.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;*sraman2 10/14/04&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SORT POACCOUNT BY PO_ITEM.&lt;/P&gt;&lt;P&gt;  LOOP AT POACCOUNT.&lt;/P&gt;&lt;P&gt;    check poheader-quotation+0(2) ne 'CR' and&lt;/P&gt;&lt;P&gt;    poheader-quotation+0(2) ne 'UT'.&lt;/P&gt;&lt;P&gt;    IF NOT POACCOUNT-WBS_ELEMENT IS INITIAL. "line item posting to&lt;/P&gt;&lt;P&gt;      "WBS element&lt;/P&gt;&lt;P&gt;      CLEAR L_MSGV1.&lt;/P&gt;&lt;P&gt;      L_MSGV1 = POACCOUNT-PO_ITEM.&lt;/P&gt;&lt;UL&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;    Line Item NOT eligible for PCARD&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_I  "I&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;               CL     = C_MSGID_Z001                       "Z001&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;               NUMBER = C_MSGNR_038  "038&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;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;*mod-004&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-type       = return-type.&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 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;      clear: l_wa_zerrors.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      IF NOT POACCOUNT-COSTCENTER IS INITIAL.&lt;/P&gt;&lt;P&gt;        "line item posting to cost center.&lt;/P&gt;&lt;P&gt;        READ TABLE POITEM WITH KEY PO_ITEM = POACCOUNT-PO_ITEM.&lt;/P&gt;&lt;P&gt;        IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;          IF NOT POITEM-DISTRIB IS INITIAL.&lt;/P&gt;&lt;P&gt;            CLEAR L_MSGV1.&lt;/P&gt;&lt;P&gt;            L_MSGV1 = POACCOUNT-PO_ITEM.&lt;/P&gt;&lt;P&gt;*Mod-004&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          Line Item NOT eligible for PCARD&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_I  "I&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                     CL     = C_MSGID_Z001                 "Z001&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                     NUMBER = C_MSGNR_038  "038&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;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;*mod-004&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        = return-id.&lt;/P&gt;&lt;P&gt;              l_wa_zerrors-type       = return-type.&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 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;          ELSE.     "line item does NOT contain split accounting&lt;/P&gt;&lt;P&gt;            CLEAR L_MSGV1.&lt;/P&gt;&lt;P&gt;            L_MSGV1 = POACCOUNT-PO_ITEM.&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;          Line Item Eligible for PCARD&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_I  "I&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                     CL     = C_MSGID_Z001                 "Z001&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                     NUMBER = C_MSGNR_039  "039&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;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;*MOD-004&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        = return-id.&lt;/P&gt;&lt;P&gt;              l_wa_zerrors-type       = return-type.&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 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.&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;To convert WBS Element from External format to Internal Format.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  LOOP AT POACCOUNT WHERE NOT WBS_ELEMENT IS INITIAL.&lt;/P&gt;&lt;P&gt;    CLEAR : L_WBS_EXTERNAL,&lt;/P&gt;&lt;P&gt;            L_WBS_INTERNAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    L_WBS_EXTERNAL = POACCOUNT-WBS_ELEMENT.&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'CONVERSION_EXIT_ABPSN_INPUT'&lt;/P&gt;&lt;P&gt;         EXPORTING&lt;/P&gt;&lt;P&gt;              INPUT  = L_WBS_EXTERNAL&lt;/P&gt;&lt;P&gt;         IMPORTING&lt;/P&gt;&lt;P&gt;              OUTPUT = L_WBS_INTERNAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    POACCOUNT-WBS_ELEMENT = L_WBS_INTERNAL.&lt;/P&gt;&lt;P&gt;*sraman2 06/23/04&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   MODIFY POACCOUNT INDEX SY-TABIX TRANSPORTING WBS_ELEMENT.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    MODIFY POACCOUNT.&lt;/P&gt;&lt;P&gt;*sraman2 06/23/04&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;*Rounding off to 100 percent.&lt;/P&gt;&lt;P&gt;  SORT POACCOUNT BY PO_ITEM DISTR_PERC.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*MOD-003&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;&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_X.   " 'X'&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_X.     " 'X'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     ADD g_distr_perc TO POACCOUNT-DISTR_PERC.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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;*MOD-003&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;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      = POHEADER-COMP_CODE&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;&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;&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_VEND_ACTGRP.      "ZRP_VEND_ACTGRP&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_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 = 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 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-type       = return-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 = 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 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;**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      = POHEADER-COMP_CODE&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;&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_VEND_PAYTRM.      "ZRP_VEND_PAYTRM&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_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 = 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-type       = return-type.&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 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;**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      = POHEADER-COMP_CODE&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;    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   = 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_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 = 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 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-type       = return-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 = 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 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;***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 POHEADER-VENDOR IS INITIAL.&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;    IF L_LENGTH &amp;lt; 10.&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;*To replace first character with 1.&lt;/P&gt;&lt;P&gt;      MOVE '1' TO POHEADER-VENDOR(1).&lt;/P&gt;&lt;P&gt;    ELSE.       "Vendor is 10 char in length&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 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        = return-id.&lt;/P&gt;&lt;P&gt;        l_wa_zerrors-type       = return-type.&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 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.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF TESTRUN IS INITIAL.&lt;/P&gt;&lt;P&gt;    SELECT SINGLE * FROM LFA1 WHERE&lt;/P&gt;&lt;P&gt;      LIFNR = POHEADER-VENDOR.&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;      IF POADDRVENDOR-NAME IS INITIAL.&lt;/P&gt;&lt;P&gt;        MOVE C_ARIBAVENDOR TO POADDRVENDOR-NAME. " 'ARIBA VENDOR'&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      W_LFA1-LIFNR = POHEADER-VENDOR.&lt;/P&gt;&lt;P&gt;      W_LFA1-NAME1 = POADDRVENDOR-NAME.&lt;/P&gt;&lt;P&gt;      W_LFA1-MCOD1 = POADDRVENDOR-NAME.&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 = POHEADER-VENDOR.&lt;/P&gt;&lt;P&gt;      W_LFB1-BUKRS = POHEADER-COMP_CODE.&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 = POHEADER-VENDOR.&lt;/P&gt;&lt;P&gt;      W_LFM1-EKORG = POHEADER-PURCH_ORG.&lt;/P&gt;&lt;P&gt;      W_LFM1-WAERS = POHEADER-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;      IF POADDRVENDOR-NAME IS INITIAL.&lt;/P&gt;&lt;P&gt;        MOVE C_ARIBAVENDOR TO POADDRVENDOR-NAME. " 'ARIBA VENDOR'&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      W_LFA1-LIFNR = POHEADER-VENDOR.&lt;/P&gt;&lt;P&gt;      W_LFA1-NAME1 = POADDRVENDOR-NAME.&lt;/P&gt;&lt;P&gt;      W_LFA1-MCOD1 = POADDRVENDOR-NAME.&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 = POHEADER-VENDOR&lt;/P&gt;&lt;P&gt;            AND BUKRS = POHEADER-COMP_CODE.&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC NE 0.&lt;/P&gt;&lt;P&gt;        W_LFB1-LIFNR     = POHEADER-VENDOR.&lt;/P&gt;&lt;P&gt;        W_LFB1-BUKRS     = POHEADER-COMP_CODE.&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 = POHEADER-VENDOR&lt;/P&gt;&lt;P&gt;          AND EKORG = POHEADER-PURCH_ORG.&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC NE 0.&lt;/P&gt;&lt;P&gt;        W_LFM1-LIFNR     = POHEADER-VENDOR.&lt;/P&gt;&lt;P&gt;        W_LFM1-EKORG     = POHEADER-PURCH_ORG.&lt;/P&gt;&lt;P&gt;        W_LFM1-WAERS     = POHEADER-CURRENCY.&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     CALL FUNCTION 'Z_VENDOR_INSERT'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          EXPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;               I_LFA1  = W_LFA1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;               I_LFB1  = W_LFB1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;               I_LFM1  = W_LFM1&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_XLFAS = T_XLFAS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;               T_XLFB5 = T_XLFB5&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;               T_XLFBK = T_XLFBK&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;               T_XLFZA = T_XLFZA&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;               ZRETURN = T_ZRETURN.&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 Vendor create fails or the transaction commit fails, populate the&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;the Return structure and exit the program&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;     READ TABLE T_ZRETURN WITH KEY TYPE = C_E.   " 'E'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       APPEND LINES OF T_ZRETURN TO RETURN.&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;       CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'&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;                 WAIT   = C_X  " 'X'&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;       IF RETURN-TYPE = C_E.   " 'E'&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;         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;         CLEAR RETURN.&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;    ELSE.&lt;/P&gt;&lt;P&gt;*M0D-003&lt;/P&gt;&lt;P&gt;      SELECT SINGLE * FROM LFA1 WHERE&lt;/P&gt;&lt;P&gt;      LIFNR = POHEADER-VENDOR.&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;        SELECT SINGLE * FROM LFB1 WHERE&lt;/P&gt;&lt;P&gt;                  LIFNR = POHEADER-VENDOR&lt;/P&gt;&lt;P&gt;              AND BUKRS = POHEADER-COMP_CODE.&lt;/P&gt;&lt;P&gt;        IF SY-SUBRC NE 0.&lt;/P&gt;&lt;P&gt;          SELECT SINGLE * FROM LFM1 WHERE&lt;/P&gt;&lt;P&gt;                 LIFNR = POHEADER-VENDOR AND&lt;/P&gt;&lt;P&gt;                 EKORG = POHEADER-PURCH_ORG.&lt;/P&gt;&lt;P&gt;          IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;            POHEADER-INCOTERMS1 = LFM1-INCO1.&lt;/P&gt;&lt;P&gt;            POHEADER-INCOTERMS2 = LFM1-INCO2.&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;*MOD-003&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 PCO Order, populate the PO and accounting data into a Z table .&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF POHEADER-PO_NUMBER(3) = C_PCO.  " 'PCO'&lt;/P&gt;&lt;P&gt;      PERFORM POPULATE_NONPO_DOCUMENT   TABLES POITEM&lt;/P&gt;&lt;P&gt;                                               RETURN&lt;/P&gt;&lt;P&gt;                                               POTEXTHEADER&lt;/P&gt;&lt;P&gt;                                        USING  POHEADER-PO_NUMBER&lt;/P&gt;&lt;P&gt;                                               POHEADER.&lt;/P&gt;&lt;P&gt;      PERFORM POPULATE_NONPO_ACCOUNTING TABLES POACCOUNT&lt;/P&gt;&lt;P&gt;                                               RETURN&lt;/P&gt;&lt;P&gt;                                        USING  POHEADER.&lt;/P&gt;&lt;P&gt;      PERFORM UPDATE_NONPODOCUMENT.&lt;/P&gt;&lt;P&gt;      LOOP AT T_RETURN.&lt;/P&gt;&lt;P&gt;        MOVE: T_RETURN-TYPE    TO RETURN-TYPE,&lt;/P&gt;&lt;P&gt;              T_RETURN-ID      TO RETURN-ID,&lt;/P&gt;&lt;P&gt;              T_RETURN-NUMBER  TO RETURN-NUMBER,&lt;/P&gt;&lt;P&gt;              T_RETURN-MESSAGE TO RETURN-MESSAGE.&lt;/P&gt;&lt;P&gt;        APPEND RETURN.&lt;/P&gt;&lt;P&gt;        CLEAR  RETURN.&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;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Move RETURN table messages to temp return table.&lt;/P&gt;&lt;P&gt;  REFRESH T_TEMPRETURN.&lt;/P&gt;&lt;P&gt;  APPEND LINES OF RETURN TO T_TEMPRETURN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*PVU-22-May-2004 - Start Changes for SCR1&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;**Populate the change indicator structures before calling&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;BAPI_PO_CREATE1&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;**so that IDOC can be populated with this data&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; IF NOT POHEADERX IS INITIAL.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   G_W_HDRX_TMP = POHEADERX.&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 POITEMX[] IS INITIAL.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   G_T_ITEMX_TMP[] = POITEMX[].&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 POSCHEDULEX[] IS INITIAL.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   G_T_SCHDX_TMP[] = POSCHEDULEX[].&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; IF NOT POSCHEDULE[] IS INITIAL.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   G_T_SCHD_TMP[] = POSCHEDULE[].&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-03&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; IF NOT POACCOUNTX[] IS INITIAL.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   G_T_ACCNTX_TMP[] = POACCOUNTX[].&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 POCONDX[] IS INITIAL.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   G_T_CONDX_TMP[] = POCONDX[].&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;*PVU-22-May-2004 - End Changes for SCR1&lt;/P&gt;&lt;P&gt;*sraman2 06/07/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 TRANSPORTING matl_group.&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/07/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;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;LI level="1" type="ul"&gt;&lt;P&gt;   IF POITEM-PRICE_UNIT 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;*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;P&gt;  if testrun is initial.&lt;/P&gt;&lt;P&gt;    PERFORM GET_INCOTERMS_LINE_ITEM  tables   poitem&lt;/P&gt;&lt;P&gt;                                   using    poheader.&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;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*MOD-004&lt;/P&gt;&lt;P&gt;  LOOP AT POITEM.&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 SY-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-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 = 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;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;        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;          READ TABLE t_yreturn WITH KEY type = 'E'.&lt;/P&gt;&lt;P&gt;          IF sy-subrc = 0.&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;            DELETE T_ERRORS WHERE TYPE NE C_E.&lt;/P&gt;&lt;P&gt;            DELETE T_ERRORS WHERE TYPE IS INITIAL.&lt;/P&gt;&lt;P&gt;            INSERT ZP2P_ERRORS FROM TABLE T_ERRORS.&lt;/P&gt;&lt;P&gt;**MOD-005&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;On Error, exit the function module&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           l_exit = 0.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           LOOP AT RETURN WHERE TYPE = C_E.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             L_EXIT = 1.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             EXPHEADER = POHEADER.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             EXPHEADER-CODE = '99'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             RETURN-RETURN_CODE = C_99.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             RETURN-SEQ_CODE    = C_99.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             MODIFY RETURN TRANSPORTING RETURN_CODE SEQ_CODE.&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;           IF L_EXIT = 1.&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;**MOD-005&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          INSERT ZERRORS FROM TABLE T_ERRORS.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;**MOD-004&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           L_RETURN = ' '.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           LOOP AT RETURN WHERE TYPE = C_E.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             RETURN-RETURN_CODE = '99'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             L_RETURN = C_X.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             MODIFY RETURN TRANSPORTING RETURN_CODE.&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;           IF L_RETURN = C_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;/UL&gt;&lt;P&gt;**MOD-004&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           EXPHEADER = POHEADER.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           EXPHEADER-CODE = '99'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*MOD-004&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;P&gt;  ENDLOOP.&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;    READ TABLE t_yreturn WITH KEY type = 'E'.&lt;/P&gt;&lt;P&gt;    IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;**MOD-005&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;On Error, exit the function module&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     l_exit = 0.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     LOOP AT RETURN WHERE TYPE = C_E.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       L_EXIT = 1.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       EXPHEADER = POHEADER.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       EXPHEADER-CODE = '99'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       RETURN-RETURN_CODE = C_99.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       RETURN-SEQ_CODE    = C_99.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       MODIFY RETURN TRANSPORTING RETURN_CODE SEQ_CODE.&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;     IF L_EXIT = 1.&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;**MOD-005&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*MOD-005&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     EXPHEADER = POHEADER.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     EXPHEADER-CODE = '99'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*MOD-005&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;*MOD-004&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_CREATE1&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;*MOD-003&lt;/P&gt;&lt;P&gt;  IF NOT POSCHEDULE[] IS INITIAL.&lt;/P&gt;&lt;P&gt;    G_T_SCHD_TMP[] = POSCHEDULE[].&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;*MOD-03&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;*MOD-004&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT poitem.&lt;/P&gt;&lt;P&gt;    IF NOT poitem-delete_ind IS INITIAL.   "delete ind marked.&lt;/P&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;      CASE POITEM-DELETE_IND.&lt;/P&gt;&lt;P&gt;        WHEN 'A'.&lt;/P&gt;&lt;P&gt;          POITEM-DELETE_IND  =  ' '.&lt;/P&gt;&lt;P&gt;        WHEN 'C'.&lt;/P&gt;&lt;P&gt;          POITEM-DELETE_IND =  ' '.&lt;/P&gt;&lt;P&gt;        WHEN 'D'.&lt;/P&gt;&lt;P&gt;          POITEM-DELETE_IND =  'D'.&lt;/P&gt;&lt;P&gt;          CLEAR poitem-final_inv.&lt;/P&gt;&lt;P&gt;        WHEN 'X'.&lt;/P&gt;&lt;P&gt;          POITEM-DELETE_IND =  'D'.&lt;/P&gt;&lt;P&gt;          CLEAR poitem-final_inv.&lt;/P&gt;&lt;P&gt;      ENDCASE.&lt;/P&gt;&lt;P&gt;&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;&lt;/P&gt;&lt;P&gt;*MOD-004&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Call PO Create BAPI.&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'BAPI_PO_CREATE1'&lt;/P&gt;&lt;P&gt;    EXPORTING&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;      EXPPURCHASEORDER       = EXPPURCHASEORDER&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;P&gt;  sort return by TYPE&lt;/P&gt;&lt;P&gt;                 ID&lt;/P&gt;&lt;P&gt;                 NUMBER&lt;/P&gt;&lt;P&gt;                 MESSAGE&lt;/P&gt;&lt;P&gt;                 LOG_NO&lt;/P&gt;&lt;P&gt;                 LOG_MSG_NO&lt;/P&gt;&lt;P&gt;                 MESSAGE_V1&lt;/P&gt;&lt;P&gt;                 MESSAGE_V2&lt;/P&gt;&lt;P&gt;                 MESSAGE_V3&lt;/P&gt;&lt;P&gt;                 MESSAGE_V4&lt;/P&gt;&lt;P&gt;                 PARAMETER&lt;/P&gt;&lt;P&gt;                 ROW&lt;/P&gt;&lt;P&gt;                 FIELD&lt;/P&gt;&lt;P&gt;                 SYSTEM.&lt;/P&gt;&lt;P&gt;  delete adjacent duplicates from RETURN&lt;/P&gt;&lt;P&gt;          comparing  TYPE&lt;/P&gt;&lt;P&gt;                     ID&lt;/P&gt;&lt;P&gt;                     NUMBER&lt;/P&gt;&lt;P&gt;                     MESSAGE&lt;/P&gt;&lt;P&gt;                     LOG_NO&lt;/P&gt;&lt;P&gt;                     LOG_MSG_NO&lt;/P&gt;&lt;P&gt;                     MESSAGE_V1&lt;/P&gt;&lt;P&gt;                     MESSAGE_V2&lt;/P&gt;&lt;P&gt;                     MESSAGE_V3&lt;/P&gt;&lt;P&gt;                     MESSAGE_V4&lt;/P&gt;&lt;P&gt;                     PARAMETER&lt;/P&gt;&lt;P&gt;                     ROW&lt;/P&gt;&lt;P&gt;                     FIELD&lt;/P&gt;&lt;P&gt;                     SYSTEM.&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-type       = return-type.&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 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;*append temp return table to RETURN table.&lt;/P&gt;&lt;P&gt;  APPEND LINES OF T_TEMPRETURN TO RETURN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  READ TABLE RETURN WITH KEY TYPE = C_E.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC = 0 .&lt;/P&gt;&lt;P&gt;    EXPHEADER-CODE = C_99.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    EXPHEADER-CODE = C_00.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**MOD-005&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;On Error, exit the function module&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; l_exit = 0.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; LOOP AT RETURN WHERE TYPE = C_E.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   L_EXIT = 1.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   EXPHEADER = POHEADER.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   EXPHEADER-CODE = C_99.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   RETURN-RETURN_CODE = C_99.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   RETURN-SEQ_CODE    = C_99.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   MODIFY RETURN TRANSPORTING RETURN_CODE SEQ_CODE.&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; IF L_EXIT = 1.&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;**MOD-005&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF TESTRUN IS INITIAL AND&lt;/P&gt;&lt;P&gt;    NOT EXPPURCHASEORDER IS INITIAL.&lt;/P&gt;&lt;P&gt;*sraman2 6/25/04&lt;/P&gt;&lt;P&gt;*This check for 'E' is not necessary.&lt;/P&gt;&lt;P&gt;*This is causing order creation issues&lt;/P&gt;&lt;P&gt;*for some scenarios&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   READ TABLE RETURN WITH KEY TYPE = C_E.    "E&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;/UL&gt;&lt;P&gt;    CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.&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;  ELSE.&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.&lt;/P&gt;&lt;P&gt;*PVU-22-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;   IF TESTRUN IS INITIAL.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     PERFORM IDOC_CREATE&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;                    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&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                    C_FLG_POCREATE               "CREA&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                    EXPPURCHASEORDER&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;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;*PVU-22-May-2004 - End Changes for SCR1&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;*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;  READ TABLE RETURN WITH KEY ID = SPACE&lt;/P&gt;&lt;P&gt;                           NUMBER = C_MSGNR_000.   "000&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; DATA: L_SERIAL TYPE I.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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;  DELETE T_ERRORS WHERE TYPE NE C_E.&lt;/P&gt;&lt;P&gt;  DELETE T_ERRORS WHERE TYPE IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; INSERT ZERRORS FROM TABLE T_ERRORS.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; DELETE FROM ZERRORS WHERE TYPE NE C_E.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT T_ERRORS IS INITIAL.&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;  DELETE FROM ZP2P_ERRORS WHERE TYPE NE C_E.&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  INCLUDE LZZ_M3_PURCHASEORDER02F02                                  *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;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;P&gt;    t_znonpo_acctg-ex_pro_no        = p_poaccount-unload_pt.       "@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;    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;P&gt;  SELECT * FROM zmessages INTO TABLE t_messages.&lt;/P&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;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              = l_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;              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;P&gt;                  l_ex_acc_no = t_poaccount-gl_account.      "@SDR&lt;/P&gt;&lt;P&gt;                  CALL FUNCTION 'Z_GLACCT_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_ACC_NO            = l_ex_acc_no     "@SDR&lt;/P&gt;&lt;P&gt;                   IMPORTING                                 "@SDR&lt;/P&gt;&lt;P&gt;                    P_GLACCT               =                 "@SDR&lt;/P&gt;&lt;P&gt;                                     t_poaccount-gl_account  "@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 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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          Check for external GL accounts starting with P164, P165 or&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          P169 and Reference is blank or starts with 4 zeros&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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;              cost_center = 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_PLANT&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_PLANT 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_404&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_PLANT&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_POHEA&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 01 Jul 2008 07:40:14 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/create-po-with-reference-to-pr/m-p/4107556#M982245</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-07-01T07:40:14Z</dc:date>
    </item>
    <item>
      <title>Re: Create PO with reference to PR</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/create-po-with-reference-to-pr/m-p/4107557#M982246</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;Instead of using a BAPI to create a PO with reference to PR, why don't you write a custom program to call the transaction ME59N, it doesn't require any BDC, you just need to pass the inputs in the selection screen and it will create the PO for you automatically and you schedule that custom program in a background job.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;Mahesh.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 01 Jul 2008 08:07:08 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/create-po-with-reference-to-pr/m-p/4107557#M982246</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-07-01T08:07:08Z</dc:date>
    </item>
  </channel>
</rss>

