2 Product Master Data Management Integration Base Pack

This chapter describes the Oracle Application Integration Architecture (Oracle AIA) Product Master Data Management Integration base pack.

About the Integration Base Pack

The integration Base Pack provides end-to-end process flows for synchronizing items, price lists, and bills of materials (BOMs).

It also supports flows for synchronizing metadata, including item catalog categories and versioned valuesets. These flows are described in the chapters for the integration options to which they pertain.

About the Process Flow for Synchronizing of Items and BOMs

All of the integration options use this process flow.

This process flow lets you define products, discounts, and promotions as items in Oracle Product Hub and publish them to participating applications, including multiple Siebel CRM instances. You can organize simple products into structures and publish structures along with products and promotions.

The process flow reduces manual effort in keeping definitions of product, discounts, promotions, and other entities aligned across applications and ensures that a common set of products is accurately represented and available.

Oracle Product Hub messages can be generated from any number of organizations. The integration assumes that you have manually synchronized organizations between Oracle Product Hub, Siebel CRM, and E-Business Suite and created cross-references before attempting to use the process flows. The organization used for publication in Oracle Product Hub is submitted and mapped to the corresponding organization in the target application. For more information about organization cross references, see "Setting Up Cross-References".

The process flow synchronizes Oracle Product Hub items, pricing information, and BOMs as follows:

  1. Oracle Product Hub publishes an item publication event containing the following information:

    • BATCH_ID

    • STRUCTURE_FLAG: Set to N if only publishing items. Set to Y if also publishing structures.

    • Workspace Name

    • Auto-Release

  2. Oracle AIA receives the item publication event and queries the list of target systems to which the batch must be published from Oracle Product Hub.

  3. Oracle AIA uses the batch ID in the item publication event to query the items to be published from Oracle Product Hub.

  4. Oracle Product Hub returns a payload containing the items published in that batch. This payload always contains all attributes and entities in the batch, whether the items are being created or updated.

    Complete information is always published for each item. For each entity, the fields that are sent to the participating application with a value are updated with the provided value. Entities sent with NULL or empty values are nullified. Fields that are not sent are not updated.

    Within the published payload, some of the items may not apply to some of the target systems. For example, promotions do not apply to BRM. The payload contains a multivalue attribute for each item that identifies the systems to which Oracle AIA will send the item. Oracle Product Hub implements this attribute as a multi-row user-defined attribute (UDA).

    Oracle Product Hub uses the UDA Entity type to capture item type. Possible values are:

    • Product

    • Discount

    • Discount Model (not published)

    • Promotion

    • Option Group

    • Bundle

  5. Oracle AIA synchronizes the items to Siebel CRM, BRM, and E-Business Suite. If any item synchronization step fails, Oracle AIA sends an item status update to Oracle Product Hub and proceeds with the next item synchronization step.

  6. If there is pricing information in the item payload, Oracle AIA prepares a price list payload and synchronizes the pricing information to Siebel CRM and BRM.

    If item synchronization failed for a given target system, the pricing information is not synchronized to that target system.

    If any price list synchronization step fails, Oracle AIA sends an item status update to Oracle Product Hub and proceeds with the next price list synchronization step.

  7. If the structure flag is set to Y, Oracle AIA uses the batch ID to query the BOMs to be published.

  8. Oracle Product Hub returns a payload containing the BOMs published in that batch. This payload always contains all attributes and entities in the batch, whether the BOMs are being created or updated.

    The payload contains the structures associated with the root items. Because the type of structure (for example, sales BOM, manufacturing BOM, marketing BOM, support BOM) is defined by the structure name header attribute, it is the same for all the BOMs in the payload.

    Target systems are not associated directly with BOMs. All BOMs go to all providers that consume BOMs. An Oracle AIA domain value map (DVM) defines which providers consume BOMs.

  9. Oracle AIA synchronizes the BOMs to the Siebel CRM and E-Business Suite.

    If item synchronization failed for a given target system, the BOMs are not synchronized to that target system.

    If any BOM synchronization step fails, Oracle AIA sends an item status update to Oracle Product Hub and proceeds with the next BOM synchronization step.

  10. After completing synchronization, Oracle AIA sends an item status update to Oracle Product Hub.

About Chunking

You can enable chunking to help improve performance of item synchronization. Chunking lets Oracle AIA split the total entities in a batch to multiple chunks or sub-batches based on the BATCH_SIZE configuration property. The integration processes each of these chunks or sub-batches as a separate batch.

