89 Migrating Pricing Data to PDC With RRE and BRE

Learn how to set up your environment and run the migration utility to migrate the Oracle Communications Billing and Revenue Management (BRM) pricing data to a Oracle Communications Pricing Design Center (PDC) system that supports the real-time rating engine (RRE) and the batch rating engine (BRE).

Topics in this document:

Pricing data migration should be performed by experienced pricing administrators. You should have a basic understanding of how to create product offerings and configure setup components in PDC. See PDC Creating Product Offerings for more information.

To use the migration utility, you must also understand the following:

  • Database administration tasks

  • Extensible Markup Language (XML) programming

  • XML schema definition (XSD)

To minimize impact and risks to your production systems, Oracle recommends to perform the initial migration on a development test system and then import the migrated data to your production systems.

About Migrating BRM Pricing Data to PDC With RRE and BRE

If you are using Pricing Center to create and manage your price lists and using the real-time rating engine and the batch rating engine for usage rating, the pricing data is stored in the BRM database. If you want to use the PDC application to create and manage the price lists, you must first install PDC with RRE and BRE and migrate the pricing data from the BRM database into the PDC database. After you migrate the data, the pricing data is stored in the PDC database and used by the real-time and batch rating engines for usage rating.

You use the command-line utility, MigrateBRMPricing, to migrate the BRM pricing data into the PDC database.

Note:

The migration of branded data is not supported.

The migration utility migrates both real-time and batch pricing data. The BRM pricing data consists of configuration objects and pricing objects. Because the pricing objects reference configuration objects, you must migrate the configuration objects prior to migrating the pricing objects. To do this, you run the migration twice: first to migrate the configuration objects and then to migrate the pricing objects.

The configuration objects include data such as event objects, service objects, impact categories, and zone models.

The pricing objects consist of the following:

  • Products and all objects referenced by a product, including rateplans, price model selectors, Access Point Name (APN) selectors, price models, time models, usage scenario (USC) groups.

  • Discounts and all objects referenced by discounts, including discount models, discount model selectors, discount rules, triggers, and filters.

  • Chargeshares and all objects referenced by a chargeshare.

  • Subscriptions objects, including deals, plans, and plan lists.

If the pricing analysis reports contain a large number of messages, you can consider migrating pricing objects by category. If you decide to migrate the pricing objects by category, you must migrate them in the following order:

  1. Products and all objects referenced in the products

  2. Discounts and all the objects referenced in the discounts

  3. Chargeshares

  4. Subscription objects

If you migrate pricing objects by category, each migration process must be completed first before starting the next. For example, the products migration process must be completed, that means all products and related objects are analyzed, transformed, and available in the PDC database, before you start the discounts migration process and so on.

See "MigrateBRMPricing" for the utility's syntax and parameters.

Note:

The BRM term for an object sometimes differs from the PDC term for the same object. See the mapping BRM to PDC terminology table in PDC Creating Product Offerings for more information.

Migration of the BRM pricing data is performed in two phases:

  1. Data analysis: In this phase, the migration utility extracts and analyzes the BRM pricing data. The analysis shows errors that need to be fixed before the data can be migrated.

  2. Data migration: In this phase, the migration utility adjusts, transforms and migrates the BRM pricing data to the PDC database.

You must perform the migration process twice. First you analyze and migrate configuration objects, such as event objects, service objects, impact categories, and zone models. Then, you analyze and migrate pricing objects, such as products and discounts.

About the Data Analysis Phase for Migrating BRM Pricing Data to PDC With RRE and BRE

The data analysis phase is the first phase of the migration of the BRM pricing data.

The following procedure describes how the BRM pricing data is processed in this phase:

  1. The migration utility extracts the BRM pricing data from the BRM database and saves the data in XML files.

  2. The migration utility analyzes the data to determine if the configurations are supported in PDC and whether any configurations need to be adjusted prior to the migration.

  3. The migration utility generates analysis reports that provide the list of the data configurations that need to be adjusted by the utility during the migration process and any configurations that you would need to adjust manually.

    You need to review the analysis reports and resolve any pricing data configuration errors in the BRM database. If you make updates to the pricing data in the BRM database, you must restart the migration process to extract the latest objects from the BRM database and perform the data analysis again.

    When you restart the migration process, the analysis reports are also re-generated for the latest data.

Figure 89-1 shows the data analysis phase:

Figure 89-1 Data Analysis Phase for Migrating BRM Pricing Data to PDC With RRE and BRE

Description of Figure 89-1 follows
Description of "Figure 89-1 Data Analysis Phase for Migrating BRM Pricing Data to PDC With RRE and BRE"

The migration utility can adjust most BRM pricing configurations. Adjustments to the BRM pricing data configurations may result in existing BRM objects being updated or new BRM objects being created. In some cases, the migration utility may require additional information from you before it can adjust the data. But, there are some configurations that it cannot adjust and for those cases, you may need to change the configurations manually before continuing with the migration.

The data analysis phase is complete when there are no data configurations errors in the analysis reports.

About the Data Migration Phase for Migrating BRM Pricing Data to PDC With RRE and BRE

The data migration phase is the second phase of the migration process. You must resume the migration process after the analysis phase is complete to start the data migration.

The following procedure describes how the data is processed in the data migration phase:

  1. The migration utility adjusts the BRM pricing data in the XML files, if necessary, to enable transformation to the PDC data model.

  2. The migration utility transforms the BRM pricing data to PDC components and saves them in XML files.

  3. The migration utility loads the PDC components into the PDC database.

  4. The migration utility loads any new and updated BRM objects (resulting from the data adjustments) into the BRM database.

  5. The migration utility generates the migration report with information about the BRM objects that were successfully migrated to the PDC database.

  6. The migration utility generates the process report with information about the BRM objects that were created or updated in the BRM database.

For more information about the migration utility reports, see "About Migration Reports".

Figure 89-2 shows the data migration phase:

Figure 89-2 Data Migration Phase for Migrating BRM Pricing Data to PDC With RRE and BRE

Description of Figure 89-2 follows
Description of "Figure 89-2 Data Migration Phase for Migrating BRM Pricing Data to PDC With RRE and BRE"

For more information on setting up and migrating the BRM pricing data to PDC with the real-time rating engine and the batch rating engine, see "Performing Migration of BRM Pricing Data to PDC With RRE and BRE".

Performing Migration of BRM Pricing Data to PDC With RRE and BRE

The following steps guide you to set up and run migration on the development system and then import the changes to the production databases:

  1. Create a backup of the BRM production database.

    See "Creating a BackUp of Your BRM Database".

  2. Setup the development system to run the initial migration of the pricing data.

    See "Setting Up the BRM Development System" for more information.

  3. Migrate the BRM configuration and pricing objects.

    See "Migrating the BRM Pricing Data to PDC With RRE and BRE".

  4. Restart the BRM and PDC systems.

    See "Restarting the Systems".

  5. Test the migrated data.

    See "Testing the Migrated Data".

  6. Import the migrated data to the production systems.

    See "Importing the Migrated Data to the Production Systems".

