Skip Headers
Oracle® Application Integration Architecture Siebel CRM Integration Pack for Oracle Communications Billing and Revenue Management: Agent Assisted Billing Care Implementation Guide
Release 11.3

Part Number E37674-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

9 Configuring the Process Integration for Billing Management

This chapter discusses how to set up Oracle Communications Billing and Revenue Management (BRM) and Siebel customer relationship management (Siebel CRM). In addition, it discusses how to work with domain value maps (DVMs) and cross-references, how to handle errors, and how to configure the process integration for billing management.

Setting Up BRM for Integrated Billing Management

To set up BRM for integrated billing management:

  • Configure the BRM JCA adapter as described in Oracle Communications Billing and Revenue Management JCA Resource Adapter.

  • To ensure that resource balances with infinite effectivity show a null date (instead of 31-Dec-1969/01-Jan-1970), set the ZeroEpochAsNull BRM JCA parameter (in JCA Resource Adapter connection factory) to True.

  • To display billing dates in Siebel CRM in the same time zone as the billing system server time, set the InteractionTimeZone parameter to the time zone of the BRM server. The InteractionTimeZone parameter in the JCA Adapter controls the time zone conversion for dates that are returned by BRM for billing queries.

See Oracle Communications Billing and Revenue Management JCA Resource Adapter for more information about the ZeroEpochAsNull and InteractionTimeZone JCA parameters.

Setting Up Siebel CRM for Integrated Billing Management

To set up Siebel CRM for integrated billing management:

  • Set the UTCCanonical process property to Y for the Siebel CRM interfaces described in the instructions for ACR 474 and ACR 508 in Siebel Maintenance Release Guide.

  • Configure the SWICreateAdjustment Siebel CRM outbound workflow to enqueue the Siebel messages in the AIA_CMUREQADJIOJMSQUEUE queue for the CreateAdjustment flow.

    See Oracle Fusion Middleware Developer's Guide for Oracle Application Integration Architecture Foundation Pack and Siebel Application Integration for Oracle Fusion Middleware Guide for more information about configuring queueing in Siebel CRM and Oracle AIA.

Working with DVMs

Domain value maps (DVMs) are a standard feature of the Oracle service-oriented architecture (SOA) Suite that 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 maps as required. 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 Oracle Communications Billing and Revenue Management: Agent Assisted Billing Care flows. Administrators can extend the list of mapped values by adding more maps.

Table 9-1 lists the DVMs for the process integration for billing management.

Table 9-1 Billing Management Integration - DVMs

DVM Description

CURRENCY_CODE

Currency codes.

RESOURCE

Nonmonetary resources (Free Minutes, Text Messages, and so on).

ACCOUNTBALANCEADJUSTMENT_REASON

Reason for adjustment.

ACCOUNTBALANCEADJUSTMENT_STATUS

Status of adjustment request (Posted, Not-Posted).

ACCOUNTBALANCEADJUSTMENT_TYPE

Type of adjustment (Credit, debit, and so on).

ACCOUNTBALANCEADJUSTMENT_TAXTREATMENT

Tax treatment on adjustment amount (Include, Exclude).

ACCOUNTBALANCEADJUSTMENT_ USAGEALLOCATION_TAXTREATMENT

Tax treatment on CDR adjustment amount (Include, Exclude).

INSTALLEDPRODUCT_STATUS

Status of installed product (Active, Canceled, and so on).

RECIEVEDPAYMENT_TYPE

Type of payment (Credit, Direct Debit).

ACCOUNTBALANCEADJUSTMENT_SUBSTATUS

Sub-status of adjustment request.


See Oracle Fusion Middleware Developer's Guide for Oracle Application Integration Architecture Foundation Pack for more information about working with DVMS.

Working with Cross-References

Cross-references map and connect the records within the application network, and they enable 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.

Table 9-2 contains the billing management integration cross-references.

Table 9-2 Billing Management Integration - Cross-References

Name Columns Mapping Details Description

CUSTOMERPARTY_ACCOUNTID

SEBL_01,COMMON,BRM_01

Set up as part of customer sync

Query

CUSTOMERPARTY_BILLPROFILEID

SEBL_01,COMMON,BRM_01

Set up as part of customer sync

Query


Handling Errors

Based on the roles defined for the services, e-mail notifications are sent if a service ends due to an error.

Table 9-3 lists the error messages provided by the process integration for billing management.

Table 9-3 Billing Management Integration - Error Messages

Integration/Service Name Error Code Message Text

Account Balance / QueryBalanceSummarySiebel ReqABCSImpl

