4 New Features in PDC

The Oracle Communications Pricing Design Center (PDC) 12.0 Patch Set releases include several new features.

Topics in this document:

New Features in PDC 12.0 Patch Set 8

PDC 12.0 Patch Set 8 includes the following enhancements:

PDC Supports Flexible Proration Options

In previous releases, you could configure time stamp rounding only at a systemwide level using the timestamp_rounding entry in the CM pin.conf file. You could specify that all time stamps were either:

  • Rounded to midnight. This meant that offer validity periods started at midnight, even if the offer was purchased later. In this case, purchases of recurring bundles would be valid starting at midnight, causing any delayed usage between midnight and the purchase time to be incorrectly consumed from the new grant.

  • Set to the purchase time. This meant that charges had to be prorated for the first day of the billing cycle. For example, if a product was purchased at 15:00 for a 30-day billing cycle, the customer was charged for 29 days and 9 hours.

To make proration more flexible and to avoid any balance validity or charging issues, PDC now allows you to create a charge offer with different time stamp rounding values for the following:

  • The validity period: You can specify that the validity period starts at the purchase time or midnight of the day the product is purchased. Alternatively, you can set to use the systemwide setting in the CM pin.conf file.

  • The charging scale: You can specify whether to charge for a full day or a partial day for the first day of the billing cycle. Alternatively, you can set to use the validity period setting.

Configure the proration settings using the ImportExportPricing utility or the PDC UI.

To configure proration settings using an XML file and the ImportExportPricing utility, set these new XML elements under the <ChargeOffering> element:

  • <validityRounding>: Specifies whether to start the charge offer's validity period at the purchase time or midnight of the purchase day.

    • OFF: Starts at the time of purchase. This overrides the CM pin.conf setting at the charge offer level.

    • ON: Starts at midnight (00:00:00) of the day that the charge offer is purchased. This overrides the CM pin.conf setting at the charge offer level.

    • NOT_SET: Uses the systemwide setting in the CM pin.conf file. This is the default.

  • <scaleRounding>: Specifies how to calculate the scale:

    • OFF: Calculate it based on the <validityRounding> setting.

    • ON: Calculate it based on full days.

To configure proration settings using the PDC UI, use the Validity Rounding and Scale Rounding fields in the Offer Settings section of the Create Charge Offer page.

For more information, see "Configuring Full Day Proration" in PDC Creating Product Offerings.

PDC Enhancement to Consume Allowances before Charging

PDC includes enhancements for creating product offerings that grant free allowances, such as 100 free minutes or 5 free movie rentals. PDC now allows you to create offerings that consume all free allowances before applying any usage charges. For example, you could create a monthly product offering that grants 5 free movie rentals and then charges $4 for any additional movie rentals.

You configure PDC to grant allowances using this method when you configure charges in your charge offers. In a charge, add a pricing tier definition that contains one or more pricing tier ranges. Each pricing tier range must contain an upper bound value, which can now be either a number or a noncurrency balance element ID.

The pricing tier ranges will be processed in order of the upper bound's numeric value and the order in which the pricing tier range is inserted in the database.

For more information, see "Configuring Pricing to Consume Granted Allowances Before Charging" in PDC Creating Product Offerings.

PDC UI Support for Tax Selectors and Tax Exemption Selectors

The PDC UI now supports the tax selectors and tax exemption selectors added in Patch Set 6. Also, PDC (including the GUI) now supports profile attributes as tax code selectors.

You can use the PDC UI to configure tax selectors and tax exemption selectors to apply taxes based on account, service, event, and profile attributes. This allows you to choose whether to use the direct tax code or to choose the tax code using the selectors in the rate plan while creating the product.

For more information, see "Creating a Tax Selector" and "Creating a Tax Exemption Selector" in PDC Online Help.

PDC UI Support for Automated Product and Discount Sharing Groups

You can now use the PDC UI to enable automated creation of the following:

  • Product sharing groups, which allow your customers to share a product with a group of accounts. For example, a corporate account could purchase a Wireless product with special pricing, and then automatically share the package with all of its employees. For more information, see "Creating Charge Offers with Automated Sharing Enabled" in BRM Managing Customers.

  • Discount sharing groups, which enable your customers to share a discount offer with a group of accounts. For example, a corporate account could purchase an Internet discount offer that includes a 15% discount on the monthly fee and three free movie rentals, and then automatically share the discount offer with all of its employees. For more information, see "Creating Discount Offers with Automated Sharing Enabled" in BRM Managing Customers.

Previously, this functionality could be implemented only using the ImportExportPricing utility.

PDC UI Support for 30-Day Proration

When creating bundles in the PDC UI, you can now specify how cycle charges and discounts are prorated at the charge offer or discount offer level. Previously, this functionality could be implemented only at the system level and only using the ImportExportPricing utility.

You can specify to calculate prorated cycle charges and discounts using:

  • A 30-day month: Prorated cycle charges and discounts are calculated based on a 30-day month, regardless of the number of days in the billing cycle. For example, if a bundle was owned for 6 days in a cycle, the prorated charge would be the cycle charge multiplied by 0.20 (6 ÷ 30).

  • The actual number of days in a billing cycle: Prorated cycle charges and discounts are calculated based on the actual number of days in a particular cycle, such as 28 days in February, 31 days in March, and 30 days in April. For example, if a bundle was owned for 6 days in March, the prorated charge would be the cycle charge multiplied by 0.19 (6 ÷ 31).

  • The system-wide proration setting: Prorated cycle charges and discounts are calculated according to the systemwide setting in the CM pin.conf file's enable_30_day_proration entry.

To configure 30-day proration using the PDC UI, use the Proration list in the Offer Customization subsection of the Create Bundle page. For more information, see "Offer Customization Subsection" in PDC Online Help.

PDC UI Support for Add-On Charge Offers in Bundles

When creating bundles in the PDC UI, you can now include add-on charge offers. Previously, add-on charge offers could be implemented using only an XML file and the ImportExportPricing utility. See "Support for Add-On Charge Offers in Bundles" for more information.

By default, all charge offers in bundles are base charge offers, which means they are automatically included when the customer purchases the bundle. Add-on charge offers are optional and can be purchased with the bundle or later on. To configure add-on offers in bundles using the PDC UI, use the This is an add-on charge offer check box in the Offer Customization subsection of the Create Bundle page.

For more information, see "Offer Customization Subsection" in PDC Online Help.

PDC Cloud Native Support for SSO

PDC cloud native now supports the single sign-on (SSO) login method using SAML 2.0. SSO allows you to log in to applications using a single user name and password combination.

You set up SSO using SAML 2.0 using these keys in your override-values.yaml file for oc-cn-op-job-helm-chart:

ocpdc:
   configEnv:
      # Mandatory: Set to "true" to configure and use SAML 2.0, SSO service
      isSSOEnabled:  
      # Name of your SAML Asserter
      samlAsserterName: "pdcSAML2IdentityAsserter" 
      # Base URL that is used to construct endpoint URLs, Load Balancer host and port at which the server is visible externally.
      # Must be appended with "/saml2". Example: https://LB_HOST:LB_PORT/saml2 (Mandatory if isSSOEnabled is set to true)
      ssoPublishedSiteURL:
      # URL to which unsolicited authentication responses are sent if they do not contain an 
      # accompanying target URL (Mandatory if isSSOEnabled is set to true)
      ssoDefaultURL:
      # URL where user will be redirected after logging out from the application (Mandatory if isSSOEnabled is set to true)
      ssoLogoutURL:

