Skip Headers
Oracle® Application Integration Architecture Oracle Communications Order to Cash Integration Pack Implementation Guide for Siebel CRM, Oracle Communications Order and Service Management, and Oracle Communications Billing and Revenue Management
Release 11.3

Part Number E37675-02
Go to Documentation Home
Home
Go to Book List
Book List
Go to Table of Contents
Contents
Go to Feedback page
Contact Us

Go to previous page
Previous
Go to next page
Next
PDF · Mobi · ePub

13 Implementing the Bill Fulfillment Order Business Flow

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

Bill Fulfillment Order Business Flow Overview

The following pre-built integration option enables the Bill Fulfillment Order business flow:

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

The Bill Fulfillment Order business flow supports the following integration flow:

  • Interfacing Orders to Create Transaction Data in BRM

Interfacing Orders to Create Transaction Data in BRM Integration Flow

The Interfacing Orders to Create Transaction Data in BRM integration flow uses the following services:

  • ProcessFulfillmentOrderBillingOSMCFSCommsJMSConsumer

  • ProcessFulfillmentOrderBillingBRMCommsProvABCSImpl

  • ProcessFulfillmentOrderBillingOSMCFSCommsJMSProducer

Figure 13-1 illustrates the integration components used by OSM to interface orders to create transaction data in BRM.

Figure 13-1 Bill Fulfillment Order Sequence Diagram

This image is described in surrounding text.

When this flow is initiated, the following events occur:

  1. OSM converts the ProcessSalesOrderFulfillmentEBM message received in the Process Sales Order Fulfillment business flow into a ProcessFulfillmentOrderBillingEBM message and places it in a JMS queue. The store-and-forward mechanism pushes the message to the AIA_CRTBO_OUT_JMSQ messaging queue.

  2. The ProcessFulfillmentOrderBillingOSMCFSCommsJMSConsumer service picks up the ProcessFulfillmentOrderBillingEBM message and routes it to the ProcessFulfillmentOrderBillingBRMCommsProvABCSImpl service.

  3. The ProcessFulfillmentOrderBillingBRMCommsProvABCSImpl service uses the ProcessFulfillmentOrderBillingEBM message to create billing artifacts, service instances with balance group information, purchased products, purchased discounts, and so on in BRM.

  4. The ProcessFulfillmentOrderBillingBRMCommsProvABCSImpl service constructs the ProcessFulfillmentOrderBillingResponseEBM message and sends it back to the ProcessFulfillmentOrderBillingResponseOSMCFSCommsJMSProducer service.

  5. The ProcessFulfillmentOrderBillingResponseOSMCFSCommsJMSProducer service forwards the ProcessFulfillmentOrderBillingResponseEBM message in the AIA_UPDBO_IN_JMSQ queue using the store-and-forward mechanism to an OSM messaging queue on the OSM WebLogic server.

Defining Transaction Boundaries and Recovery Details

For this flow there is one transaction boundary. Table 13-1 describes the transaction involved, the database operations, and what actions to take in case of an error.

See "Using Error Type to Control Response to Order Fallout" for more information about system errors and business errors.

The following services are involved:

  • ProcessFulfillmentOrderBillingOSMCFSCommsJMSConsumer

  • ProcessFulfillmentOrderBillingBRMCommsProvABCSImpl

  • ProcessFulfillmentOrderBillingBRMCommsAddSubProcess

  • ProcessFulfillmentOrderBillingBRMCommsDeleteSubProcess

  • ProcessFulfillmentOrderBillingBRMCommsMoveAddSubProcess

  • ProcessFulfillmentOrderBillingBRMCommsSuspendResumeSubProcess

  • ProcessFulfillmentOrderBillingBRMCommsUpdateSubProcess

  • ProcessFulfillmentOrderBillingResponseOSMCFSCommsJMSProducer

Table 13-1 Transaction Boundaries and Recovery Details

Transaction DB Operations In Case of Error Recovery

