OFS Technical Training
OFS Technical Training
OPEN FINANCIAL
T24 TRAINING
By Ani Chukwuemeka
SERVICE
At the end of the program you should be able
to
T24
Swift interface
ATM
T24 Browser
T24 Brow
Message Syntax
ACCOUNT,SAMPLE/I/PROCESS//2,
INPUTT/123456,34567,CUSTOMER=100724,CATEGORY=1001,CURRENCY=USD
Operation
Contains the name of APPLICATION.
Example: ACCOUNT.
Options
Comprises of VERSION-NAME/FUNCTION/PROCESS TYPE
/ GTS.CONTROL value/NO.OF.AUTHORISERS.
Example : TRG/I/VALIDATE//2
User Information
Comprises of SignOnName/Password/Company code
E.g INPUTT/123456/GB0010001
Transaction Request - Message Syntax cont…
Operation Options , User , Transaction , Message
,
Information ID Data
Transaction ID
Contains transaction id of the record used in the transaction.
Eg: 20548
Mandatory for See , Authorize , Delete & functions.
May also contain an optional message id.
Eg: 20548/20081010001
Message Data
Contains the data required to create or update the transaction.
Eg: CUSTOMER=100297,CATEGORY=1001,CURRENCY=USD
Eg: CUSTOMER :1:1=100297
Transaction Request - Examples
Request to Input
ACCOUNT,SAMPLE/I/PROCESS,
INPUTT/123456,34567,CUSTOMER=100724,CATEGORY=1001,CURRENCY=USD
Request to Authorise
ACCOUNT,SAMPLE/A,INPUTT/123456,34567
Workshop 1.1
Write a OFS message to input Write a OFS message to Write a OFS message to input Write a OFS message to input
a SECTOR record with id authorise this SECTOR. a new ABBREVIATION called a CUSTOMER record in T24.
1200 UL for listing the USER Use zero authorisers in your
records. message
SECTOR,ADMIN.INPUT/I/PROCESS/0/1,INP
UTT/123123,1921,DESCRIPTION=AGENT,SH
ORT.NAME=AGENT
SECTOR,ADMIN.INPUT/A/PROCESS,AUTHOR/
123456,1910
Workshop 1.1 -
Solutions
ABBREVIATION,MB.OFS.AUTH/I,INPUTT/12
3123,ULJ,ORIGINAL.TEXT=USER L
ENQUIRY REQUEST
Enquiry request – Message Syntax
ENQUIRY.SELECT
Must always be ENQUIRY.SELECT.
Name of the application that is used to run queries and return the data.
USER INFORMATION
Same as that in the transaction type request.
ENQUIRY.NAME
Name of the T24 Enquiry that will be run.
Must be a valid TEMENOS T24 enquiry (i.e. must be found in the ENQUIRY
application of TEMENOS T24).
Enquiry request – Message Syntax cont…
ENQUIRY.S User Enquiry Message
, , , ,
ELECT Information Name Data
MESSAGE DATA
The message data portion of the enquiry message structure contains the
selection criteria passed to the enquiry.
The message data portion of the message can be repeated for each selection
criteria separated by a comma (,).
This is optional depending on the Enquiry
Enquiry Request - Examples
With criteria
ENQUIRY.SELECT,,INPUTT/654321,%ACCOUNT,
ACCOUNT.NUMBER:EQ=11109
• Write an Enquiry type request to find
the list of INDUSTRY records found in
yourT24 area
Workshop 1.2 –
Enquiry Type • Write an Enquiry type request to find
the current day’s balance summary of
Messages an ACCOUNT (say for example 29987).
(TIP: Use the enquiry ACCT.BAL.TODAY)
• ENQUIRY.SELECT,,INPUTT/123123,%INDUSTRY
ENQUIRY.SELECT,,INPUTT/123123,ACCT.BAL.TO Workshop 1.2 –
DAY,ACCOUNT.NUMBER:EQ=78832
Solutions
You can use comma versions in a message
• Transaction message
• Enquiry message
• Operation
Important • Options
• User information
• Transaction Id
Points
• Message Data
Enquiry request
OFS MODES
Objectives
• List the different OFS modes and context in which they are used
• Name the OFS components used in each mode
• Identify the role of each component
Open Financial Service
Who sends messages to OFS?
T24
Swift interface
OFS
ATM
▪ T24 Applications
▪ Browser
What are the ways (and Modes )in which we use
OFS ?
OFS RESPONSES
Objectives
39087//1,CUSTOMER=100724:1:1,CATEGORY=1001:1:1,ACCOUNT.TITLE.1=AAA
SHIPPING COMPANY OF PANAMA:1:1,SHORT.TITLE=AAA SHIPPING COMPANY OF
PANAMA:1:1,POSITION.TYPE=TR:1:1,CURRENCY=USD:1:1,CURRENCY.MARKET=1:1
:1,ACCOUNT.OFFICER=27:1:1,CONDITION.GROUP=2:1:1,PASSBOOK=NO:1:1,OPEN
.CATEGORY=1001:1:1,CHARGE.CCY=USD:1:1,CHARGE.MKT=1:1:1,INTEREST.CCY=
USD:1:1,INTEREST.MKT=1:1:1,ALT.ACCT.TYPE=LEGACY:1:1,ALLOW.NETTING=NO
:1:1,SINGLE.LIMIT=Y:1:1,RECORD.STATUS=INAU:1:1,CURR.NO=1:1:1,INPUTTE
R=2_OFSUSER1___OFS_TEST.BATCH:1:1,DATE.TIME=0811012041:1:1,CO.CODE=G
B0010001:1:1,DEPT.CODE=1:1:1
OFS Message Syntax – Transaction
Response Format
Transaction ID Message ID Success / Returned
/ / Fail , Message Data
Indicator
39087//1,CUSTOMER=100724:1:1,CATEGORY=1001:1:1,ACCOUNT.TITLE.1=AAA
SHIPPING COMPANY OF PANAMA:1:1,SHORT.TITLE=AAA SHIPPING COMPANY OF
PANAMA:1:1,POSITION.TYPE=TR:1:1,CURRENCY=USD:1:1,CURRENCY.MARKET=1
:1:1,ACCOUNT.OFFICER=27:1:1,CONDITION.GROUP=2:1:1,PASSBOOK=NO:1:1,
OPEN.CATEGORY=1001:1:1,CHARGE.CCY=USD:1:1,CHARGE.MKT=1:1:1,INTERES
T.CCY=USD:1:1,INTEREST.MKT=1:1:1,ALT.ACCT.TYPE=LEGACY:1:1,ALLOW.NE
TTING=NO:1:1,SINGLE.LIMIT=Y:1:1,RECORD.STATUS=INAU:1:1,CURR.NO=1:1
:1,INPUTTER=2_OFSUSER1___OFS_TEST.BATCH:1:1,DATE.TIME=0811012041:1
:1,CO.CODE=GB0010001:1:1,DEPT.CODE=1:1:1
:1,CO.CODE=GB0010001:1:1,DEPT.CODE=1:1:1`
Transaction response (continued… )
Transaction ID Message ID Success / Returned
/ / Fail , Message Data
Indicator
• TRANSACTION ID
– The transaction ID contains either the value supplied for
the transaction in the request or the value that is
automatically generated by the TEMENOS T24 application
(when no value is supplied in the request).
• MESSAGE ID
– The Message ID contains the value of Message ID if supplied
in the request.
Transaction response (continued… )
• When MV and SV are not provided in the request, the values are defaulted to
1 and appears in the GTS format as below
It is recommended that MV and SV are supplied in the request
FT080090DL32//1,TRANSACTION.TYPE=AC:1:1,DEBIT.ACCT.NO=19038:1:1,CURRENCY.MKT.DR=1:1:1,DEBIT.CURRENCY
=EUR:1:1,DEBIT.AMOUNT=1000.00:1:1,DEBIT.VALUE.DATE=20080109:1:1,CREDIT.ACCT.NO=19089:1:1,CURRENCY.MK
T.CR=1:1:1,CREDIT.CURRENCY=EUR:1:1,CREDIT.VALUE.DATE=20080109:1:1,PROCESSING.DATE=20080109:1:1,CHARG
E.COM.DISPLAY=NO:1:1,COMMISSION.CODE=DEBIT PLUS CHARGES:1:1,CHARGE.CODE=DEBIT PLUS
CHARGES:1:1,PROFIT.CENTRE.CUST=100288:1:1,RETURN.TO.DEPT=NO:1:1,FED.FUNDS=NO:1:1,POSITION.TYPE=TR:1:
1,AMOUNT.DEBITED=EUR1000.00:1:1,AMOUNT.CREDITED=EUR1000.00:1:1,CREDIT.COMP.CODE=GB0010001:1:1,DEBIT.
COMP.CODE=GB0010001:1:1,LOC.AMT.DEBITED=1420.00:1:1,LOC.AMT.CREDITED=1420.00:1:1,CUST.GROUP.LEVEL=99
:1:1,DEBIT.CUSTOMER=100288:1:1,CREDIT.CUSTOMER=100381:1:1,DR.ADVICE.REQD.Y.N=Y:1:1,CR.ADVICE.REQD.Y.
N=Y:1:1,CHARGED.CUSTOMER=100381:1:1,TOT.REC.COMM=0:1:1,TOT.REC.COMM.LCL=0:1:1,TOT.REC.CHG=0:1:1,TOT.
REC.CHG.LCL=0:1:1,RATE.FIXING=NO:1:1,TOT.REC.CHG.CRCCY=0:1:1,TOT.SND.CHG.CRCCY=0:1:1,STMT.NOS=VAL:1:
1,OVERRIDE=WITHDRAWL.LT.MIN.BAL}WITHDRAWL MAKES A/C BAL LESS THAN MIN
BAL:1:1,OVERRIDE=ACCT.UNAUTH.OD}Unauthorised overdraft of & & on account
&.{EUR}2000}19038{EUR{2000{19038{100288{213{{:2:1,RECORD.STATUS=INAU:1:1,CURR.NO=1:1:1,INPUTTER=213_
ARCUSER___OFS_GCS:1:1,DATE.TIME=0902201108:1:1,CO.CODE=GB0010001:1:1,DEPT.CODE=1:1:1
Transaction response – example 2
FUNDS.TRANSFER,NEW/A,AUTHOR/123456,FT080090DL32
FT080090DL32//1,TRANSACTION.TYPE:1:1=AC,DEBIT.ACCT.NO:1:1=19038,CURRENCY.MKT.DR:1:1=1,DEBIT.CURRENCY:1:1=E
UR,DEBIT.AMOUNT:1:1=1000.00,DEBIT.VALUE.DATE:1:1=20080109,CREDIT.ACCT.NO:1:1=19089,CURRENCY.MKT.CR:1:1=1,C
REDIT.CURRENCY:1:1=EUR,CREDIT.VALUE.DATE:1:1=20080109,PROCESSING.DATE:1:1=20080109,COMMISSION.CODE:1:1=DEB
IT PLUS CHARGES,CHARGE.CODE:1:1=DEBIT PLUS
CHARGES,PROFIT.CENTRE.CUST:1:1=100288,RETURN.TO.DEPT:1:1=NO,FED.FUNDS:1:1=NO,POSITION.TYPE:1:1=TR,AMOUNT.D
EBITED:1:1=EUR1000.00,AMOUNT.CREDITED:1:1=EUR1000.00,DELIVERY.OUTREF:1:1=D20090220002134077900-900.1.1
DEBITADVICE,DELIVERY.OUTREF:2:1=D20090220002134078000-910.2.1 CREDIT
ADVICE,CREDIT.COMP.CODE:1:1=GB0010001,DEBIT.COMP.CODE:1:1=GB0010001,LOC.AMT.DEBITED:1:1=1420.00,LOC.AMT.CR
EDITED:1:1=1420.00,CUST.GROUP.LEVEL:1:1=99,DEBIT.CUSTOMER:1:1=100288,CREDIT.CUSTOMER:1:1=100381,DR.ADVICE.
REQD.Y.N:1:1=Y,CR.ADVICE.REQD.Y.N:1:1=Y,CHARGED.CUSTOMER:1:1=100381,TOT.REC.COMM:1:1=0,TOT.REC.COMM.LCL:1:
1=0,TOT.REC.CHG:1:1=0,TOT.REC.CHG.LCL:1:1=0,RATE.FIXING:1:1=NO,TOT.REC.CHG.CRCCY:1:1=0,TOT.SND.CHG.CRCCY:1
:1=0,AUTH.DATE:1:1=20080109,STMT.NOS:1:1=150270021340776.00,STMT.NOS:2:1=1-
2,OVERRIDE:1:1=WITHDRAWL.LT.MIN.BAL}WITHDRAWL MAKES A/C BAL LESS THAN MIN
BAL,OVERRIDE:2:1=ACCT.UNAUTH.OD}Unauthorised overdraft of
&&Onaccount&.{EUR}2000}19038{EUR{2000{19038{100288{213{{,CURR.NO:1:1=1,INPUTTER:1:1=213_ARCUSER___OFS_GCS,
DATE.TIME:1:1=0902201119,AUTHORISER:1:1=213_AUTHORISER_OFS_GCS,CO.CODE:1:1=GB0010001,DEPT.CODE:1:1=1
Transaction response – example 3
FUNDS.TRANSFER,NEW/R/VALIDATE,AUTHOR/123456,FT080090DL32
FT080090DL32//1,TRANSACTION.TYPE:1:1=AC,DEBIT.ACCT.NO:1:1=19038,CURRENCY.MKT.DR:1:1=1,DEBIT.CURRENCY:
1:1=EUR,DEBIT.AMOUNT:1:1=1000.00,DEBIT.VALUE.DATE:1:1=20080109,CREDIT.ACCT.NO:1:1=19089,CURRENCY.MKT.
CR:1:1=1,CREDIT.CURRENCY:1:1=EUR,CREDIT.VALUE.DATE:1:1=20080109,PROCESSING.DATE:1:1=20080109,COMMISSI
ON.CODE:1:1=DEBIT PLUS CHARGES,CHARGE.CODE:1:1=DEBIT PLUS
CHARGES,PROFIT.CENTRE.CUST:1:1=100288,RETURN.TO.DEPT:1:1=NO,FED.FUNDS:1:1=NO,POSITION.TYPE:1:1=TR,AMO
UNT.DEBITED:1:1=EUR1000.00,AMOUNT.CREDITED:1:1=EUR1000.00,DELIVERY.OUTREF:1:1=D20090220002134077900-
900.1.1 DEBIT ADVICE,DELIVERY.OUTREF:2:1=D20090220002134078000-910.2.1 CREDIT
ADVICE,CREDIT.COMP.CODE:1:1=GB0010001,DEBIT.COMP.CODE:1:1=GB0010001,LOC.AMT.DEBITED:1:1=1420.00,LOC.A
MT.CREDITED:1:1=1420.00,CUST.GROUP.LEVEL:1:1=99,DEBIT.CUSTOMER:1:1=100288,CREDIT.CUSTOMER:1:1=100381,
DR.ADVICE.REQD.Y.N:1:1=Y,CR.ADVICE.REQD.Y.N:1:1=Y,CHARGED.CUSTOMER:1:1=100381,TOT.REC.COMM:1:1=0,TOT.
REC.COMM.LCL:1:1=0,TOT.REC.CHG:1:1=0,TOT.REC.CHG.LCL:1:1=0,RATE.FIXING:1:1=NO,TOT.REC.CHG.CRCCY:1:1=0
,TOT.SND.CHG.CRCCY:1:1=0,AUTH.DATE:1:1=20080109,STMT.NOS:1:1=VAL,OVERRIDE:1:1=WITHDRAWL.LT.MIN.BAL}WI
THDRAWL MAKES A/C BAL LESS THAN MIN BAL,OVERRIDE:2:1=ACCT.UNAUTH.OD}Unauthorised overdraft of & & on
account
&.{EUR}2000}19038{EUR{2000{19038{100288{213{{,RECORD.STATUS:1:1=RNAU,CURR.NO:1:1=1,INPUTTER:1:1=213_A
RCUSER___OFS_GCS,DATE.TIME:1:1=0902201119,AUTHORISER:1:1=213_AUTHORISER_OFS_GCS,CO.CODE:1:1=GB0010001
,DEPT.CODE:1:1=1
Transaction Response syntax – for incorrect data
Field Multi Sub Error
Name : value : value = message
number number
Error Message – When a attempt to store data in a field has failed, the
error message is returned in place of field content
Transaction Response – for incorrect data portion
FUNDS.TRANSFER,/I/VALIDATE,INPUTT/123123,,
TRANSACTION.TYPE=AC,DEBIT.ACCT.NO=10103,
DEBIT.CURRENCY=AUD,DEBIT.AMOUNT=300,CREDIT.ACCT.NO=10138,C
REDIT.CURRENCY=CHF
Error Message
APPLICATION MISSING
SECURITY VIOLATION
,@ID::@ID/NUM.CCY::Ccy/NO.OF.DECIMALS::No Of
Decimals/QUOTATION.CODE::Quotation
Code/DAYS.DELIVERY::Delivery Days/MID.REVAL.RATE::Mid
Reval Date/BUY RATE::Buy Rate/SELL::Sell
Rate/DATE.TIME::Date,"AED" "784" "2 " "
" "1 " " 3.67250" " 3.67300" "
3.67200" "04 DEC 07 10:22","AUD" " 36" "2 " "0
" "1 " " 0.95000" " 0.94000" "
0.96000" "04 APR 08 17:45","CAD" "124" "2 " "
" "1 " " 1.20125" " 1.20150" "
1.20100" "04 DEC 07 10:25","CHF" "756" "2 " "
" "1 " " 1.18600" " 1.19600" "
1.17600" "04 DEC 07 10:25"
Enquiry and output
,@ID::@ID/NUM.CCY::Ccy/NO.OF.DECIMALS::No Of
Decimals/QUOTATION.CODE::Quotation Code/
DAYS.DELIVERY::Delivery Days/MID.REVAL.RATE::Mid Reval
Date/BUY RATE::Buy Rate/SELL::Sell
Rate/DATE.TIME::Date,"AED" "784" "2 " " "
"1 " " 3.67250" " 3.67300" " 3.67200"
"04 DEC 07 10:22","AUD" " 36" "2 " "0 " "1 "
" 0.95000" " 0.94000" " 0.96000" "04 APR
08 17:45","CAD" "124" "2 " " " "1 " "
1.20125" " 1.20150" " 1.20100" "04 DEC 07
10:25","CHF" "756" "2 " " " "1 " "
1.18600" " 1.19600" " 1.17600" "04 DEC 07
10:25"
OFS Enquiry Response - Syntax
HEADER=@ID/HEADER=F DISP.CUST/HEADER=F
CUSTOMER/HEADER=F ACCT.OFFICER,
MODULE::Module/TXN.REF::Transaction.Ref/
DISPLAY.NARRATIVE::Display Narrative/DEAL.CCY::Deal
CCY/DISP.AMT::Display AMT/MARGIN.DISP::Margin.Disp/
FORWARD.IND::Forward.IND/
COLL.RGHT.COVER::COLL.RIGHT.COVER/COLL.RIGHT::COLL.RI
GHT,
"AC" "14362" "MICROSOFT" "USD" "
2,780,234,562.14 " "" "" " "
“ ","100285" "MICROSOFT
","" " ","" ""
"ACCRUED INTEREST -667,667.69”
When are headers shown?
,@ID::@ID/NUM.CCY::Ccy/NO.OF.DECIMALS::No Of
Decimals/QUOTATION.CODE::Quotation
Code/DAYS.DELIVERY::Delivery Days/MID.REVAL.RATE::Mid
Reval Date/BUY RATE::Buy Rate/SELL::Sell
Rate/DATE.TIME::Date,"AED" "784" "2 " "
" "1 " " 3.67250" " 3.67300" "
3.67200" "04 DEC 07 10:22","AUD" " 36" "2 " "0
" "1 " " 0.95000" " 0.94000" "
0.96000" "04 APR 08 17:45","CAD" "124" "2 " "
" "1 " " 1.20125" " 1.20150" "
1.20100" "04 DEC 07 10:25","CHF" "756" "2 " "
" "1 " " 1.18600" " 1.19600" "
1.17600" "04 DEC 07 10:25"
Enquiry Response syntax - Returned data
Column
Value n Tab ,
HEADER=@ID/HEADER=F DISP.CUST/HEADER=F
CUSTOMER/HEADER=F ACCT.OFFICER,
MODULE::Module/TXN.REF::Transaction.Ref/
DISPLAY.NARRATIVE::Display Narrative/DEAL.CCY::Deal
CCY/DISP.AMT::Display AMT/MARGIN.DISP::Margin.Disp/
FORWARD.IND::Forward.IND/
COLL.RGHT.COVER::COLL.RIGHT.COVER/COLL.RIGHT::COLL.RI
GHT,
"AC" "14362" "MICROSOFT" "USD" "
2,780,234,562.14 " "" "" " "
“ ","100285" "MICROSOFT
","" " ","" ""
"ACCRUED INTEREST -667,667.69”
Quiz
1. Which one of these values in the success / fail
indicator show that an override condition was
encountered.
a. 1
b. -1
c. -2
d. -3
2. What error message would this OFS request throw
out?
FT,/A/VALIDATE,INPUTT/123123,FT08009X931N
a. SECURITY VIOLATION
b. FT NOT ALLOWED
c. VALIDATE OPTION NOT ALLOWED FOR ‘A’
FUNCTION
d. ABBREVIATION NOT ALLOWED
3. When does an enquiry response begin with a comma?
a. Always
b. Never
c. When there are no headers
d. When there is no data returned by the enquiry
OFS SOURCE
At the end of this session you should be
able to
Id
Source Type
Login Id
Syntax Type
Generic User
Id : TEST.TELNET
Login Id : ANY
Id
Source Type
Syntax Type
Generic User
Id : TCS
Response
Testing Telnet mode (cont…)
• Enter the following OFS transaction request
ABBREVIATION,/I/PROCESS,AUTHOR/123123,CUST,ORIGINAL.TEXT=CUSTOMER
Response
Workshop 5.1
Create a TELNET type Create a transaction Create another Use a enquiry type
OFS.Source. Use this type request to carry transaction request request to display
record to try out the out a Funds Transfer to authorise this the authorised
following messages. from one account to funds transfer transaction
the other . Important
fields are
• TRANSACTION.TYPE
• DEBIT.ACCT.NO
• DEBIT.CURRENCY
• DEBIT.VALUE.DATE
• DEBIT.AMOUNT
• DEBIT.CURRENCY
Quiz – State True or False
The Syntax type maybe OFS or XML The number of online connections
if the mode is SESSION are controlled through OFS.SOURCE
Quiz – State True or False - Answer
The Syntax type maybe OFS or XML if The number of online connections are
the mode is SESSION - True controlled through OFS.SOURCE – True
Important fields in Id, Source Type,
Login Id, Syntax
OFS.SOURCE Type, Generic User
OFS LOGGING
At the end of this session you should be able to
Configure logging in OFS
Handle duplicate messages
Objectives Disable OFS
Configure OFS.SOURCE for Channel
List more of the OFS.SOURCE fields and
state their purpose
Logs
User specified
System generated
PPPPPPJJJJJUUUUUTTTTTT.NN
ORD records
Change Change your OFS.SOURCE record to include ORD
Make Make sure that you put in prefix for your ORD
record ids.
Workshop 6.1
Input Input two messages – one that is correct and
one that has a wrong field value.
messages -
Attributes Checks F.OFS.UNIQUE.MSG.REF
Field
Preventing Duplicate
messages - example
Request
FUNDS.TRANSFER,TEST.OVERRIDE/I/PROCESS,INPUTT/123123,/ABC
DEFG10,TRANSACTION.TYPE=AC,DEBIT.ACCT.NO=10014,DEBIT.CURR
ENCY=AUD,DEBIT.AMOUNT=19,CREDIT.ACCT.NO=10057
Response
FT08010LWZFH/ABCDEFG10/1,DUPLICATE.TRAP:1:1=TRUE
Restricting Access – PGM.FILE
Request
FUNDS.TRANSFER,TEST.OVERRIDE/I/PROCESS,INPUTT/123123,,TRA
NSACTION.TYPE=AC,DEBIT.ACCT.NO=10014,DEBIT.CURRENCY=AUD,D
EBIT.AMOUNT=19,CREDIT.ACCT.NO=10057
Response
FUNDS.TRANSFER INVALID APPLICATION FOR OFS PROCESSING
Fields for Internet Banking
IB.USER.CHECK
Used by the old Temenos Internet Banking product
Tells SMS to check IB.USER and not USER for the security profile of the
user
Generic User must be set if IB.USER is enabled
CHANNEL
Specifies a channel through which a request may be received
Channel list in EB.CHANNEL
Used with the new ARC Internet Banking product
SMS checks EB.EXTERNAL.USER
Sample OFS.SOURCE with channel
Workshop 6.2
DISABLE OFS FOR THE ACCOUNT TEST THIS OUT BE SENDING A OFS
APPLICATION MESSAGE TO CREATE AN ACCOUNT
Quiz – Match ‘em
INTERNET
TIB
Detail of time message
was processed
OFS.REQUEST.DETAIL
PGM.FILE field entry
Log
CHANNEL
.NOFS
NO.DUPLICATE.CHECK
Solutions : Quiz – Match ‘em
INTERNET
TIB
Detail of time message
was processed
OFS.REQUEST.DETAIL
PGM.FILE field entry
Log
CHANNEL
.NOFS
NO.DUPLICATE.CHECK
You should now be able to
Configure logging in OFS
Handle duplicate messages
Summary Disable OFS
Configure OFS.SOURCE for Channel
List more of the OFS.SOURCE fields and state
their purpose
HEADING
SUB HEADING
CUSTOMER,/I/PROCESS//0,AUTHOR/123456,,MNEMONIC=AIRFRG,SHO
RT.NAME=AIRBOURNE FREIGHT,NAME.1=AIRBOURNE
FREIGHT,STREET=3101 WESTERN
AVE,TOWN.COUNTRY=SEATTLE,RELATION.CODE:1=1,REL.CUSTOMER:1
=100424,RELATION.CODE:2=2,REL.CUSTOMER:2=100724,SECTOR=20
01,ACCOUNT.OFFICER=1,INDUSTRY=1000,TARGET=999,NATIONALITY
=IN,CUSTOMER.STATUS=1,RESIDENCE=IN,LANGUAGE=1
Setting the no of authorisers… -
response
100966/IM0723600001/1,MNEMONIC=AIRFRG:1:1,SHORT.NAME=AIRBOURNE
FREIGHT:1:1,NAME.1=AIRBOURNE FREIGHT:1:1,STREET=3101 WESTERN
AVE:1:1,TOWN.COUNTRY=SEATTLE:1:1,RELATION.CODE=1:1:1,RELATION.CODE=2:2
:1,REL.CUSTOMER=100424:1:1,REL.CUSTOMER=100724:2:1,REVERS.REL.CODE=10:
1:1,REVERS.REL.CODE=12:2:1,SECTOR=2001:1:1,ACCOUNT.OFFICER=1:1:1,INDUST
RY=1000:1:1,TARGET=999:1:1,NATIONALITY=IN:1:1,CUSTOMER.STATUS=1:1:1,RESI
DENCE=IN:1:1,LANGUAGE=1:1:1,COMPANY.BOOK=GB0010001:1:1,CLS.CPARTY=NO:
1:1,OVERRIDE=INTRO/CUS*100 FROM 100966 NOT
RECEIVED:1:1,CURR.NO=1:1:1,INPUTTER=15_AUTHORISER___OFS_TAABS:1:1,DATE
.TIME=712131510:1:1,AUTHORISER=15_AUTHORISER_OFS_TAABS:1:1,CO.CODE=GB
0010001:1:1,DEPT.CODE=1:1:1
Feature 2 - Changing field values
Response
39087//1,CUSTOMER=100724:1:1,CATEGORY=1001:1:1,ACCOUNT.TI
TLE.1=AAA SHIPPING COMPANY OF PANAMA:1:1,SHORT.TITLE=AAA
SHIPPING COMPANY OF
PANAMA:1:1,POSITION.TYPE=TR:1:1,CURRENCY=USD:1:1,CURRENCY
.MARKET=1:1:1,ACCOUNT.OFFICER=27:1:1,CONDITION.GROUP=2:1:
1,CAP.DATE.CHARGE=20080131:1:1,PASSBOOK=NO:1:1,OPENING.DA
TE=20080110:1:1,OPEN.CATEGORY=1001:1:1,CHARGE.CCY=USD:1:1
,CHARGE.MKT=1:1:1,INTEREST.CCY=USD:1:1,INTEREST.MKT=1:1:1
,ALT.ACCT.TYPE=LEGACY:1:1,ALLOW.NETTING=NO:1:1,SINGLE.LIM
IT=Y:1:1,CURR.NO=3:1:1,INPUTTER=11_INPUTTER___OFS_TEST.TE
LNET:1:1,DATE.TIME=0811131421:1:1,AUTHORISER=11_INPUTTER_
OFS_TEST.TELNET:1:1,CO.CODE=GB0010001:1:1,DEPT.CODE=1:1:1
Removing a sub value example
Before
Removing a multi value example
Request
CUSTOMER,/I/PROCESS//0,INPUTT/123123,100424,
RELATION.CODE:2:1=-
Response
100424//1,MNEMONIC:1:1=AFRIBANK,SHORT.NAME:1:1=AFRIBANK,N
AME.1:1:1=AFRIBANK,STRE
ET:1:1=51-52 BROAD STREET,TOWN.COUNTRY:1:1=PMB 12021
LAGOS NIGERIA,
RELATION.CODE:1:1=2,REL.CUSTOMER:1:1=100724,
REVERS.REL.CODE:1:1=12,SECTOR:1:1=3001,ACCOUNT.OF
FICER:1:1=27,INDUSTRY:1:1=3100,TARGET:1:1=999,NATIONALITY
:1:1=NG,CUSTOMER.STATUS:1:1=22,RESIDENCE:1:1=NG,LANGUAGE:
1:1=1, COMPANY.BOOK:1:1=GB0010001,CLS.CPARTY:1:1=NO,
CURR.NO:1:1=3,INPUTTER:1:1=4_INPUTTER___OFS_TEST.TELNET,
DATE.TIME:1:1=0811141247,AUTHORISER:1:1=4_INPUTTER_OFS_TE
ST.TELNET,CO.CODE:1:1=GB0010001,DEPT.CODE:1:1=1
Removing a sub value example
After
Feature 3 -OFS Unique identification number
• OFS Unique Message Reference – This unique number can be sent as
part of the OFS message.
• How?
ACCOUNT,SAMPLE/I/PROCESS,INPUTT/654321,34343/55555,
CUSTOMER=100424,CATEGORY=1001,CURRENCY=USD.
• The highlighted section of the above OFS Message is the OFS Unique
Reference Number
Feature 4- Special characters in OFS messages
Response
CUF3//1,ORIGINAL.TEXT=CUSTOMER, I
F3:1:1,RECORD.STATUS=INAU:1:1,CURR.NO=
1:1:1,INPUTTER=13_INPUTTER___OFS_TEST.
TELNET:1:1,DATE.TIME=0811111442:1:1,
CO.CODE=GB0010001:1:1,DEPT.CODE=1:1:1
Special Characters in OFS
Write a OFS transaction request to create Test this out using the OFS
a zero authorized version for ACCOUNT
called NEWACCOUNT
Quiz – State True or False
You use a 0-authorizer version, but your message has no of authorizers
set to 1. The transaction will be authorized
To remove data from a multi-value field , set it to NULL
You can use a comma as part of the record id
Quiz - Answers
YOU USE A 0-AUTHORIZER VERSION, BUT TO REMOVE DATA FROM A MULTI-VALUE YOU CAN USE A COMMA AS PART OF THE
YOUR MESSAGE HAS NO OF AUTHORIZERS FIELD , SET IT TO NULL FALSE RECORD ID FALSE
SET TO 1. THE TRANSACTION WILL BE
AUTHORISED. FALSE
You should now be able to
Control the no of authorizers in a message
Summary Create a Unique Message Reference using ORD
Describe & use special characters in OFS messages
HEADING
SUB HEADING
GTS CONTROL
AND NAU
PROCESSING
At the end of this session you should be able to
Describe GTS Control and it’s effect on OFS
Objectives Describe NAU processing and it’s effect on OFS
GTS.CONTROL
Controls what should OFS Available as a field in Optional part of request GTS.CONTROL in Request
do if faced with an error or VERSION and supersedes that of VERSION
override message VERSION.CONTROL & VERSION.CONTROL
GTS Control values
Value What will OFS do with the transaction?
Null Error - reject record & return error response
Override – approve automatically and commit
1 Error – INAU file with status hold
Override – approve automatically and commit
2 Error - reject record & return error response
Override – INAU file with status hold
3 Error - INAU file with status hold
Override – INAU file with status hold
4 All transactions –write all transactions into INAU file
with status HOLD
GTS.CONTROL in
Transaction Request
Operation Options User Transaction Message
, , Information , ID , Data
• Options
– Comprises of VERSION-NAME/FUNCTION/PROCESS TYPE
/ GTS.CONTROL value/NO.OF.AUTHORISERS.
– Example : TRG/I/VALIDATE/1/2
Overrides & GTS.CONTROL
Request
FUNDS.TRANSFER,TEST.OVERRIDE/I/PROCESS,INPUTT/123123,,TRA
NSACTION.TYPE=AC,DEBIT.ACCT.NO=22117,DEBIT.CURRENCY=AUD,D
EBIT.AMOUNT=167,CREDIT.ACCT.NO=22179
Response (partial)
FT0801098RH7//1,TRANSACTION.TYPE=AC:1:1,DEBIT.ACCT.NO=221
17:1:1,CURRENCY.MKT.DR=1:1:1,DEBIT.CURRENCY=AUD:1:1,DEBIT
.AMOUNT=167.00:1:1,DEBIT.VALUE.DATE=20080110:1:1,
CREDIT.ACCT.NO=22179:1:1,CURRENCY.MKT.CR=1:1:1,
CREDIT.CURRENCY=AUD:1:1,CREDIT.VALUE.DATE=20080110:1:1,
PROCESSING.DATE=20080110:1:1,CHARGE.COM.DISPLAY=NO:1:1,
STMT.NOS=VAL:1:1,OVERRIDE=ACCT.UNAUTH.OD}Unauthorised
overdraft of & & on
account&.{AUD}167}22117{AUD{167{22117{100777{213{{:1:1,RE
CORD.STATUS=INAU:1:1,CURR.NO=1:1:1,INPUTTER=1_INPUTTER___
OFS_GCS:1:1,DATE.TIME=0811181508:1:1,CO.CODE=GB0
010001:1:1,DEPT.CODE=1:1:1
Setting GTS control in the version
Version & GTS.CONTROL
Request
FUNDS.TRANSFER,TEST.OVERRIDE/I/PROCESS,INPUTT/123123,,TRA
NSACTION.TYPE=AC,DEBIT.ACCT.NO=10057,DEBIT.CURRENCY=AUD,D
EBIT.AMOUNT=11,CREDIT.ACCT.NO=10014
Response
FT080100MB8V//-2/NO,HOLD - OVERRIDE Unauthorised
overdraft of AUD 11 on account 10057.
Override & GTS.CONTROL
Request
FT,NEW/S,INPUTT/123123,FT080100MB8V
Response
FT080100MB8V//1,TRANSACTION.TYPE:1:1=AC,DEBIT.ACCT.NO:1:1
=10057,CURRENCY.MKT.DR:1:1=1,DEBIT.CURRENCY:1:1=AUD,DEBIT
.AMOUNT:1:1=11.00,DEBIT.VALUE.DATE:1:1=2008011
,OVERRIDE:1:1=Unauthorised overdraft of AUD 11 on account
10057.,RECORD.STATUS:1:1=IHLD,INPUTTER:1:1=2_INPUTTER___O
FS_GCS,DATE.TIME:1:1=0811181559,CO.CODE:1:1=GB0010001
Using GTS.CONTROL in the version & message
Request
FUNDS.TRANSFER,TEST.OVERRIDE/I/PROCESS/1,INPUTT/123123,,T
RANSACTION.TYPE=AC,DEBIT.ACCT.NO=10057,DEBIT.CURRENCY=AUD
,DEBIT.AMOUNT=11,CREDIT.ACCT.NO=22117
Response (partial)
FT08010FMS46//ST
MT.NOS=VAL:1:1,OVERRIDE=ACCT.UNAUTH.OD}Unauthorised
overdraft of & & on account
&.{AUD}11}10057{AUD{11{10057{100780{213{{:1:1,
RECORD.STATUS=INAU:1:1,CURR.NO=1:1:1,INPUTTER=2_INPUTTER_
__OFS_GCS:1:1,DATE.TIME=0811181615:1:1,CO.CODE=GB0010001:
1:1,DEPT.CODE=1:1:1
Errors and GTS Control
Request
FUNDS.TRANSFER,NEW/I/PROCESS/1,INPUTT/123123,,TRANSACTION
.TYPE=AC,DEBIT.ACCT.NO=10103,DEBIT.CURRENCY=CAD,DEBIT.AMO
UNT=300,CREDIT.ACCT.NO=10138,CREDIT.CURRENCY=CHF
Response
FT08010YKVH4//-1/NO,DEBIT.CURRENCY:1:1=DEBIT ACCT CCY NOT
EQ DEBIT CCY
Record
FT08010YKVH4//1,TRANSACTION.TYPE:1:1=AC,DEBIT.ACCT.NO:1:1
=10103,CURRENCY.MKT.DR:1:1=1,DEBIT.CURRENCY:1:1=CAD,DEBIT
.AMOUNT:1:1=300.00,CREDIT.ACCT.NO:1:1=10138,,
RECORD.STATUS:1:1=IHLD,INPUTTER:1:1=1_INPUTTER___OFS_TEST
.TELNET,DATE.TIME:1:1=0811151748,CO.CODE:1:1=GB0010
001
NAU PROCESSING
NAU Processing
Request
FUNDS.TRANSFER,TEST.OVERRIDE/I/PROCESS,INPUTT/123123,
FT0801098RH7,TRANSACTION.TYPE=AC,DEBIT.ACCT.NO=22117,DEBI
T.CURRENCY=AUD,DEBIT.AMOUNT=100,CREDIT.ACCT.NO=22179
Response (partial)
FT0801098RH7//1,TRANSACTION.TYPE=AC:1:1,DEBIT.ACCT.NO=221
17:1:1,CURRENCY.MKT.DR=1:1:1,DEBIT.CURRENCY=AUD:1:1,DEBIT
.AMOUNT=100.00:1:1,DEBIT.VALUE.DATE=20080110:1:1,
CREDIT.ACCT.NO=22179:1:1,CURRENCY.MKT.CR=1:1:1,CREDIT.CUR
RENCY=AUD:1:1,CREDIT.VALUE.DATE=20080110:1:1,STMT.NOS=VAL
:1:1,OVERRIDE=ACCT.UNAUTH.OD}Unauthorised overdraft of &
& on account
&.{AUD}100}22117{AUD{100{22117{100777{213{{:1:1,RECORD.ST
ATUS=INAU:1:1,CURR.NO=1:1:1,INPUTTER=1_INPUTTER___OFS_GCS
:1:1,DATE.TIME=0811181521:1:1,CO.CODE=GB001
0001:1:1,DEPT.CODE=1:1:1
NAU :Processing
Controls what happens if an NAU record already exists when a
transaction is input
NAU.PROCESSING field in VERSION
Outcome – retain existing record or overwrite
Addresses both input and reverse actions
NAU Processing - values
Value Behavior
0 Applies to input & reversals . Effect - Reject messages
when an NAU record exists
1 Applies to Input only. Effect - Overwrites NAU record
with the values from the OFS message.
2 Applies to Reversals only. Effect - Deletes NAU +
reverses live
3 Applies to input & reversals . Effect - Behaviour of 1 &
2
NAU Processing example - input
Request
FUNDS.TRANSFER,TEST.OVERRIDE/I/PROCESS,INPUTT/123123,,TRA
NSACTION.TYPE=AC,DEBIT.ACCT.NO=10707,DEBIT.CURRENCY=CHF,D
EBIT.AMOUNT=100,CREDIT.ACCT.NO=22608
Response (partial)
FT08010DRS9M//1,TRANSACTION.TYPE=AC:1:1,DEBIT.ACCT.NO=107
07:1:1,CURRENCY.MKT.DR=1:1:1,DEBIT.CURRENCY=CHF:1:1,DEBIT
.AMOUNT=100.00:1:1,DEBIT.VALUE.DATE=20080110:1:1,CREDIT.A
CCT.NO=22608:1:1,CURRENCY.MKT.CR=1:1:1,CREDIT.CURRENCY=CH
F:1:1,CREDIT.VALUE.DATE=20080110:1:1,PROCESSING.DATE=2008
0110:1:1,CHARGE.COM.DISPLAY=NO:1:1,AMOUNT.DEBITED=CHF100.
00:1:1,AMOUNT.CREDITED=CHF100.00:1:1,CREDIT.COMP.CODE=
GB0010001:1:1,DEBIT.COMP.CODE=GB0010001:1:1,LOC.AMT.DEBIT
ED=84.32:1:1,LOC.AMT.CREDITED=84.32:1:1,,STMT.NOS=VAL:1:1
,RECORD.STATUS=INAU:1:1,CURR.NO=1:1:1,INPUTTER=2_INPUTTER
___OFS_GCS:1:1,DATE.TIME=0811191207:1:1,CO.CODE=GB0010001
:1:1,DEPT.CODE=1:1:1
NAU Processing example – input again
Request
FUNDS.TRANSFER,TEST.OVERRIDE/I/PROCESS,INPUTT/123123,
FT08010DRS9M,TRANSACTION.TYPE=AC,DEBIT.ACCT.NO=10707,
DEBIT.CURRENCY=CHF, DEBIT.AMOUNT=123,CREDIT.ACCT.NO=22608
Response
FT08010DRS9M//-1/NO,@ID:1:1=NAU.PROCESSING = '0', NAU
RECORD CANT BE UPDATED
NAU Processing 1 EXAMPLE
Request
FUNDS.TRANSFER,TEST.OVERRIDE/I/PROCESS,INPUTT/123123,
FT08010DRS9M,TRANSACTION.TYPE=AC,DEBIT.ACCT.NO=10707,
DEBIT.CURRENCY=CHF, DEBIT.AMOUNT=123,CREDIT.ACCT.NO=22608
Response (partial)
FT08010DRS9M//1,TRANSACTION.TYPE=AC:1:1,DEBIT.ACCT.NO=107
07:1:1,CURRENCY.MKT.DR=1:1:1,DEBIT.CURRENCY=CHF:1:1,DEBIT
.AMOUNT=123.00:1:1,DEBIT.VALUE.DATE=20080110:1:1,CREDIT.A
CCT.NO=22608:1:1,CURRENCY.MKT.CR=1:1:1,CREDIT.CURRENCY=CH
F:1:1,CREDIT.VALUE.DATE=20080110:1:1,PROCESSING.DATE=2008
0110:1:1,CHARGE.COM.DISPLAY=NO:1:1,
,STMT.NOS=VAL:1:1,RECORD.STATUS=INAU:1:1,CURR.NO=1:1:1,
INPUTTER=2_INPUTTER___OFS_GCS:1:1,DATE.TIME=0811191551:1:
1,CO.CODE=GB0010001:1:1,DEPT.CODE=1:1:1
Write an OFS message to input a
funds transfer . Use the GTS control
to ensure that transactions with
errors or overrides are put on hold.
Workshop
10.1 Write another OFS message to change
the amount. Use the NAU Processing
field to ensure that existing NAU
records are not overwritten.
Quiz
Bank Z uses T24 . The Funds Transfer module for various reasons still
runs on a legacy application. The transactions from this is uploaded to
T24. However, messages with errors must be put on hold and those
with overrides must be automatically approved. What value will you
give in GTS Control?
The bank wants to control NAU processing in the message. What
parameter should they change?
Quiz - answer
Bank Z uses T24 . The Funds Transfer module for various reasons
still runs on a legacy application. The transactions from this is
uploaded to T24. However, messages with errors must be put on
hold and those with overrides must be automatically approved.
What value will you give in GTS Control? 1