Oracle Application Integration Architecture Oracle Customer Master Data Management Integration Implementation Guide, Release 11.1

Release 11.1

E23082-04

Contents

List of Figures

List of Tables

Title and Copyright Information

Preface

- What's New in this Guide

- Common Oracle AIA Pre-Built Integration Guides

- Documentation Accessibility

- Additional Resources

Part I Understanding the Delivered Integrations

1 Understanding the Oracle Customer Master Data Management Pre-Built Integration

- 1.1 Overview

- 1.1.1 Terminology

- 1.2 High-Level Integration Flows

- 1.2.1 Match and Fetch Organizations or Persons

- 1.2.2 Synchronizing Organizations or Persons

- 1.2.3 Merge Flow

- 1.2.4 Data Enrichment Flow

- 1.3 Core AIA Components

- 1.4 AIA Integration Services

- 1.4.1 CustomerPartyEBSV2

- 1.4.2 CustomerPartyResponseEBSV2

- 1.4.3 CustomerPartyOrchestrationEBSV2

- 1.4.4 CustomerPartyOrchestrationResponseEBSV2

- 1.4.5 ProcessCustomerPartyEBS

- 1.4.6 CommunicationsCustomerPartyEBSV2

- 1.4.7 CommunicationsCustomerPartyResponseEBSV2

- 1.4.8 FetchCustomerPartyEBF

- 1.4.9 CommsProcessFulfillmentOrderBillingAccountListEBF

- 1.4.10 CommsProcessBillingAccountListEBF

- 1.4.11 InterfaceContactToAccountEBF

2 Oracle Customer Master Data Management Integration Base Pack

- 2.1 Overview

- 2.2 OCH Process Flows

- 2.2.1 Match and Fetch Organizations and Persons between OCH and Participating Applications

- 2.2.2 Synchronization of Organizations and Persons from OCH to Oracle E-Business Suite

- 2.2.3 Synchronizing Organizations from OCH to Oracle E-Business Suite

- 2.2.4 Synchronizing Persons from OCH to Oracle E-Business Suite

- 2.2.5 Synchronization of Organizations and Persons from OCH to Siebel CRM

- 2.2.6 Synchronizing Organizations from OCH to Siebel CRM

- 2.2.7 Synchronizing Persons from OCH to Siebel CRM

- 2.2.8 Synchronization of Organizations and Persons from OCH to Oracle BRM

- 2.2.8.1 OCH Publishes Updates to BRM for New Customer Data

- 2.2.8.2 OCH Publishes Updates to BRM for Updates to Existing Customer Data

- 2.2.8.3 Periodic Cron-Job for Re-Syncing Customer Data from OCH to Oracle BRM

- 2.2.9 Data Enrichment Flow

- 2.2.10 Merge Flow from Oracle Customer Hub to Siebel CRM

- 2.2.10.1 Merging Organizations from Oracle Customer Hub to Siebel

- 2.2.10.2 Merging Persons from Oracle Customer Hub to Siebel CRM

- 2.2.11 Merge Flow from OCH to Oracle E-Business Suite

- 2.2.12 Merge Flow from OCH to Oracle BRM

- 2.3 OCH Integration Services

- 2.3.1 SyncOrganizationUCMJMSProducer

- 2.3.2 SyncOrganizationUCMJMSConsumer

- 2.3.3 SyncPersonUCMJMSProducer

- 2.3.4 SyncPersonUCMJMSConsumer

- 2.3.5 QueryCustomerPartyListUCMProvABCSImpl

- 2.3.6 QueryCustomerPartyUCMProvABCSImpl

- 2.3.7 SyncOrganizationUCMReqABCSImpl

- 2.3.8 SyncCustomerPartyListResponseUCMProvABCSImpl

- 2.3.9 SyncPersonUCMReqABCSImpl

- 2.3.10 ProcessPersonUCMReqABCSImpl

- 2.3.11 SyncCustomerPartyListUCMProvABCSImpl

- 2.4 OCH Interfaces

- 2.4.1 Inbound Web Services: Match and Fetch

- 2.4.2 Inbound Web Services: Organization and Person Synchronization

- 2.4.3 Outbound Web Services: Organization and Person Synchronization

- 2.5 Assumptions and Constraints

3 Oracle Customer Master Data Management Integration Option for Siebel CRM

- 3.1 Overview

- 3.1.1 Prerequisites

- 3.2 Match and Fetch between Siebel CRM and Oracle Customer Hub

- 3.3 Synchronizing Organizations and Persons from Siebel CRM to Oracle Customer Hub

- 3.3.1 Synchronizing Organizations from Siebel CRM to Oracle Customer Hub

- 3.3.2 Synchronizing Persons from Siebel CRM to Oracle Customer Hub

- 3.4 Siebel CRM Integration Services

- 3.4.1 SyncAccountSiebelAggregatorAdapter

- 3.4.2 SyncContactSiebelAggregatorAdapter

- 3.4.3 SyncAddressSiebelAggregatorAdapter

- 3.4.4 SyncCustomerSiebelEventAggregator

- 3.4.5 SyncAccountSiebelReqABCSImpl

- 3.4.6 SyncContactSiebelReqABCSImpl

- 3.4.7 SyncCustomerPartyListSiebelProvABCSImpl

- 3.4.8 SyncCustomerPartyListResponseSiebelProvABCSImpl

- 3.4.9 SyncBPSiebelAggregatorAdapter

- 3.4.10 SyncAcctSiebelAggrEventConsumer

- 3.4.11 SyncContSiebelAggrEventConsumer

- 3.5 Siebel CRM Interfaces

- 3.5.1 Inbound Web Services: Organization and Person Synchronization

- 3.5.2 Outbound Web Services: Organization and Person Synchronization

- 3.5.3 Inbound Web Services: Match and Fetch

- 3.5.3.1 Account Synchronization

- 3.5.3.2 Contact Synchronization

- 3.5.4 Outbound Web Services: Match and Fetch

4 Oracle Customer Master Data Management Integration Option for Oracle E-Business Suite

- 4.1 Overview

- 4.1.1 Prerequisites

- 4.2 Match and Fetch between Oracle E-Business Suite and Oracle Customer Hub

- 4.3 Synchronization of Organizations and Persons from Oracle E-Business Suite to Oracle Customer Hub

- 4.3.1 Synchronizing Organizations from Oracle E-Business Suite to Oracle Customer Hub

- 4.3.2 Synchronizing Persons from Oracle E-Business Suite to Oracle Customer Hub

- 4.4 Oracle E-Business Suite Integration Services

- 4.4.1 SyncCustomerPartyListEbizProvABCSImpl

- 4.4.2 QueryPersonAccountEbizUpdateAdapter

- 4.4.3 QueryCustomerPartyListEbizCreateAdapter

- 4.4.4 QueryCustomerPartyListEbizUpdateAdapter

- 4.4.5 SyncPersonAccountEbizReqABCSImpl

- 4.4.6 SyncPersonAccountEbizEventConsumer

- 4.4.7 SyncCustomerPartyListEbizEventConsumer

- 4.4.8 SyncCustomerPartyListResponseEbizProvABCSImpl

- 4.4.9 SyncCustomerPartyListEbizAdapter

- 4.4.10 SyncCustomerPartyListEbizReqABCSImpl

- 4.4.11 QueryPersonAccountEbizCreateAdapter

- 4.5 Oracle E-Business Suite Interfaces

- 4.5.1 Inbound Web Services: Fetch

- 4.5.2 Outbound from E-Business Suite or Composite App Event Interfaces: Match and Fetch

- 4.5.3 Inbound Web Services: Person or Organization Synchronization

- 4.5.4 Outbound from E-Business Suite Event Interfaces: Organization or Person Synchronization

5 Oracle Customer Master Data Management Integration Option for Oracle Communications BRM

- 5.1 Overview

- 5.2 Oracle BRM Interfaces

- 5.3 Oracle BRM Integration Services

- 5.3.1 Core2CommsCustomerPartyBridge

- 5.3.2 CommunicationsCustomerPartyEBSV2

- 5.3.3 SyncCustomerPartyListBRMCommsProvABCSImpl

- 5.3.4 CommunicationsCustomerPartyResponseEBSV2

- 5.3.5 SyncCustomerPartyListBRMCommsJMSProducer

- 5.3.6 SyncCustomerPartyListBRM_01CommsJMSConsumer

Part II Implementing the Delivered Integrations

6 Reviewing Prerequisites

- 6.1 Prerequisites: Match and Fetch Flows

- 6.2 Prerequisites: Synchronization Flows

- 6.3 Prerequisites: Merge Flows

7 Configuring the Customer MDM Pre-Built Integration

- 7.1 Configuring Siebel CRM

- 7.2 Setting Up Organizations

- 7.2.1 Oracle Customer Hub

- 7.2.2 Obtaining Oracle E-Business Suite Operating Unit IDs

- 7.2.3 Mapping Siebel CRM Organizations

- 7.3 Setting Up Cross-References

- 7.3.1 Identifying Siebel Row IDs

- 7.3.2 Identifying Oracle E-Business Suite Entities

- 7.3.3 Identifying Oracle Customer Hub Row IDs

- 7.3.4 Populating Seed Values in Cross-Reference Tables

- 7.3.5 Validating Cross-References

- 7.4 Working with Cross-References

- 7.5 Working with Domain Value Maps

- 7.6 Creating Oracle E-Business Suite System Profiles

- 7.6.1 Configuring Receivables System Options for the Customer Management Integration

- 7.7 Scheduling Concurrent Processes

- 7.8 Configuring Sequencing for the Synchronize Flows from Siebel CRM to Oracle Customer Hub

- 7.9 Handling Errors

- 7.10 Using the Composite Application Framework

- 7.11 Setting Configuration Properties

8 Customer Data Enrichment

- 8.1 Overview

- 8.1.1 Prerequisites

- 8.2 Process Flow

- 8.3 Data Enrichment Integration Services

- 8.4 Working with Cross-References

- 8.5 Working with Domain Value Maps

- 8.6 Handling Errors

- 8.7 Setting Configuration Properties

9 Deploying the Match and Fetch Enterprise Composite Application with the Customer MDM Pre-Built Integration

- 9.1 Security Considerations

- 9.2 Invoking Match and Fetch from Oracle E-Business Suite

- 9.2.1 Instructions for Oracle E-Business Suite 11.5.10.x

- 9.2.2 Instructions for Oracle E-Business Suite 12.1.x

A Queue Details

List of Figures

- 1-1 Oracle Customer MDM high-level integration flows

- 1-2 CommunicationsCustomerPartyEBSV2

- 1-3 CommunicationsCustomerPartyResponseEBSV2

- 1-4 CommsProcessFulfillmentOrderBillingAccountListEBF

- 1-5 CommsProcessBillingAccountListEBF

- 2-1 Synchronizing organizations and persons from OCH to Oracle E-Business Suite

- 2-2 Synchronizing organizations from Oracle Customer Hub to Oracle E-Business Suite

- 2-3 Synchronizing persons from Oracle Customer Hub to Oracle E-Business Suite

- 2-4 Synchronizing organizations and persons from Oracle Customer Hub to Siebel CRM

- 2-5 Synchronizing organizations from Oracle Customer Hub to Siebel CRM

- 2-6 Synchronizing persons from Oracle Customer Hub to Siebel CRM

- 2-7 Synchronize customer from OCH to Oracle BRM

- 2-8 Creating customer data (Oracle BRM and OCH)

- 2-9 Create, synchronize customer account

- 2-10 Updating customer data (Oracle BRM and OCH)

- 2-11 Updating customer data (Oracle BRM and OCH)

- 2-12 Update customer account

- 2-13 Merging organizations and persons from Oracle Customer Hub to Siebel CRM

- 2-14 Merging organizations from Oracle Customer Hub to Siebel CRM

- 2-15 Merging persons from Oracle Customer Hub to Siebel CRM

- 2-16 Merge flow from OCH to Oracle BRM

- 3-1 Match and fetch between Siebel CRM and Oracle Customer Hub

- 3-2 Match and fetch between Siebel CRM to Oracle Customer Hub

- 3-3 Synchronizing organizations and persons from Siebel CRM to Oracle Customer Hub

- 3-4 Synchronizing organizations from Siebel CRM to Oracle Customer Hub

- 3-5 Synchronizing persons from Siebel CRM to Oracle Customer Hub

- 4-1 Match and fetch Oracle E-Business Suite to Oracle Customer Hub

- 4-2 Match and fetch between Oracle E-Business Suite and Oracle Customer Hub

- 4-3 Synchronizing organizations and persons from Oracle E-Business Suite to OCH

- 4-4 Synchronizing organizations from Oracle E-Business Suite to Oracle Customer Hub

- 4-5 Synchronizing persons from Oracle E-Business Suite to Oracle Customer Hub

- 7-1 Administration - Group tab

- 7-2 Administration - Group tab in Siebel

- 8-1 High-level process

- 8-2 Enriching person and customer attributes

- 8-3 Customer data enrichment

- 9-1 Customer Online Organization Search Page

- 9-2 Personalization screen

- 9-3 OCH Button Creation screen

- 9-4 Personalization screen after adding button

- 9-5 Customers Online page with OCH search button

- 9-6 Customer Online Organization Search Page

- 9-7 Personalization Page, Create Item icon

- 9-8 OCH Button Creation Screen

- 9-9 Personalization screen after adding button

- 9-10 OCH Search button

List of Tables

- 1-1 Terminology

- 1-2 Conventions in this document

- 2-1 Inbound Web Services: Organization and Person Synchronization

- 2-2 Outbound Web Services: Organization and Person Synchronization

- 3-1 Inbound Web Services: Organization and Person Synchronization

- 3-2 Outbound Web Services: Organization and Person Synchronization

- 3-3 Outbound Web Services: Match and Fetch

- 4-1 Inbound Web Services: Person or Organization Synchronization

- 4-2 Outbound from EBS Event Interfaces: Organization or Person Synchronization

- 7-1 Workflow Listing

- 7-2 Component Groups Listing

- 7-3 XRef Table Format

- 7-4 ORGANIZATION_ID Table Value Format

- 7-5 Sample Data for XRef Oraganization_ID Table

- 7-6 Cross-references

- 7-7 Domain Value Maps

- 7-8 Handling Errors

- 7-9 Settings for System Properties

- 7-10 Settings for Module Level Properties

- 7-11 Core2CommsCustomerPartyBridge

- 7-12 FetchAccountSiebelReqABCSImpl

- 7-13 FetchContactSiebelReqABCSImpl

- 7-14 MatchAccountSiebelReqABCSImpl

- 7-15 MatchContactSiebelReqABCSImpl

- 7-16 FetchCustomerPartyEBFservice

- 7-17 QueryCustomerPartyListUCMProvABCSImpl

- 7-18 QueryCustomerPartyUCMProvABCSImpl

- 7-19 SyncCustomerPartyListResponseEbizProvABCSImpl

- 7-20 SyncCustomerPartyListResponseSiebelProvABCSImpl

- 7-21 SyncOrganizationUCMReqABCSImpl

- 7-22 SyncPersonUCMReqABCSImpl

- 7-23 SyncCustomerPartyListResponseUCMProvABCSImpl

- 7-24 SyncCustomerPartyListUCMProvABCSImpl

- 7-25 SyncPersonAccountEbizReqABCSImpl

- 7-26 SyncAccountSiebelReqABCSImpl

- 7-27 SyncContactSiebelReqABCSImpl

- 7-28 SyncCustomerPartyListEbizProvABCSImpl

- 7-29 SyncCustomerPartyListSiebelProvABCSImpl

- 7-30 SyncCustomerPartyListEbizReqABCSImpl

- 7-31 InterfaceContactToAccountEBF

- 7-32 SyncCustomerPartyListBRMCommsProvABCSImpl Service Property

- 8-1 Data Enrichment Integration Services

- 8-2 DVMs Used for the Data Enrichment Flow

- 8-3 Configuration Properties for Customer Data Enrichment

- A-1 Queue Details

Oracle® Application Integration Architecture

Oracle Customer Master Data Management Integration Implementation Guide

Release 11.1

E23082-04

July 2013

Oracle Application Integration Architecture Oracle Customer Master Data Management Integration Implementation Guide, Release 11.1

E23082-04

Copyright © 2001, 2013, Oracle and/or its affiliates. All rights reserved.

Primary Author:  Oracle Corporation

This software and related documentation are provided under a license agreement containing restrictions on use and disclosure and are protected by intellectual property laws. Except as expressly permitted in your license agreement or allowed by law, you may not use, copy, reproduce, translate, broadcast, modify, license, transmit, distribute, exhibit, perform, publish, or display any part, in any form, or by any means. Reverse engineering, disassembly, or decompilation of this software, unless required by law for interoperability, is prohibited.

The information contained herein is subject to change without notice and is not warranted to be error-free. If you find any errors, please report them to us in writing.

If this is software or related documentation that is delivered to the U.S. Government or anyone licensing it on behalf of the U.S. Government, the following notice is applicable:

U.S. GOVERNMENT END USERS: Oracle programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, delivered to U.S. Government end users are "commercial computer software" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such, use, duplication, disclosure, modification, and adaptation of the programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, shall be subject to license terms and license restrictions applicable to the programs. No other rights are granted to the U.S. Government.

This software or hardware is developed for general use in a variety of information management applications. It is not developed or intended for use in any inherently dangerous applications, including applications that may create a risk of personal injury. If you use this software or hardware in dangerous applications, then you shall be responsible to take all appropriate fail-safe, backup, redundancy, and other measures to ensure its safe use. Oracle Corporation and its affiliates disclaim any liability for any damages caused by use of this software or hardware in dangerous applications.

Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.

Intel and Intel Xeon are trademarks or registered trademarks of Intel Corporation. All SPARC trademarks are used under license and are trademarks or registered trademarks of SPARC International, Inc. AMD, Opteron, the AMD logo, and the AMD Opteron logo are trademarks or registered trademarks of Advanced Micro Devices. UNIX is a registered trademark of The Open Group.

This software or hardware and documentation may provide access to or information on content, products, and services from third parties. Oracle Corporation and its affiliates are not responsible for and expressly disclaim all warranties of any kind with respect to third-party content, products, and services. Oracle Corporation and its affiliates will not be responsible for any loss, costs, or damages incurred due to your access to or use of third-party content, products, or services.

Preface

Welcome to Oracle Customer Master Data Management Integration Implementation Guide. This document

What's New in this Guide

- The Oracle Application Integration Architecture Installation and Upgrade Guide for Pre-Built Integrations is restructured into a general installation chapter with an individual configuration and deployment chapter for each pre-built integration.

- The term process integration pack is replaced with the term pre-built integrations.

- The implementation guides are restructured into two parts: design and set up.
Part I - Design: This part provides functional overviews, activity diagrams, assumptions and constraints, and technical sequence diagrams and steps.

Part II - Set up: This part provides prerequisites, data requirements, and configuration steps.

- Starting with this release, these integrations are no longer available:

- Oracle CRM On Demand Integration Pack for JD Edwards EnterpriseOne: Lead to Order

- Oracle Workforce Administration Integration Pack for PeopleSoft Human  Resources

Common Oracle AIA Pre-Built Integration Guides

Oracle Application Integration Architecture Pre-Built Integrations 11.1 includes the following guides shared by all products delivered with this release:

- Oracle Application Integration Architecture Installation and Upgrade Guide for Pre-Built Integrations Release 11.1
This guide provides an overview of the installation process, including how to install, configure, and deploy your pre-built integrations. The steps required to upgrade your pre-built integrations to the latest release are also provided.

- Oracle Application Integration Architecture Pre-Built Integrations 11.1: Utilities Guide
This guide describes:

- How to work with and configure Session Pool Manager (SPM), which is a service in the Oracle SOA Suite web server whose primary function is to manage a pool of web server session tokens that can be reused by BPEL flows.

- How to deploy and configure the AIACompositeScheduler. This is a utility component that is used by pre-built integrations to schedule a service-oriented architecture (SOA) composite to be invoked at the specified time interval.

- Oracle Application Integration Architecture Pre-Built Integrations 11.1: Product-to-Guide Index
The Product-to-Guide index lists the guides that provide information for each product delivered in this release.

Documentation Accessibility

For information about Oracle's commitment to accessibility, visit the Oracle Accessibility Program website at http://www.oracle.com/pls/topic/lookup?ctx=acc&id=docacc.

Access to Oracle Support

Oracle customers have access to electronic support through My Oracle Support. For information, visit http://www.oracle.com/pls/topic/lookup?ctx=acc&id=info or visit http://www.oracle.com/pls/topic/lookup?ctx=acc&id=trs if you are hearing impaired.

Additional Resources

The following resources are also available:

- Oracle Application Integration Architecture Foundation Pack:
Oracle AIA Pre-Built integrations require Foundation Pack 11.1.1.5.0 to be installed. Refer to the Foundation Pack documentation library on OTN to download the Foundation Pack guides at http://download.oracle.com/docs/cd/E21764_01/aia.htm.

- Oracle Application Integration Architecture: Product-to-Guide Index:
Oracle Technology Network: http://www.oracle.com/technetwork/index.html

- Known Issues and Workarounds:
My Oracle Support: https://support.oracle.com/

- Release Notes:
Oracle Technology Network: http://www.oracle.com/technetwork/index.html

- Documentation updates:
Oracle Technology Network: http://www.oracle.com/technetwork/index.html

Part I

Understanding the Delivered Integrations

Part I contains the following chapters:

- Chapter 1, "Understanding the Oracle Customer Master Data Management Pre-Built Integration"

- Chapter 2, "Oracle Customer Master Data Management Integration Base Pack"

- Chapter 3, "Oracle Customer Master Data Management Integration Option for Siebel CRM"

- Chapter 4, "Oracle Customer Master Data Management Integration Option for Oracle E-Business Suite"

- Chapter 5, "Oracle Customer Master Data Management Integration Option for Oracle Communications BRM"

1 Understanding the Oracle Customer Master Data Management Pre-Built Integration

This chapter provides an overview of the Oracle Customer Master Data Management Integration (Customer MDM pre-built integration) and discusses terminology for the participating applications.

This chapter includes the following sections:

- Section 1.2, "High-Level Integration Flows"

- Section 1.3, "Core AIA Components"

- Section 1.4, "AIA Integration Services"

1.1 Overview

The Customer MDM integration provides an enterprise-level customer master solution for publishing customer data updates from the Oracle Customer Hub (OCH) to the various participating applications.

Note:

The Oracle Customer Hub is also referred to in text and graphics as Siebel Universal Customer Master (UCM).

You have the option to select one or more participating applications when installing the Customer MDM integration. Records are persisted in the local applications and are then synchronized to Oracle Customer Hub in realtime or in periodic, batch-enabled mode so that the participating applications have the most up-to-date definition of the customer and related entities.

The Customer MDM integration also provides a partial flow to a third-party customer-data enrichment provider that cleanses, recognizes, enriches, and protects Oracle Customer Hub contact records.

The flows delivered with this integration are an effort to harness the powerful features as part of a pre-built, integrated solution between the OCH and the participating applications.

For more information about installing the participating applications (integration options), see the Oracle Application Integration Architecture Installation and Upgrade Guide for Pre-Built Integrations available on Oracle Technology Network. This guide is continually updated.

For more information about the integration options, see the specific chapters for each integration option. Each chapter provides details about the supported process flows, integration services, and interfaces pertaining to that option (application).

1.1.1 Terminology

The Customer MDM integration can be thought of as a collection of core services used to synchronize customer (and prospect) entities across the participating applications.

The term customer as referenced throughout this document describes an entity (organization or person) with which the company providing services may have or may enter into a financial relationship.

Table 1-1 lists some definitions that are helpful when reading this guide:

Table 1-1 Terminology

Term

Definition

Party

Siebel CRM: High-level entity that includes persons, accounts, business units, and households. No functional usage of party in Siebel.

Oracle E-Business Suite: based on Trading Community Architecture (TCA), a party is defined as any individual or organization with which the implementing organization can do business. A party in Oracle TCA could be a customer, (in case a selling relationship has been established) or vendor, employee, or relationship, all defined by a "Party Type." The same party can have multiple such roles within EBS.

Contact

Siebel CRM: A contact describes an individual (person) with whom a company expects to do business. Contacts can be related to an account (organization customer) or another contact (individual customer). Contacts can be associated to a primary account and additional non-primary accounts.

Oracle E-Business Suite: A contact describes a specific relationship between two parties. The relationship between organization and a person party, which is also called an organization contact. Can also define the relationship between a party and an account (role type = contact in hz_cust_acct_roles).

Account

Siebel CRM: An account is an organization (or organization subtype) that can be sold or serviced. An account can be associated to one or many contacts or persons but only one contact can be primary.

Oracle E-Business Suite: An account describes the specific attributes of a party that are relevant to the financial relationship among parties. An account in Oracle E-Business Suite cannot exist by itself without a party. An account in EBS can be associated with an individual (person) or a company (organization) but cannot in it and of itself be an individual or organization.

Customer

Siebel CRM: A customer is the account (org customer).

Oracle E-Business Suite: A customer is a combination of party and account and represents a person or organization with which the implementing organization has established a financial relationship. All relevant information of the specific financial relationship with a party is modeled in the account layer entities in Oracle, whereas all the base information like name, address information, contact points are modeled in the party layer entities.

Siebel account = Oracle E-Business Suite organization party + Oracle E-Business Suite account

Siebel contact = Oracle E-Business Suite person party + Oracle E-Business Suite account

This integration pack supports the notion of a "customer" in both B2B and B2C environment.

Note:

To standardize terminology, we use the organization and person naming conventions throughout the documentation.

This convention is consistent with the entity terms used in the CustomerPartyEBO as well as the terminology in the Oracle E-Business Suite TCA model, but departs from the terminology used in Siebel CRM and Oracle Customer Hub. The Oracle Customer Hub web services that have been developed to support this integration adopt the organization and person terminology for the service and schema definitions, even though the underlying integration objects being referenced continue to use the legacy terms of account and contact respectively.

Table 1-2 lists the conventions:

Table 1-2 Conventions in this document

Documentation

Siebel CRM

Oracle Customer Hub

Oracle E-Business Suite

AIA CustomerPartyEBO

Oracle BRM

SAP

Organization

Account

Account

Organization

Organization

Account

Account

Person

Contact

Contact

Person

Person

Contact

Account

1.2 High-Level Integration Flows

Figure 1-1 illustrates the flows across the participating applications. Customers have the flexibility to select participating applications based on your business needs.

Figure 1-1 Oracle Customer MDM high-level integration flows

At a high-level, the Customer MDM integration supports these process flows using the AIA architectural framework:

- Match and fetch organizations or persons between OCH and the participating applications.

- Synchronization of organizations or persons from OCH to the participating applications and from the participating applications to OCH.

- Merge flows from OCH to the participating applications.

- Customer-data enrichment flow, which is a partial flow from OCH to any third-party data enrichment application.

1.2.1 Match and Fetch Organizations or Persons

The match functionality enables users to enter a complete or partial customer record in a source application and send the record to the Oracle Customer Hub so that matching logic can be executed against the records in OCH. Oracle Customer Hub returns a list of potential match candidates that are presented to the source application prior to a customer record being committed to the source application database. The match customer service invokes the fuzzy-matching capabilities of Oracle Customer Hub so that an all-inclusive list of candidates is returned. The fuzzy-matching service either supplements or replaces a normal search query executed against the local database to locate a particular customer account or contact.

The fetch process enables users to select a specific record from the list of candidates returned by Oracle Customer Hub in the match process and send a fetch back to Oracle Customer Hub to retrieve and return the full customer profile of the selected record. Oracle Customer Hub returns the latest information for that customer record which either creates a new record in the source application or updates an existing record in the source application.

The process flows for match and fetch are described here:

- For match and fetch between OCH and Siebel CRM, see Chapter 3, "Oracle Customer Master Data Management Integration Option for Siebel CRM".

- For match and fetch between OCH and Oracle E-Business Suite, see Chapter 4, "Oracle Customer Master Data Management Integration Option for Oracle E-Business Suite".

1.2.2 Synchronizing Organizations or Persons

These flows enable you to synchronize new or updated records from a particular source to one or many target systems. The source can be the Oracle Customer Hub application that invokes the synchronization process to create or update records in the participating applications, or the source can be one of the participating applications that invoke the synchronization process to create or update records in Oracle Customer Hub. The synchronization represents a single service to perform a create or an update call depending on the existence of the customer in the source and target applications.

These integration flows can be triggered manually or as part of an automated process, and are leveraged as part of the match/fetch process.

The synchronization flows for organization and persons are described here:

- For synchronization flows from OCH to the participating applications, see Chapter 2, "Oracle Customer Master Data Management Integration Base Pack".

- For Siebel CRM for synchronization flows from Siebel CRM to OCH, see Chapter 3, "Oracle Customer Master Data Management Integration Option for Siebel CRM".

- For Oracle E-Business Suite for synchronization flows from Oracle E-Business Suite to OCH, see Chapter 4, "Oracle Customer Master Data Management Integration Option for Oracle E-Business Suite".

- For synchronization flows from Oracle BRM to OCH, see Chapter 5, "Oracle Customer Master Data Management Integration Option for Oracle Communications BRM".

1.2.3 Merge Flow

A core feature in Oracle Customer Hub is the ability for a data steward to merge customer records. When the data steward merges duplicate account or contact records based on data quality and data cleansing functionality applied to the records, OCH publishes a merge message, which contains the survivor record (to be updated) and the victim record (to be deleted). This merge by data steward invokes functionality in OCH to perform merge of customer victim record(s) into customer surviving record and update the OCH cross-referencing information and source history tables. The merge messages must include the victim record and the surviving record profile.

Merging account or contact records in OCH can be triggered manually or automatically.

The merge customer request published by OCH is conditionally or optionally adopted by the subscribing applications. While most applications typically subscribe to a merge message from OCH, not all subscribing applications may have the ability to implement the merge of survivor and victims records. Without this ability to implement an application merge, there is a significant risk that records remain out of sync. This risk may amount to updates to victim records in applications that do not subscribe to the merge message and may cause updates to victim records in OCH.

By default, the Customer MDM integration merges the customer data in Siebel when a merge is published by the Oracle Customer Hub; however, you can turn off this default behavior should you have a business need when interoperating with applications that do not support a merge process.

To turn off merge publishing by Oracle Customer Hub, set the process property EnablePubSub to False for the UCM Process Merge Request workflow.

For more information about the workflow, see the Siebel Book Shelf: Siebel Business Process Framework: Workflow Guide.

The merge flows from OCH to the participating applications are described in Chapter 2, "Oracle Customer Master Data Management Integration Base Pack".

1.2.4 Data Enrichment Flow

Data enrichment represents a spoke service to the CustomerPartyEBO that requests clean or enriched information from third-party data provider services. This third-party provider cleanses, recognizes, enriches, and protects Oracle Customer Hub contact records.

Data enrichment is described in Chapter 8, "Customer Data Enrichment".

1.3 Core AIA Components

These are the core AIA components as part of the Customer MDM integration:

- CustomerPartyEBO

- QueryCustomerPartyEBM

- QueryCustomerPartyResponseEBM

- QueryCustomerPartyListEBM

- QueryCustomerPartyListResponseEBM

- SyncCustomerPartyListEBM

- SyncCustomerPartyListResponseEBM

- ProcessCustomerPartyListEBM

The core EBO and EBM XSD files can be located by EBO within the $AIA_HOME/AIAMetaData/AIAComponents/EnterpriseObjectLibrary/Core/EBO/parent folder.

The core EBS WSDL files can be located by EBO within the $AIA_HOME/AIAMetaData/AIAComponents/EnterpriseBusinessServiceLibrary/Core/EBO/ parent folder.

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).

For more information about using the OER and configuring it to provide the AIA Reference Doc link, see Oracle Fusion Middleware Developer's Guide for Oracle Application Integration Architecture Foundation Pack, "Configuring and Using Oracle Enterprise Repository as the Oracle AIA SOA Repository."

EBOs can be extended, for instance, to add new data elements. These extensions are protected and will remain intact after a patch or an upgrade.

For more information, see Oracle Fusion Middleware Concepts and Technologies Guide for Oracle Application Integration Architecture Foundation Pack, "Understanding Extensibility."

1.4 AIA Integration Services

These are the AIA integration services:

- CustomerPartyEBSV2

- CustomerPartyResponseEBSV2

- CustomerPartyOrchestrationEBSV2

- CustomerPartyOrchestrationReponseEBSV2

- ProcessCustomerPartyEBS

- CommunicationsCustomerPartyEBSV2

- CommunicationsCustomerPartyResponseEBSV2

- FetchCustomerPartyEBF

- CommsProcessFulfillmentOrderBillingAccountListEBF

- CommsProcessBillingAccountListEBF

- InterfaceContactToAccountEBF

1.4.1 CustomerPartyEBSV2

The match and fetch flows use some of the same services as the synchronization flows.

The CustomerPartyEBSV2 is implemented as a lightweight Mediator service that exposes all of the enterprise operations that can be performed with a CustomerParty enterprise object. All of the Customer MDM integration flows make use of the operations provided by this enterprise business service.