You enable chunking at the following levels:

  • BOM level: Extracts as many BOMs as defined in the chunk size. If a BOM has an option class, the option class BOMs are also extracted into the same sub-batch.

  • Item level: Extracts as many items as defined in the chunk size. If a sub-batch fails, all the items continue to be processed in that batch, but the pricelist or BOM is not processed.

    If batch synchronization fails, Oracle AIA sends a batch-level update to Oracle Product Hub.

For more information about setting batch size, see "Setting Up Configuration Properties". For more information on optimizing performance by enabling item chunking or BOM chunking, see "Performance Optimization Using Chunking".

Synchronizing Items Sub-Flow

Figure 2-1 illustrates the process flow for synchronizing items from Oracle Product Hub to Siebel CRM, BRM, and E-Business Suite.

Figure 2-1 Synchronizing Items

The flow in the figure is described in the following text.

The integration synchronizes items as follows:

  1. An Oracle Product Hub administrator publishes items and Oracle Product Hub raises a publish event containing a batch ID.

  2. The SyncItemListPIMEventConsumer service receives the item event from Oracle Product Hub and sends it to the SyncItemListPIMReqABCSImpl service.

  3. SyncItemListPIMReqABCSImpl receives the item event message and does the following:

    1. Uses the batch ID to query the list of target systems from Oracle Product Hub.

      Oracle Product Hub specifies target systems at the batch level, returning all the target systems to which the batch should be published. If the target system is not listed in the query response, Oracle AIA does not synchronize items to that system, even if the system name is defined at the entity level.

    2. Transforms the item event into the ItemQueryABM application business message (ABM) and uses it to query the list of items in the batch from Oracle Product Hub by using the QueryItemListPIMAdapter.

      If an error occurs in the item adapter while the adapter is getting data from Oracle Product Hub, the synchronization process is stopped for the entire batch.

    3. Transforms the ItemListABM message received from Oracle Product Hub into the SyncItemListEBM message and the SyncPriceListEBM message.

      If there is no price list or BOM on the EBM, SyncItemListPIMReqABCSImpl sets the workspace auto-release flag on the SyncItemEBM, which allows the downstream services to release the application workspaces after the synchronizing the items.

    4. Sends SyncItemListEBM to the ItemEBSV2 service in a separate call for each target system.

    5. Sends SyncPriceListEBM to the PriceListEBSV2 service, which starts the sub-flow for synchronizing price lists.

  4. ItemEBSV2 filters the items in SyncItemListEBM based on the target system and sends the message to the following services sequentially:

    • The SyncProductSiebelProvABCSImpl service, which does the following:

      1. Transforms SyncItemListEBM it into a Siebel CRM product ABM containing the items with the product or discount entity type and a Siebel CRM promotion ABM containing the items with the promotion entity type.

      2. Sends the product ABM to the SWIProductImport web service and the promotion ABM to the SWIPromotionImport web service.

      3. Receives responses from Siebel CRM and updates the ITEM_ITEMID and PROMOTION_PROMOTIONID cross reference tables with the Siebel CRM values for product and promotion ID.

      4. Transforms the responses into a SyncItemListResponseEBM message and sends it to the ItemResponseEBSV2 service.

    • The SyncItemListEbizProvABCSImpl service, which does the following:

      1. Transforms SyncItemListEBM into an E-Business Suite item ABM.

      2. Sends the ABM to the item synchronization API.

      3. Receives the response from E-Business Suite and updates the Oracle AIA cross reference tables with the E-Business Suite values for InventoryItemID, OrganizationID, and OperatingUnitID.

      4. Transforms the response into a SyncItemListResponseEBM message, and sends it to ItemResponseEBSV2.

    • The SyncItemListBRMProvABCSImpl service, which does the following:

      1. Transforms SyncItemListEBM it into a product and discount ABM.

      2. Sends the ABM to the BRM opcode that creates products and discounts.

      3. Receives the response from BRM, transforms it into a SyncItemListResponseEBM message, and sends it to ItemResponseEBSV2.

  5. ItemEBSV2 sends each SyncItemListResponseEBM to SyncItemListPIMReqABCSImpl.

    If the synchronization to any target system fails, SyncItemListPIMReqABCSImpl sends an item status update to Oracle Product Hub and continues synchronizing to the next target system.

  6. SyncItemListPIMReqABCSImpl sends a publishing status update to Oracle Product Hub.

  7. One of the following occurs:

    • For price lists in ItemListABM, the process flow continues with the Synchronizing Price Lists sub-flow. See "Synchronizing Price Lists Sub-Flow".

    • If there are no price lists but the structure flag is set to Y in the item event message, the process flow continues with the Synchronizing BOMs sub-flow. See "Synchronizing BOMs Sub-Flow".

    • If there are not price lists and the structure flag is set to N, the process flow is complete.

