<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: BAPI_PO_CREATE1 (Error - Please maintain services or limits ) in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/bapi-po-create1-error-please-maintain-services-or-limits/m-p/3830890#M921171</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;  You can check this code:&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) TYPE  BAPIMEPOHEADER&lt;/P&gt;&lt;P&gt;*"     VALUE(POHEADERX) TYPE  BAPIMEPOHEADERX&lt;/P&gt;&lt;P&gt;*"     VALUE(POADDRVENDOR) TYPE  BAPIMEPOADDRVENDOR&lt;/P&gt;&lt;P&gt;*"     VALUE(TESTRUN) TYPE  BAPIFLAG-BAPIFLAG&lt;/P&gt;&lt;P&gt;*"     VALUE(MEMORY_UNCOMPLETE) TYPE  BAPIFLAG-BAPIFLAG&lt;/P&gt;&lt;P&gt;*"     VALUE(MEMORY_COMPLETE) TYPE  BAPIFLAG-BAPIFLAG&lt;/P&gt;&lt;P&gt;*"     VALUE(POEXPIMPHEADER) TYPE  BAPIMEPOHEADER&lt;/P&gt;&lt;P&gt;*"     VALUE(POEXPIMPHEADERX) TYPE  BAPIMEPOHEADERX&lt;/P&gt;&lt;P&gt;*"     VALUE(VERSIONS) TYPE  BAPIMEDCM&lt;/P&gt;&lt;P&gt;*"     VALUE(NO_MESSAGING) TYPE  BAPIFLAG-BAPIFLAG&lt;/P&gt;&lt;P&gt;*"     VALUE(NO_MESSAGE_REQ) TYPE  BAPIFLAG-BAPIFLAG&lt;/P&gt;&lt;P&gt;*"     VALUE(NO_AUTHORITY) TYPE  BAPIFLAG-BAPIFLAG&lt;/P&gt;&lt;P&gt;*"     VALUE(NO_PRICE_FROM_PO) TYPE  BAPIFLAG-BAPIFLAG&lt;/P&gt;&lt;P&gt;*"  EXPORTING&lt;/P&gt;&lt;P&gt;*"     VALUE(EXPPURCHASEORDER) TYPE  BAPIMEPOHEADER-PO_NUMBER&lt;/P&gt;&lt;P&gt;*"     VALUE(EXPHEADER) TYPE  BAPIMEPOHEADER&lt;/P&gt;&lt;P&gt;*"     VALUE(EXPPOEXPIMPHEADER) TYPE  BAPIMEPOHEADER&lt;/P&gt;&lt;P&gt;*"  TABLES&lt;/P&gt;&lt;P&gt;*"      RETURN STRUCTURE  BAPIRET2&lt;/P&gt;&lt;P&gt;*"      POITEM STRUCTURE  BAPIMEPOITEM&lt;/P&gt;&lt;P&gt;*"      POITEMX STRUCTURE  BAPIMEPOITEMX&lt;/P&gt;&lt;P&gt;*"      POADDRDELIVERY STRUCTURE  BAPIMEPOADDRDELIVERY&lt;/P&gt;&lt;P&gt;*"      POSCHEDULE STRUCTURE  BAPIMEPOSCHEDULE&lt;/P&gt;&lt;P&gt;*"      POSCHEDULEX STRUCTURE  BAPIMEPOSCHEDULX&lt;/P&gt;&lt;P&gt;*"      POACCOUNT STRUCTURE  BAPIMEPOACCOUNT&lt;/P&gt;&lt;P&gt;*"      POACCOUNTPROFITSEGMENT STRUCTURE  BAPIMEPOACCOUNTPROFITSEGMENT&lt;/P&gt;&lt;P&gt;*"      POACCOUNTX STRUCTURE  BAPIMEPOACCOUNTX&lt;/P&gt;&lt;P&gt;*"      POCONDHEADER STRUCTURE  BAPIMEPOCOND&lt;/P&gt;&lt;P&gt;*"      POCONDHEADERX STRUCTURE  BAPIMEPOCONDX&lt;/P&gt;&lt;P&gt;*"      POCOND STRUCTURE  BAPIMEPOCOND&lt;/P&gt;&lt;P&gt;*"      POCONDX STRUCTURE  BAPIMEPOCONDX&lt;/P&gt;&lt;P&gt;*"      POLIMITS STRUCTURE  BAPIESUHC&lt;/P&gt;&lt;P&gt;*"      POCONTRACTLIMITS STRUCTURE  BAPIESUCC&lt;/P&gt;&lt;P&gt;*"      POSERVICES STRUCTURE  BAPIESLLC&lt;/P&gt;&lt;P&gt;*"      POSRVACCESSVALUES STRUCTURE  BAPIESKLC&lt;/P&gt;&lt;P&gt;*"      POSERVICESTEXT STRUCTURE  BAPIESLLTX&lt;/P&gt;&lt;P&gt;*"      EXTENSIONIN STRUCTURE  BAPIPAREX&lt;/P&gt;&lt;P&gt;*"      EXTENSIONOUT STRUCTURE  BAPIPAREX&lt;/P&gt;&lt;P&gt;*"      POEXPIMPITEM STRUCTURE  BAPIEIPO&lt;/P&gt;&lt;P&gt;*"      POEXPIMPITEMX STRUCTURE  BAPIEIPOX&lt;/P&gt;&lt;P&gt;*"      POTEXTHEADER STRUCTURE  BAPIMEPOTEXT&lt;/P&gt;&lt;P&gt;*"      POTEXTITEM STRUCTURE  BAPIMEPOTEXT&lt;/P&gt;&lt;P&gt;*"      ALLVERSIONS STRUCTURE  BAPIMEDCM_ALLVERSIONS&lt;/P&gt;&lt;P&gt;*"      POPARTNER STRUCTURE  BAPIEKKOP&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-serial_no   = 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 ZP2P_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-serial_no   = 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-serial_no   = 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-serial_no   = 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-serial_no   = 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-serial_no   = 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( serial_no )&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-serial_no = L_SERIAL.&lt;/P&gt;&lt;P&gt;          MODIFY T_ERRORS TRANSPORTING serial_no.&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-serial_no   = 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-serial_no   = 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-serial_no   = 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-serial_no   = 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-serial_no   = 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-serial_no   = 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-serial_no   = 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-serial_no   = 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( serial_no )&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-serial_no = L_SERIAL.&lt;/P&gt;&lt;P&gt;              MODIFY T_ERRORS TRANSPORTING serial_no.&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-serial_no   = 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( serial_no )&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-serial_no = L_SERIAL.&lt;/P&gt;&lt;P&gt;    MODIFY T_ERRORS TRANSPORTING serial_no.&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_POHEADERX  text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_POITEMX  text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_POACCOUNTX  text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM get_uom_conversion TABLES   t_poitem    STRUCTURE bapimepoitem&lt;/P&gt;&lt;P&gt;                                 t_poitemx   STRUCTURE bapimepoitemx&lt;/P&gt;&lt;P&gt;                                 t_account STRUCTURE bapimepoaccount&lt;/P&gt;&lt;P&gt;                                 t_accountx STRUCTURE bapimepoaccountx&lt;/P&gt;&lt;P&gt;                                 t_poschedule structure BAPIMEPOSCHEDULE&lt;/P&gt;&lt;P&gt;                                t_poschedulex structure BAPIMEPOSCHEDULX&lt;/P&gt;&lt;P&gt;                                t_pocond      structure BAPIMEPOCOND&lt;/P&gt;&lt;P&gt;                                T_pocondx     structure BAPIMEPOCONDX&lt;/P&gt;&lt;P&gt;                     &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 01 Jul 2008 06:24:12 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2008-07-01T06:24:12Z</dc:date>
    <item>
      <title>BAPI_PO_CREATE1 (Error - Please maintain services or limits )</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bapi-po-create1-error-please-maintain-services-or-limits/m-p/3830886#M921167</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi All,&lt;/P&gt;&lt;P&gt;I have been working on BAPI_PO_CREATE1 to upload &lt;U&gt;blanket POs&lt;/U&gt; and facing this issue.&lt;/P&gt;&lt;P&gt;After running the BAPI in the custom program it gives the following error messages.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;E MEPO              000 Purchase order still contains faulty items&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;E SE                   029 Please maintain services or limits&lt;/STRONG&gt;        &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Same errors also came up when I tried to run the BAPI from Se37. However when I craeted a PO with the same data in ME21N, it worked fine and created a PO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;U&gt;Important -&lt;/U&gt; &lt;/P&gt;&lt;P&gt;I am passing the following limit values (along with header data, item data, accounts data etc etc.)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;POLIMITS-LIMIT&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;POLIMITS-EXP_VALUE&lt;/STRONG&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Please suggest if you have come across this issue and if you know any solution.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;thanks,&lt;/P&gt;&lt;P&gt;/ashok&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 15 May 2008 18:17:25 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bapi-po-create1-error-please-maintain-services-or-limits/m-p/3830886#M921167</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-05-15T18:17:25Z</dc:date>
    </item>
    <item>
      <title>Re: BAPI_PO_CREATE1 (Error - Please maintain services or limits )</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bapi-po-create1-error-please-maintain-services-or-limits/m-p/3830887#M921168</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi All,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I do have the same problem. Please suggest how to proceed.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 24 Jun 2008 11:20:51 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bapi-po-create1-error-please-maintain-services-or-limits/m-p/3830887#M921168</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-06-24T11:20:51Z</dc:date>
    </item>
    <item>
      <title>Re: BAPI_PO_CREATE1 (Error - Please maintain services or limits )</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bapi-po-create1-error-please-maintain-services-or-limits/m-p/3830888#M921169</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi&lt;/P&gt;&lt;P&gt;  i think while creating PO , it is looking for service entries .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;it may be that ur PO type be Service PO and for that it is required to maintain services, check that once .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;OR try to find out correct value to be pass in ur BAPI for services , or to limit services.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 24 Jun 2008 11:28:32 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bapi-po-create1-error-please-maintain-services-or-limits/m-p/3830888#M921169</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-06-24T11:28:32Z</dc:date>
    </item>
    <item>
      <title>Re: BAPI_PO_CREATE1 (Error - Please maintain services or limits )</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bapi-po-create1-error-please-maintain-services-or-limits/m-p/3830889#M921170</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;In case you are still looking for the solution, here is how I solved it.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I used BAPI_PO_CREATE in stead of BAPI_PO_CREATE1 which worked for me, but BAPI_PO_CREATE has few limitations though like you cant upload header text using BAPI_PO_CREATE etc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hope this info would be of use.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thansk,&lt;/P&gt;&lt;P&gt;Ashok&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 30 Jun 2008 22:39:42 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bapi-po-create1-error-please-maintain-services-or-limits/m-p/3830889#M921170</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-06-30T22:39:42Z</dc:date>
    </item>
    <item>
      <title>Re: BAPI_PO_CREATE1 (Error - Please maintain services or limits )</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bapi-po-create1-error-please-maintain-services-or-limits/m-p/3830890#M921171</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;  You can check this code:&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) TYPE  BAPIMEPOHEADER&lt;/P&gt;&lt;P&gt;*"     VALUE(POHEADERX) TYPE  BAPIMEPOHEADERX&lt;/P&gt;&lt;P&gt;*"     VALUE(POADDRVENDOR) TYPE  BAPIMEPOADDRVENDOR&lt;/P&gt;&lt;P&gt;*"     VALUE(TESTRUN) TYPE  BAPIFLAG-BAPIFLAG&lt;/P&gt;&lt;P&gt;*"     VALUE(MEMORY_UNCOMPLETE) TYPE  BAPIFLAG-BAPIFLAG&lt;/P&gt;&lt;P&gt;*"     VALUE(MEMORY_COMPLETE) TYPE  BAPIFLAG-BAPIFLAG&lt;/P&gt;&lt;P&gt;*"     VALUE(POEXPIMPHEADER) TYPE  BAPIMEPOHEADER&lt;/P&gt;&lt;P&gt;*"     VALUE(POEXPIMPHEADERX) TYPE  BAPIMEPOHEADERX&lt;/P&gt;&lt;P&gt;*"     VALUE(VERSIONS) TYPE  BAPIMEDCM&lt;/P&gt;&lt;P&gt;*"     VALUE(NO_MESSAGING) TYPE  BAPIFLAG-BAPIFLAG&lt;/P&gt;&lt;P&gt;*"     VALUE(NO_MESSAGE_REQ) TYPE  BAPIFLAG-BAPIFLAG&lt;/P&gt;&lt;P&gt;*"     VALUE(NO_AUTHORITY) TYPE  BAPIFLAG-BAPIFLAG&lt;/P&gt;&lt;P&gt;*"     VALUE(NO_PRICE_FROM_PO) TYPE  BAPIFLAG-BAPIFLAG&lt;/P&gt;&lt;P&gt;*"  EXPORTING&lt;/P&gt;&lt;P&gt;*"     VALUE(EXPPURCHASEORDER) TYPE  BAPIMEPOHEADER-PO_NUMBER&lt;/P&gt;&lt;P&gt;*"     VALUE(EXPHEADER) TYPE  BAPIMEPOHEADER&lt;/P&gt;&lt;P&gt;*"     VALUE(EXPPOEXPIMPHEADER) TYPE  BAPIMEPOHEADER&lt;/P&gt;&lt;P&gt;*"  TABLES&lt;/P&gt;&lt;P&gt;*"      RETURN STRUCTURE  BAPIRET2&lt;/P&gt;&lt;P&gt;*"      POITEM STRUCTURE  BAPIMEPOITEM&lt;/P&gt;&lt;P&gt;*"      POITEMX STRUCTURE  BAPIMEPOITEMX&lt;/P&gt;&lt;P&gt;*"      POADDRDELIVERY STRUCTURE  BAPIMEPOADDRDELIVERY&lt;/P&gt;&lt;P&gt;*"      POSCHEDULE STRUCTURE  BAPIMEPOSCHEDULE&lt;/P&gt;&lt;P&gt;*"      POSCHEDULEX STRUCTURE  BAPIMEPOSCHEDULX&lt;/P&gt;&lt;P&gt;*"      POACCOUNT STRUCTURE  BAPIMEPOACCOUNT&lt;/P&gt;&lt;P&gt;*"      POACCOUNTPROFITSEGMENT STRUCTURE  BAPIMEPOACCOUNTPROFITSEGMENT&lt;/P&gt;&lt;P&gt;*"      POACCOUNTX STRUCTURE  BAPIMEPOACCOUNTX&lt;/P&gt;&lt;P&gt;*"      POCONDHEADER STRUCTURE  BAPIMEPOCOND&lt;/P&gt;&lt;P&gt;*"      POCONDHEADERX STRUCTURE  BAPIMEPOCONDX&lt;/P&gt;&lt;P&gt;*"      POCOND STRUCTURE  BAPIMEPOCOND&lt;/P&gt;&lt;P&gt;*"      POCONDX STRUCTURE  BAPIMEPOCONDX&lt;/P&gt;&lt;P&gt;*"      POLIMITS STRUCTURE  BAPIESUHC&lt;/P&gt;&lt;P&gt;*"      POCONTRACTLIMITS STRUCTURE  BAPIESUCC&lt;/P&gt;&lt;P&gt;*"      POSERVICES STRUCTURE  BAPIESLLC&lt;/P&gt;&lt;P&gt;*"      POSRVACCESSVALUES STRUCTURE  BAPIESKLC&lt;/P&gt;&lt;P&gt;*"      POSERVICESTEXT STRUCTURE  BAPIESLLTX&lt;/P&gt;&lt;P&gt;*"      EXTENSIONIN STRUCTURE  BAPIPAREX&lt;/P&gt;&lt;P&gt;*"      EXTENSIONOUT STRUCTURE  BAPIPAREX&lt;/P&gt;&lt;P&gt;*"      POEXPIMPITEM STRUCTURE  BAPIEIPO&lt;/P&gt;&lt;P&gt;*"      POEXPIMPITEMX STRUCTURE  BAPIEIPOX&lt;/P&gt;&lt;P&gt;*"      POTEXTHEADER STRUCTURE  BAPIMEPOTEXT&lt;/P&gt;&lt;P&gt;*"      POTEXTITEM STRUCTURE  BAPIMEPOTEXT&lt;/P&gt;&lt;P&gt;*"      ALLVERSIONS STRUCTURE  BAPIMEDCM_ALLVERSIONS&lt;/P&gt;&lt;P&gt;*"      POPARTNER STRUCTURE  BAPIEKKOP&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-serial_no   = 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 ZP2P_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-serial_no   = 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-serial_no   = 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-serial_no   = 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-serial_no   = 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-serial_no   = 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( serial_no )&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-serial_no = L_SERIAL.&lt;/P&gt;&lt;P&gt;          MODIFY T_ERRORS TRANSPORTING serial_no.&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-serial_no   = 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-serial_no   = 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-serial_no   = 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-serial_no   = 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-serial_no   = 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-serial_no   = 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-serial_no   = 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-serial_no   = 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( serial_no )&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-serial_no = L_SERIAL.&lt;/P&gt;&lt;P&gt;              MODIFY T_ERRORS TRANSPORTING serial_no.&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-serial_no   = 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( serial_no )&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-serial_no = L_SERIAL.&lt;/P&gt;&lt;P&gt;    MODIFY T_ERRORS TRANSPORTING serial_no.&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_POHEADERX  text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_POITEMX  text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_POACCOUNTX  text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM get_uom_conversion TABLES   t_poitem    STRUCTURE bapimepoitem&lt;/P&gt;&lt;P&gt;                                 t_poitemx   STRUCTURE bapimepoitemx&lt;/P&gt;&lt;P&gt;                                 t_account STRUCTURE bapimepoaccount&lt;/P&gt;&lt;P&gt;                                 t_accountx STRUCTURE bapimepoaccountx&lt;/P&gt;&lt;P&gt;                                 t_poschedule structure BAPIMEPOSCHEDULE&lt;/P&gt;&lt;P&gt;                                t_poschedulex structure BAPIMEPOSCHEDULX&lt;/P&gt;&lt;P&gt;                                t_pocond      structure BAPIMEPOCOND&lt;/P&gt;&lt;P&gt;                                T_pocondx     structure BAPIMEPOCONDX&lt;/P&gt;&lt;P&gt;                     &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 01 Jul 2008 06:24:12 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bapi-po-create1-error-please-maintain-services-or-limits/m-p/3830890#M921171</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-07-01T06:24:12Z</dc:date>
    </item>
    <item>
      <title>Re: BAPI_PO_CREATE1 (Error - Please maintain services or limits )</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bapi-po-create1-error-please-maintain-services-or-limits/m-p/3830891#M921172</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Ashok,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Did you find solution for your query, i too have same requirement of creating blanket order but when i fill POLIMITS, POSERVICES AND POSRVACCESSVALUES tables of BAPI_PO_CREATE1, i do get a message as "In case of account assignment, please enter acc. assignment data for item" even though i filled up POACCOUNT and POACCOUNTX table with all values required. &lt;/P&gt;&lt;P&gt;I request you to send the code if your successful in finding out the solution for this issue or suggestion if any to avoid this error message. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Srikanth.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 29 Sep 2008 08:57:22 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bapi-po-create1-error-please-maintain-services-or-limits/m-p/3830891#M921172</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-09-29T08:57:22Z</dc:date>
    </item>
    <item>
      <title>Re: BAPI_PO_CREATE1 (Error - Please maintain services or limits )</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bapi-po-create1-error-please-maintain-services-or-limits/m-p/3830892#M921173</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Poorna,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Did you find solution for your query, i too have same requirement of creating blanket order but when i fill POLIMITS, POSERVICES AND POSRVACCESSVALUES tables of BAPI_PO_CREATE1, i do get a message as "In case of account assignment, please enter acc. assignment data for item" even though i filled up POACCOUNT and POACCOUNTX table with all values required. &lt;/P&gt;&lt;P&gt;I request you to send the code if your successful in finding out the solution for this issue or suggestion if any to avoid this error message. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Srikanth.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 29 Sep 2008 08:58:33 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bapi-po-create1-error-please-maintain-services-or-limits/m-p/3830892#M921173</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-09-29T08:58:33Z</dc:date>
    </item>
  </channel>
</rss>