This service is deployed as part of the MDM installation. A few routing rules are added to route the messages as part of the Oracle BRM option for OCH. These routing rules route the messages from Siebel and OCH to Oracle BRM, as appropriate.

Customer MDM synchronization flows use the SyncCustomerPartyList operation of CustomerPartyEBSV2.

For more information about this EBS, see Oracle Fusion Middleware Developer's Guide for Oracle Application Integration Architecture Foundation Pack, "Designing and Developing Enterprise Business Services" and Oracle Fusion Middleware Concepts and Technologies Guide for Oracle Application Integration Architecture Foundation Pack, "Understanding Enterprise Business Services."

1.4.2 CustomerPartyResponseEBSV2

The match and fetch flows use some of the same services as the synchronization flows.

The CustomerPartyResponseEBSV2 is implemented as a lightweight Mediator service that exposes all of the enterprise response operations that can be performed with a CustomerParty enterprise object. All of the Customer MDM integration flows make use of the response operations provided by this enterprise business service.

Customer MDM synchronization flows use the SyncCustomerPartyListResponse operation of CustomerPartyResponseEBSV2.

For more information about this EBS, see Oracle Fusion Middleware Developer's Guide for Oracle Application Integration Architecture Foundation Pack, "Designing and Developing Enterprise Business Services" and Oracle Fusion Middleware Concepts and Technologies Guide for Oracle Application Integration Architecture Foundation Pack, "Understanding Enterprise Business Services."

1.4.3 CustomerPartyOrchestrationEBSV2

The CustomerPartyOrchestrationEBSV2 is the front-end interface to the FetchCustomerPartyEBF. AIA guidelines suggest that EBFs be called only by other EBFs or an EBS. These operations are used by this service:

- AsyncFetchCustomerParty

- FetchCustomerParty

For more information about this EBS, see Oracle Fusion Middleware Developer's Guide for Oracle Application Integration Architecture Foundation Pack, "Designing and Developing Enterprise Business Services" and Oracle Fusion Middleware Concepts and Technologies Guide for Oracle Application Integration Architecture Foundation Pack, "Understanding Enterprise Business Services."

1.4.4 CustomerPartyOrchestrationResponseEBSV2

The CustomerPartyOrchestrationResponseEBSV2 exposes the callback operation, which is invoked by the FetchCustomerPartyEBF after the synchronization has completed. This service routes back to the original caller instance. This service uses AsyncFetchCustomerPartyResponse operation.

For more information about this EBS, see Oracle Fusion Middleware Developer's Guide for Oracle Application Integration Architecture Foundation Pack, "Designing and Developing Enterprise Business Services" and Oracle Fusion Middleware Concepts and Technologies Guide for Oracle Application Integration Architecture Foundation Pack, "Understanding Enterprise Business Services."

1.4.5 ProcessCustomerPartyEBS

This Mediator service routes the ProcessCustomerPartyListEBM to the third-party provider and passes the response EBM back to the Oracle Customer Hub requester.

For more information about this EBS, see Oracle Fusion Middleware Developer's Guide for Oracle Application Integration Architecture Foundation Pack, "Designing and Developing Enterprise Business Services" and Oracle Fusion Middleware Concepts and Technologies Guide for Oracle Application Integration Architecture Foundation Pack, "Understanding Enterprise Business Services."

1.4.6 CommunicationsCustomerPartyEBSV2

The CommunicationsCustomerPartyEBSV2 enterprise business service exposes all of the enterprise operations that can be performed with a CustomerParty enterprise object for Communication industry. The integration uses these operations provided by the CommunicationsCustomerPartyEBSV2:

- QueryCustomerPartyList

- SyncCustomerPartyList

Figure 1-2 illustrates the relationship of CommunicationsCustomerPartyEBSV2 with the other services in the integration flow:

Figure 1-2 CommunicationsCustomerPartyEBSV2

For more information about Communications-specific services or flows, see the Oracle Communications Order to Cash Integration Pack for Siebel CRM, Oracle Communications Order and Service Management, and Oracle Communications Billing and Revenue Management Implementation Guide, or the Siebel CRM Integration Pack for Oracle Communications Billing and Revenue Management: Agent Assisted Billing Care Implementation Guide.

1.4.7 CommunicationsCustomerPartyResponseEBSV2

CommunicationsCustomerPartyResponseEBSV2 exposes all of the enterprise response operations that can be performed with a CustomerParty enterprise object. All of the customer management integration flows use the operations provided by this enterprise business service.

Figure 1-3 illustrates the relationship of CommunicationsCustomerPartyResponseEBSV2 with the other services in the integration flow:

Figure 1-3 CommunicationsCustomerPartyResponseEBSV2

For more information about Communications-specific services or flows, see the Oracle Communications Order to Cash Integration Pack for Siebel CRM, Oracle Communications Order and Service Management, and Oracle Communications Billing and Revenue Management Implementation Guide, or the Siebel CRM Integration Pack for Oracle Communications Billing and Revenue Management: Agent Assisted Billing Care Implementation Guide.

1.4.8 FetchCustomerPartyEBF

The FetchCustomerPartyEBF orchestrates the query request to the customer master provider (Oracle Customer Hub) and the subsequent synchronization of that customer to the requesting system (Oracle E-Business Suite and Siebel CRM). This EBF supports both asynchronous and synchronous interaction patterns. The asynchronous pattern is used by Siebel requests with a callback using the CustomerPartyResponse EBS. The synchronous pattern is used by Oracle E-Business Suite for its request and response interaction.

For more information about EBFs, see Oracle Fusion Middleware Developer's Guide for Oracle Application Integration Architecture Foundation Pack, "Designing and Constructing Enterprise Business Flows" and Oracle Fusion Middleware Concepts and Technologies Guide for Oracle Application Integration Architecture Foundation Pack, "Understanding Enterprise Business Services," Enterprise Business Flow Processes.

1.4.9 CommsProcessFulfillmentOrderBillingAccountListEBF

This Enterprise Business Flow (EBF) extracts the CustomerData from OrderEBM. The process loops through every order line and extracts any customer account or billing profile that it encounters.

This service has two operations: The first operation accepts the ProcessFulfillmentOrderBillingAccountListEBM and is used by the process to order data, and the other operation is used by the process to send the response back to the calling process (using the ProcessFulfillmentOrderBillingAccountListEBM).

The transformations include:

- ProcessFulfillmentOrderBillingAccountList to ResponseEBM.xsl

- ProcessFulfillmentOrderBillingAccountListEBM to ProcessBillingAccountListEBM.xsl

Figure 1-4 illustrates the relationship of CommsProcessFulfillmentOrderBillingAccountListEBF with the other services in the integration flow:

Figure 1-4 CommsProcessFulfillmentOrderBillingAccountListEBF

The CommsProcessFulfillmentOrderBillingAccountListEBF enterprise business flow is implemented as an asynchronous delayed response BPEL process.

For more information about Communications-specific services or flows, see the Oracle Communications Order to Cash Integration Pack for Siebel CRM, Oracle Communications Order and Service Management, and Oracle Communications Billing and Revenue Management Implementation Guide, or the Siebel CRM Integration Pack for Oracle Communications Billing and Revenue Management: Agent Assisted Billing Care Implementation Guide.

1.4.10 CommsProcessBillingAccountListEBF

This EBF service creates or synchronizes all the customer accounts and billing profiles 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 the target billing system, and the order processing can continue.

This service provides two operations. The first operation accepts the ProcessBillingAccountListEBM, and is used by the process to receive the customer data to be synchronized. The other operation is used by the process to send the response back to the calling process (using the SyncCustomerPartyListResponseEBM).

The data area of the message contains one or more customer account IDs. For each account, one or more bill profile IDs must be synchronized to the target billing system. The customer data indicates both the hierarchical and the paying relationships between the accounts.

This service creates or synchronizes one or more customers (identified by ID only) and their billing profiles to a particular target billing system (identified in the EBM header). Therefore, the responsibilities of this service include:

- To determine whether the customer already exists and is up to date in the target billing system. If so, it optimizes and does not try to create or synchronize.

- If needed, retrieve the customer data from the appropriate Siebel CRM system using the provided IDs.

- To optimize, if possible, the number and size of queries back into Siebel CRM for the customer data.

- To create or to update the customers and billing profiles in the target billing system, reflecting the customer hierarchy, and paying relationships among the customers.

Figure 1-5 illustrates the relationship of the CommsProcessBillingAccountListEBF with the other services in the integration flow:

Figure 1-5 CommsProcessBillingAccountListEBF

For more information about Communications-specific services or flows, see the Oracle Communications Order to Cash Integration Pack for Siebel CRM, Oracle Communications Order and Service Management, and Oracle Communications Billing and Revenue Management Implementation Guide, or the Siebel CRM Integration Pack for Oracle Communications Billing and Revenue Management: Agent Assisted Billing Care Implementation Guide.

1.4.11 InterfaceContactToAccountEBF

InterfaceContactToAccountEBF is an asynchronous BPEL process, which routes the account message from the CustomerPartyEBSV2 to CommunicationsCustomerPartyEBSV2 when a contact is updated in OCH. This service sends the account details from the payload (one message at a time) to EBS services, which in turn synchronizes it to Oracle BRM. Upon receiving the account list, InterfaceContactToAccountEBF service performs these validations on the accounts:

- It checks whether the account is for an update in BRM.

- It ensures that the associated contact for the account is the primary contact for the account.

If both these validations pass, CommunicationsCustomerPartyEBSV2 routes the message for further processing.

For more information about Communications-specific services or flows, see the Oracle Communications Order to Cash Integration Pack for Siebel CRM, Oracle Communications Order and Service Management, and Oracle Communications Billing and Revenue Management Implementation Guide, or the Siebel CRM Integration Pack for Oracle Communications Billing and Revenue Management: Agent Assisted Billing Care Implementation Guide.

For more information about EBFs, see Oracle Fusion Middleware Developer's Guide for Oracle Application Integration Architecture Foundation Pack, "Designing and Constructing Enterprise Business Flows" and Oracle Fusion Middleware Concepts and Technologies Guide for Oracle Application Integration Architecture Foundation Pack, "Understanding Enterprise Business Services," Enterprise Business Flow Processes.

2 Oracle Customer Master Data Management Integration Base Pack

This chapter provides an overview of the Oracle Customer Hub (OCH) and discusses OCH process flows, integration services, interfaces, and assumptions and constraints.

This chapter includes the following sections:

- Section 2.2, "OCH Process Flows"

- Section 2.3, "OCH Integration Services"

- Section 2.4, "OCH Interfaces"

- Section 2.5, "Assumptions and Constraints"

2.1 Overview

Oracle Customer Hub (also called Siebel UCM) enables organizations to centralize information from heterogeneous systems, creating a single view of customer information that can be leveraged across all functional departments and analytical systems.

Oracle Customer Hub provides a single, consolidated system of record for the definition of customer-related entities such as contacts, addresses, and accounts as well as the relationships within these entities. Oracle Customer Hub can also serve as the system of entry for a Data Steward to update customer records directly in Oracle Customer Hub and publish this customer definition to all subscribing applications.

For more information about Oracle Customer Hub, see the Siebel UCM product documentation.

2.2 OCH Process Flows

These are the process flows from Oracle Customer Hub (OCH):

- Match and Fetch Organizations and Persons between OCH and participating applications, as applicable.

- Synchronization of Organizations and Persons from OCH to the participating applications, as applicable.

- Merge flow from Oracle Customer Hub to the participating applications, as applicable.

- Publishing organization updates from Oracle Customer Hub to Oracle Billing and Revenue Management.

2.2.1 Match and Fetch Organizations and Persons between OCH and Participating Applications

The match and fetch flow between Oracle Customer Hub and a participating application have been covered in the chapter specific to the participation application involved in the flow.

- See Section 3.2, "Match and Fetch between Siebel CRM and Oracle Customer Hub"for match and fetch between Oracle Customer Hub and Siebel CRM.

- See Section 4.2, "Match and Fetch between Oracle E-Business Suite and Oracle Customer Hub" for match and fetch between Oracle Customer Hub and Oracle E-Business Suite.

2.2.2 Synchronization of Organizations and Persons from OCH to Oracle E-Business Suite

This integration flow synchronizes organization and person parties and customer accounts from Oracle Customer Hub to Oracle E-Business Suite. The single synchronize service that is invoked publishes a message using AIA to the subscribing Oracle E-Business Suite application(s).

This integration flow can be triggered manually or as part of an automated process, and is leveraged as part of the match/fetch process.

Figure 2-1 illustrates the synchronization of organizations and persons from Oracle Customer Hub to Oracle E-Business Suite:

Figure 2-1 Synchronizing organizations and persons from OCH to Oracle E-Business Suite

2.2.3 Synchronizing Organizations from OCH to Oracle E-Business Suite

This integration flow synchronizes new accounts or updates from Oracle Customer Hub to Oracle E-Business Suite. This integration flow uses these interfaces:

- SyncOrganizationUCMJMSProducer

- SyncOrganizationUCMJMSConsumer

- SyncOrganizationUCMReqABCSImpl

- CustomerPartyEBSV2

- SyncCustomerPartyListEbizProvABCSImpl

- CustomerPartyResponseEBSV2

- SyncCustomerPartyListResponseUCMProvABCSImpl

Figure 2-2 illustrates the integration flow:

Figure 2-2 Synchronizing organizations from Oracle Customer Hub to Oracle E-Business Suite

When you initiate this process, these events occur:

1. Oracle Customer Hub publishes messages that initiate the SyncOrganizationUCMJMSProducer, with the UCMAccountABM message.

2. The SyncAccountUCMJMSProducer queues the Oracle Customer Hub Account ABM message onto a JMS queue.

3. The message in the queue is picked up by the SyncAccountUCMJMSConsumer service, which then routes the message to the SyncAccountUCMReqABCSImpl.

4. The Oracle Customer Hub Requester ABC implementation, SyncAccountUCMReqABCSImpl, transforms the Oracle Customer Hub ABM to the SyncCustomerPartyListEBM and invokes the SyncCustomerPartyList operation of the CustomerPartyEBSV2.
When there are multiple accounts in the message, the message has to be transformed into several EBM messages with accounts with the same target or one EBM per account with all its targets. In either case, there are multiple calls to the EBS from the SyncAccountUCMReqABCSImpl.

5. Invoking the CustomerPartyEBSV2 with the SyncCustomerPartyList operation routes the SyncCustomerPartyListEBM to the Oracle E-Business Suite provider ABC implementation service, SyncCustomerPartyListEbizProvABCSImpl.

6. The Oracle E-Business Suite provider ABC implementation service, SyncCustomerPartyListEbizProvABCSImpl, transforms the SyncCustomerPartyListEBM into the appropriate Oracle E-Business Suite organization account ABM and invokes the Oracle E-Business Suite API.

7. The response from the Oracle E-Business Suite API is then transformed into the SyncCustomerPartyListResponseEBM in the process of which, the cross references tables are populated with the Oracle E-Business Suite identifier values if not already present.
The response is also sent to the CustomerPartyResponseEBSV2, which routes the message to the SyncCustomerPartyListResponseUCMProvABCSImpl to set the Oracle E-Business Suite ID within Oracle Customer Hub.

8. The SyncCustomerPartyListResponseUCMProvABCSImpl transforms the SyncCustomerPartyListResponseEBM into the Oracle Customer Hub organization ABM and synchronizes the external ID into Oracle Customer Hub.

2.2.4 Synchronizing Persons from OCH to Oracle E-Business Suite

This integration flow is used to synchronize new persons or updates from Oracle Customer Hub to Oracle E-Business Suite. This integration flow uses these interfaces:

- SyncPersonUCMJMSProducer

- SyncPersonUCMJMSConsumer

- SyncPersonUCMReqABCSImpl

- CustomerPartyEBSV2

- SyncCustomerPartyListEbizProvABCSImpl

- CustomerPartyResponseEBSV2

- SyncCustomerPartyListRsponseUCMProvABCSImpl

Figure 2-3illustrates the integration flow:

Figure 2-3 Synchronizing persons from Oracle Customer Hub to Oracle E-Business Suite

When you initiate this process, these events occur:

1. Oracle Customer Hub publishes messages that initiate the SyncPersonUCMJMSProducer, with the UCMPersonABM message.

2. The SyncPersonUCMJMSProducer queues the Oracle Customer Hub person ABM message onto a JMS queue.

3. The message in the queue is picked up by the SyncPersonUCMJMSConsumer service, which then routes the message to the SyncPersonUCMReqABCSImpl.

4. The Oracle Customer Hub requester ABC implementation, SyncPersonUCMReqABCSImpl, transforms the Oracle Customer Hub ABM into the SyncCustomerPartyListEBM and invokes the SyncCustomerPartyList operation of the CustomerPartyEBSV2.
When there are multiple persons in the message, the message has to be transformed into several EBM messages with persons with the same target or one EBM per person with all its targets. In either case, there are multiple calls to the EBS from the SyncPersonUCMReqABCSImpl.

5. Invoking the CustomerPartyEBSV2 with the SyncCustomerPartyList operation routes the SyncCustomerPartyListEBM to the Oracle E-Business Suite provider ABC implementation service, SyncCustomerPartyListEbizProvABCSImpl.

6. The Oracle E-Business Suite provider ABC implementation service, SyncCustomerPartyListEbizProvABCSImpl, transforms the SyncCustomerPartyListEBM to the appropriate Oracle E-Business Suite person account ABM and invokes the Oracle E-Business Suite API.

7. The response from the Oracle E-Business Suite API is then transformed into the SyncCustomerPartyListResponseEBM in the process of which the cross references tables are populated with the Oracle E-Business Suite identifier values if they are not already present.
The response is also sent to the CustomerPartyResponseEBSV2, which routes the message to the SyncCustomerPartyListResponseUCMProvABCSImpl to set the Oracle E-Business Suite ID within Oracle Customer Hub.

8. The SyncCustomerPartyListResponseUCMProvABCSImpl transforms the SyncCustomerPartyListResponseEBM into the Oracle Customer Hub person ABM synchronizes the external ID into Oracle Customer Hub.

2.2.5 Synchronization of Organizations and Persons from OCH to Siebel CRM

This integration flow enables the synchronization of accounts and contacts from Oracle Customer Hub to Siebel CRM. This integration flow can be triggered manually or as part of an automated process.

Siebel CRM is expected to subscribe to all synchronization messages that Oracle Customer Hub produces.

Figure 2-4 illustrates the synchronization of organizations and persons from Oracle Customer Hub to Siebel CRM:

Figure 2-4 Synchronizing organizations and persons from Oracle Customer Hub to Siebel CRM

2.2.6 Synchronizing Organizations from OCH to Siebel CRM

This integration flow is used to synchronize new account or updates from Oracle Customer Hub to Siebel. This integration flow uses these interfaces:

- SyncOrganizationUCMJMSProducer

- SyncOrganizationUCMJMSConsumer

- SyncOrganizationUCMReqABCSImpl

- CustomerPartyEBSV2

- AIASessionPoolManager

- SyncCustomerPartyListSiebelProvABCSImpl

- CustomerPartyResponseEBSV2

- SyncCustomerPartyListResponseUCMProvABCSImpl

Figure 2-5 illustrates the integration flow:

Figure 2-5 Synchronizing organizations from Oracle Customer Hub to Siebel CRM

When you initiate this process, these events occur:

1. Oracle Customer Hub publishes messages that initiate the SyncOrganizationUCMJMSProducer, with the UCMAccountABM message.

2. The SyncAccountUCMJMSProducer queues the Oracle Customer Hub account ABM message onto a JMS queue.

3. The message in the queue is picked up by the SyncAccountUCMJMSConsumer service, which then routes the message to the SyncAccountUCMReqABCSImpl.

4. The Oracle Customer Hub requester ABC implementation, SyncAccountUCMReqABCSImpl, transforms the Oracle Customer Hub ABM into the SyncCustomerPartyListEBM and invokes the SyncCustomerPartyList operation of the CustomerPartyEBSV2.

5. Invoking the CustomerPartyEBSV2 with the SyncCustomerPartyList operation routes the SyncCustomerPartyListEBM to the Siebel provider ABC implementation service, SyncCustomerPartyListSiebelProvABCSImpl.
When there are multiple accounts in the message, the message has to be transformed into several EBM messages for accounts with the same target or one EBM per account with all its targets. In either case, there are multiple calls to the EBS from the SyncAccountUCMReqABCSImpl.

6. The Siebel provider ABC implementation service, SyncCustomerPartyListSiebelProvABCSImpl, transforms the SyncCustomerPartyListEBM into the appropriate Siebel account ABM and invokes the Siebel web service.

7. The response from the Siebel web service is then transformed into the SyncCustomerPartyListResponseEBM in the process of which, the cross references tables are populated with the Siebel identifier values if not already present.
The response is also sent to the CustomerPartyResponseEBSV2, which routes the message to the SyncCustomerPartyListResponseUCMProvABCSImpl to set the Siebel ID within Oracle Customer Hub.

8. The SyncCustomerPartyListResponseUCMProvABCSImpl transforms the SyncCustomerPartyListResponseEBM into the Oracle Customer Hub organization ABM synchronizes the Siebel ID into Oracle Customer Hub.

2.2.7 Synchronizing Persons from OCH to Siebel CRM

This integration flow is used to synchronize new persons or updates from Oracle Customer Hub to Siebel CRM. This integration flow uses these interfaces:

- SyncPersonUCMJMSProducer

- SyncPersonUCMJMSConsumer

- SyncPersonUCMReqABCSImpl

- CustomerPartyEBSV2

- AIASessionPoolManager

- SyncCustomerPartyListSiebelProvABCSImpl

- CustomerPartyResponseEBSV2

- SyncCustomerPartyListRsponseUCMProvABCSImpl

Figure 2-6 illustrates the integration flow:

Figure 2-6 Synchronizing persons from Oracle Customer Hub to Siebel CRM

When you initiate this process, these events occur:

1. Oracle Customer Hub publishes messages that initiate the SyncPersonUCMJMSProducer, with the UCMPersonABM message.

2. The SyncPersonUCMJMSProducer queues the Oracle Customer Hub person ABM message onto a JMS queue.

3. The message in the queue is picked up by the SyncPersonUCMJMSConsumer service, which then routes the message to the SyncPersonUCMReqABCSImpl.

4. The Oracle Customer Hub requester ABC implementation, SyncPersonUCMReqABCSImpl, transforms the Oracle Customer Hub ABM into the SyncCustomerPartyListEBM and invokes the SyncCustomerPartyList operation of the CustomerPartyEBSV2.
When there are multiple persons in the message, the message has to be transformed into several EBM messages with persons with the same target or one EBM per person with all its targets. In either case, there are multiple calls to the EBS from the SyncPersonUCMReqABCSImpl.

5. Invoking the CustomerPartyEBSV2 with the SyncCustomerPartyList operation routes the SyncCustomerPartyListEBM to the Siebel provider ABC implementation service, SyncCustomerPartyListSiebelProvABCSImpl.

6. The Siebel provider ABC implementation service, SyncCustomerPartyListSiebelProvABCSImpl, transforms the SyncCustomerPartyListEBM into the appropriate Siebel contact ABM and invokes the Siebel web service.

7. The response from the Siebel web service is then transformed into the SyncCustomerPartyListResponseEBM in the process of which, the cross references tables are populated with the Siebel identifier values if not already present.
The response is also sent to the CustomerPartyResponseEBSV2, which routes the message to the SyncCustomerPartyListResponseUCMProvABCSImpl to set the Siebel ID within Oracle Customer Hub.

8. The SyncCustomerPartyListResponseUCMProvABCSImpl transforms the SyncCustomerPartyListResponseEBM into the Oracle Customer Hub person ABM and synchronizes the Siebel ID into Oracle Customer Hub.

2.2.8 Synchronization of Organizations and Persons from OCH to Oracle BRM

The synchronization of organizations (accounts) and persons (contacts) from OCH to Oracle BRM enforces that the customer data in Oracle BRM is consistent with the version of the data from the OCH. Billing systems contain considerable amount of customer data, which is used to bill customers and prepare billing invoices for customers. The inconsistency in data can translate to loss of revenues and result in higher maintenance costs and poor customer satisfaction.

Oracle Customer Hub publishes account updates to Billing and Revenue Management (Oracle BRM) under these circumstances:

- New customer data is created in Siebel CRM as part of order submission flow. OCH receives the data from Siebel CRM, cleanses it, and publishes it to the subscribing applications.
In this case, Oracle BRM receives the data from Siebel CRM through order and an update from OCH.

Customer data is updated in OCH because of an update in Siebel CRM. OCH receives the data from Siebel CRM, cleanses it, and publishes it to Oracle BRM.

Customer data is updated in OCH because of an update in an application other than Siebel CRM.

OCH receives the data, cleanses it, and publishes it to the subscribing applications including Oracle BRM.

- Customer data is updated in OCH due to a merge either because of link and update or because of data steward's action.
See Section 2.2.12, "Merge Flow from OCH to Oracle BRM".

The synchronization flow between Oracle Customer Hub and Oracle BRM is unidirectional where the customer data updates are published from Oracle Customer Hub to Oracle BRM.

Note:

For OCH to Oracle BRM synchronization flow, publishing is always done in batch.

Figure 2-7 the process flow for customer data updates published from Oracle Customer Hub to Oracle BRM.

Figure 2-7 Synchronize customer from OCH to Oracle BRM

The flow from OCH to Oracle BRM enforces that the creation of new customer data can take place only as part of an order submission flow, because it is not recommended to have prospects created in a billing system.

For more information about the order submission flow, see the Oracle Communications Order to Cash Integration Pack for Siebel CRM, Oracle OSM, and Oracle BRM Implementation Guide.

The synchronization process in OCH updates organization (party or customer) account information and their related entities, such as addresses and related contacts/accounts in Oracle BRM. It also updates person (party or customer) account information and their related entities, such as addresses, and related accounts in Oracle BRM. Oracle BRM can optionally subscribe to this synchronization operation depending on the configuration.

The synchronize customer request by OCH:

- Ensures that Oracle BRM has most current customer records consistent with the golden version of the customer data owned by Oracle Customer Hub (OCH)

- Enables invocation of single operation to update organization and person parties and customer accounts with the changes applied by Oracle Customer Hub (OCH) in one or more Oracle BRM applications.

The preset routing ensures that create messages are not propagated to Oracle BRM to avoid creating prospects in Oracle BRM as creation of customer data in Oracle BRM should take place only as part of the order submission flow.

OCH invokes a single synchronization service that publishes a message using AIA to the subscribing applications.

There may occur a race condition between an account create or update coming from Siebel CRM to Oracle BRM and the updates coming from OCH to Oracle BRM.

- If customer data is created in Siebel CRM and published to Oracle BRM, the updates to OCH are applied after the customer data has been created.

- If customer data is updated in Siebel CRM and published to OCH and Oracle BRM, OCH also publishes to Oracle BRM after performing cleansing and de-duping. In this case, changes to Oracle BRM are applied by OCH only after the Siebel CRM updates have been applied to OCH.
This race condition is a rare event as it takes place only when the update from OCH reaches Oracle BRM before it reaches Siebel CRM, and before the AIACOM query from Siebel CRM. The dependency between the two updates (the update from OCH should be applied only after the create/update action from Siebel CRM has been performed) is not enforced.

However, if a race condition does take place, the cleansed data from OCH may be overwritten by the original data in Siebel CRM; therefore, to fix this rare situation, a periodic synchronization is performed by the OCH administrator where the data that was not properly synchronized due to race condition is re-synchronized. See Section 2.2.8.3, "Periodic Cron-Job for Re-Syncing Customer Data from OCH to Oracle BRM".

Oracle Customer Hub updates can be published to Oracle BRM during customer data creation or customer data updates.

2.2.8.1 OCH Publishes Updates to BRM for New Customer Data

The flow associated with the organization and person updates from OCH to Oracle BRM is composed of two parts for synchronization request:

Note:

The synchronization message from OCH is always at the account level.

- OCH publishes customer data updates to AIA: This spoke is common to the standard customer data synchronization and reused from the horizontal integration.
The AIA CustomerPartyEBS routes the updates to the subscribing Oracle BRM instances. This AIA EBS needs to be configured to route a request for customer data update to Oracle BRM when customer-data synchronization message is received.

- AIA applies Customer Data updates to Oracle BRM: This spoke is a modification of the existing Oracle BRM customer data update.

In Oracle BRM SyncCustomerPartyListBRMCommsProvABCS, the AIA checks that a cross-reference for the entity exists. If the cross-reference exists, the changes are applied. Else, they are discarded as the customer data was not created in the Oracle BRM instance.

Figure 2-8 illustrates the functional steps when customer data is created in Siebel CRM (as part of agent-assisted billing care flow) and OCH:

Figure 2-8 Creating customer data (Oracle BRM and OCH)

Figure 2-9 illustrates the customer-account flow process from Siebel CRM to Oracle BRM.

Figure 2-9 Create, synchronize customer account

This is the process flow:

1. In Siebel CRM, a user creates an account with Address(es), Contact(s) & Billing Profile(s) in the Accounts screen. Then the user navigates to the Sales Order screen and creates a new order for this account and submits it using the 'Submit' button. This triggers the Order flow, which in turn, calls the Orchestration engine.
The Orchestration engine initiates the Sync Customer flow by dropping the message into a JMS Queue named ' AIA_CRTCUST_OUT_JMSQ', which is picked up by the ProcessFufillmentOrderBillingAccountListOSMCFSCommsJMSConsumer and routed to the CommunicationsBillingEBSV1. This EBS routes the message to the CommsProcessFulfillmentOrderBillingAccountListEBF.

2. The CommsProcessFulfillmentOrderBillingAccountListEBF extracts the relevant customer data (ProcessBillingAccountListEBM) and routes it to the CommsProcessBillingAccountListEBF through the EBS CommunicationsBillingEBSV1.

3. The CommsProcessBillingAccountListEBF prepares the message (QueryCustomerPartyListEBM) required for querying the entire account data from the Siebel system before creating the account in BRM.

4. Invoking the CommunicationsCustomerPartyEBSV2 EBS with the operation 'QueryCustomerPartyList' will route the message to the CustomerPartyEBSV2 EBS using the Comms2CoreCustomerPartyBridge service. The core EBS CustomerPartyEBSV2 will further route the message to the QueryCustomerPartyListSiebelProvABCSImplV2.

5. The QueryCustomerPartyListSiebelProvABCSImplV2 prepares the ABM required to invoke Siebel's SWI_Customer_Party_Service. The query service invokes the Siebel database and fetches the account details and replies to the QueryCustomerPartyListSiebelProvABCSImplV2 with the response ABM.

6. This response ABM is then transformed into the response EBM (QueryCustomerPartyListResponseEBM) and is sent back to the CommsProcessBillingAccountListEBF using the CustomerPartyEBSV2 - Comms2CoreCustomerPartyBridge - CommunicationsCustomerPartyEBSV2.

7. The CommsProcessBillingAccountListEBF service invokes the CommunicationsCustomerPartyEBSV2 on operation the 'SyncCustomerPartyList' which instantiates the SyncCustomerPartyListBRMCommsProvABCSImpl. This service invokes the BRM system on opcode PCM_OP_CUST_COMMIT_CUSTOMER, if it is a new account to be created. For an existing account, the opcode PCM_OP_CUST_UPDATE_CUSTOMER or PCM_OP_CUSTCARE_MOVE_ACCT is called, as applicable.

8. If an account is successfully created or updated, an appropriate response (SyncCustomerPartyListResponseEBM) is sent back to the CommsProcessBillingAccountListEBF in async delayed response fashion, which then sends a response message (ProcessBillingAccountListResponseEBM) to the CommsProcessFulfillmentOrderBillingAccountListEBF in async delayed response fashion.

9. The CommsProcessFulfillmentOrderBillingAccountListEBF drops a response message into the SAF Queue named 'AIA_UPDCUST_IN_JMSQ', where the orchestration engine is notified of the SyncCustomer status.

2.2.8.2 OCH Publishes Updates to BRM for Updates to Existing Customer Data

OCH publishing updates to Oracle BRM for the changes made to existing data can be differentiated as updates made to an account (organization) and updates made to a contact (person).

For the updates made to an account, the process flow is the same as described in OCH Publishes Updates to BRM for New Customer Data, where OCH publishes an account synchronization message that is routed as an account update to Oracle BRM.

Figure 2-10 illustrates the interactions among the systems when customer data is updated in Siebel CRM (as part of agent-assisted billing care flow) and OCH at account level.

Figure 2-10 Updating customer data (Oracle BRM and OCH)

For the updates affecting only the person data, OCH publishes a contact update message. If the contact update is an update to the primary contact for an existing account in Oracle BRM, the Oracle BRM data is updated as well.

The synchronization message from OCH to BRM is always at the account level as the BRM provider expects an account message. Even when a new contact is created, it is done in the context of an account creation. If the contact is changed in Siebel, Siebel sends the contact message along with a list of impacted accounts, that is, even though a contact is changed it is really an account message that is passed to BRM provider.

