5 Synchronizing Setup Components

This chapter describes how to synchronize setup components from Oracle Communications Billing and Revenue Management (BRM) and rating systems with Oracle Communications Pricing Design Center (PDC).

About Synchronizing Setup Components

When configuring a new PDC system, you use the SyncPDC utility to synchronize the setup components defined in billing and rating systems with PDC. See "About Configuring Setup Components" for more information.

Note:

Ensure that /event/realtimeDiscount does not exist in BRM during synchronization.

SyncPDC synchronizes the following setup components:

  • Service definitions

  • Event definitions

  • Account definition

  • General ledger (G/L) IDs

  • Provisioning tags

  • Tax codes

  • Tax suppliers

  • Business profiles

After these setup components are synchronized with PDC, any modifications to these setup components must only be done in the system in which they were initially defined and then resynchronized.

SyncPDC synchronizes only the changes from the previous synchronization. It generates reports for the components that it synchronizes. See "Generating Synchronization Reports" for more information.

When synchronizing setup components, SyncPDC creates display names in PDC for the corresponding data objects and their fields. For example, it creates the GsmTelephony PDC name for the /service/gsm/telephony service name in BRM. You can change the PDC display name in PDC. For example, you can change EventTelcoGsmVoice to Voice Call. If you later run SyncPDC to resynchronize this event, it retains the name change. See "Changing Display Names" for more information about updating PDC display names.

If you delete a setup component (or any of its fields) from the billing or rating system, you must manually remove the corresponding PDC component (or its fields) from the PDC database. See "Deleting Components Mastered in BRM" for more information.

About the SyncPDC Utility

The SyncPDC utility runs as a server process in the background, continuously checking for data to synchronize from BRM or rating system with PDC. You can schedule it to run immediately, at a specified time, or regularly at a specified time. At any given time, you can stop the synchronization by stopping SyncPDC. See "Stopping SyncPDC" for more information.

Prerequisites for Running SyncPDC

Before you run SyncPDC, do the following:

  • Start the transformation engines for the rating systems. See the discussion of starting the transformation engines in PDC Installation and System Administration Guide.

  • Include the PDC_home/apps/bin directory in your PATH environment variable, where PDC_home is the directory in which you installed the PDC software.

  • Configure the BRM_Integration_Pack_Home/apps/syncpdc/SyncPDCConfiguration.xml file. See Table 5-1, "Elements in the SyncPDCConfiguration.xml File", for more information.

To run SyncPDC, you must have Pricing Design Admin role privileges.

About Configuring SyncPDC

SyncPDC uses the SyncPDCConfiguration.xml file, which contains connection information for the Oracle WebLogic Server Administration, the PDC server, and the cross-reference database and configuration settings for SyncPDC. This file is generated during PDC installation and is located in the BRM_Integration_Pack_Home/apps/syncpdc directory. By default, this file contains the values that you provide during BRM Integration Pack installation. You can change the default values by updating this file.

Table 5-1 lists the elements in SyncPDCConfiguration.xml, the usage of each element, and a description of how to specify each element based on the default version of the file.

Table 5-1 Elements in the SyncPDCConfiguration.xml File

Element Syntax Description

Configuration

<Configuration>

The root element of SyncPDCConfiguration.xml.

xrefDatabase

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

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

  • CrossRefUserName specifies the cross-reference database user name

  • CrossRefPassword specifies the encrypted cross-reference database password

  • CrossRefHostName specifies the IP address or the host name of the computer 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

pricingServer

<pricingServer>
  <connectionInfo>
    <hostName>PricingServerHostName</hostName>
    <port>PricingServerPort</port>
    <adminUser>AdminUserName</adminUser>
    <adminPassword>AdminPassword</adminPassword>
    <pdcUser>PDCUser</pdcUser>
    <pdcUserPassword>PDCUserPassword</pdcPassword>
  </connectionInfo>
</pricingServer>

Contains the PDC server information, where:

  • PricingServerHostName specifies the IP address or the host name of the computer on which PDC is deployed

  • PricingServerPort specifies the port number of the domain on which PDC is deployed

  • AdminUserName specifies the user name of the PDC server administrator

  • AdminPassword specifies the encrypted PDC server administrator password

  • PDCUser specifies the user name of the PDC user

  • PDCUserPassword specifies the encrypted PDC user password

transformationHome

<transformationHome>TransformationHome</transformationHome>

Specifies the path to the directory that stores the transformation process IDs, where TransformationHome is the complete path to the directory.

syncPDCLogFileLocation

<syncPDCLogFileLocation>SyncPDCLogFile</syncPDCLogFileLocation>