Figure 2-2 shows the sequence of integration services through which the item message passes for the synchronization flow between Oracle Product Hub, Siebel CRM, BRM, and E-Business Suite.

Figure 2-2 Item Synchronization Message Sequence

The figure is described in the preceding text.

Synchronizing Price Lists Sub-Flow

After synchronizing items from Product Hub to the participating applications, Oracle AIA synchronizes any price lists that appear in the item payload as illustrated in Figure 2-3.

Figure 2-3 Synchronizing Price Lists

The flow in the figure is described in the following text.

The integration synchronizes price lists from Oracle Product Hub as follows:

  1. After the item synchronization flow, SyncItemListPIMReqABCSImpl transforms ItemListABM into a SyncPriceListEBM message that includes pricing information, and sends it to the PriceListEBSV2 service, targeting BRM.

    If item synchronization failed for any participating application, the price list is not synchronized to that application.

    If there is no BOM on the EBM, SyncItemListPIMReqABCSImpl sets the workspace auto-release flag on the SyncPriceListEBM, which allows the downstream services to release the application workspaces after the synchronizing the price lists.

  2. PriceListEBSV2 sends SyncPriceListEBM to the SyncPriceListListBRMProvABCSImpl service.

  3. SyncPriceListListBRMProvABCSImpl transforms SyncPriceListEBM into an ABM and sends it to the BRM opcode that associates the pricing information with products in BRM.

  4. SyncPriceListListBRMProvABCSImpl receives the response from BRM, transforms it into a SyncPriceListResponseEBM message, and sends it to the SyncPriceListResponseEBSV2 service.

  5. SyncPriceListResponseEBSV2 sends SyncPriceListResponseEBM to SyncItemListPIMReqABCSImpl.

    If there is a failure, SyncItemListPIMReqABCSImpl sends an updated item status to Oracle Product Hub and continues with the synchronization process.

  6. SyncItemListPIMReqABCSImpl sends SyncPriceListEBM to PriceListEBSV2, targeting Siebel CRM

  7. PriceListEBSV2 sends SyncPriceListEBM to the ProductOptimizedSyncPriceListListSiebelCommsProvABCSImpl service.

  8. ProductOptimizedSyncPriceListListSiebelCommsProvABCSImpl transforms SyncPriceListEBM into a SyncItemCompositionEBM message and sends it to the ItemCompositionEBSV2 service.

  9. ItemCompositionEBSV2 sends the EBM to the SyncItemCompositionListSiebelCommsProvABCSImpl service.

  10. SyncItemCompositionListSiebelCommsProvABCSImpl transforms the EBM into a product ABM and sends it to the Siebel CRM product web service. The web service creates event products in Siebel CRM for products with multiple charges.

  11. SyncItemCompositionListSiebelCommsProvABCSImplreceives the response from Siebel CRM, transforms it into a SyncItemCompositionResponseEBM message, and sends it to the ItemCompositionResponseEBSV2 service.

  12. ItemCompositionResponseEBSV2 sends SyncItemCompositionResponseEBM to ProductOptimizedSyncPriceListListSiebelCommsProvABCSImpl.

  13. ProductOptimizedSyncPriceListListSiebelCommsProvABCSImpl the EBM into a price list ABM and sends it to the Siebel CRM price list web service, which synchronizes the pricing information on the product and the additional product created for billing events.

  14. ProductOptimizedSyncPriceListListSiebelCommsProvABCSImpl receives the response from Siebel CRM, transforms it SyncPriceListResponseEBM, and sends it to SyncPriceListResponseEBSV2.

  15. SyncPriceListResponseEBSV2 sends SyncPriceListResponseEBM to SyncItemListPIMReqABCSImpl.

  16. SyncItemListPIMReqABCSImpl sends a publishing status update to Oracle Product Hub.

  17. If the structure flag is set to Y in the event message from Oracle Product Hub, the process flow continues with the Synchronizing BOMs sub-flow. See "Synchronizing BOMs Sub-Flow". If not, the process flow is complete.

Figure 2-4 shows the sequence of integration services through which the price list message passes for the synchronization flow between Oracle Product Hub, Siebel CRM, and BRM.