In the event the contact data is changed in OCH, OCH publishes a person message (and not account message) which needs to be converted into an account message before sending to Oracle BRM. For this to happen, a transformation takes place in the routing rule that converts the person message into account message and routes it to InterfaceContactToAccountEBF, which checks whether both the account and the contact exist in the cross-reference. If both of them exist in the cross-reference, this EBF sends the account message for processing to Oracle BRM.

Figure 2-11 illustrates the interaction between the systems when customer data is updated at the contact level:

Figure 2-11 Updating customer data (Oracle BRM and OCH)

Figure 2-12 illustrates the customer update process initiated in Siebel CRM when an account is updated, and the change propagated to the Oracle BRM.

Figure 2-12 Update customer account

This is the process flow:

1. In Siebel CRM, the user navigates to the Accounts screen, queries an account and updates an account attribute like Address, Contact, or Billing Profile. This causes the Siebel workflow to invoke the SyncCustomerSiebelEventAggregator, with the SiebelUpdateABM message containing the details of the account that has been updated. Corresponding to the kind of update, there can be four kinds of Siebel messages, for example: ListOfSWICustomerIO, ListOfSWIBillingProfileIO, ListOfSWIContactIO and ListOfSWIAddressIO.

2. The SyncCustomerSiebelEventAggregator then calls one of the four database adapters (Account, Address, Contact, BP) that executes a pl/sql script which extracts and stores the relevant ids (like account, contact, billprofile) in the database table AIA_AGGREGATED_ENTITIES and sends an acknowledgement to Siebel as a reply

3. The IDs in the database table are stored in such a way that the hierarchy of the IDs is maintained. For example, the BillingProfileID will always be the child of some account ID. The account ID, along with its entire child IDs is picked up from the database table by the SyncAcctSiebelEventAggrConsumer process.
The Consumer process then calls the SyncAccountSiebelReqABCSImpl process. This process takes all the IDs, constructs a Siebel Query Input ABM, and calls the Siebel Query web service to get the entire account data from Siebel. After getting the data, it is transformed into the SyncCustomerPartyListEBM, and the CustomerPartyEBSV2 is invoked on the operation SyncCustomerPartyList.

4. The CustomerPartyEBSV2 routes the message (SyncCustomerPartyListEBM) to the CommunicationsCustomerPartyEBSV2 using the Core2CommsCustomerPartyBridge service.

5. The CommunicationsCustomerPartyEBSV2 sends the message (SyncCustomerPartyListEBM) to the SyncCustomerPartyListBRMCommsJMSProducer which publishes the message to a JMS Topic named CPARTY_SYNC_TOPIC.

6. Depending on the instances of BRM or any other Billing System, consumers can be defined that subscribe to the above topic. One such consumer for the default implementation is available, named SyncCustomerPartyListBRM_01CommsJMSConsumer, which listens to the topic for messages, picks up the arriving message, and passes it on to the process SyncCustomerPartyListBRMCommsProvABCSImpl, after duly checking if the message should go to the ensuing providerABCS or not, and correspondingly stamping the target ID.

7. The SyncCustomerPartyListBRMCommsProvABCSImpl process then calls the PCM_OP_CUST_UPDATE_CUSTOMER or the PCM_OP_CUST_DELETE_PAYINFO or the PCM_OP_CUST_SET_STATUS opcode as required, to synchronize the updated data to Oracle BRM.

2.2.8.3 Periodic Cron-Job for Re-Syncing Customer Data from OCH to Oracle BRM

Periodic cron-job ensures that all cleansed data that may not have been synced from OCH to Oracle BRM because of race conditions is periodically synced. It also ensures that Oracle BRM customer data is updated with the cleansed and trusted version from the OCH even in the rare event that the batch update could not be applied.

The data steward configures OCH to publish periodic synchronization to target applications. During this periodic synchronization, all customer data (account and contact) that are created and updated during the last (periodic) synchronization are published to the subscribing applications.

2.2.9 Data Enrichment Flow

See Chapter 8, "Customer Data Enrichment".

2.2.10 Merge Flow from Oracle Customer Hub to Siebel CRM

Figure 2-13 illustrates the merge from Oracle Customer Hub to Siebel CRM integration flow:

Figure 2-13 Merging organizations and persons from Oracle Customer Hub to Siebel CRM

By default, the Customer MDM integration merges the customer data in Siebel when a merge is published by the Oracle Customer Hub; however, you can turn off this default behavior should you have a business need when interoperating with applications that do not support a merge process.

To turn off merge publishing by Oracle Customer Hub, set the process property EnablePubSub to False for the UCM Process Merge Request workflow.

For more information about the workflow, see the Siebel Book Shelf: Siebel Business Process Framework: Workflow Guide.

2.2.10.1 Merging Organizations from Oracle Customer Hub to Siebel

This integration flow uses these interfaces:

- SyncOrganizationUCMJMSProducer

- SyncOrganizationUCMJMSConsumer

- SyncOrganizationUCMReqABCSImpl

- CustomerPartyEBSV2

- AIASessionPoolManager

- SyncCustomerPartyListSiebelProvABCSImpl

Note that these services are the same services used by the synchronization flows. These same Siebel ABC services deal with different transformations and ABMs to correspond to two different web services in Siebel.

Figure 2-14 illustrates the integration flow:

Figure 2-14 Merging organizations from Oracle Customer Hub to Siebel CRM

When you initiate this process, these events occur:

1. Oracle Customer Hub publishes merge account messages in real time when two accounts are merged in the Existing Duplicates screen in Oracle Customer Hub.
This initiates the SyncOrganizationUCMJMSProducer, with the UCMAccountABM message that contains both the survivor and the victim object.

2. The SyncOrganizationUCMJMSProducer queues the Oracle Customer Hub Account ABM message onto a JMS queue.

3. The message in the queue is picked up by the SyncOrganizationUCMJMSConsumer service, which then routes the message to the SyncOrganizationUCMReqABCSImpl.

4. The Oracle Customer Hub requester ABC implementation, SyncOrganizationUCMReqABCSImpl, transforms the Oracle Customer Hub ABM with both the survivor and the victim object to the SyncCustomerPartyListEBM with the verb code 'Merge' and invokes the SyncCustomerPartyList operation of the CustomerPartyEBSV2.
When there are multiple target systems in the message, the message has to be transformed into several EBM messages, one for each target, and there are multiple calls to the EBS from the SyncOrganizationUCMReqABCSImpl.

5. Invoking the CustomerPartyEBSV2 with the SyncCustomerPartyList operation routes the SyncCustomerPartyListEBM to the Siebel provider ABC implementation service, SyncCustomerPartyListSiebelProvABCSImpl.

6. The Siebel provider ABC implementation service, SyncCustomerPartyListSiebelProvABCSImpl identifies the verb code 'Merge' and transforms the SyncCustomerPartyListEBM to the appropriate Siebel merge ABM and invokes the Siebel web service for merging accounts.
The Siebel Merge web service performs a merge of the victim account to the survivor account and re-parents all the transactions to the survivor record within Siebel. The response from Siebel is then transformed to mark the corresponding cross-reference entries for deletion.

2.2.10.2 Merging Persons from Oracle Customer Hub to Siebel CRM

This integration flow uses these interfaces:

- SyncPersonUCMJMSProducer

- SyncPersonUCMJMSConsumer

- SyncPersonUCMReqABCSImpl

- CustomerPartyEBSV2

- AIASessionPoolManager

- SyncCustomerPartyListSiebelProvABCSImpl

Note that these services are the same services used by the synchronization flows. These same Siebel ABC services deal with different transformations and ABMs to correspond to two different web services in Siebel.

Figure 2-15 illustrates the integration flow:

Figure 2-15 Merging persons from Oracle Customer Hub to Siebel CRM

When you initiate this process, these events occur:

1. Oracle Customer Hub publishes a person message with the survivor and the victim object in real time when two contacts are merged in the Existing Duplicates screen in Oracle Customer Hub.

This initiates the SyncPersonUCMJMSProducer, with the UCMPersonABM message.

1. The SyncPersonUCMJMSProducer queues the Oracle Customer Hub Person ABM message onto a JMS queue.

2. The message in the queue is picked up by the SyncPersonUCMJMSConsumer service, which then routes the message to the SyncPersonUCMReqABCSImpl.

3. The Oracle Customer Hub requester ABC implementation, SyncPersonUCMReqABCSImpl, transforms the Oracle Customer Hub ABM with the survivor and victim object into the SyncCustomerPartyListEBM with the verb code Merge and invokes the SyncCustomerPartyList operation of the CustomerPartyEBSV2.

4. When there are multiple targets in the message, the message has to be transformed into several EBM messages, one for each target and there are multiple calls to the EBS from the SyncPersonUCMReqABCSImpl.

5. Invoking the CustomerPartyEBSV2 with the SyncCustomerPartyList operation routes the SyncCustomerPartyListEBM to the Siebel provider ABC implementation service, SyncCustomerPartyListSiebelProvABCSImpl.

6. The Siebel provider ABC implementation service, SyncCustomerPartyListSiebelProvABCSImpl, identifies the verb code Merge, and transforms the SyncCustomerPartyListEBM to the appropriate Siebel merge ABM. It then invokes the Siebel merge web service.
The Siebel Merge web service performs a merge of the victim contact to the survivor contact and re-parents all the transactions to the survivor record within Siebel. The response is then transformed to mark the corresponding entries in the cross reference for deletion.

2.2.11 Merge Flow from OCH to Oracle E-Business Suite

The Oracle E-Business Suite ABCS consumes the merge message, but updates only the survivor record with the latest details while ignoring the request to delete the victim records. This includes the creation of new child entries like addresses and contacts that is similar to the synchronization flow from Oracle Customer Hub to Oracle E-Business Suite. Out-of-the-box invocation of merge within Oracle E-Business Suite is not supported as part of this flow.

A merge in Oracle E-Business Suite involves running concurrent jobs, which is not supported.

2.2.12 Merge Flow from OCH to Oracle BRM

The merge customer request by OCH enables Oracle BRM to update customer data with the changes published by OCH. Oracle BRM ABCS updates the survivor record with the latest details while ignoring the request to delete the victim records.

Figure 2-16 illustrates the merge flow from OCH to Oracle BRM.

Figure 2-16 Merge flow from OCH to Oracle BRM

The flow associated with the organization and person updates from OCH to Oracle BRM is composed of two spokes for merge request:

- OCH publishes customer data updates to AIA: This spoke is common to the standard customer data merge and reused from the horizontal integration.
The AIA SyncCustomerPartyEBS routes the updates to the subscribing Oracle BRM instances. This AIA EBS needs to be configured to route a request for customer data update to Oracle BRM when a customer data merge message is received.

- AIA applies customer data updates to Oracle BRM: This spoke is a modification of the existing Oracle BRM customer data update.
In Oracle BRM SyncCustomerPartyListBRMCommsProvABCS, the AIA checks that a cross-reference for the entity exists. If the cross-reference exists, the changes are applied. Else, they are discarded as the customer data was not created in the Oracle BRM instance.

Some of the subscribing applications such as Siebel CRM may be able to merge records and re-parent the associated entities to reflect the merge performed by OCH, but Oracle BRM does not offer a service to support this feature. Therefore, merging account or contacts in Siebel CRM without merging the corresponding accounts or contacts in Oracle BRM is not a feasible option. The reason being, it would not be possible to retrieve invoice details for victim accounts or submit change orders related to assets parented to victim accounts.

A merge operation in OCH only triggers an update of the survivor account in both Siebel CRM and Oracle BRM. However, customers may customize their procedures and tools so that an administrator can merge customer data in Siebel CRM and in Oracle BRM to be consistent with the merge data in OCH. This is a suggested custom solution and is not part of the flows covered in the Customer MDM integration.

2.3 OCH Integration Services

These are the integration services:

- SyncOrganizationUCMJMSConsumer

- SyncOrganizationUCMJMSProducer

- SyncPersonUCMJMSProducer

- SyncPersonUCMJMSConsumer

- QueryCustomerPartyListUCMProvABCSImpl

- QueryCustomerPartyUCMProvABCSImpl

- SyncOrganizationUCMReqABCSImpl

- SyncCustomerPartyListResponseUCMProvABCSImpl

- SyncPersonUCMReqABCSImpl

- ProcessPersonUCMReqABCSImpl

- SyncCustomerPartyListUCMProvABCSImpl

2.3.1 SyncOrganizationUCMJMSProducer

The SyncOrganizationUCMJMSProducer is implemented as a BPEL process because it involves JMS Header manipulations that cannot be done in Mediator. This service is responsible for queueing the Oracle Customer Hub Organization payload into the JMS queue. When queueing, a unique JMSCorrelationID is populated in the JMS Header of each message. This ID is used when dequeueing the message in the SyncOrganizationUCMJMSConsumer. This operation is defined in this service: SyncOrganization.

2.3.2 SyncOrganizationUCMJMSConsumer

The SyncOrganizationUCMJMSConsumer service is implemented as a process with a JMS adapter and routing services. This service is responsible for dequeueing the Oracle Customer Hub Organization message from the JMS queue and invoking the requestor ABCS, SyncOrganizationUCMReqABCSImpl. The dequeue operation is done depending on the JMSCorrelationID that is populated when the message is enqueued.

2.3.3 SyncPersonUCMJMSProducer

The SyncPersonUCMJMSProducer service is implemented as a BPEL process since it involves JMS Header manipulations that cannot be done in Mediator. This service is responsible for enqueueing the Oracle Customer Hub Person payload into the JMS queue. When queueing, a unique JMSCorrelationID is populated in the JMS Header of each message. This ID is used when dequeueing the message in the SyncPersonUCMJMSConsumer. This operation is defined in SyncPerson service.

2.3.4 SyncPersonUCMJMSConsumer

The SyncPersonUCMJMSConsumer is implemented as a process with a JMS adapter and routing services. This service is responsible for dequeueing the Oracle Customer Hub Person message from the JMS queue and invoking the requestor ABCS, SyncPersonUCMReqABCSImpl. The dequeue operation is done depending on the JMSCorrelationID that is populated when the message is enqueued.

2.3.5 QueryCustomerPartyListUCMProvABCSImpl

The QueryCustomerPartyListUCMProvABCSImpl provider ABC service is used by the match flow to query both organization and person information from Oracle Customer Hub. It returns a list of organization or person candidates that matches the sent criteria. This service has one synchronous request/reply operation: QueryCustomerPartyList.

2.3.6 QueryCustomerPartyUCMProvABCSImpl

The QueryCustomerPartyUCMProvABCSImpl provider service is used as part of the fetch flow for both organization and person requests. It accepts an organization or person common ID as the request criteria and returns the full organization or person data record from Oracle Customer Hub. This service has one synchronous request/reply operation: QueryCustomerParty.

2.3.7 SyncOrganizationUCMReqABCSImpl

The SyncOrganizationUCMReqABCSImpl service is responsible for transforming the Oracle Customer Hub message into the SyncCustomerPartyList EBM format and invoking the SyncCustomerPartyList operation of the CustomerPartyEBSV2. This operation is defined in the service: SyncOrganization.

2.3.8 SyncCustomerPartyListResponseUCMProvABCSImpl

The SyncCustomerPartyListResponseUCMProvABCSImpl is implemented in BPEL and is invoked by the SyncCustomerPartyListResponse operation of the CustomerPartyResponseEBSV2, passing in the SyncCustomerPartyListResponseEBM payload. This service transforms the EBM into an Oracle Customer Hub ABM and invokes the Oracle Customer Hub web service interface to synchronize the external system IDs.

2.3.9 SyncPersonUCMReqABCSImpl

The SyncPersonUCMReqABCSImpl service is responsible for transforming the Oracle Customer Hub message into the SyncCustomerPartyList EBM format and invoking the SyncCustomerPartyList operation of the CustomerPartyEBSV2. This operation is defined in the service: SyncPerson.

2.3.10 ProcessPersonUCMReqABCSImpl

Oracle Customer Hub ABCS Connector service initiated from Oracle Customer Hub for data enrichment. This synchronous service maps the Oracle Customer Hub ABM to ProcessCustomerPartyListEBM and invokes the ProcessCustomerPartyEBS. After getting a response, maps the enriched response EBM back to Oracle Customer Hub ABM.

2.3.11 SyncCustomerPartyListUCMProvABCSImpl

The SyncCustomerPartyListUCMProvABCSImpl service is implemented in BPEL and is invoked by the SyncCustomerPartyList operation of the CustomerPartyEBSV2, passing in the synchronize CustomerPartyListEBM payload. This service transforms the EBM into a OCH ABM and invokes the OCH web service interface. It also captures the response from the OCH Application, transforms the OCH Response ABM to the SyncCustomerPArtyListResponseEBM payload, and invokes the SyncCustomerPartyListResponse operation of the CustomerPartyResponseEBSV2.

2.4 OCH Interfaces

Inbound/Outbound services, as applicable, are provided here.

2.4.1 Inbound Web Services: Match and Fetch

- Service: OrganizationMatchService
Operation: OrganizationMatch

- Service: PersonMatchWebService
Operation: PersonMatch

- OrganizationQueryService
Operation: getOrganization

- PersonQueryService
Operation: getPerson

For more information about Oracle Customer Hub (Siebel UCM) web services, see Siebel CRM Web Services Reference Addendum for Siebel UCM on My Oracle Support 3.

2.4.2 Inbound Web Services: Organization and Person Synchronization

Table 2-1 Inbound Web Services: Organization and Person Synchronization

Name

Schema

Service:OrganizationService

Operation: createOrganization

ListOfSwiOrganizationIO.xsd

Service: PersonService

Operation: createPerson

ListOfSwiPersonIO.xsd

OrganizationCrossReferenceService

ListOfSwiOrganizationPublishIO.xsd

PersonCrossReferenceService

ListOfSwiPersonPublishIO.xsd

2.4.3 Outbound Web Services: Organization and Person Synchronization

Table 2-2 Outbound Web Services: Organization and Person Synchronization

Name

Schema

SyncOrganizationUCMJMSProducer

ListOfSwiOrganizationPublishIO.xsd

SyncPersonUCMJMSProducer

ListOfSwiPersonPublishIO.xsd

2.5 Assumptions and Constraints

These are the assumptions and constraints:

1. The Oracle Customer Hub integration supports these application and middleware components:

- Oracle Fusion Middleware

- Oracle AIA Foundation Pack

- Oracle Customer Hub (Siebel UCM)

- Siebel CRM

- Oracle E-Business Suite

- Oracle BRM
For more information about installing and selecting the participating applications (integration options) see Oracle Application Integration Architecture Installation and Upgrade Guide for Pre-Built Integrations Release 11.1 available on Oracle Technology Network. This guide is continually updated.

Note:

Any use of Customer MDM integration as part of a vertical/industry-specific initiative may require that the Customer MDM integration be certified on different combinations of applications, middleware, and AIA foundation pack objects.

2. Synchronization of delete actions on accounts, addresses, or contacts is not supported in this integration.

3. Synchronization of assets to OCH is not in scope for this integration.

4. Synchronization of account hierarchies to OCH is not in scope for this integration.

5. Synchronization of billing profile data to OCH is not in scope for this integration.

6. Synchronization of OCH households is not in scope for this integration.

7. Synchronization of financial accounts to OCH is not in scope for this integration.

8. Synchronization of households to OCH is not in scope for this integration.

9. Synchronization of billing profiles to OCH is not in scope for this integration.

10. OCH must be configured to auto-trigger web services for bi-directional create/update of customers with a participating application.

11. The significant differences between the Oracle Customer Hub, Siebel CRM, and EBO data models with respect to modeling Customer entities necessitate that the solution include built-in mapping and configuration settings.
These settings ensure that the out-of-the-box functionality and feature set of the solution are maximized and that the solution can be deployed independently or in conjunction with other integration solutions. For more information about configuration settings, see Chapter 7, "Configuring the Customer MDM Pre-Built Integration".

12. Oracle Customer Hub must be deployed as a separate instance from Siebel CRM.

13. Siebel CRM, Oracle BRM, and Oracle E-Business Suite must be set up as Registered Systems in Oracle Customer Hub/UCM to enable local cross-referencing, survivorship rules, and the ability to manage CRUD privileges on each participating application.
This set up is part of the standard Oracle Customer Hub/UCM configuration setup.

14. All organization and person messages published from Oracle Customer Hub are consumed by Oracle E-Business Suite out-of-the-box. The functional impact is that a customer account is established in Oracle E-Business Suite in advance of a known financial relationship with the party, which may be desired from a business perspective; however, this functionality may undermine the inherent definition of a customer account under the Oracle E-Business Suite Trading Community Architecture (TCA) model. If this functionality is not required and that the records should be consumed by Oracle E-Business Suite only in the case of a financial transaction, either the routing rules need to be modified so that messages are not published to Oracle E-Business Suite or the source system registrations within Oracle Customer Hub need to be updated so that Oracle E-Business Suite is not included for published messages.

15. The match and fetch integration flow from Oracle E-Business Suite to Oracle Customer Hub uses a Composite Application Framework user interface.

16. During a synchronization, if Oracle Customer Hub publishes an existing record for an incoming new record which is identified as a duplicate, the existing record is synchronized to the target applications whereas the incoming duplicate record is left as-is due to pending transactions.
In this case, the duplicate records have to be analyzed by an administrator and manually merged.

17. Oracle Customer Hub cross-references are created by Oracle Customer Hub when Customer entities (accounts and contacts) are published from applications to Oracle Customer Hub and identified by Oracle Customer Hub as referring to the same party.
Oracle Customer Hub cross-references can link records across applications (for example, ACME Account in CRM and ACME Account in Oracle BRM) as well as within one single application (for example, ACME Account and ACME Inc. Account in CRM).

18. Oracle Customer Hub cross-references may also be created for applications that are not integrated through AIA.

19. Although some participating applications have the ability to request a merge operation, only customer merges executed within Oracle Customer Hub are supported for this release.

20. While Oracle Customer Hub supports the internal unmerge of previously merged entities, no publishing takes place from Oracle Customer Hub as a result of an unmerge.
This implies that if unmerge is used within Oracle Customer Hub, the corresponding records are not automatically updated in Siebel CRM/Oracle E-Business Suite. This can lead to inconsistencies in customer data between Oracle Customer Hub and Siebel CRM/Oracle E-Business Suite unless a manual process is adopted for updating survivors and re-creating victims in Siebel CRM/Oracle E-Business Suite or the integration solution is extended during deployment to support unmerge publishing so that in Siebel CRM/Oracle E-Business Suite survivors are updated and victims re-created automatically.

21. Siebel CRM accounts should not be merged when Oracle BRM is present in the deployment. Merging Siebel CRM accounts creates issues if the corresponding accounts are not merged in Oracle BRM.
If the merger of survivor and victims does not take place in Oracle BRM, but it is performed in CRM, it is not possible to retrieve billing information for the victims. There can also be issues with assets that have been re-parented in Siebel CRM but not in Oracle BRM. A change order for a merged account may not be able to find the assets in the Oracle BRM, as they are still associated to the victim accounts.

22. The match process involves the passing of search criteria to the Oracle Customer Hub application to generate a list of possible candidates, and it is likely that these candidates have multiple addresses and phone numbers as part of their profile.
In the Siebel-enabled user interface, only the primary address and phone number fields are presented as part of each candidate profile. This compressed view of displayed values enhances the user experience without sacrificing the ability for the user to make an informed decision about the candidate to be fetched. The Composite Application Framework user interface displays all of the addresses that are associated to the candidates.

23. When an organization or contact is synchronized with Oracle Customer Hub, the related organization is not fetched from the AIA cross-reference and passed into Oracle Customer Hub.
In Oracle Customer Hub, accounts are supposed to be across business units, we call the Oracle Customer Hub web service without any organization IDs. However, within Oracle Customer Hub, the business unit is defaulted, as it is a required column. Therefore, we are supporting only one business unit for organization/contact synchronization into Oracle Customer Hub. However, if Oracle Customer Hub publishes records with multiple business units, those related organizations, if set up in the cross-reference and target applications are associated and supported as part of the integration flow.

24. OCH does not maintain cross-references for Oracle BRM customer data, because:

- Oracle BRM does not publish customer data update/create to OCH. This is not in scope of the Customer MDM integration.

- Customer data gets created in BRM only as part of the Order process. Only updates to Customer records will be sent to BRM through the Customer MDM integration.

- AIA maintains cross-references for the accounts and contact information created in Oracle BRM.

25. Contact/Person update in OCH (Siebel UCM) does not propagate the changes to Oracle BRM.

26. Publishing of OCH unmerge service is not supported by this integration.

27. For Oracle BRM, Siebel CRM is the accounts master where accounts are created and updated.

28. Account merge is not supported for Oracle BRM.

29. Siebel CRM account hierarchy is not synchronized to the billing system.
Instead, the billing account /service account relationship on a Siebel CRM order line is sent to the billing system as parent account and child account, respectively.

30. Creation of customer data in Oracle BRM takes place only as part of the order-submission flow part of the Oracle Communications Order to Cash Integration Pack for Siebel CRM, Oracle Communications Order and Service Management, and Oracle Communications Billing and Revenue Management integration.
This enforces that prospects accounts are not created in Oracle BRM.

31. Initial Load from Oracle BRM/Siebel CRM/Oracle E-Business Suite into OCH is not in scope.
Initial loads are typically specific to particular deployment and require a customized solution.

32. OCH has capabilities to master non-customers (partners, prospects, suppliers, and so on), generally as an input to campaign management processes, partner loyalty/relationship programs, or other processes.
Although this particular integration assumes that OCH acts as a hub for mastering customers defined as entities with which a selling relationship has been established, the integration flows modeled as part of this solution do not require that the entities being mastered are necessarily customers.

33. Customer data enrichment is done one-person-record at a time and only for the primary address.

3 Oracle Customer Master Data Management Integration Option for Siebel CRM

This chapter provides an overview of the integration option for Siebel CRM, and discusses the process flows, interfaces, integration services.

This chapter contains the following sections:

- Section 3.2, "Match and Fetch between Siebel CRM and Oracle Customer Hub"

- Section 3.3, "Synchronizing Organizations and Persons from Siebel CRM to Oracle Customer Hub"

- Section 3.4, "Siebel CRM Integration Services"

- Section 3.5, "Siebel CRM Interfaces"

3.1 Overview

These are the flows that are available after choosing the Siebel CRM option during the Customer MDM integration install:

- Match and Fetch between Siebel CRM and Oracle Customer Hub.

- Synchronizing Organizations and Persons from Siebel CRM to Oracle Customer Hub.

For process flows from Oracle Customer Hub to Siebel CRM, seeChapter 2, "Oracle Customer Master Data Management Integration Base Pack".

For more information about Siebel CRM, see the Siebel CRM product documentation.

For more information about the installation process, see the Oracle Application Integration Architecture Installation and Upgrade Guide for Pre-Built Integrations available on Oracle Technology Network. This guide is continually updated.

3.1.1 Prerequisites

These are the prerequisites:

- Person requires First Name and Last Name.

- Organization requires Account Name.

- The business units being used must be seeded in all applications and in cross-references.

- The prerequisite is that accounts/contacts have been synchronized between Oracle Customer Hub and Siebel CRM prior to publishing the merge from the Oracle Customer Hub.

3.2 Match and Fetch between Siebel CRM and Oracle Customer Hub

This integration flow matches organizations (accounts) or persons (contacts) between Siebel CRM and OCH. This flow is initiated by Siebel CRM to generate a list of potential candidates from OCH. From the list presented, a specific organization or person is requested from OCH, which returns the full profile of the selected record. The full profile from OCH is then sent to Siebel at which point, the organization (account) or person (contact) is synchronized.

Figure 3-1 illustrates the match and fetch flow between Siebel CRM and Oracle Customer Hub:

Figure 3-1 Match and fetch between Siebel CRM and Oracle Customer Hub

This integration flow uses these interfaces:

- MatchAccountSiebelReqABCSImpl

- MatchContactSiebelReqABCSImpl

- CustomerPartyEBSV2

- CustomerPartyResponseEBSV2

- QueryCustomerPartyListUCMProvABCSImpl

- FetchAccountSiebelReqABCSImpl

- FetchContactSiebelReqABCSImpl

- CustomerPartyOrchestrationEBSV2

- FetchCustomerPartyEBF

- QueryCustomerPartyUCMProvABCSImpl

- AIASessionPoolManager

- SyncCustomerPartyListSiebelProvABCSImpl

- CustomerPartyOrchestrationResponseEBSV2

Figure 3-2 illustrates the integration flow:

Figure 3-2 Match and fetch between Siebel CRM to Oracle Customer Hub

When you initiate this process, these events occur:

1. In Siebel CRM, a CSR in a call center receives a call from a representative who may be a customer or an individual.
The CSR enters an organization or an individual's information, such as name and zip code, and clicks on the Match button from the Call Center Siebel application. This triggers the match flow where the Siebel application synchronously invokes the MatchAccountSiebelReqABCSImpl connector service if the caller was from an organization. The MatchContactSiebelReqABCSImpl connector service is synchronously invoked if the caller is an individual.

2. The MatchAccountSiebelReqABCSImpl or MatchContactSiebelReqABCSImpl connector service receives the Siebel Account or Contact Match requestor ABM and transforms it into the QueryCustomerPartyListEBM with an organization or person customer-party query criteria.
It then synchronously invokes the QueryCustomerPartyList operation of the CustomerPartyEBSV2 enterprise business service passing in the QueryCustomerPartyListEBM.

3. The CustomerPartyEBSV2 routes the QueryCustomerPartyListEBM to the QueryCustomerPartyListUCMProvABCSImpl provider service, which is synchronously invoked.

4. The QueryCustomerPartyListUCMProvABCSImpl determines whether the request is for an organization or a person.
It transforms the QueryCustomerPartyListEBM, which contains the match criteria to the Oracle Customer Hub specific organization or person Match requestor ABM. It invokes either the Oracle Customer Hub OrganizationMatchService or PersonMatchService.

5. The Oracle Customer Hub OrganizationMatchService or PersonMatchService queries the Oracle Customer Hub database, and based on the match criteria, returns the organization or person Match response ABM, which contains a list of the organization or person candidates back to the QueryCustomerPartyListUCMProvABCSImpl that it synchronously invoked.

6. The QueryCustomerPartyListUCMProvABCSImpl receives the organization or person Match response ABM and transforms it into the QueryCustomerPartyListResponseEBM.
During the transformation, the common IDs are generated and cross-reference database is populated where necessary. The response message is sent back to the CustomerPartyEBSV2.

7. The CustomerPartyEBSV2 receives the QueryCustomerPartyListResponseEBM response from the QueryCustomerPartyListUCMProvABCSImpl and passes the message back to the MatchAccountSiebelReqABCSImpl or the MatchContactSiebelReqABCSImpl depending on which invoked it.

8. The MatchAccountSiebelReqABCSImpl or the MatchContactSiebelReqABCSImpl transforms the response to the Siebel specific account or contact Match requestor ABM and sends a list of candidate customer parties that meet the criteria to the Siebel CRM application.

9. The CSR reviews the list of customer parties displayed, and picks the exact account from the list by clicking on the Fetch button in the application.
This triggers the Fetch flow, where the Siebel application synchronously invokes the FetchAccountSiebelReqABCSImpl connector service if the caller was from an organization. The FetchContactSiebelReqABCSImpl connector service is invoked synchronously when the caller is an individual.

10. The FetchAccountSiebelReqABCSImpl or FetchContactSiebelReqABCSImpl connector service receives the Siebel account or contact Fetch requestor ABM and transforms it into the QueryCustomerPartyEBM with an organization or person customer-party query criteria. It then asynchronously invokes the AsyncFetchCustomerParty operation of the CustomerPartyOrchestrationEBSV2 enterprise business service, and passes in the QueryCustomerPartyEBM, which contains the account's identifier (the common ID).

11. The CustomerPartyOrchestrationEBSV2 is a routing service that asynchronously invokes the AsyncFetchCustomerParty operation of the FetchCustomerPartyEBF, and passes the QueryCustomerPartyEBM.

12. The FetchCustomerPartyEBF receives the QueryCustomerPartyEBM and synchronously invokes the QueryCustomerParty operation of the CustomerPartyEBSV2.

13. The CustomerPartyEBSV2 routes the QueryCustomerPartyEBM to the QueryCustomerPartyUCMProvABCSImpl provider service, which is synchronously invoked.

14. The QueryCustomerPartyUCMProvABCSImpl determines whether the request is for an organization or a person. It transforms the QueryCustomerPartyEBM, which contains the organization or person ID to the Oracle Customer Hub-specific organization or person fetch requestor ABM. It invokes either the Oracle Customer Hub OrganizationFetchService or PersonFetchService.

15. The Oracle Customer Hub OrganizationFetchService or PersonFetchService queries the Oracle Customer Hub database based on the organization or person ID. It returns the organization or person fetch response ABM, which contains the full organization or person data record from Oracle Customer Hub back to the QueryCustomerPartyUCMProvABCSImpl that synchronously invoked it.

