<?xml version="1.0" encoding="UTF-8"?>
<process xmlns:bean="http://bean.boe.com/" xmlns:bpel="http://bpel.boe.com/" targetNamespace="http://bpel.boe.com/bpelj/" name="14572.bpel">
    <partnerLinks>
        <partnerLink name="bpelj" partnerLinkType="bpel:bpelj" />
        <partnerLink name="ESBService" partnerLinkType="bean:ESBService" />
        <partnerLink name="TransactionUtil" partnerLinkType="bean:TransactionUtil" />
        <partnerLink name="EventInfoUtil" partnerLinkType="bean:EventInfoUtil" />
        <partnerLink name="CommonValidation" partnerLinkType="bean:CommonValidation" />
        <partnerLink name="ERPInterfaceServiceUtil" partnerLinkType="bean:ERPInterfaceServiceUtil" />
    </partnerLinks>
    <variables>
        <variable name="address" messageType="java.lang.String"></variable>
        <variable name="aufnr" messageType="java.lang.String"></variable>
        <variable name="bldat" messageType="java.lang.String"></variable>
        <variable name="budat" messageType="java.lang.String"></variable>
        <variable name="bxtxt" messageType="java.lang.String"></variable>
        <variable name="charge" messageType="java.lang.String"></variable>
        <variable name="Created" messageType="java.lang.String"></variable>
        <variable name="customerName" messageType="java.lang.String"></variable>
        <variable name="customerNo" messageType="java.lang.String"></variable>
        <variable name="Delivery" messageType="java.lang.String"></variable>
        <variable name="destination" messageType="java.lang.String"></variable>
        <variable name="E" messageType="java.lang.String"></variable>
        <variable name="erpLocation" messageType="java.lang.String"></variable>
        <variable name="erpMessageItemListSize" messageType="int"></variable>
        <variable name="erpReceiveFactory" messageType="java.lang.String"></variable>
        <variable name="erpReceiveLocation" messageType="java.lang.String"></variable>
        <variable name="ERPSender" messageType="java.lang.String"></variable>
        <variable name="error" messageType="java.lang.Exception"></variable>
        <variable name="eventComment" messageType="java.lang.String"></variable>
        <variable name="eventInfo" messageType="com.cim.idm.framework.data.EventInfo"></variable>
        <variable name="eventName" messageType="java.lang.String"></variable>
        <variable name="eventUser" messageType="java.lang.String"></variable>
        <variable name="exportNo" messageType="java.lang.String"></variable>
        <variable name="flag" messageType="java.lang.String"></variable>
        <variable name="grtxt" messageType="java.lang.String"></variable>
        <variable name="grund" messageType="java.lang.String"></variable>
        <variable name="itemElement" messageType="org.jdom.Element"></variable>
        <variable name="itemList" messageType="java.util.List"></variable>
        <variable name="kostl" messageType="java.lang.String"></variable>
        <variable name="lifnr" messageType="java.lang.String"></variable>
        <variable name="majhr" messageType="java.lang.String"></variable>
        <variable name="materialSpecName" messageType="java.lang.String"></variable>
        <variable name="message" messageType="org.jdom.Document"></variable>
        <variable name="messageName" messageType="java.lang.String" expression="getXmlData('message', '//Message/Header/MESSAGENAME')" />
        <variable name="posid" messageType="java.lang.String"></variable>
        <variable name="replaysubjectname" messageType="java.lang.String" expression="getXmlData('message', '//Message/Header/ORIGINALSOURCESUBJECTNAME')" />
        <variable name="replySubjectName" messageType="java.lang.String" expression="getXmlData('message', '//Message/Header/ORIGINALSOURCESUBJECTNAME')" />
        <variable name="requestQuantity" messageType="java.lang.String"></variable>
        <variable name="saleReason" messageType="java.lang.String"></variable>
        <variable name="saleReasonDescription" messageType="java.lang.String"></variable>
        <variable name="seq" messageType="java.lang.String"></variable>
        <variable name="sgtxt" messageType="java.lang.String"></variable>
        <variable name="shipPlanDate" messageType="java.lang.String"></variable>
        <variable name="shipRequestDetailName" messageType="java.lang.String"></variable>
        <variable name="shipRequestDetailType" messageType="java.lang.String"></variable>
        <variable name="shipRequestName" messageType="java.lang.String"></variable>
        <variable name="shipRequestType" messageType="java.lang.String"></variable>
        <variable name="siteName" messageType="java.lang.String"></variable>
        <variable name="sobkz" messageType="java.lang.String"></variable>
        <variable name="The material is not on the line plan!" messageType="java.lang.String"></variable>
        <variable name="umlgo" messageType="java.lang.String"></variable>
        <variable name="umwrk" messageType="java.lang.String"></variable>
        <variable name="wempf" messageType="java.lang.String"></variable>
        <variable name="workOrderId" messageType="java.lang.String"></variable>
        <variable name="zf_eile" messageType="java.lang.String"></variable>
        <variable name="zf_flag" messageType="java.lang.String"></variable>
    </variables>
    <faultHandlers name="faultHandlers" bounds="781,-45,262,581">
        <catchAll name="catchAll" type="catchAll" bounds="21,35,213,528">
            <invoke name="ESBService sendErrorBySender" type="invokebean" description="public void sendErrorBySender(java.lang.String replySubject, org.jdom.Document doc, java.lang.String lanuage, java.lang.Exception e, java.lang.String senderName)" bounds="27,1,141,105" partnerLink="ESBService" partnerLinkType="ESBService" operation="sendErrorBySender" operationDesc="public void sendErrorBySender(java.lang.String replySubject, org.jdom.Document doc, java.lang.String lanuage, java.lang.Exception e, java.lang.String senderName)" ignoreThrow="false" fork="false">
                <input variable="replySubjectName" type="java.lang.String" />
                <input variable="message" type="org.jdom.Document" />
                <input constant="" type="java.lang.String" />
                <input variable="error" type="java.lang.Exception" />
                <input constant="ERPSender" type="java.lang.String" />
            </invoke>
            <invoke name="ESBService makeErrorMessageLog" type="invokebean" description="public java.lang.String makeErrorMessageLog(org.jdom.Document doc, java.lang.Exception e, java.lang.String language)" bounds="29,129,141,105" partnerLink="ESBService" partnerLinkType="ESBService" operation="makeErrorMessageLog" operationDesc="public java.lang.String makeErrorMessageLog(org.jdom.Document doc, java.lang.Exception e, java.lang.String language)" ignoreThrow="false" fork="false">
                <source idx="0" terminal="5,A" />
                <input variable="message" type="org.jdom.Document" />
                <input variable="error" type="java.lang.Exception" />
                <input constant="" type="java.lang.String" />
            </invoke>
            <invoke name="TransactionUtil rollbackTransaction" type="invokebean" description="public void rollbackTransaction()" bounds="42,269,141,105" partnerLink="TransactionUtil" partnerLinkType="TransactionUtil" operation="rollbackTransaction" operationDesc="public void rollbackTransaction()" ignoreThrow="false" fork="false">
                <source idx="0" terminal="5,A" />
            </invoke>
            <terminate name="terminate" bounds="45,417,141,65">
                <source idx="0" terminal="5,A" />
            </terminate>
        </catchAll>
    </faultHandlers>
    <sequence>
        <receive name="14572" bounds="70,30,156,81">
            <input variable="message" type="org.jdom.Document" />
        </receive>
        <expression name="expression" type="expression" bounds="78,141,141,65">
            <source idx="0" terminal="5,A" />
            <function value="setVariable('itemList', getElementList('message', '//item'))" />
        </expression>
        <expression name="expression" type="expression" bounds="78,236,141,65">
            <source idx="0" terminal="5,A" />
            <function value="setVariable('erpMessageItemListSize', getListSize('itemList'))" />
        </expression>
        <switch name="switch" bounds="132,331,33,33" type="switch">
            <source idx="0" terminal="5,A" />
            <switchstart name="switchstart" type="switchstart" bounds="93,410,110,49">
                <source idx="0" terminal="5,A" />
            </switchstart>
            <case name="case" type="case" condition="string(getVariable('erpMessageItemListSize')) &lt; 1501" bounds="118,489,60,19">
                <source idx="0" terminal="5,A" />
                <invoke name="TransactionUtil beginTransaction" type="invokebean" description="public void beginTransaction()" bounds="69,538,158,106" partnerLink="TransactionUtil" partnerLinkType="TransactionUtil" operation="beginTransaction" operationDesc="public void beginTransaction()" ignoreThrow="false" fork="false">
                    <source idx="0" terminal="5,A" />
                </invoke>
                <invoke name="EventInfoUtil makeEventInfo" type="invokebean" description="public static com.cim.idm.framework.data.EventInfo makeEventInfo(java.lang.String eventName, java.lang.String eventUser, java.lang.String eventComment, java.lang.String reasonCodeType, java.lang.String reasonCode)" bounds="78,674,141,105" partnerLink="EventInfoUtil" partnerLinkType="EventInfoUtil" operation="makeEventInfo" operationDesc="public static com.cim.idm.framework.data.EventInfo makeEventInfo(java.lang.String eventName, java.lang.String eventUser, java.lang.String eventComment, java.lang.String reasonCodeType, java.lang.String reasonCode)" ignoreThrow="false" fork="false">
                    <source idx="0" terminal="5,A" />
                    <input constant="INT_WMS25" type="java.lang.String" />
                    <input constant="ERP" type="java.lang.String" />
                    <input constant="" type="java.lang.String" />
                    <input constant="" type="java.lang.String" />
                    <input constant="" type="java.lang.String" />
                    <output variable="eventInfo" />
                </invoke>
                <while name="while" bounds="132,904,32,32" type="2" collection="itemList" element="itemElement">
                    <source idx="0" terminal="5,A" />
                    <whilestart name="whilestart" type="whilestart" bounds="93,983,110,49">
                        <source idx="0" terminal="5,A" />
                    </whilestart>
                    <expression name="expression" type="expression" bounds="78,1062,141,65">
                        <source idx="0" terminal="5,A" />
                        <function value="setVariable('shipRequestDetailType',getXmlData('itemElement','//BWART'))" />
                        <function value="setVariable('siteName',getXmlData('itemElement','//WERKS'))" />
                        <function value="setVariable('erpLocation',getXmlData('itemElement','//LGORT'))" />
                        <function value="setVariable('sobkz',getXmlData('itemElement','//SOBKZ'))" />
                        <function value="setVariable('bldat',getXmlData('itemElement','//BLDAT'))" />
                        <function value="setVariable('budat',getXmlData('itemElement','//BUDAT'))" />
                        <function value="setVariable('bktxt',getXmlData('itemElement','//BKTXT'))" />
                        <function value="setVariable('lifnr',getXmlData('itemElement','//LIFNR'))" />
                        <function value="setVariable('kostl',getXmlData('itemElement','//KOSTL'))" />
                        <function value="setVariable('zufnr',getXmlData('itemElement','//AUFNR'))" />
                        <function value="setVariable('umwrk',getXmlData('itemElement','//UMWRK'))" />
                        <function value="setVariable('umlgo',getXmlData('itemElement','//UMLGO'))" />
                        <function value="setVariable('wempf',getXmlData('itemElement','//WEMPF'))" />
                        <function value="setVariable('materialSpecName',getXmlData('itemElement','//MATNR'))" />
                        <function value="setVariable('requestQuantity',getXmlData('itemElement','//MENGE'))" />
                        <function value="setVariable('charge',getXmlData('itemElement','//CHARG'))" />
                        <function value="setVariable('sgtxt',getXmlData('itemElement','//SGTXT'))" />
                        <function value="setVariable('shipRequestName',getXmlData('itemElement','//MBLNR&#xD;&#xA;'))" />
                        <function value="setVariable('mjahr',getXmlData('itemElement','//MJAHR'))" />
                        <function value="setVariable('shipRequestDetailName',getXmlData('itemElement','//ZF_EILE'))" />
                        <function value="setVariable('zf_flag',getXmlData('itemElement','//ZF_FLAG'))" />
                        <function value="setVariable('seq',getXmlData('itemElement','//SEQ'))" />
                        <function value="setVariable('flag',getXmlData('itemElement','//FLAG'))" />
                        <function value="setVariable('grund',getXmlData('itemElement','//GRUND'))" />
                        <function value="setVariable('grtxt',getXmlData('itemElement','//GRTXT'))" />
                        <function value="setVariable('posid',getXmlData('itemElement','//POSID'))" />
                    </expression>
                    <invoke name="CommonValidation getShipRequestType" type="invokebean" description="public java.lang.String getShipRequestType(java.lang.String shipRequestDetailType)" bounds="78,1157,141,105" partnerLink="CommonValidation" partnerLinkType="CommonValidation" operation="getShipRequestType" operationDesc="public java.lang.String getShipRequestType(java.lang.String shipRequestDetailType)" ignoreThrow="false" fork="false">
                        <source idx="0" terminal="5,A" />
                        <input variable="shipRequestDetailType" type="java.lang.String" />
                        <output variable="shipRequestType" />
                        <fault faultName="catchAll" variable="error" />
                    </invoke>
                    <invoke name="ERPInterfaceServiceUtil INT_14572" type="invokebean" description="public void INT_14572(java.lang.String flag, com.cim.idm.framework.data.EventInfo eventInfo, java.lang.String erpFactoryName, java.lang.String shipRequestName, java.lang.String shipRequestDetailName, java.lang.String materialSpecName, java.lang.String grade, java.lang.String domesticExport, java.lang.String requestQuantity, java.lang.String assignedQuantity, java.lang.String shipRequestState, java.lang.String shipRequestType, java.lang.String shipRequestDetailType, java.lang.String customerNO, java.lang.String deliveryType, java.lang.String shipPlanDate, java.lang.String exportNo, java.lang.String saleReason, java.lang.String saleReasonDescription, java.lang.String workOrderId, java.lang.String erpReceiveFactory, java.lang.String erpReceiveLocation, java.lang.String charge, java.lang.String erpLocation, java.lang.String customsDeclare, java.lang.String erpFactoryName2, java.lang.String messageName, java.lang.String costCenter, java.lang.String receiver, java.lang.String remark, java.lang.String loadPosition)" bounds="78,1292,141,105" partnerLink="ERPInterfaceServiceUtil" partnerLinkType="ERPInterfaceServiceUtil" operation="INT_14572" operationDesc="public void INT_14572(java.lang.String flag, com.cim.idm.framework.data.EventInfo eventInfo, java.lang.String erpFactoryName, java.lang.String shipRequestName, java.lang.String shipRequestDetailName, java.lang.String materialSpecName, java.lang.String grade, java.lang.String domesticExport, java.lang.String requestQuantity, java.lang.String assignedQuantity, java.lang.String shipRequestState, java.lang.String shipRequestType, java.lang.String shipRequestDetailType, java.lang.String customerNO, java.lang.String deliveryType, java.lang.String shipPlanDate, java.lang.String exportNo, java.lang.String saleReason, java.lang.String saleReasonDescription, java.lang.String workOrderId, java.lang.String erpReceiveFactory, java.lang.String erpReceiveLocation, java.lang.String charge, java.lang.String erpLocation, java.lang.String customsDeclare, java.lang.String erpFactoryName2, java.lang.String messageName, java.lang.String costCenter, java.lang.String receiver, java.lang.String remark, java.lang.String loadPosition)" ignoreThrow="false" fork="false">
                        <source idx="0" terminal="5,A" />
                        <input variable="zf_flag" type="java.lang.String" />
                        <input variable="eventInfo" type="com.cim.idm.framework.data.EventInfo" />
                        <input variable="siteName" type="java.lang.String" />
                        <input variable="shipRequestName" type="java.lang.String" />
                        <input variable="shipRequestDetailName" type="java.lang.String" />
                        <input variable="materialSpecName" type="java.lang.String" />
                        <input variable="charge" type="java.lang.String" />
                        <input constant="" type="java.lang.String" />
                        <input variable="requestQuantity" type="java.lang.String" />
                        <input constant="0" type="java.lang.String" />
                        <input constant="Created" type="java.lang.String" />
                        <input variable="shipRequestType" type="java.lang.String" />
                        <input variable="shipRequestDetailType" type="java.lang.String" />
                        <input variable="lifnr" type="java.lang.String" />
                        <input constant="Scrap" type="java.lang.String" />
                        <input constant="" type="java.lang.String" />
                        <input constant="" type="java.lang.String" />
                        <input constant="" type="java.lang.String" />
                        <input constant="" type="java.lang.String" />
                        <input constant="" type="java.lang.String" />
                        <input variable="umwrk" type="java.lang.String" />
                        <input variable="umlgo" type="java.lang.String" />
                        <input variable="charge" type="java.lang.String" />
                        <input variable="erpLocation" type="java.lang.String" />
                        <input constant="" type="java.lang.String" />
                        <input constant="" type="java.lang.String" />
                        <input variable="messageName" type="java.lang.String" />
                        <input variable="kostl" type="java.lang.String" />
                        <input constant="" type="java.lang.String" />
                        <input constant="" type="java.lang.String" />
                        <input constant="" type="java.lang.String" />
                        <input variable="sobkz" type="java.lang.String" />
                        <input variable="bldat" type="java.lang.String" />
                        <input variable="budat" type="java.lang.String" />
                        <input variable="bxtxt" type="java.lang.String" />
                        <input variable="aufnr" type="java.lang.String" />
                        <input variable="wempf" type="java.lang.String" />
                        <input variable="sgtxt" type="java.lang.String" />
                        <input variable="majhr" type="java.lang.String" />
                        <input variable="seq" type="java.lang.String" />
                        <input variable="grund" type="java.lang.String" />
                        <input variable="grtxt" type="java.lang.String" />
                        <input variable="posid" type="java.lang.String" />
                        <fault faultName="catchAll" variable="error" />
                    </invoke>
                    <whileend name="whileend" type="whileend" bounds="93,1417,110,49">
                        <source idx="0" terminal="5,A" />
                    </whileend>
                </while>
                <invoke name="TransactionUtil commitTransaction" type="invokebean" description="public void commitTransaction()" bounds="67,1496,162,103" partnerLink="TransactionUtil" partnerLinkType="TransactionUtil" operation="commitTransaction" operationDesc="public void commitTransaction()" ignoreThrow="false" fork="false">
                    <source idx="0" terminal="5,A" />
                </invoke>
                <invoke name="ESBService sendReplyBySender" type="invokebean" description="public void sendReplyBySender(java.lang.String replySubject, org.jdom.Document doc, java.lang.String senderName)" bounds="78,1629,141,105" partnerLink="ESBService" partnerLinkType="ESBService" operation="sendReplyBySender" operationDesc="public void sendReplyBySender(java.lang.String replySubject, org.jdom.Document doc, java.lang.String senderName)" ignoreThrow="false" fork="false">
                    <source idx="0" terminal="5,A" />
                    <input variable="replySubjectName" type="java.lang.String" />
                    <input variable="message" type="org.jdom.Document" />
                    <input constant="ERPSender" type="java.lang.String" />
                </invoke>
            </case>
            <otherwise name="otherwise" type="otherwise" bounds="319,489,88,19">
                <source idx="0" terminal="5,A" />
                <invoke name="ESBService sendReplyBySender" type="invokebean" description="public void sendReplyBySender(java.lang.String replySubject, org.jdom.Document doc, java.lang.String senderName, java.lang.String resultCode, java.lang.String resultMessage)" bounds="293,538,141,105" partnerLink="ESBService" partnerLinkType="ESBService" operation="sendReplyBySender" operationDesc="public void sendReplyBySender(java.lang.String replySubject, org.jdom.Document doc, java.lang.String senderName, java.lang.String resultCode, java.lang.String resultMessage)" ignoreThrow="false" fork="false">
                    <source idx="0" terminal="5,A" />
                    <input variable="replaysubjectname" type="java.lang.String" />
                    <input variable="message" type="org.jdom.Document" />
                    <input constant="ERPSender" type="java.lang.String" />
                    <input constant="E" type="java.lang.String" />
                    <input constant="Items more than 15000" type="java.lang.String" />
                </invoke>
            </otherwise>
        </switch>
    </sequence>
</process>

