<?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="10860.bpel">
    <partnerLinks>
        <partnerLink name="bpelj" partnerLinkType="bpel:bpelj" />
        <partnerLink name="TransactionUtil" partnerLinkType="bean:TransactionUtil" />
        <partnerLink name="ESBService" partnerLinkType="bean:ESBService" />
        <partnerLink name="EventInfoUtil" partnerLinkType="bean:EventInfoUtil" />
        <partnerLink name="ERPInterfaceServiceUtil" partnerLinkType="bean:ERPInterfaceServiceUtil" />
        <partnerLink name="CommonValidation" partnerLinkType="bean:CommonValidation" />
    </partnerLinks>
    <variables>
        <variable name="address" messageType="java.lang.String"></variable>
        <variable name="applicant" messageType="java.lang.String"></variable>
        <variable name="charge" messageType="java.lang.String"></variable>
        <variable name="city" messageType="java.lang.String"></variable>
        <variable name="Created" messageType="java.lang.String"></variable>
        <variable name="description" messageType="java.lang.String"></variable>
        <variable name="description2" messageType="java.lang.String"></variable>
        <variable name="destination" messageType="java.lang.String"></variable>
        <variable name="E" messageType="java.lang.String"></variable>
        <variable name="erpFactory" messageType="java.lang.String"></variable>
        <variable name="erpLocation" messageType="java.lang.String"></variable>
        <variable name="erpMessageItemListSize" messageType="int"></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="fax" messageType="java.lang.String"></variable>
        <variable name="flag" messageType="java.lang.String"></variable>
        <variable name="forceCompletedFlag" messageType="java.lang.String"></variable>
        <variable name="freeFlag" messageType="java.lang.String"></variable>
        <variable name="holdState" messageType="java.lang.String"></variable>
        <variable name="innerFlag" messageType="java.lang.String"></variable>
        <variable name="innerOrder" messageType="java.lang.String"></variable>
        <variable name="iqcFlag" messageType="java.lang.String"></variable>
        <variable name="itemElement" messageType="org.jdom.Element"></variable>
        <variable name="itemList" messageType="java.util.List"></variable>
        <variable name="materialSpecName" messageType="java.lang.String"></variable>
        <variable name="message" messageType="org.jdom.Document"></variable>
        <variable name="nationalNo" messageType="java.lang.String"></variable>
        <variable name="passState" messageType="java.lang.String"></variable>
        <variable name="planDate" messageType="java.lang.String"></variable>
        <variable name="pocategory" messageType="java.lang.String"></variable>
        <variable name="postCode" messageType="java.lang.String"></variable>
        <variable name="purchaseOrderGroup" messageType="java.lang.String"></variable>
        <variable name="receivedQuantity" messageType="java.lang.String">0</variable>
        <variable name="receiveRequestDetailName" messageType="java.lang.String"></variable>
        <variable name="receiveRequestDetailState" messageType="java.lang.String"></variable>
        <variable name="receiveRequestDetailType" messageType="java.lang.String"></variable>
        <variable name="receiveRequestDetalstate" messageType="java.lang.String"></variable>
        <variable name="receiveRequestName" 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="requestQuantity2" messageType="java.lang.String"></variable>
        <variable name="returnFlag" messageType="java.lang.String"></variable>
        <variable name="shipPlanDate" messageType="java.lang.String"></variable>
        <variable name="shipRequestDetailName" messageType="java.lang.String"></variable>
        <variable name="shipRequestName" messageType="java.lang.String"></variable>
        <variable name="siteName" messageType="java.lang.String"></variable>
        <variable name="subMaterialSpecName" messageType="java.lang.String"></variable>
        <variable name="supplierNo" messageType="java.lang.String"></variable>
        <variable name="tel" messageType="java.lang.String"></variable>
        <variable name="The material is not on the line plan!" messageType="java.lang.String"></variable>
    </variables>
    <faultHandlers name="faultHandlers" bounds="841,-103,278,559">
        <catchAll name="catchAll" type="catchAll" bounds="10,32,249,506">
            <invoke name="TransactionUtil rollbackTransaction" type="invokebean" description="public void rollbackTransaction()" bounds="25,11,141,105" partnerLink="TransactionUtil" partnerLinkType="TransactionUtil" operation="rollbackTransaction" operationDesc="public void rollbackTransaction()" ignoreThrow="false" fork="false" />
            <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,130,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">
                <source idx="0" terminal="5,A" />
                <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="31,266,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>
            <terminate name="terminate" bounds="24,389,141,65">
                <source idx="0" terminal="5,A" />
            </terminate>
        </catchAll>
    </faultHandlers>
    <sequence>
        <receive name="10860" bounds="183,30,156,81">
            <input variable="message" type="org.jdom.Document" />
        </receive>
        <invoke name="TransactionUtil beginTransaction" type="invokebean" description="public void beginTransaction()" bounds="182,141,158,106" partnerLink="TransactionUtil" partnerLinkType="TransactionUtil" operation="beginTransaction" operationDesc="public void beginTransaction()" ignoreThrow="false" fork="false">
            <source idx="0" terminal="5,A" />
        </invoke>
        <expression name="expression" type="expression" bounds="191,277,141,65">
            <source idx="0" terminal="5,A" />
            <function value="setVariable('itemList', getElementList('message', '//item'))" />
        </expression>
        <expression name="expression" type="expression" bounds="191,372,141,65">
            <source idx="0" terminal="5,A" />
            <function value="setVariable('erpMessageItemListSize', getListSize('itemList'))" />
        </expression>
        <switch name="switch" bounds="245,467,33,33" type="switch">
            <source idx="0" terminal="5,A" />
            <switchstart name="switchstart" type="switchstart" bounds="206,546,110,49">
                <source idx="0" terminal="5,A" />
            </switchstart>
            <case name="case" type="case" condition="string(getVariable('erpMessageItemListSize')) &lt; 15010" bounds="118,625,60,19">
                <source idx="0" terminal="5,A" />
                <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_WMS09" 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,809,32,32" type="2" collection="itemList" element="itemElement">
                    <source idx="0" terminal="5,A" />
                    <whilestart name="whilestart" type="whilestart" bounds="93,888,110,49">
                        <source idx="0" terminal="5,A" />
                    </whilestart>
                    <expression name="expression" type="expression" bounds="78,967,141,65">
                        <source idx="0" terminal="5,A" />
                        <function value="setVariable('receiveRequestName',getXmlData('itemElement','//EBELN'))" />
                        <function value="setVariable('supplierNo',getXmlData('itemElement','//LIFNR'))" />
                        <function value="setVariable('description',getXmlData('itemElement','//NAME1'))" />
                        <function value="setVariable('address',getXmlData('itemElement','//STRAS'))" />
                        <function value="setVariable('nationalNo',getXmlData('itemElement','//LAND1'))" />
                        <function value="setVariable('postCode',getXmlData('itemElement','//PSTLZ'))" />
                        <function value="setVariable('city',getXmlData('itemElement','//ORT01'))" />
                        <function value="setVariable('tel',getXmlData('itemElement','//TELF1'))" />
                        <function value="setVariable('fax',getXmlData('itemElement','//TELFX'))" />
                        <function value="setVariable('receiveRequestType',getXmlData('itemElement','//BSART'))" />
                        <function value="setVariable('PURCHASEORDERGROUP',getXmlData('itemElement','//EKGRP'))" />
                        <function value="setVariable('purchaseOrderGroup',getXmlData('itemElement','//EKGRP'))" />
                        <function value="setVariable('receiveRequestDetailName',getXmlData('itemElement','//EBELP'))" />
                        <function value="setVariable('pocategory',getXmlData('itemElement','//KNTTP'))" />
                        <function value="setVariable('receiveRequestDetailType',getXmlData('itemElement','//PSTYP'))" />
                        <function value="setVariable('materialSpecName',getXmlData('itemElement','//MATNR'))" />
                        <function value="setVariable('description2',getXmlData('itemElement','//TXZ01'))" />
                        <function value="setVariable('erpFactoryName',getXmlData('itemElement','//WERKS'))" />
                        <function value="setVariable('erpLocation',getXmlData('itemElement','//LGORT'))" />
                        <function value="setVariable('returnFlag',getXmlData('itemElement','//RETPO'))" />
                        <function value="setVariable('freeFlag',getXmlData('itemElement','//UMSON'))" />
                        <function value="setVariable('forceCompletedFlag',getXmlData('itemElement','//WEPOS'))" />
                        <function value="setVariable('receiveRequestDetailState',getXmlData('itemElement','//ELIKZ'))" />
                        <function value="setVariable('holdState',getXmlData('itemElement','//LOEKZ'))" />
                        <function value="setVariable('applicant',getXmlData('itemElement','//AFNAM'))" />
                        <function value="setVariable('requestQuantity2',getXmlData('itemElement','//BDMNG'))" />
                        <function value="setVariable('charge',getXmlData('itemElement','//CHARG'))" />
                        <function value="setVariable('iqcFlag',getXmlData('itemElement','//INSMK'))" />
                        <function value="setVariable('flag',getXmlData('itemElement','//FLAG'))" />
                        <function value="setVariable('planDate',getXmlData('itemElement','//BDTER'))" />
                        <function value="setVariable('subMaterialSpecName',getXmlData('itemElement','//MATNR1'))" />
                        <function value="setVariable('erpFactory',getXmlData('itemElement','//WERKS'))" />
                        <function value="setVariable('innerFlag',getXmlData('itemElement','//BSTAE'))" />
                        <function value="setVariable('requestQuantity',getXmlData('itemElement','//MENGE'))" />
                        <function value="setVariable('passState',getXmlData('itemElement','//FRGZU'))" />
                        <function value="setVariable('innerOrder',getXmlData('itemElement','//AUFNR'))" />
                    </expression>
                    <invoke name="ERPInterfaceServiceUtil INT_WMS09" type="invokebean" description="public void INT_WMS09(java.lang.String flag, com.cim.idm.framework.data.EventInfo eventInfo, java.lang.String erpFactoryName, java.lang.String receiveRequestName, java.lang.String receiveRequestDetailName, java.lang.String purchaseOrderGroup, java.lang.String receiveRequestState, java.lang.String pocategory, java.lang.String receiveRequestDetailType, java.lang.String materialSpecName, java.lang.String description2, java.lang.String requestQuantity, java.lang.String receivedQuantity, java.lang.String erpLocation, java.lang.String returnFlag, java.lang.String freeFlag, java.lang.String forceCompletedFlag, java.lang.String receiveRequestDetailState, java.lang.String holdState, java.lang.String iqcFlag, java.lang.String planDate, java.lang.String applicant, java.lang.String charge, java.lang.String supplierNo, java.lang.String address, java.lang.String city, java.lang.String fax, java.lang.String tel, java.lang.String postCode, java.lang.String nationalNo, java.lang.String description, java.lang.String subMaterialSpecName, java.lang.String requestQuantity2, java.lang.String innerFlag,String passState)" bounds="78,1062,141,105" partnerLink="ERPInterfaceServiceUtil" partnerLinkType="ERPInterfaceServiceUtil" operation="INT_WMS09" operationDesc="public void INT_WMS09(java.lang.String flag, com.cim.idm.framework.data.EventInfo eventInfo, java.lang.String erpFactoryName, java.lang.String receiveRequestName, java.lang.String receiveRequestDetailName, java.lang.String purchaseOrderGroup, java.lang.String receiveRequestState, java.lang.String pocategory, java.lang.String receiveRequestDetailType, java.lang.String materialSpecName, java.lang.String description2, java.lang.String requestQuantity, java.lang.String receivedQuantity, java.lang.String erpLocation, java.lang.String returnFlag, java.lang.String freeFlag, java.lang.String forceCompletedFlag, java.lang.String receiveRequestDetailState, java.lang.String holdState, java.lang.String iqcFlag, java.lang.String planDate, java.lang.String applicant, java.lang.String charge, java.lang.String supplierNo, java.lang.String address, java.lang.String city, java.lang.String fax, java.lang.String tel, java.lang.String postCode, java.lang.String nationalNo, java.lang.String description, java.lang.String subMaterialSpecName, java.lang.String requestQuantity2, java.lang.String innerFlag, java.lang.String passState, java.lang.String innerOrder)" ignoreThrow="false" fork="false">
                        <source idx="0" terminal="5,A" />
                        <input variable="flag" type="java.lang.String" />
                        <input variable="eventInfo" type="com.cim.idm.framework.data.EventInfo" />
                        <input variable="erpFactory" type="java.lang.String" />
                        <input variable="receiveRequestName" type="java.lang.String" />
                        <input variable="receiveRequestDetailName" type="java.lang.String" />
                        <input variable="purchaseOrderGroup" type="java.lang.String" />
                        <input constant="Created" type="java.lang.String" />
                        <input variable="pocategory" type="java.lang.String" />
                        <input variable="receiveRequestDetailType" type="java.lang.String" />
                        <input variable="materialSpecName" type="java.lang.String" />
                        <input variable="description2" type="java.lang.String" />
                        <input variable="requestQuantity" type="java.lang.String" />
                        <input variable="receivedQuantity" type="java.lang.String" />
                        <input variable="erpLocation" type="java.lang.String" />
                        <input variable="returnFlag" type="java.lang.String" />
                        <input variable="freeFlag" type="java.lang.String" />
                        <input variable="forceCompletedFlag" type="java.lang.String" />
                        <input variable="receiveRequestDetailState" type="java.lang.String" />
                        <input variable="holdState" type="java.lang.String" />
                        <input variable="iqcFlag" type="java.lang.String" />
                        <input variable="planDate" type="java.lang.String" />
                        <input variable="applicant" type="java.lang.String" />
                        <input variable="charge" type="java.lang.String" />
                        <input variable="supplierNo" type="java.lang.String" />
                        <input variable="address" type="java.lang.String" />
                        <input variable="city" type="java.lang.String" />
                        <input variable="fax" type="java.lang.String" />
                        <input variable="tel" type="java.lang.String" />
                        <input variable="postCode" type="java.lang.String" />
                        <input variable="nationalNo" type="java.lang.String" />
                        <input variable="description" type="java.lang.String" />
                        <input variable="subMaterialSpecName" type="java.lang.String" />
                        <input variable="requestQuantity2" type="java.lang.String" />
                        <input variable="innerFlag" type="java.lang.String" />
                        <input variable="passState" type="java.lang.String" />
                        <input variable="innerOrder" type="java.lang.String" />
                        <fault faultName="catchAll" variable="error" />
                    </invoke>
                    <invoke name="CommonValidation RefreshEventTimeKey" type="invokebean" description="public void RefreshEventTimeKey(com.cim.idm.framework.data.EventInfo eventInfo)" bounds="341,1137,141,105" partnerLink="CommonValidation" partnerLinkType="CommonValidation" operation="RefreshEventTimeKey" operationDesc="public void RefreshEventTimeKey(com.cim.idm.framework.data.EventInfo eventInfo)" ignoreThrow="false" fork="false">
                        <source idx="0" terminal="5,A" />
                        <input variable="eventInfo" type="com.cim.idm.framework.data.EventInfo" />
                    </invoke>
                    <whileend name="whileend" type="whileend" bounds="93,1187,110,49">
                        <source idx="0" terminal="5,A" />
                    </whileend>
                </while>
                <invoke name="TransactionUtil commitTransaction" type="invokebean" description="public void commitTransaction()" bounds="67,1266,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,1399,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="330,625,88,19">
                <source idx="0" terminal="5,A" />
                <invoke name="TransactionUtil commitTransaction" type="invokebean" description="public void commitTransaction()" bounds="293,674,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, java.lang.String resultCode, java.lang.String resultMessage)" bounds="304,807,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>

