PriceManager Collaboration Template

The PriceManager collaboration synchronizes price-list line information between applications. Typically you use this collaboration to maintain price-list items centrally in an Enterprise Resource Planning (ERP) application and synchronize that information with SFA (Sales Force Automation) and front-office applications that are used for placing orders.

PriceManager uses the PriceRecord business object and its child business object, PriceRecordPriceBreak.

Synchronization of related business objects

Although it synchronizes only price-list line information, PriceManager can be configured to call the appropriate collaborations to verify or synchronize the following related business objects:

Business object Related collaboration properties Called collaborations

Item

ItemBasic

ItemOrder

ItemPlanning

ITEM_TYPE

VERIFY_SYNC_ITEM

ItemSync

ItemWrapper

Collaboration object setup

This section includes information on port bindings and required steps for setting up collaboration objects based on PriceManager. For information on standard features, ports, and configuration properties for collaboration templates, and for general information on creating collaboration objects refer to the documents listed in Collaboration Development Guide.

Port information

Figure 1 illustrates PriceManager's ports, as they are displayed in System Manager. The tables that follow the figure provide information about each port.

Figure 1. PriceManager 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.

Port name: DestinationAppRetrieve
Business object Bound to Function Verbs used
PriceRecord The destination application's connector Sends a reference-valued business object to retrieve the full-valued business object. The result determines the verb to use when synchronizing the PriceRecord.

Retrieve


Port name: From
Business object Bound to Function Verbs used
PriceRecord 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


Port name: To
Business object Bound to Function Verbs used
PriceRecord The destination application's connector

Sends the triggering business object out of the collaboration

Create Update Delete


Port name: ToItemWrapper
Business object Bound to Function Verbs used
Any of the generic item business objects, such as Item, ItemBasic, or ItemPlanning

The From port of ItemWrapper (if verifying or synchronizing)

Port connector (if not verifying or synchronizing)

Used to send a reference-valued Item business object for verification or synchronization

Sync Exists

Setting up the collaboration object

Using PriceManager as stand-alone

  1. To set up PriceManager as a stand-alone collaboration object, follow these steps:
  2. Create the PriceManager collaboration object.
  3. Bind the collaboration object's ToItemWrapper port to the Port connector.
  4. Bind the remaining ports as described in Port information.
  5. Retain the default value of "neither" for the PriceManager collaboration object's VERIFY_SYNC_ITEM configuration property.
  6. Set the remaining collaboration properties. For more information, see Configuration properties.

Using PriceManager in a collaboration-object group

To verify or synchronize Items as part of the PriceManager process, set up one of the following collaboration-object groups:


Verify Synchronize Required collaborations
Items   PriceManager, ItemWrapper
  Items PriceManager, ItemWrapper, ItemSync

The following procedure describes setting up PriceManager as part of a collaboration-object group.

  1. Create collaboration objects from the templates for PriceManager and for ItemWrapper and ItemSync.
  2. Edit the PriceManager collaboration object to bind its ToItemWrapper port. See the Port information section for appropriate destinations.
  3. Bind the remaining ports for the PriceManager collaboration object as described in this document's Port information section.
  4. Set the PriceManager collaboration object's VERIFY_SYNC_ITEM property to either "sync" or "verify."
  5. Set the PriceManager collaboration object's ITEM_TYPE property to the Item type (such as ItemBasic) to be verified or synchronized.
  6. Edit the ItemWrapper collaboration object to bind its To port to the From port of the ItemSync collaboration object.
  7. Bind the ItemWrapper collaboration object's remaining ports. For more information, see Port information in the Wrapper collaboration reference page. Note: System Manager will have already bound the ItemWrapper collaboration object's From port to the PriceManager collaboration object.
  8. Edit the ItemSync collaboration object to bind its ports. For more information, see Port information in the ItemSync Collaboration reference page.
  9. Set the configuration properties for each collaboration. For more information, see:

Collaboration template processes

This section illustrates the process logic for this collaboration template:

Overall process logic

Figure 2 illustrates PriceManager's process logic.

Figure 2. PriceManager collaboration process logic

Inherited process logic

This collaboration template uses the following standard collaboration business processes:

