81 Pipeline Manager Function Modules
This chapter provides reference information for Oracle Communications Billing and Revenue Management (BRM) Pipeline Manager function modules.
FCT_Account
The FCT_Account module adds customer data to an EDR.
It also does the following:
-
Flags incoming CDRs to be suspended when the account is being rerated by pin_rerate.
-
For exclusion rules for usage discounts, retrieves package list information from the DAT_AccountBatch module and adds this information to the PLAN_LIST block in the CustomerData block in the EDR. The package list includes all plans for the subscription service, including plans owned by any member services in the subscription group.
-
For Balance Monitoring, retrieves the balance monitor information for an event owner from the DAT_AccountBatch module and fills the CustomerData block in the EDR with the monitor list.
Dependencies
Requires a connection to the DAT_AccountBatch module.
This module must run before the zoning and rating modules.
For more information, see "Function Module Dependencies".
Registry Entries
Table 81-1 lists the FCT_Account registry entries.
Table 81-1 FCT_Account Registry Entries
Entry | Description | Mandatory |
---|---|---|
Active |
Specifies whether the module is active or inactive. True = Active False = Inactive You can use this entry in a semaphore file. |
Yes |
DataModule |
Specifies the connection to the DAT_AccountBatch module. |
Yes |
DisableRatingProductCheck |
Specifies whether the module rejects any CDRs with no rating charge offers. True = FCT_Account does not reject CDRs, if the configured event type for batch rating is not found in any of the charge offers owned by the service or account. False = FCT_Account rejects CDRs if the configured event type for batch rating is not found in any of the charge offers owned by the service or account. |
No |
Sample Registry
Account { ModuleName = FCT_Account Module { Active = True DataModule = ifw.DataPool.CustomerData Offset = 5 } }
Semaphore File Entries
Table 81-2 lists the FCT_Account Semaphore file entry.
Table 81-2 FCT_Account Semaphore File Entries
Entry | Description |
---|---|
Active |
Specifies whether the module is active or inactive. True = Active False = Inactive |
Sample Semaphore File Entry
ifw.Pipelines.ALL_RATE.Functions.Processing.FunctionPool.CustomerSearch.Module.Active = False
EDR Container Fields
The FCT_Account module uses the EDR container fields listed in Table 81-3:
Table 81-3 FCT_Account EDR Container Fields
Alias field nameDefault field name | Type | Access | Description |
---|---|---|---|
INTERN_SERVICE_CODE DETAIL.INTERN_SERVICE_CODE |
String |
Read |
Contains the internal service code that determines the EDR container fields that are used for the customer lookup. For example, a telephone service uses the A number to find the customer account. |
BDR_CHARGING_START_TIMESTAMP DETAIL.CHARGING_START_TIMESTAMP |
Date |
Read |
Contains the start timestamp of the event. The time zone information for this timestamp is stored in the field BDR_UTC_TIME_OFFSET. |
BDR_UTC_TIME_OFFSET DETAIL.UTC_TIME_OFFSET |
String |
Read |
Contains the UTC time offset that normalizes the charging start timestamp to the UTC time zone. All validity timestamps in the BRM customer data are stored in normalized UTC time. The format is +/- HHMM. |
DETAIL.CUST_A.ACTG_LAST_DATE |
Date |
Read |
Contains the date that the current monthly cycle began. |
DETAIL.CUST_A.ACTG_NEXT_DATE |
Date |
Read |
Contains the date that the current monthly cycle ends. |
DETAIL.CUST_A.ACTG_USED_DATE |
Date |
Write |
Contains the date used for this EDR. |
RESOURCE_LIST DETAIL.CUST_A.RESOURCE_LIST |
String |
Write |
Contains a list of the balance elements included in the A-number customer's balance. |
RESOURCE_LIST DETAIL.CUST_B.RESOURCE_LIST |
String |
Write |
Contains a list of the balance elements included in the B-number customer's balance. |
DETAIL.CUST_A.INTERN_RATING_PRODUCTS |
String |
Create |
Contains the charge offer rating indexes. This is a comma-separated list of all rating charge offers' indexes associated with the same service and event, and their priorities. |
DETAIL.CUST_A.PRODUCT_PRIORITY |
Integer |
Read |
Contains the priority for a charge offer. |
DETAIL.CUST_A.PRODUCT.USAGE_START |
Date |
Read |
Contains the start time for a charge offer. |
DETAIL.CUST_A.PRODUCT.FIRST_USAGE_INDICATOR |
Integer |
Write |
Specifies whether the account's charge offer is configured to start when first used and the state of the validity period. |
DETAIL.CUST_A.DL.PD.FIRST_USAGE_INDICATOR |
Integer |
Write |
Specifies whether the account's discount is configured to start when first used and the state of the validity period. |
BALANCE_GROUP_ID DETAIL.CUST_A.ML.BALANCE_GROUP_ID |
String |
Create |
Contains the balance monitor group ID. |
MONITOR_OWNER_ACCT_ID DETAIL.CUST_A.ML.MONITOR_OWNER_ACCT_ID |
String |
Create |
Contains the monitor owner's account ID. |
MONITOR_OWNER_ID DETAIL.CUST_A.ML.MONITOR_OWNER_ID |
String |
Create |
Contains the monitor owner ID. |
MONITOR_OWNER_TYPE DETAIL.CUST_A.ML.MONITOR_OWNER_TYPE |
String |
Create |
Contains the monitor owner type. |
DETAIL.CUST_A.SHARED_PROFILE_LIST. ERA.LABEL |
String |
Write |
Contains the label associated with a shared service profile. For example, MYFAMILY. |
DETAIL.CUST_A.PRODUCT.ERA. LABEL |
String |
Write |
Contains the label associated with an owned service profile. For example. MYFAMILY. |
DETAIL.CUST_A. SHARED_PROFILE_LIST |
Block |
Write |
Contains all the shared profiles, which the service shares as a member of one or more profile sharing groups. |
DETAIL.CUST_A. SHARED_PROFILE_LIST.ERA |
Block |
Write |
Contains shared ERA information. |
Database Interface for the FCT_Account Module
The FCT_Account modules uses the following database tables:
-
The FCT_Account and FCT_AccountRouter modules use the data in the IFW_ALIAS_MAP table to link an internal service code the EDR container field used for identifying an account.
-
The FCT_Account and FCT_AccountRouter module use the data in the IFW_EDRC_DESC table to look up the alias mapping data. This table contains all valid EDR container fields for different format descriptions.
-
The FCT_Account module uses the data in the IFW_EDRC_FIELD table to look up the alias mapping data. This table contains all valid EDR container fields for different format descriptions.
-
The FCT_Account and FCT_AccountRouter use the data in the IFW_PIPELINE table to look up the alias mapping data. The IFW_PIPELINE database table defines the EDR formats that can be used for each pipeline.
FCT_AccountLPRouter
The FCT_AccountLPRouter module looks up the logical partition in which the account resides and writes it to the LOGICAL_PARTITION_ID EDR field.
Registry Entries
Table 81-4 lists the FCT_AccountPRouter registry entries.
Table 81-4 FCT_AccountLPRouter Registry Entries
Entry | Description | Mandatory |
---|---|---|
Active |
Specifies if the module is active or inactive. True = Active False = Inactive You can use this entry in a semaphore file. |
Yes |
DataModule |
Specifies the connection to the DAT_AccountBatch module. |
Yes |
Sample Registry
#------------------------------------------------- # AccountLPRouter #-------------------------------------------------- AccountLPRouterModule { ModuleName = FCT_AccountLPRouter Module { Active = True DataModule = ifw.DataPool.CustomerData } # end Module } # end LPRouter #--------------------------------------------------
Semaphore File Entries
Table 81-5 lists the FCT_AccountPRouter Semaphore file entry.
Table 81-5 FCT_AccountPRouter Semaphore File Entry
Entry | Description |
---|---|
Active |
Specifies if the module is active or inactive. True = Active False = Inactive |
Sample Semaphore File Entry
ifw.Pipelines.ALL_RATE.Functions.Processing.FunctionPool.AccountLPRouter.Module.Active = False
Events
Table 81-6 lists the events for FCT_AccountPRouter.
Table 81-6 FCT_AccountPRouter Events
Alias Field NameDefault Field Name | Type | Access | Description |
---|---|---|---|
LOGICAL_PARTITION_ID |
String |
Read |
Contains the logical partition ID for the event. |
FCT_AccountRouter
The FCT_AccountRouter module routes EDRs to the appropriate database schema in multischema systems. This module finds the customer's schema and routes the EDRs to the appropriate pipeline. See "Using Pipeline Manager with Multiple Database Schemas".
When used with standard recycling or Suspense Manager, this module routes call records from the pre-recycling pipeline to the appropriate rating pipeline.
Note:
FCT_AccountRouter runs in its own instance of Pipeline Manager and should be configured with its own registry file. Create a registry file that includes entries for the Input, FCT_AccountRouter, and Output modules.
Dependencies
Requires a connection to the DAT_AccountBatch module.
For general use, this module must run after the FCT_ServiceCodeMap module and before the rating modules.
For use with standard recycling or Suspense Manager using multiple database schemas, this module must be run before OUT_GenericStream in a pre-recycling pipeline.
This module sends output to a separate pipeline for each BRM database schema.
For more information, see "Function Module Dependencies".
Registry Entries
Table 81-7 lists the FCT_AccountRouter registry entries.
Table 81-7 FCT_AccountRouter Registry Entries
Entry | Description | Mandatory |
---|---|---|
Active |
Specifies whether the module is active or inactive. True = Active False = Inactive You can use this entry in a semaphore file. |
Yes |
DataModule |
Specifies the connection to the DAT_AccountBatch module. |
Yes |
Mode |
Specifies how this module routes EDRs to the appropriate pipeline. ROUTER = Routes EDRs based on the database schema ID. RECYCLE = Routes EDRs based on the pipeline name and schema ID. See "Configuring a Pre-Recycling Pipeline". |
Yes |
Streams |
Lists the target output streams. The syntax for this section depends on whether the module is operating in ROUTER mode or RECYCLE mode. |
Yes |
Sample Registries
Sample registry entries for the ROUTER mode:
AccountRouter { ModuleName = FCT_AccountRouter Module { Active = True DataModule = ifw.DataPool.Account Mode=ROUTER Streams { 1 = DB0001Stream 2 = DB0002Stream 3 = DB0003Stream } } }
Sample registry entries for the RECYCLE mode:
AccountRouter { ModuleName = FCT_AccountRouter Module { Active = True DataModule = ifw.DataPool.CustomerData Mode = RECYCLE Streams { # This section maps pipelines to their original stream 1_Pipeline_A = StreamA_for_DB1 1_Pipeline_B = StreamB_for_DB1 2_Pipeline_C = StreamC_for_DB2 2_Pipeline_D = StreamD_for_DB2 # This section maps pipelines to their alternate stream 1_Pipeline_C = StreamA_for_DB1 1_Pipeline_D = StreamB_for_DB1 2_Pipeline_A = StreamC_for_DB2 2_Pipeline_B = StreamD_for_DB2 # This section sends EDRs to the suspense stream 0_* = SuspenseStream } } }
Semaphore File Entries
Table 81-8 list the FCT_AccountRouter Semaphore file entry.
Table 81-8 FCT_AccountRouter Semaphore File Entry
Entry | Description |
---|---|
Active |
Specifies whether the module is active or inactive. True = Active False = Inactive |
EDR Container Fields
The FCT_AccountRouter module uses the EDR container fields listed in Table 81-9:
Table 81-9 FCT_AccountRouter EDR Container Fields
Alias Field NameDefault Field Name | Type | Access | Description |
---|---|---|---|
INTERN_SERVICE_CODE DETAIL.INTERN_SERVICE_CODE |
String |
Read |
Contains the internal service code that determines the EDR container fields used for the customer lookup. |
BDR_CHARGING_START_TIMESTAMP DETAIL.CHARGING_START_TIMESTAMP |
Date |
Read |
Contains the start timestamp of the event. The time zone information for this timestamp is stored in the BDR_UTC_TIME_OFFSET field. |
BDR_UTC_TIME_OFFSET DETAIL.UTC_TIME_OFFSET |
String |
Read |
Contains the UTC time offset that normalizes the charging start timestamp to the UTC time zone. All validity timestamps in the BRM customer data are stored in normalized UTC time. The format is +/- HHMM. |
Database Tables
The FCT_Account module uses the following database tables:
-
IFW_ALIAS_MAP. The FCT_Account and FCT_AccountRouter modules use the data in the IFW_ALIAS_MAP database table to link an internal service code the EDR container field used for identifying an account.
-
IFW_EDRC_DESC. The FCT_Account and FCT_AccountRouter module use the data in the IFW_EDRC_DESC table to look up the alias mapping data. This table contains all valid EDR container fields for different format descriptions. See "Using Pipeline Manager with Multiple Database Schemas".
-
IFW_PIPELINE. The FCT_Account and FCT_AccountRouter use the data in this table to look up the alias mapping data. The IFW_PIPELINE database table defines the EDR formats that can be used for each pipeline. See "Using Pipeline Manager with Multiple Database Schemas".
Note:
For information on compare patterns used in database values, see "About Using Regular Expressions when Specifying the Data to Extract".
FCT_AggreGate
The FCT_AggreGate module performs aggregation of data in EDR containers. See "Setting Up Pipeline Aggregation".
Dependencies
The FCT_AggreGate function module requires a connection to the DAT_ScenarioReader module.
This module runs after rating modules and can run in its own pipeline.
When you configure the FCT_CallAssembling function module to not drop EDRs from the pipeline, ensure that the FCT_AggreGate function module that counts them runs before the FCT_Reject function module. See "FCT_CallAssembling".
For more information, see "Function Module Dependencies".
Registry Entries
Table 81-10 lists the FCT_AggreGate registry entries.
Table 81-10 FCT_AggreGate Registry Entries
Entry | Description | Mandatory |
---|---|---|
Active |
Specifies if the module is active or inactive. True = Active False = Inactive You can use this entry in a semaphore file. |
Yes |
BackOut |
Specifies if the module is working in back-out mode, which is used for rerating. Possible values are True and False. Default = False |
No |
ControlFile |
Specifies the definitions for the control file. The control files are used by the Database Loader utility to load the results into the database. |
No |
ControlFile.DataFilePath |
Specifies whether the path to the data file is included in the control file. Possible values are True and False. Default = True |
No |
ControlFile.Suffix |
Specifies the file name suffix for the control file. You can specify any suffix. Default = .ctl |
No |
IncludeCtlFile |
Specifies whether to create control files. If True, control and data files are created. If False, only data files are created. Default = True |
No |
IncludeErrorEDRs |
Specifies whether EDRs that include errors are included in the aggregation scenario. Possible values are True and False. Default = False |
No |
IncludeInvalidDetailEDRs |
Specifies whether EDRs that are invalid are included in the aggregation scenario. Possible values are True and False. Default = False |
No |
ResultFile |
Sub-entries define characteristics of the result file. |
No |
ResultFile.DoneSuffix |
Specifies the file name suffix for processed files. You can specify any suffix. Default = .dat |
No |
ResultFile.TempSuffix |
Specifies the file name suffix for temporary files created during processing. You can specify any suffix. Default = .tmp |
No |
ResultFile.WriteEmptyFile |
Indicates whether to create an empty processed file if there are no processing results. Possible values are True and False. Default = True |
No |
ScenarioReaderDataModule |
Specifies a connection to the DAT_ScenarioReader module. |
Yes |
Scenarios |
Specifies the scenario that is processed and configured. See "Specifying Scenario Attributes". If nothing is entered, no processing occurs. |
No |
Scenarios |
No value. Subentries define the scenarios to be processed and how they are configured. See "Specifying Scenario Attributes". If nothing is entered, no processing occurs. |
No |
Scenarios.name |
Specifies the name of a scenario to be configured. The scenarios included with Revenue Assurance Manager have names such as RA_01, RA_02 and so on. |
Yes |
Scenarios.name.ControlPointId |
Defines the Revenue Assurance control point that uses this scenario. Control point names must be unique system-wide. If a value is specified, the control point ID is included in the result file. |
No |
Scenarios.name.CtlDir |
Specifies the directory from which to read the control file. Use this entry when you want to override the default directory defined for the scenario. |
No |
Scenarios.name.DoneDir |
Specifies a path and name for processed files. Use this entry when you want to override the default directory. |
No |
Scenarios.name.FieldDelimiter |
Specifies the delimiter of result fields. The default is a semicolon (;), which is the value defined in the IFW_SCENARIO table. |
Yes |
Scenarios.name.IncludeErrorEDRs |
Speechifies whether EDRs that have errors are included in the aggregation processing. Possible values are True and False. Default value is False. Note: For Revenue Assurance, this parameter must be present and set to True. |
No |
Scenarios.name.IncludeInvalidDetailEDRs |
Specifies whether invalid EDRs are included in aggregation processing. Possible values are True and False. Default value is False. Note: For Revenue Assurance, this parameter must be present and set to True. |
No |
Scenarios.name.IncludeProcessingTimestamps |
Specifies whether transaction time range data is included in result files. Possible values are True and False. Default value is False. |
No |
Scenarios.name.TableName |
Specifies the table used when DB Loader stores aggregation results in the database. The table name is also used for files created by this scenario. Use this entry when you want to override the default table name defined for the scenario. |
No |
Scenarios.name.TempDir |
Specifies a path and name for a directory to use for temporary files created during processing. Use this entry when you want to override the default directory defined for the scenario. |
No |
Scenarios.name.Threshold |
Specifies the maximum number of aggregations stored in memory before writing to disk. In most cases, there aren't enough aggregations to make the threshold meaningful. A typical value is a relatively large number, such as 99999. Use this entry when you want to override the default directory defined for the scenario. |
No |
Sample Registry
Aggregate { ModuleName = FCT_AggreGate Module { Active = TRUE ScenarioReaderDataModule = ifw.DataPool.ScenarioReader Scenarios { PURCHASE { TableName = PURCHASE_RESULT Threshold = 100000 TempDir = result/temp DoneDir = result/done CtlDir = result/ctl FieldDelimiter = | } STAT { TempDir = result/temp DoneDir = result/done CtlDir = result/ctl } DAY { } } ResultFile { TempSuffix = .tmp DoneSuffix = .dat WriteEmptyFile = FALSE } ControlFile { IncludeCtlFile = FALSE Suffix = .ctl DataFilePath = TRUE } } }
Semaphore File Entries
Table 81-11 lists the FCT_AggreGate Semaphore file entry.
Table 81-11 FCT_AggreGate Semaphore File Entry
Entry | Description |
---|---|
Active |
Specifies if the module is active or inactive. True = Active False = Inactive |
Sample Semaphore File Entry
ifw.Pipelines.ALL_RATE.Functions.Processing.FunctionPool.Aggregate.Module.Active = False
EDR Container Fields
The module reads EDR container fields defined by the DAT_ScenarioReader module. See "DAT_ScenarioReader".
Events
Table 81-12 lists the FCT_AggreGate events.
Table 81-12 FCT_AggreGate Events
Event name | Trigger | Sender | Parameter |
---|---|---|---|
EVT_CTL_FILE_CREATED |
Control file for the DB Loader utility was created. |
DAT_ScenarioReader |
File name |
FCT_APN_Map
Before zoning: The FCT_APN_Map module maps the access point name (APN) to a physical PDP address.
After zoning: The FCT_APN_Map module enhances zone values to support enhanced zoning functionality.
Dependencies
Requires a connection to the Pipeline Manager database.
This module can be run before or after the zoning modules (FCT_Zone and FCT_PreRating).
For more information, see "Function Module Dependencies".
Registry Entries
Table 81-13 lists the FCT_APN_Map registry entries.
Table 81-13 FCT_APN_Map Registry Entries
Entry | Description | Mandatory |
---|---|---|
Active |
Specifies if the module is active or inactive. True = Active False = Inactive You can use this entry in a semaphore file. |
Yes |
APNGroup |
Specifies the Access Point Name (APN) group value for the mapping. If you enter a group name, run the module before zoning. Otherwise, run it after zoning. You can use this entry in a semaphore file. |
Yes |
DataConnection |
Specifies the connection to the Pipeline Manager database. |
Yes |
Sample Registry
APN_Map { ModuleName = FCT_APN_Map Module { Active = True APNGroup = apn_group DataConnection = integrate.DataPool.Login } }
Semaphore File Entries
Table 81-14 lists the FCT_APN_Map Semaphore file entries.
Table 81-14 FCT_APN_Map Semaphore File Entries
Entry | Description |
---|---|
Active |
Specifies if the module is active or inactive. True = Active False = Inactive |
APNGroup |
If you enter a group name, run the module before zoning. Otherwise, run it after zoning. |
Reload |
Reloads data from the database into memory. |
Sample Semaphore File Entries
ifw.Pipelines.ALL_RATE.Functions.Processing.FunctionPool.APNMap.Module.Active = True ifw.Pipelines.ALL_RATE.Functions.Processing.FunctionPool.APNMap.Module.APNGroup = apn_group ifw.Pipelines.ALL_RATE.Functions.Processing.FunctionPool.APNMap.Module.Reload{}
EDR Container Fields
The FCT_APN_Map module uses the EDR container fields listed in Table 81-15:
Table 81-15 FCT_APN_Map EDR Container Fields
Alias Field NameDefault Field Name | Type | Access | Description |
---|---|---|---|
INTERN_SERVICE_CODE DETAIL.INTERN_SERVICE_CODE |
String |
Read |
Contains the internal service code. |
APN_ADDRESS DETAIL.ASS_GPRS_EXT.APN_ADDRESS |
String |
Read |
Contains the access point name address. |
ACTION_CODE DETAIL.ASS_GSMW_EXT.SS_PACKET.ACTION_CODE |
String |
Read |
Contains the action code in supplementary service packet. |
SS_EVENT DETAIL.ASS_GSMW_EXT.SS_PACKET.SS_EVENT |
String |
Read |
Contains the supplementary service event. |
INTERN_B_NUMBER_ZONE DETAIL.INTERN_B_NUMBER_ZONE |
String |
Write |
Contains the destination zone. |
BDR_INTERN_APN_GROUP DETAIL.INTERN_APN_GROUP |
String |
Read |
Contains the APN group. |
WHOLESALE_IMPACT_CATEGORY DETAIL.WHOLESALE_IMPACT_CATEGORY |
String |
Read/Write |
Contains the wholesale impact category. |
RETAIL.IMPACT_CATEGORY DETAIL.RETAIL.IMPACT_CATEGORY |
String |
Read/Write |
Contains the retail impact category. |
ASS_CBD_IMPACT_CATEGORY DETAIL.ASS_CBD.CP.IMPACT_CATEGORY |
String |
Write |
Contains the impact category. |
ASS_CBD_INTERN_APN_GROUP DETAIL.ASS_CBD.CP.INTERN_APN_GROUP |
String |
Read |
Contains the APN group in the charge packet. |
RATEPLAN_TYPE DETAIL.ASS_CBD.CP.RATEPLAN_TYPE |
String |
Read |
Contains the wholesale or retail charge type. The default is retail. |
ASS_ZBD_INTERN_APN_GROUP DETAIL.ASS_ZBD.ZP.INTERN_APN_GROUP |
String |
Read |
Contains the APN group in zone breakdown records. |
ASS_ZBD_ZONE_RESULT_VALUE_WS DETAIL.ASS_ZBD.ZP.ZONE_RESULT_VALUE_WS |
String |
Write |
Contains the wholesale zone result. |
ASS_ZBD_ZONE_RESULT_VALUE_RT DETAIL.ASS_ZBD.ZP.ZONE_RESULT_VALUE_RT |
String |
Write |
Contains the retail zone result. |
Database Tables
The FCT_APN_Map module uses the following database tables:
-
IFW_APN_MAP. This table stores the APN mapping rules.
-
IFW_APN_GROUP. The IFW_APN_GROUP table stores the APN groups used for APN mapping.
Note:
For information on compare patterns used in database values, see "About Using Regular Expressions when Specifying the Data to Extract".
FCT_ApplyBalance
The FCT_ApplyBalance module reads the discount packets added by DAT_Discount, adds the discounting sub-balance impact to the EDR, and updates the in-memory balance.
When the discount impacts a noncurrency balance element balance that starts on first usage, this module adds the validity period information to the EDR. See "About Setting the Validity of Balance Elements Impacted by Discounts".
This module is mandatory when you configure batch discounting in Pipeline Manager. Add this module to the pipeline after the FCT_Rounding module.
Dependencies
Requires a connection to the DAT_BalanceBatch module.
This module should be in the same function pool as the FCT_Discount module for performance reasons and must run after that module.
This module also must run after FCT_Rounding.
For more information, see "Function Module Dependencies".
Registry Entries
Table 81-16 lists the FCT_ApplyBalance registry entries.
Table 81-16 FCT_ApplyBalance Registry Entries
Entry | Description | Mandatory |
---|---|---|
Active |
Specifies if the module is active or inactive: True = Active False = Inactive |
Yes |
BalanceDataModule |
Specifies the connection to the DAT_BalanceBatch module. |
Yes |
DiscountDataModule |
Specifies the connection to the DAT_Discount module. |
Yes |
FirstUsageCreateStream |
Specifies the output stream for balance element balance impacts that whose validity periods start on first usage. See "About Setting the Validity of Balance Elements Impacted by Discounts". Default = FirstUsageResourceOutput |
No |
IgnoreEDROnDeadlock |
Specifies what the module should do when it encounters a deadlock. True = Ignore the EDRs and continue processing the EDR file. False = Roll back already processed EDRs and start reprocessing the same file. |
No |
NumberOfNotificationLimit |
Specifies the maximum number of notification events that can be written into the output XML file. Once the maximum number of notification events is reached, the module creates another XML file. |
No |
NotificationOutputDirectory |
Specifies the directory in which to write the output XML files. |
No |
NotificationOutputPrefix |
Specifies the prefix of the output XML file. |
No |
PortalConfigDataModule |
Specifies the connection to the DAT_PortalConfig module. |
Yes |
Sample Registry
ApplyBalance { ModuleName = FCT_ApplyBalance Module { Active = TRUE DiscountDataModule = ifw.DataPool.DiscountModelDataModule BalanceDataModule = ifw.DataPool.BalanceDataModule PortalConfigDataModule = ifw.DataPool.PortalConfigDataModule IgnoreEDROnDeadlock = False NumberOfNotificationLimit = ifw.DataPool.PortalConfigDataModule NotificationOutputDirectory = ./data/out/notifybalancebreach NotificationOutputPrefix = balancebreach_ } }
Semaphore File Entries
Table 81-17 lists the FCT_ApplyBalance Semaphore file entries.
Table 81-17 FCT_ApplyBalance Semaphore File Entries
Entry | Description |
---|---|
ReloadCreditThresholdParam |
Reloads the value from the CreditThresholdChecking business parameter. |
Sample Semaphore File Entry
ifw.Pipelines.ALL_RATE.Functions.Processing.FunctionPool.ApplyBalanceModule.Module.ReloadCreditThresholdParam{}
EDR Container Fields
Table 81-18 lists the FCT_ApplyBalance EDR container fields.
Table 81-18 FCT_ApplyBalance EDR Container Fields
Alias Field NameDefault Field Name | Type | Access | Description |
---|---|---|---|
DETAIL.EVENT_TYPE |
String |
Read |
Specifies the BRM event type. |
INTERNAL.TRANSACTION_ID |
String |
Read |
Specifies the transaction ID. This is used for queuing. |
DETAIL.INTERN_PROCESS_STATUS |
Integer |
Read |
Specifies the process status. If set to 2, a recycle test is in progress, and this container is skipped. |
DETAIL.ASS_CBD.DP.OBJECT_ACCOUNT |
Integer |
Read |
Specifies the POID of the discount offer owner. |
DETAIL.ASS_CBD.DP.OFFERING_POID |
String |
Read |
Specifies the POID of the account's purchased discount offer. |
DETAIL.ASS_CBD.DP.RESOURCE_ID |
Integer |
Read |
Specifies the ID of the balance element impacted by the discount. |
DETAIL.ASS_CBD.DP.GRANTED_AMOUNT |
Decimal |
Read |
Specifies the discount grant amount. This can be currency or noncurrency. |
DETAIL.ASS_CBD.DP.BALANCE_GROUP_ID |
String |
Read |
Specifies the POID of the account's balance group that is impacted by the discount. |
DETAIL.ASS_CBD.DP.VALID_FROM |
Date |
Read |
Specifies the date when the discount becomes valid. |
DETAIL.ASS_CBD.DP.VALID_FROM_DETAIL |
Integer |
Read |
Specifies the mode of the discounts' start time (such as first-usage or relative), the relative offset unit (such as minutes, months, or cycles) and the number of offset units. |
DETAIL.ASS_CBD.DP.VALID_TO |
Date |
Read |
Specifies the date when the discount is no longer valid. |
DETAIL.ASS_CBD.DP.VALID_TO_DETAIL |
Integer |
Read |
Specifies the mode of the discounts' end time (such as relative), the relative offset unit (such as minutes, months, or cycles) and the number of offset units. |
DETAIL.ASS_CBD.DP.SUB_BALANCE |
Packet |
Write |
Specifies the sub-balance that is impacted by the discount. |
DETAIL.ASS_CBD.DP.SUB_BALANCE.REC_ID |
Integer |
Write |
Specifies the ID of the sub-balance impacted by this discount. |
DETAIL.ASS_CBD.DP.SUB_BALANCE.AMOUNT |
Decimal |
Write |
Specifies the amount of the sub-balance impacted by this discount packet. |
DETAIL.ASS_CBD.DP.SUB_BALANCE.GRANTOR |
String |
Write |
Specifies the charge offer or discount that granted this balance element. |
DETAIL.ASS_CBD.DP.SUB_BALANCE.VALID_FROM |
Date |
Write |
Specifies the date when this sub-balance becomes valid. |
DETAIL.ASS_CBD.DP.SUB_BALANCE.VALID_TO |
Date |
Write |
Specifies the date when this sub-balance is no longer valid. |
DETAIL.ASS_CBD.DP.SUB_BALANCE.VALID_FROM_DETAILS |
Integer |
Write |
Specifies the mode of the sub-balance validity period and the relative offset start time details. |
DETAIL.ASS_CBD.DP.SUB_BALANCE.VALID_TO_DETAILS |
Integer |
Write |
Specifies the mode of the sub-balance validity period and the relative offset end time details. |
DETAIL.ASS_CBD.DP.SUB_BALANCE.CONTRIBUTOR |
String |
Write |
Specifies the service or account that contributes to the sub-balance amount. |
DETAIL.ASS_CBD.UBP |
Packet |
Write |
The update balance packet. This packet contains validity period information for all the account's sub-balances that start on first usage. This packet is added when a sub-balance with a first-usage start time is consumed for the first time. |
DETAIL.ASS_CBD.UBP.BALANCE_GROUP_ID |
Integer |
Write |
Specifies the POID of the account's balance group associated with a balance element balance that starts on first usage. |
DETAIL.ASS_CBD.UBP.RESOURCE_ID |
Integer |
Write |
Specifies the ID of the associated balance element. |
DETAIL.ASS_CBD.UBP.RECORD_NUMBER |
Integer |
Write |
Specifies the sequence number of the record in the file. |
DETAIL.ASS_CBD.UBP.VALID_FROM |
Date |
Write |
Specifies the start time of the balance element balance. |
DETAIL.ASS_CBD.UBP.VALID_TO |
Date |
Write |
Specifies the end time of the balance element balance. |
DETAIL.ASS_CBD.UBP.VALID_FROM_DETAIL |
Integer |
Write |
Specifies the balance element balance start time details: the mode of the validity period (such as first-usage or relative), the relative offset unit (such as minutes, months, or cycles) and the number of offset units. |
DETAIL.ASS_CBD.UBP.VALID_TO_DETAIL |
Integer |
Write |
Specifies the balance element balance end time details: the mode of the validity period (such as relative), the relative offset unit (such as minutes, months, or cycles) and the number of offset units. |
FCT_BatchSuspense
This module is used by the Suspense Manager service to handle file-level suspense operations. It generates the suspended batch create and update streams to be loaded into the BRM database for suspense batch files.
Note:
This module must be placed before all the validation modules/iScripts in a pipeline.
This module also adds suspense reason and suspense subreason codes to batches. See:
Dependencies
Requires a connection to the BRM database.
For more information, see "Function Module Dependencies".
Registry Entries
Table 81-19 lists the FCT_BatchSuspense registry entries.
Table 81-19 FCT_BatchSuspense Registry Entries
Entry | Description | Mandatory |
---|---|---|
Active |
Specifies if the module is active or inactive. True = Active False = Inactive You can use this entry in a semaphore file. |
Yes |
ResubmitDataModule |
Specifies a connection to the DAT_Resubmit module. |
Yes |
DataConnection |
Specifies the connection to the BRM database. |
Yes |
PipelineCategory |
Specifies the pipeline category. Default = CDRPipeline |
Yes |
StorableClass |
Specifies the storable class used to store suspended batch records. Default =/suspended_batch/cdr See "Suspending CDR Files". |
Yes (for Batch file processing) |
SuspenseFile |
Specifies the batch suspense file this module generates:
|
Yes |
Sample Registry
#--------------------------- # Batch Suspense FCT #--------------------------- BatchSuspense { ModuleName = FCT_BatchSuspense Module { Active = TRUE ResubmitDataModule = ifw.DataPool.ResubmitBatch DataConnection = ifw.DataPool.LoginInfranet PipelineCategory = CDRPipeline StorableClass = /suspended_batch/cdr SuspenseFile { Path = .. Prefix = Framework Suffix = msg TempDataPrefix = rej_ } } }
EDR Container Fields
Table 81-20 lists the FCT_BatchSuspense EDR container fields.
Table 81-20 FCT_BatchSuspense EDR Container Fields
Alias Field NameDefault Field Name | Type | Description |
---|---|---|
BATCH_ID HEADER.BATCH_ID |
String |
The unique identifier for the batch file. The batch file's BATCH_ID field is set in the HEADER block when it is received by the pipeline and this field receives its value from that field. |
SEQUENCE_NUMBER HEADER.SEQUENCE_NUMBER |
String |
The suspense sequence number. |
SENDER HEADER.SENDER |
String |
The sender. |
TAP_PROCESSING_INFO HEADER.TAP_PROCESSING_INFO |
String |
Tap specific information (e.g TAP file name for a specific RAP etc). The format of this field is specific to TAP/RAP processing modules and this information created and interpreted by these modules |
OVERRIDE_REASONS HEADER.OVERRIDE_REASONS |
String |
Contains the batch suspense reasons that are overridden from SMC while resubmitting the batch. Mapped from the error code. Used by Suspense Manager. |
FCT_BillingRecord
The FCT_BillingRecord module consolidates balance impact data into an associated BRM billing record and one or more balance impact packets. See "About Consolidation for BRM Billing".
Note:
The FCT_ItemAssign module handles items assigned for usage events.
Note:
Don't use the FCT_BillingRecord module in a CIBER roaming revenue assurance environments. For more information, see "Billing Consolidation with CIBER Roaming and Revenue Assurance".
Dependencies
Requires a connection to the following modules:
-
DAT_AccountBatch
-
DAT_BalanceBatch
-
DAT_Currency
-
DAT_ItemAssign
This module must run after the FCT_MainRating and FCT_Discount modules.
For more information, see "Function Module Dependencies".
Registry Entries
Table 81-21 lists the FCT_BillingRecord registry entries.
Table 81-21 FCT_BillingRecord Registry Entries
Entry | Description | Mandatory |
---|---|---|
Active |
Specifies if the module is active or inactive. TRUE = Active FALSE = Inactive You can use this entry in a semaphore file. |
Yes |
AccountDataModule |
Specifies a connection to the DAT_AccountBatch module. |
Yes |
BalanceDataModule |
Specifies a connection to the DAT_BalanceBatch module. |
Yes |
ChargeBreakDownRecordType |
By default, FCT_BillingRecord module processes Charge Breakdown records whose record type is 981. Use this entry to specify additional Charge Breakdown records. Note: You can specify multiple Charge Breakdown record types. Separate each record type by using a comma. |
No |
CurrencyDataModule |
Specifies a connection to the DAT_Currency module. |
Yes |
CurrencyType |
Specifies the CHARGED_CURRENCY_TYPE value that the charge packets should contain. The possible values are:
Default = H. |
No |
ItemAssignDataModule |
Specifies a connection to the DAT_ItemAssign module. |
Yes |
PortalConfigDataModule |
Specifies the connection to the DAT_PortalConfig module. |
Yes |
RatingPipeline |
Specifies whether the module is running in the rating or rerating pipeline: FALSE = Rerating TRUE = Rating |
No |
RatePlanType |
By default, FCT_BillingRecord processes charge packets whose rateplan type is R. Use this entry to specify additional rateplan types. |
No |
SetTaxLocales |
Specifies whether to view the resulting tax locales in the PIN_TAX_LOCALES field: FALSE = Viewing the resulting tax locales in the PIN_TAX_LOCALES field is disabled. TRUE = View the resulting tax locales in the PIN_TAX_LOCALES field; for example, phone numbers. Default = FALSE. |
No |
Sample Registry Entry
AddInfranetBillingRecord { ModuleName = FCT_BillingRecord Module { Active = TRUE AccountDataModule = ifw.DataPool.CustomerData PortalConfigDataModule = ifw.DataPool.PortalConfigDataModule BalanceDataModule = ifw.DataPool.BalanceDataModule ChargeBreakDownRecordType = 981 CurrencyType = R CurrencyDataModule = ifw.DataPool.CurrencyDataModule ItemAssignDataModule = ifw.DataPool.ItemAssignDataModule RatingPipeline = TRUE RatePlanType = W SetTaxLocales = FALSE } }
Semaphore File Entries
Table 81-22 lists the FCT_BillingRecord Sempahore file entries.
Table 81-22 FCT_BillingRecord Semaphore File Entries
Entry | Description |
---|---|
Active |
Specifies if the module is active or inactive. True = Active False = Inactive |
Sample Semaphore File Entry
ifw.Pipelines.ALL_RATE.Functions.Processing.FunctionPool.AddInfranetBillingRecord. Module.Active = false
EDR Container Fields
Table 81-23 lists the FCT_BillingRecord EDR container fields.
Table 81-23 FCT_BillingRecord EDR Container Fields
Alias Field NameDefault Field Name | Type | Access | Description |
---|---|---|---|
A_NUMBER DETAIL.A_NUMBER |
String |
Read |
Contains the normalized A number. |
ACCOUNT_POID DETAIL.ASS_PIN.ACCOUNT_POID |
String |
Write |
Contains the resulting account POID. |
ACCOUNT_POID DETAIL.ASS_PIN.MP.ACCOUNT_POID |
String |
Create |
POID of the account that the balance impact applies to. Derivation: Mandatory. Calculated. |
ASS_CBD_IMPACT_CATEGORY DETAIL.ASS_CBD.CP.IMPACT_CATEGORY |
String |
Read |
Contains the impact category. |
ASS_CBD_RECORD_TYPE DETAIL.ASS_CBD.RECORD_TYPE |
String |
Read |
Contains the record type of the associated charge record. |
ASS_CBD_RUM_NAME DETAIL.ASS_CBD.RUM_NAME |
String |
Read |
Contains the RUM name. |
ASS_PIN_BALANCE_PACKET DETAIL.ASS_PIN.NUMBER_OF_BALANCE_PACKETS |
Integer |
Write |
Contains the resulting number of balance packets. |
B_NUMBER DETAIL.B_NUMBER |
String |
Read |
Contains the normalized B number. |
BAL_GRP_ID DETAIL.INTERN_BALANCE_GROUP_ID |
String |
Read |
Contains the balance group POID of the service. |
BAL_GRP_POID DETAIL.ASS_PIN.MP.BAL_GRP_POID |
String |
Create |
Balance monitor group that the balance impact applies to. Derivation: Mandatory. Calculated. |
BALANCE_GROUP_ID DETAIL.CUST_A.ML.BALANCE_GROUP_ID |
String |
Read |
Balance monitor group ID. |
BDR_UTC_TIME_OFFSET DETAIL.UTC_TIME_OFFSET |
String |
Read |
Contains the UTC offset. |
BP_ACCOUNT_POID DETAIL.ASS_PIN.BP.ACCOUNT_POID |
String |
Write |
Contains account POID. |
BP_RUM_ID DETAIL.ASS_PIN.BP.RUM_ID |
Long |
Read/Write |
Contains RUM id of the balance packet. |
CHARGED_AMOUNT_CURRENCY DETAIL.ASS_CBD.CP.CHARGED_AMOUNT_CURRENCY |
String |
Read |
Contains the currency. |
CHARGED_AMOUNT_VALUE_ORIG DETAIL.ASS_CBD.CP.CHARGED_AMOUNT_VALUE_ORIG |
Decimal |
Read |
Contains the charged amount value. |
CHARGED_AMOUNT_VALUE DETAIL.ASS_CBD.CP.CHARGED_AMOUNT_VALUE |
Decimal |
Read |
Contains the charged amount value. |
CHARGED_CURRENCY_TYPE DETAIL.ASS_CBD.CP.CHARGED_CURRENCY_TYPE |
String |
Read |
Contains the currency type:
|
CHARGED_TAX_CODE DETAIL.ASS_CBD.CP.CHARGED_TAX_CODE |
String |
Read |
Contains the charged tax code. |
CHARGING_END_TIMESTAMP DETAIL.CHARGING_END_TIMESTAMP |
Date |
Read |
Contains charging end time. |
CHARGING_START_TIMESTAMP DETAIL.CHARGING_START_TIMESTAMP |
Date |
Read |
Contains charging start time. |
CONNECT_SUBTYPE DETAIL.CONNECT_SUBTYPE |
String |
Read |
Contains the connect subtype. |
DETAIL.ASS_CBD.CP.ITEM_TAG |
String |
Read |
Contains the name of the charge item for balance impacts. |
DETAIL.ASS_CBD.CP.ITEM_POID |
String |
Read |
Contains the POID of the associated charge item for balance impacts. |
DETAIL.ASS_CBD.DP.ITEM_TAG |
String |
Read |
Contains the name of the discount item for balance impacts. |
DETAIL.ASS_CBD.DP.ITEM_POID |
String |
Read |
Contains the POID of the associated discount item for balance impacts. |
DETAIL.ASS_CBD.TP.ITEM_TAG |
String |
Read |
Contains the name of the tax item for balance impacts. |
DETAIL.ASS_CBD.TP.ITEM_POID |
String |
Read |
Contains the POID of the associated tax item for balance impacts. |
CP_RUM_ID DETAIL.ASS_CBD.CP.RUM_ID |
Long |
Read |
Contains RUM id. |
DETAIL.ASS_CBD.CP.RECORD_TYPE |
String |
Read |
Contains charge packet record type. |
DETAIL.ASS_CBD.DP |
Record |
Read |
The discount packet record. |
DETAIL.ASS_CBD.DP.BALANCE_GROUP_ID |
Integer |
Read |
Contains the ID of the balance group that the discount applies to. |
DETAIL.ASS_CBD.DP.GLID |
String |
Read |
Contains the G/L ID. |
DETAIL.ASS_CBD.DP.GRANTED_AMOUNT |
Decimal |
Read |
Contains the discount amount granted. This can be currency or noncurrency. |
DETAIL.ASS_CBD.DP.GRANTED_QUANTITY |
Decimal |
Read |
Contains the discount base values used to calculate the amount granted. |
DETAIL.ASS_CBD.DP.IMPACT_CATEGORY |
String |
Read |
Contains the discount impact category. |
DETAIL.ASS_CBD.DP.NODE_LOCATION |
String |
Read |
Contains the node location of the discount. |
DETAIL.ASS_CBD.DP.OBJECT_ACCOUNT |
String |
Read |
Contains the POID of the discount owner. |
DETAIL.ASS_CBD.DP.OBJECT_ID |
String |
Read |
Contains the ID of the discount or sponsor object. |
DETAIL.ASS_CBD.DP.OBJECT_OWNER_ID |
String |
Read |
Contains the POID type of the discount owner. |
DETAIL.ASS_CBD.DP.OBJECT_OWNER_TYPE |
String |
Read |
Contains the POID type of the discount owner. |
DETAIL.ASS_CBD.DP.OBJECT_TYPE |
String |
Read |
Contains the discount or sponsor object that generated the discount. |
DETAIL.ASS_CBD.DP.RATETAG |
String |
Read |
Contains the rate tag for the discount. |
DETAIL.ASS_CBD.DP.RESOURCE_ID |
String |
Read |
Contains the ID of the balance element impacted. |
DETAIL.ASS_CBD.DP.SUB_BALANCE.AMOUNT |
Decimal |
Read |
Contains the amount applied to this sub-balance. |
DETAIL.ASS_CBD.DP.SUB_BALANCE.CONTRIBUTOR |
String |
Read |
Contains the sub-balance contributor field. |
DETAIL.ASS_CBD.DP.SUB_BALANCE.REC_ID |
Integer |
Read |
Contains the record ID of the sub-balance record. |
DETAIL.ASS_CBD.DP.SUB_BALANCE.VALID_FROM |
Date |
Read |
Contains the date the balance element is valid from. |
DETAIL.ASS_CBD.DP.SUB_BALANCE.VALID_TO |
Date |
Read |
Contains the date the balance element is valid to. |
DETAIL.ASS_CBD.DP.TAX_CODE |
String |
Read |
Contains the tax code for the discount. |
DETAIL.ASS_PIN.BI.PIN_RATE_TAG |
String |
Write |
Contains the name of the charge that provided a promotional savings. |
DETAIL.ASS_PIN.BP.BAL_GRP_POID |
String |
Write |
Contains the POID of the balance group that is impacted. |
DETAIL.ASS_PIN.BP.ITEM_POID |
String |
Write |
Contains the POID of the associated item. |
DETAIL.ASS_PIN.SBI |
Record |
Write |
The sub-balance impact record. |
DETAIL.ASS_PIN.SBI.BAL_GRP_POID |
String |
Write |
Contains the POID of the balance group that is impacted. |
DETAIL.ASS_PIN.SBI.PIN_RESOURCE_ID |
Integer |
Write |
Contains the balance element ID. |
DETAIL.ASS_PIN.SBI.RECORD_NUMBER |
Integer |
Write |
Contains the record number of the sub-balance impact record. |
DETAIL.ASS_PIN.SBI.RECORD_TYPE |
String |
Write |
Contains the record type of the sub-balance impact record. |
DETAIL.ASS_PIN.SBI.SB |
Record |
Write |
The sub-balance record. |
DETAIL.ASS_PIN.SBI.SB.CONTRIBUTOR |
String |
Write |
Contains the sub-balance contributor field. |
DETAIL.ASS_PIN.SBI.SB.PIN_AMOUNT |
Decimal |
Write |
Contains the amount of the sub-balance impact. |
DETAIL.ASS_PIN.SBI.SB.RECORD_NUMBER |
Integer |
Write |
Contains the record number of the sub-balance record. |
DETAIL.ASS_PIN.SBI.SB.RECORD_TYPE |
String |
Write |
Contains the record type of the sub-balance record. |
DETAIL.ASS_PIN.SBI.SB.VALID_FROM |
Date |
Write |
Contains the date the sub-balance balance element is valid. |
DETAIL.ASS_PIN.SBI.SB.VALID_TO |
Date |
Write |
Contains the date the sub-balance balance element is no longer valid. |
DETAIL.CUST_A.ACCOUNT_PARENT_ID |
String |
Read |
Contains the BRM account ID. |
DETAIL.CUST_A.INTERN_FOUND_PP_INDEX |
Long |
Read |
Contains the index of the purchased charge offer. |
DETAIL.CUST_A.PRODUCT.OFFERING_POID |
String |
Read |
Contains the charge offer's node location. |
DETAIL.CUST_A.PRODUCT.PRODUCT_ID |
String |
Read |
Contains the BRM charge offer ID. |
DETAIL.CUST_A.PRODUCT.SERVICE_ID |
String |
Read |
Contains the ID of the charge offer. |
DETAIL.CUST_A.PRODUCT.SERVICE_TYPE |
String |
Read |
Contains the service type of the charge offer. |
DETAIL.CUST_A.PRODUCT.SERVICE_USED_ITEM_POID |
String |
Read |
Contains the item POID. |
DETAIL_OBJECT_CACHE_TYPE DETAIL.OBJECT_CACHE_TYPE |
Long |
Write |
Contains the cache type of the associated object. |
DP_AMOUNT_ORIG DETAIL.ASS_CBD.DP.GRANTED_AMOUNT_ORIG |
Decimal |
Read |
Contains original discount amount |
DP_INTERN_RUM_ID DETAIL.ASS_CBD.DP.INTERN_RUM_ID |
Long |
Read |
Contains discount RUM id. |
DP_OFFERING_POID DETAIL.ASS_CBD.DP.OFFERING_POID |
String |
Read |
Contains discount offering POID. |
DP_RESOURCE_ID_ORIG DETAIL.ASS_CBD.DP.RESOURCE_ID_ORIG |
Long |
Read |
Contains original balance element ID. |
DP_SB_GRANTOR DETAIL.ASS_CBD.DP.SUB_BALANCE.GRANTOR |
String |
Read |
Contains discount sub-balance grantor. |
DP_SB_VALID_FROM_DETAILS DETAIL.ASS_CBD.DP.SUB_BALANCE.VALID_FROM_DETAILS |
Long |
Read |
Contains discount sub-balance valid from details. |
DP_SB_VALID_TO_DETAILS DETAIL.ASS_CBD.DP.SUB_BALANCE.VALID_TO_DETAILS |
Long |
Read |
Contains discount sub-balance valid to details. |
EXCHANGE_CURRENCY DETAIL.ASS_CBD.CP.EXCHANGE_CURRENCY |
String |
Read |
Contains currency for exchange. |
EXPIRED_UNITS DETAIL.ASS_CBD.CP.DP. EXPIRED_UNITS |
String |
Write |
Contains the number of units that exceed the maximum. |
GRANTED_DISCOUNT_AMOUNT_VALUE DETAIL.ASS_CBD.CP.GRANTED_DISCOUNT_AMOUNT_VALUE |
Decimal |
Read |
Contains the granted discount amount value. |
GRANTOR DETAIL.ASS_PIN.SBI.SB.GRANTOR |
String |
Write |
Contains grantor of sub-balance impact. |
ITEM_POID DETAIL.ASS_PIN.ITEM_POID |
String |
Write |
Contains the resulting item POID. |
ITEM_TAG DETAIL.ITEM_TAG |
String |
Read |
Contains the item tag. |
MONITOR_OWNER_ACCT_ID DETAIL.CUST_A.ML.MONITOR_OWNER_ACCT_ID |
String |
Read |
Monitor owner's account ID. |
MONITOR_OWNER_ID DETAIL.CUST_A.ML.MONITOR_OWNER_ID |
String |
Read |
Monitor owner ID. |
MONITOR_OWNER_TYPE DETAIL.CUST_A.ML.MONITOR_OWNER_TYPE |
String |
Read |
Monitor owner type. |
MONITOR_SUB_BAL DETAIL.ASS_PIN.MSBI.MONITOR_SUB_BAL |
SB |
Create |
Sub-balance monitored. |
MSBI_BAL_GRP_POID DETAIL.ASS_PIN.MSBI.BAL_GRP_POID |
String |
create |
Contains balance group POID of monitor sub-balance impact. |
MSBI_MSB_PIN_AMOUNT DETAIL.ASS_PIN.MSBI.MSB.PIN_AMOUNT |
Decimal |
Write |
Contains amount of monitor sub-balance. |
MSBI_MSB_RECORD_NUMBER DETAIL.ASS_PIN.MSBI.MSB.RECORD_NUMBER |
Integer |
Write |
Contains record number of monitor sub-balance. |
MSBI_MSB_RECORD_TYPE DETAIL.ASS_PIN.MSBI.MSB.RECORD_TYPE |
String |
Write |
Contains record type of monitor sub-balance. |
MSBI_MSB_VALID_FROM DETAIL.ASS_PIN.MSBI.MSB.VALID_FROM |
Date |
Write |
Contains valid from of monitor sub-balance. |
MSBI_MSB_VALID_TO DETAIL.ASS_PIN.MSBI.MSB.VALID_TO |
Date |
Write |
Contains valid to of monitor sub-balance. |
MSBI_PIN_RESOURCE_ID DETAIL.ASS_PIN.MSBI.PIN_RESOURCE_ID |
Long |
Write |
Contains balance element id of monitor sub-balance impact. |
MSBI_RECORD_TYPE DETAIL.ASS_PIN.MSBI.RECORD_TYPE |
String |
Write |
Contains record type of monitor sub-balance impact. |
NET_QUANTITY DETAIL.NET_QUANTITY |
Decimal |
Write |
Contains net quantity. |
OBJECT_CACHE_TYPE DETAIL.ASS_PIN.BP.OBJECT_CACHE_TYPE" |
Integer |
Write |
Contains the cache type of the associated object. Possible values:
|
ORIGINAL_EVENT_POID DETAIL.ASS_PIN.ORIGINAL_EVENT_POID |
String |
Read |
Contains original event POID. |
PIN_AMOUNT_DEFERRED DETAIL.ASS_PIN.BP.PIN_AMOUNT_DEFERRED |
Integer |
Write |
Specifies whether an EDR contains tax data. This field is set to 0 when an EDR contains a tax packet and a PIN_AMOUNT when an EDR doesn't contain a tax packet. |
PIN_AMOUNT_ORIG DETAIL.ASS_PIN.BP.PIN_AMOUNT_ORIG |
Decimal |
Read/Write |
Contains original amount. |
PIN_AMOUNT DETAIL.ASS_PIN.BP.PIN_AMOUNT |
Decimal |
Write |
Contains the resulting amount used to update BRM balances. |
PIN_AMOUNT DETAIL.ASS_PIN.MP.PIN_AMOUNT |
9(11) |
Create |
Amount of one balance element impact for the account balance. The value can be either positive or negative. The value is added to the PIN_FLD_CURRENT_BAL field of the PIN_FLD_BALANCES array in the account object specified by PIN_FLD_ACCOUNT_OBJ. Note: In case of multiple-RUM rating, this value might be a total value. Possible values: Price. See below for minimum and maximum values.If no price is given, this is a space, for example, NULL in a database. The format is variable floating point. The floating decimal point must be set if the given value is not in the required format. Maximum value: 99999999999 Minimum value: -9999999999 Examples:
Derivation: Mandatory. Derived from the object, /event/PIN_FLD_BAL_IMPACTS.PIN_FLD_AMOUNT. The post-mapping processor decides what mapping rule applies to this attribute; for example, add multiple charge packet values. Note: This value does not include any granted discounts. |
PIN_DISCOUNT DETAIL.ASS_PIN.BP.PIN_DISCOUNT |
Decimal |
Write |
Contains the resulting discount values. |
PIN_GL_ID DETAIL.ASS_PIN.BP.PIN_GL_ID |
String |
Write |
Contains the resulting G/L ID. |
PIN_IMPACT_CATEGORY DETAIL.ASS_PIN.BP.PIN_IMPACT_CATEGORY |
String |
Write |
Contains the impact category from the charge packet or the discount packet, depending on which was passed. |
PIN_IMPACT_TYP DETAIL.ASS_PIN.BP.PIN_IMPACT_TYPE |
Long |
Write |
Contains impact type. |
PIN_INFO_STRING DETAIL.ASS_PIN.BP.PIN_INFO_STRING |
String |
Read/Write |
Contains information of balance packet. |
PIN_INVOICE_DATA DETAIL.ASS_PIN.PIN_INVOICE_DATA |
String |
Write |
Contains the resulting BRM invoice data. |
PIN_OFFERING_POID DETAIL.ASS_PIN.BP.PIN_OFFERING_POID |
String |
Write |
Uniquely identifies an account charge offer, discount, or sponsor. |
PIN_PRODUCT_POID DETAIL.ASS_PIN.BP.PIN_PRODUCT_POID |
String |
Write |
Contains the resulting charge offer object. |
PIN_QUANTITY DETAIL.ASS_PIN.BP.PIN_QUANTITY |
Decimal |
Write |
Contains the resulting quantity used to update BRM accounts. |
PIN_RATE_TAG DETAIL.ASS_PIN.BP.PIN_RATE_TAG |
String |
Write |
Contains the rate tag from the discount packet. |
PIN_RESOURCE_ID_ORIG DETAIL.ASS_PIN.BP.PIN_RESOURCE_ID_ORIG |
Long |
Write |
Contains original balance element id. |
PIN_RESOURCE_ID DETAIL.ASS_PIN.BP.PIN_RESOURCE_ID |
String |
Write |
Contains the resulting ID of the BRM balance element. |
PIN_RESOURCE_ID DETAIL.ASS_PIN.MP.PIN_RESOURCE_ID |
9(9) |
Create |
Numeric value of the balance element that is impacted; for example, 840 for US dollars. Possible value: Any configured BRM balance element ID. Derivation: Mandatory. |
PIN_TAX_CODE DETAIL.ASS_PIN.BP.PIN_TAX_CODE |
String |
Write |
Contains the resulting BRM tax code. |
PRICEMODEL_TYPE DETAIL.ASS_CBD.CP.PRICEMODEL_TYPE |
String |
Read |
Contains the pricing type. |
RATEPLAN_CODE DETAIL.ASS_CBD.CP.RATEPLAN_CODE |
String |
Read |
Contains rateplan code. |
RATEPLAN_TYPE DETAIL.ASS_CBD.CP.RATEPLAN_TYPE |
String |
Read |
Contains the charge type. |
RECORD_TYPE DETAIL.ASS_PIN.MP.RECORD_TYPE |
String |
Create |
Extended to be 3 bytes long. Possible values:
|
RESOURCE_ID DETAIL.ASS_CBD.CP.RESOURCE_ID |
Long |
Read |
Contains charge packet balance element ID. |
RESOURCE_ORIG DETAIL.ASS_CBD.CP.RESOURCE_ID_ORIG |
Long |
Read |
Contains charge packet original balance element ID. |
RM_NET_QUANTITY DETAIL.ASS_CBD.RM.NET_QUANTITY |
Decimal |
Read/Write |
Contains net quantity of RUM. |
ROUNDED_QUANTITY_VALUE DETAIL.ASS_CBD.CP.ROUNDED_QUANTITY_VALUE |
Decimal |
Read |
Contains the rounded quantity value that was used for the price calculations. |
RUM_NAME DETAIL.ASS_PIN.RUM_NAME |
String |
Write |
Contains RUM name. |
SERVICE_POID DETAIL.ASS_PIN.SERVICE_POID |
String |
Write |
Contains the resulting service POID. |
TAX_LOCALES DETAIL.ASS_PIN.PIN_TAX_LOCALES |
String |
Write |
Contains the resulting tax locales string. |
TJ_PIN_AMOUNT DETAIL.ASS_PIN.BP.TJ.PIN_AMOUNT |
Decimal |
create |
Contains amount of tax jurisdiction of balance packet. |
TJ_PIN_TAX_RATE DETAIL.ASS_PIN.BP.TJ.PIN_TAX_RATE |
String |
Create |
Contains tax rate of tax jurisdiction of balance packet. |
TJ_PIN_TAX_TYPE DETAIL.ASS_PIN.BP.TJ.PIN_TAX_TYPE |
String |
Read/create |
Contains tax type of tax jurisdiction of balance packet. |
TJ_PIN_TAX_VALUE DETAIL.ASS_PIN.BP.TJ.PIN_TAX_VALUE |
Decimal |
Create |
Contains tax value of tax jurisdiction of balance packet. |
TJ_RECORD_TYPE DETAIL.ASS_PIN.BP.TJ.RECORD_TYPE |
String |
Create |
Contains record type of tax jurisdiction of balance packet. |
TP_RELATED_CHARGE_INFO_ID DETAIL.ASS_CBD.TP.RELATED_CHARGE_INFO_ID |
Long |
Read |
Contains related charge info id. |
TP_TAX_CODE DETAIL.ASS_CBD.TP.TAX_CODE |
String |
Read |
Contains tax code. |
TP_TAX_RATE DETAIL.ASS_CBD.TP.TAX_RAT |
String |
Read |
Contains tax rate. |
TP_TAX_TYPE DETAIL.ASS_CBD.TP.TAX_TYPE |
String |
Read |
Contains tax type. |
TP_TAX_VALUE_ORIG DETAIL.ASS_CBD.TP.TAX_VALUE_ORIG |
Decimal |
Read |
Contains original tax value. |
TP_TAX_VALUE DETAIL.ASS_CBD.TP.TAX_VALUE |
Decimal |
Read |
Contains tax value. |
TP_TAXABLE_AMOUNT DETAIL.ASS_CBD.TP.TAXABLE_AMOUNT |
Decimal |
Read |
Contains taxable amount. |
USAGE_GL_ACCOUNT_CODE DETAIL.ASS_CBD.CP.USAGE_GL_ACCOUNT_CODE |
String |
Read |
Contains G/L account code. |
VALID_FROM_DETAILS DETAIL.ASS_PIN.SBI.SB.VALID_FROM_DETAILS |
Long |
Write |
Contains valid from details of sub-balance impact. |
VALID_FROM DETAIL.ASS_PIN.MSB.VALID_FROM |
Date |
Create |
Valid from date for this sub-balance. |
VALID_TO_DETAILS DETAIL.ASS_PIN.SBI.SB.VALID_TO_DETAILS |
Long |
Write |
Contains valid to details of sub-balance impact. |
VALID_TO DETAIL.ASS_PIN.MSB.VALID_TO |
Date |
Create |
Valid-to date for this sub-balance. |
FCT_CallAssembling
The FCT_CallAssembling module assembles the multiple CDRs that comprise a single wireless call into a single EDR that Pipeline Manager can process. See "Assembling EDRs".
Dependencies
You must run this module early in a pipeline to assemble EDRs. You must run it before FCT_Discard.
When you configure the FCT_CallAssembling function module to not drop EDRs from the pipeline, ensure that the FCT_AggreGate function module that counts them runs before the FCT_Reject function module.
For more information, see "Function Module Dependencies".
Registry Entries
Table 81-24 lists the FCT_CallAssembling registry entries.
Table 81-24 FCT_CallAssembling Registry Entries
Entry | Description | Mandatory |
---|---|---|
Active |
Turns FCT_CallAssembling module processing on and off. True = Active False = Inactive You can use this entry in a semaphore file. |
Yes |
AssembledEDR |
Specifies a list of fields that the EDR takes from the L call segment and appends it to the last EDR (if the two are different). No default entry. |
No |
AssembleSGSN |
Turns SGSN data capture on and off. If True, this entry waits for all CDRs to arrive before rating a call. If your system does not process TAP records, leave this set to False to save system resources. True = SGSN data recorded False = SGSN data not recorded Default = False |
No |
AssembleVolume |
Turns volume rating on and off. If True, this entry waits for all CDRs to arrive before rating a call. If your system does not require volume rating, leave this set to False to save system resources. True = volume rating on False = volume rating off Default = False |
No |
CallDurationTolerance |
Specifies an allowable cumulative time error for a single call (in seconds). Used with SplitAtGaps = True. Default = 60 See "Specifying a Time Error". |
No |
DropLateCDRs |
Specifies how to handle the output of late EDRs:
Default = True See "Dropping Late Calls". |
No |
EmitPartialEDROnUpgrade |
Specifies the results of the UpgradeFlushLimit semaphore. Results are one of the following:
Default = False (disabled) |
No |
FileName |
Specifies the base file name for the data files. The transaction ID and the suffix are appended. |
Yes |
MaxDuration |
Directs FCT_CallAssembling to rate segments of a wireless call periodically. This entry specifies the maximum amount of time (in seconds) that a call can remain open before FCT_CallAssembling rates the segments that have arrived. This module recalculates the call duration for every call each time a new call segment arrives and compares it to the MaxDuration setting. If the new time duration equals or exceeds the setting for MaxDuration, FCT_CallAssembling emits an EDR to rate the existing portion of the call. For details and a comparison to FlushLimit, see "Rating Calls by Time Duration". No default entry. |
No |
Mode |
Change this entry only if you are creating data upgrade pipelines that are used when changing an EDR container description. The possible values are: Normal. The default mode, and the most common use of this module. Directs FCT_CallAssembling to assemble CDRs into EDRs so Pipeline Manager can process them. RestoreEDRs. Directs FCT_CallAssembling to read serialized EDRs in sequence from data files and inserts them into the pipeline. UpGradeData. Directs FCT_CallAssembling to update data files based on the EDRs it receives. Default = Normal |
Yes |
Path |
Specifies the directory for the data files. Default = . |
No |
RejectMissingChain |
Specifies whether to report an error if a chain reference value is missing. Default = False |
No |
SplitAtGaps |
Specifies whether a non-contiguous set of CDRs can be collected into a single EDR. For example, assume that CDRs F, I1, I2, and I4 have arrived. If set to True, this entry directs FCT_CallAssembling to emit an EDR for F, I1, and I2, and because I3 is missing, a separate EDR for I4. If set to False, all CDRs that have arrived are collected into a single EDR. If set to True, FCT_CallAssembling will emit multiple EDRs if a CDR is missing when the call. True = Active False = Inactive Default = False |
No |
Startup Registry Interdependencies
The Following Section Explains The Relationships Between Certain Startup Registry Entries.
Sample Registry
CallAssembling { ModuleName = FCT_CallAssembling Module { Active = True Path = . FileName = calls RejectMissingChain = False AssembleVolume = TRUE AssembledEDR { 1 = Detail.custom_fields_from_last_edr1 2 = Detail.custom_field_from_last_edr2... } } }
Semaphore File Entries
Table 81-25 lists the FCT_CallAssembling Semaphore file entries.
Table 81-25 FCT_CallAssembling Semaphore File Entries
Entry | Description |
---|---|
Active |
Specifies if the module is active or inactive. True = Active False = Inactive |
ExportDataToXml |
Exports the call data in the existing data file to an XML file with the name specified by the FileName entry in the startup registry file. See "Migrating Call Assembling Data Between Releases and Pipelines". |
ExportDataToXML.CallsPerFile |
If the number of calls exported is larger than the resources available in the host system, you can divide the call data into multiple files by using this option and specifying the number of calls per file. See "Migrating Call Assembling Data Between Releases and Pipelines". |
FlushLimit |
Sets the maximum age (in days) an open (incomplete) EDR can have before being flushed from the work files. For example, a setting of 0 flushes all open calls; a setting of 1 flushes all calls that have been open for a day or more; a setting of 2 flushes all calls that have been open for two days or more, and so on. Note: The setting of 0 does not flush future-dated EDRs because the value of CHARGING_START_TIMESTAMP is greater than the system date. No default value. |
FlushServiceCode |
Used with FlushLimit. Specifies a service. When used, only the calls with the service that match the three-letter service code are flushed. Multiple entries are not allowed. No default value. |
ImportDataFromXml |
Imports the entire contents of the XML file created by the ExportDataToXml entry to the .dat file in the new format. Values: See "Migrating Call Assembling Data Between Releases and Pipelines". |
ImportDataFromXML.FileName |
Specifies the XML file from which to import data. See "Migrating Call Assembling Data Between Releases and Pipelines". |
KeepCallOpen |
Used with FlushLimit. Specifies whether to rate additional EDRs for a call that has already been flushed (True). Default = False See: |
RemoveLimit |
Sets a time limit (in days) for removing EDRs in a Closed or Timeout state from the work files. No default value. |
RemoveRejectedLimit |
Sets a time limit (in days) for removing EDRs in a Closed_Rejected or Timeout_Rejected state from the work files. No default value. |
UpgradeFlushLimit |
Flushes partial EDRs that were closed as a result of a change to the EDR container. No default value (no limit). |
Sample FlushLimit Semaphore Commands
ifw.Pipelines.ALL_RATE.Functions.Processing.FunctionPool.CallAssembling.Module.FlushLimit=1 ifw.Pipelines.ALL_RATE.Functions.Processing.FunctionPool.CallAssembling. Module.FlushServiceCode = tel ifw.Pipelines.ALL_RATE.Functions.Processing.FunctionPool.CallAssembling. Module.KeepCallOpen = True
Semaphore Entries for a Call-Assembling Report
For information, see "Tracking the Status of Assembled Calls".
Table 81-26 lists the semaphore entries for Call-Assembling Report.
Table 81-26 Semaphore Entries for Call-Assembling Report
Entry | Description | Mandatory |
---|---|---|
CreateReport |
Command to create the report. |
Yes |
EndTime |
Specifies the end date and time for the report. EDRs created before this date and time are reported. The format is YYYYMMDDhhmmss. Default = 0 (Current time) |
No |
ReportPath |
Specifies path of the report file. Default = . |
No |
ReportPrefix |
Specifies the file name prefix of the report file. Default = assembly |
No |
StartTime |
Specifies the start date and time for the report. EDRs created on or after this date and time are reported. The format is YYYYMMDDhhmmss. |
No |
Sample semaphore command for call assembling reports
ifw.Pipelines.ALL_RATE.Functions.Processing.FunctionPool.CallAssembling.Module { CreateReport = True StartTime = 20111206000000 Module.StartTime = 20020315000000 EndTime = 20111212090000 ReportPath = ./ ReportPrefix = call_assembly }
EDR Container Fields
Table 81-27 lists the EDR container fields for Call-Assembling Report.
Table 81-27 EDR Container Fields for Call-Assembling Report
Alias Field NameDefault Field Name | Type | Access | Description |
---|---|---|---|
CHAIN_REFERENCE DETAIL.CHAIN_REFERENCE |
String |
Read |
Contains the chain reference key. |
LONG_DURATION_INDICATOR DETAIL.LONG_DURATION_INDICATOR |
String |
Read/Write |
Contains the long duration indicator. Arriving call segments have one of these:
Assembled call segments are given one of these:
|
TRANSACTION_ID |
Decimal |
Read |
Contains the transaction ID. |
PROCESS_STATUS |
Long |
Read |
Contains the EDR status. |
CHARGING_START_TIMESTAMP DETAIL.CHARGING_START_TIMESTAMP |
Date |
Read/Write |
Contains the charging time stamp. |
DURATION DETAIL.DURATION |
Decimal |
Read/Write |
Contains the duration of the assembled EDR. |
VOLUME_SENT DETAIL.VOLUME_SENT |
Decimal |
Read/Write |
Contains the volume sent for the assembled EDR. |
VOLUME_RECEIVED DETAIL.VOLUME_RECEIVED |
Decimal |
Read/Write |
Contains the volume received for the assembled EDR. |
NUMBER_OF_UNITS DETAIL.NUMBER_OF_UNITS |
Decimal |
Read/Write |
Contains the number of units for the assembled EDR. |
RETAIL_CHARGED_AMOUNT_VALUE DETAIL.RETAIL_CHARGED_AMOUNT_VALUE |
Decimal |
Read/Write |
Contains the retail charged amount value for the assembled EDR. |
WHOLESALE_CHARGED_AMOUNT_VALUE DETAIL.WHOLESALE_CHARGED_AMOUNT_VALUE |
Decimal |
Read/Write |
Contains the wholesale charged amount value for the assembled EDR. |
NUMBER_OF_CDRS DETAIL.NUMBER_OF_CDRS |
Integer |
Write |
The number of CDRs assembled in the EDR. |
FCT_CancelTimer
The FCT_CancelTimer module checks the TimerID to identify the EDR and the timeout flag to verify if the EDR is valid or timed out. If the time out flag is set to False, FCT_CancelTimer cancels the timeout flag in the EDR so that the EDR can be sent for further processing.
If the timeout flag is set to True, it means there is a duplicate EDR and the FCT_CancelTimer discards the EDR.
Dependencies
FCT_CancelTimer depends on the FCT_Timer in the Dispatcher pipeline for the TimerID and the timeout flag values.
For more information, see "Function Module Dependencies".
Registry Entries
Table 81-28 lists the FCT_CancelTimer registry entries.
Table 81-28 FCT_CancelTimer Registry Entries
Entry | Description | Mandatory |
---|---|---|
Active |
Specifies if the module is active or inactive. True = Active False = Inactive You can use this entry in a semaphore file. |
Yes |
StreamName |
The output queue to which the timed out EDR is sent. |
Yes |
Sample Registry
CancelTimer { ModuleName = FCT_CancelTimer Module { Active = TRUE StreamName = ExceptionOutput } }
EDR Container Fields
FCT_CancelTimer uses the EDR container fields listed in Table 81-29:
Table 81-29 FCT_CancelTimer Container Fields
Alias Field NameDefault Field Name | Type | Access | Description |
---|---|---|---|
TIMER_ID DETAIL.TIMER_ID |
Integer |
Read |
Contains the timer ID needed to cancel the timer |
FCT_CarrierIcRating
The FCT_CarrierIcRating module adds roaming/interconnect data to EDRs for rating by the FCT_PreRating and FCT_MainRating modules.
Dependencies
Requires a connection to the Pipeline Manager database.
All rating and mapping related modules should be placed in the pipeline.
For more information, see "Function Module Dependencies".
Registry Entries
Table 81-30 lists the FCT_CarrierIcRating registry entries.
Table 81-30 FCT_CarrierIcRating Registry Entries
Entry | Description | Mandatory |
---|---|---|
Active |
Specifies if the module is active or inactive. True = Active False = Inactive You can use this entry in a semaphore file. |
Yes |
EdrNetworkModel |
Specifies the network model. This entry identifies your network as the home network. You can specify one home network per pipeline. You can use this entry in a semaphore file. |
Yes |
IcProductGroup |
Specifies the IC charge offer group that contains the IC charge offers. This field is mandatory for all modes except CARRIER_IC mode. |
Yes |
InterConnectDataModule |
Specifies a connection to the DAT_Interconnect module. |
Yes |
Mode |
Specifies the evaluation path for finding the IC-charge offer.
|
Yes |
RecordTypeField |
Specifies the EDR field that contains the record type. The record type is used to search the IFW_ICPRODUCT_CNF database table for matching records. When processing CIBER record types, this entry is used to find the IC Charge Offers and the corresponding charge to use for rating the CIBER records. |
No |
UseRateplan |
Specifies how the price is calculated:
If you entered an alternative charge when configuring the IC charge offer, you can specify whether to use the alternate charge. You can use this entry in a semaphore file. |
Yes |
Sample Registry
Module { Active = TRUE InterConnectDataModule = integRate.DataPool.InterConnect EdrNetworkModel = OWN UseRateplan = STANDARD Mode = ROAMING IcProductGroup = PG_ROAM RecordTypeField = DETAIL.ASS_CIBER_EXT.CIBER_RECORD_TYPE }
Semaphore File Entries
Table 81-31 lists the FCT_CarrierIcRating Semaphore file entries.
Table 81-31 FCT_CarrierIcRating Semaphore File Entries
Entry | Description |
---|---|
Active |
Specifies if the module is active or inactive. True = Active False = Inactive |
EdrNetworkModel |
Specifies the network model to be used (CODE from table IFW_NETWORKMODEL). |
UseRateplan |
|
Sample Semaphore File Entry
ifw.Pipelines.ALL_RATE.Functions.Processing.FunctionPool. CarrierIcRating.Module.Active = TRUE ifw.Pipelines.ALL_RATE.Functions.Processing.FunctionPool. CarrierIcRating.Module.EdrNetworkModel = OTHER ifw.Pipelines.ALL_RATE.Functions.Processing.FunctionPool. CarrierIcRating.Module.UseRateplan = ALTERNATIVE
EDR Container Fields
Table 81-32 lists the FCT_CarrierIcRating EDR container fields.
Table 81-32 FCT_CarrierIcRating EDR Container Fields
Alias Field NameDefault Field Name | Type | Access | Description |
---|---|---|---|
ASS_CBD DETAIL.ASS_CBD |
Block |
Create |
The associated charge breakdown record created to hold the mapping data. |
ASS_CBD_CHARGE_PACKET DETAIL.ASS_CBD.CP |
Block |
Create |
The charge packet created to hold the mapping data. |
TRUNK_INPUT DETAIL.ASS_GSMW_EXT.TRUNK_INPUT |
String |
Read |
Contains the input trunk search value from the IFW_TRUNK_CNF table. |
TRUNK_OUTPUT DETAIL.ASS_GSMW_EXT.TRUNK_OUTPUT |
String |
Read |
Contains the output trunk search value from the IFW_TRUNK_CNF table. |
ASS_GSMW_ORIGINATING_SWITCH_IDENTIFICATION DETAIL.ASS_GSMW_EXT.ORIGINATING_SWITCH_IDENTIFICATION |
String |
Read |
Contains the switch search value from the IFW_TRUNK_CNF table. |
SOURCE_NETWORK DETAIL.SOURCE_NETWORK |
String |
Read |
Contains the IC charge offer search value from the IFW_ICPRODUCT_CNF table. |
DESTINATION_NETWORK DETAIL.DESTINATION_NETWORK |
String |
Read |
Contains the destination network search value from the IFW_ICPRODUCT_CNF table. |
A_NUMBER DETAIL.A_NUMBER |
String |
Read |
Contains the A number search value from the IFW_ICPRODUCT_CNF table. |
B_NUMBER DETAIL.B_NUMBER |
String |
Read |
Contains the B number search value from the IFW_ICPRODUCT_CNF table. |
C_NUMBER DETAIL.C_NUMBER |
String |
Read |
Contains the C number search value from the IFW_ICPRODUCT_CNF table. |
RECORD_TYPE DETAIL.RECORD_TYPE |
String |
Read |
Contains the record type search value from the IFW_ICPRODUCT_CNF table. |
INTERN_SERVICE_CODE DETAIL.INTERN_SERVICE_CODE |
String |
Read |
Contains the internal service code search value from the IFW_ICPRODUCT_CNF table. |
INTERN_SERVICE_CLASS DETAIL.INTERN_SERVICE_CLASS |
String |
Read |
Contains the internal service class search value from the IFW_ICPRODUCT_CNF table. |
INTERN_USAGE_CLASS DETAIL.INTERN_USAGE_CLASS |
String |
Read |
Contains the internal usage class search value from the IFW_ICPRODUCT_CNF table. |
BDR_CHARGING_START_TIMESTAMP DETAIL.CHARGING_START_TIMESTAMP |
Date |
Read |
Contains the charging time stamp. |
INTERN_A_NUMBER_ZONE DETAIL.INTERN_A_NUMBER_ZONE |
String |
Read |
Contains the internal A number zone. This value sets the charge packet INTERN_ORIGIN_NUM_ZONE value. |
INTERN_B_NUMBER_ZONE DETAIL.INTERN_B_NUMBER_ZONE |
String |
Read |
Contains the internal B number zone. This value sets the charge packet INTERN_DESTIN_NUM_ZONE value. |
ASS_CBD_RECORD_TYPE DETAIL.ASS_CBD.RECORD_TYPE |
String |
Write |
Contains the record type:
|
INTERN_CALC_MODE DETAIL.ASS_CBD.INTERN_CALC_MODE |
String |
Write |
Contains the calculation mode from the CALCMODE field in the IFW_NETWORKMODEL database table. |
CHARGE_TYPE DETAIL.ASS_CBD.CP.CHARGE_TYPE |
String |
Write |
Contains the charge type. |
NETWORK_OPERATOR DETAIL.ASS_CBD.CP.NETWORK_OPERATOR_CODE |
String |
Write |
Contains the network operator code from the CONNECTED_NO field in the IFW_TRUNK database table. |
NETWORK_OPERATOR_BILLINGTYPE DETAIL.ASS_CBD.CP.NETWORK_OPERATOR_BILLINGTYPE |
String |
Write |
Contains the billing type from the BILL_DIRECTION field in the IFW_ICPRODUCT_RATE database table. |
PRODUCTCODE_USED DETAIL.ASS_CBD.CP.PRODUCTCODE_USED |
String |
Write |
Contains the IC charge offer code from the ICPRODUCT field in the IFW_ICPRODUCT database table. |
TRUNK_USED DETAIL.ASS_CBD.CP.TRUNK_USED |
String |
Write |
Contains the trunk from the TRUNK field in the IFW_TRUNK database table. |
POI_USED DETAIL.ASS_CBD.CP.POI_USED |
String |
Write |
Contains the POI from the POI field in the IFW_POI database table. |
ASS_CBD_CHARGING_START_TIMESTAMP DETAIL.ASS_CBD.CP.CHARGING_START_TIMESTAMP |
Date |
Write |
Contains the charging time stamp. |
INTERN_FIX_COST DETAIL.ASS_CBD.CP.INTERN_FIX_COST |
Decimal |
Write |
Contains the internal fixed cost. Added to the charge by the FCT_MainRating module. |
INTERN_RATEPLAN DETAIL.ASS_CBD.CP.INTERN_RATEPLAN |
String |
Write |
Contains the charge. Used by the FCT_PreRating and FCT_MainRating modules. |
INTERN_ORIGIN_NUM_ZONE DETAIL.ASS_CBD.CP.INTERN_ORIGIN_NUM_ZONE |
String |
Write |
Contains the A number zone. Used by the FCT_PreRating module to find the impact category. |
INTERN_DESTIN_NUM_ZONE DETAIL.ASS_CBD.CP.INTERN_DESTIN_NUM_ZONE |
String |
Write |
Contains the B number zone. Used by the FCT_PreRating module to find the impact category. |
INTERN_BILLING_CURRENCY DETAIL.ASS_CBD.CP.INTERN_BILLING_CURRENCY |
String |
Write |
Contains the billing currency name |
INTERN_HOME_CURRENCY DETAIL.ASS_CBD.CP.INTERN_HOME_CURRENCY |
String |
Write |
Contains the home currency name |
FCT_CiberOcc
The FCT_CiberOcc module creates a CIBER record for other charges and credits (OCC record), type 50 or 52.
Dependencies
This module requires a connection to the DAT_InterConnect module.
Must run after the FCT_DuplicateCheck module and before the FCT_CarrierIcRating module.
For more information, see "Function Module Dependencies".
Registry Entries
Table 81-33 lists the FCT_CiberOcc registry entries.
Table 81-33 FCT_CiberOcc Registry Entries
Entry | Description | Mandatory | Default |
---|---|---|---|
Active |
Specifies if the module is active or inactive. True = Active False = Inactive You can use this entry in a semaphore file. |
Yes |
N/A |
CallRecordTypeField |
Specifies the EDR field that indicates the CIBER record type. When processing CIBER record types, this entry is used to find the IC Charge Offers and the corresponding charge to use for rating the CIBER records. |
No |
DETAIL.ASS_CIBER_EXT.CIBER_RECORD_TYPE |
EdrNetworkModel |
Specifies the network model to use for CIBER_OCC searching. This identifies the home network You can specify one home network per pipeline. You can change this value by using a semaphore. |
Yes |
N/A |
InterConnectDataModule |
Specifies a connection to the DAT_InterConnect module. |
Yes |
N/A |
NoOCCField |
Specifies the field that indicates whether to generate an OCC record. This field must match the field name specified in the DuplicateIndicatorField entry of the FCT_DuplicateCheck registry. See "FCT_DuplicateCheck". |
Yes |
DETAIL.ASS_CIBER_EXT.NO_OCC |
OCCDescription |
Description of the service associated with the OCC. Important: This field must not contain spaces. If you require spaces in the description, write an iScript to populate this field. |
No |
" " (Empty string) |
OCCIntervalIndicator |
Specifies the interval at which the associated OCC record is generated. |
No |
3 |
Sample Registry
CiberOcc { ModuleName = FCT_CiberOcc Module } Active = TRUE InterConnectDataModule = ifw.DataPool.InterConnect EdrNetworkModel = ROAMING CallRecordTypeField = DETAIL.ASS_CIBER_EXT.CIBER_RECORD_TYPE NoOCCField = DETAIL.ASS_CIBER_EXT.NO_OCC OCCIntervalIndicator = 3 OCCDescription = DAILY_SURCHARGE } }
Semaphore File Entries
Table 81-34 lists the FCT_CiberOcc Semaphore file entries.
Table 81-34 FCT_CiberOcc Semaphore File Entries
Entry | Description |
---|---|
Active |
Specifies if the module is active or inactive. True = Active False = Inactive |
EdrNetworkModel |
The network model to use for CIBER_OCC searching. |
Sample Semaphore File Entry
ifw.Pipelines.ALL_RATE.Functions.Processing.FunctionPool. CiberOcc.Module.Active = false ifw.Pipelines.ALL_RATE.Functions.Processing.FunctionPool. CiberOcc.Module.EdrNetworkModel = ROAMING
EDR Container Fields
The FCT_CiberOcc module uses the EDR container fields listed in Table 81-35:
Table 81-35 FCT_CiberOcc EDR Container Fields
Default Field Name | Type | Access | Description |
---|---|---|---|
DETAIL.ASS_CIBER_EXT.AIR_CONNECT_TIME |
Date |
Read |
Used to specify the connection time for the OCC record. |
DETAIL.CHARGING_START_TIMESTAMP |
Date |
Read |
IFW_CIBER_OCC |
DETAIL.ASS_CIBER_EXT.CHARGE_NO_1_CONNECT_TIME |
Date |
Read |
Used to specify the connection time for the OCC record. |
DETAIL.ASS_CIBER_EXT.CIBER_RECORD_TYPE |
String |
Read |
This field is specified in the CallRecordTypeField entry in the registry. This is the default field used to determine the current EDR call record type. |
DETAIL.ASS_CIBER_EXT.CIBER_RECORD_TYPE |
String |
Write |
Specifies the type of record to create. If the current record type is:
|
DETAIL.ASS_CIBER_EXT.CONNECT_TIME |
Date |
Write |
This field is set to one of the following:
|
DETAIL.ASS_CIBER_EXT.NO_OCC |
String |
Read |
This field is specified in the NoOCCField entry in the registry. |
DETAIL.ASS_CIBER_EXT.OCC_DESCRIPTION |
String |
Write |
The value of this field is specified in the OCCDescription entry in the registry. The default value is an empty string: " " |
DETAIL.ASS_CIBER_EXT.OCC_END_DATE |
Date |
Write |
The value of CHARGING_START_TIMESTAMP in the current EDR. |
DETAIL.ASS_CIBER_EXT.OCC_INTERVAL_INDICATOR |
String |
Write |
The value of this field is specified in the OCCIntervalIndicator entry in the registry. The default value is 3 (daily interval). |
DETAIL.ASS_CIBER_EXT.OCC_START_DATE |
Date |
Write |
The value of CHARGING_START_TIMESTAMP in the current EDR. |
DETAIL.ASS_CIBER_EXT.RECORD_CREATE_DATE |
Date |
Write |
This field is set to the system date. |
DETAIL.ASS_CIBER_EXT.RECORD_USE_INDICATOR |
String |
Write |
This field is set to 1. |
DETAIL.ASS_CIBER_EXT.SEQ_INDICATOR |
String |
Write |
This field is set to 01. |
DETAIL.SOURCE_NETWORK |
String |
Read |
Search value used for searching the IFW_CIBER_OCC database table. |
DETAIL.ASS_CIBER_EXT.SSU_CONNECT_TIME |
Date |
Read |
Used to specify the connection time for the OCC record. |
FCT_CliMapping
The FCT_CliMapping module maps multiple numbers to a single number for billing. See "Mapping Multiple Phone Numbers to a Single Number".
Dependencies
Must run before the rating modules.
For more information, see "Function Module Dependencies".
Registry Entries
Table 81-36 lists the FCT_CliMapping registry entries.
Table 81-36 FCT_CliMapping Registry Entries
Entry | Description | Mandatory |
---|---|---|
Active |
Specifies if the module is active or inactive. True = Active False = Inactive You can use this entry in a semaphore file. |
Yes |
MapFile |
Specifies the path to the mapping file. You can use this entry in a semaphore file. |
Yes |
Sample Registry Entry
CliMapping { ModuleName = FCT_CliMapping Module { Active = True MapFile = cli_map_1.dat } }
Semaphore File Entries
Table 81-37 lists the FCT_CliMapping Semaphore file entries.
Table 81-37 FCT_CliMapping Semaphore File Entry
Entry | Description |
---|---|
Active |
Specifies if the module is active or inactive. True = Active False = Inactive |
Sample Semaphore File Entry
ifw.Pipelines.ALL_RATE.Functions.Processing.FucntionPool.CliMapping.Module.Active = True
EDR Container Fields
Table 81-38 lists the FCT_CliMapping EDR container fields.
Table 81-38 FCT_CliMapping EDR Container Fields
Alias Field NameDefault Field Name | Type | Access | Description |
---|---|---|---|
A_NUMBER DETAIL.A_NUMBER |
String |
Read/Write |
Contains the customer A number. |
CUST_A_ACCOUNT_ID DETAIL.CUST_A.ACCOUNT_ID |
Block |
Read |
Contains the customer account ID. |
FCT_CreditLimitCheck
The FCT_CreditLimitCheck module determines whether event owners have enough balances in their account balance to cover the cost of usage. If the account does not have sufficient balances to authorize the entire request, this module determines how much usage can be authorized with the available balances.
Note:
The FCT_CreditLimitCheck module does not check the credit floor.
Dependencies
Use this module in a real-time discounting pipeline.
This module must run after all other discounting modules.
For more information, see "Function Module Dependencies".
Registry Entries
Table 81-39 lists the FCT_CreditLimitCheck registry entries.
Table 81-39 FCT_CreditLimitCheck Registry Entries
Entry | Description | Mandatory |
---|---|---|
Active |
Specifies if the module is active or inactive. True = Active False = Inactive |
Yes |
CLCTrace |
Specifies whether to generate a credit limit check trace file. True = Generate a trace file. False = Do not generate a trace file (Default) |
No |
CurrencyDataModule |
Specifies the connection to the DAT_Currency module. |
Yes |
RoundUpRequestQuantity |
Determines whether authorized quantities are rounded up to remove fractional values. True = Round up False = No rounding (Default) |
No |
StepValue |
Specifies the step value to be considered for the quantity during reverse rating and for rounding the prorated quantity. |
No |
Sample Registry Entry
#-------------------------------------------------- # Credit Limit Check #-------------------------------------------------- CreditLimitCheckModule { ModuleName = FCT_CreditLimitCheck Module { Active = True RoundUpRequestQuantity = True CLCTrace = True CurrencyDataModule = ifw.DataPool.CurrencyDataModule StepValue = 0.1 } }
EDR Container Fields
The FCT_CreditLimitCheck module uses the EDR container fields listed in Table 81-40:
Table 81-40 FCT_CreditLimitCheck EDR Container Fields
Alias Field NameDefault Field Name | Type | Access | Description |
---|---|---|---|
CREDIT_LIMIT_CHECK DETAIL.CREDIT_LIMIT_CHECK |
Integer |
Read |
Specifies whether to perform a credit limit check on the EDR: 1 = check; 0 = don't check. |
CREDIT_LIMIT_CHECK_RESULT DETAIL.CREDIT_LIMIT_CHECK_RESULT |
Integer |
Write |
Specifies whether the credit limit check passed or failed: 1 = passed; 0 = failed. |
INTERN_BALANCE_GROUP_ID DETAIL.INTERN_BALANCE_GROUP_ID |
String |
Read |
Account level balance group of the event owner account. |
DETAIL.UNRATED_QUANTITY |
Decimal |
Write |
The quantity that could not be rated. |
RESOURCE_ID DETAIL.ASS_CBD.CP.RESOURCE_ID |
Integer |
Read |
Balance Element ID for the charge packet. |
CHARGED_AMOUNT_VALUE DETAIL.ASS_CBD.CP.CHARGED_AMOUNT_VALUE |
Decimal |
Read |
The balance impact of the charge packet. This amount was computed by real-time rating. |
QUANTITY_FROM DETAIL.ASS_CBD.CP.QUANTITY_FROM |
Decimal |
Read |
Charge packet start quantity. If the charge packet is split by FCT_Discount, this module reads QUANTITY_FROM values from the DETAIL.ASS_CBD.CP.SPLIT_CP block. |
QUANTITY_TO DETAIL.ASS_CBD.CP.QUANTITY_TO |
Decimal |
Read |
Charge packet end quantity. If the charge packet is split by FCT_Discount, this module reads QUANTITY_TO values from the DETAIL.ASS_CBD.CP.SPLIT_CP block. |
DETAIL.ASS_CBD.CP.ROUNDED_QTY_VALUE |
Decimal |
Read |
The quantity that could be authorized. |
DP_DISCOUNT_BALANCE_GROUP_ID DETAIL.ASS_CBD.DP.BALANCE_GROUP_ID |
Integer |
Read |
POID of the balance group impacted by this discount packet. |
DP_DISCOUNT_GRANTED_AMOUNT DETAIL.ASS_CBD.DP.GRANTED_AMOUNT |
Decimal |
Read |
Total amount of the discount packet. This discount amount is applied to the balance group. |
DP_QUANTITY_FROM DETAIL.ASS_CBD.DP.QUANTITY_FROM |
Decimal |
Write |
Discount packet start quantity. Aligns with the QUANTITY_FROM value in a charge packet or a split charge packet. |
DP_QUANTITY_TO DETAIL.ASS_CBD.DP.QUANTITY_TO |
Decimal |
Write |
Discount packet end quantity. Aligns with the QUANTITY_TO value in a charge packet or a split charge packet. |
DP_DISCOUNT_RESOURCE_ID DETAIL.ASS_CBD.DP.RESOURCE_ID |
Integer |
Read |
Balance Element ID for the discount packet. |
BG_BG_ID DETAIL.CUST_A.BG.BALANCE_GROUP_ID |
String |
Read |
Numeric ID for the balance group. |
BG_BELEM_RESOURCE_ID DETAIL.CUST_A.BG.BAL_ELEM.RESOURCE_ID |
Integer |
Read |
The balance element ID for the balance group element. |
BG_BELEM_CURR_BAL DETAIL.CUST_A.BG.BAL_ELEM.CURR_BAL |
Decimal |
Read |
The event owner's current balance for this balance group element. |
BG_BELEM_CREDIT_LIMIT DETAIL.CUST_A.BG.BAL_ELEM.CREDIT_LIMIT |
Decimal |
Read |
The credit limit for this balance group element. |
BG_BELEM_RESERVED_AMOUNT DETAIL.CUST_A.BG.BAL_ELEM.RESERVED_AMOUNT |
Decimal |
Read |
The amount already in reserve by the event owner. |
DETAIL.RUM_MAP.RUM_NAME |
String |
Read |
Name of the RUM. Used in multi-RUM checks. |
DETAIL.RUM_MAP.NET_QUANTITY |
Decimal |
Write |
The total requested quantity for a RUM. Used in multi-RUM checks. |
DETAIL.RUM_MAP.UNRATED_QUANTITY |
Decimal |
Write |
The quantity of a RUM that could not be authorized. Used in multi-RUM checks. |
FCT_CustomerRating
The FCT_CustomerRating module supplies charges for the FCT_MainRating module.
See the following documents:
The FCT_CustomerRating module is also used for least-cost rating and promotional overlays. See:
Dependencies
Requires a connection to the Pipeline Manager database.
This module must run after FCT_Account.
For more information, see "Function Module Dependencies".
Registry Entries
Table 81-41 lists the FCT_CustomerRating registry entries.
Table 81-41 FCT_CustomerRating Registry Entries
Entry | Description | Mandatory |
---|---|---|
Active |
Specifies if the module is active or inactive. True = Active False = Inactive You can use this entry in a semaphore file. |
Yes |
DataConnection |
Specifies the connection to the Pipeline Manager database. |
Yes |
DefaultRateplan |
Specifies the charge code used as default if no customer data for the A number can be found. You can use this entry in a semaphore file. See "Assigning a Default Charge and Default Segment for Customer Rating". |
No |
DefaultSegment |
Specifies the segment name used as default if no customer data for the A number can be found. You can use this entry in a semaphore file. See "Assigning a Default Charge and Default Segment for Customer Rating". |
No |
LeastCostRating |
Specifies whether least cost rating is active or inactive. For more information, see "About Least Cost Rating".
|
No |
Mode |
Specifies that the module is run for customer rating (CUSTOMER). See "About Customer Rating". |
Yes |
PromotionalSaving |
Specifies whether to calculate the total savings to customers when rating a usage event with a promotional charge offer rather than a base charge offer. For more information, see "About Calculating the Promotional Savings".
|
No |
Sample Registry
CustomerRating { ModuleName = FCT_CustomerRating Module { Active = True Mode = CUSTOMER DataConnection = ifw.DataPool.Database } }
Semaphore File Entries
Table 81-42 lists the FCT_CustomerRating Semaphore file entries.
Table 81-42 FCT_CustomerRating Semaphore File Entries
Entry | Description |
---|---|
Active |
Specifies if the module is active or inactive. True = Active False = Inactive |
DefaultRateplan |
Specifies the charge code used as default if no customer data for the A number can be found. See "Assigning a Default Charge and Default Segment for Customer Rating". |
DefaultSegment |
Specifies the segment name used as default if no customer data for the A number can be found. See "Assigning a Default Charge and Default Segment for Customer Rating". |
Sample Semaphore File Entry
ifw.Pipelines.ALL_RATE.Functions.Processing.FunctionPool.CustomerRating.Module.Active = False
EDR Container Fields
Table 81-43 lists the FCT_CustomerRating EDR container fields.
Table 81-43 FCT_CustomerRating EDR Container Fields
Alias Field NameDefault Field Name | Type | Access | Description |
---|---|---|---|
ASS_CBD DETAIL.ASS_CBD |
Block |
Create |
The associated charge breakdown record created to hold the rating data. |
ASS_CBD_CHARGE_PACKET DETAIL.ASS_CBD_CHARGE_PACKET |
Block |
Create |
The charge packet created to hold the rating data. |
BDR_CHARGING_START_TIMESTAMP DETAIL.CHARGING_START_TIMESTAMP |
Date |
Read |
Contains the charging time stamp. Written to the DETAIL.ASS_CBD.CP.CHARGING_START_TIMESTAMP field. |
INTERN_A_NUMBER_ZONE DETAIL.INTERN_A_NUMBER_ZONE |
String |
Read |
Contains the A number zone. Written to the DETAIL.ASS_CBD.CP.INTERN_ORIGIN_NUM_ZONE field. |
INTERN_B_NUMBER_ZONE DETAIL.INTERN_B_NUMBER_ZONE |
String |
Read |
Contains the B number zone. Written to the DETAIL.ASS_CBD.CP.INTERN_DESTIN_NUM_ZONE field. |
INTERN_SLA_RSC_GROUP DETAIL.INTERN_SLA_RSC_GROUP |
String |
Write |
Contains the SLA RSC group. |
INTERN_SLA_USC_GROUP DETAIL.INTERN_SLA_USC_GROUP |
String |
Write |
Contains the SLA USC group code. |
INTERN_SLA_IRULE_SET DETAIL.INTERN_SLA_IRULE_SET |
String |
Write |
Contains the SLA iRule set. |
ASS_CBD_RECORD_TYPE DETAIL.ASS_CBD.RECORD_TYPE |
String |
Write |
Contains the record type for the associated charge breakdown record.
|
CHARGE_TYPE DETAIL.ASS_CBD.CP.CHARGE_TYPE |
String |
Write |
Contains the charge type. This field is always set to N. |
ASS_CBD_ACCOUNT_CODE DETAIL.ASS_CBD.ACCOUNT_CODE |
String |
Write |
Contains the account code. Set with the value from the DETAIL.CUST_A.ACCOUNT_NO field. |
ASS_CBD_SYSTEM_BRAND_CODE DETAIL.ASS_CBD.SYSTEM_BRAND_CODE |
String |
Write |
Contains the system brand code. Set with the value from the DETAIL.CUST_A.SYSTEM_BRAND field. |
ASS_CBD_CUSTOMER_BILLCYCLE DETAIL.ASS_CBD.CUSTOMER_BILLCYCLE |
String |
Write |
Contains the customer's bill cycle code. Set with data from the DETAIL.CUST_A.BILL_CYCLE field. |
ASS_CBD_CUSTOMER_CURRENCY DETAIL.ASS_CBD.CUSTOMER_CURRENCY |
String |
Write |
Contains the customer's currency. Set with the value from the DETAIL.CUST_A.CURRENCY field. |
ASS_CBD_CUSTOMER_RATEPLAN_CODE DETAIL.ASS_CBD.CUSTOMER_RATEPLAN_CODE |
String |
Write |
A comma-separated list of charge codes for all rating charge offers. The list is arranged by charge offer priority, with highest priority first and lowest priority last. |
INTERN_BILLING_CURRENCY DETAIL.ASS_CBD.CP.INTERN_BILLING_CURRENCY |
String |
Write |
Contains the billing currency. Set with the value from the DETAIL.CUST_A.CURRENCY field. |
ASS_CBD_SEGMENT_CODE DETAIL.ASS_CBD.SEGMENT_CODE |
String |
Write |
Contains the segment code. Set with the value from the Data Warehouse ERA. |
ASS_CBD_SLA_CODE DETAIL.ASS_CBD.SLA_CODE |
String |
Write |
Contains the SLA code. Set with the value from the Service Level Agreement ERA. |
INTERN_DISCOUNT_ACCOUNT DETAIL.ASS_CBD.CP.INTERN_DISCOUNT_ACCOUNT |
String |
Write |
Contains the discount account. Set with the value from the Discount ERA. |
RATEPLAN_CODE DETAIL.ASS_CBD.CP.RATEPLAN_CODE |
String |
Write |
Contains the charge code to use for rating. |
ASS_CBD_CHARGING_START_TIMESTAMP DETAIL.ASS_CBD.CP.CHARGING_START_TIMESTAMP |
Date |
Write |
Contains the charging time stamp. Set with the value from the DETAIL.CHARGING_START_TIMESTAMP field. |
INTERN_RATEPLAN DETAIL.ASS_CBD.CP.INTERN_RATEPLAN |
String |
Write |
Contains the internal charge code. Set with values from the Data Warehouse ERA. |
INTERN_ORIGIN_NUM_ZONE DETAIL.ASS_CBD.CP.INTERN_ORIGIN_NUM_ZONE |
String |
Write |
Contains the zone for the A number. Set with DETAIL.INTERN_A_NUMBER_ZONE |
INTERN_DESTIN_NUM_ZONE DETAIL.ASS_CBD.CP.INTERN_DESTIN_NUM_ZONE |
String |
Write |
Contains the zone for the B number. Set with DETAIL.INTERN_B_NUMBER_ZONE |
CUST_A_ACCOUNT_ID DETAIL.CUST_A.ACCOUNT_ID |
String |
Read |
Contains the customer account ID. Write to DETAIL.ASS_CBD.ACCOUNT_CODE |
CUST_A_ACCOUNT_NO DETAIL.CUST_A.ACCOUNT_NO |
String |
Read |
Contains the customer account number. |
CUST_A_SYSTEM_BRAND DETAIL.CUST_A.SYSTEM_BRAND |
String |
Read |
Contains the system brand. Written to the DETAIL.ASS_CBD.SYSTEM_BRAND_CODE field. |
CUST_A_BILL_CYCLE DETAIL.CUST_A.BILL_CYCLE |
String |
Read |
Contains the customer's bill cycle. Written to the DETAIL.ASS_CBD.CUSTOMER_BILLCYCLE field. |
CUST_A_CURRENCY DETAIL.CUST_A.CURRENCY |
String |
Read |
Contains the customer's currency. Written to the DETAIL.ASS_CBD.CUSTOMER_CURRENCY and DETAIL.ASS_CBD.CP.INTERN_BILLING_CURRENCY field. |
CUST_A_INTERN_PP_INDEX DETAIL.CUST_A.INTERN_FOUND_PP_INDEX |
Integer |
Read |
Contains an index of the customer's purchased charge offers identified by the FCT_Account module. |
CUST_A_RATEPLAN_NAME DETAIL.CUST_A.PRODUCT.RATEPLAN_NAME |
String |
Read |
Contains the charge name. Written to the DETAIL.ASS_CBD.CP.RATEPLAN_CODE field. |
CUST_A_PROFILE DETAIL.CUST_A.ERA.PROFILE |
String |
Read |
Contains the customer's account-related ERA data. |
CUST_A_KEY DETAIL.CUST_A.ERA.PA.KEY |
String |
Read |
Contains the key for the account-related ERA data. |
CUST_A_VALUE DETAIL.CUST_A.ERA.PA.VALUE |
String |
Read |
Contains the value for the account-related ERA data. |
CUST_A_PRODUCT_PROFILE DETAIL.CUST_A.PRODUCT.ERA.PROFILE |
String |
Read |
Contains the customer's service-related ERA data. |
CUST_A_PRODUCT_KEY DETAIL.CUST_A.PRODUCT.ERA.PA.KEY |
String |
Read |
Contains the key for the service-related ERA data. |
CUST_A_PRODUCT_KEY DETAIL.CUST_A.PRODUCT.ERA.PA.KEY |
String |
Read |
Contains the value for the service-related ERA data. |
DETAIL.CUST_A.INTERN_RATING_PRODUCTS |
String |
Read |
Contains the charge offer rating indexes. This is a comma-separated list of all rating charge offers' indexes associated with the same service and event, and their priorities. |
DETAIL.CUST_A.LEAST_COST |
Integer |
Write |
Indicates whether to use least cost rating for an EDR. 1 turns it off; any other integer turns it on. This entry overrides the least cost rating entry in the registry file. |
DETAIL.CUST_A.PRODUCT_PRIORITY |
String |
Read |
Contains a list of the priorities for all charge offers that are associated with the same service and event. |
DETAIL.CUST_A.PRODUCT.USAGE_START |
Date |
Read |
Contains a list of the start times for all charge offers that are associated with the same service and event. |
DETAIL.CUST_A.PROMOTIONAL_SAVING |
Integer |
Write |
Indicates whether to calculate the promotional savings for an EDR. 1 turns off promotional savings; any other integer turns it on. |
DETAIL.ASS_CBD.CP.RATEPLAN_CODE |
String |
Write |
A comma-separated list of charge codes for all rating charge offers. The list is arranged by charge offer priority, with highest priority first and lowest priority last. |
FCT_Dayrate
The FCT_Dayrate module calculates charges for special day rates, for example, a discount for calls made on January 1.
Dependencies
Requires a connection to the DAT_Dayrate module.
This module must run after the FCT_MainRating module to adjust the rate.
For more information, see "Function Module Dependencies".
Registry Entries
Table 81-44 lists the FCT_Dayrate registry entries.
Table 81-44 FCT_Dayrate Registry Entries
Entry | Description | Mandatory |
---|---|---|
Active |
Specifies if the module is active or inactive. True = Active False = Inactive You can use this entry in a semaphore file. |
No |
DayrateDataModule |
Specifies the connection to the DAT_Dayrate module. |
No |
Sample Registry
Dayrate { ModuleName = FCT_Dayrate Module { Active = True DayrateDataModule = DayrateData } }
Semaphore File Entries
Table 81-45 lists the FCT_Dayrate Semaphore file entry.
Table 81-45 FCT_Dayrate Semaphore File Entry
Entry | Description |
---|---|
Active |
Specifies if the module is active or inactive. True = Active False = Inactive |
Sample Semaphore File Entry
ifw.Pipelines.ALL_RATE.Functions.Processing.FunctionPool.SpecialDayRate.Module.Active = False
EDR Container Fields
Table 81-46 lists the FCT_Dayrate EDR container fields.
Table 81-46 FCT_Dayrate EDR Container Fields
Alias Field NameDefault Field Name | Type | Access | Description |
---|---|---|---|
CHARGING_START_TIMESTAMP DETAIL.CHARGING_START_TIMESTAMP |
Date |
Read |
Contains the charging time stamp. The field is used to determine which discount to use. |
ASS_CBD.CP.INTERN_RATEPLAN DETAIL.ASS_CBD.CP.INTERN_RATEPLAN |
String |
Read |
Contains the charge code. This field is used to determine which discount to use. |
ASS_CBD.CP.INTERN_RATEPLAN_VERSION DETAIL.ASS_CBD.CP.INTERN_RATEPLAN_VERSION |
Block |
Read |
Contains the charge version. This field is used to determine which discount to use. |
ASS_CBD.CP.CHARGED_AMOUNT_VALUE DETAIL.ASS_CBD.CP.CHARGED_AMOUNT_VALUE |
Block |
Read/Write |
Contains the recalculated charged amount value. |
ASS_CBD.CP DETAIL.ASS_CBD.CP |
Block |
Read |
Contains the block index to charge packages. |
FCT_Discard
The FCT_Discard module discards or skips EDRs based on configurable EDR properties.
-
Skipping an EDR removes it from the pipeline.
-
Discarding an EDR sends it to a different output stream.
In both the cases the state of the EDR becomes invalid.
See "Discarding and Skipping EDRs".
Dependencies
Requires a connection to the Pipeline Manager database.
Because you can discard or split EDRs based on service codes, this module should run after the FCT_ServiceCodeMap module. Should be early in the function pool, but must be run after FCT_CallAssembling.
For more information, see "Function Module Dependencies".
Registry Entries
Table 81-47 lists the FCT_Discard registry entries.
Table 81-47 FCT_Discard Registry Entries
Entry | Description | Mandatory |
---|---|---|
Active |
Specifies if the module is active or inactive. True = Active False = Inactive You can use this entry in a semaphore file. |
Yes |
DataConnection |
Specifies the connection to the Pipeline Manager database. |
Yes |
Function |
Specifies whether to discard or skip the EDR. Default = Discard You can use this entry in a semaphore file. |
No |
StreamName |
Specifies the output stream for discarded EDRs. You can use this entry in a semaphore file. Default = DevNull |
No |
Sample Registry
Discard { ModuleName = FCT_Discard Module { Active = True DataConnection = ifw.DataPool.Database Function = Discard StreamName = DevNull } }
Semaphore File Entries
Table 81-48 lists the FCT_Discard Semaphore file entries.
Table 81-48 FCT_Discard Semaphore File Entries
Entry | Description |
---|---|
Active |
Specifies if the module is active or inactive. True = Active False = Inactive |
Function |
Specifies whether to discard or skip the EDR. Default = Discard |
Reload |
Reloads the discard rules. |
Sample Semaphore File Entry
ifw.Pipelines.ALL_RATE.Functions.Processing.FunctionPool.EventDiscarding.Module.Reload {}
EDR Container Fields
Table 81-49 lists the FCT_Discard EDR container fields.
Table 81-49 FCT_Discard EDR Container Fields
Alias Field NameDefault Field Name | Type | Access | Description |
---|---|---|---|
RECORD_TYPE DETAIL.RECORD_TYPE |
String |
Read |
Contains the record type. |
SOURCE_NETWORK DETAIL.SOURCE_NETWORK |
String |
Read |
Contains the source network code. This could either be PLMN ID or any logical operator code. |
DESTINATION_NETWORK DETAIL.DESTINATION_NETWORK |
String |
Read |
Contains the destination network code. |
CALL_COMPLETION_INDICATOR DETAIL.CALL_COMPLETION_INDICATOR |
String |
Read |
Indicates if a call was successfully completed. |
LONG_DURATION_INDICATOR DETAIL.LONG_DURATION_INDICATOR |
String |
Read |
Contains the long duration indicator:
|
USAGE_CLASS DETAIL.USAGE_CLASS |
String |
Read |
Contains the external usage class. |
INTERN_SERVICE_CODE DETAIL.INTERN_SERVICE_CODE |
String |
Read |
Contains the internal service code. |
ASS_GSMW_EXT.ORIGINATING_SWITCH_IDENTIFICATION DETAIL.ASS_GPRS_EXT.ORIGINATING_SWITCH_IDENTIFICATION |
String |
Read |
Contains the GSM MSC or Switch ID handling the origin of the call. |
ASS_GPRS_EXT_ORIGINATING_SWITCH_IDENTIFICATION DETAIL.ASS_GPRS_EXT.ORIGINATING_SWITCH_IDENTIFICATION |
String |
Read |
Contains the GPRS MSC or Switch ID handling the origin of the call. |
TARIFF_CLASS DETAIL.TARIFF_CLASS |
String |
Read |
Contains the tariff class. |
TARIFF_SUB_CLASS DETAIL.TARIFF_SUB_CLASS |
String |
Read |
Contains the tariff subclass. |
CONNECT_SUB_TYPE DETAIL.CONNECT_SUB_TYPE |
String |
Read |
Contains the connection subtype. |
B_NUMBER DETAIL.B_NUMBER |
String |
Read |
Contains the B number. |
CHARGING_START_TIMESTAMP DETAIL.CHARGING_START_TIMESTAMP |
Date |
Read |
Contains the charging time stamp. |
WHOLESALE_CHARGED_AMOUNT_VALUE DETAIL.WHOLESALE_CHARGED_AMOUNT_VALUE |
Decimal |
Read |
Contains the sum of the wholesale charged amount value. |
DISCARDING DETAIL.DISCARDING |
Integer |
Write |
Indicates if the EDR should be discarded. |
DETAIL.DISCARD_REASON |
String |
Write |
Specifies the name of the discarding rule that applies to the EDR. Discarding rules are defined in the ifw_discarding table. If any of the rules in the table applies to the EDR, the EDR is discarded or skipped. |
Database Tables
The FCT_Discard module uses the data in the IFW_Discarding table to determine which EDRs should be discarded. See "Discarding and Skipping EDRs".
Note:
For information on compare patterns used in database values, see "About Using Regular Expressions when Specifying the Data to Extract".
FCT_Discount
The FCT_Discount module performs discounting operations. The module supports discounting for events rated in real time and events rated in batch by Pipeline Manager.
When the module is called for discount calculation as part of prepaid authorization or reauthorization, it splits charge packets if necessary to create linear segments to which a single net rate applies.
Dependencies
Requires a connection to the following:
-
The DAT_Discount module. See "DAT_Discount".
-
A balance data module, either DAT_BalanceRealtime or DAT_BalanceBatch depending on whether the module is being used for real-time or batch discounting. See "DAT_BalanceRealtime" or "DAT_BalanceBatch".
-
An account data module, either DAT_AccountRealtime or DAT_AccountBatch depending on whether the module is being used for real-time or batch discounting. See "DAT_AccountRealtime" or "DAT_AccountBatch".
-
The DAT_Currency module. This module converts balance element codes to balance element IDs. See "DAT_Currency".
For batch discounting, you must also configure the FCT_ApplyBalance module, which should be in the same function pool as this module for performance reasons and must run after this module.
This module must run after FCT_MainRating.
For more information, see "Function Module Dependencies".
Registry Entries
Table 81-50 lists the FCT_Discount registry entries.
Table 81-50 FCT_Discount Registry Entries
Entry | Description | Mandatory |
---|---|---|
AccountDataModule |
Specifies the connection to the DAT_AccountRealtime or DAT_AccountBatch module. |
Yes |
Active |
Specifies if the module is active or inactive. True = Active False = Inactive You can use this entry as a semaphore command. |
Yes |
AvoidMatchFactorCalculation |
Specifies whether to calculate the amount of usage that is discounted (the match factor) for parallel and sequential discounts. The match factor is typically used only for cascading discounts. See "Calculating the Match Factor of Parallel and Sequential Discounts". |
No |
BackOut |
Specifies if the module is used in a back-out pipeline for rerating. Default = False |
No |
BalanceDataModule |
Specifies the connection to the DAT_BalanceRealtime or DAT_BalanceBatch module. |
Yes |
CurrencyDataModule |
Specifies the connection to DAT_Currency module. |
Yes |
DiscountDataModule |
Specifies the connection to the DAT_Discount module. |
Yes |
DiscountMoreThanPossible |
Specifies if a discount can be higher than the real revenue. Default = False |
No |
DiscountTrace |
Specifies whether to generate discount trace file.
Default = False |
No |
EvalMultipleBalImpact |
Specifies to create a discount balance impact for each charge packet when the discount base expression is not a simple expression (StepC, StepQ, TotalC, or TotalQ). Default = False |
No |
IgnoreEDROnDeadlock |
Specifies whether to ignore EDRs causing the deadlock.
|
No |
IgnoreEDROnDiscountError |
Specifies whether to ignore EDRs with discounting error.
Default = False |
No |
IgnoreEDROnLock |
Specifies whether to ignore the EDR if the balance group object is locked by another transaction. The ignored or rejected EDRs with the locked balance group are placed into the discountError directory.
Default = False |
No |
ShowZeroDiscount |
Specifies whether Discount Packet are generated when granted discount amount is 0.
Default = False |
No |
SupportBundleERA |
Specifies if the support for ERAs is needed. Default = False |
No |
TaxationMode |
Used only when FCT_Discount is configured for discounting in the real-time pipeline. Specifies when events are taxed. The value of this entry should be the same as the value of taxation_switch entry in the Connection Managers (CM) configuration file. Possible values are: 0 - Taxation is disabled. 1 - Enable real-time tax calculation. 2 - Enable deferred (cycle-time) tax calculation. 3 - Enable real-time and deferred tax calculation. Default = 3 |
No |
ZeroValuePacketFilterDisabled |
Used with the aggregation scenario to filter out charge packets where either charge or quantity is zero. Default = True |
No |
ProrateFixedDiscount |
Specifies whether to prorate fixed cycle-event discounts:
To prorate fixed cycle-event discounts, you must set this entry to True before starting the real-time pipeline. |
No |
Sample Registry
GeneralDiscounting { ModuleName = FCT_Discount Module { Active = TRUE DiscountDataModule = ifw.DataPool.DiscountModelDataModule BalanceDataModule = ifw.DataPool.BalanceDataModule AccountDataModule = ifw.DataPool.CustomerData CurrencyDataModule = ifw.DataPool.CurrencyDataModule DiscountMoreThanPossible = False ProrateFixedDiscount = True TaxationMode = 3 EvalMultipleBalImpact = True } }
Semaphore File Entries
Table 81-51 lists the FCT_Discount Semaphore file entries.
Table 81-51 FCT_Discount Semaphore File Entries
Entry | Description |
---|---|
Active |
Specifies if the module is active or inactive. True = Active False = Inactive |
IgnoreEDROnLock |
Specifies whether to ignore the EDR if the balance group object is locked by another transaction. The ignored or rejected EDRs with the locked balance group are placed into the discountError directory.
Default = False |
Sample Semaphore File Entry
ifw.Pipelines.ALL_RATE.Functions.Processing.FunctionPool.ApolloDiscountModule. Module.Active = False
EDR Container Fields
Table 81-52 lists the FCT_Discount EDR container fields.
Table 81-52 FCT_Discount EDR Container Fields
Entry | Format | Access | Description |
---|---|---|---|
BDR_CHARGING_END_TIMESTAMP DETAIL.CHARGING_END_TIMESTAMP |
Date |
Read |
Used to calculate the duration. |
BDR_CHARGING_START_TIMESTAMP DETAIL.CHARGING_START_TIMESTAMP |
Date |
Read |
Used to calculate the duration. |
CREDIT_LIMIT_CHECK DETAIL.CREDIT_LIMIT_CHECK |
Integer |
Read |
Determines whether the module applies discounts normally or as part of a credit limit check. If set to 1, the module applies discounts as part of a credit limit check. It set to 0 (or any value other that 1), the module operates normally. |
ERROR_REJECT_TYPE DETAIL.ERROR_REJECT_TYPE |
String |
Read |
Used by FCT_Reject to reject the DETAIL to a stream other than the standard reject stream. |
EVENT_TYPE DETAIL.EVENT_TYPE |
String |
Read |
BRM event type. |
EVENT_BALANCE_GROUP_ID DETAIL.INTERN_BALANCE_GROUP_ID |
String |
Read |
POID of the balance group charged. |
INTERN_PROCESS_STATUS DETAIL.INTERN_PROCESS_STATUS |
Integer |
Read |
Process status. If set to 2, a recycle test is in progress, and this container is skipped. |
INTERN_USAGE_CLASS DETAIL.INTERN_USAGE_CLASS |
Date |
Read |
Usage class. This is used for matching the usage class in the discount detail. |
REFRESH_BALANCE DETAIL.REFRESH_BALANCE |
Integer |
Read |
Specifies whether the latest balance information should be retrieved from the database. When this field is set, this module calls the balance module to get the latest balance information from the database, whether or not a balance packet is present in the EDR. |
USAGE_TYPE DETAIL.USAGE_TYPE |
Date |
Read |
Usage type. Used for matching the usage type in the discount detail. |
BDR_UTC_TIME_OFFSET DETAIL.UTC_TIME_OFFSET |
String |
Read |
UTC time offset, if the discount owner is not the A customer. |
FU_DISCOUNT_OBJECTS DETAIL.ASS_CBD.FU_DISCOUNT_OBJECTS |
String |
Write |
ID of the account's discounts that have first-usage start times which were used to discount the event. |
ASS_CBD_RECORD_TYPE DETAIL.ASS_CBD.RECORD_TYPE |
String |
Read |
Record type. Used for matching the record type in the discount detail. |
CHARGED_CURRENCY DETAIL.ASS_CBD.CP.CHARGED_AMOUNT_CURRENCY |
String |
Read |
Currency of the charge. |
CHARGED_AMOUNT_VALUE DETAIL.ASS_CBD.CP.CHARGED_AMOUNT_VALUE |
Decimal |
Read |
Amount of the charge. Used as the base value for discounting. |
DISCOUNTMODEL_CODE DETAIL.ASS_CBD.CP.DISCOUNTMODEL_CODE |
String |
Read |
Discount. Used for matching the discount in the discount detail. |
ASS_CBD_IMPACT_CATEGORY DETAIL.ASS_CBD.CP.IMPACT_CATEGORY |
String |
Read |
Impact category Used for matching the impact category in the discount detail. |
CP_DISCOUNT_PACKET_INDEX DETAIL.ASS_CBD.CP.INTERN_PACKET_INDEX |
Integer |
Read |
Packet ID. |
PRICEMODEL_CODE DETAIL.ASS_CBD.CP.PRICEMODEL_CODE |
String |
Read |
Pricing code. Used for matching the pricing in the discount detail. |
QUANTITY_FROM DETAIL.ASS_CBD.CP.QUANTITY_FROM |
Decimal |
Read |
Charge packet start quantity. Used to determine whether to split charge packets. |
QUANTITY_TO DETAIL.ASS_CBD.CP.QUANTITY_TO |
Decimal |
Read |
Charge packet end quantity. Used to determine whether to split charge packets. |
RATEPLAN_CODE DETAIL.ASS_CBD.CP.RATEPLAN_CODE |
String |
Read |
Charge code. Used for filtering in the discount detail. |
RATETAG_CODE DETAIL.ASS_CBD.CP.RATETAG_CODE |
String |
Read |
Concatenation of charge definition. Used for filtering in the discount detail. |
RESOURCE DETAIL.ASS_CBD.CP.RESOURCE |
String |
Read |
Balance Element code. Used for filtering in the discount detail. |
RESOURCE_ID DETAIL.ASS_CBD.CP.RESOURCE_ID |
Integer |
Read |
Numeric ID of the balance element. Used for filtering in the discount detail. |
ROUNDED_QUANTITY_FROM DETAIL.ASS_CBD.CP.ROUNDED_QUANTITY_FROM |
Decimal |
Read |
From quantity after rounding. |
ROUNDED_QUANTITY_TO DETAIL.ASS_CBD.CP.ROUNDED_QUANTITY_TO |
Decimal |
Read |
To quantity after rounding. |
ROUNDED_QUANTITY_VALUE DETAIL.ASS_CBD.CP.ROUNDED_QUANTITY_VALUE |
Decimal |
Read |
Rounded quantity. Used as the base value for discounting. |
RUM DETAIL.ASS_CBD.CP.RUM |
String |
Read |
RUM name. Used for matching the RUM in the discount detail. |
SERVICE_CLASS_USED DETAIL.ASS_CBD.CP.SERVICE_CLASS_USED |
String |
Read |
Service class. Used for matching the service class in the discount detail. |
SERVICE_CODE_USED DETAIL.ASS_CBD.CP.SERVICE_CODE_USED |
String |
Read |
Service code. Used for matching the service code in the discount detail. |
TIMEMODEL_CODE DETAIL.ASS_CBD.CP.TIMEMODEL_CODE |
String |
Read |
Time model code. Used for matching the time model in the discount detail. |
TIMEZONE_CODE DETAIL.ASS_CBD.CP.TIMEZONE_CODE |
String |
Read |
Time zone code. Used for matching the time zone in the discount detail. |
USAGE_GL_ACCOUNT_CODE DETAIL.ASS_CBD.CP.USAGE_GL_ACCOUNT_CODE |
String |
Read |
G/L code. Used for matching the G/L code in the discount detail. |
ASS_CBD_ZONEMODEL_CODE DETAIL.ASS_CBD.CP.ZONEMODEL_CODE |
String |
Read |
Zone model code. Used for matching the zone model in the discount detail. |
DETAIL.ASS_CBD.CP.SPLIT_CP |
Sub-block |
Write |
Optional sub-block added when charge packets are split. |
DETAIL.ASS_CBD.CP.SPLIT_CP.RESOURCE_ID |
Integer |
Write |
Numeric ID of the balance element. Used for filtering in the discount detail. Copied from the original charge packet. |
DETAIL.ASS_CBD.CP.SPLIT_CP.RUM |
String |
Write |
RUM name. Copied from the original charge packet. |
DETAIL.ASS_CBD.CP.SPLIT_CP.QUANTITY_FROM |
Decimal |
Write |
Split charge packet start quantity. Calculated by the module. |
DETAIL.ASS_CBD.CP.SPLIT_CP.QUANTITY_TO |
Decimal |
Write |
Split charge packet end quantity. Calculated by the module. |
DETAIL.ASS_CBD.CP.SPLIT_CP.CHARGED_AMOUNT_VALUE |
Decimal |
Write |
Amount of the charge for this split charge packet. Calculated by the module. |
DETAIL.ASS_CBD.CP.SPLIT_CP.INTERN_PACKET_INDEX |
Integer |
Write |
The index of the split charge packet. |
DETAIL.ASS_CBD.CP.SPLIT_CP.INTERN_SRC_PACKET_INDEX |
Integer |
Write |
The packet index of the charge packet from which this split charge packet was generated. |
DP_DISCOUNT_BALANCE_GROUP_ID DETAIL.ASS_CBD.DP.BALANCE_GROUP_ID |
String |
Write |
POID of the balance group impacted by this discount packet. |
DP_CREATED DETAIL.ASS_CBD.DP.CREATED |
String |
Write |
Creation date of the element. |
DP_DISCOUNTBALIMPACTID DETAIL.ASS_CBD.DP.DISCOUNTBALIMPACTID |
Integer |
Write |
Discount balance impact ID. |
DP_DISCOUNTMODEL DETAIL.ASS_CBD.DP.DISCOUNTMODEL |
String |
Write |
Discount used to create this discount packet. |
DP_DISCOUNTRULE DETAIL.ASS_CBD.DP.DISCOUNTRULE |
String |
Write |
Discount rule used to create this discount packet |
DP_DISCOUNTSTEPID DETAIL.ASS_CBD.DP.DISCOUNTSTEPID |
Integer |
Write |
Discount step used to create this discount packet |
DP_DISCOUNT_GLID DETAIL.ASS_CBD.DP.GLID |
String |
Write |
G/L ID as specified in the discount balance impact, otherwise copied from the charge packet. |
DP_GRANTED_AMOUNT DETAIL.ASS_CBD.DP.GRANTED_AMOUNT |
Decimal |
Write |
Granted discount/sponsorship amount. Can be currency or noncurrency. |
DP_GRANTED_QUANTITY DETAIL.ASS_CBD.DP.GRANTED_QUANTITY |
Decimal |
Write |
Discount base value used to compute granted amount. |
DP_DISCOUNT_IMPACT_CATEGORY DETAIL.ASS_CBD.DP.IMPACT_CATEGORY |
String |
Write |
Impact category specified for this discount packet, otherwise copied from the charge packet. |
DP_INTERN_DISC_MATCH_FACTOR DETAIL.ASS_CBD.DP.INTERN_DISC_MATCH_FACTOR |
Decimal |
Write |
Discount match factor |
DP_DISCOUNT_PACKET_INDEX DETAIL.ASS_CBD.DP.INTERN_PACKET_INDEX |
Integer |
Write |
Packet ID. |
DP_DISCOUNT_SRC_PACKET_INDEX DETAIL.ASS_CBD.DP.INTERN_SRC_PACKET_INDEX |
Integer |
Write |
Source packet ID. |
DP_INTERN_TOTAL_MATCH_FACTOR DETAIL.ASS_CBD.DP.INTERN_TOTAL_MATCH_FACTOR |
Decimal |
Write |
Total discounted match factor. |
DP_NODE_LOCATION DETAIL.ASS_CBD.DP.NODE_LOCATION |
String |
Write |
Node location. |
DP_OBJECT_ACCOUNT DETAIL.ASS_CBD.DP.OBJECT_ACCOUNT |
Integer |
Write |
POID of discount owner. |
DP_OBJECT_ID DETAIL.ASS_CBD.DP.OBJECT_ID |
String |
Write |
Discount/sponsor object ID. |
DP_OBJECT_OWNER_ID DETAIL.ASS_CBD.DP.OBJECT_OWNER_ID |
Integer |
Write |
POID of the account or service that owns the discount. |
DP_OBJECT_OWNER_TYPE DETAIL.ASS_CBD.DP.OBJECT_OWNER_TYPE |
String |
Write |
POID type of discount owner, /account or /service. |
DP_OBJECT_TYPE DETAIL.ASS_CBD.DP.OBJECT_TYPE |
String |
Write |
Discount/sponsor object that generated this discount. |
DP_DISCOUNT_PRICEMODEL_CODE DETAIL.ASS_CBD.DP.PRICEMODEL_CODE |
String |
Write |
Pricing used to generate this discount. |
DP_DISCOUNT_QUANTITY DETAIL.ASS_CBD.DP.QUANTITY |
Decimal |
Write |
Discounted noncurrency amount. |
DP_QUANTITY_FROM DETAIL.ASS_CBD.DP.QUANTITY_FROM |
Decimal |
Write |
Discount packet start quantity. Aligns with the QUANTITY_FROM value in a charge packet or a split charge packet. |
DP_QUANTITY_TO DETAIL.ASS_CBD.DP.QUANTITY_TO |
Decimal |
Write |
Discount packet end quantity. Aligns with the QUANTITY_TO value in a charge packet or a split charge packet. |
DP_DISCOUNT_RATEPLAN DETAIL.ASS_CBD.DP.RATEPLAN |
String |
Write |
Charge used to generate this discount. |
DP_DISCOUNT_RATETAG DETAIL.ASS_CBD.DP.RATETAG |
String |
Write |
Concatenation of the definition of the charge used to generate this discount. |
DP_DISCOUNT_RESOURCE DETAIL.ASS_CBD.DP.RESOURCE_ID |
Integer |
Write |
Balance Element ID of the balance element impacted by this discount. |
DP_DISCOUNT_RUM DETAIL.ASS_CBD.DP.RUM |
String |
Write |
The RUM entered for filtering in the discount filter. |
DP_DISCOUNT_SERVICE_CLASS DETAIL.ASS_CBD.DP.SERVICE_CLASS |
String |
Write |
Service class entered for filtering in the discount filter. |
DP_DISCOUNT_SERVICE_CODE DETAIL.ASS_CBD.DP.SERVICE_CODE |
String |
Write |
Service code entered for filtering in the discount filter. |
DP_DISCOUNT_SUB_BALANCE.GRANTOR DETAIL.ASS_CBD.DP.SUB_BALANCE.GRANTOR |
String |
Read |
ID of the charge offer or discount that granted this balance element. |
DP_DISCOUNT_SUB_BALANCE.VALID_FROM_DETAILS DETAIL.ASS_CBD.DP.SUB_BALANCE.VALID_FROM_DETAILS |
Integer |
Read |
The sub-balance start time mode (such as first-usage or relative) and relative offset details. This field is used in conjunction with SUB_BALANCE_VALID_FROM to determine the validity period start time. |
DETAIL.ASS_CBD.DP.SUB_BALANCE.VALID_TO_DETAILS |
Integer |
Read |
The sub-balance end time mode (such as relative) and relative offset details. This field is used in conjunction with SUB_BALANCE_VALID_TO to determine the validity period end time. |
DP_DISCOUNT_TAX_CODE DETAIL.ASS_CBD.DP.TAX_CODE |
String |
Write |
Tax code as specified in the discount balance impact. If not specified in the balance impact, copied from the charge packet for this discount packet. |
DP_DISCOUNT_TIMEMODEL_CODE DETAIL.ASS_CBD.DP.TIMEMODEL_CODE |
String |
Write |
Time model entered for filtering in the discount filter. |
DP_DISCOUNT_TIMEZONE_CODE DETAIL.ASS_CBD.DP.TIMEZONE_CODE |
String |
Write |
Time zone entered for filtering in the discount filter. |
DP_DISCOUNT_VALID_FROM DETAIL.ASS_CBD.DP.VALID_FROM |
Date |
Write |
Valid-from date for the grant in the discount packet. |
DP_DISCOUNT_VALID_TO DETAIL.ASS_CBD.DP.VALID_TO |
Date |
Write |
Valid-to date for the grant in the discount packet. |
DP_DISCOUNT_VALID_FROM_DETAIL DETAIL.ASS_CBD.DP.VALID_FROM_DETAIL |
Integer |
Read |
The valid-from mode (such as first usage or relative) and relative offset details. This field is used in conjunction with PIN_FLD_VALID_FROM to determine the validity period start time. |
DP_DISCOUNT_VALID_TO_DETAIL DETAIL.ASS_CBD.DP.VALID_TO_DETAIL |
Integer |
Read |
The valid-to mode (such as relative) and relative offset details. This field is used in conjunction with PIN_FLD_VALID_TO to determine the validity period end time. |
DP_DISCOUNT_ZONEMODEL_CODE DETAIL.ASS_CBD.DP.ZONEMODEL_CODE |
String |
Write |
Zone model code enter for filtering in the discount filter. |
SUB_BAL_AMOUNT DETAIL.ASS_CBD.DP.SUB_BALANCE.AMOUNT |
Decimal |
Write |
Amount of a sub-balance impacted by the discount packet. |
SUB_BAL_CONTRIBUTOR DETAIL.ASS_CBD.DP.SUB_BALANCE.CONTRIBUTOR |
String |
Write |
Contributor to a sub-balance impacted by the discount packet. |
SUB_BAL_REC_ID DETAIL.ASS_CBD.DP.SUB_BALANCE.REC_ID |
Integer |
Write |
ID of a sub-balance impacted by the discount packet. |
SUB_BAL_VALID_FROM DETAIL.ASS_CBD.DP.SUB_BALANCE.VALID_FROM |
Date |
Write |
Beginning validity date for a sub-balance impacted by the discount packet. |
SUB_BAL_VALID_TO DETAIL.ASS_CBD.DP.SUB_BALANCE.VALID_TO |
Date |
Write |
End validity date for a sub-balance impacted by the discount packet. |
ACCOUNT_PARENT_ID DETAIL.CUST_A.ACCOUNT_PARENT_ID |
String |
Read |
Customer account POID. |
ACTG_LAST_DATE DETAIL.CUST_A.ACTG_LAST_DATE |
Date |
Read |
The date that the current monthly cycle began. |
ACTG_NEXT_DATE DETAIL.CUST_A.ACTG_NEXT_DATE |
Date |
Read |
Date that the current monthly cycle ends. |
ACTG_USED_DATE DETAIL.CUST_A.ACTG_USED_DATE |
Date |
Read |
Date used for this EDR. |
FIRST_USGAE_INDICATOR DETAIL.CUST_A.DL.PD.FIRST_USAGE_INDICATOR |
Integer |
Read |
Specifies whether the discount's validity period is configured to start when first used. |
DETAIL.CUST_A.DL.PD.USAGE_END |
Write |
||
INTERN_FOUND_PP_INDEX DETAIL.CUST_A.INTERN_FOUND_PP_INDEX |
Integer |
Read |
Purchased charge offer index of the charge offer or service. |
SERVICE_ID DETAIL.CUST_A.PRODUCT.SERVICE_ID |
String |
Read |
POID of the service instance. |
BG_BG_ID DETAIL.CUST_A.BG.BALANCE_GROUP_ID |
String |
Read |
POID of the balance group for the account. |
BG_BELEM_CURR_BAL DETAIL.CUST_A.BG.BAL_ELEM.CURR_BAL |
Decimal |
Read |
Current balance of the balance group element. |
BG_BELEM_RESOURCE_ID DETAIL.CUST_A.BG.BAL_ELEM.RESOURCE_ID |
Integer |
Read |
Balance Element ID of the balance group element. |
DISCOUNT_BALANCE_GROUP_ID DETAIL.CUST_A.DL.BALANCE_GROUP_ID |
String |
Read |
Balance group used to evaluate this discount instance. |
DISCOUNT_OWNER_ACCT_ID DETAIL.CUST_A.DL.DISCOUNT_OWNER_ACCT_ID |
String |
Read |
POID of the account that owns the discount, either directly or indirectly through a service. |
DISOUNT_OWNER_ID DETAIL.CUST_A.DL.DISCOUNT_OWNER_ID |
String |
Read |
POID of the account or service that owns the discount. Identical to DISCOUNT_OWNER_ACCT_ID if the discount is owned directly by an account. |
DISOUNT_OWNER_TYPE DETAIL.CUST_A.DL.DISCOUNT_OWNER_TYPE |
String |
Read |
Discount owner type, either /account or /service. |
PD_DISCOUNTID DETAIL.CUST_A.DL.PD.DISCOUNT_ID |
String |
Read |
POID of the discount object. |
PD_DISCOUNTMODEL DETAIL.CUST_A.DL.PD.DISCOUNT_MODEL |
String |
Read |
Code of a discount referenced in the discount object. |
PD_FLAGS DETAIL.CUST_A.DL.PD.FLAGS |
Integer |
Read |
Proration setting. |
PD_MODE DETAIL.CUST_A.DL.PD.MODE |
Integer |
Read |
Discount mode, either cascading or parallel. |
PD_NODE_LOCATION DETAIL.CUST_A.DL.PD.NODE_LOCATION |
String |
Read |
Unique ID of the discount object. |
PD_QUANTITY DETAIL.CUST_A.DL.PD.QUANTITY |
Integer |
Read |
Number of purchased discounts. This is multiplied by balance impact of this discount instance. |
PD_SCALE DETAIL.CUST_A.DL.PD.SCALE |
Decimal |
Read |
Proration scale. |
PD_VALID_FLAG DETAIL.CUST_A.DL.PD.VALID_FLAG |
Integer |
Read |
Indicates whether the discount is valid. |
SPONSOR_BALANCE_GROUP_ID DETAIL.CUST_A.SL.BALANCE_GROUP_ID |
String |
Read |
POID of the charge share group balance group. |
SPONSOR_OWNER_ACCT_ID DETAIL.CUST_A.SL.SPONSOR_OWNER_ACCT_ID |
String |
Read |
POID of the account that owns the chargeshare object, either directly or indirectly through a service. |
SPONSOR_OWNER_ID DETAIL.CUST_A.SL.SPONSOR_OWNER_ID |
String |
Read |
POID of the account or service that owns the chargeshare. Identical to SPONSOR_OWNER_ACCT_ID if the chargeshare is owned directly by an account. |
SPONSOR_OWNER_TYPE DETAIL.CUST_A.SL.SPONSOR_OWNER_TYPE |
String |
Read |
Chargeshare owner type, either /account or /service. |
SD_DISCOUNTMODEL DETAIL.CUST_A.SL.SD.DISCOUNT_MODEL |
String |
Read |
Discount used for this chargeshare. |
SD_SPONSORID DETAIL.CUST_A.SL.SD.SPONSORSHIP_ID |
String |
Read |
The POID of the chargeshare (/sponsorship) object. |
SD_VALID_FLAG DETAIL.CUST_A.SL.SD.VALID_FLAG |
Integer |
Read |
Indicates whether the chargeshare is valid. |
DETAIL.CUST_A.SUBCYCLE_PL.DL.PD.USAGE_END |
N/A |
Read |
N/A |
DETAIL.CUST_A.SUBCYCLE_PL.DL.PD.FIRST_USAGE_INDICATOR |
N/A |
Read |
N/A |
TRANSACTION_ID INTERNAL.TRANSACTION_ID |
Decimal |
Read |
The transaction ID. Needed for queuing. |
FCT_DiscountAnalysis
The FCT_DiscountAnalysis module determines which discounts apply to a given event.
Dependencies
The FCT_DiscountAnalysis module requires a connection to the following data modules:
For pipeline rating, this module must run after the FCT_Account module and before the FCT_Discount module.
For real-time rating, this module must run before the FCT_Discount module.
For more information, see "Function Module Dependencies".
Registry Entries
Table 81-53 lists the FCT_DiscountAnalysis registry entries.
Table 81-53 FCT_DiscountAnalysis Registry Entries
Entry | Description | Mandatory |
---|---|---|
Active |
Specifies if the module is active or inactive. True = Active False = Inactive You can use this entry in a semaphore file. |
Yes |
DiscountModelDataModule |
Specifies the connection to the DAT_Discount module. |
Yes |
Filter_SetModule |
Specifies the connection to the FCT_Filter_Set module. Use this entry if the FCT_Filter_Set module is configured. See: |
No |
ModelSelectorDataModule |
Specifies the connection to the DAT_ModelSelector module. |
Yes |
Sample Registry
Discount { ModuleName = FCT_DiscountAnalysis Module { Active = True DiscountModelDataModule = ifw.DataPool.DiscountModelDataModule Filter_SetModule = ifw.Pipelines.ALL_RATE.Functions.Processing.FunctionPool.Filter_Set ModelSelectorDataModule = ifw.DataPool.ModelSelectorDataModule } }
Semaphore File Entries
Table 81-54 lists the FCT_DiscountAnalysis Semaphore file entry.
Table 81-54 FCT_DiscountAnalysis Semaphore File Entry
Entry | Description |
---|---|
Active |
Specifies if the module is active or inactive. True = Active False = Inactive |
Sample Semaphore File Entry
ifw.Pipelines.ALL_RATE.Functions.Processing.FunctionPool.DiscountAnalysisModule. Module.Active = False
EDR Container Fields
Table 81-55 lists the FCT_DiscountAnalysis EDR container fields.
Table 81-55 FCT_DiscountAnalysis EDR Container Fields
Alias Field NameDefault Field Name | Type | Access | Description |
---|---|---|---|
ASS_CBD DETAIL.ASS_CBD |
Block |
R |
n/a |
ASS_CBD_CHARGE_PACKET DETAIL.ASS_CBD.CP |
Block |
R |
Charge packet; used to check for any discount ERAs set. |
BDR_CHARGING_START_TIMESTAMP DETAIL.CHARGING_START_TIMESTAMP |
Date |
R |
Event start time. |
BDR_CHARGING_END_TIMESTAMP DETAIL.CHARGING_END_TIMESTAMP |
Date |
R |
Event end time. |
EVENT_TYPE DETAIL.EVENT_TYPE |
String |
R |
The event type used to locate the event discount. |
BDR_UTC_TIME_OFFSET DETAIL.UTC_TIME_OFFSET |
String |
R |
The UTC offset used to adjust the start and end time. |
INTERN_BALANCE_GROUP_ID DETAIL.INTERN_BALANCE_GROUP_ID |
String |
RW |
Account level balance group of the event owner account. |
INTERN_DISCOUNT_OWNER_ACCT_ID DETAIL.INTERN_DISCOUNT_OWNER_ACCT_ID |
String |
RW |
Event owner account ID. |
DISCOUNT_LIST DETAIL.CUST_A.DL |
Block |
R |
Purchased discount offers that belong to an account or service, or are shared by an account or service. |
BALANCE_GROUP_ID DETAIL.CUST_A.DL.BALANCE_GROUP_ID |
String |
RW |
ID of the balance group whose balance elements are used for the discounts in the discount list. |
DISCOUNT_OWNER_ACCT_ID DETAIL.CUST_A.DL.DISCOUNT_OWNER_ACCT_ID |
String |
RW |
ID of the account that owns the set of purchased discount offers in the discount list. |
PURCHASED_DISCOUNTS DETAIL.CUST_A.DL.PD |
String |
CW |
Information about the discount. |
DISCOUNT_ID DETAIL.CUST_A.DL.PD.DISCOUNT_ID |
String |
RW |
Discount Ooffer object ID. |
STATUS DETAIL.CUST_A.DL.PD.STATUS |
String |
RW |
Discount offer state (active, inactive, or cancelled). |
PURCHASE_START DETAIL.CUST_A.DL.PD.PURCHASE_START |
Date |
RW |
Discount offer purchase start time. |
PURCHASE_END DETAIL.CUST_A.DL.PD.PURCHASE_END |
Date |
RW |
Discount offer purchase end time. |
USAGE_START DETAIL.CUST_A.DL.PD.USAGE_START |
Date |
RW |
Discount usage start time. |
USAGE_END DETAIL.CUST_A.DL.PD.USAGE_END |
Date |
RW |
Discount usage end time. |
PRIORITY DETAIL.CUST_A.DL.PD.PRIORITY |
Integer |
RW |
Discount offer priority. |
MODE DETAIL.CUST_A.DL.PD.MODE |
Integer |
RW |
Discount mode (parallel or cascading). |
VALID_FLAG DETAIL.CUST_A.DL.PD.VALID_FLAG |
Integer |
RW |
A value indicating discount validity. |
TYPE DETAIL.CUST_A.DL.PD.TYPE |
Integer |
RW |
Discount type (system, subscription, or item). |
QUANTITY DETAIL.CUST_A.DL.PD.QUANTITY |
Decimal |
RW |
Purchase quantity. |
SCALE DETAIL.CUST_A.DL.PD.SCALE |
Decimal |
RW |
Proration scale. |
OFFERING_POID DETAIL.CUST_A.DL.PD.OFFERING_POID |
String |
RW |
A value that identifies the purchased discount associated with the account. |
DISCOUNT_MODEL DETAIL.CUST_A.DL.PD.DISCOUNT_MODEL |
String |
RW |
A discount. |
SPONSOR_LIST DETAIL.CUST_A.SL |
Block |
R |
The list of sponsors that split the charges with the event user. |
SPONSOR_BALANCE_GROUP_ID DETAIL.CUST_A.SL.BALANCE_GROUP_ID |
String |
R |
The balance group whose balance elements are used for the sponsorship list. |
SPONSORSHIP_DETAILS DETAIL.CUST_A.SL.SD |
Block |
R |
Sponsorships that belong to an account or service or are shared by the account or service. |
SPONSORSHIP_ID DETAIL.CUST_A.SL.SD.SPONSORSHIP_ID |
String |
R |
Sponsorship object ID. |
SPONSOR_VALID_FLAG DETAIL.CUST_A.SL.SD.VALID_FLAG |
Integer |
RW |
A value that indicates sponsorship validity. |
SPONSOR_DISCOUNT_MODEL DETAIL.CUST_A.SL.SD.DISCOUNT_MODEL |
String |
RW |
Sponsorship model. |
FCT_DroppedCall
The FCT_DroppedCall module identifies phone calls that were terminated due to technical reasons and then resumed again through a customer's subsequent phone call.
Dependencies
Run the FCT_DroppedCall module after the FCT_Account module.
For more information, see "Function Module Dependencies".
Registry Entries
Table 81-56 lists the FCT_DroppedCall registry entries.
Table 81-56 FCT_DroppedCall Registry Entries
Entry | Description | Mandatory |
---|---|---|
Active |
Specifies whether the module is active or inactive. True = Active False = Inactive You can use this entry in a semaphore file. |
Yes |
FilePath |
Specifies the path to the dropped calls data file. The default is the data directory (./data). |
No |
FileName |
Specifies the name of the dropped calls data file, which stores back-up information about dropped calls. You use this file to restore information in case of system error or system restart. |
Yes |
TempPrefix |
Specifies the prefix for the temporary dropped calls data files. The default is tmp_. |
No |
CheckField |
Section that specifies the EDR field and values used to identify a dropped call. |
Yes |
CheckField.Name |
Specifies the EDR field that is used to identify a dropped call. Note: Only one EDR field can be used to identify a dropped call. |
Yes |
CheckField.Value |
Specifies the values for identifying a dropped call. Note: If more than one value qualifies an EDR as a dropped call, enter multiple values separated by a comma (,) with no spaces; for example: 5,6,7. BRM interprets the comma as a Boolean OR value. |
Yes |
WrittenFields |
Section that specifies the dropped call EDR fields that are written into memory and are used to detect continuation calls. You use dummy key values such as 1 and 2 to list the EDR fields, as shown below: 1 = EDR_field 2 = EDR_field 3 = EDR_field Note: BRM automatically writes the DETAIL.A_NUMBER, DETAIL.B_NUMBER, DETAIL.CHARGING_END_TIMESTAMP, and DETAIL.CUST_A.BILL_NEXT_DATE EDR fields to memory, so you should not list these fields. |
No |
AddedFields |
Section that specifies the dropped call EDR fields that are written into memory and then added to the continuation call EDR. Important: When you map a dropped call EDR field to a continuation call EDR field, both fields must have the same data type. You can find a field's data type by reading the container description file (container.dsc). By default, the module does not enrich the continuation call EDR. |
No |
AddedFields.Fieldx |
Section that maps one dropped call EDR field to one continuation call EDR field. You create a Fieldx section for each pair of EDR fields that you want to map. For example, if you want to map three EDR pairs, create a Field1 section, a Field2 section, and a Field3 section. |
No |
AddedFields.Fieldx.ContinuationCallField |
Specifies the continuation call EDR field. The module adds the value of the dropped call EDR field specified in DroppedCallField to the continuation call EDR field that you specify. |
No |
AddedFields.Fieldx.DroppedCallField |
Specifies the dropped call EDR field to write into memory. This field's value is added to the continuation call EDR field specified in ContinuationCallField. |
No |
Sample Registry
DroppedCall { ModuleName = FCT_DroppedCall Module { Active = TRUE FilePath = ./data FileName = dropped_call TempPrefix = tmp_ CheckField { Name = DETAIL.CALL_COMPLETION_INDICATOR Value = 5 } WrittenFields { 1 = DETAIL.RECORD_TYPE } AddedFields { Field1 { ContinuationCallField = DETAIL.DROPPED_CALL_QUANTITY DroppedCallField = DETAIL.DURATION } } } }
With this sample registry configuration, the FCT_DroppedCall module identifies:
-
Dropped calls by finding all EDRs with a DETAIL.CALL_COMPLETION_INDICATOR EDR field set to 5.
-
Continuation calls by using the DETAIL.RECORD_TYPE EDR field.
Note:
By default, the module also automatically writes the DETAIL.A_NUMBER, DETAIL.B_NUMBER, DETAIL.CUST_A.BILL_NEXT_DATE, and DETAIL.CHARGING_END_TIMESTAMP EDR fields to memory.
When the module detects a continuation call, it adds the value of the dropped call's DETAIL.DURATION EDR field to the continuation call's DETAIL.DROPPED_CALL_QUANTITY EDR field.
Semaphore File Entries
Table 81-57 lists the FCT_DroppedCall Semaphore file entries.
Table 81-57 FCT_DroppedCall Semaphore File Entries
Entry | Description |
---|---|
Active |
Specifies whether the module is active or inactive. True = Active False = Inactive |
RemoveLimit |
Specifies to remove all calls from the memory map and data file that are older than the specified number of days. For example, if you specify 7, BRM removes from the memory map all entries older than 7 days. The time is calculated from the current system time. Note: Set the time to a large enough value to allow for late-arriving and recycled EDRs. |
Sample Semaphore File Entries
ifw.Pipelines.ALL_RATE.Functions.FunctionPool.DroppedCall.Active = True ifw.Pipelines.ALL_RATE.Functions.FunctionPool.DroppedCall.RemoveLimit = 7
EDR Container Fields
The FCT_DroppedCall module accesses the EDR container fields shown in Table 81-58. You can configure the module to access additional EDR container fields by using the module's CheckField, WrittenFields, and AddedFields registry entries.
Table 81-58 FCT_DroppedCall EDR Container Fields
Alias Field NameDefault Field Name | Type | Access | Description |
---|---|---|---|
A_NUMBER DETAIL.A_NUMBER |
String |
Read |
Contains the customer A number. |
B_NUMBER DETAIL.B_NUMBER |
String |
Read |
Contains the customer B number. |
CUST_A_BILL_NEXT_DATE DETAIL.CUST_A.BILL_NEXT_DATE |
Date |
Read |
Contains the timestamp for the customer's next billing cycle. |
CHARGING_END_TIMESTAMP DETAIL.CHARGING_END_TIMESTAMP |
Date |
Read |
Contains the dropped call's ending timestamp. |
DURATION DETAIL.DURATION |
Decimal |
Read |
Contains the duration of the current call. |
CUST_A_PROFILE DETAIL.CUST_A.ERA.PROFILE |
String |
Read |
Contains the customer's account-related ERA data. |
CUST_A_KEY DETAIL.CUST_A.ERA.PA.KEY |
String |
Read |
Contains the key for the account-related ERA data. |
CUST_A_VALUE DETAIL.CUST_A.ERA.PA.VALUE |
String |
Read |
Contains the value for the account-related ERA data. |
CALL_COMPLETION_INDICATOR DETAIL.CALL_COMPLETION_INDICATOR |
String |
Read |
Contains the reason the current call session was terminated. |
DROPPED_CALL_STATUS DETAIL.DROPPED_CALL_STATUS |
Integer |
Write |
Flags the status of the call: 0 = Normal call 1 = Dropped call 2 = Continuation call 3 = Both a dropped call and a continuation call 4 = A call that was processed by FCT_DroppedCall but didn't qualify as a dropped call or a continuation call. |
DROPPED_CALL_QUANTITY DETAIL.DROPPED_CALL_QUANTITY |
Decimal |
Write |
When the EDR is flagged as a continuation call, this field contains the duration of the associated dropped call. |
FCT_DuplicateCheck
The FCT_DuplicateCheck module checks for duplicate EDRs. See "Handling Duplicate EDRs".
Note:
Before using the FCT_DuplicateCheck module, load the duplicate check stored procedures in the Pipeline Manager database.
Dependencies
To enable your system to check for duplicate EDRs without using excessive disk space, connect the FCT_DuplicateCheck module to the Pipeline Manager database.
The FCT_DuplicateCheck module is typically the second module in a pipeline, directly following the FCT_PreSuspense module. This ensures that no further processing is done on duplicate EDRs.
For more information, see "Function Module Dependencies".
Registry Entries
Table 81-59 lists the FCT_DuplicateCheck registry entries.
Table 81-59 FCT_DuplicateCheck Registry Entries
Entry | Description | Mandatory |
---|---|---|
Active |
Specifies whether the module is active or inactive. True = Active False = Inactive You can use this entry in a semaphore file. |
Yes |
BufferLimit |
Specifies the oldest date that previously processed EDRs can be stored in memory. The format is YYYYMMDD. Note: The BufferLimit date must be equal to or later than the StoreLimit date. For example, if the StoreLimit date is June 1, the BufferLimit must be June 1 or later. You can use this entry in a semaphore file. |
Yes |
BulkInsertArraySize |
Specifies the maximum number of rows for bulk insert when the data in memory flushes to the database. Default = 10000. |
No |
DataConnection |
Specifies a connection to the Pipeline Manager database. Important: To avoid using excessive disk space when checking for duplicate EDRs, enable this entry.Default = False. |
No |
DuplicateIndicatorField |
Specifies the EDR field to set if an EDR is a duplicate. The field specified must be an integer field. You can use any integer field in the EDR. This entry is used by the FCT_CiberOcc module to determine whether to create an OCC record. OCC records are not created for duplicate EDRs. |
No |
Fields |
Specifies the EDR fields that are used for checking. Important: Do not use the DETAIL_CHARGING_START_TIMESTAMP field for duplicate checking. |
Yes |
FileName |
Specifies the base file name of the data files (the transaction ID and suffix are appended). Default = . |
Yes |
IndexSpaceName |
Index space name where the run-time duplicate check index is created (database mode only). For example: IndexSpaceName = INTEGRATE_TS_1_IDX |
Yes, if using a database connection. |
Path |
Specifies the directory for the data files that store EDRs. |
No |
SearchKey |
Identifies duplicate EDRs. See "Specifying a Search Key for Duplicate Check". Important: If you use the SearchKey registry entry, don't list the SearchKey value as a field in the Fields list. |
No |
StoreLimit |
Specifies the oldest date that previously processed EDRs can be stored. If an EDR is dated earlier than the StoreLimit date, the EDR is not processed by the FCT_DuplicateCheck module. The format is YYYYMMDD. Note: The StoreLimit date must be equal to or earlier than the BufferLimit date. For example, if the StoreLimit date is June 1, the BufferLimit must be June 1 or later.You can use this entry in a semaphore file. |
Yes |
StreamName |
Specifies the output stream for duplicate EDRs. See "Configuring Output for Rejected or Duplicate EDRs". |
Yes |
TableSpaceName |
Table space name where the run-time duplicate check table is created (database mode only). When a StoreLimit or BufferLimit semaphore is sent, FCT_DuplicateCheck needs to know where to store data. This entry, and the IndexSpaceName entry specify the location in the database. For example: TableSpaceName = INTEGRATE_TS_1_DAT |
Yes, if using a database connection. |
TableSuffix |
Allows you to create multiple IFW_DUPLICATECHECK tables when you run multiple pipelines. |
No |
Sample Registry
Note:
When entering data in the Fields entry, use dummy key values such as 1, 2, and 3, as shown in this example.
DuplicateCheck { ModuleName = FCT_DuplicateCheck Module } Active = True DataConnection = ifw.DataPool.DupLogin1 Path = ./data/dup Filename = call.duplicate StreamName = DuplicateOutput BufferLimit = 20040105 StoreLimit = 20040101 SearchKey = DETAIL.A_NUMBER Fields { 1 = DETAIL.BASIC_SERVICE 2 = DETAIL.B_NUMBER } } }
With this sample registry configuration, the following occurs:
-
EDRs dated January 5, 2004 (BufferLimit) or later are stored in the duplicate list in memory.
-
EDRs dated January 1, 2004 (StoreLimit) through January 4, 2004 are stored in the IFW_DUPLICATECHECK database table.
-
EDRs dated December 31, 2003 or earlier are ignored.
The following day, the module receives the following update registry:
DuplicateCheck { ModuleName = FCT_DuplicateCheck Module { BufferLimit = 20040106 StoreLimit = 20040102 } }
With this updated registry sample configuration, the following occurs:
-
EDRs dated January 6, 2004 (new BufferLimit) or later are stored in the duplicate check list in memory.
-
EDRs dated January 5, 2004 are moved to the IFW_DUPLICATECHECK database table.
-
EDRs dated January 2, 2004 (new StoreLimit) through January 4, 2004 continue to be stored in the database table.
Note:
EDR data for duplicate checks is stored in the IFW_DUPLICATECHECK database table. This table can be hosted by any database. Normally, at the end of the day, all the EDR data in memory is flushed to the database.
Semaphore File Entries
Table 81-60 lists the FCT_DuplicateCheck Semaphore file entries.
Table 81-60 FCT_DuplicateCheck Semaphore File Entries
Entry | Description |
---|---|
Active |
Specifies whether the module is active or inactive. True = Active False = Inactive |
BufferLimit |
Specifies the oldest date that previously processed EDRs can be stored in memory. The format is YYYYMMDD. Note: The BufferLimit date must be equal to or later than the StoreLimit date. For example, if the StoreLimit date is June 1, the BufferLimit must be June 1 or later. |
StoreLimit |
Specifies the oldest date that previously processed EDRs can be stored. If an EDR is dated earlier than the StoreLimit date, the EDR is not processed by the FCT_DuplicateCheck module. The format is YYYYMMDD. Note: The BufferLimit date must be equal to or later than the StoreLimit date. For example, if the StoreLimit date is June 1, the BufferLimit must be June 1 or later. |
Sample Semaphore File Entry
ifw.Pipelines.ALL_RATE.Functions.Processing.FunctionPool.DuplicateCheck. Module.StoreLimit = 20020101 ifw.Pipelines.ALL_RATE.Functions.Processing.FunctionPool.DuplicateCheck. Module.BufferLimit = 20020125
Sample Output Configuration
You configure the output stream for the FCT_DuplicateCheck module in the Output section of the registry, for example:
# Output stream for duplicate events DuplicateOutput { ModuleName = OUT_Reject Module { OutputStream { ModuleName = EXT_OutFileManager Module { OutputPath = ./samples/wireless/data/rej OutputPrefix = test OutputSuffix = .dup TempPrefix = tmp TempDataPath = ./samples/wireless/data/rej TempDataPrefix = dup.tmp. TempDataSuffix = .data Replace = TRUE DeleteEmptyFile = TRUE } } } } # end of DuplicateOutput
Note:
To ensure output file integrity, specify a unique combination of OutputPath, OutputSuffix, and OutputPrefix values for each output stream defined in the registry.
EDR Container Fields
You specify the EDR container fields in the FCT_DuplicateCheck module Fields startup registry entry.
Database Tables
The FCT_DuplicateCheck module uses the IFW_DUPLICATECHECK database table.
If you use the database instead of a file to define the data that the FCT_DuplicateCheck module uses for comparing EDRs, you need to create this table. The FCT_DuplicateCheck module uses the data in the IFW_DUPLICATECHECK table to check for duplicate EDRs. See "Handling Duplicate EDRs".
The IFW_DUPLICATECHECK table should have a unique index. A duplicate EDR is detected by the database reporting a violation of the uniqueness when attempting to INSERT.
Note:
Oracle recommends that you have multiple partitions to increase the INSERT performance.
FCT_EnhancedSplitting
The FCT_EnhancedSplitting module specifies different output streams for EDRs based on rules. For example:
-
You can split EDRs for different service types to different output streams.
-
You can split EDRs from roaming outcollects and incollects into different streams.
Dependencies
Requires a connection to the Pipeline Manager database.
Because you can split EDRs based on service codes, this module should run after the FCT_ServiceCodeMap and FCT_UsageClassMap modules.
For more information, see "Function Module Dependencies".
Registry Entries
Table 81-61 lists the FCT_EnhancedSplitting registry entries.
Table 81-61 FCT_EnhancedSplitting Registry Entries
Entry | Description | Mandatory |
---|---|---|
Active |
Specifies if the module is active or inactive. True = Active False = Inactive You can use this entry in a semaphore file. |
Yes |
DataConnection |
Specifies the connection to the Pipeline Manager database. |
Yes |
DefaultOutput |
Specifies the default output stream if no splitting rule matches the current EDR. If no default output stream is specified, the EDR receives the error message ERR_NO_SPLITTING_PERFORMED. Default = . |
No |
SystemBrands |
Maps the system brand table to the output stream. Each entry in this section has the format SYSBRAND=OUTPUT-STREAM. |
Yes |
Sample Registry
Splitting { ModuleName = FCT_EnhancedSplitting Module { Active = True DataConnection = Login DefaultOutput = EdrOutput0 SystemBrands { 1 = EdrOutput1 2 = EdrOutput2 } } }
Semaphore File Entries
Table 81-62 lists the FCT_EnhancedSplitting Semaphore file entries.
Table 81-62 FCT_EnhancedSplitting Semaphore File Entries
Entry | Description |
---|---|
Active |
Specifies if the module is active or inactive. True = Active False = Inactive |
Reload |
Reloads data from the database. |
Sample Semaphore File Entry
ifw.Pipelines.PRE_PRODCESS.Functions.PreProcessing.FunctionPool. EnhancedSplitting.Module.Active = True
EDR Container Fields
Table 81-63 lists the FCT_EnhancedSplitting EDR container fields.
Table 81-63 FCT_EnhancedSplitting EDR Container Fields
Alias Field NameDefault Field Name | Type | Access | Description |
---|---|---|---|
RECORD_TYPE DETAIL.RECORD_TYPE |
String |
Read |
Contains the record type. |
INTERN_SERVICE_CODE DETAIL.INTERN_SERVICE_CODE |
String |
Read |
Contains the internal service code. |
INTERN_USAGE_CLASS DETAIL.INTERN_USAGE_CLASS |
String |
Read |
Contains the internal usage class. |
SOURCE_NETWORK DETAIL.SOURCE_NETWORK |
String |
Read |
Contains the source network code. This could either be the PLMN ID or any logical operator code. |
DESTINATION_NETWORK DETAIL.DESTINATION_NETWORK |
String |
Read |
Contains the destination network code. |
ASS_GSMW_EXT.ORIGINATING_SWITCH_IDENTIFICATION DETAIL.ASS_GSMW_EXT.ORIGINATING_SWITCH_IDENTIFICATION |
String |
Read |
Contains the GSM MSC or Switch ID handling the origin of the call. |
ASS_GPRS_EXT.ORIGINATING_SWITCH_IDENTIFICATION DETAIL.ASS_GPRS_EXT.ORIGINATING_SWITCH_IDENTIFICATION |
String |
Read |
Contains the GPRS MSC or Switch ID handling the origin of the call. |
ASS_GSMW_EXT.TRUNK_INPUT DETAIL.ASS_GSMW_EXT.TRUNK_INPUT |
String |
Read |
Contains the trunk identification (in-route address in network switches). |
ASS_GSMW_EXT_TRUNK_OUTPUT DETAIL.ASS_GSMW_EXT.TRUNK_OUTPUT |
String |
Read |
Contains the trunk identification (out-route address in network switches). |
A_NUMBER DETAIL.A_NUMBER |
String |
Read |
Contains the A number. |
B_NUMBER DETAIL.B_NUMBER |
String |
Read |
Contains the B number. |
INTERN_C_NUMBER_ZONE DETAIL.INTERN_C_NUMBER_ZONE |
String |
Read |
Contains the number where the call was first terminated if it was forwarded or routed. |
CHARGING_START_TIMESTAMP DETAIL.CHARGING_START_TIMESTAMP |
Date |
Read |
Contains the time-stamp used for start of charging. |
Database Tables
The FCT_EnhancedSplitting module uses the following database tables:
-
IFW_SPLITTING_TYPE. The FCT_EnhancedSplitting module uses the data in the IFW_SPLITTING_TYPE table to determine how to route EDRs to different output streams based on rules. See "Using Rules to Send EDRs to Different Output Streams".
-
IFW_SYSTEM_BRAND. The IFW_SYSTEM_BRAND table stores the system brand codes. See "Using Rules to Send EDRs to Different Output Streams".
Note:
For information on compare patterns used in database values, see "About Using Regular Expressions when Specifying the Data to Extract".
FCT_EventOrder
When an event is rated, the FCT_EventOrder module uses the criteria and the event timestamps to determine if the event needs to be rerated.
Dependencies
This module must run after the FCT_MainRating and FCT_Discount modules and before the FCT_Reject module.
For more information, see "Function Module Dependencies".
Registry Entries
Table 81-64 lists the FCT_EventOrder registry entries.
Table 81-64 FCT_EventOrder Registry Entries
Entry | Description | Mandatory |
---|---|---|
Active |
Specifies whether the module is active or inactive: True = Active False = Inactive |
Yes |
AccountDataModule |
Specifies the connection to the DAT_AccountBatch module. |
Yes |
PortalConfigDataModule |
Specifies the connection to the DAT_PortalConfig module. |
Yes |
RerateDelayTolerance |
Specifies a time in minutes that controls how much out-of-order EDR data FCT_EventOrder writes to a rerate-request file before creating a new file. |
No |
NumberOfAccountLimit |
Specifies the number of accounts FCT_EventOrder assigns to each rerate job. This entry affects batch rerating throughput. |
No |
OutputDirectory |
Specifies the output directory for out-of-order events. Important: You must create this directory. It is not created by BRM installation scripts. |
Yes |
OutputPrefix |
Specifies the prefix of the rerate-request file name. The default is ood. |
Yes |
SkipPrevBillingCycle |
Specifies whether to skip events that belong to previous billing cycles. True = Skip the events False = Do not skip the events (Default) |
No |
Sample Registry
EventOrder
{
ModuleName = FCT_EventOrder
Module
{
Active = True
AccountDataModule = ifw.DataPool.CustomerData
PortalConfigDataModule = ifw.DataPool.PortalConfigDataModule
#delay tolerance in minutes for creating rerate jobs
RerateDelayTolerance = 180
#maximum number of accounts in the rerate-request file
#this should match the value of the pin_rerate "per_job"
#configuration entry
NumberOfAccountLimit = 1000
#output directory and prefix of the rerate-request file
OutputDirectory = pipeline_home/data/out/ood
OutputPrefix = ood_
}
}
FCT_ExchangeRate
The FCT_ExchangeRate module converts the currency in the charge packets, discount packets, and tax packets to the home (system) currency or the customer's billing currency.
Dependencies
Requires a connection to the DAT_ExchangeRate module and the DAT_Currency module.
This module must run after the FCT_MainRating module.
For more information, see "Function Module Dependencies".
Registry Entries
Table 81-65 lists the FCT_ExchangeRate registry entries.
Table 81-65 FCT_ExchangeRate Registry Entries
Entry | Description | Mandatory |
---|---|---|
Active |
Specifies if the module is active or inactive. True = Active False = Inactive You can use this entry in a semaphore file. |
Yes |
CurrencyDataModule |
Specifies the connection to the DAT_Currency module. When currency module is specified, the resourceid field of the charge packet is updated to the new currency. The resourceid is needed only when loading the records into the BRM database by using Rated Event Loader. |
No |
ErrorMessages |
Specifies whether error messages should be appended to the EDR container or should be suppressed. |
Yes |
ExchangeRateDataModule |
Specifies the connection to the DAT_ExchangeRate module. |
Yes |
HomeCurrency |
Specifies the local currency used by your company. The code must use three characters; for example, USD or DEM. You must set this value when the RatingDateHome registry value is set. This entry is used only if the RatingDateHome entry is used. |
No |
Mode |
Specifies how to apply the exchange rate. Values are:
Default mode is Normal. |
No |
RatingDateBilling |
Specifies how to determine the validity date for the conversion from the rating currency to the billing currency. Values are:
Default = NONE Note: FCT_ExchangeRate module converts currency to home currency or billing currency. If you specify RatingDateBilling in addition to RatingDateHome and HomeCurrency parameters, it converts the currency to the home currency only. |
No |
RatingDateHome |
Specifies how to determine the validity date for the conversion from the rating currency to the home currency. Values are:
Default = NONE |
No |
Sample Registry
ExchangRate { ModuleName = FCT_ExchangeRate Module { Active = True ExchangeRateDataModule = ExchangeRateData RatingDateBilling = SYSTEM RatingDateHome = CDR HomeCurrency = DEM ErrorMessages = False } }
Semaphore File Entries
Table 81-66 lists the FCT_ExchangeRate Semaphore file entries.
Table 81-66 FCT_ExchangeRate Semaphore File Entry
Entry | Description |
---|---|
Active |
Specifies if the module is active or inactive. True = Active False = Inactive |
Sample Semaphore File Entry
ifw.Pipelines.ALL_RATE.Functions.Processing.FunctionPool.ExchangeRate.Module.Active = False
EDR Container Fields
Table 81-67 lists the FCT_ExchangeRate EDR container fields.
Table 81-67 FCT_ExchangeRate EDR Container Fields
Alias Field NameDefault Field Name | Type | Access | Description |
---|---|---|---|
CREATION_TIMESTAMP HEADER.CREATION_TIMESTAMP |
Date |
Read |
Contains the EDR creation time stamp. This field is used if the exchange rate time (Home or Billing) is set to the file date. |
BDR_CHARGING_START_TIMESTAMP DETAIL.CHARGING_START_TIMESTAMP |
Date |
Read |
Contains the charging time stamp. This field is used if the exchange rate time (Home or Billing) is set to the CDR date. |
ASS_CBD DETAIL.ASS_CBD |
Block-Index |
Read |
Block used for iteration over all associated charge breakdown records. |
ASS_CBD_CHARGE_PACKET DETAIL.ASS_CBD.CP |
Block-Index |
Read |
Block used for iteration over all charge packages. |
ASS_CBD_RECORD_TYPE DETAIL.ASS_CBD.RECORD_TYPE |
Integer |
Read |
Contains the record type. The billing and/or home currency is calculated for these record types:
For record type 980, only the home currency is calculated. |
CHARGE_CURRENCY_TYPE DETAIL.ASS_CBD.CP.CHARGED_CURRENCY_TYPE |
String |
Read/Write |
Contains the currency type. The type R is read and the types B and H are calculated if specified. |
CHARGED_AMOUNT_VALUE DETAIL.ASS_CBD.CP.CHARGED_AMOUNT_VALUE |
Integer |
Read/Write |
Contains the charge amount that needs to be converted. |
CHARGED_AMOUNT_CURRENCY DETAIL.ASS_CBD.CP.CHARGED_AMOUNT_CURRENCY |
String |
Read/Write |
Contains the amount in the charge currency for calculation. |
INTERN_BILLING_CURRENCY DETAIL.ASS_CBD.CP.INTERN_BILLING_CURRENCY |
String |
Read |
Contains the billing currency which is calculated and added with a charge package. |
INTERN_HOME_CURRENCY DETAIL.ASS_CBD.CP.INTERN_HOME_CURRENCY |
String |
Read |
Contains the home currency which is calculated and added with an charge package. If no home currency is found the home currency from the registry is used for calculation. |
EXCHANGERATE DETAIL.ASS_CBD.CP.EXCHANGERATE |
String |
Write |
Contains the exchange rate recommended for TAP. |
EXCHANGECURRENCY DETAIL.ASS_CBD.CP.EXCHANGECURRENCY |
String |
Read/Write |
Contains the exchange currency recommended for TAP. |
CHARGED_AMOUNT_VALUE_ORIG DETAIL.ASS_CBD.CP.CHARGED_AMOUNT_VALUE_ORIG |
Decimal |
Write |
Contains the charge amount in rating currency. |
RESOURCE DETAIL.ASS_CBD.CP.RESOURCE |
String |
Write |
Contains the balance element name |
RESOURCE_ID DETAIL.ASS_CBD.CP.RESOURCE_ID |
Integer |
Read/Write |
Contains the balance element ID. |
RESOURCE_ID_ORIG DETAIL.ASS_CBD.CP.RESOURCE_ID_ORIG |
Integer |
Read |
Contains the rating balance element ID. |
DISCOUNT_PACKET DETAIL.ASS_CBD.DP |
Block |
Read |
Contains the discount related information for the event. |
DISCOUNT_PACKET_GRANTED_AMOUNT DETAIL.ASS_CBD.DP.GRANTED_AMOUNT |
Decimal |
Read/Write |
Contains the discounted amount. |
DISCOUNT_PACKET_GRANTED_AMOUNT_ORIG DETAIL.ASS_CBD.DP.GRANTED_AMOUNT_ORIG |
Decimal |
Write |
Contains the discounted amount in the initial rated currency. |
DISCOUNT_PACKET_INTERN_SRC_PACKET_INDEX DETAIL.ASS_CBD.DP.INTERN_SRC_PACKET_INDEX |
Integer |
Read |
Contains the charge packet number for which this discount is given. |
DISCOUNT_PACKET_RESOURCE_ID DETAIL.ASS_CBD.DP.RESOURCE_ID |
Integer |
Read/Write |
Contains the balance element ID. |
DISCOUNT_PACKET_RESOURCE_ID_ORIG DETAIL.ASS_CBD.DP.RESOURCE_ID_ORIG |
Integer |
Write |
Contains the currency for which discount has been given originally. |
ASS_CBD_RECORD_NUMBER DETAIL.ASS_CBD.RECORD_NUMBER |
Integer |
Read |
Contains the block creation number. These numbers (980, 981, 982, 983, 984, 990, 991) are only considered for exchange rate. Any other number of ASS_CBD will be ignored. |
ASS_CBD_CHARGE_PACKET_TAX_PACKET DETAIL.ASS_CBD.TP |
Block |
Read |
Contains tax related information for the event. |
CHARGED_INFO_ID DETAIL.ASS_CBD.TP.RELATED_CHARGE_INFO_ID |
Integer |
Read |
Contains charge packet index corresponding to the tax. |
TP_TAX_VALUE DETAIL.ASS_CBD.TP.TAX_VALUE |
Decimal |
Read/Write |
Contains the tax amount |
TP_TAX_VALUE_ORIG DETAIL.ASS_CBD.TP.TAX_VALUE_ORIG |
Decimal |
Write |
Contains the tax amount in the originally rated currency. |
CUST_A_CURRENCY DETAIL.CUST_A.CURRENCY |
String |
Read |
Contains the billing currency of the customer. |
FCT_Filter_Set
The FCT_Filter_Set module determines whether an event data record (EDR) is eligible for the system charge offers and system discounts contained in a filter set. If so, it adds those system charge offers and discounts to a customer's list of purchased products.
Dependencies
This module must run after the FCT_Account module.
FCT_Filter_Set requires the following connections:
-
BRM database
-
DAT_Discount module
-
DAT_AccountBatch module
For more information, see "Function Module Dependencies".
Registry Entries
Table 81-68 lists the FCT_Filter_Set registry entries.
Table 81-68 FCT_Filter_Set Registry Entries
Entry | Description | Mandatory |
---|---|---|
AccountDataModule |
Specifies the connection to the DAT_AccountBatch module. |
Yes |
Active |
Specifies if the module is active or inactive.
Note: When the module is active, it takes over the function of applying system discounts from the FCT_DiscountAnalysis module. |
Yes |
DiscountDataModule |
Specifies the connection to the DAT_Discount module. |
Yes |
InfranetConnection |
Specifies the connection to the BRM database. |
Yes |
Sample Registry
#------------------------- # Segment FCT #------------------------- Segment { ModuleName = FCT_Filter_Set Module { Active = True DiscountDataModule = ifw.DataPool.DiscountModelDataModule AccountDataModule = ifw.DataPool.CustomerData InfranetConnection = ifw.DataPool.LoginInfranet } }
Semaphore File Entries
Table 81-69 lists the FCT_Filter_Set Semaphore file entries.
Table 81-69 FCT_Filter_Set Semaphore File Entry
Entry | Description |
---|---|
Reload |
Reloads data from the database into FCT_Filter_Set. |
Sample Semaphore File Entry
ifw.Pipelines.ALL_RATE.Functions.Processing.FunctionPool.Segment.Module.Reload{}
EDR Container Fields
This module can read any valid EDR fields (defined in container.dsc) for matching criteria (EDR field name and value).
Note:
EDR field names read by this module cannot exceed a depth of 6 levels. Exceeding this limit prevents the pipeline from starting and results in an error message.
FCT_FirstUsageNotify
The FCT_FirstUsageNotify module sets the batch rating output stream for charge offers and discounts that start on first usage and sets an error code in the EDR for suspending events that use those charge offers and discounts while their validity periods are being set.
For more information, see "About Suspending EDRs for Products and Discounts that Start on First Usage".
Note:
To process first-usage events in the real-time rerating pipeline, use the "ISC_FirstProductRealtime" iScript.
Dependencies
Run this module before the FCT_ApplyBalance and FCT_Reject modules.
Requires a connection to DAT_AccountBatch and FCT_Reject.
For more information, see "Function Module Dependencies".
Registry Entries
Table 81-70 lists the FCT_FirstUsageNotify registry entries.
Table 81-70 FCT_FirstUsageNotify Registry Entries
Entry | Description | Mandatory |
---|---|---|
Active |
Specifies whether the module is active or inactive.
You can use this entry in a semaphore file. |
Yes |
CustomerDataModule |
Specifies a connection to the DAT_AccountBatch module. |
Yes |
FirstUsageNotifyOutput |
Specifies the output stream for the list of charge offers and discounts used that are set to start on first usage. Default = FirstUsageNotifyOutput |
Yes |
RejectModule |
Specifies a connection to the FCT_Reject module. FCT_FirstUsageNotify uses FCT_Reject to determine whether an EDR will be rejected for reasons other than setting the validity. FCT_FirstUsageNotify does not set validity if the EDR will be rejected. |
Yes |
Sample Registry
FirstUsageNotify { ModuleName = FCT_FirstUsageNotify Module { Active = True CustomerDataModule = ifw.DataPool.Account RejectModule = ifw.Pipelines.MyPipeline1.Reject FirstUsageNotifyOutput = FirstUsageNotifyOutput } }
Semaphore File Entries
Table 81-71 lists the FCT_FirstUsageNotify Semaphore file entry.
Table 81-71 FCT_FirstUsageNotify Semaphore File Entry
Entry | Description |
---|---|
Active |
Specifies whether the module is active or inactive.
|
Sample Semaphore File Entry
ifw.Pipelines.ALL_RATE.Functions.Processing.FunctionPool.FirstUsageNotify.Module.Active = False
EDR Container Fields
Table 81-72 lists the FCT_FirstUsageNotify EDR container fields.
Table 81-72 FCT_FirstUsageNotify EDR Container Fields
Alias Field NameDefault Field Name | Type | Access | Description |
---|---|---|---|
TRANSACTION_ID INTERNAL.TRANSACTION_ID |
String |
Read |
Specifies the transaction ID. |
CUST_A_INTERN_PP_INDEX DETAIL.CUST_A.INTERN_FOUND_PP_INDEX |
String |
Read |
Contains an index of the customer's purchased charge offers that were used for rating. |
CUST_A_ACCOUNT_PARENT_ID DETAIL.CUST_A.ACCOUNT_PARENT_ID |
String |
Read |
Specifies the customer account POID. |
CUST_A_PRODUCT_ID DETAIL.CUST_A.PRODUCT.OFFERING_POID |
String |
Read |
Specifies the POID of the account's charge offer used to rate the event. |
CUST_A_PRODUCT_FIRST_USAGE_INDICATOR DETAIL.CUST_A.PRODUCT.FIRST_USAGE_INDICATOR |
String |
Read |
Specifies whether the charge offer is configured to start when first used and the first-usage validity period status. |
FU_DISCOUNT_OBJECTS DETAIL.ASS_CBD.FU_DISCOUNT_OBJECTS |
String |
Read |
Specifies the account's first-usage discounts that were applied to the event. |
RECYCLE_KEY DETAIL.ASS_SUSPENSE_EXT.RECYCLE_KEY |
String |
Write |
Specifies the recycle key. If the charge offer or discount starts on first usage and its validity period is not set, this field is set to FirstUsageValidity. |
UTC_TIME_OFFSET DETAIL.UTC_TIME_OFFSET |
String |
Read |
Specifies the difference between local time and UTC time. |
ASSOCIATED_INFRANET_BILLING DETAIL.ASS_PIN |
String |
Write |
The Associated BRM Billing record. |
FIRST_USAGE_SET_VALIDITY DETAIL.ASS_PIN.FIRST_USAGE |
String |
Write |
The First-usage data block. |
FIRST_USAGE_ACCOUNT_POID DETAIL.ASS_PIN.FIRST_USAGE.ACCOUNT_POID_STR |
String |
Write |
Specifies the customer account POID. |
FIRST_USAGE_OFFERING_POID DETAIL.ASS_PIN.FIRST_USAGE.OFFERING_POID_STR |
String |
Write |
Specifies the POID of the account's charge offer or discount used to rate or discount the event. |
FIRST_USAGE_START_TIME DETAIL.ASS_PIN.FIRST_USAGE.START_T |
String |
Write |
Specifies the validity period start time, which is based on the event start time. |
FU_UTC_TIME_OFFSET DETAIL.ASS_PIN.FIRST_USAGE.UTC_TIME_OFFSET |
String |
Read |
Specifies the difference between first-usage start time and UTC time. |
CHARGING_START_TIMESTAMP DETAIL.CHARGING_START_TIMESTAMP |
String |
Read |
Specifies the EDR start timestamp. |
CUST_A_PRODUCT_SERVICE_ID DETAIL.CUST_A.PRODUCT.SERVICE_ID |
String |
Read |
Specifies the POID of the service object |
CUST_A_PRODUCT_SERVICE_TYPE DETAIL.CUST_A.PRODUCT.SERVICE_TYPE |
String |
Read |
Specifies the POID type of the service object |
CUST_A_PRODUCT_SERVICE_TYPE DETAIL.ASS_PIN.FIRST_USAGE.SERVICE_POID_STR |
String |
Read |
Specifies the POID of the service object which has FU charge offer uninitialized |
FCT_GlobalRating
The FCT_GlobalRating module rates all EDRs with a default set of charges. See "About Global Rating".
Dependencies
This module must run after FCT_Account.
For more information, see "Function Module Dependencies".
Registry Entries
Table 81-73 lists the FCT_GlobalRating registry entries.
Table 81-73 FCT_GlobalRating Registry Entries
Entry | Description | Mandatory |
---|---|---|
Active |
Specifies if the module is active or inactive. True = Active False = Inactive You can use this entry in a semaphore file. |
Yes |
EdrRatePlans |
Specifies a set of charges that are used for rating. You can use this entry in a semaphore file. |
Yes |
Sample Registry
GlobalRating { ModuleName = FCT_GlobalRating Module { Active = True EdrRatePlans { RatePlan_1 RatePlan_2 RatePlan_3 } } }
Semaphore File Entries
Table 81-74 lists the FCT_GlobalRating Semaphore file entries.
Table 81-74 FCT_GlobalRating Semaphore File Entries
Entry | Description |
---|---|
Active |
Specifies if the module is active or inactive. True = Active False = Inactive |
EdrRatePlans |
Specifies a set of charges that are used for rating. |
Sample Semaphore File Entry
ifw.Pipelines.ALL_RATE.Functions.Processing.FunctionPool.GlobalRating.Module.Active = True
EDR Container Fields
Table 81-75 lists the FCT_GlobalRating EDR container fields.
Table 81-75 FCT_GlobalRating EDR Container Fields
Alias Field NameDefault Field Name | Type | Access | Description |
---|---|---|---|
ASS_CBD DETAIL.ASS_CBD |
Block |
Create |
Block to hold the rating data. |
ASS_CBD_CHARGE_PACKET DETAIL.ASS_CBD.CP |
Block |
Create |
Block created for each EdrRatePlans entry. |
CHARGING_START_TIMESTAMP DETAIL.CHARGING_START_TIMESTAMP |
Date |
Read |
Contains the EDR start time stamp. This value is used in the charge packet. |
INTERN_A_NUMBER_ZONE DETAIL.INTERN_A_NUMBER_ZONE |
String |
Read |
Contains the A number for zoning. This value is used in the charge packet. |
INTERN_B_NUMBER_ZONE DETAIL.INTERN_B_NUMBER_ZONE |
String |
Read |
Contains the B number for zoning. This value is used in the charge packet. |
ASS_CBD_RECORD_TYPE DETAIL.ASS_CBD.RECORD_TYPE |
String |
Write |
Contains the record type. This value is always set to 980. |
CHARGE_TYPE DETAIL.ASS_CBD.CP.CHARGE_TYPE |
String |
Write |
Contains the charge type. This value is always set to N. |
ASS_CBD_CHARGING_START_TIMESTAMP DETAIL.ASS_CBD.CP.CHARGING_START_TIMESTAMP |
Date |
Write |
Contains the charging start timestamp from the DETAIL field. |
RATEPLAN_CODE DETAIL.ASS_CBD.CP.RATEPLAN_CODE |
String |
Write |
Contains the charge code that is used for zoning and rating. |
INTERN_ORIGIN_NUM_ZONE DETAIL.ASS_CBD.CP.INTERN_ORIGIN_NUM_ZONE |
String |
Write |
Contains the A number zoning information used by the FCT_PreRating module. See "FCT_PreRating". |
INTERN_DESTIN_NUM_ZONE DETAIL.ASS_CBD.CP.INTERN_DESTIN_NUM_ZONE |
String |
Write |
Contains the B number zoning information used by the FCT_PreRating module. See "FCT_PreRating". |
FCT_IRules
The FCT_IRules module evaluates iRules. You use iRules to perform functions such as mapping EDR data fields and splitting EDR containers to different output streams. You group rules together in a rule set.
You can store rules in the database or in an ASCII file.
Note:
FCT_IRules cannot read files written in XML format. You can, however, use the irules2db.pl script to load iRules written in XML into the database.
Dependencies
If the data is read from the database, this module requires a connection to the Pipeline Manager database.
This module can run anywhere, depending on the data that is being processed.
For more information, see "Function Module Dependencies".
Registry Entries
Table 81-76 lists the FCT_IRules registry entries.
Table 81-76 FCT_IRules Registry Entries
Entry | Description | Mandatory |
---|---|---|
Active |
Specifies if the module is active or inactive. True = Active False = Inactive You can use this entry in a semaphore file. |
Yes |
DataConnection |
Specifies the connection to the Pipeline Manager database if rules are stored in the database. |
Yes |
Descriptions |
Specifies the rule set descriptions. The rule sets are evaluated in the specified order. You can use this entry in a semaphore file. |
No |
Rules |
Specifies the rule sets that the module evaluates. You can use this entry in a semaphore file. |
Yes, when using the database interface. No, when using a file interface. |
Source |
Specifies the source of the rules:
|
Yes |
Sample Registry Entry for the Database Interface
IRules { ModuleName = FCT_IRules Module { Active = TRUE Source = Database DataConnection = ifw.DataPool.DataConnection Rules { CIBER_VAL } } }
Sample Registry Entry for the File Interface
Router { ModuleName = FCT_IRules Module { Active = TRUE Source = File Rules { } Descriptions { ServiceRequestRouter = ./iScriptLib/AAA/IRL_Router.irl } } }
Semaphore File Entries
Table 81-77 lists the FCT_IRules Semaphore file entries.
Table 81-77 FCT_IRules Semaphore File Entries
Entry | Description |
---|---|
Active |
Specifies if the module is active or inactive. True = Active False = Inactive |
Descriptions |
Specifies the rule set descriptions. The rule sets are evaluated in the specified order. |
Reload |
Reloads rules from the database or an ASCII file. |
Rules |
Specifies the rule sets that the module evaluates. |
Sample Semaphore File Entry
ifw.Pipelines.PRE_RECYCLE.Functions.PreProcessing.FunctionPool.PipelineSplit.Module.Reload {}
EDR Container Fields
The EDR container fields that are accessed by FCT_IRule are those that you specify in the rules.
Database Interface
FCT_IRules uses the following database tables to store the generic rules:
-
IFW_RULESET. Specifies a rule set for linking a related set of rules.
-
IFW_RULESETLIST. Links a rule set with its rules. Each rule has a rank that specifies the order in which it is evaluated.
-
IFW_RULE. Stores the iRules.
-
IFW_RULEITEM. Contains the conditions, the result and the rank for a rule item.
Note:
For information on compare patterns used in database values, see "About Using Regular Expressions when Specifying the Data to Extract".
File Interface
You can store iRules in an ASCII file by using a syntax that is similar to XML:
-
Each tag must start on a separate line.
-
Blank lines are allowed.
-
Comment lines must start with a pound symbol: #
The rules and rule items are ranked by their order in the file; the first having the highest rank.
Loading Rule Sets from the Database
You can load rule sets from the Pipeline Manager database. iRule components are stored in the following tables:
-
IFW_RULESET
-
IFW_RULESETLIST
-
IFW_RULE
-
IFW_RULEITEM
Loading Rule Sets from an ASCII File
The following example file shows the syntax of a rule set:
############################################################################## # Example ruleset file ############################################################################## <RULESET> #============================================================================= # The first rule of this ruleset #============================================================================= <RULE MapRule1> <INIT_SCRIPT> String code = edrString(DETAIL.SERVICE_CODE) + "_GK2"; </INIT_SCRIPT> #----------------------------------------------------------------------------- # The first ruleitem of this rule #----------------------------------------------------------------------------- <RULEITEM discount> <CONDITION> /* The text between <CONDITION> and </CONDITON> is directly passed to the * the interpreter. Lines with # are no comments here! */ edrString(DETAIL.RECORD_TYPE ) =~ "02*"; // this is a pattern compare rule edrLong(DETAIL.QUANTITY) > 30; // this is a normal condition </CONDITION> <RESULT> /* This iScript is executed if the conditions specified in the <CONDITION> * tag before are matching the current edr container */ edrDecimal(DETAIL.CHARGED_AMOUNT) = 2.50; // set the amount to DM 2.50 </RESULT> </RULEITEM> #----------------------------------------------------------------------------- # Here can be specified some more RULEITEMS #----------------------------------------------------------------------------- </RULE> #============================================================================= # The second rule of this ruleset #============================================================================= <RULE MapRule2> #----------------------------------------------------------------------------- # Put the ruleitems for MapRule2 here #----------------------------------------------------------------------------- </RULE> </RULESET>
FCT_IScript
The FCT_IScript module runs iScripts. The scripts are run in the order specified in the registry.
Dependencies
If the iScripts are stored in the database, this module requires a connection to the Pipeline Manager database.
This module can run anywhere, depending on the data that is being processed.
For more information, see "Function Module Dependencies".
Registry Entries
Table 81-78 lists the FCT_IScript registry entries.
Table 81-78 FCT_IScript Registry Entries
Entry | Description | Mandatory |
---|---|---|
Active |
Specifies if the module is active or inactive. True = Active False = Inactive You can use this entry in a semaphore file. |
Yes |
DataConnection |
Specifies a connection to the Pipeline Manager database. |
Yes, if the module gets data from the database. |
Scripts |
Specifies the scripts to run.
Note: The section for each script can store a number of entries that are passed as global constants to the interpreter. |
Yes |
Scripts.ScriptName |
The name of the script as used in the registry. |
N/A |
Scripts.ScriptName.FileName |
The name and path of the script. |
N/A |
Scripts.ScriptName.Registry_Parameter |
Registry parameters used in the iScript. The example below uses the GL_Code parameter: GL_CODE = 1514 |
N/A |
Source |
Specifies the source of the iScripts.
|
Yes |
Sample Registry for the File Interface
ConsolidatedCP { ModuleName = FCT_IScript Module { Active = True Source = File Scripts { ConsolidatedCPIScript { FileName = ./iScriptLib/iScriptLib_Roaming/ISC_ConsolidatedCP.isc GL_CODE = 1514 } } } }
Sample Registry for the Database Interface
IScript {  ModuleName = FCT_IScript  Module  {   Active = True   Source = Database   DataConnection = ifw.DataPool.Login   Scripts   {    Mapping    {     # can be used as reg.Arg1 in the IScript     Arg1 = any_argument_value     }     Specials     {    }   }  } }
Semaphore File Entries
Table 81-79 lists the FCT_IScript Semaphore file entries.
Table 81-79 FCT_IScript Semaphore File Entries
Entry | Description |
---|---|
Active |
Activates or deactivates the module. TRUE = Activate. FALSE = Deactivate. |
Reload |
Reloads iScripts from the database or an ASCII file. |
Scripts |
Section with scripts to run. In case of Source = DATABASE each value in the section specifies the SCRIPTCODE of a script in database table INT_ISCRIPT. In case of Source = FILE each section within the section must have a registry entry FileName = file. |
Sample Semaphore File Entry
ifw.Pipelines.ALL_RATE.Functions.Standard.FunctionPool.IScript.Module.Reload {}
FCT_ItemAssign
The FCT_ItemAssign module assigns bill items to events.
Dependencies
FCT_ItemAssign requires a connection to the DAT_ItemAssign module.
Must run after the FCT_Account, rating, and discounting modules and before the FCT_BillingRecord module.
For more information, see "Function Module Dependencies".
Registry Entries
Table 81-80 lists the FCT_ItemAssign registry entries.
Table 81-80 FCT_ItemAssign Registry Entries
Entry | Description | Mandatory |
---|---|---|
Active |
Specifies if the module is active or inactive. True = Active False = Inactive |
Yes |
DataModule |
Specifies the connection to the DAT_ItemAssign module. |
Yes |
Sample Registry
Item Assignment { ModuleName = FCT_ItemAssign Module { Active = True DataModule = ifw.DataPool.ItemAssignDataModule } }
EDR Container Fields
The FCT_ItemAssign module uses the EDR container fields listed in Table 81-80:
Table 81-81 FCT_ItemAssign EDR Container Fields
Alias Field NameDefault Field Name | Type | Access | Description |
---|---|---|---|
DETAIL.ITEM_TAG |
String |
Read |
Contains the item tag. |
DETAIL.CUST_A. PRODUCT.SERVICE_USED_ITEM_POID |
String |
Write |
Contains the item POID for the event. |
DETAIL.CUST_A.INTERN_FOUND_PP_INDEX |
Integer |
Read |
Contains the charge offer ID of the charge offer used for rating. |
DETAIL.CUST_A.ACCOUNT_PARENT_ID |
String |
Read |
Contains the customer's account number. |
DETAIL.CUST_A.PRODUCT.SERVICE_ID |
String |
Read |
Contains the ID of the charge offer. |
DETAIL.UTC_TIME_OFFSET |
String |
Read |
Contains the UTC time offset that normalizes the charging start timestamp to the UTC time zone. All validity timestamps in the BRM customer data are stored in normalized UTC time. The format is +/- HHMM. |
DETAIL.CHARGING_START_TIMESTAMP |
Date |
Read |
Contains the start timestamp of the event. The time zone information for this timestamp is stored in the BDR_UTC_TIME_OFFSET field. |
FCT_MainRating
The FCT_MainRating module performs the main rating functionality in a pipeline. See "About Main Rating".
Dependencies
The FCT_MainRating module requires a connection to the following data modules:
This module must run after at least one of the following modules:
For more information, see "Function Module Dependencies".
Registry Entries
Table 81-82 lists the FCT_MainRating registry entries.
Table 81-82 FCT_MainRating Registry Entries
Entry | Description | Mandatory |
---|---|---|
Active |
Specifies if the module is active or inactive. True = Active False = Inactive You can use this entry in a semaphore file. |
Yes |
CalendarDataModule |
Specifies the connection to the DAT_Calendar module. |
Yes |
CurrencyDataModule |
Specifies the connection to the DAT_Currency module. |
No |
ModelSelectorDataModule |
Specifies the connection to the DAT_ModelSelector module. |
Yes |
PriceDataModule |
Specifies the connection to the DAT_PriceModel module. |
Yes |
RateplanDataModule |
Specifies the connection to the DAT_Rateplan module. |
Yes |
TimeDataModule |
Specifies the connection to the DAT_TimeModel module. |
Yes |
Sample Registry
MainRating { ModuleStart = FCT_MainRating Module { Active = True RateplanDataModule = RateplanDataModule CalendarDataModule = CalendarDataModule TimeDataModule = TimeDataModule PriceDataModule = PriceDataModule CurrencyDataModule = ifw.DataPool.CurrencyDataModule ModelSelectorDataModule = Model selector module } }
Semaphore File Entries
Table 81-83 lists the FCT_MainRating Semaphore file entry.
Table 81-83 FCT_MainRating Semaphore File Entry
Entry | Description |
---|---|
Active |
Specifies if the module is active or inactive. True = Active False = Inactive |
Sample Semaphore File Entry
ifw.Pipelines.ALL_RATE.Functions.Processing.FunctionPool.MainRating.Module.Active = False
EDR Container Fields
Table 81-84 lists the FCT_MainRating EDR container fields.
Table 81-84 FCT_MainRating EDR Container Fields
Alias Field NameDefault Field Name | Type | Access | Description |
---|---|---|---|
ASS_CBD DETAIL.ASS_CBD |
Block |
Read |
Data block for rate data. |
ASS_CBD_CHARGE_PACKET DETAIL.ASS_CBD.CP |
Block |
Read |
Charge packet for rate data. |
BDR_CHARGING_START_TIMESTAMP DETAIL.CHARGING_START_TIMESTAMP |
Date |
Read |
Contains the charging time stamp. |
WHOLESALE_CHARGED_AMOUNT_VALUE DETAIL.WHOLESALE_CHARGED_AMOUNT_VALUE |
Decimal |
Read |
Contains the wholesale charge amount value. |
ASS_CBD_RECORD_NUMBER DETAIL.ASS_CBD.RECORD_NUMBER |
Integer |
Read |
Contains the record number. |
ASS_CBD_IMPACT_CATEGORY DETAIL.ASS_CBD.CP.IMPACT_CATEGORY |
String |
Read |
Contains the impact category. |
RATEPLAN_CODE DETAIL.ASS_CBD.CP.RATEPLAN_CODE |
String |
Read/Write |
Contains the charge code. |
RATEPLAN_TYPE DETAIL.ASS_CBD.CP.RATEPLAN_TYPE |
String |
Write |
Contains the charge type. |
TIMEMODEL_CODE DETAIL.ASS_CBD.CP.TIMEMODEL_CODE |
String |
Write |
Contains the time model code. |
TIMEZONE_CODE DETAIL.ASS_CBD.CP.TIMEZONE_CODE |
String |
Write |
Contains the time zone code. |
DAY_CODE DETAIL.ASS_CBD.CP.DAY_CODE |
String |
Write |
Contains the special day code. |
TIME_INTERVAL_CODE DETAIL.ASS_CBD.CP.TIME_INTERVAL_CODE |
String |
Write |
Contains the time interval code. |
PRICEMODEL_CODE DETAIL.ASS_CBD.CP.PRICEMODEL_CODE |
String |
Write |
Contains the pricing code. |
PRICEMODEL_TYPE DETAIL.ASS_CBD.CP.PRICEMODEL_TYPE |
String |
Write |
Contains the pricing type. |
SERVICE_CODE_USED DETAIL.ASS_CBD.CP.SERVICE_CODE_USED |
String |
Write |
Contains the service code. |
SERVICE_CLASS_USED DETAIL.ASS_CBD.CP.SERVICE_CLASS_USED |
String |
Write |
Contains the service class. |
CHARGED_AMOUNT_VALUE DETAIL.ASS_CBD.CP.CHARGED_AMOUNT_VALUE |
Decimal |
Write |
Contains the charge amount value for the event. |
CHARGED_AMOUNT_CURRENCY DETAIL.ASS_CBD.CP.CHARGED_AMOUNT_CURRENCY |
String |
Write |
Contains the currency amount. |
CHARGED_CURRENCY_TYPE DETAIL.ASS_CBD.CP.CHARGED_CURRENCY_TYPE |
String |
Write |
Contains the currency type. |
CHARGED_TAX_TREATMENT DETAIL.ASS_CBD.CP.CHARGED_TAX_TREATMENT |
String |
Write |
Contains the tax treatment. |
ASS_CBD_CHARGING_START_TIMESTAMP DETAIL.ASS_CBD.CP.CHARGING_START_TIMESTAMP |
Date |
Write |
Contains the charging time stamp. |
ROUNDED_QUANTITY_VALUE DETAIL.ASS_CBD.CP.ROUNDED_QUANTITY_VALUE |
Decimal |
Write |
Contains the rounded quantity value. |
ROUNDED_QUANTITY_UOM DETAIL.ASS_CBD.CP.ROUNDED_QUANTITY_UOM |
String |
Write |
Contains the rounded quantity UoM. |
USAGE_GL_ACCOUNT_CODE DETAIL.ASS_CBD.CP.USAGE_GL_ACCOUNT_CODE |
String |
Write |
Contains the G/L code. |
REVENUE_GROUP_CODE DETAIL.ASS_CBD.CP.REVENUE_GROUP_CODE |
String |
Write |
Contains the revenue group. |
RUMGROUP DETAIL.ASS_CBD.CP.RUMGROUP |
String |
Write |
Contains the RUM group. |
RUM DETAIL.ASS_CBD.CP.RUM |
String |
Write |
Contains the RUM. |
RESSOURCE DETAIL.ASS_CBD.CP.RESOURCE |
String |
Write |
Contains the balance element. |
INTERN_DISCOUNT_MODEL DETAIL.ASS_CBD.CP.INTERN_DISCOUNT_MODEL |
Integer |
Write |
Contains the discount. |
INTERN_RATEPLAN DETAIL.ASS_CBD.CP.INTERN_RATEPLAN |
String |
Write |
Contains the internal charge. |
INTERN_RATEPLAN_VERSION DETAIL.ASS_CBD.CP.INTERN_RATEPLAN_VERSION |
Integer |
Write |
Contains the charge version. |
INTERN_FIX_COST DETAIL.ASS_CBD.CP.INTERN_FIX_COST |
Decimal |
Read |
Contains the fixed cost amount. |
INTERN_PRICE_MDL_STEP_INFO DETAIL.ASS_CBD.CP.INTERN_PRICE_MDL_STEP_INFO |
String |
Write |
Contains information about the pricing steps used to calculate the charge in the charge packet. |
DETAIL.CUST_A.PRODUCT.RATEPLAN_CODE |
String |
Read |
Contains the charge code of the charge offer to match with the charge in the charge breakdown record. |
DETAIL.CUST_A.INTERN_RATING_PRODUCTS |
String |
Read |
Contains the rating charge offer indexes. This is a comma-separated list of all rating charge offers' indexes associated with the same service and event, and their priorities. |
DETAIL.CUST_A.INTERN_FOUND_PP_INDEX |
String |
Write |
Contains the index of the highest priority rating charge offer. This is the charge offer with the highest rate priority for an event. |
DETAIL.CUST_A.LEAST_COST |
Integer |
Read |
Indicates whether to use least cost rating for an EDR. 1 turns it off; 2 turns it on. |
DETAIL.CUST_A.PROMOTIONAL_SAVING |
Integer |
Read |
Indicates whether to use promotional savings for an EDR. 1 turns it off; 2 turns it on. |
DETAIL.CUST_A.PROMOTION |
Integer |
Read |
Indicates whether to use overlay promotions for an EDR. 1 turns it off; 2 turns it on. |
FCT_MainZoning
The FCT_MainZoning module performs zoning for multi-segment zoning.
Dependencies
Requires a connection to the DAT_Zone module.
This module must run after the FCT_SegZoneNoCust module.
For more information, see "Function Module Dependencies".
Registry Entries
Table 81-85 lists the FCT_MainZoning registry entries.
Table 81-85 FCT_MainZoning Registry Entries
Entry | Description | Mandatory |
---|---|---|
Active |
Specifies if the module is active or inactive. True = Active False = Inactive You can use this entry in a semaphore file. |
Yes |
ZoneDataModule |
Specifies the connection to the DAT_Zone module. |
Yes |
Sample Registry
MainZoning { ModuleName = FCT_MainZoning Module { Active = True ZoneDataModule = integRate.DataPool.ZoneDataModule } }
Semaphore File Entries
Table 81-86 lists the FCT_MainZoning Semaphore file entries.
Table 81-86 FCT_MainZoning Semaphore File Entries
Entry | Description |
---|---|
Active |
Specifies if the module is active or inactive. True = Active False = Inactive |
Sample Semaphore File Entry
ifw.Pipelines.ALL_RATE.Functions.Processing.FunctionPool.MainZoning.Module.Active = False
EDR Container Fields
Table 81-87 lists the FCT_MainZoning EDR container fields.
Table 81-87 FCT_MainZoning EDR Container Fields
Alias Field NameDefault Field Name | Type | Access | Description |
---|---|---|---|
BDR_CHARGING_START_TIMESTAMP DETAIL.CHARGING_START_TIMESTAMP |
Date |
Read |
Contains the charging time stamp. |
INTERN_SERVICE_CODE DETAIL.INTERN_SERVICE_CODE |
String |
Read |
Contains the internal service code. |
INTERN_A_NUMBER_ZONE DETAIL.INTERN_A_NUMBER_ZONE |
String |
Read |
Contains the zone for the A number. |
INTERN_B_NUMBER_ZONE DETAIL.INTERN_B_NUMBER_ZONE |
String |
Read |
Contains the zone for the B number. |
ASS_ZBD_ZONE_DESCRIPTION DETAIL.ASS_ZBD.ZP.ZONE_DESCRIPTION |
String |
Write |
Contains the zone description for displaying on invoices. |
ASS_ZBD_RECORD_NUMBER DETAIL.ASS_ZBD.RECORD_NUMBER |
Integer |
Read |
Contains the record number. |
ASS_ZBD_ZONE_RESULT_VALUE_WS DETAIL.ASS_ZBD.ZP.ZONE_RESULT_VALUE_WS |
String |
Write |
Contains the wholesale zone. |
ASS_ZBD_ZONE_RESULT_VALUE_RT DETAIL.ASS_ZBD.ZP.ZONE_RESULT_VALUE_RT |
String |
Write |
Contains the retail zone. |
ASS_ZBD_ZONEMODEL_CODE DETAIL.ASS_ZBD.ZP.ZONEMODEL_CODE |
String |
Write |
Contains the zone model code. |
ASS_ZBD_INTERN_ZONE_MODEL DETAIL.ASS_ZBD.ZP.INTERN_ZONE_MODEL |
Integer |
Read |
Contains the zone model. |
ASS_ZBD_INTERN_APN_GROUP DETAIL.ASS_ZBD.ZP.INTERN_APN_GROUP |
String |
Write |
Contains the APN group. |
ASS_ZBD_ZONE_ENTRY_NAME DETAIL.ASS_ZBD.ZP.ZONE_ENTRY_NAME |
String |
Write |
Contains the destination description for this combination of service code and impact category. |
FCT_NOSP
The FCT_NOSP module maps network source and destination to new values. See "Identifying the Network Operator/Service Provider".
Dependencies
Requires a connection to the DAT_NOSP module.
This module must be run before segment rating is performed.
For more information, see "Function Module Dependencies".
Registry Entries
Table 81-88 lists the FCT_NOSP registry entries.
Table 81-88 FCT_NOSP Registry Entries
Entry | Description | Mandatory |
---|---|---|
Active |
Specifies if the module is active or inactive. True = Active False = Inactive You can use this entry in a semaphore file. |
Yes |
DataModule |
Specifies the connection to the DAT_NOSP module. See "DAT_NOSP". |
Yes |
MapGroup |
Specifies the map group that the NOSP mappings belong to. You can use this entry in a semaphore file. |
Yes |
Sample Registry
Zoning { ModuleName = FCT_NOSP Module { Active = True DataModule = ifw.DataPool.NospData MapGroup = MOBILE } }
Semaphore File Entries
Table 81-89 lists the FCT_NOSP Semaphore file entries.
Table 81-89 FCT_NOSP Semaphore File Entries
Entry | Description |
---|---|
Active |
Specifies if the module is active or inactive. True = Active False = Inactive |
MapGroup |
Specifies the map group. |
Sample Semaphore File Entry
ifw.Pipelines.ALL_RATE.Functions.Processing.FunctionPool.NOSP.Module.Active = False
EDR Container Fields
Table 81-90 lists the FCT_NOSP EDR container fields.
Table 81-90 FCT_NOSP EDR Container Fields
Alias Field NameDefault Field Name | Type | Access | Description |
---|---|---|---|
SOURCE_NETWORK DETAIL.SOURCE_NETWORK |
String |
Read/Write |
Contains the source network. |
DESTINATION_NETWORK DETAIL.DESTINATION_NETWORK |
String |
Read/Write |
Contains the destination network. |
A_NUMBER DETAIL.A_NUMBER |
String |
Read |
Contains the A number. |
FCT_NumberPortability
The FCT_NumberPortability module specifies the new network operator for an existing phone number.
Dependencies
Requires a connection to the DAT_NumberPortability module.
This module must be run before the zoning and rating modules.
For more information, see "Function Module Dependencies".
Registry Entries
Table 81-91 lists the FCT_NumberPortability registry entries.
Table 81-91 FCT_NumberPortability Registry Entries
Entry | Description | Mandatory |
---|---|---|
Active |
Specifies if the module is active or inactive. True = Active False = Inactive Default = False. You can use this entry in a semaphore file. |
Yes |
DataModule |
Specifies the connection to the DAT_NumberPortability module. |
Yes |
DefaultSourceNetwork |
Specifies the default network operator ID of the source network. This ID is used if there is no ID present in the data retrieved from the DAT_NumberPortability module. |
Yes |
DefaultDestinationNetwork |
Specifies the default network operator ID of the destination network. This ID is used if there is no ID present in the data retrieved from the DAT_NumberPortability module. |
Yes |
OverwriteNetwork |
If the DefaultSourceNetwork and DefaultDestinationNetwork fields are empty, overwrites the source and destination network with the value configured in the DAT_NumberPortability module. Default = True. |
No |
OverwriteNetworkType |
If the SOURCE_NETWORK_TYPE and DESTINATION_NETWORK_TYPE fields are empty, overwrites the SOURCE_NETWORK_TYPE and DESTINATION_NETWORK_TYPE fields with the type of network that is populated in the source and destination network. Default = True. |
No |
Sample Registry
NumberPortability { ModuleName = FCT_NumberPortability Module { Active = True DataModule = integrate.DataPool.NPortData DefaultSourceNetwork = D030 DefaultDestinationNetwork = D017 } }
Semaphore File Entries
Table 81-92 lists the FCT_NumberPortability Semaphore file entry.
Table 81-92 FCT_NumberPortability Semaphore File Entry
Entry | Description |
---|---|
Active |
Specifies if the module is active or inactive. True = Active False = Inactive |
Sample Semaphore File Entry
ifw.Pipelines.ALL_RATE.Functions.Processing.FunctionPool.NumberPortability. Module.Active = False
EDR Container Fields
Table 81-93 lists the FCT_NumberPortability EDR container fields.
Table 81-93 FCT_NumberPortability EDR Container Fields
Alias Field NameDefault Field Name | Type | Access | Description |
---|---|---|---|
A_NUMBER DETAIL.A_NUMBER |
String |
Read |
Specifies the event originator. |
B_NUMBER DETAIL.B_NUMBER |
String |
Read |
Specifies the event receiver. |
BDR_CHARGING_START_TIMESTAMP DETAIL.CHARGING_START_TIMESTAMP |
Date |
Read |
Specifies the charging timestamp. The format is: YYYYMMDDhhmmss |
IGNORE_NP DETAIL.IGNORE_NP |
Integer |
Read/ Write |
Specifies whether FCT_NumberPortability should look for network operator IDs for A and B number. Default is 0 (cleared). |
SOURCE_NETWORK DETAIL.SOURCE_NETWORK |
String |
Write |
Specifies the source network. This can either be the PLMN ID or any logical operator code. |
SOURCE_NETWORK_TYPE DETAIL.SOURCE_NETWORK_TYPE |
String |
Write |
Specifies the source network type, for example GSM 900. |
DESTINATION_NETWORK DETAIL.DESTINATION_NETWORK |
String |
Write |
Specifies the network to which an event is routed. |
DESTINATION_NETWORK_TYPE DETAIL.DESTINATION_NETWORK_TYPE |
String |
Write |
Specifies the destination network type, for example GSM 900. |
FCT_Opcode
The FCT_Opcode module uses the DAT_ConnectionPool module to connect to the CM and calls the appropriate opcode for the request.
Dependencies
The FCT_Opcode module requires a connection to the "DAT_ConnectionPool" module.
For more information, see "Function Module Dependencies".
Registry Entries
Table 81-94 lists the FCT_Opcode registry entries.
Table 81-94 FCT_Opcode Registry Entries
Entry | Description | Mandatory |
---|---|---|
Active |
Specifies whether the module is active or inactive True = Active (default) False = Inactive |
Yes |
Retries |
Specifies the number of times to try the request on the CM Default = 2 |
Yes |
Logging |
Logs each opcode called from the processing pipeline Default = False |
Yes |
ConnectionPoolDataModule |
Specifies a connection to the DAT_ConnectionPool module. |
Yes |
Sample Registry
EdrOpcodeCall { ModuleName = FCT_Opcode Module { Active = True Retries = 2 Logging = True ConnectionPoolDataModule = ifw.DataPool.CMConnectionPool.Module } }
EDR Container Fields
FCT_Opcode uses the EDR container fields listed in Table 81-95:
Table 81-95 FCT_Opcode Container Fields
Alias Field NameDefault Field Name | Type | Access | Description |
---|---|---|---|
OPCODE_FLAG DETAIL.OPCODE_FLAG |
Integer |
Read |
The flag that specifies the behavior of the opcode |
OPCODE_NODE DETAIL.OPCODE_NODE |
String |
Read |
Name of the opcode |
PCM_OP_EBUF DETAIL.PCM_OP_EBUF |
pin_ebuf_t |
Read |
Error buffer |
FCT_PrefixDesc
The FCT_PrefixDesc module maps phone number prefixes to destination descriptions. See "Creating Call Destination Descriptions".
Dependencies
Requires a connection to the DAT_PrefixDesc module.
This module can run from anywhere.
For more information, see "Function Module Dependencies".
Registry Entries
Table 81-96 lists the FCT_PrefixDesc registry entries.
Table 81-96 FCT_PrefixDesc Registry Entries
Entry | Description | Mandatory |
---|---|---|
Active |
Specifies if the module is active or inactive. True = Active False = Inactive You can use this entry in a semaphore file. |
Yes |
PrefixDataModule |
Specifies the connection to the DAT_PrefixDesc module. |
Yes |
Sample Registry
{ ModuleName = FCT_PrefixDesc Module { Active = True PrefixDataModule = PrefixDescData } }
Semaphore File Entries
Table 81-97 lists the FCT_PrefixDesc Semaphore file entry.
Table 81-97 FCT_PrefixDesc Semaphore File Entry
Entry | Description |
---|---|
Active |
Specifies if the module is active or inactive. True = Active False = Inactive |
Sample Semaphore File Entry
ifw.Pipelines.ALL_RATE.Functions.Processing.FunctionPool.PrefixDesc.Module.Active = False
EDR Container Fields
Table 81-98 lists the FCT_PrefixDesc EDR container fields.
Table 81-98 FCT_PrefixDesc EDR Container Fields
Alias Field NameDefault Field Name | Type | Access | Description |
---|---|---|---|
B_NUMBER DETAIL.B_NUMBER |
String |
Read |
Contains the B number. |
DESCRIPTION DETAIL.DESCRIPTION |
String |
Write |
Contains the call destination description. |
FCT_PreRating
The FCT_PreRating module calculates zones and creates impact category.
Dependencies
Requires a connection to the DAT_Rateplan and the DAT_Zone module.
This module must be run before the FCT_MainRating module.
For more information, see "Function Module Dependencies".
Registry Entries
Table 81-99 lists the FCT_PreRating registry entries.
Table 81-99 FCT_PreRating Registry Entries
Entry | Description | Mandatory |
---|---|---|
Active |
Specifies if the module is active or inactive. True = Active False = Inactive You can use this entry in a semaphore file. |
Yes |
RateplanDataModule |
Specifies the connection to the DAT_Rateplan module. |
Yes |
ZoneDataModule |
Specifies the connection to the DAT_Zone module. |
Yes |
Sample Startup Registry
PreRating { ModuleStart = FCT_PreRating Module { Active = True RateplanDataModule = ifw.DataPool.RateplanDataModule ZoneDataModule = ifw.DataPool.ZoneDataModule } }
Semaphore File Entries
Table 81-100 lists the FCT_PreRating Semaphore file entry.
Table 81-100 FCT_PreRating Semaphore File Entry
Entry | Description |
---|---|
Active |
Specifies if the module is active or inactive. True = Active False = Inactive |
Sample Semaphore File Entry
ifw.Pipelines.ALL_RATE.Functions.Processing.FunctionPool.PreRatingZone.Module.Active = False
EDR Container Fields
Table 81-101 lists the FCT_PreRating EDR container fields.
Table 81-101 FCT_PreRating EDR Container Fields
Alias Field NameDefault Field Name | Type | Access | Description |
---|---|---|---|
BDR_CHARGING_START_TIMESTAMP DETAIL.CHARGING_START_TIMESTAMP |
Date |
Read |
Contains the charging time stamp. The time stamp is used for calculating the impact category by comparing it to the dates in the VALID_FROM and VALID_TO fields in the IFW_STANDARD_ZONE database table. |
INTERN_SERVICE_CODE DETAIL.INTERN_SERVICE_CODE |
String |
Read |
Contains the service code. The service code is used for calculating the impact category by comparing it with the value in the SERVICECODE field in the IFW_STANDARD_ZONE database table. The module writes the service code to the ASS_CBD_SERVICE_CODE and SERVICE_CLASS_USED fields. |
INTERN_SERVICE_CLASS DETAIL.INTERN_SERVICE_CLASS |
String |
Read |
Contains the service class. The module writes the service class to the ASS_CBD_SERVICE_CODE and SERVICE_CLASS_USED fields. |
ASS_CBD_RECORD_NUMBER DETAIL.ASS_CBD.RECORD_NUMBER |
String |
Read |
Contains the charge breakdown record number. Charge breakdown records are processed only if the record number = 0 (newly created). |
ASS_CBD_SERVICE_CODE DETAIL.ASS_CBD.SERVICE_CODE |
String |
Write |
Contains the service code. Set with the value of the INTERN_SERVICE_CODE field. |
ASS_CBD_ZONEMODEL_CODE DETAIL.ASS_CBD.CP.ZONEMODEL_CODE |
String |
Write |
Contains the zone model code. Set with the value of the INTERN_SERVICE_CLASSE field. |
ASS_CBD_IMPACT_CATEGORY DETAIL.ASS_CBD.CP.IMPACT_CATEGORY |
String |
Write |
Contains the impact category. Set with the zoning results by using the value from either the ZONE_WS or ZONE_RT in the IFW_STANDARD_ZONE database table, depending on charge type. |
RATEPLAN_CODE DETAIL.ASS_CBD.CP.RATEPLAN_CODE |
String |
Write |
Contains a comma-separated list of charge codes for all rating charge offers. This list arranged by charge offer priority, with the highest priority first and the lowest priority last. Set with the value of the CODE field in the IFW_RATEPLAN database table. |
RATEPLAN_TYPE DETAIL.ASS_CBD.CP.RATEPLAN_TYPE |
String |
Write |
Contains the charge type. Set with the value of the TYPE field in the IFW_RATEPLAN database table. |
SERVICE_CODE_USED DETAIL.ASS_CBD.CP.SERVICE_CODE_USED |
String |
Write |
Contains the service code. Set with the value from the INTERN_SERVICE_CODE field. |
SERVICE_CLASS_USED DETAIL.ASS_CBD.CP.SERVICE_CLASS_USED |
String |
Write |
Contains the service class. Set with the value from the INTERN_SERVICE_CLASS field. |
INTERN_ORIGIN_NUM_ZONE DETAIL.ASS_CBD.CP.INTERN_ORIGIN_NUM_ZONE |
String |
Read |
Contains the area code for the A number. The area code is used for calculating the impact category by comparing it to ORIGIN_AREACODE field in the IFW_STANDARD_ZONE database table. |
INTERN_DESTIN_NUM_ZONE DETAIL.ASS_CBD.CP.INTERN_DESTIN_NUM_ZONE |
String |
Read |
Contains the area code for the B number. The area code is used for calculating the impact category by comparing it to DESTIN_AREACODE field in the IFW_STANDARD_ZONE database table. |
INTERN_RATEPLAN DETAIL.ASS_CBD.CP.INTERN_RATEPLAN |
String |
Read |
Contains the charge. Set with the value from the RATEPLAN field in the IFW_RATEPLAN database table. |
INTERN_RATEPLAN_VERSION DETAIL.ASS_CBD.CP.INTERN_RATEPLAN_VERSION |
Integer |
Write |
Contains the charge version. Set with the value from the VERSION field in the IFW_RATEPLAN_VER database table. |
ASS_CBD_INTERN_ZONE_MODEL DETAIL.ASS_CBD.CP.INTERN_ZONE_MODEL |
Integer |
Write |
Contains the zone model. Set with the value from the ZONEMODEL field in the IFW_RATEPLAN_VER database table. |
ASS_CBD_INTERN_APN_GROUP DETAIL.ASS_CBD.CP.INTERN_APN_GROUP |
String |
Write |
Contains the APN group. Set with the value from the APN_GROUP field in the IFW_ZONEMODEL database table. |
ASS_CBD_INTERN_GEOMODEL DETAIL.ASS_CBD.CP.INTERN_GEOMODEL |
Integer |
Write |
Contains the geographical model, if the MODELTYPE field in the IFW_ZONEMODEL database table is set to L. Set with the value from the GEOMODEL field in the IFW_ZONEMODEL database table. |
ASS_CBD_INTERN_RULESET DETAIL.ASS_CBD.CP.INTERN_RULESET |
String |
Write |
Contains the rule set, if the MODELTYPE field in the IFW_ZONEMODEL database table is set to L. Set with the value from the RULESET field in the IFW_GEOGRAPHICAL_MODEL database table. |
ASS_CBD_ZONE_DESCRIPTION DETAIL.ASS_CBD.CP.ZONE_DESCRIPTION |
String |
Write |
Contains the zone description for displaying on invoices. |
ASS_ZBD_ZONE_ENTRY_NAME DETAIL.ASS_ZBD.ZP.ZONE_ENTRY_NAME |
String |
Write |
Contains the destination description for displaying on invoices. |
RATE_PLAN_NAME DETAIL.CUST_A.PRODUCT.RATEPLAN_NAME |
String |
Write |
Contains the charge name for the purchased charge offer. |
INTERN_RATING_PRODUCTS DETAIL.CUST_A.INTERN_RATING_PRODUCTS |
String |
Write |
Contains the indexes of the candidate charge offers that can be used for rating. |
INTERN_FOUND_PP_INDEX DETAIL.CUST_A.INTERN_FOUND_PP_INDEX |
String |
Write |
Contains the purchased charge offer index of the charge offer or service used. |
CUST_A_LEAST_COST_RATING DETAIL.CUST_A.LEAST_COST |
String |
Write |
Specifies if least cost rating is to be used for rating the EDR. |
FCT_PreRecycle
The FCT_PreRecycle module gets the file of rejected EDRs from the reject stream output directory. The module puts the reject EDR file into the pipeline input directory for recycling. It uses the same input folder as the incoming CDR files.
See:
Registry Entries
Table 81-102 lists the FCT_PreCycle registry entries.
Table 81-102 FCT_PreCycle Registry Entries
Entry | Description | Mandatory |
---|---|---|
Active |
Specifies if the module is active or inactive. True = Active False = Inactive |
Yes |
RecycleSuffix |
Specifies the suffix for the file that contains the EDRs that need recycling. The suffix is automatically appended when the file is moved from the reject directory to the input directory. If it is empty, no suffix is added. Default = _Recy |
No |
RecyFileName |
Specifies the file name and path for the file that contains the EDRs that need recycling. |
Yes |
Sample Registry
PreRecycle { ModuleName = FCT_PreRecycle Module { Active = True RecycleSuffix = RecycleFile RecyFileName = ./recycle.dat } }
Semaphore File Entries
When you update the registry, you must select one of the following entries listed in Table 81-103:
Table 81-103 FCT_PreRecycle Semaphore File Entries
Entry | Description |
---|---|
Recycle |
The module runs in real processing mode You can specify a list of files to recycle. If this entry is empty, all files from the reject directory are recycled. |
RecycleTest |
The module runs in test mode You can specify a list of files to test recycling with. If this entry is empty, all files from the reject directory are recycled. |
Sample Semaphore File Entries
-
Recycle all files:
ifw.Pipelines.PRE_RECYCLE.Functions.Processing.FunctionPool.PreRecycle.Module.Recycle {}
-
Recycle only specific files:
ifw.Pipelines.PRE_RECYCLE.Functions.Processing.FunctionPool.PreRecycle.Module.Recycle. File = ./format_a/abc.cdr ifw.Pipelines.PRE_RECYCLE.Functions.Processing.FunctionPool.PreRecycle.Module.Recycle. File = ./format_a/xyz.cdr
-
Test recycle all files:
ifw.Pipelines.PRE_RECYCLE.Functions.Processing.FunctionPool.PreRecycle.Module.RecycleTest {}
-
Test recycle only specific files:
ifw.Pipelines.PRE_RECYCLE.Functions.Processing.FunctionPool.PreRecycle.Module.RecycleTest. File = ./format_a/abc.cdr ifw.Pipelines.PRE_RECYCLE.Functions.Processing.FunctionPool.PreRecycle.Module.RecycleTest. File = ./format_a/xyz.cdr
EDR Container Fields
Table 81-104 lists the FCT_PreRecycle EDR container fields.
Table 81-104 FCT_PreRecycle EDR Container Fields
Alias Field NameDefault Field Name | Type | Access | Description |
---|---|---|---|
INTERN_PROCESS_STATUS DETAIL.INTERN_PROCESS_STATUS |
Integer |
Write |
Contains the internal process status. |
TRANSACTION_ID INTERNAL.TRANSACTION_ID |
Decimal |
Read |
Contains the transaction ID. |
STREAM_NAME INTERNAL.STREAM_NAME |
String |
Read |
Contains the stream name. |
PROCESS_STATUS INTERNAL.PROCESS_STATUS |
Integer |
Write |
Contains the process status. |
FCT_PreSuspense
This module is used both by the standard recycling mechanism and by the Suspense Manager service integration component that you purchase separately. Both implementations are described below.
Note:
This module stores the contents of the EDR before any other modules change it. This module must take the original version of an EDR as input, so that it can be recycled after being suspended.
Standard Recycling Implementation
The BRM FCT_PreSuspense module adds suspense-related information to EDRs. It adds the DETAIL.ASS_SUSPENSE_EXT data block to the EDR if that data block does not already exist.
Suspense Manager Implementation - Adding Queryable Fields
When used with Suspense Manager, FCT_PreSuspense configures the queryable fields for EDRs suspended in a specific pipeline. You must enter the table and field names from the /suspended_usage object, as well as the corresponding EDR container fields. See "Registry Entries" for syntax and formatting information.
If no QueryableFields registry entry is present, the HEADER.QUERYABLE_FIELDS_MAPPING and DETAIL.ASS_SUSPENSE_EXT.QUERYABLE_FIELDS_MAPPING are set to empty strings.
Note:
Each table listed in the FCT_PreSuspense registry must also be configured in the RE Loader Infranet.properties file so that RE Loader can load into these tables.
This module adds queryable field mapping information to the HEADER.QUERYABLE_FIELDS_MAPPING field of the EDR.This information is passed to the Suspended Event (SE) Loader to generate control files for loading suspended usage records.
Note:
You add one set of queryable fields representing one /suspended_usage subclass per pipeline. For example, for a single pipeline that accepts /suspended_usage/telco/gsm records, you can pick queryable fields from the /suspended_usage/telco and /suspended_usage/telco/gsm subclasses. You could not pick queryable fields from /suspended_usage/telco/gprs, because it requires a separate pipeline.
FCT_PreSuspense serializes the original EDR container and stores it in DETAIL.ASS_SUSPENSE_EXT.EDR_BUF. It also stores the EDR size in DETAIL.ASS_SUSPENSE_EXT.EDR_SIZE.
When call records are being recycled, this module sets values for:
-
HEADER.BATCH_ID, based on value already set by INP_Recycle in pre-recycle pipeline. This ID is appended with information to ensure that it remains unique.
-
DETAIL.BATCH_ID with the batch ID value from the header record.
Changing the Way Batch IDs Are Set
You use the KeepExistingBatchIds registry entry to determine whether an EDR's batch ID is preserved as it is processed by the pipeline. A value of False directs the pipeline to change the batch ID; a value of True preserves it.
Set KeepExistingBatchIds to False (the default value) if the current pipeline is not part of a chain. Also set this entry to False if the current pipeline is the first pipeline in a chain of pipelines that includes the FCT_PreSuspense module.
Set this entry to True if the current pipeline is part of a chain of pipelines, and it is not the first pipeline in the chain that includes FCT_PreSuspense.
Dependencies
This module must be the first preprocessing module in a pipeline.
For more information, see "Function Module Dependencies".
Registry Entries
Table 81-105 lists the FCT_PreSuspense registry entries.
Table 81-105 FCT_PreSuspense Registry Entries
Entry | Description | Mandatory |
---|---|---|
Active |
Specifies if the module is active or inactive. True = Active False = Inactive You can use this entry in a semaphore file. |
Yes |
KeepExistingBatchIds |
A value of True preserves the Batch ID in the detail record of each EDR in an EDR file. A value of False sets the Batch ID of each EDR to the Batch ID contained in the header record of the batch input file. The default is False. |
No |
QueryableFields (Suspense Manager only) |
Specifies which fields in which tables are queryable from the Suspense Management Center. Includes the EDR container fields that correspond to the database fields. This entry is only useful to customers who have purchased Suspense Manager. Format: QueryableFields { table_name_1 { database_column_name_1 = edr_container_field_1 database_column_name_2 = edr_container_field_2 } table_name_2 { database_column_name_3 = edr_container_field_3 database_column_name_4 = edr_container_field_4 } } If this entry is not present, this module sets HEADER.QUERYABLE_FIELDS_MAPPING and DETAIL.ASS_SUSPENSE_EXT.QUERYABLE_FIELDS to empty strings. |
Yes |
Sample Registry
#--------------------------- # PreSuspense FCT #--------------------------- PreSuspense { ModuleName = FCT_PreSuspense Module { Active = True QueryableFields { # table name. If more than one table, use a separate block SUSP_USAGE_TELCO_INFO_T { # format : <database_column_name> = <edr_conatiner_field_name> BYTES_IN = DETAIL.VOLUME_RECEIVED BYTES_OUT = DETAIL.VOLUME_SENT CALLED_TO = DETAIL.B_NUMBER #CALLING_FROM = DETAIL.B_NUMBER CALL_DURATION = DETAIL.DURATION PRIMARY_MSID = DETAIL.A_NUMBER SERVICE_TYPE = DETAIL.BASIC_SERVICE START_TIME = DETAIL.CHARGING_START_TIMESTAMP USAGE_TYPE = DETAIL.USAGE_TYPE } #Examples for GPRS calls #SUSP_USAGE_TELCO_GPRS_INFO_T #{ # format : <database_column_name> = <edr_conatiner_field_name> #APN = DETAIL.ASS_GPRS_EXT.APN_ADDRESS #GGSN_ADDRESS = DETAIL.ASS_GPRS_EXT.GGSN_ADDRESS #NODE_ID = DETAIL.ASS_GPRS_EXT.NODE_ID #SECONDARY_MSID = DETAIL.ASS_GPRS_EXT.PORT_NUMBER #SGSN_ADDRESS = DETAIL.ASS_GPRS_EXT.SGSN_ADDRESS #} #SUSP_USAGE_TELCO_GSM_INFO_T #{ #APN = DETAIL.ASS_GSMW_EXT.APN_ADDRESS #CELL_ID = DETAIL.ASS_GSMW_EXT.CELL_ID #DESTINATION_SID = DETAIL.ASS_GSMW_EXT.TERMINATING_SWITCH_IDENTIFICATION #DIALED_NUMBER = DETAIL.ASS_GSMW_EXT.DIALED_DIGITS #ORIGIN_SID = DETAIL.ASS_GSMW_EXT.ORIGINATING_SWITCH_IDENTIFICATION #SECONDARY_MSID = DETAIL.ASS_GSMW_EXT.PORT_NUMBER #} } } }
Semaphore File Entries
Table 81-106 lists the FCT_PreSuspense Semaphore file entry.
Table 81-106 FCT_PreSuspense Semaphore File Entry
Entry | Description |
---|---|
Active |
Specifies if the module is active or inactive. True = Active False = Inactive |
Sample Semaphore File Entry
ifw.Pipelines.ALL_RATE.Functions.Processing.FunctionPool.PreSuspense.Module.Active = False
EDR Container Fields
Table 81-107 lists the FCT_PreSuspense EDR container fields.
Table 81-107 FCT_PreSuspense EDR Container Fields
Alias Field NameDefault Field Name | Type | Access | Description |
---|---|---|---|
QUERYABLE_FIELDS_MAPPING HEADER.QUERYABLE_FIELDS_MAPPING |
String |
Write |
Database column names and data types that map queryable fields. This field is used by Suspense Manager only. This is an empty string for standard recycling implementations. |
PIPELINE_NAME DETAIL.ASS_SUSPENSE_EXT.PIPELINE_NAME |
String |
Write |
The name of the pipeline, derived from the pipeline registry. |
SOURCE_FILENAME DETAIL.ASS_SUSPENSE_EXT.SOURCE_FILENAME |
String |
Write |
The source file name. The same as INTERNAL.STREAM_NAME. |
EDR_BUF DETAIL.ASS_SUSPENSE_EXT.EDR_BUF |
String |
Write |
A stored representation of the EDR container with its original field values. |
EDR_SIZE DETAIL.ASS_SUSPENSE_EXT.EDR_SIZE |
Integer |
Write |
The size of DETAIL.ASS_SUSPENSE_EXT.EDR_BUF. |
QUERYABLE_FIELDS DETAIL.ASS_SUSPENSE_EXT.QUERYABLE_FIELDS |
String |
Write |
The queryable field values defined in the registry. This field is used by Suspense Manager only. This is an empty string for standard recycling implementations. |
BATCH_ID DETAIL.BATCH_ID |
String |
Write |
At recycling, the value is set from HEADER.BATCH_ID. |
INTERN_PROCESS_STATUS DETAIL.INTERN_PROCESS_STATUS |
Integer |
Read |
Indicates whether the EDR is being recycled or test recycled. |
ORIGINAL_BATCH_ID DETAIL.ORIGINAL_BATCH_ID |
String |
Write |
Set the first time EDRs go through the pipeline (not being recycled or rerated.) Sets the value from HEADER.BATCH_ID in the header record. |
BATCH_ID HEADER.BATCH_ID |
String |
Read |
At recycling, modifies this value to ensure that it is unique. |
FCT_RateAdjust
The FCT_RateAdjust module adjusts the charge for an EDR after rating has been performed.
Dependencies
If the rate adjustment data is stored in the database, the module requires a connection to the Pipeline Manager database.
This module must run after the FCT_MainRating module to adjust the rate.
For more information, see "Function Module Dependencies".
Registry Entries
Table 81-108 lists the FCT_RateAdjust registry entries.
Table 81-108 FCT_RateAdjust Registry Entries
Entry | Description | Mandatory |
---|---|---|
Active |
Specifies if the module is active or inactive. True = Active False = Inactive You can use this entry in a semaphore file. |
Yes |
DataConnection |
Specifies the connection to the Pipeline Manager database. |
Yes, if the data is stored in the database. Otherwise not used. |
RateAdjustFile |
Specifies file name that contains the rate adjustment data. See "Creating a Rate Adjustment Rules File". You can use this entry in a semaphore file. |
Yes, if the data is stored in a file. Otherwise not used. |
Source |
Specifies where the rate adjustment data is stored:
|
Yes |
Sample Registry for the Database Interface
RateAdjust { ModuleName = FCT_RateAdjust Module { Active = True Source = Database DataConnection = ifw.DataPool.DataConnection } }
Sample Registry for the File Interface
RateAdjust { ModuleName = FCT_RateAdjust Module { Active = True Source = File RateAdjustFile = /data/etc/discount.dat } }
Semaphore File Entries
Table 81-109 lists the FCT_RateAdjust Semaphore file entries.
Table 81-109 FCT_RateAdjust Semaphore File Entries
Entry | Description |
---|---|
Active |
Specifies if the module is active or inactive. True = Active False = Inactive |
RateAdjustFile |
Specifies file name that contains the rate adjustment data. |
Reload |
Reloads data from the database. |
Sample Semaphore File Entry
ifw.Pipelines.ALL_RATE.Functions.Processing.FunctionPool.RateAdjustment.Module.Active = False
EDR Container Fields
Table 81-110 lists the FCT_RateAdjust EDR container fields.
Table 81-110 FCT_RateAdjust EDR Container Fields
Alias Field NameDefault Field Name | Type | Access | Description |
---|---|---|---|
ASS_CBD DETAIL.ASS_CBD |
Block-Index |
Read |
Data block. |
ASS_CBD_CHARGE_PACKET DETAIL.ASS_CBD.CP |
Block-Index |
Read |
Data block. |
ASS_CBD_RECORD_NUM DETAIL.ASS_CBD.RECORD_NUMBER |
Integer |
Read |
Contains the record number. |
USAGE_CLASS DETAIL.USAGE_CLASS |
String |
Read |
Contains the usage class. |
USAGE_TYPE DETAIL.USAGE_TYPE |
String |
Read |
Contains the usage type. |
INTERN_SERVICE_CODE DETAIL.INTERN_SERVICE_CODE |
String |
Read |
Contains the internal service code. |
INTERN_SERVICE_CLASS DETAIL.INTERN_SERVICE_CLASS |
String |
Read |
Contains the internal service class. |
BDR_START_TIMESTAMP DETAIL.CHARGING_START_TIMESTAMP |
Date |
Read |
Contains the charging time stamp. |
DURATION DETAIL.DURATION |
Decimal |
Read |
Contains the duration of the event. |
SOURCE_NETWORK DETAIL.SOURCE_NETWORK |
String |
Read |
Contains the source network. |
DESTINATION_NETWORK DETAIL.DESTINATION_NETWORK |
String |
Read |
Contains the destination network. |
INTERN_RATEPLAN DETAIL.ASS_CBD.CP.INTERN_RATEPLAN |
String |
Read |
Contains the charge code. |
INTERN_RATEPLAN_VERSION DETAIL.ASS_CBD.CP.INTERN_RATEPLAN_VERSION |
Integer |
Read |
Contains the charge version. |
ASS_CBD_IMPACT_CATEGORY DETAIL.ASS_CBD.CP.IMPACT_CATEGORY |
String |
Read |
Contains the impact category. |
CHARGED_AMOUNT_VALUE DETAIL.ASS_CBD.CP.CHARGED_AMOUNT_VALUE |
Decimal |
Read/Write |
Contains the charge amount value. |
Database Tables
The FCT_RateAdjust module uses the IFW_RATEADJUST table to set the rate adjustment rules.
Note:
For information on compare patterns used in database values, see "About Using Regular Expressions when Specifying the Data to Extract".
FCT_Recycle
The FCT_Recycle module runs at the end of the pipeline It does either of the following:
-
When the FCT_PreRecycle module runs in test mode, the FCT_Recycle module creates a report about the processing, but does not send the EDRs to an output file.
-
When the FCT_PreRecycle module runs in recycle mode, the FCT_Recycle module sends the results to an output file, and attaches a sequence number to the output file.
See:
Dependencies
Note:
You must configure the FCT_Recycle module as the last module of all function modules in the pipeline.
For more information, see "Function Module Dependencies".
Registry Entries
Table 81-111 lists the FCT_Recycle registry entries.
Table 81-111 FCT_Recycle Registry Entries
Entry | Description | Mandatory |
---|---|---|
Active |
Specifies if the module is active or inactive. True = Active False = Inactive You can use this entry in a semaphore file. |
Yes |
RecycleLog |
Specifies the log file parameters:
|
Yes |
Sample Registry
Recycle { ModuleName = FCT_Recycle Module { Active = True RecycleLog { MessageFilePath = .. MessageFilePrefix = Framework MessageFileSuffix = msg FilePath = ../tmp/log01 FilePrefix = rej_ FileSuffix = .log } } }
Semaphore File Entries
Table 81-112 lists the FCT_Recycle Semaphore file entry.
Table 81-112 FCT_Recycle Semaphore File Entry
Entry | Description |
---|---|
Active |
Specifies if the module is active or inactive. True = Active False = Inactive |
Sample Semaphore File Entry
ifw.Pipelines.ALL_RATE.Functions.Processing.FunctionPool.Recycle.Module.Active = True
EDR Container Fields
Table 81-113 lists the FCT_Recycle EDR container fields.
Table 81-113 FCT_Recycle EDR Container Fields
Alias Field NameDefault Field Name | Type | Access | Description |
---|---|---|---|
STREAM_NAME INTERNAL.STREAM_NAME |
String |
Read |
Contains the stream name. |
SEQ_CHECK INTERNAL.SEQ_CHECK |
Integer |
Write |
Specifies the sequence check. |
SEQ_GENERATION INTERNAL.SEQ_GENERATION |
Integer |
Write |
Specifies the sequence generation. |
OFFSET_GENERATION INTERNAL.OFFSET_GENERATION |
Integer |
Write |
Specifies the offset generation. |
PROCESS_STATUS INTERNAL.PROCESS_STATUS |
Integer |
Read |
Contains the internal process status. |
FCT_Reject
The FCT_Reject module analyzes the errors in an EDR and, if necessary, moves the EDR to a reject file.
See:
Dependencies
This module must run after the rating and discount modules.
For more information, see "Function Module Dependencies".
Registry Entries
Table 81-114 lists the FCT_Reject registry entries.
Table 81-114 FCT_Reject Registry Entries
Entry | Description | Mandatory |
---|---|---|
Active |
Specifies if the module is active or inactive. True = Active False = Inactive You can use this entry in a semaphore file. |
Yes |
CallAssemblingModule |
Provides data to the FCT_CallAssembling module to ensure that assembled calls are processed completely. See "Recycling Assembled EDRs". |
No |
MinErrorSeverity |
Specifies to reject EDRs that have a specified severity. To allow warning and normal messages without rejecting the EDR, set this entry to 3. Default = Not used. See "Processing EDRs with Errors". |
Yes |
NotifyonReject |
Specifies if other modules should be notified if an EDR is rejected. Default = True |
No |
StreamMap |
Specifies a list of error types mapped to output streams. Important: A UseRejectStream entry is required to use StreamMap. |
No |
UseRejectStream |
Specifies whether to use the reject output stream:
See "Using a Reject Output Stream". |
No |
Sample Registry
Reject { ModuleName = FCT_Reject { Active = True NotifyOnReject = True UseRejectStream = True CallAssemblingModule = ifw.Pipelines.Pipe.Functions.Standard.FunctionPool.CallAssembling StreamMap { error_type_1 = output_stream_1 error_type_2 = output_stream_2 intern = RejectStream logic = ReturnStream } } }
Semaphore File Entries
Table 81-115 lists the FCT_Reject Semaphore file entry.
Table 81-115 FCT_Reject Semaphore File Entry
Entry | Description |
---|---|
Active |
Specifies if the module is active or inactive. True = Active False = Inactive |
Sample Semaphore File Entry
ifw.Pipelines.ALL_RATE.Functions.Processing.FunctionPool.Rejection.Module.Active = False
Sample Output Configuration
You configure the reject stream in the registry in two places:
-
In the pipeline configuration, for example:
Pipelines { ALL_RATE { Active = TRUE . . . RejectStream = RejectOutput
-
In the Output configuration, for example:
# Output stream for rejected events RejectOutput { ModuleName = OUT_Reject Module { OutputStream { ModuleName = EXT_OutFileManager Module { OutputPath = ./samples/wireless/data/rej OutputPrefix = test OutputSuffix = .rej TempPrefix = tmp TempDataPath = ./samples/wireless/data/rej TempDataPrefix = rej.tmp. TempDataSuffix = .data Replace = TRUE DeleteEmptyFile = TRUE } } } } # end of Reject
See "Configuring Output for Rejected or Duplicate EDRs".
Note:
To ensure output file integrity, specify a unique combination of OutputPath, OutputSuffix, and OutputPrefix values for each output stream defined in the registry.
EDR Container Fields
Table 81-116 lists the FCT_Reject container fields.
Table 81-116 FCT_Reject Container Fields
Field name | Access | Description |
---|---|---|
DISCARDING DETAIL.DISCARDING |
Read/Write |
Read: This field is used to detect pre-rejected EDRs. If this field is 1, the EDR is always rejected. Write: If this field is 0 and the EDR is rejected, the field is set to 1. |
ERROR_REJECT_TYPE DETAIL.ERROR_REJECT_TYPE |
Read |
Specifies the type of error in the EDR. This determines which stream the EDR is directed to. |
FCT_Rounding
The FCT_Rounding module performs rounding for rating and discounting. Add this module to the pipeline after the processing module for which it is rounding.
The FCT_Rounding pipeline module converts the rounding mode in the /config/beid object into the corresponding rounding mode used by the BAS rounding method in Pipeline Manager. If you use the BAS Decimal rounding method in custom pipeline modules and iScripts, you should include the FCT_Rounding module in your pipeline. Otherwise, you will need to convert the rounding mode in the /config/beid object into the BAS rounding mode before calling the BAS rounding method.
Dependencies
Requires a connection to the DAT_Currency module.
This module must run after the FCT_RateAdjust module if you want rating results to be rounded and after FCT_Discount module if you want discount results to be rounded. FCT_Rounding must come after each module for which rounding should occur. For batch rating, it must come before the FCT_ApplyBalance module.
For more information, see "Function Module Dependencies".
Registry Entries
Table 81-117 lists the FCT_Rounding registry entries.
Table 81-117 FCT_Rounding Registry Entries
Entry | Description | Mandatory |
---|---|---|
Active |
Specifies if the module is active or inactive: True = Active False = Inactive |
Yes |
CurrencyDataModule |
Specifies the connection to the DAT_Currency module. |
Yes |
Mode |
Specifies the process for which rounding is applied: Rating = Round the balance impact of rating. Taxation = Round the balance impact of taxation. Discounting = Round the balance impact of discounting. |
Yes |
Sample Registry
Rounding { ModuleName = FCT_Rounding Module { Active = TRUE Mode = Rating CurrencyDataModule = ifw.DataPool.CurrencyDataModule } }
EDR Container Fields
Table 81-118 lists the FCT_Rounding EDR container fields.
Table 81-118 FCT_Rounding EDR Container Fields
Alias Field NameDefault Field Name | Type | Access | Description |
---|---|---|---|
EVENT_TYPE DETAIL.EVENT_TYPE |
String |
Read |
Specifies the event type. |
ASS_CBD_RECORD_NUMBER DETAIL.ASS_CBD.RECORD_NUMBER |
Integer |
Read |
Specifies the record number. |
ASS_CBD_RECORD_TYPE DETAIL.ASS_CBD.RECORD_TYPE |
String |
Read |
Specifies the record type. |
RESOURCE_ID DETAIL.ASS_CBD.DP.RESOURCE_ID |
Decimal |
Read |
Specifies the balance element ID. |
CHARGED_AMOUNT_CURRENCY DETAIL.ASS_CBD.CP.CHARGED_AMOUNT_CURRENCY |
Decimal |
Read |
Specifies the currency of the charged amount. |
CHARGED_AMOUNT_VALUE DETAIL.ASS_CBD.CP.CHARGED_AMOUNT_VALUE |
Integer |
Write |
Specifies the rounded charged amount. |
TAX_VALUE DETAIL.ASS_CBD.TP.TAX_VALUE |
Decimal |
Write |
Specifies the rounded tax value. |
GRANTED_AMOUNT DETAIL.ASS_CBD.DP.GRANTED_AMOUNT |
Integer |
Write |
Specifies the rounded noncurrency discount amount. |
RELATED_CHARGE_INFO_ID DETAIL.ASS_CBD.TP.RELATED_CHARGE_INFO_ID |
Integer |
Read |
Specifies the index of the corresponding charge packet for which the tax was calculated. |
FCT_RSC_Map
The FCT_RSC_Map module performs rate service class (RSC) mapping.
Dependencies
Requires a connection to the Pipeline Manager database.
This module must run before FCT_MainRating module to change the Service Code and Service Class fields of the Charge Packet. These fields are used by the main rating module to find out the rate to be applied for a particular call.
For more information, see "Function Module Dependencies".
Registry Entries
Table 81-119 lists the FCT_RSC_Map registry entries.
Table 81-119 FCT_RSC_Map Registry Entries
Entry | Description | Mandatory |
---|---|---|
Active |
Specifies if the module is active or inactive. True = Active False = Inactive You can use this entry in a semaphore file. |
Yes |
DataConnection |
Specifies the connection to the Pipeline Manager database. |
Yes |
DefaultRSCGroup |
Specifies the default RSC group to use when the RSC group is not specified in the EDR. |
Yes |
Sample Registry
RSC_Mapping { ModuleName = FCT_RSC_Map Module { Active = True DataConnection = integrate.DataPool.DataConnection DefaultRscGroup = testGroup } }
Semaphore File Entries
Table 81-120 lists the FCT_RSC_Map Semaphore file entries.
Table 81-120 FCT_RSC_Map Semaphore File Entries
Entry | Description |
---|---|
Active |
Specifies if the module is active or inactive. True = Active False = Inactive |
Reload |
Reloads data from the database into memory. |
Sample Semaphore File Entry
ifw.Pipelines.ALL_RATE.Functions.Processing.FunctionPool.RateServiceClassMap. Module.Active = False
EDR Container Fields
Table 81-121 lists the FCT_RSC_Map EDR container fields.
Table 81-121 FCT_RSC_Map EDR Container Fields
Alias Field NameDefault Field Name | Type | Access | Description |
---|---|---|---|
BDR_CHARGING_START_TIMESTAMP DETAIL.CHARGING_START_TIMESTAMP |
Date |
Read |
Contains the charging start time. |
INTERN_SLA_RSC_GROUP DETAIL.INTERN_SLA_RSC_GROUP |
String |
Read |
Contains the internal RSC group. |
QOS_REQUESTED DETAIL.QOS_REQUESTED |
String |
Read |
Contains the quality of service requested. |
QOS_USED DETAIL.QOS_USED |
String |
Read |
Contains the quality of service used. |
USAGE_TYPE DETAIL.USAGE_TYPE |
String |
Read |
Contains the usage type. |
INTERN_SERVICE_CODE DETAIL.INTERN_SERVICE_CODE |
String |
Read |
Contains the internal service code. |
INTERN_SERVICE_CLASS DETAIL.INTERN_SERVICE_CLASS |
String |
Read |
Contains the internal service class. |
INTERN_USAGE_CLASS DETAIL.INTERN_USAGE_CLASS |
String |
Read |
Contains the internal usage class. |
INTERN_RATEPLAN DETAIL.ASS_CBD.CP.INTERN_RATEPLAN |
String |
Read |
Contains the internal charge. |
ASS_CBD_IMPACT_CATEGORY DETAIL.ASS_CBD.CP.IMPACT_CATEGORY |
String |
Read |
Contains the impact category. |
SERVICE_CODE_USED DETAIL.ASS_CBD.CP.SERVICE_CODE_USED |
String |
Write |
Contains the service code used. |
SERVICE_CLASS_USED DETAIL.ASS_CBD.CP.SERVICE_CLASS_USED |
String |
Write |
Contains the service class used. |
Database Interface
FCT_RSC_Map uses the following database tables:
-
IFW_RSC_MAP. Stores the mapping rules. See "About Rate-Service Class Mapping".
-
The IFW_RSC_GROUP. Stores the RSC groups used for RSC mapping.
-
The IFW_SERVICECLASS. Stores the service class codes used when defining service codes.
Note:
For information on compare patterns used in database values, see "About Using Regular Expressions when Specifying the Data to Extract".
FCT_SegZoneNoCust
The FCT_SegZoneNoCust module finds the segment using the source network information instead of using the customer information.
Dependencies
Requires a connection to the Pipeline Manager database.
This module must run before the FCT_MainZoning module.
For more information, see "Function Module Dependencies".
Registry Entries
Table 81-122 lists the FCT_SegZoneNoCust registry entries.
Table 81-122 FCT_SegZoneNoCust Registry Entries
Entry | Description | Mandatory |
---|---|---|
Active |
Specifies if the module is active or inactive. True = Active False = Inactive You can use this entry in a semaphore file. |
Yes |
DataConnection |
Specifies the connection to the Pipeline Manager database. |
Yes |
Segments |
Specifies a list of mapping rules. Each rule defines the connection between the source network and the segment. |
Yes |
Sample Registry
SegZoneNoCust { ModuleName = FCT_SegZoneNoCust Module { Active = True DataConnection = ifw.DataPool.Database Segments { 26201 = SegmentD1 26202 = SegmentD2 } } }
Semaphore File Entries
Table 81-123 lists the FCT_SegZoneNoCust Semaphore file entries.
Table 81-123 FCT_SegZoneNoCust Semaphore File Entries
Entry | Description |
---|---|
Active |
Specifies if the module is active or inactive. True = Active False = Inactive |
Reload |
Reloads data from the database into memory. |
Sample Semaphore File Entry
ifw.Pipelines.ALL_RATE.Functions.Processing.FunctionPool.SegZoneNoCust.Active = False ifw.Pipelines.ALL_RATE.Functions.Processing.FunctionPool.SegZoneNoCust.Module.Reload { }
EDR Container Fields
Table 81-124 lists the FCT_SegZoneNoCust EDR container fields.
Table 81-124 FCT_SegZoneNoCust EDR Container Fields
Alias Field NameDefault Field Name | Type | Access | Description |
---|---|---|---|
ASS_ZBD DETAIL.ASS_ZBD |
Block |
Create |
Data block. |
ASS_ZBD_ZONE_PACKET DETAIL.ASS_ZBD.ZP |
Block |
Create |
Data block. |
SOURCE_NETWORK DETAIL.SOURCE_NETWORK |
String |
Read |
Contains the source network. |
BDR_CHARGING_START_TIMESTAMP DETAIL.CHARGING_START_TIMESTAMP |
Date |
Read |
Contains the charging time stamp. |
INTERN_SERVICE_CODE DETAIL.INTERN_SERVICE_CODE |
String |
Read |
Contains the internal service code. |
ASS_ZBD_RECORD_TYPE DETAIL.ASS_ZBD.RECORD_TYPE |
String |
Write |
Contains the record type. |
ASS_ZBD_SEGMENT_CODE DETAIL.ASS_ZBD.SEGMENT_CODE |
String |
Write |
Contains the segment code. |
ASS_ZBD_SERVICE_CODE DETAIL.ASS_ZBD.SERVICE_CODE |
String |
Write |
Contains the resulting service code. |
ASS_ZBD_INTERN_ZONE_MODEL DETAIL.ASS_ZBD.ZP.INTERN_ZONE_MODEL |
Integer |
Write |
Contains the zone model. |
FCT_ServiceCodeMap
The FCT_ServiceCodeMap module maps external service codes to internal service codes.
Dependencies
Requires a connection to the Pipeline Manager database.
Some modules require an internal service code, so this module should run near the front of a pipeline.
For more information, see "Function Module Dependencies".
Registry Entries
Table 81-125 lists the FCT_ServiceCodeMap registry entries.
Table 81-125 FCT_ServiceCodeMap Registry Entries
Entry | Description | Mandatory |
---|---|---|
Active |
Specifies if the module is active or inactive. True = Active False = Inactive You can use this entry in a semaphore file. |
Yes |
DataConnection |
Specifies the connection to the Pipeline Manager database. |
Yes |
MapGroup |
Specifies the map group that the service code map belongs to. You can use this entry in a semaphore file. |
Yes |
Sample Registry
ServiceCodeMapping { ModuleName = FCT_ServiceCodeMap Module { Active = True DataConnection = integrate.DataPool.Database MapGroup = serviceMapGroup } }
Semaphore File Entries
Table 81-126 lists the FCT_ServiceCodeMap Semaphore file entries.
Table 81-126 FCT_ServiceCodeMap Semaphore File Entries
Entry | Description |
---|---|
Active |
Specifies if the module is active or inactive. True = Active False = Inactive |
MapGroup |
Specifies the mapping rule set. |
Reload |
Reloads data from the database into memory. |
Sample Semaphore File Entry
ifw.Pipelines.ALL_RATE.Functions.Processing.FunctionPool.ServiceCodeMap.Module.Reload {} ifw.Pipelines.ALL_RATE.Functions.Processing.FunctionPool.ServiceCodeMap.Module.MapGroup = ALL_RATE
EDR Container Fields
The FCT_ServiceCodeMap module reads data from the EDR to map the external service code to the internal service code. The module then writes the internal service code and service class to the EDR.
Table 81-127 lists the FCT_ServiceCodeMap EDR container fields.
Table 81-127 FCT_ServiceCodeMap EDR Container Fields
Alias Field NameDefault Field Name | Type | Access | Description |
---|---|---|---|
BASIC_SERVICE DETAIL.BASIC_SERVICE |
String |
Read |
Contains the external service code. |
INTERN_SERVICE_CODE DETAIL.INTERN_SERVICE_CODE |
String |
Write |
Contains the internal service code. |
INTERN_SERVICE_CLASS DETAIL.INTERN_SERVICE_CLASS |
String |
Write |
Contains the internal service class. |
INTERN_USAGE_CLASS DETAIL.INTERN_USAGE_CLASS |
String |
Read |
Contains the internal usage class. |
ASS_GSMW_LOCATION_AREA_INDICATOR DETAIL.ASS_GSMW_EXT.LOCATION_AREA_INDICATOR |
String |
Read |
Contains the GSMW extension location area. |
ASS_GPRS_LOCATION_AREA_INDICATOR DETAIL.ASS_GPRS_EXT.LOCATION_AREA_INDICATOR |
String |
Read |
Contains the GPRS extension location area. |
QOS_REQUESTED DETAIL.QOS_REQUESTED |
String |
Read |
Contains the quality of service requested. |
QOS_USED DETAIL.QOS_USED |
String |
Read |
Contains the quality of service used. |
BDR_RECORD_TYPE DETAIL.RECORD_TYPE |
String |
Read |
Contains the record type. |
Database Tables
The FCT_ServiceCodeMap module uses the following database tables:
-
IFW_SERVICE_MAP. Maps external service codes to internal service codes.
-
IFW_MAP_GROUP. Stores the map groups used for service code mapping.
Note:
For information on compare patterns used in database values, see "About Using Regular Expressions when Specifying the Data to Extract".
FCT_SocialNo
The FCT_SocialNo module flags social numbers for special processing. See "Setting Up Social Numbers".
Dependencies
If the social number data is stored in the database, the FCT_SocialNo module requires a connection to the Pipeline Manager database.
This module can run anywhere.
For more information, see "Function Module Dependencies".
Registry Entries
Table 81-128 lists the FCT_SocialNo registry entries.
Table 81-128 FCT_SocialNo Registry Entries
Entry | Description | Mandatory |
---|---|---|
Active |
Specifies if the module is active or inactive. True = Active False = Inactive You can use this entry in a semaphore file. |
No |
DataConnection |
Specifies the connection to the Pipeline Manager database. |
Yes, if the data is stored in the database. Otherwise not used. |
FileName |
Specifies file that contains the social number data. |
Yes, if the data is stored in a file. |
ReuseOnFailure |
Specifies if the module should continue to use the old data if the Reload command fails. If True, the old data is used. The default is False. |
Yes |
SocialNoMapSize |
Specifies the size of the in-memory map that stores social numbers. For a large set of social numbers to be loaded, specifying this parameter will enhance loading performance. |
No |
Source |
Specifies where the social number data is stored:
|
Yes |
Sample Registry for the Database Interface
SocialNo { ModuleName = FCT_SocialNo Module { ReuseOnFailure = false Active = true Source = database DataConnection = dataPool } }
Sample Registry for the File Interface
SocialNo { ModuleName = FCT_SocialNo Module { Active = True ReuseOnFailure = False Source = File FileName = ../daten/socialno.dat }
Semaphore File Entries
Table 81-129 lists the FCT_SocialNo Semaphore file entries.
Table 81-129 FCT_SocialNo Semaphore File Entries
Entry | Description |
---|---|
Active |
Specifies if the module is active or inactive. True = Active False = Inactive |
FileName |
Reloads data from the specified file if Source parameter is set to File. |
Reload |
Reloads data from the database if Source parameter is set to Database. |
ReuseOnFailure |
Specifies if the module should continue to use the old data if the Reload command fails. |
Sample Semaphore File Entry
ifw.Pipelines.ALL_RATE.Functions.Processing.FunctionPool.SocialNo.Module.Active = False
EDR Container Fields
The FCT_SocialNo module uses the following EDR container fields listed in Table 81-130 to flag social numbers for further processing.
Table 81-130 FCT_SocialNo EDR Container Fields.
Alias Field NameDefault Field Name | Type | Access | Description |
---|---|---|---|
B_MODIFICATION_INDICATOR DETAIL.B_MODIFICATION_INDICATOR |
String |
Read/Write |
Contains the modification indicator. |
B_NUMBER_ZONE DETAIL.INTERN_B_NUMBER_ZONE |
String |
Read |
Contains the B number. |
Database Interface
The FCT_SocialNo module uses the IFW_SOCIALNUMBER database table. This table stores social numbers. See "Setting Up Social Numbers".
Note:
For information on compare patterns used in database values, see "About Using Regular Expressions when Specifying the Data to Extract".
FCT_Suspense
This module is used both by the standard recycling mechanism and by the Suspense Manager service integration component that you purchase separately. Both implementations are described below.
Note:
With one exception, FCT_Suspense must be the last function module in the pipeline. This ensures that it processes the final EDR container, including overwritten field values and enrichment field values. However, if FCT_AggreGate is used, it can be after FCT_Suspense.
Standard Recycling Implementation
As part of the standard recycling mechanism, the BRM FCT_Suspense function module:
-
Routes EDRs being recycled from SuspenseCreateOutput to suspenseUpdateOutput.
-
Logs the results of test recycling (if the LogTestResults registry entry is set).
Suspense reason and subreason codes are not supported with standard recycling, and these codes are all set to O (other).
Suspense Manager Implementation
As part of Suspense Manager, this module adds suspense reason and suspense subreason codes to EDRs. The specific errors that it adds are based on the error codes assigned to the EDR by the pipeline and the mapping information stored in the /config/suspense_reason_code object. If no /config/suspense_reason_code object is present, this module sets the suspense reason to O (other).
Dependencies
Requires a connection to the BRM database.
This module must be the last one in the pipeline.
For more information, see "Function Module Dependencies".
Registry Entries
Table 81-131 lists the FCT_Suspense registry entries.
Table 81-131 FCT_Suspense Registry Entries
Entry | Description | Mandatory |
---|---|---|
Active |
Specifies if the module is active or inactive. True = Active False = Inactive You can use this entry in a semaphore file. |
Yes |
DataConnection |
Specifies the connection to the BRM database. |
Yes |
LogTestResults |
For standard recycling only. Determines whether the results of test recycling are logged. If this entry is not present, the results are not logged. If set to True, the RecycleLog entry must also be present in the FCT_Suspense registry. Default = False See "pin_recycle". |
No |
RecycleLog |
Specifies the log file parameters. |
Yes, when LogTestResults is set to True. |
RecycleLog.MessageFilePath |
Specifies the path where the log file can find the message database. |
Yes, when LogTestResults is set to True. |
RecycleLog.MessageFilePrefix |
Specifies the prefix for collecting the files from the message file path. |
Yes, when LogTestResults is set to True. |
RecycleLog.MessageFileSuffix |
Specifies the suffix for collecting the files from the message file path. |
Yes, when LogTestResults is set to True. |
RecycleLog.FilePath |
Specifies the path in which the log file is written. |
Yes, when LogTestResults is set to True. |
RecycleLog.FilePrefix |
Specifies the prefix for the log file. |
Yes, when LogTestResults is set to True. |
RecycleLog.FileSuffix |
Specifies the suffix for the log file. |
Yes, when LogTestResults is set to True. |
SuspenseCreateStream |
Specifies the output stream for newly suspended EDRs. |
Yes |
SuspenseUpdateStream |
Specifies the output stream for recycled EDRs. |
Yes |
Sample Registry
#--------------------------- # Suspense FCT #--------------------------- Suspense { ModuleName = FCT_Suspense Module { Active = True SuspenseCreateStream = SuspenseCreateOutput SuspenseUpdateStream = SuspenseUpdateOutput EdrFieldMap = DETAIL.ASS_GSMW_EXT.PORT_NUMBER DataConnection = ifw.DataPool.LoginInfranet LogTestResults = True RecycleLog { MessageFilePath = .. MessageFilePrefix = Framework MessageFileSuffix = msg FilePath = ../tmp/log01 FilePrefix = rej_ FileSuffix = .log } } }
Semaphore File Entries
Table 81-132 lists the FCT_Suspense file entry.
Table 81-132 FCT_Suspense Semaphore File Entry
Entry | Description |
---|---|
Active |
Specifies if the module is active or inactive. True = Active False = Inactive |
Sample Semaphore File Entry
ifw.Pipelines.ALL_RATE.Functions.Processing.FunctionPool.Suspense.Module.Active = False
EDR Container Fields
Table 81-133 lists the FCT_Suspense EDR container fields.
Table 81-133 FCT_Suspense EDR Container Fields
Alias Field NameDefault Field Name | Type | Access | Description |
---|---|---|---|
ERROR_CODE DETAIL.ASS_SUSPENSE_EXT.ERROR_CODE |
String |
Write |
The error code for the most severe error reported by the pipeline for the EDR. |
SUSPENSE_REASON DETAIL.ASS_SUSPENSE_EXT.SUSPENSE_REASON |
String |
Write |
The suspense reason. Mapped from the error code. Used by Suspense Manager only. This field is set to 0 for standard recycling implementations. |
SUSPENSE_SUBREASON DETAIL.ASS_SUSPENSE_EXT.SUSPENSE_SUBREASON |
String |
Write |
The suspense subreason. Mapped from the error code. Used by Suspense Manager only. This field is set to 0 for standard recycling implementations. |
EDR_BUF DETAIL.ASS_SUSPENSE_EXT.EDR_BUF |
String |
Write |
A stored representation of the EDR container including fields overwritten and enriched by the pipeline. |
EDR_SIZE DETAIL.ASS_SUSPENSE_EXT.EDR_SIZE |
Integer |
Write |
The size of DETAIL.ASS_SUSPENSE_EXT.EDR_BUF. |
PROCESS_STATUS DETAIL.INTERN_PROCESS_STATUS |
Integer |
Read |
Indicates whether the EDR is being recycled or test recycled. |
SUSPENSE_STATUS DETAIL.ASS_SUSPENSE_EXT.SUSPENSE_STATUS |
Integer |
Write |
Indicates whether the EDR is suspended or successfully recycled. |
BATCH_ID DETAIL.BATCH_ID |
String |
Write |
Writes the batch ID from the header record, except during recycling. |
BATCH_ID HEADER.BATCH_ID |
String |
Read |
Written during recycling. |
FCT_Timer
The FCT_Timer module sets the timer ID for an EDR and stores a copy of the EDR when the original EDR is sent to the processing pipeline.
If an EDR times out, FCT_Timer sets the timeout flag to True and sends:
-
The original EDR with a timeout flag to the exception pipeline, which is the pipeline to which the original EDR is sent when it times out.
-
The duplicate EDR to the timeout pipeline, which is the pipeline to which the duplicate EDR is sent when it times out.
If the EDR is processed within the time limit, FCT_Timer sets the timeout flag to False.
FCT_Timer also handles heartbeat and keep-alive messages by automatically resetting the timer at the interval specified in the KeepAliveInterval registry entry when there is message traffic between the CM and the Intelligent Network (IN).
Registry Entries
Table 81-134 lists the FCT_Timer registry entries.
Table 81-134 FCT_Timer Registry Entries
Entry | Description | Mandatory |
---|---|---|
Active |
Specifies whether the module is active or inactive True = Active (default). False = Inactive. |
Yes |
Threads |
Specifies the number of threads running this module. Default = 1. |
Yes |
Reactors |
Specifies the number of reactor objects to use. The reactors detect timeout events and then dispatch the events to the timer handler. The recommended number of reactors is from 1 to 5. |
No |
TimeoutQueue |
Specifies the pipeline queue to which the duplicate EDR is sent when the EDR times out. |
Yes |
KeepAliveInterval |
Specifies the idle timeout value in milliseconds, which specifies how long to wait before sending the original EDR to the exception pipeline. Default = 3000. |
Yes |
Timeout |
Specifies the idle timeout value in microseconds, which specifies how long to wait before sending the duplicate EDR to the timeout pipeline. Default = 100000. |
Yes |
NoOpcodeNumbers |
Specifies the number of the BRM opcode that prevents duplicate EDRs from being created. When the OPCODE_NUM EDR field is set to the specified number, the module does not create a duplicate EDR for the Timeout pipeline. Opcode numbers are defined in header (*.h) files in the BRM_home/include/ops directory. BRM_home is the directory where you installed BRM components. |
No |
Sample Registry
Timer { ModuleName = FCT_Timer Module { Active = TRUE Threads = 1 Reactors = 3 TimeoutQueue = ifw.IPCQueues.TimeoutQueue KeepAliveInterval = 3000 ### milliseconds Timeout = 100000 ### microseconds NoOpcodeNumbers = 5000, 50001 } }
EDR Container Fields
FCT_Timer uses the EDR container fields listed in Table 81-135:
Table 81-135 FCT_Timer EDR Container Fields
Alias Field NameDefault Field Name | Type | Access | Description |
---|---|---|---|
TIMER_ID DETAIL.TIMER_ID |
Integer |
Write |
ID assigned to the EDR container's timer when FCT_SetTimer schedules it. This ID is required to cancel the timer. |
CURRENT_TIME DETAIL.CURRENT_TIME |
Integer |
Read |
Current system time |
TIMEOUT_OFFSET DETAIL.TIMEOUT_OFFSET |
Integer |
Write |
Offset from the current system time |
OPCODE_NUM DETAIL.OPCODE_NUM |
Integer |
Read |
Specifies the number of the BRM opcode that performs the requested action. Opcode numbers are defined in header (*.h) files in the BRM_home/include/ops directory. |
TIMEOUT_FLAG DETAIL.TIMEOUT_FLAG |
Integer |
Write |
Specifies whether the EDR has timed out:
|
SESSION_ID DETAIL.SESSION_ID |
String |
Write |
ID required to cancel the timer. |
MILLISEC_TIME DETAIL.MILLISEC_TIME |
Integer |
Read |
The latency time in milliseconds. |
FCT_TriggerBill
The FCT_TriggerBill module sends EDRs to the billing-trigger output stream to trigger immediate billing for the associated accounts. It also sets a billing-trigger error code used to route the EDRs to the suspense output stream, and the Trigger_Billing recycle key used to retrieve the suspended EDRs for recycling.
Dependencies
Configure the FCT_TriggerBill module to run before the FCT_MainRating module.
For more information, see "Function Module Dependencies".
Registry Entries
Table 81-136 lists the FCT_TriggerBill registry entries.
Table 81-136 FCT_TriggerBill Registry Entries
Entry | Description | Mandatory |
---|---|---|
Active |
Specifies if the module is active or inactive: True = Active False = Inactive |
Yes |
TriggerBillCreateStream |
Specifies the billing-trigger output stream module. |
Yes |
Sample Registry
TriggerBill { ModuleName = FCT_TriggerBill Module { Active = TRUE TriggerBillCreateStream = TriggerBillCreateOutput } }
Semaphore File Entries
Table 81-137 lists the FCT_TriggerBill Semaphore file entry.
Table 81-137 FCT_TriggerBill Semaphore File Entry
Entry | Description |
---|---|
Active |
Specifies if the module is active or inactive. True = Active False = Inactive |
EDR Container Fields
Table 81-138 lists the FCT_TriggerBill EDR container fields.
Table 81-138 FCT_TriggerBill EDR Container Fields
Alias Field NameDefault Field Name | Type | Access | Description |
---|---|---|---|
ACTG_NEXT_DATE DETAIL.CUST.A.ACTG_NEXT_DATE |
String |
Read |
The date that the current monthly cycle ends. Used to determine the accounting cycle to which the EDR belongs. |
BILL_STATE DETAIL.CUST.A.BILL_STATE |
String |
Read |
The billing state. Possible values are:
|
CHARGING_START_TIMESTAMP DETAIL.CHARGING_START_TIMESTAMP |
String |
Read |
The timestamp when the call started. Used to determine the accounting cycle to which the EDR belongs. |
ERROR_CODE DETAIL.ASS_SUSPENSE_EXT.ERROR_CODE |
String |
Write |
Specifies the billing-trigger error code. Used to send the EDR to the suspense output stream. |
RECYCLE_KEY DETAIL.ASS_SUSPENSE_EXT.RECYCLE_KEY |
String |
Write |
The key value that identifies the EDRs suspended for pipeline-triggered billing. Set to Trigger_Billing when BILL_STATE is unbilled and ACTG_NEXT_DATE is passed. |
UTC_TIME_OFFSET DETAIL.UTC_TIME_OFFSET |
X(5) |
Read |
The UTC time offset. |
FCT_UoM_Map
The FCT_UoM_Map module converts the unit of measurement (UoM) of an incoming EDR to a UoM needed for rating a particular service.
Dependencies
Requires a connection to the Pipeline Manager database.
Must run after the FCT_ServiceCodeMap module, and before the rating modules.
For more information, see "Function Module Dependencies".
Registry Entries
Table 81-139 lists the FCT_UoM_Map registry entries.
Table 81-139 FCT_UoM_Map Registry Entries
Entry | Description | Mandatory |
---|---|---|
Active |
Specifies if the module is active or inactive. True = Active False = Inactive You can use this entry in a semaphore file. |
Yes |
DataConnection |
Specifies the connection to the Pipeline Manager database. |
Yes |
Mapping |
Specifies the mapping rules. |
Yes |
Mapping.AssCBDServiceCode |
Specifies the service code field in the associated charge breakdown records that is used for the mapping. |
No |
Mapping.InternServiceCode |
Specifies the service code field in the basic detail block that is used for the mapping. |
No |
Sample Registry
UoM_Map { ModuleName = FCT_UoM_Map Module { Active = True DataConnection = integrate.DataPool.Login Mapping { InternServiceCode = INTERN_SERVICE_CODE AssCBDServiceCode = ASS_CBD_SERVICE_CODE } } }
Semaphore File Entries
Table 81-140 lists the FCT_UoM_Map Semaphore file entries.
Table 81-140 FCT_UoM_Map Semaphore File Entries
Entry | Description |
---|---|
Active |
Specifies if the module is active or inactive. True = Active False = Inactive |
Reload |
Reloads data from the database into memory. |
Sample Semaphore File Entry
ifw.Pipelines.ALL_RATE.Functions.Processing.FunctionPool.UoM_Map.Module.Active = False
EDR Container Fields
Table 81-141 lists the FCT_UoM_Map EDR container fields.
Table 81-141 FCT_UoM_Map EDR Container Fields
Alias Field NameDefault Field Name | Type | Access | Description |
---|---|---|---|
INTERN_SERVICE_CODE DETAIL.INTERN_SERVICE_CODE |
String |
Read |
Contains the internal service code. |
ASS_CBD_SERVICE_CODE DETAIL.ASS_CBD.SERVICE_CODE |
String |
Read |
Contains the charge breakdown service code. |
DETAIL.ASSOCIATED_CHARGE.CHARGE_PACKET ASS_CBD_CHARGE_PACKET |
Struct |
Read/Write |
Contains charge packet data. |
Database Interface
FCT_UoM_Map accesses the following database tables:
-
IFW_SERVICE. This table stores data about services and associated RUMs.
-
IFW_RUMGROUP_LNK. This table defines a list of RUM/UOM pairs with the RUM group value obtained from the IFW_SERVICE table.
-
IFW_UOM_MAP. This table maps a UoM to a basic detail or to an associated charge packet.
-
IFW_UOM. This table stores the UoMs for pipeline rating.
-
IFW_ALIAS_MAP. This table stores an alias name for each RUM and UoM.
FCT_UsageClassMap
The FCT_UsageClassMap module maps external codes for supplementary services, such as call forwarding, to internal usage classes.
Dependencies
Requires a connection to the Pipeline Manager database.
The FCT_UsageClassMap module is run before the zoning and rating modules.
For more information, see "Function Module Dependencies".
Registry Entries
Table 81-142 lists the FCT_UsageClassMap registry entries.
Table 81-142 FCT_UsageClassMap Registry Entries
Entry | Description | Mandatory |
---|---|---|
Active |
Specifies if the module is active or inactive. True = Active False = Inactive You can use this entry in a semaphore file. |
Yes |
DataConnection |
Specifies the connection to the Pipeline Manager database. |
Yes |
MapGroup |
Specifies the map group. You can use this entry in a semaphore file. |
Yes |
OverwriteUsageClass |
Specifies if the external usage class should be overwritten by the internal one. The default is to not overwrite the external usage class; if you map usage codes, you should enable this entry. Default = False |
No |
OptimizeFor |
Specifies if the module is configured to optimize memory consumption as well as pipeline startup time. Memory = Optimizes memory consumption and pipeline startup time. No memory optimization = Does not optimize memory consumption and pipeline startup time (the default). Note
|
No |
Sample Registry
UsageClassMapping { ModuleName = FCT_UsageClassMap Module { Active = True DataConnection = ifw.DataPool.Database OverwriteUsageClass = False MapGroup = mapGroup0 OptimizeFor = Memory } }
Semaphore File Entries
Table 81-143 lists the FCT_UsageClassMap Semaphore file entries.
Table 81-143 FCT_UsageClassMap Semaphore File Entries
Entry | Description |
---|---|
Active |
Specifies if the module is active or inactive. True = Active False = Inactive |
MapGroup |
Specifies the mapping rule set. |
Reload |
Reloads data from the database into memory. |
Sample Semaphore File Entry
ifw.Pipelines.ALL_RATE.Functions.Processing.FunctionPool.UsageClassMap.Module.Reload {} ifw.Pipelines.ALL_RATE.Functions.Processing.FunctionPool.UsageClassMap.Module.MapGroup = ALL_RATE
EDR Container Fields
The FCT_UsageClassMap module adds the internal usage class to the EDR. All other fields in Table 81-144 are used for mapping the usage class.
Table 81-144 FCT_UsageClassMap EDR Container Fields
Alias Field NameDefault Field Name | Type | Access | Description |
---|---|---|---|
BDR_RECORD_TYPE DETAIL.RECORD_TYPE |
String |
Read |
Contains the event record type. |
USAGE_CLASS DETAIL.USAGE_CLASS |
String |
Read |
Contains the external usage class. |
USAGE_TYPE DETAIL.USAGE_CLASS |
String |
Read |
Contains the external usage type. |
WHOLESALE_IMPACT_CATEGORY DETAIL.WHOLESALE_IMPACT_CATEGORY |
String |
Read |
Contains the wholesale impact category. |
TARIFF_CLASS DETAIL.TARIFF_CLASS |
String |
Read |
Contains the tariff class. |
TARIFF_SUB_CLASS DETAIL.TARIFF_SUB_CLASS |
String |
Read |
Contains the tariff subclass. |
INTERN_USAGE_CLASS DETAIL.INTERN_USAGE_CLASS |
String |
Write |
Contains the internal usage class. |
CONNECT_TYPE DETAIL.CONNECT_TYPE |
String |
Read |
Contains the connection type. |
CONNECT_SUB_TYPE DETAIL.CONNECT_SUB_TYPE |
String |
Read |
Contains the connection subtype. |
APN_ADDRESS DETAIL.ASS_GPRS_EXT.APN_ADDRESS |
String |
Read |
Contains the GPRS APN type. |
ACTION_CODE DETAIL.ASS_GSMW_EXT.SS_PACKET.ACTION_CODE |
String |
Read |
Contains the GSM SS packet action code. |
SS_EVENT DETAIL.ASS_GSMW_EXT.SS_PACKET.SS_EVENT |
String |
Read |
Contains the GSM SS packet action event. |
INTERN_C_NUMBER_ZONE DETAIL.INTERN_C_NUMBER_ZONE |
String |
Read |
Contains the internal normalized C number. |
DETAIL.ASS_GPRS_EXT ASS_GPRS |
String |
Read |
Contains the GPRS extension. |
DETAIL.ASS_GSMW_EXT.SS_PACKET ASS_GSMW_SS_PACKET |
String |
Read |
Contains the GSMW SS packet. |
Database Tables
The FCT_UsageClassMap module uses the following database tables:
-
The IFW_USAGECLASS_MAP table maps external supplementary service codes in the EDR to internal usage classes.
-
The IFW_USAGECLASS table stores the usage classes that can be used as a result of usage class mapping.
-
The IFW_MAP_GROUP table stores the map groups used for usage class mapping.
Note:
For information on compare patterns used in database values, see "About Using Regular Expressions when Specifying the Data to Extract".
FCT_USC_Map
The FCT_USC_Map module performs usage scenario mapping.
Dependencies
This module needs a connection to the DAT_USC_Map module.
This module must run after the following:
-
FCT_UsageClassMap
-
ISC_UsageType
-
FCT_PreRating
For more information, see "Function Module Dependencies".
Registry Entries
Table 81-145 lists the FCT_USC_Map registry entries.
Table 81-145 FCT_USC_Map Registry Entries
Entry | Description | Mandatory |
---|---|---|
Active |
Specifies if the module is active or inactive. True = Active False = Inactive You can use this entry in a semaphore file. |
Yes |
DataModule |
Specifies the connection to the DAT_USC_Map data module. |
Yes |
DefaultUSCGroup |
Specifies the USC group that contains the mapping rules. If no matching rule is found, the FCT_USC_Map module uses the rule in the default USC map group. You can use this entry in a semaphore file. |
Yes |
LogZoneModelNotFoundEntries |
Specifies, if set to True, that all log entries in INF_NO_USC_MAPPING_ENTRY are logged into the Stream log. The default value is False. |
No |
Mode |
Specifies the mode in which USC mapping is done. The Rating mode (the default) specifies that USC mapping is done using the zone model from the charge packets. Mapping in this mode provides the impact category for charge packets. The Zoning mode specifies that USC mapping is done using the zone model from the EDR detail block. Mapping in this mode provides impact categories for the detail block. Using the Zoning mode requires that the DETAIL.RETAIL_IMPACT_CATEGORY and DETAIL.WHOLESALE_IMPACT_CATEGORY fields are populated. |
No |
Sample Registry
USC_Mapping { ModuleName = FCT_USC_Map Module { Active = True DefaultUSCGroup = usc_group DataModule = ifw.DataPool.USCDataModule } }
Semaphore File Entries
Table 81-146 lists the FCT_USC_Map Semaphore file entry.
Table 81-146 FCT_USC_Map Semaphore File Entry
Entry | Description |
---|---|
Active |
Specifies if the module is active or inactive. True = Active False = Inactive |
Sample Semaphore File Entry
ifw.Pipelines.ALL_RATE.Functions.Processing.FunctionPool.UsageScenarioMap. Module.Active = True ifw.Pipelines.ALL_RATE.Functions.Processing.FunctionPool.UsageScenarioMap. Module. DefaultUSCGroup = usc_group
EDR Container Fields
Table 81-147 lists the FCT_USC_Map EDR container fields.
Table 81-147 FCT_USC_Map EDR Container Fields
Alias Field NameDefault Field Name | Type | Access | Description |
---|---|---|---|
BDR_CHARGING_START_TIMESTAMP DETAIL.CHARGING_START_TIMESTAMP |
String |
Read |
Contains the charging time stamp. |
INTERN_SLA_USC_GROUP DETAIL.INTERN_SLA_USC_GROUP |
String |
Read |
Contains the internal USC group. |
USAGE_TYPE DETAIL.USAGE_TYPE |
String |
Read/Write |
Contains the usage type code. This field is updated only when the Mode registry entry is set to Zoning. It is not updated when the Mode entry is set to Rating. |
RETAIL_IMPACT_CATEGORY DETAIL.RETAIL_IMPACT_CATEGORY |
String |
Read/Write |
Contains the retail impact category. |
WHOLESALE_IMPACT_CATEGORY DETAIL.WHOLESALE_IMPACT_CATEGORY |
String |
Read/Write |
Contains the wholesale impact category. |
WHOLESALE_CHARGED_AMOUNT_VALUE DETAIL.WHOLESALE_CHARGED_AMOUNT_VALUE |
String |
Read |
Contains the wholesale charged amount value. |
IC_DESCRIPTION DETAIL.IC_DESCRIPTION |
String |
Write |
Contains the zone description for displaying on invoices. |
IC_DESCRIPTION DETAIL.ASS_CBD.CP.IC_DESCRIPTION |
String |
Write |
Contains the zone description for displaying on invoices. |
INTERN_SERVICE_CODE DETAIL.INTERN_SERVICE_CODE |
String |
Read |
Contains the internal service code. |
INTERN_SERVICE_CLASS DETAIL.INTERN_SERVICE_CLASS |
String |
Read |
Contains the internal service class. |
DURATION DETAIL.DURATION |
String |
Read |
Contains the duration of the event. |
INTERN_USAGE_CLASS DETAIL.INTERN_USAGE_CLASS |
String |
Read |
Contains the internal usage class code. |
BDR_INTERN_ZONE_MODEL DETAIL.INTERN_ZONE_MODEL |
String |
Read |
Contains the zone model. |
RATEPLAN_TYPE DETAIL.ASS_CBD.CP.RATEPLAN_TYPE |
String |
Read |
Contains the charge breakdown record charge type. |
ASS_CBD_INTERN_ZONE_MODEL DETAIL.ASS_CBD.CP.INTERN_ZONE_MODEL |
String |
Read |
Contains the charge breakdown record zone model. |
ASS_CBD_IMPACT_CATEGORY DETAIL.ASS_CBD.CP.IMPACT_CATEGORY |
String |
Read/Write |
Contains the charge breakdown record impact category. |
ASS_CBD_ZONE_ENTRY_NAME DETAIL.ASS_CBD.CP.ZONE_ENTRY_NAME |
String |
Read |
Contains the zone name used for the charge packet. |
ZONE_ENTRY_NAME DETAIL.ZONE_ENTRY_NAME |
String |
Read |
Contains the zone name of the event. |
Database Interface
The FCT_USC_Map module uses the following database tables:
-
IFW_USC_MAP. This table stores mapping rules for usage scenario maps.
-
IFW_USC_GROUP. This table stores USC group codes used for usage scenario mapping.
-
IFW_USAGETYPE. This table stores usage type codes used for usage scenario mapping.
Note:
For information on compare patterns used in database values, see "About Using Regular Expressions when Specifying the Data to Extract".
FCT_Zone
The FCT_Zone module computes zones when you use Pipeline Manager only for zoning.
Dependencies
The FCT_Zone module requires a connection to the DAT_Zone module.
This module must run after FCT_Account.
For more information, see "Function Module Dependencies".
Registry Entries
Table 81-148 lists the FCT_Zone registry entries.
Table 81-148 FCT_Zone Registry Entries
Entry | Description | Mandatory |
---|---|---|
Active |
Specifies if the module is active or inactive. True = Active False = Inactive You can use this entry in a semaphore file. |
Yes |
DataModule |
Specifies the connection to the DAT_Zone module. |
Yes |
EdrZoneModel |
Specifies the zone model which should be used for the zoning. You can use this entry in a semaphore file. |
Yes |
Sample Registry
Zoning { ModuleName = FCT_Zone Module { Active = True DataModule = ifw.DataPool.ZoneDataModule EdrZoneModel = ZM_ADD } }
Semaphore File Entries
Table 81-149 lists the FCT_Zone Semaphore file entries.
Table 81-149 FCT_Zone Semaphore File Entries
Entry | Description |
---|---|
Active |
Specifies if the module is active or inactive. True = Active False = Inactive |
EdrZoneModel |
Specifies the zone model which should be used for the zoning. |
Sample Semaphore File Entry
ifw.Pipelines.Functions.Processing.FunctionPool.Zoning.Module.EdrZoneModel = D2_FUN
EDR Container Fields
Table 81-150 lists the FCT_Zone EDR container fields.
Table 81-150 FCT_Zone EDR Container Fields
Alias Field NameDefault Field Name | Type | Access | Description |
---|---|---|---|
BDR_CHARGING_START_TIMESTAMP DETAIL.CHARGING_START_TIMESTAMP |
Date |
Read |
Contains the charging time stamp. |
RETAIL_IMPACT_CATEGORY DETAIL.RETAIL_IMPACT_CATEGORY |
String |
Write |
Contains the retail impact category. |
WHOLESALE_IMPACT_CATEGORY DETAIL.WHOLESALE_IMPACT_CATEGORY |
String |
Write |
Contains the wholesale impact category. |
ZONE_DESCRIPTION DETAIL.ZONE_DESCRIPTION |
String |
Write |
Contains the zone description for displaying on invoices. |
ZONE_ENTRY_NAME DETAIL.ZONE_ENTRY_NAME |
String |
Write |
Contains the destination description for displaying on invoices. |
INTERN_SERVICE_CODE DETAIL.INTERN_SERVICE_CODE |
String |
Read |
Contains the internal service code. |
INTERN_A_NUMBER_ZONE DETAIL.INTERN_A_NUMBER_ZONE |
String |
Read |
Contains the A number. |
INTERN_B_NUMBER_ZONE DETAIL.INTERN_B_NUMBER_ZONE |
String |
Read |
Contains the B number. |
BDR_INTERN_ZONE_MODEL DETAIL.INTERN_ZONE_MODEL |
Integer |
Write |
Contains the resulting zone model ID. |
BDR_INTERN_APN_GROUP DETAIL.INTERN_APN_GROUP |
String |
Write |
Contains the zone model related APN_GROUP for use by the FCT_APN_Map module. |