I accidentally sent my message before I finished writing.

My basic issue:

> After transfering an InventoryItem within the same facility, I'm unable to
> either trace back to the original InventoryItemId from the newly created Id.
>
>
The reason it is a problem:

In the "invoke" Service ECA for "createInventoryTransfer",
"prepareInventoryTransfer" is called.  In that function, the destination
inventory item is created,
and the source inventory item ID is discarded.  I need to introduce a way to
trace this.  What I'd like to do is to add a detail record to the source
InventoryItem
so that the transfer can be found there as well as in the child
InventoryItem.

I want to add something to the context in prepareInventoryTransfer (e.g., a
"sourceInventoryItemId" parameter) and then have that context parameter be
submitted
to "completeInventoryTransfer".

What I don't know how to do, is to add a parameter to an "invoke" ECA and
have that parameter be available in the "commit" ECA.

So in applications/product//servicedef/secas.xml we have this:

    <!-- inventory transfer -->
    <eca service="createInventoryTransfer" event="invoke">
        <condition field-name="statusId" operator="not-equals"
value="IXF_CANCELLED"/>
        <action service="prepareInventoryTransfer" mode="sync"/>
    </eca>
    <eca service="createInventoryTransfer" event="commit">
        <condition field-name="statusId" operator="equals"
value="IXF_COMPLETE"/>
        <action service="completeInventoryTransfer" mode="sync"/>
        <action service="balanceInventoryItems" mode="sync"/>
    </eca>

If I add an OUT parameter to prepareInventoryTransfer, that's not enough to
bring that parameter to the input context of completeInventoryTransfer, so
I'm stuck.

-- 
James McGill
Phoenix AZ

Reply via email to