top - download
⟦439acca6d⟧ Wang Wps File
Length: 20987 (0x51fb)
Types: Wang Wps File
Notes: CPS/SDS/039
Names: »2142A «
Derivation
└─⟦11096526c⟧ Bits:30006108 8" Wang WCS floppy, CR 0171A
└─ ⟦this⟧ »2142A «
WangText
…00……00……00……00……00……08……02……00……00……08…
…08……07……07……0a……07……0d……07……0f……07…
…07……07……06……09……06……0d……06……0f……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.2.4.8 VUS IN/OUT LINE ................
4.2.2.4.9 VUS CMD PENDING ................
4.2.2.4.10 VUS SEQUENCE ................
4.2.2.4.11 Execute Function ............
4.2.2.5 Common Subpackage Data .............
4.2.2.6 Common Subpackage Procedures .......
4.2.2.6.1 Lookup Parameters ..............
4.2.2.6.2 SET CURSOR .....................
4.2.2.6.3 DISPLAY VDU FIELD ..............
4.2.2.6.4 DISPLAY ERROR MSG ..............
4.2.2.6.5 TEP RELV FIRST .................
4.2.2.6.6 TEP RECV NEXT ..................
4.2.2.4.8 I̲N̲S̲E̲R̲T̲/̲D̲E̲L̲E̲T̲E̲ ̲L̲I̲N̲E̲S̲
4.2.2.4.8.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 purpose of this module is to analyze the input
from command line and signal command and parameter
to VDIA, or alternatively, if the input is unacceptable,
to call other modules.
4.2.2.4.8.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) INSERT ̲DELETE ̲LINES
b) INSERT ̲DELETE ̲LINES (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̲
R6 LINK (DEST)
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R0 - R7 (DEST)
4.2.2.4.8.3 M̲o̲d̲u̲l̲e̲ ̲C̲o̲m̲p̲o̲n̲e̲n̲t̲
N/A
4.2.2.4.8.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 list for prefiles used.
b) E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲
All external data defined in 4.1.7/4.2.2.5
VUS ̲S3
VFCO ̲PARAM ̲TABLE
PENDING ̲FC
BTRANS
EXP ̲VDIA ̲CMD
c) L̲o̲c̲a̲l̲ ̲D̲a̲t̲a̲
Refer source list
4.2.2.4.8.5 M̲o̲d̲u̲l̲e̲ ̲D̲e̲s̲i̲g̲n̲
If the expected F/C ̲key (Return) is entered the contents
of command line is fetched, analyzed and a command
is signalled to VDIA. Otherwise, other common procedures
are called in order to display an error message and
to reset the cursor on the command line.
I̲N̲S̲E̲R̲T̲ ̲D̲E̲L̲E̲T̲E̲ ̲L̲I̲N̲E̲S̲
LOOK UP PARAMETERS IN COMMAND LINE
CASE PARAMETERS
0? - EXIT
1? - SYNTAX ̲VALIDATION OK ?
DISPLAY ERROR ̲MSG ("SYNTAX ̲ERROR")
EXIT
CONVERT PARAMETER TO INTEGER
FETCH SEMAPHORE OPERATION FROM POOL
SIGNAL INSERT/DELETE COMMAND FOR VDIA
OTHERWISE DISPLAY ̲ERROR ̲MSG ("TOO ̲MANY ̲PARAMETERS")
FIGURE 4.2.2.4.8-1
4.2.2.4.9 V̲U̲S̲ ̲C̲M̲D̲ ̲P̲E̲N̲D̲I̲N̲G̲
4.2.2.4.9.1 F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲ ̲M̲o̲d̲u̲l̲e̲ ̲D̲e̲s̲i̲g̲n̲
This module is entered when actual fc-key is "return"
and previous fc-key was "commnand".
The content of the command ̲line is fetched and validated.
Accordingly the terminal text field is updated.
If validation is successful VUS ̲SEQUENCE is entered,
otherwise a response text or error codes are displayed.
The validation of the command itself (1st parameter)
is performed by a search in the command table.
Further parameters may be mandatory. If these are not
present in cmd-line, VDIA is informed to display a
request format for the missing parameters. Either this
module or VDIA stores the converted parameters in area
UFCO ̲VAL.
4.2.2.4.9.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) VUS ̲CMD ̲PENDING
b) VUS ̲CMD ̲PENDING (R6)
C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲
R6 LINK (DEST)
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲
R0 - R7 (DEST)
4.2.2.4.9.3 M̲o̲d̲u̲l̲e̲ ̲C̲o̲m̲p̲o̲n̲e̲n̲t̲s̲
V̲A̲L̲I̲D̲A̲T̲E̲ ̲C̲O̲M̲M̲A̲N̲D̲
The command read from the command line (1st parameter)
is validated by a call to TMP. Refer fig. 4.2.2.4.9-2.
C̲L̲E̲A̲R̲ ̲V̲A̲L̲
Clears area UFCO ̲VAL
C̲O̲N̲V̲E̲R̲T̲ ̲D̲T̲G̲
Moves DTG in header line to word boundary, then converts
it to internal representation.
D̲I̲S̲P̲L̲A̲Y̲ ̲E̲R̲R̲ ̲C̲O̲D̲E̲S̲
Display the error codes in the response line directly
below erronous parameters.
P̲R̲E̲C̲ ̲V̲A̲L̲
Validates and converts precedence from header line.
S̲C̲D̲ ̲V̲A̲L̲
Validates the originator-SCD from the header line.
I̲T̲E̲M̲ ̲V̲A̲L̲
Checks if the item ref. is below 65535. In case the
item ref. is converted to internal representation.
4.2.2.4.9.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 list.
b) E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲
All ext. data defined in 4.1.4/4.2.2.5
TMP ̲RECORD (m)
D ̲TXT ̲PTR
VDU ̲HD ̲AREA
CURRENT ̲MODE (m)
VDU ̲HD ̲AREA
INIT ̲AREA
UFCO ̲VAL (m)
HEADER ̲LINE (m)
UFCO ̲PARAM ̲TABLE (m
BTRANS
CURRENT ̲MAIN ̲QUEUE (m)
CURRENT ̲SUBQUEUE (m)
RECV ̲MAIN (m)
UFCO ̲VAL (m)
QEL ̲INFORM (m)
PRPM ̲NUMBER (m)
SEQ ̲FORMAT (m)
SEQ ̲CODE (m)
c) L̲o̲c̲a̲l̲ ̲D̲a̲t̲a̲
Refer source list.
VUS ̲CMD ̲PENDING
LOOKUP PARAMETERS IN COMMAND LINE
MORE THAN 7 OR EQUAL 0 PARAMETERS ?
MORE THAN 7 PARAMETERS ? - DISPLAY ̲ERROR ̲MSG
("too many
parameters")
SET CURSOR IN CMD LINE
V̲A̲L̲I̲D̲A̲T̲E̲ ̲C̲O̲M̲M̲A̲N̲D̲ ̲(̲.̲.̲)̲(̲C̲C̲1̲,̲ ̲E̲R̲R̲O̲R̲ ̲M̲S̲G̲)̲
CC1 = ERROR ? - DISPLAY ̲ERROR ̲MSG (ERROR ̲MSG)
CC = ERROR
MORE THAN 1 PARAMETER ? - DISPLAY ̲ERROR ̲MSG ("too
many parameters")
CC:= ERROR
CC = ERROR ?
CASE COMMAND
CMD1 if more than 1 parameter (i.e.the command
itself) is allowed, further parameters
are validated. If OK, CC:= Okay and keys
for VUS ̲SEQUENCE are set. Otherwise CC:=
error and appropriate error msg (or error
number directly below parameter) is displayed
CMDN
OTHERWISE INTERNAL ̲ERROR (GIVE ̲UP)
CC = ERROR? - SET CURSOR IN COMMAND ̲LINE
RESET VALIDATION ̲COUNT
VUS ̲SEQUENCE
IF NECESSARY UPDATE TERMINAL ̲TEXT FIELD
FIGURE 4.2.2.4.8-1
V̲A̲L̲I̲D̲A̲T̲E̲ ̲C̲O̲M̲M̲A̲N̲D̲
SET TMP ̲RECORD
TMP ̲REQUEST (SEARCH IN USER ̲COMMAND ̲TABLE)
COMMAND IN TABLE ? -
RETURN ERROR ̲MSG = UNKNOWN ̲COMMAND
CC = ERROR
EXIT
COMMAND WITHIN CAPABILITY ? - RETURN CC:= OK
RETURN ERROR ̲MSG = "NO CAPABILITY FOR THIS OPERATION"
CC = ERROR
FIGURE 4.2.2.4.8-2
4.2.2.4.10 V̲U̲S̲ ̲S̲E̲Q̲U̲E̲N̲C̲E̲
4.2.2.4.10.1 F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
An entry in the sequence table is executed.
I.e. actions specific to current state
(format or VDU, FC ̲KEY activated, etc.)
are executed as specified in SEQUENCE
̲RECORD. A part of the record is executed
in module EXEC ̲FUNC. The TABLE ̲
ENTRY is searched at TMP, identified by
two keys:
A FORMAT ̲KEY, related to current VDU ̲FORMAT.
A CODE ̲KEY, reflecting the event to be
executed.
Generally, the NEXT FORMAT ̲KEY is defined
in returned SEQUENCE ̲RECORD, but may be
overruled by the program code. The CODE
̲KEY is always set up in program code (examples,
modules:VDIA ̲CC ̲PROC,FC ̲KEY ̲PROC,ANQ ̲PROC,
RETR ̲PROC).
4.2.2.4.10.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) VUS ̲SEQUENCE
b) VUS ̲SEQUENCE (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̲
R6 LINK (DEST)
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
None
R0 - R7 (DEST)
4.2.2.4.10.3 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̲
Refer source list.
b) E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲
All external data defined in 4.1.4/4.2.2.5
SEQ ̲REC (m)
SPLIT ̲FAILED
SEQ ̲FORMAT (m)
SEQ ̲CODE
FCK ̲SET (m)
CURSOR ̲RECORD (m)
TMP ̲RECORD (m)
CUR ̲TIME
ACCOUNT (m)
INPUT ̲CIF
OUTPUT ̲CIF
ITEM ̲REC (m)
FF ̲HANDLE
c) L̲o̲c̲a̲l̲ ̲D̲a̲t̲a̲
Refer source list.
4.2.2.4.10.3 M̲o̲d̲u̲l̲e̲ ̲C̲o̲m̲p̲o̲n̲e̲n̲t̲s̲
None
VUS ̲SEQUENCE
SEQ ̲FORMAT = NULL? - EXIT
SET TMP ̲RECORD
TMP ̲REQUEST (TMP ̲RECORD)(SEQ ̲TABLE)
EXECUTIVE ̲FUNCTIONS
SPLIT ̲FAILURE ? - EXIT
SET ̲CURSOR
SPLIT ̲FAILURE ? - EXIT
SEQ ̲TABLE. VDIA ̲COMMAND = NIL ? - EXIT
FETCH SEMAPHORE OPERATION FROM POOL
SIGNAL VDIA
SEQ ̲FORMAT:= SEQ ̲TABLE. NEW ̲FORMAT
FIGURE 4.2.2.4.10-1
4.2.2.4.11 S̲T̲P̲ ̲R̲E̲P̲O̲R̲T̲I̲N̲G̲
4.2.2.4.11.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 collects and reports statistical data.
4.2.2.4.11.2 M̲o̲d̲u̲l̲e̲ ̲I̲/̲F̲
C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
a) STP ̲REPORTING (STP ̲TYPE: STATISTIC 1..STATISTIC
2..)
b) STP ̲REPORTING (R0, R6)
C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R0 STP ̲TYPE
R6 LINK
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲
None, all destroyed.
4.2.2.4.11.3 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̲
Refer source list
b) E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲
All external data defined in 4.1.4/4.2.2.5
ACCOUNT
SEQ ̲REC
CUR ̲TIME
INIT ̲AREA
c) L̲o̲c̲a̲l̲ ̲D̲a̲t̲a̲
Refer source list.
S̲T̲P̲ ̲R̲E̲P̲O̲R̲T̲I̲N̲G̲
CASE STP ̲TYPE
TYPE 1 ? - COLLECT AND REPORT STATISTICS
TYPE 2 ? - COLLECT AND REPORT STATISTICS
OTHERWISE INTERNAL ̲ERROR (GIVE ̲UP)
FIGURE 4.2.2.4.11-1
4.2.2.4.12 L̲O̲G̲ ̲R̲E̲P̲O̲R̲T̲I̲N̲G̲
4.2.2.4.12.1 F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
Data for logging purposes are collected and reported.
4.2.2.4.12.2 M̲o̲d̲u̲l̲e̲ ̲I̲/̲F̲
C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
a) LOG ̲REPORTING
b) LOG ̲REPORTING (R6)
C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R6 LINK
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
None. All destroyed
4.2.2.4.12.3 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 list.
b) E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲
All external data are defined in 4.1.4/4.2.2.5
VUS ̲LOG (m)
INIT ̲AREA
ACCOUNT
ANQ ̲OP (m)
VUS ̲QNAME (m)
VUS ̲QEL ̲ATTR (m)
SEND ̲QUEUE (m)
VUS ̲S2
c) L̲o̲c̲a̲l̲ ̲D̲a̲t̲a̲
Refer source list.
L̲O̲G̲ ̲R̲E̲P̲O̲R̲T̲I̲N̲G̲
CLEAR ̲LOG ̲COLLECT ̲AREA
COLLECT LOG DATA
ANSWER ̲QUEUE OPERATION PENDING ? CANCEL AND WAIT SYSCALL
CLEAR ANSWER ̲QUEUE
L̲O̲O̲P̲ (MAX. 2 TIMES)
SEND ̲REQUEST (LOG ̲DATA) TO LOG ̲PACKAGE
AWAIT REPLY IN ANSWER QUEUE
REPLY ACCEPTABLE ? - EXIT LOOP
QUEUE ̲ERROR (CONTINUE)
E̲N̲D̲ ̲L̲O̲O̲P̲
WAS ANSWER ̲QUEUE OPERATION PENDING ?
INIT ANSWER ̲QUEUE OPERATION
ASSOCIATE TO SEMAPHORE S2
FIGURE 4.2.2.4.12-1
4.2.2.4.13 S̲T̲A̲T̲U̲S̲ ̲R̲E̲P̲O̲R̲T̲I̲N̲G̲
4.2.2.4.13.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 collects data for status purposes and reports
to UMAM.
4.2.2.4.13.2 M̲o̲d̲u̲l̲e̲ ̲I̲/̲F̲
a) STATUS ̲REPORTING (STATUS ̲TYPE: STATUS OUTG 1..
STATUS ̲DELV)
b) STATUS ̲REPORTING (R0, R6)
C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R0 Status Type (destr)
R6 LINK
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
N/A. All destroyed.
4.2.2.4.13.3 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 list.
b) E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲
All external data defined in 4.1.4/4.2.2.5
SEQ ̲REC
VUS ̲SEND ̲PARAMS (m)
INPUT ̲CIF
OUTPUT ̲CIF
UMAM ̲VERSION
INIT ̲AREA
QEL ̲INFORM
UFCO ̲VAL (m)
ACCOUNT
SEND ̲QUEUE (m)
VUS ̲SEND ̲PARAMS (m)
PREVIOUS ̲MAINTYPE
VUS ̲QNAME (m)
S̲T̲A̲T̲U̲S̲ ̲R̲E̲P̲O̲R̲T̲I̲N̲G̲
SECURITY ̲FAILURE ? - EXIT
CASE STATUS ̲TYPE
OUTGOING (PREPARATION) ?
OUTGOING (CONTINUE PREPARATION) ? - collect
status
data
RELEASE ?
DELIVERY ?
STATUS TYPE = RELEASE OR DELIVERY ?
SEND ̲QEL (BUFFER) TO UMAM
SEND ̲QEL (PREPARED CIF) TO UMAM
FIGURE 4.2.2.4.13-1
4.2.2.4.14 E̲x̲e̲c̲u̲t̲e̲ ̲F̲u̲n̲c̲t̲i̲o̲n̲
4.2.2.4.14.1 F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
This module executes the specified function.
4.2.2.4.14.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) EXECUTE ̲FUNCTION (FUNCTION:SEQ ̲FUNCTION
̲TYPE)
b) EXECUTE ̲FUNCTION (R0, 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 FUNCTION (DEST)
R6 LINK (DEST)
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
None
R0 - R7 (DEST)
4.2.2.4.14.3 M̲o̲d̲u̲l̲e̲ ̲C̲o̲m̲p̲o̲n̲e̲n̲t̲s̲
None
4.2.2.4.14.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 list
b) E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲
All external data defined in 4.1.4/4.2.2.5
INPUT ̲CIF (m)
OUTPUT ̲CIF (m)
BACK ̲UP ̲CIF (m)
APPEND ̲CIF (m)
UMAM ̲VERSION (m)
SAR ̲VERSION (m)
UFCO ̲VAL (m)
INIT ̲AREA
HEADER ̲TEXT (m)
CIF ̲ATTR (m)
VUS ̲RECV ̲ATTR
QEL ̲INFORM
SEQ ̲REC (m)
ANQ ̲QEL
ACCOUNT (m)
PRPM ̲NUMBER
c) L̲o̲c̲a̲l̲ ̲D̲a̲t̲a̲
4.2.2.4.14.5 M̲o̲d̲u̲l̲e̲ ̲D̲e̲s̲i̲g̲n̲
A combination of common procedures and/or
are called dependent of the required function.
E̲X̲E̲C̲U̲T̲E̲ ̲F̲U̲N̲C̲T̲I̲O̲N̲
CASE FUNCTION
NO ̲FUNCTION EXIT
FUNCTION 1 ? - DO FUNCTION 1
.
.
.
.
.
FUNCTION N ? - DO FUNCTION N
OTHERWISE INTERNAL ̲ERROR (GIVE ̲UP)
FIGURE 4.2.2.4.11-1
4.2.2.4.15 T̲E̲P̲ ̲G̲E̲T̲ ̲F̲I̲R̲S̲T̲ ̲C̲I̲F̲
4.2.2.4.15.1 F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
The purpose of this module is to receive the first
CIF to which a user has access in a queue.
4.2.2.4.15.2 I̲n̲t̲e̲r̲f̲a̲c̲e̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
a) TEP ̲GET ̲FIRST ̲CIF(NEW ̲CIF: QEL ̲REFERENCE)
(CC): ERROR ̲OK
b) TEP ̲GET ̲FIRST ̲CIF (R2, R3, 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̲
R6 LINK (DEST)
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R2 NEW ̲CIF
R2 CC ERROR ̲OK
R0 - R1, R4 - R7 (DEST)
4.2.2.4.15.3 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 list.
b) E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲
All data defined in 4.1.4/4.2.2.5
SEQ ̲REC (m)
INPUT ̲CIF (m)
CURRENT ̲SUBQUEUE
CURRENT ̲PREC (m)
VUS ̲RECV ̲ATTR
CIF ̲ATTR (m)
c) L̲o̲c̲a̲l̲ ̲D̲a̲t̲a̲
Refer source list.
4.2.2.4.15.4 M̲o̲d̲u̲l̲e̲ ̲D̲e̲s̲i̲g̲n̲
Refer fig. 4.2.2.4.15-1
T̲E̲P̲ ̲G̲E̲T̲ ̲F̲I̲R̲S̲T̲ ̲C̲I̲F̲
CC2: = OKAY
TEP ̲RECEIVE ̲FIRST (....) (QEL, CC1)
CASE CC1
NOT ̲OPENED ? - SEQ ̲TABLE. VDIA ̲CMD: = NIL
QUEUE EMPTY ? - DISPLAY ̲ERROR ̲MSG ("QUEUE ̲EMPTY")
CALCULATE MENU
RECEIVED ̲OK ? - INPUT ̲CIF: = QEL
GET TRANSACTION AND ITEM NUMBER
RECEIVE ̲NEXT ? - CC2: = ERROR
OTHERWISE ? INTERNAL ̲ERROR (GIVE ̲UP)
RETURN (CC2, QEL)
FIGURE 4.2.2.4.15-1
4.2.2.4.16 T̲E̲P̲ ̲G̲E̲T̲ ̲N̲E̲X̲T̲ ̲C̲I̲F̲
4.2.2.4.16.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 purpose of this procedure is to receive the next
CIF, to which a user has access.
4.2.2.4.16.2 I̲n̲t̲e̲r̲f̲a̲c̲e̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
a) TEP ̲GET ̲NEXT ̲CIF (RECV ̲QEL: QEL ̲REFERENCE)
(OUT ̲QEL: QEL ̲REFERENCE)
b) TEP ̲GET ̲NEXT ̲CIF (R2, R3, 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̲
R2 RECV ̲QEL (DEST)
R6 LINK (DEST)
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R2 OUT ̲QEL
R0-R1, R3-R7 (DEST)
4.2.2.4.16.3 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 list.
b) E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲
All external data defined in 4.1.4/4.2.2.5
SEQ ̲REC (m)
INPUT ̲CIF (m)
CURRENT ̲SUBQUEUE
CURRENT ̲PREC (m)
VUS ̲RECV ̲ATTR
CIF ̲ATTR (m)
c) L̲o̲c̲a̲l̲ ̲D̲a̲t̲a̲
Refer source list
4.2.2.4.16.4 P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲D̲e̲s̲i̲g̲n̲
Refer fig. 4.2.2.4.16-1
T̲E̲P̲ ̲G̲E̲T̲ ̲N̲E̲X̲T̲ ̲C̲I̲F̲
TEP ̲RECEIVE ̲NEXT (QEL1) (QEL2,CC)
CASE CC
NOT ̲OPENED ? - SEQ ̲REC.VDIA ̲COMMAND:= NIL
QUEUE ̲EMPTY ? - DISPLAY ̲ERROR ̲MSG ("QUEUE EMPTY")
CALCULATE ̲MENU
RECEIVED ̲OK ? - INPUT ̲CIF:= QEL2
GET TRANSACTION AND ITEM NUMBER
OTHERWISE INTERNAL ̲ERROR (GIVE ̲UP)
FIGURE 4.2.2.4.16-1
4.2.2.4.17 T̲E̲P̲ ̲R̲E̲C̲E̲I̲V̲E̲ ̲F̲I̲R̲S̲T̲
4.2.2.4.17.1 F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
This procedure receives the first item in the queue
which is specified by the caller.
4.2.2.4.17.2 I̲n̲t̲e̲r̲f̲a̲c̲e̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
a) TEP ̲RECV ̲FIRST (OUT ̲QEL: QEL ̲REFERENCE,
CC: COMPLETION ̲CODE)
b) TEP ̲RECV ̲FIRST (R2,R3,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̲
R6 LINK (DEST)
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R2 OUT ̲QEL
R3 CC (RECV ̲OK,Q ̲EMPTY,NOT
̲
OPENED, RECV ̲NEXT)
R0-R1, R4-R7 (DEST)
4.2.2.4.17.3 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 list
b) E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲
All external data defined in 4.1.4/4.2.2.5.
VUS ̲RECV ̲ATTR (m)
VUS ̲QNAME (m)
CURRENT ̲SUBQUEUE (m)
CURRENT ̲MAINQUEUE
INIT ̲AREA
SEC ̲FAILED
CC (m)
CURRENT ̲CLASS
c) L̲o̲c̲a̲l̲ ̲D̲a̲t̲a̲
Refer source list.
4.2.2.4.17.4 P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲D̲e̲s̲i̲g̲n̲
The first QEL in a specified queue is received. If
the user has access then the referenced CIF will be
opened. Refer figure 4.2.2.4.17-1
T̲E̲P̲ ̲R̲E̲C̲E̲I̲V̲E̲ ̲F̲I̲R̲S̲T̲
DETERMINE QUEUE FROM CURRENT ̲MODE
L̲O̲O̲P̲
CASE
RECEIVE ̲FIRST (QUEUE) (QEL,CC1)
ERROR ? - CASE ANALYZE ̲ERROR (CC1)
PROFILE ̲CHECK ? CC2:= RECEIVE ̲NEXT
QUEUE ̲EMPTY ? CC2:= QUEUE ̲EMPTY
END CASE
OKAY ? - CALCULATE ̲FORMAT
IS QEL A VIEW ?
CASE OPEN ̲VIEW(QEL)(CC3)
ERROR?- CASE ANALYSE ̲ERROR(CC3)
STOPPED ?
DISMANTLE QEL
CC2:=STOPPED
NOT ̲ACCEPTED ?
SECURITY ̲FAILURE !
RETURN (QEL)
CC2=NOT ̲OPENED
END CASE
OKAY ? CC2:=RECEIVED ̲OK
END CASE
CC2 NE STOPPED ? - EXIT L̲O̲O̲P̲
END LOOP
RETURN QEL AND CC2
FIGURE 4.2.2.4.17-1
4.2.2.4.18 T̲E̲P̲ ̲R̲E̲C̲E̲I̲V̲E̲ ̲N̲E̲X̲T̲
4.2.2.4.18.1 F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
Receives the QEL next to one specified as input. If
subqueue is empty and a mainqueue is specified, then
the first item in the next subqueue is received.
4.2.2.4.18.2 I̲n̲t̲e̲r̲f̲a̲c̲e̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
a) TEP ̲RECV ̲NEXT (RECV ̲QEL: QEL ̲REFERENCE)
(OUT ̲QEL : QEL ̲REFERENCE,CC)
b) TEP ̲RECV ̲NEXT (R2, R3, 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̲
R2 RECV ̲QEL (DEST)
R6 LINK (DEST)
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R2 OUT ̲QEL
R3 CC (RECV ̲OK,Q ̲EMPTY,NOT
̲OPENED
R0-R1, R4-R7 (DEST)
4.2.2.4.18.3 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 list.
b) E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲
All external data defined in 4.1.4/4.2.2.5
VUS ̲RECV ̲ATTR (m)
RECV ̲MAIN
CURRENT ̲SUBQUEUE
INIT ̲AREA
SEC ̲FAILED
CURRENT ̲CLASS (m)
L̲o̲c̲a̲l̲ ̲D̲a̲t̲a̲
Refer source list.
4.2.2.4.18.4 P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲D̲e̲s̲i̲g̲n̲
Refer figure 4.2.2.4.18-1/3
T̲E̲P̲ ̲R̲E̲C̲E̲I̲V̲E̲ ̲N̲E̲X̲T̲
DISM: = FALSE
L̲O̲O̲P̲1̲
CASE RECEIVE ̲NEXT ̲QEL (RECV ̲QEL)(OUT ̲QEL,CC1)
ERROR ? - ERROR ̲HANDLING (-2)
OKAY ? - OKAY ̲HANDLING (-3)
END CASE
CC NE RECEIVE ̲NEXT ? - EXIT LOOP 13
E̲N̲D̲ ̲L̲O̲O̲P̲1
FIGURE 4.2.2.4.18-1
E̲R̲R̲O̲R̲ ̲H̲A̲N̲D̲L̲I̲N̲G̲
CASE ANALYZE ̲ERROR (CC1)
PROFILE ̲CHECK ? - DISM=TRUE ? - RETURN(RECV ̲QEL)
DISM:= TRUE
RECV ̲QEL:= OUT ̲QEL
CC:= RECEIVE ̲NEXT
(SUB-)QUEUE ̲EMPTY ? - DISM = TRUE ? - RETURN(RECV
̲QEL)
DISM:= FALSE
RECEPTION FROM MAIN QUEUE
?
L̲O̲O̲P̲2̲
EXIST NEXT SUB
̲QUEUE ?
CC:= QUEUE ̲EMPTY
EXIT LOOP2
TEP ̲RECEIVE ̲FIRST(..)
(OUT ̲QEL,CC) FROM THIS SUBQUEUE
CC = (SUB-) QUEUE EMPTY ?
EXIT LOOP2
E̲N̲D̲ ̲L̲O̲O̲P̲ ̲2̲
CC = RECEIVE ̲NEXT ? - DISM:= TRUE
RECV ̲QEL:=OUTQEL
CC:= QUEUE ̲EMPTY
END CASE
FIGURE 4.2.2.4.18-2
O̲K̲A̲Y̲ ̲H̲A̲N̲D̲L̲I̲N̲G̲
CALCULATE ̲FORMAT ( ) (CC2)
CC2 = ERROR ? - CC:= RECEIVE ̲NEXT
IS OUT ̲QEL A VIEW ? - CASE OPEN ̲VIEW(OUT ̲QEL)(CC3)
ERROR ? - CASE ANALYZE
̲ERROR (CC3)
STOPPED?
̲CC:= RECEIVE
̲NEXT
DISMANTLE(OUT
̲QEL)
NOT ̲ACCEPTED ? -CC:=NOT
̲OPENED
SECURITY
FAILURE
DISM = TRUE? DISM
=
TRUE
?
-
RETURN (RECV ̲QEL)
RETURN(RECV
̲QEL)
CC:= RECEIVED OK
RETURN
(OUT
̲QEL)
OKAY ? - DISM = TRUE ? - RETURN
(RECV ̲QEL)
CC:= RECEIVED ̲OK
END CASE
FIGURE 4.2.2.4.18-3