5 Loading General Ledger Configuration Data

This chapter describes how to create, customize, and load the following Oracle Communications Billing and Revenue Management (BRM) general ledger (G/L) configuration data:

Before reading this chapter, you should be familiar the BRM G/L features. See "About Collecting General Ledger Data".

Creating a Chart of Accounts

For more information about a chart of accounts (COA), see "About the Chart of Accounts".

You create a COA to:

  • Verify that your G/L accounts in BRM match the accounts in your external G/L tracking system.

  • Verify that the G/L accounts you entered in the G/L IDs are valid.

  • Support different G/L segments.

To create a COA:

  1. Go to the BRM_Home/sys/data/pricing/example directory, where BRM_Home is the directory in which you installed BRM components.

  2. Open and edit the pin_glchartaccts file. The pin_glchartaccts file includes instructions and examples.

    Tip:

    You need to enter a COA ID when you create G/L IDs. If you create multiple COAs, note the COA IDs.
  3. Save the pin_glchartaccts file.

  4. Run the following command, which loads this change into the /config/glchartaccts storable object:

    load_pin_glchartaccts PathToWorkingDirectory/pin_glchartaccts_file
      
    

    where

    • PathToWorkingDirectory is the directory in which the pin_glchartaccts_file file resides.

    • pin_glchartaccts_file is the file that contains the COAs.

    Important:

    The load_pin_glchartaccts utility requires a configuration (pin.conf) file in the directory from which you run the utility. For information on creating a configuration file, see the discussion of using configuration files to connect and configure components in BRM System Administrator's Guide.

    Caution:

    The load_pin_glchartaccts utility overwrites existing data. If you are updating the COA, you cannot load new data only. You must load new data each time you run the load_pin_glchartaccts utility.

    See "load_pin_glchartaccts" for more information.

  5. To verify that the COA file was loaded, display the /config/gl_chartaccts object by using the Object Browser, or use the robj command with the testnap utility.

    See "Reading an Object and Writing Its Contents to a File" in BRM Developer's Guide.

Creating General Ledger IDs

BRM loads a default sample pin_glid file during installation. To create G/L IDs, customize this file before reloading it into the BRM database.

Important:

In a production system, do not remove or modify any existing G/L IDs. Doing so could generate inaccurate general ledger reports.

To create G/L IDs:

Important:

If you use a COA in BRM, load the COA before you load G/L IDs. See "Creating a Chart of Accounts".
  1. Go to the BRM_Home/sys/data/pricing/example directory.

  2. Open and edit the pin_glid file. The pin_glid file includes instructions and examples.

    Important:

    By default, G/L data for balance impacts associated with G/L IDs 1 through 99 is not saved in /journal objects and is not included in G/L reports. See "How G/L IDs Affect Storage and Reporting of G/L Data".
  3. (Optional) Enter the COA to use for this pin_glid file. The default is to not use a COA.

  4. (Optional) Enter a G/L segment to use for this pin_glid file using the following syntax to define a segment.

    gl_segment  root segment.child_segment  [no_rollup] 
      
    

    where child_segment is a nested segment and [no_rollup] includes the segment in your reports.

    For more information, see "Creating Nested Segments".

    Important:

    Segment names are case sensitive and cannot have spaces.
  5. Save the pin_glid file.

  6. Run the following command, which loads G/L IDs into the BRM database.

    load_pin_glid PathToWorkingDirectory/pin_glid_file
      
    

    where

    • PathToWorkingDirectory is the directory in which the pin_glid_file file resides.

    • pin_glid_file is the file that contains the G/L IDs.

    Important:

    The load_pin_glid utility requires a configuration (pin.conf) file in the directory from which you run the utility. For information on creating a configuration file, see the discussion of using configuration files to connect and configure components in BRM System Administrator's Guide.

    Caution:

    The load_pin_glid utility overwrites existing G/L IDs. If you are updating G/L IDs, you cannot load only new G/L IDs. You must load complete sets of G/L IDs each time you run the load_pin_glid utility.

    See "load_pin_glid" for more information.

  7. To verify that the G/L IDs file was loaded, display the /config/gl_chartaccts object by using the Object Browser, or use the robj command with the testnap utility.

    See "Reading an Object and Writing Its Contents to a File" in BRM Developer's Guide.

Changing the Default G/L Segment

You can assign a G/L segment value to an account you want to be reported in a G/L segment. The default value is the root segment, symbolized by "." (dot).

Accounts that are assigned to a brand are automatically assigned to a G/L segment.

To change the default G/L segment:

  1. Go to the BRM_Home/sys/cm/ directory.

  2. Open the Connection Manager (CM) configuration pin.conf file in a text editor.

  3. Search for the following line:

    - fm_cust_pol gl_segment .
      
    
  4. Change it to:

    - fm_cust_pol gl_segment segment_name
      
    

    where segment_name is the name of the G/L segment you want to use as the default.

  5. Save the pin.conf file.