Creating a BackUp of Your BRM Database

Oracle recommends that you perform a full backup of your BRM production database prior to running the migration.

Performing a full backup allows you to restore your production database to its original state in the event of any data corruption or data loss. Back up both the database definition and all the database contents.

Use the backup to restore the database on a test system to ensure the backup is valid.

See your database software documentation for more information on performing full database backups.

Setting Up the BRM Development System

Setting up the BRM development system includes setting up a BRM system with BRM pricing data and installing a PDC system.

Perform the following tasks to setup your development system:

  1. Review the system requirements for installing the PDC and BRM systems.

    See the discussion about Pricing Design Center system requirements in PDC Installation Guide.

  2. Perform the following pre-installation tasks for PDC:

    • Installing and configuring the Oracle Database

    • Installing and configuring Oracle WebLogic Server

    • Installing and configuring BRM

    See the discussion about Pricing Design Center pre-Installation tasks in PDC Installation Guide.

  3. Install the complete PDC software.

    Note:

    Before you install PDC, ensure that the PDC database does not have any existing pricing data.

    When you install BRM Integration Pack, ensure that you select one of the following migration options:

    • Migrate RRE and BRE pricing data to PDC

    See the discussion about installing Pricing Design Center complete software in PDC Installation Guide for more information.

  4. Copy the BRM pricing data from the production database to the development system.

    You can copy the BRM pricing data in one of two ways:

    • Use the BRM load utilities, loadpricelist and LoadIfwConfig, to export the pricing data from your BRM production database and load it into the BRM development database.

      See the discussion about pricing utilities in PDC Creating Product Offerings for information about running these utilities.

      Note:

      Keep a record of the following information as you create the BRM database. This information is used later to configure the MigrateBRMPricing utility.

      • User login and password for the BRM database

      • Name of the machine on which BRM database is created

      • IP address of the machine on which BRM database is created

      • Port number assigned to the BRM database

      • Service Name or SID for the BRM database

    • Restore the database from the BRM database backup.

      See your database software documentation for more information about database restore.

  5. Ensure BRM_Integration_Pack_Home/apps/bin is in your PATH environment variable, where BRM_Integration_Pack_Home is the directory in which you installed BRM Integration Pack.

  6. (Optional) Configure the MigrateBRMPricing utility. See "Configuring the Migration Utility for PDC with RRE and BRE" for more information.

  7. Ensure all users of the migration utility are added to the Migration Admin group.

    The users of the migration utility must belong to the Migration Admin group, which is created during the PDC installation. You can add additional users to this group by using the WebLogic Administration Console.

  8. Ensure that the BRM loadpricelist and LoadIfwConfig utilities are configured correctly and can connect to the BRM database.

    The migration utility uses the BRM load utilities to extract the pricing data from the BRM database to XML files.

    See the discussion about pricing utilities in PDC Creating Product Offerings for more information.

  9. (Optional) If your BRM data consists of pipeline services that are mapped to multiple events in the Pipeline Manager IFW_REF_MAP database table, then you must add REF_PARAM combination key to the IFW_REF_MAP entry in IFW_Home/tools/XmlLoader/LoadIfwConfig.xsd file.

    <xs:element name="IFW_REF_MAP" type="TableType_IFW_REF_MAP" minOccurs="0" maxOccurs="unbounded"> 
       <xs:key name="IFW_REF_MAP_PrimaryKey_1"> 
          <xs:selector xpath="IFW_REF_MAP"/>
          <xs:field xpath="@ID"/>
          <xs:field xpath="@REF_OBJ"/> 
          <xs:field xpath="@REF_PARAM"/> 
       </xs:key> 
    </xs:element> 
    
  10. Obtain the Java Keystore password.

Configuring the Migration Utility for PDC with RRE and BRE

The migration configuration file contains the information that you provided during PDC installation. You can edit this file if you want to change the information that you provided.

