Common Variables

Posted by

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.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.