Query Invoice List / QueryInvoiceListSiebelCommsReqABCSImpl

AIA_ERR_AIACOMBMPI_0003

Billing Profile BPName for the account does not exist in the billing system.

1) To correct the error, submit a sales order with this billing profile.

2) Ensure that the sales order created with this billing profile is successfully submitted to the billing system.

Create Payment / CreateReceivedPaymentBRMCommsProvABCSImpl

AIA_ERR_AIACOMBMPI_0005

BRM Error Message (For example, Service Unavailable)


Describing Delivered Error Notification Roles and Users

The following roles and users are delivered as default values for issuing error notifications for the process integration for billing management:

  • Role: AIAIntegrationAdmin

  • User: AIAIntegrationAdminUser

The default password for all users is welcome1.

See Oracle Fusion Middleware Infrastructure Components and Utilities User's Guide for Oracle Application Integration Architecture Foundation Pack for information about how to set up error notifications and trace and error logs using these values.

Configuring the Process Integration for Billing Management

Configure these properties in the AIAConfigurationProperties.xml file. The file is located in <AIA_INSTANCES>/config/. Entries in the AIAConfigurationProperties.xml file are case-sensitive.

See the discussion of building AIA integration flows in Oracle Fusion Middleware Developer's Guide for Oracle Application Integration Architecture Foundation Pack for more information about reloading updates to AIAConfigurationProperties.xml file.

The following Business Process Execution Language (BPEL) processes have entries listed in Table 9-4.

  • QueryBalanceSummarySiebelCommsReqABCSImpl

  • QueryCustomerPartyListBRMCommsProvABCSImpl

  • QueryBalanceGroupListSiebelCommsReqABCSImpl

  • QueryBalanceDetailsSiebelCommsReqABCSImpl

  • QueryBalanceGroupServicesSiebelCommsReqABCSImpl

  • QueryInstalledProductListBRMCommsProvABCSImpl

  • QueryInvoiceListSiebelCommsReqABCSImpl

  • QueryInvoiceListBRMCommsProvABCSImpl

  • QueryInvoiceSiebelCommsReqABCSImpl

  • QueryInvoiceEventDetailsSiebelCommsReqABCSImpl

  • SearchInvoiceEventDetailsSiebelCommsReqABCSImpl

  • QueryInvoiceBalanceDetailsSiebelCommsReqABCSImpl

  • QueryUnbilledUsageSiebelCommsReqABCSImpl

  • QueryServiceUsageListBRMCommsProvABCSImpl

  • QueryUnbilledUsageEventDetailsSiebelCommsReqABCSImpl

  • SearchUnbilledUsageEventDetailsSiebelCommsReqABCSImpl

  • QueryUnbilledUsageBalanceDetailsSiebelCommsReqABCSImpl

  • CreatePaymentSiebelCommsReqABCSImpl

  • CreateInvoicePaymentSiebelCommsReqABCSImpl

  • CreateReceivedPaymentBRMCommsProvABCSImpl

  • QueryPaymentSiebelCommsReqABCSImpl

  • QueryInvoicePaymentSiebelCommsReqABCSImpl

  • SearchPaymentSiebelCommsReqABCSImpl

  • QueryReceivedPaymentListBRMCommsProvABCSImpl

  • QueryAccountBalanceAdjustmentSiebelCommsReqABCSImpl

  • QueryAccountBalanceAdjustmentBRMCommsProvABCSImpl

  • CreateAccountBalanceAdjustmentBRMCommsProvABCSImpl

Table 9-4 BPEL Process Property Values - 1

Property Name Value/Default Value Description

ABCSExtension.PreXformABM/EBM_nameTOABM/EBM_name

true/false

Controls whether the extension point before transformation of application business message (ABM) to enterprise business message (EBM) is invoked during processing.

ABCSExtension.PreInvokePartnerLink_name

true/false

Controls whether the extension point before invocation to enterprise business service (EBS) is invoked during processing.

ABCSExtension.PostXformABM/EBM_nametoABM/EBM_name

true/false

Controls whether the extension point before transformation of EBM to ABM is invoked during processing.

ABCSExtension.PostInvokePartnerLink_name

true/false

Controls whether the extension point before invocation of callback service or response return is invoked during processing.

Routing.PartnerLink_Name.RouteToCAVS

true/false

Controls whether the Composite Application Validation System (CAVS) is used to handle the request.

Default.SystemID

Valid string

Specifies the name of the default systemID of the requester application.

Routing.PartnerLink_name.BRM_01.EnpointURI

eis/BRM

Specifies the JNDI entry for the partner link.

EBSOverride.EBS_name.operation_name.PortType

