<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<core:simpleActivityFlowBusinessProcess xmlns:core="http://www.enactor.com/core" xmlns:hta="http://docs.oasis-open.org/ns/bpel4people/ws-humantask/api/200803" xmlns:htd="http://docs.oasis-open.org/ns/bpel4people/ws-humantask/200803" xmlns:htt="http://docs.oasis-open.org/ns/bpel4people/ws-humantask/types/200803" xmlns:ns4="http://maven.apache.org/POM/4.0.0" xmlns:ns9="tools" xmlns:retail="http://www.enactor.com/retail" xmlns:sref="http://docs.oasis-open.org/wsbpel/2.0/serviceref" xmlns:tools="http://www.enactor.com/tools">
    <core:processId>InventoryManagement/AdjustStockAtLocation</core:processId>
    <core:name>Adjust Stock At Location</core:name>
    <core:description>Adjust Stock At Location</core:description>
    <core:businessProcessTypeId>InventoryManagement/AdjustStockAtLocationType</core:businessProcessTypeId>
    <core:startPrivilege>enactor.inventoryManagement.StockAdjustment.Run</core:startPrivilege>
    <core:participatePrivilege>enactor.inventoryManagement.StockAdjustment.Run</core:participatePrivilege>
    <core:administerPrivilege>enactor.inventoryManagement.StockAdjustment.Admin</core:administerPrivilege>
    <core:deprecated>false</core:deprecated>
    <core:metaData>
        <core:inputs>
            <core:input name="enactor.inventoryManagement.StockAdjustmentId">
                <core:interfaceName>java.lang.String</core:interfaceName>
            </core:input>
            <core:input name="enactor.mfc.LocationId">
                <core:interfaceName>java.lang.String</core:interfaceName>
            </core:input>
            <core:input name="enactor.mfc.ReasonId">
                <core:interfaceName>java.lang.String</core:interfaceName>
            </core:input>
            <core:input name="enactor.mfc.GroupId">
                <core:interfaceName>java.lang.String</core:interfaceName>
            </core:input>
            <core:input name="enactor.mfc.GroupTypeId">
                <core:interfaceName>java.lang.String</core:interfaceName>
            </core:input>
            <core:input name="enactor.mfc.GroupHierarchyId">
                <core:interfaceName>java.lang.String</core:interfaceName>
            </core:input>
            <core:input name="enactor.inventoryManagement.ExternalReferenceId">
                <core:interfaceName>java.lang.String</core:interfaceName>
            </core:input>
            <core:input name="enactor.inventoryManagement.AutomaticMode">
                <core:interfaceName>java.lang.Boolean</core:interfaceName>
            </core:input>
            <core:input name="enactor.coreUI.UserId">
                <core:interfaceName>java.lang.String</core:interfaceName>
            </core:input>
            <core:input name="enactor.mfc.ServerLocationKey">
                <core:interfaceName>com.enactor.mfc.location.ILocationKey</core:interfaceName>
            </core:input>
        </core:inputs>
        <core:stateData>
            <core:stateData name="enactor.inventoryManagement.StockAdjustmentId">
                <core:interfaceName>java.lang.String</core:interfaceName>
            </core:stateData>
            <core:stateData name="enactor.inventoryManagement.AllowPicking">
                <core:interfaceName>java.lang.Boolean</core:interfaceName>
            </core:stateData>
        </core:stateData>
    </core:metaData>
    <core:uiSettings xsi:type="tools:BusinessProcessSettings" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
        <core:constraint xsi:type="core:UIPositionConstraint">
            <core:x>-39</core:x>
            <core:y>96</core:y>
        </core:constraint>
        <tools:swimLanes>
            <tools:lane label="Stock Controller" height="393" id="Lane 1"/>
            <tools:lane label="Authoriser / Security" height="263" id="Lane 2"/>
            <tools:lane label="Finance" height="421" id="Lane 3"/>
            <tools:lane height="39" id="Lane 4"/>
        </tools:swimLanes>
        <tools:notes xsi:type="core:WrappedList">
            <core:listElement>
                <core:value xsi:type="tools:DataBaseNote">
                    <tools:noteId>Note0</tools:noteId>
                    <tools:swimLaneId>Lane 1</tools:swimLaneId>
                    <tools:description>StockAdjustmentHeaders (writes)</tools:description>
                    <tools:constraint>
                        <core:x>191</core:x>
                        <core:y>7</core:y>
                        <core:height>50</core:height>
                        <core:width>172</core:width>
                    </tools:constraint>
                </core:value>
                <core:index>0</core:index>
            </core:listElement>
            <core:listElement>
                <core:value xsi:type="tools:DataBaseNote">
                    <tools:noteId>Note1</tools:noteId>
                    <tools:swimLaneId>Lane 1</tools:swimLaneId>
                    <tools:description>StockAdjustmentHeaders (reads)
StockAdjustmentItems (writes)</tools:description>
                    <tools:constraint>
                        <core:x>529</core:x>
                        <core:y>6</core:y>
                        <core:height>83</core:height>
                        <core:width>171</core:width>
                    </tools:constraint>
                </core:value>
                <core:index>1</core:index>
            </core:listElement>
            <core:listElement>
                <core:value xsi:type="tools:DataBaseNote">
                    <tools:noteId>Note2</tools:noteId>
                    <tools:swimLaneId>Lane 2</tools:swimLaneId>
                    <tools:description>StockAdjustmentHeaders (writes)</tools:description>
                    <tools:constraint>
                        <core:x>522</core:x>
                        <core:y>28</core:y>
                        <core:height>50</core:height>
                        <core:width>186</core:width>
                    </tools:constraint>
                </core:value>
                <core:index>2</core:index>
            </core:listElement>
            <core:listElement>
                <core:value xsi:type="tools:DataBaseNote">
                    <tools:noteId>Note3</tools:noteId>
                    <tools:swimLaneId>Lane 2</tools:swimLaneId>
                    <tools:description>StockAdjustmentHeaders / Items 
(reads / writes)</tools:description>
                    <tools:constraint>
                        <core:x>1055</core:x>
                        <core:y>-58</core:y>
                        <core:height>50</core:height>
                        <core:width>212</core:width>
                    </tools:constraint>
                </core:value>
                <core:index>3</core:index>
            </core:listElement>
            <core:listElement>
                <core:value xsi:type="tools:DataBaseNote">
                    <tools:noteId>Note4</tools:noteId>
                    <tools:swimLaneId>Lane 3</tools:swimLaneId>
                    <tools:description>StockAdjustmentHeaders / Items 
(reads)</tools:description>
                    <tools:constraint>
                        <core:x>1753</core:x>
                        <core:y>279</core:y>
                        <core:height>50</core:height>
                        <core:width>209</core:width>
                    </tools:constraint>
                </core:value>
                <core:index>4</core:index>
            </core:listElement>
            <core:listElement>
                <core:value xsi:type="tools:DataBaseNote">
                    <tools:noteId>Note5</tools:noteId>
                    <tools:swimLaneId>Lane 3</tools:swimLaneId>
                    <tools:description>StockAdjustmentHeaders / Items 
(reads / writes).

Creates and sends StockAdjustmentTransaction</tools:description>
                    <tools:constraint>
                        <core:x>286</core:x>
                        <core:y>528</core:y>
                        <core:height>98</core:height>
                        <core:width>250</core:width>
                    </tools:constraint>
                </core:value>
                <core:index>5</core:index>
            </core:listElement>
            <core:listElement>
                <core:value xsi:type="tools:DataBaseNote">
                    <tools:noteId>Note6</tools:noteId>
                    <tools:swimLaneId>Lane 3</tools:swimLaneId>
                    <tools:description>DocumentHistories
(writes)</tools:description>
                    <tools:constraint>
                        <core:x>747</core:x>
                        <core:y>524</core:y>
                        <core:height>50</core:height>
                        <core:width>150</core:width>
                    </tools:constraint>
                </core:value>
                <core:index>6</core:index>
            </core:listElement>
            <core:listElement>
                <core:value xsi:type="tools:DataBaseNote">
                    <tools:noteId>Note7</tools:noteId>
                    <tools:swimLaneId>Lane 3</tools:swimLaneId>
                    <tools:description>StockAdjustmentItems
