Common Variables

You might also like

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 11

Common Variables

Posted by Marc

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

You might also like