Specifies the path to the directory that stores SyncPDC log files, where SyncPDCLogFile is the complete path and the name of the log file.

brand

<brand>BrandOption</brand>

Specifies whether PDC supports branding, where BrandOption is:

  • enabled to specify that PDC supports branding

  • disabled to specify that PDC does not support branding

pdcSSL

<pdcSSL>SSLOption</pdcSSL>

Specifies whether the PDC server supports SSL, where SSLOption is:

  • enabled to specify that PDC supports SSL. If SSL is enabled, SyncPDC uses the t3s://Host:Port URL to access PDC

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

retryInfo

<retryInfo>
  <retryInterval>RetryInterval</retryInterval>
  <maxRetries>MaxRetries</maxRetries>
</retryInfo>

Contains the information about when and how many times SyncPDC should retry the synchronization process if it fails initially, where:

  • RetryInterval specifies the interval in seconds after which SyncPDC again tries to synchronize the data that was not previously synchronized

  • MaxRetries specifies the maximum number of retries

ECESync

<ECESync>ECESyncOption</ECESync>

Specifies to synchronize BRM data with PDC, where ECESyncOption is:

  • true to synchronize BRM data with PDC to use ECE for usage rating.

  • false to synchronize BRM data with PDC to use real-time and batch rating engines for usage rating.

pdcXML

<pdcXML>PDCData</pdcXML>

Specifies the path to the directory where SyncPDC creates the XML files containing the extracted data in PDC format, where PDCData is the complete path to the directory.

reportFileLocation

<reportFileLocation>ReportLocation</reportFileLocation>

Specifies the path to the directory where SyncPDC stores the report of the synchronization process, where ReportLocation is the complete path to the directory.

brmExtractedXML

<brmExtractedXML>BRMData
</brmExtractedXML>

Specifies the path to the directory where SyncPDC creates the XML files containing the data extracted from the BRM database, where BRMData is the complete path to the directory.

pdcExtractedXML

<pdcExtractedXML>PDCData
</pdcExtractedXML>

Specifies the path to the directory where SyncPDC creates the XML files containing the data extracted from the PDC database, where PDCData is the complete path to the directory.

archiveFileLocation

<archiveFileLocation>ArchiveFile</archiveFileLocation>

Specifies the path to the directory where a successfully processed file is archived, where ArchiveFile is the complete path to the directory. No archive file is created if there is no change from the previous synchronization.

skipBREMigration

<skipBREMigration>SkipOption</skipBREMigration>

Specifies to skip synchronization of pipeline configuration data, where SkipOption is either true or false.

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.

syncPDCBREConfig

<syncPDCBREConfig>
 <containerDesc>
  <param>
    <paramname>ParamName</paramname>
    <paramvalue>ParamValue</paramvalue>
  </param>
 </containerDesc>
 <eventExtension>
  <param>
    <paramname>BRMBatchRatingEventName</paramname>
<paramvalue>EventExtensionBlockName</paramvalue>
  </param>
 </eventExtension>
 <serviceExtension>
  <param>
    <paramname>BRMServiceName</paramname>
    <paramvalue>ServiceExtensionBlockName</paramvalue>
  </param>
 </serviceExtension>
</syncPDCBREConfig>

Contains the information about EDR container description data and delayed events and services for batch rating engine.

The <containerDesc> element specifies the EDR container description data that is used by the batch rating engine, where:

  • ParamName specifies the field name that defines the EDR container description name

  • ParamValue specifies the value of ParamName. The EDR container description data that matched ParamValue is used as the base to synchronize EDR fields for events and services

The <eventExtension> element specifies the mapping of a delayed event to the extension block name used in the batch rating engine, where:

  • BRMBatchRatingEventName specifies the delayed event name

  • EventExtensionBlockName specifies the extension block name to which the delayed event is mapped

Add <param> elements to the <eventExtension> elements for each BRMBatchRatingEventName and EventExtensionBlockName to include.

The <serviceExtension> element specifies the mapping of a BRM service to the extension block name used in the batch rating engine, where:

  • BRMServiceName specifies the BRM service name

  • ServiceExtensionBlockName specifies the extension block name to which the BRM service is mapped

Add <param> elements to the <serviceExtension> elements for each BRMServiceName and ServiceExtensionBlockName to include.

For more information about the EDR container description, see the BRM documentation.

scheduling

<scheduling>
  <runOnStartup>StartupOption</runOnStartup>
  <startAt>StartTime</startAt>
  <interval>Interval</interval>
</scheduling>

Contains the scheduling configurations for SyncPDC.