Figure 2-4 Price List Synchronization Message Sequence

The figure is described in the preceding text.

Synchronizing BOMs Sub-Flow

After synchronizing items and price lists from Product Hub to the participating applications, Oracle AIA synchronizes any BOMs that appear in the item payload as illustrated in Figure 2-5.

Figure 2-5 Synchronizing BOMs

The flow in the figure is described in the following text.

The integration synchronizes BOMs from Oracle Product Hub as follows:

  1. After the item and price list synchronization flows, SyncItemListPIMReqABCSImpl queries the BOMs associated with the root item in the batch from Oracle Product Hub by using the QueryBillOfMaterialsListPIMAdapter.

  2. SyncItemListPIMReqABCSImpl receives the BillOfMaterialsListABM from Oracle Product Hub, transforms it into the SyncBillOfMaterialsListEBM, and sends it to the BillOfMaterialsEBSV2 service.

    SyncItemListPIMReqABCSImpl sets the workspace auto-release flag on the SyncBillOfMaterialsListEBM, which allows the downstream services to release the application workspaces after the synchronizing the BOMs.

  3. BillOfMaterialsEBSV2 sends SyncBillOfMaterialsListEBM to the following services:

    • SyncBillOfMaterialsListSiebelProvABCSImpl, which does the following:

      1. Transforms SyncBillOfMaterialsListEBM into a BOM ABM.

      2. Sends the BOM ABM to the Siebel CRM product and promotion web services, which creates the product and promotion structure in Siebel CRM.

      3. Transforms the response from Siebel CRM into the SyncBillOfMaterialsListResponseEBM message.

      4. Sends SyncBillOfMaterialsListResponseEBM to the BillOfMaterialsResponseEBSV2 service.

    • SyncBillOfMaterialsListEbizProvABCSImpl, which does the following:

      1. Transforms SyncBillOfMaterialsListEBM into a BOM ABM.

      2. Sends the BOM ABM to the E-Business Suite API that synchronizes BOMs.

      3. Transforms the response from E-Business Suite into SyncBillOfMaterialsListResponseEBM.

      4. Sends SyncBillOfMaterialsListResponseEBM to BillOfMaterialsResponseEBSV2.

  4. BillOfMaterialsResponseEBSV2 sends SyncBillOfMaterialsListResponseEBM to SyncItemListPIMReqABCSImpl.

  5. SyncItemListPIMReqABCSImpl sends a publishing status update to Oracle Product Hub and the process flow is complete.

Figure 2-6 shows the sequence of integration services through which the BOM message passes for the synchronization flow between Oracle Product Hub, Siebel CRM, and E-Business Suite.

Figure 2-6 BOM Synchronization Message Sequence

The figure is described in the preceding text.

Common Features Supported by the Base Pack

The base pack supports the following features across all process flows:

Specifying Target and Destination Systems

You can specify the systems to which Oracle AIA publishes information at the batch level and the item level.

At the batch level, you specify target systems. Oracle AIA queries the list of target systems from Oracle Product Hub when you publish a batch of items.

At the item level, you specify destination systems. You use the Destination_Sys_Specification attribute group with the Sync_Item attribute to specify destination systems. This attribute group lets you synchronize items to only those systems to which they are relevant. When Sync_Item is set to Y for a system, Oracle AIA publishes the item to the corresponding system. When Sync_Item is set to N, Oracle AIA does not publish the item to the corresponding system.

If a system does not appear in the list of destination systems for an item, but the system does appear in the list of target systems for the batch, the item is published to that system. Because of this behavior, you do not need to explicitly specify each destination system to which each item should be synchronized, only those destination systems to which each item should NOT be synchronized.

For example, when a promotion has bundles and other component items, the promotion and bundles only to Siebel CRM, not to BRM, but the leaf level items apply to both.

Table 2-1 shows a promotion in a batch that Oracle Product Hub will publish with BRM and Siebel CRM in the list of target systems. The destination system attribute specifies only those systems to which items should NOT be published.

Table 2-1 Promotion Example

Item Item Type Destination System Sync Item

Standard VoIP

Promotion

BRM

N

VoIP Bundle

Commercial Bundle

BRM

N

VoIP Service

Service Bundle

BRM

N

Basic VoIP Access

Product

N/A

N/A

VoIP Voicemail

Product

N/A

N/A

VoIP $10 Monthly Discount

Product

N/A

N/A

VoIP Adaptor