16. The QueryCustomerPartyUCMProvABCSImpl transforms the fetch response ABM into QueryCustomerPartyResponseEBM. The response message is sent back to the CustomerPartyEBSV2.

17. The CustomerPartyEBSV2 receives the QueryCustomerPartyResponseEBM response from the QueryCustomerPartyUCMProvABCSImpl and then passes the message back to the FetchCustomerPartyEBF that invoked it.

18. The FetchCustomerPartyEBF receives the QueryCustomerPartyResponseEBM and transforms it into the SyncCustomerPartyListEBM, which asynchronously invokes the SyncCustomerPartyList operation of CustomerPartyEBSV2.

19. The SyncCustomerPartyList operation of CustomerPartyEBSV2 asynchronously routes the SyncCustomerPartyListEBM message to the SyncCustomerPartyListSiebelProvABCSImpl.

20. The SyncCustomerPartyListSiebelProvABCSImpl receives the SyncCustomerPartyListEBM, and then determines whether an account or contact synchronization is necessary. It transforms the SyncCustomerPartyListEBM into Siebel account or contact SyncCustomerABM and invokes the appropriate Siebel synchronization service.

21. The Siebel synchronization service creates the account or contact record and returns the SyncCustomerResponseABM, which contains the details of the record added.

22. The SyncCustomerPartyListSiebelProvABCSImpl receives the SyncCustomerResponseABM and transforms it into the SyncCustomerPartyListResponseEBM. As part of the transformation, the Siebel ID is added to the cross-reference table. It then invokes the SyncCustomerPartyListResponse operation of the CustomerPartyResponseEBSV2, and passes the SyncCustomerPartyListResponseEBM.

23. The FetchCustomerPartyEBF receives the SyncCustomerPartyListResponseEBM callback from CustomerPartyResponseEBSV2, and transforms the SyncCustomerPartyListResponseEBM into the QueryCustomerPartyResponseEBM. It then asynchronously invokes the AsyncFetchCustomerPartyResponse operation of CustomerPartyOrchestrationResponseEBSV2, and passes the QueryCustomerPartyResponseEBM.

24. The FetchAccountSiebelReqABCSImpl or FetchContactSiebelReqABCSImpl connector service receives the QueryCustomerPartyResponseEBM callback from CustomerPartyOrchestrationResponseEBSV2 and transforms the response into an account or contact fetch response ABM. It sends the response back to the Siebel application where the new account or contact information can be viewed.

3.3 Synchronizing Organizations and Persons from Siebel CRM to Oracle Customer Hub

This feature synchronizes customer-related entity information from one or several instances of Siebel CRM to Oracle Customer Hub. Oracle Customer Hub consumes the message using AIA and after applying configurable data quality and data cleansing processes to the record, determines whether to update an existing record or to create a new customer record based on survivorship and update precedence rules in Oracle Customer Hub.

Figure 3-3 illustrates the synchronization of organizations and persons from Siebel CRM to Oracle Customer Hub:

Figure 3-3 Synchronizing organizations and persons from Siebel CRM to Oracle Customer Hub

For this integration flow:

- The shared data model between Siebel and Oracle Customer Hub ensures that mappings are consistent among account, contact, and address entities.

- The creation of a new account (org customer) or contact (person customer) in Siebel CRM initiates a process to synchronize information to Oracle Customer Hub. New accounts and contacts should be customers but can be non-customers such as prospects.

3.3.1 Synchronizing Organizations from Siebel CRM to Oracle Customer Hub

This integration flow synchronizes new accounts or updates from Siebel CRM to Oracle Customer Hub. This integration flow uses these interfaces:

- SyncCustomerSiebelEventAggregator

- SyncAcctSiebelAggrEventConsumer

- SyncAccountSiebelReqABCSImpl

- CustomerPartyEBSV2

- SyncCustomerPartyListUCMProvABCSImpl

- CustomerPartyResponseEBSV2

- SyncCustomerPartyListResponseSiebelProvABCSImpl

- SyncAccountSiebelAggregatorAdapter

- SyncAddressSiebelAggregatorAdapter

- SyncContactSiebelAggregatorAdapter

Figure 3-4 illustrates the integration flow:

Figure 3-4 Synchronizing organizations from Siebel CRM to Oracle Customer Hub

When you initiate this process, these events occur:

1. Siebel contact events are raised when a new contact is created or updated in Siebel CRM. This includes creating new addresses or updating existing addresses.
This initiates the SyncCustomerSiebelEventAggregator, with the SiebelAccountABM message.

2. The SyncCustomerSiebelEventAggregator invokes one of three database adapters, depending on the type of event raised: account, contact, or address event.
The database adapters each invoke a PL/SQ procedure that performs the aggregation in a database table. The SyncAcctSiebelAggrEventConsumer listens on the aggregator table and polls the data. Based on the Polling Interval set, the records in the table are polled and the consumer invokes the SyncAccountSiebelReqABCSImpl service.

SyncAcctSiebelAggrEventConsumer consumes the message from the aggregator table . The SyncAcctSiebelAggrEventConsumer service has resequencer properties defined to provide guaranteed first-in first-out processing of account record. For each record, the SyncAccountSiebelReqABCSImpl service is invoked. If the resequencer is enabled, then records of the same account are processed sequentially but the records of a different account are processed in parallel.

The PollingInterval for the Account and Contact Aggregator consumer services are, by default, set to 90s and 60s respectively. To change these values:

1. Go to the EM Console.

2. Look for the SyncAcctSiebelAggrEventConsumer service located under Farm_soa_domain, SOA, soa-infra, default

3. Select this service and go to the Services and References section.

4. Click the service of type JCA Adapter.

5. Go to the Properties tab and set the property Polling Interval to the desired value.

6. Click Apply to save the changes.

7. Restart the service-oriented architecture (SOA) server for the changes to take effect.
If needed, perform the same steps as for the contact consumer service, SyncContSiebelAggrEventConsumer.

3. The Siebel requester ABC implementation, SyncAccountSiebelReqABCSImpl, transforms the aggregated message into the Siebel Query Request ABM and invokes the Siebel Query web service to fetch the details of the Account (including account, address, and contact details).

4. The QueryResponse ABM is then transformed into the SyncCustomerPartyListEBM and the SyncCustomerPartyList operation of the CustomerPartyEBSV2 is invoked.

5. Invoking CustomerPartyEBSV2 with the SyncCustomerPartyList operation routes the SyncCustomerPartyListEBM to the Oracle Customer Hub provider ABC implementation service, SyncCustomerPartyListUCMProvABCSImpl.

6. The Oracle Customer Hub provider ABC implementation service, SyncCustomerPartyListUCMProvABCSImpl, transforms the SyncCustomerPartyListEBM into the appropriate Oracle Customer Hub account ABM and invokes the Oracle Customer Hub API.

7. The response from the Oracle Customer Hub API is an integration object that has the account data if it was successfully created or updated in Oracle Customer Hub, which is then transformed into the SyncCustomerPartyListResponseEBM, in the process of which the cross-references tables are populated with the Oracle Customer Hub identifier values.
The response is sent to the CustomerPartyResponseEBSV2 if the response comes back from Oracle Customer Hub. If the Oracle Customer Hub ABM message was put in a queue, then the response IO status has to be checked and the cross-reference entry for the Oracle Customer Hub ID must be created at a later time when the publish from Oracle Customer Hub happens for this account using integration IDs.

8. The SyncCustomerPartyListResponseEBM is transformed into the Siebel account ABM and the Siebel account web service is invoked.

3.3.2 Synchronizing Persons from Siebel CRM to Oracle Customer Hub

This integration flow is used to synchronize new person or updates from Siebel to Oracle Customer Hub. This integration flow uses these interfaces:

- SyncCustomerSiebelEventAggregator

- SyncContSiebelAggrEventConsumer

- SyncContactSiebelReqABCSImpl

- CustomerPartyEBSV2

- SyncCustomerPartyListUCMProvABCSImpl

- CustomerPartyResponseEBSV2

- SyncCustomerPartyListResponseSiebelProvABCSImpl

- SyncAddressSiebelAggregatorAdapter

- SyncContactSiebelAggregatorAdapter

Figure 3-5 illustrates the integration flow:

Figure 3-5 Synchronizing persons from Siebel CRM to Oracle Customer Hub

When you initiate this process, these events occur:

1. Siebel contact events are raised when a new contact is created or updated in Siebel CRM. This includes creating new addresses or updating existing addresses.
This initiates the SyncCustomerSiebelEventAggregator with the SiebelContactABM message.

2. The SyncCustomerSiebelEventAggregator invokes a database adapter, depending on the type of event raised: contact or address event.
The database adapter invokes a PL/SQ procedure that performs the aggregation in a database table. The SyncContSiebelAggrEventConsumer listens on the aggregator table and polls the data. Based on the polling interval set, the records in the table are polled and the consumer invokes the SyncContactSiebelReqABCSImpl service.

SyncContSiebelAggrEventConsumer consumes the message from the aggregator table. The SyncContSiebelAggrEventConsumer service has resequencer properties defined to provide guaranteed first-in first-out processing of contact record. For each record, the SyncContactSiebelReqABCSImpl. service is invoked. If the resequencer is enabled, then records of the same contact are processed sequentially but the records of a different contact are processed in parallel.

The PollingInterval for the Account and Contact Aggregator consumer services are, by default, set to 90s and 60s respectively. To change these values for your use cases:

1. Go to EM Console.

2. Look for the SyncContSiebelAggrEventConsumer service located under Farm_soa_domain, SOA, soa-infra and default.

3. Select this service and go to the Services and References section.

4. Click the service of type JCA Adapter.

5. Go to the Properties tab and set the property Polling Interval to the desired value.

6. Click Apply to save the changes

7. Restart the service-oriented architecture (SOA) server for the changes to take effect.

3. The Siebel requester ABC implementation, SyncContactSiebelReqABCSImpl, transforms the aggregated message to the Siebel Query request ABM and invokes the Siebel Query web service to fetch the details of the contact (including contact details and personal address). The QueryResponse ABM is then transformed into the SyncCustomerPartyListEBM and the SyncCustomerPartyList operation of the CustomerPartyEBSV2 is invoked.

4. Invoking the CustomerPartyEBSV2 with the SyncCustomerPartyList operation routes the SyncCustomerPartyListEBM to the Oracle Customer Hub provider ABC implementation service, SyncCustomerPartyListUCMProvABCSImpl.

5. The Oracle Customer Hub provider ABC implementation service, SyncCustomerPartyListUCMProvABCSImpl, transforms the SyncCustomerPartyListEBM into the appropriate Oracle Customer Hub person ABM and invokes the Oracle Customer Hub API.

6. The response from the Oracle Customer Hub API is an integration object that has the person data if it was successfully created or updated in Oracle Customer Hub and is then transformed into the SyncCustomerPartyListResponseEBM in the process of which, the cross-references tables are populated with the Oracle Customer Hub identifier values.
The response is sent to the CustomerPartyResponseEBSV2 if the response comes back from Oracle Customer Hub. If the Oracle Customer Hub ABM message was put in a queue, then the response IO status has to be checked and the cross-reference entry for the Oracle Customer Hub ID must be created at a later time when the publish from Oracle Customer Hub happens for this person using integration IDs.

7. The SyncCustomerPartyListResponseEBM is transformed into the Siebel contact ABM and the Siebel contact web service is invoked.

3.4 Siebel CRM Integration Services

These are the integration services for Siebel CRM:

- SyncAccountSiebelAggregatorAdapter

- SyncContactSiebelAggregatorAdapter

- SyncAddressSiebelAggregatorAdapter

- SyncCustomerSiebelEventAggregator

- SyncAccountSiebelReqABCSImpl

- SyncContactSiebelReqABCSImpl

- SyncCustomerPartyListSiebelProvABCSImpl

- SyncCustomerPartyListResponseSiebelProvABCSImpl

- SyncBPSiebelAggregatorAdapter

- SyncAcctSiebelAggrEventConsumer

- SyncContSiebelAggrEventConsumer

3.4.1 SyncAccountSiebelAggregatorAdapter

The SyncAccountSiebelAggregatorAdapter is implemented as a process with a database adapter and routing services. This service aggregates the account events generated in the Siebel application 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.

3.4.2 SyncContactSiebelAggregatorAdapter

The SyncContactSiebelAggregatorAdapter is implemented as a process with a database adapter and routing services. This service aggregates the account events generated in the Siebel application when a contact 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.

3.4.3 SyncAddressSiebelAggregatorAdapter

The SyncAddressSiebelAggregatorAdapter is implemented as a process with a database adapter and routing services. This service aggregates the account events generated in the Siebel application when an account's address 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.

3.4.4 SyncCustomerSiebelEventAggregator

The SyncCustomerSiebelEventAggregator is implemented as a BPEL process since it involves JMS Header manipulations that cannot be done in a Mediator service. This service has three operations, one for each kind of event raised by the Siebel application when an account, contact, or address is created or updated, or both. Each operation invokes the corresponding aggregator adapter service, which does the aggregation of the event in the AIA Aggregator table. These operations are defined in this service:

- aggregateaccountevent

- aggregatecontactevent

- aggregateaddressevent

- aggregatebpevent

3.4.5 SyncAccountSiebelReqABCSImpl

The SyncAccountSiebelReqABCSImpl service is responsible for transforming the Siebel message into the SyncCustomerPartyList EBM format and invoking the SyncCustomerPartyList operation of the CustomerPartyEBSV2. This operation is defined in SyncAccount service.

3.4.6 SyncContactSiebelReqABCSImpl

The SyncContactSiebelReqABCSImpl service is responsible for transforming the Siebel message into the SyncCustomerPartyList EBM format and invoking the SyncCustomerPartyList operation of the CustomerPartyEBSV2. This operation is defined in SyncContact service.

3.4.7 SyncCustomerPartyListSiebelProvABCSImpl

The SyncCustomerPartyListSiebelProvABCSImpl service is implemented in BPEL and is invoked by the SyncCustomerPartyList operation of the CustomerPartyEBSV2, passing in the Synchronize CustomerPartyListEBM payload. This service transforms the EBM into a Siebel ABM and invokes the Siebel web service interface.

3.4.8 SyncCustomerPartyListResponseSiebelProvABCSImpl

The SyncCustomerPartyListResponseSiebelProvABCSImpl service is implemented in BPEL and is invoked by the SyncCustomerPartyListResponse operation of the CustomerPartyResponseEBSV2, passing in the SyncCustomerPartyListResponseEBM payload. This service transforms the EBM into a Siebel ABM and invokes the Siebel web service interface to synchronize the response.

3.4.9 SyncBPSiebelAggregatorAdapter

The SyncBPSiebelAggregatorAdapter is implemented as a process with a database adapter and routing services. This service aggregates the account events generated in the Siebel application when a Billing Profile 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.

3.4.10 SyncAcctSiebelAggrEventConsumer

The SyncAcctSiebelAggrEventConsumer service is responsible for dequeueing the aggregated Siebel Account identifiers from the AIA Aggregator table and invoking the appropriate operation of the Requestor ABCS, SyncAccountSiebelReqABCSImpl.

3.4.11 SyncContSiebelAggrEventConsumer

The SyncContSiebelAggrEventConsumer service is responsible for dequeueing the aggregated Siebel Contact identifiers from the AIA Aggregator table and invoking the appropriate operation of the Requestor ABCS, SyncContactSiebelReqABCSImpl.

For more information about the Event Aggregation programming model, see Oracle Application Integration Architecture - Foundation Pack: Integration Developer's Guide, "Describing the Event Aggregation Programming Model."

3.5 Siebel CRM Interfaces

These are the Siebel interfaces.

3.5.1 Inbound Web Services: Organization and Person Synchronization

Table 3-1 Inbound Web Services: Organization and Person Synchronization

Name

Schema/element

SWICustomerPartyServices.wsdl

Operation: SWICustomerPartyInsertOrUpdate

SWICustomerPartyIO.xsd

(ListOfSwicustomerpartyio)

SWIContactIO.wsdl

Operation: SWIContactServicesInsertOrUpdate

SWIContactIO.xsd

(ListOfSwicontactio)

For the merge:

WSDL name: SWIMergeService.wsdl

Operation: SWIMergeServicesMerge

SWIMergeObjectIO.xsd

(ListOfSwimergeobjectio)

3.5.2 Outbound Web Services: Organization and Person Synchronization

Table 3-2 Outbound Web Services: Organization and Person Synchronization

Name

Schema

SyncCustomerSiebelEventAggregator

(operation: aggregateaccountevent)

SWICustomerPartyIO.xsd

(ListOfSwicustomerpartyio)

SyncCustomerSiebelEventAggregator

(operation: aggregatecontactevent)

SWIContactIO.xsd

(ListOfSwicontactio)

SyncCustomerSiebelEventAggregator

(operation: aggregateaddressevent)

SWIAddressIO.xsd

(ListOfSwiaddressio)

For more information about Siebel CRM web services, navigate to the documentation library for Siebel applications on Oracle Technology Network and see Siebel CRM Web Services Reference.

3.5.3 Inbound Web Services: Match and Fetch

These are the inbound web services for Match and Fetch:

3.5.3.1 Account Synchronization

- Service: SWICustomerParty

- Operation: SWICustomerPartyInsertOrUpdate

3.5.3.2 Contact Synchronization

- Service: SWIContactServices

- Operation: SWIContactServicesInsertOrUpdate

3.5.4 Outbound Web Services: Match and Fetch

Table 3-3 Outbound Web Services: Match and Fetch

Name

Description

MatchAccountSiebelReqABCSImpl

The MatchAccountSiebelReqABCSImpl service is synchronously invoked by Siebel CRM when a user enters match criteria in its Account form and triggers the match flow. The match flow returns a list of potential candidates that fits the criteria. This service supports this operation: MatchAccount.

MatchContactSiebelReqABCSImpl

The MatchContactSiebelReqABCSImpl service is synchronously invoked by Siebel CRM when a user enters match criteria in its Contact form and triggers a match flow. The match flow returns a list of potential candidates that fits the criteria. This service supports this operation: MatchContact.

FetchAccountSiebelReqABCSImpl

The FetchAccountSiebelReqABCSImpl service is synchronously invoked by Siebel CRM after the user picks an account from the list of candidates as the best match and requests that it be synchronized to Siebel. This service supports these operations:

FetchAccount

AsyncFetchCustomerPartyResponse

FetchContactSiebelReqABCSImpl

The FetchContactSiebelReqABCSImpl service is synchronously invoked by Siebel CRM after the user picks a contact from the list of candidates as the best match and requests that it be synchronized to Siebel. This service supports these operations:

FetchContact

AsyncFetchCustomerPartyResponse

SyncCustomerPartyListSiebelProvABCSImpl

The match and fetch flows use some of the same services as the synchronization flows.

For more information about Siebel CRM web services, navigate to the documentation library for Siebel applications on Oracle Technology Network and see the Siebel CRM Web Services Reference.

4 Oracle Customer Master Data Management Integration Option for Oracle E-Business Suite

This chapter provides an overview of the integration option for Oracle E-Business Suite, and discusses the process flows, interfaces, integration services.

This chapter includes the following sections:

- Section 4.2, "Match and Fetch between Oracle E-Business Suite and Oracle Customer Hub"

- Section 4.3, "Synchronization of Organizations and Persons from Oracle E-Business Suite to Oracle Customer Hub"

- Section 4.4, "Oracle E-Business Suite Integration Services"

- Section 4.5, "Oracle E-Business Suite Interfaces"

4.1 Overview

These are the process flows when Oracle E-Business Suite is chosen as a participating application when installing Oracle Customer Hub:

- Match and Fetch between Oracle E-Business Suite and Oracle Customer Hub.

- Synchronization of Organizations and Persons from Oracle E-Business Suite to Oracle Customer Hub.

For process flows from Oracle Customer Hub to Oracle E-Business Suite, see Chapter 2, "Oracle Customer Master Data Management Integration Base Pack".

For more information about Oracle E-Business Suite web services and documentation prior to Release 12.1.3, see the library on Oracle Technology Network: http://www.oracle.com/technetwork/documentation/applications-167706.html?. For Oracle E-Business Suite documentation for R12.1.3 and beyond, see this library: http://download.oracle.com/docs/cd/E18727_01/index.htm

4.1.1 Prerequisites

- Address is required in Siebel CRM in order to create an account in Oracle E-Business Suite.

- Accounts/contacts have been synchronized between Oracle Customer Hub and Oracle E-Business Suite prior to publishing the merge from the Oracle Customer Hub.

4.2 Match and Fetch between Oracle E-Business Suite and Oracle Customer Hub

The match or fetch integration flow is used to match organization and person parties between Oracle E-Business Suite and Oracle Customer Hub. This flow is initiated by Oracle E-Business Suite to generate a list of potential candidates from Oracle Customer Hub. From the list presented, a specific organization or person party entity is requested from Oracle Customer Hub, which returns the full profile of the selected record. The full profile from Oracle Customer Hub is then sent to Oracle E-Business Suite, at which point the parties are synchronized.

This integration flow leverages the Composite Application Framework to create a user interface (UI) that enables users to access Oracle Customer Hub to search for and to fetch the customer record from within Oracle E-Business Suite.

For more information about the match and fetch flow between Oracle E-Business Suite and Oracle Customer Hub, including the delivered Composite Application Framework UI, see Chapter 9: Deploying the Match and Fetch Enterprise Composite Application with the Customer MDM Pre-Built Integration.

Figure 4-1 illustrates the match and fetch functionality between Oracle E-Business Suite and Oracle Customer Hub.

Figure 4-1 Match and fetch Oracle E-Business Suite to Oracle Customer Hub

This integration flow uses these interfaces:

- CustomerPartyEBSV2

- CustomerPartyResponseEBSV2

- QueryCustomerPartyListUCMProvABCSImpl

- CustomerPartyOrchestrationEBSV2

- FetchCustomerPartyEBF

- QueryCustomerPartyUCMProvABCSImpl

- SyncCustomerPartyListEbizProvABCSImpl

Figure 4-2 illustrates the integration flow:

Figure 4-2 Match and fetch between Oracle E-Business Suite and Oracle Customer Hub

When you initiate this process, these events occur:

1. When a user accesses the Oracle E-Business Suite Customer Module to search for a party in the Customer Module, the composite UI application form appears.
The user enters optional and required information (such as Organization Name and Zip Code) and clicks Search. This triggers the match flow, where the composite UI application synchronously invokes the QueryCustomerPartyList operation of the CustomerPartyEBSV2, and passes the QueryCustomerPartyListEBM.

2. The CustomerPartyEBSV2 routes the QueryCustomerPartyListEBM to the QueryCustomerPartyListUCMProvABCSImpl provider service is synchronously invoked.

3. The QueryCustomerPartyListUCMProvABCSImpl determines whether the request is for an organization or a person. It transforms the QueryCustomerPartyListEBM, which contains the match criteria, into the Oracle Customer Hub specific organization or person match requestor ABM.
It invokes either the Oracle Customer Hub OrganizationMatchService or PersonMatchService.

4. The Oracle Customer Hub OrganizationMatchService or PersonMatchService queries the Oracle Customer Hub database based on the match criteria and returns the organization or person match response EBM, which contains a list of organization or person candidates back to the QueryCustomerPartyListUCMProvABCSImpl, which synchronously invoked it.

5. The QueryCustomerPartyListUCMProvABCSImpl receives the organization or person match response ABM and transforms it into the QueryCustomerPartyListResponseEBM.
During the transformation, the common IDs are generated and the cross-reference database is populated where necessary. The response message is sent back to the CustomerPartyEBSV2.

6. The CustomerPartyEBSV2 receives the QueryCustomerPartyListResponseEBM response from the QueryCustomerPartyListUCMProvABCSImpl and passes the message back to the composite UI Candidates List form, which displays the records that matched the criteria.

7. The user clicks the Request button to select the most appropriate record from the composite UI Candidates List form.
This triggers the fetch flow where the composite UI form synchronously invokes the FetchCustomerParty operation of the CustomerPartyOrchestrationEBSV2 business service. The QueryCustomerPartyEBM is passed with the Organization or Person common ID as the query criteria.

8. The CustomerPartyOrchestrationEBSV2 is a routing service that synchronously invokes the FetchCustomerParty operation of the FetchCustomerPartyEBF, and passes the QueryCustomerPartyEBM.

9. The FetchCustomerPartyEBF receives the QueryCustomerPartyEBM and synchronously invokes the QueryCustomerParty operation of the CustomerPartyEBSV2.

10. The CustomerPartyEBSV2 routes the QueryCustomerPartyEBM to the QueryCustomerPartyUCMProvABCSImpl provider service, which is synchronously invoked.

11. The QueryCustomerPartyUCMProvABCSImpl determines whether the request is for an organization or a person. It transforms the QueryCustomerPartyEBM, which contains the organization or person ID to the Oracle Customer Hub specific organization or person fetch service-requestor ABM.
It invokes either the Oracle Customer Hub OrganizationFetchService or PersonFetchService.

12. The Oracle Customer Hub OrganizationFetchService or PersonFetchService queries the Oracle Customer Hub database based on the organization or person ID.
It returns the organization or person fetch response ABM that contains the full organization or person data record from Oracle Customer Hub back to the QueryCustomerPartyUCMProvABCSImpl, which synchronously invoked it.

13. The QueryCustomerPartyUCMProvABCSImpl transforms the fetch response ABM into QueryCustomerPartyResponseEBM.
The response message is sent back to the CustomerPartyEBSV2.

14. The CustomerPartyEBSV2 receives the QueryCustomerPartyResponseEBM response from QueryCustomerPartyUCMProvABCSImpl and passes the message back to the FetchCustomerPartyEBF, which invoked it.

15. The FetchCustomerPartyEBF receives the QueryCustomerPartyResponseEBM and transforms it into the SyncCustomerPartyListEBM.
It asynchronously invokes the SyncCustomerPartyList operation of CustomerPartyEBSV2.

16. The SyncCustomerPartyList operation of the CustomerPartyEBSV2 asynchronously routes the SyncCustomerPartyListEBM message to the SyncCustomerPartyListEbizProvABCSImpl.

17. The SyncCustomerPartyListEbizProvABCSImpl receives the SyncCustomerPartyListEBM, and determines whether an account or contact synchronization is necessary.
It transforms the SyncCustomerPartyListEBM into the Oracle E-Business Suite organization or person SyncCustomerABM and invokes the appropriate Oracle E-Business Suite synchronization service.

18. The Oracle E-Business Suite synchronization service creates the party and account records and returns the SyncCustomerResponseABM, which contains the details of the record added.

19. The SyncCustomerPartyListEbizProvABCSImpl receives the SyncCustomerResponseABM and transforms it into the SyncCustomerPartyListResponseEBM.
As part of the transformation, the Oracle E-Business Suite ID is added to the cross-reference table. It then invokes the SyncCustomerPartyListResponse operation of the CustomerPartyResponseEBSV2, and passes the SyncCustomerPartyListResponseEBM.

20. The FetchCustomerPartyEBF receives the SyncCustomerPartyListResponseEBM callback from CustomerPartyResponseEBSV2, and transforms the SyncCustomerPartyListResponseEBM into the QueryCustomerPartyResponseEBM and returns the response to the CustomerPartyOrchestrationEBSV2.

21. The CustomerPartyOrchestrationEBSV2 returns the QueryCustomerPartyResponseEBM back to the composite UI with the full information of the party that was created.

For more information about the match and fetch flow between Oracle E-Business Suite and Oracle Customer Hub, including the delivered Composite Application Framework UI, see Chapter 9, "Deploying the Match and Fetch Enterprise Composite Application with the Customer MDM Pre-Built Integration".

4.3 Synchronization of Organizations and Persons from Oracle E-Business Suite to Oracle Customer Hub

This integration flow synchronizes organization and person party and customer account information from Oracle E-Business Suite to Oracle Customer Hub. Oracle Customer Hub consumes the message using AIA and after applying configurable data quality and data cleansing processes to the record, determines whether to update an existing record or to create a new customer record based on survivorship and update precedence rules in Oracle Customer Hub.

For this integration flow:

- Only Oracle E-Business Suite parties with customer accounts are synchronized to Oracle Customer Hub. Customers are party entities (org party or person party) that have an associated account relationship.

- Creating a new customer account record in Oracle E-Business Suite for a party raises a business event to kick off a real time synchronization flow to synchronize this information to Oracle Customer Hub:

- Party and customer account records to an account (org customer) or contact (person customer).

- Synchronize account sites information to UCM address information.

- Synchronize account contact information to UCM contact information.

- Updating any of these records for a customer account raises a similar synchronization event to synchronize information to Oracle Customer Hub.

Figure 4-3 illustrates the synchronize organizations and persons from Oracle E-Business Suite to Oracle Customer Hub:

Figure 4-3 Synchronizing organizations and persons from Oracle E-Business Suite to OCH

4.3.1 Synchronizing Organizations from Oracle E-Business Suite to Oracle Customer Hub

This integration flow is used to synchronize new organization accounts or updates from Oracle E-Business Suite to Oracle Customer Hub. This integration flow uses these interfaces:

- SyncCustomerPartyListEbizEventConsumer

- SyncCustomerPartyListEbizReqABCSImpl

- QueryCustomerPartyListEbizCreateAdapter

- QueryCustomerPartyListEbizUpdateAdapter

- SyncCustomerPartyListUCMProvABCSImpl

- CustomerPartyResponseEBSV2

- SyncCustomerPartyListResponseEbizProvABCSImpl

Figure 4-4 illustrates the integration flow:

Figure 4-4 Synchronizing organizations from Oracle E-Business Suite to Oracle Customer Hub

When you initiate this process, these events occur:

1. Oracle E-Business Suite account events are raised when a new account is created or updated in Oracle E-Business Suite.
This includes creates or updates to related addresses and contacts.

2. The SyncCustomerPartyListEbizEventConsumer service dequeues the messages and invokes the SyncCustomerPartyListEbizReqABCSImpl.
The consumer has two adapters defined to dequeue both create and update events.

3. The Oracle E-Business Suite requester ABC implementation,SyncCustomerPartyListEbizReqABCSImpl first queries the entire payload using Synchronization of Organizations and Persons from Oracle E-Business Suite to Oracle Customer Hub 4-10 Oracle Customer Master Data Management Integration Implementation Guide the keys in the event message using the QueryCustomerPartyListEbizCreateAdapter or QueryCustomerPartyListEbizUpdateAdapter and then transforms the Oracle E-Business Suite ABM into the SyncCustomerPartyListEBM and invokes the SyncCustomerPartyList operation of the CustomerPartyEBSV2.
This implementation service has separate branches for create and update, as the APIs to query the entire payload from EBS are different; therefore, the maps to the EBM are also different.

4. Invoking the CustomerPartyEBSV2 with the SyncCustomerPartyList operation routes the SyncCustomerPartyListEBM to the Oracle Customer Hub provider ABC implementation service, SyncCustomerPartyListUCMProvABCSImpl.

5. The Oracle Customer Hub provider ABC implementation service, SyncCustomerPartyListUCMProvABCSImpl, transforms the SyncCustomerPartyListEBM to the appropriate Oracle Customer Hub account ABM and invokes the Oracle Customer Hub API.

6. The response from the Oracle Customer Hub API is an integration object that has the account data if it was successfully created or updated, or both in Oracle Customer Hub, which is then transformed to the SyncCustomerPartyListResponseEBM in the process of which, the cross references tables are populated with the Oracle Customer Hub identifier values.
The response is also sent to the CustomerPartyResponseEBSV2 if the response comes back from Oracle Customer Hub. If the Oracle Customer Hub ABM message was put in a queue, then the response IO status has to be checked and the cross-reference entry for the Oracle Customer Hub ID must be created at a later time when the publish from Oracle Customer Hub happens for this account using integration IDs.

7. The SyncCustomerPartyListResponseEBM is transformed to Oracle E-Business Suite organization account ABM and the Oracle E-Business Suite organization account API is invoked.

4.3.2 Synchronizing Persons from Oracle E-Business Suite to Oracle Customer Hub

This integration flow synchronizes new persons or updates from Oracle E-Business Suite to Oracle Customer Hub. This integration flow uses these interfaces:

- SyncPersonAccountEbizEventConsumer

- SyncPersonAccountEbizReqABCSImpl

- QueryPersonAccountEbizCreateAdapter

- QueryPersonAccountEbizUpdateAdapter

- CustomerPartyEBSV2

- SyncCustomerPartyListUCMProvABCSImpl

- CustomerPartyResponseEBSV2

- SyncCustomerPartyListResponseEbizProvABCSImpl

Figure 4-5 illustrates the integration flow:

Figure 4-5 Synchronizing persons from Oracle E-Business Suite to Oracle Customer Hub

When you initiate this process, these events occur:

1. The Oracle E-Business Suite person account events are raised when a new person account is created or updated in Oracle E-Business Suite.
This includes creates/updates to related addresses.

2. The SyncPersonAccountEbizEventConsumer service dequeues the messages and invokes the SyncPersonAccountEbizReqABCSImpl
This consumer has two adapters defined to listen on both create and update events.