You do not need to restart the CM to enable this entry.

Customization of the PCM_OP_CUST_POL_PREP_BILLINFO policy opcode is required if you want to use a G/L segment other than the default or the G/L segments used by brands.

Assigning G/L IDs to Nonrated Events

Nonrated events, such as payments and refunds, are included in G/L reports.

To assign G/L IDs to nonrated events:

  1. Go to the BRM_Home/sys/msgs/reasoncodes directory.

  2. Open the reasons.en_US sample file in a text editor.

  3. Add your G/L IDs, making sure that they match the G/L IDs in the pin_glid file.

    Tip:

    You can change the existing G/L IDs, such as 109 (payment), to custom G/L IDs.
  4. Save the reasons.en_US file.

  5. Run the following command, which loads this change into the /config/map_glid object:

    load_localized_strings PathToWorkingDirectory/reasons.locale
      
    

    where

    • PathToWorkingDirectory is the directory in which the reasons.locale file resides.

    • locale is the locale file extension. For a list of locale file extensions, see "Locale Names" in BRM Developer's Guide.

    Caution:

    The load_localized_strings utility overwrites the /config/map_glid object. If you are updating this object, you cannot load new G/L ID maps only. You must load complete sets of data each time you run the load_localized_strings utility.

    For more information on loading the reasons.locale file or creating new strings for this file, see "Loading Localized or Customized Strings" in BRM Developer's Guide.

Assigning G/L IDs to Prerated Events

Use the PCM_OP_ACT_POL_SPEC_GLID policy opcode to assign G/L IDs to prerated events or partially rated events. By default, this policy opcode retrieves an event's G/L ID from the /config/map_glid storable object. You can customize it to perform searches on other objects and look at other fields.

For example, you can categorize adjustments by customizing the policy opcode to assign G/L IDs based on the adjustment type.

All customization is done using pin_glid and COA files.

Note:

You can also assign G/L IDs to prerated or partially rated events by using the reasons.locale file. See "Assigning G/L IDs to Nonrated Events".

Customizing G/L Data

During event processing, BRM retrieves balance impacts from each event and adds it to the revenue summary in the appropriate /journal object.

To improve system performance, /journal objects can be disabled for non-currency resources. For more information, see "Disabling /journal Objects for Non-Currency Resources".

You can customize the data before it is written into /journal objects by using the PCM_OP_GL_POL_PRE_UPDATE_JOURNAL policy opcode.

Note:

You can customize G/L data for real-time rated events only.

To customize G/L data:

Enabling Custom Updates to G/L Data

By default, BRM does not call the PCM_OP_GL_POL_PRE_UPDATE_JOURNAL policy opcode before writing data into /journal objects. You configure BRM to call the policy opcode by modifying the billing instance of the /config/business_params object with the pin_bus_params utility.

To enable custom updates to G/L data:

  1. Go to the BRM_Home/sys/data/config directory.

  2. Run the following command, which creates 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 path as part of the file name.

  3. Open the bus_params_billing.xml.out file.

  4. Search for the following line:

    <CustomJournalUpdate>disabled</CustomJournalUpdate>
      
    
  5. Change disabled to enabled.

  6. Save the file as bus_params_billing.xml.

  7. Go to the BRM_Home/sys/data/config directory, which includes support files used by the pin_bus_params utility.

  8. Run the following command, which loads this change into the /config/business_params object:

    pin_bus_params PathToWorkingDirectory/bus_params_billing.xml
      
    

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

    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 billing configuration.

    Note:

    To run this command from a different directory, see "pin_bus_params" in BRM Developer's Guide.
  9. Read the object with the testnap utility or Object Browser to verify that all fields are correct.

    See "Using testnap" in BRM Developer's Guide for general instructions on using the testnap utility. See "Reading Objects by Using Object Browser" in BRM Developer's Guide for information on how to use Object Browser.

  10. Stop and restart the CM. For more information, see "Starting and Stopping the BRM System" in BRM System Administrator's Guide.

  11. (Multischema systems only) Run the pin_multidb script with the -R CONFIG parameter. For more information, see "pin_multidb" in BRM System Administrator's Guide.

Customizing the PCM_OP_GL_POL_PRE_UPDATE_JOURNAL Policy Opcode

The PCM_OP_GL_POL_PRE_UPDATE_JOURNAL policy opcode receives in the input flist the entries that will be recorded in the /journal object. By default, the policy opcode does not perform any processing and returns only the entries passed in the input flist.