Product

N/A

N/A


The first three items are synchronized to Siebel CRM because Siebel CRM appears in the target systems list but does not appear in the destination systems list for each item. They are not synchronized to BRM because although BRM appears in the target systems list, it also appears in the destination systems list for each item with Sync_Item set to N.

The final four items are synchronized to both Siebel CRM and BRM because both appear in the target systems list but neither appear in the destination systems lists for each item.

Multi-Language Support for Item Synchronization

Multi-language support lets Oracle Product Hub publish attribute values in multiple languages.

Multi-language support provides language codes and all the values in the corresponding languages for attributes that support language translation as follows:

  • For free-text fields that are translatable in the target systems, such as Item Name and Description, Oracle Product Hub provides all the values in the supported languages and the corresponding language code for each value. The target systems only consume values for the language that they support; some target systems may not support all of the same languages as Oracle Product Hub.

  • For free-text fields that are not translatable in the target systems, Oracle Product Hub provides all the values and corresponding language codes, but the target system consumes the values in a single configured default language.

  • For fields with valuesets with translatable values, Oracle Product Hub provides a language-independent code and all the values in all the languages, but Oracle AIA passes only the language-independent code to the target system.

  • For fields with valuesets with untranslatable values, Oracle Product Hub provides the code for the value that must be consumed by the target system.

  • For customer user-defined attributes, ORacle AIA synchronizes the values with all values and corresponding language codes. The target applications consume these attributes based on the support offered for extended attributes.

Communications Seeded Library Attributes

Oracle Product Hub includes seeded attribute groups for communications that have attributes that define the characteristics of an item or the characteristics of the entity that the item represents. The integration sets the values of these attributes in the target applications.

Oracle Product Hub provides the following seeded attribute libraries:

  • Horizontal sellable product information library

  • Horizontal product management library

  • Vertical communications services billing library

  • Vertical communications product details library

For more information about communications seeded library attributes and their corresponding valuesets, see the discussion of seeded item metadata libraries in the Product Hub Implementation Guide.

The horizontal sellable product information library contains the attribute groups listed in Table 2-2.

Table 2-2 Attribute Groups in the Horizontal Sellable Product Information Library

Attribute Group Definition

Product Details: Definitions

Defines the additional characteristics of an item that represents the product in Siebel CRM. Mapped to the first class attributes of the product in Siebel CRM.

Product Details: Marketing

Defines the marketing characteristics of an item that represents the product in Siebel CRM. Mapped to the first class attributes that represent the marketing details of the product in Siebel CRM.

Product Details: Service

Defines the service characteristics (customer service information) of an item. Mapped to the first class attributes that represent the customer service of the product in Siebel CRM.

Product Details: Logistics

Stores the logistics information of an item. Usually associated with the physical goods. Mapped to the first class attributes that represent the logistics information of the product in Siebel CRM.

Product Details: Additional Information

Defines any additional information associated with the item. Mapped to the first class attributes that represent the additional information of a product in Siebel CRM.

Pricing: Simple Price List

For the standard pricing model, which lets you define a simple pricing that consists of list price, price type, and discount for the products used in non-communications industries. This model is not used for product and services that are billed in BRM.

BRM uses the billing pricing model, which allows you to define pricing of products and services as supported in the BRM rate plan model. See Table 2-4 for details about attribute groups used in the billing pricing model.

You define a product's pricing model using the Pricing Code user-defined attribute.

Promotion: More Information

Defines additional information associated with items that represent promotions. Stored as a specification group in the ItemEBO of the canonical layer and mapped to the first class attribute of the promotion entity in Siebel CRM.

Charge Plan: Nonrecurring Charge Details

Defines a charge plan for nonrecurring charges associated with a promotion. Stored as specification groups in the ItemEBO of the canonical layer and mapped to the first class attribute of the promotion entity in Siebel CRM.

Charge Plan: Recurring Charge Details

Defines a charge plan for recurring charges associated with a promotion. Stored as specification groups in the ItemEBO of the canonical layer and mapped to the first class attribute of the promotion entity in Siebel CRM.

Charge Plan: Charges, Adjustment, Usage Plan Details

Defines a charge plan for more advanced information associated with a promotion, such as adjustments and usage plan details. Stored as specification groups in the ItemEBO of the canonical layer and mapped to the first class attribute of the promotion entity in Siebel CRM.

Commitment: Charges Credits

Defines the commitment charges associated with a promotion. Stored as specification groups in the ItemEBO of the canonical layer and mapped to the first class attribute of the promotion entity in Siebel CRM.