For more information, see "Adding PDC Keys for oc-cn-op-job-helm-chart" in BRM Cloud Native Deployment Guide.

Support for ProductOffering and ProductOfferingPrice GET APIs

PDC REST Services Manager now supports the TMF 620 Open API GET endpoints for Product Offering and Product Offering Price.

For more information, see "ProductOffering/{Name}" and "ProductOfferingPrice/{Name}" in PDC REST Services Manager Integration Guide.

PDC Support for Discount Offer Stacking

Previously, when a discount was purchased a second time, it was treated as separate from the original purchase. It is now possible to extend the validity of a discount subscription by purchasing the discount multiple times using the EXTEND and LONGEST_DATE modes. You can also define a grace period (with units and offset) for resubscribing to a discount offer.

You can configure these settings using the ImportExportPricing utility. For more information, see "Purchasing the Same Offer in a Bundle Multiple Times" in PDC Creating Product Offerings.

New Features in PDC 12.0 Patch Set 7

PDC 12.0 Patch Set 7 includes the following enhancements:

GUI Support for Credit Limit Enforcement Enhancements

GUI support has been added for the credit limit enhancements added in Patch Set 6.

You can now configure a minimum amount to charge if the customer does not have the entire amount. You can choose to prorate the service based on the amount charged. If the subscription fails, you can cancel the subscription after the retries are exhausted. Alternatively, you can choose not to cancel the subscription, and retries will be suspended until the account is recharged.

For more information, see "Properties for All Quantity Ranges" in PDC Online Help.

First Usage Activation Enhancements in PDC

PDC now supports configuring a bundle or a package to start on first usage without having to configure each charge offer and discount offer in the bundle or package to start on first usage. When you use this option, the first usage of any offering will activate all of the offerings in the bundle or package.

You can implement the first usage activation feature by using the PDC UI or an XML file with the ImportExportPricing utility. See the following for more information:

Design-Time GUI Improvements

GUI support has been added for the following features. In Patch Set 6, these features could be configured only through the ImportExportPricing utility.

  • You can now create tax codes in the PDC GUI, and they will be synchronized with both BRM and ECE.
  • You can now use the PDC GUI to specify whether to consume noncurrency resources for discounts in order of earliest expiry, or in order of any discount rules configured.
  • You can now use the PDC GUI to set thresholds for offering loans at the package level.

For more information, see PDC Online Help.

Improved Handling of Balance Elements

Prior to Patch Set 7, PDC forced charge offers and discount offers to impact all balance elements referenced in the policy. Now, unnecessary validations have been removed from PDC, so that it no longer forces all balance elements to be affected.

Proration Can Be Configured at the Offer Level

Previously, you configured proration at the system-wide level. Now, you can also configure in bundles whether an offer is prorated based on 30 days or on the actual number of days in the month.

See "Setting Proration for Offers in a Bundle" in PDC Creating Product Offerings for more information.

Support for Add-On Charge Offers in Bundles

You can include add-on charge offers in your bundles. All charge offers in bundles are base charge offers by default, which means they are automatically included when the customer purchases the bundle. Add-on charge offers can be purchased with the bundle or later on.

When you create an add-on charge offer, you specify how to determine its validity start date. The add-on charge offer's validity start date is the end date of the charge offer that you specify. For example, assume charge offer A has a validity period from June 1 through June 15. If you specify to align add-on charge offer B's validity period with charge offer A, charge offer B's validity start date would be June 15.

You can specify that an add-on charge offer's validity dates align with:

  • The base charge offer that you specify

  • The active base charge offer that expires first

  • The active base charge offer that expires last

  • The active charge offer that expires first

  • The active charge offer that expires last

See "About Add-On Charge Offers in Bundles" in PDC Creating Product Offerings for more information.

New Features in PDC 12.0 Patch Set 6

PDC 12.0 Patch Set 6 includes the following enhancements:

New Features Supported by PDC REST Services Manager

PDC REST Services Manager now supports creating pricing configurations based the following:

  • TMF620 payloads using the following extended object fields:
    • isTaxInclusive: For charge offers, lets you map tax inclusive tax codes.
    • appliesTo: For discount offers, lets you specify that a discount offer in a bundle applies to all current and future offers or all current and future offers of a particular type in the bundle instead of specifying specific offers.
  • Custom attributes (also known as product specification characteristics or product specification attributes).
  • New service types for digital TV, devices, and accessories. (This assumes you have set up the corresponding services in BRM and PDC).

    You can sell devices and accessories by themselves or as part of service bundles. PDC REST Services Manager creates dummy parent bundles for devices and accessories being sold independently that appear directly under a package.

  • Additional Helidon security logging details with the ALL log level.
  • Ability to change the default log manager.

For information about PDC REST Services Manager, see "PDC REST Services Manager Overview" in PDC REST Services Manager Integration Guide.

New XML Options for Exceeding Credit Limits

When you define your product offerings in XML and upload them using the ImportExportPricing utility, in addition to the options for exceeding credit limits introduced in Patch Set 5, you can now use the following options for the <enforceCreditLimit> element in the price tier:

  • INSUFFICIENT_BALANCE: Lets you set an minimum amount to charge when a customer doesn't have the full amount available. You can choose to prorate the service according to the minimum amount.
  • AUTO_RENEW_CANCEL: Lets you cancel the subscription completely if it fails.

For these two new options and the existing RENTAL_FAILURE option, you can also define the maximum number of retries and the retry interval at the offer level. Previously you could only define the number of retries at the system level.

See "Enforcing or Exceeding Credit Limits" in PDC Creating Product Offerings for more information about these options.

Note:

BRM also supports these options with the loadpricelist utility. See "Allowing Customers to Exceed Their Credit Limit" in Configuring Pipeline Rating and Discounting.

Consuming Noncurrency Resources for Discounts in Order of Expiration

When you define your product offerings in XML and upload them using the ImportExportPricing utility, you can specify whether to consume noncurrency resources for the discounts in order of earliest expiry, or in order of any discount rules configured.

See "Consuming Noncurrency Resources for Discounts in Order of Expiration" in PDC Creating Product Offerings for more information.

Note:

This is only supported for rating in Elastic Charging Engine (ECE). It is not supported for Pipeline Manager.

Tax Codes Are Now Created in PDC

Before BRM 12.0 Patch Set 6, you created tax codes in BRM and synchronized them to Pricing Design Center (PDC). In Patch Set 6 and later releases, you create tax codes in PDC and publish them to BRM and Elastic Charging Engine (ECE) using the ImportExportPricing utility.

See "About Creating Tax Codes (Patch Set 6 and Later)" in BRM Calculating Taxes for more information.

If you are applying Patch Set 6 on top of a previous BRM 12.0 Patch Set, before you can use PDC to create new tax codes or modify tax codes created in previous patch sets, you must run the SyncPDC utility to synchronize the tax codes from BRM to PDC.

When you run SyncPDC after upgrading to Patch Set 6 or a later release, the following new actions will be taken:

  • Maintain data consistency between your existing TaxCode table and the newly introduced BCTaxCode tables in the PDC database schema.

  • Update data in the XREF_RRE_TAXCODE table in the transformation cross-reference (XREF) database schema.

