Contract information is typically duplicated in systems that support different business functions or different businesses, such as Order Entry, Planning, Finance, and Support. Because Contract information may be distributed across multiple systems, maintaining integrity and ensuring that all systems are synchronized is a key business challenge.
The ContractSync collaboration template, in conjunction with other objects and collaborations, specifies a common process for maintaining and synchronizing Contract information across all systems that use it. This synchronization enables a common view of Contract information throughout the organization.
The Contract Manager collaboration-object group synchronizes Contract information between a Customer Interaction Management (CIM) application and an Enterprise Resource Planning (ERP) application. Either of these applications can serve as the source or destination for the synchronized information.
This replication of data allows separate applications to use information consistently whenever data is added, changed, or deleted in the enterprise. The collaboration assures the accuracy of duplicate information in the destination application without duplicate entry.
Although it synchronizes only Contracts, ContractSync can be configured to call the appropriate collaborations to verify or synchronize the following related business objects:
Business object | Related collaboration properties | Called collaborations |
---|---|---|
Contact | FAIL_ON_CONTACT_ERROR VERIFY_SYNC_CONTACT | |
VERIFY_SYNC_CUSTOMERS | CustomerSync | |
Item
Item Basic ItemOrder ItemPlanning |
ITEM_TYPE VERIFY_SYNC_ITEM |
ItemSync |
This section includes information on port bindings and required steps for setting up collaboration objects based on ContractSync. 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 the relationship of ContractSync to its source and destination ports.
Figure 1. ContractSync 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 |
---|---|---|---|
Contract | 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 Contract. |
Retrieve |
Business object | Bound to | Function | Verbs used |
---|---|---|---|
Contract | 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 |
---|---|---|---|
Contract | The destination application's connector |
Sends the triggering business object out of the collaboration. |
Create Update Delete |
Business object | Bound to | Function | Verbs used |
---|---|---|---|
Contact |
|
Used to send a Contact business object for verification or synchronization. |
Sync Exists |
Business object | Bound to | Function | Verbs used |
---|---|---|---|
Customer |
|
Used to send a Customer business object for verification or synchronization. |
Sync Exists |
Business object | Bound to | Function | Verbs used |
---|---|---|---|
Any of the generic item business objects, such as Item, ItemBasic, or ItemPlanning |
|
Sends a reference-valued Item business object for verification or synchronization |
Sync Exists |
To set up ContractSync as a stand-alone collaboration object, follow these steps:
To verify or synchronize related Customers, Contacts, or Items as part of the ContractSync process, you can create any combination of the following collaboration-object groups:
Verify Synchronize Required collaborations Contacts ContractSync, ContactWrapper Contacts ContractSync, ContactWrapper, ContactSync Customers ContractSync, CustomerWrapper Customers ContractSync, CustomerWrapper, CustomerSync Items ContractSync, ItemWrapper Items ContractSync, ItemWrapper, ItemSync
The following procedure describes the steps for setting up ContractSync as part of a collaboration-object group: For the sake of example, these steps assume you want to synchronize Contracts and only their referenced Items.
If synchronizing Contacts or Customers, configure their associated collaborations in the same manner as shown in the steps above.
This section illustrates the process logic for this collaboration template:
Figure 2 illustrates ContractSync's process logic.
Figure 2. ContractSync collaboration: process logic
NOTE: Some applications do not physically delete records. The source application may update the contact's status to inactive, rather than delete it. In this case, the collaboration receives a Contact business object with the Update verb. Refer to the connector documentation for information on how a specific application processes deletes.
This collaboration template uses the following standard collaboration business processes:
For information on these processes, see the Collaboration Development Guide.
Figure 3 illustrates ContractSync's process for verifying or synchronizing Customers, Header Contacts, and Line Item Contacts.
ContractSync calls its wrapper collaborations in the following order: Customer, Contact (for header contacts), Item, Contact (for line-item contacts).
Figure 3. Verification or synchronization of Customers, Header Contacts, and Line Item Contacts
Figure 4 illustrates ContractSync's process for verifying or synchronizing related items.
Figure 4. Verification or synchronization of Items
Note: For a collaboration to process ItemBasic, ItemOrder, and ItemPlanning successfully, your installation's repository must contain the Utility business object. This business object is referenced in the collaboration code, which uses it to instantiate temporary iterator variables. The collaboration fails if this object is not present in the repository.
InterChange Server Express Plus rolls back a transaction when any step in a transactional collaboration fails. For example, when ContractSync 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 Plus rolls back the processing of every collaboration in the group.
When a ContractSync 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. For information about these processes, 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:
Because the Contract Manager collaboration-object group represents four collaborations, configuring all collaborations is critical for causing desired behavior. The following checklist specifies the configuration properties for all four collaborations.
Goal | Property | Setting |
---|---|---|
Retrieve a Contract from the destination application before attempting to synchronize it | USE_RETRIEVE | "true" |
Verify items, contacts, or customers related to the triggering Contract | VERIFY_SYNC_ITEM VERIFY_SYNC_CONTACT VERIFY_SYNC_CUSTOMERS | "verify" |
Synchronize items, contacts, or customers related to the triggering Contract | VERIFY_SYNC_ITEM VERIFY_SYNC_CONTACT VERIFY_SYNC_CUSTOMERS | "sync" |
Convert a Create request to an Update request if ContractSync's triggering business object exists in the destination | CONVERT_CREATE | "true" |
Stop the collaboration from processing when it encounters an invalid contact | FAIL_ON_CONTACT_ERROR | "true" |
Convert an Update request to a Create request if ContractSync's triggering business object does not exist in the destination | CONVERT_UPDATE | "true" |
Goal | Property | Setting |
---|---|---|
Specify that the ContractWrapper collaboration logs a warning and returns a success status to the calling collaboration if a verification or synchronization of related Contract data fails | CONTINUE_WITH_WARNING | "true" |
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 |
---|---|---|
FAIL_ON_CONTACT_ERROR If set to false, the collaboration will remove the invalid contact and continue processing. If set to true, the collaboration will stop processing. |
false, true | true |
ITEM_TYPE The type of the Item business object to be sent to the wrapper. |
Item, ItemBasic, ItemOrder, ItemPlanning |
Item |
VERIFY_SYNC_CONTACT Set to "sync" to cause ContractSync to synchronize related Contacts in the destination application. ContractSync sends each Contact business object with the Sync verb to ContactWrapper. In turn, ContactWrapper retrieves values for all attributes from the source application and sends the business object with the Create verb to the destination. If ContactWrapper fails to create a Contact business object, ContractSync logs error message #5010 and ends. If ContactWrapper successfully creates all Contact business objects and if the trace level is set to 3 or higher, information message #5020 appears at the trace destination. Set to "verify" to cause ContractSync to verify related Contacts in the destination application. ContractSync sends each Contact business object with the Exists verb to ContactWrapper. In turn, ContactWrapper retrieves the business object from the destination application. If ContactWrapper fails to retrieve a Contact business object, ContractSync logs error message #5010 and ends. If ContactWrapper successfully verifies all Contact business objects and if the trace level is set to 3 or higher, information message #5020 appears at the trace destination. Set to "neither" to cause ContractSync to synchronize the triggering Contract business object without first synchronizing or verifying related Contacts. Note: For descriptions of the messages corresponding to the message numbers, refer to the following collaboration message file: \collaborations\messages\ContractSync.txt. |
neither, sync, verify | sync |
VERIFY_SYNC_CUSTOMERS Set to "sync" to synchronize the related Customer in the destination application. ContractSync sends the business object with the Sync verb to CustomerWrapper. In turn, CustomerWrapper retrieves values for all attributes from the source application and sends the business object with the Create verb to the destination. If the synchronization collaboration fails to create the Customer, ContractSync logs error message #5010 and ends. If CustomerWrapper successfully creates all Customer business objects and if the trace level is set to 3 or higher, information message #5020 appears at the trace destination. Set to "verify" to verify the related Customer in the destination application. ContractSync sends the business object with the Exists verb to CustomerWrapper. In turn, CustomerWrapper retrieves the business object from the destination application. If CustomerWrapper fails to retrieve a Customer business object, ContractSync logs error message #5010 and ends. If CustomerWrapper successfully verifies all Customer business objects and if the trace level is set to 3 or higher, information message #5020 appears at the trace destination. Set to "neither" to cause ContractSync to create the Contract business object without first synchronizing or verifying the related Customer in the destination application. Note: For descriptions of the messages corresponding to the message numbers, refer to the following collaboration message file: \collaborations\messages\ContractSync.txt. |
neither, sync, verify | sync |
VERIFY_SYNC_ITEM Set to "sync" to cause ContractSync to synchronize related items in the destination application. ContractSync sends the business object with the Sync (and values in key fields only) verb to ItemWrapper. In turn, ItemWrapper retrieves values for all attributes from the source application and sends the generic business object with the Create verb to ItemSync. If ItemWrapper fails to create the related item, ContractSync logs error message #5010 and ends. If ItemWrapper successfully creates all of the related items and if the trace level is set to 3 or higher, information message #5020 appears at the trace destination. Set to "verify" to cause ContractSync to verify related items in the destination application. ContractSync 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 the related item, ContractSync logs error message #5010 and ends. If ItemWrapper successfully verify all of the related items and if the trace level is set to 3 or higher, information message #5020 appears at the trace destination. Set to "neither" to cause ContractSync to synchronize the triggering Contract business object without first synchronizing related items or verifying existing related items in the destination application. |
neither, sync verify | sync |
Note: Messages that provide warnings and those that provide information appear at the trace destination only if the trace level has been set to 3 or higher. The trace level is configurable using the INFORMATIONAL_EXCEPTIONS and SEND_EMAIL properties.
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: