31 Improving Billing Performance

Learn how to improve billing performance in Oracle Communications Billing and Revenue Management (BRM) by changing business logic operations.

Topics in this document:

Improving Performance in Retrieving Purchased Offerings for a Bill Unit

You can improve billing performance while retrieving purchased charge offers and discount offers for a bill unit (/billinfo object) from the database by specifying the batch size of the number of services to search at a time.

To enable this feature, run the pin_bus_params utility to change the MaxServicesToSearch business parameter. For information about this utility, see "pin_bus_params" in BRM Developer's Guide.

To specify the batch size of the number of services to search:

  1. Go to BRM_home/sys/data/config.

  2. Create an XML file from the /config/business_params object:

    pin_bus_params -r Subscription bus_params_subscription.xml 
  3. In the file, specify the batch size of the number of services:

    <MaxServicesToSearch>5</MaxServicesToSearch>
  4. Save the file as bus_params_subscription.xml.

  5. Load the XML file into the BRM database:

    pin_bus_params bus_params_subscription.xml
  6. Stop and restart the CM.

Improving Performance by Skipping Previous Total Unpaid Bill for Open Item Accounting Type

You can configure BRM to skip the previous total unpaid bill for the open item accounting type when calculating the current bill. Using this business parameter, you can reduce the time taken for calculating the current bill for the open item accounting type.

To enable this feature, run the pin_bus_params utility to change the PerfAdvanceTuningSettings business parameter. For information about this utility, see "pin_bus_params" in BRM Developer's Guide.

To configure BRM to skip the previous total unpaid bill for the open item accounting type when calculating the current bill:

  1. Go to BRM_home/sys/data/config.

  2. Create an XML file from the /config/business_params object:

    pin_bus_params -r BusParamsBilling bus_params_billing.xml
  3. In the file, change 0 to 8:

    <PerfAdvancedTuningSettings>8</PerfAdvancedTuningSettings>
  4. Save the file as bus_params_billing.xml.

  5. Load the XML file into the BRM database:

    pin_bus_params bus_params_billing.xml
  6. Stop and restart the CM.

Improving Trial Billing Performance by Enabling General Ledger Collection

You can configure BRM to enable the general ledger (G/L) collection for trial billing by setting the PerfAdvancedTuningSettings business parameter to 64. Using this value, you can collect the G/L data required for creating trial invoices.

To enable the G/L collection for trial billing:

  1. Use the following command to create an editable XML file from the billing instance of the /config/business_params object:

    pin_bus_params -r BusParamsBilling bus_params_billing.xml

    This command creates the XML file named bus_params_billing.xml.out in your working directory. To place this file in a different directory, specify the full path name for the file. For more information on this utility, see "pin_bus_params" in BRM Developer's Guide.

  2. Open the bus_params_billing.xml.out file.

  3. Search for PerfAdvancedTuningSettings.

  4. Add 64 (0x40, set Bit 6) to the existing value of PerfAdvancedTuningSettings.

    For example, if the existing value is 0, change it to 64 (0+64):

    <PerfAdvancedTuningSettings>64</PerfAdvancedTuningSettings>

    For more information on the parameter values, see the PerfAdvancedTuningSettings parameter description in Table 65-2.

    Caution:

    BRM uses the XML in this file to overwrite the existing billing instance of the /config/business_params object. If you delete or modify any other parameters in the file, these changes affect the associated aspects of the BRM subscription configurations.

  5. Save the file as bus_params_billing.xml.

  6. Go to the BRM_home/sys/data/config directory which includes support files used by the pin_bus_params utility.

  7. Use the following command to load this change into the appropriate /config/business_params object.

    pin_bus_param pathToWorkDirectory/bus_params_billing.xml

    where pathToWorkingDirectory is the directory in which bus_params_billing.xml resides.

    Note:

    To run it from a different directory, see "pin_bus_params" in BRM Developer's Guide.

  8. Read the object with the testnap utility or Object Browser to verify that all fields are correct.

  9. Stop and restart the CM.

Excluding Searches on Closed Offerings

By default, BRM retrieves active, inactive, and closed offerings during the billing process. However, most of the time, BRM does not use the data from the closed offerings.

You can configure BRM to retrieve only the active and inactive offerings by running the pin_bus_params utility to change the CancelledOfferingsSearch business parameter. For information about this utility, see "pin_bus_params" in BRM Developer's Guide.

To disable searches on closed offerings:

  1. Go to BRM_home/sys/data/config.

  2. Create an XML file from the /config/business_params object:

    pin_bus_params -r BusParamsSubsription bus_params_subscription.xml 
  3. In the file, change disabled to enabled:

    <CancelledOfferingsSearch>enabled</CancelledOfferingsSearch>
  4. Save the file as bus_params_subscription.xml.

  5. Load the XML file into the BRM database:

    pin_bus_params bus_params_subscription.xml
  6. Stop and restart the CM.

Improving Performance by Skipping Previous Total for Open Item Accounting Type When Calculating the Current Bill

Note:

To configure this option, you configure business profiles. For general information about business profiles, see "Creating and Managing Business Profiles" in BRM Managing Customers

By default, the previous unpaid bill is calculated even for open item accounting types when calculating the current bill for a bill unit (/billinfo object), but the final bill does not include the previous unpaid amount. This is a time-consuming process as it involves checking all previous bill items.

To improve performance, you can configure BRM to skip calculating the previous total unpaid bill for open item accounting types.

Note:

To make this performance improvement for all bill units system-wide, see "Improving Performance by Skipping Previous Total Unpaid Bill for Open Item Accounting Type".