The ProcessFulfillmentOrderBillingOSMCFSCommsJMSConsumer service passes the message to the ProcessFulfillmentOrderBillingBRMCommsProvABCSImpl service, which creates billing artifacts and call one or more subprocesses. The response message is then routed to the ProcessFulfillmentOrderBillingResponseOSMCFSCommsJMSProducer service.

AIA cross-references created.

BRM data created.

Message goes to the AIA_UPDBO_IN_JMSQ queue.

Rollback AIA cross-references.

Rollback data created in BRM.

Message goes back to the originating queue (AIA_CRTBO_OUT_JMSQ_ErrorQ).

Resubmit the order from the AIA_CRTBO_OUT_JMSQ_ErrorQ queue.


See "Configuring Oracle AIA Processes for Error Handling and Trace Logging", Configuring Fault Policies to Not Issue Rollback Messages in Oracle Fusion Middleware Developer's Guide for Oracle Application Integration Architecture Foundation Pack for more information about rollback procedures.

BRM Interfaces

The Bill Fulfillment Order business flow uses these services:

  • PCM_OP_CUST_MODIFY_CUSTOMER

  • PCM_OP_CUST_CREATE_PROFILE

  • PCM_OP_CUST_DELETE_PROFILE

  • PCM_OP_CUSTMODIFY_PROFILE

  • PCM_OP_CUST_SET_STATUS

  • PCM_OP_CUST_UPDATE_SERVICES

  • PCM_OP_SUBCRIPTION_PURCHASE_DEAL

  • PCM_OP_SUBCRIPTION_CANCEL_PRODUCT

  • PCM_OP_SUBCRIPTION_CANCEL_DISCOUNT

  • PCM_OP_SUBSCRIPTION_TRANSFER_SUBCRIPTION

  • PCM_OP_SUBSCRIPTION_SERVICE_BALGRP_TRANSFER

  • PCM_OP_SUBSCRIPTION_SET_PRODINFO

  • PCM_OP_SEARCH

  • PCM_OP_READ_FLDS

  • PCM_OP_SUBSCRIPTION_SET_BUNDLE

  • PCM_OP_SUBSCRIPTION_SET_DISCOUNT_STATUS

  • PCM_OP_SUBSCRIPTION_SET_PRODUCT_STATUS

See the BRM documentation for more information.

Industry Oracle AIA Components

The Bill Fulfillment Order business flow uses these industry components:

  • FufillmentOrderEBO

  • ProcessFulfillmentOrderBillingEBM

  • ProcessFulfillmentOrderBillingResponseEBM

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

The industry enterprise business service (EBS) WSDL files are located in: $AIA_HOME/AIAMetaData/AIAComponents/EnterpriseBusinessServiceLibrary/Industry/Communications/EBO/

For detailed documentation of individual EBOs and EBMs, click the AIA Reference Doc link on EBO and EBM detail pages in the Oracle Enterprise Repository (OER).

EBOs can be extended, for instance, to add new data elements. These extensions are protected and remain intact after a patch or an upgrade, so long as the extensibility guidelines are followed.

See Oracle Fusion Middleware Developer's Guide for Oracle Application Integration Architecture Foundation Pack for more information about:

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

  • Extending existing schemas and EBOs

Integration Services

The following services are delivered with the Bill Fulfillment Order business flow:

  • ProcessFulfillmentOrderBillingOSMCFSCommsJMSConsumer

  • ProcessFulfillmentOrderBillingBRMCommsProvABCSImpl

    • ProcessFulfillmentOrderBillingBRMCommsAddSubProcess

    • ProcessFulfillmentOrderBillingBRMCommsMoveAddSubProcess

    • ProcessFulfillmentOrderBillingBRMCommsSuspendResumeSubProcess

    • ProcessFulfillmentOrderBillingBRMCommsUpdateSubProcess

    • ProcessFulfillmentOrderBillingBRMCommsDeleteSubProcess

  • ProcessFulfillmentOrderBillingOSMCFSCommsJMSProducer

ProcessFulfillmentOrderBillingOSMCFSCommsJMSConsumer