If the <scheduling> element is not present or its child elements are not defined correctly, SyncPDC runs immediate only once.

StartupOption specifies whether SyncPDC should run immediately:

  • true specifies that SyncPDC runs immediately in addition to the scheduled time

  • false specifies that SyncPDC does not run immediately but at the scheduled time

StartTime specifies the time in HH:MM format when you want SyncPDC to start, where:

  • HH specifies hours between 00 and 23

  • MM specifies minutes between 00 and 59.

Interval specifies the frequency in N:A format at which you want to run SyncPDC, where:

  • N is an integer

  • A is D for days, H for hours, or M for minutes

For example, to run SyncPDC every two days, enter:

<interval>2:D</interval>

Note: 24:H is not same as 1:D due to daylight saving time.


Updating the SyncPDCConfiguration.xml File

To update SyncPDCConfiguration.xml:

Note:

To change an encrypted password in the SyncPDCConfiguration.xml file, see the discussion about changing the encrypted passwords in the configuration files in PDC Installation and System Administration Guide.
  1. Open the BRM_Integration_Pack_Home/apps/syncpdc/SyncPDCConfiguration.xml file in a text editor or an XML editor.

  2. Edit the file. See Table 5-1, "Elements in the SyncPDCConfiguration.xml File", for more information.

  3. Save and close the file.

  4. Run the SyncPDC utility.

    See "Running SyncPDC" for more information.

Running SyncPDC

To run SyncPDC:

  1. Ensure that transformation engines are running. See the discussion of starting the transformation engines in PDC Installation and System Administration Guide.

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

  3. Enter the following command:

    startSyncPDC
    

    The Enter Key Password prompt appears.

  4. Enter the password PDC uses for accessing the PDC alias key in the keystore (BRM_Integration_Pack_Home/apps/conf/pdc.jks).

    A series of messages appears on the command prompt that indicate the synchronization status.

    For example:

    Clean up work item SYNC_EVENT...
    Work item SYNC_EVENT started (item 1 of 8).
      Processing EXTRACT work action...
      Work action EXTRACT completed.
      Processing ANALYZE work action...
      Work action ANALYZE completed.
      Processing TRANSFORM work action...
      Work action TRANSFORM completed.
    Processing LOAD work action...
      Work action LOAD completed.
    Work item SYNC_EVENT completed.
    

    After the synchronization is complete, check the synchronization report available in the directory defined in the <reportFileLocation> element of the SyncPDCConfiguration.xml file.

Scheduling Synchronization

You can schedule the data synchronization from BRM or rating systems with PDC by:

Running SyncPDC Immediately

To run SyncPDC immediately instead of waiting for the next scheduled run time:

  1. Open the BRM_Integration_Pack_Home/apps/syncpdc/SyncPDCConfiguration.xml file in a text editor or an XML editor.

  2. Set the <runOnStartup> element to true:

    <runOnStartup>true</runOnStartup>
    
  3. Save and close the file.

  4. (Optional) If SyncPDC is already running in the background, stop it.

    See "Stopping SyncPDC" for more information.

  5. Run SyncPDC. See "Running SyncPDC" for more information.

Running SyncPDC at a Scheduled Time

To run SyncPDC at a schedule time:

  1. Open the BRM_Integration_Pack_Home/apps/syncpdc/SyncPDCConfiguration.xml file in a text editor or an XML editor.

  2. Set the <runOnStartup> element to false:

    <runOnStartup>false</runOnStartup>
    
  3. Set the <startAt> element to the start time:

    <startAt>HH:MM</startAt>
    

    where:

    • HH specifies hours between 00 and 23

    • MM specifies minutes between 00 and 59

    For example, to run SyncPDC at 11:50 pm, enter:

    <startAt>23:50</startAt>
    
  4. Save and close the file.

  5. Run SyncPDC.

    See "Running SyncPDC" for more information.

Running SyncPDC Immediately and at a Scheduled Time

To run SyncPDC immediately and at a schedule time:

  1. Open the BRM_Integration_Pack_Home/apps/syncpdc/SyncPDCConfiguration.xml file in a text editor or an XML editor.

  2. Set the <runOnStartup> element to true:

    <runOnStartup>true</runOnStartup>
    
  3. Set the <startAt> element to the start time:

    <startAt>HH:MM</startAt>
    

    where:

    • HH specifies hours between 00 and 23

    • MM specifies minutes between 00 and 59

    For example, to run SyncPDC immediately and at 11:50 pm, enter:

    <runOnStartup>true</runOnStartup>
    <startAt>23:50</startAt>
    
  4. Save and close the file.

  5. Run SyncPDC.

    See "Running SyncPDC" for more information.