See "Synchronizing Pricing Setup Components" in PDC Creating Product Offerings for information about SyncPDC.

PDC Support for More Granular Tax Code Application

You can now configure tax selectors and tax exemption selectors to apply taxes based on account, service, event, and profile attributes using the ImportExportPricing utility. This allows you to choose whether to use the direct tax code or to choose the tax code using the selectors. You can also apply tax exemptions to charge offers using selectors.

See "Selector Configuration Examples" in PDC Creating Product Offerings for more information.

PDC XML Tags

PDC XML tag information is useful when exporting or importing pricing or config data using the ImportExportPricing utility. PDC documentation now lists all the available tags and describes each field. For more information, see "PDC XML Tags" in PDC Creating Product Offerings.

PDC Now Supports Single Sign-On

PDC now supports the single sign-on (SSO) login method using SAML 2.0. SSO allows you to log in to applications using a single user name and password combination

For more information, see "Setting Up Single Sign-On for Pricing Design Center" in PDC Installation Guide.

New Features in PDC 12.0 Patch Set 5

PDC 12.0 Patch Set 5 includes the following enhancements:

PDC Supports Event Notifications

You can now configure PDC to generate notification events when the following occurs:

  • A balance element's validity date is about to expire. For example, when the validity date for a balance of free minutes is about to expire. For more information, see "Configuring Balance Elements" in PDC Creating Product Offerings.

  • A subscription is about to expire or is due for renewal. For more information, see "Configuring Charge Offer Usage and Ownership" in PDC Creating Product Offerings.

To use this new functionality, you must run a database upgrade script after you install PDC 12.0 Patch Set 5 or later:

  1. Go to the PDC_home/PDC/interimpatch/upgrade directory.

  2. Run this command, which opens SQL*Plus:

    % sqlplus login@ORACLE_SID
    Enter password: password

    where:

    • login is the user name for the PDC database schema.

    • ORACLE_SID is the database alias of the PDC database schema.

    • password is the password for the specified user name.

  3. Run one of the following commands:

    SQL> @AddExpiryNotification.sql
  4. Exit SQL*Plus.

Charges in PDC Support Dynamic Taxation

In PDC, you can now configure charges to apply dynamic tax calculation, which defers tax calculation until the end of a billing cycle but calculates taxes using the tax rate at the time an event occurred. For example, assume a recurring charge's tax rate changes from 2% to 3% on May 15. If a billing cycle ends on May 30, BRM would use the 2% rate to calculate the charge's April 30 through May 14 taxes and the 3% rate to calculate the charge's May 15 through May 29 taxes. This provides the benefits of billing-time taxation while allowing you to change tax rates in the middle of a billing cycle.

For more information, see "Configuring Taxation in Charges" in PDC Creating Product Offerings.

Moving Tax Codes to PDC

You cannot synchronize tax codes from BRM to PDC using the SyncPDC utility for the following cases. Instead, you must manually re-create the BRM tax codes in a PDC-compliant XML file and then load them into the PDC database.
  • For Patch Set 5 (full installation or upgrade), manually re-create the BRM tax codes in a PDC-compliant XML file and then load them into the PDC database.
  • For a Patch Set 6 upgrade (from Patch Set 5 or previous Patch Sets), a one-time manual step to synchronize taxcodes in PDC is not present. Hence, SyncPDC and taxcode export may fail. You must manually re-create the BRM tax codes in a PDC-compliant XML file and then load them into the PDC database.

Note:

In a full installation of PDC 12.0 Patch Set 6 and later releases, you use the SyncPDC utility to synchronize tax codes from BRM to PDC.

To re-create your BRM 12.0 Patch Set 5 tax codes in PDC 12.0 Patch Set 5:

  1. Manually replicate the tax codes you created in BRM in a PDC-compliant XML file. For examples, see the following:

  2. Load the XML file into the PDC database by using the ImportExportPricing utility:

    ImportExportPricing -import -ow -config XMLFile 

    See "ImportExportPricing" in PDC Creating Product Offerings for information about the utility's syntax and parameters.

Vertex Tax Code Example

The following provides an example for replicating Vertex tax codes that you defined in BRM to a PDC-compliant XML file:

  1. On the machine where BRM is installed, open the BRM_home/sys/data/config/config_taxcodes_map.xml file.

  2. Look at the tax code configuration in the file. Below shows the configuration for a sample qt_usage tax code:

    <ConfigObjectconfigName="/config/taxcodes_map"configMode="recreate">    
       <DESCR>Taxcodes Map Configuration</DESCR>    
       <NAME>taxcodes_map</NAME>    
       <TAXES elem="1">      
          <TAX_CODE>qt_usage</TAX_CODE>      
          <TAXPKG_TAX_CODE>Q</TAXPKG_TAX_CODE>      
          <CODE1>01</CODE1>      
          <CODE2>01</CODE2>      
          <SALES_INDICATOR>S</SALES_INDICATOR>    
       </TAXES>    
    </ConfigObject>
  3. Create an XML file and add information about the qt_usage tax code to the equivalent PDC elements:

    • The BRM <TAX_CODE> element is equivalent to the PDC <code> element.

    • The BRM <TAXPKG_TAX_CODE> element is equivalent to the PDC <taxPackageType> element. The possible values:

      • BRM value of C equals a PDC value of VERTEX_COMMTAX_21

      • BRM value of Q equals a PDC value of VERTEX_QUANTUM

    • The BRM <CODE1> element is equivalent to the PDC <transType_CategoryCode_Rate> element.

    • The BRM <CODE2> element is equivalent to the PDC <transSubType_ServiceCode> element.

    • The BRM <SALES_INDICATOR> element is equivalent to the PDC <salesIndicator> element. The possible values:

      • BRM value of S equals a PDC value of SALE

      • BRM value of R equals a PDC value of RESALE

    For example, this shows the contents from step 2 in a PDC-compliant XML file:

    <taxCodes xmlns:cim="http://xmlns.oracle.com/communications/platform/model/Config">
       <name>qt_usage</name>
       <priceListName>Default</priceListName>
       <obsolete>false</obsolete>
       <code>qt_usage</code>
       <taxPackageType>VERTEX_QUANTUM</taxPackageType>
       <taxCodeValidityPeriods>
          <taxCodeMaps>
             <transType_CategoryCode_Rate>1</transType_CategoryCode_Rate>
             <transSubType_ServiceCode>1</transSubType_ServiceCode>
             <salesIndicator>SALE</salesIndicator>
          </taxCodeMaps>
       </taxCodeValidityPeriods>
    </taxCodes>
  4. Using a database viewer, open the TAXCODE table in the PDC database schema. Write down the internal ID associated with the tax code.

    For example, Figure 4-1 shows the internal ID for the sample qt_usage tax code.

    Figure 4-1 qt_usage Internal ID



  5. In your PDC-compliant XML file, add the tax code's internal ID to a new <internalId> element. For example:

    <taxCodes xmlns:cim="http://xmlns.oracle.com/communications/platform/model/Config">
       <name>qt_usage</name>
       <internalId>61c719e1-2b04-43c6-ac91-a1057c6ea0d7</internalId>
       <priceListName>Default</priceListName>
       <obsolete>false</obsolete>
       <code>qt_usage</code>
       <taxPackageType>VERTEX_QUANTUM</taxPackageType>
       <taxCodeValidityPeriods>
          <taxCodeMaps>
             <transType_CategoryCode_Rate>1</transType_CategoryCode_Rate>
             <transSubType_ServiceCode>1</transSubType_ServiceCode>
             <salesIndicator>SALE</salesIndicator>
          </taxCodeMaps>
       </taxCodeValidityPeriods>
    </taxCodes>
  6. Save and close the file.