3. The Oracle E-Business Suite requester ABC implementation, SyncPersonAccountEbizReqABCSImpl, first queries the entire payload using the keys in the event message using the QueryPersonAccountEbizAdapter, then transforms the Oracle E-Business Suite ABM into the SyncCustomerPartyListEBM, and invokes the SyncCustomerPartyList operation of the CustomerPartyEBSV2.

4. This implementation service has separate branches for create and update, as the APIs to query the entire payload from EBS are different; therefore, the maps to EBM are also different.

5. Invoking the CustomerPartyEBSV2 with the SyncCustomerPartyList operation routes the SyncCustomerPartyListEBM to the Oracle Customer Hub provider ABC implementation service, SyncCustomerPartyListUCMProvABCSImpl.

6. The Oracle Customer Hub provider ABC implementation service, SyncCustomerPartyListUCMProvABCSImpl, transforms the SyncCustomerPartyListEBM into the appropriate Oracle Customer Hub person ABM and invokes the Oracle Customer Hub API.

7. The response from the Oracle Customer Hub API is an integration object that has the person data if it was successfully created or updated in Oracle Customer Hub.
This object is then transformed into the SyncCustomerPartyListResponseEBM during which, the cross-reference tables are populated with the Oracle Customer Hub identifier values. The response is sent to the CustomerPartyResponseEBSV2 if the response comes back from Oracle Customer Hub. If the Oracle Customer Hub ABM message was put in a queue, then the response IO status has to be checked and the cross-reference entry for the Oracle Customer Hub ID must be created at a later time when the publish from Oracle Customer Hub happens for this person using integration IDs.

8. The SyncCustomerPartyListResponseEBM is transformed into the Oracle E-Business Suite person account ABM and the Oracle E-Business Suite person account API is invoked.

4.4 Oracle E-Business Suite Integration Services

These are the integration services for Oracle E-Business Suite:

- SyncCustomerPartyListEbizProvABCSImpl

- QueryPersonAccountEbizUpdateAdapter

- QueryCustomerPartyListEbizCreateAdapter

- QueryCustomerPartyListEbizUpdateAdapter

- SyncPersonAccountEbizReqABCSImpl

- SyncPersonAccountEbizEventConsumer

- SyncCustomerPartyListEbizEventConsumer

- SyncCustomerPartyListResponseEbizProvABCSImpl

- SyncCustomerPartyListEbizAdapter

- SyncCustomerPartyListEbizReqABCSImpl

- QueryPersonAccountEbizCreateAdapter

4.4.1 SyncCustomerPartyListEbizProvABCSImpl

The match and fetch flows use some of the same services as the synchronization flows. The SyncCustomerPartyListEbizProvABCSImpl service is implemented in BPEL and is invoked by the SyncCustomerPartyList operation of the CustomerPartyEBSV2, passing in the synchronize CustomerPartyListEBM payload. This service transforms the EBM into an Oracle E-Business Suite ABM and invokes the Oracle E-Business Suite APIs.

4.4.2 QueryPersonAccountEbizUpdateAdapter

The QueryPersonAccountEbizUpdateAdapter is implemented as a routing service in which the Oracle E-Business Suite adapter for querying the Person Account is registered as a Mediator service so that the apps adapter call from the ABCS Requester Implementation becomes a SOAP web service call.

4.4.3 QueryCustomerPartyListEbizCreateAdapter

The QueryCustomerPartyListEbizCreateAdapter is implemented as a routing service in which the Oracle E-Business Suite adapter for querying the Person Account is registered as a Mediator service so that the Apps adapter call from the ABCS becomes a SOAP web service call.

4.4.4 QueryCustomerPartyListEbizUpdateAdapter

The QueryCustomerPartyListEbizUpdateAdapter is implemented as a routing service in which the Oracle E-Business Suite adapter for querying the Person Account is registered as a Mediator service so that the Apps adapter call from the ABCS becomes a SOAP web service call.

4.4.5 SyncPersonAccountEbizReqABCSImpl

The SyncPersonAccountEbizReqABCSImpl service is implemented in BPEL and is invoked by the SyncPersonAccountEbizEventConsumer service, passing in the Person Account event payload. This service queries the entire Person Account Oracle E-Business Suite ABM message and then transforms it into an EBM and invokes the SyncCustomerPartyList operation of the CustomerPartyEBSV2.

4.4.6 SyncPersonAccountEbizEventConsumer

The SyncPersonAccountEbizEventConsumer is implemented as a routing service that listens on the Person Account event (create/update of person account data including child entities) in Oracle E-Business Suite and dequeues the event message and routes it to the SyncPersonAccountEbizReqABCSImpl service.

This consumer listens to two business events on the Oracle AQ:

- oracle.apps.ar.hz.PersonCustBO.create

- oracle.apps.ar.hz.PersonCustBO.update

4.4.7 SyncCustomerPartyListEbizEventConsumer

The SyncCustomerPartyListEbizEventConsumer service is responsible for dequeueing the Oracle create or update account business event payloads from AQ and invoking the appropriate operation of the requestor ABCS, SyncCustomerPartyEbizReqABCSImpl. The dequeue operation is done depending on the CorrelationID in AQ. For customer create, correlation ID is oracle.apps.ar.hz.OrgCustBO.create. For customer update, correlation ID is oracle.apps.ar.hz.OrgCustBO.update.

This consumer listens to two business events on the Oracle AQ:

- oracle.apps.ar.hz.OrgCustBO.create

- oracle.apps.ar.hz.OrgCustBO.update

4.4.8 SyncCustomerPartyListResponseEbizProvABCSImpl

The SyncCustomerPartyListResponseEbizProvABCSImpl service is implemented in BPEL and is invoked by the SyncCustomerPartyListResponse operation of the CustomerPartyResponseEBSV2, passing in the SyncCustomerPartyListResponseEBM payload. This service transforms the EBM into an Oracle E-Business Suite ABM and invokes the Oracle E-Business Suite API to synchronize the response.

4.4.9 SyncCustomerPartyListEbizAdapter

The SyncCustomerPartyListEbizAdapter service is an Oracle Applications Adapter service registered in Mediator. This adapter service exposes the HZ_AIA_CUSTOM_PUB.sync_acct_order PL/SQL API. This wrapper API is delivered as part of EBS HZ.N.

This service is the interface through which an order is created in Oracle E-Business Suite, and is invoked by the SyncCustomerPartyListEbizProvABCSImpl as part of the Update Customer and Create Order integration flow.

The SyncCustomerPartyListEbizAdapter service exposes the synchronize customer party operation of the PL/SQL wrapper API. This operation is a synchronous request + reply operation.

4.4.10 SyncCustomerPartyListEbizReqABCSImpl

The SyncCustomerPartyListEbizReqABCSImpl service is responsible for transforming the Oracle Apps, account, contact, or address created or updated event message into the appropriate SyncCustomerPartyListEBM format and invoking the SyncCustomerPartyList operation of the CustomerPartyEBSV2. There are two asynchronous operations for this service: create and update.

4.4.11 QueryPersonAccountEbizCreateAdapter

The QueryPersonAccountEbizCreateAdapter is implemented as a routing service in which the Oracle E-Business Suite adapter for querying the Person Account is registered as a Mediator service so that the apps adapter call from the ABCSReqImpl becomes a SOAP web service call.

4.5 Oracle E-Business Suite Interfaces

These are the Oracle E-Business Suite interfaces.

4.5.1 Inbound Web Services: Fetch

- HZ_AIA_CUSTOM_PKG. SYNC_ACCT_ORDER

- HZ_PERSON_CUST_BO_PUB.SAVE_PERSON_CUST_BO

4.5.2 Outbound from E-Business Suite or Composite App Event Interfaces: Match and Fetch

- Account Match

- Contact Match

- Account Fetch

- Contact Fetch

4.5.3 Inbound Web Services: Person or Organization Synchronization

Table 4-1 Inbound Web Services: Person or Organization Synchronization

API Name

Schema

HZ_ORG_CUST_BO_PUB.GET_ORG_CUSTS_CREATED

HZ_ORG_CUST_BO

HZ_ORG_CUST_BO_PUB.GET_ORG_CUSTS_UPDATED

HZ_ORG_CUST_BO

HZ_PERSON_CUST_BO_PUB.GET_PERSON_CUSTS_CREATED

HZ_PERSON_CUST_BO

HZ_PERSON_CUST_BO_PUB.GET_PERSON_CUSTS_UPDATED

HZ_PERSON_CUST_BO

HZ_AIA_CUSTOM_PKG. SYNC_ACCT_ORDER

HZ_ORG_CUST_BO

HZ_PERSON_CUST_BO_PUB.SAVE_PERSON_CUST_BO

HZ_PERSON_CUST_BO

4.5.4 Outbound from E-Business Suite Event Interfaces: Organization or Person Synchronization

Table 4-2 Outbound from EBS Event Interfaces: Organization or Person Synchronization

Event Name

Schema

Description

oracle.apps.ar.hz.OrgCustBO.create

Event Name

CDH_EVENT_ID

This event is raised when an organization account is created

oracle.apps.ar.hz.OrgCustBO.update

Event Name

CDH_EVENT_ID

This event is raised when an organization account is updated

oracle.apps.ar.hz.PersonCustBO.create

Event Name

CDH_EVENT_ID

This event is raised when a person account is created

oracle.apps.ar.hz.PersonCustBO.update

Event Name

CDH_EVENT_ID

This event is raised when a person account is updated

For more information about Oracle E-Business Suite web services and documentation prior to Release 12.1.3, see the library on Oracle Technology Network: http://www.oracle.com/technetwork/documentation/applications-167706.html?. For Oracle E-Business Suite documentation for R12.1.3 and beyond, see this library: http://download.oracle.com/docs/cd/E18727_01/index.htm?

5 Oracle Customer Master Data Management Integration Option for Oracle Communications BRM

This chapter provides an overview of the integration option for Oracle Communications Billing and Revenue Management (BRM), and discusses the interfaces, and integration services.

This chapter contains the following sections:

- Section 5.2, "Oracle BRM Interfaces"

- Section 5.3, "Oracle BRM Integration Services"

5.1 Overview

There is no process flow from Oracle BRM to Oracle Customer Hub (OCH).

For OCH to Oracle BRM flows, see Chapter 2, "Oracle Customer Master Data Management Integration Base Pack".

Note:

The status of any entity is special compared to other fields of that entity. Account status or Contact status changes from valid to invalid or from active to inactive, have implications in various systems such as billing or CRM or ERP.

If customers need to update status in systems other than OCH, ensure the survivorship rules are defined properly in OCH so that this status update is not rejected by OCH. If survivorship rules are not configured properly, then OCH will reject the update and reverse the status back in CRM (or any other source application). This is true for any updates to an account or a contact.

When the Oracle Communications Order To Cash Siebel CRM and BRM options are deployed along with the Customer MDM Base Pack and BRM options, and the account status sync is enabled (in Comms O2C), then there is a chance that by the time OCH rejects the update from CRM, BRM may already have been updated with the status information from CRM directly.

To avoid this mismatch between Siebel CRM and BRM, if OCH is the master for account status, Oracle recommends that customers put business process controls in place to disallow changes to account status in Siebel CRM.

Alternatively, if status needs to be updated in any source system, then customers can make sure that survivorship rules are configured in OCH to allow updates from any source system to be accepted by OCH.

For more information about the implications of enabling status sync to BRM see the Oracle Communications Order to Cash Integration Pack for Siebel CRM, Oracle Communications Order and Service Management, and Oracle Communications Billing and Revenue Management Implementation Guide, section "18.4.2.1 Account Status Synchronization Methodology."

5.2 Oracle BRM Interfaces

The SyncCustomerPartyListBRMCommsProvABCSImpl is the only service that directly calls Oracle BRM. A new configuration property is added for this ABCS called StatusUpdateRequired. This property is used to indicate the status whether the account in Siebel needs to be communicated to Oracle BRM or not. In addition, there are appropriate configuration properties added supporting extensibility.

5.3 Oracle BRM Integration Services

These are the integration services for Oracle BRM spoke.

- Core2CommsCustomerPartyBridge

- CommunicationsCustomerPartyEBSV2

- SyncCustomerPartyListBRMCommsProvABCSImpl

- CommunicationsCustomerPartyResponseEBSV2

- SyncCustomerPartyListBRMCommsJMSProducer

- SyncCustomerPartyListBRM_01CommsJMSConsumer

5.3.1 Core2CommsCustomerPartyBridge

The Core2CommsCustomerPartyBridge routes messages from the core CustomerPartyEBSV2 to the CommunicationsCustomerPartyEBSV2.

For more information about Communications-specific services or flows, see the Oracle Communications Order to Cash Integration Pack for Siebel CRM, Oracle Communications Order and Service Management, and Oracle Communications Billing and Revenue Management Implementation Guide, or the Siebel CRM Integration Pack for Oracle Communications Billing and Revenue Management: Agent Assisted Billing Care Implementation Guide.

5.3.2 CommunicationsCustomerPartyEBSV2

CommunicationsCustomerPartyEBSV2 is used to route the CustomerPartyEnterpriseObjects for creating a new customer or updating the customer in Oracle BRM. This enterprise business service routes the messages from Siebel and OCH to Oracle BRM.

If the incoming message is from Siebel, the message is routed through the SyncCustomerPartyListBRMCommsJMSProducer to a topic; then to the SyncCustomerPartyListBRM_01CommsJMSConsumer; and finally to the SyncCustomerPartyListBRMProvABCSImpl, which synchronizes the data to Oracle BRM.

If the incoming message is from OCH, the message is stamped with the actionCode value as Update because it is an updated message and then sent to the SyncCustomerPartyListBRMProvABCSImpl, which in turn synchronizes the data to Oracle BRM.

If the incoming message is from Siebel Order then this service routes the message to SyncCustomerPartyListBRMProvABCSImpl, which in turn synchronizes the data to Oracle BRM.

For more information about this EBS, see the Oracle Fusion Middleware Developer's Guide for Oracle Application Integration Architecture Foundation Pack, "Designing and Developing Enterprise Business Services" and Oracle Fusion Middleware Concepts and Technologies Guide for Oracle Application Integration Architecture Foundation Pack, "Understanding Enterprise Business Services."

For more information about Communications-specific services or flows, see the Oracle Communications Order to Cash Integration Pack for Siebel CRM, Oracle Communications Order and Service Management, and Oracle Communications Billing and Revenue Management Implementation Guide, or the Siebel CRM Integration Pack for Oracle Communications Billing and Revenue Management: Agent Assisted Billing Care Implementation Guide.

5.3.3 SyncCustomerPartyListBRMCommsProvABCSImpl

The SyncCustomerPartyListBRMCommsProvABCSImpl service is invoked by CommsProcessBillingAccountListEBF or SyncAccountSiebelReqABCSImpl or SyncOrganizationUCMReqABCSImpl service when the routing rules determine that Oracle BRM is to be the service provider of the SyncCustomerPartyList operation of the CommunicationsCustomerPartyEBSV2.

This either occurs during the integration flow that is initiated by the account-synchronization-processing portion of the order flow or during the account update flow.

For more information about Communications-specific services or flows, see the Oracle Communications Order to Cash Integration Pack for Siebel CRM, Oracle Communications Order and Service Management, and Oracle Communications Billing and Revenue Management Implementation Guide, or the Siebel CRM Integration Pack for Oracle Communications Billing and Revenue Management: Agent Assisted Billing Care Implementation Guide.

5.3.4 CommunicationsCustomerPartyResponseEBSV2

CommunicationsCustomerPartyResponseEBSV2 is used for routing the CustomerPartyResponse EnterpriseObjects to synchronize the status back to the caller.

For more information about this EBS, see the Oracle Fusion Middleware Developer's Guide for Oracle Application Integration Architecture Foundation Pack, "Designing and Developing Enterprise Business Services" and Oracle Fusion Middleware Concepts and Technologies Guide for Oracle Application Integration Architecture Foundation Pack, "Understanding Enterprise Business Services."

For more information about Communications-specific services or flows, see the Oracle Communications Order to Cash Integration Pack for Siebel CRM, Oracle Communications Order and Service Management, and Oracle Communications Billing and Revenue Management Implementation Guide, or the Siebel CRM Integration Pack for Oracle Communications Billing and Revenue Management: Agent Assisted Billing Care Implementation Guide.

5.3.5 SyncCustomerPartyListBRMCommsJMSProducer

This process enqueues the customer messages from the communication customer party EBS to a topic, and routes the message to the SyncCustomerPartyListBRMProvABCSImpl.

For more information about Communications-specific services or flows, see the Oracle Communications Order to Cash Integration Pack for Siebel CRM, Oracle Communications Order and Service Management, and Oracle Communications Billing and Revenue Management Implementation Guide, or the Siebel CRM Integration Pack for Oracle Communications Billing and Revenue Management: Agent Assisted Billing Care Implementation Guide.

5.3.6 SyncCustomerPartyListBRM_01CommsJMSConsumer

This process consumes the topic messages. For every billing instance, one such consumer must be deployed. It checks with the cross-reference data to ensure that the customer belongs to the corresponding instance. If the data belongs to the corresponding Oracle BRM instance, this process stamps the appropriate target system identifiers in EBM and routes the message to the provider.

For more information about Communications-specific services or flows, see the Oracle Communications Order to Cash Integration Pack for Siebel CRM, Oracle Communications Order and Service Management, and Oracle Communications Billing and Revenue Management Implementation Guide, or the Siebel CRM Integration Pack for Oracle Communications Billing and Revenue Management: Agent Assisted Billing Care Implementation Guide.

Part II

Implementing the Delivered Integrations

Part 2 includes the following chapters:

- Chapter 6, "Reviewing Prerequisites"

- Chapter 7, "Configuring the Customer MDM Pre-Built Integration"

- Chapter 8, "Customer Data Enrichment"

- Chapter 9, "Deploying the Match and Fetch Enterprise Composite Application with the Customer MDM Pre-Built Integration"

6 Reviewing Prerequisites

This chapter includes the following sections:

- Section 6.1, "Prerequisites: Match and Fetch Flows"

- Section 6.2, "Prerequisites: Synchronization Flows"

- Section 6.3, "Prerequisites: Merge Flows"

6.1 Prerequisites: Match and Fetch Flows

Here are the prerequisites for the match and fetch flows:

- All participating applications must be set up and working properly.
On the Oracle Customer Hub side, this includes Data Quality services even when provided by a third-party application.

- For the match/fetch integration flow between Oracle E-Business Suite and Oracle Customer Hub, you must install the Match and Fetch Enterprise Composite Application.

For more information about installing the Match Fetch Enterprise Composite Application, see Chapter 9, "Deploying the Match and Fetch Enterprise Composite Application with the Customer MDM Pre-Built Integration"

6.2 Prerequisites: Synchronization Flows

Here are the prerequisites for the synchronization flows:

- OCH configuration determines the method of publishing as real-time or batch.

- Cross-references for organizations are manually set up.

6.3 Prerequisites: Merge Flows

Here is the prerequisite for the merge flows:

- The prerequisite is that accounts/contacts have been synchronized between Oracle Customer Hub and Siebel CRM/Oracle E-Business Suite prior to publishing the merge from Oracle Customer Hub.

7 Configuring the Customer MDM Pre-Built Integration

Participating applications must be set up for the Customer MDM integration to work properly. This includes setting up organizations, creating system profiles, setting up cross references, managing Domain Value Maps (DVMs) and setting configuration properties.

This chapter contains the following sections:

- Section 7.1, "Configuring Siebel CRM"

- Section 7.2, "Setting Up Organizations"

- Section 7.3, "Setting Up Cross-References"

- Section 7.4, "Working with Cross-References"

- Section 7.5, "Working with Domain Value Maps"

- Section 7.6, "Creating Oracle E-Business Suite System Profiles"

- Section 7.7, "Scheduling Concurrent Processes"

- Section 7.8, "Configuring Sequencing for the Synchronize Flows from Siebel CRM to Oracle Customer Hub"

- Section 7.9, "Handling Errors"

- Section 7.10, "Using the Composite Application Framework"

- Section 7.11, "Setting Configuration Properties"

7.1 Configuring Siebel CRM

After you install and configure Siebel CRM and any required patches as described in the Oracle Application Integration Architecture Installation and Upgrade Guide for Prebuilt Integrations "Software Requirements", perform the following configuration steps within your Siebel CRM system.

To configure the Oracle Fusion Middleware (FMW) URLs for the outbound web services in the Siebel CRM application, follow these steps:

1. Go to Site Map.

2. Click Administration - Web Services.

3. Click Outbound Web Service. In the Name field of the web services applet, query for the following services:

- SyncCustomerSiebelEventAggregator.

- MatchAccountSiebelReqABCSImpl.

- MatchContactSiebelReqABCSImpl.

- FetchAccountSiebelReqABCSImpl.

- FetchContactSiebelReqABCSImpl.

4. Get the FMW URLs for these services from the EM console. Update the Address column of the Service Port applet to point to the correct FMW server and port number. For example, for SyncCustomerSiebelEventAggregator, the URL to be updated is -http://<SOA_HOST>:<SOA_PORT>/soa-infra/services/default/SyncCustomerSiebelEventAggregator/Client.

5. Enable the workflows that are listed in the following table:

Table 7-1 Workflow Listing

Workflow Name

Status

Project

SWI Account Update Workflow

New

Web Service Integration

SWI Address Update Workflow

New

Web Service Integration

SWI Contact Update Workflow

New

Web Service Integration

SWI External Account Integration Process

New

Web Service Integration

SWI External Account Request Sync Process

New

Web Service Integration

SWI External Contact Integration Process

New

Web Service Integration

SWI External Contact Req Integration Process

New

Web Service Integration

SWI External Contact Request Sync Process

New

Web Service Integration

SWI External Customer Req Integration Process

New

Web Service Integration

SIA External Integration Process

New

Web Service Integration

For more information about how to enable workflows, see Siebel Business Process Framework: Workflow Guide, available on Oracle Technology Network.

6. Enable the component groups that are listed in the following table:

Table 7-2 Component Groups Listing

Component Group Name

Alias

Enterprise Application Integration

EAI

Siebel ISS

ISS

Workflow Management

Workflow

For more information about how to enable component groups, see Siebel System Administration Guide, available on Oracle Technology Network.

7.2 Setting Up Organizations

Set up Oracle Customer Hub, then obtain Oracle E-Business Suite Operating Unit IDs, and then map Siebel CRM Organizations.

7.2.1 Oracle Customer Hub

Users need to determine what organizations they want to support and then get the IDs for those organizations.

1. Log in to Oracle Customer Hub Applications.

2. Click Site Map.

3. Select Administration-Groups, Organizations.

4. Identify the default organization in Oracle Customer Hub or for the Oracle E-Business Suite Operating Unit that needs to be used as the default, create the same in Oracle Customer Hub. If multiple organizations are used, those also have to be set up. In addition, identify the organizations corresponding to every unique combination of the three-part SAP Sales Area key, and set it up

Figure 7-1 Administration - Group tab

7.2.2 Obtaining Oracle E-Business Suite Operating Unit IDs

Users need to determine what organizations they want to support and then get the IDs for those organizations.

To get the operating unit details:

1. Log in to Oracle E-Business Suite database.

2. Identify the operating units that need to be synchronized or maintained in Oracle E-Business Suite.
If you want to pick other Operating Units, use this query:

select organization_id, name from hr_operating_units

7.2.3 Mapping Siebel CRM Organizations

To map Siebel organizations to EBS/Oracle Customer Hub operating units:

1. Log in to Siebel Applications.

2. Click Site Map.

3. Select Administration-Groups, Organizations.

4. For the Oracle E-Business Suite Operating Units that were identified previously, create the same in Siebel CRM. Here is a screen shot:

Figure 7-2 Administration - Group tab in Siebel

7.3 Setting Up Cross-References

Cross-references can be created after organizations have been created in Siebel CRM, Oracle E-Business Suite, and Oracle Customer Hub.

7.3.1 Identifying Siebel Row IDs

To identify Siebel Row IDs:

1. Log in to the Siebel database as the table owner.

2. Run this query to get the IDs for the organizations created in the previous step:

select row_id, name from s_org_ext where name like '%Vision%'

7.3.2 Identifying Oracle E-Business Suite Entities

To identify Oracle E-Business Suite entities:

1. Log in to Oracle E-Business Suite database (Apps/Apps).

2. Identify the Operating Units that need to be synchronized or maintained in Oracle E-Business Suite.
If you want to pick other Operating Units, use this query:

select organization_id, name from hr_operating_units

7.3.3 Identifying Oracle Customer Hub Row IDs

To identify Oracle Customer Hub Row IDs:

1. Log in to the Oracle Customer Hub database as the table owner.

2. Run this query to get the IDs for the Organizations you created:

select row_id, name from s_org_ext where name like '%Vision%'

Here is an alternative way to obtain the row ID:

1. Log in to Oracle Customer Hub.

2. Go to the site map.

3. Navigate to organization administration.

4. In the list box, select the appropriate organization.

5. From the Help menu, select About Record.

7.3.4 Populating Seed Values in Cross-Reference Tables

The cross-reference data for the ORGANIZATION_ID XREF entity should be added manually before you use the PIP, by using SQL insert statements. The following rows need to be created in the XRef data table:

- One row for Oracle Customer Hub: UCM_01.

- One row for Common: COMMON.

- One row for Oracle E-Business Suite: EBIZ_01 (if the Oracle E-Business Suite option is installed).

- One row for Siebel CRM: SEBL_01 (if the Siebel CRM option is installed).

The physical XREF table (XREF_DATA) can be located in the database configured for FMW/SOA and contains the following columns:

Table 7-3 XRef Table Format

Column Name

Description

XREF_TABLE_NAME

This column stores the XREF data types. For example:

- oramds:/apps/AIAMetaData/xref/ORGANIZATION_ID.xref

- oramds:/apps/AIAMetaData/xref/CUSTOMERPARTY_ACCOUNTID.xref

XREF_COLUMN_NAME

This column stores the values indicating the edge applications and COMMON value:

- UCM_01

- EBIZ_01

- COMMON

- SEBL_01

ROW_NUMBER

This column stores the GUID.

VALUE

This column stores the actual data that is cross-referenced.

IS_DELETED

This column indicates whether the column is deleted or not. For example, 'N'.

LAST_MODIFIED

This column stores last modified time.

Table 7-4 ORGANIZATION_ID Table Value Format

XRef_Column_Name

Value

COMMON

GUID

UCM_01

Organization Id from OCHFor example, 0-R9NH

EBIZ_01

Ebiz Org IDFor example, 204

SEBL_01

Organization Id (Business Unit) from Siebel CRMFor example, 88-8KO98

Sample SQL Insert Statement for ORGANIZATION_ID Table

For UCM_01:

INSERT INTO XREF_DATA (XREF_TABLE_NAME, XREF_COLUMN_NAME, ROW_NUMBER, VALUE, IS_DELETED, LAST_MODIFIED) VALUES (' oramds:/apps/AIAMetaData/xref/ORGANIZATION_ID.xref', 'UCM_01', 'BD618D40B30C11DEBFA5D9490F57512E', '0-R9NH', 'N', SYSTIMESTAMP)

For EBIZ_01:

INSERT INTO XREF_DATA (XREF_TABLE_NAME, XREF_COLUMN_NAME, ROW_NUMBER, VALUE, IS_DELETED, LAST_MODIFIED) VALUES (' oramds:/apps/AIAMetaData/xref/ORGANIZATION_ID.xref', 'EBIZ_01', 'BD618D40B30C11DEBFA5D9490F57512E', '204', 'N', SYSTIMESTAMP)

For SEBL_01:

INSERT INTO XREF_DATA (XREF_TABLE_NAME, XREF_COLUMN_NAME, ROW_NUMBER, VALUE, IS_DELETED, LAST_MODIFIED) VALUES (' oramds:/apps/AIAMetaData/xref/ORGANIZATION_ID.xref', 'SEBL_01', 'BD618D40B30C11DEBFA5D9490F57512E', '88-8KO98', 'N', SYSTIMESTAMP)

For COMMON:

INSERT INTO XREF_DATA (XREF_TABLE_NAME, XREF_COLUMN_NAME, ROW_NUMBER, VALUE, IS_DELETED, LAST_MODIFIED) VALUES (' oramds:/apps/AIAMetaData/xref/ ORGANIZATION_ID.xref', 'COMMON ', 'BD618D40B30C11DEBFA5D9490F57512E', '2d373037303636323539363632323735', 'N', SYSTIMESTAMP)

Table 7-5 Sample Data for XRef Oraganization_ID Table

XRef_Table

XRef_Column

Row_Number

Value

IS_Deleted

Last_Modified

oramds:/apps/AIAMetaData/xref/ORGANIZATION_ID.xref

EBIZ_01

BD618D40B30C11DEBFA5D9490F57512E

204

N

2012-4-11.11.29. 54. 210000000

oramds:/apps/AIAMetaData/xref/ORGANIZATION_ID.xref

SEBL_01

BD618D40B30C11DEBFA5D9490F57512E

88-8KO98

N

2012-4-11.11.29. 54. 210000000

oramds:/apps/AIAMetaData/xref/ORGANIZATION_ID.xref

UCM_01

BD618D40B30C11DEBFA5D9490F57512E

0-R9NH

N

2012-4-11.11.29. 54. 210000000

oramds:/apps/AIAMetaData/xref/ORGANIZATION_ID.xref

COMMON

BD618D40B30C11DEBFA5D9490F57512E

2d373037303636323539363632323735

N

2012-4-11.11.29. 54. 210000000

7.3.5 Validating Cross-References

To validate cross-references:

1. Log in to the AIA XREF database.

2. Query the Table XREF_DATA to confirm that every organization used in the XML files has three records. Use this query:

select value||'::'||Xref_column_name from xref_Data where row_number in
(select row_number from xref_data where xref_table_name =
'oramds:/apps/AIAMetaData/xref/ORGANIZATION_ID.xref' and value in ('204')).

3. Replace the value for the organizations. (The number of operating units depends on your set up.)

7.4 Working with Cross-References

Cross-references map and connect the records within the application network, and enables these applications to communicate in the same language. The integration server stores the relationship in a persistent way so that others can refer to it.

AIA cross-references are created for any entity that is created across applications using AIA. These cross-references are used for different type of entities including accounts, contacts, addresses, orders, service requests, trouble tickets, products, and so on.

AIA cross-references are created as part of an integration flow when an application requests AIA services to create corresponding entities in one or more other applications.

AIA cross-references are used to propagate any change or update to an entity from one application to the corresponding entities in other applications.

For more information about creating cross references, see Oracle Fusion Middleware Developer's Guide for Oracle SOA Suite, "Working with Cross References."

These are the cross-references for the Customer MDM integration:

Table 7-6 Cross-references

Cross-Reference Table Name

Column Name

Description

CUSTOMERPARTY_PARTYID

SEBL_01,COMMON,EBIZ_01,UCM_01

Customer Party IDs. For lookup and populate.

CUSTOMERPARTY_ACCOUNTID

SEBL_01,COMMON,EBIZ_01,UCM_01, BRM_01

Customer Party Account IDs. For lookup and populate.

CUSTOMERPARTY_BILLPROFILEID

SEBL_01,COMMON, BRM_01

Siebel bill profile ID is mapped one-to-one to the Oracle BRM bill info ID.

CUSTOMERPARTY_PAYPROFILEID

SEBL_01,COMMON, BRM_01

Siebel bill profile ID is mapped one-to-one to the Oracle BRM pay info ID.

CUSTOMERPARTY_CONTACTID

SEBL_01,COMMON,EBIZ_01,UCM_01

Customer Party Contact IDs. For lookup and populate.

CUSTOMERPARTY_PARTYLOCATIONID

SEBL_01,COMMON,EBIZ_01,UCM_01

Customer Party Location IDs. For lookup and populate.

CUSTOMERPARTY_LOCATIONREFID

SEBL_01,COMMON,EBIZ_01,UCM_01

Customer Party Location Reference Ids

CUSTOMERPARTY_ADDRESSID

SEBL_01,COMMON,EBIZ_01,UCM_01, BRM_01

Customer Party Address IDs. For lookup and populate.

Oracle BRM account ID is cross-referenced here if the address is used as the billing address (nameinfo[1]) on that account. Oracle BRM pay info ID is cross-referenced here if the address is used as the pay info address on an account.

The ACCOUNT and PAYINFO codes are prefixed to each ID to indicate what type of ID it is.

CUSTOMERPARTY_LOCATIONREFID

,COMMON,UCM_01

Lookup and Populate

CUSTOMERPARTY_PARTYCONTACTID

SEBL_01,COMMON,EBIZ_01,UCM_01, BRM_01

Customer Party contact IDs. For lookup and populate.

Oracle BRM account ID is cross-referenced here if the contact is used as the name (nameinfo[1]) on that account. Oracle BRM pay info ID is cross-referenced here if the contact is used as the name on the pay info on an account.

The ACCOUNT and PAYINFO codes are prefixed to each ID to indicate what type of ID it is.