For information on these processes, see the Collaboration Development Guide.

Verification or synchronization of items

Figure 3 illustrates PriceManager's process for verifying or synchronizing related items when VERIFY_SYNC_ITEM is set to either "sync" or "verify". If VERIFY_SYNC_ITEM is set to "neither", PriceManager synchronizes the triggering PriceRecord business object without performing the process illustrated below.

Figure 3. Verification or synchronization of items

Note: For a collaboration to process ItemBasic, ItemOrder, and ItemPlanning successfully, your installation's repository must contain the following business objects:

Compensation processing

InterChange Server Express can roll back a transaction when any step in a transactional collaboration fails. For example, when PriceManager is a member of a collaboration-object group that participates in a transactional collaboration, its actions are one subtransactional step of a larger transaction. If any step in the collaboration-object group's business process fails, the transactional collaboration details how InterChange Server Express will roll back the processing of every collaboration in the group.

When a PriceManager 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 modifying the collaboration template. 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:

  1. Add this capability to the collaboration template and to every other collaboration template in the collaboration-object group.
  2. Set the minimum transaction level of the collaboration object and all members of the collaboration-object group to a value higher than None. If a failure occurs in any subtransaction step, settings of Minimal Effort or higher cause this collaboration object and other collaboration objects in the group to execute compensation for Create, Update, and Delete operations performed on all business objects.
  3. Set the USE_RETRIEVE property of the collaboration object and all other members of the collaboration-object group to "true". Forcing the collaboration objects to retrieve values before changing them allows the collaboration objects to restore the original values in an Update or Delete process.

Configuration properties

This section describes the standard properties and collaboration template-specific properties for this collaboration template:

Standard properties

This collaboration template uses the following standard configuration properties for collaboration templates:

For information on these configuration properties, see the Collaboration Development Guide.

Properties specific to this collaboration template

In addition to its standard configuration properties, this collaboration template has the configuration properties described below.

Configuration properties specific to the PriceManager collaboration template

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 synchronizes the PriceRecord business object. If its VERIFY_SYNC_ITEM property evaluates to "sync" or "verify", PriceManager uses the value of this property to determine the type of item to be synchronized or verified.

Item, ItemBasic, ItemOrder, ItemPlanning Item

VERIFY_SYNC_ITEM

Set to "sync" to cause PriceManager to synchronize related items in the destination application. PriceManager copies the ItemId from the PriceRecord business object and creates the type of generic business object specified in the ITEM_TYPE property. PriceManager 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 related item, PriceManager handles the error as specified in its INFORMATIONAL_EXCEPTIONS property.

Set to "verify" to cause PriceManager to verify related items in the destination application. PriceManager copies the ItemId from the PriceRecord business object and creates the type of generic business object specified in the ITEM_TYPE property. PriceManager sends the business object with the Exists verb to ItemWrapper. In turn, ItemWrapper retrieves the business object from the destination application. If ItemWrapper fails to retrieve a related item, PriceManager handles the error as specified in its INFORMATIONAL_EXCEPTIONS property.

Set to "neither" to cause PriceManager to synchronize the triggering PriceRecord business object without first synchronizing related items or verifying existing related items in the destination application.

neither, verify, sync

neither

Collaboration messages

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:

  1. In the Start menu, click Programs > IBM WebSphere Business Integration Express > Toolset Express > Administrative > Log Viewer.
  2. In the File menu, click Open.
  3. Use the Look In field to change the current folder to ProductDir\collaborations\messages and select the message file for this collaboration template.

Upgrade information

Upgrade process

To upgrade to newer version of the collaboration template, perform the following steps:

  1. Stop the current PriceManager collaboration.
  2. Back up the repository. For information about backing up the repository, see the System Implementation Guide.
  3. If you have customized the collaboration template:
  4. Install the new PriceManager collaboration template.
  5. Add your customizations to the new collaboration template.
  6. Create the new collaboration object, binding it to the appropriate connectors. For more information, see Collaboration setup.
  7. Run and test the new collaboration object.
  8. Make changes to the collaboration object bbased on any problems found during testing.  

Copyright IBM Corp. 1997, 2004

Copyright IBM Corp. 2004