User-defined Fields for BASE24
-New-
Increased the number of User Fields from 20 to 60
User-defined fields can be created in Transaction Surveillance by adding the FLD parameter to the TRANSACTION-LOG-LOCATION section of the IRTSVCOL ini file. When created these fields will be populated in both the TransactionDetail (TRANDET) and TransactionException (TRANXCPT) records. When populated in the Transaction Detail record, the field can also be added to the Where Clauses used in creating exception rules. The syntax of the configuration is as follows.
BASE24
FLD<n> = <field-type>(<offset>[, <length>]) FLD<n> = TOKEN ("<Id>", <field-type>(<offset>, <length>))
Where:
FLD<n>
<n> is the user field number to be populated, maximum 60 for BASE24 (FLD1 thru FLD60).
Memory utilization in the transaction collectors is likely to increase in 11.8 due to the additional user fields. It may be necessary to increase the MEM-SIZE allocated to these collectors (in PROGNOSIS Configuration) and/or review the current collector configuration to ensure the optimal use of memory. For optimizing memory usage in the Transaction Surveillance collector, refer to TRANSACTION-DETAILS Section Syntax. For optimizing memory usage in the Transaction summary collector, refer to Minimizing Memory Usage in the Collector.
<field-type>
This can be {STRING | INT | INT32 | INT64 | DATETIME}
STRING - Specifies the data to be extracted in printable string format: non-printable characters (i.e. < %h20 | > %h7f) are converted to printable "." characters).
INT - Specifies the data to be extracted as a TAL INT (2 bytes). The data will be placed in the target user field as a string of 5 printable, decimal digits. The <offset> field is applicable for use with this parameter and will be rounded to an even value if specified as odd. If not specified the default is 0. The <length> field is not applicable for use with this parameter.
INT32 - Specifies the data to be extracted as a TAL INT(32) (4 bytes). The data will be placed in the target user field as a string of 10 printable, decimal digits. The <offset> field is applicable for use with this parameter and will be rounded to a four-byte value if not evenly divisible by four. If not specified the default is 0. The <length> field is not applicable for use with this parameter.
INT64 -Patch- - Specifies the data to be extracted as a 64-bit integer (8 bytes). The data will be placed in the target user field as a string of 16 printable, decimal digits. The <offset> field is applicable for use with this parameter and will be rounded to an eight-byte value if not evenly divisible by eight. If not specified the default is 0. The <length> field is not applicable for use with this parameter.
DATETIME -Patch- - Specifies the data to be extracted as a 64-bit integer (8 bytes) timestamp in GMT. The timestamp will be converted to LCT and placed in the target user field as a string in the following format YYYYMMDD-HH:MM:SS.ssssss.
Due to the potential length of the output, these field types may require the use of longer user fields. DATETIME use Field51-60, and INT64 use Field1-10 or Field41-50.
<offset>
This is the offset of the data within the specified structure. For fixed fields, it is the offset from the start of the log record. For token fields, it is the offset from the start of the specified token.
<length>
This is the length of the data to be copied from the specified structure.
TOKEN
The TOKEN syntax is used to map user defined fields to tokens in the TLF:
<Id>
This is a two character BASE24 token Id, e.g. 08 = Customer name token, B1 = Switch token - issuer. The full set of BASE24 token codes can be found in the ACI BASE24 Tokens manual.
Examples:
'Phone Top-up' transactions may be logged to a token in the TLF. By using a 'User defined field' to read this token, rules can then monitor 'Phone Top-up' transactions and capture any exceptions.
FLD1 = STRING(18,19) FLD2 = TOKEN("03",STRING(0,6)) FLD3 = TOKEN("24",INT(0))
BASE24-eps
For BASE24-eps Log Readers the syntax is as follows:
FLD<n> = TOKEN( <token-id>, <field-type> ( <offset> [, <length>] ))
Where:
FLD<n>
<n> is the user field number to be populated, maximum 60 for BASE24-eps (FLD1 thru FLD60).
TOKEN
<token-id>
The Id of the token to be extracted. For BASE4-eps it should be the TDE Id.
<field-type>
This can be {STRING | INT | INT32 | INT64 | HEX}
STRING - Specifies the data to be extracted in printable string format: non-printable characters (i.e. < %h20 | > %h7f) are converted to printable "." characters).
INT - Specifies the data to be extracted as a 16-bit integer (2 bytes). The data will be placed in the target user field as a string of 5 printable, decimal digits. The <offset> field is applicable for use with this parameter and will be rounded to an even value if specified as odd. If not specified the default is 0. The <length> field is not applicable for use with this parameter.
INT32 - Specifies the data to be extracted as a 32-bit integer (4 bytes). The data will be placed in the target user field as a string of 10 printable, decimal digits. The <offset> field is applicable for use with this parameter and will be rounded to a four-byte value if not evenly divisible by four If not specified the default is 0. The <length> field is not applicable for use with this parameter.
INT64 - Specifies the data to be extracted as a 64-bit integer (8 bytes). The data will be placed in the target user field as a string of 16 printable, decimal digits. The <offset> field is applicable for use with this parameter and will be rounded to an eight-byte value if not evenly divisible by eight. If not specified the default is 0. The <length> field is not applicable for use with this parameter.
HEX - Specifies the data to be extracted verbatim in hexadecimal printable string format, two printable characters for each selected byte.
<offset>
This is the offset in bytes into the selected token from which to start extracting data. The offset cannot exceed the length of the selected token. Valid values are in the range 0 - <max-size-of-the-selected-token> in bytes.
<length>
Specifies the length of data to extract from the selected token. The length cannot exceed the length of the selected token and the maximum formatted output cannot exceed the length of the specified user field. Only valid for STRING and HEX field types. For other types, length is implied and should be omitted.
Examples:
FLD1 = TOKEN (2109, STRING(51,4)) FLD2 = TOKEN (2101, INT32(8)) FLD3 = TOKEN (2109, HEX(51,4))