OFS Manual PDF
OFS Manual PDF
OFS Manual PDF
OFS
User Guide
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.
Table of Contents
Overview.................................................................................................................................................. 5
Conventions Used in this Document.................................................................................................... 5
Example OFS Requests ...................................................................................................................... 6
Transaction Request ........................................................................................................................ 6
Enquiry Request ............................................................................................................................... 6
XML Report Request ........................................................................................................................ 6
TEC .................................................................................................................................................. 6
Clearing Request.............................................................................................................................. 6
Setup ....................................................................................................................................................... 7
Request Syntax Overview ....................................................................................................................... 7
OPERATION ........................................................................................................................................ 7
USER INFORMATION ......................................................................................................................... 7
Replace option ..................................................................................................................................... 7
OPTIONS, ID INFORMATION and DATA ........................................................................................... 8
Transactions ........................................................................................................................................ 8
Operation (Blue) ............................................................................................................................... 8
Options (Red) ................................................................................................................................... 8
ID Information (Yellow) ..................................................................................................................... 9
Data (Black) ...................................................................................................................................... 9
Using VERSION to control application requests ............................................................................ 10
NAU processing ............................................................................................................................. 10
Non Standard Applications ............................................................................................................. 10
Foreign Exchange Swaps ........................................................................................................... 10
Loans and Deposit contracts with Payment Schedules ............................................................. 10
Enquiries ............................................................................................................................................ 11
Operation (Blue) ............................................................................................................................. 11
Options (Red) ................................................................................................................................. 11
ID Information (Yellow) ................................................................................................................... 11
Data (Black) .................................................................................................................................... 11
Clearing .............................................................................................................................................. 12
Operation (Blue) ............................................................................................................................. 12
Options (Red) ................................................................................................................................. 12
ID Information (Yellow) ................................................................................................................... 12
Data (Black) .................................................................................................................................... 12
Configuration .................................................................................................................................. 12
Overview
OFS (Open Financial Service) is an interface that allows transactions and queries requests to be
processed by T24.
This document describes the workings, features and syntax of OFS itself, and does not describe the
connectivity options available for communicating with OFS. This information may be found in other
chapters of the T24 Connectivity User Guides, and XML schema information may be found
at www.temenos.com and http://dts.temenos.com.
OFS is the single point of entry to T24. Every single interaction with T24 is driven through OFS.
OFS offers the following distinct request types:
• Transactions
• Enquiries
• Clearing
• XML report requests
And offers the following features:
• Audit trail of messages (optional)
• API hooks for pre and post processing
• Fully multi company / multi book aware
• Full support for hierarchical data (multi values, sub values)
• Full multi-lingual support
The following example relates to a foreign exchange swap transaction where information is required
for both legs of the swap. The _ (underscore) character is used to delimit information for record 1 from
record 2:
FOREX,GTS//PROCESS,GTUSER/QWERTY,,DEAL.TYPE=SW,COUNTERPARTY::=100076,CURRENCY.BOUGHT::=USD,AMO
UNT.BOUGHT::=500000,CURRENCY.SOLD::=GBP,SPOT.RATE::=1.6,DEAL.DATE::=20011026,VALUE.DATE.BUY::=
20011028_1M,FORWARD.RATE::=_1.55,REVALUATION.TYPE:_1:=_IN,NOTES:1_1="first leg"_"second
leg",NOTES:_2:_"second-line":VALUE.DATE.BUY::=20011028_1M,
Enquiry Request
ENQUIRY.SELECT,,TEST.USER/654321,CURRENCY-LIST
ENQUIRY.SELECT,,TEST.USER/654321,CURRENCY-LIST,@ID:LK=C...
TEC
TEC.OFS.INTERFACE,,TEST.USER/654321,,FLUSH
TEC.OFS.INTERFACE,,TEST.USER/654321,,API.RESPONSE,MY.API,VERSION ROUTINE,1234
Clearing Request
CLEARING,,TEST.USER/654321,OFS.DEMO,TXNREF1,33537,USD,10000,C,SALARY_TXNREF2,32549,USD,8000,C,
SALARY
CLEARING,,TEST.USER/654321,OFS.DEMO,TXNREF1,33537,USD,10000,C,SALARY_,32549,USD,8000,C,SALARY
Setup
Before OFS can be used, some simple configuration of OFS.SOURCE is required. Refer to the
appendix for details of the fields that are on OFS.SOURCE and their use.
NB this deals only with the configuration of OFS itself. Details on the configuration of the connectivity
layer (also referred to as “the connectors” or “TOCF”) can be found in the user guide chapter “T24
Temenos Connector”.
OPERATION
Indicates the operation to perform, being one of:
• ENQUIRY.SELECT – runs an enquiry
• CLEARING – invokes clearing (OFS.CLEARING.MANAGER)
• XML.REPORT – runs an XML report
• T24 application – transaction request
USER INFORMATION
Contains the details of the T24 user that will execute the transaction passed to T24, including sign on
name, password and company code delimited by the / character in the following syntax:
USER.NAME/PASSWORD/COMPANY
The company is optional. Hence both of the below examples are valid:
TEST.USER/654321/GB0010001
TEST.USER/654321
When no company is specified, the default company for the user will be used.
Replace option
There is a special option which can be used but with due care, that will allow records to be cleared
and re-input. For example replacing a multi-value set containing 5 records with a new set containing
only 3.
If used the preceding / characters need to be included.
TEST.USER/654321/GB0010001///1
TEST.USER/654321////1
Transactions
In this section we refer to the following message:
HELPTEXT.MENU,OFS.DEMO/I/PROCESS,TEST.USER/654321,OFS.TEST,APPLICATION:1:=S
ECTOR,DESCRIPT:1:=Sector,APPLICATION:2:=INDUSTRY,DESCRIPT:2:=Industry,DESCR
IPT:2:2=Industrie
Operation (Blue)
Any valid T24 application or abbreviation is permitted.
Options (Red)
For application requests, the options may specify a VERSION to be used, the FUNCTION to be used
and a processing flag of either PROCESS or VALIDATE. The options section is delimited by the /
character.
VERSION/FUNCTION/PROCESSING FLAG
Where no FUNCTION is specified, it defaults to I. Where no processing flag is specified, it defaults to
PROCESS. VALIDATE indicates the all normal processing takes place without actually updating the
database, an example use of which would be to return all default fields. PROCESS indicates that the
message is to be committed to the database.
Below are some examples of using options and the effect:
Options used VERSION FUNCTION FLAG
OFS.DEMO/I/PROCESS OFS.DEMO I PROCESS
OFS.DEMO OFS.DEMO I PROCESS
OFS.DEMO/I/VALIDATE OFS.DEMO I VALIDATE
/R Not set. R PROCESS
/D Not set. D PROCESS
OFS.DEMO/V OFS.DEMO V PROCESS
//VALIDATE Not set. I VALIDATE
NB Care should be taken when using the V function in OFS as this may cause long running processes
to be invoked.
ID Information (Yellow)
Specifies the transaction reference to be used, and must be a valid key to the application being
invoked. If this is left blank, this can be automatically allocated for new transactions by those
applications that support this feature.
TRANSACTION.ID/MESSAGE.ID
TRANSACTION.ID
If specified, the id of the message being currently processed can be passed in.
Data (Black)
FieldName:MultiValueNumber:SubValueNumber=Content
Contains the data required to create/update the transaction, this is repeated for as many data items as
required, each item being separated by a ‘,’ where:
FieldName must be defined in the STANDARD.SELECTION record for the application. At least one
field must be specified where the function is I.
• MultiValueNumber targets a specific multi value. If not set, then the first multi value is
assumed. Not required for non – multi value fields.
• SubValueNumber targets a specific sub value. If not set, then the first sub value is assumed.
Not required for non – sub value fields.
• Content defines the data to be set to the specified field will be validated as per the standard
application.
If ‘NULL’ is specified as field data, OFS will blank the field of all data. This should not be used to
remove multi-values or sub values. As with any data entry / modification in OFS, the validation rules
must be observed. Should a mandatory entry field be set to NULL then an error would be generated.
To remove multi-value or sub value fields a minus sign (-) should be entered into the field data. Only
the first field needs be specified as a minus to remove a sub or multi value set.
Note:
If a ‘,’ (comma) character is required within the field content then it should be replaced by the ‘?’
(Question mark) character.
Each transaction to be updated using OFS can be configured using the standard VERSION utility.
This can be used to define default values, and can be customised with user-defined sub-routines.
The version will also control the handling of error messages and override conditions. The following
options are available:
NAU processing
There is a facility on VERSION to specify optional functionality for the processing of transactions via
OFS where $NAU records exist. The field NAU.PROCESSING in VERSION can be set according to
the type of NAU processing required.
0 Reject messages.
1 Overlay message.
2 Accept Reversal as Deletion.
3 Apply both option 1 and option 2 to this version.
Refer to the section Processing NAU Records in VERSION chapter for a detailed explanation of this
feature.
Foreign exchange swaps require that information is provided for both legs of a swap within a single
message. In this case information for the first leg is separated from information for the second leg by a
‘-‘ (underscore) character. This applies to the multi value number, sub value number, and field data
parts of the message.
An LD contract with a payment schedule requires the information for the linked application
LD.SCHEDULE.DEFINE. This can be done by adding the field information for
LD.SCHEDULE.DEFINE to the Loans and deposits MESSAGE DATA component, separated by ‘//’
(2 forward slashes).
When using OFS to update LD.LOANS.AND.DEPOSITS with LD.SCHEDULE.DEFINE, the
GTS.CONTROL field on both versions must be set to 1, overrides and accepted and errors placed on
hold.
Enquiries
ENQUIRY.SELECT,,TEST.USER/654321,CURRENCY-LIST,@ID:LK=C...
Operation (Blue)
ENQUIRY.SELECT
To run an ENQUIRY, the operation must be set to ENQUIRY.SELECT.
Options (Red)
There are no options used for enquiries.
ID Information (Yellow)
ENQUIRY.ID
The ID to the ENQUIRY to run. Mandatory.
Data (Black)
SELECTION.FIELD:OPERAND=CRITERIA
The selection criteria with which to run the enquiry (optional) where:
SELECTION.FIELD is the name of the field to select and must be either a valid SELECTION.FLDS for
the Enquiry or defined in the STANDARD.SELECTION record for the FILE.NAME of the Enquiry.
• OPERAND is the operand for the selection, must be specified with a SELECTION.FLDS, may
be EQ, NE, GE, GT, LE, LT, UL, LK, and NR.
• CRITERIA is the data value for the SELECTION.FLDS and requested operand for the
selection
Each Message Data specification should be separated by a ‘,’.
Clearing
CLEARING,US0010001,TEST.USER/654321,PAY,123456789,18899,USD,10
000,C,NET SALARY_ PAY,7654321,23884,USD,20000,D,NET SALARY
Operation (Blue)
CLEARING
To process a query request, the operation must be set to CLEARING
Options (Red)
A company code may be specified and is used as the company that the entries are raised in.
ID Information (Yellow)
AC.ENTRY.PARAM.ID
The ID to the AC.ENTRY.PARAM record that is used to define the layout of the data section.
Data (Black)
Each part of the entry should be separated by the character defined in the FIELD.DELIM field of the
AC.ENTRY.PARAM record. It is recommended that a comma is used.
Each entry is separated by a ‘_’
Configuration
The layout of the data section of OFS Clearing is controlled using AC.ENTRY.PARAM. For further
details on configuring AC.ENTRY.PARAM, refer to the section on the Generic Accounting Interface
in the Local Clearing User Guide.
XML reports
XML.REPORT,XML,TEST.USER/654321,PXML.CURRENCY.LIST
Operation (Blue)
XML.REPORT
To run an xml report, the operation must be set to XML.REPORT
Options (Red)
Either XML or ID. ID returns the HOLD.CONTROL key that was produced when the report was run,
such that the XML can be extracted asynchronously. XML will return the XML result.
ID Information (Yellow)
REPORT.CONTROLID
The key of the ENQUIRY.REPORT to run.
Data (Black)
Not required. It is possible to verify ENQUIRY records and have the &HOLD& ID or the entire XML
message brought back in the return message.
The application title has changed from ENQUIRY.REPORT to XML.REPORT, the OFS module will
translate the XML.REPORT script and apply it to the application ENQUIRY.REPORT.
Configuration
XML reports are configured via ENQUIRY.REPORT, where the OUTPUT.FORMAT should be set to
XML and the corresponding REPORT.CONTROL record has the FORM.NAME set to HOLD. Refer to
the Enquiry user guide for more detail.
Operation (Blue)
TEC.OFS.INTERFACE
To invoke the TEC OFS interface, the operation must be set to TEC.OFS.INTERFACE
Options (Red)
Not applicable.
ID Information (Yellow)
Not applicable.
Data (Black)
The data passed is comma delimited and composed of:
ITEM.ID,MY.KEY,MY.DETAIL,MY.VALUE
• ITEM.ID Key to TEC.ITEMS
• MY.KEY The key of the data passed
• MY.DETAIL Detail of the item
• MY.VALUE Any value (size, time, etc.) associated with the item. Optional
Configuration
Refer to the TEC user Guide for details on configuring the T24 Enterprise Console.
Transactions
Overview
The response syntax for a transaction request is returned in the following format:
Transaction ID
This will either contain the id supplied initially, or if no id was supplied the next available id (if
generated).
Message ID
Contains the OFS message reference of the processed message.
Success Indicator
This flag will indicate the success or failure of the request for both application and enquiry transactions.
The following values can be returned:
1 Successful transaction
-1 Error encountered
-2 Override condition encountered
-3 System offline
Response Data
A successfully processed update will return the fully populated record as a repeating string separated
by a comma in the same format as the data passed to OFS:
FieldName:MultiValueNumber:SubValueNumber=Content
A transaction encountering errors will return the list of fields that were in error, separated by a comma,
in the following formant:
FieldName:MultiValueNumber:SubValueNumber=ErrorMessage
Where:
• FieldName must be defined in the STANDARD.SELECTION record for the application. At
least one field must be specified where the function is I.
• MultiValueNumber targets a specific multi value. If not set, then the first multi value is
assumed. Not required for non – multi value fields.
• SubValueNumber targets a specific sub value. If not set, then the first sub value is assumed.
Not required for non – sub value fields.
• Content defines the data to be set to the specified field will be validated as per the standard
application.
• ErrorMessage contains error message generated for the associated Field name, Multi Value,
sub value. The message will be returned with variable elements expanded.
Enquiries
Overview
The data returned from enquiry will be in the following format, in three sections:
Identifier1=Text1/Identifier2=Text2
Where:
• Identifier - contains an identifier to determine which element of the header / caption is being
defined. May be alphanumeric defined in the underlying ENQUIRY.
• Text - Contains the text for the corresponding identifier.
Each repeating series of header definitions is delimited by a ‘/’.
Column Details
Identifier1:format type1:label1/Identifier2:format type2:label2
@ID::Key/CCY.NAME::Name
Where :
• Identifier - contains the column identifier, which can be a name or a number. Each column to
return information must be defined in the underlying ENQUIRY.
• Format type - contains the type of data contained in the column. This information can be used
for formatting. Possible types include DATE (formatted using standard date formats) and
AMOUNT (formatted to an amount with decimal format).
• Label - indicates the name of the column used as the column header.
Response Data
Clearing
Currently the Clearing interface does not give a response for a successful transaction.
In the case of an error, the response contains the error message.
XML Reports
Overview
Report ID
The ID of the report that was run.
Message Reference
The OFS message reference, where applicable.
Success Indicator
1 indicates the request was processed successfully. -1 indicates that an error was encountered, in
which case the Response Data holds the error message
Response Data
Contains either the key to the &HOLD& table, e.g. 137740002641133401, where the contents of the
report has been stored, or the actual XML response itself. An example of the XML output is shown
below in “pretty print” format. For further information refer to the OFSML schema documentation.
<T24 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://www.temenos.com/T24/OFSML/130"
xsi:schemaLocation="http://www.temenos.com/T24/OFSML/130 ofsml.xsd">
<ofsmlHeader>
<requestId>0001159949.01</requestId>
<requestTimeStamp>2006-SEP-22T16:39:09Z</requestTimeStamp>
<requestExpiryTime>P0Y0M1DT0H0M0S</requestExpiryTime>
</ofsmlHeader>
<serviceResponse>
<ofsReport docType="XML.REPORT">
<dataSet name="CURRENCY-LIST">
<fieldDefinition index="1" id="@ID" label="Key" type="ALPHANUMERIC" length="3"
repeatable="FALSE"/>
<fieldDefinition index="2" id="CCY.NAME" label="Name" type="ALPHANUMERIC" length="35"
repeatable="TRUE"/>
<record>
<field index="1">CAD</field>
<field index="2">CANADIAN DOLLAR</field>
</record>
<record>
<field index="1">CHF</field>
<field index="2">SWISS FRANCS</field>
</record>
</dataSet>
</ofsReport>
</serviceResponse>
</T24>
1,ITEM.ID=API.RESPONSE,KEY=MY.API,DETAIL=VERSION ROUTINE,VALUE=1234
Success Indicator
1 indicates the request was processed successfully. -1 indicates that an error was encountered, in
which case the Response Data holds the error message
Response Data
Confirms the data that was sent in the request:
ITEM.ID=PASSED.ITEM,KEY=PASSED.KEY,DETAIL=PASSED.DETAIL,VALUE=PASSED.VALUE
Other Features
Multi-company processing
OFS will allow transactions to be processed in any company that the user has access. The company
for the transaction can be specified as part of the message syntax.
Message Logging
A logging facility is provided for all messages for a particular service. This can log all traffic, exception
messages, communication start and end or no messages. Full history of each message can be
recorded if required. The details are stored in the OFS.REQUEST.DETAIL file if message audit is
required. If message auditing is required, full details of the message and subsequent processing
statuses will be recorded. Message logging is configured in OFS.SOURCE.
API Hooks
Processing can be customised to suit specific requirements by the use of API at various points within
the processing path. This is configured in OFS.SOURCE. User routines can be incorporated at the
following points:
Note: As the PGM.FILE application controls various aspects of the running of applications; changes
should only be made with the utmost caution. While adding .NOFS to the ADDITIONAL.INFO field
will simply prevent the use of OFS on that application, other changes could damage the integrity of the
system.
Encryption of Message
OFS.SOURCE
There are two fields in OFS.SOURCE which handle encryption: OFS.MESSAGE.DECRYPT &
DECRYPT.KEY
OFS.DECRYPT.KEY
The MSG.DECRYPT.KEY field contains the key with which the decryption will take place. The field
CIPHER.METHOD holds the desired Decryption method.
The options for CIPHER.METHOD are provided by a dropdown list.
OFS.DECRYPT.KEY
The local API calls OFS.POST.MESSAGE, passing the OFS.SOURCE record to use and one or
many OFS messages (delimited by a value mark - VM). The response is the key to the
OFS.MESSAGE.QUEUE table.
OFS.POST.MESSAGE writes the request out the to the OFS.MESSAGE.QUEUE table, which is the
trigger table for OFS.MESSAGE.SERVICE. The service picks up the message and processes through
OFS.PROCESS.MANAGER. Once processed, the record is removed from OFS.MESSAGE.QUEUE
and posted to OFS.RESPONSE.QUEUE with the same key with OFS response success/fail flag in the
first field and the actual OFS response in the 2nd field.
A second service, OFS.RESPONSE.QUEUE, purges the OFS.RESPONSE.QUEUE file according to
the minutes entered into the ATTRIBUTE.VALUE field on the TSA.SERVICE record. If a record is
older than the time entered it will be deleted.
Appendices
Appendix 1 – OFS Queue Manager
Offline / Store and Forward Capability
If the OFS.ONLINE.MANAGER is invoked from an external application and T24 is off-line at the time,
an option in the OFS.SOURCE will determine if processing is allowed.
If processing is allowed the system will return details from Enquiry requests. For application update
requests the system will allow messages to be added to a store and forward queue. In this situation
the message will be recorded as passed to the OFS.ONLINE.MANAGER, a success / failure indicator
will show that the message has been queued.
A background process, the OFS.QUEUE.MANAGER will be initiated when the system returns to its
online state and will submit each queued message back to the OFS.REQUEST.MANAGER, results
are written to an outward queue.
When running in batch mode a predetermined input directory defined in IN.QUEUE.FILE is selected
for batch input files, which will contain the OFS messages.
If IN.FILE.NAME is defined then only that file will be processed from the input directory.
Each input file is processed as follows:
• Individual messages are extracted
• A pre processor routine is called if required
• The message is passed to OFS.REQUEST.MANAGER to update T24
• A post update routine is called if required
• The output file is updated as follows:
o the returned message for OFS format
o the returned message tagged for XML format
o the input message appended with a return code
• When all messages have been processed the output file is written to the output directory defined
in OFS.SOURCE