<?xml version="1.0" encoding="euc-kr"?>
<process xmlns:bean="http://bean.boe.com/" xmlns:bpel="http://bpel.boe.com/" targetNamespace="http://bpel.boe.com/bpelj/" name="PDAStockOut.bpel">
    <partnerLinks>
        <partnerLink name="bpelj" partnerLinkType="bpel:bpelj" />
        <partnerLink name="TransactionUtil" partnerLinkType="bean:TransactionUtil" />
        <partnerLink name="CommonValidation" partnerLinkType="bean:CommonValidation" />
        <partnerLink name="EventInfoUtil" partnerLinkType="bean:EventInfoUtil" />
        <partnerLink name="MaterialReceiveRequestServiceImpl" partnerLinkType="bean:MaterialReceiveRequestServiceImpl" />
        <partnerLink name="MaterialShipRequestServiceImpl" partnerLinkType="bean:MaterialShipRequestServiceImpl" />
        <partnerLink name="MaterialPackingServiceUtil" partnerLinkType="bean:MaterialPackingServiceUtil" />
        <partnerLink name="MaterialPackingServiceImpl" partnerLinkType="bean:MaterialPackingServiceImpl" />
        <partnerLink name="StorageServiceImpl" partnerLinkType="bean:StorageServiceImpl" />
        <partnerLink name="ERPInterfaceServiceImpl" partnerLinkType="bean:ERPInterfaceServiceImpl" />
        <partnerLink name="ESBService" partnerLinkType="bean:ESBService" />
    </partnerLinks>
    <variables>
        <variable name="actType" messageType="java.lang.String" expression="getXmlData('message', '//Message/Body/MATERIALSHIPREQUEST/ACTTYPE')" />
        <variable name="boxCount" messageType="java.lang.String"></variable>
        <variable name="boxList" messageType="java.util.List"></variable>
        <variable name="Complete" messageType="java.lang.String"></variable>
        <variable name="Completed" messageType="java.lang.String"></variable>
        <variable name="Deliverytype" messageType="java.lang.String" expression="getXmlData('message', '//Message/Body/MATERIALSHIPREQUEST/DELIVERYTYPE')" />
        <variable name="ERPEventTime" messageType="java.lang.String" expression="getXmlData('message', '//Message/Body/MATERIALSHIPREQUEST/RECEIVETIME')" />
        <variable name="eventComment" messageType="java.lang.String" expression="getXmlData('message', '//Message/Header/EVENTCOMMENT')" />
        <variable name="eventInfo" messageType="com.cim.idm.framework.data.EventInfo"></variable>
        <variable name="EventName" messageType="java.lang.String">¡°CompleteShipRequest¡±</variable>
        <variable name="eventUser" messageType="java.lang.String" expression="getXmlData('message', '//Message/Header/EVENTUSER')" />
        <variable name="locationList" messageType="java.util.List"></variable>
        <variable name="materialDoinfo" messageType="com.cim.idm.wmspackage.materialundo.info.MaterialUnDoinfo"></variable>
        <variable name="materialDoinfoList" messageType="java.util.List"></variable>
        <variable name="message" messageType="org.jdom.Document"></variable>
        <variable name="messageID" messageType="java.lang.String"></variable>
        <variable name="messagename" messageType="java.lang.String" expression="getXmlData('message', '//Message/Header/MESSAGENAME')" />
        <variable name="OICSender" messageType="java.lang.String"></variable>
        <variable name="PDABoxSplit" messageType="java.lang.String"></variable>
        <variable name="PDASender" messageType="java.lang.String"></variable>
        <variable name="PDAStockOut" messageType="org.jdom.Document"></variable>
        <variable name="reasonCode" messageType="java.lang.String" expression="getXmlData('message', '//Message/Body/MATERIALSHIPREQUEST/REASONCODE')" />
        <variable name="reasonCodeType" messageType="java.lang.String" expression="getXmlData('message', '//Message/Body/MATERIALSHIPREQUEST/REASONCODETYPE')" />
        <variable name="receiveActNo" messageType="java.lang.String" expression="getXmlData('message', '//Message/Body/MATERIALSHIPREQUEST/RECEIVEACTNO')" />
        <variable name="replySubjectName" messageType="java.lang.String" expression="getXmlData('message', '//Message/Header/ORIGINALSOURCESUBJECTNAME')" />
        <variable name="returnElement" messageType="org.jdom.Element"></variable>
        <variable name="Shipped" messageType="java.lang.String"></variable>
        <variable name="Shiprequestdetailtype" messageType="java.lang.String" expression="getXmlData('message', '//Message/Body/MATERIALSHIPREQUEST/SHIPREQUESTDETAILTYPE')" />
        <variable name="shipRequestName" messageType="java.lang.String" expression="getXmlData('message', '//Message/Body/MATERIALSHIPREQUEST/SHIPREQUESTNAME')" />
        <variable name="siteName" messageType="java.lang.String" expression="getXmlData('message', '//Message/Body/MATERIALSHIPREQUEST/SITENAME')" />
        <variable name="specialDateFlag" messageType="java.lang.Boolean">True</variable>
        <variable name="StockOut" messageType="java.lang.String"></variable>
        <variable name="storageName" messageType="java.lang.String"></variable>
        <variable name="unDoDetailName" messageType="java.lang.String"></variable>
        <variable name="unDoID" messageType="java.lang.String"></variable>
        <variable name="useState" messageType="java.lang.String"></variable>
    </variables>
    <note name="Note" bounds="392,1706,91,-1">2016/5/9,ERP:Export does not need to pass the interface</note>
    <sequence>
        <receive name="PDAStockOut" bounds="70,30,149,62">
            <input variable="message" type="org.jdom.Document" />
        </receive>
        <invoke name="TransactionUtil beginTransaction" type="invokebean" description="public void beginTransaction()" bounds="74,122,141,105" partnerLink="TransactionUtil" partnerLinkType="TransactionUtil" operation="beginTransaction" operationDesc="public void beginTransaction()">
            <source idx="0" terminal="5,A" />
        </invoke>
        <invoke name="CommonValidation GetMessageID" type="invokebean" description="public java.lang.String GetMessageID(java.lang.String sitename)" bounds="74,257,141,105" partnerLink="CommonValidation" partnerLinkType="CommonValidation" operation="GetMessageID" operationDesc="public java.lang.String GetMessageID(java.lang.String sitename)" ignoreThrow="false" fork="false">
            <source idx="0" terminal="5,A" />
            <input variable="siteName" type="java.lang.String" />
            <output variable="messageID" />
        </invoke>
        <invoke name="TransactionUtil commitTransaction" type="invokebean" description="public void commitTransaction()" bounds="74,392,141,105" partnerLink="TransactionUtil" partnerLinkType="TransactionUtil" operation="commitTransaction" operationDesc="public void commitTransaction()" ignoreThrow="false" fork="false">
            <source idx="0" terminal="5,A" />
        </invoke>
        <invoke name="TransactionUtil beginTransaction" type="invokebean" description="public void beginTransaction()" bounds="74,527,141,105" 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="74,662,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 variable="messagename" type="java.lang.String" />
            <input variable="eventUser" type="java.lang.String" />
            <input variable="eventComment" type="java.lang.String" />
            <input variable="reasonCodeType" type="java.lang.String" />
            <input variable="reasonCode" type="java.lang.String" />
            <output variable="eventInfo" />
        </invoke>
        <invoke name="MaterialReceiveRequestServiceImpl CreateMaterialRRActByLabel" type="invokebean" description="public void CreateMaterialRRActByLabel(com.cim.idm.framework.data.EventInfo eventInfo, java.lang.String siteName, java.lang.String receiveRequestName, java.lang.String receiveActNo, java.lang.String actType)" bounds="74,797,141,105" partnerLink="MaterialReceiveRequestServiceImpl" partnerLinkType="MaterialReceiveRequestServiceImpl" operation="CreateMaterialRRActByLabel" operationDesc="public void CreateMaterialRRActByLabel(com.cim.idm.framework.data.EventInfo eventInfo, java.lang.String siteName, java.lang.String receiveRequestName, java.lang.String receiveActNo, java.lang.String actType)" ignoreThrow="false" fork="false">
            <source idx="0" terminal="5,A" />
            <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="receiveActNo" type="java.lang.String" />
            <input variable="actType" type="java.lang.String" />
        </invoke>
        <invoke name="MaterialShipRequestServiceImpl updateComplete" type="invokebean" description="public void updateComplete(com.cim.idm.framework.data.EventInfo eventInfo, java.lang.String siteName, java.lang.String invoiceNo, java.lang.String shipRequestState)" bounds="74,932,141,105" partnerLink="MaterialShipRequestServiceImpl" partnerLinkType="MaterialShipRequestServiceImpl" operation="updateComplete" operationDesc="public void updateComplete(com.cim.idm.framework.data.EventInfo eventInfo, java.lang.String siteName, java.lang.String invoiceNo, java.lang.String shipRequestState)" ignoreThrow="false" fork="false">
            <source idx="0" terminal="5,A" />
            <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 constant="Completed" type="java.lang.String" />
        </invoke>
        <invoke name="MaterialPackingServiceUtil getPackingListFromShipRequest" type="invokebean" description="public java.util.List getPackingListFromShipRequest(java.lang.String invoiceNo)" bounds="74,1067,141,105" partnerLink="MaterialPackingServiceUtil" partnerLinkType="MaterialPackingServiceUtil" operation="getPackingListFromShipRequest" operationDesc="public java.util.List getPackingListFromShipRequest(java.lang.String invoiceNo)" ignoreThrow="false" fork="false">
            <source idx="0" terminal="5,A" />
            <input variable="shipRequestName" type="java.lang.String" />
            <output variable="boxList" />
        </invoke>
        <invoke name="MaterialPackingServiceUtil getLocationListFromShipRequest" type="invokebean" description="public java.util.List getLocationListFromShipRequest(java.lang.String invoiceNo)" bounds="74,1202,141,105" partnerLink="MaterialPackingServiceUtil" partnerLinkType="MaterialPackingServiceUtil" operation="getLocationListFromShipRequest" operationDesc="public java.util.List getLocationListFromShipRequest(java.lang.String invoiceNo)" ignoreThrow="false" fork="false">
            <source idx="0" terminal="5,A" />
            <input variable="shipRequestName" type="java.lang.String" />
            <output variable="locationList" />
        </invoke>
        <invoke name="MaterialPackingServiceImpl updateMaterialPackingStockOut" type="invokebean" description="public void updateMaterialPackingStockOut(com.cim.idm.framework.data.EventInfo eventInfo, java.lang.String siteName, java.util.List materialPackingKeyList, java.lang.String stockState, java.lang.String erpEventTime, java.lang.String eventUser, java.lang.String eventComment, java.lang.String receiveActNo)" bounds="74,1337,141,105" partnerLink="MaterialPackingServiceImpl" partnerLinkType="MaterialPackingServiceImpl" operation="updateMaterialPackingStockOut" operationDesc="public void updateMaterialPackingStockOut(com.cim.idm.framework.data.EventInfo eventInfo, java.lang.String siteName, java.util.List materialPackingKeyList, java.lang.String stockState, java.lang.String erpEventTime, java.lang.String eventUser, java.lang.String eventComment, java.lang.String receiveActNo)" ignoreThrow="false" fork="false">
            <source idx="0" terminal="5,A" />
            <input variable="eventInfo" type="com.cim.idm.framework.data.EventInfo" />
            <input variable="siteName" type="java.lang.String" />
            <input variable="boxList" type="java.util.List" />
            <input constant="StockOut" type="java.lang.String" />
            <input variable="ERPEventTime" type="java.lang.String" />
            <input variable="eventUser" type="java.lang.String" />
            <input variable="eventComment" type="java.lang.String" />
            <input variable="receiveActNo" type="java.lang.String" />
        </invoke>
        <while name="while" bounds="128,1472,32,32" type="2" collection="locationList" element="storageName">
            <source idx="0" terminal="5,A" />
            <whilestart name="whilestart" type="whilestart" bounds="89,1551,110,49">
                <source idx="0" terminal="5,A" />
            </whilestart>
            <invoke name="StorageServiceImpl changeUserStateByBoxList" type="invokebean" description="public void changeUserStateByBoxList(com.cim.idm.framework.data.EventInfo eventInfo, java.lang.String siteName, java.lang.String storageName)" bounds="74,1630,141,105" partnerLink="StorageServiceImpl" partnerLinkType="StorageServiceImpl" operation="changeUserStateByBoxList" operationDesc="public void changeUserStateByBoxList(com.cim.idm.framework.data.EventInfo eventInfo, java.lang.String siteName, java.lang.String storageName)" ignoreThrow="false" fork="false">
                <source idx="0" terminal="5,A" />
                <input variable="eventInfo" type="com.cim.idm.framework.data.EventInfo" />
                <input variable="siteName" type="java.lang.String" />
                <input variable="storageName" type="java.lang.String" />
            </invoke>
            <whileend name="whileend" type="whileend" bounds="368,1755,110,49">
                <source idx="0" terminal="5,A" />
            </whileend>
        </while>
        <invoke name="MaterialPackingServiceImpl updateMessageID" type="invokebean" description="public void updateMessageID(java.util.List materialPackingNameList, java.lang.String siteName, java.lang.String messageid, com.cim.idm.framework.data.EventInfo eventinfo)" bounds="353,1834,141,105" partnerLink="MaterialPackingServiceImpl" partnerLinkType="MaterialPackingServiceImpl" operation="updateMessageID" operationDesc="public void updateMessageID(java.util.List materialPackingNameList, java.lang.String siteName, java.lang.String messageid, com.cim.idm.framework.data.EventInfo eventinfo)" ignoreThrow="false" fork="false">
            <source idx="0" terminal="5,A" />
            <input variable="boxList" type="java.util.List" />
            <input variable="siteName" type="java.lang.String" />
            <input variable="messageID" type="java.lang.String" />
            <input variable="eventInfo" type="com.cim.idm.framework.data.EventInfo" />
        </invoke>
        <switch name="switch" bounds="407,1969,33,33" type="switch">
            <source idx="0" terminal="5,A" />
            <switchstart name="switchstart" type="switchstart" bounds="368,2048,110,49">
                <source idx="0" terminal="5,A" />
            </switchstart>
            <case name="case" type="case" condition="getVariable('Deliverytype') = 'Reserve'" bounds="128,2127,32,49">
                <source idx="0" terminal="5,A" />
                <invoke name="MaterialPackingServiceImpl MaterialPackingStockOut_15SEQ" type="invokebean" description="public void MaterialPackingStockOut_15SEQ(java.util.List materialPackingKeyList, java.lang.String siteName, java.lang.String invoiceNo)" bounds="74,2206,141,105" partnerLink="MaterialPackingServiceImpl" partnerLinkType="MaterialPackingServiceImpl" operation="MaterialPackingStockOut_15SEQ" operationDesc="public void MaterialPackingStockOut_15SEQ(java.util.List materialPackingKeyList, java.lang.String siteName, java.lang.String invoiceNo)" ignoreThrow="false" fork="false">
                    <source idx="0" terminal="5,A" />
                    <input variable="boxList" type="java.util.List" />
                    <input variable="siteName" type="java.lang.String" />
                    <input variable="shipRequestName" type="java.lang.String" />
                </invoke>
                <invoke name="ERPInterfaceServiceImpl erp_StockOut_WMS15" type="invokebean" description="public static java.util.List erp_StockOut_WMS15(java.lang.String invoiceNo, com.cim.idm.framework.data.EventInfo eventInfo, java.lang.String receiveActNo, java.lang.String erpEventTime, java.lang.String messageID)" bounds="74,2341,141,105" partnerLink="ERPInterfaceServiceImpl" partnerLinkType="ERPInterfaceServiceImpl" operation="erp_StockOut_WMS15" operationDesc="public static java.util.List erp_StockOut_WMS15(java.lang.String invoiceNo, com.cim.idm.framework.data.EventInfo eventInfo, java.lang.String receiveActNo, java.lang.String erpEventTime, java.lang.String messageID)" ignoreThrow="false" fork="false">
                    <source idx="0" terminal="5,A" />
                    <input variable="shipRequestName" type="java.lang.String" />
                    <input variable="eventInfo" type="com.cim.idm.framework.data.EventInfo" />
                    <input variable="receiveActNo" type="java.lang.String" />
                    <input variable="ERPEventTime" type="java.lang.String" />
                    <input variable="messageID" type="java.lang.String" />
                    <output variable="materialDoinfoList" />
                </invoke>
            </case>
            <case name="case" type="case" condition="getVariable('Deliverytype') = 'Delivery'" bounds="407,2127,32,49">
                <source idx="0" terminal="5,A" />
                <switch name="switch" bounds="407,2206,33,33" type="switch">
                    <source idx="0" terminal="5,A" />
                    <switchstart name="switchstart" type="switchstart" bounds="368,2285,110,49">
                        <source idx="0" terminal="5,A" />
                    </switchstart>
                    <case name="case" type="case" condition="getVariable('Shiprequestdetailtype') = 'ZELF' &#xD;&#xA;or  getVariable('Shiprequestdetailtype') = 'ZERM' " bounds="291,2364,60,58">
                        <source idx="0" terminal="5,A" />
                        <invoke name="MaterialPackingServiceImpl updateEventName" type="invokebean" description="public void updateEventName(java.util.List materialPackingNameList, java.lang.String siteName, java.lang.String messageid, com.cim.idm.framework.data.EventInfo eventinfo)" bounds="251,2452,141,105" partnerLink="MaterialPackingServiceImpl" partnerLinkType="MaterialPackingServiceImpl" operation="updateEventName" operationDesc="public void updateEventName(java.util.List materialPackingNameList, java.lang.String siteName, java.lang.String messageid, com.cim.idm.framework.data.EventInfo eventinfo)" ignoreThrow="false" fork="false">
                            <source idx="0" terminal="5,A" />
                            <input variable="boxList" type="java.util.List" />
                            <input variable="siteName" type="java.lang.String" />
                            <input variable="messageID" type="java.lang.String" />
                            <input variable="eventInfo" type="com.cim.idm.framework.data.EventInfo" />
                        </invoke>
                    </case>
                    <otherwise name="otherwise" type="otherwise" bounds="482,2364,88,53">
                        <source idx="0" terminal="5,A" />
                        <invoke name="CommonValidation getDateSpecial" type="invokebean" description="public java.lang.String getDateSpecial(java.lang.String time, java.lang.Boolean minusFlag)" bounds="456,2447,141,105" partnerLink="CommonValidation" partnerLinkType="CommonValidation" operation="getDateSpecial" operationDesc="public java.lang.String getDateSpecial(java.lang.String time, java.lang.Boolean minusFlag)" ignoreThrow="false" fork="false">
                            <source idx="0" terminal="5,A" />
                            <input variable="ERPEventTime" type="java.lang.String" />
                            <input variable="specialDateFlag" type="java.lang.Boolean" />
                            <output variable="ERPEventTime" />
                        </invoke>
                        <invoke name="MaterialPackingServiceImpl MaterialPackingStockOut_05SEQ" type="invokebean" description="public void MaterialPackingStockOut_05SEQ(com.cim.idm.framework.data.EventInfo eventInfo, java.util.List materialPackingKeyList, java.lang.String siteName, java.lang.String invoiceNo)" bounds="456,2582,141,105" partnerLink="MaterialPackingServiceImpl" partnerLinkType="MaterialPackingServiceImpl" operation="MaterialPackingStockOut_05SEQ" operationDesc="public void MaterialPackingStockOut_05SEQ(com.cim.idm.framework.data.EventInfo eventInfo, java.util.List materialPackingKeyList, java.lang.String siteName, java.lang.String invoiceNo)" ignoreThrow="false" fork="false">
                            <source idx="0" terminal="5,A" />
                            <input variable="eventInfo" type="com.cim.idm.framework.data.EventInfo" />
                            <input variable="boxList" type="java.util.List" />
                            <input variable="siteName" type="java.lang.String" />
                            <input variable="shipRequestName" type="java.lang.String" />
                        </invoke>
                        <invoke name="ERPInterfaceServiceImpl erp_StockOut_WMS05" type="invokebean" description="public static java.util.List erp_StockOut_WMS05(java.lang.String invoiceNo, com.cim.idm.framework.data.EventInfo eventInfo, java.lang.String flag, java.lang.String messageID)" bounds="456,2717,141,105" partnerLink="ERPInterfaceServiceImpl" partnerLinkType="ERPInterfaceServiceImpl" operation="erp_StockOut_WMS05" operationDesc="public static java.util.List erp_StockOut_WMS05(java.lang.String invoiceNo, com.cim.idm.framework.data.EventInfo eventInfo, java.lang.String flag, java.lang.String messageID)" ignoreThrow="false" fork="false">
                            <source idx="0" terminal="5,A" />
                            <input variable="shipRequestName" />
                            <input variable="eventInfo" />
                            <input constant="1" type="java.lang.String" />
                            <input variable="messageID" />
                            <input variable="ERPEventTime" />
                            <output variable="materialDoinfoList" />
                        </invoke>
                    </otherwise>
                    <switchend name="switchend" type="switchend" bounds="368,2842,110,49">
                        <source idx="0" terminal="5,A" />
                        <source idx="1" terminal="5,A" />
                    </switchend>
                </switch>
            </case>
            <case name="case" type="case" condition="getVariable('Deliverytype') = 'WO'" bounds="687,2127,60,30">
                <source idx="0" terminal="5,A" />
                <invoke name="MaterialPackingServiceImpl MaterialPackingStockOut_02SEQ" type="invokebean" description="public void MaterialPackingStockOut_02SEQ(java.util.List materialPackingKeyList, java.lang.String siteName, java.lang.String invoiceNo)" bounds="647,2187,141,105" partnerLink="MaterialPackingServiceImpl" partnerLinkType="MaterialPackingServiceImpl" operation="MaterialPackingStockOut_02SEQ" operationDesc="public void MaterialPackingStockOut_02SEQ(java.util.List materialPackingKeyList, java.lang.String siteName, java.lang.String invoiceNo)" ignoreThrow="false" fork="false">
                    <source idx="0" terminal="5,A" />
                    <input variable="boxList" type="java.util.List" />
                    <input variable="siteName" type="java.lang.String" />
                    <input variable="shipRequestName" type="java.lang.String" />
                </invoke>
                <invoke name="ERPInterfaceServiceImpl erp_StockOut_WMS02" type="invokebean" description="public static java.util.List erp_StockOut_WMS02(java.lang.String invoiceNo, com.cim.idm.framework.data.EventInfo eventInfo, java.lang.String erpEventTime, java.lang.String flag, java.lang.String messageID, java.lang.String receiveActNo)" bounds="647,2322,141,105" partnerLink="ERPInterfaceServiceImpl" partnerLinkType="ERPInterfaceServiceImpl" operation="erp_StockOut_WMS02" operationDesc="public static java.util.List erp_StockOut_WMS02(java.lang.String invoiceNo, com.cim.idm.framework.data.EventInfo eventInfo, java.lang.String erpEventTime, java.lang.String flag, java.lang.String messageID, java.lang.String receiveActNo)" ignoreThrow="false" fork="false">
                    <source idx="0" terminal="5,A" />
                    <input variable="shipRequestName" type="java.lang.String" />
                    <input variable="eventInfo" type="com.cim.idm.framework.data.EventInfo" />
                    <input variable="ERPEventTime" type="java.lang.String" />
                    <input constant="1" type="java.lang.String" />
                    <input variable="messageID" type="java.lang.String" />
                    <input variable="receiveActNo" type="java.lang.String" />
                    <output variable="materialDoinfoList" />
                </invoke>
            </case>
            <switchend name="switchend" type="switchend" bounds="404,2911,110,49">
                <source idx="0" terminal="5,A" />
                <source idx="1" terminal="5,A" />
                <source idx="2" terminal="5,A">
                    <BendPoint FirstRelative="-1,475" SecondRelative="439,-10" weight="0.5" />
                </source>
            </switchend>
        </switch>
        <invoke name="TransactionUtil commitTransaction" type="invokebean" description="public void commitTransaction()" bounds="389,2990,141,105" partnerLink="TransactionUtil" partnerLinkType="TransactionUtil" operation="commitTransaction" operationDesc="public void commitTransaction()">
            <source idx="0" terminal="5,A" />
        </invoke>
        <invoke name="TransactionUtil beginTransaction" type="invokebean" description="public void beginTransaction()" bounds="389,3125,141,105" partnerLink="TransactionUtil" partnerLinkType="TransactionUtil" operation="beginTransaction" operationDesc="public void beginTransaction()">
            <source idx="0" terminal="5,A" />
        </invoke>
        <switch name="switch" bounds="443,3260,33,33" type="switch">
            <source idx="0" terminal="5,A" />
            <switchstart name="switchstart" type="switchstart" bounds="404,3339,110,49">
                <source idx="0" terminal="5,A" />
            </switchstart>
            <case name="case" type="case" condition="getVariable('Shiprequestdetailtype') = 'ZELF' &#xD;&#xA;or  getVariable('Shiprequestdetailtype') = 'ZERM' " bounds="393,3418,60,36">
                <source idx="0" terminal="5,A" />
            </case>
            <otherwise name="otherwise" type="otherwise" bounds="651,3418,85,47">
                <source idx="0" terminal="5,A" />
                <invoke name="MaterialPackingServiceImpl insertStockOutInfo" type="invokebean" description="public void insertStockOutInfo(java.util.List materialUnDoinfoList, com.cim.idm.framework.data.EventInfo eventInfo, java.lang.String receiveActNo)" bounds="623,3495,141,105" partnerLink="MaterialPackingServiceImpl" partnerLinkType="MaterialPackingServiceImpl" operation="insertStockOutInfo" operationDesc="public void insertStockOutInfo(java.util.List materialUnDoinfoList, com.cim.idm.framework.data.EventInfo eventInfo, java.lang.String receiveActNo)" ignoreThrow="false" fork="false">
                    <source idx="0" terminal="5,A" />
                    <input variable="materialDoinfoList" type="java.util.List" />
                    <input variable="eventInfo" type="com.cim.idm.framework.data.EventInfo" />
                    <input variable="receiveActNo" type="java.lang.String" />
                </invoke>
                <switch name="switch" bounds="677,3630,33,33" type="switch">
                    <source idx="0" terminal="5,A" />
                    <switchstart name="switchstart" type="switchstart" bounds="638,3709,110,49">
                        <source idx="0" terminal="5,A" />
                    </switchstart>
                    <case name="case" type="case" condition="getVariable('Deliverytype') = 'Reserve'&#xA; and getVariable('reasonCodeType') ='301' &#xA; and (getVariable('reasonCode') ='0001' &#xA; or getVariable('reasonCode') ='0007'&#xA; or getVariable('reasonCode') ='0008'&#xA; or getVariable('reasonCode') ='0009'&#xA; or getVariable('reasonCode') ='0010')" bounds="462,3788,66,64">
                        <source idx="0" terminal="5,A" />
                        <invoke name="MaterialPackingServiceImpl SaveDumpStockInList2" type="invokebean" description="public void SaveDumpStockInList2(java.lang.String sitename, java.lang.String receiveActNO, com.cim.idm.framework.data.EventInfo eventInfo, java.lang.String shipRequestName)" bounds="425,3882,141,105" partnerLink="MaterialPackingServiceImpl" partnerLinkType="MaterialPackingServiceImpl" operation="SaveDumpStockInList2" operationDesc="public void SaveDumpStockInList2(java.lang.String sitename, java.lang.String receiveActNO, com.cim.idm.framework.data.EventInfo eventInfo, java.lang.String shipRequestName)" ignoreThrow="false" fork="false">
                            <source idx="0" terminal="5,A" />
                            <input variable="siteName" type="java.lang.String" />
                            <input variable="receiveActNo" type="java.lang.String" />
                            <input variable="eventInfo" type="com.cim.idm.framework.data.EventInfo" />
                            <input variable="shipRequestName" type="java.lang.String" />
                        </invoke>
                        <invoke name="MaterialPackingServiceImpl UpdateStockOutInfo" type="invokebean" description="public void UpdateStockOutInfo(java.lang.String shipRequestName, com.cim.idm.framework.data.EventInfo eventInfo, java.lang.String siteName)" bounds="425,4017,141,105" partnerLink="MaterialPackingServiceImpl" partnerLinkType="MaterialPackingServiceImpl" operation="UpdateStockOutInfo" operationDesc="public void UpdateStockOutInfo(java.lang.String shipRequestName, com.cim.idm.framework.data.EventInfo eventInfo, java.lang.String siteName)" ignoreThrow="false" fork="false">
                            <source idx="0" terminal="5,A" />
                            <input variable="shipRequestName" type="java.lang.String" />
                            <input variable="eventInfo" type="com.cim.idm.framework.data.EventInfo" />
                            <input variable="siteName" type="java.lang.String" />
                        </invoke>
                    </case>
                    <otherwise name="otherwise" type="otherwise" bounds="850,3788,85,79">
                        <source idx="0" terminal="5,A" />
                    </otherwise>
                    <switchend name="switchend" type="switchend" bounds="638,4142,110,49">
                        <source idx="0" terminal="5,A" />
                        <source idx="1" terminal="5,A" />
                    </switchend>
                </switch>
            </otherwise>
            <switchend name="switchend" type="switchend" bounds="404,4211,110,49">
                <source idx="0" terminal="5,A" />
                <source idx="1" terminal="5,A" />
            </switchend>
        </switch>
        <invoke name="TransactionUtil commitTransaction" type="invokebean" description="public void commitTransaction()" bounds="389,4290,141,105" partnerLink="TransactionUtil" partnerLinkType="TransactionUtil" operation="commitTransaction" operationDesc="public void commitTransaction()">
            <source idx="0" terminal="5,A" />
        </invoke>
        <invoke name="ESBService sendReplyBySender" type="invokebean" description="public void sendBySender(java.lang.String replySubject, org.jdom.Document doc, org.jdom.Element element, java.lang.String senderName)" bounds="389,4425,141,105" partnerLink="ESBService" partnerLinkType="ESBService" operation="sendReplyBySender" operationDesc="public void sendBySender(java.lang.String replySubject, org.jdom.Document doc, org.jdom.Element element, 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 variable="returnElement" type="org.jdom.Element" />
            <input constant="PDASender" type="java.lang.String" />
        </invoke>
    </sequence>
</process>