CUSTOMERPARTY_ACCOUNT_DEFAULTBALGRP

COMMON, BRM_01

Maps the default balance group to the common Account ID. This is populated after account creation in the CreateCustomerParty provider ABCS implementation service, and is referenced by the order flow during service creation.

ORGANIZATION_ID

SEBL_01,COMMON,EBIZ_01,UCM_01

Organization IDs, For lookup and populate.

CUSTOMERPARTY_ACCOUNT_PHONECOMMID

SEBL_01,COMMON,EBIZ_01,UCM_01

Customer Party Account's Phone contact points. For lookup and populate.

CUSTOMERPARTY_ACCOUNT_FAXCOMMID

SEBL_01,COMMON,EBIZ_01,UCM_01

Customer Party Account's Fax contact points. For lookup and populate.

CUSTOMERPARTY_CONTACT_PHONECOMMID

SEBL_01,COMMON,EBIZ_01,UCM_01

Customer Party Contact's Phone contact points

CUSTOMERPARTY_CONTACT_FAXCOMMID

SEBL_01,COMMON,EBIZ_01,UCM_01

Customer Party Contact's Fax contact points

CUSTOMERPARTY_CONTACT_EMAILCOMMID

SEBL_01,COMMON,EBIZ_01,UCM_01

Customer Party Contact's Email/Web contact points. For lookup and populate.

CUSTOMERPARTY_ACCOUNT_WEBCOMMID

SEBL_01,COMMON,EBIZ_01,UCM_01

Customer Party Account's Web URL contact points. For lookup and populate.

7.5 Working with Domain Value Maps

Domain value maps (DVMs) are a standard feature of the Oracle SOA Suite and enable you to equate lookup codes and other static values across applications, for example, FOOT and FT; or US and USA.

DVMs are static in nature, though administrators can add additional maps as needed. Transactional business processes never update DVMs-they only read from them. They are stored in XML files and cached in memory at run-time.

DVM types are seeded for the Customer MDM integration flows, and administrators can extend the list of mapped values by adding more maps. The DVM data is synchronized with what the participating applications use. This synchronization should be done prior to running any initial loads, or initiating any incremental transactional flows.

These are the domain value mappings (DVMs) for the Customer MDM integration:

Table 7-7 Domain Value Maps

DVM Type

DVM Column Name

Comments

CUSTOMERPARTY_TYPECODE

Common, SEBL_01

Consumer vs. Business

CUSTOMERPARTY_BILLPROFILE_FREQUENCYCODE

Common, Siebel, BRM_01

Billing frequency (monthly, yearly, quarterly, and so on)

CUSTOMERPARTY_BILLPROFILE_BILLTYPECODE

Common, Siebel, BRM_01

Bill type (summary and detailed).

CUSTOMERPARTY_PAYPROFILE_PAYMETHODCODE

Common, Siebel, BRM_01

Payment-profile payment method types: credit card, direct debit, and invoice/bill me.

CUSTOMERPARTY_PAYPROFILE_PAYTERMCODE

Common, BRM_01

Payment term codes

CUSTOMERPARTY_PAYPROFILE_DELIVERYPREF

Common, BRM_01

Bill media/delivery preference (Email and Mail).

CUSTOMERPARTY_PAYPROFILE_CREDIT_CARDTYPE

Common, Siebel

Credit Card type (Visa, MasterCard, and so on.)

CUSTOMERPARTY_PAYPROFILE_BANKACCOUNTTYPE

Common, Siebel, BRM_01

Bank account type (checking, savings, and so on)

CUSTOMERPARTY_ACCOUNTTYPECODE

SEBL_01, COMMON, UCM_01

Account Type Codes

ADDRESS_COUNTRYID

SEBL_01, COMMON, EBIZ_01, UCM_01

Country Codes

STATE

SEBL_01, COMMON, EBIZ_01, UCM_01

State Codes

PROVINCE

SEBL_01, COMMON, EBIZ_01, UCM_01

Province

CURRENCY_CODE

SEBL_01, COMMON, EBIZ_01, UCM_01

Currency Codes

CUSTOMERPARTY_STATUSCODE

SEBL_01,COMMON,EBIZ_01,UCM_01

CustomerParty Status Code as Active, Inactive, and so on.

JOB_TITLE

Common, UCM_01

Manager, Executive Board, and so forth

CONTACT_SALUTATION

SEBL_01, COMMON, EBIZ_01, UCM_01

Salutation as head of sales and so on.

TAX_CATEGORY

Common, UCM_01

MWST, CTX2, and so forth

CONTACT_GENDERCODE

SEBL_01, COMMON, EBIZ_01, UCM_01

Gender Code

MARITAL_STATUS

UCM_01, COMMON, EBIZ_01

Marital Status

SOURCE_ID

UCM_01, COMMON,

Contains System IDs. To map source Application ID (mandatory).

PHONENUMBER_PURPOSE

SEBL_01, COMMON, EBIZ_01,

Phone Number Purpose

PHONENUMBER_TYPE

SEBL_01,COMMON,EBIZ_01,

Phone Number Type

SITEUSAGE_CODE

SEBL_01, BRM_01, COMMON, EBIZ_01

Site Usage Code

TARGET_ID

UCM_01,COMMON,

Contains System IDs. To map source Application ID (mandatory).

ADDRESS_DELIVERYTYPE

UCM_01, COMMON, SEBL_01

Residential Curb, Business, and so on.

Used for third-party enrichment.

ADDRESS_SEASONALINDICATORTYPE

UCM_01, COMMON, SEBL_01

Educational Facility, Seasonal Address, and so on.

Used for third-party enrichment

ADDRESS_MOVETYPE

UCM_01, COMMON, SEBL_01

Individual Move, Business or Firm Move, and so on.

Used for third-party enrichment

ADDRESS_POSTALPROCESSINGCODE

UCM_01, COMMON, SEBL_01

AA match at ZIP Code level, LOT default match, and so on.

Used for third-party enrichment

7.6 Creating Oracle E-Business Suite System Profiles

For the Customer MDM integration, set these profile options:

1. Log in to Oracle E-Business Suite using the System Administrator responsibility.

2. Open the System Profile Values form.

3. Query these profile options E-Business Suite 11.5.10.2 and set the indicated values at the site level:

- HZ: Execute API Callouts to 'All Events Enabled' or 'Only Business Object Events Enabled'

- HZ: Format Business Object Business Events as Bulk to 'N'

- HZ: Generate Party Number to 'Yes'

- HZ: Generate Party Site Number to 'Yes'

4. Query these profile options E-Business Suite 12.1.1. and set the indicated values at the site level:

- HZ: Raise API Events to All Events Enabled or Only Business Object Events Enabled

- HZ: Format Business Object Business Events as Bulk to 'N'

- HZ: Generate Party Number to 'Yes'

- HZ: Generate Party Site Number to 'Yes'

7.6.1 Configuring Receivables System Options for the Customer Management Integration

To configure receivables system options for the Customer Management integration:

1. Log in to Oracle EBS using the Receivables responsibility of the operating unit where customer records are being synced.

2. Open the System Options form under Setup > System and select the Trans and Customers tab.

3. Select the Automatic Customer Numbering and Automatic Site Numbering check boxes.

7.7 Scheduling Concurrent Processes

For the Customer MDM integration, schedule these concurrent processes:

1. For TCA, a concurrent program must be executed to raise business events after data creation. Schedule the concurrent request 'TCA Business Object Events: Raise Events' to run periodically. This request can also be run manually.

2. Schedule the concurrent request 'TCA Business Object Events: Cleanse Infrastructure Program - clean up' to run once a day to purge the tracking table.

7.8 Configuring Sequencing for the Synchronize Flows from Siebel CRM to Oracle Customer Hub

The following steps must be performed using the Oracle Enterprise Manager Fusion Middleware Control Console to enable the resequencer functionality in Oracle Mediator and for better performance. The FMW sequencing feature ensures better scalability and performance. If you do not define these properties, the code will not be affected, but, the synchronize Update Order flow will work only as a single threaded flow.

To update order events resequencing on FMW:

1. Launch Oracle Enterprise Manager.

2. Open the SOA Infrastructure Home page.

3. From the SOA Infrastructure menu, select SOA Administration and then Mediator Properties.

4. Configure the following properties for better performance of the sequencing feature:

- Resequencer Worker Threads = 5

- Resequencer Locker Thread Sleep(sec) = 1000

- Resequencer Maximum Groups Locked = 100

Note:

The value of these properties can vary based on the environment configuration and the same can be set appropriately.

5. Save the changes.

For more information about using the Oracle Mediator Resequencer as a part of an Oracle AIA implementation, see Oracle Fusion Middleware Developer's Guide for Oracle SOA Suite, "Resequencing in Oracle Mediator."

7.9 Handling Errors

Based on the roles defined for the services, email notifications are sent if a service errors out.

The Table 7-8 lists how the errors\retires are handled:

Table 7-8 Handling Errors

Issue

Solution

Handling errors /retires

Based on the error conditions, the errors /retires are handled by the following two policy files that are defined for each artifact /services involved in the Customer MDM PIP:

- fault-bindings.xml file

- <Service-name>FaultPolicy.xml/FaultPolicy.xml file

Guarantee messages to subscribing systems

For knowing conditions defined on each service, you need to look at the policy files of effected services.

Messages that are falling at subscribing system

For Siebel related subscribing systems failures, the records reside in the Aggregator table till the records are processed successfully.

For UCM related subscribing systems failures, there are retiring instances defined in policy files on conditional failures.

PIP E2E error handling implementation methodology

There is no separate error handling implementation use by the Customer MDM PIP. For more information on AIA processes Error Configurations, see Developer's Guide for Oracle Application Integration Architecture Foundation Pack.

For more information about the errors thrown by Siebel CRM, Oracle E-Business Suite, or Oracle Customer Hub, see that product's documentation.

For more information about AIA error handling, see Oracle Fusion Middleware Infrastructure Components and Utilities User's Guide for Oracle Application Integration Architecture Foundation Pack "Setting Up Error Handling."

7.10 Using the Composite Application Framework

The Match and Fetch integration flow between Oracle E-Business Suite and Oracle Customer Hub leverages the Composite Application Framework to create a user interface (UI) that enables users to access Oracle Customer Hub to search for and to fetch the customer record from within Oracle E-Business Suite.

The Composite Application Framework supports the development of application independent user-interfaces based on enterprise business services. This loosely coupled user interface is reusable and enables changes to the underlying application architecture with little to no impact on the end user.

For more information about the delivered Composite Application Framework UI, see Chapter 9, "Deploying the Match and Fetch Enterprise Composite Application with the Customer MDM Pre-Built Integration"

7.11 Setting Configuration Properties

Set these properties in the AIAConfigurationProperties.xml file. The file is located in AIA_HOME>/aia_instances/$INSTANCE_NAME/AIAMetaData/config/.

For more information about requirements for working with AIAConfigurationProperties.xml, see Oracle Fusion Middleware Developer's Guide for Oracle Application Integration Architecture Foundation Pack, “Building AIA Integration Flows,” How to Set Up AIA Workstation.

Settings for system properties:

Table 7-9 Settings for System Properties

System Property

Value/Default Value

Description

Routing.ActiveRuleset

DEFAULT

Property that governs how routing rules are handled when pre-built integrations are interoperable. Leave the value as DEFAULT if only one pre-built integration exists.

Settings for module level properties:

Table 7-10 Settings for Module Level Properties

Module

Property

Value/Default Value

Description

Siebel

SEBL_01.SERVER_TIMEZONE

GMT-08:00

Time zone code of the Siebel server

Siebel

SEBL_01.UTCCanonicalFlag

false

Determines when the date format is in UTC or not. Set this to true if UTC is enabled on the Siebel application. Else set to false.

Siebel

ComplexXrefKeyDelimiter

No default value

Delimiter for concatenating IDs in XREF data. Set this to any character (non-system type) that is not used for creating IDs in the Siebel application.

Ebiz

EBIZ_01.SERVER_TIMEZONE

No default value

Time zone code

Settings for Core2CommsCustomerPartyBridge service property

Table 7-11 Core2CommsCustomerPartyBridge

Property Name

Value/Default Value

Description

RouteToBRM

True

Core2CommsCustomerPartyBridge routes the messages from core CustomerPartyEBSV2 to CommunicationsCustomerPartyEBSV2.

Controls routing messages through Core2CommsCustomerPartyBridge. Note: If this value is modified, then the BRM option doesn't work.

--

--

--

Settings for the FetchAccountSiebelReqABCSImpl service property:

Table 7-12 FetchAccountSiebelReqABCSImpl

Property Name

Value/Default Value

Description

Default.SystemID

SEBL_01

Siebel system instance code (defined in Oracle Enterprise Repository (OER)) from which messages originate. If the instance ID is present in the request message, then that takes precedence

Routing.CustomerPartyOrchestrationEBSV2.FetchCustomerParty.RouteToCAVS

True/false. Default = false.

Controls whether to route messages to the verification system

Routing.CustomerPartyOrchestrationEBSV2.FetchCustomerParty.CAVS.EndpointURI

http://<SOA_HOST>:<SOA_PORT>/AIAValidationSystemServlet/syncresponsesimulator

CAVS Endpoint URI, when CAVS is enabled.

ABCSExtension.PreXformABMtoEBMABM

True/false. Default = false.

Property that governs whether ABCS Extension is enabled at the pre-defined plug-into point. If set to true, then the Extension process (defined along AIA ABCS Extension guidelines) is invoked.

ABCSExtension.PreInvokeEBSEBM

True/false. Default = false.

Property that governs whether ABCS Extension is enabled at the pre-defined plug-into point. If set to true, then the Extension process (defined along AIA ABCS Extension guidelines) is invoked.

ABCSExtension.PreXformEBMtoABMEBM

True/false. Default = false.

Property that governs whether ABCS Extension is enabled at the pre-defined plug-into point. If set to true, then the Extension process (defined along AIA ABCS Extension guidelines) is invoked.

ABCSExtension.PreReplyABMCustomerPartyIOABM

True/false. Default = false.

Property that governs whether ABCS Extension is enabled at the pre-defined plug-into point. If set to true, then the Extension process (defined along AIA ABCS Extension guidelines) is invoked.

ABCSExtension.PreReplyABMMatchAccountABM

True/false. Default = false.

Property that governs whether ABCS Extension is enabled at the pre-defined plug-into point. If set to true, then the Extension process (defined along AIA ABCS Extension guidelines) is invoked.

FetchCustomerParty.InvokeAsync

True/false. Default = false.

If this it set to false the flow gets invoked in Synchronous process otherwise in Asynchronous process

FetchCustomerParty.AsyncTimeoutDuration

PT1M

Used to set the time out duration

Settings for the FetchContactSiebelReqABCSImpl service property:

Table 7-13 FetchContactSiebelReqABCSImpl

Property Name

Value/Default Value

Description

Default.SystemID

SEBL_01

Siebel system instance code (defined in Oracle Enterprise Repository (OER)) from which messages originate. If the instance ID is present in the request message, then that takes precedence

Routing.CustomerPartyOrchestrationEBSV2.FetchCustomerParty.RouteToCAVS

True/false. Default = false.

Controls whether to route messages to the verification system

Routing.CustomerPartyOrchestrationEBSV2.FetchCustomerParty.CAVS.EndpointURI

http://<SOA_HOST>:<SOA_PORT>/AIAValidationSystemServlet/syncresponsesimulator

CAVS Endpoint URI, when CAVS is enabled.

ABCSExtension.PreXformABMtoEBMABM

True/false. Default = false.

Property that governs whether ABCS Extension is enabled at the pre-defined plug-into point. If set to true, then the Extension process (defined along AIA ABCS Extension guidelines) is invoked.

ABCSExtension.PreInvokeEBSEBM

True/false. Default = false.

Property that governs whether ABCS Extension is enabled at the pre-defined plug-into point. If set to true, then the Extension process (defined along AIA ABCS Extension guidelines) is invoked.

ABCSExtension.PreXformEBMtoABMEBM

True/false. Default = false.

Property that governs whether ABCS Extension is enabled at the pre-defined plug-into point. If set to true, then the Extension process (defined along AIA ABCS Extension guidelines) is invoked.

ABCSExtension.PreReplyABMCustomerPartyIOABM

True/false. Default = false.

Property that governs whether ABCS Extension is enabled at the pre-defined plug-into point. If set to true, then the Extension process (defined along AIA ABCS Extension guidelines) is invoked.

ABCSExtension.PreReplyABMMatchContactABM

True/false. Default = false.

Property that governs whether ABCS Extension is enabled at the pre-defined plug-into point. If set to true, then the Extension process (defined along AIA ABCS Extension guidelines) is invoked.

FetchCustomerParty.InvokeAsync

True/false. Default = false.

If this it set to false the flow gets invoked in Synchronous process otherwise in Asynchronous process

FetchCustomerParty.AsyncTimeoutDuration

PT1M

Used to set the time out duration

Settings for the MatchAccountSiebelReqABCSImpl service property:

Table 7-14 MatchAccountSiebelReqABCSImpl

Property Name

Value/Default Value

Description

Default.SystemID

SEBL_01

Siebel system instance code (defined in Oracle Enterprise Repository (OER)) from which messages originate. If the instance ID is present in the request message, then that takes precedence.

Routing.CustomerPartyEBSV2.QueryCustomerPartyList.RouteToCAVS

True/false. Default = false.

Controls whether to route messages to the verification system

Routing.CustomerPartyEBSV2.QueryCustomerPartyList.CAVS.EndpointURI

http://<SOA_HOST>:<SOA_PORT>/AIAValidationSystemServlet/syncresponsesimulator

CAVS Endpoint URI, when CAVS is enabled.

ABCSExtension.PreXformABMtoEBMABM

True/false. Default = false.

Property that governs whether ABCS Extension is enabled at the pre-defined plug-into point. If set to true, then the Extension process (defined along AIA ABCS Extension guidelines) is invoked.

ABCSExtension.PreInvokeEBSEBM

True/false. Default = false.

Property that governs whether ABCS Extension is enabled at the pre-defined plug-into point. If set to true, then the Extension process (defined along AIA ABCS Extension guidelines) is invoked.

ABCSExtension.PreXformEBMtoABMEBM

True/false. Default = false.

Property that governs whether ABCS Extension is enabled at the pre-defined plug-into point. If set to true, then the Extension process (defined along AIA ABCS Extension guidelines) is invoked.

ABCSExtension.PreReplyABMABM

True/false. Default = false.

Property that governs whether ABCS Extension is enabled at the pre-defined plug-into point. If set to true, then the Extension process (defined along AIA ABCS Extension guidelines) is invoked.

Settings for the MatchContactSiebelReqABCSImpl service property:

Table 7-15 MatchContactSiebelReqABCSImpl

Property Name

Value/Default Value

Description

Default.SystemID

SEBL_01

Siebel system instance code (defined in Oracle Enterprise Repository (OER)) from which messages originate. If the instance ID is present in the request message, then that takes precedence.

Routing.CustomerPartyEBSV2.QueryCustomerPartyList.RouteToCAVS

True/false. Default = false.

Controls whether to route messages to the verification system

Routing.CustomerPartyEBSV2.QueryCustomerPartyList.CAVS.EndpointURI

http://<SOA_HOST>:<SOA_PORT>/AIAValidationSystemServlet/syncresponsesimulator

CAVS Endpoint URI, when CAVS is enabled.

ABCSExtension.PreXformABMtoEBMABM

True/false. Default = false.

Property that governs whether ABCS Extension is enabled at the pre-defined plug-into point. If set to true, then the Extension process (defined along AIA ABCS Extension guidelines) is invoked.

ABCSExtension.PreInvokeEBSEBM

True/false. Default = false.

Property that governs whether ABCS Extension is enabled at the pre-defined plug-into point. If set to true, then the Extension process (defined along AIA ABCS Extension guidelines) is invoked.

ABCSExtension.PreXformEBMtoABMEBM

True/false. Default = false.

Property that governs whether ABCS Extension is enabled at the pre-defined plug-into point. If set to true, then the Extension process (defined along AIA ABCS Extension guidelines) is invoked.

ABCSExtension.PreReplyABMABM

True/false. Default = false.

Property that governs whether ABCS Extension is enabled at the pre-defined plug-into point. If set to true, then the Extension process (defined along AIA ABCS Extension guidelines) is invoked.

MDM.MaximumMatchCandidates

0

Maximum match candidates to be returned in the response should be zero or greater than zero

Settings for the FetchCustomerPartyEBFservice property:

Table 7-16 FetchCustomerPartyEBFservice

Property Name

Value/Default Value

Description

Routing.CustomerPartyEBSV2.QueryCustomerParty.RouteToCAVS

True/false. Default = false.

Controls whether to route messages to the verification system

Routing.CustomerPartyEBSV2.QueryCustomerParty.CAVS.EndpointURI

http://<SOA_HOST>:<SOA_PORT>/AIAValidationSystemServlet/syncresponsesimulator

CAVS Endpoint URI, when CAVS is enabled.

Routing.CustomerPartyEBSV2.SyncCustomerPartyList.RouteToCAVS

True/false. Default = false.

Controls whether to route messages to the verification system

Routing.CustomerPartyEBSV2.SyncCustomerPartyList.CAVS.EndpointURI

http://<SOA_HOST>:<SOA_PORT>:7832/AIAValidationSystemServlet/asyncresponsesimulator

CAVS Endpoint URI, when CAVS is enabled.

Routing.CustomerPartyOrchestrationEBSV2.SyncCustomerPartyList.RouteToCAVS

True/false. Default = false.

Controls whether to route messages to the verification system

Routing.CustomerPartyOrchestrationEBSV2.SyncCustomerPartyList.CAVS.EndpointURI

http://<SOA_HOST>:<SOA_PORT>/AIAValidationSystemServlet/syncresponsesimulator

CAVS Endpoint URI, when CAVS is enabled.

Routing.CustomerPartyOrchestrationResponseEBSV2.FetchCustomerPartyResponse.RouteToCAVS

True/false. Default = false.

Controls whether to route messages to the verification system

Routing.CustomerPartyOrchestrationResponseEBSV2.FetchCustomerPartyResponse.CAVS.EndpointURI

http://<SOA_HOST>:<SOA_PORT>/AIAValidationSystemServlet/asyncresponserecipient

CAVS Endpoint URI, when CAVS is enabled.

SyncCustomerPartyList.AsyncTimeoutDuration

PT1M

Used to set the time out duration

Settings for the QueryCustomerPartyListUCMProvABCSImpl service property:

Table 7-17 QueryCustomerPartyListUCMProvABCSImpl

Property Name

Value/Default Value

Description

Default.SystemID

UCM_01

OCH system instance code (defined in Oracle Enterprise Repository (OER)) from which messages originate. If the instance ID is present in the request message, then that takes precedence.

Routing.OrganizationMatchService.UCM_01.EndpointURI

http://${ucm.http.host}:${ucm.http.port}/eai_enu/start.swe?SWEExtSource=SecureWebService&amp;SWEExtCmd=Execute&amp;UserName=${ucm.eai.user}&amp;Password=${ucm.eai.password}

OCH Organization Match web service endpoint location. This is a SOAP endpoint URL. If the request message contains the target URL, then that takes precedence.

Routing.OrganizationMatchService.RouteToCAVS

True/false. Default = false.

Controls whether to route messages to the verification system

Routing.OrganizationMatchService.CAVS.EndpointURI

http://<SOA_HOST>:<SOA_PORT>/AIAValidationSystemServlet/syncresponsesimulator

CAVS Endpoint URI, when CAVS is enabled.

Routing.PersonMatchService.UCM_01.EndpointURI

http://${ucm.http.host}:${ucm.http.port}/eai_enu/start.swe?SWEExtSource=SecureWebService&amp;SWEExtCmd=Execute&amp;UserName=${ucm.eai.user}&amp;Password=${ucm.eai.password}

OCH Person Match web service endpoint location. This is a SOAP endpoint URL. If the request message contains the target URL, then that takes precedence.

Routing.PersonMatchService.RouteToCAVS

True/false. Default = false.

Controls whether to route messages to the verification system

Routing.PersonMatchService.CAVS.EndpointURI

http://<SOA_HOST>:<SOA_PORT>/AIAValidationSystemServlet/syncresponsesimulator

CAVS Endpoint URI, when CAVS is enabled.

ABCSExtension.PreXformEBMtoABMEBM

True/false. Default = false.

Property that governs whether ABCS Extension is enabled at the pre-defined plug-into point. If set to true, then the Extension process (defined along AIA ABCS Extension guidelines) is invoked.

ABCSExtension.PreInvokeOrganizationMatchABM

True/false. Default = false.

Property that governs whether ABCS Extension is enabled at the pre-defined plug-into point. If set to true, then the Extension process (defined along AIA ABCS Extension guidelines) is invoked.

ABCSExtension.PreInvokePersoMatchABM

True/false. Default = false.

Property that governs whether ABCS Extension is enabled at the pre-defined plug-into point. If set to true, then the Extension process (defined along AIA ABCS Extension guidelines) is invoked.

ABCSExtension.PostInvokeOrganizationMatchABM

True/false. Default = false.

Property that governs whether ABCS Extension is enabled at the pre-defined plug-into point. If set to true, then the Extension process (defined along AIA ABCS Extension guidelines) is invoked.

ABCSExtension.PostInvokePersonMatchABM

True/false. Default = false.

Property that governs whether ABCS Extension is enabled at the pre-defined plug-into point. If set to true, then the Extension process (defined along AIA ABCS Extension guidelines) is invoked.

ABCSExtension.PostXformABMtoEBMEBM

True/false. Default = false.

Property that governs whether ABCS Extension is enabled at the pre-defined plug-into point. If set to true, then the Extension process (defined along AIA ABCS Extension guidelines) is invoked.

Settings for the QueryCustomerPartyUCMProvABCSImpl service property:

Table 7-18 QueryCustomerPartyUCMProvABCSImpl

Property Name

Value/Default Value

Description

Default.SystemID

UCM_01

OCH system instance code (defined in Oracle Enterprise Repository (OER)) from which messages originate. If the instance ID is present in the request message, then that takes precedence.

Routing.OrganizationService.UCM_01.EndpointURI

http://${ucm.http.host}:${ucm.http.port}/eai_enu/start.swe?SWEExtSource=SecureWebService&amp;SWEExtCmd=Execute&amp;UserName=${ucm.eai.user}&amp;Password=${ucm.eai.password}

OCH getOrganization web service endpoint location. This is a SOAP endpoint URL. If the request message contains the target URL, then that takes precedence

Routing.OrganizationService.RouteToCAVS

True/false. Default = false.

Controls whether to route messages to the verification system

Routing.OrganizationService.CAVS.EndpointURI

http://<SOA_HOST>:<SOA_PORT>/AIAValidationSystemServlet/syncresponsesimulator

CAVS Endpoint URI, when CAVS is enabled.

Routing.PersonService.UCM_01.EndpointURI

http://<SOA_HOST>:<SOA_PORT>/AIAValidationSystemServlet/syncresponsesimulator

CAVS Endpoint URI, when CAVS is enabled.

Routing.PersonService.RouteToCAVS

True/false. Default = false.

Controls whether to route messages to the verification system

Routing.PersonService.CAVS.EndpointURI

http://<SOA_HOST>:<SOA_PORT>/AIAValidationSystemServlet/syncresponsesimulator

CAVS

Endpoint URI, when CAVS is enabled.

ABCSExtension.PreXformEBMtoABMEBM

True/false. Default = false.

Property that governs whether ABCS Extension is enabled at the pre-defined plug-into point. If set to true, then the Extension process (defined along AIA ABCS Extension guidelines) is invoked.

ABCSExtension.PreInvokeGetOrganizationABM

True/false. Default = false.

Property that governs whether ABCS Extension is enabled at the pre-defined plug-into point. If set to true, then the Extension process (defined along AIA ABCS Extension guidelines) is invoked.

ABCSExtension.PostInvokeGetOrganizationABM

True/false. Default = false.

Property that governs whether ABCS Extension is enabled at the pre-defined plug-into point. If set to true, then the Extension process (defined along AIA ABCS Extension guidelines) is invoked.

ABCSExtension.PreInvokeGetPersonABM

True/false. Default = false.

Property that governs whether ABCS Extension is enabled at the pre-defined plug-into point. If set to true, then the Extension process (defined along AIA ABCS Extension guidelines) is invoked.

ABCSExtension.PostInvokeGetPersonABM

True/false. Default = false.

Property that governs whether ABCS Extension is enabled at the pre-defined plug-into point. If set to true, then the Extension process (defined along AIA ABCS Extension guidelines) is invoked.

ABCSExtension.PostXformABMtoEBMEBM

True/false. Default = false.

Property that governs whether ABCS Extension is enabled at the pre-defined plug-into point. If set to true, then the Extension process (defined along AIA ABCS Extension guidelines) is invoked.

Settings for the SyncCustomerPartyListResponseEbizProvABCSImpl service property:

Table 7-19 SyncCustomerPartyListResponseEbizProvABCSImpl

Property Name

Value/Default Value

Description

Default.SystemID

EBIZ_01

EBIZ system instance code (defined in Oracle Enterprise Repository (OER)) from which messages originate. If the instance ID is present in the request message, then that takes precedence.

Routing.SyncCustomerPartyListEbizAdapter.EBIZ_01.EndpointURI

http://<SOA_HOST>:<SOA_PORT>/soa-infra/services/default/SyncCustomerPartyListEbizAdapter/SyncCustomerPartyListEbizAdapter

Endpoint URL of the Oracle E-Business Suite adapter

Routing.SyncCustomerPartyListEbizAdapter.CAVS.EndpointURI

http://<SOA_HOST>:<SOA_PORT>/AIAValidationSystemServlet/syncresponsesimulator

CAVS Endpoint URI, when CAVS is enabled.

Routing.SyncCustomerPartyListEbizAdapter.RouteToCAVS

True/false. Default = false.

Controls whether to route messages to the verification system

Routing.SyncCustomerPartyListPersonEbizAdapter.EBIZ_01.EndpointURI

http://<SOA_HOST>:<SOA_PORT>/soa-infra/services/default/SyncCustomerPartyListPersonEbizAdapter/SyncCustomerPartyListPersonEbizAdapter_ep

Endpoint URL of the Oracle E-Business Suite adapter

Routing.SyncCustomerPartyListPersonEbizAdapter.CAVS.EndpointURI

http://<SOA_HOST>:<SOA_PORT>/AIAValidationSystemServlet/syncresponsesimulator

CAVS Endpoint URI, when CAVS is enabled.

Routing.SyncCustomerPartyListPersonEbizAdapter.RouteToCAVS

True/false. Default = false.

Property that governs whether an ABCS Extension is enabled at the pre-defined plug-into point. If set to true, then the Extension process (defined along AIA ABCS Extension guidelines) is invoked.

ABCSExtension.PreProcessOrgEBM

True/false. Default = false.

Property that governs whether an ABCS Extension is enabled at the pre-defined plug-into point. If set to true, then the Extension process (defined along AIA ABCS Extension guidelines) is invoked.

ABCSExtension.PostProcessOrgEBM

True/false. Default = false.

Property that governs whether an ABCS Extension is enabled at the pre-defined plug-into point. If set to true, then the Extension process (defined along AIA ABCS Extension guidelines) is invoked.

ABCSExtension.PreProcessOrgABM

True/false. Default = false.

Property that governs whether an ABCS Extension is enabled at the pre-defined plug-into point. If set to true, then the Extension process (defined along AIA ABCS Extension guidelines) is invoked.

ABCSExtension.PostProcessOrgABM

True/false. Default = false.

Property that governs whether an ABCS Extension is enabled at the pre-defined plug-into point. If set to true, then the Extension process (defined along AIA ABCS Extension guidelines) is invoked.

ABCSExtension.PreProcessPersonEBM

True/false. Default = false.

Property that governs whether an ABCS Extension is enabled at the pre-defined plug-into point. If set to true, then the Extension process (defined along AIA ABCS Extension guidelines) is invoked.

ABCSExtension.PostProcessPersonEBM

True/false. Default = false.

Property that governs whether an ABCS Extension is enabled at the pre-defined plug-into point. If set to true, then the Extension process (defined along AIA ABCS Extension guidelines) is invoked.

ABCSExtension.PreProcessPersonABM

True/false. Default = false.

Property that governs whether an ABCS Extension is enabled at the pre-defined plug-into point. If set to true, then the Extension process (defined along AIA ABCS Extension guidelines) is invoked.

ABCSExtension.PostProcessPersonABM

True/false. Default = false.

Property that governs whether an ABCS Extension is enabled at the pre-defined plug-into point. If set to true, then the Extension process (defined along AIA ABCS Extension guidelines) is invoked.

Settings for the SyncCustomerPartyListResponseSiebelProvABCSImpl service property:

Table 7-20 SyncCustomerPartyListResponseSiebelProvABCSImpl

Property Name

Value/Default Value

Description

Default.SystemID

SEBL_01

