POSTILION Configuration Syntax

The POSTILION Configuration is used with the Prognosis for Payments monitoring of ACI Postilion.

Application Manager Syntax

SUBSYS POSTILION

SQLSERVER (<sql_server_instance>)
DBSERVER (<server_address>)
DATABASE (<database_name>)
SECURITYNAME (<security_name>)

Syntax Elements

SQLSERVER

<sql_server_instance>

Name of the SQL server instance as it appears in the performance registry. For the default SQL instance, this will be ‘SQLServer’, or for a non-default instance this is specified in the form MSSQL$<instance-name>. This entry is not used to connect to the database, but is used in performance registry monitoring.

DBSERVER

<server_address>

Name or address of the SQL server instance where the Postilion database is hosted. For the default SQL instance, it is normally ‘127.0.0.1’ or ‘localhost’. Where a non-default instance is used, it is specified in the form <server-name>\<sql-instance-name>, e.g. localhost\sql2012. This entry is used by Prognosis to connect to the Postilion database.

DATABASE

<database_name>

Name of the database being used by the Postilion application. This is usually 'postilion' for version 4 or 'realtime' for version 5.

SECURITYNAME

<security_name>

Password Entry Name, as configured in the PASSWORDS Configuration for Postilion, that has read only access to the Postilion database. The default is ADIPOSTILIONRTDB.

Transaction Manager Syntax

SUBSYS POSTILION

TRANSACTION SOURCE (<source-name>, <location>, <source_type>, <exe-name>[, <custom-key-definition>][, <custom-params>])
TCPIP PORT (<port-number>[, <server-proc-name>])
MAP RECORD (<source-name>, <record-name>[, <filter>])
ENABLE KEY (<record-name>, <key>[, <where-clause>][, <logical-key-name>])
AMOUNT RANGE (<record-name>, <range-type>, <range-delimiter>[, <range delimiter>][, <range-delimiter>...] )
BIN LENGTH (<record-name>, <bin-length>)
USER FIELD (<source-name>, <user-field>,"TOKEN (<token-id>, STRING(<offset>,<len>))")
MAP FIELD (<source-name>, <dest-record-name>, <key-field>, <record-field>)
MAP MESSAGE (<source-name>, <method>, <source-field>, <destination-field>, <mapping-file>)
RESPONSE FIELD (<source-name>, <response-code-field>)
RESPONSE CODES (<source-name>, <response-type>, <response-code>[, <response-code> ...])
SSF-AGENT-ADDR ([<ip-addr>:]<port>)

Syntax Elements

TRANSACTION SOURCE
Used to configure a new Transaction Log Reader (TLR). Multiple Transaction Source statements are allowed within a configuration with each one representing a single TLR. Each statement is identified by a unique <source-name>. If no Transaction Source entries are specified in the configuration then no data will be provided by the collector.

The commas in this statement must be retained as placeholders if any intermediate optional parameters are excluded, e.g. Transaction Source (name, location, type, exe-name , , params).
However, if optional parameters starting from the end of the string are excluded then the preceding comma may be omitted, e.g. Transaction Source (name, location, type, exe-name).

<source-name>

A unique user-defined name for this Transaction Log Reader.

<location>

Location of the Postilion transaction source. This varies based on the ROLE of the transaction source:

  • For the PRIMARY ROLE, it is the location of the scribe running on the Realtime server, specified in the format [<ip-address>:]<scribe-port>.

  • For the SECONDARY ROLE, it is the port to listen on for forwarded transactions from the PRIMARY source and is specified in the form <port-number>.

Also see the following <custom-params> item.

<source-type>

Type of transaction source.

For Postilion transaction sources, this should be set to 'Other'.

<exe-name>

Executable name of the Transaction Log Reader.

For Postilion, this is 'irpostlr'.

<custom-key-definition>

Name of the record definition used for the custom keys for this Transaction Log Reader (TLR).

For Postilion, this is 'PostilionTransactionCustomKey'.

<custom-params>


Used to define any optional custom parameters. These are entered in the form <token>=<value> separated by commas.

For Postilion, the custom parameters available include the following:

ROLE (Mandatory)

Required as only one Transaction Log Reader can be connected to the Postilion Realtime server at a time. Multiple readers are required when all transaction monitoring modules are enabled.

ROLE={PRIMARY|SECONDARY}

PRIMARY         - Denotes a primary transaction source that will connect to the transaction scribe running on the Postilion Realtime server.

SECONDARY  - Denotes a secondary transaction source that will receive transactions from another data source (usually a PRIMARY).

FORWARD-TO

FORWARD-TO=[<ip-address>:]<port-number>

<ip-address>     - IP address of the SECONDARY reader to forward the transaction to.

<port-number>  - Port number of the SECONDARY reader to forward the transaction to. The port number to be used is configured as the <location> for that SECONDARY reader.

TCPIP PORT

<port-number>