The ProcessFulfillmentOrderBillingOSMCFSCommsJMSConsumer service is a Mediator process that has a JMS Adapter Service, which continuously polls the AIA_CRTBO_OUT_JMSQ queue. The ProcessFulfillmentOrderBillingOSMCFSCommsJMSConsumer service dequeues the ProcessFulfillmentOrderBillingEBM message and routes it to the ProcessFulfillmentOrderBillingBRMCommsProvABCSImpl service.

This service has one operation: Consume_Message.

ProcessFulfillmentOrderBillingBRMCommsProvABCSImpl

The ProcessFulfillmentOrderBillingBRMCommsProvABCSImpl service consists of a BPEL process with one operation: ProcessBilling. It receives the Order EBM and then converts the message into a BRM-specific message based on which opcode must be invoked.

This service communicates with BRM using the custom Java EE Connector Architecture (JCA) adapter provided by BRM. It uses the default capability of the custom JCA adapter to define unit transactions for every order. (Do all or none.)

The routing to the right BRM instance is done using dynamic end point binding in the BPEL process using the target application that is decided.

This service accepts the appropriate ProcessFulfillmentOrderBillingEBM message and is responsible for transforming to the relevant BRM ABM and invoking the corresponding opcode.

The ProcessFulfillmentOrderBillingBRMCommsProvABCSImpl service mainly performs the following activities:

  • Evaluates the product type of the order line and the action code. If the particular order line is a ServiceBundle/Subscription/Discount/Item and if this line has never been interfaced to BRM, then it proceeds to call the subprocesses:

    • For ActionCode = 'ADD' and BillingMode = 'INITIATE BILLING' or 'FULFILL BILLING', ProcessFulfillmentOrderBillingBRMCommsAddSubProcess is called.

    • For ActionCode = 'SUSPEND' or 'RESUME' and BillingMode = 'FULFILL BILLING', ProcessFulfillmentOrderBillingBRMCommsSuspendResumeSubProcess is called.

    • For ActionCode = 'DELETE' and BillingMode = 'FULFILL BILLING', ProcessFulfillmentOrderBillingBRMCommsDeleteSubProcess is called.

    • For ActionCode = 'UPDATE' or "MOVE-ADD' and BillingMode = 'FULFILL BILLING', ProcessFulfillmentOrderBillingBRMCommsUpdateSubProcess is called.

    • For ActionCode = 'MOVE-ADD' and BillingMode = 'FULFILL BILLING', ProcessFulfillmentOrderBillingBRMCommsMoveAddSubProcess is called.

    • For ActionCode = "ADD", FulfillmentModeCode = "REDO" and BillingMode ="INITIATE BILLING", ProcessFulfillmentOrderBillingBRMCommsUpdateSubProcess is called.

    • For ActionCode = "ADD", FulfillmentModeCode = "UNDO" and BillingMode ="INITIATE BILLING", ProcessFulfillmentOrderBillingBRMCommsDeleteSubProcess is called.

  • For friends and family orders, where the order has one or multiple SpecialRatingProduct as an OrderLine, the ProcessFulfillmentOrderBillingBRMCommsProvABCSImpl Process calls a BRM opcode from the following list depending on the nature of the action to be performed:

    • For New Order, the PCM_OP_CUST_CREATE_PROFILE opcode is called. Afterwards, the BRM POID is cross-referenced and populated in the AIA XREF database.

    • For Deleting the Special Rating Product, the PCM_OP_CUST_DELETE_PROFILE opcode is called. After the call, the BRM POID is cross-referenced and deleted from the AIA XREF database.

    • For Deleting the Special Rating Product, the PCM_OP_CUST_MODIFY_PROFILE opcode is called.

  • For Promotion on Invoice, ProcessFulfillmentOrderBillingBRMCommsProvABCSImpl calls the PCM_OP_SUBSCRIPTION_SET_BUNDLE opcode and different values are passed depending on the particular functional operation.

  • After all of these activities, the data is cross-referenced to the AIA XREF database.

    Figure 13-2 shows the data that is cross-referenced to the AIA XREF database:

    Figure 13-2 Data Cross-Referenced to the AIA XREF Database

    This image is described in surrounding text.

