41 Pipeline Manager Framework Modules

This chapter provides reference information for Oracle Communications Billing and Revenue Management (BRM) Pipeline Manager framework modules.

Controller

Use the Pipeline Manager Controller to control and monitor components in the Pipeline Manager framework. The Controller also generates the log message table that is used by the LOG module to generate the Process log file, the Pipeline Manager log file, and the Stream log file. For information, see "LOG".

For information, see "About the Controller" in BRM Concepts.

Registry Entries

Table 41-1 lists the Controller registry entries.

Table 41-1 Controller Registry Entries

Entry Value Description Mandatory?

Active

True

False

Activates or deactivates the Pipeline Manager framework.

  • True activates the Pipeline Manager framework.

  • False deactivates the Pipeline Manager framework.

See "Starting And Stopping Pipeline Manager Manually" in BRM System Administrator's Guide.

Yes

DataPool

N/A

Subgroup that contains entries for all data modules in the Pipeline Manager framework.

See "About the data pool" in BRM Concepts.

Yes

DiagnosticDataHandler

N/A

Subgroup that configures diagnostic data collection.

See "Diagnostic Data Handler" and "Using The Diagnostic Data Handler To Get OMF Diagnostic Data" in BRM System Administrator's Guide.

No

EventHandler

N/A

Subgroup that contains the Event Handler entries.

See "Using Events to Start External Programs" in BRM System Administrator's Guide and "Event Handler".

No

Instrumentation

N/A

Subgroup that configures Operations Management Framework (OMF) instrumentation data collection.

See "About Operations Management Framework" and "Enabling SNMP Instrumentation Data Collection" in BRM System Administrator's Guide.

Yes

Instrumentation.ProbeBroker

String

Specifies the path to the OMF insturmentation folder.

See "About Operations Management Framework" in BRM System Administrator's Guide.

Yes

Instrumentation.SnmpServer

String

Specifies configuration data for the OMF SNMP server.

See "About Operations Management Framework" and "Enabling SNMP Instrumentation Data Collection" in BRM System Administrator's Guide.

No

Instrumentation.HttpServer

String

Specifies configuration data for the OMF HTTP server.

See "About Operations Management Framework" and "Enabling HTTP Display Of Instrumentation Data" in BRM System Administrator's Guide.

No

LogMessageTable.MessageFilePath

String

Specifies the path to your error message files. By default, the Pipeline Manager installer installs your error message files in the Pipeline_Home/etc directory. Pipeline_Home is the directory where you installed Pipeline Manager.

See "About error message files" in BRM System Administrator's Guide.

No

LogMessageTable.MessageFilePrefix

String

Specifies the prefix for your error message files.

See "About error message files" in BRM System Administrator's Guide.

No

LogMessageTable.MessageFileSuffix

String

Specifies the suffix for your error message files.

See "About error message files" in BRM System Administrator's Guide.

No

MemoryMonitor

N/A

Subgroup that configures memory monitoring.

See "Memory Monitor".

No

Pipelines

N/A

Subgroup that contains the entries for each pipeline.

See "About Pipelines" in BRM Concepts.

Yes

ProcessLog

N/A

Subgroup that contains entries for the main processing log.

See "About Pipeline Manager Log Files" in BRM System Administrator's Guide and "LOG".

Yes

ProcessLoopTimeout

Integer

Specifies the interval, in seconds, between polling for a new semaphore file.

This parameter controls the overall event loop, which includes looking for semaphore files.

The value must be greater than 0.

See "Using Semaphore Files To Control Pipeline Manager" in BRM System Administrator's Guide.

Yes

QueueRequestTimeout

Integer

Specifies the interval for logging buffer sizes, in seconds. A value of 0 turns off logging.

See "Configuring Buffer Size Polling" in BRM System Administrator's Guide.

Yes

Registry

N/A

Subgroup that contains registry processing entries.

See "Using Registry Files To Configure Pipeline Manager" in BRM System Administrator's Guide.

Yes

Registry.Buffer

N/A

Subgroup that specifies the registry buffer's size and type. The registry entries in this subgroup depend on the buffer type.

See "Configuring Pipeline Buffers" in BRM System Administrator's Guide.

Yes

Registry.FileName

String

Specifies the name of a file in dot-separated format that contains current updated registry settings, including semaphore updates.

See "Using Registry Files To Configure Pipeline Manager" in BRM System Administrator's Guide.

Yes

Registry.FilePath

String

Specifies the path to the registry file.

See "Using Registry Files To Configure Pipeline Manager" in BRM System Administrator's Guide.

Yes

Registry.NiceFormatFileName

String

Specifies the name of a file that contains current updated registry settings, including semaphore updates. This file format is easier to read than .FileName format and can be used to debug a registry file or create a new one.

See "Using Registry Files To Configure Pipeline Manager" in BRM System Administrator's Guide.

Yes

Semaphore

N/A

Subgroup that contains semaphore processing entries.

See "Using Semaphore Files To Control Pipeline Manager" in BRM System Administrator's Guide.

Yes

Semaphore.FileName

String

Specifies the name of the semaphore file.

See "Using Semaphore Files To Control Pipeline Manager" in BRM System Administrator's Guide.

Yes

Semaphore.FilePath

String

Specifies the path to the semaphore file.

See "Using Semaphore Files To Control Pipeline Manager" in BRM System Administrator's Guide.

Yes

Semaphore.RetainFiles

True

False

Specifies whether semaphore files are deleted or saved after they are processed.

  • True specifies to save semaphore files. The Controller renames the file by appending the current timestamp to the file name in the format YYYYMMDD_hhmmss and logs the semaphore file's new name in the process.log file. For example, the semaphore.reg file is renamed semaphore_20031022_120803.reg.

  • False specifies to delete semaphore files immediately after they are processed.

The default is False.

See "Using Semaphore Files To Control Pipeline Manager" in BRM System Administrator's Guide.

No

TransactionIDController

N/A

Subgroup that contains the Transaction ID Controller entries.

See "About Pipeline Manager Transactions" in BRM System Administrator's Guide and "Transaction ID Controller".

Yes


Sample Registry File