Commitment: Terms

Defines the commitment terms associated with a promotion. Stored as specification groups in the ItemEBO of the canonical layer and mapped to the first class attribute of the promotion entity in Siebel CRM.

Product Promotions: Upgrade

Identifies all the promotions to which the current promotion can be upgraded. Stored as specification groups in the ItemEBO of the canonical layer and mapped to the first class attribute of the promotion entity in Siebel CRM.

Subject Compatibility Rules

Defines compatibility rules associated with the item. This is a multi-row attribute group in Oracle Product Hub where multiple rules can be defined. Stored as specification groups in the ItemEBO of the canonical layer and mapped to the first class attribute of the product entity in Siebel CRM.


The horizontal product management library contains the attribute group listed in Table 2-3.

Table 2-3 Attribute Groups in the Horizontal Product Management Library

Attribute Group Definition

Destination System Specification

Specifies the target system to which the item is published. The attributes in this attribute group are not mapped to any field in the target application, but are used in decision-making and routing.


The vertical communications services billing library contains the attribute group listed in Table 2-4.

Table 2-4 Attribute Groups in the Vertical Communications Services Billing Library

Attribute Group Definition

Billing Products Attributes General

Defines billing-related information of the item for communications. Primarily used in the integration to billing applications to create billing products. These have to be mapped to the first class attributes of the products in billing.

Billing Products Event Map

Associates charges (billable events) with billing products.

Rate Plan

For the billing pricing model.

Represents rate plan attributes associated with billing products.

Tier Group

For the billing pricing model.

Defines multi-tier rating for billing products.

Day Time Range

For the billing pricing model.

Defines the times when the associated rate data is applied. This is a timezone-independent field in which the time range should not be translated across the systems in different time zones.

Days of the Week Range

For the billing pricing model.

Defines the calendar dates when the associated rate data is applied. This is a timezone-independent field in which the time range should not be translated across the systems in different time zones.

Rate Data

For the billing pricing model.

Defines the discount brackets, and proration details that apply to actual charges.

Balance Impacts

For the billing pricing model.

Defines the actual amount or charges associated with billing products. Can be based on the type of resources, effective dates, and categories defined in the billing application.

Billing Discount Attributes

Defines the billing discount related information.

Billing Discount Event Map

Associates the actual discount model with the discount.


See the BRM documentation for more information about the billing pricing model.

The vertical communications product details library contains the attribute group listed in Table 2-5.

Table 2-5 Attribute Groups in the Vertical Communications Product Details Library

Attribute Group Definition

Communications: Product Info

Defines communications-specific and fulfillment-related information of the item. Mainly used during order fulfillment processing.


The horizontal sellable product information library includes the following component attribute groups, which the integration includes when synchronizing BOMs.

Table 2-6 Component Attribute Groups

Attribute Group Definition

Product Promotions: Components

Associated with the BOM that represents a promotion. Defined for the immediate components of the promotion only, not the children of the components. Oracle AIA sets the corresponding values in the context of the parent-child relationship of the promotion in Siebel CRM.

Product Promotions: Pricing: Components: Adjustments

Represents the adjustments that are applied to the components of the promotion. Applied at the leaf-level component and valid only in the context of the promotion. Oracle AIA sets the values in the context of a promotion in Siebel CRM.

Component Pricing

Pricing-related information of the component and subcomponents of the promotion. Can be updated in context of the promotion. Oracle Product Hub publishes the hierarchy of items, which includes the components and the associated pricing-related attributes. Oracle AIA sets these context-specific values for the corresponding subcomponents of promotions in Siebel CRM

Version: Structure

Provides information about the structure associated with the BOM. Represents the contextual information of the BOM components. Oracle AIA creates these as relationships in Siebel CRM.

The integration supports product and class relationships only. See Option Class Support in Item Synchronization for Siebel CRM.

During the BOM synchronization, this contextual information is set in the target application for each of the components of the BOM. For example, in Siebel CRM, this information is set for the relationship attributes of the product. The structure can also be associated with the item catalog categories in Oracle Product Hub.


Multi-row attribute groups in Oracle Product Hub provide the flexibility to associate multiple sets of attribute values with the same object instance.

The communications library includes the following multi-row attribute groups:

  • Pricelist

  • Commitment Charge Credits

  • Commitment Terms

  • Product Promotions Upgrade

  • Subject Compatibility Rules

  • Destination System Specification

  • Billing Products Discount Map

  • Rate Plan

  • Rate Data

  • Balance Impact

  • Tier Group

  • Day Time Range

  • Days of the Week Range

  • Billing Discount Event Map