You can customize the policy opcode to add, modify, or remove one or more of the entries that will be recorded in the /journal object. For information on how to customize policy opcodes, see "Adding and Modifying Policy Facilities Modules" in BRM Developer's Guide.

The policy opcode returns the following in the output flist:

  • PIN_FLD_POID field set to the /event object POID.

  • (Optional) PIN_FLD_JOURNAL_INFO array containing the entries that will be recorded in the /journal object.

Note:

If the PIN_FLD_JOURNAL_INFO array is passed in the output flist, its PIN_FLD_POID field must be set either to -1 (when creating a new /journal object) or to a valid /journal POID (when updating an existing /journal object).

Disabling /journal Objects for Non-Currency Resources

By default, creation of /journal objects for non-currency resources is enabled in BRM.

Note:

Creating fewer /journal objects improves system performance.

To disable /journal objects for non-currency resources:

  1. Go to the BRM_Home/sys/data/config directory.

  2. Run the following command, which creates 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 path as part of the file name.

  3. Open the bus_params_billing.xml.out file.

  4. Search the XML file for following line:

    <NonCurrencyResourceJournaling>all</NonCurrencyResourceJournaling>
      
    
  5. Do one of the following:

    • To disable creation of all /journal objects for non-currency resources, change all to none.

    • To create /journal objects for specific non-currency resources, change all to +:resource_id1[ ,-...]

      where resource_id# is the non-currency resource ID number.

      Add the resource_id# values after the +: entry, separated by commas. Spaces are not allowed. For example,

      <NonCurrencyResourceJournaling>+:23466,199990,200000</NonCurrencyResourceJournaling>
        
      
    • To create /journal objects for all except specific non-currency resources, change all to -:resource_id1[ ,-...]

      where resource_id# is the non-currency resource ID number.

      Add the resource_id# values after the -: entry, separated by commas. Spaces are not allowed. For example,

      <NonCurrencyResourceJournaling>-:458745,190000,2000444,77778</NonCurrencyResourceJournaling>
      

      Caution:

      Caution is required when entering your non-currency resource ID values. Non-currency resource ID values cannot be validated by the pin_bus_params utility for the NonCurrencyResourceJournaling business parameter. If a value is not valid, when the CM is restarted, the default value all will be used.

      Note:

      Values other than non-currency resource IDs are ignored.
  6. Save this file as bus_params_billing.xml.

  7. Go to the BRM_Home/sys/data/config directory, which includes support files used by the pin_bus_params utility.

  8. Run the following command, which loads this change into the /config/business_params object:

    pin_bus_params PathToWorkingDirectory/bus_params_billing.xml
      
    

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

    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 billing configuration.

    Note:

    To run this command from a different directory, see "pin_bus_params" in BRM Developer's Guide.
  9. Stop and restart the CM. For more information, see "Starting and Stopping the BRM System" in BRM System Administrator's Guide.

  10. (Multischema systems only) Run the pin_multidb script with the -R CONFIG parameter. For more information, see "pin_multidb" in BRM System Administrator's Guide.

Generating General Ledger Reports Based on the Actual Billing Date

By default, in the general ledger reports, irrespective of the actual billing date, the revenue is considered billed on the end date of the corresponding bill period. For example, if the bill period is from 1/1 - 2/1 and the actual billing is run on 2/3, by default, when the general ledger report is generated, the revenue is considered billed on 2/1. When you enable the use of the actual billing date and then generate the general ledger report, the revenue is considered to be billed on the actual billing date (2/3).

The option to use the actual billing date is disabled by using the item_t_synonym synonym on the ITEM_T table. To use the actual billing date when generating the general ledger reports, create a view on the ITEM_T table and recreate the item_t_synonym synonym on the view on the ITEM_T table to enable the use of the actual billing date.

Caution:

  • To avoid discrepancies after enabling the use of the actual billing date, make sure, when running the general ledger reports for the first time, that the general ledger reporting period includes both the end date of the bill period and the actual billing date.

  • For accounts with skipped billing cycles, the revenue reported as billed in a previous general ledger report period may again be reported as billed in a new general ledger report period. To avoid this discrepancy, before you enable the use of the actual billing date, make sure of the following:

    There are no subordinate accounts with skipped billing cycles.

    The general ledger reports for the subordinate accounts with skipped billing cycles have already been generated for a period past the billing date of accounts receivable (A/R) parent account.

  • After enabling the use of the actual billing date, do not disable it.

To generate general ledger reports based on the actual billing date:

Note:

