top - download
⟦80cfba38b⟧ Wang Wps File
Length: 18692 (0x4904)
Types: Wang Wps File
Notes: Spelunked
Names: »~ORPHAN52.08«
Derivation
└─⟦7f5d2b450⟧ Bits:30006107 8" Wang WCS floppy, CR 0170A
└─ ⟦this⟧ »~ORPHAN52.08«
WangText
…02…CPS/SDS/039
…02…840601…02……02…
USER VDU
DETAILED DESIGN SPECIFICATION…02…ISSUE 1…02…CAMPS
4.2.6 VUS Initialiation Subpackage...........
4.2.6.1 Functional Specification ...........
4.2.6.1.1 Start up Information
Interpretation ................
4.2.6.1.3 MDCO VDU Software Initialisation
(3.0)..........................
4.2.6.1.4 MSO VDU Software Initialisation.
(4.0) ..........................
4.2.6.2 Software Structure .................
4.2.6.2.1 Process Start (1.0) ............
4.2.6.2.2 UER Subprocess Init (2.0) .....
4.2.6.2.3 MSO Subprocess Init (4.0) ......
4.2.6.3 Dataflow and Control Logic within.
VUS Initialisation Subpackage.....
4.2.6.4 VUS Initialisation Module Specifi
caions.............................
4.2.6.4.1 PROCESS START Specification ....
4.2.6.4.1.1 Functional Specification ...
4.2.6.4.1.2 Module Interface ...........
4.2.6.4.1.3 Module Components .........
4.2.6.4.1.4 Data Description ...........
4.2.6.4.1.5 Module Design ..............
4.2.6.4.2 USER SUBPROCESS INIT Specifica..
tion............................
4.2.6.4.2.1 Functional Specification ..
4.2.6.4.2.2 Module Interface ...........
4.2.6.4.2.3 Module Components ..........
4.2.6.4.2.4 Data Description ...........
4.2.6.4.2.5 Module Design ..............
4.2.6.4.3 MDCO SUBPROCESS NIT Specifica-
tion...........................
4.2.6.4.3.1 Functional Specification ...
4.2.6.4.3.2 Module Interface ...........
4.2.6.4.3.3 Module Components ..........
4.2.6.4.3.5 Modul Design ..............
4.2.6.4.4 MSO SUBPROCESS INIT Specifica-
tion............................
4.2.6.4.4.1\Functional Specification ...
4.2.6.4.4.2 Module Interface ...........
4.2.6.4..3 Module Components ..........
4.2.6.4.4.4 Data Description ...........
4.2.6.4.4.5 Module Design ..............
4.2.6.5 Common Subpackage Data .............
4.2.6.6 Common Subpackage Procedres .......
4.2.6.7 Subpackage Interfaces ..............
4.2.7 User Procedures Subpackage .............
4.2.7.1 Functional Specification ...........
4.2.7.1.1 Display Procedures .............
4.2.7.1.2Syntax Procedures ..............
4.2.7.1.3 Semantic Procedures ............
4.2.7.2 Software Structure .................
4.2.7.3 Data Flow ..........................
4.2.7.4 USPR Module Specification ..........
4.2.7.4.1 VUP ̲SYNTAX Specification .......
4.2.7.4.1.1 Functional Specification ...
4.2.7.4.1.2 Module Interface ...........
4.2.7.4.1.3 Module Components ..........
4.2.7.4.1.4 Software Design ...........
4.2.7.4.2 SEMAN ̲VAL Specification ........
4.2.7.4.2.1 Functional Specification ...
4.2.7.4.2.2 Module Interface ...........
4.2.7.4.2.3 Module Components ..........
4.2.7.4.3 DISPLY ̲FIELD Specification ...
4.2.7.4.3.1 Functional Specification ...
4.2.7.4.3.2 Module Interface ...........
4.2.7.4.3.3 Module Components ..........
…86…1 …02… …02… …02… …02…
4.2.6 V̲U̲S̲ ̲I̲n̲i̲t̲i̲a̲l̲i̲s̲a̲t̲i̲o̲n̲ ̲S̲u̲b̲p̲a̲c̲k̲a̲g̲e̲
This subpackage performs interpretation of start up
information delivered by SSC in the registers when
the process is started. The coroutinesconstituting
the VDU User Software are initialised.
4.2.6.1 F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
The subpackage contains the following functions:
- Interpretation of start up information
- Initialisation of VUS Coroutines
Fig. 4.2.6.1-1 presents the unctional breakdown.…86…1
…02… …02… …02… …02…
Fig. 4.2.6.1-…86…1 …02… …02… …02… …02…
4.2.6.1.1 V̲U̲S̲ ̲I̲n̲i̲t̲i̲a̲l̲i̲z̲a̲t̲i̲o̲n̲ (1.0)
- Executes pre-initialization.
4.2.6.1.2 U̲S̲E̲R̲ ̲V̲D̲U̲ ̲S̲o̲f̲t̲w̲a̲r̲e̲ ̲I̲n̲i̲t̲i̲a̲l̲i̲s̲a̲t̲i̲o̲n̲(2.0)
a) Coroutine Monitor Initialisation (2.1) Performs
initialiation of the Coroutine Monitor Data Structure
by a call to Coroutine Monitor.(VCO is also initialised
by this call)
b) User Coroutine Initialisation (2.2)
Performs initialisation of the 3 remaining VUS coroutines
by call to Coroutine Monitor.
c) User Semaphore Initialisation (2.3)
Performs initialisation of the 5 VUS semaphores
by call to Coroutine Monitor.
d) User Operation Initialisation (2.4)
Performs initialisation of the 9 VUS operations by
call to Coroutine Monitor.
e) Sart VCO (2.5)
Performs start of VCO (VCO is initialised when Coroutine
Monitor is initialised but it is not started)
4.2.6.2 S̲o̲f̲t̲w̲a̲r̲e̲ ̲S̲t̲r̲u̲c̲t̲u̲r̲e̲
The Software Structure is shown on fig. 4.2.6.2-1.
The initialisation subpackage contains 2 moduls.
4.2.6.2.1 P̲r̲o̲c̲e̲s̲s̲ ̲S̲t̲a̲r̲t̲ ̲(1.0)
This Module is a mainmdule and calls upon PRE ̲INITIALISATION
and VUP SUBPROCESS INIT.
4.2.6.2.2 V̲U̲P̲ ̲S̲u̲b̲p̲r̲o̲c̲e̲s̲s̲ ̲I̲n̲i̲t̲ ̲(2.0)
This Module containes the functions:
a) USER Coroutine Init (2.1) that performs initialisation
of the 4 coroutines.
b) USER Semaphore Init(2.2) that performs initialisation
of the Semaphores.
c) USER Operations Init (2.3) that performs initialisation
of the operations.
d) Starts VCO
FIGURE 4.2.6.2-2
SOFTWARE STRUCTURE
4.2.6.3 D̲a̲t̲a̲f̲l̲o̲w̲ ̲a̲n̲d̲ ̲C̲o̲n̲t̲r̲o̲l̲ ̲L̲o̲g̲i̲c̲ ̲w̲i̲t̲h̲i̲n̲ ̲V̲U̲S̲ ̲I̲n̲i̲t̲i̲a̲l̲i̲s̲a̲t̲i̲o̲n̲
̲S̲u̲b̲p̲a̲c̲k̲a̲g̲e̲
The mainmodule Process ̲Start calls upon module VUP
̲COPSY INI.
4.2.6.4 V̲U̲S̲ ̲I̲n̲i̲t̲i̲a̲l̲i̲s̲a̲t̲i̲o̲n̲ ̲M̲o̲d̲u̲l̲e̲ ̲S̲p̲e̲c̲i̲f̲i̲a̲t̲i̲o̲n̲
4.2.6.4.1 P̲R̲O̲C̲E̲S̲S̲ ̲S̲T̲A̲R̲T̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
4.2.6.4.1.1 F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
This module acts only as a mainmodule and makes the
call to the actual INIT̲MODULE after preinitialization.
This file is intended for COPSY environment. To belinked
with file VUP ̲COP ̲INI.L.
4.2.6.4.1.2 M̲o̲d̲u̲l̲e̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲
N/A
4.2.6.4.1.3 ̲M̲o̲d̲u̲l̲e̲ ̲C̲o̲m̲p̲o̲n̲e̲n̲t̲s̲
N/A
4.2.6.4.1.4 D̲a̲t̲a̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
a) D̲a̲t̲a̲ ̲R̲e̲f̲e̲r̲e̲n̲c̲e̲s̲
N/A
b) E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲
N/A
c) L̲o̲c̲a̲l̲ ̲D̲a̲t̲a̲
N/A
4.2.6.4.1.5 M̲o̲d̲u̲l̲e̲ ̲D̲e̲s̲i̲g̲n̲
Two calls are performed.
One upon PRE ̲INITIALIZATION and one upon VUP ̲SUBPROCESS
̲INIT.
P̲R̲O̲C̲E̲S̲S̲ ̲S̲T̲A̲R̲T̲
CASE RO OF STARTUP ̲ACTIVE ̲TYPE:
DEAD1? -START ̲UP: =START
DEAD2? -START ̲UP: =START
COLD? -START ̲UP: =START
WARM1? -START ̲UP: =RESTART
WARM2? -START ̲U: =RESTART
OTHERWISE? V̲U̲S̲ ̲I̲N̲T̲E̲R̲N̲A̲L̲ ̲E̲R̲R̲O̲R̲(̲G̲I̲V̲E̲ ̲U̲P̲)̲(̲4̲.̲1̲.̲5̲.̲2̲)̲
END CASE
USER ̲SUBP ̲ID =R2
MDCO ̲SUBP ̲ID =R3
MSO ̲SUBP ̲ID =R4
INIT ̲COMMON (VCO ̲REC,VCO ̲PRIO,USER ̲SUBP ̲ID,VCO ̲ID):OK
U̲S̲E̲R̲ ̲M̲D̲C̲O̲ ̲M̲S̲O̲ ̲S̲W̲ ̲I̲N̲I̲T̲ ̲(̲4̲.̲2̲.̲6̲.̲4̲.̲1̲-̲2̲)̲
V̲C̲O̲(̲4̲.̲2̲.̲1̲.̲4̲.̲1̲)̲
END MDULE
Fig. 4.2.6.4.15-1…86…1 …02… …02… …02… …02… …02…
U̲S̲E̲R̲ ̲M̲D̲C̲O̲ ̲M̲S̲O̲ ̲S̲W̲ ̲I̲N̲I̲T̲
USER ̲SUBP ̲ID ̲ EQ 0?
U̲S̲E̲R̲ ̲S̲U̲B̲P̲R̲O̲C̲E̲S̲S̲ ̲I̲N̲I̲T̲ ̲(̲4̲.̲2̲.̲6̲.̲4̲.̲2̲)̲
MDCO ̲SUBP ̲ID EQ 0?
M̲D̲C̲O̲ ̲S̲U̲B̲P̲R̲O̲C̲E̲S̲S̲ ̲I̲N̲I̲T̲ ̲(̲4̲.̲2̲.̲6̲.̲4̲.̲3̲)̲
MSO ̲SUBP ̲ID EQ 0?
M̲S̲O̲ ̲S̲U̲B̲P̲R̲O̲C̲E̲S̲S̲ ̲I̲N̲I̲T̲ ̲(̲4̲2̲.̲6̲.̲4̲.̲4̲)̲
END
Fig. 4.2.6.4.1-2…86…1 …02… …02… …02… …02… …02…
4.2.6.4.2 V̲U̲P̲ ̲S̲U̲B̲P̲R̲O̲C̲E̲S̲S̲ ̲I̲N̲I̲T̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
4.2.6.4.2.1 F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
This module interprets the start ̲up parameters, initialises
the user coroutines, semaphores an operations, and
starts VCO.
4.2.6.4.2.2 M̲o̲d̲u̲l̲e̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲
C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
a) USER ̲SUBPROCESS ̲INIT
b) VUP ̲COPSY ̲INI R0: START ̲MODE
R1: SUBPROCESS ̲ID
R2: SUBPROCESS ̲NO
R6: LINK
R̲e̲g̲i̲s̲t̲e̲r̲ ̲C̲o̲n̲v̲e̲n̲t̲i̲o̲n̲
C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R0 SART ̲TYPE
R1 SUBPROCESS ̲ID
R6 LINK DESTROYED
R2 SUBPROCESS ̲NO
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R0 - R7 DESTROYED
F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲
NONE
4.2.6.4.2.3 M̲o̲d̲u̲l̲e̲ ̲C̲o̲m̲p̲o̲n̲e̲n̲t̲s̲
N/A
4.2.6.4.2.4 D̲a̲t̲a̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
a)D̲a̲t̲a̲ ̲R̲e̲f̲e̲r̲e̲n̲c̲e̲s̲
Refer source listings.
b) E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲
Refer source listings.
c) L̲o̲c̲a̲l̲ ̲D̲a̲t̲a̲
N/A
4.2.6.4.2.5 M̲o̲d̲u̲l̲e̲ ̲D̲e̲s̲i̲g̲n̲
This mdule interpret the start ̲up type and initialises
the coroutines:
-UFCO
-VDIA
-RETR
by call to Coroutine Monitor,
initialises the semaphores:
-VUS ̲S1
-VUS ̲S2
-VUS ̲S3
-RETR ̲SEM
-SPLIT SEM
by call to Coroutine Monitor and initialises th operations:
-RETR ̲OP
-NOT ̲OP
-ANQ ̲OP
-FC ̲KEY ̲OP
-VDU ̲OP
-SEM ̲OP (1..4)
by call to Coroutine Monitor
4.2.6.5 C̲o̲m̲m̲o̲n̲ ̲S̲u̲b̲p̲a̲c̲k̲a̲g̲e̲ ̲D̲a̲t̲a̲
None.
4.2.6.6 C̲o̲m̲m̲o̲n̲ ̲S̲u̲b̲p̲a̲c̲k̲a̲g̲e̲ ̲P̲r̲o̲c̲e̲d̲u̲r̲e̲s̲
N/A
4.2.6.7 S̲u̲b̲p̲a̲c̲k̲a̲g̲e̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲s̲
The initialisation subpackage call VCO direct (by
procedur call). All other coroutines are called
via Coroutine Monitor and will all end up waiting
in their waiting points.
4.3 M̲E̲M̲O̲R̲Y̲ ̲L̲A̲Y̲O̲U̲T̲
As a basis for calculation the following figures are
used:
D̲I̲V̲C̲O̲ ̲C̲O̲R̲O̲U̲T̲I̲N̲E̲
8 Modules x 0,125 K 1,0
11 Procedures x 0,025 K 0̲,̲2̲7̲5̲ ̲
1,275
U̲F̲C̲O̲ ̲C̲O̲R̲U̲T̲I̲N̲E̲
11 Modules x 0,175 K 1,925
33 Procedures 0,050 K 1̲,̲6̲5̲
3,575
V̲D̲I̲A̲ ̲C̲O̲R̲O̲U̲T̲I̲N̲E̲
7 Modules x 0,175 K 1,225
24 Procedures 0,050K 1̲,̲2̲ ̲ ̲
2,425
R̲E̲R̲T̲ ̲C̲O̲R̲O̲U̲T̲I̲N̲E̲
1 Module x 0,30 OK 0̲,̲3̲0̲0̲
0,3
̲ ̲ ̲ ̲ ̲
T̲O̲T̲A̲L̲ 7,575 statements
Thus 1 Source statement equal 2 words and Data ̲Area
is estimated to 3 K Words the Memdory turns to be:
7,575 K Words x 2 + 3 K Words = 1̲8̲,̲1̲5̲ ̲W̲o̲r̲d̲s̲
U̲M̲A̲M̲ ̲P̲R̲O̲C̲E̲S̲S̲
18 Modules x 0,150 2,700
30 Procedures x 0,030 0̲,̲9̲0̲0̲ ̲
3,600 statements
UMAM data are = 6,0 KW
4.2.7 U̲s̲e̲r̲ ̲P̲r̲o̲c̲e̲d̲u̲r̲e̲s̲ ̲S̲u̲b̲p̲a̲c̲k̲a̲g̲e̲
4.2.7.1 F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
The USPR subpackage contains all validation and conversion
procedures needed to validate, store and display te
data in the users formats.
During output of data to the formats the display procedures
are used to convert data from internal representation
to strings which can be displayed on the VDU.
During input syntax and semantic procedures are used
tovalidate the contents of the fileds which are read
from the VDU. If an error is detected, an error will
be generated and the filed containing the error will
be inverted, else the filed will be converted to internal
representation and stored in a CI or a memory record.
The action performed is selected by interpreting the
Format Control Program which contains a reference (case
label) of the procedure, which is able to validate
or display the specific field.
4.2.7.1.1 D̲i̲s̲p̲l̲a̲y̲ ̲P̲r̲o̲c̲e̲d̲u̲r̲e̲s̲
he display procedures are a set of procedures, which
are able to convert data in internal representation
to displayable string. Data in internal representation
can be numbers (byte, interger or long) or ASCII strings,
while external representation s IOC records. I.e. a
long of time type can be converted to an ASCII string.
4.2.7.1.2 S̲y̲n̲t̲a̲x̲ ̲P̲r̲o̲c̲e̲d̲u̲r̲e̲s̲
The syntax procedures are a set of procedures which
are able to validate and convert data from external
format to internal representation.I.e. a SCD is validated
against the SCD table and stored as an ASCII string,
and a PLA is validated against the PLA table and stored
as a PLA-ref (integer) and as an ASCII string.
4.2.7.1.3 S̲e̲m̲a̲n̲t̲i̲c̲ ̲P̲r̲o̲c̲e̲d̲u̲r̲e̲s̲
The semantic procedures are a set of procedures which
are able to validate the context between different
fields in format. I.e. is it in message heaer validated
that info precedence is not higher than action precedence.
4.2.7.2 S̲o̲f̲t̲w̲a̲r̲e̲ ̲S̲t̲r̲u̲c̲t̲u̲r̲e̲
The structure of the three kinds of user procedures
are alike as they all are built as big cases, switching
to the wanted action. If needed a ne procedure easily
can be added by adding a new case label and coding
a new procedure with the call convensions for the module.
This procedure can now be activated from the Format
Control Program simply by using its reference (case
label) while readng or writing on the VDU.
4.2.7.3 D̲a̲t̲a̲ ̲F̲l̲o̲w̲
The user procedures have no data of their own because
they get a pointer to the memory where it can fetch
data and where to put them when they are converted.
If, however, the procedures need a datarea for calculation,
they can use the memory management for allocating working
space, though it is important that the memory used
is released before exit.
4.2.7.4 U̲S̲P̲R̲ ̲M̲o̲d̲u̲l̲e̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
4.2.7.4.1 V̲U̲P̲ ̲S̲Y̲N̲T̲A̲X̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
4.2.7.4.1.1 F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
The function of this module is to contain a validation
procedure for each possible field of the user formats.
The function of each procedure ill be shown in a schematic
form. This scheme (ref. 4.2.7.4.1.4) will describe
the main functions of a procedure. If further details
are necessary please refer to the source list.
4.2.7.4.1.2 M̲o̲d̲u̲l̲e̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲
All syntax procedures have the sam interface, thus
they will be described as one.
SYNTAX ̲PROC (R6)
Register conventions:
R0: Syntax procedure reference (case label)
R1: Pointer to field bundle
R4: Pointer to memory record 1 (UFCO ̲VAL)
R5: Pointer to memory record 3 (SEMAN ̲AL)
R7: P ̲STACK % INTEGER painting to stack of type WORM
containing:
BUF,
WRU1,
PROC ̲NO: Working location for subaction
R0: Result value OK/NOT ̲OK
R1-R6: Call registers.
The subaction should return directly to caller of VUP
̲SYNTAX y use of the stacked link (r6). The record WORK
should be unstacked prior to return.
4.2.7.4.1.3 M̲o̲d̲u̲l̲e̲ ̲C̲o̲m̲p̲o̲n̲e̲n̲t̲s̲
Procedure S̲E̲A̲R̲C̲H̲ ̲T̲E̲R̲M̲ ̲S̲C̲D̲
(R0 C K SCD: CHARS 1 AND 2
R1 SCD: CHAR 3
R SCD CHAR 3 AND SPACE
R3 R RESULT: OK OR ERROR CODE
R6) C LINK
A trailing space is added to the 3 char SCD. The SCD
is searched in the terminal profile for the terminal
(found via init area in M.O).
Procedure D̲E̲C̲I̲S̲I̲O̲N̲
(R0 C LOCATION OF DCISION CODE TABLE
R1 C % FIELD BUNDLE
R5 C % M.3 (VUP ̲SEMAN ̲RECORD)
R7 C P ̲STACK ̲INTEGER - WORK RECORD
R6) C DUMMY LINK
Searches the first char in input from field bundle
field 1 in the in-code table addressed by R0:
CHAR FOUND - DEISION CODE = VUP ̲SEMAN ̲REC.UC.DECISION
CHAR NOT COUND - ERROR CODE V ̲RR ̲INVALID
Procedure returns directly to caller of VUP ̲SYNTAX.
Subactions should look as follows:
PROCEDURE ...
LABEL TABLE
BEGIN
LOCATION (TABLE) = R0
DECISIO (R0, R1, R5, R7, R6)
TABLE
(CHAR) (DECISION ̲CODE)
... ...
0 END OF TABLE
END
Procedure C̲A̲L̲L̲ ̲T̲M̲P̲
(VAL ̲REF: INTEGER VALIDATIN PROC REC - USED FOR
FATAL ERROR REPORTING
TABLE ̲ID: TABLE ̲ID ̲TYPE
FUNCTION: TMP ̲FUNCTION
MASK1: BITMASK
MASK2: BITMASK
R0 C K TMP ̲PARAM.ENTRY
R1 C K TMP ̲PARAM.BUFFER1
R2 C K TMP ̲PARAM.COUNT
R3 C K TMP ̲PARAM.BUFFER2
R4 C K % TM ̲PARAM
R5 C K TMP ̲PARAM.BUFFER2 ̲LENGTH
R6) C LINK
Performs a TMP call using the call parameters in constant
parameter record and in registers. The register R4
should point to a TMP param record allocated for the
TMP call.
Proceure M̲A̲N̲D̲A̲T̲O̲R̲Y̲
(R0 - K
R1 C K %FIELD BUNDLE
R2 - D UNDEFINED AT RETURN
R3 - D UNDEFINED AT RETURN
R4 - K
R5 - K
R7 C K P ̲STACK ̲INTEGER - SYNTAX WORK STACK
R6) C - LINK
Checks that the first field in bundle in non-blank.
If field isblank, the procedure issues a validation
error and returns directly to caller of VUP ̲SYNTAX.
If filed is not blank, the procedure returns to LINK.
A field is considered blank if:
- It is without IOC header and first char is space
- It is with OC header and IOC count is = 0
Procedure V̲A̲L̲ ̲E̲R̲R̲O̲R̲
(R2 C K FIELD NO IN BUNDLE (1, 2, ...)
R3 C K ERROR CODE
R7 C K =P ̲STACK ̲INTEGER, must point to main stack
record stacked by VUF ̲SYNTAX main entry
i.e. record in stack of type WORK
R6) C LINK
Calls UPDATE ̲ERROR ̲LIST using information from field
bundle, found from address in stack (WORK.REG 1). Updates
stacked result code (WORK.REG 0).
4.2.7.4.1.4 S̲o̲f̲t̲w̲a̲r̲e̲ ̲D̲e̲s̲i̲g̲n̲
VAL ̲CLASS
FILE: SYNTAX ̲VAL2.S
PROCEDURE: CLASS
VALIDATION: Classification, 2 chars without IOC
STORAGE 0: bin value 2 bytes
STORAGE 1: -
VUP ̲EMAN ̲REC.UC.CLASS bin values
USPR ̲TABLES:TAB ̲CLASS ̲SHORT
TMP: -
COMMENTS: -
VAL ̲SPH
FILE: SYNTAX ̲VAL2.S
PROCEDURE: SPH
VALIDATION: Special Handling bundle max. 2 fields without
IOC
STORAGE 0: bitmask, national name 6 bytes
STORAGE 1: umber of sphs 2 bytes
VUP ̲SEMAN ̲REC.VC.SPH bitmask
USPR ̲TABLES:-
TMP: SPECIAL ̲HANDLING ̲TABLE
COMMENTS: -
VAL ̲MHI ̲DECISION
FILE: SYNTAX ̲VAL2.S
PROCEDURE: MHI ̲DECISION
VALIDATION: Message Handling decision "Y" or " "
STORAGE 0: -
STORAE 1: -
VUP ̲SEMAN ̲REC -
USPR ̲TABLES -
TMP: -
COMMENTS: -
VAL ̲PREC ̲ACTION
FILE SYNTAX ̲VAL2.S
PROCEDURE PREC ̲ACTION
VALIDATION Action precedence - mandatory 2 chars.
without IOC
STORAGE 0 bin value 2 bytes
STORAGE 1 -
VUP ̲SEMAN ̲REC.UC.CTION ̲PREC bin value
USPR ̲TABLES TAB ̲PREC ̲SHORT
TMP -
COMMENTS -
VAL ̲PREC ̲INFO
FILE SYNTAX ̲VAL2.S
PROCEDURE PREC ̲INFO
VALIDATION Info precedence - optional 2 chars without
IOC
STORAGE 0 bin value 2 bytes
STORAGE 1 -
VUP ̲SEMAN ̲REC.INFOPRECEDENCE bin value
USPR ̲TABLES TAB ̲PREC ̲SHORT
TMP -
COMMENTS -
VAL ̲SCDS
FILE SYNTAX ̲VAL2.S
PROCEDURE SCDS
VALIDATION SCD - optional bundle max. 16 fields without
IOC
STORAGE 0 non blank SCDs 4 characters
STORAGE 1 -
VUP ̲SEMAN ̲REC.C