Template Training
What is a Template Program?
APPLICATION PROGRAM
. Get data
. Stores data
Why T24 uses THE TEMPLATE
Any user who wishes to create a new application on T24 has to make use of an existing program in
T24 called a TEMPLATE in order to
-> Maintain code consistency and code standard
-> Rapid code development
-> Eliminate Mundane tasks
Major Components
When creating a new application, there are various factors that need to be kept in mind, like the
-> Functions that can be allowed for the application
-> Fields that comprise the application
-> Field level Validations
-> Input level Validations
-> Authorization level validations
Types of TEMPLATES
History (H): This kind of template will be used when you need to have all the three files created LIVE,
$NAU & $HIS
Unauthorised (U): This kind of template will be used when you need to have only LIVE, $NAU files
created.
Live (L): This kind of template will be used when you need to have only LIVE files created.
Concat (T): This kind of template will be used when you need to have any CONCAT file information.
Work (W): This can be used when you need some table to be created for temporary storage or for any
specific function
Classification of TEMPLATES
Classificatio
n Details
Installation - This covers files like COMPANY, USER, LANGUAGE, where only one
INT version of the file will exist regardless of the number of companies
Customer - for files where the data can be shared between companies. Primarily
CUS static information and tables like Sector
Financial - for files that hold financial level details (amounts, balances etc.) where the
FIN data cannot be shared with other companies.
Create Tables using Templates
Temenos has come up with a predefined code (the TEMPLATE) which will be a Building Block for
creating any of the available type of tables.
Below codes in GLOBUS.BP/T24.BP are readily available for this purpose
TEMPLATE
TEMPLATE.FIELDS
Copy these codes and start modifying as per the need and request.
Decisions to be taken before creating any new tables
Table Classification
Table type
ID Format
Field Names
Field Properties
Any validations for these Fields
Attributes of the field
Attributes of a field have to be specified when a field is created. In order to specify
the attributes for a field, T24 gives us 3 arrays namely the
-> F arrays: To define name and to specify field is single value or multivalue
-> N Array: To define maximum and minimum number of characters the field can hold
-> T Array: Alpha or Numeric
Example: Following is the way to define a field using the 3 different arrays
F(1) = "Fieldname" ; N(1) = "35.1" ; T(1)<1>="A"
F Array: To define the name of the FIELD
Define a single value field in the following way
F(1)="Fieldname"
Define a multi value field in the following way
F(1)="XX>Fieldname"
Define a sub value field in the following way
F(1)= "XX.XX.Fieldname"
In order to define an associated sub value field the definitions has to be as follows
F(1) = "XX.XX<Fieldname1"
F(2) = "XX.XX-Fieldname2"
F(3) = "XX.XX>Fieldname3"
Z=0
Z+=1 ; F(Z) = "XX.TT.TXN.CODE" ; N(Z) = "35" : T(Z) = ""
Z+=1 ; F(Z) = "FT.TXN.THRESHOLD" ; N(Z) = "35" : T(Z) = ""
Z+=1 ; F(Z) = "XX.TELLER.TXN.CODE" ; N(Z) = "35" : T(Z) = ""
N Array
The N array comprises of 2 parts
The first part is used to specify the maximum number of characters.
The second part is used to specify the minimum number of characters.
T Array
The T array consists of 3 elements
Element 1 Element 2 Element 3
IN2 Routines Pick Lists NOINPUT/NOCHANGE
Element 1:
The first element of the T array is used to define the type of data the field has to contain
Example: T(1)<1>='A'
The value input for the 1st element refers to a suffix of an IN2 routine
Element 2:
The Second element of the T array is used to define pick lists for a field.
Example: T(1)<2> = "Value1_Value2_Value3_Value4_Value5"
Element 3:
The Third element of the T array is used to make a field a NOINPUT or NOCHANGE field.
Note: (Remember a field cannot be NOINPUT and NOCHANGE)
T(1)<3>="NOINPUT" (or)
T(1)<3>="NOCHANGE"
Example :
Z+=1 ; F(Z) = "RESERVED.FLD":".":Z ; N(Z) = "35" ; T(Z) = "A"; T(Z)<3>= 'NOINPUT'
Z+=1 ; F(Z) = "RESERVED.FLD":".":Z ; N(Z) = "35" ; T(Z) = "A"; T(Z)<3>= 'NOINPUT'
Note: You can refer IN2 Routines in the document “In2 routines.pdf
The variable V is an important common variable used to hold the number of fields in the record and
should be set to Z + 9 for input applications and Z for display only applications (where Z is the last
field defined in the 'F' array). If the standard APIs have been used instead of direct array
manipulation, this is achieved using the Table.setAuditPosition method.
Latest Method:
Template programming followed by calling TEMPLATE and TEMPLATE.FIELDS:
Template. Fields
Artefact Creation using EB.DEV.HELPER
EB.DEV.HELPER is a standard utility that creates all of the artefacts that are required to run an
application in T24. The key to the record is application that you are working on, and once
verified will perform a number of actions if relevant field is flagged
PGM.FILE Creates a PGM.FILE record based on the information set in the properties array
FILE.CONTROL Creates a FILE.CONTROL record based on the information set in the
properties array
INSERT Creates the insert file (I_F.MY.APPLICATION) that holds the equated field names.
Uses the prefix defined in the EQUATE.PREFIX property
CREATE.FILE Creates the physical database files using EBS.CREATE.FILES
UPDATE.SS Updates / Creates the STANDARD.SELECTION record via OFS and sets the
REBUILD.SYS.FIELDS flag to ‘Y’
Workshop1: REDO.CREATE.ARRANGEMENT
Properties:
Nr. Property Definition
1 Name REDO.CREATE.ARRANGEMENT
2 Product EB
3 File Type H
4 Classification INT
Layout:
IN2 & Len
No. Field Name Description
Edit gth
@ID ID can be any string 35
0 A
LIMIT Mandatory Field. Alphabetic 30
1 N
APPRVL.DATE Mandatory Field. 10
2 D
OFFRD.UNTIL Mandatory Field 10
3 D
XX.NOTES Text field to capture details. Multi value field with the option 35
4 A to enter more than 35 characters.
Non Mandatory.
XX.INTRNL.AMT The field is editable. Mandatory Field. 14
5 AMT
MAX.TOTAL The internal amount entered should be defaulted in this 20
6 AMT
field.
AVAIL.MKR Should be defaulted to yes always. Mandatory Field. 15
7 A
PROVINCES This should display all the Provinces in the drop down. 20
8 N
XX-ADDRESS Multi value field where up to 200 characters can be entered. 30
9 A
10 INSUR.POLICY A Drop down field with the following values. 15
1. ENDORSED
2. APAP.GROUP.POLICY
SEC.STATUS Drop down field with the following values. 25
a) In-force:
11 A
b) In-Use:
c) Liquidated.
XX-REMARKS Free text field 30
12 A
Local field 35
13 A
LOCAL.REF
Reserve fields. Use Call Table.addFeild 35
14 A
5 RESERVED FIELDS
Override field 35
15 A
OVERRIDE
9 Audit fields
16
Audit Fields
Workshop 2: REDO.UPDATE
Properties:
No. Property Definition
1 Name REDO.UPDATE
2 Product EB
3 File Type L
4 Classification INT
Layout:
No. Field Name IN2 & Edit Length
0 @ID A 35
1 LIMIT N 30
2 APPRVL.DATE D 10
3 MAX.TOTAL AMT 20
Different levels of Validations:
ID Validation: ID should be in below format. ARR followed by TIMEDATE
(Example: TRG.BP>REDO.CREATE.ARRANGEMENT.ID)
Record: APPRVL.DATE Date to default to today
(Example: TRG.BP>REDO.CREATE.ARRANGEMENT.RECORD)
Validate: a. The total of internal amount entered should be defaulted in this field MAX TOTAL
b. If approval date is less than today then an error message to be displayed
(Example: TRG.BP>REDO.CREATE.ARRANGEMENT.VALIDATE)
Note: During Validate
Overrides: If Address is null then an override must be updated
(Example: TRG.BP>REDO.CREATE.ARRANGEMENT.OVERRIDES)
Authorise: Limit, Offered Until and Max total must be updated to a contact table with same @id
(Example: TRG.BP>REDO.CREATE.ARRANGEMENT.AUTHORISE)
Note: During Authorise
Assignment2.
a. Create template for cheque register with below including validations
Number Property Definition
1 Name TRG.CHEQUE.REG
2 Product EB
3 File Type H
4 Classification INT
Prefix: CHQ.REG
Layout:
IN2 &
No. Field Name Length Validations
Edit
Id must start with today’s date hyphen
0 @ID A 35 sequential number. TODAY-00001. Use
F.LOCKING
30
Validation to be done to verify more than 100
1 CHEQUE.ALLOC N Mandator
cheques not to be issued
y
10
append cheque number with company
2 START.CHEQ.NO N Mandator
mnemonic. BNK001
y
10
append cheque number with company
3 END.CHEQ.NO N Mandator
mnemonic. BNK100
y
4 ISSUE.DATE D 10 Default to today’s date
Link to account table. Only customer
5 ISSUED.ACCOUNT N 11
accounts to be inputted
On Authorization cheque number , start number and end number must be update
CHEQUE.UPDATE table
b. Create template for update purpose:
Number Property Definition
1 Name TRG.CHEQ.UPD
2 Product EB
3 File Type L
4 Classification FIN
Prefix: CHQ.UPD
Layout for Update table
IN2 &
No. Field Name Length Validations
Edit
0 @ID N 35 Account Number
1 CHEQUE.ALLOC N 30 Update
2 START.CHEQ.NO N 10 Update
3 END.CHEQ.NO N 20 Update