<?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="ModifyMutilMaterialLifeSpec.bpel">
    <partnerLinks>
        <partnerLink name="bpelj" partnerLinkType="bpel:bpelj" />
        <partnerLink name="TransactionUtil" partnerLinkType="bean:TransactionUtil" />
        <partnerLink name="EventInfoUtil" partnerLinkType="bean:EventInfoUtil" />
        <partnerLink name="MaterialServiceImpl" partnerLinkType="bean:MaterialServiceImpl" />
        <partnerLink name="ESBService" partnerLinkType="bean:ESBService" />
    </partnerLinks>
    <variables>
        <variable name="checkoutUser" messageType="java.lang.String" expression="getXmlData('message', '//Message/Body/CHECKOUTUSER')" />
        <variable name="checkState" messageType="java.lang.String" expression="getXmlData('message', '//Message/Body/CHECKSTATE')" />
        <variable name="CreateMaterialSpec" messageType="java.lang.String"></variable>
        <variable name="createUser" messageType="java.lang.String" expression="getXmlData('message', '//Message/Body/CREATEUSER')" />
        <variable name="desc_cn" messageType="java.lang.String" expression="getXmlData('message', '//Message/Body/DESC_CN')" />
        <variable name="desc_en" messageType="java.lang.String" expression="getXmlData('message', '//Message/Body/DESC_EN')" />
        <variable name="description" messageType="java.lang.String" expression="getXmlData('message', '//Message/Body/DESCRIPTION')" />
        <variable name="erpFactoryName" messageType="java.lang.String" expression="getXmlData('message', '//Message/Body/ERPFACTORYNAME')" />
        <variable name="erpLocation" messageType="java.lang.String" expression="getXmlData('message', '//Message/Body/ERPLOCATION')" />
        <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="eventUser" messageType="java.lang.String" expression="getXmlData('message', '//Message/Header/EVENTUSER')" />
        <variable name="expirationDateFlag" messageType="java.lang.String" expression="getXmlData('message', '//Message/Body/EXPIRATIONDATEFLAG')" />
        <variable name="expirationDay" messageType="java.lang.String" expression="getXmlData('message', '//Message/Body/EXPIRATIONDAY')" />
        <variable name="materialGroup" messageType="java.lang.String" expression="getXmlData('message', '//Message/Body/MATERIALGROUP')" />
        <variable name="materialGroupDescription" messageType="java.lang.String" expression="getXmlData('message', '//Message/Body/MATERIALGROUPDESCRIPTION')" />
        <variable name="materialspecElement" messageType="org.jdom.Element"></variable>
        <variable name="materialspecList" messageType="java.util.List"></variable>
        <variable name="materialSpecName" messageType="java.lang.String" expression="getXmlData('message', '//Message/Body/MATERIALSPECNAME')" />
        <variable name="materialSpecType" messageType="java.lang.String" expression="getXmlData('message', '//Message/Body/MATERIALSPECTYPE')" />
        <variable name="materialType" messageType="java.lang.String" expression="getXmlData('message', '//Message/Body/MATERIALTYPE')" />
        <variable name="materialUnit" messageType="java.lang.String" expression="getXmlData('message', '//Message/Body/MATERIALUNIT')" />
        <variable name="materialWeight" messageType="java.lang.String" expression="getXmlData('message', '//Message/Body/MATERIALWEIGHT')" />
        <variable name="message" messageType="org.jdom.Document"></variable>
        <variable name="OICSender" messageType="java.lang.String"></variable>
        <variable name="replySubjectName" messageType="java.lang.String" expression="getXmlData('message', '//Message/Header/ORIGINALSOURCESUBJECTNAME')" />
        <variable name="siteName" messageType="java.lang.String" expression="getXmlData('message', '//Message/Body/SITENAME')" />
        <variable name="stockinEffectiveDay" messageType="java.lang.String" expression="getXmlData('message', '//Message/Body/STOCKINEFFECTIVEDAY')" />
    </variables>
    <sequence>
        <receive name="ModifyMutilMaterialLifeSpec" bounds="70,30,101,62">
            <input variable="message" type="org.jdom.Document" />
        </receive>
        <invoke name="TransactionUtil beginTransaction" type="invokebean" description="public void beginTransaction()" bounds="41,122,158,106" partnerLink="TransactionUtil" partnerLinkType="TransactionUtil" operation="beginTransaction" operationDesc="public void beginTransaction()" ignoreThrow="false" fork="false">
            <source idx="0" terminal="5,A" />
        </invoke>
        <invoke name="EventInfoUtil makeEventInfo" type="invokebean" description="public static com.cim.idm.framework.data.EventInfo makeEventInfo(java.lang.String eventName, java.lang.String eventUser, java.lang.String eventComment, java.lang.String reasonCodeType, java.lang.String reasonCode)" bounds="50,258,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="ModifyMutilMaterialLifeSpec" 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="50,393,141,65">
            <source idx="0" terminal="5,A" />
            <function value="setVariable('materialspecList',getElementList('message','//MATERIALSPEC'))" />
        </expression>
        <while name="while" bounds="104,488,32,32" type="2" collection="materialspecList" element="materialspecElement">
            <source idx="0" terminal="5,A" />
            <whilestart name="whilestart" type="whilestart" bounds="65,567,110,49">
                <source idx="0" terminal="5,A" />
            </whilestart>
            <expression name="expression" type="expression" bounds="50,646,141,65">
                <source idx="0" terminal="5,A" />
                <function value="setVariable('materialSpecName',getXmlData('materialspecElement','//MATERIALSPECNAME'))" />
                <function value="setVariable('siteName',getXmlData('materialspecElement','//SITENAME'))" />
                <function value="setVariable('expirationDateFlag',getXmlData('materialspecElement','//EXPIRATIONDATEFLAG'))" />
                <function value="setVariable('expirationDay',getXmlData('materialspecElement','//EXPIRATIONDAY'))" />
            </expression>
            <invoke name="MaterialServiceImpl modifyLifeSpec" type="invokebean" description="public void modifyLifeSpec(com.cim.idm.framework.data.EventInfo eventInfo, java.lang.String siteName, java.lang.String materialSpecName, java.lang.String expirationDateFlag, java.lang.String expirationDay)" bounds="50,741,141,105" partnerLink="MaterialServiceImpl" partnerLinkType="MaterialServiceImpl" operation="modifyLifeSpec" operationDesc="public void modifyLifeSpec(com.cim.idm.framework.data.EventInfo eventInfo, java.lang.String siteName, java.lang.String materialSpecName, java.lang.String expirationDateFlag, java.lang.String expirationDay)" 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="materialSpecName" type="java.lang.String" />
                <input variable="expirationDateFlag" type="java.lang.String" />
                <input variable="expirationDay" type="java.lang.String" />
            </invoke>
            <whileend name="whileend" type="whileend" bounds="65,866,110,49">
                <source idx="0" terminal="5,A" />
            </whileend>
        </while>
        <invoke name="ESBService sendReplyBySender" type="invokebean" description="public void sendReplyBySender(java.lang.String replySubject, org.jdom.Document doc, java.lang.String senderName)" bounds="50,945,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="OICSender" type="java.lang.String" />
        </invoke>
        <invoke name="TransactionUtil commitTransaction" type="invokebean" description="public void commitTransaction()" bounds="39,1080,162,103" partnerLink="TransactionUtil" partnerLinkType="TransactionUtil" operation="commitTransaction" operationDesc="public void commitTransaction()" ignoreThrow="false" fork="false">
            <source idx="0" terminal="5,A" />
        </invoke>
    </sequence>
</process>