Siebel system instance code (defined in Oracle Enterprise Repository (OER)) from which messages originate. If the instance ID is present in the request message, then that takes precedence.

Routing.SWI_spcCustomer_spcParty_spcService.SEBL_01.EndpointURI

http://<SIEBEL_HOST>/eai_enu/start.swe?SWEExtSource=WebService&amp;SWEExtCmd= Execute&amp;WSSOAP=1

Siebel web service end point location. This is a SOAP endpoint URL. If the request message contains the target URL, then that takes precedence

Routing.SWI_spcCustomer_spcParty_spcService.RouteToCAVS

True/false. Default = false.

Controls whether to route messages to the verification system

Routing.SWI_spcCustomer_spcParty_spcService.CAVS.EndpointURI

http://<SOA_HOST>:<SOA_PORT>/AIAValidationSystemServlet/syncresponsesimulator

CAVS Endpoint URI, when CAVS is enabled.

Routing.SWI_spcContact_spcService.SEBL_01.EndpointURI

http://<SIEBEL_HOST>:<SIEBEL_PORT>/eai_enu/start.swe?SWEExtSource=WebService&amp;SWEExtCmd= Execute&amp;WSSOAP=1

Siebel web service end point location. This is a SOAP endpoint URL. If the request message contains the target URL, then that takes precedence

Routing.SWI_spcContact_spcService.RouteToCAVS

True/false. Default = false.

Controls whether to route messages to the verification system

Routing.SWI_spcContact_spcService.CAVS.EndpointURI

http://<SOA_HOST>:<SOA_PORT>/AIAValidationSystemServlet/syncresponsesimulator

CAVS Endpoint URI, when CAVS is enabled.

ABCSExtension.PreXformEBMtoABMEBM

True/false. Default = false.

Property that governs whether ABCS Extension is enabled at the pre-defined plug-into point. If set to true, then the Extension process (defined along AIA ABCS Extension guidelines) is invoked.

ABCSExtension.PreInvokeSWICustServiceABM

True/false. Default = false.

Property that governs whether ABCS Extension is enabled at the pre-defined plug-into point. If set to true, then the Extension process (defined along AIA ABCS Extension guidelines) is invoked.

ABCSExtension.PreInvokeSWIContactServiceABM

True/false. Default = false.

Property that governs whether ABCS Extension is enabled at the pre-defined plug-into point. If set to true, then the Extension process (defined along AIA ABCS Extension guidelines) is invoked.

Settings for the SyncOrganizationUCMReqABCSImpl service property:

Table 7-21 SyncOrganizationUCMReqABCSImpl

Property Name

Value/Default Value

Description

Default.SystemID

UCM_01

OCH system instance code (defined in Oracle Enterprise Repository (OER)) from which messages originate. If the instance ID is present in the request message, then that takes precedence.

ABCSExtension.PreProcessABM

True/false. Default = false.

Property that governs whether ABCS Extension is enabled at the pre-defined plug-into point. If set to true, then the Extension process (defined along AIA ABCS Extension guidelines) is invoked.

ABCSExtension.PreProcessEBM

True/false. Default = false.

Property that governs whether ABCS Extension is enabled at the pre-defined plug-into point. If set to true, then the Extension process (defined along AIA ABCS Extension guidelines) is invoked.

Routing.CustomerPartyEBSV2.SyncCustomerPartyList.MessageProcessingInstruction.EnvironmentCode

PRODUCTION

Property to govern whether the message is routed to CAVS or to the specified target service. Default value is PRODUCTION, which routes to the target service.

Routing.CustomerPartyEBSV2.SyncCustomerPartyList.RouteToCAVS

True/false. Default = false.

Controls whether to route messages to the verification system

Routing.CustomerPartyEBSV2.SyncCustomerPartyList.CAVS.EndpointURI

http://<SOA_HOST>:<SOA_PORT>/AIAValidationSystemServlet/asyncrequestrecipient

CAVS Endpoint URI, when CAVS is enabled.

Routing.TransformAppContextUCMService.RouteToCAVS

True/false. Default = false.

Controls whether to route messages to the verification system

Routing.TransformAppContextUCMService.CAVS.EndpointURI

http://<SOA_HOST>:<SOA_PORT>/AIAValidationSystemServlet/syncresponsesimulator

CAVS Endpoint URI, when CAVS is enabled.

Settings for the SyncPersonUCMReqABCSImpl service property:

Table 7-22 SyncPersonUCMReqABCSImpl

Property Name

Value/Default Value

Description

Default.SystemID

UCM_01

OCH system instance code (defined in Oracle Enterprise Repository (OER)) from which messages originate. If the instance ID is present in the request message, then that takes precedence.

ABCSExtension.PreProcessABM

True/false. Default = false.

Property that governs whether ABCS Extension is enabled at the pre-defined plug-into point. If set to true, then the Extension process (defined along AIA ABCS Extension guidelines) is invoked.

ABCSExtension.PreProcessEBM

True/false. Default = false.

Property that governs whether ABCS Extension is enabled at the pre-defined plug-into point. If set to true, then the Extension process (defined along AIA ABCS Extension guidelines) is invoked.

Routing.CustomerPartyEBSV2.SyncCustomerPartyList.MessageProcessingInstruction.EnvironmentCode

PRODUCTION

Property to govern whether the message is routed to CAVS or to the specified target service. Default value is PRODUCTION, which routes to the target service.

Routing.CustomerPartyEBSV2.SyncCustomerPartyList.RouteToCAVS

True/false. Default = false.

Controls whether to route messages to the verification system

Routing.CustomerPartyEBSV2.SyncCustomerPartyList.CAVS.EndpointURI

http://<SOA_HOST>:<SOA_PORT>/AIAValidationSystemServlet/asyncresponsesimulator

CAVS Endpoint URI, when CAVS is enabled.

Routing.TransformAppContextUCMService.RouteToCAVS

True/false. Default = false.

Controls whether to route messages to the verification system

Routing.TransformAppContextUCMService.CAVS.EndpointURI

http://<SOA_HOST>:<SOA_PORT>/AIAValidationSystemServlet/syncresponsesimulator

CAVS Endpoint URI, when CAVS is enabled.

Settings for the SyncCustomerPartyListResponseUCMProvABCSImpl service property:

Table 7-23 SyncCustomerPartyListResponseUCMProvABCSImpl

Property Name

Value/Default Value

Description

Default.SystemID

UCM_01

OCH system instance code (defined in Oracle Enterprise Repository (OER)) from which messages originate. If the instance ID is present in the request message, then that takes precedence.

Routing.UCMOrganizationCrossReferenceService.UCM_01.EndpointURI

http://${ucm.http.host}:${ucm.http.port}/eai_enu/start.swe?SWEExtSource=SecureWebService&amp;SWEExtCmd=Execute&amp;UserName=${ucm.eai.user}&amp;Password=${ucm.eai.password}

OCH web service end point location. This is a SOAP endpoint URL. If the request message contains the target URL, then that takes precedence

Routing.UCMPersonCrossReferenceService.UCM_01.EndpointURI

http://${ucm.http.host}:${ucm.http.port}/eai_enu/start.swe?SWEExtSource=SecureWebService&amp;SWEExtCmd=Execute&amp;UserName=${ucm.eai.user}&amp;Password=${ucm.eai.password}

OCH web service end point location. This is a SOAP endpoint URL. If the request message contains the target URL, then that takes precedence

Routing.UCMOrganizationCrossReferenceService.RouteToCAVS

True/false. Default = false.

Controls whether to route messages to the verification system

Routing.UCMOrganizationCrossReferenceService.CAVS.EndpointURI

http://<SOA_HOST>:<SOA_PORT>/AIAValidationSystemServlet/syncresponsesimulator

CAVS Endpoint URI, when CAVS is enabled.

Routing.UCMPersonCrossReferenceService.RouteToCAVS

True/false. Default = false.

Controls whether to route messages to the verification system

Routing.UCMPersonCrossReferenceService.CAVS.EndpointURI

http://<SOA_HOST>:<SOA_PORT>/AIAValidationSystemServlet/syncresponsesimulator

CAVS Endpoint URI, when CAVS is enabled.

ABCSExtension.PreProcessEBM

True/false. Default = false.

Property that governs whether ABCS Extension is enabled at the pre-defined plug-into point. If set to true, then the Extension process (defined along AIA ABCS Extension guidelines) is invoked.

ABCSExtension.PreProcessOrgABM

True/false. Default = false.

Property that governs whether ABCS Extension is enabled at the pre-defined plug-into point. If set to true, then the Extension process (defined along AIA ABCS Extension guidelines) is invoked.

ABCSExtension.PostProcessPersonABM

True/false. Default = false.

Property that governs whether ABCS Extension is enabled at the pre-defined plug-into point. If set to true, then the Extension process (defined along AIA ABCS Extension guidelines) is invoked.

Settings for the SyncCustomerPartyListUCMProvABCSImpl service property:

Table 7-24 SyncCustomerPartyListUCMProvABCSImpl

Property Name

Value/Default Value

Description

Default.SystemID

UCM_01

OCH system instance code (defined in Oracle Enterprise Repository (OER)) from which messages originate. If the instance ID is present in the request message, then that takes precedence.

Routing.SyncCustomerPartyListUCMOrganizationService.UCM_01.EndpointURI

http://${ucm.http.host}:${ucm.http.port}/eai_enu/start.swe?SWEExtSource=SecureWebService&amp;SWEExtCmd=Execute&amp;UserName=${ucm.eai.user}&amp;Password=${ucm.eai.password}

OCH web service end point location. This is a SOAP endpoint URL. If the request message contains the target URL, then that takes precedence

Routing.SyncCustomerPartyListUCMOrganizationService.RouteToCAVS

True/false. Default = false.

Controls whether to route messages to the verification system

Routing.SyncCustomerPartyListUCMOrganizationService.CAVS.EndpointURI

http://<SOA_HOST>:<SOA_PORT>/AIAValidationSystemServlet/syncresponsesimulator

CAVS Endpoint URI, when CAVS is enabled.

Routing.UCMPersonService.UCM_01.EndpointURI

http://${ucm.http.host}:${ucm.http.port}/eai_enu/start.swe?SWEExtSource=SecureWebService&amp;SWEExtCmd=Execute&amp;UserName=${ucm.eai.user}&amp;Password=${ucm.eai.password}

OCH web service end point location. This is a SOAP endpoint URL. If the request message contains the target URL, then that takes precedence

Routing.UCMPersonService.RouteToCAVS

True/false. Default = false.

Controls whether to route messages to the verification system

Routing.UCMPersonService.CAVS.EndpointURI

http://<SOA_HOST>:<SOA_PORT>/AIAValidationSystemServlet/syncresponsesimulator

CAVS Endpoint URI, when CAVS is enabled.

Routing.CustomerPartyEBSV2.SyncCustomerPartyListResponse.MessageProcessingInstruction.EnvironmentCode

Production

Property to govern whether the message is routed to CAVS or to the specified target service. Default value is PRODUCTION, which routes to the target service.

Routing.CustomerPartyEBSV2.SyncCustomerPartyListResponse.RouteToCAVS

True/false. Default = false.

Controls whether to route messages to the verification system

Routing.CustomerPartyEBSV2.SyncCustomerPartyListResponse.CAVS.EndpointURI

http://<SOA_HOST>:<SOA_PORT>/AIAValidationSystemServlet/asyncrequestrecipient

CAVS Endpoint URI, when CAVS is enabled.

Routing.CustomerPartyResponseEBSV2.SyncCustomerPartyListResponse.MessageProcessingInstruction.EnvironmentCode

Production

Property to govern whether the message is routed to CAVS or to the specified target service. Default value is PRODUCTION, which routes to the target service.

ABCSExtension.PreProcessEBMForOrg

True/false. Default = false.

Property that governs whether an ABCS Extension is enabled at the pre-defined plug-into point. If set to true, then the Extension process (defined along AIA ABCS Extension guidelines) is invoked.

ABCSExtension.PreProcessABMForOrg

True/false. Default = false.

Property that governs whether an ABCS Extension is enabled at the pre-defined plug-into point. If set to true, then the Extension process (defined along AIA ABCS Extension guidelines) is invoked.

ABCSExtension.PostProcessABMForOrg

True/false. Default = false.

Property that governs whether an ABCS Extension is enabled at the pre-defined plug-into point. If set to true, then the Extension process (defined along AIA ABCS Extension guidelines) is invoked.

ABCSExtension.PostProcessEBMForOrg

True/false. Default = false.

Property that governs whether an ABCS Extension is enabled at the pre-defined plug-into point. If set to true, then the Extension process (defined along AIA ABCS Extension guidelines) is invoked.

ABCSExtension.PreProcessPersonABM

True/false. Default = false.

Property that governs whether an ABCS Extension is enabled at the pre-defined plug-into point. If set to true, then the Extension process (defined along AIA ABCS Extension guidelines) is invoked.

ABCSExtension.PostProcessPersonABM

True/false. Default = false.

Property that governs whether an ABCS Extension is enabled at the pre-defined plug-into point. If set to true, then the Extension process (defined along AIA ABCS Extension guidelines) is invoked.

ABCSExtension.PostProcessPersonEBM

True/false. Default = false.

Property that governs whether an ABCS Extension is enabled at the pre-defined plug-into point. If set to true, then the Extension process (defined along AIA ABCS Extension guidelines) is invoked.

Settings for the SyncPersonAccountEbizReqABCSImpl service property:

Table 7-25 SyncPersonAccountEbizReqABCSImpl

Property Name

Value/Default Value

Description

Default.SystemID

EBIZ_01

Oracle E-Business Suite instance code (defined in Oracle Enterprise Repository (OER)) from which messages originate. If the instance ID is present in the request message, then that takes precedence.

Routing.QueryPersonAccountEbizCreateAdapter.CAVS.EndpointURI

http://<SOA_HOST>:<SOA_PORT>/AIAValidationSystemServlet/asyncrequestrecipient

CAVS Endpoint URI, when CAVS is enabled.

Routing.CustomerPartyEBSV2.SyncCustomerPartyList.RouteToCAVS

True/false. Default = false.

Controls whether to route messages to the verification system

Routing.QueryPersonAccountEbizUpdateAdapter.CAVS.EndpointURI

http://<SOA_HOST>:<SOA_PORT>/AIAValidationSystemServlet/asyncrequestrecipient

CAVS Endpoint URI, when CAVS is enabled.

Routing.QueryPersonAccountEbizUpdateAdapter.RouteToCAVS

True/false. Default = false.

Controls whether to route messages to the verification system

Routing.QueryPersonAccountEbizCreateAdapter.RouteToCAVS

True/false. Default = false.

Controls whether to route messages to the verification system

Routing.CustomerPartyEBSV2.SyncCustomerPartyList.MessageProcessingInstruction.EnvironmentCode

Production

Property to govern whether the message is routed to CAVS or to the specified target service. Default value is PRODUCTION, which routes to the target service.

Routing.CustomerPartyEBSV2.SyncCustomerPartyList.CAVS.EndpointURI

http://<SOA_HOST>:<SOA_PORT>/AIAValidationSystemServlet/asyncrequestrecipient

CAVS Endpoint URI, when CAVS is enabled.

Routing.TransformAppContextEbizService.RouteToCAVS

True/false. Default = false.

Controls whether to route messages to the verification system

Routing.TransformAppContextEbizService.CAVS.EndpointURI

http://<SOA_HOST>:<SOA_PORT>/AIAValidationSystemServlet/asyncrequestrecipient

CAVS Endpoint URI, when CAVS is enabled.

ABCSExtension.PreXformCreateABMtoEBMABM

True/false. Default = false.

Property that governs whether an ABCS Extension is enabled at the pre-defined plug-into point. If set to true, then the Extension process (defined along AIA ABCS Extension guidelines) is invoked.

ABCSExtension.PreXformUpdateABMtoEBMABM

True/false. Default = false.

Property that governs whether an ABCS Extension is enabled at the pre-defined plug-into point. If set to true, then the Extension process (defined along AIA ABCS Extension guidelines) is invoked.

ABCSExtension.PreInvokeCustEBSEBM

True/false. Default = false.

Property that governs whether an ABCS Extension is enabled at the pre-defined plug-into point. If set to true, then the Extension process (defined along AIA ABCS Extension guidelines) is invoked.

Routing.QueryPersonAccountEbizCreateAdapter.EBIZ_01.EndpointURI

http://<SOA_HOST>:<SOA_PORT>/soa-infra/services/default/QueryPersonAccountEbizCreateAdapter/QueryPersonAccountEbizCreateAdapter_ep

Endpoint URL of the Oracle E-Business Suite adapter

Routing.QueryPersonAccountEbizUpdateAdapter.EBIZ_01.EndpointURI

http://<SOA_HOST>:<SOA_PORT>soa-infra/services/default/QueryPersonAccountEbizUpdateAdapter/QueryPersonAccountEbizUpdateAdapter_ep

Endpoint URL of the Oracle E-Business Suite adapter

Settings for the SyncAccountSiebelReqABCSImpl service property:

Table 7-26 SyncAccountSiebelReqABCSImpl

Property Name

Value/Default Value

Description

Default.SystemID

SEBL_01

Siebel system instance code (defined in Oracle Enterprise Repository (OER)) from which messages originate. If the instance ID is present in the request message, then that takes precedence.

Routing.SWICustomerParty.SEBL_01.EndpointURI

http://<SIEBEL_HOST>:<SIEBEL_PORT>/eai_enu/start.swe?SWEExtSource=WebService&amp;SWEExtCmd= Execute&amp;WSSOAP=1

Siebel web service end point location. This is a SOAP endpoint URL. If the request message contains the target URL, then that takes precedence

Routing.SWICustomerParty.RouteToCAVS

True/false. Default = false.

Controls whether to route messages to the verification system

Routing.SWICustomerParty.CAVS.EndpointURI

http://<SOA_HOST>:<SOA_PORT>/AIAValidationSystemServlet/syncresponsesimulator

CAVS Endpoint URI, when CAVS is enabled.

Routing.CustomerPartyEBSV2.SyncCustomerPartyList.MessageProcessingInstruction.EnvironmentCode

Production

Property to govern whether the message is routed to CAVS or to the specified target service. Default value is PRODUCTION, which routes to the target service.

Routing.CustomerPartyEBSV2.SyncCustomerPartyList.CAVS.EndpointURI

http://<SOA_HOST>:<SOA_PORT>/AIAValidationSystemServlet/asyncrequestrecipient

CAVS Endpoint URI, when CAVS is enabled.

Routing.TransformAppContextSiebelService.RouteToCAVS

True/false. Default = false.

Controls whether to route messages to the verification system

Routing.TransformAppContextSiebelService.CAVS.EndpointURI

http://<SOA_HOST>:<SOA_PORT>/AIAValidationSystemServlet/asyncrequestrecipient

CAVS Endpoint URI, when CAVS is enabled.

ABCSExtension.PreXformABMtoEBMABM

True/false. Default = false.

Property that governs whether an ABCS Extension is enabled at the pre-defined plug-into point. If set to true, then the Extension process (defined along AIA ABCS Extension guidelines) is invoked.

ABCSExtension.PreInvokeEBSEBM

True/false. Default = false.

Property that governs whether an ABCS Extension is enabled at the pre-defined plug-into point. If set to true, then the Extension process (defined along AIA ABCS Extension guidelines) is invoked.

Account.ProcessUpdateEventsOnly

True/false. Default = false.

Set to true to process the update events

Settings for the SyncContactSiebelReqABCSImpl service property:

Table 7-27 SyncContactSiebelReqABCSImpl

Property Name

Value/Default Value

Description

Default.SystemID

SEBL_01

Siebel system instance code (defined in Oracle Enterprise Repository (OER)) from which messages originate. If the instance ID is present in the request message, then that takes precedence.

Routing.SWIContactIO.SEBL_01.EndpointURI

http://<SIEBEL_HOST>:<SIEBEL_PORT>/eai_enu/start.swe?SWEExtSource=WebService&amp;SWEExtCmd= Execute&amp;WSSOAP=1

Siebel web service end point location. This is a SOAP endpoint URL. If the request message contains the target URL, then that takes precedence

Routing.SWIContactIO.RouteToCAVS

True/false. Default = false.

Controls whether to route messages to the verification system

Routing.SWIContactIO.CAVS.EndpointURI

http://<SOA_HOST>:<SOA_PORT>/AIAValidationSystemServlet/syncresponsesimulator

CAVS Endpoint URI, when CAVS is enabled.

Routing.CustomerPartyEBSV2.SyncCustomerPartyList.MessageProcessingInstruction.EnvironmentCode

Production

Property to govern whether the message is routed to CAVS or to the specified target service. Default value is PRODUCTION, which routes to the target service.

Routing.CustomerPartyEBSV2.SyncCustomerPartyList.CAVS.EndpointURI

http://<SOA_HOST>:<SOA_PORT>/AIAValidationSystemServlet/asyncrequestrecipient

CAVS Endpoint URI, when CAVS is enabled.

Routing.TransformAppContextSiebelService.RouteToCAVS

True/false. Default = false.

Controls whether to route messages to the verification system

Routing.TransformAppContextSiebelService.CAVS.EndpointURI

http://<SOA_HOST>:<SOA_PORT>/AIAValidationSystemServlet/ syncresponsesimulator

CAVS Endpoint URI, when CAVS is enabled.

ABCSExtension.PreXformABMtoEBMABM

True/false. Default = false.

Property that governs whether an ABCS Extension is enabled at the pre-defined plug-into point. If set to true, then the Extension process (defined along AIA ABCS Extension guidelines) is invoked.

ABCSExtension.PreInvokeEBSEBM

True/false. Default = false.

Property that governs whether an ABCS Extension is enabled at the pre-defined plug-into point. If set to true, then the Extension process (defined along AIA ABCS Extension guidelines) is invoked.

Contact.ProcessUpdateEventsOnly

True/false. Default = false.

Property that governs whether ABCS Extension is enabled at the pre-defined plug-into point. If set to true, then the Extension process (defined along AIA ABCS Extension guidelines) is invoked.

Settings for the SyncCustomerPartyListEbizProvABCSImpl service property:

Table 7-28 SyncCustomerPartyListEbizProvABCSImpl

Property Name

Value/Default Value

Description

Default.SystemID

EBIZ_01

Oracle E-Business Suite system instance code (defined in Oracle Enterprise Repository (OER)) from which messages originate. If the instance ID is present in the request message, then that takes precedence.

Routing.SyncCustomerPartyListEbizAdapter.EBIZ_01.EndpointURI

http://<SOA_HOST>:<SOA_PORT>/ soa-infra/services/default/SyncCustomerPartyListEbizAdapter/SyncCustomerPartyListEbizAdapter_ep

Endpoint URL of the Oracle E-Business Suite adapter

Routing.SyncCustomerPartyListEbizAdapter.CAVS.EndpointURI

http://<SOA_HOST>:<SOA_PORT>/AIAValidationSystemServlet/syncresponsesimulator

CAVS Endpoint URI, when CAVS is enabled.

Routing.SyncCustomerPartyListEbizAdapter.RouteToCAVS

True/false. Default = false.

Controls whether to route messages to the verification system

Routing.SyncCustomerPartyListPersonEbizAdapter.EBIZ_01.EndpointURI

http://<SOA_HOST>:<SOA_PORT>/ soa-infra/services/default/SyncCustomerPartyListPersonEbizAdapter/SyncCustomerPartyListPersonEbizAdapter_ep

Endpoint URL of the Oracle E-Business Suite adapter

Routing.SyncCustomerPartyListPersonEbizAdapter.CAVS.EndpointURI

http://<SOA_HOST>:<SOA_PORT>/AIAValidationSystemServlet/syncresponsesimulator

CAVS Endpoint URI, when CAVS is enabled.

Routing.SyncCustomerPartyListPersonEbizAdapter.RouteToCAVS

True/false. Default = false.

Controls whether to route messages to the verification system

Routing.CustomerPartyResponseEBSV2.SyncCustomerPartyListResponse.MessageProcessingInstruction.EnvironmentCode

PRODUCTION

Property to govern whether the message is routed to CAVS or to the specified target service. Default value is PRODUCTION, which routes to the target service.

Routing.CustomerPartyResponseEBSV2.SyncCustomerPartyListResponse.RouteToCAVS

True/false. Default = false.

Controls whether to route messages to the verification system

Routing.CustomerPartyResponseEBSV2.SyncCustomerPartyListResponse.CAVS.EndpointURI

http://<SOA_HOST>:<SOA_PORT>/AIAValidationSystemServlet/asyncresponserecipient

CAVS Endpoint URI, when CAVS is enabled.

ABCSExtension.PreXformEBMtoABMEBM

True/false. Default = false.

Property that governs whether an ABCS Extension is enabled at the pre-defined plug-into point. If set to true, then the Extension process (defined along AIA ABCS Extension guidelines) is invoked.

ABCSExtension.PreInvokeEbizAdapterABM

True/false. Default = false.

Property that governs whether an ABCS Extension is enabled at the pre-defined plug-into point. If set to true, then the Extension process (defined along AIA ABCS Extension guidelines) is invoked.

ABCSExtension.PostInvokeEbizAdapterABM

True/false. Default = false.

Property that governs whether an ABCS Extension is enabled at the pre-defined plug-into point. If set to true, then the Extension process (defined along AIA ABCS Extension guidelines) is invoked.

ABCSExtension.PostXformABMtoEBMEBM

True/false. Default = false.

Property that governs whether an ABCS Extension is enabled at the pre-defined plug-into point. If set to true, then the Extension process (defined along AIA ABCS Extension guidelines) is invoked.

ABCSExtension.PreXformEBMtoPersonABMEBM

True/false. Default = false.

Property that governs whether an ABCS Extension is enabled at the pre-defined plug-into point. If set to true, then the Extension process (defined along AIA ABCS Extension guidelines) is invoked.

ABCSExtension.PreInvokePersonEbizAdapterABM

True/false. Default = false.

Property that governs whether an ABCS Extension is enabled at the pre-defined plug-into point. If set to true, then the Extension process (defined along AIA ABCS Extension guidelines) is invoked.

ABCSExtension.PostInvokePersonEbizAdapterABM

True/false. Default = false.

Property that governs whether an ABCS Extension is enabled at the pre-defined plug-into point. If set to true, then the Extension process (defined along AIA ABCS Extension guidelines) is invoked.

ABCSExtension.PostXformPersonABMtoEBMEBM

True/false. Default = false.

Property that governs whether an ABCS Extension is enabled at the pre-defined plug-into point. If set to true, then the Extension process (defined along AIA ABCS Extension guidelines) is invoked.

Settings for the SyncCustomerPartyListSiebelProvABCSImpl service property:

Table 7-29 SyncCustomerPartyListSiebelProvABCSImpl

Property Name

Value/Default Value

Description

Default.SystemID

SEBL_01

Siebel system instance code (defined in Oracle Enterprise Repository (OER)) from which messages originate. If the instance ID is present in the request message, then that takes precedence.

Routing.SyncCustomerPartyListSiebelService.SEBL_01.EndpointURI

ttp://<SIEBEL_HOST>:<SIEBEL_PORT>/eai_enu/start.swe?SWEExtSource=WebService&amp;SWEExtCmd= Execute&amp;WSSOAP=1

Siebel web service end point location. This is a SOAP endpoint URL. If the request message contains the target URL, then that takes precedence

Routing.SyncCustomerPartyListSiebelService.RouteToCAVS

True/false. Default = false.

Controls whether to route messages to the verification system

Routing.SyncCustomerPartyListSiebelService.CAVS.EndpointURI

http://<SOA_HOST>:<SOA_PORT>/AIAValidationSystemServlet/syncresponsesimulator

CAVS Endpoint URI, when CAVS is enabled.

Routing.MergeCustomerPartyListSiebelService.SEBL_01.EndpointURI

http://<SIEBEL_HOST>:<SIEBEL_PORT>/eai_enu/start.swe?SWEExtSource=WebService&amp;SWEExtCmd= Execute&amp;WSSOAP=1

Siebel web service end point location. This is a SOAP endpoint URL. If the request message contains the target URL, then that takes precedence

Routing.MergeCustomerPartyListSiebelService.RouteToCAVS

True/false. Default = false.

Controls whether to route messages to the verification system

Routing.MergeCustomerPartyListSiebelService.CAVS.EndpointURI

http://<SOA_HOST>:<SOA_PORT>/AIAValidationSystemServlet/syncresponsesimulator

CAVS Endpoint URI, when CAVS is enabled.

Routing.SWI_spcContact_spcService.SEBL_01.EndpointURI

http://<SIEBEL_HOST>:<SIEBEL_PORT>/eai_enu/start.swe?SWEExtSource=WebService&amp;SWEExtCmd= Execute&amp;WSSOAP=1

Siebel web service end point location. This is a SOAP endpoint URL. If the request message contains the target URL, then that takes precedence

Routing.SWI_spcContact_spcService.RouteToCAVS

True/false. Default = false.

Controls whether to route messages to the verification system

Routing.SWI_spcContact_spcService.CAVS.EndpointURI

http://<SOA_HOST>:<SOA_PORT>/AIAValidationSystemServlet/syncresponsesimulator

CAVS Endpoint URI, when CAVS is enabled.

Routing.CustomerPartyEBSV2.SyncCustomerPartyListResponse.MessageProcessingInstruction.EnvironmentCode

PRODUCTION

Property to govern whether the message is routed to CAVS or to the specified target service. Default value is PRODUCTION, which routes to the target service.

Routing.CustomerPartyEBSV2.SyncCustomerPartyListResponse.RouteToCAVS

True/false. Default = false.

Controls whether to route messages to the verification system

Routing.CustomerPartyEBSV2.SyncCustomerPartyListResponse.CAVS.EndpointURI

http://<SOA_HOST>:<SOA_PORT>/AIAValidationSystemServlet/asyncrequestrecipient

CAVS Endpoint URI, when CAVS is enabled.

Routing.CustomerPartyResponseEBSV2.SyncCustomerPartyListResponse.MessageProcessingInstruction.EnvironmentCode

PRODUCTION

Property to govern whether the message is routed to CAVS or to the specified target service. Default value is PRODUCTION, which routes to the target service.

ABCSExtension.PreInvokeSWICustSyncServiceABM

True/false. Default = false.

Property that governs whether an ABCS Extension is enabled at the pre-defined plug-into point. If set to true, then the Extension process (defined along AIA ABCS Extension guidelines) is invoked.

ABCSExtension.PreInvokeSWICustUpsertServiceABM

True/false. Default = false.

Property that governs whether an ABCS Extension is enabled at the pre-defined plug-into point. If set to true, then the Extension process (defined along AIA ABCS Extension guidelines) is invoked.

ABCSExtension.PreXformEBMtoABMEBM

True/false. Default = false.

Property that governs whether an ABCS Extension is enabled at the pre-defined plug-into point. If set to true, then the Extension process (defined along AIA ABCS Extension guidelines) is invoked.

ABCSExtension.PostInvokeSWICustSyncServiceABM

True/false. Default = false.

Property that governs whether an ABCS Extension is enabled at the pre-defined plug-into point. If set to true, then the Extension process (defined along AIA ABCS Extension guidelines) is invoked.

ABCSExtension.PostInvokeSWICustUpsertServiceABM

True/false. Default = false.

Property that governs whether an ABCS Extension is enabled at the pre-defined plug-into point. If set to true, then the Extension process (defined along AIA ABCS Extension guidelines) is invoked.

ABCSExtension.PreInvokeSWICustMergeServiceABM

True/false. Default = false.

Property that governs whether an ABCS Extension is enabled at the pre-defined plug-into point. If set to true, then the Extension process (defined along AIA ABCS Extension guidelines) is invoked.

ABCSExtension.PostInvokeSWICustMergeServiceABM

True/false. Default = false.

Property that governs whether an ABCS Extension is enabled at the pre-defined plug-into point. If set to true, then the Extension process (defined along AIA ABCS Extension guidelines) is invoked.

ABCSExtension.PostXformABMtoEBMEBM

True/false. Default = false.

Property that governs whether an ABCS Extension is enabled at the pre-defined plug-into point. If set to true, then the Extension process (defined along AIA ABCS Extension guidelines) is invoked.

ABCSExtension.PreInvokeSWIContactUpsertServiceABM

True/false. Default = false.

Property that governs whether an ABCS Extension is enabled at the pre-defined plug-into point. If set to true, then the Extension process (defined along AIA ABCS Extension guidelines) is invoked.

ABCSExtension.PostInvokeSWIContactUpsertServiceABM

True/false. Default = false.

Property that governs whether an ABCS Extension is enabled at the pre-defined plug-into point. If set to true, then the Extension process (defined along AIA ABCS Extension guidelines) is invoked.

Settings for the SyncCustomerPartyListEbizReqABCSImpl service property:

Table 7-30 SyncCustomerPartyListEbizReqABCSImpl

Property Name

Value/Default Value

Description

Default.SystemID

EBIZ_01

Oracle E-Business Suite system instance code (defined in Oracle Enterprise Repository (OER)) from which messages originate. If the instance ID is present in the request message, then that takes precedence.

