This chapter explains how the Oracle Application Integration Architecture (Oracle AIA) Oracle Communications Order to Cash Integration Pack (the integration) implements the Update Sales Order business flow.
The following pre-built integration options enable the Update Sales Order business flow:
Order to Cash for Siebel CRM
Order to Cash for Oracle Communications Order and Service Management (OSM)
The Update Sales Order business flow includes the following integration flow:
Updating Statuses from OSM to Siebel CRM
This integration flow uses the following services:
Integration services for OSM:
UpdateSalesOrderOSMCFSCommsJMSConsumer
Integration services for Siebel CRM:
UpdateSalesOrderSiebelCommsJMSConsumer
UpdateSalesOrderSiebelCommsProvABCSImpl
Figure 17-1 shows the sequence of integration services for the Updating Status from OSM to Siebel CRM integration flow.
The integration sends order status updates from OSM in the central order management role (OSM COM) to Siebel CRM as follows:
When OSM COM receives status update messages from OSM SOM or BRM, it creates an UpdateSalesOrderEBM message and adds it to the AIA_UPDSO_OUT_JMSQ queue.
The UpdateSalesOrderOSMCFSCommsJMSConsumer service subscribed to the queue picks up the EBM.
The consumer service adds the EBM to the AIA_UPDSO_OUT_SIEBEL_JMSQ queue.
The UpdateSalesOrderSiebelCommsJMSConsumer service subscribed to the queue picks up the EBM and sends it to the UpdateSalesOrderSiebelCommsProvABCSImpl service.
Note:
UpdateSalesOrderSiebelCommsJMSConsumer has an error resequencer. If any update to Siebel CRM causes a system or business error, further updates to the account are locked in the sequencer table until the error is fixed. If the error is a business error, the message must be removed from the sequencer table. If the error is a system error, the message must be resubmitted.See "Supporting Order Priority" and "Using the Oracle Mediator Resequencer Feature" for more information about using sequencing logic to make updates to Siebel CRM.
The provider service transforms the EBM into a Siebel CRM application business message (ABM) and invokes the Siebel CRM web service to update the order.
During the transformation, UpdateSalesOrderSiebelCommsProvABCSImpl copies fulfillment status from the EBM to the DeliveryStatus attribute of the ABM. The Siebel CRM user interface shows this status in the Fulfillment Status field, which indicates the status of the order in OSM COM while the order is being fulfilled. The Fulfillment Status is a sub-status to the overall order status, which represents the overarching status throughout order capture and order fulfillment. The Siebel CRM user interface shows the overarching status in the Status field.
For this flow there are two transaction boundaries. Table 17-1 describes the transactions involved, the database operations, and what actions to take in case of an error.
If any update to Siebel CRM causes a system or business error, further updates to the account are locked in the sequencer table until the error is fixed. If the error is a business error, the message must be removed from the sequencer table. If the error is a system error, the message must be resubmitted.
See "Using Error Type to Control Response to Order Fallout" for more information on system and business errors.
The following services are involved:
UpdateSalesOrderOSMCFSCommsJMSConsumer
UpdateSalesOrderSiebelCommsJMSConsumer
UpdateSalesOrderSiebelCommsProvABCSImpl
Table 17-1 Transaction Boundaries and Recovery Details for the Siebel CRM Flow
Transaction | DB Operations | In Case of Error | Recovery |
---|---|---|---|
UpdateSalesOrderOSMCFSCommsJMSConsumer picks up UpdateSalesOrderEBM from AIA_UPDSO_OUT_JMSQ and adds it to AIA_UPDSO_OUT_SIEBEL_JMSQ. |
Message added to queue. |
Roll back the message to AIA_UPDSO_OUT_JMSQ_ErrorQ. |
Resubmit the order from AIA_UPDSO_OUT_JMSQ_ErrorQ. |
UpdateSalesOrderSiebelCommsJMSConsumer picks up UpdateSalesOrderEBM from AIA_UPDSO_OUT_SIEBEL_JMSQ and adds it to the sequencer table defined by the UpdateSalesOrderSiebelCommsJMSConsumer_RS routing service. |
Message added to the sequencer table. |
Message available in Enterprise Manager Fusion Middleware Control in recoverable state. |
Retry or abort the message from Enterprise Manager Fusion Middleware Control. |
UpdateSalesOrderSiebelCommsJMSConsumer_RS sends the message to UpdateSalesOrderSiebelCommsProvABCSImpl, which invokes the Siebel web service to update the order. |
AIA cross-reference entries. |
Roll back the message to the sequencer table. |
Resubmit the order from the sequencer table. |
See the discussion of configuring Oracle AIA processes for error handling and trace logging in Oracle Fusion Middleware Developer's Guide for Oracle SOA Core Extension for more information about rollback procedures.
The Update Sales Order business flow uses the following Siebel CRM interfaces:
SWIOrderUpsert
SWIOrderUpsertSubProcess
These are inbound Siebel web services used to update the order information back to Siebel CRM.
See Siebel Order Management Guide Addendum for Communications for more information about web services.
The Update Sales Order business flow uses the following communications industry-specific Oracle AIA components:
SalesOrderEBO
UpdateSalesOrderEBM
The following directories contain the industry component files:
Enterprise business object (EBO) and enterprise business message (EBM) XML schema files:
Oracle_home/comms_home/source/soainfra/apps/AIAMetaData/AIAComponents/EnterpriseObjectLibrary/Industry/Communications/EBO/
Enterprise business service (EBS) WSDL files:
Oracle_home/comms_home/source/soainfra/apps/AIAMetaData/AIAComponents/EnterpriseBusinessServiceLibrary/Industry/Communications/EBO/
For detailed documentation of individual EBOs and EBMs, click the AIA Reference Doc link on EBO and EBM detail pages in the Oracle Enterprise Repository (OER).
EBOs can be extended, for instance, to add new data elements. These extensions are protected and remain intact after a patch or an upgrade, so long as the extensibility guidelines are followed.
See the discussion of Oracle AIA assets extensibility patterns in Oracle Fusion Middleware Developer's Guide for Oracle SOA Core Extension for more information about extending EBOs.
The following services are delivered with the Update Sales Order business flow:
UpdateSalesOrderOSMCFSCommsJMSConsumer
UpdateSalesOrderSiebelCommsJMSConsumer
UpdateSalesOrderSiebelCommsProvABCSImpl
UpdateSalesOrderOSMCFSCommsJMSConsumer is a Mediator process with a JMS Adapter Service. It is subscribed to the AIA_UPDSO_OUT_JMSQ queue.
This process does the following:
Picks up the UpdateSalesOrderEBM message.
Adds UpdateSalesOrderEBM into the AIA_UPDSO_OUT_SIEBEL_JMSQ queue.
UpdateSalesOrderSiebelCommsJMSConsumer service is a Java Messaging Service (JMS) consumer service. It is subscribed to the AIA_UPDSO_OUT_CPQ_JMSQ into which order update EBMs are added.
This consumer picks up UpdateSalesOrderEBM and sends it to the UpdateSalesOrderSiebelCommsProvABCSImpl service by using a Best Effort resequencer.
The UpdateSalesOrderSiebelCommsProvABCSImpl is service accepts the UpdateSalesOrderEBM message and uses the information in the input message to update order in Siebel CRM.
The main functions of this service are:
Updating the order line status: updates the order line status back to Siebel CRM.
Enriching the order: enriches the information back to Siebel CRM from a central fulfillment system to facilitate customer care, service, and asset-based ordering. It is also used to update or enrich the order line items with fulfillment attributes back to Siebel CRM. Among these attributes are service IDs and allocated resources such as port number and IP address.
Updating the order header: enriches the order header to Siebel CRM.
This process is an asynchronous, one-way service.
This service is enabled to use Session Pool Manager.
See Oracle Application Integration Architecture Pre-Built Integrations Utilities Guide for more information about Session Pool Manager.