Valid string

PortType of the webservice that needs to be invoked dynamically. This value should be consistent with the EBSOverride.EBS_name.operation_name.Address property.

EBSOverride.EBS_name.operation_name.ServiceName

Valid string

ServiceName of the webservice that needs to be invoked dynamically. This value should be consistent with the EBSOverride.EBS_name.operation_name.Address property.

EBSOverride.EBS_name.operation_name.Address

Valid string

This property is used to dynamically invoke any webservice from this service. This holds the address.endpoint URI of the webservice that needs to be invoked dynamically. To invoke CAVS or any other provider ABCS, this property needs to be updated accordingly.

BRM.Payment.Command

0

This property is specific to CreateReceivedPaymentBRMCommsProvABCSImpl.

Routing.CreateAccountBalanceAdjustmentListResponseBRMCommsJMSProducer.EndpointURI

Valid string

Endpoint URL of the CreateAccountBalanceAdjustmentListResponseBRMCommsJMSProducer. This property is specific to CreateAccountBalanceAdjustmentBRMCommsProvABCSImpl.


These BPEL processes have entries listed in Table 9-5.

  • CreateAccountBalanceAdjustmentSiebelCommsReqABCSImpl

  • UpdateAccountBalanceAdjustmentRespSiebelCommsProvABCSImpl

Table 9-5 BPEL Processes Property Values - 2

Property Name Value/Default Value Description

ABCSExtension.PreXformABM/EBM_nameTOABM/EBM_name

true/false

Controls whether the extension point before transformation of ABM to EBM is invoked during processing.

ABCSExtension.PreInvokePartnerLink_name

true/false

Controls whether the extension point before invocation to enterprise business service (EBS) is invoked during processing.

Routing.PartnerLink_name.RouteToCAVS

true/false

Controls whether the CAVS is used to handle the request

Default.SystemID

Valid string

Specifies the name of the default systemID of the requester application

EBSOverride.EBS_name.operation_name.PortType

Valid string

PortType of the webservice that needs to be invoked dynamically. This value should be consistent with the EBSOverride.EBS_name.operation_name.Address property.

EBSOverride.EBS_name.operation_name.ServiceName

Valid string

ServiceName of the webservice that needs to be invoked dynamically. This value should be consistent with the EBSOverride.EBS_name.operation_name.Address property.

EBSOverride.EBS_name.operation_name.Address

Valid string

This property is used to dynamically invoke any webservice from this service. This holds the address.endpoint URI of the webservice that needs to be invoked dynamically. To invoke CAVS or any other provider ABCS, this property needs to be updated accordingly.

Routing.SWIAdjustmentStatusUpdate.SEBL_01.EndpointURI

Valid string

Siebel endpoint URIL. This property is specific to UpdateAccountBalanceAdjustmentRespSiebelCommsProvABCSImpl.


Configuring Oracle HTTP Server for Billing Management

To integrate invoice header-level adjustments, you must configure Oracle HTTP Server (OHS) so that it recognizes the Oracle AIA mirror servlet that comes with the installation.

For more information about servlets, see Oracle Fusion Middleware Developing Web Applications, Servlets, and JSPs for Oracle WebLogic Server.

To configure OHS so that it recognizes the mirror servlet:

  1. Open the following file:

    WebTier_HOME/instances/instance_name/config/OHS/component_name/mod_wl_ohs.conf
    

    where:

    • WebTier_HOME is the directory in which OHS Web Tier is installed.

    • instance_name is the OHS Web Tier instance defined during cluster set up.

    • component_name is the name for the OHS component defined during cluster set up. By default, this is ohs1.

  2. Add the following code:

    <Location  /AIA> 
        SetHandler weblogic-handler 
        WebLogicCluster hostname1:port,hostname2:port
        WLLogFile  /tmp/web_log.log
    </Location>
    

    where:

    • hostname1 and hostname2 are the host names of the servers in the Oracle WebLogic server cluster.

    • port is the port where the host is listening for HTTP requests.

  3. Save and close the file.

  4. Restart OHS. See Oracle Fusion Middleware Administrator's Guide for Oracle HTTP Server for more information.

Configuring Cross-Channel Payments

To accept payments from cross-channel systems other than Siebel CRM, you must customize the integration. The artifacts in the CreateReceivedPayments integration flow support messages from different cross-channel systems, but you must configure the following components:

  • The message sent from the channel to PaymentSiebelCommsReqABCS

  • The scope of the CreateReceivedBRMCommsProvABCSImpl BPEL process

  • The response message to Siebel CRM

Configuring the Message from Cross-Channel Systems