To configure the migration utility:

  1. Make a copy of the BRM_Integration_Pack_Home/apps/migration/MigrateConfiguration.xml file, where BRM_Integration_Pack_Home is the directory in which you installed BRM Integration Pack.

  2. Open the copy in a text editor.

  3. Edit the file based on your requirements.

    Table 89-1 lists the elements in MigrateConfiguration.xml and the syntax and description for each element.

    Table 89-1 Elements in the MigrateConfiguration.xml File

    Element Syntax Description

    walletConfiguration

    <walletConfiguration>
      <pdcWalletLocation>BRMIntegratioPackWallet</pdcWalletLocation>
    </walletConfiguration>

    Specifies the Oracle wallet that stores the sensitive information, such as database passwords, where BRMIntegratioPackWallet is the complete path to the BRM Integration Pack wallet.

    xrefDatabase

    <xrefDatabase>
      <connectionInfo>
        <login>CrossRefUserName</login>
        <hostName>CrossRefHostName</hostName>
        <port>CrossRefPort</port>
        <serviceName>CrossRefServiceName</serviceName>
      </connectionInfo>
    </xrefDatabase>

    Contains the details about the transformation cross-reference database, where:

    • CrossRefUserName specifies the cross-reference database user name

    • CrossRefHostName specifies the IP address or the host name of the machine on which the cross-reference database is configured

    • CrossRefPort specifies the port number assigned to the cross-reference database

    • CrossRefServiceName specifies the name of the cross-reference database service

    migrationDatabase

    <migrationDatabase>
      <connectionInfo>
        <login>MigrationUserName</login>
        <hostName>MigrationHostName</hostName>
        <port>MigrationPort</port>
        <serviceName>MigrationServiceName</serviceName>
      </connectionInfo>
    </MigrationDatabase>

    Contains the details about the migration cross-reference database, where:

    • MigrationUserName specifies the cross-reference database user name

    • MigrationHostName specifies the IP address or the host name of the machine on which the cross-reference database is configured

    • MigrationPort specifies the port number assigned to the cross-reference database

    • MigrationServiceName specifies the name of the cross-reference database service

    By default, the connection information in the <migrateDatabase> elements is same as the connection information in the <xrefDatabase> elements. However, during BRM Integration Pack installation, the Installer allows you specify a migration cross-reference database that is different from the transformation cross-reference database. In that case, the connection information in the <migrateDatabase> elements and the <xrefDatabase> elements may differ.

    migrationSource

    <migrationSource>
      <deploymentType>MigrationSourcetype</deploymentType>
      <pricingServer>
    SourcePDCPricingServer
    </pricingServer>
      <brmConfiguration>
    SourceBRMConfiguration
      </brmConfiguration>
    </migrationSource>

    Contains the details about the migration source system.

    • <deploymentType> element specifies the migration source, where MigrationSourcetype is LEGACY_BRM to specify that the source is a BRM system that uses real-time and batch rating engines and BRM Pricing Center.

    • <pricingServer> element is not applicable for LEGACY_BRM.

    • <brmConfiguration> element contains the source BRM system configuration details.

    pricingServer

    <migrationSource>
      <pricingServer>
        <connectionInfo>
          <hostName>SourcePricingServerHostName</hostName>
          <port>SourcePricingServerPort</port>
          <adminUser>SourceAdminUserName</adminUser>
          <pdcUser>SourcePDCUser</pdcUser>
          <pdcSSL>SourceSSLOption</pdcSSL>
        </connectionInfo>
      </pricingServer>
    </migrationSource>

    Contains the source PDC server information, where:

    • SourcePricingServerHostName specifies the IP address or the host name of the machine on which the source PDC server is deployed

    • SourcePricingServerPort specifies the port number of the domain on which the source PDC server is deployed

    • SourceAdminUserName specifies the user name of the source PDC server administrator

    • SourcePDCUser specifies the user name of the source PDC system user

    • SourceSSLOption specifies whether the source PDC server supports SSL.

      enabled specifies that PDC supports SSL. If SSL is enabled, MigrateBRMPricing uses the t3s://Host:Port URL to access PDC

      disabled specifies that PDC does not support SSL. If SSL is disabled, MigrateBRMPricing uses the t3://Host:Port URL to access PDC

    brmConfiguration

    <migrationSource>
      <brmConfiguration>
        <brand>BrandOption</brand>
         <skipBREMigration>SkipOption</skipBREMigration>
    <fieldSelection>EventFieldInfo</fieldSelection>
        <breConfig>
          <containerDesc> 
            <param> 
              <paramname>EDRField</paramname> 
              <paramvalue>EDRFieldValue</paramvalue> 
              </param> 
          </containerDesc> 
          <eventExtension> 
            <param> 
              <paramname>BREEvent</paramname> 
              <paramvalue>ExtensionBlockName</paramvalue> 
            </param> 
          </eventExtension> 
          <serviceExtension> 
            <param>                  
              <paramname>BREService</paramname> 
              <paramvalue>ExtensionBlockName</paramvalue> 
            </param> 
          </serviceExtension> 
          <defaultValue>  
            <param> 
              <paramname>SERVICE_CLASS</paramname> 
              <paramvalue>DefaultServiceClass</paramvalue> 
            </param> 
          </defaultValue> 
        </breConfig>
      </brmConfiguration>
    /<migrationSource>

    Contain the details about the source BRM system configuration.

    • <brand> element specifies whether the source BRM system supports branding, where BrandOption is:

      enabled to specify that the source BRM system supports branding

      disabled to specify that the source BRM system does not support branding

    • <skipBREMigration> element specifies whether to skip migration of pipeline configuration data, where SkipOption is either true or false. The default is false for PDC with BRE and RRE.

    • <fieldSelection> element contains the information about the target rating engine and the BRM event fields provided as input to the target rating engine for usage rating.

    • <breConfig> element contains the batch rating engine configurations.

    • <containerDesc> element specifies the EDRC fields that are migrated for events.

      In the following example, all the EDRC_FIELDS mapped to ALL_RATE are migrated for the events.

      <containerDesc>
        <param>
          <paramname>EDRC_DESC</paramname>
          <paramvalue>ALL_RATE</paramvalue>
        </param>
      </containerDesc>
    • <eventExtension> element specifies to migrate the fields of the specified extension block for the batch rating engine event.

      Example:

      <eventExtension> 
        <param> 
          <paramname>/event/delayed/session/telco/gsm</paramname> 
          <paramvalue>ASS_GSMW_EXT</paramvalue> 
        </param> 
      </eventExtension> 
    • <serviceExtension> element specifies to migrate the fields of the specified extension block for the batch rating engine service.

      Example:

      <serviceExtension> 
        <param> 
          <paramname>/service/telco/gprs</paramname> 
          <paramvalue>ASS_GPRS_SERV_EXT</paramvalue> 
        </param> 
      </serviceExtension> 
    • <defaultValue> element specifies the default service class, where DefaultServiceClass is the default service class name.

    fieldSelection

    <fieldSelection>
    <targetEngine>TargetRatingEngine</targetEngine>
    <eventFields>
    <eventName>EventName</eventName>
    <fullyQualifiedName>EventFieldName</fullyQualifiedName>
    </eventFields>
    </fieldSelection>

    Contains the information about the target rating engine and the BRM event fields provided as input to the target rating engine for usage rating.

    <targetEngine> element specifies the target rating engine used for usage rating, where: TargetRatingEngine is one of the following:

    • Convergent Charging specifies that ECE is used for usage rating.

    • Realtime Charging specifies that the real-time rating engine is used for usage rating.

    • Batch Charging specifies that the batch rating engine is used for usage rating.

    <eventFields> element specifies the fields that are provided as input to TargetRatingEngine, where:

    • EventName specifies the class name of the BRM event; for example,/event.

    • EventFieldName specifies the fully qualified name of the BRM event field that is provided as input to TargetRatingEngine; for example, PIN_FLD_NAME.

    Note: Each <fieldSelection> element can have multiple <eventFields> elements but only one <targetEngine> element. To support multiple target rating engines, add the <fieldSelection> element for each target rating engine.

    Similarly, each <eventFields> element can have multiple <fullyQualifiedName> elements but only one <eventName> element. To rate multiple events, add the <eventFields> element for each event.

    migrationTarget

    <migrationTarget>
      <deploymentType>MigrationTargettype</deploymentType>
      <pricingServer>
    TargetPDCPricingServer
    </pricingServer>
      <brmConfiguration>
    TargetBRMConfiguration
      </brmConfiguration>
    </migrationTarget>

    Contains the details about the migration target system.

    • <deploymentType> element specifies the migration target, where MigrationTargettype is PDC_WITH_ONLINE_BATCH_USAGE to specify that the target is a BRM system that uses real-time and batch rating engines and PDC.

    • <pricingServer> element contains the target PDC server information

    • <brmConfiguration> element contains the target BRM system configuration details.

    pricingServer

    <migrationTarget>
      <pricingServer>
        <connectionInfo>
          <hostName>TargetPricingServerHostName</hostName>
          <port>TargetPricingServerPort</port>
          <adminUser>TargetAdminUserName</adminUser>
          <pdcUser>TargetPDCUser</pdcUser>
          <pdcSSL>TargetSSLOption</pdcSSL>
        </connectionInfo>
      </pricingServer>
    </migrationTarget>

    Contains the target PDC server information, where:

    • TargetPricingServerHostName specifies the IP address or the host name of the machine on which the target PDC server is deployed

    • TargetPricingServerPort specifies the port number of the domain on which the target PDC server is deployed

    • TargetAdminUserName specifies the user name of the target PDC server administrator

    • TargetPDCUser specifies the user name of the target PDC system user

    • TargetSSLOption specifies whether the target PDC server supports SSL.

      enabled specifies that PDC supports SSL. If SSL is enabled, MigrateBRMPricing uses the t3s://Host:Port URL to access PDC

      disabled specifies that PDC does not support SSL. If SSL is disabled, MigrateBRMPricing uses the t3://Host:Port URL to access PDC

    brmConfiguration

    <migrationTarget>
      <brmConfiguration>
        <loadConfigDir>LoadConfigData</loadConfigDir>
        <loadPriceListDir>LoadPriceData</loadPriceListDir>
        <loadIfwConfigDir>LoadPipelineConfigData<loadIfwConfigDir>
      </brmConfiguration
    </migrationTarget>

    Contain the details about the target BRM system configuration, where:

    • LoadConfigPath specifies the path to the directory from where the load_config utility is run.

    • LoadPriceListPath specifies the path to the directory from where the load_price_list utility is run.

    • LoadPipelineConfigPath specifies the path to the directory from where the LoadIfwConfig utility is run.

    logFile

    <logFile>MigrationLogFileLocation</logFile>

    Specifies the directory that stores MigrateBRMPricing log files, where MigrationLogFileLocation is the complete path and the name of the log file.

    reportFile

    <reportFile>ReportFileLocation</reportFile>

    Specifies the directory where MigrateBRMPricing stores the reports generated during the migration process, where ReportFileLocation is the complete path to the directory.

    brmExtractedXML

    <brmExtractedXML>BRMExtractedXML</brmExtractedXML>

    Specifies the directory where MigrateBRMPricing stores the XML files containing the pricing data extracted from the BRM database, where BRMExtractedXML is the complete path to the directory.

    pdcExtractedXML

    <pdcExtractedXML>PDCExtractedXML</pdcExtractedXML>

    Specifies the directory where MigrateBRMPricing stores the XML files containing the pricing data extracted from the PDC database, where PDCExtractedXML is the complete path to the directory.

    brmXML

    <brmXML>BRMDataFile</brmXML>

    Specifies the directory where MigrateBRMPricing creates the XML files containing the BRM data that needs to be updated or created in the BRM database, where BRMDataFile is the complete path to the directory.

    pdcXML

    <pdcXML>PDCDataFile</pdcXML>

    Specifies the directory where MigrateBRMPricing creates the XML files containing the extracted BRM data in PDC format, where PDCDataFile is the complete path to the directory.

    userInputXML

    <userInputXML>UserInputXML</userInputXML>

    Specifies the directory that contains the XML user input files that you provide for data adjustments, where UserInputXML is the complete path to the directory.

    xrefSQL

    <xrefSQL>XrefData</xrefSQL>

    Specifies the directory where MigrateBRMPricing creates the files containing the migration and transformation cross-reference data in sql format, where XrefData is the complete path to the directory.

  4. Save and close the file.