This service calls the following subprocesses in a synchronous fashion to perform various billing-related activities:

  • ProcessFulfillmentOrderBillingBRMCommsAddSubProcess

  • ProcessFulfillmentOrderBillingBRMCommsMoveAddSubProcess

  • ProcessFulfillmentOrderBillingBRMCommsSuspendResumeSubProcess

  • ProcessFulfillmentOrderBillingBRMCommsUpdateSubProcess

  • ProcessFulfillmentOrderBillingBRMCommsDeleteSubProcess

For error scenarios, a response message can be optionally sent back to the order management system. The decision whether to send a response message back to the order management system is done based on the responseCode attribute of the DataArea of the incoming EBM (ProcessFulfillmentOrderBillingEBM) from the order management system.

If the responseCode value in the incoming EBM is REQUIRED_FOR_BUSINESS_AND_SYSTEM_ERRORS, the response message is sent back to the order management system for all errors. However, if the responseCode value is REQUIRED_FOR_BUSINESS_ERRORS, the response message is only sent back to the order management system for business errors.

Caution:

With errors, OSM and the OSM AIA cartridges do not expect a response back. Instead, they use the Oracle AIA order fallout notification to both generate a trouble ticket and change the order and line status to indicate failure.

ProcessFulfillmentOrderBillingBRMCommsAddSubProcess

The ProcessFulfillmentOrderBillingBRMCommsAddSubProcess is a synchronous BPEL process that is called by the ProcessFulfillmentOrderBillingBRMCommsProvABCSImpl. This call depends on the action code present on the order line and also the type of product.

The ProcessFulfillmentOrderBillingBRMCommsAddSubProcess is called for a service bundle, account-level product, or account-level discount that is being newly added either as a part of a new order or an update order and that has an action code of Add.

The ProcessFulfillmentOrderBillingBRMCommsAddSubProcess is never called for any one-time penalty charges that also have an action code of Add, but are being added as a part of the MACD operation performed on a service bundle or a promotion.

The ProcessFulfillmentOrderBillingBRMCommsAddSubProcess receives a custom message that has the ProcessFulfillmentOrderBillingEBM, XREFPopulate, and XREFDelete DataStructure.

The structure of the message coming in to the ProcessFulfillmentOrderBillingBRMCommsAddSubProcess comprises:

  • ProcessFulfillmentOrderBillingEBM

  • XREFPopulate

  • XREFDelete

Depending on the type of product for every order Line, the following operations are performed in the ProcessFulfillmentOrderBillingBRMCommsAddSubProcess:

  1. The incoming payload is tunneled through two transforms. The first transform groups all the service bundles per service account and the second transform groups all the account-level purchases.

    • When the product type is service bundle, the BPEL process accumulates all of the children inside the service bundle and calls the PCM_OP_CUST_MODIFY_CUSTOMER opcode. During this call, the ProcessFulfillmentOrderBillingBRMCommsAddSubProcess also transforms the ProcessFulfillmentOrderBillingEBM into a BRM-specific message. All the service bundles per service account per billing profile are passed in one single PCM_OP_CUST_MODIFY_CUSTOMER opcode call.

    • When the product type is an account-level subscription, discount, or item, then this BPEL process calls the PCM_OP_SUBSCRIPTION_PURCHASE_DEAL opcode. During this call, the ProcessFulfillmentOrderBillingBRMCommsAddSubProcess also transforms the ProcessFulfillmentOrderBillingEBM into a BRM-specific message.

  2. After the BRM opcode calls are successfully carried out, this BPEL process captures the POID (ObjectIdentifier) returned by BRM and populates the XREFPopulateData. See Table 25-2, "Order Lifecycle Management Cross-References" for more details about the cross-references populated.

  3. For ITEM, the POID (ObjectIdentifier) is returned by BRM only during INITIATE BILLING mode.

This service communicates with BRM using the JCA adapter provided by BRM. The service uses the default capability of the JCA adapter to define unit transactions for every order. (Do all or none.)

This service supports two modes of billing:

  • Initiate billing

  • Fulfill billing

ProcessFulfillmentOrderBillingBRMCommsMoveAddSubProcess

