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 E50336-01 |
|
|
PDF · Mobi · ePub |
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.
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.
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.
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.
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.
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) |
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.
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. |
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:
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.
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.
Save and close the file.
Restart OHS. See Oracle Fusion Middleware Administrator's Guide for Oracle HTTP Server for more information.
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 the PaymentSiebelCommsReqABCS service
The scope of the CreateReceivedBRMCommsProvABCSImpl BPEL process
The response message to Siebel CRM
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 file, 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.
To create an extension point to a third-party payment authorization system:
Using JDeveloper, customize the scope of the CreateReceivedCommsProvABCSImpl process 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 transformation 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
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 about creating the partner link, activities, and variables.
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 response message to Siebel CRM:
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.
In JDeveloper, in the scope of the existing PaymentSiebelCommsReqABCS service, create the call to the Siebel CRM API.
Set the EnterpriseServerName property as follows:
<EnterpriseServerName>"SiebelAPI"</EnterpriseServerName>