Migrating the BRM Pricing Data to PDC With RRE and BRE

When you migrate pricing data from the BRM database to the PDC database, you must migrate the configuration objects and then migrate the pricing objects.

To migrate the pricing data from the BRM database to the PDC database:

  1. Migrate the configuration objects. See "Migrating Configuration Objects".

  2. Migrate the pricing objects. See "Migrating Pricing Objects".

Migrating Configuration Objects

To migrate the configuration objects:

  1. Ensure that the BRM and PDC databases are running.

  2. Go to the BRM_Integration_Pack_Home/apps/migration directory.

  3. Run the following command, which starts the data analysis phase:

    MigrateBRMPricing -config -analyze
    
  4. Enter the BRM Integration Pack wallet password when prompted.

  5. Review the configuration analysis report and fix any data configuration errors that are reported (see "Fixing Errors Found in the Analysis Phase").

  6. In step 5, if you made changes to the data in the BRM database, run the following command, which restarts the data analysis phase:

    MigrateBRMPricing -config -analyze -restart
    
  7. Repeat steps 5 and 6 until there are no errors in the configuration analysis report.

  8. Run the following command, which starts the data migration phase:

    MigrateBRMPricing -resume
    

    Note:

    MigrateBRMPricing does not proceed with the transformation and migration of the configuration objects to the PDC database if there are any critical or user input errors in the configuration analysis report.

  9. Review the migration report and verify that all the configuration objects were migrated to the PDC database successfully.

  10. Using the target PDC application, verify that you are able to view, create, and modify configuration objects without any errors.

Migrating Pricing Objects

To migrate pricing objects, do one of the following:

Migrating All Pricing Objects

To migrate all pricing objects:

  1. In the PDC application, ensure that the configuration objects are available.

  2. Ensure that the BRM and PDC databases are running.

  3. Go to the BRM_Integration_Pack_Home/apps/migration directory.

  4. Run the following command, which starts the data analysis phase for all pricing objects:

    MigrateBRMPricing -pricing -analyze
    
  5. Enter the BRM Integration Pack wallet password when prompted.

  6. Review the pricing analysis reports (product, discount, sponsorship and subscription analysis reports) and fix any data configuration errors that are reported (see "Fixing Errors Found in the Analysis Phase").

  7. Do one of the following:

    • If you fixed any configuration object errors reported in the pricing analysis reports, restart the migration by running the configuration migration process and then rerunning the pricing migration process. See "Migrating the BRM Pricing Data to PDC With RRE and BRE".

    • If you fixed pricing objects errors (only pricing objects errors reported in the pricing analysis report), restart the pricing data analysis phase by running the following command:

      MigrateBRMPricing -pricing -analyze -restart
      
  8. Repeat steps 6 and 7 until there are no errors in the pricing analysis reports.

  9. Run the following command, which starts the data migration phase:

    MigrateBRMPricing -resume
    

    Note:

    MigrateBRMPricing does not proceed with the transformation and migration of the pricing objects to the PDC database if there are any critical or user input errors in the pricing analysis reports.

  10. Review the migration report and verify that all pricing objects were migrated to PDC successfully.

  11. Make corrections to PDC data, if needed. See "Changes Required After Migration".

Migrating Pricing Objects by Category

When you migrate pricing objects by category, the migration of all the objects in each category must be completed before starting the next.

To migrate pricing objects by category:

  1. In the PDC application, ensure that the configuration objects are available.

  2. Ensure that the BRM and PDC databases are running.

  3. Go to the BRM_Integration_Pack_Home/apps/migration directory.

  4. Run the following command, which starts the data analysis phase for products and all objects referenced by a product:

    MigrateBRMPricing -product -analyze
    
  5. Enter the BRM Integration Pack wallet password when prompted.

  6. Review the product analysis report and fix any data configuration errors that are reported (see "Fixing Errors Found in the Analysis Phase").

  7. Do one of the following:

    • If you fixed any configuration object errors reported in the product analysis report, restart the migration by running the configuration migration process and then rerunning the pricing migration process. See "Migrating the BRM Pricing Data to PDC With RRE and BRE".

    • If you fixed pricing objects errors (only pricing objects errors reported in the product analysis report), restart the data analysis phase for products by running the following command:

      MigrateBRMPricing -product -analyze -restart
      
  8. Repeat steps 6 and 7 until there are no errors in the product analysis report.

  9. Run the following command, which starts the data migration phase for products:

    MigrateBRMPricing -resume
    

    Note:

    MigrateBRMPricing does not proceed with the transformation and migration of the pricing objects to the PDC database if there are any critical or user input errors in the analysis reports.

  10. Review the migration report and verify that the products and objects referenced by a product were migrated to PDC successfully.

  11. Make corrections to PDC data, if needed. See "Changes Required After Migration".

  12. Run the following command, which starts the data analysis phase for discounts and all objects referenced by a discount:

    MigrateBRMPricing -discount -analyze
    
  13. Enter the BRM Integration Pack wallet password when prompted.

  14. Review the discount analysis report and fix any data configuration errors that are reported.

  15. Do one of the following:

    • If you fixed any configuration object errors reported in the discount analysis report, restart the migration by running the configuration migration process and then rerunning the pricing migration process. See "Migrating the BRM Pricing Data to PDC With RRE and BRE".

    • If you fixed pricing objects errors (only pricing objects errors reported in the discount analysis report), restart the data analysis phase for discounts by running the following command:

      MigrateBRMPricing -discount -analyze -restart
      
  16. Repeat steps 14 and 15 until there are no errors in the discount analysis report.

  17. Run the following command, which starts the data migration phase for discounts:

    MigrateBRMPricing -resume
    
  18. Review the migration report and verify that the discounts and all objects referenced by a discount were migrated to PDC successfully.

  19. Make corrections to PDC data, if needed. See "Changes Required After Migration".

  20. Run the following command, which starts the data analysis phase for chargeshares and all objects referenced by a chargeshare:

    MigrateBRMPricing -sponsorship -analyze
    
  21. Enter the BRM Integration Pack wallet password when prompted.

  22. Review the sponsorship analysis report and fix any data configuration errors that are reported.

  23. Do one of the following:

    • If you fixed any configuration object errors reported in the sponsorship analysis report, restart the migration by running the configuration migration process and then rerunning the pricing migration process. See "Migrating the BRM Pricing Data to PDC With RRE and BRE".

    • If you fixed pricing objects errors (only pricing objects errors reported in the sponsorship analysis report), restart the data analysis phase for chargeshares by running the following command:

      MigrateBRMPricing -sponsorship -analyze -restart
      
  24. Repeat steps 22 and 23 until there are no errors in the sponsorship analysis report.

  25. Run the following command, which starts the data migration phase for chargeshares:

    MigrateBRMPricing -resume
    
  26. Review the migration report and verify that the chargeshares and all objects referenced by a chargeshare were migrated to PDC successfully.

  27. Make corrections to PDC data, if needed. See "Changes Required After Migration".

  28. Run the following command, which starts the data analysis phase for subscription objects:

    MigrateBRMPricing -subscription -analyze
    
  29. Enter the BRM Integration Pack wallet password when prompted.

  30. Review the subscription analysis report and fix any data configuration errors that are reported.

  31. Do one of the following:

    • If you fixed any configuration object errors reported in the subscription analysis report, restart the migration by running the configuration migration process and then rerunning the pricing migration process. See "Migrating the BRM Pricing Data to PDC With RRE and BRE".

    • If you fixed pricing objects errors (only pricing objects errors reported in the subscription analysis report), restart the data analysis phase for subscription objects by running the following command:

      MigrateBRMPricing -subscription -analyze -restart
      
  32. Repeat steps 30 and 31 until there are no errors in the subscription analysis report.

  33. Run the following command, which starts the data migration phase for subscription objects:

    MigrateBRMPricing -resume
    
  34. Review the migration report and verify that all subscription objects were migrated to PDC successfully.

  35. Make corrections to PDC data, if needed. See "Changes Required After Migration".

Fixing Errors Found in the Analysis Phase

The following sections describe how to provide required user input and how to fix some of the common critical errors reported in the migration analysis reports.

Fixing Analysis "User Input Required" Errors

The migration utility may require you to provide additional information prior to migrating resources and discount and chargeshare configurations. The analysis reports list these objects marked as User Input Required with a description of the information that is required. You provide the input in an XML file.

To provide the input:

  1. Make a copy of the predefined XML templates in the BRM_Integration_Pack_Home/apps/xml directory in the BRM_Integration_Pack_Home/apps/xml/userinput directory, where BRM_Integration_Pack_Home is the directory in which the PDC software is installed.

  2. Update the XML file content with the required information.

  3. Ensure that the XML input file conforms to the XML schema definition in the BRM_Integration_Pack_Home/apps/xsd directory.

Identifying Resource ID for Noncurrency Resources Used in Batch Rating

If you have a noncurrency resource that is used in batch rating, you need to map the resource name to the resource Id defined in the BRM server so that the resource can be mapped to the BEID definition.

The following example shows the XML that you would provide to map the resource LOYALTY to resource ID 1000019.

<?xml version="1.0" encoding="UTF-8" ?> 
<Resource>
<BalanceElement type="0">
      <BREResourceName>LOYALTY</BREResourceName> 
      <BEIDCode>LOY</BEIDCode> 
      <ResId>1000019</ResId> 
</BalanceElement>
</Resource>
Providing Values List for Expressions in Discount and Chargeshare Configurations

If you use an expression as a filter criteria in the discount and chargeshare detail, you need to list the values in the expression individually.

Example 1

If you use the expression Peak* with Peak1, Peak2, and Peak3 for time model and 21* with 2155557 and 2155558 for resource Id in the discount detail, you need to provide these values individually. Following is an example of the XML file that you would provide:

<Filters xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"       xsi:noNamespaceSchemaLocation="\oracle\communications\brm\pdc\migration\pricing\impl\bre\userinputxml\BreFilter_UserInput.xsd">
<Filter master="M1" rank="1">
<TimeModel>
      <name>Peak1</name>
      <name>Peak2</name>
      <name>Peak3</name>
</TimeModel>
<ResID>
      <id>2155557</id>
      <id>2155558</id>
</ResID>
</Filter>
</Filters>

Alternatively, you can correct the expression in the discount detail itself. If you change the discount detail configuration, you need to restart the migration utility.

Example 2

If you specify an expression in the rate plan field, such as !(Rate1|Rate2|Rate3), you need to provide the XML that specifies the rate plans that should apply rather than those that should be excluded. This is because the NOT operator is not supported in PDC.

Analysis Errors Requiring Pricing Data Changes

The following are some common BRM configurations that require manual changes prior to migrating the data to the PDC data model. These configurations are listed in the migration analysis reports and the report also specifies exactly where the issues reside in your data. They are listed here for your reference and to provide more details on how to resolve them.

The following changes are required prior to migration:

Multiple Impact Categories in a Rate Plan

In PDC, the balance impact in charge does not contain impact categories. If you migrate a BRM rate plan selector with multiple rules which result in the same rate plan but with different impact categories, the migration utility reports an error. If you migrate a rate plan selector with multiple rules that result in the same rate plan with the same impact category, this rate plan selector is migrated as long as the impact category is specified in the rateplan.

Recommended Action

For the rate plan selector which has multiple rules that result in the same rate plan with different impact categories, create a separate rate plan for each impact category. In each newly created rate plan, inspect the rate objects and remove any balance impacts that specify impact categories not applicable to that rate plan.

Example 1

Table 89-2 shows a rate plan selector with multiple rules that result in the same rate plan (rate plan A) with different impact categories:

Table 89-2 Rate Plan Selector