(reads / writes)</tools:description>
                    <tools:constraint>
                        <core:x>113</core:x>
                        <core:y>530</core:y>
                        <core:height>79</core:height>
                        <core:width>154</core:width>
                    </tools:constraint>
                </core:value>
                <core:index>7</core:index>
            </core:listElement>
        </tools:notes>
        <tools:style>21</tools:style>
    </core:uiSettings>
    <core:activities xsi:type="core:WrappedList" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
        <core:listElement>
            <core:value xsi:type="core:HTActivity">
                <core:activityId>CreateStockAdjustment</core:activityId>
                <core:name>Create Stock Adjustment</core:name>
                <core:description>UI to create Stock Adjustment and write to StockAdjustments DB</core:description>
                <core:activityTypeId>InventoryManagement/CreateStockAdjustmentActivityType</core:activityTypeId>
                <core:activityOutcome name="SelectProducts">
                    <core:toActivity>StockAdjustmentItemEntry</core:toActivity>
                    <core:proceedImmediately>true</core:proceedImmediately>
                </core:activityOutcome>
                <core:activityOutcome name="Cancelled">
                    <core:toActivity>Cancelled</core:toActivity>
                    <core:proceedImmediately>true</core:proceedImmediately>
                </core:activityOutcome>
                <core:suspendActivityOutcome name="Suspended">
                    <core:toActivity>CreateStockAdjustment</core:toActivity>
                    <core:proceedImmediately>true</core:proceedImmediately>
                </core:suspendActivityOutcome>
                <core:parameters>
                    <core:parameter name="enactor.inventoryManagement.DisallowBack">
                        <core:interfaceName>java.lang.Boolean</core:interfaceName>
                        <core:value>true</core:value>
                    </core:parameter>
                </core:parameters>
                <core:uiSettings xsi:type="tools:ActivitySettings">
                    <core:constraint xsi:type="core:UIPositionConstraint">
                        <core:x>205</core:x>
                        <core:y>133</core:y>
                    </core:constraint>
                    <tools:swimLaneId>Lane 1</tools:swimLaneId>
                    <tools:noteReference name="Note Link">
                        <core:toActivity>Note0</core:toActivity>
                        <core:proceedImmediately>true</core:proceedImmediately>
                    </tools:noteReference>
                </core:uiSettings>
                <core:metaData>
                    <core:inputs>
                        <core:input required="true" name="enactor.inventoryManagement.DisallowBack">
                            <core:interfaceName>java.lang.Boolean</core:interfaceName>
                        </core:input>
                    </core:inputs>
                    <core:outputs>
                        <core:output required="true" name="enactor.inventoryManagement.StockAdjustmentId">
                            <core:interfaceName>java.lang.String</core:interfaceName>
                        </core:output>
                        <core:output required="true" name="enactor.inventoryManagement.CreatedAtLocationId">
                            <core:interfaceName>java.lang.String</core:interfaceName>
                        </core:output>
                        <core:output required="true" name="enactor.mfc.LocationId">
                            <core:interfaceName>java.lang.String</core:interfaceName>
                        </core:output>
                        <core:output required="true" name="enactor.core.bp.PostSubmitMessage">
                            <core:interfaceName>java.lang.String</core:interfaceName>
                        </core:output>
                        <core:output required="true" name="enactor.inventoryManagement.AllowPicking">
                            <core:interfaceName>java.lang.Boolean</core:interfaceName>
                        </core:output>
                    </core:outputs>
                </core:metaData>
                <core:jobType>Adjust Stock At Location</core:jobType>
                <core:jobHeader>Create Stock Adjustment</core:jobHeader>
                <core:displayTitleMessageBase>InventoryManagement/Adjustments/AdjustStockAtLocationMessages</core:displayTitleMessageBase>
                <core:displayTitleMessageId>CREATE_STOCK_ADJUSTMENT</core:displayTitleMessageId>
                <core:priority>5</core:priority>
                <core:peopleGroupEvaluator>{http://www.enactor.com/task}SimpleUserEvaluator</core:peopleGroupEvaluator>
            </core:value>
            <core:index>0</core:index>
        </core:listElement>
        <core:listElement>
            <core:value xsi:type="core:EndProcessActivity">
                <core:activityId>Cancelled</core:activityId>
                <core:name>Cancelled</core:name>
                <core:activityTypeId>Generic/EndProcessActivityType</core:activityTypeId>
                <core:uiSettings xsi:type="tools:ActivitySettings">
                    <core:constraint xsi:type="core:UIPositionConstraint">
                        <core:x>370</core:x>
                        <core:y>9</core:y>
                    </core:constraint>
                    <tools:swimLaneId>Lane 1</tools:swimLaneId>
                </core:uiSettings>
                <core:discard>true</core:discard>
            </core:value>
            <core:index>1</core:index>
        </core:listElement>
        <core:listElement>
            <core:value xsi:type="core:HTActivity">
                <core:activityId>StockAdjustmentItemEntry</core:activityId>
                <core:name>Stock Adjustment Item Entry</core:name>
                <core:description>UI to get product quantities and write to StockAdjustments DB</core:description>
                <core:activityTypeId>InventoryManagement/StockAdjustmentItemEntryActivityType</core:activityTypeId>
                <core:activityOutcome name="Submit">
                    <core:toActivity>AdjustmentApproval</core:toActivity>
                    <core:proceedImmediately>true</core:proceedImmediately>
                </core:activityOutcome>
                <core:activityOutcome name="Back">
                    <core:toActivity>CreateStockAdjustment</core:toActivity>
                    <core:proceedImmediately>true</core:proceedImmediately>
                </core:activityOutcome>
                <core:activityOutcome name="Cancelled">
                    <core:toActivity>Cancelled</core:toActivity>
                    <core:proceedImmediately>true</core:proceedImmediately>
                </core:activityOutcome>
                <core:suspendActivityOutcome name="Suspended">
                    <core:toActivity>StockAdjustmentItemEntry</core:toActivity>
                    <core:proceedImmediately>true</core:proceedImmediately>
                </core:suspendActivityOutcome>
                <core:uiSettings xsi:type="tools:ActivitySettings">
                    <core:constraint xsi:type="core:UIPositionConstraint">
                        <core:x>524</core:x>
                        <core:y>129</core:y>
                    </core:constraint>
                    <tools:swimLaneId>Lane 1</tools:swimLaneId>
                    <tools:noteReference name="Note Link">
                        <core:toActivity>Note1</core:toActivity>
                        <core:proceedImmediately>true</core:proceedImmediately>
                    </tools:noteReference>
                </core:uiSettings>
                <core:metaData>
                    <core:inputs>
                        <core:input required="true" name="enactor.inventoryManagement.StockAdjustmentId">
                            <core:interfaceName>java.lang.String</core:interfaceName>
                        </core:input>
                    </core:inputs>
                    <core:outputs>
                        <core:output required="true" name="enactor.inventoryManagement.StockAdjustmentId">
                            <core:interfaceName>java.lang.String</core:interfaceName>
                        </core:output>
                        <core:output required="true" name="enactor.mfc.GroupHierarchyId">
                            <core:interfaceName>java.lang.String</core:interfaceName>
                        </core:output>
                        <core:output required="true" name="enactor.mfc.GroupTypeId">
                            <core:interfaceName>java.lang.String</core:interfaceName>
                        </core:output>
                        <core:output required="true" name="enactor.mfc.GroupId">
                            <core:interfaceName>java.lang.String</core:interfaceName>
                        </core:output>
                        <core:output required="true" name="enactor.mfc.ReasonId">
                            <core:interfaceName>java.lang.String</core:interfaceName>
                        </core:output>
                        <core:output required="true" name="enactor.coreUI.UserId">
                            <core:interfaceName>java.lang.String</core:interfaceName>
                        </core:output>
                        <core:output required="true" name="enactor.core.bp.PostSubmitMessage">
                            <core:interfaceName>java.lang.String</core:interfaceName>
                        </core:output>
                    </core:outputs>
                </core:metaData>
                <core:jobType>Adjust Stock At Location</core:jobType>
                <core:jobHeader>Stock Adjustment Item Entry #{stockAdjustmentId}</core:jobHeader>
                <core:displayTitleMessageBase>InventoryManagement/Adjustments/AdjustStockAtLocationMessages</core:displayTitleMessageBase>
                <core:displayTitleMessageId>STOCK_ADJUSTMENT_ITEM_ENTRY</core:displayTitleMessageId>
                <core:priority>5</core:priority>
                <core:peopleGroupEvaluator>{http://www.enactor.com/task}SimpleUserEvaluator</core:peopleGroupEvaluator>
            </core:value>
            <core:index>2</core:index>
        </core:listElement>
        <core:listElement>
            <core:value xsi:type="core:CallProcessActivity">
                <core:activityId>ApplyStockAdjustment</core:activityId>
                <core:name>Apply Stock Adjustment</core:name>
                <core:description>Server process to apply stock adjustment</core:description>
                <core:activityTypeId>InventoryManagement/ApplyStockAdjustmentActivityType</core:activityTypeId>
                <core:activityOutcome name="Success">
                    <core:toActivity>GenerateAdjustmentPDF</core:toActivity>
                    <core:proceedImmediately>true</core:proceedImmediately>
                </core:activityOutcome>
                <core:catchAllOutcome xsi:type="core:ActivityOutcome" name="Error">
                    <core:toActivity>ApplyStockAdjustmentError</core:toActivity>
                    <core:proceedImmediately>true</core:proceedImmediately>
                </core:catchAllOutcome>
                <core:uiSettings xsi:type="tools:ActivitySettings">
                    <core:constraint xsi:type="core:UIPositionConstraint">
                        <core:x>338</core:x>
                        <core:y>32</core:y>
                    </core:constraint>
                    <tools:swimLaneId>Lane 3</tools:swimLaneId>
                    <tools:noteReference name="Note Link">
                        <core:toActivity>Note5</core:toActivity>
                        <core:proceedImmediately>true</core:proceedImmediately>
                    </tools:noteReference>
                </core:uiSettings>
                <core:metaData>
                    <core:inputs>
                        <core:input required="true" name="enactor.inventoryManagement.StockAdjustmentId">
                            <core:interfaceName>java.lang.String</core:interfaceName>
                        </core:input>
                        <core:input required="true" name="enactor.coreUI.UserId">
                            <core:interfaceName>java.lang.String</core:interfaceName>
                        </core:input>
                    </core:inputs>
                    <core:outputs>
                        <core:output required="true" name="enactor.inventoryManagement.StockAdjustmentId">
                            <core:interfaceName>java.lang.String</core:interfaceName>
                        </core:output>
                        <core:output required="true" name="enactor.core.ErrorDetails">
                            <core:interfaceName>com.enactor.core.application.process.IErrorDetails</core:interfaceName>
                        </core:output>
                    </core:outputs>
                </core:metaData>
            </core:value>
            <core:index>3</core:index>
        </core:listElement>
        <core:listElement>
            <core:value xsi:type="core:HTActivity">
                <core:activityId>AuthoriseAdjustment</core:activityId>
                <core:name>Authorise Adjustment</core:name>
                <core:description>UI for user to authorise Stock Adjustment</core:description>
                <core:activityTypeId>InventoryManagement/AuthoriseAdjustmentActivityType</core:activityTypeId>
                <core:activityOutcome name="Authorise">
                    <core:toActivity>IfAllowPicking</core:toActivity>
                    <core:proceedImmediately>true</core:proceedImmediately>
                </core:activityOutcome>
                <core:suspendActivityOutcome name="Suspended">
                    <core:toActivity>AuthoriseAdjustment</core:toActivity>
                    <core:proceedImmediately>true</core:proceedImmediately>
                </core:suspendActivityOutcome>
                <core:activityOutcome name="Reject">
                    <core:toActivity>GenerateAdjustmentPDF</core:toActivity>
                    <core:proceedImmediately>true</core:proceedImmediately>
                </core:activityOutcome>
                <core:suspendActivityOutcome name="Pending">
                    <core:toActivity>AuthoriseAdjustment</core:toActivity>
                    <core:proceedImmediately>true</core:proceedImmediately>
                </core:suspendActivityOutcome>
                <core:activityOutcome name="SystemCancelled">
                    <core:toActivity>Finished</core:toActivity>
                    <core:proceedImmediately>true</core:proceedImmediately>
                </core:activityOutcome>
                <core:parameters>
                    <core:parameter name="enactor.inventoryManagement.DisallowBack">
                        <core:interfaceName>java.lang.Boolean</core:interfaceName>
                        <core:value>true</core:value>
                    </core:parameter>
                    <core:parameter name="enactor.inventoryManagement.DisallowCancel">
                        <core:interfaceName>java.lang.Boolean</core:interfaceName>
                        <core:value>true</core:value>
                    </core:parameter>
                </core:parameters>
                <core:uiSettings xsi:type="tools:ActivitySettings">
                    <core:constraint xsi:type="core:UIPositionConstraint">
                        <core:x>968</core:x>
                        <core:y>300</core:y>
                    </core:constraint>
                    <tools:swimLaneId>Lane 2</tools:swimLaneId>
                    <tools:noteReference name="Note Link">
                        <core:toActivity>Note3</core:toActivity>
                        <core:proceedImmediately>true</core:proceedImmediately>
                    </tools:noteReference>
                </core:uiSettings>
                <core:metaData>
                    <core:inputs>
                        <core:input required="true" name="enactor.inventoryManagement.StockAdjustmentId">
                            <core:interfaceName>java.lang.String</core:interfaceName>
                        </core:input>
                        <core:input required="true" name="enactor.inventoryManagement.DisallowBack">
                            <core:interfaceName>java.lang.Boolean</core:interfaceName>
                        </core:input>
                        <core:input required="true" name="enactor.inventoryManagement.DisallowCancel">
                            <core:interfaceName>java.lang.Boolean</core:interfaceName>
                        </core:input>
                    </core:inputs>
                    <core:outputs>
                        <core:output required="true" name="enactor.inventoryManagement.StockAdjustmentId">
                            <core:interfaceName>java.lang.String</core:interfaceName>
                        </core:output>
                        <core:output required="true" name="enactor.inventoryManagement.AllowPicking">
                            <core:interfaceName>java.lang.Boolean</core:interfaceName>
                        </core:output>
                    </core:outputs>
                </core:metaData>
                <core:jobType>#{isEmpty(adjustmentType) ? 'Adjust Stock At Location' : 'Customer Reservation'}</core:jobType>
                <core:jobHeader>Authorise (Adjustment ID: #{stockAdjustmentId} #{notEmpty(externalReferenceId) ? '| Reference ID: ' : ''} #{notEmpty(externalReferenceId) ? externalReferenceId : ''})</core:jobHeader>
                <core:displayTitleMessageBase>InventoryManagement/Adjustments/AdjustStockAtLocationMessages</core:displayTitleMessageBase>
                <core:displayTitleMessageId>AUTHORISE_ADJUSTMENT</core:displayTitleMessageId>
                <core:priority>5</core:priority>
                <core:peopleGroupEvaluator>{http://www.enactor.com/retail}LocationReasonEvaluator</core:peopleGroupEvaluator>
                <core:peopleGroupParameters>
                    <core:parameter name="reasonId">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                        <core:value>#{reasonId}</core:value>
                    </core:parameter>
                    <core:parameter name="reasonGroupId">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                        <core:value>#{groupId}</core:value>
                    </core:parameter>
                    <core:parameter name="reasonGroupTypeId">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                        <core:value>#{groupTypeId}</core:value>
                    </core:parameter>
                    <core:parameter name="reasonGroupHierarchyId">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                        <core:value>#{groupHierarchyId}</core:value>
                    </core:parameter>
                    <core:parameter name="locationId">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                        <core:value>#{locationId}</core:value>
                    </core:parameter>
                </core:peopleGroupParameters>
            </core:value>
            <core:index>4</core:index>
        </core:listElement>
        <core:listElement>
            <core:value xsi:type="core:HTActivity">
                <core:activityId>AdjustmentProcessed</core:activityId>
                <core:name>Adjustment Processed</core:name>
                <core:description>UI to display adjusment has been processed</core:description>
                <core:activityTypeId>InventoryManagement/AdjustmentProcessedActivityType</core:activityTypeId>
                <core:activityOutcome name="Confirmed">
                    <core:toActivity>Finished</core:toActivity>
                    <core:proceedImmediately>true</core:proceedImmediately>
                </core:activityOutcome>
                <core:suspendActivityOutcome name="Suspended">
                    <core:toActivity>AdjustmentProcessed</core:toActivity>
                    <core:proceedImmediately>true</core:proceedImmediately>
                </core:suspendActivityOutcome>
                <core:parameters>
                    <core:parameter name="enactor.inventoryManagement.DisallowBack">
                        <core:interfaceName>java.lang.Boolean</core:interfaceName>
                        <core:value>true</core:value>
                    </core:parameter>
                    <core:parameter name="enactor.inventoryManagement.DisallowCancel">
                        <core:interfaceName>java.lang.Boolean</core:interfaceName>
                        <core:value>true</core:value>
                    </core:parameter>
                </core:parameters>
                <core:uiSettings xsi:type="tools:ActivitySettings">
                    <core:constraint xsi:type="core:UIPositionConstraint">
                        <core:x>1772</core:x>
                        <core:y>31</core:y>
                    </core:constraint>
                    <tools:swimLaneId>Lane 3</tools:swimLaneId>
                    <tools:noteReference name="Note Link">
                        <core:toActivity>Note4</core:toActivity>
                        <core:proceedImmediately>true</core:proceedImmediately>
                    </tools:noteReference>
                </core:uiSettings>
                <core:metaData>
                    <core:inputs>
                        <core:input required="true" name="enactor.inventoryManagement.StockAdjustmentId">
                            <core:interfaceName>java.lang.String</core:interfaceName>
                        </core:input>
                        <core:input required="true" name="enactor.mfc.LocationId">
                            <core:interfaceName>java.lang.String</core:interfaceName>
                        </core:input>
                        <core:input required="true" name="enactor.inventoryManagement.DisallowBack">
                            <core:interfaceName>java.lang.Boolean</core:interfaceName>
                        </core:input>
                        <core:input required="true" name="enactor.inventoryManagement.DisallowCancel">
                            <core:interfaceName>java.lang.Boolean</core:interfaceName>
                        </core:input>
                    </core:inputs>
                    <core:outputs>
                        <core:output required="true" name="enactor.inventoryManagement.StockAdjustmentId">
                            <core:interfaceName>java.lang.String</core:interfaceName>
                        </core:output>
                    </core:outputs>
                </core:metaData>
                <core:jobType>Adjust Stock At Location</core:jobType>
                <core:jobHeader>Adjustment Processed</core:jobHeader>
                <core:displayTitleMessageBase>InventoryManagement/Adjustments/AdjustStockAtLocationMessages</core:displayTitleMessageBase>
                <core:displayTitleMessageId>ADJUSTMENT_PROCESSED</core:displayTitleMessageId>
                <core:priority>5</core:priority>
                <core:peopleGroupEvaluator>{http://www.enactor.com/mfc}LocationPrivilegeEvaluator</core:peopleGroupEvaluator>
                <core:peopleGroupParameters>
                    <core:parameter name="privilegeId">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                        <core:value>enactor.inventoryManagement.StockAdjustment.Run</core:value>
                    </core:parameter>
                    <core:parameter name="locationId">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                        <core:value>#{locationId}</core:value>
                    </core:parameter>
                </core:peopleGroupParameters>
            </core:value>
            <core:index>5</core:index>
        </core:listElement>
        <core:listElement>
            <core:value xsi:type="core:CallProcessActivity">
                <core:activityId>CheckReasonAuthorisation</core:activityId>
                <core:name>Check Reason Authorisation</core:name>
                <core:description>Server process to check whether signed on user has privilege specified in the reason, if any</core:description>
                <core:activityTypeId>MFC/CheckReasonAuthorisationActivityType</core:activityTypeId>
                <core:activityOutcome name="AuthorisationRequired">
                    <core:toActivity>SetAwaitingApprovalStatus</core:toActivity>
                    <core:proceedImmediately>false</core:proceedImmediately>
                </core:activityOutcome>
                <core:activityOutcome name="NoAuthorisationRequired">
                    <core:toActivity>SetAwaitingApprovalStatus</core:toActivity>
                    <core:proceedImmediately>false</core:proceedImmediately>
                </core:activityOutcome>
                <core:activityOutcome name="Authorisation">
                    <core:toActivity>ApplyStockAdjustment</core:toActivity>
                    <core:proceedImmediately>false</core:proceedImmediately>
                </core:activityOutcome>
                <core:catchAllOutcome xsi:type="core:ActivityOutcome" name="Error">
                    <core:toActivity>ShowAuthorisationError</core:toActivity>
                    <core:proceedImmediately>true</core:proceedImmediately>
                </core:catchAllOutcome>
                <core:uiSettings xsi:type="tools:ActivitySettings">
                    <core:constraint xsi:type="core:UIPositionConstraint">
                        <core:x>756</core:x>
                        <core:y>142</core:y>
                    </core:constraint>
                    <tools:swimLaneId>Lane 1</tools:swimLaneId>
                </core:uiSettings>
                <core:metaData>
                    <core:inputs>
                        <core:input required="true" name="enactor.mfc.GroupHierarchyId">
                            <core:interfaceName>java.lang.String</core:interfaceName>
                        </core:input>
                        <core:input required="true" name="enactor.mfc.GroupTypeId">
                            <core:interfaceName>java.lang.String</core:interfaceName>
                        </core:input>
                        <core:input required="true" name="enactor.mfc.GroupId">
                            <core:interfaceName>java.lang.String</core:interfaceName>
                        </core:input>
                        <core:input required="true" name="enactor.mfc.ReasonId">
                            <core:interfaceName>java.lang.String</core:interfaceName>
                        </core:input>
                        <core:input required="true" name="enactor.coreUI.UserId">
                            <core:interfaceName>java.lang.String</core:interfaceName>
                        </core:input>
                    </core:inputs>
                    <core:outputs/>
                </core:metaData>
            </core:value>
            <core:index>6</core:index>
        </core:listElement>
        <core:listElement>
            <core:value xsi:type="core:CallProcessActivity">
                <core:activityId>GenerateAdjustmentPDF</core:activityId>
                <core:name>Generate Adjustment PDF</core:name>
                <core:description>Server process to generate adjustment PDF, which may be printed by a separate process</core:description>
                <core:activityTypeId>InventoryManagement/GenerateAdjustmentPDFActivityType</core:activityTypeId>
                <core:activityOutcome name="Success">
                    <core:toActivity>UpdateDocumentHistory</core:toActivity>
                    <core:proceedImmediately>true</core:proceedImmediately>
                </core:activityOutcome>
                <core:suspendActivityOutcome name="Suspended">
                    <core:toActivity>GenerateAdjustmentPDF</core:toActivity>
                    <core:proceedImmediately>true</core:proceedImmediately>
                </core:suspendActivityOutcome>
                <core:activityOutcome name="Skipped">
                    <core:toActivity>SetCompletedStatus</core:toActivity>
                    <core:proceedImmediately>true</core:proceedImmediately>
                </core:activityOutcome>
                <core:catchAllOutcome xsi:type="core:ActivityOutcome" name="Error">
                    <core:toActivity>GenerateAdjustmentPDFError</core:toActivity>
                    <core:proceedImmediately>true</core:proceedImmediately>
                </core:catchAllOutcome>
                <core:uiSettings xsi:type="tools:ActivitySettings">
                    <core:constraint xsi:type="core:UIPositionConstraint">
                        <core:x>537</core:x>
                        <core:y>32</core:y>
                    </core:constraint>
                    <tools:swimLaneId>Lane 3</tools:swimLaneId>
                </core:uiSettings>
                <core:metaData>
                    <core:inputs>
                        <core:input required="true" name="enactor.inventoryManagement.StockAdjustmentId">
                            <core:interfaceName>java.lang.String</core:interfaceName>
                        </core:input>
                    </core:inputs>
                    <core:outputs>
                        <core:output required="true" name="enactor.inventoryManagement.StockAdjustmentId">
                            <core:interfaceName>java.lang.String</core:interfaceName>
                        </core:output>
                        <core:output name="enactor.coreReporting.PrintDocument">
                            <core:interfaceName>java.lang.Boolean</core:interfaceName>
                        </core:output>
                        <core:output required="true" name="enactor.coreReporting.ReportDataFilename">
                            <core:interfaceName>java.lang.String</core:interfaceName>
                        </core:output>
                        <core:output required="true" name="enactor.core.ErrorDetails">
                            <core:interfaceName>com.enactor.core.application.process.IErrorDetails</core:interfaceName>
                        </core:output>
                    </core:outputs>
                </core:metaData>
            </core:value>
            <core:index>7</core:index>
        </core:listElement>
        <core:listElement>
            <core:value xsi:type="core:EndProcessActivity">
                <core:activityId>Finished</core:activityId>
                <core:name>Finished</core:name>
                <core:activityTypeId>Generic/EndProcessActivityType</core:activityTypeId>
                <core:uiSettings xsi:type="tools:ActivitySettings">
                    <core:constraint xsi:type="core:UIPositionConstraint">
                        <core:x>1582</core:x>
                        <core:y>281</core:y>
                    </core:constraint>
                    <tools:swimLaneId>Lane 3</tools:swimLaneId>
                    <tools:style>1</tools:style>
                </core:uiSettings>
                <core:discard>false</core:discard>
            </core:value>
            <core:index>8</core:index>
        </core:listElement>
        <core:listElement>
            <core:value xsi:type="core:HTActivity">
                <core:activityId>ShowAuthorisationError</core:activityId>
                <core:name>Show Authorisation Error</core:name>
                <core:activityTypeId>InventoryManagement/ShowMessageActivityType</core:activityTypeId>
                <core:activityOutcome name="OKPressed">
                    <core:toActivity>StockAdjustmentItemEntry</core:toActivity>
                    <core:proceedImmediately>true</core:proceedImmediately>
                </core:activityOutcome>
                <core:activityOutcome name="Retry">
                    <core:toActivity>CheckReasonAuthorisation</core:toActivity>
                    <core:proceedImmediately>true</core:proceedImmediately>
                </core:activityOutcome>
                <core:suspendActivityOutcome name="Suspended">
                    <core:toActivity>ShowAuthorisationError</core:toActivity>
                    <core:proceedImmediately>true</core:proceedImmediately>
                </core:suspendActivityOutcome>
                <core:parameters>
                    <core:parameter name="enactor.coreProcessing.scheduledJob.ExecuteProcessId">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                        <core:value>Task/InitiateBusinessProcess</core:value>
                    </core:parameter>
                </core:parameters>
                <core:uiSettings xsi:type="tools:ActivitySettings">
                    <core:constraint xsi:type="core:UIPositionConstraint">
                        <core:x>957</core:x>
                        <core:y>1</core:y>
                    </core:constraint>
                    <tools:swimLaneId>Lane 1</tools:swimLaneId>
                    <tools:style>7</tools:style>
                </core:uiSettings>
                <core:metaData>
                    <core:inputs>
                        <core:input name="enactor.core.ErrorDetails">
                            <core:interfaceName>com.enactor.core.application.process.IErrorDetails</core:interfaceName>
                        </core:input>
                    </core:inputs>
                </core:metaData>
                <core:jobType>Adjust Stock At Location</core:jobType>
                <core:jobHeader>Authorisation Error</core:jobHeader>
                <core:displayDescriptionMessageBase>InventoryManagement/InventoryManagementErrorMessages</core:displayDescriptionMessageBase>
                <core:displayDescriptionMessageId>CHECK_REASON_AUTHORISATION_ERROR</core:displayDescriptionMessageId>
                <core:displayTitleMessageBase>InventoryManagement/InventoryManagementErrorMessages</core:displayTitleMessageBase>
                <core:displayTitleMessageId>CHECK_REASON_AUTHORISATION_ERROR_TITLE</core:displayTitleMessageId>
                <core:priority>5</core:priority>
                <core:peopleGroupEvaluator>{http://www.enactor.com/task}SimpleUserEvaluator</core:peopleGroupEvaluator>
            </core:value>
            <core:index>9</core:index>
        </core:listElement>
        <core:listElement>
            <core:value xsi:type="core:CallProcessActivity">
                <core:activityId>PrintPDFFile</core:activityId>
                <core:name>Print PDF File</core:name>
                <core:description>Server process to print PDF File</core:description>
                <core:activityTypeId>InventoryManagement/PrintPDFFileActivityType</core:activityTypeId>
                <core:activityOutcome name="Success">
                    <core:toActivity>SetCompletedStatus</core:toActivity>
                    <core:proceedImmediately>true</core:proceedImmediately>
                </core:activityOutcome>
                <core:catchAllOutcome xsi:type="core:ActivityOutcome" name="Error">
                    <core:toActivity>PrintPDFFileError</core:toActivity>
                    <core:proceedImmediately>true</core:proceedImmediately>
                </core:catchAllOutcome>
                <core:parameters>
                    <core:parameter name="enactor.inventoryManagement.FunctionId">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                        <core:value>PrintStockAdjustment</core:value>
                    </core:parameter>
                    <core:parameter name="enactor.inventoryManagement.HeaderId">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                        <core:value>#{stockAdjustmentId}</core:value>
                    </core:parameter>
                </core:parameters>
                <core:uiSettings xsi:type="tools:ActivitySettings">
                    <core:constraint xsi:type="core:UIPositionConstraint">
                        <core:x>1142</core:x>
                        <core:y>33</core:y>
                    </core:constraint>
                    <tools:swimLaneId>Lane 3</tools:swimLaneId>
                </core:uiSettings>
                <core:metaData>
                    <core:inputs>
                        <core:input required="true" name="enactor.coreReporting.ReportDataFilename">
                            <core:interfaceName>java.lang.String</core:interfaceName>
                        </core:input>
                        <core:input name="enactor.inventoryManagement.CreatedAtLocationId">
                            <core:interfaceName>java.lang.String</core:interfaceName>
                        </core:input>
                        <core:input name="enactor.inventoryManagement.HeaderId">
                            <core:interfaceName>java.lang.String</core:interfaceName>
                        </core:input>
                        <core:input required="true" name="enactor.inventoryManagement.FunctionId">
                            <core:interfaceName>java.lang.String</core:interfaceName>
                        </core:input>
                    </core:inputs>
                    <core:outputs>
                        <core:output required="true" name="enactor.core.ErrorDetails">
                            <core:interfaceName>com.enactor.core.application.process.IErrorDetails</core:interfaceName>
                        </core:output>
                    </core:outputs>
                </core:metaData>
            </core:value>
            <core:index>10</core:index>
        </core:listElement>
        <core:listElement>
            <core:value xsi:type="core:CallProcessActivity">
                <core:activityId>SetAwaitingApprovalStatus</core:activityId>
                <core:name>Set Awaiting Approval Status</core:name>
                <core:activityTypeId>InventoryManagement/UpdateStockAdjustmentStatusActivityType</core:activityTypeId>
                <core:activityOutcome name="Success">
                    <core:toActivity>CheckAuthoriseStockAdjustmentPrivilege</core:toActivity>
                    <core:proceedImmediately>true</core:proceedImmediately>
                </core:activityOutcome>
                <core:parameters>
                    <core:parameter name="enactor.inventoryManagement.Status">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                        <core:value>AWAITING_APPROVAL</core:value>
                    </core:parameter>
                </core:parameters>
                <core:uiSettings xsi:type="tools:ActivitySettings">
                    <core:constraint xsi:type="core:UIPositionConstraint">
                        <core:x>959</core:x>
                        <core:y>203</core:y>
                    </core:constraint>
                    <tools:swimLaneId>Lane 1</tools:swimLaneId>
                    <tools:style>7</tools:style>
                    <tools:noteReference name="Note Link">
                        <core:toActivity>Note2</core:toActivity>
                        <core:proceedImmediately>true</core:proceedImmediately>
                    </tools:noteReference>
                </core:uiSettings>
                <core:metaData>
                    <core:inputs>
                        <core:input required="true" name="enactor.inventoryManagement.StockAdjustmentId">
                            <core:interfaceName>java.lang.String</core:interfaceName>
                        </core:input>
                        <core:input required="true" name="enactor.inventoryManagement.Status">
                            <core:interfaceName>java.lang.String</core:interfaceName>
                        </core:input>
                    </core:inputs>
                    <core:outputs/>
                </core:metaData>
            </core:value>
            <core:index>11</core:index>
        </core:listElement>
        <core:listElement>
            <core:value xsi:type="core:CallProcessActivity">
                <core:activityId>UpdateDocumentHistory</core:activityId>
                <core:name>Update Document History</core:name>
                <core:activityTypeId>InventoryManagement/UpdateDocumentHistoryActivityType</core:activityTypeId>
                <core:activityOutcome name="Success">
                    <core:toActivity>IfPrintDocument</core:toActivity>
                    <core:proceedImmediately>true</core:proceedImmediately>
                </core:activityOutcome>
                <core:catchAllOutcome xsi:type="core:ActivityOutcome" name="Error">
                    <core:toActivity>UpdateDocumentHistoryError</core:toActivity>
                    <core:proceedImmediately>true</core:proceedImmediately>
                </core:catchAllOutcome>
                <core:parameters>
                    <core:parameter name="enactor.inventoryManagement.HeaderId">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                        <core:value>#{stockAdjustmentId}</core:value>
                    </core:parameter>
                    <core:parameter name="enactor.coreUI.EntityName">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                        <core:value>stockAdjustmentHeader</core:value>
                    </core:parameter>
                    <core:parameter name="enactor.coreUI.EntityNamespace">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                        <core:value>http://www.enactor.com/retail</core:value>
                    </core:parameter>
                    <core:parameter name="enactor.inventoryManagement.DocumentIdPrefix">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                        <core:value>StockAdjustment</core:value>
                    </core:parameter>
                </core:parameters>
                <core:uiSettings xsi:type="tools:ActivitySettings">
                    <core:constraint xsi:type="core:UIPositionConstraint">
                        <core:x>747</core:x>
                        <core:y>32</core:y>
                    </core:constraint>
                    <tools:swimLaneId>Lane 3</tools:swimLaneId>
                    <tools:noteReference name="Note Link">
                        <core:toActivity>Note6</core:toActivity>
                        <core:proceedImmediately>true</core:proceedImmediately>
                    </tools:noteReference>
                </core:uiSettings>
                <core:metaData>
                    <core:inputs>
                        <core:input required="true" name="enactor.coreReporting.ReportDataFilename">
                            <core:interfaceName>java.lang.String</core:interfaceName>
                        </core:input>
                        <core:input required="true" name="enactor.inventoryManagement.HeaderId">
                            <core:interfaceName>java.lang.String</core:interfaceName>
                        </core:input>
                        <core:input required="true" name="enactor.coreUI.EntityNamespace">
                            <core:interfaceName>java.lang.String</core:interfaceName>
                        </core:input>
                        <core:input required="true" name="enactor.coreUI.EntityName">
                            <core:interfaceName>java.lang.String</core:interfaceName>
                        </core:input>
                        <core:input required="true" name="enactor.inventoryManagement.DocumentIdPrefix">
                            <core:interfaceName>java.lang.String</core:interfaceName>
                        </core:input>
                    </core:inputs>
                    <core:outputs>
                        <core:output name="enactor.core.ErrorDetails">
                            <core:interfaceName>com.enactor.core.application.process.IErrorDetails</core:interfaceName>
                        </core:output>
                    </core:outputs>
                </core:metaData>
            </core:value>
            <core:index>12</core:index>
        </core:listElement>
        <core:listElement>
            <core:value xsi:type="core:HTActivity">
                <core:activityId>ShowAdjustStockError</core:activityId>
                <core:name>Show Adjust Stock Error</core:name>
                <core:activityTypeId>InventoryManagement/ShowMessageActivityType</core:activityTypeId>
                <core:activityOutcome name="OK">
                    <core:toActivity>EndProcessInError</core:toActivity>
                    <core:proceedImmediately>true</core:proceedImmediately>
                </core:activityOutcome>
                <core:uiSettings xsi:type="tools:ActivitySettings">
                    <core:constraint xsi:type="core:UIPositionConstraint">
                        <core:x>-16</core:x>
                        <core:y>302</core:y>
                    </core:constraint>
                    <tools:swimLaneId>Lane 1</tools:swimLaneId>
                    <tools:style>7</tools:style>
                </core:uiSettings>
                <core:metaData>
                    <core:inputs>
                        <core:input required="true" name="enactor.inventoryManagement.StockAdjustmentId">
                            <core:interfaceName>java.lang.String</core:interfaceName>
                        </core:input>
                        <core:input required="true" name="enactor.core.ErrorDetails">
                            <core:interfaceName>com.enactor.core.application.process.IErrorDetails</core:interfaceName>
                        </core:input>
                    </core:inputs>
                </core:metaData>
                <core:jobType>Adjust Stock At Location</core:jobType>
                <core:jobHeader>Stock Adjustment Error Message (Stock Adjustment ID: #{stockAdjustmentId})</core:jobHeader>
                <core:displayDescriptionMessageBase>#{errorDetails.messageBase}</core:displayDescriptionMessageBase>
                <core:displayDescriptionMessageId>#{errorDetails.messageId}</core:displayDescriptionMessageId>
                <core:priority>5</core:priority>
                <core:peopleGroupEvaluator>{http://www.enactor.com/task}SimpleUserEvaluator</core:peopleGroupEvaluator>
                <core:peopleGroupParameters>
                    <core:parameter name="userId">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                        <core:value>#{userId}</core:value>
                    </core:parameter>
                </core:peopleGroupParameters>
            </core:value>
            <core:index>13</core:index>
        </core:listElement>
        <core:listElement>
            <core:value xsi:type="core:EndProcessInErrorActivity">
                <core:activityId>EndProcessInError</core:activityId>
                <core:name>End Process In Error</core:name>
                <core:activityTypeId>Generic/EndProcessActivityType</core:activityTypeId>
                <core:uiSettings xsi:type="tools:ActivitySettings">
                    <core:constraint xsi:type="core:UIPositionConstraint">
                        <core:x>-52</core:x>
                        <core:y>459</core:y>
                    </core:constraint>
                    <tools:swimLaneId>Lane 1</tools:swimLaneId>
                    <tools:style>1</tools:style>
                </core:uiSettings>
                <core:discard>false</core:discard>
            </core:value>
            <core:index>14</core:index>
        </core:listElement>
        <core:listElement>
            <core:value xsi:type="core:StartActivity">
                <core:activityId>HHTStart</core:activityId>
                <core:name>HHT Start</core:name>
                <core:activityTypeId>Generic/StartProcessActivityType</core:activityTypeId>
                <core:activityOutcome name="Success">
                    <core:toActivity>SetItemProperties</core:toActivity>
                    <core:proceedImmediately>false</core:proceedImmediately>
                </core:activityOutcome>
                <core:uiSettings xsi:type="tools:ActivitySettings">
                    <core:constraint xsi:type="core:UIPositionConstraint">
                        <core:x>-27</core:x>
                        <core:y>79</core:y>
                    </core:constraint>
                    <tools:swimLaneId>Lane 3</tools:swimLaneId>
                </core:uiSettings>
            </core:value>
            <core:index>15</core:index>
        </core:listElement>
        <core:listElement>
            <core:value xsi:type="core:CallProcessActivity">
                <core:activityId>SetItemProperties</core:activityId>
                <core:name>Set Item Properties</core:name>
                <core:description>Server process to set stock adjustment item properties</core:description>
                <core:activityTypeId>InventoryManagement/SetStockAdjustmentItemPropertiesActivityType</core:activityTypeId>
                <core:activityOutcome name="Success">
                    <core:toActivity>ApplyStockAdjustment</core:toActivity>
                    <core:proceedImmediately>true</core:proceedImmediately>
                </core:activityOutcome>
                <core:activityOutcome name="ConfigError">
                    <core:toActivity>ReviewConfigurationIssues</core:toActivity>
                    <core:proceedImmediately>true</core:proceedImmediately>
                </core:activityOutcome>
                <core:catchAllOutcome xsi:type="core:ActivityOutcome" name="Error">
                    <core:toActivity>SetItemPropertiesError</core:toActivity>
                    <core:proceedImmediately>true</core:proceedImmediately>
                </core:catchAllOutcome>
                <core:uiSettings xsi:type="tools:ActivitySettings">
                    <core:constraint xsi:type="core:UIPositionConstraint">
                        <core:x>118</core:x>
                        <core:y>31</core:y>
                    </core:constraint>
                    <tools:swimLaneId>Lane 3</tools:swimLaneId>
                    <tools:noteReference name="Note Link">
                        <core:toActivity>Note7</core:toActivity>
                        <core:proceedImmediately>true</core:proceedImmediately>
                    </tools:noteReference>
                </core:uiSettings>
                <core:metaData>
                    <core:inputs>
                        <core:input required="true" name="enactor.inventoryManagement.StockAdjustmentId">
                            <core:interfaceName>java.lang.String</core:interfaceName>
                        </core:input>
                        <core:input required="true" name="enactor.mfc.LocationId">
                            <core:interfaceName>java.lang.String</core:interfaceName>
                        </core:input>
                        <core:input name="enactor.inventoryManagement.IgnoreInvalidItems">
                            <core:interfaceName>java.lang.Boolean</core:interfaceName>
                        </core:input>
                        <core:input name="enactor.inventoryManagement.ConfigReviewUserId">
                            <core:interfaceName>java.lang.String</core:interfaceName>
                        </core:input>
                    </core:inputs>
                    <core:outputs>
                        <core:output required="true" name="enactor.core.ErrorDetails">
                            <core:interfaceName>com.enactor.core.application.process.IErrorDetails</core:interfaceName>
                        </core:output>
                        <core:output name="enactor.inventoryManagement.CreatedAtLocationId">
                            <core:interfaceName>java.lang.String</core:interfaceName>
                        </core:output>
                        <core:output name="enactor.inventoryManagement.ErrorsList">
                            <core:interfaceName>java.util.List</core:interfaceName>
                        </core:output>
                        <core:output name="enactor.inventoryManagement.ErrorsListSubTitle">
                            <core:interfaceName>java.lang.String</core:interfaceName>
                        </core:output>
                        <core:output name="enactor.inventoryManagement.ErrorsListTitle">
                            <core:interfaceName>java.lang.String</core:interfaceName>
                        </core:output>
                    </core:outputs>
                </core:metaData>
            </core:value>
            <core:index>16</core:index>
        </core:listElement>
        <core:listElement>
            <core:value xsi:type="core:IfActionActivity">
                <core:activityId>SkipProcessedConfirmation</core:activityId>
                <core:name>Skip Processed Confirmation</core:name>
                <core:activityTypeId>Generic/IfActionActivityType</core:activityTypeId>
                <core:activityOutcome name="No">
                    <core:toActivity>CheckSkipAdjustmentProcessedPrivilege</core:toActivity>
                    <core:proceedImmediately>true</core:proceedImmediately>
                </core:activityOutcome>
                <core:activityOutcome name="Yes">
                    <core:toActivity>Finished</core:toActivity>
                    <core:proceedImmediately>true</core:proceedImmediately>
                </core:activityOutcome>
                <core:uiSettings xsi:type="tools:ActivitySettings">
                    <core:constraint xsi:type="core:UIPositionConstraint">
                        <core:x>1605</core:x>
                        <core:y>52</core:y>
                    </core:constraint>
                    <tools:swimLaneId>Lane 3</tools:swimLaneId>
                </core:uiSettings>
                <core:conditionalExpression>notEmpty(automaticMode) &amp;&amp; automaticMode</core:conditionalExpression>
            </core:value>
            <core:index>17</core:index>
        </core:listElement>
        <core:listElement>
            <core:value xsi:type="core:HTActivity">
                <core:activityId>SetItemPropertiesError</core:activityId>
                <core:name>Set Item Properties Error</core:name>
                <core:description>Allow the task to be re-run or suspended. If the stock adjustment is interactive only the user that created it can re-run it.  If the stock adjustment is automatic, any user (at the server's location) with the correct privilege can re-run it.</core:description>
                <core:activityTypeId>InventoryManagement/ShowMessageActivityType</core:activityTypeId>
                <core:suspendActivityOutcome name="Suspended">
                    <core:toActivity>SetItemPropertiesError</core:toActivity>
                    <core:proceedImmediately>true</core:proceedImmediately>
                </core:suspendActivityOutcome>
                <core:activityOutcome name="Retry">
                    <core:toActivity>SetItemProperties</core:toActivity>
                    <core:proceedImmediately>true</core:proceedImmediately>
                </core:activityOutcome>
                <core:catchAllOutcome xsi:type="core:ActivityOutcome" name="Error">
                    <core:toActivity></core:toActivity>
                    <core:proceedImmediately>true</core:proceedImmediately>
                </core:catchAllOutcome>
                <core:parameters>
                    <core:parameter name="enactor.inventoryManagement.DisallowOK">
                        <core:interfaceName>java.lang.Boolean</core:interfaceName>
                        <core:value>true</core:value>
                    </core:parameter>
                    <core:parameter name="enactor.coreUI.MessageBasename">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                        <core:value>InventoryManagement/Adjustments/AdjustStockAtLocationMessages</core:value>
                    </core:parameter>
                    <core:parameter name="enactor.coreUI.MessageId">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                        <core:value>SET_ADJUSTMENT_ITEMS_ERROR</core:value>
                    </core:parameter>
                </core:parameters>
                <core:uiSettings xsi:type="tools:ActivitySettings">
                    <core:constraint xsi:type="core:UIPositionConstraint">
                        <core:x>118</core:x>
                        <core:y>314</core:y>
                    </core:constraint>
                    <tools:swimLaneId>Lane 3</tools:swimLaneId>
                    <tools:style>7</tools:style>
                </core:uiSettings>
                <core:metaData>
                    <core:inputs>
                        <core:input name="enactor.coreUI.MessageBasename">
                            <core:interfaceName>java.lang.String</core:interfaceName>
                        </core:input>
                        <core:input name="enactor.coreUI.MessageId">
                            <core:interfaceName>java.lang.String</core:interfaceName>
                        </core:input>
                        <core:input name="enactor.inventoryManagement.DisallowOK">
                            <core:interfaceName>java.lang.Boolean</core:interfaceName>
                        </core:input>
                        <core:input required="true" name="enactor.core.ErrorDetails">
                            <core:interfaceName>com.enactor.core.application.process.IErrorDetails</core:interfaceName>
                        </core:input>
                    </core:inputs>
                </core:metaData>
                <core:jobType>Adjust Stock At Location</core:jobType>
                <core:jobHeader>Set Stock Adjustment Items Error (Stock Adjustment ID: #{stockAdjustmentId})</core:jobHeader>
                <core:displayDescriptionMessageBase>InventoryManagement/Adjustments/AdjustStockAtLocationMessages</core:displayDescriptionMessageBase>
                <core:displayDescriptionMessageId>#{errorDetails.messageId}</core:displayDescriptionMessageId>
                <core:displayTitleMessageBase>InventoryManagement/Adjustments/AdjustStockAtLocationMessages</core:displayTitleMessageBase>
                <core:displayTitleMessageId>SET_ADJUSTMENT_ITEMS_ERROR_TITLE</core:displayTitleMessageId>
                <core:priority>5</core:priority>
                <core:peopleGroupEvaluator>{http://www.enactor.com/mfc}LocationPrivilegeOrUserEvaluator</core:peopleGroupEvaluator>
                <core:peopleGroupParameters>
                    <core:parameter name="privilegeId">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                        <core:value>enactor.inventoryManagement.StockAdjustment.Rerun</core:value>
                    </core:parameter>
                    <core:parameter name="fallbackToAllLocations">
                        <core:interfaceName>java.lang.Boolean</core:interfaceName>
                        <core:value>true</core:value>
                    </core:parameter>
                    <core:parameter name="locationId">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                        <core:value>#{serverLocationKey.locationId}</core:value>
                    </core:parameter>
                    <core:parameter name="userId">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                        <core:value>#{userId}</core:value>
                    </core:parameter>
                    <core:parameter name="allPrivilegeUsers">
                        <core:interfaceName>java.lang.Boolean</core:interfaceName>
                        <core:value>#{automaticMode}</core:value>
                    </core:parameter>
                </core:peopleGroupParameters>
            </core:value>
            <core:index>18</core:index>
        </core:listElement>
        <core:listElement>
            <core:value xsi:type="core:HTActivity">
                <core:activityId>ApplyStockAdjustmentError</core:activityId>
                <core:name>Apply Stock Adjustment Error</core:name>
                <core:activityTypeId>InventoryManagement/ShowMessageActivityType</core:activityTypeId>
                <core:suspendActivityOutcome name="Suspended">
                    <core:toActivity>ApplyStockAdjustmentError</core:toActivity>
                    <core:proceedImmediately>true</core:proceedImmediately>
                </core:suspendActivityOutcome>
                <core:activityOutcome name="Retry">
                    <core:toActivity>ApplyStockAdjustment</core:toActivity>
                    <core:proceedImmediately>true</core:proceedImmediately>
                </core:activityOutcome>
                <core:catchAllOutcome xsi:type="core:ActivityOutcome" name="Error">
                    <core:toActivity></core:toActivity>
                    <core:proceedImmediately>true</core:proceedImmediately>
                </core:catchAllOutcome>
                <core:parameters>
                    <core:parameter name="enactor.inventoryManagement.DisallowOK">
                        <core:interfaceName>java.lang.Boolean</core:interfaceName>
                        <core:value>true</core:value>
                    </core:parameter>
                    <core:parameter name="enactor.coreUI.MessageBasename">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                        <core:value>InventoryManagement/Adjustments/AdjustStockAtLocationMessages</core:value>
                    </core:parameter>
                    <core:parameter name="enactor.coreUI.MessageId">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                        <core:value>APPLY_STOCK_ADJUSTMENT_ERROR</core:value>
                    </core:parameter>
                </core:parameters>
                <core:uiSettings xsi:type="tools:ActivitySettings">
                    <core:constraint xsi:type="core:UIPositionConstraint">
                        <core:x>341</core:x>
                        <core:y>285</core:y>
                    </core:constraint>
                    <tools:swimLaneId>Lane 3</tools:swimLaneId>
                    <tools:style>7</tools:style>
                </core:uiSettings>
                <core:metaData>
                    <core:inputs>
                        <core:input name="enactor.coreUI.MessageBasename">
                            <core:interfaceName>java.lang.String</core:interfaceName>
                        </core:input>
                        <core:input name="enactor.coreUI.MessageId">
                            <core:interfaceName>java.lang.String</core:interfaceName>
                        </core:input>
                        <core:input name="enactor.inventoryManagement.DisallowOK">
                            <core:interfaceName>java.lang.Boolean</core:interfaceName>
                        </core:input>
                        <core:input required="true" name="enactor.core.ErrorDetails">
                            <core:interfaceName>com.enactor.core.application.process.IErrorDetails</core:interfaceName>
                        </core:input>
                    </core:inputs>
                </core:metaData>
                <core:jobType>Adjust Stock At Location</core:jobType>
                <core:jobHeader>Apply Stock Adjustment Error (Stock Adjustment ID: #{stockAdjustmentId})</core:jobHeader>
                <core:displayDescriptionMessageBase>InventoryManagement/Adjustments/AdjustStockAtLocationMessages</core:displayDescriptionMessageBase>
                <core:displayDescriptionMessageId>#{errorDetails.messageId}</core:displayDescriptionMessageId>
                <core:displayTitleMessageBase>InventoryManagement/Adjustments/AdjustStockAtLocationMessages</core:displayTitleMessageBase>
                <core:displayTitleMessageId>APPLY_STOCK_ADJUSTMENT_ERROR_TITLE</core:displayTitleMessageId>
                <core:priority>5</core:priority>
                <core:peopleGroupEvaluator>{http://www.enactor.com/mfc}LocationPrivilegeOrUserEvaluator</core:peopleGroupEvaluator>
                <core:peopleGroupParameters>
                    <core:parameter name="privilegeId">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                        <core:value>enactor.inventoryManagement.StockAdjustment.Rerun</core:value>
                    </core:parameter>
                    <core:parameter name="fallbackToAllLocations">
                        <core:interfaceName>java.lang.Boolean</core:interfaceName>
                        <core:value>true</core:value>
                    </core:parameter>
                    <core:parameter name="locationId">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                        <core:value>#{locationKey.locationId}</core:value>
                    </core:parameter>
                    <core:parameter name="userId">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                        <core:value>#{userId}</core:value>
                    </core:parameter>
                    <core:parameter name="allPrivilegeUsers">
                        <core:interfaceName>java.lang.Boolean</core:interfaceName>
                        <core:value>#{automaticMode}</core:value>
                    </core:parameter>
                </core:peopleGroupParameters>
            </core:value>
            <core:index>19</core:index>
        </core:listElement>
        <core:listElement>
            <core:value xsi:type="core:HTActivity">
                <core:activityId>GenerateAdjustmentPDFError</core:activityId>
                <core:name>Generate Adjustment PDF Error</core:name>
                <core:activityTypeId>InventoryManagement/ShowMessageActivityType</core:activityTypeId>
                <core:suspendActivityOutcome name="Suspended">
                    <core:toActivity>GenerateAdjustmentPDFError</core:toActivity>
                    <core:proceedImmediately>true</core:proceedImmediately>
                </core:suspendActivityOutcome>
                <core:activityOutcome name="Retry">
                    <core:toActivity>GenerateAdjustmentPDF</core:toActivity>
                    <core:proceedImmediately>true</core:proceedImmediately>
                </core:activityOutcome>
                <core:catchAllOutcome xsi:type="core:ActivityOutcome" name="Error">
                    <core:toActivity></core:toActivity>
                    <core:proceedImmediately>true</core:proceedImmediately>
                </core:catchAllOutcome>
                <core:parameters>
                    <core:parameter name="enactor.inventoryManagement.DisallowOK">
                        <core:interfaceName>java.lang.Boolean</core:interfaceName>
                        <core:value>true</core:value>
                    </core:parameter>
                    <core:parameter name="enactor.coreUI.MessageBasename">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                        <core:value>InventoryManagement/Adjustments/AdjustStockAtLocationMessages</core:value>
                    </core:parameter>
                    <core:parameter name="enactor.coreUI.MessageId">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                        <core:value>GENERATE_ADJUSTMENT_PDF_ERROR</core:value>
                    </core:parameter>
                </core:parameters>
                <core:uiSettings xsi:type="tools:ActivitySettings">
                    <core:constraint xsi:type="core:UIPositionConstraint">
                        <core:x>540</core:x>
                        <core:y>288</core:y>
                    </core:constraint>
                    <tools:swimLaneId>Lane 3</tools:swimLaneId>
                    <tools:style>7</tools:style>
                </core:uiSettings>
                <core:metaData>
                    <core:inputs>
                        <core:input name="enactor.coreUI.MessageBasename">
                            <core:interfaceName>java.lang.String</core:interfaceName>
                        </core:input>
                        <core:input name="enactor.coreUI.MessageId">
                            <core:interfaceName>java.lang.String</core:interfaceName>
                        </core:input>
                        <core:input name="enactor.inventoryManagement.DisallowOK">
                            <core:interfaceName>java.lang.Boolean</core:interfaceName>
                        </core:input>
                        <core:input required="true" name="enactor.core.ErrorDetails">
                            <core:interfaceName>com.enactor.core.application.process.IErrorDetails</core:interfaceName>
                        </core:input>
                    </core:inputs>
                </core:metaData>
                <core:jobType>Adjust Stock At Location</core:jobType>
                <core:jobHeader>Generate Adjustment PDF Error (Stock Adjustment ID: #{stockAdjustmentId})</core:jobHeader>
                <core:displayDescriptionMessageBase>InventoryManagement/Adjustments/AdjustStockAtLocationMessages</core:displayDescriptionMessageBase>
                <core:displayDescriptionMessageId>#{errorDetails.messageId}</core:displayDescriptionMessageId>
                <core:displayTitleMessageBase>InventoryManagement/Adjustments/AdjustStockAtLocationMessages</core:displayTitleMessageBase>
                <core:displayTitleMessageId>GENERATE_ADJUSTMENT_PDF_ERROR_TITLE</core:displayTitleMessageId>
                <core:priority>5</core:priority>
                <core:peopleGroupEvaluator>{http://www.enactor.com/mfc}LocationPrivilegeOrUserEvaluator</core:peopleGroupEvaluator>
                <core:peopleGroupParameters>
                    <core:parameter name="privilegeId">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                        <core:value>enactor.inventoryManagement.StockAdjustment.Rerun</core:value>
                    </core:parameter>
                    <core:parameter name="fallbackToAllLocations">
                        <core:interfaceName>java.lang.Boolean</core:interfaceName>
                        <core:value>true</core:value>
                    </core:parameter>
                    <core:parameter name="locationId">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                        <core:value>#{serverLocationKey.locationId}</core:value>
                    </core:parameter>
                    <core:parameter name="userId">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                        <core:value>#{userId}</core:value>
                    </core:parameter>
                    <core:parameter name="allPrivilegeUsers">
                        <core:interfaceName>java.lang.Boolean</core:interfaceName>
                        <core:value>#{automaticMode}</core:value>
                    </core:parameter>
                </core:peopleGroupParameters>
            </core:value>
            <core:index>20</core:index>
        </core:listElement>
        <core:listElement>
            <core:value xsi:type="core:HTActivity">
                <core:activityId>UpdateDocumentHistoryError</core:activityId>
                <core:name>Update Document History Error</core:name>
                <core:activityTypeId>InventoryManagement/ShowMessageActivityType</core:activityTypeId>
                <core:suspendActivityOutcome name="Suspended">
                    <core:toActivity>UpdateDocumentHistoryError</core:toActivity>
                    <core:proceedImmediately>true</core:proceedImmediately>
                </core:suspendActivityOutcome>
                <core:activityOutcome name="Retry">
                    <core:toActivity>UpdateDocumentHistory</core:toActivity>
                    <core:proceedImmediately>true</core:proceedImmediately>
                </core:activityOutcome>
                <core:catchAllOutcome xsi:type="core:ActivityOutcome" name="Error">
                    <core:toActivity></core:toActivity>
                    <core:proceedImmediately>true</core:proceedImmediately>
                </core:catchAllOutcome>
                <core:parameters>
                    <core:parameter name="enactor.inventoryManagement.DisallowOK">
                        <core:interfaceName>java.lang.Boolean</core:interfaceName>
                        <core:value>true</core:value>
                    </core:parameter>
                    <core:parameter name="enactor.coreUI.MessageBasename">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                        <core:value>InventoryManagement/Adjustments/AdjustStockAtLocationMessages</core:value>
                    </core:parameter>
                    <core:parameter name="enactor.coreUI.MessageId">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                        <core:value>UPDATE_DOCUMENT_HISTORY_ERROR</core:value>
                    </core:parameter>
                </core:parameters>
                <core:uiSettings xsi:type="tools:ActivitySettings">
                    <core:constraint xsi:type="core:UIPositionConstraint">
                        <core:x>749</core:x>
                        <core:y>287</core:y>
                    </core:constraint>
                    <tools:swimLaneId>Lane 3</tools:swimLaneId>
                    <tools:style>7</tools:style>
                </core:uiSettings>
                <core:metaData>
                    <core:inputs>
                        <core:input name="enactor.coreUI.MessageBasename">
                            <core:interfaceName>java.lang.String</core:interfaceName>
                        </core:input>
                        <core:input name="enactor.coreUI.MessageId">
                            <core:interfaceName>java.lang.String</core:interfaceName>
                        </core:input>
                        <core:input name="enactor.inventoryManagement.DisallowOK">
                            <core:interfaceName>java.lang.Boolean</core:interfaceName>
                        </core:input>
                        <core:input required="true" name="enactor.core.ErrorDetails">
                            <core:interfaceName>com.enactor.core.application.process.IErrorDetails</core:interfaceName>
                        </core:input>
                    </core:inputs>
                </core:metaData>
                <core:jobType>Adjust Stock At Location</core:jobType>
                <core:jobHeader>Update Document History Error (Stock Adjustment ID: #{stockAdjustmentId})</core:jobHeader>
                <core:displayDescriptionMessageBase>InventoryManagement/Adjustments/AdjustStockAtLocationMessages</core:displayDescriptionMessageBase>
                <core:displayDescriptionMessageId>#{errorDetails.messageId}</core:displayDescriptionMessageId>
                <core:displayTitleMessageBase>InventoryManagement/Adjustments/AdjustStockAtLocationMessages</core:displayTitleMessageBase>
                <core:displayTitleMessageId>UPDATE_DOCUMENT_HISTORY_ERROR_TITLE</core:displayTitleMessageId>
                <core:priority>5</core:priority>
                <core:peopleGroupEvaluator>{http://www.enactor.com/mfc}LocationPrivilegeOrUserEvaluator</core:peopleGroupEvaluator>
                <core:peopleGroupParameters>
                    <core:parameter name="privilegeId">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                        <core:value>enactor.inventoryManagement.StockAdjustment.Rerun</core:value>
                    </core:parameter>
                    <core:parameter name="fallbackToAllLocations">
                        <core:interfaceName>java.lang.Boolean</core:interfaceName>
                        <core:value>true</core:value>
                    </core:parameter>
                    <core:parameter name="locationId">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                        <core:value>#{serverLocationKey.locationId}</core:value>
                    </core:parameter>
                    <core:parameter name="userId">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                        <core:value>#{userId}</core:value>
                    </core:parameter>
                    <core:parameter name="allPrivilegeUsers">
                        <core:interfaceName>java.lang.Boolean</core:interfaceName>
                        <core:value>#{automaticMode}</core:value>
                    </core:parameter>
                </core:peopleGroupParameters>
            </core:value>
            <core:index>21</core:index>
        </core:listElement>
        <core:listElement>
            <core:value xsi:type="core:HTActivity">
                <core:activityId>PrintPDFFileError</core:activityId>
                <core:name>Print PDF File Error</core:name>
                <core:activityTypeId>InventoryManagement/ShowMessageActivityType</core:activityTypeId>
                <core:suspendActivityOutcome name="Suspended">
                    <core:toActivity>PrintPDFFileError</core:toActivity>
                    <core:proceedImmediately>true</core:proceedImmediately>
                </core:suspendActivityOutcome>
                <core:activityOutcome name="Retry">
                    <core:toActivity>PrintPDFFile</core:toActivity>
                    <core:proceedImmediately>true</core:proceedImmediately>
                </core:activityOutcome>
                <core:activityOutcome name="OK">
                    <core:toActivity>SetCompletedStatus</core:toActivity>
                    <core:proceedImmediately>true</core:proceedImmediately>
                </core:activityOutcome>
                <core:catchAllOutcome xsi:type="core:ActivityOutcome" name="Error">
                    <core:toActivity></core:toActivity>
                    <core:proceedImmediately>true</core:proceedImmediately>
                </core:catchAllOutcome>
                <core:parameters>
                    <core:parameter name="enactor.coreUI.MessageBasename">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                        <core:value>InventoryManagement/Adjustments/AdjustStockAtLocationMessages</core:value>
                    </core:parameter>
                    <core:parameter name="enactor.coreUI.MessageId">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                        <core:value>PRINT_PDF_FILE_ERROR</core:value>
                    </core:parameter>
                </core:parameters>
                <core:uiSettings xsi:type="tools:ActivitySettings">
                    <core:constraint xsi:type="core:UIPositionConstraint">
                        <core:x>1146</core:x>
                        <core:y>288</core:y>
                    </core:constraint>
                    <tools:swimLaneId>Lane 3</tools:swimLaneId>
                    <tools:style>7</tools:style>
                </core:uiSettings>
                <core:metaData>
                    <core:inputs>
                        <core:input name="enactor.coreUI.MessageBasename">
                            <core:interfaceName>java.lang.String</core:interfaceName>
                        </core:input>
                        <core:input name="enactor.coreUI.MessageId">
                            <core:interfaceName>java.lang.String</core:interfaceName>
                        </core:input>
                        <core:input required="true" name="enactor.core.ErrorDetails">
                            <core:interfaceName>com.enactor.core.application.process.IErrorDetails</core:interfaceName>
                        </core:input>
                    </core:inputs>
                </core:metaData>
                <core:jobType>Adjust Stock At Location</core:jobType>
                <core:jobHeader>Print Stock Adjustment PDF File Error (Stock Adjustment ID: #{stockAdjustmentId})</core:jobHeader>
                <core:displayDescriptionMessageBase>InventoryManagement/Adjustments/AdjustStockAtLocationMessages</core:displayDescriptionMessageBase>
                <core:displayDescriptionMessageId>#{errorDetails.messageId}</core:displayDescriptionMessageId>
                <core:displayTitleMessageBase>InventoryManagement/Adjustments/AdjustStockAtLocationMessages</core:displayTitleMessageBase>
                <core:displayTitleMessageId>PRINT_PDF_FILE_ERROR_TITLE</core:displayTitleMessageId>
                <core:priority>5</core:priority>
                <core:peopleGroupEvaluator>{http://www.enactor.com/mfc}LocationPrivilegeOrUserEvaluator</core:peopleGroupEvaluator>
                <core:peopleGroupParameters>
                    <core:parameter name="privilegeId">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                        <core:value>enactor.inventoryManagement.StockAdjustment.Rerun</core:value>
                    </core:parameter>
                    <core:parameter name="fallbackToAllLocations">
                        <core:interfaceName>java.lang.Boolean</core:interfaceName>
                        <core:value>true</core:value>
                    </core:parameter>
                    <core:parameter name="locationId">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                        <core:value>#{serverLocationKey.locationId}</core:value>
                    </core:parameter>
                    <core:parameter name="userId">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                        <core:value>#{userId}</core:value>
                    </core:parameter>
                    <core:parameter name="allPrivilegeUsers">
                        <core:interfaceName>java.lang.Boolean</core:interfaceName>
                        <core:value>#{automaticMode}</core:value>
                    </core:parameter>
                </core:peopleGroupParameters>
            </core:value>
            <core:index>22</core:index>
        </core:listElement>
        <core:listElement>
            <core:value xsi:type="core:ActionActivity">
                <core:activityId>CheckAuthoriseStockAdjustmentPrivilege</core:activityId>
                <core:name>Check Authorise Stock Adjustment Privilege</core:name>
                <core:activityTypeId>MFC/CheckPrivilegeActivityType</core:activityTypeId>
                <core:activityOutcome name="Fail">
                    <core:toActivity>AllowSkipAuthorisation</core:toActivity>
                    <core:proceedImmediately>false</core:proceedImmediately>
                </core:activityOutcome>
                <core:activityOutcome name="Success">
                    <core:toActivity>CheckSkipStockAdjustmentAuthorisationPrivilege</core:toActivity>
                    <core:proceedImmediately>true</core:proceedImmediately>
                </core:activityOutcome>
                <core:parameters>
                    <core:parameter name="enactor.mfc.PrivilegeId">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                        <core:value>enactor.inventoryManagement.AuthoriseStockAdjustment</core:value>
                    </core:parameter>
                </core:parameters>
                <core:uiSettings xsi:type="tools:ActivitySettings">
                    <core:constraint xsi:type="core:UIPositionConstraint">
                        <core:x>963</core:x>
                        <core:y>29</core:y>
                    </core:constraint>
                    <tools:swimLaneId>Lane 2</tools:swimLaneId>
                    <tools:style>7</tools:style>
                </core:uiSettings>
                <core:metaData>
                    <core:inputs>
                        <core:input required="true" name="enactor.coreUI.UserId">
                            <core:interfaceName>java.lang.String</core:interfaceName>
                        </core:input>
                        <core:input required="true" name="enactor.mfc.PrivilegeId">
                            <core:interfaceName>java.lang.String</core:interfaceName>
                        </core:input>
                    </core:inputs>
                </core:metaData>
            </core:value>
            <core:index>23</core:index>
        </core:listElement>
        <core:listElement>
            <core:value xsi:type="core:ActionActivity">
                <core:activityId>CheckSkipStockAdjustmentAuthorisationPrivilege</core:activityId>
                <core:name>Check Skip Stock Adjustment Authorisation Privilege</core:name>
                <core:activityTypeId>MFC/CheckPrivilegeActivityType</core:activityTypeId>
                <core:activityOutcome name="Fail">
                    <core:toActivity>AllowSkipAuthorisation</core:toActivity>
                    <core:proceedImmediately>true</core:proceedImmediately>
                </core:activityOutcome>
                <core:activityOutcome name="Success">
                    <core:toActivity>SetApprovedStatus</core:toActivity>
                    <core:proceedImmediately>true</core:proceedImmediately>
                </core:activityOutcome>
                <core:parameters>
                    <core:parameter name="enactor.mfc.PrivilegeId">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                        <core:value>enactor.inventoryManagement.SkipStockAdjustmentAuthorisation</core:value>
                    </core:parameter>
                </core:parameters>
                <core:uiSettings xsi:type="tools:ActivitySettings">
                    <core:constraint xsi:type="core:UIPositionConstraint">
                        <core:x>761</core:x>
                        <core:y>28</core:y>
                    </core:constraint>
                    <tools:swimLaneId>Lane 2</tools:swimLaneId>
                    <tools:style>7</tools:style>
                </core:uiSettings>
                <core:metaData>
                    <core:inputs>
                        <core:input required="true" name="enactor.coreUI.UserId">
                            <core:interfaceName>java.lang.String</core:interfaceName>
                        </core:input>
                        <core:input required="true" name="enactor.mfc.PrivilegeId">
                            <core:interfaceName>java.lang.String</core:interfaceName>
                        </core:input>
                    </core:inputs>
                </core:metaData>
            </core:value>
            <core:index>24</core:index>
        </core:listElement>
        <core:listElement>
            <core:value xsi:type="core:CallProcessActivity">
                <core:activityId>SetApprovedStatus</core:activityId>
                <core:name>Set Approved Status</core:name>
                <core:activityTypeId>InventoryManagement/UpdateStockAdjustmentStatusActivityType</core:activityTypeId>
                <core:activityOutcome name="Success">
                    <core:toActivity>IfAllowPicking</core:toActivity>
                    <core:proceedImmediately>true</core:proceedImmediately>
                </core:activityOutcome>
                <core:parameters>
                    <core:parameter name="enactor.inventoryManagement.Status">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                        <core:value>APPROVED</core:value>
                    </core:parameter>
                </core:parameters>
                <core:uiSettings xsi:type="tools:ActivitySettings">
                    <core:constraint xsi:type="core:UIPositionConstraint">
                        <core:x>760</core:x>
                        <core:y>210</core:y>
                    </core:constraint>
                    <tools:swimLaneId>Lane 2</tools:swimLaneId>
                    <tools:style>7</tools:style>
                    <tools:noteReference name="Note Link">
                        <core:toActivity>Note2</core:toActivity>
                        <core:proceedImmediately>true</core:proceedImmediately>
                    </tools:noteReference>
                </core:uiSettings>
                <core:metaData>
                    <core:inputs>
                        <core:input required="true" name="enactor.inventoryManagement.StockAdjustmentId">
                            <core:interfaceName>java.lang.String</core:interfaceName>
                        </core:input>
                        <core:input required="true" name="enactor.inventoryManagement.Status">
                            <core:interfaceName>java.lang.String</core:interfaceName>
                        </core:input>
                        <core:input required="true" name="enactor.coreUI.UserId">
                            <core:interfaceName>java.lang.String</core:interfaceName>
                        </core:input>
                    </core:inputs>
                    <core:outputs/>
                </core:metaData>
            </core:value>
            <core:index>25</core:index>
        </core:listElement>
        <core:listElement>
            <core:value xsi:type="core:IfActionActivity">
                <core:activityId>IfPrintDocument</core:activityId>
                <core:name>If Should Print Document</core:name>
                <core:activityTypeId>Generic/IfActionActivityType</core:activityTypeId>
                <core:activityOutcome name="Yes">
                    <core:toActivity>PrintPDFFile</core:toActivity>
                    <core:proceedImmediately>true</core:proceedImmediately>
                </core:activityOutcome>
                <core:activityOutcome name="No">
                    <core:toActivity>SetCompletedStatus</core:toActivity>
                    <core:proceedImmediately>true</core:proceedImmediately>
                </core:activityOutcome>
                <core:uiSettings xsi:type="tools:ActivitySettings">
                    <core:constraint xsi:type="core:UIPositionConstraint">
                        <core:x>987</core:x>
                        <core:y>85</core:y>
                    </core:constraint>
                    <tools:swimLaneId>Lane 3</tools:swimLaneId>
                </core:uiSettings>
                <core:conditionalExpression>#{printDocument}</core:conditionalExpression>
            </core:value>
            <core:index>26</core:index>
        </core:listElement>
        <core:listElement>
            <core:value xsi:type="core:HTActivity">
                <core:activityId>ReviewConfigurationIssues</core:activityId>
                <core:name>Review Configuration Issues</core:name>
                <core:activityTypeId>InventoryManagement/ReviewStockAdjustmentItemIssuesActivityType</core:activityTypeId>
                <core:suspendActivityOutcome name="Suspended">
                    <core:toActivity>ReviewConfigurationIssues</core:toActivity>
                    <core:proceedImmediately>true</core:proceedImmediately>
                </core:suspendActivityOutcome>
                <core:activityOutcome name="Retry">
                    <core:toActivity>SetItemProperties</core:toActivity>
                    <core:proceedImmediately>true</core:proceedImmediately>
                </core:activityOutcome>
                <core:uiSettings xsi:type="tools:ActivitySettings">
                    <core:constraint xsi:type="core:UIPositionConstraint">
                        <core:x>-70</core:x>
                        <core:y>279</core:y>
                    </core:constraint>
                    <tools:swimLaneId>Lane 3</tools:swimLaneId>
                    <tools:style>15</tools:style>
                </core:uiSettings>
                <core:metaData>
                    <core:inputs>
                        <core:input required="true" name="enactor.inventoryManagement.ErrorsList">
                            <core:interfaceName>java.util.List</core:interfaceName>
                        </core:input>
                        <core:input required="true" name="enactor.inventoryManagement.ErrorsListSubTitle">
                            <core:interfaceName>java.lang.String</core:interfaceName>
                        </core:input>
                        <core:input required="true" name="enactor.inventoryManagement.ErrorsListTitle">
                            <core:interfaceName>java.lang.String</core:interfaceName>
                        </core:input>
                    </core:inputs>
                    <core:outputs>
                        <core:output name="enactor.inventoryManagement.IgnoreInvalidItems">
                            <core:interfaceName>java.lang.Boolean</core:interfaceName>
                        </core:output>
                        <core:output name="enactor.inventoryManagement.ConfigReviewUserId">
                            <core:interfaceName>java.lang.String</core:interfaceName>
                        </core:output>
                    </core:outputs>
                </core:metaData>
                <core:jobType>Adjust Stock At Location</core:jobType>
                <core:jobHeader>Review Configuration Issues (Stock Adjustment ID: #{stockAdjustmentId})</core:jobHeader>
                <core:displayTitleMessageBase>InventoryManagement/Adjustments/AdjustStockAtLocationMessages</core:displayTitleMessageBase>
                <core:displayTitleMessageId>REVIEW_CONFIGURATION_ISSUES_TITLE</core:displayTitleMessageId>
                <core:priority>5</core:priority>
                <core:peopleGroupEvaluator>{http://www.enactor.com/mfc}LocationPrivilegeOrUserEvaluator</core:peopleGroupEvaluator>
                <core:peopleGroupParameters>
                    <core:parameter name="privilegeId">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                        <core:value>enactor.inventoryManagement.StockAdjustment.Admin</core:value>
                    </core:parameter>
                    <core:parameter name="fallbackToAllLocations">
                        <core:interfaceName>java.lang.Boolean</core:interfaceName>
                        <core:value>true</core:value>
                    </core:parameter>
                    <core:parameter name="locationId">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                        <core:value>#{serverLocationKey.locationId}</core:value>
                    </core:parameter>
                    <core:parameter name="userId">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                        <core:value>#{userId}</core:value>
                    </core:parameter>
                    <core:parameter name="allPrivilegeUsers">
                        <core:interfaceName>java.lang.Boolean</core:interfaceName>
                        <core:value>#{automaticMode}</core:value>
                    </core:parameter>
                </core:peopleGroupParameters>
            </core:value>
            <core:index>27</core:index>
        </core:listElement>
        <core:listElement>
            <core:value xsi:type="core:StartActivity">
                <core:activityId>StartAuthoriseAdjustment</core:activityId>
                <core:name>Start Authorise Adjustment</core:name>
                <core:activityTypeId>Generic/StartProcessActivityType</core:activityTypeId>
                <core:activityOutcome name="Success">
                    <core:toActivity>WebShopSetItemProperties</core:toActivity>
                    <core:proceedImmediately>true</core:proceedImmediately>
                </core:activityOutcome>
                <core:uiSettings xsi:type="tools:ActivitySettings">
                    <core:constraint xsi:type="core:UIPositionConstraint">
                        <core:x>1712</core:x>
                        <core:y>190</core:y>
                    </core:constraint>
                    <tools:swimLaneId>Lane 2</tools:swimLaneId>
                </core:uiSettings>
            </core:value>
            <core:index>28</core:index>
        </core:listElement>
        <core:listElement>
            <core:value xsi:type="core:CallProcessActivity">
                <core:activityId>WebShopSetItemProperties</core:activityId>
                <core:name>Set Item Properties</core:name>
                <core:description>Server process to set stock adjustment item properties</core:description>
                <core:activityTypeId>InventoryManagement/SetStockAdjustmentItemPropertiesActivityType</core:activityTypeId>
                <core:activityOutcome name="ConfigError">
                    <core:toActivity></core:toActivity>
                    <core:proceedImmediately>true</core:proceedImmediately>
                </core:activityOutcome>
                <core:activityOutcome name="Success">
                    <core:toActivity>AllowSkipAuthorisation</core:toActivity>
                    <core:proceedImmediately>true</core:proceedImmediately>
                </core:activityOutcome>
                <core:catchAllOutcome xsi:type="core:ActivityOutcome" name="Error">
                    <core:toActivity>WebShopSetItemPropertiesError</core:toActivity>
                    <core:proceedImmediately>true</core:proceedImmediately>
                </core:catchAllOutcome>
                <core:uiSettings xsi:type="tools:ActivitySettings">
                    <core:constraint xsi:type="core:UIPositionConstraint">
                        <core:x>1468</core:x>
                        <core:y>62</core:y>
                    </core:constraint>
                    <tools:swimLaneId>Lane 2</tools:swimLaneId>
                </core:uiSettings>
                <core:metaData>
                    <core:inputs>
                        <core:input required="true" name="enactor.inventoryManagement.StockAdjustmentId">
                            <core:interfaceName>java.lang.String</core:interfaceName>
                        </core:input>
                        <core:input required="true" name="enactor.mfc.LocationId">
                            <core:interfaceName>java.lang.String</core:interfaceName>
                        </core:input>
                        <core:input name="enactor.inventoryManagement.IgnoreInvalidItems">
                            <core:interfaceName>java.lang.Boolean</core:interfaceName>
                        </core:input>
                        <core:input name="enactor.inventoryManagement.ConfigReviewUserId">
                            <core:interfaceName>java.lang.String</core:interfaceName>
                        </core:input>
                    </core:inputs>
                    <core:outputs>
                        <core:output name="enactor.core.ErrorDetails">
                            <core:interfaceName>com.enactor.core.application.process.IErrorDetails</core:interfaceName>
                        </core:output>
                        <core:output required="true" name="enactor.inventoryManagement.ExternalReferenceId">
                            <core:interfaceName>java.lang.String</core:interfaceName>
                        </core:output>
                        <core:output name="enactor.inventoryManagement.AdjustmentType">
                            <core:interfaceName>java.lang.String</core:interfaceName>
                        </core:output>
                        <core:output name="enactor.inventoryManagement.CreatedAtLocationId">
                            <core:interfaceName>java.lang.String</core:interfaceName>
                        </core:output>
                        <core:output name="enactor.inventoryManagement.ErrorsList">
                            <core:interfaceName>java.util.List</core:interfaceName>
                        </core:output>
                        <core:output name="enactor.inventoryManagement.ErrorsListSubTitle">
                            <core:interfaceName>java.lang.String</core:interfaceName>
                        </core:output>
                        <core:output name="enactor.inventoryManagement.ErrorsListTitle">
                            <core:interfaceName>java.lang.String</core:interfaceName>
                        </core:output>
                        <core:output name="enactor.inventoryManagement.AllowPicking">
                            <core:interfaceName>java.lang.Boolean</core:interfaceName>
                        </core:output>
                    </core:outputs>
                </core:metaData>
            </core:value>
            <core:index>29</core:index>
        </core:listElement>
        <core:listElement>
            <core:value xsi:type="core:HTActivity">
                <core:activityId>WebShopSetItemPropertiesError</core:activityId>
                <core:name>Set Item Properties Error</core:name>
                <core:description>Allow the task to be re-run or suspended. If the stock adjustment is interactive only the user that created it can re-run it.  If the stock adjustment is automatic, any user (at the server's location) with the correct privilege can re-run it.</core:description>
                <core:activityTypeId>InventoryManagement/ShowMessageActivityType</core:activityTypeId>
                <core:suspendActivityOutcome name="Suspended">
                    <core:toActivity>WebShopSetItemPropertiesError</core:toActivity>
                    <core:proceedImmediately>true</core:proceedImmediately>
                </core:suspendActivityOutcome>
                <core:activityOutcome name="Retry">
                    <core:toActivity>WebShopSetItemProperties</core:toActivity>
                    <core:proceedImmediately>true</core:proceedImmediately>
                </core:activityOutcome>
                <core:catchAllOutcome xsi:type="core:ActivityOutcome" name="Error">
                    <core:toActivity></core:toActivity>
                    <core:proceedImmediately>true</core:proceedImmediately>
                </core:catchAllOutcome>
                <core:parameters>
                    <core:parameter name="enactor.inventoryManagement.DisallowOK">
                        <core:interfaceName>java.lang.Boolean</core:interfaceName>
                        <core:value>true</core:value>
                    </core:parameter>
                    <core:parameter name="enactor.coreUI.MessageBasename">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                        <core:value>InventoryManagement/Adjustments/AdjustStockAtLocationMessages</core:value>
                    </core:parameter>
                    <core:parameter name="enactor.coreUI.MessageId">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                        <core:value>SET_ADJUSTMENT_ITEMS_ERROR</core:value>
                    </core:parameter>
                </core:parameters>
                <core:uiSettings xsi:type="tools:ActivitySettings">
                    <core:constraint xsi:type="core:UIPositionConstraint">
                        <core:x>1468</core:x>
                        <core:y>395</core:y>
                    </core:constraint>
                    <tools:swimLaneId>Lane 2</tools:swimLaneId>
                    <tools:style>7</tools:style>
                </core:uiSettings>
                <core:metaData>
                    <core:inputs>
                        <core:input name="enactor.coreUI.MessageBasename">
                            <core:interfaceName>java.lang.String</core:interfaceName>
                        </core:input>
                        <core:input name="enactor.coreUI.MessageId">
                            <core:interfaceName>java.lang.String</core:interfaceName>
                        </core:input>
                        <core:input name="enactor.inventoryManagement.DisallowOK">
                            <core:interfaceName>java.lang.Boolean</core:interfaceName>
                        </core:input>
                        <core:input required="true" name="enactor.core.ErrorDetails">
                            <core:interfaceName>com.enactor.core.application.process.IErrorDetails</core:interfaceName>
                        </core:input>
                    </core:inputs>
                </core:metaData>
                <core:jobType>Adjust Stock At Location</core:jobType>
                <core:jobHeader>Set Stock Adjustment Items Error (Stock Adjustment ID: #{stockAdjustmentId})</core:jobHeader>
                <core:displayDescriptionMessageBase>InventoryManagement/Adjustments/AdjustStockAtLocationMessages</core:displayDescriptionMessageBase>
                <core:displayDescriptionMessageId>#{errorDetails.messageId}</core:displayDescriptionMessageId>
                <core:displayTitleMessageBase>InventoryManagement/Adjustments/AdjustStockAtLocationMessages</core:displayTitleMessageBase>
                <core:displayTitleMessageId>SET_ADJUSTMENT_ITEMS_ERROR_TITLE</core:displayTitleMessageId>
                <core:priority>5</core:priority>
                <core:peopleGroupEvaluator>{http://www.enactor.com/mfc}LocationRoleEvaluator</core:peopleGroupEvaluator>
                <core:peopleGroupParameters>
                    <core:parameter name="privilegeId">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                        <core:value>enactor.inventoryManagement.StockAdjustment.Rerun</core:value>
                    </core:parameter>
                    <core:parameter name="fallbackToAllLocations">
                        <core:interfaceName>java.lang.Boolean</core:interfaceName>
                        <core:value>false</core:value>
                    </core:parameter>
                    <core:parameter name="locationId">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                        <core:value>#{serverLocationKey.locationId}</core:value>
                    </core:parameter>
                    <core:parameter name="userId">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                        <core:value>#{userId}</core:value>
                    </core:parameter>
                    <core:parameter name="allPrivilegeUsers">
                        <core:interfaceName>java.lang.Boolean</core:interfaceName>
                        <core:value>#{automaticMode}</core:value>
                    </core:parameter>
                </core:peopleGroupParameters>
            </core:value>
            <core:index>30</core:index>
        </core:listElement>
        <core:listElement>
            <core:value xsi:type="core:IfActionActivity">
                <core:activityId>IfAllowPicking</core:activityId>
                <core:name>If Should Allow Picking</core:name>
                <core:activityTypeId>Generic/IfActionActivityType</core:activityTypeId>
                <core:activityOutcome name="Yes">
                    <core:toActivity>SetAwaitingPickingStatus</core:toActivity>
                    <core:proceedImmediately>true</core:proceedImmediately>
                </core:activityOutcome>
                <core:activityOutcome name="No">
                    <core:toActivity>SetAwaitingSubmissionStatus</core:toActivity>
                    <core:proceedImmediately>true</core:proceedImmediately>
                </core:activityOutcome>
                <core:uiSettings xsi:type="tools:ActivitySettings">
                    <core:constraint xsi:type="core:UIPositionConstraint">
                        <core:x>768</core:x>
                        <core:y>378</core:y>
                    </core:constraint>
                    <tools:swimLaneId>Lane 2</tools:swimLaneId>
                </core:uiSettings>
                <core:conditionalExpression>#{allowPicking == true}</core:conditionalExpression>
            </core:value>
            <core:index>31</core:index>
        </core:listElement>
        <core:listElement>
            <core:value xsi:type="core:HTActivity">
                <core:activityId>AdjustmentPicking</core:activityId>
                <core:name>Adjustment Picking</core:name>
                <core:description>UI for user to Pick Stock Adjustment Items</core:description>
                <core:activityTypeId>InventoryManagement/AdjustmentPickingActivityType</core:activityTypeId>
                <core:activityOutcome name="Cancel">
                    <core:toActivity></core:toActivity>
                    <core:proceedImmediately>true</core:proceedImmediately>
                </core:activityOutcome>
                <core:activityOutcome name="Reject">
                    <core:toActivity>GenerateAdjustmentPDF</core:toActivity>
                    <core:proceedImmediately>true</core:proceedImmediately>
                </core:activityOutcome>
                <core:activityOutcome name="ModifyAdjustmentQuantities">
                    <core:toActivity>ModifyStockAdjustment</core:toActivity>
                    <core:proceedImmediately>true</core:proceedImmediately>
                </core:activityOutcome>
                <core:activityOutcome name="SubmitAdjustment">
                    <core:toActivity>SetAwaitingSubmissionStatus</core:toActivity>
                    <core:proceedImmediately>true</core:proceedImmediately>
                </core:activityOutcome>
                <core:suspendActivityOutcome name="Pending">
                    <core:toActivity>AdjustmentPicking</core:toActivity>
                    <core:proceedImmediately>true</core:proceedImmediately>
                </core:suspendActivityOutcome>
                <core:suspendActivityOutcome name="Suspended">
                    <core:toActivity>AdjustmentPicking</core:toActivity>
                    <core:proceedImmediately>true</core:proceedImmediately>
                </core:suspendActivityOutcome>
                <core:activityOutcome name="SystemCancelled">
                    <core:toActivity>Finished</core:toActivity>
                    <core:proceedImmediately>true</core:proceedImmediately>
                </core:activityOutcome>
                <core:parameters>
                    <core:parameter name="enactor.inventoryManagement.DisallowBack">
                        <core:interfaceName>java.lang.Boolean</core:interfaceName>
                        <core:value>true</core:value>
                    </core:parameter>
                    <core:parameter name="enactor.inventoryManagement.DisallowCancel">
                        <core:interfaceName>java.lang.Boolean</core:interfaceName>
                        <core:value>true</core:value>
                    </core:parameter>
                </core:parameters>
                <core:uiSettings xsi:type="tools:ActivitySettings">
                    <core:constraint xsi:type="core:UIPositionConstraint">
                        <core:x>222</core:x>
                        <core:y>264</core:y>
                    </core:constraint>
                    <tools:swimLaneId>Lane 2</tools:swimLaneId>
                    <tools:noteReference name="Note Link">
                        <core:toActivity>Note3</core:toActivity>
                        <core:proceedImmediately>true</core:proceedImmediately>
                    </tools:noteReference>
                </core:uiSettings>
                <core:metaData>
                    <core:inputs>
                        <core:input required="true" name="enactor.inventoryManagement.StockAdjustmentId">
                            <core:interfaceName>java.lang.String</core:interfaceName>
                        </core:input>
                        <core:input required="true" name="enactor.coreUI.UserId">
                            <core:interfaceName>java.lang.String</core:interfaceName>
                        </core:input>
                    </core:inputs>
                    <core:outputs>
                        <core:output required="true" name="enactor.inventoryManagement.StockAdjustmentId">
                            <core:interfaceName>java.lang.String</core:interfaceName>
                        </core:output>
                        <core:output required="true" name="enactor.inventoryManagement.AllowPicking">
                            <core:interfaceName>java.lang.Boolean</core:interfaceName>
                        </core:output>
                    </core:outputs>
                </core:metaData>
                <core:jobType>#{isEmpty(adjustmentType) ? 'Adjust Stock At Location' : 'Customer Reservation'}</core:jobType>
                <core:jobHeader>Pick (Adjustment ID: #{stockAdjustmentId} #{notEmpty(externalReferenceId) ? '| Reference ID: ' : ''} #{notEmpty(externalReferenceId) ? externalReferenceId : ''})</core:jobHeader>
                <core:displayTitleMessageBase>InventoryManagement/Adjustments/AdjustStockAtLocationMessages</core:displayTitleMessageBase>
                <core:displayTitleMessageId>ADJUSTMENT_PICKING</core:displayTitleMessageId>
                <core:priority>5</core:priority>
                <core:peopleGroupEvaluator>{http://www.enactor.com/mfc}LocationPrivilegeEvaluator</core:peopleGroupEvaluator>
                <core:peopleGroupParameters>
                    <core:parameter name="locationId">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                        <core:value>#{locationId}</core:value>
                    </core:parameter>
                    <core:parameter name="privilegeId">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                        <core:value>enactor.inventoryManagement.StockAdjustment.AdjustmentPicking</core:value>
                    </core:parameter>
                </core:peopleGroupParameters>
            </core:value>
            <core:index>32</core:index>
        </core:listElement>
        <core:listElement>
            <core:value xsi:type="core:HTActivity">
                <core:activityId>ModifyStockAdjustment</core:activityId>
                <core:name>Modify Stock Adjustment Header</core:name>
                <core:description>UI to retrieve stock adjustment details and modify quantities or items adjusted</core:description>
                <core:activityTypeId>InventoryManagement/ModifyStockAdjustmentActivityType</core:activityTypeId>
                <core:activityOutcome name="Back">
                    <core:toActivity>AdjustmentPicking</core:toActivity>
                    <core:proceedImmediately>true</core:proceedImmediately>
                </core:activityOutcome>
                <core:suspendActivityOutcome name="Suspended">
                    <core:toActivity>ModifyStockAdjustment</core:toActivity>
                    <core:proceedImmediately>true</core:proceedImmediately>
                </core:suspendActivityOutcome>
                <core:activityOutcome name="SubmitAdjustment">
                    <core:toActivity>SetAwaitingSubmissionStatus</core:toActivity>
                    <core:proceedImmediately>true</core:proceedImmediately>
                </core:activityOutcome>
                <core:parameters>
                    <core:parameter name="enactor.inventoryManagement.DisallowBack">
                        <core:interfaceName>java.lang.Boolean</core:interfaceName>
                        <core:value>false</core:value>
                    </core:parameter>
                    <core:parameter name="enactor.inventoryManagement.DisallowCancel">
                        <core:interfaceName>java.lang.Boolean</core:interfaceName>
                        <core:value>true</core:value>
                    </core:parameter>
                </core:parameters>
                <core:uiSettings xsi:type="tools:ActivitySettings">
                    <core:constraint xsi:type="core:UIPositionConstraint">
                        <core:x>-21</core:x>
                        <core:y>283</core:y>
                    </core:constraint>
                    <tools:swimLaneId>Lane 2</tools:swimLaneId>
                </core:uiSettings>
                <core:metaData>
                    <core:inputs>
                        <core:input required="true" name="enactor.inventoryManagement.StockAdjustmentId">
                            <core:interfaceName>java.lang.String</core:interfaceName>
                        </core:input>
                        <core:input required="true" name="enactor.coreUI.UserId">
                            <core:interfaceName>java.lang.String</core:interfaceName>
                        </core:input>
                    </core:inputs>
                    <core:outputs>
                        <core:output required="true" name="enactor.inventoryManagement.StockAdjustmentId">
                            <core:interfaceName>java.lang.String</core:interfaceName>
                        </core:output>
                    </core:outputs>
                </core:metaData>
                <core:jobType>Modify Stock Adjustment Items</core:jobType>
                <core:jobHeader>Modify Stock Adjustment (Adjustment ID: #{stockAdjustmentId} #{notEmpty(externalReferenceId) ? '| Reference ID: ' : ''} #{notEmpty(externalReferenceId) ? externalReferenceId : ''})</core:jobHeader>
                <core:displayTitleMessageBase>InventoryManagement/Adjustments/AdjustStockAtLocationMessages</core:displayTitleMessageBase>
                <core:displayTitleMessageId>MODIFY_ADJUSTMENT</core:displayTitleMessageId>
                <core:priority>5</core:priority>
                <core:peopleGroupEvaluator>{http://www.enactor.com/mfc}LocationPrivilegeEvaluator</core:peopleGroupEvaluator>
                <core:peopleGroupParameters>
                    <core:parameter name="privilegeId">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                        <core:value>enactor.inventoryManagement.StockAdjustment.AdjustmentPicking</core:value>
                    </core:parameter>
                    <core:parameter name="locationId">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                        <core:value>#{locationId}</core:value>
                    </core:parameter>
                </core:peopleGroupParameters>
            </core:value>
            <core:index>33</core:index>
        </core:listElement>
        <core:listElement>
            <core:value xsi:type="core:CallProcessActivity">
                <core:activityId>SetAwaitingSubmissionStatus</core:activityId>
                <core:name>Set Awaiting Submission Status</core:name>
                <core:activityTypeId>InventoryManagement/UpdateStockAdjustmentStatusActivityType</core:activityTypeId>
                <core:activityOutcome name="Success">
                    <core:toActivity>ApplyStockAdjustment</core:toActivity>
                    <core:proceedImmediately>true</core:proceedImmediately>
                </core:activityOutcome>
                <core:parameters>
                    <core:parameter name="enactor.inventoryManagement.Status">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                        <core:value>AWAITING_SUBMISSION</core:value>
                    </core:parameter>
                </core:parameters>
                <core:uiSettings xsi:type="tools:ActivitySettings">
                    <core:constraint xsi:type="core:UIPositionConstraint">
                        <core:x>547</core:x>
                        <core:y>361</core:y>
                    </core:constraint>
                    <tools:swimLaneId>Lane 2</tools:swimLaneId>
                    <tools:style>7</tools:style>
                </core:uiSettings>
                <core:metaData>
                    <core:inputs>
                        <core:input required="true" name="enactor.inventoryManagement.StockAdjustmentId">
                            <core:interfaceName>java.lang.String</core:interfaceName>
                        </core:input>
                        <core:input required="true" name="enactor.inventoryManagement.Status">
                            <core:interfaceName>java.lang.String</core:interfaceName>
                        </core:input>
                        <core:input required="true" name="enactor.coreUI.UserId">
                            <core:interfaceName>java.lang.String</core:interfaceName>
                        </core:input>
                    </core:inputs>
                    <core:outputs/>
                </core:metaData>
            </core:value>
            <core:index>34</core:index>
        </core:listElement>
        <core:listElement>
            <core:value xsi:type="core:CallProcessActivity">
                <core:activityId>SetAwaitingPickingStatus</core:activityId>
                <core:name>Set Awaiting Picking Status</core:name>
                <core:activityTypeId>InventoryManagement/UpdateStockAdjustmentStatusActivityType</core:activityTypeId>
                <core:activityOutcome name="Success">
                    <core:toActivity>AdjustmentPicking</core:toActivity>
                    <core:proceedImmediately>true</core:proceedImmediately>
                </core:activityOutcome>
                <core:parameters>
                    <core:parameter name="enactor.inventoryManagement.Status">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                        <core:value>AWAITING_PICKING</core:value>
                    </core:parameter>
                </core:parameters>
                <core:uiSettings xsi:type="tools:ActivitySettings">
                    <core:constraint xsi:type="core:UIPositionConstraint">
                        <core:x>556</core:x>
                        <core:y>186</core:y>
                    </core:constraint>
                    <tools:swimLaneId>Lane 2</tools:swimLaneId>
                    <tools:style>7</tools:style>
                </core:uiSettings>
                <core:metaData>
                    <core:inputs>
                        <core:input required="true" name="enactor.inventoryManagement.StockAdjustmentId">
                            <core:interfaceName>java.lang.String</core:interfaceName>
                        </core:input>
                        <core:input required="true" name="enactor.inventoryManagement.Status">
                            <core:interfaceName>java.lang.String</core:interfaceName>
                        </core:input>
                        <core:input required="true" name="enactor.coreUI.UserId">
                            <core:interfaceName>java.lang.String</core:interfaceName>
                        </core:input>
                    </core:inputs>
                    <core:outputs/>
                </core:metaData>
            </core:value>
            <core:index>35</core:index>
        </core:listElement>
        <core:listElement>
            <core:value xsi:type="core:CallProcessActivity">
                <core:activityId>SetCompletedStatus</core:activityId>
                <core:name>Set Completed Status</core:name>
                <core:activityTypeId>InventoryManagement/UpdateStockAdjustmentStatusActivityType</core:activityTypeId>
                <core:activityOutcome name="Success">
                    <core:toActivity>SkipProcessedConfirmation</core:toActivity>
                    <core:proceedImmediately>true</core:proceedImmediately>
                </core:activityOutcome>
                <core:parameters>
                    <core:parameter name="enactor.inventoryManagement.Status">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                        <core:value>COMPLETED</core:value>
                    </core:parameter>
                </core:parameters>
                <core:uiSettings xsi:type="tools:ActivitySettings">
                    <core:constraint xsi:type="core:UIPositionConstraint">
                        <core:x>1377</core:x>
                        <core:y>35</core:y>
                    </core:constraint>
                    <tools:swimLaneId>Lane 3</tools:swimLaneId>
                    <tools:style>7</tools:style>
                </core:uiSettings>
                <core:metaData>
                    <core:inputs>
                        <core:input required="true" name="enactor.inventoryManagement.StockAdjustmentId">
                            <core:interfaceName>java.lang.String</core:interfaceName>
                        </core:input>
                        <core:input required="true" name="enactor.inventoryManagement.Status">
                            <core:interfaceName>java.lang.String</core:interfaceName>
                        </core:input>
                        <core:input required="true" name="enactor.coreUI.UserId">
                            <core:interfaceName>java.lang.String</core:interfaceName>
                        </core:input>
                    </core:inputs>
                    <core:outputs/>
                </core:metaData>
            </core:value>
            <core:index>36</core:index>
        </core:listElement>
        <core:listElement>
            <core:value xsi:type="core:CallProcessActivity">
                <core:activityId>AllowSkipAuthorisation</core:activityId>
                <core:name>Allow Skip Authorisation</core:name>
                <core:description></core:description>
                <core:activityTypeId>InventoryManagement/AllowSkipAuthorisationActivityType</core:activityTypeId>
                <core:activityOutcome name="No">
                    <core:toActivity>AuthoriseAdjustment</core:toActivity>
                    <core:proceedImmediately>true</core:proceedImmediately>
                </core:activityOutcome>
                <core:activityOutcome name="Yes">
                    <core:toActivity>IfAllowPicking</core:toActivity>
                    <core:proceedImmediately>true</core:proceedImmediately>
                </core:activityOutcome>
                <core:uiSettings xsi:type="tools:ActivitySettings">
                    <core:constraint xsi:type="core:UIPositionConstraint">
                        <core:x>1218</core:x>
                        <core:y>270</core:y>
                    </core:constraint>
                    <tools:swimLaneId>Lane 2</tools:swimLaneId>
                    <tools:style>7</tools:style>
                </core:uiSettings>
                <core:metaData>
                    <core:inputs>
                        <core:input required="true" name="enactor.inventoryManagement.StockAdjustmentId">
                            <core:interfaceName>java.lang.String</core:interfaceName>
                        </core:input>
                    </core:inputs>
                </core:metaData>
            </core:value>
            <core:index>37</core:index>
        </core:listElement>
        <core:listElement>
            <core:value xsi:type="core:ActionActivity">
                <core:activityId>CheckSkipAdjustmentProcessedPrivilege</core:activityId>
                <core:name>Check Skip Sending Adjustment Processed Acknowledgement Privilege</core:name>
                <core:activityTypeId>MFC/CheckPrivilegeActivityType</core:activityTypeId>
                <core:activityOutcome name="Success">
                    <core:toActivity>Finished</core:toActivity>
                    <core:proceedImmediately>true</core:proceedImmediately>
                </core:activityOutcome>
                <core:activityOutcome name="Fail">
                    <core:toActivity>AdjustmentProcessed</core:toActivity>
                    <core:proceedImmediately>true</core:proceedImmediately>
                </core:activityOutcome>
                <core:parameters>
                    <core:parameter name="enactor.mfc.PrivilegeId">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                        <core:value>enactor.inventoryManagement.StockAdjustment.SkipAdjustmentProcessedAcknowledgement</core:value>
                    </core:parameter>
                </core:parameters>
                <core:uiSettings xsi:type="tools:ActivitySettings">
                    <core:constraint xsi:type="core:UIPositionConstraint">
                        <core:x>1575</core:x>
                        <core:y>380</core:y>
                    </core:constraint>
                    <tools:swimLaneId>Lane 3</tools:swimLaneId>
                    <tools:style>7</tools:style>
                </core:uiSettings>
                <core:metaData>
                    <core:inputs>
                        <core:input required="true" name="enactor.coreUI.UserId">
                            <core:interfaceName>java.lang.String</core:interfaceName>
                        </core:input>
                        <core:input required="true" name="enactor.mfc.PrivilegeId">
                            <core:interfaceName>java.lang.String</core:interfaceName>
                        </core:input>
                    </core:inputs>
                </core:metaData>
            </core:value>
            <core:index>38</core:index>
        </core:listElement>
        <core:listElement>
            <core:value xsi:type="core:HTActivity">
                <core:activityId>AdjustmentApproval</core:activityId>
                <core:name>Request Approval to Start Adjustment</core:name>
                <core:description>Approve Stock Adjustment</core:description>
                <core:activityTypeId>Generic/YesNoTaskActivityType</core:activityTypeId>
                <core:activityOutcome name="No">
                    <core:toActivity>StockAdjustmentItemEntry</core:toActivity>
                    <core:proceedImmediately>true</core:proceedImmediately>
                </core:activityOutcome>
                <core:activityOutcome name="Yes">
                    <core:toActivity>ApplyStockAdjustment</core:toActivity>
                    <core:proceedImmediately>true</core:proceedImmediately>
                </core:activityOutcome>
                <core:parameters>
                    <core:parameter name="enactor.task.maintenance.MessageTitle">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                        <core:value>Approve Adjustment</core:value>
                    </core:parameter>
                    <core:parameter name="enactor.task.maintenance.Message">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                        <core:value>The adjustment #{stockAdjustmentId} needs to approved before it can start.</core:value>
                    </core:parameter>
                </core:parameters>
                <core:uiSettings xsi:type="tools:ActivitySettings">
                    <core:constraint xsi:type="core:UIPositionConstraint">
                        <core:x>1450</core:x>
                        <core:y>213</core:y>
                    </core:constraint>
                    <tools:swimLaneId>Lane 1</tools:swimLaneId>
                </core:uiSettings>
                <core:metaData>
                    <core:inputs>
                        <core:input required="true" name="enactor.task.maintenance.Message">
                            <core:interfaceName>java.lang.String</core:interfaceName>
                        </core:input>
                        <core:input required="true" name="enactor.task.maintenance.MessageTitle">
                            <core:interfaceName>java.lang.String</core:interfaceName>
                        </core:input>
                        <core:input required="true" name="enactor.inventoryManagement.StockAdjustmentId">
                            <core:interfaceName>java.lang.String</core:interfaceName>
                        </core:input>
                    </core:inputs>
                </core:metaData>
                <core:jobType>Adjust Stock At Location</core:jobType>
                <core:jobHeader>Stock Adjustment Approval #{stockAdjustmentId}</core:jobHeader>
                <core:jobDescription>Approval of Stock Adjustment</core:jobDescription>
                <core:peopleGroupEvaluator>{http://www.enactor.com/task}LocationRoleEvaluator</core:peopleGroupEvaluator>
                <core:peopleGroupParameters>
                    <core:parameter name="roleId">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                        <core:value>CENTRAL_INVENTORY</core:value>
                    </core:parameter>
                    <core:parameter name="locationId">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                        <core:value>#{locationId}</core:value>
                    </core:parameter>
                </core:peopleGroupParameters>
            </core:value>
            <core:index>39</core:index>
        </core:listElement>
        <core:listImplClass>java.util.LinkedList</core:listImplClass>
    </core:activities>
    <core:defaultStartActivityId>CreateStockAdjustment</core:defaultStartActivityId>
    <core:defaultOutcomes/>
    <core:activityOutcome>
        <core:toActivity>ShowAdjustStockError</core:toActivity>
        <core:proceedImmediately>true</core:proceedImmediately>
    </core:activityOutcome>
</core:simpleActivityFlowBusinessProcess>
