The InventoryMovement collaboration sends inventory transactions, which often are referred to as goods movements, from a Customer Interaction Management (CIM) application to an Enterprise Resource Planning (ERP) application or between two ERP applications. The collaboration creates the inventory transaction in the destination application.
Note: IBM recommends identifying one application as the Master of the inventory and sending data either to it or from it, but not in both directions. Sending data in both directions can cause data integrity problems.
InventoryMovement processes the following inventory categories:
Inventory transactions can be either:
The following two business cases indicate how the InventoryMovement Collaboration can be used:
InventoryMovement processes the generic InventoryMovement business object. The collaboration uses this business object to capture changes to inventory levels for each of the inventory movement types (Issues, Receipts, Physical Transfers, and Logical Transfers).
Generic Item, which the collaboration uses to synchronize or verify the inventoried item in the destination application. In other words, before synchronizing the InventoryMovement business object, the collaboration can be configured to synchronize or verify the item referenced in the InventoryMovement business object. Instead of processing the generic Item business object, the collaboration can be configured to process any of the supported generic item business objects (ItemBasic, ItemOrder, or ItemPlanning) by specifying the item's type in the ITEM_TYPE configuration property.
Although InventoryMovement synchronizes only InventoryMovement, you can configure it to call the appropriate collaboration to verify or synchronize the following related business objects:
Business object | Related collaboration properties | Called collaborations |
---|---|---|
Item ItemBasic ItemOrder ItemPlanning |
VERIFY_SYNC_ITEM ITEM_TYPE |
ItemSync |
This section includes information on port bindings and required steps for setting up collaboration objects based on InventoryMovement. For information on standard features, ports, and configuration properties for collaboration templates, see the Collaboration Development Guide. For general information on creating collaboration objects, see the System Implementation Guide.
Figure 1 illustrates InventoryMovement's ports as they are displayed in System Manager. On each port the name to the left of the hyphen represents the business object's name. The name to the right of the hyphen is the port's name. The three-dimensional objects represent business objects.
Figure 1. InventoryMovement collaboration ports
Note: To prevent the collaboration object from using a port, bind that port to the Port connector. Binding the port indicates that the port is unused without causing the collaboration object to provide additional functionality.
Business object | Bound to | Function | Verbs used |
---|---|---|---|
InventoryMovement | The destination application's connector | Sends a reference-valued business object to retrieve the full-valued business object. The result determines which verb to use when synchronizing the InventoryMovement. |
Retrieve |
Business object | Bound to | Function | Verbs used |
---|---|---|---|
InventoryMovement | Source application's connector or calling collaboration | Receives the triggering business object. At the end of a synchronous call, this port also returns the triggering business object to the source application when the collaboration ends successfully. |
Create Retrieve Update Delete |
Business object | Bound to | Function | Verbs used |
---|---|---|---|
InventoryMovement | The destination application's connector |
Sends the triggering business object out of the collaboration Note: Because each inventory movement is posted as a distinct transaction and is not deleted or updated after posting, this collaboration is designed to support only the Create verb. However, the collaboration uses standard Update and Delete scenarios. Therefore, if you modify the business object to use the Update and Delete verbs, you can use this collaboration to handle these processes. |
Create Update Delete |
Business object | Bound to | Function | Verbs used |
---|---|---|---|
Item, ItemBasic, ItemOrder, or ItemPlanning | The From port of ItemWrapper collaboration |
Used to send a reference-valued generic item business object to the ItemWrapper collaboration. ItemWrapper interprets the type of generic item business object it receives, and then processes it accordingly.
In either case, ItemWrapper returns a status to InventoryMovement. |
Sync Exists |
To set up InventoryMovement as a stand-alone collaboration object, follow these steps:
To verify or synchronize related items as part of the InventoryMovement process, create one of the following collaboration-object groups:
Verify Synchronize Required collaborations Items InventoryMovement, ItemWrapper Items InventoryMovement, ItemWrapper, ItemSync
The following procedure describes setting up InventoryMovement as part of a collaboration-object group:
Note: System Manager will have already bound the ItemWrapper collaboration object's From port to the InventoryMovement collaboration object. For item verification, go directly to step #9.
This section illustrates the process logic for this collaboration template:
Figure 2 illustrates InventoryMovement's process logic.
Figure 2. InventoryMovement collaboration processes logic
This collaboration template uses the following standard collaboration business processes:
For information on these processes, see the Collaboration Development Guide.
Figure 3 illustrates InventoryMovement's business processes.
Figure 3. InventoryMovement collaboration: verify or synchronize referenced items
InterChange Server Express can roll back a transaction when any step in a transactional collaboration fails. For example, when InventoryMovement is a member of a collaboration-object group that participates in a transactional collaboration, its actions are one subtransactional step in a larger transaction. If any step in the collaboration-object group's business process fails, the transactional collaboration details how InterChange Server Express rolls back the processing of every collaboration in the group.
When an InventoryMovement collaboration object is used independently of other collaboration objects or the collaboration object's From port is bound to a source application rather than to another collaboration, its process comprises a single transactional step. In such a situation, it is not necessary to perform rollback.
To cause a collaboration object or a collaboration-object group to perform rollback requires modification of the collaboration template. To understand transaction processing in the InterChange Server Express system, see the System Implementation Guide. For information on adding transaction processing to the collaboration template, see the Collaboration Development Guide.
To extend the collaboration object to handle transaction processing, complete the following steps:
This section describes the standard properties and collaboration template-specific properties for this collaboration template:
This collaboration template uses the following standard configuration properties for collaboration templates:
For information on these configuration properties, see the Collaboration Development Guide.
In addition to its standard configuration properties, this collaboration template has the configuration properties described below.
Property name and explanation | Possible values | Default value |
---|---|---|
ITEM_TYPE Set to the type of generic Item whose existence must be synchronized or verified before the collaboration creates the InventoryMovement business object. If the InventoryMovement collaboration's VERIFY_SYNC_ITEM property evaluates to "sync" or "verify", the collaboration uses the value of this property to determine the type of item to send to ItemWrapper. |
Item, ItemBasic, ItemOrder, ItemPlanning | ItemBasic |
VERIFY_SYNC_ITEM Set to "sync" to cause InventoryMovement to synchronize inventoried items in the destination application. InventoryMovement copies the ItemId from the InventoryMovement business object and creates the type of generic business object specified in the ITEM_TYPE property. InventoryMovement sends the business object with the Sync verb to ItemWrapper. In turn, ItemWrapper retrieves values for all attributes from the source application and sends the business object with the Create verb to ItemSync. If ItemSync fails to create the item, InventoryMovement raises an exception message, and then ends. For details on the messages for InventoryMovement, refer to the following collaboration message file: \collaborations\messages\InventoryMovement.txt. Set to "verify" to cause InventoryMovement to verify inventoried items in the destination application. InventoryMovement copies the ItemId from the InventoryMovement business object, and then creates the type of generic business object specified in the ITEM_TYPE property. InventoryMovement sends the business object with the Exists verb to ItemWrapper. ItemWrapper retrieves the business object from the destination application. If ItemWrapper fails to retrieve an inventoried item, InventoryMovement raises an exception message, and then ends. Set to "neither" to cause InventoryMovement to create the triggering InventoryMovement business object without first synchronizing inventoried items or verifying existing items in the destination application. |
neither, verify, sync |
neither |
Note: Messages that provide information appear at the trace destination only if the trace level has been set to 3 or higher. The warning messages used by other collaborations are not applicable to InventoryMovement.
To view an explanation of the messages of this collaboration template, launch the Log Viewer and open the collaboration template's message file. To launch the Log Viewer and open the collaboration template's message file:
To upgrade to a newer version of the collaboration template, perform the following steps: