T24 Field Formats
T24 Field Formats
I – Indicates a dictionary I-type field. This is virtual field and can contain
infobasic code to lookup or calculate a value.
R - Info/Basic routine to perform the selection and return the list of keys. This
should only be used for NOFILE type Enquiries.
S - Selection prompt for enquiry. An item can be supplied which does not
refer to a true field in the enquiry and will not be used in the actual selection
of the file. These items can be referenced by enquiry selection routines or can
be used to pass constant information to an enquiry. Any item passesd to
enquiry in the selection criteria can be extracted and be processed as any other
field.
3. The Field No property contains either a field or column number or may contain a
routine or basic code as dictated by the type above.
4. The validation program used for validation of the field input. These are referred to
commonly with T24 as IN2 routines. The routine is specified as IN2xxxx where xxxx
is a valid IN2 suffix, i.e CUS, AMT etc. The remaining portion of the 'T' parameter
can be specified by using '&' as a field mark separator and a ']' as a value mark
separator.
5. Conversion may contain a standard jBASIC conversion. See the jBASIC manual
for details of OCONV formats that are permitted.
Introduction
This section describes the standard 'IN2' sections and their use of other 'T' table
parameters. Field N refers to the field in the dynamic array stored in the T()
parameter.
Alphanumeric
IN2A
IN2AA
Allows the same characters as IN2A but the first character of the input string must be
'A...Z' or 'a...z'.
IN2AAA
IN2S
Allows input of SWIFT characters. Only the following characters will be accepted:
'A...Z', '0...9', space or '()' +, -, '.
This character is not allowed to be first '-’
IN2SS
Allows the same character, as IN2S, but the first character of the input string must be
'A...Z'.
IN2SSS
Amounts
IN2 (no suffix)
IN2AMT
This routine accepts input of an amount and can edit the input to have the number of
decimal places defined for a specified currency. The currency can be defined directly
in the 'T' table element or implicitly by reference to the value in another field, multi-
value or sub-value in R.NEW. The reference to another field can be dynamically
linked with the respective multi-value and/or sub-value of an association of multi-
values and/or sub-values.
Input can be abbreviated by using 'T' and 'M' to express thousands and millions. Such
input will be expanded to the normal figure representation. The field will be
redisplayed using a mask inserting commas (or periods) at each thousand. Field 2 of
the 'T' table element defines the editing:
IN2CCYDEC
This routine will accept a currency and an amount. The amount may have any
number of decimals up to the number defined in field 2,2 of the T table. The currency
must exist as a valid currency on the CURRENCY table.
Input can be abbreviated using 'H', 'T', 'M' and 'B' to express Hundreds, Thousands,
Millions and Billions. Such input will be expanded to normal figure representation.
If the number of decimal places is less than that of the currency then COM1 will be
formatted to the number of decimal places for that currency.
The field will be redisplayed with a space after the currency code and the numbers
with commas after each thousand.
IN2DEC
This routine will accept an amount figure with a maximum and minimum number of
decimal places defined in the 'T' table. Input may be abbreviated using 'H', 'T', 'M'
and 'B' to express Hundreds, Thousands, Millions or Billions. Such input will be
expanded to normal figure representation.
The field will be redisplayed using a mask inserting commas at each thousand.
Dates
IN2D
Will accept input in any of several valid date formats. The date input will be
expanded to the full date YYYYMMDD and displayed as DD MMM YYYY. Dates
with two figure years will be assumed to be from 1950 to 2049 inclusive unless field 2
of the 'T' table element is set to '1000' when the date will be treated as prior to 1950.
Input must be in the format DD{MM{YY{YY{}}} or MM{DD{YY{YY}}}
depending on the date format set for the user, or may be in the internal eight numeric
format of YYYYMMDD.
If the month or year is not supplied, they will be defaulted to those of the current bank
date. The month may be input as the 3-character abbreviation defined for the language
of the user.
IN2.ACCD
This routine will edit input, which is a combination of account number and date. See
IN2ACC and IN2D.
IN2.CCYD
This routine will edit input, which is a combination of currency and date. See
IN2CCY and IN2D.
IN2.D
This routine will edit input, which is a combination of numeric characters and date.
See IN2ACC and IN2.
IN2.YM
This routine is similar to IN2.D except that the date is in YYYYMM format. See
IN2ACC and IN2YM.
IN2FQU
This routine will accept a frequency consisting of a start date and a period code. The
date may be any valid date as for IN2D. If no date is entered, advancing the current
bank date to the next period date will generate a date.
IN2YM
This routine handles date in the same way as IN2D except that days are not allowed.
The input is converted into YYYYMM internal format.
Tables
Account Numbers
IN2ACC
Input must be a valid account number, i.e. as defined by the account mask and check-
digit defined on the COMPANY record. Input of an account mnemonic will also be
accepted and converted to the account number.
IN2ALL
This routine will accept input of all types of account numbers. It combines the
functions of IN2ACC, IN2INT and IN2ANT.
IN2ANT
IN2INT
The input must be a valid internal account number (6-12 alphanumeric characters).
Currency
IN2CCY
The input must be a valid ISO currency code. A numeric currency code will also be
accepted and will be converted to the ISO code.
IN2CHG
Validates charge, commission or tax code. In order to obtain the relevant enrichment,
this routine should be called from within CHECK.FIELD. The enrichment is returned
in COMI.ENRI.
Field 2 of the 'T' table defines which of the tables to validate against:
Figure 6 - IN2CHG Routine Table
These three values may be used in any combination separated by value marks, e.g. if
one wishes to validate against the CHARGE and TAX tables only then field 2 of the
'T' table would be 'CHG':VM:'TAX'.
Company
IN2COM
Customer
IN2CUS
Programs
IN2PG
This routine validates the program name input. If an abbreviated program name is
entered it is converted to its full program name and checked to ensure it is defined on
the PGM.FILE. This routine does not allow the input of program names set-up as
versions, i.e. program names that contain a ','.
IN2PV
This routine performs the same validation as IN2PG but allows input of program
names defined as versions.
IN2API
Unless it is a Subroutine, input has to be both type and name of the api call i.e. Scripts
should be prefixed with SPT, Crystal reports with RPT and Enquiries with ENQ.
Note: If the input needs to be restricted to Subroutine names only, then specify
T(Z)<2> = ‘SUB_ONLY’.
Rate
IN2R
Generic
IN2MNE
This routine edits the input to be a valid mnemonic string. The input may only
contain '0...9', 'A...Z' or '.'.
IN2ANY
To find:
IN2.ALLACCVAL$$NOCHANGE
IN2PLANT
IN2.MCPLINT
Accepts input of internal accounts and P&L Category codes for multi-company
installations. P&L is in the format PLNNNN, where NNNN is in the range 50000 to
69999. The company mnemonic suffix will be checked as valid against the system
and the user’s profile.
IN2.CUST.BIC
Accepts valid customer number, customer mnemonic, a valid BIC code or free format
text.
IN2PLANT
IN2SEC
IN2NOMAMT
This extends IN2AMT allowing 6 decimal places rather than just 3. It can also accept
a Security Number to validate against SECURITY.MASTER and in turn return and
validate the trading units against the input. The currency ISO code validation has been
removed.
IN2PRICE
IN2BMT
IN2TIME
Accepts input of time and can validate for seconds, 12 or 24 hour with AM/PM suffix
if required. <S – seconds, H – 12 hour with AM/PM, HS – 12 hour with AM/PM and
seconds>
IN2SW
Extend SWIFT IN2S to allow for leading minus as part of SWIFT 97.
IN2SWI
Extend IN2SW to allow leading spaces in Customer and to permit & and /.
IN2DAO
The ASCII.VAL.TABLE is used to define which ASCII characters may be used for
validation against any 'IN2' routine defined on the ASCII.VALUES table. The 'IN2'
routines are used to validate the entry to particular fields.
Figure 4 – ASCII.VAL.TABLE record
Care should be taken when modifying the values allowed by the system, particularly
when using SWIFT type fields, as this may cause unexpected results by allowing non-
standard characters to be entered.
ASCII.VALUES
The ASCII.VALUEStable is used to define ASCII value codes and ranges that may be
used by particular IN2 routines that validate entry to particular fields.
Figure 5 – ASCII.VALUES record for IN2 routines
Standard tables are provided for each IN2 routine but there is also the provision for
user-definable tables at a language and application level. Therefore different tables
may be set up for particular languages and applications. The application level
definitions may be further subdivided into different tables for different languages.
See the relevant help text for ASCII.VAL.TABLE, which is where the actual ranges
and values are defined.