top - download
⟦5073aeab2⟧ Wang Wps File
Length: 58084 (0xe2e4)
Types: Wang Wps File
Notes: Spelunked
Names: »~ORPHAN74.08«
Derivation
└─⟦7f5d2b450⟧ Bits:30006107 8" Wang WCS floppy, CR 0170A
└─ ⟦this⟧ »~ORPHAN74.08«
WangText
F…06…E…09…E…0c…E…0f…E…01…E…06…D…0a…D…0d…D…0f…D…01…D…02…D …86…1
…02…
…02…
…02…
…02…CPS/SDS/039
…02…820505 …02……02…
USER VDU
DETAILED DESIGN SPECIFICATION …02……02…CAMPS
4.2.2.4.1.1 Fuctional Specification ...
4.2.2.4.1.3.1 CANCEL ANQ IN-PUT......
4.2.2.4.1.3.2 REQUEST ANQIN-PUT........
4.2.2.4.1.3.3 REQUEST FC KEY IN-PUT..
4.2.2.4.1.3.4 CANCEL FC KEY IN-PUT..
4.2.2.41.4. Data Description..........
4.2.2.4.1.5 Module Design ..............
4.2.2.4.2 VUS ANSER Q PROCESSING .........
4.2.2.4.2.1 Functional Specification ..
4.2.2.4.2.2 Module Interface ...........
4.2.2.4.2.3 Module Component ...........
4.2.2.4.2.3.1 Delete Append CIF ......
4.2.2.4.2.4 Data Description ...........
4.2.2.4.2.5 Module Design ..............
4.2.2.4.3 Append Investigation .........
4.2.2.4.3.1 Functional Description ....
4.2.2.4.3.2 Module Interface ..........
4.2.2.4.3.3 Module Components .........
4.2.2.4.3.4 Data Description ..........
4.2.2.4.3.5 Module Desgn .............
4.2.2.4.4 VUS F/C KEY PROCESSING .........
4.2.2.4.4.1 Functional Specification ..
4.2.2.4.4.2 Module Interface ...........
4.2.2.4.4.3 Module Components .........
4.2.2.4.4. Data Description ..........
4.2.2.4.4.5 Module Design .............
4.2.2.4.5 VCO CMD PROCESSING ............
4.2.2.4.5.1 Functional Specification ..
4.2.2.4.5.2 Module Interface ..........
4.2.2.4.5.3 Module Component ..........
4.2.2.4.5.3.1 STOP ACTION ...........
4.2.2.4.5.4 Data Description ........
4.2.2.4.5.5 Module Design ...........
4.2.2.4.6 VDIA CC PROCESSING ...........
4.2.2.4.6.1 Functional Specification ..
4.2.2.4.6.2 Module Interface ..........
4.2.2.4.6.3 Module Component .........
4.2.2.4.6.4 Data Description ..........
4.2.2.4.6.5 Module Design ............
…86…1 …02… …02… …02… …02… …02… …02… …02… …02… …02… …02… …02… …02… …02… …02…
4.2.2.4.7 RETR OP PROCESSING ............
4.2.2.4.7.1 Functional Specifiction ...
4.2.2.4.7.2 Module Interface ...........
4.2.2.4.7.3 Module Component ...........
4.2.2.4.7.4 Data Description ...........
4.2.2.4.7.5 Module Design ..............
…86…1 …02… …02… …02… …02…
4.2.2 U̲s̲e̲r̲ ̲F̲u̲n̲c̲t̲i̲o̲n̲ ̲C̲o̲n̲t̲r̲o̲l̲ ̲S̲u̲b̲p̲a̲c̲k̲a̲g̲e̲
The U̲ser F̲unction C̲o̲ntrol (UFCO) subpackage performs
the control of all user transactions. Furthermore,
UFCO performs the direct control o the VDU dialogue.
4.2.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 following functions are included in this subpackage:
- System control
- Transaction accounting
- Transaction creation
- Format sequence functions
- Error Handling
Fig. 4.2.2.11 presents the functional breakdown.…86…1
…02… …02… …02… …02…
Figs. 4.2.2.1-1/5…86…1 …02… …02… …02… …02…
4.2.2.1.1 S̲y̲s̲t̲e̲m̲ ̲C̲o̲n̲t̲r̲o̲l̲ ̲(̲1̲.̲0̲)̲
The system control functions are those which indirectly
involve the SSC package. The commands are received
from VCO.
a) Initialization (1.1)
Eecutes the function to be performed after load of
software and which must be executed before normal
operation can be initiated. Depending on the type
of initialization, different actions are taken.
An initialization command is sent to VDIA.
b)Start-Up (1.2)
Executes the function to be performed after sign-on.
The command validation table reflecting the user
capability is defined.
c) Close-Down (1.3)
This function provides the UFCO with the capability
of performing the following unctions:
- Sign-off
- Block terminal
- Order close-down.
d) Security Interrogation (1.4)
Requests a security interrogation to be performed
in case of release.
Executes the functions to be performed after a security
interrogation (e.. receive function keys).
4.2.2.1.2 T̲r̲a̲n̲s̲a̲c̲t̲i̲o̲n̲ ̲A̲c̲c̲o̲u̲n̲t̲i̲n̲g̲ ̲(̲2̲.̲0̲)̲
The transaction accounting functions are those concerning
log and statistics.
a) Collect Data (2.1)
The data which are used for log, satistics and
other purposes are collected in sequence table.
There exists no special collecting procedures but
all data which are pertinent for UFCO will be placed
in this area.
b) Log Reporting (2.2)
The log reporting functions are those requred to
report final log records. The data which are required
in a log record are extracted from the sequence
table.
c) Statistics Reporting (2.3)
The statistics reporting functions are those required
to report statistics.
The data which arerequired in the statistics are
extracted from the sequence table.
4.2.2.1.3 T̲r̲a̲n̲s̲a̲c̲t̲i̲o̲n̲ ̲C̲r̲e̲a̲t̲i̲o̲n̲ ̲(̲3̲.̲0̲)̲
The transaction creation group includes all the functions
to be performed before a transaction may be started.
a) Receive and Validate (3.)
Function keys entered by a user are received from
the VDU. The received function key is validated
against a function key bit mask.
There are two bit masks.
Bit mask (1) reflects the function keys which are
allowed at the moment.
Bit msk (2) reflects the function keys which will
change the format sequence.
b) Define Next Function Key (3.2)
If a function key must be followed by another,
this is defined (i.e. RETURN shall follow COMMAND).
c) Receive Command Line (3.3)
The contnts of the VDU command line are received
via the format handler.
d) Validate Command Line (3.4)
The contents of the command line are validated.
A command is validated against the command validation
table.
Parameters are checked to be withi the correct
range.
e) Display Response Message (3.5)
These functions display a response message in the
VDU response line.
f) Execute Function Key
The functions associated with the received function
key are performed and the format sequene is changed.
g) Execute Command (3.7)
The sequence table key is looked up in the command
validation table and the format sequence is started.
h) Assign Transaction Number (3.8)
Allocates next transaction no. for this terminal.
4.2.2.1. F̲o̲r̲m̲a̲t̲ ̲S̲e̲q̲u̲e̲n̲c̲e̲ ̲F̲u̲n̲c̲t̲i̲o̲n̲ ̲(̲4̲.̲0̲)̲
The format sequence functions are those functions which
are called from the format sequence table.
This table makes it possible to drive the MMI in an
automatic and flexible manner.
It defines for each screen format:
- Allowed commands and function keys
- Functions to be called corresponding to commands/F/C
Keys
- LOG, STATISTICS, SAR reporting required
- Cursor position
- Command to VDIA
- Subsequently sequence record to be executed
4.2.2.1.4.1 S̲t̲a̲r̲t̲ ̲E̲x̲e̲c̲u̲t̲i̲o̲n̲ ̲(̲4̲.̲1̲)̲
The start execution functions are those which must
be performed before a format is presented for a user.
a) Create CIF Buffer (4.1.1)
These functions are those used to interface to
the message management system.
b) Request CIF (4.1.2)
If a continue preparation command is received,
then the referenced CIF is fetched from the preparation
database.
If a recive command is received, then the first
CIF in the corresponding queue is fetched.
c) Update VDU Header (4.1.3)
These functions update the VDU header fields, classification
and terminal function.
d) Complete Append (4.1.4)
These functionsadd a section of another message
to a message under preparation.
It shall be noticed that an off-line append can
result in two security interrogations.…86…1
…02… …02… …02… …02…
e) Display Error Code (4.1.5)
These functions display a response message in the
VDU response line.
f) Determine Message Type (4.1.6)
These functions determine the format wich shall
be used for a message.
4.2.2.1.4.2 S̲t̲o̲p̲ ̲E̲x̲e̲c̲u̲t̲i̲o̲n̲ ̲(̲4̲.̲2̲)̲
The stop execution functions are those which must be
performed when a user gives up access to a CIF.
a) Dismantle CIF / Buffer (4.2.1)
These functions are those used to intrface to the
message management system.
b) Update Status (4.2.2)
The outgoing message status, release message status
and the delivery message status are updated. The
message / comment under preparation is returned
to the preparation database.
c) Update VDU Header (4.2.3)
These functions update the VDU header fields, classification
and terminal function.
4.2.2.1.4.3 Q̲u̲e̲u̲e̲ ̲R̲e̲q̲u̲e̲s̲t̲s̲ ̲(̲4̲.̲3̲)̲
The queue request functions are those concerning the
reception of messages.
a) Receive (4.3.1)
The first CIF to which the requestor has acces
is received from a given queue.
b) Delete (4.3.2)
This function removes a CIF from a queue.
c) Keep (4.3.3)
This function returns a CIF to a queue.
d) Keep and Present next (4.3.4)
This function returns a CIF to the queue from whic
it was received. The next CIF to which the requestor
has access is returned.
e) Delete and Present next (4.3.5)
This function removes a CIF from the queue from
which it was received. The next CIF to which the
requestor has access is returned.
4.2.2.1.4.4 R̲e̲q̲u̲e̲s̲t̲s̲ ̲t̲o̲ ̲C̲A̲M̲P̲S̲ ̲S̲y̲s̲t̲e̲m̲ ̲(̲4̲.̲4̲)̲
The request functions are those concerning the treatment
of messages (CIFs) and requests (buffers).
a) Send for Coordination (4.4.1)
The message is sent for coordination and the delivery
notificaion created by MDP is displayed.
b) Send for Release (4.4.2)
The message is sent to the associated release terminal.
c) Release (4.4.3)
The message is sent for local distribution and
transmission. A release notification is returned
to the drafter.
d) Retrieve / Append (4.4.4)
A retrieve equest is sent to SAR and the retrieved
CIF and/or a response message is displayed.
e) Print (4.4.5)
The CIF currently displayed on the VDU is sent
to the associated printer, or the atomal printer.
f) Defer (4.4.6)
The preparation is termnated and the CIF is sent
to the preparation database.
g) Status Request (4.4.7)
A status request is sent to UMAM and the received
CIF is displayed.
h) Send for Distribution (4.4.8)
A comment is sent for local distribution.
i) Edit / Deete Requests (4.4.9)
A request is sent to UMAM and the referenced CIF
or a response message is displayed.
4.2.2.1.5 E̲r̲r̲o̲r̲ ̲H̲a̲n̲d̲l̲i̲n̲g̲
The error handling function is separated into two parts:
a) Q ̲ERROR (5.1)
This function handles error due to failure in communication
between UFCO ad its queues and decides whether or not
the processing may continue.
b) Internal (5.2)
This function handles errors due to failure in
communication between the subpackages communicating
with UFCO, and decides whether or not the processing
may ontinue.
4.2.2.2 S̲o̲f̲t̲w̲a̲r̲e̲ ̲S̲t̲r̲u̲c̲t̲u̲r̲e̲
The UFCO subpackage consists of one coroutine with
operation semaphore S2 as the main waiting point.
The input to UFCO will be a command which is received
from VCO, VDIA, RETR, the answer queue or the VDU.
Each command will constitute a main function and is,
as well as major function, implemented as a module.
Furthermore some common procedures and module components
exist.
Refer figure 4.2.2.2.1-2.…86…1 …02… …02… …02… …02…
Figs. 4.2.2.2-1/2…86…1 …02… …02… …02… …02…
4.2.2.3 D̲a̲t̲a̲ ̲F̲l̲o̲w̲ ̲a̲n̲d̲ ̲C̲o̲n̲t̲r̲o̲l̲ ̲L̲o̲g̲i̲c̲
4.2.2.3.1 D̲a̲t̲a̲ ̲F̲l̲o̲w̲
The HIPO diagrams overleaf show the data flow of UFCO.
4.2.2.3.2 C̲o̲n̲t̲r̲o̲l̲ ̲L̲o̲g̲i̲c̲
The control logic of UFCO is shown n the module-tree
in figure 4.2.2.3-1.…86…1 …02… …02… …02… …02…
Diag. ID: 4.2.2.3/24…86…1 …02… …02… …02… …02…
Fig. 4.2.2.3-1…86…1 …02… …02… …02… …02… …02…
4.2.2.4 M̲o̲d̲u̲l̲e̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
UFCO ̲MAIN (4.2.2.4.1)
VUS ̲ANSWER ̲Q ̲PROCESSING (4.2.2.4.2)
APPEND ̲INVESTIGATION (4.2.2.4.3)
VUS ̲F/C ̲KEY ̲PROCESSING (4.2.2.4.4)
VCO ̲CMD ̲PROCESSING(4.2.2.4.5)
VDIA ̲CC ̲PROCESSING (4.2.2.4.6)
RETR ̲OP ̲PROCESSING (4.2.2.4.7)
VUS ̲IN/OUT ̲LINE (4.2.2.4.8)
VUS ̲CMD ̲PENDING (4.2.2.4.9)
VUS ̲SEQUENCE (4.2.2.4.10)
EAXECUTE ̲FUNCTION (4.2.2.4.11)
4.2.2.4.1 U̲F̲C̲O̲ ̲M̲A̲I̲N̲
4.2.2.4.1.1 F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲a̲t̲i̲o̲n̲
This module is the main module within UFCO. If awaits
commands from VCO in semaphore S1 and enters the USER
̲ON loop when a start command is received. The module
receives commands and completions codes from the other
coroutines and validats the input. Furthermore F/C-key
interrupts and Answer Queue input is treated by this
module.
4.2.2.4.1.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) UFCO ̲MAIN
b) UFCO ̲MAIN (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̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲
R0 - R7 (DEST)
4.2.2.4.1.3 M̲o̲d̲u̲l̲e̲ ̲C̲o̲m̲p̲o̲n̲e̲n̲t̲s̲
4.2.2.4.1.3.1 C̲A̲N̲C̲E̲L̲ ̲A̲N̲Q̲ ̲I̲N̲P̲U̲T̲
An outstanding INIT ̲RECEIVE is cancelled. If the operation
is in semaphore and a SCARS/CCIS acknowledge is pendig,
then the QEL will be returned to the queue.
Refer figure. 4.2.2.4.1.3-1
4.2.2.4.1.3.2 R̲E̲Q̲U̲E̲S̲T̲ ̲A̲N̲Q̲ ̲I̲N̲P̲U̲T̲
Sets up an INIT ̲RECEIVE on the Answer queue.
Refer figure 4.2.2.4.1.3-2
4.2.2.4.1.3.3 R̲E̲Q̲U̲E̲S̲T̲ ̲F̲C̲ ̲K̲E̲Y̲ ̲I̲N̲P̲U̲T̲
Sets upon INIT ̲RECEIVECONTROL on the current VDU-split
Refer figure 4.2.2.4.1.3-3
4.2.2.4.1.3.4 C̲A̲N̲C̲E̲L̲ ̲F̲C̲ ̲K̲E̲Y̲ ̲I̲N̲P̲U̲T̲
Cancels a previous set-up INIT RECEIVE CONTROL
Refer figure. 4.2.2.4.1.3-4
4.2.2.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̲
QEL ̲ATTRIBUTES rfer CPS/DBD/001
QEL ̲REFERENCE refer CPS/DBD/001
USER ̲FCT ̲CAPABILITY ̲TYPE refer CPS/DBD/001
QUEUE ̲REFERENCE refer CPS/DBD/001
VCO ̲CMD refer 4.1.4
UFCO ̲CMD refer 4.1.4
IDENT ̲TYPE refer 4.1.4
EXC ̲DONE refer 4.1.4
EXIT ̲LAB refer 4.2.2.
ANQ ̲PENDING refer 4.2.2.5
SEQ ̲FORMAT ̲TYPE refer 4.2.2.5
SEQ ̲CODE ̲TYPE refer 4.2.2.5…86…1
…02… …02… …02… …02…
…02…
b) E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲ ̲
VUS ̲S1 refer 4.1.4
VUS-S2 refer 4.1.4
RETR ̲OP refer 4.1.4
ANQ ̲OP(M) refer 4.1.4
FC ̲KEY ̲OP(M) refer 4.1.4
VCO ̲OP(M) refer 4.1.4
UFCO ̲OP(M) refe 4.1.4
INIT ̲AREA refer 4.1.4
ANQ ̲QEL(M) refer.4.1.4
RECV ̲QEL(M) refer 4.1.4
VUS ̲QNAME (M) refer 4.1.4
VUS ̲QEL ̲ATTR(M) refer 4.1.4
VUS ̲ARRQ(M) refer 4.1.4
ANQ ̲SUBQ refer 4.1.4
SPLIT ̲FAILED refer 4.2.2.5
SEC ̲FAILED refer 4.2.2.5
SLIT ̲DIGIT refer 4.2.2.5
FC ̲KEY refer 4.2.2.5
EXP ̲VDIA ̲CMD refer 4.2.2.5
SEQ ̲FORMAT(M) refer 4.2.2.5
SEQ ̲CODE(M) refer 4.2.2.5
c)L̲o̲c̲a̲l̲ ̲D̲a̲t̲a̲
None
4.2.2.4.1.5 M̲o̲d̲u̲l̲e̲ ̲D̲e̲s̲i̲g̲n̲
Commands received from VCO or VDIA are analysed. The
following actions are taken:
If a CLOSE DOWN is received before a user has signed
on then the CLSE LOOP is entered.
Two system call is performed in order to open for in-p`ut
from Answer Queue and F/C ̲key.
Unknown QEL from Answer Q is sent to SSC.
A loop is entered in order to distribute in-put from
Answer Queue, F/C ̲keys, VCO,VDIA and RTR to modules
which are taken over for further treatment.
Ststem errors will be treated by the Error Reporting
Procedure, which is common `to all modules within VUP.
UFCO ̲START
START ̲LOOP
WAIT ̲OPSEM (VUS ̲S2)(VCO ̲PTR):OK
CASE VCO ̲PTR.ID OF IDENT ̲TYPE
VCO ̲ID? CASE VDO ̲PTR.CMD OF VCO ̲CMD
CLOSE ̲UFCO? VCO.PTR.ID=UFCO ̲ID
VCO ̲PR.PARA1 = OK ̲CC
SIGNAL ̲OPSEM(VUS ̲S1,VCO
PTR),:OK
EXIT START ̲LOOP
START ̲UFCO? S̲T̲A̲R̲T̲ ̲A̲C̲T̲I̲O̲N̲S̲ ̲(̲-̲2̲)̲
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
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̲.̲.̲2̲)
END CASE
END START ̲LOOP
CLOSE ̲LOOP
WAIT OPSEM(VUS S2)(VUS ̲OP):OK
END CLOSE ̲LOOP
Fig. 4.2.2.4.1-…86…1 …02… …02… …02… …02… …02…
START ̲ACTIONS
R̲E̲M̲O̲V̲E̲ ̲A̲N̲Q̲ ̲I̲T̲E̲M̲S̲ (-3)
CASE INIT ̲AREA.CURRENT ̲USER ̲CAP
RELS ̲ONLY? SEQ ̲FORMAT= SEQ ̲REL ̲MENU
RECV ̲PREP? SEQ ̲FORMAT= SEQ ̲PREP ̲MENU
OTHERWISE? SEQ ̲FORMAT=SEQ ̲USER ̲MENU
END CASE
SEQ ̲CODE=SEQ ̲START
V̲U̲S̲ ̲S̲E̲Q̲U̲E̲N̲C̲E̲(̲4̲.̲2̲.̲2̲.̲4̲.̲1̲0̲)
WAIT ̲OPSEM(VUS ̲S2)(VDIA ̲PTR):OK
CASE VDIA ̲PTR.ID OF IDENT ̲TYPE
VDIA ̲ID? F̲R̲E̲E̲ ̲S̲F̲C̲O̲ ̲O̲P̲(̲4̲.̲2̲.̲1̲.̲1̲.̲6̲.̲3̲2̲)
VDIA ̲PTR.CMD EQ EXP ̲VDIA ̲CMD? S̲T̲A̲R̲T̲ ̲C̲O̲M̲P̲(̲-̲4̲)̲
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̲)̲
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
Fig. 4.2.2.4.1-2…86…1 …02… …02… …02… …02… …02…
REMOVE ̲ANQ ̲ITEMS
VUS ̲QNAME.MAIN = VUS ̲ARRQ
VUS ̲QNAME.SUB = ANS ̲SUBQ
REMOVE ̲LOOP
CASE RECEIVE ̲FIRST ̲QEL(NO ̲WAIT,VUS ̲QNAME)
(VUS ̲RECV ̲ATTR,RECV ̲QEL,QUEUE,CC):ERROR
̲OK
ERROR? CASE ANALYZE ̲ERROR(CC,2,QEL ̲PROFILE ̲CHECK,
QUEUE ̲EMPTY):(LA1,LA1)
LA1? V̲U̲S̲ ̲D̲I̲S̲M̲A̲N̲T̲L̲E̲(̲R̲E̲C̲V̲ ̲Q̲E̲L̲)̲(̲4̲.̲1̲.̲5̲.̲3̲)̲
LA2? EXIT REMOVE ̲LOOP
END CASE
OK? V̲U̲S̲ ̲D̲I̲S̲M̲A̲N̲T̲L̲E̲(̲R̲E̲C̲V̲ ̲Q̲E̲L̲)̲(̲4̲.̲1̲.̲5̲.̲3̲)
END CASE
END REMVE ̲LOOP
Fig. 4.2.2.4.1-3…86…1 …02… …02… …02… …02… …02…
START ̲COMP
VCO ̲PTR.ID = UFCO ̲ID
VCO ̲PTR.PARA 1 =VDIA ̲PTR.PARA 1
SIGNAL ̲OPSEM(VUS ̲S1,VCO ̲PTR):OK
VCO ̲PTR.PARA 1 EQ ERROR ̲CC OR SPLIT ̲FAILED ̲CC?
R̲E̲Q̲U̲E̲S̲T̲ ̲A̲N̲Q̲ ̲I̲N̲P̲U̲T̲(̲ ̲4̲.̲2̲.̲2̲.̲4̲.̲1̲.̲3̲.̲2̲ ̲
R̲E̲Q̲U̲E̲S̲T̲ ̲F̲C̲ ̲K̲E̲Y̲ ̲I̲N̲P̲U̲T̲(̲4̲.̲2̲.̲2̲.̲4̲.̲1̲.̲3̲.̲3̲)
E̲N̲A̲B̲L̲E̲ ̲F̲C̲ ̲K̲E̲Y̲S̲ ̲(̲4̲.̲2̲.̲2̲.̲6̲.̲3̲3̲)̲
U̲S̲E̲R̲ ̲O̲N̲ ̲L̲O̲O̲P̲ ̲(̲-̲5̲)̲
Fig. 4.2.2.4.1-4…86…1 …02… …02… …02… …02… …02…
USER ̲ON ̲LOOP
WAIT ̲OPSEM(VUS ̲S2)(VUS ̲OP): OK
CASE VUS ̲OP. ID OF IDENT ̲TYPE
VCO ̲ID? C̲A̲N̲C̲E̲L̲ ̲A̲N̲Q̲ ̲I̲N̲P̲U̲T̲(̲4̲.̲2̲.̲2̲.̲4̲.̲1̲.̲3̲.̲1̲)̲
C̲A̲N̲C̲E̲L̲ ̲F̲C̲ ̲K̲E̲Y̲ ̲I̲N̲-̲P̲U̲T̲(̲4̲.̲2̲.̲2̲.̲4̲.̲1̲.̲3̲.̲4̲)
A̲S̲E̲ ̲V̲C̲O̲ ̲C̲M̲D̲ ̲P̲R̲O̲C̲E̲S̲S̲I̲N̲G̲ ̲(̲V̲U̲S̲ ̲O̲P̲)̲ ̲:̲E̲X̲I̲T̲
L̲A̲B̲(̲4̲.̲2̲.̲2̲.̲4̲.̲5̲)̲
E ̲USER? EXIT USER ̲ON ̲LOOP
E ̲START? EXIT START LOOP
END CASE
OTHERWISE? A̲N̲A̲L̲Y̲S̲E̲ ̲S̲E̲M̲A̲P̲H̲O̲R̲E̲ ̲I̲N̲P̲U̲T̲ ̲(̲-̲6̲)̲
END CASE
SEC ̲FAILED EQ FALSE?
VDU ̲FAILED EQ FALE?
C̲A̲N̲C̲E̲L̲ ̲A̲N̲Q̲ ̲I̲N̲P̲U̲T̲ ̲(̲4̲.̲2̲.̲2̲.̲4̲.̲1̲.̲3̲.̲1̲)
C̲A̲N̲C̲E̲L̲ ̲F̲C̲ ̲K̲E̲Y̲ ̲I̲N̲P̲U̲T̲(̲4̲.̲2̲.̲2̲.̲4̲.̲1̲.̲3̲.̲4̲)
FAIL ̲LOOP
WAIT ̲OPSEM(VUS ̲S2)(VCO-PTR):OK
CASE VCO ̲PTR.ID OF IDENT ̲TYPE
VCO ̲ID? C̲A̲S̲E̲ ̲V̲C̲O̲ ̲C̲M̲D̲ ̲P̲R̲O̲C̲E̲S̲S̲I̲N̲G̲ ̲(̲V̲C̲O̲ ̲P̲T̲R̲)̲:̲E̲X̲I̲T̲
L̲A̲B̲(̲4̲.̲2̲.̲2̲.̲4̲.̲5̲)̲
E ̲USER? EXIT USER ̲ON ̲LOOP
E ̲START? EXIT START ̲LOOP
END CASE
VDIA ̲ID? F̲R̲E̲E̲ ̲S̲F̲C̲O̲ ̲O̲P̲(̲V̲D̲O̲ ̲P̲T̲R̲)̲(̲4̲.̲2̲.̲2̲.̲6̲.̲3̲2̲)
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
END FAIL ̲LOOP
END USER ON LOOP
ig. 4.2.2.4.1-5…86…1 …02… …02… …02… …02… …02…
ANALYSE ̲SEMAPHORE ̲INPUT
CASE VUS ̲OP.ID OF IDENT ̲TYPE
VDIA ̲ID? V̲D̲I̲A̲ ̲C̲C̲ ̲P̲R̲O̲C̲E̲S̲S̲I̲N̲G̲ ̲(̲V̲U̲S̲ ̲O̲P̲)̲(̲4̲.̲2̲.̲2̲.̲4̲.̲6̲)
RETR ̲ID? R̲E̲T̲R̲ ̲O̲F̲ ̲P̲R̲O̲C̲E̲S̲S̲I̲N̲G̲ ̲(̲V̲U̲S̲ ̲O̲P̲)̲(̲4̲.̲2̲.̲2̲.̲4̲.̲7̲)
ANG ̲ID? CASE WAT ̲SYSTEM ̲CALL(ANQ ̲OP)
(VUS ̲QEL ̲ATTR,ANQ ̲QEL,QUEUE,CC):ERROR ̲OK
ERROR? ANALYZE ̲ERROR(CC,0)
OK? C̲A̲S̲E̲ ̲A̲N̲Q̲ ̲P̲R̲O̲C̲(̲)̲:̲ ̲E̲X̲C̲ ̲D̲O̲N̲E̲(̲4̲.̲2̲.̲2̲.̲4̲.̲2̲)
EXP?
DONE?̲ ̲R̲E̲Q̲U̲E̲S̲T̲ ̲A̲N̲Q̲ ̲I̲N̲P̲U̲T̲(̲4̲.̲2̲.̲2̲.̲4̲.̲1̲.̲3̲.̲2̲)
END CASE
END CASE
F ̲KEY ̲ID? CASE WAIT ̲SYSTEM ̲CALL(FC ̲KEY ̲OP)
(FC ̲KEY, CC):ERROR ̲OK
ERROR? CASE ANALYZE ̲ERROR(CC,1,SPLIT ̲FAILED):(LA1)
LA1? SPLIT ̲FAILED=TRUE
END CASE
OK? F̲C̲ ̲K̲E̲Y̲ ̲V̲A̲L̲I̲D̲A̲T̲I̲O̲N̲ ̲(̲F̲C̲ ̲K̲E̲Y̲)̲(̲4̲.̲2̲.̲2̲.̲4̲.̲4̲)
SEC ̲FAILED EQ TRUE?
SPLIT ̲FAILED EQ TRUE?
R̲E̲Q̲U̲E̲S̲T̲ ̲F̲C̲ ̲K̲E̲Y̲ ̲I̲N̲P̲U̲T̲ ̲(̲4̲.̲2̲.̲2̲.̲4̲.̲1̲.̲3̲.̲3̲)̲
END CASE
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
Fig. 4.2.2.4.1-6
CANCEL ̲ANQ ̲INPUT
CANCEL ̲SYS CALL (ANQ ̲OP):OK
CASE WAIT ̲SYSTEM ̲CALL(ANQ ̲OP)
(VUS ̲QEL.ATTR,ANQ ̲QEL,QUEUE,CC):ERROR ̲OK
ERROR? CASE ANALYZE ̲ERROR(CC,1, CANCELLED)(LA1)
LA1?
END CASE
OK? ANQ ̲OP.PARA1 NE P ̲VDUP ̲ACK OR P ̲SC ̲COM ̲ACK?
V̲U̲S̲ ̲D̲I̲S̲M̲A̲N̲T̲L̲E̲ ̲(̲A̲N̲Q̲ ̲Q̲E̲L̲)̲(̲4̲.̲1̲.̲5̲.̲3̲)̲
CASE RETURN (ANQ.QEL (CC):ERROR ̲OK
ERROR? ANALYZE ̲ERROR(CC,0)
OK?
END CASE
END CASE
Fig 4.2.2.4.1.3-1
REQUEST ANQ INPUT
VUS ̲QNAME.MAIN = VUS ̲ARRQ
VUS ̲QNAME.SUB = ANS ̲SUBSQ
CASE INIT ̲RECEIVE ̲FIRST ̲QEL(WAIT,VUS ̲QNAME,ANQ ̲OP)
(CC):ERROR ̲OK
ERROR? ANALYZE ERROR(CC,0)
OK? ASSOCIATE (VUS-S2,ANQ ̲OP):OK
END CASE
Fig. 4.2.2.4.1.3-2…86…1 …02… …02… …02… …02… …02…
REQUEST ̲FC ̲KEY ̲INPUT
CASE INIT ̲RECEIVE ̲CONTROL(SPLIT ̲DIGIT,FC ̲KEY ̲OP)
(CC):ERROR ̲OK
ERROR? ANALYZE ERROR(CC,0)
OK? ASSOCIATE (VUS ̲S2,FC ̲KEY ̲OP):OK
END CASE
Fig. 4.2.2.4.1.3-3
CANCEL ̲FC ̲KEY ̲INPUT
CANCEL ̲SYSCALL (FC ̲KEY OP):OK
CASE WAIT ̲SYSTEM ̲CALL (FC ̲KEY ̲OP)(FC ̲KEY,CC):ERROR ̲OK
ERROR? CASE ANALYZE ̲ERROR (CC,2,CANCELLED,VDU ̲SPLIT ̲ FAILED:(L1,L2)
L1?
L2?
END CASE
OK?
END CASE
Fig. 4.2.2.4.1.3-4…86…1 …02… …02… …02… …02… …02…
4.2.2.4.2 V̲U̲S̲ ̲A̲N̲S̲W̲E̲R̲ ̲Q̲ ̲P̲R̲O̲C̲E̲S̲S̲I̲N̲G̲
4.2.2.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 purpose of this module is to receive items placed
in the Answer Queue, analyse the in-put and call US
̲SEQUENCE(4.2.2.4.10)
4.2.2.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) ANQ ̲PROC():EXC ̲DONE
b) ANQ ̲PROC (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̲
R0 - R7 (DEST)
4.2.2.4.2.3 M̲o̲d̲u̲l̲e̲ ̲C̲o̲m̲p̲o̲n̲e̲n̲t̲
4.2.2.4.2.3.1 D̲e̲l̲e̲t̲e̲ ̲A̲p̲p̲e̲n̲d̲ ̲C̲I̲F̲
The referenced CIF is looked up in the Response queue
and dismantled
4.2.2.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̲
VUS ̲CO ̲OP ̲TYPE refer 4.1.4
QEL ̲ATTRIBUTES refer CPS/DBD/001
QEL ̲REFERENCE refer CPS/DBD/001
SEQ ̲CODE ̲TYPE refer 4.1.4
QEUE ̲REFERENCE refer CPS/DBD/001
QELEMENT ̲MAIN ̲TYPE refer CPS/DBD/001
MESSAGE ̲SUBTYPE refer CPS/DBD/001
TEP ̲INTERNAL ̲SUBTYPE refer CPS/DBD/001
ACK ̲SUBTYPE refer CPS/DBD/001
STATUS ̲SUBTYPE refer CPS/DBD/001
COORDINATIONN̲NOT ̲SUBTYPE refer PS/DBD/001
USER ̲ACTION ̲TYPE refer CPS/DBD/001
UMAM ̲RESPONSE refer 4.1.4
EDIT ̲ANS refer 4.1.4
DELETE ̲ANS refer 4.1.4
RETR ̲ANS refer 4.1.4
VUS ̲RESP ̲MSG ̲TYPE refer 4.1.4
SEC ̲ANS refer 4.2.2.5
ANQ ̲CC refer 4.2.2.5
ANQ ̲PENDING refer .2.2.5
SEQ ̲CODE ̲TYPE refer 4.2.2.5
SEQ ̲FORMAT ̲TYPE refer 4.2.2.5
b) E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲ ̲
VUS ̲QEL ̲ATTR refer 4.1.4
ANQ ̲QEL refer 4.1.4
ANQ ̲OP(M) refer 4.1.4
SEQ ̲FORMAT(M) refer 4.2.2.5
SEQ ̲CODE(M) refer 4.2.2.5
c) L̲o̲c̲a̲l̲ ̲D̲a̲t̲a̲
VAR ANQER ̲NO: VUS ̲RESP ̲MSG ̲TYPE;
4.2.2.4.2.5 M̲o̲d̲u̲l̲e̲ ̲D̲e̲s̲i̲g̲n̲
The input in the Answer Queue is validated. If no input
is expected then a queue error is reported, otherwise
the input is validated. For each pending peration
it is validated whether the main type and sub-type
is within the allowed range. If an invalid entry is
found then a response message and the current menu
will be displayed.
If an acknowledge is received then a response message
is displaed and VUS SEQUENCE is entered.
If a CIF is received then it is opened and VUS SEQUENCE
is entered.
ANQ ̲PROC
ANQ ̲OP.PARA 1 EQ NO ̲PENDING? V̲U̲S̲ ̲Q̲U̲E̲U̲E̲ ̲E̲R̲R̲O̲R̲ ̲(̲C̲O̲N̲T̲)̲(̲4̲.̲1̲.̲5̲.̲2̲)̲
V̲A̲L̲I̲D̲A̲T̲E̲ ̲A̲N̲Q̲ ̲I̲N̲P̲U̲T̲(̲-̲3̲) RETURN ̲CC = DONE
CASE CC OF ANQ ̲CC
A ̲QER? V̲U̲S̲ ̲Q̲U̲E̲U̲E̲ ̲E̲R̲R̲O̲R̲(̲O̲N̲T̲)̲(̲4̲.̲1̲.̲5̲.̲2̲)̲
C̲A̲S̲E̲ ̲D̲I̲S̲P̲L̲A̲Y̲ ̲R̲E̲S̲P̲ ̲M̲S̲G̲ ̲(̲ ̲ ̲ ̲)̲:̲E̲X̲C̲ ̲D̲O̲N̲E̲(̲4̲.̲2̲.̲2̲.̲6̲.̲4̲)̲
EXC? RETURN ̲CC = EXC
DONE? SEQ ̲FORMAT = SEQ ̲REC.NEW ̲FORMAT
SEQ ̲CODE = SEQ ̲ QER
RETURN ̲CC = DONE
V̲U̲S̲ ̲S̲E̲Q̲U̲E̲N̲C̲E̲(̲4̲.̲2̲.̲2̲.̲4̲.̲1̲0̲)
END CASE
A ̲MSG? A̲P̲P̲E̲N̲D̲ ̲I̲N̲V̲E̲S̲T̲ ̲(̲4̲.̲2̲.̲2̲.̲4̲.̲3̲)
RETURN ̲CC = DONE
A ̲ACK? C̲A̲S̲E̲ ̲D̲I̲S̲P̲L̲A̲Y̲ ̲R̲E̲S̲P̲ ̲M̲S̲G̲(̲A̲N̲Q̲ ̲E̲R̲ ̲N̲O̲)̲(̲4̲.̲2̲.̲2̲.̲6̲.̲4̲)̲:̲E̲X̲C̲
̲D̲O̲N̲E̲
EXC? - RETURN ̲CC = EXC
DONE? - SEQ ̲FORMAT = SEQ ̲REC. NEW ̲FORMAT
V̲U̲S̲ ̲S̲E̲Q̲U̲E̲N̲C̲E̲ ̲(̲4̲.̲2̲.̲2̲.̲4̲.̲1̲0̲)̲
RETURN ̲CC DONE
END CASE
A ̲RESP? C̲A̲S̲E̲ ̲D̲I̲S̲P̲L̲A̲Y̲ ̲R̲E̲S̲P̲ ̲M̲S̲G̲(̲A̲N̲Q̲ ̲E̲R̲ ̲N̲O̲)̲:̲ ̲E̲X̲C̲ ̲D̲O̲N̲E̲ ̲(̲4̲.̲2̲.̲2̲.̲6̲.̲4̲)̲
EXC? - RETURN ̲CC = EXC
DONE? - SEQ ̲CODE = SEQ ̲ANQ ̲RESP
SEQ ̲FORMAT = SEQ ̲REC. NEW ̲FORMAT
V̲U̲S̲ ̲S̲E̲Q̲U̲E̲N̲C̲E̲ ̲(̲4̲.̲2̲.̲2̲.̲4̲.̲1̲0̲)̲
RETURN ̲C = DONE
END CASE
A ̲CIF? O̲P̲E̲N̲ ̲R̲E̲C̲E̲I̲V̲E̲D̲ ̲C̲I̲F̲ ̲(̲ ̲2̲)̲
END CASE
RETURN(RETURN ̲CC)
fig. 4.2.2.4.2-1…86…1 …02… …02… …02… …02… …02…
OPEN ̲RECEIVED ̲CIF
CASE OPEN ̲VIEW(ANQ ̲QEL)(CC): ERROR ̲OK
ERROR? - CASE ANALYZE ̲ERROR(CC, 2, STOPED,
OPEN NOT ACCEPTED)
(L1,L2)
L1? - C̲A̲S̲E̲ ̲D̲I̲S̲P̲L̲A̲Y̲ ̲R̲E̲S̲P̲ ̲M̲S̲G̲(̲ ̲
̲)̲:̲E̲X̲C̲ ̲D̲O̲N̲E̲ ̲(̲4̲.̲2̲.̲2̲.̲6̲.̲4̲)̲
EXC? - RETURN ̲CC
= EXC
DONE? - SEQ ̲ FORMAT
= SEQ ̲REC. NEW ̲FORMAT
SEQ ̲CODE =
SEQ ̲QER
V̲U̲S̲ ̲S̲E̲Q̲U̲E̲N̲C̲E̲ ̲(̲4̲.̲2̲.̲2̲.̲4̲.̲1̲0̲)̲
RETURN CC
= DONE
END CASE
SEC ̲FAILED = TRUE
L2? - RETURN CC = EXC
END CASE
V̲U̲S̲ ̲D̲I̲S̲M̲A̲N̲T̲L̲E̲ ̲(̲A̲N̲Q̲ ̲Q̲E̲L̲)̲(̲4̲.̲1̲.̲5̲.̲3̲)̲
OK? - SEQ ̲FORMAT = SEQ ̲REC. NEW ̲FORMAT
SEQ ̲CODE = SEQ ̲ANQ ̲CONT
V̲U̲S̲ ̲S̲E̲Q̲U̲E̲N̲C̲E̲ ̲(̲4̲.̲2̲.̲2̲.̲4̲.̲1̲0̲)
RETURN CC = DONE
END CASE
FIG. 4.2.2.4.2-2…86…1…02… …02… …02… …02… …02… …02… …02… …02…
VALIDATE ̲ANQ INPUT
CASE ANQ ̲OP. PARA1 OF ANQ ̲PENDING
P ̲MSG ̲EDIT? - M̲E̲S̲S̲A̲G̲E̲ ̲E̲D̲I̲T̲
̲(̲-̲4̲)̲
P ̲COM ̲EDIT? - C̲O̲M̲M̲E̲N̲T̲ ̲E̲D̲I̲T̲
̲(̲-̲5̲)̲
P ̲VDUP ̲EDIT? - V̲D̲U̲ ̲P̲A̲G̲E̲ ̲E̲D̲I̲T̲ ̲(̲-̲6̲)̲
P ̲SC ̲CM ̲EDIT? - S̲C̲ ̲C̲O̲M̲M̲E̲N̲T̲ ̲E̲D̲I̲T̲ ̲(̲-̲7̲)̲
P ̲VDUP ̲ACK? - V̲D̲U̲ ̲P̲A̲G̲E̲ ̲A̲C̲K̲
̲(̲-̲8̲)̲
P ̲SC ̲COM ̲ACK? - S̲C̲ ̲C̲O̲M̲M̲E̲N̲T̲ ̲A̲C̲K̲ ̲(̲-̲9̲)̲
P ̲VDUP ̲RETR? - V̲D̲U̲ ̲P̲A̲G̲E̲ ̲R̲E̲T̲R̲ ̲(̲-̲1̲0̲)̲
P ̲OUTG ̲STA? - O̲U̲T̲G̲O̲I̲N̲G̲ ̲S̲T̲A̲T̲U̲S̲
̲(̲-̲1̲1̲)̲
P ̲RELS ̲STA? - R̲E̲L̲E̲A̲S̲E̲ ̲S̲T̲A̲T̲U̲S̲
̲(̲-̲1̲2̲)̲
P ̲DEL ̲STA? - D̲E̲L̲I̲V̲E̲R̲Y̲S̲T̲A̲T̲U̲S̲
̲(̲-̲1̲3̲)̲
P ̲DELETE ̲ACK? - D̲E̲L̲E̲T̲E̲ ̲R̲E̲S̲P̲ ̲(̲-̲1̲4̲)̲
P ̲COOR ̲ACK? - C̲O̲O̲R̲D̲I̲N̲A̲T̲I̲O̲N̲
̲N̲O̲T̲ ̲(̲-̲1̲5̲)̲
P ̲SSC ̲ACK? - S̲S̲C̲ ̲A̲C̲K̲ ̲(̲-̲1̲6̲)̲
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
ANQ ̲OP.PARA1 = NO ̲PENDING
FIG. 4.2.2.4.2-3…86…1…02… …02… …02… …02… …02… …02… …02… …02…
MESSAGE ̲EDIT
CASE VUS ̲QEL ̲ATTR.MAINTYPE OF QELEMENT ̲MAIN ̲TYPE
PLAINDRESS,
PLAINDRESS ̲DATA? - CASE VUS ̲QEL ̲ATTR.SUBTYPE
OF MESSAGE ̲SUBTYPE
FOR ̲CONTINUED ̲PRP?
- CC = A ̲MSG
OTHERWISE? - CC
= A ̲QER
END CASE
TEP INTERNAL? - CASE VUS ̲QEL ̲ATTR.SUBTYPE
OF TEP ̲INTERNAL ̲SUBTYPE
UMAM ̲ERROR ̲RESP?
CASE VUS ̲QEL
̲ATTR.FLAG OF UMAM ̲RESPONSE
EDIT ̲RESP?
CASE VUS
̲QEL ̲ATTR.INF
OR EDIT ̲ANS
E ̲NOT
̲FOUND,
E ̲NOT
̲AVAIB,
E ̲APPEND
̲NOT ̲COMP,
E ̲SEC
̲PROFILE? -
ANQ ̲ER ̲NO =
CC
=
A
̲RESP
OTHERWISE?
CC = A ̲QER
EN CASE
OTHERWISE?
- CC = A ̲QER
END CASE
OTHERWISE? CC = A
̲QER
END CASE
OTHERWISE? - CC = A ̲QER
END CASE
FIG. 4.2.2.4.2-4…86…1…02… …02… …02… …02… …02… …02… …02… …02…
COMMENT ̲EDIT
CASE VUS ̲QEL ̲ATTR.MAINTYPE OF QELEMENT ̲MAIN ̲TYPE
COMMENT? - CASE VUS ̲QEL ̲ATTR.SUBTYPE OF MESSAGE
̲SUBTYPE
FOR ̲CONTINUED ̲PREP? - CC = A ̲CIF
OTHERWSE? CC = A ̲QER
END CASE
TEP ̲INTERNAL?
CASE VUS ̲QEL ̲ATTR.SUBTYPE OF TEP ̲INTERNAL
̲SUBTYPE
UMAM ̲ERROR ̲RESP?
CASE VUS ̲QEL ̲ATTR.FLAG OF UMAM
̲RESPONSE
EDIT ̲RESP?
CASE VUS ̲QEL ̲ATTR.INF
OF EDIT ̲ANS
E ̲NOTFOUND,
E ̲SEC ̲PROFILE?
- ANQ ̲ER ̲NO
=
CC
=
A
̲RESP
OTHERWISE?
- CC =
A ̲QER
END CASE
OTHERWISE? - CC = A
̲QER
END CASE
OTHERWISE? - CC = A ̲QER
END CASE
OTHERWISE? - CC = A ̲QER
END CASE
FIG. 4.2.2.4.2-5…86…1…02… …02… …02… …02… …02… …02… …02… …02… …02…
VDU ̲PAGE ̲EDIT
CASE VUS ̲QEL ̲ATTR.MAINTYPE OF QELEMENT ̲MAIN ̲TYPE
SC ̲VDU ̲PAGE? - CASE VUS ̲QEL ̲ATTR.SUBTYPE
OF MESSAGE ̲SUBTYPE
FOR ̲CONTINUED
̲PREP? - CC
= A ̲CIF
OTHERWISE? - CC = A
̲QER
END CASE
TEP ̲INTERNAL?
CASE VUS ̲QEL ̲ATTR.SUBTYPE OF TEP ̲INTERNAL
̲SUBTYPE
UMAM ̲ERROR ̲RESP?
CASE VUS ̲QEL ̲ATTR.FLAG OF UMAM
̲RESPONSE
EDIT ̲RESP?
CASE VUS ̲QEL
̲ATTR.INF OF
EDIT ̲ANS
E ̲NOT ̲FOUND,
E
̲SEC
̲PROFILE?
-
ANQ
̲ER
̲NO
=
CC
=
A
̲RESP
OTHERWISE?
-
CC
=
A
̲QER
END CASE
OTHERWISE? - CC = A
̲QER
END CASE
OTHERWISE? - CC = A ̲QER
END CASE
OTHERWISE? - CC = A ̲QE
END CASE
FIG. 4.2.2.4.2-6…86…1…02… …02… …02… …02… …02… …02… …02… …02… …02…
SC ̲COMMENT ̲EDIT
CASE VUS ̲QEL ̲ATTR.MAINTYPE OF QELEMENT ̲MAIN ̲TYPE
SC ̲COMMENT? CASE VUS ̲QEL ̲ATTR.SUBTYPE
OF MESSAGE ̲SUBTYPE
FOR ̲CONTINUED
̲PREP? - CC
= A ̲CIF
OTHERWISE? - CC = A
̲QER
END CASE
TEP ̲INTERNAL?
CASE VUS ̲QEL ̲ATTR.SUBTYPE OF TEP ̲INTERNAL
̲SUBTYPE
UMAM ̲ERROR ̲RESP?
CASE VUS ̲QEL ̲ATTR.FLAG OF UMAM
̲RESPONSE
EDIT ̲RESP?
CASE VUS ̲QEL
̲ATTR.INF OF
EDIT ̲ANS
E ̲NOT ̲FOUND,
E
̲SEC
̲PROFILE?
-
ANQ
̲ER
̲NO
=
CC
=
A
̲RESP
OTHERWISE?
-
CC
=
A
̲QER
END CASE
OTHERWISE? - CC = A
̲QER
END CASE
OTHERWISE? - CC = A ̲QER
END CASE
OTHERWISE? - CC = A ̲QE
END CASE
FIG. 4.2.2.4.2-7…86…1…02… …02… …02… …02… …02… …02… …02… …02… …02… …02…
VDU ̲PAGE ̲ACK
CASE VUS ̲QEL ̲ATTR.MAINTYPE OF QELEMENT ̲MAIN ̲TYPE
SC ̲VDU ̲PAGE? - CASE VUS ̲QEL ̲ATTR.SUBTYPE
OF MESSAGE ̲SUBTYPE
SUSPENDED/DEFERRED?
- ANQ ̲ER ̲NO
=
SEQ
̲CODE
=
SEQ
̲THP
̲NACK
CC
=
A
̲ACK
OTHERWISE?
- CC = A ̲QER
END CASE
ACK? - CASE VUS ̲QEL ̲ATTR. SUBTYPE OF ACK
̲SUBTYPE
THP ̲ACK? - ANQ ̲ER ̲NO =
CC = A ̲RESP
OTHERWISE? - CC = A ̲QER
END CSE
OTHERWISE? - CC = A ̲QER
END CASE
FIG. 4.2.2.4.2-8…86…1…02… …02… …02… …02… …02… …02… …02… …02… …02… …02…
SC ̲COMMENT ̲ACK
CASE VUS ̲QEL ̲ATTR.MAINTYPE OF QELEMENT ̲MAIN ̲TYPE
SC ̲COMMENT? CASE VUS ̲QEL ̲ATTR.SUBTYPE
OF MESSAGE ̲SUBTYPE
SUSPENDED/DEFERRED?
- ANQ ̲ER ̲NO
=
SEQ
̲CODE
=
SEQ
̲THP
̲NACK
CC
=
A
̲ACK
OTHERWISE?
- CC = A ̲QER
END CASE
ACK? - CASE VUS ̲QEL ̲ATTR. SUBTYPE OF ACK
̲SUBTYPE
THP ̲ACK? - ANQ ̲ER ̲NO =
CC = A ̲RESP
OTHERWISE? - CC = A ̲QER
END CAE
OTHERWISE? - CC = A ̲QER
END CASE
FIG. 4.2.2.4.2-9…86…1…02… …02… …02… …02… …02… …02… …02… …02… …02… …02…
VDU ̲PAGE ̲RETR
CASE VUS ̲QEL ̲ATTR.MAINTYPE OF QELEMENT ̲MAIN ̲TYPE
SC ̲VDU ̲PAGE? - CASE VUS ̲QEL ̲ATTR.SUBTYPE
OF MESSAGE ̲SUBTYPE
FOR ̲DISPLAY
? - CC = A
̲CIF
OTHRWISE? -
CC = A ̲QER
END CASE
TEP ̲INTERNAL?
CASE VUS ̲QEL ̲ATTR.SUBTYPE OF TEP ̲INTERNAL
̲SUBTYPE
UMAM ̲ERROR ̲RESP?
CASE VUS ̲QEL ̲ATTR.FLAG OF UMAM
̲RESPONSE
VDU ̲RETR ̲RESP?
CASE VUS ̲QEL
̲ATTR.INF OF
RETR ̲ANS
̲NOT
̲FOUND,
R
̲SEC
̲PROFILE?
-
ANQ
̲ER
̲NO
=
CC
=
A
̲RESP
OTHERWISE?
-
CC
=
A
̲QER
END CASE
OTHERWISE? - CC = A
̲QER
END CASE
OTHERWISE? - CC = A ̲QER
END CASE
OTHERWISE? - CC = A ̲QER
END CASE
FIG. 4.2.2.4.2-10…86…1…02… …02… …02… …02… …02… …02… …02… …02… …02… …02…
OUTGOING ̲STATUS
CASE VUS ̲QEL ̲ATTR.MAINTYPE OF QELEMENT ̲MAIN ̲TYPE
STATUS? - CASE VUS ̲QEL ̲ATTR.SUBTYPE OF STATUS
̲SUBTYPE
OUTGOING ̲MESSAGE ̲STATUS? - CC
= A ̲CIF
OTHERWISE? - CC = A ̲QER
END CASE
OTHERWISE? - CC = A ̲QER
END CASE
FIG. 4.2.2.4.2-11…86…1…02… …02… …02… …02… …02… …02… …02… …02… …02… …02…
RELEASE ̲STATUS
CASE VUS ̲QEL ̲ATTR.MAINTYPE OF QELEMENT ̲MAIN ̲TYPE
STATUS? - CASE VUS ̲QEL ̲ATTR.SUBTYPE OF STATUS
̲SUBTYPE
RELEASE ̲MESSAGE ̲STATUS? - CC =
A ̲CIF
OHERWISE? - CC = A ̲QER
END CASE
OTHERWISE? - CC = A ̲QER
END CASE
FIG. 4.2.2.4.2-12…86…1…02… …02… …02… …02… …02… …02… …02… …02… …02… …02…
DELIVERY ̲STATUS
CASE VUS ̲QEL ̲ATTR.MAINTYPE OF QELEMENT ̲MAIN ̲TYPE
STATUS? - CASE VUS ̲QEL ̲ATTR.SUBTYPE OF STATUS
̲SUBTYPE
DELIVERY ̲STATUS? - CC = A ̲CIF
OTHERWIE? - CC = A ̲QER
END CASE
OTHERWISE? - CC = A ̲QER
END CASE
FIG. 4.2.2.4.2-13…86…1…02… …02… …02… …02… …02… …02… …02… …02… …02… …02…
DELETE ̲RESPONSE
CASE VUS ̲QEL ̲ATTR.MAINTYPE OF QELEMENT ̲MAIN ̲TYPE
TEP ̲INTERNAL?
CASE VUS ̲QEL ̲ATTR. SUBTYPE OF TEP ̲INTERNAL
̲SUBTYPE
UMAM ̲RESPONSE?
CASE VUS ̲EL ̲ATTR.FLAG OF UMAM
̲RESPONSE
DELETE ̲RESP?
CASE VUS ̲QEL
̲ATTR.INF OF
DELETE ̲ANS
D ̲NOT ̲FOUND,
D ̲DELETED,
D ̲AWAITING
̲RELEASE,
D ̲AWAITING
̲APPEND? - ANQ
̲ER ̲NO =
CC
=
A
̲RESP
D ̲APPED ̲COMP?
-
ANQ
̲ER
̲NO
=
CC
=
A
̲RESP
D̲E̲L̲E̲T̲E̲
̲A̲P̲P̲E̲N̲D̲
̲C̲I̲F̲
OTHERWISE?
- CC
=
A
̲QER
END CASE
OTHERWISE? - CC = A
QER
END CASE
OTHERWISE? - CC = A ̲QER
END CASE
OTHERWISE? - CC = A QER
ED CASE
FIG. 4.2.2.4.2-14…86…1…02… …02… …02… …02… …02… …02… …02… …02… …02… …02…
COORDINATION ̲NOT
CASE VUS ̲QEL ̲ATTR.MAINTYPE OF QELEMENT ̲MAIN TYPE
COORDINATION ̲NOTIFICATION? - CASE VUS ̲QEL
̲ATTR.SUBTYPE OF
COOR
̲SUBTYPE
FOR
̲DISPLY?
-
CC
=
A
̲ACK
ANQ
̲ER
̲NO
=
NULL
SEQ
̲CODE
=
SEQ
̲COOR
̲DISP
OTHERWISE?
-
CC
=
A
̲QER
END
CASE
OTHERWISE? - CC = A ̲QER
END CASE
FIG. 4.2.2.4.2-15…86…1…02… …02… …02… …02… …02… …02… …02… …02… …02… …02…
SSC ̲ACK
CASE VUS ̲QEL ̲ATTR.MAINTYPE OF QELEMENT ̲MAIN ̲TYPE
ACK? - CASE VUS ̲QEL ̲ATTR.SUBTYPE OF ACK ̲SUBTYPE
SSC ̲ACK? - CASE VUS ̲QEL ̲ATTR OF SEC
̲ANS
SEC ̲OK?
CC
=
A
̲ACK
SEQ
̲CODE
=
SEQ
̲SEC
̲OK
SEC ̲NOK?
- CC
=
A
̲ACK
SEQ
̲CODE
=
SEQ
̲SEC
̲NOK
OTHERWISE?
- CC
=
A
̲QER
END CASE
ANQ ̲ER ̲NO =
NULL
OTHERWISE? = CC = A ̲QER
END CASE
OTHERWISE? CC = A ̲QER
END CASE
FIG. 4.2.2.4.2-16…86…1 …02… …02… …02… …02… …02…
4.2.2.4.3 A̲p̲p̲e̲n̲d̲ ̲I̲n̲v̲e̲s̲t̲i̲g̲a̲t̲i̲o̲n̲
4.2.2.4.3.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 inspect items for
continued preparation which are received in the
answer qeue.
The received CIF will be opened and it is checked
whether the status type is identical to append complete
or not. If append is required then the referenced
CIF will be looked up in the Response Queue.
4.2.2.4.3.2 M̲o̲d̲u̲l̲e̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲
C̲a̲l̲l̲ ̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
a) APPEND ̲INVESTIGATION(ANQ ̲QEL: QEL REFERENCE
ANQ ̲QEL ̲ATTR: QEL ATTRIBUTES)
b) APPEND ̲INVESTIGATION (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̲
R1 pointer to ANQ ̲QEL ̲ATTR (DEST)
R2 ANQ ̲QEL (DEST)
R6 LINK (DEST)
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
None
R0 - R7 (DEST)…86…1 …02… …02… …02… …02…
…02…
4.2.2.4.3.3 M̲o̲d̲u̲l̲e̲ ̲C̲o̲m̲p̲o̲n̲e̲n̲t̲s̲
a) L̲O̲O̲K̲U̲P̲ ̲R̲E̲F̲E̲R̲E̲N̲C̲E̲D̲ ̲C̲I̲F̲
This procedure receives QEL's from the Response
Queue and compares the item ref. ID found
in the QEL-attributes with th item ref. ID
of the CIF received in the Answer Queue. The
procedure will return with a completion code
and a QEL.
4.2.2.4.3.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̲
SEQ ̲FORMAT ̲TYPE refer 4.1.4
SEQ ̲CODE ̲TYPE refer 4.1.4
STATUS ̲TYPE refer .1.4
QEL ̲REFERENCE ̲ refer CPS/DBD/001
QEL ̲ATTRIBUTES ̲ refer CPS/DBD/001
USER ̲ACTION ̲TYPE refer CPS/DBD/001
b) E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲
APPEND ̲CIF refer 4.2.2.5
SEQ ̲PARAM refer 4.2.2.5
APPEND refer 4.2.2.5
VUS ̲LOG refer 4.2.2.5
c) L̲o̲c̲a̲l̲ ̲D̲a̲a̲
None
4.2.2.4.3.5 M̲o̲d̲u̲l̲e̲ ̲D̲e̲s̲i̲g̲n̲
Refer figure 4.2.2.4.3-1…86…1 …02… …02… …02…
…02… …02…
CASE OPEN ̲VIEW(ANQ ̲QEL)(CC): ERROR ̲OK
ERROR? - CASE ANALYZE ̲ERROR(CC, 2) STOPPED,
OPEN ̲NOT ̲ACCEPTED)(A1,
LA2)
LA1? - D̲I̲S̲P̲L̲A̲Y̲ ̲E̲R̲R̲O̲R̲ ̲M̲S̲G̲ ̲(̲4̲.̲2̲.̲2̲.̲6̲.̲4̲)̲
V̲U̲S̲ ̲D̲I̲S̲M̲A̲N̲T̲L̲E̲
̲(̲A̲N̲Q̲ ̲Q̲E̲L̲)̲(̲4̲.̲1̲.̲5̲.̲3̲)̲
STATUS NE APPEND
̲COMPLETE OR APPEND
̲AB-
NORMAL?
L̲O̲O̲K̲U̲P̲ ̲R̲E̲F̲E̲R̲E̲N̲C̲E̲D̲
̲C̲I̲F̲ ̲(̲4̲.̲2̲.̲2̲.̲4̲.̲3̲.̲3̲)̲
FOUD? - V̲U̲S̲ ̲D̲I̲S̲M̲A̲N̲T̲L̲E̲
̲(̲A̲P̲P̲E̲N̲D̲ ̲C̲I̲F̲)̲
(4.1.5.3)
V̲U̲S̲ ̲Q̲U̲E̲U̲E̲ ̲E̲R̲R̲O̲R̲
̲(̲C̲O̲N̲T̲I̲N̲U̲E̲)̲(̲4̲.̲1̲.̲5̲.̲1̲)̲
SEQ ̲PARAM.CODE
= SEQ ̲UMAM ̲ERROR
V̲U̲S̲ ̲S̲E̲Q̲U̲E̲N̲C̲E̲ ̲(̲4̲.̲2̲.̲2̲.̲4̲.̲1̲0̲)̲
LA2? - V̲U̲S̲ ̲D̲I̲S̲M̲A̲N̲T̲L̲E̲(̲A̲N̲Q̲ ̲Q̲E̲L̲)̲(̲4̲.̲1̲.̲5̲.̲3̲)̲
END CASE
OK?- STATUS EQ APPEND ̲COMPLETE? - A̲P̲P̲E̲N̲D̲ ̲C̲O̲M̲P̲L̲E̲T̲E̲
̲(̲-̲2̲)̲
STATUS EQ APPEND ̲ABNORMAL? - A̲P̲P̲E̲N̲D̲ ̲A̲B̲N̲O̲R̲M̲A̲L̲
̲(̲-̲3̲)̲
SEQ ̲PARAM.FORMAT = C1
SEQ ̲PARAM.CODE = CTMP ̲CONT
INPUT ̲CIF = ANQ ̲QEL
V̲U̲S̲ ̲S̲E̲Q̲U̲E̲N̲C̲E̲(̲4̲.̲2̲.̲2̲.̲4̲.̲1̲0̲)̲
END CASE
FIG. 4.2.24.3-1…86…1…02… …02… …02… …02… …02… …02… …02… …02… …02… …02…
APPEND ̲COMPLETE
L̲O̲O̲K̲U̲P̲ ̲R̲E̲F̲E̲R̲E̲N̲C̲E̲D̲ ̲C̲I̲F̲ ̲(̲4̲.̲2̲.̲2̲.̲4̲.̲3̲.̲3̲)̲
FOUND? - CASE OPEN ̲VIEW(APPEND ̲CIF)(CC): ERROR ̲OK
ERROR? - CASE ANALYZE ̲ERROR(CC,1,OPEN
̲NOT ̲ACCEPTED)(LA1)
LA1? - T̲E̲P̲ ̲R̲E̲T̲U̲R̲N̲(̲A̲P̲P̲E̲N̲D̲
̲C̲I̲F̲)̲(̲ ̲ ̲)̲
V̲U̲S̲ ̲D̲I̲S̲M̲A̲N̲T̲L̲E̲(̲A̲N̲Q̲
̲Q̲E̲L̲ ̲C̲L̲O̲S̲E̲(̲4̲.̲1̲.̲5̲.̲3̲)̲
END CASE
OK? - APPEND = COMPLETE
SEQ ̲PARAM.FORMAT = C1
SEQ ̲PARAM.CODE = CTMP ̲CONT
V̲U̲S̲ ̲S̲E̲Q̲U̲E̲N̲C̲E̲ ̲(̲4̲.̲2̲.̲2̲.̲4̲.̲1̲0̲)̲
ND CASE
V̲U̲S̲ ̲Q̲U̲E̲U̲E̲ ̲E̲R̲R̲O̲R̲ ̲(̲C̲O̲N̲T̲I̲N̲U̲E̲)̲(̲4̲.̲1̲.̲5̲.̲1̲)̲
APPEND = ERROR ̲COMPLETE
SEQ ̲PARAM.FORMAT = C1
SEQ ̲PARAM.CODE = CTMP ̲CONT
V̲U̲S̲ ̲S̲E̲Q̲U̲E̲N̲C̲E̲ ̲(̲4̲.̲2̲.̲2̲.̲4̲.̲1̲0̲)̲
FIG. 4.2.2.4.3-2…86…1…02… …02… …02… …02… …02… …02… …02… …02… …02… …02…
APPEND ̲ABNORMAL
L̲O̲O̲K̲U̲P̲ ̲R̲E̲F̲E̲R̲E̲N̲C̲E̲D̲ ̲C̲I̲F̲ ̲(̲4̲.̲2̲.̲2̲.̲4̲.̲3̲.̲3̲)̲
FOUND? - APPEND = ERROR ̲COMPLETE
VUS ̲LOG. ITEM ̲REF = TRSERNO
V̲U̲S̲ ̲D̲I̲S̲M̲A̲N̲T̲L̲E̲(̲A̲P̲P̲E̲N̲D̲ ̲C̲I̲F̲)̲(̲4̲.̲1̲.̲5̲.̲3̲)
V̲U̲S̲ ̲Q̲U̲E̲E̲ ̲E̲R̲R̲O̲R̲(̲C̲O̲N̲T̲I̲N̲U̲E̲)̲(̲4̲.̲1̲.̲5̲.̲1̲)̲
APPEND = ERROR ̲COMPLETE
SEQ ̲PARAM.FORMAT = C1
SEQ ̲PARAM.CODE = CTMP ̲CONT
V̲U̲S̲ ̲S̲E̲Q̲U̲E̲N̲C̲E̲(̲4̲.̲2̲.̲2̲.̲4̲.̲1̲0̲)̲
FIG. 4.2.2.4.3-3…86…1 …02… …02… …02… …02… …02… …02…
4.2.2.4.4 V̲U̲S̲ ̲F̲/̲C̲ ̲K̲E̲Y̲ ̲P̲R̲O̲C̲E̲S̲S̲I̲N̲G̲
4.2.2.4.4.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 analyse the F/C
̲KEY input, and, depending on the F/C ̲KEY identity
to cal other modules and procedures. Further it
takes care of blanking the command and the response-line
and placing the cursor or the command line.
4.2.2.4.4.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 ̲FC ̲KEY ̲PROCESSING (FC ̲KEY: FUNCTION ̲KEY)
b) VUS ̲FC ̲KEY ̲PROCESSING (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̲
R5 FC ̲KEY (DEST)
R6 LINK (DEST)
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲
R0 - R7 (DEST)
4.2.2.4.4.3 M̲o̲d̲u̲l̲e̲ ̲C̲o̲m̲p̲o̲n̲e̲n̲t̲s̲
4.2.2.4.4.3.1 C̲O̲N̲V̲E̲R̲T̲ ̲F̲C̲ ̲K̲E̲Y̲
The procedure converts the Function ky type received
from the Format Handler to a logical function
key in accordance with the table shown in table
4.2.2.4.4-1.…86…1 …02… …02… …02… …02…
…02… …02…
̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ FC
KEY
IDENTIFICATION LOGICAL
FC
KEY
DELIVERED BY IDENTIFICAION
FORMAT HANDLER ASSIGNED BY VUS
̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲
ENTER 1 FC ̲RETURN
FC ̲ENTER
FK 1 FC ̲COMMAND
FK 2 FC ̲SUSPEND
FK 4 FC ̲KEEP ̲AND ̲PRESENT
FK 5 FC ̲INSERT ̲LINE
FK 7 FC ̲DISPLAY ̲RESPONSE ̲MSG
FK FC ̲CANCEL
FK 9 FC ̲PRINT
FK10 FC ̲DELETE ̲AND ̲PRESENT
FK11 FC ̲DELETE ̲LINE FK25 FC
̲INSERT
̲SEGMENT
FK26 FC ̲DELETE ̲SEGMENT
FK28 FC ̲INSERT ̲SET
FK29 FC ̲DELETE ̲SET
FK31 FC ̲INSERT ̲FIELD GROUP
FK32 FC ̲DELETE ̲FIND ̲GROUP
̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲
FK 3
FK 6
FK12 - FK24 FC ̲DUMMY
FK27
FK30
FK33 - FK30
̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲
F/C KEY CONVERSION TABLE…01…TABLE 4.2.2.4.4-1…86…1 …02… …02… …02… …02… …02…
4.2.2.4.4.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̲
FUNCTION ̲KEY refer CPS/DBD/001
PRECEDENCE ̲TYPE -"-
UFCO ̲CMD refer 4.1.4
CO ̲CMD ̲CC -"-
VUS ̲FC ̲TYPE refer 4.2..5
PENDING ̲FC ̲TYPE -"-
CURSOR ̲SPLIT ̲TYPE -"-
SEQ ̲CODE ̲TYPE -"-
PARAMS ̲TYPE -"-
CMD ̲PARAM -"-
VUS ̲RESP ̲MSG ̲TYPE -"-
b) E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲
UFCO ̲OP (m) refer 4.1.4
CURSOR ̲RECORD (m) -"-
SPLIT ̲DIGIT -"-
HEADER ̲IFCB -"-
FORMAT ̲IFCB -"-
VUS ̲S3 -"-
VDU ̲HD ̲BLE (m) -"-
FCK ̲SET (m) refer 4.2.2.5
OUTPUT ̲FLAG (m) -"-
SPLIT ̲FAILED (m) -"-
VUS ̲FC ̲KEY (m) -"-
PENDING ̲FC (m) -"-
HEADER ̲ADDRESS(m) -"-
BTRANS (m) refer 4.2..2.5
CURRENT ̲PREC -"-
SEQ ̲CODE (m) -"-
c) L̲o̲c̲a̲l̲ ̲D̲a̲t̲a̲
VAR STORED ̲MASK: LONG
GROUP ̲NO,
GROUP ̲INC: COUNTER
ENTER ̲MASK: LONG…86…1 …02… …02… …02… …02…
…02…
4.2.2.4.4.5 M̲o̲d̲u̲l̲e̲ ̲D̲e̲s̲i̲g̲n̲
The received F/C-KEY is converted and it is checked
whether the received key is allowed or not. If the
F/C key shall be followed by a new F/C key entry then
the variable PENDING ̲FC is updated. Insert/delete
line commands is signalled to VDIA. For other F/C-KEYS
VUS SEQUENCE is entered.…86…1 …02… …02… …02… …02…
…02…
FC ̲KEY ̲VALIDATION
C̲O̲N̲V̲E̲R̲T̲ ̲F̲C̲ ̲K̲E̲Y̲ ̲(̲F̲C̲ ̲K̲E̲Y̲)̲(̲V̲U̲S̲ ̲F̲C̲ ̲K̲E̲Y̲)̲(̲4̲.̲2̲.̲2̲.̲4̲.̲4̲.̲3̲.̲1̲)̲
VUS ̲FC ̲KEY EQ FC ̲DUMMY?
VUS ̲FC ̲EY NOT IN FCK ̲SET? D̲I̲S̲P̲L̲A̲Y̲ ̲E̲R̲R̲O̲R̲
̲M̲S̲G̲ ̲(̲4̲.̲2̲.̲2̲.̲6̲.̲4̲)̲
OUTPUT ̲FLAG EQ TRUE? - D̲I̲S̲P̲L̲A̲Y̲ ̲V̲D̲U̲ ̲F̲I̲E̲L̲D̲
̲(̲R̲E̲S̲P̲ ̲L̲I̲N̲E̲ ̲S̲P̲A̲C̲E̲S̲)̲
̲
(̲4̲.̲2̲.̲2̲.̲6̲.̲3̲)̲
OUTPUT ̲FLAG =
FALSE
SPLIT ̲FAILED EQ TRUE?
CASE VUS ̲FC ̲KEY OF VUS ̲FC ̲TYPE
FC ̲RETURN? - R̲T̲U̲R̲N̲ ̲F̲C̲ ̲K̲E̲Y̲ ̲A̲C̲T̲I̲O̲N̲ ̲(̲ ̲-̲2̲)̲
FC ̲PRINT,
FC ̲SUSPEND,
FC ̲CANCEL,
FC ̲KEEP ̲AND ̲PRESENT,
FC ̲DELETE ̲AND ̲PRESENT,
FC ̲ENTER? S̲E̲T̲
̲S̲E̲Q̲U̲E̲N̲C̲E̲
̲C̲O̲D̲E̲
̲(̲
̲-̲
̲3̲)̲
FC ̲INSERT ̲SET,
FC ̲DELETE ̲SET,
FC ̲INSERT ̲FIELD ̲GROUP,
FC ̲DELETE ̲FIELD ̲GROUP? - G̲E̲T̲ ̲S̲E̲G̲E̲N̲T̲ ̲P̲O̲S̲I̲T̲I̲O̲N̲
̲(̲ ̲-̲ ̲4̲)̲
FC ̲COMMAND,
FC ̲DISPLAY ̲RESPONSE ̲MSG,
FC ̲INSERT ̲LINE,
FC ̲DELETE ̲LINE,
FC ̲INSERT ̲SEGMENT,
FC ̲DELETE ̲SEGMENT? G̲E̲T̲
̲C̲U̲R̲S̲O̲R̲
̲P̲O̲S̲I̲T̲I̲O̲N̲
̲(̲
̲-̲
̲5̲)̲
END CASE
FIG. 4.2.2.4.4-1…86…1…02… …02… …02… …02… …02… …02… …02… …02…
RETURN ̲FC ̲KEY ̲ACTION
VDU ̲HEADER ̲BLE.ADDRESS = ADDRESS(HEADER ̲LINE)
VDU ̲HEADER ̲BLE.BYTE ̲SIZE = SIZE (HEADER ̲LINE)
HEADER ̲ADDRESS.LINE = CMD ̲LINE
HEADER ̲ADDRESS. INCARNAION = HD ̲INCARNATION
HEADER ̲ADDRESS. FIELD = CMD ̲FIELD ̲NO
CASE FIELDS ̲INPUT(HEADER ̲IFCB, VDU ̲HEADER ̲BLE, HEADER
̲ADDRESS, 1)
(B TRANS, HEADER ̲ADDRESS, CC):
ERROR ̲OK
ERROR? - CASE ANALYZE ̲ERROR(CC, 1, VDU
̲SPLIT ̲FAILED): (LA1)
LA1?- SPLIT ̲FAILED = TRUE
END CASE
OK? - B TRANS EQ O? - S̲E̲T̲ ̲C̲U̲R̲S̲O̲R̲(̲C̲ ̲R̲E̲T̲U̲R̲N̲)̲(̲4̲.̲2̲.̲2̲.̲6̲.̲2̲)̲
CASE PENDING ̲FC OF PENDING ̲FC ̲TYPE
FK ̲INSERT ̲SEG,
FK ̲DELETE ̲SEG,
FK ̲INSERT,
FK ̲DELETE? - I̲N̲S̲E̲R̲T̲ ̲D̲E̲L̲E̲T̲E̲ ̲L̲I̲N̲E̲S̲(̲P̲E̲N̲D̲I̲N̲G̲
̲F̲C̲)̲(̲4̲.̲2̲.̲2̲.̲4̲.̲8̲)̲
FK ̲COMMAND? - V̲U̲S̲ ̲C̲M̲D̲ ̲P̲E̲N̲D̲I̲N̲G̲ ̲(̲4̲.̲2̲.̲2̲.̲4̲.̲9̲)̲
FK ̲RESP ̲TXT? -V̲U̲S̲ ̲D̲I̲S̲P̲ ̲R̲E̲S̲P̲ ̲M̲S̲G̲ ̲(̲-̲6̲)̲
END CASE
FCK ̲SET = STORED ̲MASK
END CASE
FIG. 4.2.2.4.4-2…86…1…02… …02… …02… …02… …02… …02… …02… …02…
SET ̲SEQUENCE ̲CODE
CASE ̲VUS ̲FC ̲KEY OF VUS ̲FC ̲TYPE
FC ̲PRINT? - SEQ ̲CODE = SEQ ̲PRINT
FC ̲SUSPEND? - CURRENT ̲PREC EQ SUPERFLASH OR
FLASH?
D̲I̲S̲P̲L̲A̲Y̲
̲E̲R̲R̲O̲R̲
̲M̲S̲G̲(̲
̲)̲(̲4̲.̲2̲.̲.̲6̲.̲4̲)̲
SEQ
̲CODE
=
NULL
SEQ ̲CODE = SEQ ̲SUSPEND
FC ̲CANCEL? - SEQ ̲CODE = SEQ ̲CANCEL
FC ̲KEEP ̲AND ̲PRESENT? - CURRENT ̲PREC EQ SUPERFLASH
OR FLASH?
D̲I̲S̲P̲L̲A̲Y̲
̲E̲R̲R̲O̲R̲
̲M̲S̲G̲(̲
̲)̲(̲4̲.̲2̲.̲2̲.̲6̲.̲4̲)̲
SEQ
̲CODE
=
NULL
SEQ ̲CODE = EQ
̲KEEP
FC ̲DELETE ̲AND ̲PRESENT? - SEQ ̲CODE = SEQ ̲DELETE
FC ̲ENTER? - SEQ ̲CODE = SEQ ̲ENTER
END CASE
SEQ ̲CODE EQ NULL?
V̲U̲S̲ ̲S̲E̲Q̲U̲E̲N̲C̲E̲ ̲(̲4̲.̲2̲.̲2̲.̲4̲.̲1̲0̲)̲
FIG. 4.2.2.4.4-3…86…1…02… …02… …02… …02… …02… …02… …02… …02…
GET ̲SEGMENT ̲POSITION
CASE GET ̲CURSOR ̲GROUP ̲POSITION(FORMAT ̲IFCB)(GROUP
̲NO ̲GROUP ̲INC, CC):
ERROR
̲OK
ERROR? - CASE ANALYZE ̲ERROR(CC, 2, CURSORNOT
̲IN ̲GROUP, VDU ̲SPLIT
̲FAILED)(L1,
L2)
L1? - D̲I̲S̲P̲L̲A̲Y̲ ̲E̲R̲R̲O̲R̲
̲M̲S̲G̲(̲ ̲ ̲)̲(̲4̲.̲2̲.̲2̲.̲6̲.̲4̲)̲
L2? - SPLIT ̲FAILED =
TRUE
END CASE
OK? - F̲E̲T̲C̲H̲ ̲U̲F̲C̲O̲ ̲O̲P̲ ̲(̲U̲F̲C̲O̲ ̲O̲P̲)̲(̲4̲.̲2̲.̲2̲.̲6̲.̲3̲1̲)̲
CASE VUS ̲FC ̲KEY OF VUS ̲FC ̲TYPE
FC ̲ISERT ̲SET? - UFCO ̲OP.CMD =
INSERT ̲SET
FC ̲DELETE ̲SET? - UFCO
̲OP.CMD
=
DELETE
̲SET
FC ̲INSERT ̲FIELD ̲GROUP? - UFCO
̲OP.CMD =
INSERT
̲GROUP
FC ̲DELETE ̲FIELD ̲GROUP? - UFCO
̲OP.CMD =
DELETE
̲GROUP
END CASE
UFCO ̲OP.ID = UFCO ̲ID
SIGNAL ̲OPSEM(VUS ̲S3, UFCO ̲OP): OK
END CASE
FIG. 4.2.2.4.4-4…86…1…02… …02… …02… …02… …02… …02… …02… …02… …02…
GET ̲CURSOR ̲POSITION
CASE GET ̲CURSOR ̲POSITION(SPLIT ̲DIGIT)
(CURSOR ̲RECORD.FIELD, CURSOR ̲RECORD.LINES
̲ABOVE, CC):
ERROR
̲OK
ERROR? - CASE AALYZE ERROR(CC,3, CURSOR
̲NOT ̲IN ̲FORMATTED ̲LINE,
CURSOR ̲NOT ̲IN ̲FIELD,VDU ̲SPLIT
̲FAILED)(L1,L2,L3)
L1?
L2? D̲I̲S̲P̲L̲A̲Y̲ ̲E̲R̲R̲O̲R̲ ̲M̲S̲G̲(̲ ̲)̲(̲4̲.̲2̲.̲2̲.̲6̲.̲4̲)̲
L3? SPLIT ̲FAILED = TRUE
END CASE
OK? - CASE VUS ̲FC ̲KEY OF VUS ̲FC ̲TYPE
FC ̲OMMAND? - PENDING ̲FC = FK ̲COMMAND
FC ̲DISPLAY ̲RESPONSE ̲MSG? - PENDING
̲FC = FK ̲RESP ̲TXT
FC ̲INSERT ̲LINE? - PENDING ̲FC =
FK ̲INSERT
FC ̲DELETE ̲LINE? - PENDING ̲FC =
FK ̲DELETE
FC ̲INSERT ̲SEGMENT? - PENDING ̲FC
= FK ̲INSERT ̲SEG
FCDELETE ̲SEGMENT? - PENDING ̲FC
= FK ̲INSERT ̲SEG
END CASE
S̲E̲T̲ ̲C̲U̲R̲S̲O̲R̲(̲H̲E̲A̲D̲E̲R̲)̲(̲4̲.̲2̲.̲2̲.̲6̲.̲2̲)̲
SPLIT ̲FAILED EQ TRUE?
D̲I̲S̲P̲L̲A̲Y̲ ̲V̲D̲U̲ ̲F̲I̲E̲L̲D̲(̲C̲M̲D̲ ̲L̲I̲N̲E̲,̲ ̲S̲P̲A̲C̲E̲S̲)̲(̲4̲.̲2̲.̲2̲.̲6̲.̲3̲)̲
STORED ̲MASK = FCK ̲SET
FCK ̲SET = ENTER ̲MASK
END CASE
FIG. 4.2..4.4-5…86…1…02… …02… …02… …02… …02… …02… …02… …02… …02…
VUS ̲DISP ̲RESP ̲MSG
EQUIVALENCE(CMD ̲PARAM ̲TABLE(1), CUR ̲PARAM: CMD ̲PARAM)
L̲O̲O̲K̲U̲P̲ ̲P̲A̲R̲A̲M̲S̲(̲B̲T̲R̲A̲N̲S̲)̲(̲N̲O̲ ̲O̲F̲ ̲P̲A̲R̲A̲M̲S̲)̲(̲4̲.̲2̲.̲2̲.̲6̲.̲1̲)̲
NO ̲OF ̲PARAMS GT PARAMS 1?
CUR ̲PARAM.TYPE NE NUM?
CUR ̲PARAM.NO ̲OF ̲CHAR GT RESP ̲CODE ̲LENGTH?
D̲I̲S̲P̲L̲A̲Y̲
̲E̲R̲R̲O̲R̲
̲M̲S̲G̲(̲
̲)̲(̲4̲.̲2̲.̲2̲.̲6̲.̲4̲)̲
C̲O̲N̲V̲E̲R̲T̲ ̲T̲O̲ ̲I̲N̲T̲E̲G̲E̲R̲(̲H̲E̲A̲D̲E̲R̲ ̲L̲I̲N̲E̲(̲C̲U̲R̲ ̲P̲A̲R̲A̲M̲.̲P̲O̲S̲)̲,̲ ̲C̲U̲R̲
̲P̲A̲R̲A̲M̲.̲N̲O̲ ̲O̲F̲ ̲C̲H̲A̲R̲)̲
(E̲R̲R̲O̲R̲
̲N̲O̲)̲
ERROR ̲NO GT MAX ̲USER ̲ERROR ̲NO? - D̲I̲S̲P̲L̲A̲Y̲ ̲E̲R̲R̲O̲R̲ ̲S̲G̲(̲
̲)̲(̲4̲.̲2̲.̲2̲.̲6̲.̲4̲)̲
D̲I̲S̲P̲L̲A̲Y̲ ̲E̲R̲R̲O̲R̲ ̲M̲S̲G̲(̲E̲R̲R̲O̲R̲ ̲N̲O̲)̲(̲4̲.̲2̲.̲2̲.̲6̲.̲4̲)̲
FIG. 4.2.2.4.4.-6…86…1…02… …02… …02… …02… …02… …02… …02… …02… …02…
4.2.2.4.5 V̲C̲O̲ ̲C̲M̲D̲ ̲P̲R̲O̲C̲E̲S̲S̲I̲N̲G̲
4.2.2.4.5.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 analyse
commands from VCO and, in accordance with
the commands, to ener VUS SEQUENCE (4.2.2.4.11).
4.2.2.4.5.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) VCO ̲CMD ̲PROCESSING (VUS ̲OP: VUS ̲CO
̲OP ̲TYPE):EXIT ̲LAB
b) VCO ̲CMD ̲PROCESSING (R5, 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̲
R5 pointer to VUS ̲OP DEST)
R6 LINK (DEST)
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲ ̲
None
R0 - R7 (DEST)
4.2.2.4.5.3 M̲o̲d̲u̲l̲e̲ ̲C̲o̲m̲p̲o̲n̲e̲n̲t̲
4.2.2.4.5.3.1 S̲T̲O̲P̲ ̲A̲C̲T̲I̲O̲N̲
Sets up sequence codes and signals completion
code to VCO. Refer figure 4.2.2.4.5.3-1.
4.2.2.4.5.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̲
USER ̲ACTION ̲TYPE refer CPS/DBD/001
QUEUE ̲REFERENCE refer
CPS/DBD/001
VCO ̲CMD refer
4.1.4
IDENT ̲TYPE refer
4.1.4
SEQ ̲FORMAT ̲TYPE refer
4.1.4
SEQ ̲CODE ̲TYPE refer
4.1.4
ANQ ̲PENDING refer
4.1.4
QELEMENT ̲MAIN ̲TYPErefer CPS/SDS/001
MESSAGE ̲SUBTYPE refer
CPS/SDS/001
ACK ̲SUBTYPE refer
CPS/SDS/001 EXIT
̲LAB refer
4.2.2.5
b) E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲
VCO ̲OP (m) refer
4.1.4)
UFCO ̲OP (m) refer
4.1.4
VUS ̲S1 refer
4.1.4
VUS ̲S2 refe
4.1.4
VUS ̲QNAME (m) refer
4.1.4
VUS ̲QEL ̲ATTR (m) refer
4.1.4
ANQ ̲QEL (m) refer
4.1.4
SEQ ̲REC refer
4.2.2.5
4.2.2.4.5.5 M̲o̲d̲u̲l̲e̲ ̲D̲e̲s̲i̲g̲n̲
This module inspects VCO commands, enters
VUS SEQUENCE (4.2.2.4.11) and signals
acknwledges to VCO.…86…1…02… …02… …02… …02… …02… …02…
…02… …02… …02…
VCO ̲CMD ̲PROCESSING
ANQ ̲OP.PARA1 NE P ̲VDUP ̲ACK OR P ̲SC ̲COM ̲ACK?
W̲A̲I̲T̲ ̲P̲E̲N̲D̲I̲N̲G̲ ̲O̲P̲ ̲(̲-̲2̲)̲
CASE VUS ̲OP.CMD OF VCO ̲CMD
STOP ̲UFCO? - S̲T̲O̲P̲ ̲A̲C̲T̲I̲O̲N̲(̲S̲E̲Q̲ ̲S̲T̲O̲P̲)̲(̲C̲M̲D̲
̲C̲C̲)̲(̲4̲.̲2̲.̲2̲.̲4̲.̲5̲.̲3̲2̲)̲
BLOCK ̲UFCO? - S̲T̲O̲P̲ ̲A̲C̲T̲I̲O̲N̲(̲S̲E̲Q̲ ̲C̲L̲O̲S̲E̲)̲(̲C̲M̲D̲ ̲C̲C̲)̲(̲4̲.̲2̲.̲2̲.̲4̲.̲5̲.̲3̲.̲2̲)̲
CLOSE ̲UFCO? - SEQ ̲FORMAT = SEQ ̲REC.NEW ̲FORMAT
SEQ ̲CODE = SEQ ̲CLOSE
V̲U̲S̲ ̲S̲E̲Q̲U̲E̲N̲C̲E̲ ̲(̲4̲.̲2̲.̲2̲.̲4̲.̲1̲0̲)̲
LOOP
WAIT ̲OPSEM(VUS ̲S2)(VDIA ̲PTR)
: OK
CASE VDIA ̲PTR. D OF IDENT
̲TYPE
VDIA ̲ID? F̲R̲E̲E̲ ̲S̲F̲C̲O̲ ̲O̲P̲(̲V̲D̲I̲A̲
̲P̲T̲R̲)̲(̲4̲.̲2̲.̲2̲.̲6̲.̲3̲2̲)
CMD EQ EXP
̲VDIA ̲CMD EXIT
LOOP
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
END LOOP
SIGNAL OSEM(VUS ̲S1, VUS ̲OP) :
OK
CMD ̲CC = E ̲START
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
FIG. 4.2.2.4.5-1…86…1…02… …02… …02… …02… …02… …02… …02… …02… …02… …02…
WAIT ̲PENDING ̲OP
VUS ̲QNAME.MAINQUEUE = VUS ̲ARRQ
VUS ̲QNAME.SUBQUEUE = ANS ̲SUBQ
CASE RECEIVE ̲FIRST ̲QEL (WAIT, VUS ̲QNAME)
(VUS ̲QEL ̲ATTR, ANQ ̲QEL, QUEUE, CC) : ERROR
̲OK
ERROR? ANALYZE ̲ERROR(CC, O)
OK? CASE VUS ̲QEL ̲ATTR. MAINTYPE OF QELEMENT
̲MAIN ̲TYPE
ACK? - CASE VUS ̲QEL ̲ATTR.SUBTYPE
OF ACK ̲SUBTYPE
THP ̲ACK?
OTHERWISE? ̲ V̲U̲S̲
̲Q̲U̲E̲U̲E̲ ̲E̲R̲R̲O̲R̲
(̲C̲O̲N̲T̲)̲(̲4̲.̲1̲.̲5̲.̲1̲)̲
END CSE
SC ̲VDU ̲PAGE,
SC ̲COMMENT? - CASE VUS ̲QEL ̲ATTR.SUBTYPE
OF MESSAGE
SUBTYPE
SUSPENDED/DEFERRED?
̲
S̲E̲N̲D
U̲M̲A̲M̲(̲4̲.̲2̲.̲8̲.̲4̲.̲5̲.̲3̲.̲1̲)
OTHERWISE?
V̲U̲S̲Q̲U̲E̲U̲E̲
̲E̲R̲R̲O̲R̲
(̲C̲O̲N̲T̲)̲(̲4̲.̲1̲.̲5̲.̲1̲)̲
END
CASE
OTHERWISE? V̲U̲S̲ ̲Q̲U̲E̲U̲E̲ ̲E̲R̲R̲O̲R̲(̲C̲O̲N̲T̲)̲(̲4̲.̲1̲.̲5̲.̲1̲)̲
END CASE
END CASE
ANQ ̲OP.PARA1 = NO ̲PENDING
FIG. 4.2.2.4.5-2…86…1…02… …02… …02… …02… …02… …02… …02… …02… …02… …02…
STOP ̲ACTION
SEQ ̲FORMAT = SEQ ̲REC. NEW ̲FORMAT
SEQ ̲CODE = STOP ̲CODE
V̲U̲S̲ ̲S̲E̲Q̲U̲E̲N̲C̲E̲ ̲(̲4̲.̲2̲.̲2̲.̲4̲.̲1̲0̲)̲
VUS ̲OP.ID = UFCO ̲ID
VUS ̲OP. PARA 1 = OK ̲CC
SIGNAL ̲OPSEM(VUS ̲S1, VUS ̲OP): OK
CMD ̲CC = E ̲USER
FIG. 4.2.2.4.5.3-1…86…1…02… …02… …02… …02… …02… …02… …02… …02… …02… …02…
4.2.2.4.6 V̲D̲I̲A̲ ̲C̲C̲ ̲P̲R̲O̲C̲E̲S̲S̲I̲N̲G̲
4.2.2.4.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 purpose of this module is to analyze
the inputs that UFCO gets from VDIA. Depending
on input a copletion code is signalled
to VDO and thereafter VUS SEQUENCE (4.2.2.4.11)
is entered, or on behalf of other inputs
VUS ̲SEQUENCE (4.2.2.4.11) is entered directly.
4.2.2.4.6.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) VDIA ̲CC ̲PROCESSING (VUSOP:VUS ̲CO ̲OP
̲TYPE)
b) VDIA ̲CC ̲PROCESSING (R5, 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̲
R5 pointer to VUS ̲OP (DEST)
R6 LINK (DEST)
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲
R0 - R7 (DEST)
4.2.2.4.6.3 M̲o̲d̲u̲l̲e̲ ̲C̲o̲m̲p̲o̲n̲e̲n̲t̲ ̲
None
4.2.2.4.6.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̲
VUS ̲CO ̲OP ̲TYPE refer
4.1.4
VDIA ̲CC refer
4.1.4
IDENT ̲TYPE refer
4.1.4
USER ̲ACTION ̲TYPE refer
CPS/BD/001
UFCO ̲CMD refer
4.1.4
VUS ̲RESP ̲MSG ̲TYPE refer 4.1.4
CO ̲CMD ̲CC refer
4.1.4
SEQUENCE ̲CODE ̲TYPE refer 4.2.2.5
b) E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲
UFCO ̲OP (m) refer
4.1.4
EXP ̲VDIA ̲CMD (m) refer
4.2.2.5
SPLIT ̲FAILED (m) reer
4.2.2.5
SEQ ̲REC refer
4.2.2.5
SEQ ̲FORMAT (m) refer
4.2.2.5
SEQ ̲CODE (m) refer
4.2.2.5
c) L̲o̲c̲a̲l̲ ̲D̲a̲t̲a̲
None
4.2.2.4.6.5 M̲o̲d̲u̲l̲e̲ ̲D̲e̲s̲i̲g̲n̲
This module analyses completion code from
VDIA, and in those cases where VDIA ̲C
is to command issued by VCO, a completion
code is sent to VCO before entering VUS
SEQUENCE module.…86…1…02… …02… …02… …02… …02… …02… …02… …02…
…02… …02…
VIDA ̲CC ̲PROCESSISNG
F̲R̲E̲E̲ ̲S̲F̲C̲O̲ ̲O̲P̲(̲V̲U̲S̲ ̲O̲P̲)̲(̲4̲.̲2̲.̲2̲.̲6̲.̲3̲2̲)̲
VUS ̲OP.CMD NE EXP ̲VDIA ̲CMD?
VUS ̲OP. PARA1 EQ SPLIT ̲FAILED ̲CC? - SPLIT
̲FAILED
=
TRUE
CASE VUS ̲OP.CMD OF UFCO ̲CMD
INSERT ̲SET,
DELETE ̲SET,
INSERT ̲SEGMENT,
DELETE ̲SEGMENT,
INSERT ̲GROUP,
DELETE ̲GROUP,
L ̲INSERT,
L ̲DELETE? - CASE VUS ̲OP.PARA1 OF CO ̲CMD ̲CC
OK ̲CC?
ERROR ̲CC? - D̲I̲S̲P̲L̲A̲Y̲ ̲E̲R̲R̲O̲R̲
̲M̲S̲G̲(̲ ̲ ̲)̲(̲4̲.̲2̲.̲2̲.̲6̲.̲4̲)̲
OTHERWISE? - V̲U̲S̲ ̲I̲N̲T̲E̲R̲N̲A̲ ̲E̲R̲R̲O̲R̲(̲G̲I̲V̲E̲
̲U̲P̲)̲
̲(̲4̲.̲1̲.̲5̲.̲2̲)̲
END CASE
APPEND,
CLEAR ̲VDU,
OUTPUT ̲FORMAT,
DISPLAY ̲MENU,
OUTPUT ̲DATA? - CASE VUS ̲OP. PARA1 OF CO ̲CMD
̲CC
OK ̲CC? - FCK ̲SET = SEQ ̲REC.MASK2
E̲N̲A̲B̲L̲E̲ ̲F̲C̲ ̲K̲E̲Y̲S̲
̲(̲4̲.̲2̲2̲.̲6̲.̲3̲3̲)̲
S̲E̲T̲ ̲C̲U̲R̲S̲O̲R̲(̲S̲E̲Q̲
̲R̲E̲C̲.̲C̲U̲R̲S̲O̲R̲)̲(̲4̲.̲2̲.̲2̲.̲6̲.̲2̲
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
OTHERWISE? - C̲O̲N̲T̲I̲N̲U̲E̲ ̲V̲D̲I̲A̲ ̲C̲C̲ ̲P̲R̲O̲C̲E̲S̲S̲I̲N̲G̲
̲(̲ ̲-̲ ̲2̲)̲
END CASE
FIG. 4.2.2.4.6-1…86…1…02… …02… …02… …02… …02… …02… …02… …02… …02… …02…
CONTINUE ̲VIDA ̲CC ̲PROCESSING
CASE VUS ̲OP. CMD OF UFCO ̲CMD
SUSP,
CANCEL ̲I ̲O,
CLOSE? CASE VUS ̲OP. PARA1 OF CO ̲CMD ̲CC
OK ̲CC? VUS ̲OP.CMD EQ CANCEL? - SEQ
̲CODE = SEQ ̲ANCEL ̲CC
SEQ ̲CODE = SEQ ̲CLOSE ̲CC
SEQ ̲FORMAT = SEQ ̲REC. NEW ̲FORMAT
V̲U̲S̲ ̲S̲E̲Q̲U̲E̲N̲C̲E̲ ̲(̲4̲.̲2̲.̲2̲.̲4̲.̲1̲0̲)̲
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
INPUT ̲DATA? - CASE VUS ̲OP. PARA1 OF CO ̲CMD
̲CC
O ̲CC? - S̲E̲T̲ ̲S̲E̲T̲ ̲C̲O̲D̲E̲ ̲(̲ ̲-̲3̲)̲
ERROR ̲CC? - CASE VUS ̲OP.PARA
2 OF
EXCEED?
-
SEQ
̲CODE
=
SEQ
̲EXCEED
VAL
̲ERROR?
-
SEQ
̲CODE
=
SEQ
̲INPUT
̲ERROR
END CASE
OTHERWISE? - V̲U̲S̲
̲I̲N̲T̲E̲R̲N̲A̲L̲
̲E̲R̲R̲O̲(̲G̲I̲V̲E̲
̲U̲P̲)̲
(̲4̲.̲1̲.̲5̲.̲2̲)̲
END CASE
E̲N̲A̲B̲L̲E̲ ̲F̲C̲ ̲K̲E̲Y̲S̲ ̲(̲4̲.̲2̲.̲2̲.̲6̲.̲3̲3̲)̲
SEQ ̲FORMAT = SEQ ̲REC. NEW ̲FORMAT
V̲U̲S̲ ̲S̲E̲Q̲U̲E̲N̲C̲E̲ ̲(̲4̲.̲2̲.̲2̲.̲4̲.̲1̲0̲)̲
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
FIG. 4.2.24.6-2…86…1…02… …02… …02… …02… …02… …02… …02… …02… …02… …02…
SET ̲SEQ ̲CODE
CASE VUS ̲OP.PARA2 OF VDIA ̲CC
V ̲DUMMY? - SEQ ̲CODE = SEQ ̲INPUT ̲OK
RETR ̲APPEND? - SEQ ̲CODE = SEQ ̲RETR ̲REQ
DEFER? - SEQ ̲CODE = SEQ ̲DEFER
RELEASE? SEQ ̲CODE = SEQ ̲RELEASE
COORDINATE? SEQ ̲CODE = SEQ ̲COOR
ECHO ̲BACK? SEQ ̲CODE = SEQ ̲ECHO
MHI ̲REQ? SEQ ̲CODE = SEQ ̲MHI
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
SEQ ̲FORMAT = SEQ ̲REC.NEW ̲FORMAT
V̲U̲S̲ ̲S̲E̲Q̲U̲E̲N̲C̲E̲ ̲(̲4̲.̲2̲.̲.̲4̲.̲1̲0̲
FIG. 4.2.2.4.6-3…86…1…02… …02… …02… …02… …02… …02… …02… …02… …02… …02…
4.2.2.4.7 R̲E̲T̲R̲ ̲O̲P̲ ̲P̲R̲O̲C̲E̲S̲S̲I̲N̲G̲
4.2.2.4.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 purpose of this module is to analyse
input from RETR ̲Co-
routine, display notification and enteing
the VUS ̲SEQUENCE module (4.2.2.4.10).
4.2.2.4.7.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) RETR ̲OP ̲PROCESSING (VUS ̲OP: VUS ̲CO
̲OP ̲TYPE)
b) RETR ̲OP ̲PROCESSING (R5, 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̲
R5 pointer to VUS ̲P (DEST)
R6 LINK (DEST)
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲
None
R0 - R7 (DEST)
4.2.2.4.7.3 M̲o̲d̲u̲l̲e̲ ̲C̲o̲m̲p̲o̲n̲e̲n̲t̲
None
4.2.2.4.7.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̲
MESSAGE ̲MAIN ̲TYPE refer CPS/DBD/001
VUS ̲CO ̲OP ̲TYPE refer
4.1.4
VUS ̲RESP ̲MSG ̲TYPE refer 4.1.4
RETR ̲CMD rfer
4.1.4
SEQ ̲CODE ̲TYPE refer
4.2.2.5
SEQ ̲FORMAT ̲TYPE refer
4.2.2.5
b) E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲
INPUT ̲CIF (m) refer
4.1.4
SPLIT ̲FAILED refer
4.2.2.5
SEC ̲FAILED (m) refer
4.2.2.5
SEQ ̲CODE (m) refer
4.2.2.5
SEQ ̲FORMAT m) refer
4.2.2.5
c) L̲o̲c̲a̲l̲ ̲D̲a̲t̲a̲
None
4.2.2.4.7.5 M̲o̲d̲u̲l̲e̲ ̲D̲e̲s̲i̲g̲n̲
This module calls either DISPLAY ̲ERROR
̲MSG (4.2.2.6.4) and VUS ̲SEQUENCE (4.2.2.4.10)
or the latter only.…86…1…02… …02… …02… …02… …02… …02…
…02… …02… …02… …02…
RETR ̲OP ̲PROCESSING
CASE VUS ̲OP. CMD OF RETR ̲CMD
ONLINE ̲NOTIFICATION? - D̲I̲S̲P̲L̲A̲Y̲
̲E̲R̲R̲O̲R̲
̲M̲S̲G̲(̲
̲
̲)̲(̲4̲.̲2̲.̲2̲.̲6̲.̲4̲)̲
OFFLINE ̲NOTIFICATION? - D̲I̲S̲P̲L̲A̲Y̲
̲E̲R̲R̲O̲R̲
̲M̲S̲G̲(̲
̲
̲)̲(̲4̲.̲2̲.̲2̲.̲6̲.̲4̲)̲
SPLIT ̲FAILED EQ TRUE?
SEQ ̲CODE = SEQ
̲OFF ̲NEW
SEQ ̲FORMAT = SEQ
̲REC.NEW ̲FORMAT
V̲U̲S̲ ̲S̲E̲Q̲U̲E̲N̲C̲E̲ ̲(̲4̲.̲2̲.̲2̲.̲4̲.̲1̲0̲)̲
RETRIEVAL ̲NOTIFICATION? - C̲A̲L̲C̲U̲L̲A̲T̲E̲ ̲S̲E̲Q̲U̲E̲N̲C̲E̲
̲K̲E̲Y̲S̲ ̲(̲ ̲-̲2̲)̲
APPEND ̲NOTIFICATION? - O̲P̲E̲N̲
̲A̲P̲P̲E̲N̲D̲
̲C̲I̲F̲
̲(̲-̲3̲)̲
RETRIEVAL ERROR? - D̲I̲S̲P̲L̲A̲Y̲ ̲E̲R̲R̲O̲R̲ ̲M̲S̲G̲(̲V̲U̲S̲
̲O̲P̲.̲P̲A̲R̲A̲1̲)̲
(̲4̲.̲2̲.̲2̲.̲6̲.̲4̲)̲
SPLIT FAILED EQ
TRUE?
SEQ ̲FORMAT = SEQ
̲REC. NEW ̲FORMAT
SEQ ̲CODE = SEQ
̲SAR ̲ERROR
V̲U̲S̲ ̲S̲E̲Q̲U̲E̲N̲C̲E̲ ̲(̲4̲.̲2̲.̲2̲.̲4̲.̲1̲0̲)̲
QUEU ERROR? D̲I̲S̲P̲L̲A̲Y̲
̲E̲R̲R̲O̲R̲
̲M̲S̲G̲(̲
̲
̲)̲(̲4̲.̲2̲.̲2̲.̲6̲.̲4̲)̲
SPLIT FAILED EQ
TRUE?
SEQ ̲FORMAT = SEQ
̲REC. NEW FORMAT
SEQ ̲CODE = SEQ
̲QER
V̲U̲S̲ ̲S̲E̲Q̲U̲E̲N̲C̲E̲ ̲(̲4̲.̲2̲.̲2̲.̲4̲.̲1̲0̲)̲
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 ASE
FIG. 4.2.2.4.7-1…86…1…02… …02… …02… …02… …02… …02… …02… …02… …02… …02…
CALCULATE ̲SEQUENCE ̲KEYS
CASE VUS ̲RECV ̲ATTR.MAINTYPE OF MESSAGE ̲MAIN ̲TYPE
SC ̲PLAINDRESS? - SEQ ̲FORMAT = E1
ABB ̲PLAINDRESS? - CASE UFCO ̲RETR ̲PARAM.FLAG
̲VALUE OF
READDRESSED? - SEQ ̲FORMAT
= E1 ̲RE
NON ̲READDRESSED? - SEQ ̲FORMAT
= E1
END CASE
PLAINDRESS? - CASE UPCO ̲RETR ̲FLAG ̲VALUE
OF
CAMPS ̲ORIG? -SEQ ̲FORMAT
= E2
NON ̲CAMPS? - SEQ ̲FORMAT
= E1
CAMPS ̲ORIG ̲READ? - SEQ ̲FORAT
= E2 ̲RE
NON ̲CAMPS ̲READ? - SEQ ̲FORMAT
= E1 ̲RE
END CASE
SC ̲COMMENT? - SEQ ̲FORMAT = SC ̲G2
COMMENT? - SEQ ̲FORMAT = G2
SYSTEM ̲CATALOGUE ̲DISPLAY? - SEQ FORMAT = SYS
̲CAT
RELEASE ̲NOTIFICATION? - SEQ ̲FORMAT = F
OTHERWISE? - V̲U̲S̲ ̲N̲T̲E̲R̲N̲A̲L̲ ̲E̲R̲R̲O̲R̲(̲G̲I̲V̲E̲ ̲U̲P̲)̲(̲4̲.̲1̲.̲5̲.̲2̲)̲
END CASE
CASE OPEN ̲VIEW(INPUT ̲CIF)(CC): ERROR ̲OK
ERROR? - CASE ANALYZE ̲ERROR(CC, 1,OPEN ̲NOT
̲ACCEPTED):(LA1)
LA1? SEC ̲FAILED = TRUE
V̲U̲S̲ ̲D̲I̲S̲M̲A̲N̲T̲L̲E̲(̲I̲N̲P̲U̲T̲ ̲C̲I̲F̲)̲(̲4̲.̲1̲.̲5̲.̲3̲)̲
END CASE
OK? - SEQ ̲CODE= SEQ ̲DISP
V̲U̲S̲ ̲S̲E̲Q̲U̲E̲N̲C̲E̲(̲4̲.̲2̲.̲2̲.̲4̲.̲1̲0̲)̲
END CASE
FIG. 4.2.2.4.7-2…86…1…02… …02… …02… …02… …02… …02… …02… …02… …02… …02…
OPEN ̲APPEND ̲CIF
CASE OPEN ̲VIEW(APPEND ̲CIF)(CC) : ERROR ̲OK
ERROR? - CASE ANALYZE ̲ERROR(CC, 1, OPEN
̲NOT ̲ACCEPTED): (LA1)
LA1 SEC ̲FAILED = TRUE
V̲U̲S̲ ̲D̲I̲S̲M̲A̲N̲T̲L̲E̲(̲A̲P̲P̲E̲N̲D̲ ̲C̲I̲F̲)̲(̲4̲.̲1̲.̲5̲.̲3̲)̲
END CASE
OK? - SEQ ̲FORMAT = SEQ ̲A2
SEQ ̲CODE = SEQ ̲START ̲APPEND
V̲U̲S̲ ̲S̲E̲Q̲U̲E̲N̲C̲E̲ ̲(̲4̲.̲2̲.̲2̲.̲4̲.̲1̲0̲)̲
END CASE
FIG. 4.2.2.4.7-3