AvailableToPromise collaboration template

The ATP (AvailableToPromise) collaboration is used to enable eBusiness and customer-care applications to access product availability information from an inventory management or supply chain application. The following are possible business scenarios for this collaboration:

  1. ATP check initiated from within a Sales Order Retrieves estimated dates and quantities for customers while the order is being generated in the order management application. During the ordering process, the customer sales representative needs the ability to generate the promised date to give the customer for specific items. The order management application sends customer, item, date, and quantity information to the supply chain application before the order is saved. The supply chain application then estimates a delivery schedule and sends it back to complete the sales order. The sales order is then saved. The scenario starts with a customer sales representative creating a sales order with promised delivery dates. This ATP look-up is the final step in the ordering process and is initiated after the order is complete, but before the order is saved.
  2. ATP check triggered by saving a Sales Order Retrieves estimated dates and quantities for customers after the order has been generated in the order management application. After placing the order, the sales order management application must have the ability to generate the promised date to give the customer for specific items. The order management application sends customer, date, and quantity information to the supply chain application after the order is saved. The supply chain application then estimates a delivery schedule and sends it back to complete the sales order and sends an email to the customer and customer sales representative. The scenario starts with a sales order flagged for ATP being saved.

ATP uses the generic ATP business object to synchronize product availability data.

Issues and assumptions

Collaboration object setup

This section includes information on port bindings and required steps for setting up collaboration objects based on ATP. 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 the ATP collaboration's ports, as they are displayed in System Manager.

Figure 1. ATP collaboration's 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
ATP Destination (supplier's) application connector Sends a reference-valued business object to retrieve the full-valued business object. Retrieve

Port name: DestinationAppRetrieveLine
Business object Bound to Function Verbs used
ATPLine Destination (supplier's) application connector Sends a reference-valued business object to retrieve the full-valued business object. Retrieve

Port name: From
Business object Bound to Function Verbs used
ATP The source (buyer's) application connector 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
ATP The destination (supplier's) application connector Sends the triggering business object out of the collaboration. Normally this is bound to the destination application, but it can be bound to a wrapper collaboration.

Create

Update

Delete


Port name: ToLine
Business object Bound to Function Verbs used
ATPLine The destination (supplier's) application connector Sends the triggering business object's contained line object out of the collaboration. Normally this is bound to the destination application, but it can be bound to a wrapper collaboration.

Create

Update

Delete

Collaboration template processes

This section illustrates the process logic for this collaboration template:

Overall process logic

Figure 2 illustrates ATP's process logic.

Figure 2. ATP Collaboration's 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.

ATP Iterate process logic

Figure 3 illustrates ATP's Iterate process logic.

Figure 3. ATP Collaboration's Iterate process logic

Compensation processing

InterChange Server Express can roll back a transaction when any step in a transactional collaboration fails. For example, when ATP 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 an ATP 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

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 ATP collaboration template

Property name and explanation Possible values Default value

ATP_OR_ATPLINE This property allows the user to decide whether the collaboration will send the entire ATP object, possibly containing multiple line items, into the destination or whether it will send one line item at a time.

If set to "ATPLine", the collaboration will iterate through the line items contained in the batch object and send each one into the destination application individually.

ATP, ATPLine ATP

Implementation notes

Copyright IBM Corp. 1997, 2004