<?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="SendMessageToERP.bpel">
    <partnerLinks>
        <partnerLink name="bpelj" partnerLinkType="bpel:bpelj" />
        <partnerLink name="EventInfoUtil" partnerLinkType="bean:EventInfoUtil" />
        <partnerLink name="CommonValidation" partnerLinkType="bean:CommonValidation" />
        <partnerLink name="TransactionUtil" partnerLinkType="bean:TransactionUtil" />
        <partnerLink name="MaterialPackingStockInImpl" partnerLinkType="bean:MaterialPackingStockInImpl" />
        <partnerLink name="MaterialPackingNoPOStockInImpl" partnerLinkType="bean:MaterialPackingNoPOStockInImpl" />
        <partnerLink name="MaterialPackingServiceImpl" partnerLinkType="bean:MaterialPackingServiceImpl" />
        <partnerLink name="ERPInterfaceServiceImpl" partnerLinkType="bean:ERPInterfaceServiceImpl" />
        <partnerLink name="MaterialPackingServiceUtil" partnerLinkType="bean:MaterialPackingServiceUtil" />
        <partnerLink name="ESBService" partnerLinkType="bean:ESBService" />
    </partnerLinks>
    <variables>
        <variable name="1" messageType="java.lang.String"></variable>
        <variable name="boxList" messageType="java.util.List"></variable>
        <variable name="DeliveryType" messageType="java.lang.String"></variable>
        <variable name="ERPEventTime" messageType="java.lang.String" expression="getXmlData('SendMessageToERP', '//Message/Body/SHIPTIME')" />
        <variable name="eventComment" messageType="java.lang.String" expression="getXmlData('SendMessageToERP', '//Message/Body/LASTEVENTCOMMENT')" />
        <variable name="eventInfo" messageType="com.cim.idm.framework.data.EventInfo"></variable>
        <variable name="eventUser" messageType="java.lang.String" expression="getXmlData('SendMessageToERP', '//Message/Header/EVENTUSER')" />
        <variable name="itemElement" messageType="org.jdom.Element"></variable>
        <variable name="itemList" messageType="java.util.List"></variable>
        <variable name="LASTEVENTTIMEKEY" messageType="java.lang.String"></variable>
        <variable name="materialDoinfoList" messageType="java.util.List"></variable>
        <variable name="messageid" messageType="java.lang.String"></variable>
        <variable name="OICSender" messageType="java.lang.String"></variable>
        <variable name="oldpoName" messageType="java.lang.String" expression="getXmlData('SendMessageToERP', '//Message/Body/SHIPREQUESTNAME')" />
        <variable name="receiveActNo" messageType="java.lang.String" expression="getXmlData('SendMessageToERP', '//Message/Body/RECEIVEACTNO')" />
        <variable name="replysubjectname" messageType="java.lang.String" expression="getXmlData('SendMessageToERP', '//Message/Header/ORIGINALSOURCESUBJECTNAME')" />
        <variable name="resultundo" messageType="java.lang.String"></variable>
        <variable name="SendMessageToERP" messageType="org.jdom.Document"></variable>
        <variable name="shipRequestName" messageType="java.lang.String" expression="getXmlData('SendMessageToERP', '//Message/Body/SHIPREQUESTNAME')" />
        <variable name="siteName" messageType="java.lang.String" expression="getXmlData('SendMessageToERP', '//Message/Body/SITENAME')" />
        <variable name="type" messageType="java.lang.String" expression="getXmlData('SendMessageToERP', '//Message/Body/STOCKINTYPE')" />
        <variable name="unDoID" messageType="java.lang.String"></variable>
        <variable name="unDoInfo" messageType="com.cim.idm.wmspackage.materialundo.info.MaterialUnDoinfo"></variable>
        <variable name="UnDoList" messageType="java.util.List"></variable>
    </variables>
    <sequence>
        <receive name="SendMessageToERP" bounds="356,30,149,78">
            <input variable="SendMessageToERP" type="org.jdom.Document" />
        </receive>
        <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="360,138,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="type" type="java.lang.String" />
            <input variable="eventUser" type="java.lang.String" />
            <input variable="eventComment" type="java.lang.String" />
            <input constant="" type="java.lang.String" />
            <input constant="" type="java.lang.String" />
            <output variable="eventInfo" />
        </invoke>
        <expression name="expression" type="expression" bounds="360,273,141,65">
            <source idx="0" terminal="5,A" />
            <function value="setVariable('itemList', getElementList('SendMessageToERP', '//Message/Body/UndoItemInfo/MATERIALUNDO'))" />
        </expression>
        <while name="while" bounds="414,368,32,32" type="2" collection="itemList" element="itemElement">
            <source idx="0" terminal="5,A" />
            <whilestart name="whilestart" type="whilestart" bounds="375,447,110,49">
                <source idx="0" terminal="5,A" />
            </whilestart>
            <expression name="expression" type="expression" bounds="360,526,141,65">
                <source idx="0" terminal="5,A" />
                <function value="setVariable('unDoID',getXmlData('itemElement','//UNDOID'))" />
            </expression>
            <invoke name="CommonValidation print" type="invokebean" description="public void print(java.lang.Object obj)" bounds="360,621,141,105" partnerLink="CommonValidation" partnerLinkType="CommonValidation" operation="print" operationDesc="public void print(java.lang.Object obj)" ignoreThrow="false" fork="false">
                <source idx="0" terminal="5,A" />
                <input variable="type" type="java.lang.Object" />
            </invoke>
            <switch name="switch" bounds="414,756,33,33" type="switch">
                <source idx="0" terminal="5,A" />
                <switchstart name="switchstart" type="switchstart" bounds="375,835,110,49">
                    <source idx="0" terminal="5,A" />
                </switchstart>
                <case name="case" type="case" condition="getVariable('type') =&quot;StockIn&quot;" bounds="114,914,60,56">
                    <source idx="0" terminal="5,A" />
                    <invoke name="TransactionUtil beginTransaction" type="invokebean" description="public void beginTransaction()" bounds="74,1000,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="MaterialPackingStockInImpl GetMessageID" type="invokebean" description="public java.lang.String GetMessageID(java.lang.String sitename)" bounds="74,1135,141,105" partnerLink="MaterialPackingStockInImpl" partnerLinkType="MaterialPackingStockInImpl" 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,1270,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,1405,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="MaterialPackingNoPOStockInImpl generateNoPOStockInMessage" type="invokebean" description="public java.util.List generateNoPOStockInMessage(java.lang.String undoId, java.lang.String receivedate, com.cim.idm.framework.data.EventInfo eventInfo, java.lang.String messageid)" bounds="74,1540,141,105" partnerLink="MaterialPackingNoPOStockInImpl" partnerLinkType="MaterialPackingNoPOStockInImpl" operation="generateNoPOStockInMessage" operationDesc="public java.util.List generateNoPOStockInMessage(java.lang.String undoId, java.lang.String receivedate, com.cim.idm.framework.data.EventInfo eventInfo, java.lang.String messageid)" ignoreThrow="false" fork="false">
                        <source idx="0" terminal="5,A" />
                        <input variable="unDoID" type="java.lang.String" />
                        <input variable="ERPEventTime" type="java.lang.String" />
                        <input variable="eventInfo" type="com.cim.idm.framework.data.EventInfo" />
                        <input variable="messageid" type="java.lang.String" />
                        <output variable="UnDoList" />
                    </invoke>
                    <invoke name="TransactionUtil commitTransaction" type="invokebean" description="public void commitTransaction()" bounds="74,1675,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,1810,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="MaterialPackingNoPOStockInImpl saveNPStockInInfo" type="invokebean" description="public void saveNPStockInInfo(java.util.List UnDoList, com.cim.idm.framework.data.EventInfo eventInfo, java.lang.String undoId)" bounds="74,1945,141,105" partnerLink="MaterialPackingNoPOStockInImpl" partnerLinkType="MaterialPackingNoPOStockInImpl" operation="saveNPStockInInfo" operationDesc="public void saveNPStockInInfo(java.util.List UnDoList, com.cim.idm.framework.data.EventInfo eventInfo, java.lang.String undoId)" ignoreThrow="false" fork="false">
                        <source idx="0" terminal="5,A" />
                        <input variable="UnDoList" type="java.util.List" />
                        <input variable="eventInfo" type="com.cim.idm.framework.data.EventInfo" />
                        <input variable="unDoID" type="java.lang.String" />
                    </invoke>
                    <invoke name="TransactionUtil commitTransaction" type="invokebean" description="public void commitTransaction()" bounds="74,2080,141,105" partnerLink="TransactionUtil" partnerLinkType="TransactionUtil" operation="commitTransaction" operationDesc="public void commitTransaction()" ignoreThrow="false" fork="false">
                        <source idx="0" terminal="5,A" />
                    </invoke>
                </case>
                <case name="case" type="case" condition="getVariable('type') =&quot;NPManualOQA&quot;" bounds="305,914,60,60">
                    <source idx="0" terminal="5,A" />
                    <invoke name="TransactionUtil beginTransaction" type="invokebean" description="public void beginTransaction()" bounds="265,1004,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="MaterialPackingStockInImpl GetMessageID" type="invokebean" description="public java.lang.String GetMessageID(java.lang.String sitename)" bounds="265,1139,141,105" partnerLink="MaterialPackingStockInImpl" partnerLinkType="MaterialPackingStockInImpl" 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="265,1274,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="265,1409,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="MaterialPackingNoPOStockInImpl generateOQAManualMessage" type="invokebean" description="public java.util.List generateOQAManualMessage(java.lang.String undoId, java.lang.String receivetime, com.cim.idm.framework.data.EventInfo eventInfo, java.lang.String messageid)" bounds="265,1544,141,105" partnerLink="MaterialPackingNoPOStockInImpl" partnerLinkType="MaterialPackingNoPOStockInImpl" operation="generateOQAManualMessage" operationDesc="public java.util.List generateOQAManualMessage(java.lang.String undoId, java.lang.String receivetime, com.cim.idm.framework.data.EventInfo eventInfo, java.lang.String messageid)" ignoreThrow="false" fork="false">
                        <source idx="0" terminal="5,A" />
                        <input variable="unDoID" type="java.lang.String" />
                        <input variable="ERPEventTime" type="java.lang.String" />
                        <input variable="eventInfo" type="com.cim.idm.framework.data.EventInfo" />
                        <input variable="messageid" type="java.lang.String" />
                        <output variable="UnDoList" />
                    </invoke>
                    <invoke name="TransactionUtil commitTransaction" type="invokebean" description="public void commitTransaction()" bounds="265,1679,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="265,1814,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="MaterialPackingNoPOStockInImpl SaveManualOQAInfo" type="invokebean" description="public void SaveManualOQAInfo(java.util.List UnDoList, com.cim.idm.framework.data.EventInfo eventInfo, java.lang.String undoId)" bounds="265,1949,141,105" partnerLink="MaterialPackingNoPOStockInImpl" partnerLinkType="MaterialPackingNoPOStockInImpl" operation="SaveManualOQAInfo" operationDesc="public void SaveManualOQAInfo(java.util.List UnDoList, com.cim.idm.framework.data.EventInfo eventInfo, java.lang.String undoId)" ignoreThrow="false" fork="false">
                        <source idx="0" terminal="5,A" />
                        <input variable="UnDoList" type="java.util.List" />
                        <input variable="eventInfo" type="com.cim.idm.framework.data.EventInfo" />
                        <input variable="unDoID" type="java.lang.String" />
                    </invoke>
                    <invoke name="TransactionUtil commitTransaction" type="invokebean" description="public void commitTransaction()" bounds="265,2084,141,105" partnerLink="TransactionUtil" partnerLinkType="TransactionUtil" operation="commitTransaction" operationDesc="public void commitTransaction()" ignoreThrow="false" fork="false">
                        <source idx="0" terminal="5,A" />
                    </invoke>
                </case>
                <case name="case" type="case" condition="getVariable('type') =&quot;NPOQA&quot;" bounds="496,914,60,45">
                    <source idx="0" terminal="5,A" />
                    <invoke name="TransactionUtil beginTransaction" type="invokebean" description="public void beginTransaction()" bounds="456,989,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="MaterialPackingStockInImpl GetMessageID" type="invokebean" description="public java.lang.String GetMessageID(java.lang.String sitename)" bounds="456,1124,141,105" partnerLink="MaterialPackingStockInImpl" partnerLinkType="MaterialPackingStockInImpl" 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="456,1259,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="456,1394,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="MaterialPackingNoPOStockInImpl generateOQAMessage" type="invokebean" description="public com.cim.idm.wmspackage.materialundo.info.MaterialUnDoinfo generateOQAMessage(java.lang.String undoId, java.lang.String receivetime, com.cim.idm.framework.data.EventInfo eventInfo, java.lang.String messageid)" bounds="456,1529,141,105" partnerLink="MaterialPackingNoPOStockInImpl" partnerLinkType="MaterialPackingNoPOStockInImpl" operation="generateOQAMessage" operationDesc="public com.cim.idm.wmspackage.materialundo.info.MaterialUnDoinfo generateOQAMessage(java.lang.String undoId, java.lang.String receivetime, com.cim.idm.framework.data.EventInfo eventInfo, java.lang.String messageid)" ignoreThrow="false" fork="false">
                        <source idx="0" terminal="5,A" />
                        <input variable="unDoID" type="java.lang.String" />
                        <input variable="ERPEventTime" type="java.lang.String" />
                        <input variable="eventInfo" type="com.cim.idm.framework.data.EventInfo" />
                        <input variable="messageid" type="java.lang.String" />
                        <output variable="unDoInfo" />
                    </invoke>
                    <invoke name="TransactionUtil commitTransaction" type="invokebean" description="public void commitTransaction()" bounds="456,1664,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="456,1799,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="MaterialPackingNoPOStockInImpl SaveOQAMessageInfo" type="invokebean" description="public void SaveOQAMessageInfo(com.cim.idm.framework.data.EventInfo eventInfo, com.cim.idm.wmspackage.materialundo.info.MaterialUnDoinfo undoinfo, java.lang.String undoId)" bounds="456,1934,141,105" partnerLink="MaterialPackingNoPOStockInImpl" partnerLinkType="MaterialPackingNoPOStockInImpl" operation="SaveOQAMessageInfo" operationDesc="public void SaveOQAMessageInfo(com.cim.idm.framework.data.EventInfo eventInfo, com.cim.idm.wmspackage.materialundo.info.MaterialUnDoinfo undoinfo, java.lang.String undoId)" ignoreThrow="false" fork="false">
                        <source idx="0" terminal="5,A" />
                        <input variable="eventInfo" type="com.cim.idm.framework.data.EventInfo" />
                        <input variable="unDoInfo" type="com.cim.idm.wmspackage.materialundo.info.MaterialUnDoinfo" />
                        <input variable="unDoID" type="java.lang.String" />
                    </invoke>
                    <invoke name="TransactionUtil commitTransaction" type="invokebean" description="public void commitTransaction()" bounds="456,2069,141,105" partnerLink="TransactionUtil" partnerLinkType="TransactionUtil" operation="commitTransaction" operationDesc="public void commitTransaction()" ignoreThrow="false" fork="false">
                        <source idx="0" terminal="5,A" />
                    </invoke>
                </case>
                <case name="case" type="case" condition="getVariable('type') =&quot;StockOut&quot;" bounds="877,914,60,34">
                    <source idx="0" terminal="5,A" />
                    <invoke name="TransactionUtil beginTransaction" type="invokebean" description="public void beginTransaction()" bounds="837,978,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="MaterialPackingServiceImpl UndoIDtoShipRequestName" type="invokebean" description="public java.lang.String UndoIDtoShipRequestName(java.lang.String UndoID)" bounds="837,1113,141,105" partnerLink="MaterialPackingServiceImpl" partnerLinkType="MaterialPackingServiceImpl" operation="UndoIDtoShipRequestName" operationDesc="public java.lang.String UndoIDtoShipRequestName(java.lang.String UndoID)" ignoreThrow="false" fork="false">
                        <source idx="0" terminal="5,A" />
                        <input variable="unDoID" type="java.lang.String" />
                        <output variable="shipRequestName" />
                    </invoke>
                    <invoke name="MaterialPackingServiceImpl UndoIDtoDeliveryType" type="invokebean" description="public java.lang.String UndoIDtoDeliveryType(java.lang.String UndoID)" bounds="837,1248,141,105" partnerLink="MaterialPackingServiceImpl" partnerLinkType="MaterialPackingServiceImpl" operation="UndoIDtoDeliveryType" operationDesc="public java.lang.String UndoIDtoDeliveryType(java.lang.String UndoID)" ignoreThrow="false" fork="false">
                        <source idx="0" terminal="5,A" />
                        <input variable="unDoID" type="java.lang.String" />
                        <output variable="DeliveryType" />
                    </invoke>
                    <invoke name="MaterialPackingStockInImpl GetMessageID" type="invokebean" description="public java.lang.String GetMessageID(java.lang.String sitename)" bounds="837,1383,141,105" partnerLink="MaterialPackingStockInImpl" partnerLinkType="MaterialPackingStockInImpl" 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="837,1518,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="837,1653,141,105" partnerLink="TransactionUtil" partnerLinkType="TransactionUtil" operation="beginTransaction" operationDesc="public void beginTransaction()" ignoreThrow="false" fork="false">
                        <source idx="0" terminal="5,A" />
                    </invoke>
                    <switch name="switch" bounds="891,1788,33,33" type="switch">
                        <source idx="0" terminal="5,A" />
                        <switchstart name="switchstart" type="switchstart" bounds="852,1867,110,49">
                            <source idx="0" terminal="5,A" />
                        </switchstart>
                        <case name="case" type="case" condition="getVariable('DeliveryType') = 'Reserve'" bounds="701,1946,32,49">
                            <source idx="0" terminal="5,A" />
                            <invoke name="MaterialPackingServiceImpl UndoIDtoReceiveActNo" type="invokebean" description="public java.lang.String UndoIDtoReceiveActNo(java.lang.String UndoID)" bounds="647,2025,141,105" partnerLink="MaterialPackingServiceImpl" partnerLinkType="MaterialPackingServiceImpl" operation="UndoIDtoReceiveActNo" operationDesc="public java.lang.String UndoIDtoReceiveActNo(java.lang.String UndoID)" ignoreThrow="false" fork="false">
                                <source idx="0" terminal="5,A" />
                                <input variable="unDoID" type="java.lang.String" />
                                <output variable="receiveActNo" />
                            </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="647,2160,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>
                            <invoke name="MaterialPackingServiceUtil getPackingListFromShipRequest" type="invokebean" description="public java.util.List getPackingListFromShipRequest(java.lang.String invoiceNo, java.lang.String receiveActNo)" bounds="647,2295,141,105" partnerLink="MaterialPackingServiceUtil" partnerLinkType="MaterialPackingServiceUtil" operation="getPackingListFromShipRequest" operationDesc="public java.util.List getPackingListFromShipRequest(java.lang.String invoiceNo, java.lang.String receiveActNo)" ignoreThrow="false" fork="false">
                                <source idx="0" terminal="5,A" />
                                <input variable="shipRequestName" type="java.lang.String" />
                                <input variable="receiveActNo" type="java.lang.String" />
                                <output variable="boxList" />
                            </invoke>
                        </case>
                        <case name="case" type="case" condition="getVariable('DeliveryType') = 'Delivery'" bounds="891,1946,32,49">
                            <source idx="0" terminal="5,A" />
                            <invoke name="ERPInterfaceServiceImpl NPerp_StockOut_WMS05" type="invokebean" description="public static java.util.List NPerp_StockOut_WMS05(java.lang.String invoiceNo, com.cim.idm.framework.data.EventInfo eventInfo, java.lang.String flag, java.lang.String messageid)" bounds="824,2025,166,105" partnerLink="ERPInterfaceServiceImpl" partnerLinkType="ERPInterfaceServiceImpl" operation="NPerp_StockOut_WMS05" operationDesc="public static java.util.List NPerp_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" type="java.lang.String" />
                                <input variable="eventInfo" type="com.cim.idm.framework.data.EventInfo" />
                                <input constant="1" type="java.lang.String" />
                                <input variable="messageid" type="java.lang.String" />
                                <output variable="materialDoinfoList" />
                            </invoke>
                            <invoke name="MaterialPackingServiceUtil getPackingListFromShipRequest" type="invokebean" description="public java.util.List getPackingListFromShipRequest(java.lang.String invoiceNo)" bounds="837,2160,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>
                        </case>
                        <case name="case" type="case" condition="getVariable('DeliveryType') = 'WO'" bounds="1080,1946,60,44">
                            <source idx="0" terminal="5,A" />
                            <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="1040,2020,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>
                            <invoke name="MaterialPackingServiceUtil getPackingListFromShipRequest" type="invokebean" description="public java.util.List getPackingListFromShipRequest(java.lang.String invoiceNo, java.lang.String receiveActNo)" bounds="1040,2155,141,105" partnerLink="MaterialPackingServiceUtil" partnerLinkType="MaterialPackingServiceUtil" operation="getPackingListFromShipRequest" operationDesc="public java.util.List getPackingListFromShipRequest(java.lang.String invoiceNo, java.lang.String receiveActNo)" ignoreThrow="false" fork="false">
                                <source idx="0" terminal="5,A" />
                                <input variable="shipRequestName" />
                                <output variable="boxList" />
                            </invoke>
                        </case>
                        <switchend name="switchend" type="switchend" bounds="852,2420,110,49">
                            <source idx="0" terminal="5,A" />
                            <source idx="1" terminal="5,A" />
                            <source idx="2" terminal="5,A" />
                        </switchend>
                    </switch>
                    <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="837,2499,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>
                    <invoke name="TransactionUtil commitTransaction" type="invokebean" description="public void commitTransaction()" bounds="837,2634,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="837,2769,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="MaterialPackingServiceImpl UndoStateChange" type="invokebean" description="public void UndoStateChange(java.util.List UnDoList, java.lang.String UndoID, java.lang.String SiteName, com.cim.idm.framework.data.EventInfo eventInfo)" bounds="837,2904,141,105" partnerLink="MaterialPackingServiceImpl" partnerLinkType="MaterialPackingServiceImpl" operation="UndoStateChange" operationDesc="public void UndoStateChange(java.util.List UnDoList, java.lang.String UndoID, java.lang.String SiteName, com.cim.idm.framework.data.EventInfo eventInfo)" ignoreThrow="false" fork="false">
                        <source idx="0" terminal="5,A" />
                        <input variable="materialDoinfoList" type="java.util.List" />
                        <input variable="unDoID" type="java.lang.String" />
                        <input variable="siteName" type="java.lang.String" />
                        <input variable="eventInfo" type="com.cim.idm.framework.data.EventInfo" />
                    </invoke>
                    <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="837,3039,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>
                    <invoke name="TransactionUtil commitTransaction" type="invokebean" description="public void commitTransaction()" bounds="837,3174,141,105" partnerLink="TransactionUtil" partnerLinkType="TransactionUtil" operation="commitTransaction" operationDesc="public void commitTransaction()" ignoreThrow="false" fork="false">
                        <source idx="0" terminal="5,A" />
                    </invoke>
                </case>
                <switchend name="switchend" type="switchend" bounds="375,3299,110,49">
                    <source idx="0" terminal="5,A" />
                    <source idx="1" terminal="5,A" />
                    <source idx="2" terminal="5,A" />
                    <source idx="3" terminal="5,A" />
                </switchend>
            </switch>
            <whileend name="whileend" type="whileend" bounds="375,3368,110,49">
                <source idx="0" terminal="5,A" />
            </whileend>
        </while>
        <invoke name="MaterialPackingNoPOStockInImpl checkNPState" type="invokebean" description="public java.lang.String checkNPState(org.jdom.Document messagedocument, java.lang.String oldPOnamelist1, java.lang.String sitename, com.cim.idm.framework.data.EventInfo eventInfo)" bounds="360,3447,141,105" partnerLink="MaterialPackingNoPOStockInImpl" partnerLinkType="MaterialPackingNoPOStockInImpl" operation="checkNPState" operationDesc="public java.lang.String checkNPState(org.jdom.Document messagedocument, java.lang.String oldPOnamelist1, java.lang.String sitename, com.cim.idm.framework.data.EventInfo eventInfo)" ignoreThrow="false" fork="false">
            <source idx="0" terminal="5,A" />
            <input variable="SendMessageToERP" type="org.jdom.Document" />
            <input variable="oldpoName" type="java.lang.String" />
            <input variable="siteName" type="java.lang.String" />
            <input variable="eventInfo" type="com.cim.idm.framework.data.EventInfo" />
            <output variable="resultundo" />
        </invoke>
        <invoke name="CommonValidation setReturnDoc" type="invokebean" description="public static void setReturnDoc(java.lang.String nodeValue, java.lang.String nodeName, org.jdom.Document doc)" bounds="360,3582,141,105" partnerLink="CommonValidation" partnerLinkType="CommonValidation" operation="setReturnDoc" operationDesc="public static void setReturnDoc(java.lang.String nodeValue, java.lang.String nodeName, org.jdom.Document doc)" ignoreThrow="false" fork="false">
            <source idx="0" terminal="5,A" />
            <input variable="resultundo" type="java.lang.String" />
            <input constant="UNDOID" type="java.lang.String" />
            <input variable="SendMessageToERP" type="org.jdom.Document" />
        </invoke>
        <invoke name="ESBService sendReplyBySender" type="invokebean" description="public void sendReplyBySender(java.lang.String replySubject, org.jdom.Document doc, java.lang.String senderName)" bounds="360,3717,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="SendMessageToERP" type="org.jdom.Document" />
            <input constant="OICSender" type="java.lang.String" />
        </invoke>
        <terminate name="terminate" bounds="360,3852,141,65">
            <source idx="0" terminal="5,A" />
        </terminate>
    </sequence>
</process>