The ProcessFulfillmentOrderBillingBRMCommsMoveAddSubProcess is a synchronous BPEL process that is called by the ProcessFulfillmentOrderBillingBRMCommsProvABCSImpl. This call depends on the action code present on the order line and also the type of product. It has one operation: processBillingMove.

The structure of the message coming in ProcessFulfillmentOrderBillingBRMCommsMoveAddSubProcess comprises:

  • ProcessFulfillmentOrderBillingEBM

  • XREFPopulate

  • XREFDelete

When the action code on the order line is MoveAdd and the product type is a service bundle, a subscription product, an account-level product, or an account-level discount, the ProcessFulfillmentOrderBillingBRMCommsMoveAddSubProcess is called.

This process supports the following situations:

  • Transferring a service from one billing profile or service account to another when service-level balance groups are enabled. This includes changing the paying parent for services on a subordinate account.

    The ProcessFulfillmentOrderBillingBRMCommsMoveAddSubProcess service calls the ProcessFulfillmentOrderBillingBRMCommsUpdateSubProcess service. See "ProcessFulfillmentOrderBillingBRMCommsUpdateSubProcess" for information about how the Update subprocess implements the service transfer.

  • Changing the paying parent for services on a subordinate account when service-level balance groups are disabled. Both billing profile and billing account must be changed.

    The ProcessFulfillmentOrderBillingBRMCommsMoveAddSubProcess service calls the ProcessFulfillmentOrderBillingBRMCommsUpdateSubProcess service. See "ProcessFulfillmentOrderBillingBRMCommsUpdateSubProcess" for information about how the Update subprocess implements the changes to billing profile and billing account.

  • Changes to ServiceID, Price Override, and Discount Override made as part of a move-add command.

    To process the changes, after ProcessFulfillmentOrderBillingBRMCommsMoveAddSubProcess is invoked, ProcessFulfillmentOrderBillingBRMCommsProvABCSImpl invokes ProcessFulfillmentOrderBillingBRMCommsUpdateSubProcess.

  • Simple Move-Add of the service bundles from one location to another.

    There is no BRM interaction for this operation. Only the entries in the cross-reference tables are repointed.

  • A Move-Add order accompanied by a one-time penalty charge.

    When a one-time penalty charge is associated, the ProcessFulfillmentOrderBillingBRMCommsMoveAddSubProcess converts the ProcessFulfillmentOrderBillingEBM into a BRM-specific message and calls the PCM_OP_SUBSCRIPTION_PURCHASE_DEAL BRM opcode.

ProcessFulfillmentOrderBillingBRMCommsSuspendResumeSubProcess

The structure of the message coming in the ProcessFulfillmentOrderBillingBRMCommsSuspendResumeSubProcess comprises:

  • ProcessFulfillmentOrderBillingEBM

  • XREFPopulate

  • XREFDelete

The ProcessFulfillmentOrderBillingBRMCommsSuspendResumeSubProcess is a synchronous BPEL process that is called by the ProcessFulfillmentOrderBillingBRMCommsProvABCSImpl. This call depends on the action code present on the order line and also the type of product. It has one operation: processBillingSuspendResume.

When the action code is Suspend or Resume and the ProductType is a service bundle or an account-level subscription or account-level discount, then the ProcessFulfillmentOrderBillingBRMCommsSuspendResumeSubProcess is called.

