ReturnStatus Collaboration Template

The ReturnStatus collaboration synchronizes returns status data from an Enterprise Resource Planning (ERP) application to a Customer Interaction Management (CIM) application. As status information on orders and returns changes in an order management system, the collaboration sends the change in state to a collaborating destination application.

To synchronize the status of a return between the ERP and CIM applications, the returns must already exist. The collaboration verifies that the return exists in the destination application before it sends the request to update its status. Because each status change is made to an existing return order, the collaboration sends business objects with the Update verb only.

Every status business object reflects the format of the return order whose status it tracks. For example, if the return order contains three line items, the status business object contains the order header and the three line items from the return order. The header information provides a summary view of the entire return order's status.

Typically the sales order process originates in the CIM application when the Telesales Representative or the Customer Service Representative (CSR) takes an order or makes a quote while talking with a customer. After the order is saved in the front-office application, the Telesales rep or CSR sends the order to the ERP application, where it is processed and booked. ERP processes include order generation, delivery of the products, billing to the customer, product returns, and any service or repairs.

Future requests or changes made to the front-office representative are also sent to the ERP system, where the changes are processed. Any change of status that occurs to a return order in the ERP system is immediately pushed back to the CIM system by the ReturnStatus collaboration.

Using multiple generic objects to report the order life cycle

The ReturnStatus collaboration uses the generic ReturnsStatus business object to provide status data on return orders.

The order life cycle can vary from a simple process to a complex one.

The ReturnStatus collaboration uses a generic ReturnsStatus business object to report a change to a return order's state during the sales order lifecycle. For example, when a quantity is changed on a return order in the ERP, this update is subscribed to by the ReturnStatus collaboration and its status is synchronized with the CIM.

A return order must exist in both the ERP and CIM applications in order for status updates to occur. This collaboration will not synchronize the return order, but only it's status between applications. Before the collaboration updates a status value, it verifies that the order referenced in the ERP application exists in some form in the CIM application. If it does not, the collaboration logs an error and stops.

Synchronizing from the ERP to the CIM application

An ERP application always serves as the source, because updates to the return order are always made in the back office application. Whenever the ERP application notes a change in state to a return order, the collaboration sends the status change of the return order to the CIM application.

Although the synchronizations performed by the ReturnStatus collaboration are intended primarily for a CSR or Telesales Rep who responds to customers' queries through a front-office application, the collaboration is not triggered by a customer's phone call to the front office. Instead, status changes are pushed to the CIM application at the time they are made in the ERP application. Because the status of return orders is synchronized in the CIM application as soon as they are changed in the ERP application, the CSR or Telesales Rep has access to the current status of an order when a customer requests it.

Collaboration object setup

This section includes information on port bindings and required steps for setting up collaboration objects based on ReturnStatus. 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.

Port information

Figure 1 illustrates ports of ReturnStatus as they are displayed in System Manager. The tables that follow the figure provide information about each port.

Figure 1. ReturnStatus 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
ReturnsStatus 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 Order.

Retrieve


Port name: From
Business object Bound to Function Verbs used
ReturnsStatus 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
ReturnsStatus The destination application's connector

Sends the triggering business object out of the collaboration

Create Update Delete

Setting up the collaboration object

Using ReturnStatus as stand-alone

ReturnStatus is designed to be used as a stand-alone collaboration. To set up ReturnStatus as a stand-alone collaboration object, follow these steps:

  1. Create the ReturnStatus collaboration object.
  2. Bind each of the collaboration object's ports as described in Port information.
  3. Set the Configuration properties for ReturnsBillingStatus.  

Collaboration template processes

This section illustrates the process logic for this collaboration template:

Overall process logic

Figure 2 illustrates the ReturnStatus process logic.

Figure 2. ReturnStatus 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.

Compensation processing

InterChange Server Express can roll back a transaction when any step in a transactional collaboration fails. For example, when ReturnStatus 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 rolls back the processing of every collaboration in the group.

When a ReturnStatus 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 IBM WebSphere Business Integration Server Express Plus system, see the System Implementation Guide. For information about 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

Note: ReturnStatus does not have unique configuration properties. All of its properties are standard.

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.

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 then select the message file for this collaboration template.

Upgrade information

Upgrade process

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

  1. Stop the current ReturnStatus 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 ReturnStatus 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 based on any problems found during testing.

Copyright IBM Corp. 1997, 2004