Configure the message sent from cross-channel systems to invoke the PaymentSiebelCommsReqABCS service with the CreatePayment operation.

This message must conform to the existing PaymentSiebelCommsReqABCSImpl.wsdl, as shown in the following sample message:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:cmu="http://www.siebel.com/xml/CMU%20Request%20New%20Payment%20Capture%20IO">
<soapenv:Header>
  <wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
    <wsse:UsernameToken>
      <wsse:Username>weblogic</wsse:Username>
      <wsse:Password Type="wsse:PasswordText">weblogic1</wsse:Password>
      <wsu:Created>2012-11-19T08:44:51Z</wsu:Created>
    </wsse:UsernameToken>
  </wsse:Security>
</soapenv:Header>
   <soapenv:Body>
      <cmu:ListOfCmuRequestNewPaymentCaptureIo Language="ENU" Locale="English - United States" MessageId="" EnterpriseServerName="siebel">
         <!--Zero or more repetitions:-->
         <cmu:CmuCaptureNewPaymentVbc>
            <cmu:AccountId>88-5E8DX</cmu:AccountId>
            <cmu:AccountName>JKNBP124858_Account1</cmu:AccountName>
            <cmu:BankAccountHoldersName></cmu:BankAccountHoldersName>
            <cmu:BankAccountHoldersNumber></cmu:BankAccountHoldersNumber>
            <cmu:BillingProfileId>88-5EBX3</cmu:BillingProfileId>
            <cmu:BillingProfileName>88-5EBX3</cmu:BillingProfileName>
            <cmu:Comments></cmu:Comments>
            <cmu:CreditCardExpirationDate>11/13/2013
            </cmu:CreditCardExpirationDate>
            <cmu:CreditCardHoldersName>aaa</cmu:CreditCardHoldersName>
            <cmu:CreditCardNumber>1111222233334444</cmu:CreditCardNumber>
            <cmu:CreditCardSecurityCode>159</cmu:CreditCardSecurityCode>
            <cmu:CurrencyCode>USD</cmu:CurrencyCode>
            <cmu:OneTimePayment>T</cmu:OneTimePayment>
            <cmu:PaymentAmount>25</cmu:PaymentAmount>
            <cmu:PaymentDate>11/12/2012</cmu:PaymentDate>
            <cmu:PaymentMethod>Credit</cmu:PaymentMethod>
            <cmu:RoutingNumber></cmu:RoutingNumber>
            <cmu:ServiceAccountId>88-5E8DX</cmu:ServiceAccountId>
         </cmu:CmuCaptureNewPaymentVbc>
      </cmu:ListOfCmuRequestNewPaymentCaptureIo>
   </soapenv:Body>
</soapenv:Envelope>

The OneTimePayment property determines how the integration handles payment authorization. The possible values for the OneTimePayment property are:

  • Y: BRM communicates with a third-party gateway to authorize the payment.

  • T: The integration invokes a third-party system to authorize the payment

  • O: No authorization is required by the integration. For example, an external retail point-of-sale system could authorize the payment.

Configuring the Scope of the CreateReceivedCommsProvABCSImpl Process

To configure the scope of the CreateReceivedCommsProvABCSImpl process to create an extension point to a third-party payment authorization system using JDeveloper:

  1. Customize the scope by creating the following elements:

    • The partner link to the third-party system

    • A new local input variable for the Invoke activity

    • An Assign activity called RequestAssign_CreditCheck to set the values in the input variable

    • The Invoke activity to call the third party partner link

    • An Assign activity called ResponseAssign_CreditCheck to set the values in the output variable

    • A transform to update the PCM_OP_PYMT_COLLECT payload to either authorize and record the payment or just record the payment, depending on the incoming message

  2. Configure the scope to raise a BPEL exception to return an error to the cross-channel system without invoking BRM if authorization fails.

See the discussion of designing extension points in the ABCS BPEL process in Oracle Fusion Middleware Developer's Guide for Oracle Application Integration Architecture Foundation Pack for more information.

Configuring the Response Message to Siebel CRM

You can optionally configure the integration to track the payment failure or success response in Siebel CRM as an activity on the customer account.

To configure the integration to send a response message to Siebel CRM:

  1. In Siebel CRM, create an activity on the customer account to track the payment response. See Siebel Customer Relationship Console User Guide for more information about adding activities.

  2. In JDeveloper, in the scope of the existing PaymentSiebelCommsReqABCS service, create the call to the Siebel CRM API.

  3. Set the EnterpriseServerName property as follows:

    <EnterpriseServerName>"SiebelAPI"</EnterpriseServerName>