ifw 
{ 
    Active = TRUE 
    ProcessLoopTimeout = 10 
    QueueRequestTimeout = 0 
    Semaphore 
    { 
        FilePath = ./semaphore 
        FileName = semaphore.reg 
        RetainFiles = False
    } 
    Registry 
    { 
        FilePath = ./info 
        FileName = Sample.reg 
        NiceFormatFileName = niceSample.reg 
        Buffer 
        { 
            Size = 1000 
        } 
    } 
    ProcessLog 
    { 
        ModuleName = LOG 
        Module 
        { 
        } 
    }
    LogMessageTable
    {
        MessageFilePath= ./etc
        MessageFileSuffix= .msg
    }
    EventHandler 
    { 
        ModuleName = EVT 
        Module 
        { 
        } 
    } 
    DataPool 
    { 
        Login 
        { 
            ModuleName = DBC 
            Module 
            { 
                UserName = TEST 
                PassWord = 574B9CD1CBFD1B077760181C111B181D10661B67 
                DatabaseName = TE01 
                AccessLib = oci11g72
                Connections = 5 
            } 
        } 
    } 
    TransactionIdController 
    { 
        Source = Database 
        Generator 
        { 
            DataConnection = integrate.DataPool.Login 
        } 
    } 
    Pipelines 
    { 
    } 
}

Semaphore File Entries

Table 41-2 lists the Controller Semaphore file entries.

Table 41-2 Controller Semaphore File Entries

Entry Description

Active

Starts and stops the Pipeline Manager framework.

LogTimeStatistic

Specifies whether to write time statistics into the process log file.

QueueRequestTimeout

Specifies the interval for logging buffer sizes, in seconds. A value of 0 turns off logging.


Sample Semaphore Entry

ifw.Active = True

Events

Table 41-3 lists the Controller Events.

Table 41-3 Controller Events

Event Trigger

EVT_INTEGRATE_START

Pipeline Manager starts processing.

EVT_INTEGRATE_STOP

Pipeline Manager terminates. No more files are processed.


Database Connect (DBC)

Connects the Pipeline Manager framework to the Pipeline Manager database.

See "Connecting a Module to a Database" in BRM System Administrator's Guide.

Registry Entries

Table 41-4 lists the Database Connect registry entries.

Table 41-4 Database Connect Registry Entries

Entry Value Description Mandatory?

AccessLib

oci10g72

oci11g72

Specifies the name of the database access library, without the lib prefix and .so suffix.

  • Use oci10g72 for Oracle10g databases.

  • Use oci11g72 for Oracle11g databases.

Yes

Connections

Integer

Specifies the number of database connections that a database module holds open in a connection pool. The default is 1.

No

DatabaseName

String

Specifies the database name.

Yes

PassWord

String

Specifies the encrypted database password in hexadecimal format.

Yes

ServerName

String

Specifies the server name. The default is ".

No

UserName

String

Specifies the database user name.

Yes

ConvertToUpperCase

True

False

Specifies whether to convert the user name used by the password decryption to uppercase. The default is True.

No


Sample Registry for Oracle Databases

ifw 
{ 
    DataPool 
    { 
    ...
        #---------------------------------------------------------
        # Database Connection Pipeline
        #---------------------------------------------------------
        Login 
        { 
            ModuleName = DBC 
            Module 
            { 
                UserName = USER 
                PassWord = 574B93D1CBF21D1161611E0A07 
                DatabaseName = ORA_DB 
                AccessLib = oci11g72 
                Connections = 5 
            } 
        }
    ...
    } 
} 

Semaphore Entries

Table 41-5 lists the Database Connect Semaphore entry.

Table 41-5 Database Connect Semaphore Entry

Parameter Description Mandatory

Reconnect

Closes all open database connections and reconnects to the database.

See "Forcing a Database Reconnection" in BRM System Administrator's Guide.

No


Sample Semaphore

ifw.DataPool.Login.Module.Reconnect {}

EDR Factory

Use the EDR Factory to generate and allocate memory to EDR containers. The EDR Factory uses a container description file to generate each container. For information, see "About the EDR Factory" in BRM Concepts.

Registry Entries

Table 41-6 lists the EDR Factory registry entries.

Table 41-6 EDR Factory Registry Entries

Entry Value Description Mandatory?

DataConnection

String

Specifies the registry name of the database connection module (DBC). When you use this entry, the EDR Factory connects to the IFW_ALIAS_MAP database table to retrieve alias names.

Note: Use this field when you use aliases to describe EDR container fields.

See "Connecting a Module to a Database" in BRM System Administrator's Guide.

No

Description

String

Specifies the path to the container description file.

See "About the Container Description File".

Yes

EdrVersionDataConnection

String

Specifies the registry name of the database connection module (DBC). When you use this entry, the EDR Factory connects to the EDR_FIELD_MAPPING_T database table to retrieve the EDR field mapping.

No

UsageStatistic

String

Specifies the name of the usage statistic file. This file lists all modules that are using EDR container fields together with the fields that are accessed by each module.

No


Sample Registry

EdrFactory 
{ 
    DataConnection = integrate.DataPool.Login 
    Description = ./FMD/Portal/containerDesc.dsc 
    UsageStatistic = edrStatistic.txt 
    EdrVersionDataConnection = ifw.DataPool.LoginInfranet
}

Event Handler

Use the Event Handler to start external programs when triggered by internal Pipeline Manager events.

For information, see "Using Events to Start External Programs" in BRM System Administrator's Guide.

Registry Entries

Table 41-7 lists the Event Handler registry entries.

Table 41-7 Event Handler Registry Entries

Entry Description Mandatory?

Buffer

Subgroup that specifies the size and type of the Event Handler's internal queue buffer. The registry entries in this subgroup depend on the buffer type. See "Configuring Pipeline Buffers" in BRM System Administrator's Guide.

Yes

Events

Subgroup that contains trigger entries. See "About Mapping Events To Programs" in BRM System Administrator's Guide.

Yes

Event.EventName

Specifies the event that triggers an external program. Add an entry for each event that triggers an external program.

See "About Mapping Events To Programs" in BRM System Administrator's Guide.

Yes

Event.ModuleSendingEvent

Specifies the registry name of the module that sends the event to the Event Handler. Add an entry for each module that can trigger an external program.

See "About Mapping Events To Programs" in BRM System Administrator's Guide.

Yes

TimeToWait

Specifies the time in seconds that the Event Handler waits for the external program to terminate.

By default, no TimeToWait value is assumed.

See "Controlling External Programs" in BRM System Administrator's Guide.

No


Sample Registry

EventHandler 
{ 
    ModuleName = EVT 
    Module 
    { 
        Events 
        { 
            ifw.DataPool.Customer.Module
            {
                EVT_ReloadSuccess = ./script/script_1
                EVT_ReloadFailed = ./script/script_2
                TimeToWait = 30
            } 
            ifw.Pipelines.*
            {
                EVT_PIPELINE_START = ./script/script_3
                TimeToWait = 10
            } 
        } 
        Buffer 
        { 
            Size = 10
        } 
    } 
} 

Instances

