69 Troubleshooting Pricing Design Center
Learn how to troubleshoot problems with Oracle Communications Pricing Design Center (PDC) by using log files, and you can get help with PDC problems by contacting Oracle Global Support.
Topics in this document:
Troubleshooting Checklist
When any problems occur, it is best to do some troubleshooting before you contact Oracle Global Support:
-
You know your installation better than Oracle Global Support does. If anything in the system has been changed, you are more likely to know where to look first.
-
Troubleshooting skills are important. Relying on Oracle Global Support to research and solve all of your problems prevents you from being in full control of your system.
If you have a problem with your PDC system, ask yourself these questions first because Oracle Global Support will ask them of you:
-
What exactly is the problem? Can you isolate it?
Oracle Global Support needs a clear and concise description of the problem, including when it began.
-
What do the log files say?
This is the first thing that Oracle Global Support asks for. Check the error log for the PDC component you are having problems with.
-
Has anything changed in the system? Did you install any new hardware or new software? Did the network change in any way? Does the problem resemble another one you had previously? Has your system usage recently jumped significantly?
-
Is the system otherwise operating normally? Has response time or the level of system resources changed? Are users complaining about additional or different problems?
Using Error Logs to Troubleshoot PDC
PDC error log files provide detailed information about system problems. If you are having a problem with PDC, look in the log files. PDC logs specific details about the PDC GUI and the transformation in separate sets of files.
PDC GUI Logs
PDC logs specific details about actions performed in the PDC GUI in Oracle WebLogic Server log files. See Oracle WebLogic Remote Console Online Help for more information.
Transformation Engine Logs
PDC generates two types of transformation engine log files for each transformation engine:
-
Master log file: This file logs the basic details of the transformation engine, such as the initialization details of the transformation engine, and so forth.
-
Transaction log file: This file logs the details of the transactions performed by the transformation engine, such as work item details, details of calls to Oracle Communications Billing and Revenue Management (BRM) utilities, and so forth. A separate transaction log file is generated for every transaction.
The location of the transformation log files is specified in the BRM_Integration_Pack_home/apps/transformation/TransformationConfiguration.xml file in the <transformationLog> elements, where BRM_Integration_Pack_home is the directory in which you installed the BRM Integration Pack.
You can define the logging level of the transformation engine log files in the BRM_Integration_Pack_home/apps/transformation/log-config.properties file. The default logging level set in the file is INFO.
About Common PDC Problems
PDC problems can be diagnosed using the Oracle WebLogic Server Diagnostic Framework. The Oracle WebLogic Server Diagnostic Framework allows you to collect, archive, and access diagnostic information about applications hosted on the WebLogic server. See Oracle WebLogic Remote Console Online Help for more information.
Table 69-1 lists some common problems with PDC and shows you how to diagnose the error messages and resolve the problems.
Table 69-1 Common PDC Problems and Solutions
| Problem | Possible Causes | Solution |
|---|---|---|
|
Importing pricing components by using the ImportExportPricing utility fails. |
Validation error due to one of the following reasons:
|
Check the ImportExportPricing utility log file for details of the error, correct the error, and import the pricing components again. |
|
Changeset is successfully submitted through the PDC UI but returns an error. |
There is invalid data that was not detected during validation. |
Check the transformation engine log files for details of the error:
|
|
- |
Error in the load utility of the target engine in BRM. |
The error message will not provide the details of the error. Check the BRM loadpricelist and LoadIFWConfig utility log files for details of the error. |
|
- |
Transformation error |
Transformation errors for pricing components submitted are returned in the PDC UI. Check the error messages in the PDC UI and follow the instructions below the error. |
|
Error while submitting changeset with message "Error publishing changeset". |
The job dispatcher is not configured correctly. |
Check that the job dispatcher is deployed correctly and the status is Active in the WebLogic Remote Console. Check the Oracle WebLogic Server log files for relevant messages. |
|
Changeset when submitted remains in pending state for a duration longer than normal. |
Transformation engines are not running. |
Check that the transformation engines are running on the system where BRM Integration Pack is installed by using the standard operating system commands. |
|
- |
Transformation engines are running but are configured to connect to the wrong WebLogic server instance. |
Verify the host name of the WebLogic server in the BRM_Integration_Pack_home/apps/transformation/TransformationConfiguration.xml file. If required, update the host name of the WebLogic server and restart the transformation engines. |
|
SyncPDC is failing with an error. |
Event attributes are not configured properly. |
If the event attribute is defined in BRM, you must specify the following in the event definition file: <targetApplicationSpecName>Pricing</targetApplicationSpecName> <targetApplicationSpecName>Billing</targetApplicationSpecName> For more information, see "Enriching Event Definitions" in PDC Creating Product Offerings. |
Fixing PDC Problems
Learn how to fix the following common problems that you may encounter when using PDC:
Errors When Importing Large XML Files
- Set XA Transaction Timeout to 0 and increase the Global Transaction Timeout to 10000.
- Increase Stuck Thread Max Time to 20000.
- Increase Session Invalidation Interval to 3000 and Session Timeout to 36000.
- Increase Idle Periods Until Timeout to 40.
After making the changes, restart the WebLogic Administration Server.
If the error persists:
- Split the pricing objects in the large file into multiple files.
- Instead of exporting all the pricing objects, provide the object type as an argument (for example, TIME_MODEL) while exporting.
Error When Creating a Service-Event Map in PDC
After creating a service-event map in PDC for a custom service, you may get the following errors from the Real-time Rating Engine and Batch Rating Engine despite the changeset being submitted successfully in the PDC UI.
SEVERE: Error in transformationoracle.communications.brm.pdc.server.transformation.TransformationException: Error in
transformation operationLoad utilities failed to commit the object(s) in BRM Database!at
oracle.communications.brm.pdc.server.transformation.Transformer.transformAndLoad(Transformer.java:281)at
oracle.communications.brm.pdc.server.transformation.WorkItemProcessor.processMessage(WorkItemProcessor.java:232)at
oracle.communications.brm.pdc.server.transformation.WorkItemProcessor.dequeueWorkItems(WorkItemProcessor.java:113)at
oracle.communications.brm.pdc.server.transformation.rre.RRETransformationEngine.createWorkItemProcessors(RRETransformationEngine.java:138)at
oracle.communications.brm.pdc.server.transformation.rre.RRETransformationEngine.main(RRETransformationEngine.java:187)BRETransformationEngine-txn.log:BRE:
SEVERE: Error in transformationoracle.communications.brm.pdc.server.transformation.TransformationException: Error in
transformation operationLoad utilities failed to commit the object(s) in BRM Database!at
oracle.communications.brm.pdc.server.transformation.Transformer.transformAndLoad(Transformer.java:281)at
oracle.communications.brm.pdc.server.transformation.WorkItemProcessor.processMessage(WorkItemProcessor.java:232)at
oracle.communications.brm.pdc.server.transformation.WorkItemProcessor.dequeueWorkItems(WorkItemProcessor.java:113)at
oracle.communications.brm.pdc.server.transformation.bre.BRETransformationEngine.createWorkItemProcessors(BRETransformationEngine.java:149)at
oracle.communications.brm.pdc.server.transformation.bre.BRETransformationEngine.main(BRETransformationEngine.java:198)E Mon Mar 24 12:25:53 2022 <HOSTNAME> load_config:1712124 LoadConfig.cpp:311
2:<HOSTNAME>:<program>:0:0:0:0:0::::Unable to retrieve DOM with root tag = ObjectList<location=PIN_ERRLOC_UTILS:14 class="PIN_ERRCLASS_SYSTEM_DETERMINATE":1
errno=PIN_ERR_NOT_FOUND:3><field num=0:0,0 recid=0 reserved=0 reserved2=0 time(sec:usec)=0:0><facility=0 msg_id=0 version=0>E Mon Mar 24 12:25:53 2022 2022<HOSTNAME> load_config:1712124 LoadConfig.cpp:403
2:<HOSTNAME>:<program>:0:0:0:0:0::::Error during flist data addition:<location=PIN_ERRLOC_UTILS:14 class="PIN_ERRCLASS_SYSTEM_DETERMINATE":1
errno=PIN_ERR_NOT_FOUND:3><field num=0:0,0 recid=0 reserved=0 reserved2=0 time(sec:usec)=0:0><facility=0 msg_id=0 version=0>D Mon Mar 24 12:25:53 2022 2022 <HOSTNAME> load_config:1712124 LoadApp.cpp:631
2:<HOSTNAME>:<program>:0:0:0:0:0::::Transaction abortedThis occurs because the Ratable Usage Metrics expression for the monthly cycle forward event is configured incorrectly in PDC. This is fixed by correcting the RUM expression.
For more information, see "Configuring Ratable Usage Metrics (RUMs)" in PDC Creating Product Offerings.
Errors When Obsoleting a Bundle in PDC
When you obsolete a bundle or change the name of a bundle that was successfully promoted to BRM and Oracle Communications Elastic Charging Engine (ECE), you may encounter the following error in cm.pinlog:
E Wed Sep 20 16:33:09 2023 <HOSTNAME> cm:1461569 cm_utils.c(155):6403 2:<HOSTNAME>:loadpricelist:0:main:663:1695198789:9:root.0.0.0.1::: CM FM->DM input flist: opcode=PCM_OP_CREATE_OBJ, flags=0x0, errno=PIN_ERR_STORAGE:43 # number of field entries allocated 20, used 10 0 PIN_FLD_POID POID [0] 0.0.0.1 /deal -1 0 0 PIN_FLD_CODE STR [0] "17f28cb7-5f2b-4bbb-a45f-2cdc3a841b28" 0 PIN_FLD_PERMITTED STR [0] "/account" 0 PIN_FLD_NAME STR [0] "<BUNDLE_NAME>=OBSOLETED=1695194449875" 0 PIN_FLD_PRODUCTS ARRAY [0] allocated 53, used 24 ... E Wed Sep 20 16:33:09 2023 <HOSTNAME> cm:1461569 fm_price_commit_deal.c:661 2:<HOSTNAME>:loadpricelist:0:main:663:1695198789:9:root.0.0.0.1::: fm_price_commit_deal_create_apply error <location=PIN_ERRLOC_DM:4 class="UNKNOWN":0 errno=PIN_ERR_STORAGE:43> <field num=0:0,0 recid=0 reserved=0 reserved2=0 time(sec:usec)=0:0> <facility=0 msg_id=0 version=0>
You may also encounter the following error in dm_oracle.pinlog:
E Wed Sep 20 16:33:09 2023 <HOSTNAME> dm:1379227 dm_subr.c(181):2928 2:<HOSTNAME>:loadpricelist:0:main:663:1695198789:9:root.0.0.0.1:::
ORACLE error: do_sql_insert: PINStmtExecute: code 1, op 0
=ORA-00001: unique constraint (PIN.I_DEAL__CODE) violated
"insert into deal_t ( poid_DB, poid_ID0, poid_TYPE, poid_REV, code, permitted, name, flags, descr, end_t, start_t, account_obj_DB, account_obj_ID0, account_obj_TYPE, account_obj_REV, created_t, mod_t, read_access, write_access, attribute_obj_DB, attribute_obj_ID0, attribute_obj_TYPE, attribute_obj_REV, subscription_terms_obj_DB, subscription_terms_obj_ID0, subscription_terms_obj_TYPE, subscription_terms_obj_REV ) values ( :poid_DB, :poid_ID0, :poid_TYPE, :poid_REV, :code, :permitted, :name, :flags, :descr, :end_t, :start_t, :account_obj_DB, :account_obj_ID0, :account_obj_TYPE, :account_obj_REV, :created_t, :mod_t, :read_access, :write_access, :attribute_obj_DB, :attribute_obj_ID0, :attribute_obj_TYPE, :attribute_obj_REV, :subscription_terms_obj_DB, :subscription_terms_obj_ID0, :subscription_terms_obj_TYPE, :subscription_terms_obj_REV )"This error occurs because the PriceDesignCenterInst business parameter is disabled. This parameter allows the user to edit the names of pricing objects like plan, deal, and sponsorship. Its default value is disabled.
To fix this, set the PriceDesignCenterInst business parameter to enabled. To do this, you must export the Pricing business parameter object from the database into an XML file. Then, you can edit the XML file and reload the file into the database. To enable the BRM-PDC integration, see "Enabling BRM-PDC Integration" in PDC Installation Guide.
Filtering IP Addresses in CDRs
When defining rule attributes in a generic selector to filter Call Detail Records (CDRs), the regular expression may not work correctly for IP addresses.
.*1.2.3.*For more information, see "Generic Selectors" in PDC Online
Help.
Conditional RUM Balance Has a 24-Hour Validity
When applying a balance impact to the entire calendar day in which the service is used, instead of being valid for the calendar day, it may start when the service is first used and then continue for the next 24 hours. For example, if the system credits the balance at 7:08:30 on January 17, the balance is valid from 7:08:30 on January 17 through 7:08:29 on January 18.
This occurs when the conditional balance impact is configured to start at Event Occurrence. To configure the validity based on the calendar day, it should instead be set to Start of Calendar Period.
To resolve this, modify the Charge Offer settings:
- Log in to the PDC UI and edit the Charge Offer.
- Navigate to the Charge section and click on the Conditional tab.
- Change Period Start Time from Event Occurrence to Start of Calendar Period.
- Click OK.
For more information, see "About Conditional Balance Impacts" in PDC Creating Product Offerings.
SyncPDC Fails After Cloning BRM and PDC Databases
Note:
This applies to:- PDC systems with real-time rating engine (RRE) and batch rating engine (BRE) only.
- PDC systems upgrading from version 12.0 patch set 5 or earlier to later versions (12.0 patch set 6 and after).
SEVERE: Error while running SyncPDC!
oracle.communications.brm.pdc.migration.MigrationException: Unexpected error occurred in migration operation
at oracle.communications.brm.pdc.syncpdc.SyncPDCJob.execute(SyncPDCJob.java:234)
at oracle.communications.brm.pdc.syncpdc.SyncPDC.run(SyncPDC.java:143)
at oracle.communications.brm.pdc.syncpdc.SyncPDC.main(SyncPDC.java:299)
Caused by: oracle.communications.brm.pdc.migration.MigrationException: Error in migration operation
...
Caused by: java.lang.Throwable: There are errors when parsing bcc EventAttributeSpecs. Please fix the issues, then restart syncPDC.
The event, "/event/delayed/session/telco/gprs", was configurated as a rating event in BRM and used for creating a PDC EventAttributeSpec "EventDelayedSessionTelcoGprs", is not configurated as a rating event in BRM currently. It is not allowed to delete a rating event from PDC. Please restore "/event/delayed/session/telco/gprs" as a rating event in BRM.
The event, "/event/delayed/session/telco/gprs", was configurated as a rating event in BRM and used for creating a PDC EventAttributeSpec "EventDelayedSessionTelcoGprs", is not configurated as a rating event in BRM currently. It is not allowed to delete a rating event from PDC. Please restore "/event/delayed/session/telco/gprs" as a rating event in BRM.This error occurs because the data in the pin_event_map file and IFW_REF_MAP database table are corrupted.
- In the BRM database, ensure that
/event/delayed/session/telco/gprs is set with the Event_Type set
to USAGE_POSTPAID in the DD_Objects_T table. To do so, use SQL*Plus
to run the following command on the BRM
database:
select obj_id0, name, event_type from dd_objects_t where name = '/event/delayed/session/telco/gprs;'
- In the PDC database, ensure that
/event/delayed/session/telco/gprs is set with the Event_Type
set to USAGE_POSTPAID in the ABCATTRIBUTESPEC and
BCEVENTATTRIBUTESPEC tables. To do so, use SQL*Plus to run the following command
on the PDC
database:
SELECT name, eventtype, version FROM abcattributespec aas, bceventattributespec eas WHERE classname = '/event/delayed/session/telco/gprs' and aas.entityid = eas.entityid ORDER BY version DESC;
- In BRM_Integration_Pack_home/apps/syncpdc/xml/extract/Event.xml file, ensure /event/delayed/session/telco/gprs is set with EVENT_TYPE is equal to USAGE_POSTPAID.
- In the
BRM_Integration_Pack_home/apps/syncpdc/SyncPDCConfiguration.xml
file, ensure skipBREMigration is set to
false:
<skipBREMigration>false</skipBREMigration>
- Ensure /event/delayed/session/telco/gprs is listed in
BRM_home/sys/data/config/pin_event_map_telco_gprs
file.
If not, do the following:
- Edit the pin_event_map_telco_gprs file and add the
following:
/service/telco/gprs : /event/session/telco/gprs : Real Time Telco GPRS Session : /event/delayed/session/telco/gprs : Delayed Telco GPRS Session
- Load the updated pin_event_map_telco_gprs file into the database using the load_event_map utility. See “load_event_map” in BRM Setting Up Pipeline Pricing.
- Verify that /event/delayed/session/telco/gprs appears in the CONFIG_PERMITTED_EVENTS_T table in the database.
- Restart SyncPDC.
- Edit the pin_event_map_telco_gprs file and add the
following:
- Ensure that /event/delayed/session/telco/gprs exists in the
IFW_REF_MAP table. SyncPDC validates all events, including derived events,
against the IFW_REF_MAP table. So, you must manually ensure that each derived
event also has a valid mapping in IFW_REF_MAP.
If not, add it by editing the pin_event_map_telco_gprs file and running the following SQL command:
INSERT INTO "pre"."ifw_ref_map" (id, ref_obj, ref_param, entryby, entrydate, modified, modifdate, recver) VALUES ('CustomerData', '/service/telco', '/event/delayed/session/telco/gprs', '0', to_date('2023-11-02 05:48:38', 'YYYY-MM-DD HH24:MI:SS'), '1', to_date('2023-11-02 05:48:38', 'YYYY-MM-DD HH24:MI:SS'), '0');Note:
In BRM, each service in the IFW_REF_MAP table can only be mapped to one event. - Restart SyncPDC.
Getting Help for PDC Problems
If you cannot resolve the PDC problem, contact Oracle Global Support.
Before you contact Oracle Global Support, try to resolve the problem with the information logged in the log files. See "Using Error Logs to Troubleshoot PDC" for more information. If this does not help to resolve the problem, note the following information:
-
A clear and concise description of the problem, including when it began to occur.
-
Relevant portions of the relevant log files.
-
Relevant configuration files.
-
Recent changes in your system after which the problem occurred, even if you do not think they are relevant.
-
List all PDC components and patches installed on your system.
When you are ready, report the problem to Oracle Global Support.