Routing.QueryCustomerPartyListEbizCreate.CAVS.EndpointURI

http://<SOA_HOST>:<SOA_PORT>/AIAValidationSystemServlet/asyncrequestrecipient

CAVS Endpoint URI, when CAVS is enabled.

Routing.QueryCustomerPartyListEbizCreate.RouteToCAVS

True/false. Default = false.

Controls whether to route messages to the verification system

Routing.QueryCustomerPartyListEbizCreateAdapter.EBIZ_01.EndpointURI

http://<SOA_HOST>:<SOA_PORT>/soa-infra/services/default/QueryCustomerPartyListEbizCreateAdapter/QueryCustomerPartyListEbizCreateAdapter_ep

Endpoint URL of the Oracle E-Business Suite adapter

Routing.QueryCustomerPartyListEbizUpdate.CAVS.EndpointURI

http://<SOA_HOST>:<SOA_PORT>/AIAValidationSystemServlet/asyncrequestrecipient

CAVS Endpoint URI, when CAVS is enabled.

Routing.QueryCustomerPartyListEbizUpdate.RouteToCAVS

True/false. Default = false.

Controls whether to route messages to the verification system

Routing.QueryCustomerPartyListEbizUpdateAdapter.EBIZ_01.EndpointURI

http://<SOA_HOST>:<SOA_PORT>/soa-infra/services/default/QueryCustomerPartyListEbizUpdateAdapter/QueryCustomerPartyListEbizUpdateAdapter_ep

Endpoint URL of the Oracle E-Business Suite adapter

Routing.CustomerPartyEBSV2.SyncCustomerPartyList.RouteToCAVS

True/false. Default = false.

Controls whether to route messages to the verification system

Routing.CustomerPartyEBSV2.SyncCustomerPartyList.MessageProcessingInstruction.EnvironmentCode

PRODUCTION

Property to govern whether the message is routed to CAVS or to the specified target service. Default value is PRODUCTION, which routes to the target service.

Routing.CustomerPartyEBSV2.SyncCustomerPartyList.CAVS.EndpointURI

http://<SOA_HOST>:<SOA_PORT>/AIAValidationSystemServlet/asyncrequestrecipient

CAVS Endpoint URI, when CAVS is enabled.

ABCSExtension.PreXformCreateABMtoEBMABM

True/false. Default = false.

Property that governs whether an ABCS Extension is enabled at the pre-defined plug-into point. If set to true, then the Extension process (defined along AIA ABCS Extension guidelines) is invoked.

ABCSExtension.PreXformUpdateABMtoEBMABM

True/false. Default = false.

Property that governs whether an ABCS Extension is enabled at the pre-defined plug-into point. If set to true, then the Extension process (defined along AIA ABCS Extension guidelines) is invoked.

ABCSExtension.PreInvokeCustEBSEBM

True/false. Default = false.

Property that governs whether an ABCS Extension is enabled at the pre-defined plug-into point. If set to true, then the Extension process (defined along AIA ABCS Extension guidelines) is invoked.

Settings for InterfaceContactToAccountEBF service property:

Table 7-31 InterfaceContactToAccountEBF

Property Name

Value/Default Value

Description

Example

ContactUpdate.BRM_01

True/False

Default = True

This property checks if only an account needs to be synchronized.

When set to True, both the account and the contact updates are synchronized to BRM. When set to False, only the account updates are synchronized to Oracle BRM.

<Property name="ContactUpdate.BRM_01">true</Property>

Settings for the SyncCustomerPartyListBRMCommsProvABCSImpl Service Property

Table 7-32 SyncCustomerPartyListBRMCommsProvABCSImpl Service Property

Property Name

Value/Default Values

Description

EnableAccountStatusSync

true/false. Default = false

This property when set to true, updates the status (active/inactive) of the account from Siebel to Oracle BRM.

ABCSExtension.prexformEBMtoABM

true/false. Default = false

This property governs whether the application business connector service (ABCS) Extension is enabled at the predefined plug-into point. If set to true, then the Extension process (defined in AIA ABCS Extension guidelines) is invoked. The name of the property indicates which extension point will be enabled

ABCSExtension.PreInvokePCM_OP_BILL_GROUP_GET_PARENTABM

true/false. Default = false

This property governs whether the ABCS Extension is enabled at the predefined plug-into point. If set to true, then the Extension process (defined in Oracle AIA ABCS Extension guidelines) is invoked. This property is required for extensibility. The name of the property clearly suggests which extension point will be enabled.

ABCSExtension.PostInvokePCM_OP_BILL_GROUP_GET_PARENTABM

true/false. Default = false

This property governs whether the ABCS Extension is enabled at the predefined plug-into point. If set to true, then the Extension process (defined along AIA ABCS Extension guidelines) is invoked. This property is required for extensibility. The name of the property indicates which extension point will be enabled.

ABCSExtension.PreInvokePCM_OP_SEARCHABM

true/false. Default = false

This property governs whether the ABCS Extension is enabled at the predefined plug-into point. If set to true, then the Extension process (defined in AIA ABCS Extension guidelines) is invoked. This property is required for extensibility. The name of the property indicates which extension point will be enabled.

ABCSExtension.PostInvokePCM_OP_SEARCHABM

true/false. Default = false

This property governs whether the ABCS Extension is enabled at the predefined plug-into point. If set to true, then the Extension process (defined along AIA ABCS Extension guidelines) is invoked. This property is required for extensibility. The name of the property indicates which extension point will be enabled.

ABCSExtension.PreInvokeABSPCM_OP_CUST_COMMIT_CUSTOMERABM

true/false. Default = false

This property governs whether the ABCS Extension is enabled at the predefined plug-into point. If set to true, then the Extension process (defined in AIA ABCS Extension guidelines) is invoked. The name of the property indicates which extension point will be enabled.

ABCSExtension.PostInvokeABSPCM_OP_CUST_COMMIT_CUSTOMERABM

true/false. Default = false

This property governs whether the ABCS Extension is enabled at the predefined plug-into point. If set to true, then the Extension process (defined in AIA ABCS Extension guidelines) is invoked. The name of the property indicates which extension point will be enabled.

ABCSExtension.PreInvokePCM_OP_CUSTCARE_MOVE_ACCTABM

true/false. Default = false

This property governs whether the ABCS Extension is enabled at the predefined plug-into point. If set to true, then the Extension process (defined in AIA ABCS Extension guidelines) is invoked. The name of the property indicates which extension point will be enabled.

ABCSExtension.PostInvokePCM_OP_CUSTCARE_MOVE_ACCTABM

true/false. Default = false

This property governs whether the ABCS Extension is enabled at the predefined plug-into point. If set to true, then the Extension process (defined in AIA ABCS Extension guidelines) is invoked. The name of the property indicates which extension point will be enabled.

ABCSExtension.PreInvokePCM_OP_CUST_UPDATE_CUSTOMERABM

true/false. Default = false

This property governs whether the ABCS Extension is enabled at the predefined plug-into point. If set to true, then the Extension process (defined in AIA ABCS Extension guidelines) is invoked. The name of the property indicates which extension point will be enabled.

ABCSExtension.PostInvokePCM_OP_CUST_UPDATE_CUSTOMERABM

true/false. Default = false

This property governs whether the ABCS Extension is enabled at the predefined plug-into point. If set to true, then the Extension process (defined in AIA ABCS Extension guidelines) is invoked. The name of the property indicates which extension point will be enabled.

ABCSExtension.PreInvokePCM_OP_CUST_DELETE_PAYINFOABM

true/false. Default = false

This property governs whether the ABCS Extension is enabled at the predefined plug-into point. If set to true, then the Extension process (defined in AIA ABCS Extension guidelines) is invoked. The name of the property indicates which extension point will be enabled.

ABCSExtension.PostInvokePCM_OP_CUST_DELETE_PAYINFOABM

true/false. Default = false

This property governs whether the ABCS Extension is enabled at the predefined plug-into point. If set to true, then the Extension process (defined in AIA ABCS Extension guidelines) is invoked. The name of the property indicates which extension point will be enabled.

ABCSExtension.PostXFormABMtoEBM

true/false. Default = false

This property governs whether the ABCS Extension is enabled at the predefined plug-into point. If set to true, then the Extension process (defined in AIA ABCS Extension guidelines) is invoked. The name of the property indicates which extension point will be enabled.

AccountLevelBalanceGroupName

Account Level Balance Group

This property is used to name the default balance group created in BRM when an account is created.

Default.SystemID

BRM_01

This property specifies the default target system ID to be populated in the enterprise business message (EBM) Header in case the value is not coming from the Requestor.

Routing.BRMCUSTService.BRM_01.EndpointURI

eis/BRM

This property specifies the Connection factory to connect to the Oracle BRM Java EE Connector Architecture (JCA) adapter for the first instance of the Oracle BRM in case of multiple Oracle BRM instances.

For more information about multiple Oracle BRM systems, see the Oracle Communications Order to Cash Integration Pack for Siebel CRM, Oracle OSM, and Oracle BRM Implementation Guide, Appendix F, "Configuring Multiple Instances of Oracle BRM."

Routing.BRMCUSTService.BRM_02.EndpointURI

eis/BRM1

This property specifies the Connection factory to connect to the Oracle BRM JCA adapter for the second instance of the Oracle BRM in case of multiple Oracle BRM instances.

For more information about multiple Oracle BRM systems, see the Oracle Communications Order to Cash Integration Pack for Siebel CRM, Oracle OSM, and Oracle BRM Implementation Guide, Appendix F, "Configuring Multiple Instances of Oracle BRM."

Routing.BRMCUSTService.RouteToCAVS

true/false. Default = false

This property specifies whether the end point should route to Composite Application Validation System (CAVS).

Routing.BRMCUSTService_ptt.BRM_01.EndpointURI

eis/BRM

This property specifies the Connection factory to connect to the BRM JCA adapter for the first instance of the BRM in case of multiple BRM instances.

For more information about multiple Oracle BRM systems, see the Oracle Communications Order to Cash Integration Pack for Siebel CRM, Oracle OSM, and Oracle BRM Implementation Guide, Appendix F, "Configuring Multiple Instances of Oracle BRM."

Routing.BRMCUSTService_ptt.BRM_02.EndpointURI

eis/BRM1

This property specifies the Connection factory to connect to the BRM JCA adapter for the second instance of the BRM in case of multiple BRM instances.

For more information about multiple Oracle BRM systems, see the Oracle Communications Order to Cash Integration Pack for Siebel CRM, Oracle OSM, and Oracle BRM Implementation Guide, Appendix F, "Configuring Multiple Instances of Oracle BRM."

Routing.BRMCUSTService_ptt.RouteToCAVS

true/false. Default = false

This property specifies whether the CAVS service needs to be invoked.

Routing.BRMCUSTService_ptt.CAVS.EndpointURI

http://${http.hostname}:${http.port}/AIAValidationSystemServlet/asyncrequestrecipient?simid=1000

This property specifies the end point URL for the CAVS Service.

Routing.BRMCUSTService.CAVS.EndpointURI

http://${http.hostname}:${http.port}/AIAValidationSystemServlet/syncresponsesimulator?simid=1000

This property specifies the end point URL for the CAVS Service.

Routing.BRMCUSTCAREService.BRM_01.EndpointURI

eis/BRM

This property specifies the Connection factory to connect to the Oracle BRM JCA adapter for the first instance of the Oracle BRM in case of multiple Oracle BRM instances for the CUSTCare opcode of Oracle BRM.

For more information about multiple Oracle BRM systems, see the Oracle Communications Order to Cash Integration Pack for Siebel CRM, Oracle OSM, and Oracle BRM Implementation Guide, Appendix F, "Configuring Multiple Instances of Oracle BRM."

Routing.BRMCUSTCAREService.BRM_02.EndpointURI

eis/BRM1

This property specifies the Connection factory to connect to the Oracle BRM JCA adapter for the second instance of the Oracle BRM in case of multiple Oracle BRM instances for the CUSTCare opcode of Oracle BRM.

For more information about multiple Oracle BRM systems, see the Oracle Communications Order to Cash Integration Pack for Siebel CRM, Oracle OSM, and Oracle BRM Implementation Guide, Appendix F, "Configuring Multiple Instances of Oracle BRM."

Routing.BRMCUSTCAREService.RouteToCAVS

true/false. Default = false

This property specifies whether to route to CAVS Service.

Routing.BRMCUSTCAREService.CAVS.EndpointURI

http://${http.hostname}:${http.port}/AIAValidationSystemServlet/syncresponsesimulator

This property specifies the end point URL for the CAVS Service.

Routing.BRMBILLService.BRM_01.EndpointURI

eis/BRM

This property specifies the Connection factory to connect to the Oracle BRM JCA adapter for the first instance of the Oracle BRM in case of multiple Oracle BRM instances for the BillService opcode.

For more information about multiple Oracle BRM systems, see the Oracle Communications Order to Cash Integration Pack for Siebel CRM, Oracle OSM, and Oracle BRM Implementation Guide, Appendix F, "Configuring Multiple Instances of Oracle BRM."

Routing.BRMBILLService.BRM_02.EndpointURI

eis/BRM1

This property specifies the Connection factory to connect to the Oracle BRM JCA adapter for the second instance of the Oracle BRM in case of multiple Oracle BRM instances for the BillService opcode.

For more information about multiple Oracle BRM systems, see the Oracle Communications Order to Cash Integration Pack for Siebel CRM, Oracle OSM, and Oracle BRM Implementation Guide, Appendix F, "Configuring Multiple Instances of Oracle BRM."

Routing.BRMBILLService.RouteToCAVS

true/false. Default = false

This property specifies whether to Route to CAVS service.

Routing.BRMBILLService.CAVS.EndpointURI

http://${http.hostname}:${http.port}/AIAValidationSystemServlet/syncresponsesimulator

This property specifies the end point URL for the CAVS Service.

Routing.BRMBASEService.BRM_01.EndpointURI

eis/BRM

This property specifies the Connection factory to connect to the Oracle BRM JCA adapter for the first instance of the Oracle BRM in case of multiple Oracle BRM instances for the BRMBASEService.

For more information about multiple Oracle BRM systems, see the Oracle Communications Order to Cash Integration Pack for Siebel CRM, Oracle OSM, and Oracle BRM Implementation Guide, Appendix F, "Configuring Multiple Instances of Oracle BRM."

Routing.BRMBASEService.BRM_02.EndpointURI

eis/BRM1

This property specifies the Connection factory to connect to the Oracle BRM JCA adapter for the second instance of the Oracle BRM in case of multiple Oracle BRM instances for the BRMBASEService.

For more information about multiple Oracle BRM systems, see the Oracle Communications Order to Cash Integration Pack for Siebel CRM, Oracle OSM, and Oracle BRM Implementation Guide, Appendix F, "Configuring Multiple Instances of Oracle BRM."

Routing.BRMBASEService.RouteToCAVS

true/false. Default = false

This property specifies whether the CAVS service should be invoked.

Routing.BRMBASEService.CAVS.EndpointURI

http://${http.hostname}:${http.port}/AIAValidationSystemServlet/syncresponsesimulator

This property specifies the end point URL for the CAVS Service.

Routing.BRMTXNService.BRM_01.EndpointURI

eis/BRM

This property specifies the Connection factory to connect to the Oracle BRM JCA adapter for the first instance of the Oracle BRM in case of multiple Oracle BRM instances for the TXNService opcode.

For more information about multiple Oracle BRM systems, see the Oracle Communications Order to Cash Integration Pack for Siebel CRM, Oracle OSM, and Oracle BRM Implementation Guide, Appendix F, "Configuring Multiple Instances of Oracle BRM."

Routing.BRMTXNService.BRM_02.EndpointURI

eis/BRM1

This property specifies the Connection factory to connect to the Oracle BRM JCA adapter for the second instance of the Oracle BRM in case of multiple Oracle BRM instances for the TXNService opcode.

For more information about multiple Oracle BRM systems, see the Oracle Communications Order to Cash Integration Pack for Siebel CRM, Oracle OSM, and Oracle BRM Implementation Guide, Appendix F, "Configuring Multiple Instances of Oracle BRM."

Routing.BRMTXNService.RouteToCAVS

true/false. Default = false

This property specifies whether to route to CAVS Service.

Routing.BRMTXNService.CAVS.EndpointURI

http://${http.hostname}:${http.port}/AIAValidationSystemServlet/syncresponsesimulator

This property specifies the end point URL for the CAVS Service.

8 Customer Data Enrichment

This chapter provides an overview of data enrichment and covers:

- Section 8.2, "Process Flow"

- Section 8.3, "Data Enrichment Integration Services"

- Section 8.4, "Working with Cross-References"

- Section 8.5, "Working with Domain Value Maps"

- Section 8.6, "Handling Errors"

- Section 8.7, "Setting Configuration Properties"

8.1 Overview

Data enrichment represents a spoke service to the CustomerPartyEBO to make a request for clean or enriched information from third-party data provider services. This third-party provider cleanses, recognizes, enriches, and protects Oracle Customer Hub contact records.

- Clean: build a foundation of accurate customer contact information.

- Recognize: enables customers to consistently recognize consumers and remove duplications, even with name changes, unreported moves, or incorrectly keyed information.

- Enrich: enrich, enhance the data by adding other contact, demographic, socio-economic, or lifestyle enhancements.

- Protect: compliance and regulatory expertise combined with suppression, risk, and compliance products.

Data enrichment enables the Oracle Customer Hub to enrich its Contact (B2C) information by sending a request message to pre-built third-party AIA connector. Depending on configuration (manual or automatic) a process is invoked to send basic name and address information to the third-party system for cleansing.

Two types of processing can occur for the request message: realtime or batch; however, the scope of this integration is realtime only, where the Oracle Customer Hub is configured to synchronize updated, enriched data automatically to participating applications as and when an EBM is received from the third-party enrichment application. There is no support for batch flows in this integration.

8.1.1 Prerequisites

The prerequisites for implementing customer data enrichment are:

- Oracle Customer Hub is set up as provided in Siebel UCM Data Enrichment Web Services chapter at My Oracle Support note 763962.1.

- Oracle AIA configuration as mentioned in Section 8.6, "Handling Errors"

- Oracle AIA is set up for the third-party provider, which depends on the provider chosen by the customer.

Note:

Set up of the third-party ABCS is not part of the Customer MDM integration. The third-party provides the ABCS code and instructions.

8.2 Process Flow

Figure 8-1 illustrates a high-level enrichment process.

Figure 8-1 High-level process

The high-level process is defined here:

- A set of parameters are sent using Oracle Customer Hub to the third-party enrichment application in the form of an EBM. Depending on the third-party services to which an organization has subscribed, the third-party consumes the message parameters and returns EBM of additional attributes.

- The Oracle Customer Hub consumes the inbound message and performs the required updates received as enriched data from the third-party enrichment application.

- Oracle Customer Hub can optionally synchronize these updated contact records to Siebel CRM or Oracle E-Business Suite if these are set up as participating applications.

Note:

A connector to AIA must be established by the third-party enrichment service to enable the applications to use the services provided.

Figure 8-2 illustrates the process for data enrichment from Oracle Customer Hub to third-party and back.

Figure 8-2 Enriching person and customer attributes

Figure 8-3shows the integration sequence flow:

Figure 8-3 Customer data enrichment

When you initiate this process, these events occur:

1. Oracle Customer Hub invokes the ABCS service for data enrichment by passing person records. A person record is sent from either Siebel or Oracle E-Business Suite, which invokes the Oracle Customer Hub web service to synchronize the record.
Before synchronizing the record, Oracle Customer Hub invokes the ProcessPersonUCMreqABCSImpl to get the enriched data from the third-party provider.

2. ProcessPersonUCMReqABCSImpl: The Oracle Customer Hub requester ABC implementation, ProcessPersonUCMReqABCSImpl, transforms the Oracle Customer Hub ABM to the ProcessCustomerPartyListEBM and invokes the ProcessCustomerPartyListRequestResponse operation of the ProcessCustomerPartyEBS.
This message contains one or more addresses to be enriched.

3. ProcessCustomerPartyEBS: Invoking ProcessCustomerPartyEBS with the ProcessCustomerPartyListRequestResponse operation routes the ProcessCustomerPartyListEBM to the third-party provider ABC implementation service.

4. ProcessPersonUCMReqABCSImpl: ProcessCustomerPartyListResponseEBM with enriched data from third-party provider is then transformed back to Oracle Customer Hub ABM and sent back as a synchronous response.

8.3 Data Enrichment Integration Services

The services that support the third-party integration are:

Table 8-1 Data Enrichment Integration Services

Service

Type

Owner

Description

ProcessPersonUCMReqABCSImpl

BPEL

AIA

Oracle Customer Hub ABCS Connector service initiated from Oracle Customer Hub for data enrichment. This synchronous service maps the Oracle Customer Hub ABM to ProcessCustomerPartyListEBM and invokes the ProcessCustomerPartyEBS. After getting a response, maps the enriched response EBM back to Oracle Customer Hub ABM.

ProcessCustomerPartyEBS

Mediator

AIA

Mediator service, which routes the ProcessCustomerPartyListEBM to the third-party provider and passes the response EBM back to the Oracle Customer Hub requester.

Third-party provider service

BPEL

Third-party

Third-party provider ABCS connector service. This service is not packaged with the AIA release, but delivered by third-party provider. This service maps the ProcessCustomerPartyListEBM to third-party provider input ABM, invokes the third-party provider service to get enriched data and maps the enriched data back as ProcessCustomerPartyListResponseListEBM

8.4 Working with Cross-References

No cross-reference populate or lookups done in the data enrichment flow. Third-party IDs are directly passed into Oracle Customer Hub columns.

For a list of cross-references applicable for the Customer MDM integration, see Chapter 7, "Working with Cross-References"

8.5 Working with Domain Value Maps

The DVMs here pertain to the data enrichment flow only. For a complete list of DVMs for the Oracle Customer MDM integration, see Chapter 7, "Working with Domain Value Maps".

The DVMs used for the data enrichment flow are:

Table 8-2 DVMs Used for the Data Enrichment Flow

Name

DVM Column Name

Description

New/Existing

CONTACT_GENDERCODE

SEBL_01, COMMON, EBIZ_01, UCM_01

To map gender codes like Male, Female, M, and so on.

Existing

MARITAL_STATUS

UCM_01, COMMON, EBIZ_01

To map marital status codes like Married, Single, and so on.

Existing

ADDRESS_COUNTRYSUBDIVID

SEBL_01, COMMON, EBIZ_01, UCM_01

To map country sub division codes.

Existing

ADDRESS_COUNTRYID

SEBL_01, COMMON, EBIZ_01, UCM_01

To map country codes like USA, US, and so on.

Existing

STATE

SEBL_01, COMMON, EBIZ_01, UCM_01

To map state codes like CA, FL, TX, and so forth

Existing

ADDRESS_DELIVERYTYPE

UCM_01, COMMON, SEBL_01

To map delivery types like Residential Curb, Business, and so on.

New

ADDRESS_SEASONALINDICATORTYPE

SEBL_01, COMMON, UCM_01

To map seasonal address indicator types like Educational Facility, Seasonal Address, and so on.

New

ADDRESS_MOVETYPE

SEBL_01, COMMON, UCM_01

To indicate the type of move like Individual, Business or Firm, and so on.

New

ADDRESS_POSTALPROCESSINGCODE

SEBL_01, COMMON, UCM_01

To map postal processing codes like AA match at ZIP Code level, LOT default match, and so on.

New

8.6 Handling Errors

Standard AIA error handling is implemented with catch blocks for remote, binding, and AIA faults. Fault policy is provided. Any error from third-party provider is propagated to Oracle Customer Hub using the fault schema as in any synchronous service.

For more information about error handling, see Chapter 7, "Handling Errors"

8.7 Setting Configuration Properties

The standard AIA configuration properties defined for data enrichment flow are provided here. For a complete list of properties in the AIAConfigurationProperties.xml file, seeChapter 7, "Setting Configuration Properties"

- System ID: The default system ID is set.

- Endpoint URLs: Properties are provided for the application service endpoint URLs.

- CAVS: Properties for enabling CAVS.

- ABCS Extension: Properties to govern ABCS Extension points.

Table 8-3 Configuration Properties for Customer Data Enrichment

Property Name

Value/Default Value

Description

Default.SystemID

UCM_01

OCH system code (like UCM_01, defined in Oracle Enterprise Repository (OER)) from which requests originate for this process

ABCSExtension.PreProcessABM

True/False

Default = False

Property that governs whether ABCS Extension is enabled to pre-process ABM at the pre-defined plug-in point. If set to true, then the Extension process is invoked.

ABCSExtension.PreProcessEBM

True/False

Default = False

Property that governs whether ABCS Extension is enabled to pre-process EBM at the pre-defined plug-in point. If set to true, then the Extension process is invoked.

ABCSExtension.PostProcessEBM

True/False

Default = False

Property that governs whether ABCS Extension is enabled to post-process EBM at the pre-defined plug-in point. If set to true, then the Extension process is invoked.

ABCSExtension.PostProcessABM

True/False

Default = False

Property that governs whether ABCS Extension is enabled to post-process ABM at the pre-defined plug-in point. If set to true, then the Extension process is invoked.

Routing.ProcessCustomerPartyEBS.ProcessCustomerPartyListRequestResponse.MessageProcessingInstruction.EnvironmentCode

CAVS/PRODUCTION

Default = PRODUCTION

Property to govern whether the message is routed to CAVS or to the specified target service. Default value is PRODUCTION, which routes to the target service.

Routing.ProcessCustomerPartyEBS.ProcessCustomerPartyListRequestResponse.RouteToCAVS

True/False

Default = False

Property that governs whether the service should route the message to the CAVS endpoint or not. Default value is false, which does not route to CAVS. If set to true, it routes to CAVS using the endpoint specified in the CAVS.EndpointURI property.

Routing.ProcessCustomerPartyEBS.ProcessCustomerPartyListRequestResponse.CAVS.EndpointURI

http://<SOA_HOST>:<SOA_PORT>/AIAValidationSystemServlet/syncresponsesimulator

CAVS Endpoint URI, when CAVS is enabled.

9 Deploying the Match and Fetch Enterprise Composite Application with the Customer MDM Pre-Built Integration

This chapter includes the following sections:

- Section 9.1, "Security Considerations"

- Section 9.2, "Invoking Match and Fetch from Oracle E-Business Suite"

9.1 Security Considerations

This ADF Application does not have security defined by default.

For more information about for how to add security if desired, see Oracle Fusion Middleware Developer's Guide for Oracle Application Integration Architecture Foundation Pack, "Working with Security."

9.2 Invoking Match and Fetch from Oracle E-Business Suite

Oracle Customer Hub Match/Fetch is an Enterprise Composite Application (ECA) application that enables match and fetch of organizations and persons from an enterprise application such as Oracle E-Business Suite.

Oracle E-Business Suite has a number of pages in which organization and person data can be maintained. By integrating these pages with the Match/Fetch ECA application, it enables E-Business Suite to proactively query the OCH customer master for the latest and most accurate customer information, and eliminate the entry of duplicate records into the system.

This section provides systematic instructions on how the application can be leveraged in Oracle E-Business Suite OAF pages to enable this functionality.

As a sample, we provide systematic instructions on how to enable an invocation of this ECA Match/Fetch page from the "Oracle Customers Online" application, which is an Oracle E-Business Suite module for maintenance of organization and contacts.

Note:

The Oracle E-Business Suite application Pages that are built using OAF should be enabled for personalization. The appropriate level of personalization should be decided based on the application requirements.

9.2.1 Instructions for Oracle E-Business Suite 11.5.10.x

Complete the following steps if your Oracle E-Business Suite version is 11.5.10.x:

1. The Oracle Customers Online Application can be launched from the "Oracle Customers Online Superuser" responsibility. Log in to Oracle E-Business Suite, choose the Oracle Customers Online Superuser responsibility, and log in to the application.

2. Navigate to the Organization search page by selecting the Customers tab and Organizations sub-tab.

Figure 9-1 Customer Online Organization Search Page

3. Add a button called "OCH Search" to this page, next to the "Go" button and integrate it with the ECA Match/Fetch application.

4. Click the Personalize Table Layout: (search.HzPuiOrgSearchNonDQM.HzPuiOrgSearchForm.HzPuiSearchButtonTL)"

5. Click Expand All.

Figure 9-2 Personalization screen

6. Click the Create Item icon next to "Cell Format:(search.HzPuiOrgSearchNonDQM.HzPuiOrgSearchForm.ButtonCell)".

7. An item creation screen appears. Enter the following details in the screen:

- Item Style: Button

- ID: OCH_BUTTON

- Prompt: "OCH Search"

- Destination URI: javascript:window.open("http://<ECA_SERVER:ECA_PORT>/OracleCustomerHubMatchAndFetchContext/faces/Organization.jspx?account

- Name="+HzPuiTheName,"OCH

- Match/Fetch","resizable=yes,scrollbars=yes,status=yes");
HzPuiTheName is the field name for accountName. Use page xml or follow "about this page" link at the bottom to find the ID.

All other fields can be left to default, or entered as desired.

8. Click Apply.

Figure 9-3 OCH Button Creation screen

9. Go back to the table personalization screen, that looks as follows:

Figure 9-4 Personalization screen after adding button

10. Go back to the Organization Search screen. (Click the Return to Application link on the bottom left of the Personalization screen). You will see the OCH Search button next to Go. Clicking it will launch the ECA OCH Match fetch page.

Figure 9-5 Customers Online page with OCH search button

11. You can similarly add a button to the Person search page with the URI: javascript:window.open("http://<ECA_SERVER:ECA_PORT>/OracleCustomerHubMatchAndFetchContext/faces/Person.jspx?firstName="+firstname+"&lastName="+lastname,"DescriptiveWindowName","resizable=yes,scrollbars=yes,status=yes")
Use page xml or follow the About this page link at the bottom to find the IDs for firstName and lastName.

9.2.2 Instructions for Oracle E-Business Suite 12.1.x

Complete the following steps, for version 12.1.x of Oracle E-Business Suite:

1. The Oracle Customers Online Application can be launched from the "Oracle Customers Online Super User" responsibility. Log in to Oracle E-Business Suite with Admin User, choose the Oracle Customers Online Superuser responsibility, and log in to the application.

2. Navigate to the Organization search page by selecting the Customers tab and Organizations sub-tab.

Figure 9-6 Customer Online Organization Search Page

3. Add a button called "OCH Search" to this page, below the Search screen and integrate it with the ECA Match/Fetch application.

4. Click Personalize Page.

5. Click Create Item shown near Row Layout:(search.HzPuiOrgSearchDQM.HzPuiDQMSearchResults.SpacerRow) in the screenshot below.

Figure 9-7 Personalization Page, Create Item icon

6. An item creation screen appears. Enter the following details in the screen:

- Item Style: Button

- ID: OCH_BUTTON

- Prompt: "OCHSearch"

- Destination URI: javascript:window.open("http://<ECA_SERVER:ECA_PORT>/CustomerHub-matchfetch-context-root/faces/Organization.jspx");

HzPuiTheName is the field name for accountName. Use page xml or follow "about this page" link at the bottom to find the ID.

7. All other fields can be left to default, or entered as desired.

8. Click Apply.

Figure 9-8 OCH Button Creation Screen

9. Go back to the table personalization screen, that looks as follows:

Figure 9-9 Personalization screen after adding button

10. Go back to the Organization Search screen. You will see the OCH Search button below the search screen. Clicking it will launch the ECA OCH match fetch page.

Figure 9-10 OCH Search button

11. You can similarly add a button to the Person search page with the URI: javascript:window.open("http://<ECA_SERVER:ECA_PORT>/CustomerHub-matchfetch-context-root/faces/Person.jspx")

A Queue Details

This appendix provides you the list of queues used by the Customer MDM PIP, and the participating applications that interacts with this PIP.

Table A-1 Queue Details

Queue Name

Service's (UCM) picking Data from Queue

Description

Schema Files involved

AIA_UCMCustomerJMSQueue

SyncOrganizationUCMJMSProducer

This service is responsible for queueing the Oracle Customer Hub Organization payload into the JMS queue

ListOfSwiOrganizationPublishIO.xsd, Meta.xsd

SyncOrganizationUCMJMSConsumer

This service is responsible for de-queueing the Oracle Customer Hub Organization message from the JMS queue and invoking the requestor ABCS, SyncOrganizationUCMReqABCSImpl.

ListOfSwiOrganizationPublishIO.xsd

SyncPersonUCMJMSProducer

This service is responsible for de-queueing the Oracle Customer Hub Organization message from the JMS queue and invoking the requestor ABCS, SyncOrganizationUCMReqABCSImpl.

ListOfSwiPersonPublishIO.xsd, Meta.xsd

SyncPersonUCMJMSConsumer

This service is responsible for dequeueing the Oracle CustomerHub Person message from the JMS queue and invoking the requestor ABCS, SyncPersonUCMReqABCSImpl.

ListOfSwiPersonPublishIO.xsd

Copyright © 2001, 2013, Oracle and/or its affiliates. All rights reserved.