(Mandatory) Port number on which the Transaction Manager collector should listen for incoming connections from log readers. The collector requires exclusive use of this port.

If the specified <port-number> is in use, the collector will attempt to use the next available port number, starting from the one specified. It will keep trying for up to 20 port numbers until it finds one available. A warning will be logged to wvlog if the collector eventually uses a port number other than the one specified.

MAP RECORD

The Map Record statement specifies a particular Transaction Source that will populate a given record. Multiple Transaction Sources can populate a single record and/or a single Transaction Source can populate multiple records.

Multiple Map Record statements are allowed within a configuration and there must be at least one Map Record statement for every Transaction Source statement.

<source-name>

Name of the Transaction Source to be mapped.

<record-name>

Identifies the record to which the Transaction Log Reader (TLR) transactions should be mapped. It is possible to define multiple record mappings for the same TLR.

<filter>

One of ATM, POS, Other or *.

When specified as ATM, POS or Other, only those transaction types will be mapped to the destination record. When specified as *, all transactions from <source-name> will be mapped to the <record-name> record.

Example:

MAP RECORD (Logger1, PostilionAtmTransactionSummary, ATM)

ENABLE KEY

The Enable Key statement specifies that a new Key be enabled for a given record. Multiple Enable Key statements are allowed (and expected) for a given record. Multiple Enable Key statements are even allowed for the same <key>, provided that a unique <logical-key-name> is provided. At least one Enable Key statement must be specified for each record mentioned in a MAP RECORD

<record-name>

Name of the Prognosis record for which the key is to be enabled, e.g. PostilionAtmTransactionSummary.

<key>

Key or Keys to enable. This is a combination of Key fields for which a separate set of statistics is to be maintained.

The Keys are entered in the form, <key-field>[+<key-field> [+<key-field> …]].

For example:

TERMID+TYPE+RESPCODE.

For a list of applicable Key fields, see the Standard Transaction Key Fields.

<where-clause>

Optional Where Clause which is used to filter the collected data. Only transactions matching this Where Clause will be accumulated for this Key, e.g. ATM=DEPOSITS. See Where Clauses for details about Where Clause functionality.

The Where Clause statement must be enclosed in single quotes if it contains any quoted strings, e.g. 'RESPCODE = "400"'

<logical-key-name>

Optional unique name for the Enabled Key. When added, this is used as the associate name in the Data View Definition dialog box when creating a Display, Database etc. By adding a logical key name, it allows easier input into the Data View Definition, i.e. it is only necessary to enter the logical key name instead of the full set of key and/or where clause parameters. Normally this is only used in combination with a <where-clause> parameter, however it can be used with any Enable Key statement. Where <key> is specified for the same record more than once, a logical key name has to be used to make the entry unique.

Refer to Adding Transaction Key Fields for additional tips when adding Key fields.

Example:

Enable Key (PostilionPosTransactionSummary, ISSRINST+RESPCODE, 'RESPCODE IN {"00","08","10","11","16","32","46","47"}', Issuer_Approvals)

AMOUNT RANGE

(Optional) Defines a set of amount ranges that can be used to categorize transaction data. If not specified, the associated Amount Range fields will not be populated.

<record-name>

Record for which the range is to be set.

<range-type>

Amount field that this range will apply to, one of: Total, Cash or NonCash.

<range-delimiter>

This defines a specific amount range for which separate statistics will be kept. Successive <range-delimiter> fields must increase in number. For example, Amount Range ( PostilionPosTransactionSummary, Total, 100, 200, 300, 400 ) will create 5 distinct amount ranges (0-100, 100-200, 200-300, 300-400, 400+) for which separate statistics will be maintained when the associated key is enabled.

Example:

AMOUNT RANGE (PostilionPosTransactionSummary, Total, 100, 200, 300, 400)

BIN LENGTH

Specifies the BIN (Bank Institution Number) length to be used for the specified record. Defaults to 6 if not specified.

<record-name>

Record for which the BIN length is to be set.

<bin-length>

The number of leading characters from the Primary Account Number (PAN) to treat as the BIN.

Example:

BIN LENGTH (PostilionAtmTransactionSummary, 4)

USER FIELD

When standard or custom Key fields are unsuitable to gather the required data, User-defined Key fields can be used to specify a location within the transaction log from which data can be obtained and populated into one of the User fields (FLD<n>) in the Standard Transaction Key Fields. If not specified for a particular Transaction Source the corresponding User fields will be filled with spaces.

<source-name>Enter an asterisk (*) to represent the Transaction Sources as defined in the 'Transaction Source' statement of the POSTILION Configuration. Alternatively, a single Transaction Source name from the Configuration can be entered.
<user-field>User defined field short name e.g. FLD1
<token-id>Postilion field token identifier e.g. 041 = terminal or 043 = address.
STRINGPostilion data is all ASCII therefore only 'STRING' token types are supported.
<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.
<len>Specifies the length of data to extract from the selected token. Zero (0) value means to extract from <offset> to end of token value.

