19 Implementing the Synchronize Customer Account Business Flow

This chapter describes the Synchronize Customer Account business flow and explains how the Oracle Communications Order to Cash Integration Pack for Siebel customer relationship management (Siebel CRM), Oracle Communications Order and Service Management (OSM), and Oracle Communications Billing and Revenue Management (BRM) (the integration) implements the business flow using Siebel CRM and BRM interfaces, communications industry-specific Oracle Application Integration Architecture (Oracle AIA) components, and integration services.

Overview of the Synchronize Customer Account Business Flow

The following Pre-Built Integration options enable the Synchronize Customer Account business flow:

  • Oracle Communications Order to Cash for Siebel CRM, OSM, and BRM Pre-Built Integration option

  • Oracle Communications Order to Cash for Siebel CRM and BRM Pre-Built Integration option

The Synchronize Customer Account business flow supports the following integration flows:

  • Create/Sync Customer Account

  • Update Customer Account

Create/Sync Customer Account Integration Flow

The Create/Sync Customer Account integration flow enables the synchronization of customer information from Siebel CRM to BRM. This flow is called during the Interfacing Orders to Create Customer Data in BRM integration flow of the Synchronize Fulfillment Order Billing Account business flow.

See "Implementing the Synchronize Fulfillment Order Billing Account Business Flow" for information about the sequence of events for these integration flows.

Update Customer Account Integration Flow

This flow is initiated to propagate updates to accounts in Siebel CRM to BRM.

This Update Customer Account integration flow uses the following services:

  • SyncCustomerSiebelEventAggregator

  • SyncAcctSiebelEventAggrConsumer

  • ProcessAccountHierarchyListSiebelCommsProvABCSImpl

  • SyncAccountSiebelReqABCSImpl

  • CustomerPartyEBSV2

  • SyncCustomerPartyListBRM_01CommsJMSConsumer

  • SyncCustomerPartyListBRMCommsProvABCSImpl

Figure 19-1 illustrates the Update Customer Account integration flow.

Figure 19-1 Update Customer Account Sequence Flow Diagram

This figure is described in the following text.

The integration updates customer accounts in BRM as follows:

  1. A Siebel CRM user updates an attribute on a customer's account such as account name, address, contact information, or billing profile.

  2. Siebel CRM sends the SiebelUpdateABM message containing the updated attribute to the SyncCustomerSiebelEventAggregator service. SiebelUpdateABM takes one of the following forms, depending on the updated attribute:

    • ListOfSWICustomerIO for name and hierarchy updates

    • ListOfSWIAddressIO for address updates

    • ListOfSWIContactIO for contact updates

    • ListOfSWIBillingProfileIO for billing profile updates

  3. SyncCustomerSiebelEventAggregator send the SiebelUpdateABM to one of the following database adapters, depending on the updated attribute:

    • SyncAccountSiebelAggregatorAdapter for name and hierarchy updates

    • SyncAddressSiebelAggregatorAdapter for address updates

    • SyncContactSiebelAggregatorAdapter for contact updates

    • SyncBPSiebelAggregatorAdapter for billing profile updates

  4. The adapter extracts the account, contact, address, or billing profile ID from the ABM, stores it in the AIA_AGGREGATED_ENTITIES database table, and sends an acknowledgment to Siebel CRM.

    The IDs in the database table are stored in the same hierarchy as in Siebel CRM (for example, BillingProfileID is always the child of an account ID).

  5. The SyncAcctSiebelEventAggrConsumer service picks up the account ID and all of its child IDs. This service sends updates for the same customer in sequence.

  6. SyncAcctSiebelEventAggrConsumer sends the account ID and child IDs to the SyncAccountSiebelReqABCSImpl service.

  7. SyncAccountSiebelReqABCSImpl sends the account and child IDs as an input application business message (ABM) for the Siebel CRM SWICustomerPartyQueryByExample web service operation.

  8. SWICustomerPartyQueryByExample sends an output ABM, which includes the entire account data, back to SyncAccountSiebelReqABCSImpl.

  9. SyncAccountSiebelReqABCSImpl transforms the output into the SyncCustomerPartyListEBM and sends it to the CustomerPartyEBSV2 service.

  10. CustomerPartyEBSV2 sends SyncCustomerPartyListEBM to SyncCustomerPartyListBRMCommsJMSProducer, which publishes it to the CPARTY_SYNC_TOPIC JMS topic.

  11. The consumer subscribed to this topic by default, SyncCustomerPartyListBRM_01CommsJMSConsumer, picks up SyncCustomerPartyListEBM, checks which service it should be sent to, stamps it with the target ID, and sends it to SyncCustomerPartyListBRMCommsProvABCSImpl.

    You can define more consumers for multiple instances of BRM or other billing systems and subscribe them to CPARTY_SYN_TOPIC.

  12. SyncCustomerPartyListBRMCommsProvABCSImpl calls one of the following opcodes to update the data in BRM:

    • PCM_OP_CUST_UPDATE_CUSTOMER

    • PCM_OP_CUST_DELETE_PAYINFO

    • PCM_OP_CUST_SET_STATUS

    • PCM_OP_BILL_GROUP_MOVE_MEMBER

  13. The opcode sends confirmation to SyncCustomerPartyListBRMCommsProvABCSImpl.