Use the Instances module to configure multiple instances of sequencers, output streams, or system brands for multiple roaming partners. This module is optional.

Note:

This module does not configure multiple instances of pipelines. To do that, use the ifw.Pipelines.Instances subsection.

For more information, see "About Configuring Multiple Instances of Sequencers, Output Streams, or System Brands" in BRM System Administrator's Guide.

Registry Entries

Table 41-8 lists the Instances registry entries.

Table 41-8 Instances Registry Entries

Entry Description Mandatory?

InstantiationName

Specifies the descriptive name of the instantiation, for example, TAPOutputStreamsInstantiation.

Yes, if the Instances module is used.

InstantiationName.BlockName

Specifies the template section or entry in the roaming registry file that is used to instantiate multiple registry sections or entries.

The template section or entry contains variables for the section name, entry name, or the value of the entry that must be changed in each new instance created.

Yes

InstantiationName.DataFile

Specifies the path to the data file generated by the RoamingConfigGen64 utility. See "RoamingConfigGen64" for more information.

Yes

InstantiationName.InstanceSpecificEntries

Subgroup that specifies the entries that must be changed in each new instance created, such as the section name, entry name, the value of an entry, the change mode, and so on.

Yes

InstantiationName.InstanceSpecificEntries.InstanceChangeName

Specifies the descriptive name of the change required in each instance; for example, ModifyBlockName.

Yes

InstantiationName.InstanceSpecificEntries.InstanceChangeName.Instance

Specifies whether to change the section name, entry name, or the value of the entry in each new instance created. Valid values are:

  • [BlockName] specifies that the section name or entry name must be changed in each new instance.

    For example, to change the section name of the SequencerPool.SEQ_GEN_TAPOUT_XXX subsection in each new instance (such as SEQ_GEN_TAPOUT_OPR01, SEQ_GEN_TAPOUT_OPR02, and so on), set the Instance entry to [BlockName].

  • [BlockValue] specifies that the value of the entry must be changed in each new instance.

    Note: Use this value only if InstantiationName.BlockName is a template entry: do not use this value if it is a template section.

    For example, to change the value of the SystemBrands.XXX entry in each new instance (such as TAPOutput_OPR01, TAPOutput_OPR02, and so on), set the Instance entry to [BlockValue].

  • RegistryEntry specifies the entry in the template registry section for which the value must be changed in each new instance.

    Note: Use this value only if InstantiationName.BlockName is a template section: do not use this value if it is a template entry.

    For example, to change the value of the Module.Recipient entry in the TAPOutput_XXX section, set the Instance entry to Module.Recipient.

For more information, see "About Configuring Multiple Instances of Sequencers, Output Streams, or System Brands" in BRM System Administrator's Guide.

Yes

InstantiationName.InstanceSpecificEntries.InstanceChangeName.UseColumn

Specifies the column in the data file generated by the RoamingConfigGen64 utility. This column is used to change the section name, entry name, or the value of the entry in each instance according to the change mode.

For example, the TAPOUT_SEQUENCER column is used to change the section name in each instance of the SequencerPool.SEQ_GEN_TAPOUT_XXX subsection. See "Sample Registry for Multiple Instances of Sequencers".

Yes

InstantiationName.InstanceSpecificEntries.InstanceChangeName.Mode

Specifies the mode of changing the section name, entry name, or the value of the entry in each instance using the column values in the data file generated by the RoamingConfigGen64 utility. Valid values are:

  • REPLACE specifies that the section name, entry name, or the value of the entry is replaced with the corresponding column value from the data file. For example, if the entry name is XXX and the corresponding column value is OPR01, XXX is replaced with OPR01 in the newly created instance.

  • PREFIX specifies that the corresponding column value is prefixed with the section name, entry name, or the value of the entry in each instance. For example, if the value of the entry is .tmp and the corresponding column value is OPR01, OPR01 is prefixed with .tmp and the value is added as OPR01.tmp in the newly created instance.

  • SUFFIX specifies that the corresponding column value is suffixed with the section name, entry name, or the value of the entry in each instance. For example, if the value of the entry is NREUR01 and the corresponding column value is OPR01, OPR01 is suffixed with NREUR01 and the value is added as NREUR01OPR01 in the newly created instance.

The default mode is REPLACE.

No


Sample Registry for Multiple Instances of Sequencers