Example:

! FIID
USER FIELD (Test1, FLD1, "TOKEN (043, STRING(0,4))")

! Issuer Network ID
USER FIELD (Test1, FLD2, "TOKEN (127.031, STRING(0,11))")

MAP FIELD

This statement is not normally required for Postilion users as Key field mapping is automatic.

Specifies the mapping of a field from a standard or custom Key field passed up by the Transaction Log Reader to a Key field in the record. Map Field statements can only be specified for <source-name>, <record-name> combinations already referenced in the Map Record statements. By default, fields in the standard or custom Key will be automatically mapped to fields of the same name in the record. Postilion Transaction Sources do not require any field mapping when mapped to the Postilion TransactionSummary records.

<source-name>

Name of the Transaction Source from which the field is to be mapped.

<record-name>

Name of the TransactionSummary record that the field is to be mapped to.

<key-field>

Name of the field in the Transaction Log Reader (TLR) message that is to be mapped. <key-field> can be either a field in the standard transaction Key or a custom Key field for the TLR. For a list of Key fields, refer to Key Fields.

<record-field>

This is a field within the specified <record-name> to be filled with the contents of <key-field>.

MAP MESSAGE

Provide 1 or more message mapping functions to the Transaction Log Reader.

<source-name>

Name of the Transaction Source from which the field is to be mapped.

If there are many TRANSACTION SOURCEs in the Configuration and they all use the same source field and method, then it is possible to use a wildcard symbol, (asterisk), to denote every TRANSACTION SOURCE simultaneously. This is equivalent to writing the same MAP MESSAGE line for every TRANSACTION SOURCE.

A limitation of this syntax is that the <source field> must be contained in the Standard Transaction Key record only.

<method>

Selects the mechanism for populating the destination field.  The available values for the method are:

MAP - Looks up the destination name from a dictionary file, using the source field as the index

RANGE -  Looks up the destination name from a file where each destination name is keyed off a range of values instead of just a single index

<source-field>

This the name of the field being used in each of the method descriptions above.  It must be explicitly one of the named fields in the 'Standard Transaction Key' record or one of the fields in the Custom Key record named in the Transaction Source definition.

It may be the case that the value of the source field doesn't correspond to any key, or any range, defined for the MAP and RANGE methods respectively.  If this is the case, and there is no other Message Mapping rule, then the destination field will be empty, or have it's prior value. To address this, multiple Message Mapping rules are allowed per TRANSACTION SOURCE. The rules are applied successively, meaning that the last rule to apply to a record is the one that is used.

<destination-field>This the name of the field being populated by MAP MESSAGE function. The destination field may be any field contained in the Standard Transaction Key Fields record.
<mapping-file>

This is the name of the CSV file containing either the MAP or RANGE values for the lookup processing. This file is located in the Prognosis Configuration folder.

The format for this file is detailed in Populate the Mapping CSV Files

Example:

MAP MESSAGE (TXNSRC1, MAP, FLD1, MRCHNAME, MerchNameMap.csv)
MAP MESSAGE (*, RANGE, TERMID, MRCHNAME, TermMerchRanges.csv)

RESPONSE FIELD

Used to specify the name of the field that collects the transaction response codes, normally this will be 'RespCode'. However, this can vary for different ATM/POS transaction log solutions.

The purpose of this statement is related to the following Response Codes statement and a Response Field statement must be specified for each record referenced in a Response Codes statement.

<source-name>

Name of the Transaction Source containing the response code.

<response-code-field>

Name of the field to be used for response codes. For Postilion, this is 'RespCode'.

Example:

See Response Codes statement below

RESPONSE CODES

Overrides the default treatment of the 'Approved', 'Denied' and 'TimedOut' response codes from a Transaction Source. This allows for an otherwise failed response code to be treated as a success. If not specified for a Transaction Source the <response-type> will be as provided by the Transaction Log reader.

<source-name>

Name of the Transaction Source for which this Response Code is to be defined.

<response-type>

One of: Approved, Denied, TimedOut.

<response-code>

Response code that will now be treated as the specified <response-type>. This overrides the default definition for this <response-code>.

Example:

RESPONSE FIELD (<Logger1>, <RESPCODE>)
RESPONSE CODES (<Logger1>, Approved, 150, 151)

The use of both the Response Field and Response Codes statements in the above example will cause response codes 150 and 151 to be treated as 'Approved', whereas normally they would be treated as 'Denied'.

SSF-AGENT-ADDR

This statement is used to configure a TCP/IP connection to the Prognosis Self Service Framework (SSF) Agent in order to run Postilion ATM commands from Prognosis requesters.

The <ip-addr> parameter is optional, if excluded the default is 'localhost' (127.0.0.1). When excluding the IP address also omit the separating colon (:), enter the port number only.

Provide feedback on this article