The XML file is ready to be loaded into the PDC database.

Simple VAT Tax Code Example

The following provides an example for replicating a simple VAT tax code that you defined in BRM to a PDC-compliant XML file:

  1. On the machine where BRM is installed, open the BRM_home/sys/data/config/config_taxcodes_map.xml file.

  2. Look at the tax code configuration in the file. Below shows the configuration for a sample VAT tax code:

    <ConfigObjectconfigName="/config/taxcodes_map"configMode="recreate">    
       <DESCR>Taxcodes Map Configuration</DESCR>    
       <NAME>taxcodes_map</NAME>    
       <TAXES elem="1">      
          <TAX_CODE>VAT</TAX_CODE>      
          <TAXPKG_TAX_CODE>U</TAXPKG_TAX_CODE>      
          <PERCENT>4.5</PERCENT>      
          <VALID_FROM_STR>02/01/22</VALID_FROM_STR>      
          <VALID_TO_STR>01/31/23</VALID_TO_STR>      
          <TAX_JURISDICTION>Fed</TAX_JURISDICTION>      
          <TAX_JURISDICTION_LIST>GB</TAX_JURISDICTION_LIST>      
          <DESCR>VAT-GB</DESCR>      
          <RULE_TYPE>Std</RULE_TYPE> 
       </TAXES>    
    </ConfigObject>
  3. Create an XML file and add information about the VAT tax code to the equivalent PDC elements:

    • The BRM <TAX_CODE> element is equivalent to the PDC <code> element.

    • The BRM <TAXPKG_TAX_CODE> element is equivalent to the PDC <taxPackageType> element. For simple and custom tax codes, set the value of <taxPackageType> to CUSTOM.

    • The BRM <PERCENT> element is equivalent to the PDC <percent> element.

    • The BRM <VALID_FROM_STR> element is equivalent to the PDC <validFrom> element. Enter the date in YYYYMMDD format.

    • The BRM <VALID_TO_STR> element is equivalent to the PDC <validTo> element. Enter the date in YYYYMMDD format.

    • The BRM <TAX_JURISDICTION> element is equivalent to the PDC <taxJurisdictionLevel> element.

      • BRM value of Fed equals a PDC value of FEDERAL

      • BRM value of Sta equals a PDC value of STATE

      • BRM value of Cou equals a PDC value of COUNTY

      • BRM value of Cit equals a PDC value of CITY

      • BRM value of Loc equals a PDC value of LOCATION

    • The BRM <TAX_JURISDICTION_LIST> element is equivalent to the PDC <taxJurisdictions> element.

    • The BRM <DESCR> element is equivalent to the PDC <description> element.

    • The BRM <RULE_TYPE> element is equivalent to the PDC <taxRuleType> element. The possible values:

      • BRM value of Std equals a PDC value of STANDARD

      • BRM value of Tax equals a PDC value of TAX

      • BRM value of Inc equals a PDC value of INCLUSIVE

      • BRM value of NCS equals a PDC value of NCS

      • BRM value of NCT equals a PDC value of NCT

    For example, this shows the contents from step 2 in a PDC-compliant XML file:

    <taxCodes>
       <name>VAT</name>
       <priceListName>Default</priceListName>
       <obsolete>false</obsolete>
       <code>VAT</code>
       <taxPackageType>CUSTOM</taxPackageType>
       <taxCodeValidityPeriods>
       <validFrom>20010201</validFrom>
       <validTo>20300131</validTo>
          <taxCodeMaps>
             <description>VAT-GB</description>
             <percent>4.5</percent>
             <taxJurisdictionLevel>FEDERAL</taxJurisdictionLevel>
             <taxJurisdictions>GB</taxJurisdictions>
             <taxRuleType>STANDARD</taxRuleType>
          </taxCodeMaps>
       </taxCodeValidityPeriods>
    </taxCodes>
  4. Using a database viewer, open the TAXCODE table in the PDC database schema. Write down the internal ID associated with the tax code.

    For example, Figure 4-2 shows the internal ID for the sample VAT tax code.

  5. Add the tax code's internal ID to a new <internalId> element. For example:

    <taxCodes>
       <name>VAT</name>
       <internalId>5eca012b-545e-43cc-a702-f4d3570e248e</internalId>
       <priceListName>Default</priceListName>
       <obsolete>false</obsolete>
       <code>VAT</code>
       <taxPackageType>CUSTOM</taxPackageType>
       <taxCodeValidityPeriods>
       <validFrom>20010201</validFrom>
       <validTo>20300131</validTo>
          <taxCodeMaps>
             <description>VAT-EU</description>
             <percent>5</percent>
             <taxJurisdictionLevel>FEDERAL</taxJurisdictionLevel>
             <taxJurisdictions>GB</taxJurisdictions>
             <taxJurisdictions>FR</taxJurisdictions>
             <taxRuleType>STANDARD</taxRuleType>
          </taxCodeMaps>
          <taxCodeMaps>
             <description>VAT-GB</description>
             <percent>4.5</percent>
             <taxJurisdictionLevel>FEDERAL</taxJurisdictionLevel>
             <taxJurisdictions>GB</taxJurisdictions>
             <taxRuleType>STANDARD</taxRuleType>
          </taxCodeMaps>
          <taxCodeMaps>
             <description>VAT-FR</description>
             <percent>4.0</percent>
             <taxJurisdictionLevel>FEDERAL</taxJurisdictionLevel>
             <taxJurisdictions>FR</taxJurisdictions>
             <taxRuleType>STANDARD</taxRuleType>
          </taxCodeMaps>
       </taxCodeValidityPeriods>
    </taxCodes>
  6. Save and close the file.

The XML file is ready to be loaded into the PDC database.

Distributing Noncurrency Balances in Incremental Buckets

Note:

This functionality is supported only for recurring and one-time charges that have validity periods with a specified end date.

You can now grant noncurrency balances to your customers in smaller portions on an incremental basis. For example, if you grant customers 500 MB of data with a five-hour validity period, you could dole out the data to customers in hourly buckets of 100 MB each. To configure PDC do this, you create multiple validity periods in your noncurrency balances.

See "Granting Noncurrency Balances in Increments" in PDC Creating Product Offerings.

Now Specify Whether to Continue Charging for SuspendedActive Accounts

When you add charges to a charge offer, you can now specify whether BRM continues charging or stops charging accounts that have a SuspendedActive custom life cycle state.

See "Specifying Whether to Continue Charging Inactive, Canceled, or SuspendedActive Accounts" in PDC Creating Product Offerings.

Support for Purchasing the Same Offer Multiple Times

When creating bundles in PDC, you can specify what happens if customers purchase the same offer more than once. The additional offer can be:

  • Purchased as a new subscription

  • Purchased as a replacement of the existing subscription

  • Purchased as an extension of the existing subscription if it is purchased within a specified grace period.

    The grace period can be any number of seconds, minutes, hours, or days. The default grace period is 0 days, which specifies that the grace period never ends.

