56 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. You know if anything in the system has been changed, so 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 to occur.

  • 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 the Oracle WebLogic Server Administration Console 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.

Diagnosing 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 the Oracle WebLogic Server Administration Console Help for more information.

Table 56-1 lists some common problems with PDC and shows you how to diagnose the error messages and resolve the problems.

Table 56-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:

  • Incorrect configuration of the pricing components in the input XML file.

  • The input XML file does not conform to the format detailed in the XSD file for pricing components.

  • A feature configured for the pricing component is not supported by the target engine.

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:

  • If the error message states that this is a "Configuration Missing" error, it is likely that a prerequisite setup component was not transformed successfully. Verify that all the referenced setup components are configured correctly. If required, update and resubmit the setup components and then use the Fix option to resubmit the changeset.

  • If there is nothing wrong with your configuration, verify that the target engine mappings (supported configurations) for the service, event, account, and RUMs used in the pricing components are correct. Ensure that the changes made in BRM to these components have been synchronized with PDC.

-

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 Administration 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 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 Obsoleting a Bundle in PDC

When you obsolete a bundle or change the name of a bundle that was successfully promoted to BRM and ECE, you may encounter the following error:
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>

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.

For more information, see "Starting and Stopping the BRM System" for more information.

SyncPDC Fails and Restarts

In BRM 12.0 Patch Set 4 or later, you may encounter the following failure from SyncPDC, causing it to restart:
Clean up work item SYNC_ACCOUNT...
Work item SYNC_ACCOUNT started (item 3 of 8).
  Processing EXTRACT work action...
  Processing ANALYZE work action...
  Processing TRANSFORM work action...
  Processing LOAD work action...
Work item SYNC_ACCOUNT completed.
Clean up work item SYNC_GLID...
Work item SYNC_GLID started (item 4 of 8).
  Processing EXTRACT work action...
Error 09/25/23 11:48:23:0953 AM ( 1695635303953 ) T:main JavaLog 2:pdc-syncpdc-deployment-:storableclasstoxml:0:main:20:1695635303:3:root.0.0.0.1:::
  Object not present.
  Processing ANALYZE work action...
  Processing TRANSFORM work action...

This error occurs because the GLIDs are present in PDC but missing from BRM.

To resolve this, ensure that all GLIDs are present in both PDC and BRM.

Recurring Discounts are Applied Outside the Date Range

Recurring discounts that use tier ranges in the PDC UI are applied outside the intended date range. This occurs because Date Range in the Filter section is set to Immediately - Never Ends by default. Instead, in the discount, you must add a discount rule and configure its discount filter to apply the discount during a specified date range.

To fix this, set the date range to the time period for which you are applying the discount in the filter section:

  1. In the Rule Details section, click the link in the Filter field. The Filters section appears.
  2. Change Date Range to your desired date range. For example, Immediately - 03/01/2024.
  3. Restart the real-time rating pipeline.

For more information, see "Configuring Discount Filters" in PDC Online Help.

Error When Adding GLIDs to Rule Attributes

In BRM 12.0 Patch Set 5 and later, when adding GLIDs to rule attributes in ECE and PDC, you may get the following error in the pricingUpdater.log file when submitting the changeset:
2022-05-12 15:05:01.050 CEST ERROR - - - - ItemTypeSelectorPricingLoaderMessagesBundle-10223:
      Object not transformed by "{0}" because an exception is
      encounteredPricingLoaderMessagesBundle-10209: Graph :: String "DslMessageBundle-9000: Parsing
      error: string matching regex '"([^"\x00-\x1F\x7F\\]|\\[\\'"bfnrt]|\\u[a-fA-F0-9]{4})*"'
      expected but 'O' found in script
      ((((getObject("oracle.communication.brm.charging.rating.ItemAssignmentContext#value?balance_element")
      ~+ "QkFN") &&
      (getObject("oracle.communication.brm.charging.rating.ItemAssignmentContext#value?origzoneresult")
      ~+ "RklYRURfQkhUX01P")) &&
      (getNumber("oracle.communication.brm.charging.rating.RatingContext#request/payload/attribute?BAL_IMPACTS[0].GL_ID")
      ~+ OTIwMjkw))) => [item_type:"usage/920290",aggregation_type:"CUMULATIVE"]" can NOT be
      converted into DSL expression/graph2022-05-12 15:05:01.050 CEST WARN - - - - Error in handling the payloadoracle.communication.brm.charging.migration.pricing.loader.PricingLoaderException:
      PricingLoaderMessagesBundle-10209: Graph :: String "DslMessageBundle-9000: Parsing error:
      string matching regex '"([^"\x00-\x1F\x7F\\]|\\[\\'"bfnrt]|\\u[a-fA-F0-9]{4})*"' expected
      but 'O' found in script

This occurs when you use the REGEX operator on a GLID. The GLID is a number so you cannot use a regular expression on it.

To solve this, use a valid operation for GLID, such as GREATER_THAN_EQUAL, GREATER_THAN, LESS_THAN_EQUAL, LESS_THAN, EQUAL_TO, or NOT_EQUAL_TO.

Error from ImportExportPricing Utility when Exporting Offers from Production to Test Environment

When you use the ImportExportPricing utility to export a discount offer from a production environment and then import it into a test environment, you may encounter the following error:

