This chapter provides an overview of the Service Usage integration flows and discusses Oracle Communications Billing and Revenue Management (BRM) and Siebel customer relationship management (Siebel CRM) interfaces, industry Oracle Application Integration Architecture (Oracle AIA) components, and integration services.
The Service Usage integration between Siebel CRM and BRM supports the following integration scenarios:
QueryServiceUsage enables a customer service representative (CSR) to view account-billing-profile-service-usage-summary in Siebel CRM.
QueryServiceUsageAllocation enables a CSR to view account-billing-profile-service-usage-charge-details in Siebel CRM.
SearchServiceUsageAllocation enables a CSR to search account-billing-profile-service-usage-charge-details based on a few columns.
QueryServiceUsageAllocationResource enables a CSR to view resource balances (for example, nonmonetary) for service usage events in Siebel CRM.
Events that have been captured by BRM but have not been billed are called unbilled usage events. Customer questions about unbilled (service) usage are the most common queries for CSRs. This is because Wireless communications service providers (CSPs) offer service plans that include free usage per bill cycle.
Examples include:
1000 Free Local and Long Distance Minutes per month.
10 Free SMS per month.
1M of data download.
Unlike invoice information, unbilled usage information is constantly changing. The BRM has the most current status of all unbilled usage, so Siebel CRM must retrieve this information, in real time, so that the CSR can respond to customers' questions accurately.
When the CSR clicks the Unbilled Usage tab on the Billing Profile screen, it triggers a request to retrieve item charges from the billing system. The integration process aggregates the item charge information to the services level so that service charges can be displayed in the Service Charges applet.
CSRs can request detailed unbilled data at the event (CDR) level. This is a separate request to BRM. Because this data is generally large, CSRs can limit the data returned by specifying search criteria.
Note:
The date and time information of the event details and CDR, which is displayed in the Siebel UI, is specific to the time zone from where the event originated.Figure 5-1 illustrates the View Service Usage flow:
Figure 5-1 The Service Usage Integration Flow
To view account billing profile service usage in Siebel CRM:
Navigate to the Accounts screen and query an account. Scroll down to the Billing Profile applet for this account and click the Billing Profile Name link.
Click the Unbilled Usage tab to view the account's billing profile service usage summary.
Click the Net Amount link for a particular item charge to view account billing profile service usage allocation (CDRs).
Click the Search tab to search account billing profile service usage charge details.
Click the View Details tab to view resource balances for service usage events.
See "Mapping Siebel Billing Management UI Elements to BRM Customer Center" for more information on mapping Siebel CRM elements to BRM elements.
This integration flow uses the following interfaces:
UnbilledUsageSiebelCommsReqABCS with operation QueryUnbilledUsage
QueryUnbilledUsageSiebelCommsReqABCSImpl
QueryServiceUsageBRMCommsProvABCSImpl
Figure 5-2 illustrates the QueryServiceUsage integration scenario.
When you initiate the QueryServiceUsage process, the following events occur:
In Siebel CRM, navigate to the Accounts screen, query an account, and click a billing profile for the account.
This displays the Billing Profile BRM screen. When you click the Unbilled Usage tab for the billing profile, the Unbilled Usage screen opens and a web service UnbilledUsageSiebelCommsReqABCS call is made to get the unbilled usage details from the billing system.
Navigating to the Unbilled Usage tab invokes the UnbilledUsageSiebelCommsReqABCS web service, which in turn calls the UnbilledUsageSiebelCommsReqABCS with operation QueryUnbilledUsage.
UnbilledUsageSiebelCommsReqABCS is a generic Siebel UnbilledUsage interface service with several operations defined.
Invoking UnbilledUsageSiebelCommsReqABCS with operation QueryUnbilledUsage routes the Siebel QueryUnbilledUsageReqMsg to the QueryUnbilledUsageSiebelCommsReqABCSImpl.
The QueryUnbilledUsageSiebelCommsReqABCSImpl first transforms the QueryUnbilledUsageReqMsg into QueryServiceUsageEBM and routes the QueryServiceUsageListReqMsg to the appropriate billing systems.
As delivered, QueryServiceUsageListReqMsg is routed to the QueryServiceUsageListBRMCommsProvABCSImpl.
QueryServiceUsageBRMCommsProvABCSImpl looks up QueryCode in enterprise business message (EBM) and transforms QueryServiceUsageListReqMsg into the input of PCM_OP_BAL_GET_ACCT_BILLINFO and calls the BRM opcode PCM_OP_BAL_GET_ACCT_BILLINFO.
The BRM application programming interface (API) PCM_OP_BAL_GET_ACCT_BILLINFO returns the list of bill infos of that account along with their AR_Billinfo to the calling QueryServiceUsageListBRMCommsProvABCSImpl.
This information is used to populate PCM_OP_AR_GET_BILL_ITEMS_inputFlist and calls the BRM opcode PCM_OP_AR_GET_BILL_ITEMS. The opcode returns the invoice header, service charges, and items in a flat message.
QueryServiceUsageBRMCommsProvABCSImpl then transforms the BRM API PCM_OP_AR_GET_BILL_ITEMS output into QueryServiceUsageListRespMsg and returns it to QueryUnbilledUsageSiebelCommsReqABCSImpl.
QueryUnbilledUsageSiebelCommsReqABCSImpl transforms the QueryUnbilledUsageRespMsg into QueryUnbilledUsageRespMsg, which is returned to UnbilledUsageSiebelCommsReqABCS.
UnbilledUsageSiebelCommsReqABCS returns the QueryUnbilledUsageRespMsg to the calling CMUUnbilledUsage as CMUUnbilledUsageResponseMessage.
The system writes the CMUUnbilledUsageResponseMessage to the Siebel unbilled usage Details virtual business component (VBC) for the user.
This integration flow uses the following interfaces:
UnbilledUsageSiebelCommsReqABCS with operation QueryEventDetails
QueryUnbilledEventDetailsSiebelCommsReqABCSImpl
QueryServiceUsageBRMCommsProvABCSImpl
Figure 5-3 illustrates the QueryServiceUsageAllocation integration scenario.
When you initiate the QueryServiceUsageAllocation process, the following events occur:
In Siebel CRM, navigate to the Accounts screen, query an account, and click the Billing Profile tab.
This displays the Billing Profile screen. Click the Unbilled Usage tab to open the Unbilled Usage screen.
Clicking the Net Amount link for a particular item charge invokes the UnbilledUsageSiebelCommsReqABCS web service, which in turn calls the UnbilledUsageSiebelCommsReqABCS with operation QueryEventDetails.
UnbilledUsageSiebelCommsReqABCS is a generic Siebel UnbilledUsage interface service with several operations defined.
Invoking UnbilledUsageSiebelCommsReqABCS with operation QueryEventDetails routes the Siebel QueryEventDetailsReqMsg to the QueryUnbilledEventDetailsSiebelCommsReqABCSImpl.
The QueryUnbilledEventDetailsSiebelCommsReqABCSImpl transforms the QueryEventDetailsReqMsg into QueryServiceUsageListEBM and routes the QueryServiceUsageListReqMsg to the appropriate billing systems.
As delivered, QueryServiceUsageListReqMsg is routed to the QueryServiceUsageListBRMCommsProvABCSImpl.
QueryServiceUsageBRMCommsProvABCSImpl looks up the value of QueryCode and transforms QueryServiceUsageListReqMsg into the input of PCM_OP_BILL_GET_ITEM_EVENT_CHARGE_DISCOUNT and calls the opcode PCM_OP_BILL_GET_ITEM_EVENT_CHARGE_DISCOUNT.
API PCM_OP_BILL_GET_ITEM_EVENT_CHARGE_DISCOUNT returns the Item Charge Details or Events output to the calling QueryServiceUsageBRMCommsProvABCSImpl.
QueryServiceUsageListBRMCommsProvABCSImpl then transforms the BRM API output into QueryServiceUsageListRespMsg and returns it to QueryUnbilledEventDetailsSiebelCommsReqABCSImpl.
QueryUnbilledEventDetailsSiebelCommsReqABCSImpl transforms the QueryServiceUsageListRespMsg into QueryEventDetailsRespMsg, which is returned to UnbilledUsageSiebelCommsReqABCS.
UnbilledUsageSiebelCommsReqABCS returns the QueryEventDetailsRespMsg to the calling UnbilledUsageSiebelCommsReqABCS as CMUUnbilledDetailsResponseMessage.
The system writes the CMUUnbilledDetailsResponseMessage to the Siebel Unbilled Item Charge Details VBC for the user.
This integration flow uses the following interfaces:
UnbilledUsageSiebelCommsReqABCS with operation SearchEventDetails
SearchUnbilledEventDetailsSiebelCommsReqABCSImpl
QueryServiceUsageBRMCommsProvABCSImpl
Figure 5-4 illustrates the SearchServiceUsageAllocation integration scenario.
When you initiate the SearchServiceUsageAllocation process, the following events occur:
In Siebel CRM, navigate to the Accounts screen, query an account, and click the Billing Profile tab.
This displays the Billing Profile screen. Click the Unbilled Usage tab to access the Unbilled Usage screen. Click the Net Amount link for an item charge. The event details for that item charge displays on the event details applet. Click the Search button to open a separate applet to specify search criteria. After entering values for these fields, click the Go button.
Clicking Go invokes the UnbilledUsageSiebelCommsReqABCS web service, which in turn calls UnbilledUsageSiebelCommsReqABCS with operation SearchEventDetails.
UnbilledUsageSiebelCommsReqABCS is a generic Siebel UnbilledUsage interface service with several operations defined.
Invoking UnbilledUsageSiebelCommsReqABCS with operation SearchEventDetails routes the Siebel SearchEventDetailsReqMsg to SearchUnbilledEventDetailsSiebelCommsReqABCSImpl.
SearchUnbilledEventDetailsSiebelCommsReqABCSImpl transforms SearchEventDetailsReqMsg into QueryServiceUsageEBM and routes the QueryServiceUsageListReqMsg to the appropriate billing systems.
As delivered, QueryServiceUsageListReqMsg is routed to QueryServiceUsageListBRMCommsProvABCSImpl.
QueryServiceUsageBRMCommsProvABCSImpl transforms QueryServiceUsageListReqMsg into the input of PCM_OP_BILL_GET_ITEM_EVENT_CHARGE_DISCOUNT and calls the BRM opcode PCM_OP_BILL_GET_ITEM_EVENT_CHARGE_DISCOUNT.
The BRM API PCM_OP_BILL_GET_ITEM_EVENT_CHARGE_DISCOUNT returns the Item Charge Details output to the calling QueryServiceUsageBRMCommsProvABCSImpl.
QueryServiceUsageBRMCommsProvABCSImpl then transforms the BRM API output into QueryServiceUsageListRespMsg and returns it to SearchUnbilledUsageEventDetailsSiebelCommsReqABCSImpl.
SearchUnbilledEventDetailsSiebelCommsReqABCSImpl then transforms the QueryServiceUsageListRespMsg into SearchEventDetailsRespMsg, which is returned to UnbilledUsageSiebelCommsReqABCS.
UnbilledUsageSiebelCommsReqABCS returns the SearchEventDetailsRespMsg to the calling Siebel web service UnbilledUsageSiebelCommsReqABCS as CMUUnbilledDetailsSearchResponseMessage.
The system writes the CMUUnbilledDetailsSearchResponseMessage to the Siebel Unbilled Item Charge Details VBC for the user.
SearchServiceUsageAllocation supports searching service usage item details (CDR records) on the following columns in addition to the account ID and item charge ID that are passed to SearchEventDetails:
Minimum Amount
Maximum Amount
Start Date
End Date
The BRM opcode PCM_OP_ BILL_GET_ITEM_EVENT_CHARGE_DISCOUNT supports only simple queries and passes only the data through. It does not pass complex query criteria (for example, >, <, between, and so on).
This integration flow uses the following interfaces:
UnbilledUsageSiebelCommsReqABCS with operation QueryBalanceDetails
QueryUnbilledBalanceDetailsSiebelCommsReqABCSImpl
QueryServiceUsageBRMCommsProvABCSImpl
Figure 5-5 illustrates the QueryServiceUsageAllocationResource integration scenario.
When you initiate the QueryServiceUsageAllocationResource process, the following events occur:
In Siebel CRM Query Account, navigate to the Account Summary screen, and drill down on the Billing Profile Name in the Billing Profile applet.
This displays the Billing Profile screen. Click the Unbilled Usage tab, and then click the Net Amount link for an item charge. This accesses the Event Details applet for that item charge.
Clicking View Details for a particular nonmonetary event invokes the outbound web service UnbilledUsageSiebelCommsReqABCS to query resource balance details for a particular event from the billing system, which in turn calls UnbilledUsageSiebelCommsReqABCS with operation QueryResourceBalance.
Invoking UnbilledUsageSiebelCommsReqABCS with operation QueryBalanceDetails routes the QueryBalanceDetailsReqMsg to QueryUnbilledBalanceDetailsSiebelCommsReqABCSImpl.
QueryUnbilledBalanceDetailsSiebelCommsReqABCSImpl transforms the QueryBalanceDetailsReqMsg into a Service Usage EBM and routes the QueryServiceUsageListReqMsg to the appropriate billing systems.
As delivered, QueryServiceUsageListReqMsg is routed to QueryServiceUsageListBRMCommsProvABCSImpl.
QueryServiceUsageBRMCommsProvABCSImpl transforms QueryServiceUsageListReqMsg into the input of PCM_OP_ AR_RESOURCE_AGGREGATION and calls the BRM API PCM_OP_ AR_RESOURCE_AGGREGATION.
The BRM API PCM_OP_ AR_RESOURCE_AGGREGATION returns the resource balance records for a particular event as part of PCM_OP_AR_RESOURCE_AGGREGATION_outputFlist to QueryServiceUsageBRMCommsProvABCSImpl.
QueryServiceUsageBRMCommsProvABCSImpl then transforms the API output PCM_OP_ AR_RESOURCE_AGGREGATION_RespMsg into QueryServiceUsageListRespMsg and returns it to QueryUnbilledUsageBalanceDetailsSiebelCommsReqABCSImpl.
QueryUnbilledBalanceDetailsSiebelCommsReqABCSImpl transforms the QueryServiceUsageListRespMsg into QueryBalanceDetailsRespMsg, which is returned to UnbilledUsageSiebelCommsReqABCS.
UnbilledUsageSiebelCommsReqABCS returns the QueryBalanceDetailsRespMsg to the calling Siebel web service.
The system writes the message to the Siebel Balance Total VBC for the user.
The QueryServiceUsage integration flow uses this opcode:
PCM_OP_BAL_GET_ACCT_BILLINFO
The QueryServiceUsageAllocation integration flow uses this opcode:
PCM_OP_BILL_GET_ITEM_EVENT_CHARGE_DISCOUNT
The SearchServiceUsageAllocation integration flow uses this opcode:
PCM_OP_BILL_GET_ITEM_EVENT_CHARGE_DISCOUNT
The QueryServiceUsageAllocationResource integration flow uses this opcode:
PCM_OP_AR_RESOURCE_AGGREGATION
See Oracle Communications Billing and Revenue Management Opcode Flist Reference for more information.
The service usage integration flow uses this Siebel CRM interface:
UnbilledUsageSiebelCommsReqABCS
See "Web Services Reference" in Siebel Order Management Guide Addendum for Communications for more information.
The Service Usage integration uses the following delivered Industry Oracle AIA components:
ServiceUsageEBO
QueryServiceUsageListEBM
QueryServiceUsageListRequestEBM
The industry enterprise business object (EBO) and enterprise business message XML schema (EBM XSD) files are located under the Metadata Services (MDS) repository at: $AIA_HOME/AIAMetaData/AIAComponents/EnterpriseObjectLibrary/Industry/Communications/EBO/
The industry enterprise business service (EBS) WSDL files are located under the MDS repository at: $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).
See "Configuring and Using Oracle Enterprise Repository as the Oracle SOA Repository" in Oracle Fusion Middleware Developer's Guide for Oracle Application Integration Architecture Foundation Pack for more information on how to use and configure OER to provide the AIA Reference Doc link.
EBOs can be extended such as adding new data elements. These extensions are protected and will remain intact even after a patch or an upgrade, so long as the extensibility guidelines are followed.
See "Working with AIA Design Patterns", AIA Assets Extensibility Patterns, Extending Existing Schemas in AIA in Oracle Fusion Middleware Developer's Guide for Oracle Application Integration Architecture Foundation Pack for more information.
These services are delivered with the Service Usage integration flow:
UnbilledUsageSiebelCommsReqABCS with operations QueryUnbilledUsage, QueryEventDetails, SearchEventDetails, and QueryBalanceDetails
QueryUnbilledUsageSiebelCommsReqABCSImpl
QueryServiceUsageBRMCommsProvABCSImpl
QueryUnbilledEventDetailsSiebelCommsReqABCSImpl
SearchUnbilledEventDetailsSiebelCommsReqABCSImpl
QueryUnbilled7yBalanceDetailsSiebelCommsReqABCSImpl
UnbilledUsageSiebelCommsReqABCS exposes the following operations:
QueryUnbilledUsage:
Routes QueryUnbilledUsageReqMsg to the requester implementation service
Routes QueryUnbilledUsageRespMsg to the requester
QueryEventDetails:
Routes QueryEventDetailsReqMsg to the requester implementation service
Routes QueryEventDetailsRespMsg to the requester
SearchEventDetails:
Routes SearchEventDetailsReqMsg to the requester implementation service
Routes SearchEventDetailsRespMsg to the requester
QueryBalanceDetails:
Routes QueryBalanceDetailsReqMsg to the requester implementation service
Routes QueryBalanceDetailsRespMsg to the requester
See "Web Services Reference" in Siebel Order Management Guide Addendum for Communications for more information.
This service transforms the Siebel message into a QueryServiceUsageListRequest EBM and calls the provider to get the QueryServiceUsage response from the billing system. It then transforms the EBM response back to a Siebel message and returns it to the calling Siebel web service.
QueryServiceUsageListBRMCommsProvABCSImpl transforms:
ServiceUsageEBM into BRM API input format and calls the API to get the service items output from the billing system.
It then transforms the output from the API back to a ServiceUsage EBM message and returns it to the calling requestor.
QueryServiceUsageListEBM into BRM API input formats and calls the APIs to query the resource balance output from the billing system.
It then transforms the output from the APIs back to a ServiceUsage EBM message and returns it to the calling requestor.
QueryUnbilledUsageEventDetailsSiebelCommsReqABCSImpl transforms the QueryEventDetailsReqMsg into QueryServiceUsageListEBM.
SearchUnbilledUsageEventDetailsSiebelCommsReqABCSImpl transforms SearchEventDetailsReqMsg into QueryServiceUsageEBM.
QueryUnbilledUsageBalanceDetailsSiebelCommsReqABCSImpl transforms the Siebel message into a QueryServiceUsageListEBM and calls the provider to query the resource balance response from the billing system. It then transforms the EBM response back to a Siebel message and returns it to the calling Siebel web service.