For more information, see "About Purchasing the Same Offer Multiple Times" in PDC Creating Product Offerings.

To be able to add a grace period for charge offer extensions, you must run the addBundledProductOfferingItemGracePeriod.sql script after you install PDC 12.0 Patch Set 5 or later:

  1. Go to the PDC_home/PDC/interimpatch/upgrade directory.

  2. Run this command, which opens SQL*Plus:

    % sqlplus login@ORACLE_SID
    Enter password: password

    where:

    • login is the user name for the PDC database schema.

    • ORACLE_SID is the database alias of the PDC database schema.

    • password is the password for the specified user name.

  3. Run this command:

    SQL> @addBundledProductOfferingItemGracePeriod.sql
  4. Exit SQL*Plus.

Prorating Billing DOM Changes, Package Transitions, and Bundle Transitions

PDC now allows you to specify how to handle recurring charges when your customers do the following in the middle of their billing cycle:

  • Change their billing day of month (DOM). You can specify whether to apply the full cycle charge, prorate the cycle charge, or apply no charge. For more information, see "About Prorating Recurring Charges and Rollovers" in PDC Creating Product Offerings.

  • Transition from one bundle to another. You can specify whether to apply the full cycle charge from the original bundle, apply the full cycle charge from the new bundle, or prorate the cycle charges from both bundles. For more information, see "Prorating Charges During Bundle Transitions" in PDC Creating Product Offerings.

  • Transition from one package to another. You can specify whether to apply the full cycle charge from the original package, apply the full cycle charge from the new package, or prorate the cycle charges from both packages. For more information, see "Prorating Charges During Package Transitions" in PDC Creating Product Offerings.

To use this new functionality, you must run a database upgrade script after you install PDC 12.0 Patch Set 5 or later:

  1. Go to the PDC_home/PDC/interimpatch/upgrade directory.

  2. Run this command, which opens SQL*Plus:

    % sqlplus login@ORACLE_SID
    Enter password: password

    where:

    • login is the user name for the PDC or XREF database schema.

    • ORACLE_SID is the database alias of the PDC or XREF database schema.

    • password is the password for the specified user name.

  3. Run one of the following commands:

    • For PDC schema users:

      SQL> @AddProrationOptionForCycleAndTransition.sql
    • For XREF schema users:

      SQL> @AddProrateCycleXrefRRECharges.sql
  4. Exit SQL*Plus.

Setting Charge Offer Cycle Alignment for Reactivated Bundles

When you add a charge offer to a bundle, you also specify, if a customer suspends and later reactivates their subscription, whether the reactivated charge offer's cycle alignment is based on the original billing or purchase date, or the reactivation date. You use the Renewal Mode option on the charge offer to configure this. You can also configure it in XML using the ImportExportPricing utility.

For more information, see "About Creating Bundles" and "Setting Charge Offer Cycle Alignment for Reactivated Bundles" in PDC Creating Product Offerings.

PDC UI Supports Recurring Charges on Specific DOM

When you create charge offers in the PDC UI, you can now specify to apply recurring charges on a specific day of the month (DOM) rather than on the customer's billing DOM or on the purchase date. Previously, this functionality could be implemented using only an XML file and the ImportExportPricing utility.

For more information, see "Applying Recurring Charges on a Specific DOM" in PDC Creating Product Offerings and "Specifying Charge Offer Settings" in PDC Online Help.

PDC UI Supports Versioning with Date Ranges

When creating a charge offer in PDC, you can now configure how pricing configurations for date ranges are applied to support versioning.

You can configure whether customers who subscribe during one date range move to the new pricing configuration after the first range ends, or keep the same pricing configuration, effectively maintaining multiple versions of the same charge offer. You can also determine whether the pricing configuration is chosen based on the service instantiation date or the purchase date.

Previously, this functionality could be implemented using only an XML file and the ImportExportPricing utility.

For more information, see "Configuring How Pricing Configurations for Date Ranges are Applied" in PDC Creating Product Offerings and "Specifying Charge Offer Settings" in PDC Online Help.

PDC UI Supports Options for Exceeding Credit Limits

In the PDC UI, when configuring properties for quantity ranges in charges, you can specify what happens to subscriptions when customers exceed their credit limits.

You can prevent customers from exceeding their credit limit and either prorate the resources according to the available balance, or fail the subscription and notify an external system for further processing.

You can allow customers to exceed their credit limit and:

  • Use all available balance and record the remaining amount as an outstanding amount.
  • Use all available balance and grant a loan for the remaining amount.
  • Leave the available balance and record the entire amount as an outstanding amount.
  • Skip billing for this cycle.

For more information, see "Allowing Customers to Exceed Their Credit Limit" in PDC Creating Product Offerings.

Note:

If you attempt to import charge offers with the ImportExportPricing utility using XML files that were exported before installing Patch Set 5, the import will fail with a validation error. You must update the values of the <enforceCreditLimit> element from true to NORMAL and from false to DEFAULT before importing.

PDC UI Supports Product Specification Attributes

The PDC UI now supports product specification attributes, which are created in a configuration template file. You can now use the PDC UI to provide values for the attributes for charge offers, discount offers, chargeshare offers, bundles, and packages. Previously, this functionality could be implemented using only an XML file and the ImportExportPricing utility.

For more information, see "Configuring Product Specification Attributes for Pricing Components" in PDC Creating Product Offerings and "Specifying Product Specification Attribute Values" in PDC Online Help.

Note:

Previously, product specification attributes were called extended attributes. The name has been updated to align with the industry-standard TM Forum term.

PDC REST Services Manager Supports OAuth with Oracle Access Management

You can now implement OAuth to secure communication with PDC REST Services Manager by using Oracle Access Management. Previously you were required to use Oracle Identity Cloud Service.

See "PDC REST Services Manager Security" in BRM Security Guide for more information about implementing OAuth using either provider.

PDC REST Services Manager Supports Synchronizing New Elements

PDC REST Services Manager can now synchronize the following elements in TMF620 payloads from your enterprise product catalog to PDC:

  • Charge selectors with value maps
  • Packages and bundles containing multiple charge offers and discounts
  • Subscription terms for packages and bundles

See "PDC REST Services Manager Overview" in PDC REST Services Manager Integration Guide for more information about elements you can synchronize using PDC REST Services Manager.

New Features in PDC 12.0 Patch Set 4

PDC 12.0 Patch Set 4 includes the following enhancements:

Creating Subscription Terms

You can now create subscription terms in PDC and add them to your packages and bundles.

Subscription terms define the commitment period and options for canceling and renewing the goods and services you offer. For example, a subscription term could have a commitment period such as 1 month, 1 year, or 2 years. When you create a subscription term, you specify whether customers can cancel their subscriptions early and whether they incur any fees for doing so.

After you create subscription terms, you associate them with packages and bundles. When customers purchase a package and accept its terms, it becomes a contract.

See the following topics in PDC Creating Product Offerings:

Creating Deliverables

You can now create deliverables in XML and load them to PDC using the ImportExportPricing utility.

A deliverable is a good or service that provides value to your customers, such as an eBook, a night in a hotel room, or a month of telephony service. It defines the type of good or service you are selling, its standalone selling price, its revenue earning schedule, and its revenue G/L ID.