BRM Interfaces

Table 19-1 lists the BRM interfaces used by the Synchronize Customer Account business flow.

Table 19-1 BRM Interfaces

Opcode Purpose

PCM_OP_CUST_COMMIT_CUSTOMER

Creates a new account with one or more /billinfo and /payinfo objects.

PCM_OP_CUST_UPDATE_CUSTOMER

Updates account information (name, address, phone), contact information, and billing information.

PCM_OP_CUST_DELETE_PAYINFO

Delete a /payinfo from an account.

PCM_OP_CUSTCARE_MOVE_ACCT

Moves a child account to a new parent account.

PCM_OP_CUST_SET_STATUS

Modifies the account status.

PCM_OP_BILL_GROUP_MOVE_MEMBER

Modifies a hierarchical account group (moves an account between groups, creates a group if one doesn't exist, deletes a group if it is empty)

PCM_OP_COLLECTIONS_GROUP_CREATE

Creates a collections sharing group with the owner account as the owner and the billing account as a member.

PCM_OP_COLLECTIONS_GROUP_ADD_MEMBER

Adds the billing account as a member of the owner account's collections sharing group.

PCM_OP_COLLECTIONS_GROUP_DELETE_MEMBER

Removes the billing account as a member of the owner account's collections sharing group.

PCM_OP_COLLECTIONS_GROUP_GET_BILLINFO

Checks whether an account already owns or is a member of a collections sharing group.

PCM_OP_COLLECTIONS_GROUP_DELETE

Deletes the owner account's collections sharing group.


See BRM Developer's Reference Guide for detailed descriptions of individual opcodes.

Siebel CRM Interfaces

Table 19-2 describes the Siebel CRM web service interface.

Table 19-2 Siebel CRM Web Service Interface

Web Service Description Used by

Query Account-

(SWICustomerParty)

Retrieves account, bill profile, contact, and address data from Siebel CRM.

  • QueryCustomerPartyListSiebelProvABCSImplV2 as part of creating a new account or adding a new billing profile to an existing account.

  • SyncAccountSiebelReqABCSImpl


See Siebel CRM Web Services Reference for more information about this web service.

Table 19-3 describes the Siebel CRM workflow event interfaces.

Table 19-3 Siebel CRM Workflow Event Interfaces

Event Description Consumed by

SWI Account Updated

This workflow event is started when an account is updated in Siebel CRM.

This event message is consumed by the SyncCustomerSiebelEventAggregator.aggregateaccountevent service, which extracts all the relevant IDs from the input payload and stores them in a database table (AIA_AGGREGATED_ENTITIES).

SWI Bill Profile Updated

This workflow event is started when a bill profile is updated in Siebel CRM.

The event message is consumed by the SyncCustomerSiebelEventAggregator.aggregatebpevent service, which extracts all the relevant IDs from the input payload and stores them in a database table (AIA_AGGREGATED_ENTITIES).

SWI Contact Updated

This workflow event is started when a contact is updated in Siebel CRM.

The event message is consumed by the SyncCustomerSiebelEventAggregator.aggregatecontactevent service, which extracts all the relevant IDs from the input payload and stores them in a database table (AIA_AGGREGATED_ENTITIES).

SWI Address Updated

This workflow event is started when an address is updated in Siebel CRM.

The event message is consumed by the SyncCustomerSiebelEventAggregator.aggregateaddressevent service, which extracts all the relevant IDs from the input payload and stores them in a database table (AIA_AGGREGATED_ENTITIES).


See the discussion of workflows for employee asset-based ordering in Siebel Order Management Guide Addendum for Communications for more information.

Industry Oracle AIA Components

The Synchronize Customer Account business flow uses the following enterprise business objects (EBOs) and enterprise business messages (EBMs):

  • CustomerPartyEBO

  • QueryCustomerPartyListEBM

  • QueryCustomerPartyListResponseEBM

  • SyncCustomerPartyListEBM

  • SyncCustomerPartyListResponseEBM

  • ProcessBillingAccountListEBM

  • ProcessBillingAccountListResponseEBM

  • FulfillmentOrderEBO

  • ProcessFulfillmentOrderBillingAccountListEBM

  • ProcessFulfillmentOrderBillingAccountListResponseEBM

The industry enterprise business object (EBO) and enterprise business message XML schema (EBM XSD) files are located here: $AIA_HOME/AIAMetaData/AIAComponents/EnterpriseObjectLibrary/Industry/Communications/EBO/

The industry enterprise business service (EBS) WSDL files are located here: $AIA_HOME/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 Oracle Fusion Middleware Developer's Guide for Oracle Application Integration Architecture Foundation Pack for more information about:

  • Configuring and using OER as the Oracle SOA Repository to provide the AIA Reference doc link

  • Extending existing schemas and EBOs

Integration Services

The following services are delivered with the Synchronize Customer Account business flow:

  • ProcessFulfillmentOrderBillingAccountListOSMCFSCommsJMSConsumer

  • CommunicationsCustomerPartyEBSV2Resequencer

  • CommsProcessFulfillmentOrderBillingAccountListEBF

  • CommsProcessBillingAccountListEBF

  • SyncCustomerSiebelEventAggregator

  • SyncAccountSiebelAggregatorAdapter

  • SyncContactSiebelAggregatorAdapter

  • SyncAddressSiebelAggregatorAdapter

  • SyncBPSiebelAggregatorAdapter

  • SyncAcctSiebelAggrEventConsumer

  • ProcessAccountHierarchyListSiebelCommsProvABCSImpl

  • SyncAccountSiebelReqABCSImpl

  • CustomerPartyEBSV2

  • QueryCustomerPartyListSiebelProvABCSImplV2

  • SyncCustomerPartyListBRMCommsProvABCSImpl

  • SyncCustomerPartyListBRM_01CommsJMSConsumer

For more information about integration services, see the following topics:

  • Designing and constructing enterprise business flows in Oracle Fusion Middleware Developer's Guide for Oracle Application Integration Architecture Foundation Pack

  • Enterprise business flow processes in Oracle Fusion Middleware Concepts and Technologies Guide for Oracle Application Integration Architecture Foundation Pack

  • Describing the event aggregation programming model in Oracle Fusion Middleware Developer's Guide for Oracle Application Integration Architecture Foundation Pack

ProcessFulfillmentOrderBillingAccountListOSMCFSCommsJMSConsumer

This process listens to the AIA_CRTCUST_OUT_JMSQ JMS queue and as soon as a message is picked up, forwards it to the CommsProcessFulfillmentOrderBillingAccountListEBF enterprise business flow, which extracts the relevant customer data. The ProcessBillingAccountListEBM is then routed to the CommsProcessBillingAccountListEBF.

CommunicationsCustomerPartyEBSV2Resequencer

The CommunicationsCustomerPartyEBSV2Resequencer enterprise business service sequences the account message from CommsProcessBillingAccountListEBF. The messages are grouped by account ID. This process receives the customer EBM and passes it to SyncCustomerPartyListBRMCommsProvABCSImpl for routing to BRM.

See "Using the Oracle Mediator Resequencer Feature" for more information about the Oracle Mediator Resequencer.

CommsProcessFulfillmentOrderBillingAccountListEBF

This enterprise business flow (EBF) is an asynchronous delayed response Business Process Execution Language (BPEL) process that extracts customer data from the order. The process loops through every order line and extracts customer accounts and billing profiles. It uses these data to call the services that query Siebel CRM for account information, including account hierarchy.

This service does the following as part of the Create/Sync Customer Account integration flow:

  1. Receives ProcessFulfillmentOrderBillingAccountListEBM from ProcessFulfillmentOrderBillingAccountListOSMCFSCommsJMSConsumer

  2. If there is a value for the O2C.CorporateHierarchyAccountType configuration property, the service:

    1. Transforms ProcessFulfillmentOrderBillingAccountListEBM into QueryAccountHierarchyEBM

    2. Sends QueryAccountHierarchyEBM to ProcessAccountHierarchyListSiebelCommsProvABCSImpl

    3. Receives QueryAccountHierarchyResponseEBM from ProcessAccountHierarchyListSiebelCommsProvABCSImpl

    4. Transforms QueryAccountHierarchyResponseEBM into ProcessBillingAccountListEBM

  3. Sends ProcessBillingAccountListEBM to CommsProcessBillingAccountListEBF

  4. Receives ProcessBillingAccountListResponseEBM from CommsProcessBillingAccountListEBF

  5. Transforms ProcessBillingAccountListResponseEBM into ProcessFulfillmentOrderBillingAccountListResponseEBM

  6. Sends ProcessFulfillmentOrderBillingAccountListResponseEBM to ProcessFulfillmentOrderBillingAccountListResponseOSMCFSCommsJMSProducer

CommsProcessBillingAccountListEBF

This EBF service creates or synchronizes the accounts and billing profiles from the order in an appropriate billing system. The Order Processing integration flow invokes this service with a list of customer account IDs, billing profile IDs, and the target system ID. When the process is complete, a response is sent back to the order flow confirming that all accounts have been set up in BRM, and the order processing can continue.

This service provides two operations. One accepts the ProcessBillingAccountListEBM which contains the customer data to be synchronized, including account IDs, billing profile IDs, and paying hierarchies. The other sends SyncCustomerPartyListResponseEBM to the calling process.

The responsibilities of this service include:

  • Determining whether the customer exists and is up to date in BRM

  • Retrieving the customer data from the appropriate Siebel CRM system using the provided IDs

  • Optimizing the number and size of queries into Siebel CRM for customer data.

  • Creating or updating the customers and billing profiles in BRM

SyncCustomerSiebelEventAggregator

This service is responsible for receiving Siebel CRM update account events and collating them into an Oracle AIA database table.

Figure 19-2 illustrates the relationship of the SyncCustomerSiebelEventAggregator with the other services in the integration flow.

Figure 19-2 SyncCustomerSiebelEventAggregator

This graphic is described in the surrounding text.

This service provides four operations, one for each of the object types that are updated:

  • Aggregateaccountevent:

    Receives the Account Updated Siebel message. Extracts the account ID, contact IDs, and address IDs from the message. Invokes the SyncAccountSiebelAggregatorAdapter to store these IDs into the AIA_AGGREGATED_ENTITIES database table.

  • Aggregatecontacttevent:

    Receives the Contact Update Siebel message. Extracts the account IDs, bill profile IDs, and contact IDs from the message. Invokes the SyncContactSiebelAggregatorAdapter to store these IDs in the AIA_AGGREGATED_ENTITIES database table.

  • Aggregateaddresstevent:

    Receives the Address Update Siebel message. Extracts the account IDs, bill profile IDs, and address IDs from the message. Invokes the SyncAddressSiebelAggregatorAdapter to store these IDs into the AIA_AGGREGATED_ENTITIES database table.

  • Aggregatebpevent:

    Receives the BillingProfile Updated Siebel message. Extracts the BillingProfile ID and the associated account ID from the message. Invokes the SyncBPSiebelAggregatorAdapter to store these IDs in the AIA_AGGREGATED_ENTITIES database table.

SyncAccountSiebelAggregatorAdapter

This service aggregates the account events generated in Siebel CRM when an account is created or updated. This service invokes a PL/SQL procedure, AIA_AGGREGATOR_PUB.SIEBEL_AGGREGATE_ACCOUNT, which does the actual aggregation in the AIA aggregator table.

SyncContactSiebelAggregatorAdapter

This service aggregates the account events generated in Siebel CRM when an account is created or updated. This service invokes a PL/SQL procedure, AIA_AGGREGATOR_PUB.SIEBEL_AGGREGATE_CONTACT, which does the actual aggregation in the AIA aggregator table.

SyncAddressSiebelAggregatorAdapter

This service aggregates the account events generated in Siebel CRM when an account is created or updated. This service invokes a PL/SQL procedure, AIA_AGGREGATOR_PUB.SIEBEL_AGGREGATE_ADDRESS, which does the actual aggregation in the AIA aggregator table.

SyncBPSiebelAggregatorAdapter

This service aggregates the account events generated in Siebel CRM when an account is created or updated. This service invokes a PL/SQL procedure, AIA_AGGREGATOR_PUB.SIEBEL_AGGREGATE_BP, which does the actual aggregation in the AIA aggregator table.

SyncAcctSiebelAggrEventConsumer

This service extracts the account IDs stored in the AIA_AGGREGATED_ENTITIES database table and sends them forward to the SyncAccountSiebelReqABCSImpl service.

Sequencing is enabled for this service. When this consumer calls the requestor for further processing and the requestor fails, any subsequent update for that customer is not processed until proper action is taken on the messages in the sequencer. If the failure is due to a business error then messages must be removed from the queue for the subsequent messages to process. If the failure is system related then messages in the resequencer can be retried to move the message from the resequencer queue and thereby enabling subsequent messages to be processed. Any updates for other errors are processed as usual.

See "Using the Oracle Mediator Resequencer Feature" for more information about the resequencer.

ProcessAccountHierarchyListSiebelCommsProvABCSImpl

This service calls the Siebel web service to query the account hierarchy for a given account ID.

It does the following as part of the Create/Sync Customer Account integration flow:

  1. Receives ProcessBillingAccountListEBM from CommsProcessFulfillmentOrderBillingAccountListEBF.

  2. Transforms ProcessBillingAccountListEBM into a Siebel CRM ABM.

  3. Calls the Siebel CRM web services to query the complete linear account hierarchy for the account IDs listed in the ABM.

  4. Receives the response from the Siebel CRM web service.

  5. Transforms the response into ProcessBillingAccountListEBM.

  6. Sends ProcessBillingAccountListEBM to CommsProcessFulfillmentOrderBillingAccountListEBF.

SyncAccountSiebelReqABCSImpl

This service transforms the Siebel CRM message into the SyncCustomerPartyList EBM format and invokes the SyncCustomerPartyList operation of the CustomerPartyEBSV2.

The process checks whether the incoming message has a target system identifier. If the target system identifier is not present, then the delivered rule assumes multiple BRM systems and routes the incoming requests to a Java message service (JMS) producer service SyncCustomerPartyListBRMCommsJMSProducer::Produce_Message.

If you have only one BRM instance, you can change the routing rule to route incoming requests to the SyncCustomerPartyListBRMCommsProvABCSImpl_1_0::SyncCustomerPartyList directly. You must also apply a transformation before routing to stamp the target system identifier in the EBM. The transformation file name is esb:///ESB_Projects/Customer_CustomerPartyEBSV2/AddTargetID_BRM01.xsl.

CustomerPartyEBSV2

CustomerPartyEBSV2 a lightweight EBS routing service that exposes all of the enterprise operations that can be performed with a CustomerParty enterprise object.

CustomerPartyEBSV2 service uses the following operations:

  • SyncCustomerPartyList

  • QueryCustomerPartyList

Figure 19-3 illustrates the relationship of QueryCustomerPartyListSiebelProvABCSImplV2 with the other services in the integration flow.

Figure 19-3 CustomerPartyEBSV2

Description of Figure 19-3 follows
Description of "Figure 19-3 CustomerPartyEBSV2"

QueryCustomerPartyListSiebelProvABCSImplV2

CustomerPartyEBSV2 invokes the QueryCustomerPartyListSiebelProvABCSImplV2 service when the routing rules determine that Siebel CRM is to be the service provider for the QueryCustomerPartyList EBS operation.

This service has one synchronous request and reply operation, QueryCustomerPartyList.

SyncCustomerPartyListBRMCommsProvABCSImpl

SyncCustomerPartyListBRMCommsProvABCSImpl performs the following actions:

  1. Receives the SyncCustomerPartyListEBM.

  2. For child accounts, checks whether the parent account has been synchronized. The integration can only synchronize a child account after the parent account has been synchronized.

  3. For each account in the EBM with the ADD action code, the service creates the account as follows:

    1. Transforms the SyncCustomerPartyListEBM to the BRM-specific account creation ABM.

    2. Calls PCM_OP_CUST_COMMIT_CUSTOMER to create the customer account.

    3. For child accounts where the billing account on the order is different from the owner account and the O2C.LegalGroup configuration property is set to TRUE, calls any of the following opcodes:

      • PCM_OP_COLLECTIONS_GROUP_GET_BILLINFO to check if the owner account already owns a collections sharing group

      • PCM_OP_COLLECTIONS_GROUP_CREATE to create a collections sharing group if the owner account doesn't own one

      • PCM_OP_COLLECTIONS_GROUP_ADD_MEMBER to add the billing account to the owner account's collections sharing group

    4. Transforms the response from the opcode calls to SyncCustomerPartyListResponseEBM and populates the following cross-reference tables with the BRM IDs obtained:

      • CUSTOMERPARTY_ACCOUNTID

      • CUSTOMERPARTY_ADDRESSID

      • CUSTOMERPARTY_CONTACTID

      • CUSTOMERPARTY_BILLPROFILEID

      • CUSTOMERPARTY_PAYPROFILEID

  4. For each account in the EBM with the UPDATE action code, the service updates the account as follows:

    1. For child accounts where the parent in the EBM is different from the parent obtained in the opcode response, moves the child account to the parent in the EBM by calling the PCM_OP_CUSTCARE_MOVE_ACCT.

    2. Transforms the SyncCustomerPartyListEBM into a BRM-specific account update ABM.

    3. Calls PCM_OP_CUST_UPDATE_CUSTOMER to update the account.

    4. For child accounts where the billing account on the order is different from the customer account and the O2C.LegalGroup configuration property is set to TRUE, calls any of the following opcodes:

      • PCM_OP_COLLECTIONS_GROUP_GET_BILLINFO to check if the owner account already owns a collections sharing group or the billing account is already a member of a collections sharing group

      • PCM_OP_COLLECTIONS_GROUP_CREATE to create a collections sharing group if the owner account doesn't own one

      • PCM_OP_COLLECTIONS_GROUP_ADD_MEMBER to add the billing account to the owner account's collections sharing group

      • PCM_OP_COLLECTIONS_GROUP_DELETE_MEMBER to remove the billing account from a collections sharing group if the owner account on the EBM and the owner account in the PCM_OP_COLLECTIONS_GROUP_GET_BILLINFO response are different

      • PCM_OP_COLLECTIONS_GROUP_DELETE to delete the collections sharing group if the billing account being moved was the only member

    5. Checks whether the AIA configuration property EnableAccountStatusSync is set to True. If set to True, then it creates the PCM_OP_CUST_SET_STATUS input message from the SyncCustomerPartyListEBM. Calls the opcode PCM_OP_CUST_SET_STATUS to synchronize the status mentioned in the EBM to BRM.

    6. If the result of an account update, in which the PayProfile of the account is changed, is SyncCustomerPartyListEBM, then after calling the PCM_OP_CUST_COMMIT_CUSTOMER, it calls the PCM_OP_CUST_DELETE_PAYINFO to delete the earlier PAYINFO object from BRM.

    7. Transforms the SyncCustomerPartyListEBM to SyncCustomerPartyListResponseEBM.

  5. Sends SyncCustomerPartyListResponseEBM back to the calling service.

SyncCustomerPartyListBRM_01CommsJMSConsumer

This is a mediator process that listens to the topic CPARTY_SYNC_TOPIC and as soon as a message is picked up, forwards it to the SyncCustomerPartyListBRMCommsProvABCSImpl.

This service performs the following actions:

  • Receives the SyncCustomerPartyListEBM.

  • Does an cross-reference lookup to determine whether for the given common ID, the corresponding BRM ID (for BRM_01 or BRM_02, based on the consumer name) exists.

    If it exists, then the service stamps the message with the particular target system ID and passes it forward to the SyncCustomerPartyListBRMCommsProvABCSImpl.

This process is intended for an installation with multiple BRM instances. Deploy a version of this consumer for each BRM instance. See "Configuring Multiple BRM Instances for Communications Integrations" for more information about multiple BRM instances.