Oracle Product Hub publishes the multiple sets of attribute values associated with each of these attribute groups. The integration includes the sets of attribute values within the canonical model. Supporting multi-row attribute groups in the target application is handled in the corresponding connector services.

Note:

Some of the target systems can perform delete all and insert all operations. The interfaces on the target systems must be carefully designed and implemented based on the usage of this set of attribute values in the corresponding applications. For example, in Siebel CRM, delete all and insert all cannot be performed on subject compatibility rules because the rules have references in other components.

You can define new multi-row attribute groups and the integration includes them in the canonical model.

Note:

The integration to Siebel CRM does not support customer-defined multi-row attribute groups.

Updating Publishing Status in Oracle Product Hub

Oracle Product Hub items have a publishing status which indicates if they are successfully published to a given system. After publishing all entities in a batch to target systems, Oracle AIA updates the status in Oracle Product Hub so that a product administrator can track publication results and republish in case of failure. Oracle AIA sends a separate status update after publishing items, price lists, and BOMs.

The publishing status can have the following values:

  • Batch Submitted: Set by Oracle Product Hub for items before publication.

  • In Process: Set by Oracle AIA after querying the data from Oracle Product Hub.

  • Succeeded: Set by Oracle AIA when the item publication succeeds.

  • Failed: Set by Oracle AIA when the item publication fails.

  • Ignored: Set as a default value in Oracle Product Hub to indicate that an item is ignored by a specific system because it does not apply to it, for example, promotions for BRM.

When the target system processes the entire item or BOM EBM, such as when an Oracle AIA error prevents the entire EBM from being processed, Oracle AIA updates the status at the batch level. When the target system processes the EBM in a more granular way, such as when synchronizing promotions to Siebel CRM, Oracle AIA updates the status at the item level. When the target system processes the EBM at a level more granular than the entire payload but less granular than individual items, Oracle AIA updates the status at the item level.