You can add deliverables to your charge offers in PDC.

See the following topics in PDC Creating Product Offerings:

XML Product Offering Enhancements for PDC

PDC now supports the following enhancements when you define your product offerings in XML and upload them using the ImportExportPricing utility:

  • Creating extended attributes: You can create extended attributes for charge offers, discount offers, chargeshare offers, bundles, and packages. Extended attributes save extra information that may be useful to external applications. You create extended attributes in a configuration template file, then provide values for them while creating your pricing components. The utility validates the attributes on the pricing components against the template file.

    Although BRM does not act on the extended attributes, the information is stored in the BRM database, and can be queried by external applications.

    See "Configuring Extended Attributes for Pricing Components" in PDC Creating Product Offerings.

  • Purchasing the same charge offer multiple times: When creating bundles, you can specify what happens if customers purchase the same charge offer more than once.

    See "Purchasing the Same Charge Offer Multiple Times" in PDC Creating Product Offerings.

  • Offering hourly balance impacts: When creating charges, you can configure hourly validity periods for the balance impacts that make up charges. This is useful for creating short-lived rewards, like free games or minutes.

    See "Offering Hourly Balance Impacts" in PDC Creating Product Offerings.

  • Applying recurring charges on a specific day of the month: When creating charge offers with hourly validity, you can apply recurring charges on a specific day of the month instead of the customer's billing date or the purchase date.

    See "Applying Recurring Hourly Charges on a Specific Day of the Month" in PDC Creating Product Offerings.

  • Using date ranges for versioning: When creating charge offers, you can add charges with new date ranges to create new versions of the same charge offer and determine whether existing subscriptions move to the new charge or continue with the old charge.

    Charge offers created before PDC 12.0 Patch Set 4 automatically use the existing functionality, where existing subscriptions move to the new charge. You can update the value of the new dateRangeImpactType field for the charge offers to change to the new versioning options.

    See "Using Date Ranges for Versioning" in PDC Creating Product Offerings.

  • Service is optional for charges: When creating charges for the ECE rating, online rating, and subscription target engine profiles (ECE_RATING, ECE_SUBSCRIPTION, RRE_RATING, RRE_SUBSCRIPTION), specifying a service for a charge is optional.

Note:

BRM also supports these enhancements with the loadpricelist utility. See "XML Examples of Pricing Components" in Configuring Pipeline Rating and Discounting.

Integrating PDC with External Enterprise Product Catalogs

You can now integrate PDC with external product catalogs, such as Oracle Digital Experience for Communications Launch Experience, by using the new PDC REST Services Manager.

This integration allows you to create product offerings with charges and discounts in an external product catalog while using PDC and BRM to do the rating and billing.

For information about PDC REST Services Manager, see "PDC REST Services Manager Overview" in PDC REST Services Manager Integration Guide.

For information about installing PDC REST Services Manager, see "Installing Only PDC REST Services Manager" in PDC Installation Guide.

New Features in PDC 12.0 Patch Set 3

PDC 12.0 Patch Set 3 includes the following enhancements:

PDC Now Supports 5G Rating in ECE

PDC has been enhanced to support 5G rating in ECE. The PDC event definition file includes these new attributes, which indicate that the network attribute is from a 5G network:

  • networkAttributeItem5g

  • persistedName5g

For more information, see "Enabling Charging for Custom Events" in PDC Creating Product Offerings.

PDC Now Localized

PDC is now available in localized versions. The following languages are supported: French, Italian, Spanish, Japanese, Korean, Chinese Simplified, Chinese Traditional, Russian, and Portuguese Brazilian.

Localized versions of the software are available in the full installer JAR file: pdcserver-12.0.0.3.0_generic_full.jar file.

New Features in PDC 12.0 Patch Set 2

PDC 12.0 Patch Set 2 includes the following enhancements:

Support for Configuring Item Type Selectors in the PDC User Interface

In previous releases, you could configure item type selector rules only by importing them into the PDC database by using the ImportExportPricing utility.

You can now configure item type selector rules by using the PDC user interface. For more information, see the discussion about configuring the item type selectors in the PDC Online Help.

PDC Web Services for Creating and Exporting Components

In previous releases, you could use PDC Web services only to create and modify pricing components. With this enhancement, you can also use PDC Web services to perform the following:

  • Export operation for Pricing components.

  • Create, modify, and export operations for Setup components.

  • Create, and export operations for Metadata, and Custom data.

Creating or Modifying Components using PDC Web Services

The PDC Web service uses the PricingGateway.xsd file for creating or modifying components in PDC. The XSD files describe the structure of the XML document. The XML file you create must comply with the structure defined in the XSD. The PricingGateway.xsd file is available at:

http://hostName:sslPortNumber/pdc/PricingGatewayPort?xsd=1

where:

  • hostName is the host name of the machine on which PDC is deployed.

  • sslPortNumber is the SSL port number of the domain on which PDC is deployed.

You can use the PDC Web service to do the following:

  • Create the setup components defined in an XML file in PDC. See "createBusinessConfig" for more information.

  • Create the setup components defined in an XML file in PDC and publish the setup components to a billing system, such as Oracle Communications Billing and Revenue Management (BRM). See "createBusinessConfigAndSubmit" for more information.

  • Modify the setup components in PDC as defined in an XML file. See "modifyBusinessConfig" for more information.

  • Modify the setup components in PDC as defined in an XML file and publish the setup components to a billing system. See "modifyBusinessConfigAndSubmit" for more information.

  • Create the metadata defined in an XML file in PDC. See "createMetadata" for more information.

  • Create the custom data defined in an XML file in PDC. See "createCustomFields" for more information.

createBusinessConfig

This Web service operation validates the input XML by comparing the XML fields and values against the values in the PricingGateway.xsd file and the rules for each type of Business config component. If the validation is successful, it retrieves the data from the XML file and creates Business config components in PDC.

The createBusinessConfig operation does not publish the Business config components to the BRM database.

Syntax

public oracle.communications.brm.pdc.server.service.types.PDCResponseType createBusinessConfig(oracle.communications.brm.pdc.server.service.types.PricingInputXMLType param) throws oracle.communications.brm.pdc.server.service.PricingExceptionResponse;
createBusinessConfigAndSubmit

This Web service operation validates the input XML by comparing the XML fields and values against the values in the PricingGateway.xsd file and the rules for each type of Business config component. If the validation is successful, it retrieves the data from the XML file, creates Business config components in PDC, and publishes the Business config components to the BRM database.

Syntax

public oracle.communications.brm.pdc.server.service.types.PDCResponseType createBusinessConfigAndSubmit(oracle.communications.brm.pdc.server.service.types.PricingInputXMLType param) throws oracle.communications.brm.pdc.server.service.PricingExceptionResponse;
modifyBusinessConfig

This Web service operation validates the input XML by comparing the XML fields and values against the values in the PricingGateway.xsd file and the rules for each type of Business config component. If the validation is successful, it retrieves the data from the XML file and updates the existing Business config components in PDC.

The modifyBusinessConfig operation does not publish the Business config components to the BRM database.

Syntax

public oracle.communications.brm.pdc.server.service.types.PDCResponseType modifyBusinessConfig(oracle.communications.brm.pdc.server.service.types.PricingInputXMLType param) throws oracle.communications.brm.pdc.server.service.PricingExceptionResponse;
modifyBusinessConfigAndSubmit