To skip the previous total for open item accounting type when calculating the current bill:

  1. Open the pin_business_profile.xml file in an XML editor or a text editor.

    By default, the file is located in BRM_home/sys/data/config.

  2. Set the following business profile key to Yes:

    <NameValue key="Skip_Prev_Total" value="Yes"/>

    where:

    • Yes specifies to not calculate the previous unpaid bill amount when calculating the current bill.

    • No specifies to calculate the previous unpaid bill amount when calculating the current bill. This is the default behavior when the entry is not in the file.

  3. Save and close the file.

  4. Run the following command, which loads the updated contents of the pin_business_profile.xml file into the BRM database:

    load_pin_business_profile -v pin_business_profile.xml
  5. Read the object with the testnap utility or Object Browser and verify your changes.

    For general instructions on using testnap, see "testnap" in BRM Developer's Guide.

  6. Stop and restart the CM.

Improving Performance by Using Multiple Item Configurations

Note:

To configure this option, you configure business profiles. For general information about business profiles, see "Creating and Managing Business Profiles" in BRM Managing Customers

By default, BRM uses the same item-tag-to-item-type mapping (item configuration) for all bill units in the system. The item configuration is used to assign bill items to events during the rating process; it also specifies which bill items are pre-created at the beginning of each billing cycle. For more information about item configuration, see "Creating Custom Bill Items" in BRM Configuring and Running Billing.

Using the same item configuration for all bill units can degrade performance by unnecessarily pre-creating bill items for certain types of bill units. For example, the default item configuration might pre-create cycle forward and cycle arrears items, which are normally used to track charges for postpaid bill units but are typically not required for prepaid bill units. Pre-creating such items for prepaid bill units needlessly consumes database storage space and takes more time to process during billing.

To generate fewer bill items, you can create multiple item configurations in your system and then assign the appropriate item configuration to each bill unit.

To assign an item configuration to a bill unit:

  1. Create the appropriate item configuration for the bill unit.

    To create multiple item configurations, see "Setting Up BRM to Assign Custom Bill Items to Events" in BRM Configuring and Running Billing.

  2. Open the pin_business_profile.xml file in an XML editor or a text editor.

    By default, the file is located in BRM_home/sys/data/config.

  3. In the business profile associated with the bill unit, add the following key-value pair if it does not already exist, and set the value to the name of the appropriate item configuration:

    <NameValue key="Item_Configuration" value="Item_Configuration_Name"/>

    where Item_Configuration_Name is the name of the item configuration to which you want to assign the bill unit. The name of the default item configuration is Default.

    Item configuration names are specified in the PIN_FLD_NAME field of /config/item_tags and /config/item_types objects. A pair of those objects with matching PIN_FLD_NAME values exists for each item configuration defined in your system. For more information, see "Setting Up BRM to Assign Custom Bill Items to Events" in BRM Configuring and Running Billing.

    Note:

    Modifying the business profile affects all bill units associated with the business profile.

  4. Save and close the file.

  5. Run the following command, which loads the updated contents of the pin_business_profile.xml file into the BRM database:

    load_pin_business_profile -v pin_business_profile.xml
  6. Read the object with the testnap utility or Object Browser and verify your changes.

    For general instructions on using testnap, see "testnap" in BRM Developer's Guide.

  7. Stop and restart the CM.

Improving Item Search Performance

If an account's paying bill unit has nonpaying child bill units, BRM performs a step search to find items. By default, BRM returns 1000 items with each step of the search.

To customize the number of items returned:

  1. Open the Connection Manager (CM) configuration file (BRM_home/sys/cm/pin.conf).

  2. Change the value of the item_search_batch entry.

    For example, to set the number of returned items to 2000:

    - fm_bill item_search_batch 2000

    To not use step-search, set the value to 0.

    Note:

    If your paying bill unit has a large hierarchy, bypassing step-search can cause the Data Manager (DM) to run out of memory.

  3. Save and close the file.

Use larger batch search memory sizes to improve run-time performance. You do not need to restart the CM to enable this entry.

Improving Performance by Skipping Billing-Time Tax Calculation

Note:

To configure this option, you configure business profiles. For general information about business profiles, see "Creating and Managing Business Profiles" in BRM Managing Customers.

In some cases, such as for prepaid accounts, taxes do not need to be calculated at billing time. If your system is configured to calculate billing-time taxes, you can improve billing performance by skipping billing-time tax calculation for individual bill units when it is not needed.

Note:

  • To skip billing-time tax calculation for a bill unit, you configure the bill unit's business profile. Modifying the business profile affects all bill units associated with the business profile.

  • If a bill unit hierarchy is configured to have billing-time taxes calculated for the entire hierarchy when the paying parent bill unit is billed, do not configure the paying parent bill unit to skip billing-time tax calculation. BRM ignores the skip billing-time tax calculation setting for nonpaying bill units in such hierarchies.

To skip billing-time tax calculation for individual bill units:

  1. Open the pin_business_profile.xml file in an XML editor or a text editor.

    By default, the file is located in BRM_home/sys/data/config.

  2. In a business profile associated with bill units whose taxes you do not want to calculate at billing time, add the following key-value pair if it does not already exist, and set the value to Yes:

    <NameValue key="Skip_Deferred_Taxation" value="Yes"/>

    where:

    • Yes specifies to not calculate taxes for individual bill units at billing time.

    • No specifies to calculate taxes for individual bill units at billing time. This is the default behavior when the entry is not in the file.

  3. Save and close the file.

  4. Run the following command, which loads the updated contents of the pin_business_profile.xml file into the BRM database:

    load_pin_business_profile -v pin_business_profile.xml
  5. Read the object with the testnap utility or Object Browser and verify your changes.

    For general instructions on using testnap, see "testnap" in BRM Developer's Guide.

  6. Stop and restart the CM.