Rule Rule Expression Rate Plan Impact Category Used in Rate Plan Selector

Rule 1

Attribute values

Rate plan A

IC1

Rule 2

Attribute values

Rate plan A

IC2

Rule 3

Attribute values

Rate plan A

*

Rule 4

Attribute values

Rate plan A

default

Table 89-3 shows the rate objects in rate plan A.

Table 89-3 Rate Plan A

Rate Object Impact Category Used in Rate Object Balance Impact

Rate Object 1

IC1

$1.00

Rate Object 1

IC2

$2.00

Rate Object 1

*

$5.00

Rate Object 1

default

$0.50

Rate Object 2

IC1

$1.50

Rate Object 2

*

$6.00

Rate Object 3

IC1

$1.75

Rate Object 3

default

$0.50

Rate Object 4

default

$0.50

Solution

Make the changes shown in Table 89-4 to the rate objects:

Table 89-4 Rate Plan Selector

Rule Rule Expression Rate Plan Impact Category Used in Rate Plan Selector

Rule 1

Attribute values

Rateplan A_IC1

IC1

Rule 2

Attribute values

Rateplan A_IC2

IC2

Rule 3

Attribute values

Rateplan A_*

*

Rule 4

Attribute values

Rateplan A_default

default

Table 89-5 shows the rate objects in rate plan A_IC1.

Table 89-5 Rate Plan A_IC1

Rate Object Impact Category Used in Rate Object Balance Impact

Rate Object 1

IC1

$1.00

Rate Object 1

IC1 (previously *)

$5.00

Rate Object 2

IC1

$1.50

Rate Object 2

IC1 (previously *)

$5.00

Rate Object 3

IC1

$0.50

Rate Object 4

IC1 (previously default)

$1.00

Table 89-6 shows the rate objects in rate plan A_IC2.

Table 89-6 Rate Plan A_IC2

Rate Object Impact Category Used in Rate Object Balance Impact

Rate Object 1

IC2

$2.00

Rate Object 1

IC2 (previously *)

$5.00

Rate Object 2

IC2 (previously *)

$6.00

Rate Object 3

IC2 (previously default)

$0.50

Rate Object 4

IC2 (previously default)

$1.00

Table 89-7 shows the rate objects in rate plan A_IC3.

Table 89-7 Rate Plan A_IC3

Rate Object Impact Category Used in Rate Object Balance Impact

Rate Object 1

*

$5.00

Rate Object 2

*

$6.00

Rate Object 3

* (previously default)

$0.50

Rate Object 4

* (previously default)

$0.50

Table 89-8 shows the rate objects in rate plan A_default.

Table 89-8 Rate Plan A_Default

Rate Object Impact Category Used in Rate Object Balance Impact

Rate Object 1

default

$0.50

Rate Object 1

default (previously *)

$5.00

Rate Object 2

default (previously *)

$6.00

Rate Object 3

default

$0.50

Rate Object 4

default

$0.50

Derived Impact Category Used in Zone Model

Impact categories defined for zoning can be flagged as derived, which means that they can only be used in USC and APN selectors. BRM allows derived impact categories to be used in a zone model, but PDC does not. If you migrate a BRM zone model with an impact category of type derived, the migration utility reports an error.

Recommended Action

If a derived impact category is used in a zone model, change the type from 1 (derived) to 0.

Example

The impact category, Brazil, which is associated with the zone item, San Jose to Brazil, is defined as derived and is used in a zone model.

Solution

Update the IFW_IMPACT_CAT table using the following SQL statement:

UPDATE IFW_IMPACT_CAT SET TYPE=0 WHERE Impact_Category LIKE 'Brazil';
Zone Items Differentiated Only by Service Code

In PDC, a zone item in a zone model does not specify a service code. In BRM, if two zone items in a zone model differ by only the service code, then the migrated zone items gives a unique constraint error in PDC because they will be identical.

Recommended Action

Modify the zone items that differ only by service code to make them unique or remove the duplicate item.

Example

Origin Destination Valid From Service Zone Impact Category

123

456

1999-01-01

SMS1

IC1

123

456

1999-01-01

SMS2

IC2

Solution

Modify the ValidFrom field in the IFW_STANDARD_ZONE table to a unique value (for example, 02-JAN-99 in the above example), to make the combination unique without using the service code.

Extended Service Class Event Mapping

In PDC, an extended service class does not inherit the event mapping of the parent class, and all events to be used with the extended service class must be explicitly mapped. In BRM, an extended service class inherits the event mapping of the parent class. If you migrate a BRM pricing object with a service-event combination that is not available in the service-event mapping, the migration utility reports an error.

Recommended Action

Ensure that all extended service classes have mappings for all the events used in pricing objects that reference them.

Example

The service-event map (pin_event_map file) contains these mappings:

/service/ip       :/event/session   ...
                  :/event/session/dialup ...
/service/ip/gprs  :/event/session/gprs/master
                  :/event/session/gprs/subsession ...

A product exists that applies to /service/ip/gprs and /event/session. The migration utility reports an error because /event/session is not mapped to /service/ip/gprs.

Solution

Map /service/ip/gprs to /event/session.

/service/ip       :/event/session   ...
                  :/event/session/dialup ...
/service/ip/gprs  :/event/session/gprs/master
                  :/event/session/gprs/subsession ...
                  :/event/session
Service Contains Deal Mapped to Parent Service

In BRM, Pricing Center allows to add a service to a plan and to add a deal to that service which applies to a parent class of the service. PDC does not allow this configuration, and the migration utility reports an error if such a plan is migrated.

Recommended Action

Change the service in the plan to match the service referenced in the deal.

Example

Plan A applies to /service/telco/gsm/voice and contains:

  • Deal 1, which applies to /service/telco.

  • Deal 2, which applies to /service/telco/gsm.

Solution

The plan should be changed to have the following service/deal combination:

  • /service/telco

    • Deal 1

  • /service/telco/gsm

    • Deal 2

Using Overlapping Date Ranges to Sequentially Impact Multiple Resources

PDC does not support BRM rate plans with more than one date tier with overlapping date ranges. This type of configuration is typically used to first consume an included balance, such as Anytime Minutes and after the balance is exhausted, to charge for the remaining usage.

Recommended Action

Re-configure the product to contain only a usage charge and configure a discount to credit the charge and debit the available balance.

Example

A rate plan for voice calls has two date tiers:

  • Consume Minutes, with a validity period that starts immediately and never ends.

  • Charges for call, with a validity period that starts immediately and never ends.

Solution

Re-configure the product by doing the following:

  1. Create a discount based on the user scenario for consumption.

  2. Remove the consumption tier from the product.

  3. Do one of the following:

    • Create a new deal and add the discount created in step 1.

    • Add the discount created in step 1 to the existing deal and cancel the existing deal for the subscriber.

  4. Purchase the new or modified deal in BRM.

Quantity Brackets in a Fold

PDC requires the basis for quantity brackets in a fold to be specified as Resource Balance and the resource to be a noncurrency resource. If you migrate a BRM fold which has basis for quantity bracket configured with anything other than Resource Balance or the resource is a currency resource, the migration utility reports an error.