This Web service operation validates the input XML by comparing the XML fields and values against the values in the PricingGateway.xsd file and the rules for each type of Business config component. If the validation is successful, it retrieves the data from the XML file and updates the existing Business config components in PDC, and publishes the Business config components to the BRM database.

Syntax

public oracle.communications.brm.pdc.server.service.types.PDCResponseType modifyBusinessConfigAndSubmit(oracle.communications.brm.pdc.server.service.types.PricingInputXMLType param) throws oracle.communications.brm.pdc.server.service.PricingExceptionResponse;
createMetadata

This Web service operation validates the input XML by comparing the XML fields and values against the values in the PricingGateway.xsd file and the rules for each type of Metadata component. If the validation is successful, it retrieves the data from the XML file and creates Metadata components in PDC.

The createMetadata operation does not publish the Metadata components to the BRM database.

Syntax:

public oracle.communications.brm.pdc.server.service.types.PDCResponseType createMetadata(oracle.communications.brm.pdc.server.service.types.PricingInputXMLType param) throws oracle.communications.brm.pdc.server.service.PricingExceptionResponse;
createCustomFields

This Web service operation validates the input XML by comparing the XML fields and values against the values in the PricingGateway.xsd file and the rules for each type of Custom Fields. If the validation is successful, it retrieves the data from the XML file and creates Custom Fields in PDC.

The createCustomFields operation does not publish the Custom Fields to the BRM database.

Syntax

public oracle.communications.brm.pdc.server.service.types.PDCResponseType createCustomFields(oracle.communications.brm.pdc.server.service.types.PricingInputXMLType param) throws oracle.communications.brm.pdc.server.service.PricingExceptionResponse;
getPricingObjects

This Web service operation validates the input XML by comparing the XML fields and values against the values in the RetrievePricingGateway.xsd file. If the validation is successful, it retrieves the Pricing Objects from PDC and returns the data in RetrieveResponseType object.

Syntax

public oracle.communications.brm.pdc.server.service.types.RetrieveResponseType getPricingObjects(oracle.communications.brm.pdc.server.service.types.RetrieveInputXMLType param) throws Exception;
getBusinessConfigObjects

This Web service operation validates the input XML by comparing the XML fields and values against the values in the RetrievePricingGateway.xsd file. If the validation is successful, it retrieves the Business Config from PDC and returns the data in RetrieveResponseType object.

Syntax

public oracle.communications.brm.pdc.server.service.types.RetrieveResponseType getBusinessConfigObjects(oracle.communications.brm.pdc.server.service.types.RetrieveInputXMLType param) throws Exception;
getMetadataObjects

This Web service operation validates the input XML by comparing the XML fields and values against the values in the RetrievePricingGateway.xsd file. If the validation is successful, it retrieves the Metadata Object from PDC and returns the data in RetrieveResponseType object.

Syntax

public oracle.communications.brm.pdc.server.service.types.RetrieveResponseType getMetadataObjects(oracle.communications.brm.pdc.server.service.types.RetrieveInputXMLType param) throws Exception;
getBRMObjects

This Web service operation validates the input XML by comparing the XML fields and values against the values in the RetrievePricingGateway.xsd file. If the validation is successful, it retrieves the BRM Object from PDC and returns the data in RetrieveResponseType object.

Syntax

public oracle.communications.brm.pdc.server.service.types.RetrieveResponseType getBRMObjects(oracle.communications.brm.pdc.server.service.types.RetrieveInputXMLType param) throws Exception;
getCustomFields

This Web service operation validates the input XML by comparing the XML fields and values against the values in the RetrievePricingGateway.xsd file. If the validation is successful, it retrieves the Custom Fields from PDC and returns the data in RetrieveResponseType object.

Syntax

public oracle.communications.brm.pdc.server.service.types.RetrieveResponseType getCustomFields(oracle.communications.brm.pdc.server.service.types.RetrieveInputXMLType param) throws Exception;
Exporting Components using PDC Web Services

You can use the PDC Web services to do the following:

PDC Web services use the RetrieveInputXMLType object as input for exporting the PDC components. You can create the RetrieveInputXMLType object.

Creating RetrieveInputXMLType Object Using Setter Method

You can create the RetrieveInputXMLType object using setter methods (for example, pojos) with the required parameters to export components from PDC system.

For example, to export pricing components you can create the object as follows:

getPricingObjects() {
 RetrieveResponseType response = new RetrieveResponseType();
 RetrieveInputXMLType request = new RetrieveInputXMLType();
 ObjectType objectType = new ObjectType();
 WSPricingObject pricingObject = new WSPricingObject();
 pricingObject.getPricingObjectType().add(WSPricingObjectType.ALTERATION_EXCLUSION);
 objectType.setPricingObject(pricingObject);
 request.setObjectType(objectType);
 request.setAllReferences(false);
 request.setIncludeFailedObjects(false);
 request.setObsolete(false);
 request.setReferences(false);
 UserContextType userContext = new UserContextType();
 userContext.setUserid("pdcuser");
 request.setUserContext(userContext);
 response = pricingGatewayPortType.getPricingObjects(request);
 return response;
}
Creating RetrieveInputXMLType Object Using XML

The PDC Web services use the RetrievePricingGateway.xsd file for exporting components from PDC. The XSD file describes the structure of the XML file. The XML file you create must comply with the structure defined in the XSD. The RetrievePricingGateway.xsd file is available at:

http://hostName:sslPortNumber/pdc/PricingGatewayPort?xsd=2

where:

  • hostName is the host name of the machine on which PDC is deployed.

  • sslPortNumber is the SSL port number of the domain on which PDC is deployed.

You need to manually set the required parameters in the XML file for indicating the objects that you want to export from the PDC system. The RetrieveInputXMLType object is then created by parsing this XML.

Parameters for Exporting PDC Components

Table 4-1 provides the description of parameters used for exporting PDC components.

Table 4-1 Parameters for Exporting PDC Components

Parameter Description

objectType

Specifies the object type to export.

The valid values are pricingObject, businessConfigObject, brmObject, and metadataObject.

You can specify the pricing object type for exporting. For example, ALTERATION_RATE_PLAN, USC_MAP and so on. If pricing object type is not specified, all the pricing components are considered for exporting. This parameter is also applicable for setup components, metadata, and cross-reference data.

references

Specifies whether to export data including references.

allReferences

Specifies whether to export data including all references. This is applicable only when exporting pricing objects.

When allReferences is set to true for pricing objects, the response is written separately into pricingObjectResponse, configObjectResponse, and metadataObjectResponse fields. If the export allReferences is not set for pricing objects, the pricing object responses are written into response field.

obsolete

Specifies whether to export obsolete data.

includeFailedObjects

Specifies whether to export data including failed objects.

modifiedAfterDate

Specifies whether to export data based on modified date.

ModifiedAfterDate supports the following formats:

  • yyyy-mm-dd

    Example: 2010-01-05

  • yyyy-mm-dd'T'hh:mm:ss

    Example: 2010-01-05T23:59:59

  • yyyy-mm-dd'T'hh:mm:ssz

    Example: 2010-01-05T19:05:09GMT+05:30

modifiedByUser

Specifies whether to export data based on the user who modified the data.

objectName