Instances 
{ 
   SEQ_GEN_TAPOUT
    { 
     BlockName  = SequencerPool.SEQ_GEN_TAPOUT_XXX
     DataFile = ./RoamingPartnerConf.dat
     InstanceSpecificEntries
     { 
         ModifyBlockName
         {
           Instance = [BlockName]
           UseColumn = TAPOUT_SEQUENCER
          } 
      } 
    } 
} 
SequencerPool
{
SEQ_GEN_TAPOUT_XXX
{ 
  Source = Database 
  Controller 
  { 
   SequencerType = Generation
   ReuseGap = True 
   SequenceLength = 5
   DatabaseConnection = ifw.DataPool.Login
  } 
}

Sample Registry for Multiple Instances of System Brands

Instances 
{ 
 EventSplitting
  { 
   BlockName  =  Pipelines.TAPOutCollectPipeline.Functions.Processing.FunctionPool.RoamPartner_EventSplitting.Module.SystemBrands.XXX
   DataFile = ./RoamingPartnerConf.dat
   InstanceSpecificEntries
   { 
     ModifyBlockName
     {
       Instance = [BlockName]
       UseColumn = VPLMN
     } 
     ModifyBlockValue
     {
      Instance = [BlockValue]
      UseColumn = TAPOUT_STREAM
     } 
   } 
} 
RoamPartner_EventSplitting
{
   ModuleName = FCT_EnhancedSplitting
   Module
   {
     Active          = True 
     DataConnection  = ifw.DataPool.Login
     DefaultOutput   = SuspenseCreateOutput
     SystemBrands
     { 
     XXX         = TAPOutput_XXX
      SUSP        = SuspenseCreateOutput
     }
   }
}

Sample Registry for Multiple Instances of Output Streams

Instances 
{ 
TAPOutputStreaminstantiation
    { 
    BlockName = Pipelines.TAPOutCollectPipeline.Output.OutputCollection.TAPOutput_XXX
    DataFile = ./RoamingPartnerConf.dat
    InstanceSpecificEntries
    { 
      ModifyBlockName
      {
        Instance = [BlockName]
        UseColumn = TAPOUT_STREAM
       } 
      ModifyOutputStreamSequencer
      {
          Instance = Module.Sequencer
          UseColumn = TAPOUT_SEQUENCER
      } 
       ModifyRecipient
       {
           Instance = Module.Recipient
           UseColumn = VPLMN
        } 
       ModifyCountryCode
       {
           Instance = Module.CountryCode
           UseColumn = COUNTRYCODE
        } 
       ModifyDecimalPlaces
       {
           Instance = Module.DecimalPlaces
           UseColumn = DECIMALPLACES
        } 
        ModifyOutputPath
        {
           Instance = Module.OutputStream.Module.OutputPath
           UseColumn = TAPOUT_PATH
        } 
        ModifyOutputPrefix
        {
           Instance = Module.OutputStream.Module.OutputPrefix
           UseColumn = TAPOUT_PREFIX
        } 
        ModifyTempPrefix
        {
           Instance = Module.OutputStream.Module.TempPrefix
           UseColumn = TMP_PREFIX
        }
        ModifyTempDataPath
        {
            Instance = Module.OutputStream.Module.TempDataPath
            UseColumn = TAPOUT_PATH
         }
         ModifyTempDataPrefix
         {
             Instance = Module.OutputStream.Module.TempDataPrefix
             UseColumn = TMP_DATA_PREFIX
          }
    }
} 
TAPOutput_XXX
{
ModuleName  = OUT_GenericStream
ProcessType = TAPOUTCOLLECT_PIPELINE
EventType   = /event/delayed/session/telco/gsm
Module
{
   Grammar = ./formatDesc/Formats/TAP3-NG/TAP_0312_OutGrammar.dsc
   DeleteEmptyStream = False
   Sequencer = SEQ_GEN_TAPOUT_XXX
   Sender = PORTL
   Recipient = XXX
   CountryCode = XXX
   DecimalPlaces = XXX
   OutputStream
   {
     ModuleName = EXT_OutFileManager
     Module
     { OutputPath            = ./data/outcollect/tapout/XXX
       OutputPrefix          = CDPORTLXXX 
       TempPrefix            = tmptest_XXX_
       TempDataPath          = ./data/outcollect/tapout/XXX
       TempDataPrefix        = test.XXX.tmp.
       TempDataSuffix        = .data
       UseInputStreamName    = [0,0]
       SequencerPrefix       = "" 
       AppendSequenceNumber  = True
     }
   }
}

NRTRDEOutput_XXX
          {
            ModuleName  = XXX
            ProcessType = TAPOUTCOLLECT_PIPELINE
            EventType   = /event/delayed/session/telco/gsm
 
            Module
            {
              Grammar = ./formatDesc/Formats/TAP3/NRTRDE2_v01_OutGrammar.dsc
              DeleteEmptyStream = False
              Sequencer = SEQ_GEN_NRTRDEOUT_XXX
 
              Sender = EUR01
              Recipient = XXX
             
              OutputStream
              {
                ModuleName = EXT_OutFileManager 
                Module
                {
                  OutputPath            = ./data/outcollect/nrtrdeout/XXX
                  OutputPrefix          = NREUR01XXX
                  TempPrefix            = tmptest_XXX_
                  TempDataPath          = ./data/outcollect/nrtrdeout/XXX
                  TempDataPrefix        = test.XXX.tmp.
                  TempDataSuffix        = .data
                  UseInputStreamName    = [0,0]
                  SequencerPrefix       = ""
                  AppendSequenceNumber  = True
                }
              }
            }
          }
 
NRTRDEOutputStreams 
   {
   BlockName=Pipelines.TAPOutCollectPipeline.Output.OutputCollection.NRTRDEOutput_XXX
      DataFile = ./conf/RoamingPartnerConf.dat 
      InstanceSpecificEntries
      {
        ModifyBlockName 
        {
          Instance = [BlockName]
          UseColumn = NRTRDEOUT_STREAM 
        }
        ModifyModuleName
        {
          Instance = ModuleName 
          UseColumn = NRTDEOUTPUTSTREAMMODULE 
        }
        ModifyOutputStreamSequencer
        {
          Instance = Module.Sequencer 
          UseColumn = NRTRDEOUT_SEQUENCER
        }
        ModifyRecipient
        {
          Instance = Module.Recipient
          UseColumn = VPLMN
        }
        ModifyOutputPath
        {
         Instance = Module.OutputStream.Module.OutputPath
         UseColumn = NRTRDEOUT_PATH
        }
        ModifyOutputPrefix
        {
          Instance = Module.OutputStream.Module.OutputPrefix
          UseColumn = NRTRDEOUT_PREFIX
        }
        ModifyTempPrefix
        {
          Instance = Module.OutputStream.Module.TempPrefix
          UseColumn = TMP_PREFIX
        }
        ModifyTempDataPath
        {
          Instance = Module.OutputStream.Module.TempDataPath
          UseColumn = NRTRDEOUT_PATH
        }
        ModifyTempDataPrefix
       {
          Instance = Module.OutputStream.Module.TempDataPrefix
          UseColumn = TMP_DATA_PREFIX
        }
    }
}

LOG

Use the LOG module to manage and create your system log files:

See "About Pipeline Manager Log Files" in BRM System Administrator's Guide.

Dependencies

The LOG module needs access to the log message table generated by the Controller in order to create the system log files. For information, see "Controller".

Registry Entries

Table 41-9 lists the LOG registry entries.

Table 41-9 LOG Registry Entries

Entry Description Mandatory?

FileName

Specifies the name of your system log file. If empty, the name will be built by the date.

No

FilePath

Specifies the path to your system log file.

No

FilePrefix

Specifies the log file prefix.

No

FileSuffix

Specifies the log file suffix.

No

LogLevel

Specifies the minimum severity limit. All messages greater or equal to the limit are logged. For example, enter major to log only major and critical error messages.

Values are:

  • critical

  • major

  • minor

  • warning

  • normal

  • debug

The default is normal, which means that all messages are logged.

Using the debug setting returns additional debugging data.

No

MessageGroup

Specifies the message group name.

No

ProcessName

Specifies the process name.

No

ShowOriginator

Specifies whether to write the name of the module that emitted the message to the log file.

True specifies to log the module name. This helps Oracle Technical support troubleshoot any problems.

False specifies to not log the module name.

The default is False.

No

SuppressErrors

Specifies any error messages to exclude from log files. For example, enter ERR_INSERTING_CLI to prevent those error messages from being logged.

No

WriteMessageKey

Specifies whether the module logs error codes. For example: ERR_FILE_NOT_FOUND.

True specifies to write both the error code and error message to the log file. This helps technical support troubleshoot any problems.

False specifies to write only the error message to the log file.

The default is False.

No


Sample Registry Entry for the Process Log

ProcessLog 
{ 
    ModuleName = LOG 
    Module 
    { 
        ITO 
        { 
            FilePath = /ifw/log/process 
            FileName = process 
            FilePrefix = log_ 
            FileSuffix = .log 
            LogLevel = normal 
            ProcessName = ifw 
            SuppressErrors 
            { 
                INF_IGNORE_CLI 
                ERR_INSERTING_CLI 
            } 
        } 
    }
} 

Sample Registry Entry for the Pipeline Log

PipelineLog 
{ 
    ModuleName = LOG 
    Module 
    { 
        ITO 
        { 
            FilePath = /ifw/log/pipeline 
            FileName = pipe2
            FileSuffix = .log 
            LogLevel = minor 
            SuppressErrors 
            { 
                INF_IGNORE_CLI 
                ERR_INSERTING_CLI 
            } 
        } 
    }
} 

Sample Registry Entry for the Stream Log

OutputLog 
{ 
    ModuleName = LOG 
    Module 
    { 
        ITO 
        { 
            FilePath = /ifw/log/stream 
            FilePrefix = stream_ 
            FileSuffix = .log 
            LogLevel = normal 
            SuppressErrors 
            { 
                ERR_SPEC_VERSION_INVALID 
                ERR_RELEASE_VERSION_INVALID 
            } 
        } 
    }
} 

Semaphores

Table 41-10 lists the LOG Semaphores.

Table 41-10 LOG Semaphores

Entry Description

FileName

Specifies the name of the log file. When you change the file name, the current log file is closed and renamed to file name plus timestamp. For example, the process.log file would be renamed process_20030916130000.log.

LogLevel

Specifies the minimum severity limit. The module logs all messages greater or equal to the limit. For example, enter minor to log only minor, major, and critical error messages.

Values are:

  • critical

  • major

  • minor

  • warning

  • normal

  • debug

ShowOriginator

Specifies whether to write the name of the module that emitted the message to the log file.

True specifies to log the module name. This helps Oracle Technical Support troubleshoot any problems.

False specifies to not log the module name.

SuppressErrors

Specifies any error messages to exclude from the log file. For example, enter ERR_GETTING_DATADESCR to prevent those error messages from being logged.

WriteMessageKey

Specifies whether the module logs error codes. For example: ERR_FILE_NOT_FOUND.

True specifies to write both the error code and error message to the log file. This helps Oracle Technical Support troubleshoot any problems.

False specifies to write only the error message to the log file.


Sample Semaphores

ifw.ProcessLog.Module.ITO.FileName = process
ifw.ProcessLog.Module.ITO.LogLevel = minor
ifw.ProcessLog.Module.ITO.SupressErrors = ERR_GETTING_DATADESCR

Input Controller

Use the Input Controller to manage the input streams for its associated pipeline.

The Input Controller performs the following functions:

You configure the Input Controller by editing the Input section of the registry file. For more information, see "Configuring the Input Section in the Registry".

Registry Entries

Table 41-11 lists the Input Controller registry entries.

Table 41-11 Input Controller Registry Entries

Entry Description Mandatory

InputModule

Subgroup for the Input module. See "INP_GenericStream".

Yes

UnitsPerTransaction

Specifies the number of CDR input files that make up a transaction. By default, each CDR file forms its own transaction. This parameter only affects processing within the pipeline, and the number of output files match the number of CDR input files.

The default is 1.

For more information on this parameter, see "Combining Multiple CDR Files Into One Transaction" in BRM System Administrator's Guide.

No


Sample Registry

Input 
{ 
    UnitsPerTransaction = 2 
    InputModule 
    { 
        ModuleName = INP_GenericStream 
        Module 
        { 
            ... 
        } 
    } 
} 

NET_EM

The NET_EM module hosts an External Module (EM). This allows the NET_EM module to use the BRM API opcodes to transfer data between real-time rating opcodes and the real-time rerating, discounting, and zoning pipelines.

For more information, see the following "Configuring the NET_EM Module For Real-Time Processing" in BRM System Administrator's Guide.

For information about specific types of real-time processing, see:

Registry Entries

Table 41-12 lists the NET_EM registry entries.

Table 41-12 NET_EM Registry Entries

Entry Description Mandatory

FieldName

Use this entry for real-time rerating.

Specifies the field in the event flist to be used to route the event. By using the "." notation, you can specify a field at any level in the flist.

The field identified by FieldName must be of type POID or String.

See "Configuring NET_EM to Route Rerate Requests Based on the Event Field Value" in BRM Setting Up Pricing and Rating.

No

FieldValue

Use this entry for real-time rerating.

Specifies the value of the field identified by FieldName.

See "Configuring NET_EM to Route Rerate Requests Based on the Event Field Value" in BRM Setting Up Pricing and Rating.

No

NumberOfRTPipelines

Number of real-time pipelines.

Note: This number must match the NumberOfInstances entry.

See "Configuring Multiple Instances of a Pipeline" in BRM System Administrator's Guide.

Yes

OpcodeName

Specifies the opcode sending the event to NET_EM.

For real-time discounting, use:

PCM_OP_RATE_DISCOUNT_EVENT

For real-time zoning, use:

PCM_OP_RATE_GET_ZONEMAP_INFO

For real-time rerating, use:

PCM_OP_RATE_PIPELINE_EVENT

See "Specifying The Type Of NET_EM Opcode Processing" in BRM System Administrator's Guide.

Yes

PipelineName

The pipeline to route the input to. Each real-time pipeline must have a unique name.

Yes

Port

Specifies the port number of the host machine running the NET_EM module.

Yes

Threads

Set this entry to the number of pipelines being managed by the NET_EM module. For example, if you have two pipelines, set this entry to 2.

Yes

UnixSockFile

Specifies the UNIX Sock file when the CM and the Pipeline Manager instance are running on the same machine.

Yes


Sample Registry Entry

DataPool 
{
     RealtimePipeline
     {
          ModuleName = NET_EM
          Module
          {
               ThreadPool 
               { 
                    Port = 14579
                    Threads = 3
               }
               ReratingOpcode
               {
                    OpcodeName = PCM_OP_RATE_PIPELINE_EVENT
                    PipelineName = RealtimeReratingPipeline
                    NumberOfRTPipelines = 3
               }
          }
     }
}

Output Collection

Use the Output Collection module to handle output streams. See "About Configuring the Output Section in the Registry" and "Configuring EDR Output Processing".

Registry Entries

The only registry entries for the Output Collection configuration are the sections for each output stream, for example, OUT_DevNull, OUT_Reject, and OUT_GenericStream.

See the following:

Sample Registry

#------------------------------------------------
# Output Section
#------------------------------------------------
Output
{
   WriteDefaultEdr    = False
   DeleteEmptyFile    = True
     MaxErrorRates
     {
     }
     OutputCollection
     {
     #-------------------------------------------
     # The DevNull stream
     #-------------------------------------------
     DevNull
    ...{

Event Messages

Table 41-13 lists the Output Collection event messages.

Table 41-13 Output Collection Event Messages

Message Description Send/Receive

CMD_WRITE_LOG

An entry to the pipeline log has to be created.

Receive

REQ_STREAM_NUMBER

Determination of a specific stream number chosen by the first argument Name.

Receive from Output Collection. See "Output Collection".


Output Controller

Use the Output Controller to manage the output streams for its associated pipeline.

For more information, see "About Configuring the Output Section in the Registry".

Registry Entries

Table 41-14 lists the Output Controller registry entries.

Table 41-14 Output Controller Registry Entries

Entry Description Mandatory

MaxErrorRates

Subgroup for the maximum error rate entries. This section should list all error codes to monitor and their threshold values.

For more information, see "Specifying the Maximum Errors Allowed in an Input File".

Yes

MultiThreading

Subgroup to configure multithreading in output processing.

See the discussion on increasing Pipeline Manager throughput when an EDR is associated with multiple output streams in BRM System Administrator's Guide.

No

MultiThreading.Active

Specifies whether to enable multithreading in output processing:

  • True enables multithreading.

  • False disables multithreading. This is the default.

Yes

MultiThreading.NumberOfThreads

Specifies the number of threads the Output Controller creates to manage the output streams for its associated pipeline.

For optimum results, Oracle suggests that you set the number of threads to twice the average number of streams associated with an input EDR.

Yes

MultiThreading.BatchSize

Specifies the size of the batch in terms of number of EDRs:

  • 0 indicates that the Output Controller does not operate in a batch mode.

  • A value greater than 0 indicates that the Output Controller operates in the batch mode with the batch size equal to the specified value.

Oracle suggests that BatchSize be greater than or equal to BlockSize if BlockTransfer is set to True; otherwise, BatchSize should be equal to the size of the output buffer.

For more information about the BlockSize, BlockTransfer, and OutputBuffer entries, see the discussion on configuring pipeline buffers in BRM System Administrator's Guide.

The BatchSize value should be directly proportional to NumberOfThreads and inversely proportional to the EDR enrichment rate.

Yes

OutputCollection

Subgroup for the Output Collection module entries.

See:

Yes

OutputLog

Subgroup for the stream log entries.

See:

Yes

SequenceGeneration

Specifies whether the pipeline generates one output file per CDR input file or one output file for an entire transaction.

  • Unit generates one output file per CDR input file.

  • Transaction generates one output file per transaction. For example, if you combine 5 CDR input files into one transaction, the pipeline creates only 1 output file.

The default is Unit.

See "Combining Multiple CDR Files Into One Transaction" in BRM System Administrator's Guide.

No

Sequencer

Specifies the name of the Sequencer for performing sequence checking.

This Sequencer must be defined in the SequencerPool section of the registry file.

See:

No

Statistic

Subgroup to control the statistics related to Pipeline Manager's EDR processing rate. You can view these statistics in the output logs, HTTP browser, and the console output from the SNMP binaries.

See "About Configuring Statistics Information in the Output Section".

No


Sample Registry Entry for the Multithreaded Mode

Output 
{ 
    MaxErrorRates 
    {
        ERR_CUST_NOT_FOUND = 10
    }
    
   MultiThreading
   {
       Active = True
       NumberOfThreads = 5
       BatchSize = 500
    }
    Statistic
    {
        EdrCountCriteria = ALL
    }... 
    OutputCollection 
      ... 
    OutputLog 
    { 
         ... 
    } 
    SequenceGeneration = Unit 
    Sequencer = SequenceCheck1
    ... 
} 

Sample Registry Entry for the Single-Threaded Mode

Output 
{ 
    MaxErrorRates 
    {
        ERR_CUST_NOT_FOUND = 10
    }
    
    Statistic 
    {
        EdrCountCriteria = ALL
    }... 
    OutputCollection 
      ... 
    OutputLog 
    { 
         ... 
    } 
    SequenceGeneration = Unit 
    Sequencer = SequenceCheck1
    ... 
} 

ParallelLoadManager

Use the ParallelLoadManager module to load your pipelines, data modules, and function modules in parallel.

For more information, see "Reducing Startup Times with Parallel Loading" in BRM System Administrator's Guide.

Registry Entries

Table 41-15 lists the ParallelLoadManager registry entries.

Table 41-15 ParallelLoadManager Registry Entries

Entry Description Mandatory

Active

Specifies whether to load the pipelines, data modules, and function modules in parallel.

  • TRUE specifies to use parallel loading.

  • FALSE specifies to use sequential loading.

If the entry is missing, parallel loading is disabled.

Yes

NumberOfThreads

Specifies the number of threads Pipeline Manager uses to load your pipelines, data modules, and function modules.

Yes


Sample Registry

ifw
{
   ...
   ParallelLoadManager
   {
      Active = TRUE
      NumberOfThreads = 4
   }
   …
}

Pipeline Controller

Use the Pipeline Controller to control its associated pipeline.

For more information, see:

Registry Entries

Table 41-16 lists the Pipeline Controller registry entries.

Table 41-16 Pipeline Controller Registry Entries

Entry Description Mandatory

Active

Activates or deactivates processing in the pipeline.

  • True activates pipeline processing.

  • False deactivates pipeline processing.

Yes

CountryCode

Specifies the valid country code for this pipeline. The default is 49 for Germany.

No

DataDescription

Speicifes the stream format description and mapping files

See:

Yes

EdrFactory

Subgroup for the EDR Factory.

See:

Yes

Functions

Subgroup for the function pool entries.

See "About configuring function modules" in BRM System Administrator's Guide.

Yes

Input

Subgroup for the Input Controller.

See:

Yes

Instances

Specifies multiple instances of a specific pipeline. See "Configuring Multiple Instances of a Pipeline" in BRM System Administrator's Guide.

No

InternationalAccessCode

Specifies the international dial prefix. The default is 00 for Germany.

Note: You can list multiple access codes by using a comma as a delimiter. For example: 00,001,002.

No

InternationalAccessCodeSign

Specifies the international access code sign. The default is +.

No

InputBuffer

Subgroup that contains the entries for the buffer between the input module and function modules. See "Configuring Pipeline Buffers" in BRM System Administrator's Guide.

Yes

MobileCountryCode

Specifies the valid mobile country code for this pipeline. The default is 262 for Germany.

No

MultiThreaded

Specifies whether the pipeline uses multithreaded or single-threaded processing. The default is True.

  • True specifies multithreaded processing.

  • False specifies single-threaded processing.

See "Configuring Single-Threaded or Multithreaded Operation" in BRM System Administrator's Guide.

No

NationalAccessCode

Specifies the dial prefix for national calls. The default is 0 for Germany.

No

NetworkDestinationCode

Specifies the network destination code, which identifies the home network for roaming calls. The default is 172 for D2.

No

NoOutputUsed

Specifies whether to load the Output module. Set this entry to True only when you are using single-threaded processing and the Input and Output modules are combined into one module. The default is False.

  • True specifies to not load the Output module.

  • False specifies to load the Output module.

No

Output

Subgroup that contains Output Controller entries.

See:

Yes

OutputBuffer

Subgroup that contains the entries for the buffer between the function modules and the output module. See "Configuring Pipeline Buffers" in BRM System Administrator's Guide.

Yes

Pipeline_Name

Name of the pipeline.

Yes

PipelineLog

Subgroup that contains pipeline log entries.

See:

Yes

RejectStream

Specifies the name of the rejection stream. This stream must be defined in the output module.

See:

Yes

TransactionManager

Specifies the subsection for the Transaction Manager.

See:

N/A


Sample Registry

Pipelines 
{ 
    Pipeline01 
    { 
        Active = TRUE 
        MultiThreaded = TRUE 
        CountryCode = 49 
        MobileCountryCode = 262 
        NationalAccessCode = 0 
        InternationalAccessCode = 00 
        InternationalAccessCodeSign = + 
        NetworkDestinationCode = 171 
        RejectStream = XXX 
        PipelineLog 
        { 
            ModuleName = LOG 
            Module 
            { 
            } 
        } 
        InputBuffer 
        { 
            Size = 1000 
        } 
        OutputBuffer 
        { 
            Size = 1000 
        } 
        Input 
        { 
            InputModule 
            { 
                ModuleName = XXX 
                ModuleStart = XXX 
                Module 
                { 
                    ... 
                } 
            } 
        } // Input 
        Functions 
        { 
            FCI 
            { 
                FunctionPool 
                { 
                    Function01 
                    { 
                        ... 
                    } 
                    Function02 
                    { 
                        ... 
                    } 
                } 
            } 
        } // Functions 
        Output 
        { 
            ... 
            Outputcollection 
            { 
                Output1 
                { 
                    ModuleName = XXX 
                    ModuleStart = XXX 
                    Module 
                    { 
                        ... 
                    } 
                } 
                RejectOutput 
                { 
                    ModuleName = XXX 
                    ModuleStart = XXX 
                    Module 
                    { 
                        ... 
                    } 
                } 
                Output2 
                { 
                    ModuleName = XXX 
                    ModuleStart = XXX 
                    Module 
                    { 
                        ... 
                    } 
                } 
                DevNull 
                { 
                    ModuleName = XXX 
                    ModuleStart = XXX 
                    Module 
                    { 
                        ... 
                    } 
                } 
                ... 
            } 
            OutputLog 
            { 
                ... 
            } 
            Sequencer 
            { 
                ... 
            } 
        } #Output 
    } #Pipeline01 
} #Pipelines 

Sample Registry for Multiple Instances of a Pipeline

This sample shows how to configure multiple instances of a pipeline. For more information, see "Configuring Multiple Instances of a Pipeline" in BRM System Administrator's Guide.

ifw
{
...
  Pipelines
  {
    Instances
    {
      RealtimeReratingPipelineGPRS
      {
        NumberOfInstances = 3
        InstanceSpecificRegistries
        {
          Entry1 = TransactionManager.BinaryLogFileName
          Entry2 = PipelineLog.Module.ITO.FileName
          Entry3 = OutputLog.FileName
          Entry4 = Functions.Standard.FunctionPool.EdrDump_Initial.Module.FileName
          Entry4 = Functions.Standard.FunctionPool.EdrDump_PostDiscounting.Module.FileName
          Entry5 = Functions.Standard.FunctionPool.EdrDump_PreDiscounting.Module.FileName
          Entry6 = Functions.Standard.FunctionPool.EdrDump_PostRating.Module.FileName
          Entry7 = Functions.Standard.FunctionPool.EdrDump_PreRating.Module.FileName
        }
...

Semaphore Entries

Table 41-17 lists the Pipeline Controller Semaphore entries.

Table 41-17 Pipeline Controller Semaphore Entries

Entry Description

Active

Activates or deactivates processing in the pipeline.


Sample Semaphore Entry

ifw.Pipelines.ALL_RATE.Active = True

Event Messages

Table 41-18 lists the Pipeline Controller event messages.

Table 41-18 Pipeline Controller Event Messages

Message Trigger Parameter

EVT_PIPELINE_START

The pipeline was started.

Pipeline name from the registry.

EVT_PIPELINE_STOP

The pipeline was stopped.

Pipeline name from the registry.


Sequencer

Use the Sequencer to prevent Pipeline Manager from processing the same CDR file twice and to add tracking information to output streams. For information, see "Configuring Sequence Checking" in BRM System Administrator's Guide.

Dependencies

When you configure the Sequencer to store state and log data in database tables, this module requires a connection to the Pipeline Manager database.

To assign a Sequencer to a pipeline, you must also configure the Output section of the registry file:

  • To assign a sequence checker to a pipeline, use the Sequencer registry entry in the Output Controller module. For information, see "Output Controller".

  • To assign a sequence generator to a pipeline, use the Sequencer registry entry in the output module. For information, see "OUT_GenericStream".

Registry Entries

Table 41-19 lists the Sequencer registry entries.

Table 41-19 Sequencer Registry Entries

Entry Description Mandatory

SequencerInstance

Specifies the name of the Sequencer instance.

Yes

Source

Specifies whether Sequencer state and log data are stored in files or in database tables. Values are:

  • File

  • Database

Yes

Controller

Subgroup that contains Controller entries

Yes

Controller.SequencerType

Specifies whether the Sequencer performs sequence checking or sequence generation:

  • Check configures the Sequencer to perform sequence checking.

  • Generation configures the Sequencer to perform sequence generation.

See "Configuring Sequence Checking" in BRM System Administrator's Guide.

Yes

Controller.DatabaseConnection

Specifies a connection to the Pipeline Manager database.

See "Connecting a Module to a Database" in BRM System Administrator's Guide.

Yes, only if Source = Database.

Controller.ReuseGap

Specifies whether the Sequencer assigns skipped sequence numbers to output files.

  • True directs the Sequencer to reuse skipped sequence numbers by assigning the skipped sequence numbers to other CDRs.

  • False directs the Sequencer to never reuse skipped sequence numbers.

The default is False.

No

Controller.SequenceLength

Specifies the length of the incoming CDR file's sequence number. The default is 6.

No

Controller.FileName

Specifies the name of the Sequencer state file. This file stores state information for one Sequencer instance.

Important: You must create one state file for each Sequencer instance. Otherwise, the Sequencer fails.

Yes, only if Source = File

Controller.FilePath

Specifies the path to the Sequencer state file.

Yes, only if Source = File.

Controller.Log

Subgroup that contains Sequencer log file entries.

Yes

Controller.Log.FileName

Specifies the name of the Sequencer log file.

Important: You must create one Sequencer log file for each Sequencer instance. Otherwise, the Sequencer fails.

Yes, only if Source = File

Controller.Log.FilePath

Specifies the path to the Sequencer log file.

Yes, only if Source = File

Controller.UseGapAtStartup

Specifies whether to add a gap for the skipped sequence numbers starting from 0.

This entry is required only when the SequencerType field is Check and the ReuseGap field is True. You can use this entry even if you have set the Seq Original Number field to 0.

  • True. This value directs the Sequencer to add a gap for the skipped sequence numbers starting from 0.

  • False. The default value. This value directs the Sequencer to never add a gap for the skipped sequence numbers.

No


Sample Registry for File Storage

SequencerPool
{
    SequencerInstance
    {
        Source = File
        
        Controller
        {
            SequencerType = Check
            ReuseGap = True
            SequenceLength = 7
            FileName = sequence.dat
            FilePath = /opt/portal/ifw/sequencer
            
            Log
            {
                FileName = sequence.log
                FilePath = /opt/portal/ifw/logs
            }
        }
    }
}

Sample Registry Entry for Database Storage

SequencerPool
{
    SequencerInstance
    {
        Source = Database
        
        Controller
        {
            SequencerType = Generation
            DatabaseConnection = DatabaseModule
            ReuseGap = False
            SequenceLength = 10
        }
    }
}

Database Tables

The Sequencer uses the following tables:

  • IFW_PIPELINE

  • IFW_SEQCHECK

  • IFW_SEQLOG_IN

  • IFW_SEQLOG_OUT

For information about the fields in database tables, see the documentation in Pipeline_Home\database.

Transaction Manager

Use the Transaction Manager to coordinate the state of all transactional modules and components in one pipeline. For information, see "About Pipeline Manager Transactions" in BRM System Administrator's Guide.

Dependencies

Requires a reference to the Transaction ID Controller. For information, see "Transaction ID Controller".

Registry Entries

Table 41-20 lists the Transaction Manager registry entries.

Table 41-20 Transaction Manager Registry Entries

Entry Description Mandatory?

BinaryLogFileName

Specifies the path and file name of the binary log file, which is used to persist and restore open transactions.

Important: If you use multiple pipelines, you cannot use the same file for different pipelines.

See "About Transaction Log Files" in BRM System Administrator's Guide.

Yes

RedoEnabled

Specifies whether the redo mechanism is enabled.

True enables the redo mechanism.

False disables the redo mechanism.

See "About Cancelling Transactions When a Rollback Occurs" in BRM System Administrator's Guide.

Yes

SingleTransaction

Specifies whether only one pipeline transaction is allowed at a time.

True specifies that only one pipeline transaction can be active at one time. The TAM blocks any new transactions from starting while a transaction is in progress.

False specifies that multiple pipeline transactions can be active at one time.

Yes

WriteToLogEnabled

Specifies whether the Transaction Manager writes status information to the pipeline log file.

True enables writing to the pipeline log file.

False disables writing to the pipeline log file.

No


Sample Registry

Pipelines 
{ 
    PipelineName 
    { 
        TransactionManager 
        { 
            RedoEnabled = True
            SingleTransaction = True
            BinaryLogFileName = ./
            WriteToLogEnabled = False
        } 
    } 
}

Transaction ID Database Generator

Use the Transaction ID Database Generator to store transaction IDs in database tables. For information, see "Configuring the Transaction ID Controller" in BRM System Administrator's Guide.

Dependencies

Requires a connection to the Pipeline Manager database.

Registry Entries

Table 41-21 lists the Transaction ID Database Generator registry entries.

Table 41-21 Transaction ID Database Generator Registry Entry

Entry Description Mandatory?

DataConnection

Specifies a connection to the Pipeline Manager database.

See "Connecting a Module to a Database" in BRM System Administrator's Guide.

Yes


Sample Registry

TransactionIdController 
{ 
    Source = Database
    Generator 
    { 
        DataConnection = ifw.DataPool.Login
    } 
} 

Database Tables

The TAM_TransIdDbGenerator module uses the IFW_TAM database table.

For information about the fields in database tables, see the documentation in Pipeline_Home\database.

Transaction ID File Generator

Use the Transaction ID File Generator to store transaction IDs in a file. For information, see "Configuring the Transaction ID Controller" in BRM System Administrator's Guide.

Registry Entries

Table 41-22 lists the Transaction ID File Generator registry entries.

Table 41-22 Transaction ID File Generator Registry Entries

Entry Description Mandatory?

FileName

Specifies the path and file name of the Transaction ID Controller state file.

See "About The Transaction ID State File And Table" in BRM System Administrator's Guide.

Yes

Increment

Specifies the number of transaction IDs that are cached.

See "About Storing IDs in Cache" in BRM System Administrator's Guide.

Yes


Sample Registry

TransactionIdController 
{ 
    Source = File
    Generator 
    { 
        FileName = /data/system/info/transIdInfo.dat
        Increment = 10
    } 
}

Transaction ID Controller

Use the Transaction ID Controller to generate transaction IDs for all pipelines. For information, see "Configuring the Transaction ID Controller" in BRM System Administrator's Guide.

Registry Entries

Table 41-23 lists the Transaction ID Controller registry entries.

Table 41-23 Transaction ID Controller Registry Entries

Entry Description Mandatory?

Generator

Subgroup for the generator entries.

See:

Yes

Source

Specifies whether the Transaction ID Controller stores transaction IDs in files or database tables.

Values are:

  • File

  • Database

See "About The Transaction ID State File And Table" in BRM System Administrator's Guide.

Yes


Sample Registry for File Storage

TransactionIdController 
{ 
    Source = File
    Generator 
    { 
        FileName = /data/system/info/transIdInfo.dat
        Increment = 10
    } 
}

Sample Registry for Database Storage

TransactionIdController 
{ 
    Source = Database
    Generator 
    { 
        DataConnection = ifw.DataPool.Login
    } 
}