30 Validating Account Data

Learn how to analyze data from the Oracle Communications Billing and Revenue Management (BRM) database.

Topics in this document:

About Validating Account Information

The Account Dump utility (ADU) is a diagnostics tool that enables you to validate account information before or after certain business processes, for example, after completion of a migration or upgrade or before billing or payment allocation.

Note:

ADU can be performance intensive, depending on the number of accounts for which data is being retrieved and the volume of data being processed. Avoid running performance-intensive operations, such as billing, while running ADU.

The account dump and data validation process is a follows:

  1. Create an input file with the account search specification. ADU uses the specification to select accounts in the BRM database. See "About ADU Account Search".

  2. ADU searches the accounts in the BRM database, retrieves the related object information, and dumps the information to an output file. See "About ADU Account Dump".

  3. ADU validates the contents of the output file. See "About Account Data Validation".

About ADU Account Search

You can request ADU to dump information for a single account or for multiple accounts. To specify the accounts for which you want to dump information, you provide as input a text file that contains the account search specification. The search specification must be in the form of an flist.

For example, the following search flist requests the dump of the account 0.0.0.1 /account 789888 0:

0 PIN_FLD_POID          POID [0] 0.0.0.1 /account 1 0
0 PIN_FLD_RESULTS       ARRAY [0]
1    PIN_FLD_ACCOUNT_OBJ  POID [0] "/account" 789888 0

The following search flist requests the dump of all the accounts with billing day of month (DOM) as 1:

0 PIN_FLD_POID      POID [0] 0.0.0.1 /search/pin -1 0
0 PIN_FLD_FLAGS     INT [0] 256
0 PIN_FLD_TEMPLATE  STR [0] "select X from /billinfo where F1 = V1 "
0 PIN_FLD_RESULTS   ARRAY [0]
1    PIN_FLD_ACCOUNT_OBJ POID [0] NULL
0 PIN_FLD_ARGS      ARRAY [1]
1    PIN_FLD_ACTG_CYCLE_DOM INT [0] 1

Note:

  • ADU considers each account as a standalone. If a group owner account is specified in the search flist, ADU dumps only the contents of the owner account. ADU will not dump the contents of the group member accounts. Similarly, if a group member account is specified in the search flist, only the contents of the member account is dumped. ADU will not dump the contents of the owner account or other group member accounts.

  • The PIN_FLD_RESULTS array in the search flist must contain only PIN_FLD_ACCOUNT_OBJ.

  • ADU can be performance intensive, depending on the number of accounts for which data is being retrieved and the volume of data being processed. Run ADU in -report mode first to determine the volume of data to be processed so that you can optimize your account search for best performance. See "pin_adu_validate" in BRM Developer's Guide.

About ADU Account Dump

ADU provides the flexibility to choose the object information that you want dumped for an account. For example, you can request ADU to dump the /account, /service, and /invoice object information only.

You can also select the fields of an object that you want dumped. ADU then dumps only those fields into the output file. For example, you can request to dump only the first and last names of the account.

Some objects, such as /audit and /event, contain large volumes of data. Searching and retrieving information from these objects can be system intensive. Therefore, ADU provides the option to select data from these objects by specifying a date range. For example, you can configure ADU to dump the /event objects of an account updated between February 1st and March 1st. For more information on using the date range option, see "Limiting Dump Information by Specifying a Date Range".

A separate output file is generated for each account. ADU uses the format account_POID_ID0.File_Extension to generate the output file name where POID_ID is the BRM account object identifier and File_Extension is the extension defined in the ADU configuration file. The file extension can be configured in the ADU configuration file (pin.conf). See "Configuring ADU".

Note:

The output file is overridden if the dump is requested for the same accounts more than once and is stored in the same output folder.

By default, ADU dumps the object contents in the output file in XML format. If you prefer a different output format (for example, CSV), you can customize the output format by modifying the PCM_OP_ADU_POL_DUMP policy opcode.

Limiting Dump Information by Specifying a Date Range

You can limit the dump for the following objects in the BRM database by specifying a date range:

  • /audit

  • /bill

  • /item

  • /event

  • /invoice

  • /balance_group

These objects normally contain large volumes of data. To limit the amount of data retrieved from these objects, use the date range option to select only data updated during a specified period.

For example, if you choose to dump the contents for /account, /service, /bill, and /item and specify February 1, 2007, as the dump_start_time and March 1, 2007, as the dump_end_time, ADU uses that date range for searching and retrieving data from the /bill and /item objects only. The date range is not used for retrieving data from the /account and /service objects.