Specifies whether to export data based on object name.

UserContext

Specifies whether to export data for a specific user.

productSpecName

Specifies whether to export data based on product specification.

This is applicable only when exporting pricing components.

About Web Service Response

The PDC Web service operation first validates the input XML by comparing the XML fields and its values against the values in the RetrievePricingGateway.xsd file. If the validation is successful, it retrieves the objects from PDC and returns the data in RetrieveResponseType object.

Structure of the RetrieveResponseType object is as follows:

<xsd:complexType name="RetrieveResponseType">
 <xsd:annotation>
  <xsd:documentation>Get Object Webservice Response</xsd:documentation>
 </xsd:annotation>
 <xsd:sequence>
  <xsd:element name="status" type="xsd:string"/>
  <xsd:element name="errors" type="xsd:string" maxOccurs="unbounded" minOccurs="0"/>
  <xsd:element name="response" type="xsd:base64Binary"/>
  <xsd:element name="pricingObjectResponse" type="xsd:base64Binary"/>
  <xsd:element name="configObjectResponse" type="xsd:base64Binary"/>
  <xsd:element name="metadataObjectResponse" type="xsd:base64Binary"/>
 </xsd:sequence>
</xsd:complexType>

The RetrieveResponseType object contains the status of operation and the exported object fields in the XML binary format based on the input provided in RetrieveInputXml file. The status field value is either SUCCEEDED or FAILED. The RetrieveResponseType object also capture errors occurred during the operation.

Processing the Response from Export/GET API

When an export or GET operation is successful, you receive a response with the requested object data. You get the response as follows:

response = pricingGatewayPortType.getPricingObjects(request);

You can process the response object by using the following code in your application:

processResponse(RetrieveResponseType response) {
byte[] zippedBinaryStr = response.getResponse();
for (int i = 0; i < response.getErrors().size(); i++) {
  System.out.println("Cause : \n" + response.getErrors().get(i)+ "\n");
}
String status = response.getStatus(); //status values can be either SUCCEEDED or FAILED
}

Optionally, you can convert the response into the XML format by using the following code in your application:

private static void writeToFile(byte[] zippedBinaryStr, String filename) throws Exception {
        try {
            FileOutputStream fpStream = new FileOutputStream(filename);
            BufferedOutputStream bufferedStream = new BufferedOutputStream(fpStream);
            extractZippedContentAndWriteXMLStream(zippedBinaryStr, bufferedStream);
            bufferedStream.flush();
            bufferedStream.close();
            fpStream.flush();
            fpStream.close();
        } catch (IOException e) {
            System.out.println("Exception caught when writing data to file");
            throw e;
        }
    }
   private static void extractZippedContentAndWriteXMLStream(byte[] binaryXMLString,
BufferedOutputStream bufferedFileStream) throws Exception {
        try (ByteArrayInputStream byteStrm = new ByteArrayInputStream(binaryXMLString);
             ZipInputStream in = new ZipInputStream((byteStrm))) {
             ZipEntry entry = in.getNextEntry();
            //Transfer bytes from the ZIP file to the output file
            if (entry != null && in.available() > 0) {
                byte[] buf = new byte[BUFFER_SIZE];
                int len = in.read(buf);
                while (len > 0) {
                     bufferedFileStream.write(buf, 0, len);
                    len = in.read(buf);
                }
                bufferedFileStream.flush();
            }
        } catch (Exception e) {
            throw e;
        }
    }

where filename is the path to the XML file for storing the output.

PDC Synchronizes Event Data Using Event Types

With this enhancement, the BRM event data is synchronized with PDC based on the event type defined in BRM. For information on the list of event types in BRM, refer to "BRM Supports POID Generation in ECE".

Note:

When you set an event type in BRM, note the following:

  • If the event type is set to NONE in BRM and the corresponding event is not mapped in the pin_event_map file, the event does not synchronize with PDC.

  • If the event type is set to NONE in BRM and the corresponding event is mapped in the pin_event_map file, the event synchronizes with PDC. However, you should modify the event type in BRM from NONE to the relevant event type and then run the SyncPDC utility again if you want to use this event type for creating a pricing component.

After you create an event and synchronize it with PDC, it is not recommended to modify the event type of the event. However, if you have set the incorrect event type, you can modify the incorrect event type by updating it in BRM and then synchronizing in PDC. You can modify the event type only for the custom events. For example, if the event type for the parent event /event/session/telco/gprs is set as USAGE_PREPAID and the event type for the child event /event/session/telco/gprs/master is set as NONE, you must change the event type for the child event as USAGE_PREPAID in BRM, synchronize it with PDC, and then publish to ECE. See "Synchronizing and Publishing Event Type to ECE" for synchronizing the modified data to PDC and publishing it to ECE.

Synchronizing and Publishing Event Type to ECE

To synchronize the event type with PDC and publish it to ECE:

  1. Ensure that the event type is changed in BRM. For more information, see the discussion about changing the event type in "BRM Supports POID Generation in ECE".

  2. Run the SyncPDC utility.

  3. Go to PDC_home/apps/bin, where PDC_home is the directory in which the PDC software is installed.

  4. Export the event that you want to modify by using the following command:

    ImpotExportPricing -export filename.xml -metadata
    

    where filename is the name of the XML file.

  5. Verify the exported data in the XML file and set the <TRUE< value to TRUE in the following syntax:

    <
    <1.0<
    <TRUE<
    <
  6. Import the modified XML file into PDC database by running the following command:

    ImpotExportPricing -import -metadata filename -ow
    

    Modified event type is published to ECE.

PDC Now Supports Wildcard in Item Type Selectors

PDC now supports wildcard (*) in item type selectors for services and events. You can use the wildcard to substitute one or more characters in the service or event name to indicate that any value is acceptable; for example, /service/telco/gsm*. The following elements are added in PDC to support wildcard: applicableToAllChildServices and applicableToAllChildEvents. By setting the true or false value to these elements, you can indicate whether the item type selector is applicable to child services or events.

If wildcard is used in the services and events, Oracle Communications Billing and Revenue Management Elastic Charging Engine (ECE), real-time rating engine, and batch rating engine use the applicableToAllChildServices and applicableToAllChildEvents values to identify if the services or events are applicable for all child services or events. If the value is set to true, the item type selector is considered for all the child services and events. If the value is set to false, the child services or events are not considered.

For more information, see the discussion about configuring item type selectors in PDC Creating Product Offerings.

Support for Enabling SSO Using SAML

You can now use SAML to enable single-sign on (SSO) in PDC. SSO allows you to log in to applications using a single user name and password combination.

For more information, see the discussion about configuring SAML for SSO in PDC Installation Guide.

New Features in PDC 12.0 Patch Set 1

PDC 12.0 Patch Set 1 includes the following enhancements:

Support for Rolling Back the PDC Patch Set

PDC now allows you to roll back a PDC patch set. For example, if you experience issues after installing PDC 12.0 Patch Set 1, you can roll back PDC to 12.0.

For more information, see the discussion about rolling back a patch set in PDC Installation Guide.

Support for Secure Communication With the PDC Database

PDC now supports Secure Sockets Layer (SSL)-enabled database to ensure secure communication between the PDC application and database.

For more information, see the discussions about configuring SSL for the Oracle database and configuring PDC to use SSL-enabled database in PDC Installation Guide.