Log file location:/brmapps/PDC_HOME/PDC_BRM/PDC/apps/bin/ImportExportPricing_20220707195838_493_0.log
Arguments specified:[-v, -import, -pricing,MyDiscountOffer.xml, -ow, -url, t3://<HOST>:7001,-pdcuser, pdcuser, -appsvruser, weblogic]
Error during - Import See PricingAppServer log for more information.
Exception in Pricing server
Unknown Error while importing from an XML file in Import/Export tool.
EJB Exception: : javax.persistence.PersistenceException: Exception [EclipseLink-4002] (Eclipse Persistence Services- 2.6.7.v20190604-418f1a1c56): org.eclipse.persistence.exceptions.DatabaseException
Internal Exception: java.sql.SQLIntegrityConstraintViolationException: ORA-00001: unique constraint (PDC.UNQ_NM_APRODUCTOFFERING) violated
Error Code: 1
Call: INSERT INTO AProductOffering (ENTITYID, ASSIGNEDTYPE, CREATEDDATE, CREATEDUSER, DATERANGEIMPACTTYPE, DESCRIPTION, ENTITYCLASS, ENTITYVERSION, INTERNALID, LASTMODIFIEDDATE, LASTMODIFIEDUSER, NAME, STATUS, TIMERANGE, UNIQUENAME,VERSION, ASSIGNEDTOID, CHANGESET, PRICELIST, PUBLISHHISTORY) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
  bind => [20 parameters bound]
Query: WriteObjectQuery([ AlterationOfferingDAO oid=oracle.communications.platform.entity.impl

This occurs because a previous version of this discount offer already exists in the test environment, causing an inconsistency in the data associated with the discount offer.

To successfully import the discount offer using the ImportExportPricing utility, follow these steps:

  1. Remove the following from the XML file exported from ImportExportPricing:
    • All internalID rows.
    • All ratePlanID rows.
    • The externalID element from the alterationOffering tag.
  2. In the XML file, rename everything under the <name> tag. Use this new name in all corresponding references. For example: alterationRatePlanName.
  3. Import the file into the testing database using the following command:
    ImportExportPricing -import -pricing XMLFile-ow

Error When Importing a One-Time Offer

In BRM Patch Set 3 or later, when importing or modifying a one-time charge offer, you may encounter the following error in the RRETRansformationEngine-txn.log file:

SEVERE: Error in transformationoracle.communications.brm.pdc.server.transformation.TransformationException: Error in
        transformation operationLoad utilities failed to commit the object(s) in BRM Database!...
        oracle.communications.brm.pdc.server.transformation.rre.RRETransformationEngine.main(RRETransformationEngine.java:187)RRETRansformationEngine-master.log: INFO: Failed Work Result:  HeaderWorkItem This is header work
        item 
        FAILUREFRMWK_DATA_TRANSFORMATION_ERROR<ERROR_DETAILS@::@ID=6dc1f1a0-b3df-4f92-9ba0-39f5965c4296:::ErrorCode=FRMWK_BRM_LOAD_UTILITY_ERROR@::@> INFO: Failed Work Result:   MODIFY-CHARGE_RATE_PLAN  Product Purchase Fee
        Event-POT|TEL|94771dfe-07e8-c504-930a-1de4d3ef299f 
        6dc1f1a0-b3df-4f92-9ba0-39f5965c4296 ...........  ............ 
        FAILUREFRMWK_DATA_TRANSFORMATION_ERROR<ERROR_DETAILS@::@ID=6dc1f1a0-b3df-4f92-9ba0-39f5965c4296:::ErrorCode=FRMWK_BRM_LOAD_UTILITY_ERROR@::@>

You will also see the following error in the RRETRansformationEngine-master.log file:

Dec 09, 2022 11:10:29 AM
      oracle.communications.brm.pdc.server.transformation.WorkResultProcessor
      processFailedWorkItemsINFO: Failed Work Result:  HeaderWorkItem This is header
      work
        item  FAILUREFRMWK_DATA_TRANSFORMATION_ERROR<ERROR_DETAILS@::@ID=6dc1f1a0-b3df-4f92-9ba0-39f5965c4296:::ErrorCode=FRMWK_BRM_LOAD_UTILITY_ERROR@::@> Dec
      09, 2022 11:10:29 AM oracle.communications.brm.pdc.server.transformation.WorkResultProcessor
      processFailedWorkItemsINFO: Failed Work Result:  MODIFY-CHARGE_RATE_PLAN  Product Purchase Fee
      Event-POT|TEL|94771dfe-07e8-c504-930a-1de4d3ef299f  6dc1f1a0-b3df-4f92-9ba0-39f5965c4296 ........... 
        ............  FAILUREFRMWK_DATA_TRANSFORMATION_ERROR<ERROR_DETAILS@::@ID=6dc1f1a0-b3df-4f92-9ba0-39f5965c4296:::ErrorCode=FRMWK_BRM_LOAD_UTILITY_ERROR@::@>

This occurs because the dm_pointer entry for dm_ifw_sync is not set correctly in the Connection Manager (CM) pin.conf configuration file.

To fix this:
  1. Open the BRM_home/sys/cm/pin.conf file.
  2. Uncomment or add the following entry:
    # ifw_sync_dm_pointer
          # Specifies where to find the external manager that provides the opcode
          # for IFW Synchronization.
    - cm dm_pointer 0.0.9.9 ip hostname 11999

    where hostname is the host name or IP address of the computer on which the Account Synchronization DM runs.

  3. Save and close the XML file.
  4. Restart all BRM processes.
  5. Retest the use case and ensure that all dm_ifw_sync processes are up and running.

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.

To effectively filter the CDRs for IP addresses, use a regular expression in the following format:
.*1.2.3.*
For more information, see "Generic Selectors" in PDC Online Help.

Charge Offers Do Not Appear in the Applicable To Field

In Patch Set 3 or later, the Applicable To column in the PDC UI may not display options when creating a charge offer. To resolve this, run the SyncPDC utility to synchronize service-event map definitions from BRM to PDC. Then, create and submit a service-event map in PDC. For more information, see "Creating Service-Event Maps" in PDC Online Help.

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 of all PDC components and patches installed on your system.

When you are ready, report the problem to Oracle Global Support.