Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Document Logs
Change log:

Date:

Author:

Doc Version:

Changes:

Ext.

Int.

Is in Core

26 May 2011

DWN

0.1

Doc. created

 

 

 

15 March 2012

CM

0.2

New parameter Tree

 

 

 

28 August 2012

CM

0.3

Added new parameter values

 

 

 

01 March 2013

JSK

0.4

Added extra column descriptions for CDR_FILE_DEF and CDR_RECORD_DEF.

 

 

 

07 October 2013

JSK

1.12

Added section 3.1.11 concerning Hookpoint Invokation in the Pre or Post process of file processing.

 

 

 

14 May 2014

KTH

1.12.1

Added new parameter: DB_SYS_PACKAGE_NAME

 

 

 

22 May 2014KTH1.12.2Added new Parameter: CHARACTER_ENCODING   
30 October 2015KTH1.13

Added new column SEQUENCE columns to CDR_RECORDFILE_DEF tableAdded new column XML_FILE_NAME_COLUMN

(Available for FileProcessor Integration project version 2.2)

   
26 NovemberKaruna Thulluri1.14

JSON File export feature added

Added new columns to CDR_FILE_DEF table

(Available for FileProcessor Integration project version 2.23-SNAPSHOT. Yet to be released)

   

...

1 - Purpose of Document

...

Figure 2.1 (below) represents the above tables and their respective classes:

Drawio
diagramNameCdrFileDataModelFinalNew.drawio
revision1

Figure 2.1 Data Model for CDR file

...

The above design is shown in figure 2.3.1 below:

Image RemovedImage Added
Figure 2.3.1 File Processor UML.

...

COLUMN NAME

DESCRIPTION

NAME

Name of the Cdr File Definition

DESCRIPTION

Description of Cdr File Definition

KEY

Unique key of a file defintion

CODE

Code, in-case sub classing is needed in the future

MAX_RECORDS

Maximum number of records in a file (Default value -1 (no maximum number of records))

CDR_PARSER_ID

Parser used for parsing a file into records (CDR_PARSER_ID = CDR_PARSER.ID)

BILLING_SOURCE_TABLE_NAME

Table name for storing file information source

RECORD_SEPARATOR_ID

Type of separator used for separating one record from another (RECORD_SEPARATOR_ID = ITEM_SEPARATOR.ID). The default is a carriage return line feed

FILENAME_FORMAT

Format of filename to be loaded (Perl regular expression format). If set only filenames that match the format will be processed otherwise all files are processed

EXPORT_TYPE

The type of file records to be exported. Used when generating export files. The source table (for export) must have a column with name 'EXPORT_TYPE' whose value must match this value

PRE_EXPORT_PROCEDURE

Used when exporting files. Called before any final generation processing commences. Used to add extra export values that can only be added at time of export

XML_DOCUMENT_DEF_ID

Used when exporting XML files. (XML_DOCUMENT_DEF_ID = XML_DOCUMENT_DEF.ID)

BILLING_SOURCE_CLASS

Class used to model the table defined in the column 'BILLING_SOURCE_TABLE_NAME'

FILE_NAME_SUFFIX

Suffix (extension) to be added to the export filename

FILE_NAME_GENERATOR_METHOD

Method on the BILLING_SOURCE_CLASS used to generate a filename during export. This method must take the ID of the record in the 'BILLING_SOURCE_TABLE_NAME' table, and the CDR_FILE_DEF ID as parameters. For example for exporting a CDR file, the ID will be the ID of the appropriate SP_FILE_HEADER record linked to the rated BILLING_RECORDs (BILLING_RECORD.SP_FILE_ID = SP_FILE_HEADER.ID) being exported.

PRE_PROCESSOR_METHOD

Method in the BILLING_SOURCE_CLASS called before processing a file. The method must take CdrFileDef object as parameter. Could be used to validate if a file has already been loaded or to delete all records in a table before loading.

POST_PROCESSOR_METHOD

Method in the BILLING_SOURCE_CLASS called after processing a file. The method must take CdrFileDef object as parameter. Could be used for validating contents of the detail against information on the trailer.

RECORD_FOR_HEADER

Possible values are Y and N. This column is solely taken into an account, if the PERSIST column has the value Y. In case the first line in the loaded file must be stored in the BATCH_FILE_LINE table, the RECORD_FOR_HEADER column must be set to Y.

STATUS_COLUMN_NAME

String value. Defines the column name for status of billing source table. If left empty a default name of STATUS is used.

NUMBER_OF_RECS_COLUMN_NAME

String with default value 'NUMBER_OF_RECS'. Defines the column name, where the number of the content lines in a loaded file must be stored.

DATE_LOADED_COLUMN_NAME

String with default value 'DATE_LOADED'. Defines the column name, where the time of the loading must be stored. The column is mandatory in the billing source table.

SAVE_RECORD_ORDER

Char with possible values 'Y'/'N' and default value 'N'. Defines whether line number of a loaded record must be stored in the db.

RECORD_ORDER_COLUMN_NAME

String with default value 'LINE_IN_FILE'. Defines the column name, where the line number of the loaded record must be stored.

STATUS_VALUE

String with default value '0'. Defines the status of the loaded file.

COMMENT_COLUMN_NAME

Defines the column name in the billing source table (defined in the column billing_source_table_name), where error messages are posted, if a file generation fails. Not mandatory in the billing source table. If left out, error messages are simply not posted in the billing source table.

PRE_PROCESSOR_HOOKPOINT_KEY

Sets the Hookpoint key to be called in the pre-process. Is invoked with the prefix FILE_PROCESSOR_.

POST_PROCESSOR_HOOKPOINT_KEY

Sets the Hookpoint key to be called in the post-process. Is invoked with the prefix FILE_PROCESSOR_.

XML_FILE_NAME_COLUMN_NAME

The value of FILE_NAME_COLUMN

This column can be used to generate both a flat file and also an Xml file for the same source record. The value of XML_FILE_NAME_COLUMN must be the should be the name of the column from the Source table where the generated XML filename will be saved to. The FILENAME column of Source table will be used to save the filename, if this If CDR_FILE_DEF.XML_FILE_NAME_COLUMN_NAMEis empty, the FILENAME column of Source table will be used to save the filename.

If both a flat file and , an XML file and a JSON file should be generated on the same source record:

  • FILENAME column of Source table will be used to save the filename of the flat file
  • The source table column name configured in XML_FILE_NAME_COLUMN of CDR_FILE_DEF record will be used to save the XML file name.

    Then define 3 different CDR_FILE_DEF entries, each with proper column name set in the FILE_NAME_COLUMN_NAME. For example:

    • First CDR_FILE_DEF entry for flat file generation: CDR_FILE_DEF.FILE_NAME_COLUMN_NAMEis empty. So the generated flat file name will be saved to FILENAME column of Source table
    • Second CDR_FILE_DEF entry for XML file generation: CDR_FILE_DEF.FILE_NAME_COLUMN_NAME= XML_FILE_NAME. So the generated XML file name will be saved to XML_FILE_NAME column of Source table
    • Third CDR_FILE_DEF entry for JSON file generation: CDR_FILE_DEF.FILE_NAME_COLUMN_NAME= JSON_FILE_NAME. So the generated JSON file name will be saved to JSON_FILE_NAME column of Source table

    3.1.2 CDR Record Definition (CDR_RECORD_DEF)

    ...