Running SyncPDC at Recurring Scheduled Time

To run SyncPDC at recurring scheduled time:

  1. Open the BRM_Integration_Pack_Home/apps/syncpdc/SyncPDCConfiguration.xml file in a text editor or an XML editor.

  2. Set the <runOnStartup> element to false:

    <runOnStartup>false</runOnStartup>
    
  3. Set the <startAt> element to the start time:

    <startAt>HH:MM</startAt>
    

    where:

    • HH specifies hours between 00 and 23

    • MM specifies minutes between 00 and 59

  4. Specify the <interval> element as follows:

    <interval>N:A</interval>
    

    where:

    • N is an integer

    • A is D for days, H for hours, or M for minutes

    For example, to run SyncPDC at 11:50 pm everyday, enter:

    <runOnStartup>false</runOnStartup>
    <startAt>23:50</startAt>
    <interval>1:D</interval>
    
  5. Save and close the file.

  6. Run SyncPDC.

    See "Running SyncPDC" for more information.

Synchronizing BRM Data with PDC to Use ECE for Usage Rating

To synchronize BRM data with PDC to use ECE for usage rating:

  1. Open the BRM_Integration_Pack_Home/apps/syncpdc/SyncPDCConfiguration.xml file in a text editor or an XML editor.

  2. Set the <ECESync> element to true:

    <ECESync>true</ECESync>
    
  3. Save and close the file.

  4. Run SyncPDC.

    See "Running SyncPDC" for more information.

Stopping SyncPDC

You can stop SyncPDC at any time. If you stop SyncPDC while it is synchronizing data, it finishes the synchronization before stopping.

To stop SyncPDC, enter the following command:

stopSyncPDC

A series of messages appears, indicating progress.

For example:

Previous process id :4381
Killing child processes ...
Killing process ...
Cleaning temporary files ... 
[1]  + Killed

Generating Synchronization Reports

SyncPDC generates reports for the components that it synchronizes. If there are no changes from the previous synchronization, SyncPDC does not create a report.

You specify the location of the SyncPDC report in the <reportFileLocation> element of the SyncPDCConfiguration.xml file.

When synchronizing data from BRM with PDC, the SyncPDC report lists the object type for each setup component that is synchronized. It lists the PDC display name and the corresponding BRM or rating system name for each of the setup component objects. It also provides the total number of object types for each setup component that are synchronized.

Figure 5-1 shows a sample SyncPDC report for BRM data.

Figure 5-1 Sample SyncPDC Report for BRM Data

Description of Figure 5-1 follows
Description of ''Figure 5-1 Sample SyncPDC Report for BRM Data''

When synchronizing data from ECE with PDC, the SyncPDC report provides the status of loading the XML files containing ECE data.

Figure 5-2 shows a sample SyncPDC report for ECE data.

Figure 5-2 Sample SyncPDC Report for ECE Data

Description of Figure 5-2 follows
Description of ''Figure 5-2 Sample SyncPDC Report for ECE Data''

Handling Synchronization Failures

The most common reasons for a synchronization failure are as follows:

  • The billing or rating system is down

  • After billing or rating system data was modified, the billing or rating system was not restarted. Hence, no data is available for synchronization with PDC

  • The PDC system is down

  • The transformation engines are down

  • The transformation engines failed to process the PDC data and update the cross-reference database

  • The billing or rating system database or the PDC database is down

Reprocessing a Failed Synchronization

To reprocess a failed synchronization:

  1. Identify and fix the cause of the synchronization failure.

    For information about synchronization failures, check the SyncPDC log file located in the directory specified in the <syncPDCLogFileLocation> element of the SyncPDCConfiguration.xml file.

  2. Run SyncPDC.

    See "Running SyncPDC" for more information.

    SyncPDC synchronizes the data that failed to synchronize earlier and ignores the data that was already synchronized.

Changing Display Names

When synchronizing setup components, SyncPDC creates display names in PDC for the corresponding data objects and their fields. You can change the default display names that SyncPDC creates.

To change the display name of a setup component:

  1. Export the setup component to an XML file by using the ImportExportPricing utility.

    See "Exporting Pricing and Setup Components from PDC" for more information.

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

  3. Change the display name of the setup component in the XML file.

  4. Save and close the file.

  5. Import the updated XML file to PDC by using ImportExportPricing.

    See "Importing Pricing and Setup Components" for more information.

    If you later run SyncPDC to synchronize any changes from the billing or rating system with PDC, SyncPDC retains the updated component name.