Find below the list of common variables used in subroutines.
They’re accessible as long as you include “$INSERT I_COMMON” in your programs.
R.COMPANY(x) = Record COMPANY profile
R.DATES(x) = Record DATES
R.NEW(x) = Record NEW
R.NEW.LAST(x) = LAST Record NEW e.g. important for pgm. DATA.CAPTURE to update batch totals when changing an not authorised record
R.NEW(V+1) = Field no.s which are defaulted Storage by using 'AF:".":AV:".":AS' (= e.g. '14..' or '15.1.' or '16.1.1') VM = Fieldmarker
R.OLD(x) = Record OLD resp. Record 1 + 2 when displaying History records - similar to ID.NEW, ID.OLD
R.USER<x> = Record USER profile
R.VERSION = Record VERSION when pgm.selection with ',' and version no. (or only ',') - realized with pgm. VERSION
VM = Fieldmarker when more than one field defined
T.REMTEXT(x) = Table with REMark TEXT used for miscellaneous display e.g text 'OVERRIDE' in pgm. OVE see pgm. SIGN.ON for updating (hardcoded or by text-record in conncection with language code)
A = (Attached) Field no. within a sequence
AF = (Attached) physical Field.no within a sequence Example: Field no.s are 1, 2, 3, 4, 5 When record will be authorised and field no. 3 and 4 are empty and therefore not displayed A-sequence is 1, 2, 3 but AF-sequence is 1, 2, 5 = '' when remark line
ANY.INPUT = "" = no input was done = 'Y' = input was done (used if override 'YOU RETURN AND MAY LOSE INPUTS' necessary)
APPLICATION = Name of APPLICATION
AUTH.NO = No. of Authorisers (1 or 2) defined in USER- (standard) or VERSION-record
AUTH.QUALITY = Digit 1 = O = no allowance as 1st authoriser = X = allowed as a 1st authoriser Digit 2 = O = no allowance as 2nd authoriser = X = allowed as a 2nd authoriser depending on user profile = 'E' when Exception list will be displayed for special OVERRIDE.CLASSes
AS = Sub value field no. Example: Field no. = 3.1.5 = Value AF = 3, AV = 1, AS = 5
AV = multi Value field no. Example: Fields to be displayed are no. 1, 2, 3.1 (first subfield), 3.2 (2nd subfield), 5 Values of A, AF, AV are within 1st line: A = 1, AF = 1; AV = "" within 2nd line: A = 2, AF = 2; AV = "" within 3rd line: A = 3, AF = 3; AV = 1 within 4th line: A = 4, AF = 3; AV = 2 within 5th line: A = 5, AF = 5; AV = "" (AS in this example always 0) = value number of R.VERSION(EB.VER.TEXT) for AF = '' when Single mode
C = Column (no.)
CLEAR.SCREEN = "" when lines 4 resp. L1ST - 19 are cleared = 1 = not cleared = 2 = line 20 contains last SIGN.ON data
COMI = COMmon Input variabel Standard input is only in pgm 'INP' and Input is transferred with COMI
COMI.DEFAULT = 1 = COMmon Input was DEFAULTed = 0 or "" otherwise
COMI.ENRI = COMmon Input ENRIchment preliminary value for T.ENRI, will be transferred to T.ENRI at the same time COMI is moved to R.NEW
CONTROL.MODULO = 0 = 1 = large files (Override required when SELECTing)
CONTROLWORD.OK = "" = No Controlword keyed in = Normal input stored in Variable COMI = 'Y' = Any Controlword keyed in = Stored in variable COMI For the advantage to have this variable look for instance to the pgm. FIELD.INPUT
C$.UNIVERSE.RELEASE - uV release level (from RELLEVEL VOC)
DISPLAY = update of COMI
E = Error message
ECOMI = in case of Error COMmon Input to be displayed = original input without any conversion or mask
END.ERROR = "" = No Error occured = 'Y' = Error occured, Validation not possible = '#f', '#f.v' or '#f.v.s' (f=field, v=multi value, s=sub value) when error refers a not defined field (possible in strange situations)
ETEXT = Error TEXT When input was in SINGLE.MODE then ETEXT will be stored in T.ETEXT and displayed in connection with the whole page When input was in MULTI.MODE then ETEXT will be transferred to E and immediately displayed in last line
FULL.FNAME = FULL FileNAME = Name includes company abbreviation (if there is any - e.g. FDH.CUSTOMER)
FUNCTION = A, B, C, D, E, F, H, I, L, P, Q, R, S, V = possible - see special description (also declared as V$FUNCTION)
HIST.NO = ID of History record (ID, ';', CURR.NO) Used when displaying History records to be able to go forward and backward with controlwords
ID.ALL = "" = not used = 'Y' = using 'ALL'-option: Authorising, deleting or reversing all ID's (up to now only used for DATA.CAPTURE) = 'B' or 'Y' = Validation with or without Authorising Fast-input-records, when using B-Function ('B' = run in back-, 'Y' in foreground)
ID.AUT = 0 = no problem = 1 = calling ERR will be switched to calling REM (otherwise no chance to see error message)
ID.ENRI = ENRI-paramater of ID - see T.ENRI
ID.ETEXT = ETEXT-paramter of ID - see T.ETEXT = "" = not used = '+' = new Id = next after last one = '-' = new ID = ID before last one
ID.CHECKFILE = CHECKFILE-parameter of ID - see CHECKFILE(x)
ID.COMPANY = ID of COMPANY-record (R.COMPANY)
ID.CONCATFILE = 'AL' = ID is left adjusted = 'AR' = ID is right adjusted
ID.F = F-parameter of ID - see F(x)
ID.N = N-parameter of ID - see N(x) - but 3rd field ('C') not used
ID.R = R-parameter of ID - see R(x)
ID.T = T-parameter of ID - see T(x)
ID.NEW = ID of NEW record, e.g. last input
ID.NEW.LAST = LAST ID of NEW record normally the same value like ID.NEW only after entering a new FUNCTION, ID.NEW.LAST is "" and ID.NEW is still unchanged (ID.NEW may be used for C-Function, but ID.NEW.LAST = "" means that there is no ID for protocol line or as a base for displaying more records when SCREEN.MODE is multi)
ID.OLD = ID of OLD record, e.g. after new input - in case of displaying History records ID.NEW and ID.OLD = the IDs of the two records
ID.POINTER = used in connection with MULTI.MODE when automatic sequence Digit 1 = 'A' = after displaying a full page continuation has to be signaled in action line = '_' = normal processing Digit 2 = 'F' = display forward (ascending) = 'B' = display backward (descending)
INPUT.BUFFER = Input in advance = possible in action line Input in action line may contain several inputs divided by a blank Pgm. 'INP' looks at first to INPUT.BUFFER and takes this char. instead of waiting for an input
L = Line no. '0...23' may be calculated 'L = MOD(A-1,20-L1ST)+L1ST' and - also often used - when calculating next page 'NEXTP = INT((A+19-L1ST)/(20-L1ST))'
L.MULTI = In MULTI.mode starting Line no. e.g. Input in MULTI.MODE requires 3 Lines then L.MULTI = 4, 7, 10, 13, 16
L1ST = 1ST available Line no. in accordance to LEVEL = line no. 4 for 1st Level, 8 for 2nd one etc.
LANG.NO = The current language number being processed when entry is made into a language field. i.e F(x) = "XX.LL" - LANG.NO = AV F(x) = "XX.XX.LL" - LANG.NO = AS APPLICATION = "STATIC.TEXT" "DYNAMIC.TEXT" - LANG.NO = AF Other case LANG.NO = ""
LASTA = Last field no (A) e.g. in the example with AF V = 5 but LASTA = 3
LASTL.MULTI = In MULTI.mode required line no.s -1 e.g. LASTL.MULTI = '2' = 3 lines are handled
LASTP = LAST (highest) possible Page no. e.g. 20 fields = V = 20, LASTP = 2 or 'LASTP = INT((V+19-L1ST)/(20-L1ST))'
LCCY = Local CurrenCY from COMPANY record
LEVEL.NO = LEVEL NO. = 0 = Level before SIGN.ON (Terminal start) = 1 = Normal work = 2..4 = 'LEVEL DOWN' with possibility to LIST and/or SEE misc. records and to return to 'LEVEL UP'
LEVEL.STATUS = "" = normal work = 'UP' = pgm. returns from 'LEVEL DOWN'
LIVE.RECORD.MANDATORY = 0 = 1 when input of an id in RECORDID.INPUT with a FUNCTION 'C', 'F', 'I' or 'T' and PGM.TYPE '.IDO' and ID.NEW not calculated by GET.NEXT.ID routine (In this case the record mustn't be a new one).
LNGG - LaNGuaGe code from USER record
LOCAL.REF.FIELD = "" resp. FIELD number with LOCAL REFerences (defined by F(x) = 'XX.LOCAL.REF')
MESSAGE = transfers MESSAGEs between pgms e.g. 'REPEAT' or 'AUT' or 'VAL'
MTHPOS = MonTH POSition from USER record (defines position of month within input - DDMM or MMDD)
MULTI.POSSIBLE = "" = record has no subfields pgm is in some cases faster for some values can be calculated in advance (without reading records) = 'Y' = record may contain subfields
OPERATOR = Name of inputter or authoriser or any operator
OPF.NO = OPened Files current NO. = pointer 1...99 for T.OPF
P = Page no.
PGM.TYPE = 'A' = special programs, e.g 'EX' for more information see pgm. PGM.TABLE = 'H' = 3 Files will be handled e.g. 'F.COUNTRY', 'F.COUNTRY$HIS', F.COUNTRY$NAU = 'L' = Life file only (similar to TABLE automatically updated) e.g. 'F.PROTOCOL' or 'F.LOCKING' can be handled with function L, P, S only = 'T' = automatically updated file in connection with CONCATFILE(x) e.g. 'F.MNEMONIC.CUSTOMER' can be handled with function L, P, S only = 'U' = no History-file e.g. 'F.VERSION', 'F.VERSION$NAU
PGM.VERSION = VERSION id of ProGraM = ',' + number or ',' only realized with pgm. VERSION
PHNO = "" = no phantom run (normal foreground) = 'nn' = number of task (TNO, terminal, vdu) starting this phantom run
PREFIX = first char. to have an unique ID when adressing field numbers by EQUATE (e.g. used by pgm. FILE.LAYOUT)
PRINTER.STATUS = "" = not open (Close) = "OPEN"
RETURN.COMI = Input when '!'-Function started on a field.line
SCREEN.MODE = 'SINGLE' = Input line by line = 'MULTI' = Multiple inputs within a line MULTI.MODE can be defined by pgm. VERSION
SCREEN.TITLE = Name of application (+ PGM.VERSION, + FUNCTION) for display only (according to language code)
TEXT = similar to MESSAGE
TIME.STAMP = TIMEDATE() to use an unique time, when e.g. authorising more than 1 record at the same time
TNO = Terminal NO. (Task number, Wire connection no.) resp. User no. (including Phantoms)
TODAY = TODAYs date (R.VERSION field 1)
TODAY.VERSION = VERSION of TODAYs run (R.VERSION field 2)
TTYPE = Terminal TYPE (Task type, Hardware type) e.g. 'TV924', 'TV950', 'EBS-GUI'
V = Volume = Highest (in pgm. defined) field no.
VAL.TEXT = TEXT to be displayed after VAlidation first blinking, then displayed with half intensity
T(x) = 8 Fields possible (delimiter = ): - Field 1 = "" = numeric or Input Table = '.ACCD' = combination of a) 'ACC', b) '/', c) 'D' = '.CCYD' = combination of a) numeric, b) 'CCY', c) 'D = '.D' = combination of a) numeric, b) '/', c) 'D' = '.YM' = combination of a) numeric, b) '/', c) 'YM' = 'A' = alphanumeric char. = 'A...Z', 'a...z', '0...9', ' !"#$%&'()*+,-./[\]`' = 'AA' = like 'A', but 1st char. must be 'A...Z' resp. 'a...z' = 'AAA' = possible char. only 'A...Z' resp. 'a...z' = 'ACC' = 2-16 numeric char. incl. checkdigit or 3-10 char. 'MNE'-type (will be converted to ACCOUNT.NUMBER) = 'ALL' = any account no. - 'ACC' resp. 'ANT' or 'INT = 'ALL' = same input like 'ACC' or 6-12 alphanumeric char. INTERNAL.ACCOUNT.NUMBER = 'AMT' = amount input = 'ANT' = same input like 'ACC' or 6-12 alphanumeric char. INTERNAL.ACCOUNT.NUMBER = 'COM' = alphanumeric char. (see pgm. COMPANY.CODE) or 1-5 char. 'MNE'-type (will be converted to COMPANY.CODE) = 'CUS' = 1-6 numeric char. or 3-10 char. 'MNE'-type (will be converted to CUSTOMER.CODE) = 'D' = Date char. internal format always YYYYMMDD (Y=year, M=month, D=day), but input may be 'D', 'DD', 'DMM' resp. 'MDD' (when R.USER defines 'MMDD'-input), 'DDMM' resp. 'MMDD', 'DMMYY' resp. 'MDDYY', 'DDMMYY' resp. 'MMDDYY', 'YYYYMMDD' and: 'MM' may be inputted with 3 char. month's name (in accordance to language table TEXT.MONTH) < 8 char. are updated with TODAY (today's date) - caution in connection with USER-record and check by computer date !) 'YYYY' = '1950...2049' = 'FNO' = Field no. (may include value and sub no.) = 'FQU' = date + FreQUency code default date = today's date transformed to next frequency date Input of a date not in accordance to frequency (e.g. '1984-11-01 TWMTH') will be accepted for the date may be the last one of another frequency and new frequency works first time after this date Frequency codes are: 'DAILY' - Input may be 'D' only = next frequency date = next day 'WEEKn' (n = 1...9) - Input may be 'Wn' - Input 'W' only = 'WEEK1' = next frequency date = in n weeks 'TWMTH' - Input may be 'T' only = next frequency date = the ultimo date or the 15th of next month 'Mnndd' (nn = 01...99 = number of months, dd = 01...31 = day) = next frequency date in n months (+ day definition) (e.g. M0131 = every month on ultimo) = 'INT' = 6-12 alphanumeric char. or 3-10 char. 'MNE'-type (will be converted to INTERNAL.ACCOUNT.NUMBER) = 'MNE' = MNEmonic field = char. '0...9', 'A...Z', '.' = 'PG' = ProGram name or abbreviation (will be converted to full name) = 'PV' = like 'PG' with possible using of Version - more informations about PGM.TYPE in PGM.TABLE = 'R' = (normally) 10 numeric char., but only up to 6 integer and 9 decimal char. = 'S' = SWIFT char. = 'A...Z', '0...9', ' '()+,-.' '-' can't be the 1st char. = 'SS' = like 'S', but 1st char. 'A...Z' = 'SSS' = all char. must be 'A...Z' = 'YM' = Year and Month internal format always YYYYMM (Y=year, M=month) but input may be 'M', 'MM', 'MYY', 'MMYY' 'YYYYMM' - Field 2 - See IN2... pgms. - Field 3 = "" = 'EXTERN' in field 3 = automatically updated field (in connection with other pgms) = 'NOCHANGE' in field 3 = field content can only be inputted in accordance with a new record (or very first record is not authorised) = 'NOINPUT' in field 3 = indirectly updated by input of another feld (e.g. ievery input changes the fields RECORD.STATUS, DATE.TIME etc.) = 'NV.EXTERN' in field 3 = same like 'EXTERN' but Not Visible (No display when displaying record) - Field 4 = "" or Mask - Field 5 = "" or 'R' = Right justified DISPLAY - Field 6 - not described yet - Field 7 = Fields to be deleted when containing default figures after input of this field VM = Fieldmarker when more than one field defined - Field 8 = Can be set to the following values :- 'NOMODIFY' - No changes allowed to association 'NODELETE' - No deletion allowed to association 'NOEXPAND' - No expansion allowed to association The value must be specified for the first field in the association. - Field 9 = 'Hot Field' properties for browser 'HOT.FIELD' - Checkfield validation will be performed on this field 'HOT.VALIDATE' - Checkfield validation will be performed on ALL fields (equiv. to pressing browser 'Validate' button) - Field 10 "MULTI.VALIDATE" this causes OFS.FIELD.INPUT to copy all multi values into R.NEW this allows check fields to check/default all values - Field 11 = list of combo box 'display values' If populated, this field should contain corresponding 'display values' FOR each 'return value' defined IN FIELD 2 of the T array (T). T will be translated using TXT() - Field 15 = Holds physical position for neighbour field added in corresponding F array position. This is referred during STANDARD.SELECTION rebuilding and updates this physical position to FIELD.NO and VAL.PROG values of neighbour field. And it decides PHYSICAL.ORDER and LOGICAL.ORDER array stored in STANDARD.SELECTION which tells the array conversion that is, data storage depends on this physical order and display depends on logical order how fields are defined.