The publishing status message contains the following parts:

  • An initial string, is an English-language message prepared by Oracle AIA that indicates the service where the error occurred. Because there can be multiple interactions for a single item (such as synchronizing the item, it's price list, and its structure), this message can help the Oracle Product Hub administrator understand what interaction failed.

  • The message returned by the target system. This may be an error message or an informational message. For Siebel CRM, the message also contains the workspace ID for the batch.

Oracle Product Hub Interfaces

The integration uses the Oracle Product Hub interfaces shown in Table 2-7.

Table 2-7 Oracle Product Hub Interfaces

Interface Service Name Operation Name Request and Response

Item Synchronization: Inbound Web Services

ItemService

GetItemInformation

ItemService_GetItemInformation, ItemService_GetItemInformationResponse

BOM Synchronization: Inbound Web Services

ItemService

getStructureDetails

ItemService_getStructureDetails, ItemService_getStructureDetailsResponse

Publication Service: Outbound Web Services

PublicationService_Service

PublicationService_UpdatePublicationStatus

PublicationService_UpdatePublicationStatus_InputMessage, PublicationService_UpdatePublicationStatus_OutputMessage

Publication Service: Outbound Web Services

PublicationService_Service

PublicationService_GetBatchSystems

PublicationService_GetBatchSystems_InputMessage, PublicationService_GetBatchSystems_OutputMessage

Item Catalog Synchronization: Inbound Web Services

ItemCatalogService

getICCDetails

ItemCatalogService_getICCDetails, ItemCatalogService_getICCDetailsResponse

Item Catalog Synchronization: Inbound Web Services

ItemCatalogService

PublicationService_GetBatchSystems

PublicationService_GetBatchSystems_InputMessage, PublicationService_GetBatchSystems_OutputMessage

Valueset Synchronization: Inbound Web Services

ValuesetService

getValueSetDetails

ValuesetService_getValueSetDetails, ValuesetService_getValueSetDetailsResponse

Product Class: Inbound Web Services

SWIProductClassIntegrationIO

SWIClassImportUpsert

SWIClassImportUpsert_Input, SWIClassImportUpsert_Output

Attribute Definition: Inbound Services

SWIAttributeIntegrationIO

SWIAttributeImportUpsert

SWIAttributeImportUpsert_Input, SWIAttributeImportUpsert_Output


Oracle Product Hub Integration Services

The integration includes the following services for Oracle Product Hub:

SyncItemListPIMEventConsumer

This consumer service listens for Oracle Product Hub item publish business events. It picks up the WF_EVENT_T_msg item event message and sends it to SyncItemListPIMReqABCSImpl.

SyncItemListPIMReqABCSImpl

This service is a BPEL process that coordinates the item synchronization from Oracle Product Hub to the target systems. It uses the event message to query the target systems and the full item details from Oracle Product Hub, then sends these in EBMs to the EBSs for item, price list, and BOM synchronization. It receives responses from the EBSs and updates Oracle Product Hub with the publishing status for each item.

QueryItemListPIMAdapter

This BPEL adapter service receives the session ID, batch ID, mode, and system ID from the SyncItemListPIMReqABCSImpl and retrieves the item information from Oracle Product Hub.

QueryBillOfMaterialsListPIMAdapter

This BPEL adapter service receives the session ID, batch ID, mode, and system ID from the SyncItemListPIMReqABCSImpl and retrieves the BOM information from Oracle Product Hub.

SyncSpecificationValueSetListPIMEventConsumer

The lightweight mediator service listens for Oracle Product Hub valueset publish business events. It picks up the event message and sends it to the SyncSpecificationValueSetListPIMReqABCSImpl service.

This service is used only with the Siebel CRM pre-built integration option. See "Synchronization of Valuesets Independently" for more information about the flow in which this service is used.

SyncSpecificationValueSetListPIMReqABCSImpl

This service is a BPEL process that coordinates the valueset synchronization from Oracle Product Hub to Siebel CRM.

It uses the Oracle Product Hub valueset business event message from SyncSpecificationValueSetListPIMEventConsumer to query the valuesets from Oracle Product Hub, then sends them in EBMs to the SpecificationValueSetEBS service. It receives responses from the EBSs and updates Oracle Product Hub with the publishing status for each valueset.

This service is used only with the Siebel CRM pre-built integration option. See "Synchronization of Valuesets Independently" for more information about the flow in which this service is used.

SyncItemCatalogCategoryPIMEventConsumer

This consumer service listens to Oracle Product Hub business events. It picks up the WF_EVENT_T_msg item event message from Oracle Product Hub and sends it to the SyncItemCatalogCategoryPIMReqABCSImpl service.

This service is used only with the Siebel CRM pre-built integration option. See "Synchronizing Item Catalog Category Implementation Flow" for more information about the flow in which this service is used.

SyncItemCatalogCategoryPIMReqABCSImpl

This service is a BPEL process that coordinates the item catalog category synchronization from Oracle Product Hub to Siebel CRM.

It uses the Oracle Product Hub item catalog category business event message from SyncItemCatalogCategoryPIMEventConsumer to query the item catalog categories from Oracle Product Hub, then sends them in EBMs to the SpecificationValueSetEBSV2 and SyncClassificationSchemeEBSV2 services. It receives responses from the EBSs and updates Oracle Product Hub with the publishing status for each item catalog category.

This service is used only with the Siebel CRM pre-built integration option. See "Synchronizing Item Catalog Category Implementation Flow" for more information about the flow in which this service is used.

Assumptions and Constraints for Oracle Product Hub

The assumptions and constraints for Oracle Product Hub are as follows:

  • Oracle Product Hub is the product master for defining items, BOMs, and metadata. Any changes or enrichment in the target systems are not synchronized back to Oracle Product Hub.

  • The multi-language support offered by Oracle Product Hub for the valuesets depends on the validation type associated with the valueset. The independent and translatable validation types are supported.

  • The integration does not support the following:

    • Synchronizing products from an inventory organization that is shared among multiple operating units.

    • Publishing alternate catalogs from Oracle Product Hub is not supported by the integration.

    • The Oracle Product Hub variant type attribute group.

    • Publishing item catalog categories as a batch. You must publish each item catalog category to the target systems, except for item catalog categories that are part of hierarchies, which can be published together.

  • Oracle Product Hub does not support the following:

    • Changing the parent item catalog category associated with an item catalog category after it is released, even to create a new version.

    • Adding the same item more than once as a component of a BOM, although this is allowed in Siebel CRM. If required, this can be achieved by using the operation sequence support provided by Oracle Product Hub

    • Using Boolean and integer data types. To support Boolean and integer data types, append _BOOL to the end of valueset name and set predefined values, such as True or False. You can define any number of Boolean valuesets using the technique, but the values must always be same, and seeded.