The date range is mapped to the object date fields as follows:

  • For the /audit object, ADU selects only those objects whose created_t or effective_t is between dump_start_time and dump_end_time.

  • For the /bill object, ADU selects only those objects whose end_t is between dump_start_time and dump_end_time.

  • For the /item object, ADU selects only those objects whose effective_t is between dump_start_time and dump_end_time.

  • For the /event object, ADU selects only those objects whose end_t is between dump_start_time and dump_end_time.

  • For the /invoice object, ADU selects only those objects whose created_t is between dump_start_time and dump_end_time.

  • For the /balance_group object, ADU selects only those objects whose effective_t is between dump_start_time and dump_end_time.

To configure the date range, see "Configuring ADU".

About Account Data Validation

ADU performs the following types of validations on object contents:

  • Structural validation: Validates the structure of the account. For example, it validates that the POID of the parent /bill object exists in the nonpaying child /bill object.

  • Dynamic validation: Validates the business logic. For example, it validates that the /item due amount is zero after a payment.

Table 30-1 contains the predefined structural and dynamic validations. Each validation is associated with a validation code.

Table 30-1 Predefined Structural and Dynamic Validations

Validation Type Validation Code Description

Structural

struct_valid_01

Validates that /event objects point to the correct /item objects based on the mappings configured in /config/item_tags and /config/item_types.

Structural

struct_valid_02

Validates that the PIN_FLD_PARENT field of the nonpaying child bill unit's last bill points to the parent /bill object.

Validates that the bill number of the nonpaying child bill unit and the bill number of the parent bill unit are the same.

Structural

struct_valid_03

Validates that the billing DOM of the nonpaying child bill unit and the billing DOM of the paying parent bill unit are the same.

Structural

struct_valid_04

Validates that the AR_BILLINFO_OBJ of the nonpaying child bill unit points to the /billinfo object of the paying parent bill unit.

Dynamic

dynamic_valid_01

Validates that the /item due amount is zero after payment.

You enable these validations by setting the corresponding validation code in the ADU pin.conf file. ADU logs the results of the validations in the Connection Manager (CM) log file.

You can customize additional validations by modifying the PCM_OP_ADU_POL_VALIDATE policy opcode. See "Customizing the Account Dump Utility (ADU)" in BRM Opcode Guide.

Configuring ADU

To configure ADU, set the entries in the ADU configuration file (BRM_home/sys/diagnostics/pin_adu_validate/pin.conf) shown in Table 30-2.

Table 30-2 Entries in the ADU Configuration File

Entry Description

- pin_adu input_file file_name

Set file_name to the name of the input file that contains the account search specification. For example:

- pin_adu input_file BRM_home/sys/diagnostics/pin_adu_validate/in/input.txt

- pin_adu output_file file_name

Set file_name to the name of the output folder where ADU should write the output file. For example:

- pin_adu output_file BRM_home/sys/diagnostics/pin_adu_validate/out

- pin_adu out_file_ext.ext

Set ext to the output file extension. For example:

- pin_adu out_file_ext.xml

- pin_adu obj_list object1; [object2]; ...

Specify the objects to dump for the selected accounts. For example:

To dump /billinfo and /payinfo objects:

- pin_adu obj_list /billinfo; /payinfo

Note: Use a semicolon to separate items in the object list.

- pin_adu obj_flds object1:field1, field2, ...

[object2:field1, field2, ...] ...

Specify the fields in the objects to dump. For example:

To dump the first and last name of an account:

- pin_adu obj_flds /account: PIN_FLD_NAMEINFO.PIN_FLD_FIRST_NAME, PIN_FLD_NAMEINFO.PIN_FLD_LAST_NAME

To dump account invoice information:

- pin_adu obj_flds /payinfo/invoice: PIN_FLD_INV_INFO

Note: Use a colon to separate the items in the object list.

- pin_adu dump_start_time time

- pin_adu dump_end_time time

Set time in these entries to the times to use for selecting most commonly updated objects.

- pin_adu dump_start_time 1175385600

- pin_adu dump_end_time 1177977600

Note: time must be in UTC format.

- pin_adu struct_valid_01 n

- pin_adu struct_valid_02 n

- pin_adu struct_valid_03 n

- pin_adu struct_valid_04 n

- pin_adu dynamic_valid_01 n

Use these entries to enable (1) or disable (0) the predefined validations. For example:

- pin_adu struct_valid_01 1

- pin_adu dynamic_valid_01 1

- pin_mta logfile file_name

Set file_name to the ADU log file. All the debug and error messages generated by ADU are logged to this file.

- pin_mta logfile BRM_home/sys/diagnostics/pin_adu_validate/adu.pinlog

- pin_mta loglevel n

Set n to the level of information to log in the ADU log file.

Log level values are as follows:

0: no logging

1: log error messages only

2: log error messages and warnings only

3: log error messages, warnings, and debug messages

- pin_mta loglevel 2