Recommended Action

Correct the fold configuration to use Resource Balance as the basis for quantity brackets and specify a noncurrency resource.

Examples

  • The basis for quantity discount bracket is Continuous or Rate Dependent.

  • The basis is Resource Balance but the resource is a currency resource.

Solution

Review the business scenario and ensure that your fold configuration is implemented correctly. You can only fold a noncurrency resource and the basis for quantity brackets in a fold must be Resource Balance.

BRM Object Names Containing Special Characters

PDC does not support the character "=" in a pricing object name. The migration utility reports an error if such objects are migrated.

Recommended Action

Change the pricing object name to not contain the "=" character.

Custom Fields

The migration utility is not aware of any custom fields that you may have created in the BRM database.

For example, the migration utility reports the following error while converting the event storable class to XML if the event storable class has custom fields:

SEVERE: Error while run migration!
oracle.communications.brm.pdc.migration.MigrationException: Got a non zero exit status from the command: 
/home/pin/7.5/bin/storableclasstoxml -r /home/pin/opt/oracle/11.2.0.3/apps/migration/xml/extract/Event.xml -o /event/*. Check if the BRM is up and running.

Recommended Action

Make custom fields available to applications. Refer to the discussion about making custom fields available to your applications for Java application in BRM Developer's Guide.

Note:

After creating the JAR file, restart the Connection Manager (CM) before running the migration utility.

Changes Required After Migration

The following changes are required after migration:

Selector with Multiple RUMs

In PDC, pricing using multiple RUMs is implemented with a single charge that contains separate charge trees for each RUM. In BRM, pricing using multiple RUMs is implemented with separate rate plans or rate plan selectors for each RUM.

For BRM rate plan selectors with multiple RUMs, the migration utility does not do a complete migration of the rate plan selectors. The rate plan selector is migrated to one charge selector with one rule mapped to a single charge and the charge will contain multiple charge trees, one for each RUM.

Recommended Action

After migration, re-configure the charge selector in PDC by defining rules where each rule results in a charge that contains a charge tree for each RUM.

Noncurrency Resources Used as Counters

When configuring a credit balance impact in PDC, only positive values are accepted in the PDC UI and the value is stored as a negative value, which is the convention for credits. Therefore, the value in the PDC UI has a different sign from the corresponding value in the database.

In Pricing Center, when a noncurrency balance element is impacted with a positive value, as in a counter, it is migrated as follows:

  • If the Grantable flag is not checked in the balance impact, it is migrated to a debit in PDC.

  • If the Grantable flag is checked, it is migrated to a credit with a positive value in PDC. Because PDC reverses the sign of a credit amount, the migrated credit is initially displayed as a negative value, but when Save is clicked, the negative sign is removed, because negative values are not accepted in the UI. Consequently, the value in the database becomes a negative value. This changes the initial configuration and would likely result in pricing errors.

Recommended Action After migration, change the balance element to a counter. If the balance element is tagged as a counter, the database value is not changed and PDC displays this balance impact as an increase of the counter using the actual amount stored in the database.

Example

Given the following balance impact in Pricing Center:

Impact: "Dollars Spent"
Impact: "Dollars Spent"
Id: 1500001 
Amount: 0.40 per minute
Grantable: Yes

After migration, the balance impact in PDC is:

Credit: "Dollars Spent"
Id: 1500001 
Amount: 0.40 per minute

Without changing the balance element to a counter, if this balance impact is displayed in PDC and saved, it is stored as:

Credit: "Dollars Spent"
Amount: -0.40 per minute
Id: 1500001 

After changing the balance element to be a counter, if this balance impact is displayed in PDC, it is displayed and saved as:

Increase: "Dollars Spent"
Id: 1500001 
Amount: 0.40 per minute

Solution:

Update the BalanceElement table using the following SQL statement.

UPDATE BalanceElement 
SET Counter=1 
WHERE NumericCode=1500001;

BRM Rate Plans with Multiple Currencies

In BRM, a product can have multiple real-time rate plans, one rate plan per currency or one pipeline rate plan with multiple currencies. These product configurations are migrated in different ways.

BRM Real-Time Rate Plans

If you migrate a BRM product with multiple real-time rate plans per currency, it is migrated as one charge offer with one charge that has multiple branches, one for each currency charge. This is not displayed in the PDC application.

Recommended Action

After migration, if you want to change a price in the migrated charge offer, you can edit the XML for the charge offer, change prices for the appropriate currencies, and then import the charge offer without viewing it in a changeset in the PDC application. The changeset is stored in PDC and published to BRM.

BRM Pipeline Rate Plans

If you migrate a BRM product with a pipeline rate plan with multiple currencies, it is migrated as one charge offer with one charge that has multiple currencies. The currencies that are not specified for the rate plan are displayed as read-only in the PDC application.

Recommended Action

After migration, if you want, you can edit the charge and remove the currencies which are read-only and create duplicate charge offers with one charge per currency. For more information about configuring pricing for a charge, see the discussion about specifying charge details and configuring pricing in charges in PDC Creating Product Offerings.

Handling Migration Process Errors

Errors during the data migration can occur for various reasons, such as:

  • Database connection problems

  • Permission to write files

  • The XML data does not comply with the XSD

If you encounter these types of errors, look in the migration utility's log file, which is located in the log file directory specified in the BRM_Integration_Pack_Home/apps/migration/MigrateConfiguration.xml configuration file, for the specific details.

Resolving Java Heap Space Error

The migration utility is a Java process that runs on the Java Virtual Machine (JVM). While running the utility, you may receive "java.lang.OutOfMemoryError: Java heap space" error message on the WebLogic Managed Server. This occurs when the JVM runs out of heap space that it uses to run the utility.

The Java heap space size for the migration utility is set to 512 megabytes initial heap space and 4096 megabytes maximum heap space. In most cases, these default settings are sufficient. However, if you receive the Java heap space error, you may want to adjust the heap space sizes by adjusting the JVM parameters -Xms<size> and Xms<size>, where -Xms<size> specifies the initial heap space and -Xmx<size> specifies the maximum heap space.

To set the Java heap space size:

  1. Open the BRM_Integration_Pack_Home/apps/migration/MigrateBRMPricing shell script in a text editor.

  2. Search for the following line:

    ${JAVA_HOME}/bin/java -Xms512m -Xmx4096m -XX:CompileThreshold=8000 -XX:PermSize=128m -XX:MaxPermSize=1024m  -cp ${clp} ${jvmopts} oracle.communications.brm.pdc.migration.Migrator $*
    
  3. Change 512m and 4096m to appropriate heap sizes.

    For example:

    ${JAVA_HOME}/bin/java -Xms768m -Xmx4352m -XX:CompileThreshold=8000 -XX:PermSize=128m -XX:MaxPermSize=1024m -cp ${clp} ${jvmopts} oracle.communications.brm.pdc.migration.Migrator $*
    
  4. Update the Java heap space settings on the WebLogic Server. See the Oracle WebLogic Server documentation for more information.

For more information about Java heap space sizing guidelines, refer to the JVM documentation.

Restarting the Systems

After the migration is complete, restart all the BRM and PDC system components, including Pipeline Manager, WebLogic server, and the batch rating engine and real-time rating engine transformation engines.

Restarting the systems clears the data that is cached in the system memory during the migration.

Testing the Migrated Data

After migration is complete, test the migrated data before moving the data to the production systems.

For example:

  • Using the PDC application, verify that you are able to create and modify pricing and configuration objects without any errors.

  • Generate some usage events in BRM, then perform rating and billing of the events using the pricing data from before the migration and after.

  • Compare the rating and billing results and verify that the results are the same.

Importing the Migrated Data to the Production Systems

After you have successfully completed the migration of the configuration and pricing objects on the development system, you can import the changes to your production system.

Note:

To import changes from the development system to the production system, it is required that the BRM database on the production system must have exactly the same pricing data configurations as in the BRM database on the development system prior to the original migration.

To import the data to the production system:

  1. Ensure that the PDC production system is a new installation of PDC. The PDC database cannot have any existing data.

  2. Do one of the following:

    If you are migrating the BRM pricing data to PDC, do the following:

    1. Ensure that the BRM production database contains exactly the same configuration and pricing objects as in the BRM database on the development system prior to the original migration.

    2. Propagate any updates that you made to the BRM data in the development system during the original migration to the BRM production system.

    3. Propagate any updates that you made to the BRM data in the development system during the original migration to the BRM production system.

    • If you are migrating the BRM pricing data to PDC, ensure that the BRM production database contains exactly the same configuration and pricing objects as in the BRM database on the development system prior to the original migration.

    • If you are migrating the PDC pricing data to PDC, ensure that the PDC production database contains exactly the same configuration and pricing objects as in the PDC database on the development system prior to the original migration.

  3. Propagate any updates that you made to the BRM data in the development system during the original migration to the BRM production system.

  4. Setup and configure the loadpricelist and LoadIfwConfig utilities to connect to the BRM and Pipeline Manager production databases:

    1. On the development system, create a directory for the loadpricelist utility for each BRM production database.

      For example, load_price_list_hostname, where hostname is the name of the BRM production database server.

    2. Copy the contents from the loadpricelist directory installed on the production system.

    3. Ensure that the loadpricelist utility can connect to the BRM production database.

    4. Create a directory for the LoadIfwConfig utility for each Pipeline Manager production database.

      For example, LoadIfwConfig_hostname, where hostname is the name of the Pipeline Manager production database server.

    5. Copy the contents from the LoadIfwConfig directory installed on the production system (the default directory is XmlLoader).

    6. Ensure that the LoadIfwConfig utility can connect to the Pipeline Manager production database.

  5. Copy the client.jks from the target PDC production system into the source PDC system.

  6. Update the BRM_Integration_Pack_Home/apps/bin/MigrateBRMPricing file with the keystore information for the target PDC production system where you want to import the changes:

    1. On the PDC development system, copy the BRM_Integration_Pack_Home/apps/bin/MigrateBRMPricing file and rename it Hostname_MigrateBRMPricing, where Hostname identifies the target PDC system.

    2. Edit the Hostname_MigrateBRMPricing file to reference the target production systems:

      1. Search for the jvmopts entry.

      2. Set the -Djavax.net.ssl.trustStore entry to the location of the client.jks file copied from Target server.

      3. Save and close the file.

  7. Copy the BRM Integration Pack wallet from the target PDC production system into the source PDC system.

  8. Update the migration utility's configuration file with the connection information for the PDC and BRM production systems where you want to import the changes:

    1. On the development system, copy the BRM_Integration_Pack_Home/apps/migration/MigrationConfiguration.xml file and rename it Hostname_MigrationConfiguration.xml, where Hostname identifies the target PDC system.

    2. Edit Hostname_MigrateConfiguration.xml to reference the target production systems.

      1. Search for walletConfiguration.

      2. Set the pdcWalletLocation entry to the location of the BRM Integration Pack wallet copied from the target PDC production system.

      3. Search for pricingServer:

        <pricingServer>
          <connectionInfo>
            <hostName>PricingServerHostName</hostName>
            <port>PricingServerPort</port>
            <adminUser>AdminUserName</adminUser>
            <pdcUser>PDCUser</pdcUser>
          </connectionInfo>
        </pricingServer>
        
      4. Edit the connectionInfo entry within the pricingServer element to reference the PDC production system.

      5. Search for the xrefDatabase element.

        <xrefDatabase>
          <connectionInfo>
            <login>CrossRefUserName</login>
            <hostName>CrossRefHostName</hostName>
            <port>CrossRefPort</port>
            <serviceName>CrossRefServiceName</serviceName>
          </connectionInfo>
        </xrefDatabase>
        
      6. Edit the connectionInfo within the xrefDatabase element to reference the PDC transformation database.

      7. Search for the targetBRM element.

      8. Edit the loadPriceListDir within the targetBRM element to reference the directory where loadpricelist utility is run to update the BRM system.

      9. (Only if Pipeline data was migrated by the original migration) Edit the loadIfwConfigDir within the targetBRM element to reference the directory where LoadIfwConfig utility is run to update the Pipeline database.

  9. Run the following command, which starts the import of the changes to PDC and BRM production systems:

    MigrateBRMPricing -retarget -properties Hostname_MigrateConfiguration.xml
    

    If the retarget migration process stops, run the following command, which restarts the process:

    MigrateBRMPricing -retarget -restart -properties Hostname_MigrateConfiguration.xml
    

    When the retarget migration process is complete, a status report is generated in the report directory location specified in the BRM_Integration_Pack_Home/apps/migration/MigrateConfiguration.xml configuration file. The status report file name includes the target PDC system host name and port number. For example, StatusReport_Retarget_hostname_portnumber.html.

  10. Remove the XML files generated during migration (Optionally, you can store them in a secure location if you need them for future use).

    1. On the development system, open the BRM_Integration_Pack_Home/apps/migration/MigrateConfiguration.xml file.

    2. Search for the brmExtractedXML element:

      <brmExtractedXML>BRMExtractedXML</brmExtractedXML>
      
    3. Remove the XML files in the directory location specified by BRMExtractedXML.

    4. Search for the brmXML element:

      <brmXML>BRMDataFile</brmXML>
      
    5. Remove the XML files in the directory location specified by BRMDataFile.

    6. Search for the pdcXML element:

      <pdcXML>PDCDataFile</pdcXML>
      
    7. Remove the XML files in the directory location specified by PDCDataFile.

About Working with the Pricing Data after Migration

After the BRM pricing data has been successfully migrated to PDC, you use the PDC application to modify the pricing data or create new pricing configurations. PDC transforms the data into the BRM pricing data model and then loads the data into the BRM database.

Modifications to the configuration objects which are managed in BRM must be done in BRM and then synchronized with PDC by using SyncPDC utility. See the discussion about synchronizing setup components in PDC Creating Product Offerings for more information.