The following operations are done by this process:

  • When the action code is Suspend or Resume and the product type is a service bundle.

    ProcessFulfillmentOrderBillingBRMCommsSuspendResumeSubProcess converts the ProcessFulfillmentOrderBillingEBM into a BRM-specific message and calls the PCM_OP_CUST_SET_STATUS BRM opcode.

    When the action code is Suspend, then the ProcessFulfillmentOrderBillingBRMCommsSuspendResumeSubProcess passes the Flag= 10102.

    When the action code is Resume, then the ProcessFulfillmentOrderBillingBRMCommsSuspendResumeSubProcess passes the Flag= 10100.

  • When the action code is Suspend or Resume and the product type is Account-Level Discount:

    ProcessFulfillmentOrderBillingBRMCommsSuspendResumeSubProcess converts the ProcessFulfillmentOrderBillingEBM into a BRM-specific message and calls the PCM_OP_SUBSCRIPTION_SET_DISCOUNT_STATUS BRM opcode.

    When the action code is Suspend, then the ProcessFulfillmentOrderBillingBRMCommsSuspendResumeSubProcess passes the Flag= 2.

    When the action code is Resume, then the ProcessFulfillmentOrderBillingBRMCommsSuspendResumeSubProcess passes the Flag= 1.

  • When the action code is Suspend or Resume and the product type is Account-Level Subscription.

    ProcessFulfillmentOrderBillingBRMCommsSuspendResumeSubProcess converts the ProcessFulfillmentOrderBillingEBM into a BRM-specific message and calls the PCM_OP_SUBSCRIPTION_SET_PRODUCT_STATUS BRM opcode.

    When the action code is Suspend, then the ProcessFulfillmentOrderBillingBRMCommsSuspendResumeSubProcess passes the Flag= 2.

    When the action code is Resume, then the ProcessFulfillmentOrderBillingBRMCommsSuspendResumeSubProcess passes the Flag= 1.

    For Operation 1, a one-time penalty charge may or may not be associated.

  • When a one-time penalty charge is associated with the service bundle, then depending on the action code, the one-time charge gets added in the following manner:

    When the action code is Suspend, the one-time charge gets added first.

    ProcessFulfillmentOrderBillingBRMCommsSuspendResumeSubProcess converts the ProcessFulfillmentOrderBillingEBM into a BRM-specific message and calls the PCM_OP_SUBSCRIPTION_PURCHASE_DEAL BRM opcode.

    After the one-time charge is added, then Operation 1 is run to suspend the service bundle.

    When the action code is Resume, the one-time charge gets added after the service bundle is resumed.

    Operation 1 is run to resume the service bundle.

    Afterwards, the one-time charge gets added:

    ProcessFulfillmentOrderBillingBRMCommsSuspendResumeSubProcess converts the ProcessFulfillmentOrderBillingEBM into a BRM-specific message and calls the PCM_OP_SUBSCRIPTION_PURCHASE_DEAL BRM opcode.

ProcessFulfillmentOrderBillingBRMCommsUpdateSubProcess

The ProcessFulfillmentOrderBillingBRMCommsUpdateSubProcess service is a synchronous BPEL process that is called by the ProcessFulfillmentOrderBillingBRMCommsProvABCSImpl service. This call depends on the action code present on the order line and the type of product. It has one operation: processBillingUpdate.

The structure of the message coming in ProcessFulfillmentOrderBillingBRMCommsUpdateSubProcess comprises:

  • ProcessFulfillmentOrderBillingEBM

  • XREFPopulate

  • XREFDelete

When the action code is Update and the product type is a service bundle, subscription product, or account-level discount, the ProcessFulfillmentOrderBillingBRMCommsUpdateSubProcess is called.

