100%(10)100% found this document useful (10 votes)
6K views
Template Programming
The document discusses applications and tables in T24 core banking software. It explains that applications allow input of data, store data in a database, and perform business functions, while tables store static reference data for use by applications. The document outlines different types of applications (H, U, L, T, W) and how they correspond to different database file types ($HIS, $NAU, live). It also describes common variables like ID.NEW, R.NEW, and functions used with applications in T24.
Download as PPT, PDF, TXT or read online on Scribd
100%(10)100% found this document useful (10 votes)
6K views
Template Programming
The document discusses applications and tables in T24 core banking software. It explains that applications allow input of data, store data in a database, and perform business functions, while tables store static reference data for use by applications. The document outlines different types of applications (H, U, L, T, W) and how they correspond to different database file types ($HIS, $NAU, live). It also describes common variables like ID.NEW, R.NEW, and functions used with applications in T24.
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 80
Slide 1
What Is An Application In T24?
T24 Applications Allows input of data Stores data in database Performs a business functionality Example: Funds Transfer, Money Market
T24 Tables Allows input of data Stores data in database Holds static data used by other applications Performs no business functionality on its own Example: Category, Currency Slide 2 Applications in T24 There are different kinds of applications in T24 H type U type L type T type W type
At database level depending on the kind above, there can be A $HIS file (Data) A $NAU file (Data) A Live file (Data) A ]D file (Dict) Slide 3 Functions in T24 There are different functions that can be used with these applications I Input A Authorise S See L List V Verify C Copy D Delete R Reverse H History Restore 2 Second Authoriser P Print
Slide 4 Application Classification Applications can be either CUS FIN INT Other classifications available too, but have properties of one of the above
Naming conventions for database files
CUS F<MNE>.<APPLICATION>{$<SUFFIX}
FIN F<MNE>. <APPLICATION>{$<SUFFIX}
INT F. <APPLICATION>{$<SUFFIX}
Slide 5 Definitions from T24 What is an Application in T24? An application in T24 allows input of data and performs some business processing too.
What is a Table in T24 A table too stores data, static data that can be used by one or more applications
What is a Product? One or more applications and tables that work together to perform a business functionality
Slide 6 Before Creating An Application We must decide a name for our application
What type of application (H, U, L, T, W)
What classification (CUS, FIN, INT)
We must decide what functions are going to be permitted
We must decide fields Data types Max, Min Characters Field Names Extra validations of data
Other related file updates
What is the business functionality to be built in
Slide 7 Application flow in T24 Always the same 1. Enter Application Name T24 checks if a VALID Application is entered.
2. Enter Function and ID When data is entered and we hit enter, T24 validates it as a function. When we enter data and hit the edit button, the function is taken as I and the data is validated as an ID of the application
3. Open record Checks if record exists with same ID, if yes read from file and load into cache If record does not exist, open new record for user.
4. Enter Data and Commit Validates data, raises errors or overrides and saves record in database
5. Authorise Record If everything is OK, save changes in the database, update other applications if required Send advices to customer (if any)
We have decided Slide 8 Business Functionality When and What we must do Other Features -Functions -Product Information -Type of Application H, U. L etc., -Classification FIN, CUS, INT etc.,
T24 Application Flow My new Application Slide 9 Code If we want to develop an application in T24, do we have to start writing code from scratch? NO NO NO
There are two core subroutines called TEMPLATE and THE.TEMPLATE that we must use to create an application
Thats why this course is called TEMPLATE PROGRAMMING What now Slide 10 Business Functionality When and What we must do METHODS Other Features -Functions -Product Information -Type of Application H, U. L etc., -Classification FIN, CUS, INT etc., Properties defined in TEMPLATE T24 Application Flow THE.TEMPLATE My new Application Slide 11 Common Variables Variables in T24 Global Local
Most variables used in TEMPLATE programming can be found in I_COMMON
Application / Product specific common variables also available I_ENQUIRY.COMMON I_GTS.COMMON etc
Must include I_ file in all code
$INSERT I_File - will look for I_ file in current directory, GLOBUS.BP and bnk.run
$INCLUDE <Dir> I_File must specify the directory in which file is present Slide 12 A Must Know Following common variables need to be understood before we attempt to create version routines
All the above mentioned variables are common variables defined in I_COMMON.
Slide 13 What Happens When A New Record Is Created In T24? ID.NEW : 123456 R.NEW Mnemonic : TRG Name.1 : TRG Street : RANGA ROAD Sector : 1100 Target : 999 Customer Status : 1 Nationality : IN Residence : IN Language : 1 Record Status : ID.NEW.LAST - NOT USED
R.NEW.LAST
NOT USED ID.OLD - NOT USED R.OLD
NOT USED
User creates new CUSTOMER record using CUSTOMER I F3 When record is committed
Slide 14 ID.NEW Common variable defined in I_COMMON
Contains the ID of the currently opened record in any application
When the record is closed or committed or authorised the value in this variable gets flushed.
Slide 15 R.NEW Common variable defined in I_COMMON
Dimensioned array which comprises of 500 dynamic arrays
Holds the currently opened record in any application
ID.NEW holds the ID of the currently opened record, while R.NEW holds the actual record. R in the variable name stands for Record
Definition as seen in I_COMMON : DIM R.NEW(C$SYSDIM) Where C$SYSDIM = 500
Inference : Since the size of R.NEW is now restricted to 500 it implies that no application in T24 has more than 500 fields. The day it exceeds 500, C$SYSDIMs value will be increased Slide 16 When Happens When A Record Is Authorized? ID.NEW : 123456 R.NEW Mnemonic : TRG Name.1 : TRG Street : RANGA ROAD Sector : 1100 Target : 999 Customer Status : 1 Nationality : IN Residence : IN Language : 1 Record Status : INAU ID.NEW.LAST 123456
R.NEW.LAST Mnemonic : TRG Name.1 : TRG Street : RANGA ROAD Sector : 1100 Target : 999 Customer Status : 1 Nationality : IN Residence : IN Language : 1 Record Status :INAU ID.OLD Not Used R.OLD
Not Used Values from R.NEW only are written into the database when record is COMMITTED/AUTHORISED
User opens INAU record to authorise it
Slide 17 ID.NEW.LAST Common variable defined in I_COMMON
If an unauthorized record exists for the currently opened record in any application, this variable will hold the ID of the unauthorized record
You may ask, Will the ID of a live record and a unauthorized record ever be different? No. This variable enables us to know, programmatically whether an unuathorised record exists for the currently opened record
Slide 18 R.NEW.LAST Common variable defined in I_COMMON
Dimensioned array which comprises of 500 dynamic arrays
Holds the currently opened record in any application
ID.NEW.LAST holds the ID of the currently opened records unuathorised record (if it exists), while R.NEW.LAST holds the actual unauthorized record (If it exists). R in the variable name stands for Record
Definition as seen in I_COMMON : DIM R.NEW.LAST(C$SYSDIM) Where C$SYSDIM = 500
Slide 19 What Happens When An Authorized Record Is Amended? ID.NEW : 123456 R.NEW Mnemonic : TRG Name.1 : TRG Street : RANGA ROAD Sector : 1100 1200 Target : 999 Customer Status : 1 Nationality : IN Residence : IN Language : 1 Record Status : ID.NEW.LAST NOT USED
R.NEW.LAST
NOT USED ID.OLD - 123456 R.OLD Mnemonic : TRG Name.1 : TRG Street : RANGA ROAD Sector : 1100 Target : 999 Customer Status : 1 Nationality : IN Residence : IN Language : 1 Record Status : Values from R.NEW only are written into the database when record is COMMITTED/AUTHORISED
Slide 20 ID.OLD Common variable defined in I_COMMON
If an authorized record exists for the currently opened record in any application, this variable will hold the ID of the authorized record
This variable enables us to check programmatically whether the currently opened record has a previously authorized record Slide 21 R.OLD Common variable defined in I_COMMON
Dimensioned array which comprises of 500 dynamic arrays
Holds the currently opened records previously authorized record (if any) in any application
ID.OLD holds the ID of the currently opened records authorised record (if it exists), while R.OLD holds the actual live record (If it exists). R in the variable name stands for Record
Definition as seen in I_COMMON : DIM R.OLD(C$SYSDIM) Where C$SYSDIM = 500
Slide 22 What Happens When A Change On An Authorized Record Is Authorized? ID.NEW : 123456 R.NEW Mnemonic : TRG Name.1 : TRG Street : RANGA ROAD Sector : 1200 Target : 999 Customer Status : 1 Nationality : IN Residence : IN Language : 1 Record Status : INAU ID.NEW.LAST - 123456
R.NEW.LAST Mnemonic : TRG Name.1 : TRG Street : RANGA ROAD Sector : 1200 Target : 999 Customer Status : 1 Nationality : IN Residence : IN Language : 1 Record Status : INAU
ID.OLD - 123456 R.OLD Mnemonic : TRG Name.1 : TRG Street : RANGA ROAD Sector : 1100 Target : 999 Customer Status : 1 Nationality : IN Residence : IN Language : 1 Record Status :
The old authorized record (With Sector 1100) goes to history (FBNK.SECTOR$HIS)
ID of the record in the history file will be 123456;1
Contents of R.NEW is written to the LIVE file Slide 23 Common Variables I_COMMON We must learn the use of these common variables before we continue
V$FUNCTION Holds the T24 function entered by the user
MESSAGE Allows inter routine or inter para communication by setting process state in this variable
AF, AV, AS Holds the field position, multi value position and sub value position respectively
E and ETEXT Variables used to store error message to be displayed. E is used by THE.TEMPLATE itself to display errors if any
ID.COMPANY and R.COMPANY Variable that holds the ID of the company we are currently logged into and the COMPANY record is loaded into R.COMPANY Slide 24 Some more Common Variables R.USER - Loaded as soon as the user logs in, holds the USER profile
OPERATOR ID of the User currently logged in
APPLICATION - Holds the name of the application currently in use. In T24 only one application can be active at a given point in time
LCCY, LNGG Holds Local Currency as defined in company Holds the language from the USER profile
TODAY - Holds T24s today (date)
C$SYSDIM Common variable equated to 500 in I_COMMON, used to define the size of all dimensioned array common variables
Slide 25 The TEMPLATE Subroutine Static Information or Properties of our application
Use core subroutine TEMPLATE (GLOBUS.BP)
We must decide a name for our application
What type of application (H, U, L, T, W)
What classification (CUS, FIN, INT)
We must decide what functions are going to be permitted
Why do we need to mention all this? To create additional components of an application
Slide 26 Other Component of an Application What does T24 do with all the properties of the application we define in the TEMPLATE subroutine?
There are other components of an application other than code
PGM.FILE Entry Type of application Special properties (additional info)
FILE.CONTROL Entry File suffixes available Classification
Slide 27 Other Component of an Application STANDARD.SELECTION Entry Actual field names Field properties
Insert File - I_ File For programming
Files at database level to store data To store data
Slide 28 Getting Started DO NOT MODIFY the TEMPLATE subroutine in GLOBUS.BP
Each application that we create, must have its own copy of the TEMPLATE
The above line must be modified to reflect <NEW APPNAME> as the name of the subroutine
Properties of an application are defined here
jsh-->COPY FROM GLOBUS.BP TEMPLATE TO DBCARD.BP jsh-->COPY FROM DBCARD.BP TEMPLATE, <NEW APPNAME>
Table Objects Slide 29 Table.name = 'XX.TABLE.NAME' ;* Full application name Table.title = 'XX TABLE.NAME' ;* Screen title Table.stereotype = 'H' ;* H, U, L, W or T Table.product = 'XX' ;* Must be on EB.PRODUCT Table.subProduct = ' ;* Must be on EB.SUB.PRODUCT Table.classification = 'INT' ;* As per FILE.CONTROL Table.systemClearFile = 'Y' ;* As per FILE.CONTROL Table.relatedFiles = '' ;* As per FILE.CONTROL Table.isPostClosingFile = '' ;* As per FILE.CONTROL Table.equatePrefix = 'XX.YY' ;* Use to create I_F.EB.LOG.PARAMETER Table.idPrefix = '' ;* Used by EB.FORMAT.ID if set Table.blockedFunctions = '' ;* Space delimited list of blocked functions Table.trigger = '' ;* Trigger field used for OPERATION style How are the properties used? The ID of the FILE.CONTROL ,PGM.FILE and SS entry - Table.name
The TYPE for the PGM.FILE record Table.stereotype
The SCREEN.TITLE in PGM.FILE record(Description) Table.title
The PRODUCT field in FILE.CONTROL and PGM.FILE Table.product
The CLASSIFICATION field in FILE.CONTROL Table.classification
The prefix for all fields in the I_ files Table.equatePrefix
Functions that are not allowed for the application Table.blockedFunctions
Slide 30 I_Table Contains all common variables used in table object
Slide 32 How is TEMPLATE and THE.TEMPLATE related? To launch an application, we type its name in the command prompt It is validated VALIDATE.APPLICATION subroutine Checks PGM.FILE
Calls RUN.APPLICATION which in turn calls EB.EXECUTE.APPLICATION Calls subroutine with <APPLICATIONNAME>
Subroutine APPLICATION name is nothing but a copy of TEMPLATE with static properties, and the list of methods to be called
EB.EXECUTE.APPLICATION also invokes THE.TEMPLATE
EB.EXECUTE.APPLICATION Slide 33 SUBROUTINE EB.EXECUTE.APPLICATION(APPLICATION.NAME) Table.name = '' CALL @APPLICATION.NAME IF Table.name THEN CALL THE.TEMPLATE ;* We need to call the central template routine END ELSE Table.lastApplication = "" ;* We've called a non central template END
Note: In releases before R9, EB.EXECUTE.APPLICATION called the <Application> Subroutine which in turn called THE.TEMPLATE THE.TEMPLATE Subroutine The core subroutine used by every application in T24 since it contains the execution flow
An applications business logic is broken up into individual subroutines, called method.
THE.TEMPLATE contains code to call or invoke these methods at the right time
Slide 34 Slide 35 Methods in Template Programming The business logic of an application is not part of TEMPLATE or THE.TEMPLATE
It is split up into methods
There are 11 methods available for use
THE.TEMPLATE determines the order of execution
Methods are nothing but individual subroutines called from THE.TEMPLATE
Must follow naming convention APPNAME.METHODNAME
Methods Where are method names defined?
Are they hard coded? Slide 36 Slide 37 I_METHODS.AND.PROPERTIES Common variable to define method names
Methods with different names ignored Slide 38 I_METHODS.AND.PROPERTIES T24s convention is to represent each position C_ROUTINES array by a name not a number
Slide 39 Methods in Template Programming INITIALISE FIELDS FUNCTION ID RECORD VALIDATE PREVIEW OVERRIDES PROCESS AUTHORISE RUN
This is also the order in which they are executed by THE.TEMPLATE Slide 40 THE.TEMPLATE Pattern of Execution of an application
MUST NOT BE MODIFIED
Advantage of having THE.TEMPLATE We can maintain code consistency and code standard Enables rapid code development, no need to start from scratch
Slide 41 Behind the Scenes THE.TEMPLATE Launch Application from Command Prompt
Initialise The first method to be executed when an application is launched
Fields The next method to be executed
Input Record ID and press Enter (Function defaulted to I)
Function This is executed after a function is entered by the user. If no function is entered, the default is Input.
ID Executed after the function entered is validated. Validated ID, can modify ID if required
Slide 42 Behind the Scenes THE.TEMPLATE Record Executed before the record requested (existing or new) is displayed to the user
Record requested is displayed (existing or new) Data is input / modified, then Commit
Validate After values are defaulted (if any) all data is validated
Preview After data is validated, a delivery preview is available
Overrides Overrides if any are generated now
Slide 43 Behind the Scenes THE.TEMPLATE Process If all overrides are accepted, then this method is called before the record is written to the $NAU file
Record is written to $NAU NOW
Authorise button is clicked
Validate All data is validated twice, once during commit and once during authorise
Authorise This is executed after the Authorise button is clicked
Record is written to LIVE NOW Run This is executed if the function used is Verify
Slide 44 Using the Template Methods Common Variables Available INITIALISE Anything that needs to be done as soon as an application is launched can be done here. It is not a mandatory method
FIELDS This is the method in which an applications fields are defined. This is a mandatory method as an application must have at least one field
FUNCTION Code that need to be executed depending on the function entered, manipulation of the function itself can be done here (V$FUNCTION)
ID Special editing to the ID entered, special validations to the ID (ID.NEW)
RECORD Editing of the requested record before display to the user (R.NEW, R.NEW.LAST,R.OLD) Slide 45 Using the Template Methods The methods listed here are executed after Commit is clicked
VALIDATE Special validation of data R.NEW, R.NEW.LAST, R.OLD, E, Subroutine ERR
OVERRIDES Overrides if any, must be raised here R.NEW, R.NEW.LAST, R.OLD, ETEXT, Subroutine STORE.OVERRIDE
PROCESS Processing that has to be done before the record is written to the $NAU file Limits Accounting Charges Slide 46 Using the Template Methods The methods listed here are executed after Authorise is clicked
AUTHORISE Processing to be done before record is written into LIVE file Accounting Delivery Updating associated applications
RUN This method is called only for W type applications that use the Verify function
Slide 47 T Array Dimensioned array that holds information about Data type List of possible values NOINPUT / NOCHANGE characteristics Justification HOT.FIELD, HOT.VALIDATE properties
Has 10 sub fields to specify all field properties
T(Field position)<1> - Data type to call IN2 routine T(FieldPosition)<1> = A will call IN2A routine to validate the data entered
T(Field position)<2> - List of input options if predefined T(FieldPosition)<2> = Yes_No_Maybe T(FieldPosition)<2> = 10015000 will display all numbers from 1001 to 5000
Slide 48 T Array T(FieldPosition)<3> - NOINPUT/NOCHANGE/EXTERN NOINPUT Field never available for input NOCHANGE Field not inputtable after record is authorised EXTERN Field is cleared if record is copied
T(FieldPosition)<4> - Format Mask Data can be displayed differently, irrespective of how it is stored in the database. The Mask character used is #
T(FieldPosition)<5> - Justification Default Left justified, no need to specify T(FieldPosition)<5> Right justified (R) and center justified (C ) are the other 2 options
Slide 49 T Array
T(FieldPosition)<6> - MACHINE to default to machine date instead of T24 date Used in the USER application
T(FieldPosition)<7> - TEXT to display a text box in the browser
T(FieldPosition)<8> - NOMODIFY/NODELETE/NOEXPAND No Modification or changes allowed to multi value set after first authorisation Multi value set cannot be deleted after record is authorised Multi value set cannot be expanded further after authorisation
T(FieldPosition)<9> - HOT.FIELD/HOT.VALIDATE/WEB.VALIDATE HOT.FIELD causes field to be validated immediately HOT.VALIDATE causes all fields to be validated WEB.VALIDATE triggers validation at web server level
Built-in Data Types T24 supports a lot of built-in standard data types
Built-in data types are equated to standard names in an Insert file called I_Datatypes
Slide 50 I_Datatypes Slide 51 EQU T24_String TO 'T24.STRING' EQU T24_BigString TO 'T24.BIG.STRING' EQU T24_Text TO 'T24.TEXT' EQU T24_TextWide TO 'T24.TEXT.WIDE' EQU T24_Numeric TO 'T24.NUMERIC' EQU T24_Date TO 'T24.DATE' EQU T24_Portfolio TO 'T24.PORTFOLIO' EQU T24_Account TO 'T24.ACCOUNT' EQU T24_InternalAccount TO 'T24.INTERNAL.ACCOUNT' EQU T24_Customer TO 'T24.CUSTOMER' EQU T24_Frequency TO 'T24.FREQUENCY
EQU Field_Mandatory TO ',mandatory' EQU Field_NoInput TO ',NOINPUT' EQU Field_NoChange TO ',NOCHANGE' EQU Field_Unique TO ',UNIQUE' EQU Field_NoNulls TO ',NONULLS' EQU Field_AllowNegative TO ',ALLOW.NEGATIVE'
TableUtil.loadFieldTypes THE.TEMPLATE invokes TableUtil.loadFieldTypes which loads the id, length and type depending on the basic data types
DataType.list is a common variable in I_Datatypes, which holds the list of data types
The values populated by this subroutine are session specific Slide 52 IF NOT(DataType.list) THEN CALL TableUtil.loadFieldTypes END
TableUtil.loadFieldTypes Loads each of the basic data types as given below Slide 53 SUBROUTINE TableUtil.loadFieldTypes id = "T24.STRING" length = 35 type = "A" file = '' GOSUB addBasicType
It takes 4 parameters, where, fieldName - The name of the field to add. The "F" array item fieldType - The standard T24 data type of the field args - Any arguments (mandatory, no input, etc.) neighbour - Reserved for future use.
The various arguments possible are : Field_NoChange, Field_NoInput, Field_Mandatory, Field_AllowNegative, Field_unique, Field_NoNulls
CALL Table.addField("XX.LL.DESCRIPTION",T24_String,,) Slide 59 Table.addFieldDefinition Adds a field using the F, N and T definitions
It takes 4 parameters, where, fieldName - The name of the field to add. The "F" array item fieldLength - The length of the field. N array item fieldType - The type of the field. T array item neighbour - Reserved for future use
CALL Table.addFieldDefinition("XX.LL.DESCRIPTION",35,A,) Slide 60 Table.processArgs Processes the arguments passed to Table.addField API
Assigns the N array and T array positions according to the arguments.
Table.processArgs(args, nArrayItem, tArrayItem)
It takes 3 parameters, where, args the list of arguments passed to Table.addField. nArrayItem - The N array item to process tArrayItem - The T array item to process
Slide 61 Field.setAttributes Sets the N and T array
It takes 3 parameters, where, fieldName - The name of the field to add. The "F" array item tableName The virtual table name used to access values in EB.LOOKUP Application. neighbour - Reserved for future use Slide 63 Adds a field with a virtual table.
Performs the same functionality as Table.addFieldWithebLookup, except that the list of options are configurable.
It takes 4 parameters, where, fieldName - The name of the field to add. The "F" array item tableName The virtual table name used to access values in EB.LOOKUP Application. args - (optional) Any additional arguments (mandatory, no input, etc.) neighbour - Reserved for future use
Table.addVirtualTableField Slide 64
Sets the default value for the current field
Field.setDefault CALL Table.addField("START.DATE",T24_Date,Field_NoInput,'') CALL Field.setDefault(TODAY) ;* Assign default value Slide 65 CHECKFILES Variable used to store Application Vet details for a field
Only ID of record from CHECKFILE Application is defaulted into field
Enrichment can be any field from the CHECKFILE Application
CHECKFILE(currentFieldPosition) = tableName : FM : enrichmenentField Slide 66 Adds a check file to a field
Turns tableName(argument to Field.setCheckFile) into a checkfile argument using the default enrichment field (DEFAULT.ENRICH field) set on standard selection or the 1 st field.
For the field Customer, whatever is entered in validated against the CUSTOMER application.
This routine internally assigns. CHECKFILE(currentFieldPosition) = tableName : FM : enrichmenentField
Field.setCheckFile CALL Table.addField("CUSTOMER",T24_Customer,Field_Mandatory,'') CALL Field.setCheckFile("CUSTOMER") Slide 67 Adds amount field to the application
fieldName - The name of the field to add. The "F" array item currencyFieldName Name of the field that holds the currency the field is held in. args Any additional arguments (mandatory, no input, etc.) neighbour Reserved for future use
Table.addAmountField CALL Table.addAmountField("MAX.WITHDRAWAL.AMT",'CURRENCY','',' ') Slide 68 Adds a field with pre-defined set of options
It takes 4 parameters, where, fieldName - The name of the field to add. The "F" array item options The list of options separated by an _. The T(fieldposition)<2> item. args Any additional arguments (mandatory, no input, etc.) neighbour Reserved for future use.
Table.addOptionsField CALL Table.addOptionsField("WITHDRAW.SWIPE","S_W",'','') Slide 69 Adds a simple field that holds the value YES or blank
Table.addYesNoField(fieldName, args, neighbour)
It takes 3 parameters, where, fieldName - The name of the field to add. The "F" array item args Any additional arguments (mandatory, no input, etc.) neighbour reserved for future use
Table.addYesNoField Slide 70 API to set a number of fields to be NOINPUT, NOCHANGE or inputtable
Table.setAttributeOnFields(attribute, fieldList)
It takes 2 parameters, where, attribute - The attribute to set. One of NOINPUT, NOCHANGE or fieldList - The list of fields to set the attribute on. These are field numbers
Loops through each field in fieldList and sets the atribute in the third field of the T array. Loops through each field in fieldList and sets the atribute in the third field of the T array
More than one field can be set to one specified attribute.
Table.setAttributeOnFields Slide 71 All new applications must define a set of reserved fields that can be used to add extra fields to the application without the need to change the layout of the data
The name of the reserved fields must be of the form RESERVED.1 etc.,
Slide 72 Applications that raise delivery events must define a field to hold the delivery references
The name of this field should be DELIVERY.REF
Delivery Reference fields can be added in 2 ways
It can be multi valued to hold delivery references for multiple parties involved Table.addDeliveryReferenceField CALL Table.addField(XX.DELIVERY.REF", T24_String, Field_NoInput,"") CALL Table.addDeliveryReferenceField(neighbour)
Slide 73 Local reference fields allows T24 clients to add user definable fields to the application.
How to create additional components? We have created the fields for our application
Do we have to manually create all the necessary additional components to make our application work?
Slide 76 How to create additional components? No, EB.DEV.HELPER will do it for us..
Slide 77 Slide 78 EB.DEV.HELPER Workfile Application to create PGM.FILE entry FILE.CONTROL entry I_ File(insert file in BP) STANDARD.SELECTION Create files at Database level Create DAS routines discussed later on
Record ID is Application Name
Verify record
Say Y to all questions asked When to create which additional component? If static properties have changed Rebuild PGM.FILE, FILE.CONTROL, DATABASE FILES if required
If the field name has been changed Update I_File and SS
If the field properties have been changed Update SS
If a new field has been added Update I_File and SS
If the application name has to be changed Update all components
Slide 79 Workshop Run EB.DEV.HELPER and create additional components for all the applications created relating to DEBIT CARD