0% found this document useful (0 votes)
1K views86 pages

Application Program Interfaces

Application Program Interfaces

Uploaded by

talkam27061981
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
1K views86 pages

Application Program Interfaces

Application Program Interfaces

Uploaded by

talkam27061981
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
  • Application Customisation
  • Introduction
  • OVERRIDE.CLASS.DETAILS
  • EB.API
  • BATCH CONTROL
  • System Management Customisation
  • Reporting / Enquiry Customisation
  • REPGEN.CREATE
  • RE.STAT.REQUEST
  • PRINTER.ID
  • Delivery System
  • DE.MESSAGE
  • Interfaces - Local Clearing
  • BANK.RETURN.PARAMS
  • LIMIT.REFERENCE
  • Company Customisation
  • ACCOUNT.PARAMETER

TEMENOS T24

Application Program Interfaces

User Guide

Information in this document is subject to change without notice.


No part of this document may be reproduced or transmitted in any form or by any means,
electronic or mechanical, for any purpose, without the express written permission of TEMENOS Holdings NV.
Copyright 2005 TEMENOS Holdings NV. All rights reserved.

Application Program Interfaces

Table of Contents
Introduction.............................................................................................................................................. 4
Application Overview ........................................................................................................................... 4
Application Customisation ................................................................................................................... 4
Introduction....................................................................................................................................... 4
[Link]........................................................................................................ 11
[Link] ............................................................................................................................................ 14
[Link]......................................................................................................................... 18
System Management Customisation ................................................................................................. 18
Introduction..................................................................................................................................... 18
SPF................................................................................................................................................. 18
Reporting / Enquiry Customisation .................................................................................................... 19
Introduction..................................................................................................................................... 19
ENQUIRY ....................................................................................................................................... 19
Standard Selection ......................................................................................................................... 22
[Link]......................................................................................................................... 25
[Link]...................................................................................................................... 28
[Link]................................................................................................................... 29
[Link] ................................................................................................................................... 30
Delivery System ................................................................................................................................. 31
Introduction..................................................................................................................................... 31
[Link] ...................................................................................................................... 31
[Link].................................................................................................................................... 33
[Link] ...................................................................................................................... 34
[Link]................................................................................................................................. 35
[Link] ................................................................................................................................. 36
[Link] ............................................................................................................................. 37
[Link]................................................................................................................................ 39
[Link] ....................................................................................................... 40
[Link] ................................................................................................................................. 52
[Link] ................................................................................................................................ 53
Interfaces Local Clearing ................................................................................................................ 53
Introduction..................................................................................................................................... 53
[Link]...................................................................................................................... 54
[Link] ........................................................................................................................ 64
[Link] ....................................................................................................................... 71
Local Statutory Reporting .................................................................................................................. 73

TEMENOS T24 User Guide

Page 2 of 86

Application Program Interfaces

Introduction..................................................................................................................................... 73
[Link] ............................................................................................................. 73
Takeover / Installation Customisation................................................................................................ 74
Introduction..................................................................................................................................... 74
[Link]............................................................................................................... 74
[Link].................................................................................................................. 75
[Link] .................................................................................................................. 77
Limits.................................................................................................................................................. 79
Introduction..................................................................................................................................... 79
[Link] ....................................................................................................................... 79
Company Customisation.................................................................................................................... 83
Introduction..................................................................................................................................... 83
Company ........................................................................................................................................ 83
[Link] .............................................................................................................. 85

TEMENOS T24 User Guide

Page 3 of 86

Application Program Interfaces

Introduction
Application Overview
This chapter describes the available options for developers who wish to enhance the operation of the
current T24 system, where there are insufficient options provided by the Standard T24 utilities. Within
specific applications the system allows jBase subroutines (or jBase commands in some cases) to be
defined, which will then be invoked when running the applications. This provides a powerful tool to
allow customisation of T24 to meet regional or customer specific requirements.

All programs written should follow the programming standards, documented in the Programming
Standards section of this manual.

This chapter has been divided into the following areas of the system:

Application Customisation

System Management Customisation

Reporting Enquiry Customisation

Delivery System

Interface Local Clearing

Local Statutory Reporting

Takeover Installation Customisation

Limits

Company Customisation

Application Customisation
Introduction
This section is concerned with the options available in customising the operation and content of T24
applications.

VERSION
The VERSION application allows user defined subroutines to be specified in the following fields:

[Link]
[Link]
[Link]
[Link]

TEMENOS T24 User Guide

Page 4 of 86

Application Program Interfaces

[Link]
This field would normally be used to automatically enter a value into a field specified in the associated
[Link], when a record is read using the I,C,H or V functions. The automatic contents are
only used if the existing content of the field matches that defined in the associated
[Link].

This field may also contain a sub-routine used to perform conditional defaulting, which cannot be
defined in Version, or defaulting from related files.

Format:

@subroutine name
Subroutine name must be defined in [Link] as a type S application. The field
[Link] contains the application(s) allowed to use the subroutine.

Invoked:

From [Link] with FUNCTIONS I,C,H,V

Arguments:

None

Details:

Any subroutine defined in this field will be called from [Link]. At this point
the record has been read and is contained in [Link]. This subroutine should modify
the contents of [Link] as required.

Note that this routine will always be invoked where defined and the contents defined in the field
[Link] are not checked. Any conditional defaulting should be contained in the subroutine
coding.

TEMENOS T24 User Guide

Page 5 of 86

Application Program Interfaces

Example:
The following example demonstrates a routine, which will automatically default the CUSTOMER
[Link] into the field [Link] on the file [Link].

[Link] definition:

Figure 1 - [Link] input

Figure 2 - Adding routine to version

TEMENOS T24 User Guide

Page 6 of 86

Application Program Interfaces

Program

Figure 3 - Details of subroutine

[Link]
This field, together with [Link], allows definitions of subroutines to be executed when
validating the contents of fields within an application. A routine defined here would normally be used to
perform specific validation or to default the contents of fields according to local requirements.

Format:

subroutine name
Subroutine name must be defined with an associated [Link]. This may
contain a field name, together with optional multi-value number and sub-value
number.

Invoked:

At Field Input validation time, immediately after the call to IN2xx as defined in the T
parameters for the application, and before any validation in the section
[Link] is executed. Also at Cross-Validation time, before the
[Link] section of the application is executed. The subroutine will be
invoked from the program [Link].

Arguments:

None

TEMENOS T24 User Guide

Page 7 of 86

Application Program Interfaces

Details:
Routines defined here have the standard system variables available for checking. The following
variables should be used when performing checks/defaults:

COMI
Contains the contents of specified [Link]. This variable should be used when
defaulting/checking values for the specified [Link], not [Link](AF), as this does not
contain the value at this point.

[Link]
This should contain the enrichment for the contents of COMI.

DISPLAY
Contains the formatted version of COMI for display purposes.

ETEXT
Contains any error message generated from the subroutine. This field should be populated when an
error is found.

MESSAGE
This variable can be used to determine whether the system is performing field level checks or cross
validation. At cross-validation time, it will contain the value VAL; on-line it will be null.

Example:
The following example shows an example of defaulting the CUSTOMER name based on the following
rules:

If local reference field [Link] (value #3 in the [Link] field) = A

Mandatory Input
If local reference field [Link] (value #3 in [Link]) = B

Default [Link] = CUSTOMER TYPE B


If local reference field [Link] (value #3 in [Link]) = C

[Link] not allowed


If local reference field [Link] (value #3 in [Link]) =

[Link] = C

TEMENOS T24 User Guide

Page 8 of 86

Application Program Interfaces

At cross validation default, the value [Link] in the field [Link] of


[Link] is present

On the version the following is specified:

Figure 4 - Version input

Figure 5 - Subroutine details

TEMENOS T24 User Guide

Page 9 of 86

Application Program Interfaces

[Link]
A subroutine may be executed at the unauthorised stage of transaction processing, as the final stage
before updating unauthorised files. Multiple routines may be defined by expanding the multi-values.

Routines called at this stage may be used to update local files, or to provide additional checking or
override processing. At this point of the transaction, all standard default and validation processing will
have taken place.

Format:

subroutine name
Subroutine name must be defined.

Invoked:

From [Link]. This routine is called after [Link]


and [Link] subroutines within the standard template.

Arguments:

None

Validation should be processed in the same manner as standard cross-validation calling


[Link] when an error is encountered. The example below shows a local subroutine,
which checks that the [Link] in the application SECTOR is fully alpha. If it is, the routine
[Link] is invoked.

Figure 6 - Subroutine details


Override messages should be generated using the standard [Link] processing. If NO,
is replied no further processing should continue.

Updates to files must use the standard [Link], [Link] and [Link] routines to ensure
data base integrity.

NOTE: At this point file updates may have occurred, although not written to disk, since accounting will
have been performed.

TEMENOS T24 User Guide

Page 10 of 86

Application Program Interfaces

[Link]
A subroutine may be executed at the authorised stage of transaction processing, as the final stage
before updating authorised files. Multiple routines may be defined by expanding the multi-values.

Routines called at this stage may be used to update local files. No checking or override processing
should be performed at this stage, as the system cannot process error conditions at this point.

Format:

subroutine name
Subroutine name must be defined.

Invoked:

From [Link]. This routine is called after [Link]


subroutines within the standard template.

Arguments:

None

A routine used at this stage will be typically used to provide updates to local files.

[Link]
[Link] allows a subroutine to be defined to manipulate an override message
so that the conditions defined in this table may be applied to it. For example, an overdraft message
could be converted into local currency for allocating an override class depending on the amount.

[Link]
This field is used to define a variable element of the override message, which may be used as the
basis for sub-classification. A routine may be defined to perform required extraction/conversion to the
elements of the override message.

Format:

@subroutine name(par1,....parn)
Subroutine name must be defined in [Link] as a type V application. Where
parameters are required, these must be defined in the [Link] record field
[Link] as .PAR(xx,xx...xx) where xx describes the validation rules to be
applied to the parameter. Where no parameters are required the parentheses are still
required.

Invoked:

From [Link]

Arguments:

[Link], [Link], [Link]


Where:
[Link] contains the override message as defined in [Link] e.g.
ACCOUNT and -UNAUTHORISED OVERDRAFT
[Link] contains [Link] plus the variable values
[Link] contains the parameter definition in the field [Link]

TEMENOS T24 User Guide

Page 11 of 86

Application Program Interfaces

Details:

Any subroutine defined here must return details in both [Link] and [Link]. The
variable elements in the [Link] can be converted to a required value, for example
converting foreign amounts to a local currency for checking.

The [Link] value can be used to return a derived value for the specified element.

Example:
The following screenshot example shows a routine used to give a different override class depending
on the amount of overdraft.

Figure 7 [Link] record

TEMENOS T24 User Guide

Page 12 of 86

Application Program Interfaces

Figure 8 [Link] record for relevant subroutine

Program [Link]

Figure 9 - Subroutine details

TEMENOS T24 User Guide

Page 13 of 86

Application Program Interfaces

[Link]
After the subroutine has been written, it needs to specify in [Link] application
FIELDS

DESCRIPTION

ID

Specify the name of the BASIC subroutine

Description

Subroutine description

Protection Level

Specify the security protection level

Source Type

Select BASIC

Program (ID)
For on-line applications the key to this record must be the same as the program to be run.

Format:

Subroutine name
Subroutine name is the name of the application, which can be invoked. The field
TYPE indicates the application type to be executed. For on-line use this may
H,U,L,T,W or M.

Invoked:

From [Link]

Arguments:

None

Details:
Any application of types H,U,L,T or W are used to maintain a file and must conform to the standard
TEMPLATE application type. See the section Template Programming for details.

Type M routines are used to execute a specific main line program where there is no standard file
maintenance required, for example a conversion program, or program to print a report. Where a
history is required of a program being run, a type W program should be used. See the section
Template Programming for details.

When a type M program is written, it must contain a SUBROUTINE statement at the start in order to
return to T24 once executed. See the Programming Standards section for details of commands, which
must not be used.

TEMENOS T24 User Guide

Page 14 of 86

Application Program Interfaces

Example:
The parameter file [Link] contains local reporting codes for Belgium and Luxembourg
reporting. This is a type U routine (i.e. it does not maintain a history file).

Figure 10 [Link] record for [Link]


The type M program [Link] allows an operator to list the active system locks.

Figure 11 [Link] record for [Link]

TEMENOS T24 User Guide

Page 15 of 86

Application Program Interfaces

Program

Figure 12 Subroutine details

[Link]
This field is used to define the names of subroutines or jBase commands which may be executed from
the T24 [Link] process. To be executed during the end of day the [Link] must be
defined on a BATCH record.

Format:

@Subroutine name or jBase Command


Subroutine name is the name of the application, which can be invoked.
jBase Command the name of the item defined in the local VOC file to be executed.
This is a multi-valued field, and several subroutines and or commands may be
executed sequentially.

Invoked:

From [Link]

Arguments:

None.

Details:
A subroutine may be written to perform specific end of day processing. This may have a variety of
functions, such as maintenance of local files/applications, production of reports, interface file
production etc. See the Programming Standards section for rules when writing end of day programs.

A jBase command or paragraph can also be executed from this option. Any item recognised in the
VOC file of the correct type may be executed.

TEMENOS T24 User Guide

Page 16 of 86

Application Program Interfaces

Example:
Example of UniVerse list command to produce a report on the JOURNAL file.

Figure 13 [Link] record for [Link]

Figure 14 - Example of paragraph [Link]

TEMENOS T24 User Guide

Page 17 of 86

Application Program Interfaces

[Link]
API calls like subroutine, script, crystal report or enquiry can be run at the pre batch stage. Multiple
calls may be defined by expanding the multi-values.

Format:

Subroutine
It
has
SPT
It

has

to

to

be

defined

Script
defined

be

in

name
VOC

in

Name
[Link]

RPT
Report
Name
It has to be defined in [Link] and it has to be a crystal report.
ENQ
It

has

to

be

Enquiry
defined

in

Name
[Link]

This is a multi-valued field and several API calls may be executed sequentially.
Invoked:

From [Link]. This routine is called just before control passes to the
batch menu.

Arguments:

None.

Details:

Error messages are passed back in ETEXT.

System Management Customisation


Introduction
This section contains details of options available to users for customisation of system management.
This includes the ability to be able to define commands (or executable programs) to perform system
backups as part of the end of day process.

SPF
The SPF file allows definition of the command(s) used to perform the system backup and restore at
end of day.

UNIX BACKUP and UNIX RESTORE


These fields allow definition of the UNIX backup and restore commands to be executed when the end
of day process is run.

Format:

UNIX command name


UNIX command name may contain any UNIX command(s) to be executed. May also
contain a shell script.

Invoked:

From [Link] and [Link]

Arguments:

None.

TEMENOS T24 User Guide

Page 18 of 86

Application Program Interfaces

Details:
Complex series of instructions may be specified in a UNIX shell script.

For further details see the Backup, Restore and Recovery chapter in the System Administration Guide
and the Helptext on SPF.

Reporting / Enquiry Customisation


Introduction
The T24 utilities REPGEN and ENQUIRY provide several APIs for users who wish to perform
operations on data outside the delivered functionality. T24 also provides options for users to redirect
output from reports or microfiches, which could include definition of their own subroutines.

ENQUIRY
The ENQUIRY application provides three main areas where local routines may be added to provide
additional functionality. These are:

Selection of data where criteria cannot be easily specified within the existing application (this will
be covered under [Link]).

CONVERSION routines to manipulate/enhance data to required format.

[Link] to build initial data to base enquiry.

Conversion
Local conversion routines may be written to manipulate extracted data.

Format:

@ subroutine name
Subroutine name is the name of the jBase subroutine to be executed. Note the
required space between @ and the name.

Invoked:

From [Link] for each item the conversion is associated with

Arguments:

None

TEMENOS T24 User Guide

Page 19 of 86

Application Program Interfaces

Details:
The enquiry system has its own common area I_ENQUIRY.COMMON, which must be inserted at the
start of all conversion routines. This allows access to the variables controlling the enquiry processing.
See the insert in [Link] for details of all the variables passed in this common.

The following variables are the most likely ones to be required when writing a conversion routine:

ID

- Current id of the record being processed

[Link]

- The current record being processed

[Link]

- The current incoming data being processed. This is also the returned data.

VC

- The current multi-value number being processed

- The current sub-value number

[Link]

- The maximum number of multi-values within the current record

[Link]

- The maximum number of sub-values within the current record

Example:
The following example shows a routine, which displays either the actual maturity date of an LD/MM
deal, or displays the number of day's notice:

Figure 15 - Subroutine details

TEMENOS T24 User Guide

Page 20 of 86

Application Program Interfaces

[Link]
A routine may be called prior to the selection phase of the enquiry when running the enquiry. This
routine should be used to manipulate the data prior to selection, for instance it could be used to build a
work file.

Subroutine name

Format:

Subroutine name is the name of the jBase subroutine to be executed. More than one
routine may be specified.
Invoked:

From [Link] and [Link]

Arguments:

ENQUIRY
Where ENQ is a dynamic array containing the entered selection criteria as follows:
ENQ<1>

Name of enquiry

ENQ<2,x>

Selection field names

ENQ<3,x>

Associated Operands

ENQ<4,x,y>

Data List

Details:
The data passed in ENQ should be used within the subroutine to determine the action to be taken.
Data is not required to return to the enquiry system.

External Link to Enquiries


The enquiry system is not dependent on being invoked by the selection screen ENQUIRY. It can be
invoked from applications (providing they are running under T24) using the following argument syntax:

CALL [Link] (QQQ)

Where QQQ is a dynamic array with the format:

QQQ<1>

Enquiry name (key to [Link])

QQQ<2,x>

Selection field names

QQQ<3,x>

Associated selection operands

QQQ<4,x,y>

Associated selection data

QQQ<9,z>

Multi valued list of sort requirements

QQQ<10>

Display mode can be:


OUTPUT - Print in report format
Null - Display to screen
P - Print of screen format

TEMENOS T24 User Guide

Page 21 of 86

Application Program Interfaces

Standard Selection
The [Link] application allows definition of local subroutines, which can be used as
selection items in the Enquiry system. These can be used within enquiry to perform selections of data
not possible through the existing system.

They can also be used to build virtual records containing data from different files; this can be achieved
using a NOFILE record type.

[Link] and [Link]


These fields are used to hold the routine name when the associated [Link] or [Link] is a
type R.

Format:

Subroutine name
Subroutine name is the name of the subroutine to be executed.

Invoked:

From [Link]

Arguments:

[Link]
Where [Link] is a dynamic array containing the selected keys to be returned to
the enquiry system, separated by field markers (@FM).

TEMENOS T24 User Guide

Page 22 of 86

Application Program Interfaces

Details:
The main purpose of using a routine at this point is to return a list of keys for the enquiry process to
use. Possible reasons for using a routine may be: the selection required might not be possible to be
entered directly into the enquiry system; require additional checks; or the selection may simply be too
slow and may require an alternative access method.

Since the routine will need to use the common enquiry variables, the insert I_ENQUIRY.COMMON
should always be inserted at the top of the subroutine. The main variables likely to be required are:

[Link]

- Contains a list of the Selection Field Names

[Link] <X>

- Contains a list of the associated operands entered


in numeric form. The following values are used:
1 EQ
2 RG
3 LT
4 GT
5 NE
6 LK
7 UL
8 LE
9 GE
10 NR
- Associated entered values

[Link] <X,Y>

The routine must perform the required processing to build the [Link]. Note that if this routine is
being used to pre-select data ready for a further selection within the enquiry system, if no records are
returned, the enquiry system will attempt to select the whole file. This may have performance
implications.

NOFILE Standard Selection Records


Where an enquiry is required to show data, which cannot be extracted, from a specific file, it may be
necessary to create a NOFILE [Link] record. As its name implies the
[Link] record does not describe an existing file. This standard selection item can
be used in ENQUIRY as a valid [Link].

Since there is no actual underlying file in the system, the selection must be performed by a routine,
described in the previous section. An additional CONVERSION routine will usually be required to build
[Link], the record used in the enquiry.

TEMENOS T24 User Guide

Page 23 of 86

Application Program Interfaces

For example an enquiry may be required which is driven from two files, A and B.

A NOFILE [Link] record will be created containing at least one field, used to
define the selection routine

The selection routine selects files A and B and returns a list of keys in the format filename*id

A conversion routine is written, so that given filename*id it will read the correct file, and build the
data into a common format in [Link]

The routine is attached to field 0 in the enquiry, so that as soon as field 0 is processed,
[Link] contains the expected layout with data extracted from the correct file.

TEMENOS T24 User Guide

Page 24 of 86

Application Program Interfaces

[Link]
The repgen utility allows use of subroutines in two areas:

MODIFICATION

[Link]

[Link]
Repgen allows a subroutine to be entered to perform a selection. The value SUB must be entered in
[Link] to indicate that this field contains a sub-routine definition.

Format:

Subroutine name
Subroutine name is the name of the subroutine to be executed. Only one subroutine
may be defined per read file. The subroutine name must be defined on [Link] file
as a type S application.

Invoked:

From RGS.... program generated.

Arguments:

FILENAME
Where FILENAME is the full filename to be selected.

Details:
The routine should perform the required selection of the FILENAME supplied and return an ACTIVE
select list to the RGS... program.

The [Link] record is available in [Link], and may contain specified values in the fields
CONSTANTS.

TEMENOS T24 User Guide

Page 25 of 86

Application Program Interfaces

Example:
The following routine selects CUSTOMER records with a specified account officer or customer number.
Account officer is specified in Value 1 of the field CONSTANTS, customer number is specified in Value
2.

Figure 16 - Subroutine details

Modification
The MODIFICATION field allows a sub-routine to be called to manipulate the extracted data.

Format:

@ Subroutine name#n
Subroutine name is the name of the jBase subroutine to be executed. #n denotes the
argument number in the call to the subroutine.
The subroutine must be defined in [Link] as a type R routine, together with the
required number of parameters in field [Link] as .PAR(xx, ..xx).
The actual name of the sub-routine must be defined in the [Link] record in the
field [Link] prefixed by a @.

Invoked:

From RGS.... program generated.

Arguments:

Par1 ,Parn
Where Parn may be any number of parameters (at least one) as per the definition in

TEMENOS T24 User Guide

Page 26 of 86

Application Program Interfaces

[Link].

Details:
All details required in the subroutine from the repgen must be passed into the subroutine as separate
arguments. A single value may be returned.

Example:
The following routine returns a formatted [Link] with leading zeroes.

Figure 17 [Link] routine in [Link]

Program

Figure 18 - Subroutine details

TEMENOS T24 User Guide

Page 27 of 86

Application Program Interfaces

[Link]
An alternative print routine may be specified instead of [Link] to produce CRF reports.

[Link]
Alternative print routine to [Link] standard routine

Format:

Subroutine name
Subroutine name is the name of the subroutine to be executed.

Invoked:

From [Link]$RUN

Arguments:

Report Params, Output Mode, Lang Code, Base Currency


Where Report Params contains the name of the report, plus *D is the detailed report
has been requested, or *B if both summary and detail are requested.
Output Mode contains the output mode requested
Lang Code contains the language code requested
Base currency contains requested base currency

Details:
Production of CRF reports is a complex process extreme care should be taken if using this option.

TEMENOS T24 User Guide

Page 28 of 86

Application Program Interfaces

[Link]
Allows definition of a command (or routine), which can be used to create a fiche file.

[Link]
Any jBase command or subroutine may be specified here. Usually a UNIX cat command will be used
to build a file.

Format:

Command
Command may be any executable command from jBase.

Invoked:

From [Link].

Arguments:

None

Details:
The routine is driven from [Link], and will be able to pass the id in the command
line. This can then be accessed within any required routine using the system variable @SENTENCE.

For example, the command specified could be:

[Link] &[Link]>@ID&
The routine would then have to check @SENTENCE[ ,2,1] in order to extract the id.

See the Helptext for further examples.

TEMENOS T24 User Guide

Page 29 of 86

Application Program Interfaces

[Link]
Allows definition of a command (or routine) that can be used to create a file of printed output. This
means that whenever T24 output is directed to this printer id, the command will be invoked.

Command
Any jBase command or subroutine may be specified here. Usually a UNIX cat command will be used
to build a file.

Format:

Command
Command may be any executable command from jBase.

Invoked:

From [Link].

Arguments:

None

Details:
The routine is driven from [Link], and will be able to pass the id in the command line.
This can then be accessed within any required routine using the system variable @SENTENCE.

For example, the command specified could be:

[Link] &[Link]>@ID&
The routine would then have to check @SENTENCE[ ,2,1] in order to extract the id.

See the Helptext for further examples.

TEMENOS T24 User Guide

Page 30 of 86

Application Program Interfaces

Delivery System
Introduction
The T24 delivery system provides the ability for user defined routines for mapping messages, control
of disposition, processing SWIFT interfaces, and for formatting inward and outward Swift messages.
The Delivery system has been further opened up to enable users to define their own formatting rules
for messages and to write interface routines, using the Generic Delivery Interface.

[Link]
The [Link] application allows a subroutine to be called for a particular Swift Field when
processing incoming Swift messages

[Link]
Format:

Enter Y in field.
Subroutine must be called [Link] where nn is the SWIFT field tag, e.g.
[Link].61.

Invoked:

From [Link].

Arguments:

FIELD, LINE
Where FIELD contains the data from the SWIFT message for decoding
LINE contains the decoded message. Field markers should separate each
component of the LINE using the field marker, (@FM).

Details:
A routine may be written where a SWIFT field contains several components, which need to be
separated and possibly converted so that incoming processing can correctly handle the message.

Example:
The following routine decodes swift field 32, which is comprised of:

Value Date (6 chars)

Currency (3 alpha)

Amount

E.g. 010195GBP1234,56

TEMENOS T24 User Guide

Page 31 of 86

Application Program Interfaces

Figure 19 - Subroutine details

TEMENOS T24 User Guide

Page 32 of 86

Application Program Interfaces

[Link]
This application allows a user routine to be defined for a given language to allow translation of
numbers to words.

Format:

Subroutine Name

Invoked:

From [Link]
[Link]
[Link].

Arguments:

[Link], [Link], [Link], [Link],[Link]


Where [Link] contains the amount to be converted to words. Note that this may
also be in the format amount*CCY where CCY is the SWIFT currency code. When
this option is passed, the currency code could be translated and appended to the
amount returned.
[Link] contains the alpha character representation of the amount to be returned.
[Link] may be passed with the maximum length of the amount. When this is
exceeded the amount should be split into multi values.
[Link] may be passed. This can be used to format the amount to a specific
number of lines. Blank lines should be padded with a character (such as *) as these
may be used in cheque printing.
[Link] is used to return any error message related to errors encountered in
processing.

Details:
Where a new language is used which does not fit into the existing [Link] format, or requires
special processing, a routine should be written to perform the conversion of numbers to words. This
may reference a [Link] record for the language if required.

TEMENOS T24 User Guide

Page 33 of 86

Application Program Interfaces

[Link]
A user-defined routine may be called to provide enhanced selection for disposition control.

[Link]
Allows a subroutine to be defined to return either true or false depending on a selection match.

Format:

@Subroutine name.
Must be an entry in the VOC of type V.

Invoked:

From [Link] and [Link]

Arguments:

The routine is passed the current [Link] record in argument one, the
OPERAND in argument two and the CONDITION in argument three. The return
argument is argument four and should evaluate to true (1) or false (0 or null).

Details:
The routine itself should perform a selection and determine a match and set the return argument
accordingly.

TEMENOS T24 User Guide

Page 34 of 86

Application Program Interfaces

[Link]
The [Link] application allows a user subroutine to modify the information passed to
[Link] by the calling application and hence to map additional data, which is not
normally available for the message type.

Routine
Allows a subroutine to be defined, which may modify the contents of the delivery hand-off.

Format:

@Subroutine name.
Must be an entry in the VOC of type V.

Invoked:

From [Link].

Arguments:

A DIMensioned array of the nine hand-off records is passed as the first argument
and a null in the second argument, which is used as a return error message.

Details:
The routine is passed all nine of the hand-off records in a DIMensioned array as the first argument and
if there is a value in the second value on return from the routine the mapping does not proceed and
the error message is handed back to the calling application.

If all the records are blanked by the call to the user routine the mapping process does not proceed and
an error returned to the calling application.

TEMENOS T24 User Guide

Page 35 of 86

Application Program Interfaces

[Link]
The delivery carrier file, [Link], contains details of all the carriers available in Delivery. To
enable a carrier, it must be specified on the Delivery Parameter file, [Link].

The id of this file is the name of the carrier, as used in [Link]. Each record contains the
address type to be used for the carrier (i.e. when accessing [Link]), the formatting rules
([Link]) and the carrier module (e.g. [Link]). If the carrier module is
GENERIC, i.e. the messages are handled by the generic program [Link], then the
interface must be specified. The interface must reference a record on [Link], which
contains details of the protocol for all generic interfaces (non-generic interface details are stored on
the parameter file, [Link]).

When the record is authorised, formatting and carrier files are created if they do not already exist.
These files are [Link]-module and [Link]-module for the formatting files
and [Link] and [Link] for the interface files.

Address
Specifies the type of record to be read from the delivery address file, [Link], to get the
address for this carrier the following can be keys can be used:

E.g. ADDRESS could be specified as SWIFT. Therefore, the delivery address file will be accessed
with a key of:

company-code . C- customer-no . SWIFT . address-no

E.g.

[Link].1

Carrier Module
Specifies the formatting module to be used. The rules describing the formatting of the messages
should therefore exist on the file, [Link]-module, e.g. [Link]. Various
formatting modules are included in T24 (e.g. SWIFT, PRINT, different telex formats). However, new
formatting modules can be written. The formatting rules would be specified on a new table,
[Link]-module. Therefore, a template-type program [Link]-module must
be written to define the formatting rules. The messages will then be formatted by the formatting
program, [Link], which would also need to be written.

Interface
Specifies the name of the interface to be used. The [Link] must be specified as
GENERIC. Messages will be processed by the generic delivery interface, [Link], but will
be sent/received by the interface routines specified on [Link]. The name of the interface
specified in this field must reference a record on [Link].

TEMENOS T24 User Guide

Page 36 of 86

Application Program Interfaces

[Link]
This file contains details of the protocols for all interfaces which use the Generic Delivery Interface.
The protocols for interfaces written prior to the introduction of the Generic Delivery Interface are either
stored on [Link] or are hard-coded in the program. Sequence numbers for existing interfaces are
stored on [Link].

The id of the file is the interface as defined in the interface field on [Link].

There is little validation of the fields on [Link]. This is to allow for maximum flexibility when
new interfaces are written. Each field can be used to control how the interface is defined and used,
more information on this can be found in the Helptext.

[Link]
Defines the name of the interface routine, which is called from the generic delivery interface program,
to send the messages to the required carrier.

If this field is left blank, the messages are still written to the interface file, but it is assumed that a
separate program is invoked at a later time to send the messages (for example, to create batched
messages once a day).

Subroutine name

Format:

A VOC entry must exist


Invoked:

From [Link].

Arguments:

MISN - the message sequence number


MSG - the formatted message to be sent

Details:
The routine is called from [Link], the generic delivery program. [Link] controls
all the updates of the delivery files - the outward interface program merely has to send the message to
the interface required. The routine is executed. Therefore, the routine does not have to be an
Info/Basic routine. However, a VOC entry must exist for it.

[Link]
Defines the name of the interface routine, which is called from the generic delivery interface program,
to receive messages from the required carrier.

Format:

Subroutine name.
A VOC entry must exist

Invoked:

From [Link].

Arguments:

[Link] - the 5-digit sequence number

TEMENOS T24 User Guide

Page 37 of 86

Application Program Interfaces

CODE - a code determining the type of message (ACK (positive acknowledgement),


NAK (negative acknowledgement) or blank for an incoming message)
MSG - the formatted message to be sent
[Link] - a dynamic array of the delivery header record

Details:
The routine is called from [Link], the generic delivery program. [Link] controls
all the updates of the delivery files - the inward interface program merely receives messages and
acknowledgements (positive or negative) from the interface required. The routine is executed.
Therefore, the routine does not have to be an Info/Basic routine. However, a VOC entry must exist for
it.

The delivery header record is passed back from the routine. Although this record will be created by
[Link], the interface routine can populate any fields recognised in the message.

TEMENOS T24 User Guide

Page 38 of 86

Application Program Interfaces

[Link]
A routine can be defined to process inward messages to generate Funds Transfers using the OFS
module.

[Link]
A default routine, [Link] is available for message types 100, 200, 202, and
205.

Format:

Subroutine name.
Subroutine must be defined in [Link] as a type S program.

Invoked:

From [Link].
Defined in [Link] on [Link], this routine is called from the OFS
phantom process [Link].

Arguments:

[Link] key
[Link] - mapped from delivery system
[Link] - swift message text
[Link] - e.g. 100, 200, 202
[Link] - [Link] record
[Link] - returned OFS message key
[Link] - returned OFS message

The source code for [Link] is released and a detailed description of the default
mapping logic follows.

TEMENOS T24 User Guide

Page 39 of 86

Application Program Interfaces

[Link]
[Link]
This record is mapped from incoming SWIFT messages by the delivery system, and is used to create
OFS messages, which will in turn create Funds transfers.

Figure 20 - [Link] details

TEMENOS T24 User Guide

Page 40 of 86

Application Program Interfaces

File: [Link]
Following fields are mapped from [Link], and then used to generate an OFS message.

Figure 21 - Inward mapping field details in Funds Transfer

TEMENOS T24 User Guide

Page 41 of 86

Application Program Interfaces

Figure 22 - Inward mapping field details in Funds Transfer (cont.)

TEMENOS T24 User Guide

Page 42 of 86

Application Program Interfaces

Figure 23 - Inward mapping field details in Funds Transfer (cont.)

TEMENOS T24 User Guide

Page 43 of 86

Application Program Interfaces

Figure 24 - Inward mapping field details in Funds Transfer (cont.)

[Link]
[Link] set to account number, (may not be a T24 account number).
[Link] set to TRUE if an account is found.

[Link] set to TRUE if an intermediary is found.


[Link] set to TRUE if an account with a beneficiary is found.

[Link] LOGIC in order of processing


Call [Link] if no account found, then call [Link] If no account
found call [Link].

If account found, then read ACCOUNT file to check if it is one of ours.

TEMENOS T24 User Guide

Page 44 of 86

Application Program Interfaces

[Link] Swift field 54 MT100, 202, 205


Uses [Link] [Link] fields.

Figure 25 - SWIFT field 54 mapping


If [Link] = "" and either [Link] or [Link] is set then set [Link] to CUSTOMER

Then calls the routine


[Link].

[Link]

to

attempt

to

determine

the

to

determine

the

If an account has been found then:

[Link] is set to the account number.


[Link] is set to True to indicate and account has been found.
[Link] is set to [Link].

[Link] Swift field 53 MT100, 200, 202, 205


Only called if [Link] is false.
Uses [Link] [Link] fields.

Figure 26 - SWIFT field 53 mapping


If [Link] = "" and either [Link] or [Link] is set then set [Link] to CUSTOMER

Then calls the routine


[Link].

TEMENOS T24 User Guide

[Link]

Page 45 of 86

to

attempt

Application Program Interfaces

If an account has been found then:

[Link] is set to the account number.


[Link] is set to true to indicate an account has been found.
[Link] is set to [Link].

[Link] Mandatory swift field


Only called if [Link] is false.
[Link] is set to CUSTOMER.
N.B. [Link] and [Link] are not initialised, so should be set to [Link] and [Link].

If CURRENCY is not equal to the local currency then the routine [Link] is called.
If CURRENCY is equal to the local currency the routine [Link] is called.

[Link] will be set to [Link], which may be null.

[Link] logic
[Link] is set to FALSE and [Link] is set to null.
[Link] is set to FALSE.
The routine [Link] is called.
If an error message is returned then no further tests take place.

[Link] is set to FALSE.


The routine [Link] is called.
If an error message is returned then no further tests take place.

If the message type is a 200 then [Link] is set to CUSTOMER.

IF the message type is a 202 or 205 then the [Link] routine is called.
IF an error message is returned then no further tests take place.

If the message type is 100 then the [Link] routine is called.


If an error message is returned then no further tests take place.

TEMENOS T24 User Guide

Page 46 of 86

Application Program Interfaces

If [Link] has been set then the following checks take place.
Read the [Link] with [Link].
If no record is found then set [Link] to
[Link] to null and return with an error message.

[Link]

and

set

If a record is found then set [Link] and [Link] to null.


Set [Link] to the currency of the account.

If [Link] is not equal to [Link] then return with an error message.

If all the above tests have been passed then the following processing takes place.

The [Link] will be set to "IT" unless the following conditions occur when it will be
set to "OT".
Message type is 100 and there is an account with bank.
Message type is 200, as there will always be an account with bank and the sender bank is always the
beneficiary bank.
Message type is 202, if there is no account with or intermediary then DW otherwise OT.

If the message type is 100.


If [Link] is FALSE then [Link] is set to "IT" otherwise it is set to "OT"

If the message type is 200.


[Link] is set to "OT"

If the message type is 202 or 205.


If [Link] is TRUE and [Link] is null then [Link] is set to "DW".
Otherwise:
[Link] is set to "OT".
If [Link] is FALSE then [Link] is set to [Link].
If [Link] is FALSE then [Link] is set to [Link].

[Link] Swift field 56 MT200,202,205


If [Link] is set then return with an error.

If [Link] is set then set [Link] to this value and set [Link] and
[Link] to TRUE and return.
N.B. no validation of the account number takes place at this stage.

TEMENOS T24 User Guide

Page 47 of 86

Application Program Interfaces

If [Link] is not set then check the [Link] as follows.


It must not be > 10 characters long and must be numeric otherwise return with an error.

Set [Link] to [Link].


Call the routine [Link]
Set [Link] to [Link].
If an error has been returned by [Link] then return.
IF [Link] is not null then set [Link] and [Link] to TRUE otherwise
return with an error.

[Link] Swift field 57 MT100, 200,202,205


If an intermediary has been found ([Link] = TRUE) then return.

If [Link] is set then return with an error.

If [Link] is set then set [Link] to this value and set [Link]
and [Link] to TRUE and return.
N.B. no validation of the account number takes place at this stage.

If [Link] is not set then check the [Link] as follows.


It must not be > 10 characters long and must be numeric otherwise return with an error.

Set [Link] to [Link].


Call the routine [Link]
Set [Link] to [Link].
If an error has been returned by [Link] then return.
IF [Link] is not null then set [Link] and [Link] to TRUE otherwise
return with an error.

[Link] Swift field 58 MT202, 205


[Link] is set to [Link].

IF [Link] has been set to TRUE then return.


N.B this condition is not present in [Link].

TEMENOS T24 User Guide

Page 48 of 86

Application Program Interfaces

If [Link] is set then return with an error.

[Link] is checked as follows.


It must not be > 10 characters long and must be numeric otherwise return with an error.

Set [Link] to [Link].


Call the routine [Link]
Set [Link] to [Link].
If an error has been returned by [Link] then return.
IF [Link] is not null then set [Link] and [Link] to TRUE
otherwise return with an error.

[Link] Swift field 59 MT100


If [Link] is set and [Link] is false then read the ACCOUNT file.
If a record is found then set [Link] to TRUE and set [Link] to [Link]
otherwise set [Link] to [Link].

If [Link] is not null then set [Link] to this value and return.

N.B. the current version of [Link] has a further section of code, which uses
[Link] to check for a VOSTRO account. This code will not be executed.

[Link]
The following logic applies to this routine.
If [Link] is set then the following logic applies.

If the customer is null and the account is set then read the account file to determine if the account is
one of ours, if it is then set [Link] to the account number.
N.B. the above processing does not take place in [Link]

Otherwise if the [Link] is set to "C" then call the routine [Link].

Otherwise call the routine [Link]

If [Link] is null and [Link] is set then the following logic applies

If CURRENCY is not equal to the local currency then the routine [Link] is called.

TEMENOS T24 User Guide

Page 49 of 86

Application Program Interfaces

If CURRENCY is equal to the local currency the routine [Link] is called.

If an account has been found then set the flag [Link] to TRUE.

[Link]
Read the AGENCY file for [Link].

If a record is NOT found then return.

Locate [Link] in the [Link] field of the AGENCY record. If it is found then set
[Link] to the relevant value, otherwise set it to null.

[Link]
This program calls the routine [Link] with the following parameters set.

Figure 27 - [Link] parameters

TEMENOS T24 User Guide

Page 50 of 86

Application Program Interfaces

The following conditions must be met otherwise an error is returned.

The AGENCY record must be present for [Link].

AUTOROUTING must not be set to "NO" on the AGENCY record.

RESIDENCE must be set on the CUSTOMER record for [Link].


[Link] must be present in the AUTORTE field of the AGENCY record

"FT" or "ALL" must be present in the [Link] field of the AGENCY record.

If the [Link] for the relevant [Link] is set to "VOSTRO" or "CUSTOMER" then the
following processing applies, otherwise the AGENCY record for the [Link] for the relevant
[Link] is read, and the above validation checks apply to the new record, if successful the
following logic applies.

[Link] is set to the residence of the CUSTOMER.


The following fields are set to the values for either "FT" or "ALL" [Link] field, with "FT" taking
precedence.
[Link] is set to [Link].
[Link] is set to [Link].
[Link] is set to [Link].
If [Link] is set to "CUSTOMER" then it is set to "VOSTRO".

On return from [Link] if [Link] is set to "VOSTRO" then set [Link] to


[Link].

If [Link] is not set to "VOSTRO" then read the [Link] file with a key of
[Link]:CURRENCY:1.
If a record is found then set [Link] to the first account number in the list.

TEMENOS T24 User Guide

Page 51 of 86

Application Program Interfaces

[Link]
The Fiduciary application allows subroutines to be called to modify the contents of data passed to
delivery from the application.

[Link]
Allows a subroutine to be defined, which may modify the contents of the delivery hand-off in record
number 7.

Format:

Subroutine name.
Subroutine must be defined in [Link] as a type S program.

Invoked:

From [Link].

Arguments:

[Link]
Where [Link] contains the additional data to be passed to delivery from the
Fiduciary application.

Details:
The contents of [Link] must be created within this routine. The Fiduciary common are
I_FID.COMMON is available at this point. The following variables are likely to be required:

FD$[Link]( )

The current [Link] record

FD$[Link]( )

The current [Link] record

FD$[Link]( )

The current balances record

TEMENOS T24 User Guide

Page 52 of 86

Application Program Interfaces

[Link]
The mortgage application allows subroutines to be called to modify the contents of data passed to
delivery from the application.

[Link]
Allows a subroutine to be defined, which may modify the contents of the delivery hand-off.

Format:

Subroutine name.
Subroutine must be defined in [Link] as a type S program.

Invoked:

From [Link].

Arguments:

REC1, REC2, REC3, REC4, REC5, REC6, REC7, REC8, REC9


Where RECn contains the data to be passed to delivery from the mortgage
application.

Details:

The contents of RECn may be added to or modified according to local requirements.

Interfaces Local Clearing


Introduction
T24 provides options for allowing the required additional functionality to be added to the Funds
Transfer module in order to allow local clearing transactions to be entered according to the local rules.
This functionality is provided by the parameter file [Link] for the local clearing
transaction types, BC, BI and BD. The parameter allows subroutines to be added to perform specific
local validation, and update of cross-reference files and production of additional/new delivery
messages.

A further option allows a sub-routine to be invoked from the delivery processing, which can allow
diversion of messages with different carriers into the local clearing system according to the coded
rules.

TEMENOS T24 User Guide

Page 53 of 86

Application Program Interfaces

[Link]
This application allows customisation of existing field level validation for the BC Funds Transaction
type. Additionally subroutines may be defined to perform specific local validation within the FT module
in the following fields:

[Link]
[Link]
[Link]
[Link]

Additionally the ability to define subroutines called from the CUSTOMER and ACCOUNT applications
is provided in the fields:

[Link]
[Link]

A subroutine to allow diversion of messages into the local clearing system within the delivery system
may be defined in:

[Link]

[Link] (FUNDS TRANSFER)


This field allows definition of a subroutine, which will be used to perform cross-validation specific to the
local clearing system. This routine applies to the BC transaction type within Funds Transfer, and all
related transaction types, i.e. BCxx where xx is any alpha character.

Format:

Subroutine name
Subroutine name contains the name of the Info Basic subroutine to be executed. The
Subroutine name defined must exist on [Link] as a type S program.

Invoked:

From [Link], after standard cross-validation (performed by


[Link]).

Arguments:

Curr No
Where Curr No contains the current number of overrides held on the Funds Transfer
record.

TEMENOS T24 User Guide

Page 54 of 86

Application Program Interfaces

Details:

The purpose of a subroutine written at this point is to perform cross-validation of the input in the
[Link] record according to the local requirements.

A local clearing common area is available in the insert I_F.[Link], and must be
inserted at the start of the subroutine, together with Funds Transfer common area I_F.FTCOM.

The following variables are most likely to be used in the sub-routine:

FTLC$[Link]

Contains the FT BC PARAMETER record for the system

FTLC$[Link]

Contains the FT LOCAL CLEARING record

[Link]( )

Contains the credit account record

[Link]( )

Contains the debit account record

[Link]( )

Contains the charge account record

All validation must be performed using the contents of [Link], the current record. Management of
errors must cater for the fact that the routine will be executed on-line under user control, on-line
automatically (when processing clearing tapes/files), and at end of day (when processing Standing
Orders). The common variable [Link] will be set to Y when processing during the end of
day, or automatically on-line. Error message processing should set ETEXT and call
[Link] when NOT processing automatically, otherwise the routine should return when
an error is found.

Overrides may be generated when processing manually on-line, in the standard manner, by setting
TEXT and calling [Link].

Where local reference items are used to contain local clearing elements, a list of elements can be
found in the fields [Link], [Link] and [Link] in the
[Link] record, which give the location within the [Link] field in the specified
application.

TEMENOS T24 User Guide

Page 55 of 86

Application Program Interfaces

Example:
The following example illustrates use of local reference identifiers in [Link]. The items
[Link] is mandatory for BC transaction types:

Figure 28 - FT BC Fields Definitions

Figure 29 [Link] Input Screen

TEMENOS T24 User Guide

Page 56 of 86

Application Program Interfaces

This code will check to see if the local reference [Link] contains a value in the
[Link] record:

Figure 30 - Check if local reference [Link] contains a value

[Link] (FUNDS TRANSFER)


A routine may be called at authorisation of a Local Clearing Funds Transfer. This may be used to
generate additional delivery messages or to update cross-reference files required in the local clearing
process.

Format:

Subroutine Name
Subroutine Name contains the name of the subroutine to be invoked.

Invoked:

From [Link] before generation of Standard delivery output

Arguments:

None

Details:
The subroutine must contain the insert files I_F.[Link] and I_F.FTCOM, which hold the
local clearing common variables and the Funds Transfer common variables respectively.

Any of the variables described in the [Link] may be used. Any error found should set
ETEXT. This will be detected on return to [Link] and cause an error to be generated by Funds
Transfer.

Any additional delivery messages required must be generated by calling the subroutine
[Link] (see Standard subroutine guide for further details). Any delivery message
used for local clearing must use the reserved range 1200 - 1300 of message types.

TEMENOS T24 User Guide

Page 57 of 86

Application Program Interfaces

Examples:
This routine will update a cross-reference file, [Link] when a local clearing funds transfer is
authorised. The record will be deleted if a reversal is authorised. An additional check is made so that
if a reversal is attempted and there is no record present on [Link], the reversal will be aborted.

Figure 31 - This routine will update a cross-reference file, [Link]

TEMENOS T24 User Guide

Page 58 of 86

Application Program Interfaces

Figure 32- Check if reversal is attempted on [Link]

[Link] ([Link])
A subroutine may be defined to perform cross-validation of [Link] records, which are
paid through the local clearing method ([Link] BC [Link]).

Format:

Subroutine Name
Subroutine name contains the name of the subroutine to be executed. It must be
defined on [Link] as a type S program.

Invoked:

From [Link] at cross-validation time, when [Link] [1,2] is BC.

Arguments:

[Link], [Link]
Where [Link] contains the [Link]
[Link] contains the [Link] record.

record

Details:
The contents of [Link] should be validated according to local requirements. The validation should
ensure that information entered in the [Link] record is sufficient, and correct, in order to
produce a valid BC [Link] record.

Error messages must be reported by setting ETEXT and calling [Link] in the usual
manner.

Local reference items required in the Funds Transfer to be generated are entered in the fields
[Link] (the position within local reference in Funds Transfer) and [Link]. The
correct position of local reference items within the [Link] field in [Link] can be
checked using the variables [Link], [Link] and [Link] in
the [Link] record.

TEMENOS T24 User Guide

Page 59 of 86

Application Program Interfaces

Example:
The following subroutine performs specific validation for the Slovak clearing system:

Figure 33 - The above subroutine performs specific validation for the Slovak
clearing system

TEMENOS T24 User Guide

Page 60 of 86

Application Program Interfaces

Figure 34 - Check Account Number Validation

[Link] ([Link])
A sub-routine may be defined to perform cross-validation of Bulk Standing Order records, which are
paid through the local clearing method ([Link] BC [Link]).

Format:

Subroutine Name
Subroutine name contains the name of the subroutine to be executed. It must be
defined on [Link] as a type S program.

Invoked:

From [Link] at cross-validation time, when [Link][1,2] is BC.

Arguments:

[Link], [Link]
Where [Link] contains the [Link] record
[Link] contains the [Link] record.

Details:
The contents of [Link] should be validated according to local requirements. The validation should
ensure that information entered in the [Link] record is sufficient, and correct, in order to produce
a valid BC [Link] record.

Error messages must be reported by setting ETEXT and calling [Link] in the usual
manner.

Local reference items required in the Funds Transfer to be generated are entered in the fields
[Link] (the position within local reference in [Link]) and [Link].
The correct position of local reference items within the [Link] field in [Link] can
be checked using the variables [Link], [Link] and [Link] in
the [Link] record.

TEMENOS T24 User Guide

Page 61 of 86

Application Program Interfaces

Example:
The following example performs the specific validation for the Bulk Standing Orders in the Slovak
clearing system.

Figure 35 - Bulk Standing Order Validation

TEMENOS T24 User Guide

Page 62 of 86

Application Program Interfaces

Figure 36 - Bulk Standing Order Validation

[Link] (ACCOUNT)
Where a clearing system requires static information from the ACCOUNT file, a subroutine may be
called to update an extract file.

Format:

Subroutine Name
Subroutine name contains the name of the subroutine to be executed. It must be
defined on [Link] as a type S program.

Invoked:

From ACCOUNT at authorisation before [Link]

Arguments:

None

Details:
The contents of [Link] contain the current ACCOUNT record. [Link] will contain the previous
authorised contents of the account record.

The [Link] record can be used top define the position of required local reference
elements within the Account local reference field.

Note: This routine should not perform any validation.

[Link] (CUSTOMER)
Where a clearing system requires static information from the CUSTOMER file, a subroutine may be
called to update an extract file.

Format:

Subroutine Name
Subroutine name contains the name of the subroutine to be executed. It must be
defined on [Link] as a type S program.

TEMENOS T24 User Guide

Page 63 of 86

Application Program Interfaces

Invoked:

From CUSTOMER at authorisation before [Link]

Arguments:

None.

Details:
The contents of [Link] contain the current CUSTOMER record. [Link] will contain the previous
authorised contents of the CUSTOMER record.

The [Link] record can be used to define the position of required local reference
elements within the CUSTOMER local reference field.

Note: This routine should not perform any validation.

[Link] (Delivery)
This is the old method used for diverting messages from a standard carrier to the local clearing carrier.
It was used for the Swiss Clearing system (SIC). However, to use this, changes are required to the
Delivery system. Therefore, Generic Delivery was designed and it is this which should now be used if
you wish to direct messages to a local clearing carrier (see the section Adding a new interface in the
Delivery User Guide.

[Link]
The [Link] application manages import and export of data for the local clearing system(s)
installed. Data is typically downloaded or uploaded onto tapes, or directly to a specified file.
Subroutines and commands may be defined for each type of interface, which are used for:

[Link]

[Link]

[Link]

[Link]

[Link]

[Link]

[Link]

[Link]
A command or routine may be executed, which will be used to download a tape or file into a specific
directory on the system.

Format:

Command name
Command name contains the name of any valid jBase command, which can be
executed. This may also include a subroutine name, which can be executed. Multiple

TEMENOS T24 User Guide

Page 64 of 86

Application Program Interfaces

commands may be specified.


Invoked:

From [Link]$RUN when run with LOAD function

Arguments:

None.

Details:
Typically a UNIX command will be specified prefixed by SH -c to allow the command to run from
jBase. This could also be specified within an InfoBasic subroutine.

The command/subroutine must download the tape/file into the directory [Link], with the name
[Link]. WORK, where Tape Name is the key to the [Link] record.

Example:
Example of a load command:

Figure 37 - Example of a load command


This will download a tape using cpio and then move the downloaded file ([Link] in this case), to
the file [Link] in [Link].

The above command could be coded in a subroutine if required.

[Link]
A subroutine must be written to process the downloaded tape/file, to extract the main header
information for the file. This contains information required so that an operator can verify the correct
file/tape has been downloaded prior to updating T24 with the contents.

Format:

Subroutine Name
Subroutine name contains the name of the subroutine to be executed. It must be
defined on [Link] as a type S program.

Invoked:

From [Link]$RUN when the LOAD function is used, after the [Link] has
been executed

Arguments:

[Link], [Link], [Link], [Link], [Link], CHECKSUM,


[Link], [Link], [Link], [Link], [Link]
Where:

TEMENOS T24 User Guide

Page 65 of 86

Application Program Interfaces

[Link] - Contains the name of the tape as defined in [Link]


[Link] - Contains the serial number of the tape (returned)
[Link] - Number of records contained in the tape (returned)
[Link] - Total of credit transactions (returned)
[Link] - Total of Debit transactions (returned)
CHECKSUM - The checksum contained in the tape (returned)
[Link] - The calculated checksum (returned)
[Link] - Date of tape production (returned)
[Link] - Date of tape expiry (returned)
[Link] - Calculated Credit Total (returned)
[Link] - Calculated Debit Total (returned).

Details:
The routine must process the tape which has been downloaded into a file in the directory [Link]
with the name [Link] .WORK, where [Link] is the key to the [Link] record
passed as the first argument to the subroutine. Some systems will download a separate Header
record and trailer record. These must be read from an agreed location, preferably the [Link]
directory.

The subroutine must extract as many of the passed parameters as possible so that maximum details
may be recorded.

Any error detected must be returned in ETEXT.

TEMENOS T24 User Guide

Page 66 of 86

Application Program Interfaces

Example:
The following example extracts the required details from a Swiss PTT tape, which has been
downloaded into [Link] directory, record [Link].

Figure 38 - [Link] Directory showing details of Swiss PTT tape

TEMENOS T24 User Guide

Page 67 of 86

Application Program Interfaces

Figure 39 - [Link] Directory showing details of Swiss PTT tape

[Link]
A subroutine must be defined to create [Link] records from the downloaded tape. This
will be executed from the [Link] application.

Format:

Subroutine Name
Subroutine name contains the name of the subroutine to be executed. It must be
defined on [Link] as a type S program.

Invoked:

From [Link]$RUN when run with the UPDATE function

Arguments:

[Link], [Link]
Where [Link] is the sequence number allocated to the tape by T24.
[Link] is the name of the tape, the key to [Link].

Details:
The update routine must process the downloaded tape or file. Usually these processes will create
[Link] transactions for the movements.

The tape record must be read from [Link] directory, using the [Link]. [Link] as a
key. Once processing is complete, the [Link] application will delete the downloaded file. For
further details on the required processing see the Local Clearing User Guide.

TEMENOS T24 User Guide

Page 68 of 86

Application Program Interfaces

[Link]
A command and/or subroutine can be entered, which when executed creates a tape or file. Typically
this would be used to create a clearing tape or file.

Command

Format:

Command contains the name of any jBase command or subroutine name to be


executed.
Invoked:

From [Link]$RUN when run with the CREATE function

Arguments:

None

Details:
Any executable command in jBase may be specified.

Example:
An example of a create command using cpio for production of a tape from the file [Link].

Figure 40 - Example of Create command from [Link]

[Link]
A routine may be specified which is used to create or manipulate an extract file that can be
downloaded using the [Link].

Format:

Subroutine Name
Subroutine contains the name of the subroutine to be executed. It must be defined
on [Link] as a type S program

Invoked:

From [Link]$RUN when run with the CREATE function

Arguments:

[Link], [Link].
Where [Link] is the sequence number allocated by the [Link]
application
[Link] is the key to the [Link] record and identifies the type of
file being processed

Details:
The create routine will be used to create an output file for the clearing system/interface in use. The file
must be written to [Link]. [Link] within the directory [Link].

TEMENOS T24 User Guide

Page 69 of 86

Application Program Interfaces

[Link]
A routine may be specified which is used to create an extract file that can be downloaded using the
[Link].

Format:

Subroutine Name
Subroutine contains the name of the subroutine to be executed. It must be defined
on [Link] as a type S program

Invoked:

From [Link]$RUN when run with the GENERATE function

Arguments:

[Link], [Link], [Link], [Link], [Link], CHECKSUM.


Where [Link] is the sequence number allocated by the [Link]
application
[Link] is the key to the [Link] record and identifies the type of
file being processed
[Link] returns the number of records contained in the extract file
[Link] returns the total of credit transactions
[Link] returns the total of debit transactions
CHECKSUM contains a calculated checksum.

Details:
The generate routine will create a file in the required format for the clearing system/interface in use.
The file must be written to [Link]. [Link] within the directory [Link].

The [Link], [Link], [Link] and CHECKSUM should be calculated and returned where
available.

[Link]
Local clearing interfaces may update a file, which is used to for reporting the contents of the tape. A
routine to purge the file on a regular basis may be specified here.

Format:

Subroutine Name
Subroutine contains the name of the subroutine to be executed. It must be defined
on [Link] as a type S program

Invoked:

From [Link] in the BATCH [Link]

Arguments:

[Link], [Link].
Where [Link] is the key to the [Link] record
[Link] is the [Link] record with the key [Link].

TEMENOS T24 User Guide

Page 70 of 86

Application Program Interfaces

Details:
The enquiry purge routine must determine whether the data is to be purged according to the
[Link] field in [Link].

Example:

Figure 41 - Enquiry purge routine [Link]

[Link]
The [Link] application controls the Generic Accounting Interface. It contains booking
details of entries supplied in an external ASCII file, and the layout of the file. The standard routine
[Link] should be used as the UPDATE routine in [Link] to run the generic interface.

TEMENOS T24 User Guide

Page 71 of 86

Application Program Interfaces

Additional validation is possible by calling user routines.

[Link]
A subroutine may be specified to validate / convert data extracted from the Ascii file. It may be either a
standard IN2 routine, or a user defined routine.

Format:

Subroutine name
Subroutine name contains the name of the user-defined subroutine to be invoked.
The routine must exist in the VOC file.

Invoked:

From [Link]

Arguments:

None

Details:
The value extracted from the tape is supplied in the variable COMI and may be modified if required.
An error in the format of the value extracted should be returned in the variable ETEXT.

[Link]
A subroutine may be specified to validate the contents of the final extracted entry record, in order to
either reject the entry, or suspense the account number

Format:

Subroutine name
Subroutine name contains the name of the user-defined subroutine to be invoked.
The routine must exist in the VOC file.

Invoked:

From [Link]

Arguments:

[Link] - (In) The formatted accounting entry


[Link] - (In/Out) The reporting entry from the [Link] record
which has been constructed
[Link] - (Out) Should return any error message found causing the entry NOT to
be processed
[Link] - (Out) Should return any message which causes the account to replaced
with a suspense account.

Details:
This routine should be used where the entry requires specific validation based on the contents of the
record. Using the [Link] field in the application, extracted data can be mapped to any field in
[Link], which can then be checked in the routine written here. For example a
[Link] extracted could be mapped to [Link] value 2, which can then be validated in a
user routine specified at this point.

TEMENOS T24 User Guide

Page 72 of 86

Application Program Interfaces

Local Statutory Reporting


Introduction
T24 allows subroutines to be called at input time for the applications [Link].
[Link], TELLER and DRAWINGS, which can validate and default local reference values
used in local reporting. Typically an activity code will be allocated according to the type of contract
entered.

[Link]
This application allows definition of subroutines to be called from the above mentioned applications at
input time to allow defaulting and validation of local reference items. The record applicable to the
company is defined in [Link] in the COMPANY record.

[Link]
A routine may be called to initialise local variable required for the processing for the associated
APPLICATION.

Format:

Subroutine Name
Subroutine contains the name of the subroutine to be executed. It must be defined
on [Link] as a type S program

Invoked:

From [Link] in the initialisation section


From TELLER in the INITIALISE section
From [Link] in the initialisation
From DRAWINGS in the INITIALISE section

Arguments:

None

Details:
This routine should be used to initialise variables specific to the application when the application is first
used.

The application in question can be determined from the common variable APPLICATION.

[Link]
A routine can be called at input time to validate and default local reference items for the associated
APPLICATION.

Format:

Subroutine Name
Subroutine contains the name of the subroutine to be executed. It must be defined
on [Link] as a type S program

TEMENOS T24 User Guide

Page 73 of 86

Application Program Interfaces

Invoked:

From [Link] prior to the call to [Link]


From TELLER in the section CROSSVALIDATION
From [Link] at cross-validation
From DRAWINGS in the section CROSSVALIDATION

Arguments:

None

Details:
The routine may use any of the system common variables available. The current contract record is
held in [Link]. The [Link] record is held in common in the variable
[Link]

The fields [Link] and [Link] may be defined for each application, and allow
the correct value within the [Link] field to be identified for validation purposes.

Takeover / Installation Customisation


Introduction
In order to assist the take-over of existing systems when installing T24, the system allows linkage of
subroutines. Subroutines will usually be required to perform processing which allows existing file
structures to be mapped into the appropriate T24 data files.

[Link]
The application [Link] allows definition of the details of the account number
structure in the existing system. The old account number is stored in a cross-reference table linking it
to the new T24 account number, called [Link].

[Link]
The existing account number check-digit options for a T24 account are supported, but where these do
not match, a subroutine may be used to perform the validation and formatting of the alternate account
number.

Format:

@Subroutine Name
Subroutine contains the name of the subroutine to be executed. It must be defined
on [Link] as a type S program

Invoked:

From ACCOUNT at field validation time for [Link]

Arguments:

None.

TEMENOS T24 User Guide

Page 74 of 86

Application Program Interfaces

Details:
This routine should validate and format the account number; the basic type validation (i.e. alpha,
numeric) will have already been performed before the routine is called. Any account mask specified
with the routine will not be validated, and should be performed in the subroutine.

The alternate number entered is contained in COMI, and should be returned in this variable. Any error
message should be returned in ETEXT.

Example:

Figure 42 - Example subroutine [Link]

[Link]
The system allows a subroutine to be inserted when building the input buffer when contents need to
be calculated, and when maintaining totals for the records processed.

[Link] and KEYSTROKES


A routine can be called to build the input buffer required for the automatic key input.

Format:

@Subroutine Name
Subroutine contains the name of the subroutine to be executed.

Invoked:

From [Link]

Arguments:

[Link], INPUT$BUFFER
Where [Link] contains the id of record being processed
INPUT$BUFFER contains the current input buffer.

TEMENOS T24 User Guide

Page 75 of 86

Application Program Interfaces

Details:
Additional input should be added to INPUT$BUFFER, separated by spaces.

Example:
The following subroutine will cycle the interest review frequency on mortgage records to the next date.

Figure 43 - Example subroutine [Link]

[Link]
A subroutine can be used to maintain totals used for confirmation that the selection is correct.

Format:

@Subroutine Name
Subroutine contains the name of the subroutine to be executed. Must be defined on
[Link] as TYPE S.

Invoked:

From [Link]

Arguments:

[Link], RESULT
Where [Link] contains the id of record being processed
RESULT contains the value to be added to the running total.

TEMENOS T24 User Guide

Page 76 of 86

Application Program Interfaces

Details:
The calculated/derived amount should be returned in RESULT. For example a routine may be written
to convert foreign amounts to local and return a local total.

[Link]
Subroutines may be defined in [Link] to format data into the expected T24 format
from the source files, and to manipulate data according to specific rules. For example a crossreference table may need to be maintained in order to build the correct link between T24 records.

[Link]
A subroutine may be called when data has been extracted from the source file. This is called prior to
the update of the T24 file.

Format:

Subroutine Name
Subroutine contains the name of the subroutine to be executed. Must be defined on
[Link] as TYPE S.

Invoked:

From [Link]$RUN after allocation of id and performing mapping


into the T24 record as specified. This routine will be called when the
[Link] is run in report and update modes

Arguments:

None

Details:
The current record id is contained in [Link] and will be used to write the record. The id may be
manipulated at this point. [Link] will contain the contents of the file mapped according to the
definitions in [Link]. If data is to be manipulated, it should be mapped into a field in
the record, and the subroutine should perform the necessary changes.

[Link]
A subroutine may be invoked after extraction of data, just before the write to the unauthorised file is
executed.

Format:

Subroutine Name
Subroutine contains the name of the subroutine to be executed. Must be defined on
[Link] as TYPE S.

Invoked:

From [Link]$RUN after mapping of data as specified and possible


manipulation by the [Link]. Called only in UPDATE mode.

Arguments:

None.

TEMENOS T24 User Guide

Page 77 of 86

Application Program Interfaces

Details:
The current record id is contained in [Link] and will be used to write the record. The id may be
manipulated at this point. [Link] will contain the contents of the file mapped according to the
definitions in [Link]. A routine called at this point may be used to update crossreference files used for take-over purposes.

Example:
The following example has been used to update [Link] for SWIFT addresses. The incoming
key is a Customer number, which must be converted to a valid [Link] key.

Figure 44 - Example update subroutine [Link]

TEMENOS T24 User Guide

Page 78 of 86

Application Program Interfaces

Limits
Introduction
In order to allow complex calculations of risk factors to be applied to limit products or sub-products, the
[Link] application allows definition of a subroutine, which may be invoked. The
subroutine will return the amount of a given transaction to be recorded in the limits system.

[Link]
Format:

Subroutine Name
Subroutine contains the name of the subroutine to be executed. Must exist as a VOC
entry.

Invoked:

From [Link] at input (validation).

Arguments:

[Link]
Where [Link] contains a dynamic array of details. The
layout of this array is contained in the insert I_LIMIT.SROUTINE.
[Link] should be returned with the derived limit amount.

Details:
The following details are contained in [Link].

<1> [Link]

The liability number (element 1 of the Limit key). This is a


T24 Customer number. Always present.

<2> [Link]

The customer within the liability group (element 4 of the limit


key). Always present.

<3> [Link]

The limit reference number formatted with leading zeroes.


Element 2 of the limit key. Always present.

<4> [Link]

The limit serial number formatted with leading zeroes.


Element 2 of the limit key. Always present.

<5> [Link]

The T24 transaction id being processed. Always present.

<6> [Link]

The mnemonic of the company the transaction is entered in.


Note that the transaction company may be different to the
company in which limits are held. Always present.

<7> [Link]

The company code of the transaction. See above. Always


present.

<8> [Link]

The processing date used to determine time to maturity.


This is TODAY when the system is online or processing
application Close of Business, and [Link] when
running the percentage revaluation process during Close of
Business. Always present.

<9> [Link]

The maturity date for the transaction to be recorded in the


limits system. This may be a date, or a number of days
notice. Always present.

TEMENOS T24 User Guide

Page 79 of 86

Application Program Interfaces

<10> [Link]

The transaction currency to be recorded in the limits system.


Always present.

<11> [Link]

The full amount of the transaction as handed to the limits


system. Note that for FX transactions, this contains two
values: value 1 is the BUY amount, value 2 is the SELL
amount. Always present. Note also that the sign of the
amounts passed should not be changed.

<12> [Link]

Contains the following:


For FX contracts, the SELL currency
For LD commitment contracts, Y to indicate a commitment
The value NR if the On-line limit amount is not to be
reduced.

<13> [Link]

The dealer desk of the deal. Not used.

<14> [Link]

The company of the account when an account limit is


processed. Note that percentage processing is ignored for
accounts.

<15> [Link]

The account number for an account limit. See [Link].

<16> [Link]

The account balance to be considered. See [Link]

<17> [Link]

The account currency of the associated [Link].

<18> [Link]

The current number of overrides in the T24 transaction.

<19> [Link]

Not relevant to percentage processing.

<20> [Link]

Indicator for error/override processing. Can be:


Null - On-line overrides require response
U - Batch update, always update regardless of error
E - Batch, return if error
V - On-line verify no transaction details, i.e. called from
LIMIT
B - Batch verify no transaction details, i.e. called from
LIMIT.

<21> [Link]

Indicates whether [Link] has been called in VAL,


validation mode, or DEL, deletion mode. Note that the
subroutine will only be invoked in VAL mode.

Access to Transaction Record


Processing to calculate the correct limit amount may require analysis of the transaction record. This
can be extracted as follows:

TEMENOS T24 User Guide

Page 80 of 86

Application Program Interfaces

ONLINE
The contract is contained in the common element [Link]. The last authorised version is in [Link], the
last unauthorised version is [Link].

[Link]
The contract should be read from the underlying application file. The application should be determined
from the [Link] and the transaction file opened. When opening the file, the company mnemonic
should be specified in the call to OPF to ensure the correct file is used.

Returning Information
The [Link] should contain the following.

<1> Amount 1

The amount derived to be used in updating limits. This must be the in the
currency passed in [Link], and must be returned with the same sign as the
passed [Link]

<2> Amount 2

For FX deals only this should contain the equivalent percentage amount of the
other side of the deal, in the currency passed in [Link].

ETEXT should be returned if an error is encountered.

TEMENOS T24 User Guide

Page 81 of 86

Application Program Interfaces

An example routine follows:

Figure 45 - Example routine for LIMIT REFERENCE

TEMENOS T24 User Guide

Page 82 of 86

Application Program Interfaces

Figure 46 - Example routine for LIMIT REFERENCE

Company Customisation
Introduction
In order to allow for different account number structures and check-digit calculations, the check-digit
type may be defined as a user routine, which will perform the desired formatting and check-digit
validation. This routine should also return the next available id if called from the ACCOUNT
application with F3 or F2 entered at awaiting id. The routine is specified in the COMPANY record.

Company
[Link]
Format:

@Subroutine Name
Subroutine contains the name of the subroutine to be executed. Must exist as a VOC
entry.

Invoked:

From I_CHECK.[Link] and [Link].

Arguments:

None

TEMENOS T24 User Guide

Page 83 of 86

Application Program Interfaces

The following common variables should be used in the subroutine.


COMI - contains the account number, or portion of the account number to be
validated. When called from [Link] the following additional elements are
supplied:
COMI<1> - Next account number from locking
COMI<2> - NEW to denote new number required
COMI<3> - F is F3 requested, B if F2 requested

ETEXT - returned if there is an error in the account number supplied.

Details:
The following example formats an account number to the number of digits in the [Link] in
the company record. There is no check-digit required.

Figure 47 - Example subroutine [Link]

TEMENOS T24 User Guide

Page 84 of 86

Application Program Interfaces

[Link]
The field [Link] can be utilised to evoke an accounting API routine.
If this field has been populated when a T24 transaction gets committed the routine depending on
some conditions and based on certain mapping rules would then pick up values from the transaction
and would write them to a T24 work file.

Figure 1 [Link] record.

TEMENOS T24 User Guide

Page 85 of 86

Application Program Interfaces

The 4 arguments passed to the subroutine are as follows:

1.

The type of entry can be

"STMT for a [Link]


"FWD" for a forward [Link] i.e. the key begins F...
"CATG" for a [Link]
"SPEC" for an [Link]
"CONSOL" for a [Link] entry

2.

The accounting type that is passed -

Values can be as follows for authorised non forward entries


"AUT", "VALAUT", "[Link]" and "SAO"

"AUT" indicates that entries are being authorised.


"VALAUT" and "[Link]" indicate that entries are being validated and authorised.
"SAO" indicates that entries are being authorised with automatic acceptance of OVERRIDES, which
will be stored in the override field of the passed entry.

Values can be as follows for authorised forward entries


"AUT", "[Link]" and [Link]

NB when a forward contract is reversed before the value date the [Link] entries will be reversed,
with no "real" accounting having taken place, the TYPE used here is [Link]. Often the forward
entries will be replaced by "real" entries as the contract becomes active, for example when the
processing date is reached on a forward valued [Link] contract.

3.

The record @id of the entry -

4.

The actual entry -

NB: Reversal entries can be identified by "REV" in the [Link] field.

This is a locally developed routine that will be called during the accounting phase of any transaction
within T24 a [Link] of a type S (subroutine) program needs to be created for the API program.

TEMENOS T24 User Guide

Page 86 of 86

TEMENOS T24  
Application Program Interfaces 
User Guide 
Information in this document is subject to change
Application Program Interfaces 
Table of Contents 
Introduction........................................................
Application Program Interfaces 
Introduction...........................................................................
Application Program Interfaces 
Introduction 
Application Overview  
This chapter describes the available options for d
Application Program Interfaces 
TEMENOS T24 User Guide 
Page 5 of 86 
 
AUT.NEW.CONTENT 
This field would normally be u
Application Program Interfaces 
Example: 
The following example demonstrates a routine, which will automatically defaul
Application Program Interfaces 
TEMENOS T24 User Guide 
Page 7 of 86 
 
Program 
 
 
Figure 3 - Details of subroutine
Application Program Interfaces 
Details: 
Routines defined here have the standard system variables available for checki
Application Program Interfaces 
At cross validation default, the value “ACCOUNT.NUMBER” in the field BEN.ACCT.NO of 
BE
Application Program Interfaces 
TEMENOS T24 User Guide 
Page 10 of 86 
 
INPUT.ROUTINE 
A subroutine may be executed at

You might also like