top - download
⟦cfb333f61⟧ Wang Wps File
Length: 32191 (0x7dbf)
Types: Wang Wps File
Notes: CPS/SDS/039
Names: »2128A «
Derivation
└─⟦7f5d2b450⟧ Bits:30006107 8" Wang WCS floppy, CR 0170A
└─ ⟦this⟧ »2128A «
WangText
…00……00……00……00……00……1a……0a……00……00……1a……0b……1a……05……19……0b……19……0e……19……0f……19… …19……06……19……07……18……0a……18……86…1 …02… …02… …02…
…02…CPS/SDS/039
…02…841101…02……02…
USER VDU
DETAILED DESIGN SPECIFICATION…02…ISSUE 1…02…CAMPS
4.2.6 VUS Initialisation 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 USER 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
cations.............................
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 INIT 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 Module 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.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 Procedures .......
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.2 Syntax 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 DISPLAY ̲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 ..........
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 coroutines constituting
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 functional breakdown.
Fig. 4.2.6.1-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
initialisation 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) Start 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 modules.
4.2.6.2.1 P̲r̲o̲c̲e̲s̲s̲ ̲S̲t̲a̲r̲t̲ ̲(1.0)
This Module is a mainmodule 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̲c̲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 be
linked 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.
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 and 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 START: START ̲MODE
ID: SUBPROCESS ̲ID
NO: SUBPROCESS ̲NO
b) VUP ̲COPSY ̲INI (R0, R1, R2, R6)
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 START (DEST)
R1 ID (DEST)
R2 NO (DEST)
R6 LINK (DEST)
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 module interprets 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 the 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 procedure
call). All other coroutines are called via Coroutine
Monitor and will all end up waiting in their waiting
points.
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 the
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
to validate the contents of the field which are read
from the VDU. If an error is detected, an error will
be generated and the field containing the error will
be inverted, else the field will be converted to internal
representation and stored in a CIF 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̲
The 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 is IOC records. E.g.
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. E.g. it is in message header 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 new 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 reading 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 dataarea 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 will 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 same 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 ̲VAL)
R7: P ̲STACK % INTEGER pointing to stack of type WORK
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 by 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 C 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 DECISION 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 - DECISION 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
DECISION (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 VALIDATION 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 % TMP ̲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.
Procedure 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 is blank, the procedure issues a validation
error and returns directly to caller of VUP ̲SYNTAX.
Field 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 IOC 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 ̲SEMAN ̲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: number 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: -
STORAGE 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.ACTION ̲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.INFO ̲PRECEDENCE 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.COOR ̲MASK bit mask
USPR ̲TABLES -
TMP SCD ̲TABLE
COMMENTS -
VAL ̲COOR ̲CHECKMARKS
FILE SYNTAX ̲VAL2
PROCEDURE COOR ̲CHECKMARKS
VALIDATION Coordination checkmarks bundke max. 16
fields without IOC
STORAGE 0 mask
STORAGE 1 -
VUP ̲SEMAN ̲REC -
USPR ̲TABLES -
TMP -
COMMENTS Each mark of one char. checks against VUP
̲SEMAN ̲REC.COOR ̲MASK that the SCD connected
not is blank
VAL ̲MESS ̲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.COOR ̲MASK bit mask
USPR ̲TABLES -
TMP SCD ̲TABLE
COMMENTS If the SCD is belonging to a MASS position
then a validation error is given
VAL ̲COOR ̲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.COOR ̲MASK bit mask
USPR ̲TABLES -
TMP SCD ̲TABLE
COMMENTS If the SCD is belonging to a MASS position
or a printer a validation error is given
VAL ̲ORIG ̲SCD
FILE SYNTAX ̲VAL2.S
PROCEDURE ORIG ̲SCD
VALIDATION Originator SCD 1 field 3 chars. without
IOC
STORAGE 0 SCD 4 chars.
STORAGE 1 -
VUP ̲SEMAN ̲REC.UC.ORD ̲SCD SCD 4 chars.
USPR ̲TABLES -
TMP TERMINAL ̲TABLE
COMMENTS -
VAL ̲MANDAT ̲FIXED
FILE SYNTAX ̲VAL2.S
PROCEDURE MANDAT ̲FIXED
VALIDATION Checks that the field is not blank - without
IOC
STORAGE 0 field
STORAGE 1 -
VUP ̲SEMAN ̲REC -
USPR ̲TABLES -
TMP -
COMMENTS -
VAL ̲MANDAT ̲VAR
FILE SYNTAX ̲VAL2.S
PROCEDURE MANDAT ̲VAR
VALIDATION Checks that the field is not blank - without
IOC
STORAGE 0 field
STORAGE 1 -
VUP ̲SEMAN ̲REC -
USPR ̲TABLES -
TMP -
COMMENTS -
VAL ̲SIC
FILE SYNTAX ̲VAL.S
PROCEDURE SIC
VALIDATION SIC - 1 field 3 chars. without IOC
STORAGE 0 field without IOC
STORAGE 1 field with IOC
VUP ̲SEMAN ̲REC.EXER ̲SIC ̲COUNT inc. if EXERSIC
USPR ̲TABLES -
TMP -
COMMENTS If 1. char. = A, 2. char. in E-Z and 3.
char. in A-Z then the SIC is an exercise
SIC
VAL ̲X ̲0 ̲1
FILE SYNTAX ̲VAL
PROCEDURE X ̲0 ̲1
VALIDATION 1 field with IOC
STORAGE 0 field with IOC
STORAGE 1 -
VUP ̲SEMAN ̲REC.EXER ̲OPER ̲SIZE
USPR ̲TABLES -
TMP -
COMMENTS If 5.first chars. = "EXER/" then 0 = VUP
̲
SEMAN ̲REC.EXER ̲OPER. If 5 first chars.
= "OPER/" or field empty 2 = VUP ̲SEMAN
̲REC. EXER ̲OPER
VAL ̲X ̲0 ̲2
FILE SYNTAX ̲VAL.S
PROCEDURE X ̲0 ̲2
VALIDATION 1 field with IOC
STORAGE 0 field with IOC
STORAGE 1 -
VUP ̲SEMAN ̲REC.EXER ̲OPER ̲SIZE
USPR ̲TABLES -
TMP -
COMMENTS
VAL ̲TEXT ̲LINE
FILE SYNTAX ̲VAL.S
PROCEDURE TEXT ̲LINE
VALIDATION 1 field with IOC
STORAGE 0 field with IOC
STORAGE 1 -
VUP ̲SEMAN ̲REC.EMTY ̲LINE ̲COUNT
USPR ̲TABLES -
TMP -
COMMENTS If a field is empty nothing is stored,
is an non empty field is met the empty
lines are stored
VAL ̲COMM ̲DECISION
FILE SYNTAX ̲VAL.S
PROCEDURE COMM DECISION
VALIDATION 1 field without IOC. S or D
STORAGE 0 -
STORAGE 1 -
VUP ̲SEMAN ̲REC.DECISION
USPR ̲TABLES -
TMP -
COMMENTS
VAL ̲MESS ̲DECISION
FILE SYNTAX ̲VAL.S
PROCEDURE MESS ̲DECISION
VALIDATION 1 field without IOC S, D, C or space
STORAGE 0 -
STORAGE 1 -
VUP ̲SEMAN ̲REC.UC.DECISION
USPR ̲TABLES -
TMP -
COMMENTS -
VAL ̲REL ̲DECISION
FILE SYNTAX ̲VAL.S
PROCEDURE REL ̲DECISION
VALIDATION R, N or D
STORAGE 0 Decision text without IOC
STORAGE 1 -
VUP ̲SEMAN ̲REC.UC.DECISION
USPR ̲TABLES TAB ̲REL ̲DECIS
TMP -
COMMENTS
VAL ̲RETR ̲DECISION
FILE SYNTAX ̲VAL.S
PROCEDURE MESS ̲DECISION
VALIDATION R, D, L, I, N or C
STORAGE 0 -
STORAGE 1 -
VUP ̲SEMAN ̲REC.UC.DECISION
USPR ̲TABLES -
TMP -
COMMENTS -
VAL ̲ASCII ̲INTEGER
FILE SYNTAX ̲VAL.S
PROCEDURE ASCII INTEGER
VALIDATION Field contains anly digits or spaces converts
from ascii to integer
STORAGE 0 integer value 2 bytes
STORAGE 1 -
VUP ̲SEMAN ̲REC -
USPR ̲TABLES -
TMP -
COMMENTS
VAL ̲TIME ̲STAMP
FILE SYNTAX ̲VAL.S
PROCEDURE TIME ̲STAMP
VALIDATION The procedure CONVERT ̲TIME converts and
validates
STORAGE 0 Time type (long) 4 bytes
STORAGE 1 -
VUP ̲SEMAN ̲REC -
USPR ̲TABLES -
TMP -
COMMENTS -
VAL ̲TERMINAL ̲SCD
FILE SYNTAX ̲VAL.S
PROCEDURE TERMINAL ̲SCD
VALIDATION Gets logical terminal number from init
̲area and looks up the SCD at TMP
STORAGE 0 SCD + trailing space 4 bytes
STORAGE 1 -
VUP ̲SEMAN ̲REC -
USPR ̲TABLES -
TMP TERMINAL ̲TABLE
COMMENTS
VAL ̲C ̲ORIG ̲SCD
FILE SYNTAX ̲VAL2.S
PROCEDURE C ̲ORIG ̲SCD
VALIDATION First char. = "C", gets logical terminal
number from init-area and looks up at TMP
STORAGE 0 SCD with "C"
STORAGE 1 -
VUP ̲SEMAN ̲REC -
USPR ̲TABLES -
TMP TERMINAL ̲TABLE
COMMENTS -
VAL ̲SA ̲ADDR
FILE SYNTAX ̲VAL.S
PROCEDURE SA ̲ADDR
VALIDATION first char. = "A", "S" or " " - 4 chars.
without IOC
STORAGE 0 SCD 4 bytes
STORAGE 1 bit mask 2 bytes
VUP ̲SEMAN ̲REC -
USPR ̲TABLES -
TMP -
COMMENTS -
VAL ̲SA ̲REL ̲DECISION
FILE SYNTAX ̲VAL.S
PROCEDURE SA REL DECISION
VALIDATION 1 field without IOC "R" or "N"
STORAGE 0 Decision text
STORAGE 1 -
VUP ̲SEMAN ̲REC.UC.DECISION
USPR ̲TABLES TAB ̲REL ̲DECIS
TMP -
COMMENTS -
VAL ̲DISPLAY ̲NAME
FILE SYNTAX ̲VAL.S
PROCEDURE DISPLAY ̲NAME
VALIDATION 8 chars. without IOC
STORAGE 0 Display name 8 chars.
STORAGE 1 -
VUP ̲SEMAN ̲REC -
USPR ̲TABLES -
TMP DISPLAY ̲TABLE
COMMENTS -
VAL ̲RESPO ̲DECISION
FILE SYNTAX ̲VAL.S
PROCEDURE RESPO ̲DECISION
VALIDATION 1 field without IOC "Y" or "N" as first
char
STORAGE 0 -
STORAGE 1 -
VUP ̲SEMAN ̲REC.UC.DECISION
USPR ̲TABLES -
TMP -
COMMENTS -
VAL ̲ITEM ̲TYPE
FILE SYNTAX ̲VAL2.S
PROCEDURE ITEM ̲TYPE
VALIDATION 1 field without IOC "R", "D", "I" or space
STORAGE 0 binary value 2 bytes
STORAGE 1 -
VUP ̲SEMAN ̲REC -
USPR ̲TABLES -
TMP -
COMMENTS -
VAL ̲OPT ̲TERM ̲SCD
FILE SYNTAX ̲VAL2.S
PROCEDURE OPT ̲TERM ̲SCD
VALIDATION 1 field 3 chars. without IOC. Terminal
SCD or blank
STORAGE 0 SCD 4 bytes
STORAGE 1 -
VUP ̲SEMAN ̲REC -
USPR ̲TABLES -
TMP TERMINAL ̲TABLE
COMMENTS -
VAL ̲MAN ASCII ̲INTEGER
FILE SYNTAX ̲VAL.S
PROCEDURE MAN ̲ASCII ̲INTEGER
VALIDATION 1 field without IOC - mandatory
STORAGE 0 integer value 2 bytes
STORAGE 1 -
VUP ̲SEMAN ̲REC -
USPR ̲TABLES -
TMP -
COMMENTS Field contains only digits or spaces. Converts
from ASCII to integer
VAL ̲MAN ̲TIME ̲STAMP
FILE SYNTAX ̲VAL.S
PROCEDURE MAN ̲TIME ̲STAMP
VALIDATION 1 field without IOC - mandatory
STORAGE 0 time type (long) 4 bytes
STORAGE 1 -
VUP ̲SEMAN ̲REC -
USPR ̲TABLES -
TMP -
COMMENTS The procedure CONVERT ̲TIME converts and
validates
VAL ̲FROM ̲PLA
FILE PLA ̲SYNTAX.S
PROCEDURE FROM ̲PLA
VALIDATION 1 field without IOC
STORAGE 0 PLA with IOC
STORAGE 1 PLA ref.
VUP ̲SEMAN ̲REC -
USPR ̲TABLES -
TMP LOCAL ̲PLA ̲TABLE
COMMENTS -
VAL ̲PLA ̲GRP
FILE PLA ̲SYNTAX.S
PROCEDURE PLA ̲GRP
VALIDATION bundle of max 6 fields without IOC
STORAGE 0 PLA's or AIG's with IOC
STORAGE 1 PLA refs. 0 for blank field
VUP ̲SEMAN ̲REC.SING ̲PLA ̲COUNT
USPR ̲TABLES -
TMP PLA ̲REF ̲TABLE, LOCAL ̲PLA ̲TABLE
PLA ̲TABLE, AIG ̲TABLE
COMMENTS Each field may contain any of the following:
AIG ref. "AIG" followed by 4 digits
AG ref. "AG" followed by 4 chars.
X PLA "X /" followed by any string
ZEN PLA "ZEN /" followed by any string
Full PLA any other string
PLA ref. 4 digits
VAL ̲EXEMPT
FILE PLA ̲SYNTAX.S
PROCEDURE PLA ̲GRP
VALIDATION bundle with max 6 fields without IOC
STORAGE 0 PLA's or AIG's with IOC
STORAGE 1 PLA refs. 0 for blank field
VUP ̲SEMAN ̲REC.EXEMPT ̲COUNT
USPR ̲TABLES -
TMP PLA ̲REF ̲TABLE, LOCAL ̲PLA ̲TABLE
PLA ̲TABLE, AIG ̲TABLE
COMMENTS Each field may contain any of the following:
AIG ref. "AIG" followed by 4 digits
AG ref. "AG" followed by 4 chars.
X PLA "X /" followed by any string
ZEN PLA "ZEN /" followed by any string
Full PLA any other string
VAL ̲OPT ̲LOC ̲PLA
FILE PLA ̲SYNTAX.S
PROCEDURE OPT ̲LOC ̲PLAD
VALIDATION 1 field without IOC 2 bytes
STORAGE 0 PLA ref. 2 bytes
STORAGE 1 -
VUP ̲SEMAN ̲REC -
USPR ̲TABLES -
TMP LOCAL ̲PLA ̲TABLE
COMMENTS -
VAL ̲OPT ̲GLO ̲PLA
FILE PLA ̲SYNTAX.S
PROCEDURE OPT ̲GLO ̲PLAD
VALIDATION 1 field without IOC 54 chars.
STORAGE 0 PLA ref. 2 bytes
STORAGE 1 -
VUP ̲SEMAN ̲REC -
USPR ̲TABLES -
TMP PLA ̲TABLE
COMMENTS -
VAL ̲AP3 ̲REQ
FILE AP3 ̲SYNTAX.S
PROCEDURE AP3 ̲REQ
VALIDATION 1 field without IOC 3 digits (max 7)
STORAGE 0 binary calue 2 bytes
STORAGE 1 -
VUP ̲SEMAN ̲REC -
USPR ̲TABLES -
TMP -
COMMENTS -
VAL ̲AP3 ̲SET ̲TEXT
FILE AP3 ̲SYNTAX.S
PROCEDURE SET ̲TEXT
VALIDATION 1 field with IOC
STORAGE 0 contents of M.5 + "//"
STORAGE 1 -
VUP ̲SEMAN ̲REC.EMPTY ̲LINE ̲COUNT
USPR ̲TABLES -
TMP -
COMMENTS M.5 only stored when replica = 1
VAL ̲AP3 ̲SET ̲ID
FILE AP3 ̲SYNTAX.S
PROCEDURE SET ̲ID
VALIDATION 1 field without IOC - optional uses M.5
STORAGE 0 -
STORAGE 1 -
VUP ̲SEMAN ̲REC -
USPR ̲TABLES -
TMP -
COMMENTS SET ̲ID (incl. IOC) written to M.5
VAL ̲MAN ̲SET ̲ID
FILE AP3 ̲SYNTAX.S
PROCEDURE SET ̲ID
VALIDATION 1 field with IOC - mandatory uses M.5
STORAGE 0 -
STORAGE 1 -
VUP ̲SEMAN ̲REC -
USPR ̲TABLES -
TMP -
COMMENTS SET ̲ID (incl. IOC) is written to M.5
VAL ̲AP3 ̲SET ̲FIELD
FILE AP3 ̲SYNTAX.S
PROCEDURE SET ̲FIELD
VALIDATION 1 field without IOC - optional
STORAGE 0 (contents of M.5)
STORAGE 1 -
VUP ̲SEMAN ̲REC -
USPR ̲TABLES -
TMP -
COMMENTS "/" + SET ̲FIELD is written to M.5. IOC
header is updated
VAL ̲MAN ̲SET ̲FIELD
FILE AP3 ̲SYNTAX.S
PROCEDURE SET ̲FIELD
VALIDATION 1 field with IOC - mandatory
STORAGE 0 (contents of M.5)
STORAGE 1 -
VUP ̲SEMAN ̲REC -
USPR ̲TABLES -
TMP -
COMMENTS "/" + SET ̲FIELD is written to M.5. IOC
is updated.
VAL ̲SEL ̲OPT ̲SET ̲FIELD
FILE AP3 ̲SYNTAX.S
PROCEDURE SET ̲FIELD
VALIDATION 1 field with IOC - optional
STORAGE 0 (contents of M.5)
STORAGE 1 -
VUP ̲SEMAN ̲REC -
USPR ̲TABLES -
TMP -
COMMENTS "/" + SET ̲FIELD is written to M.5. IOC
is updated
VAL ̲SEL ̲MAN ̲SET ̲FIELD
FILE AP3 ̲SYNTAX.S
PROCEDURE SET ̲FIELD
VALIDATION 1 field with IOC - mandatory
STORAGE 0 (contents of M.5)
STORAGE 1 -
VUP ̲SEMAN ̲REC -
USPR ̲TABLES -
TMP -
COMMENTS "/" + SET ̲FIELD is written to M.5. IOC
is updated. If no set ID is entered (IOC
count = 0) then no entry is required.
VAL ̲COLOUMN ̲HEAD
FILE AP3 ̲SYNTAX.S
PROCEDURE COLOUMN ̲HEAD
VALIDATION 1 field with IOC uses M.5
STORAGE 0 field with IOC
STORAGE 1 -
VUP ̲SEMAN ̲REC -
USPR ̲TABLES -
TMP -
COMMENTS IOC header + "/" generated in M.5.
VAL ̲FIRST ̲COL ̲FIELD
FILE AP3 ̲SYNTAX.S
PROCEDURE COLOUMN ̲FIELD
VALIDATION 1 field with IOC uses M.5
STORAGE 0 -
STORAGE 1 -
VUP ̲SEMAN ̲REC -
USPR ̲TABLES -
TMP -
COMMENTS IOC header + "/" generated in M.5.
VAL ̲COL ̲FIELD
FILE AP3 ̲SYNTAX.S
PROCEDURE COLOUMN ̲FIELD
VALIDATION 1 field with IOC uses M.5
STORAGE 0 -
STORAGE 1 -
VUP ̲SEMAN ̲REC -
USPR ̲TABLES -
TMP -
COMMENTS Field stored in M.5.
VAL ̲LAST ̲COL ̲FIELD
FILE AP3 ̲SYNTAX.S
PROCEDURE COLOUMN ̲FIELD
VALIDATION 1 field with IOC uses M.5
STORAGE 0 Contents of M.5
STORAGE 1 -
VUP ̲SEMAN ̲REC -
USPR ̲TABLES -
TMP -
COMMENTS -
4.2.7.4.2 S̲E̲M̲A̲N̲ ̲V̲A̲L̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
4.2.7.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̲
The function of this module is to contain validation
procedures for each format, in order to validate the
con text of the format.
The subaction COPY ̲VUP ̲SEMAN copies the ACCOUNT part
of VUP ̲SEMAN ̲REC to UFCO ̲ACCOUNT. It is used as default
semantic subaction. The other subaction should call
COPY ̲VUP ̲SEMAN if validation result = OK.
In insertion of a new subaction requires the following:
1. The code is inserted as a subprocedure (or declared
as an import module, if it is contained in a separate
module).
2. Case table and switch table at the end of the module
are extended with the extra entry.
4.2.7.4.2.2 M̲o̲d̲u̲l̲e̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲
All semantic procedures has the same interface, thus
they will be described as one.
SEMAN ̲PROC (R0, R4, R5, R6);
Register conventions:
R0(call): Format number (from last 3 digits in format
name)
R0(return): Result OK, NOT ̲OK
R4: Memory record M.1 (i.e. UFCO ̲ACCOUNT)
R5: Memory record M.3 (i.e. SEMAN ̲REC)
4.2.7.4.2.3 M̲o̲d̲u̲l̲e̲ ̲C̲o̲m̲p̲o̲n̲e̲n̲t̲s̲
Procedure O̲K̲ ̲D̲E̲C̲I̲S̲I̲O̲N̲ (R0, R4, R5, R6)
Sets DECISION to V ̲OK and copies SEMAN ̲REC to UFCO
̲
ACCOUNT.
Procedure C̲O̲P̲Y̲ ̲V̲U̲P̲ ̲S̲E̲M̲A̲N̲ ̲(̲R̲0̲,̲ ̲R̲4̲,̲ ̲R̲5̲,̲ ̲R̲6̲)̲
If decision (VUP ̲SEMAN ̲REC.UC.DECISION) = 0 then V
̲OK = decision. Copy UFCO ̲ACCOUNT part of VUP ̲SEMAN
̲REC to UFCO ̲ACCOUNT (from M.3 to M.1).
Procedure S̲E̲T̲ ̲M̲A̲I̲N̲T̲Y̲P̲E̲
(R1 C K MAINTYPE VALUE
R5 C K % VUP ̲SEMAN ̲REC
R6) C LINK
The value in R1 is stored in:
VUP ̲SEMAN ̲REC.UC.MAINTYPE
CIF ̲FIELD ̲1: IMF MAINTYPE
CIF ̲FIELD ̲1: CTS MSG ̲TYPE
Procedure C̲T̲S̲A̲ ̲L̲O̲G̲
(R6) - - LINK
NARRATIVE: Writes fields: calling ̲station, filing ̲time,
time ̲stamp ̲send & terminal ̲designator into ctsa ̲log
record of adm ̲field. Note: fields message ̲type is written
by SET ̲MAINTYPE, field item ̲1ref ̲id by FCP are written
by FCP.
4.2.7.4.3 D̲I̲S̲P̲L̲A̲Y̲ ̲F̲I̲E̲L̲D̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲ ̲
4.2.7.4.3.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 display procedures
for each possible field in the user formats.
4.2.7.4.3.2 M̲o̲d̲u̲l̲e̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲
All display procedures have the same interfaces, thus
they will be described as one.
DISPLAY ̲PROC (R0, R1, R3, R4, R5, R6);
Register conventions:
R0: Display procedure reference
R1: VDU field type
R3: Size of data
R4: Pointer to input data
R5: Pointer to output data
4.2.7.4.3.3 M̲o̲d̲u̲l̲e̲ ̲C̲o̲m̲p̲o̲n̲e̲n̲t̲s̲
None.
4.3 M̲E̲M̲O̲R̲Y̲ ̲L̲A̲Y̲O̲U̲T̲
As a basis for calculation the following figures are
used:
V̲C̲O̲ ̲C̲O̲R̲O̲U̲T̲I̲N̲E̲
Approx 2.5 KW code
U̲F̲C̲O̲ ̲C̲O̲R̲O̲U̲T̲I̲N̲E̲
Approx 12.0 KW code
V̲D̲I̲A̲ ̲C̲O̲R̲O̲U̲T̲I̲N̲E̲
Approx 14.5 KW code
R̲E̲T̲R̲ ̲C̲O̲R̲O̲U̲T̲I̲N̲E̲
Approx 0.5 KW code
T̲O̲T̲A̲L̲
Approx 29.5 KW code Data ̲Area is estimated to 5 K.
Words, thus the Memory turns to be approx 35 KW.
U̲M̲A̲M̲ ̲P̲R̲O̲C̲E̲S̲S̲
Approx 9.3 KW code
UMAM data area = approx 6,0 KW