TradingPartnerOrderManagement Collaboration Template

The TradingPartnerOrderManagement collaboration template is used to create and update Sales Orders in the supplier's order management application. The process is initiated by the creation or modification of a Purchase Order in the buyer's procurement application. The following list describes in detail this collaboration's various features:

  1. Supports Sales Order creation from the Purchase Order: Generates a Sales Order in a supplier's order management application after a Purchase Order is approved in the buyer's procurement application. There is a one-to-one match between the Purchase Order and the Sales Order. The orders include header, line, and schedule line information about the transaction between the trading partners.
  2. Supports Sales Order updates from Purchase Orders: Modifies the supplier's original Sales Order if the quantities, dates, or items change in the buyer's Purchase Order.
  3. Updates can be turned on or off: If updates to the Sales Order are not allowed by the supplier, the collaboration has a configuration parameter that can be set to allow or disallow updates.
  4. Ensures that no items are shipped before updating the Sales Order: When the update configuration option is on, additional logic will retrieve the full Sales Order from the supplier's application and evaluate the value of the ORD_STATUS_ERR_ATTRIBUTE property in order to determine its status. If no error condition is encountered, the update will be allowed.
  5. Sends an email notification to the buyer if the Sales Order creation fails: Sends an email notification to the buyer stating that the transaction has failed in the supplier's application.
  6. Provides an option to send triggering object back to buyer upon failure: The RETURN_ERROR_OBJECT configuration property is available to allow users to send the TradingPartnerOrder object back to the buyer's application if the Sales Order update or creation fails in the supplier's application. Not all procurement applications support this feature, but those that do can update the Purchase Order to reflect that the update or creation of the Sales Order did not take place.

TradingPartnerOrderManagement uses the generic TradingPartnerOrder business object to synchronize Purchase Order and Sales Order data.

Synchronization of related business objects

Although it synchronizes only TradingPartnerOrder business object data, TradingPartnerOrderManagement can be implemented in parallel with the appropriate collaboration to synchronize order status data using the following related business object:

Business object Related collaboration properties Called collaborations
OrderDeliveryStatus FromTradingPartnerURL ToTradingPartnerURL OrderDeliveryStatus

Issues and assumptions

Collaboration object setup

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

Figure 1. TradingPartnerOrderManagement 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
TradingPartnerOrder 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
TradingPartnerOrder 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
TradingPartnerOrder The destination (supplier's) application connector, a custom collaboration, or the SalesOrderProcessingWrapper collaboration

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: ToFailure
Business object Bound to Function Verbs used
TradingPartnerOrder Source (buyer's) application connector Returns the object to the buyer's application if the Sales Order creation fails in the destination application.

Update

Collaboration template processes

This section illustrates the process logic for this collaboration template:

Overall process logic

Figure 2 illustrates TradingPartnerOrderManagement's process logic.

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

Additional processing for updates

Figure 3 illustrates TradingPartnerOrderManagement's additional process for updates.

Figure 3. Additional processing for updates

Compensation processing

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

Property name and explanation Possible values Default value

ALLOW_UPDATES

Specifies whether or not Purchase Order updates will be processed by the collaboration.

Set to "true" to allow updates.

true, false true

RETRIEVE_ORDER_STATUS This property is only evaluated if the ALLOW_UPDATES property is set to "true".

If set to "true", when the collaboration receives a TradingPartnerOrder.update event, it retrieves the full object from the destination application and evaluates the value of the ORD_STATUS_ERROR_ATTRIBUTE property. If it evaluates to ORD_STATUS_ERROR_COND, the event fails and an email is sent to the buyer application's administrator.

If set to "false", when the collaboration receives a TradingPartnerOrder.update event, no retrieval occurs.

true, false true

RETURN_ERROR_OBJECT

If set to "true", when the Sales Order creation or update fails in the supplier's application, or when the value of the ORD_STATUS_ERR_ATTRIBUTE property evaluates to ORD_STATUS_ERR_COND, the collaboration will send the TradingPartnerOrder generic business object back to the buyer through the ToFailure port.

If set to "false", no object will be sent back to the buyer.

This configuration option has no effect on the SEND_EMAIL configuration.

true, false false

ORD_STATUS_ERR_COND

This property is only evaluated if RETRIEVE_ORDER_STATUS evaluates to "true".

Specify values for the collaboration to use as a filter to prevent synchronization of the triggering business object. The collaboration excludes a business object from synchronization if the value of the attribute specified by ORD_STATUS_ERR_ATTRIBUTE matches one of the values listed in this property.

The collaboration is not sensitive to the case of the specified values or to extra spaces in the list of values.

Comma-delimited list of values shipped

ORD_STATUS_ERR_ATTRIBUTE

The collaboration evaluates this property only if ORD_STATUS_ERR_COND evaluates to a value other than "none".

Specify the business object attribute for the collaboration to use when comparing values in the ORD_STATUS_ERR_COND property. The collaboration compares the value in the specified attribute against the values specified for exclusion by the ORD_STATUS_ERR_COND property to prevent synchronization of business objects with specific values. For example, assume that a top-level business object named BusObjA contains a child business object named BusObjB. To filter on an attribute named Type in the BusObjB business object, set the value of ORD_STATUS_ERR_ATTRIBUTE to BusObjA.BusObjB.Type.

AttributeName status

Implementation notes

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.

Copyright IBM Corp. 1997, 2004

Copyright IBM Corp. 2004