In a multischema system, run these steps for each schema.
  1. Run the following command, which opens SQL*Plus:

    sqlplus login/password@database_alias
    

    where:

    • login is the login name to use for connecting to the BRM database.

    • password is the encrypted password for login.

    • database_alias is the BRM database alias.

  2. Run the following command, which creates the i_item_glseg_eff__id index on the gl_segment and opened_t columns of the ITEM_T table:

    SQL> CREATE INDEX i_item_glseg_eff__id ON item_t (gl_segment, opened_t) tablespace tablespace_name storage_clause;
    

    where:

    • tablespace_name is the tablespace name where you want to create the index.

    • storage_clause specifies the storage parameters to use when you create the index; for example, storage (initial 30k next 30k maxextents unlimited pctincrease 0 freelists 2).

  3. Create the item_t_gl_view view on ITEM_T table with all the columns in the ITEM_T table with the exception of the effective_t column of the view pointing to the opened_t column of the ITEM_T table.

    For example:

    SQL> CREATE OR REPLACE VIEW item_t_gl_view
    AS SELECT POID_ID0, ACCOUNT_OBJ_DB, ACCOUNT_OBJ_ID0, ACCOUNT_OBJ_REV,
    ACCOUNT_OBJ_TYPE,  ADJUSTED, ARCHIVE_STATUS,AR_BILLINFO_OBJ_DB,
    AR_BILLINFO_OBJ_ID0,AR_BILLINFO_OBJ_REV,AR_BILLINFO_OBJ_TYPE,
    AR_BILL_OBJ_DB,AR_BILL_OBJ_ID0,AR_BILL_OBJ_REV,AR_BILL_OBJ_TYPE,
    BAL_GRP_OBJ_DB,BAL_GRP_OBJ_ID0,BAL_GRP_OBJ_REV,BAL_GRP_OBJ_TYPE,
    BILLINFO_OBJ_DB,BILLINFO_OBJ_ID0,BILLINFO_OBJ_REV,BILLINFO_OBJ_TYPE,
    BILL_OBJ_DB,BILL_OBJ_ID0,BILL_OBJ_REV,BILL_OBJ_TYPE,CLOSED_T,CREATED_T,
    CURRENCY, CURRENCY_OPERATOR,CURRENCY_RATE,CURRENCY_SECONDARY,
    DELTA_DUE,DISPUTED,DUE,DUE_T, OPENED_T "EFFECTIVE_T",EVENT_POID_LIST,   
    FLAGS, GL_SEGMENT, ITEM_NO,ITEM_TOTAL, MOD_T, NAME, OPENED_T, POID_DB,
    POID_REV, POID_TYPE, READ_ACCESS, RECVD,SERVICE_OBJ_DB, SERVICE_OBJ_ID0,
    SERVICE_OBJ_REV, SERVICE_OBJ_TYPE, STATUS, TRANSFERED, WRITEOFF, 
    WRITE_ACCESS FROM item_t;
    
  4. Run the following command, which creates the item_t_synonym synonym on the item_t_gl_view view on the ITEM_T table:

    SQL> CREATE OR REPLACE SYNONYM item_t_synonym FOR item_t_gl_view;
    
  5. Run the following command, which recompiles only the invalid objects:

    SQL> exec dbms_utility.compile_schema(USER,false);
    
  6. Reset the value of OPENED_T of the previously billed items for general ledger reports. For more information, see the discussion on resetting the value of OPENED_T of the previously billed items for general ledger reports in BRM 7.5 Patch Set Installation Guide.

  7. Run the following command, which exits SQL*Plus:

    SQL> exit
    

Disabling General Ledger Collection in BRM

By default, General Ledger collection is enabled in BRM.

Important:

When General Ledger reporting is disabled, /journal objects are not created.

To disable General Ledger collection:

  1. Go to the BRM_Home/sys/data/config directory.

  2. Run the following command, which creates 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 path as part of the file name.

  3. Open the bus_params_billing.xml.out file.

  4. Search for the following line:

    <GeneralLedgerReporting>enabled</GeneralLedgerReporting>
      
    
  5. Change enabled to disabled.

  6. Save this file as bus_params_billing.xml.

  7. Go to the BRM_Home/sys/data/config directory, which includes support files used by the pin_bus_params utility.

  8. Run the following command, which loads this change into the /config/business_params object:

    pin_bus_params PathToWorkingDirectory/bus_params_billing.xml
      
    

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

    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 billing configuration.

    Note:

    To run this command from a different directory, see "pin_bus_params" in BRM Developer's Guide.
  9. Read the object with the testnap utility or Object Browser to verify that all fields are correct.

    See "Using testnap" in BRM Developer's Guide for general instructions on using the testnap utility. See "Reading Objects by Using Object Browser" in BRM Developer's Guide for information on how to use Object Browser.

  10. Stop and restart the CM. For more information, see "Starting and Stopping the BRM System" in BRM System Administrator's Guide.

  11. (Multischema systems only) Run the pin_multidb script with the -R CONFIG parameter. For more information, see "pin_multidb" in BRM System Administrator's Guide.