This process supports the following update situations:

  • Updating billing profiles, billing accounts, or service accounts for service bundles.

    • When service-level balance groups are enabled, you can transfer a service from one billing profile, billing account, or service account to another. This includes changing the paying parent for the services on a subordinate account.

      ProcessFulfillmentOrderBillingBRMCommsUpdateSubProcess converts the ProcessFulfillmentOrderBillingEBM into a BRM-specific message including new billing profile, service account, and balance group information. The process then calls the PCM_OP_CUST_MODIFY_CUSTOMER opcode to update the billing profile or billing account, and the PCM_OP_SUBSCRIPTION_SERVICE_BAL_GRP_TRANSFER opcode to transfer the services to the new service account and update the balance group POIDs in the cross-reference table.

    • When service-level balance groups are disabled, you can change the paying parent for the services on a subordinate account by updating both the billing profile and the billing account.

      ProcessFulfillmentOrderBillingBRMCommsUpdateSubProcess converts the ProcessFulfillmentOrderBillingEBM into a BRM-specific message including new billing profile and billing account. The process then calls the PCM_OP_CUST_MODIFY_CUSTOMER opcode to update the billing profile and billing account in BRM.

  • Updating the service ID for a particular service bundle.

    During this scenario, you can update the service ID for one or more service bundles as part of regular modify orders or as part of Move-Add.

    ProcessFulfillmentOrderBillingBRMCommsUpdateSubProcess converts the ProcessFulfillmentOrderBillingEBM into a BRM-specific message and calls the PCM_OP_CUST_UPDATE_SERVICES BRM opcode.

  • Price override

    During this scenario, you can change the PriceOverride on a product line.

    ProcessFulfillmentOrderBillingBRMCommsUpdateSubProcess converts the ProcessFulfillmentOrderBillingEBM into a BRM-specific message and calls the PCM_OP_SUBSCRIPTION_SET_PRODINFO BRM opcode.

  • Discount override

    During this scenario, you can change the DiscountOverride on a product line.

    ProcessFulfillmentOrderBillingBRMCommsUpdateSubProcess converts the ProcessFulfillmentOrderBillingEBM into a BRM-specific message and calls the PCM_OP_SUBSCRIPTION_SET_PRODINFO BRM opcode.

  • TBO End Date

    During this scenario, you can change the EffectiveEndDate on a product line.

    ProcessFulfillmentOrderBillingBRMCommsUpdateSubProcess converts the ProcessFulfillmentOrderBillingEBM into a BRM-specific message and calls the PCM_OP_SUBSCRIPTION_SET_PRODINFO BRM opcode in case of SUSCRIPTION products and calls PCM_OP_SUBSCRIPTION_SET_DISCOUNTINFO in case of discount products.

ProcessFulfillmentOrderBillingBRMCommsDeleteSubProcess

The ProcessFulfillmentOrderBillingBRMCommsDeleteSubProcess is a synchronous BPEL process that is called by ProcessFulfillmentOrderBillingBRMCommsProvABCSImpl. This call depends on the action code present on the order line and also the type of product. It has one operation: processBillingDelete.

When the action code is Delete and the product type is a service bundle or an account-level subscription or account-level discount, then the ProcessFulfillmentOrderBillingBRMCommsDeleteSubProcess is called.

The following operations are done by this process:

  • When the action code is Delete and the product type is Service Bundle, the ProcessFulfillmentOrderBillingBRMCommsDeleteSubProcess converts the ProcessFulfillmentOrderBillingEBM into a BRM-specific message and calls the PCM_OP_CUST_SET_STATUS BRM opcode.

  • The ProcessFulfillmentOrderBillingBRMCommsDeleteSubProcess passes the StatusFlag=4 and Status = 10103 in this case.

  • When the action code is Delete and the product type is Discount, the ProcessFulfillmentOrderBillingBRMCommsDeleteSubProcess converts the ProcessFulfillmentOrderBillingEBM into a BRM-specific message and calls the PCM_OP_SUBSCRIPTION_CANCEL_DISCOUNT BRM opcode.

  • When the action code is Delete and the product type is Account-Level Subscription, the ProcessFulfillmentOrderBillingBRMCommsDeleteSubProcess converts the ProcessFulfillmentOrderBillingEBM into a BRM-specific message and calls the PCM_OP_SUBSCRIPTION_CANCEL_PRODUCT BRM opcode.

  • During these operations, the ProcessFulfillmentOrderBillingBRMCommsDeleteSubProcess also checks for the existence of any one-time penalty charge. If present, then the ProcessFulfillmentOrderBillingBRMCommsDeleteSubProcess converts the ProcessFulfillmentOrderBillingEBM into a BRM-specific message and calls the PCM_OP_SUBSCRIPTION_PURCHASE_DEAL BRM opcode.

ProcessFulfillmentOrderBillingResponseOSMCFSCommsJMSProducer

The ProcessFulfillmentOrderBillingResponseOSMCFSCommsJMSProducer is a BPEL process that has an adapter service, which produces the order response messages to the AIA_UPDBO_IN_JMSQ.

This process has only one operation: Produce_ProcessFOBResponse to produce the message into the AIA_UPDBO_IN_JMSQ AIA queue. This operation is called after the order is interfaced into BRM.