top - download
⟦9c1b23b35⟧ Wang Wps File
Length: 49350 (0xc0c6)
Types: Wang Wps File
Notes: Spelunked
Names: »~ORPHAN67.08«
Derivation
└─⟦4c162cf87⟧ Bits:30006103 8" Wang WCS floppy, CR 0163A
└─ ⟦this⟧ »~ORPHAN67.08«
WangText
…00……00……00……00……00…C…0a……00……00…C…0b…C…0f…C…02…C C…07…B…09…B…0e…B…01…B…06…A…09…A…0d…A…02…A…06…@…0a…@…0c…@…01…@…06…?…0b…?…0d…?…0f…?
?…05…>…0b…>…0e…>
=…08…=…0c……86…1 …02… …02… …02…
…02…CPS/SDS/035
…02…MSN/820514…02……02…
SUPERVISOR VDU
DETAILED DESIGN SPECIFICATION…02……02…CAMPS
4.2.2.4.7 E̲x̲e̲c̲u̲t̲e̲ ̲S̲y̲s̲t̲e̲m̲ ̲S̲e̲q̲u̲e̲n̲c̲e̲
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̲
steps through the sequence record as follows:
1) Sets the set of f/c keys allowed during sequence
exection.
2) Checks if a log report shall be generated and sends
it if specified.
3) Checks if a functional task shall be executed and
initiates the task if specified.
4) Checks if a command to SVDIA shall be sent and
if sends it, and awaits the nswer.
5) Checks whether a positioning of the cursor is specified
and if, positions the cursor as required.
6) Sets the set of f/c keys allowed after execution
of the sequence.
7) Fetches the sequence record field specifying the
next action t be performed and sequence execution
is finalised.
4.2.2.4.7.2 M̲o̲d̲u̲l̲e̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲
Call Specification
a) EXEC ̲SYS ̲SEQ
(SEQ ̲WAIT ̲STATE: SFCO ̲STATE ̲TYPE)
(SEQ ̲STATE: SEQ ̲STATE ̲TYPE
SVUP ̲OP: SVUP ̲COROUTINE ̲OP)
b) E̲X̲E̲C̲ ̲S̲Y̲S̲ ̲S̲E̲Q̲(̲R̲0̲,̲R̲5̲,̲R̲6̲,̲R̲7̲)̲
R̲e̲g̲i̲s̲t̲e̲r̲ ̲C̲o̲n̲v̲e̲n̲t̲i̲o̲n̲s̲
C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R0 SEQ ̲WAIT ̲STATE
R6 LINK
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R0-R4 (DEST)
R5 Pointer to SVUP ̲OP
R6 (DEST)
R7 SEQ ̲STATE
4.2.2.4.7.3 M̲o̲d̲u̲l̲e̲ ̲C̲o̲m̲p̲o̲n̲e̲n̲t̲s̲
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̲
SFCO ̲STATE ̲TYPE Refer 4.1.4
SEQ ̲STATE ̲TYPE Refer 4.2.2.5
FCK ̲SET Refer 4.2.2.5
SEQ ̲REC Refer 4.2.2.5
SVUP ̲LOG ̲TYPE Refer 42.2.5
SVUP ̲OP Refer 4.2.2.5
SVUP ̲COROUTINE ̲OP Refer 4.1.4.
SENDER ̲ID ̲TYPE Refer 4.1.4.
CURSOR-̲RECORD Refer 4.1.4.
EXP ̲SVDIA ̲NO Refer 4.2.2.5
SVDIA ̲CMD ̲OUT Refer 4.2.2.5
b) E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲
FCK ̲SET (m)
SEQ ̲REC (m)
SVUP ̲OP
CURSOR ̲RECORD (m)
EXP ̲SVDIA ̲NO
SVDIA ̲CMD ̲OUT
c) L̲o̲c̲a̲l̲ ̲D̲a̲t̲a̲
4.2.2.4.7.5 M̲o̲d̲u̲l̲e̲ ̲D̲e̲s̲i̲g̲n̲
Refer fig. 4.2.2.47-1…86…1 …02… …02… …02… …02… …02…
…02…
FCK ̲SET = SEQ ̲REC.FCK ̲SET1
CASE SEQ ̲REC.LOG OF SVUP ̲LOG ̲TYPE
NO ̲LOG?
SYS ̲LOG? R̲E̲P̲O̲R̲T̲ ̲L̲O̲G̲(̲S̲Y̲S̲ ̲L̲O̲G̲)̲(̲4̲.̲2̲.̲2̲.̲6̲.̲2̲2̲)̲
OTHERWISE? S̲V̲U̲P̲ ̲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
SEQ ̲REC.FUNCTION NE NULL? E̲X̲E̲C̲U̲T̲E̲ ̲F̲U̲N̲C̲T̲I̲O̲N̲(̲ ̲ ̲ ̲ ̲ ̲
̲ ̲)̲
SEQ ̲REC.SVDIA ̲CMD EQ NULL?
S̲E̲N̲D̲ ̲S̲V̲D̲I̲A̲ ̲C̲M̲D̲ ̲A̲N̲D̲ ̲A̲W̲A̲I̲T̲ ̲A̲N̲S̲W̲E̲R̲(̲F̲i̲g̲.̲ ̲4̲.̲2̲.̲2̲.̲4̲.̲7̲-̲2̲)̲
SEQ ̲REC.CURSOR.SPLIT EQ NO ̲SPLIT?
CURSOR ̲RECORD = SEQ ̲REC.CURSOR.POSITION
CASE SET ̲CURSOR(SEQ ̲REC.CURSO.SPLIT): EXC ̲DONE
EXC? SEQ ̲STATE = TEXC
RETURN
DONE?
END CASE
FCK ̲SET = SEQ ̲REC.FCK ̲SET2
SEQ ̲STATE = SEQ ̲REC.SEQ ̲STATE
RETURN
Fig. 4.2.2.4.7-1
S̲E̲N̲D̲ ̲S̲V̲D̲I̲A̲ ̲C̲O̲M̲M̲A̲N̲D̲ ̲A̲N̲D̲ ̲A̲W̲A̲I̲T̲ ̲A̲N̲S̲W̲E̲R̲
CASE SEQ ̲WAIT ̲STATE OF SFCO ̲STATE ̲TYPE
WORK1 ̲STATE? S̲E̲N̲D̲ ̲S̲V̲D̲I̲A̲ ̲C̲O̲M̲M̲A̲N̲D̲ ̲A̲N̲D̲ ̲A̲W̲A̲I̲T̲ ̲A̲N̲S̲W̲E̲R̲
N̲O̲R̲M̲A̲L̲ ̲C̲A̲S̲E̲(̲4̲.̲2̲.̲2̲.̲4̲.̲7̲-̲3̲)̲
WORK5 ̲STATE S̲N̲D̲ ̲S̲V̲D̲I̲A̲ ̲C̲O̲M̲M̲A̲N̲D̲ ̲A̲N̲D̲ ̲A̲W̲A̲I̲T̲ ̲A̲N̲S̲W̲E̲R̲
I̲N̲T̲E̲R̲R̲U̲P̲T̲ ̲C̲A̲S̲E̲(̲4̲.̲2̲.̲2̲.̲4̲.̲7̲-̲5̲)̲
WORK6 ̲STATE S̲E̲N̲D̲ ̲S̲V̲D̲I̲A̲ ̲C̲O̲M̲M̲A̲N̲D̲ ̲A̲N̲D̲ ̲A̲W̲A̲I̲T̲ ̲A̲N̲S̲W̲E̲R̲
C̲L̲O̲S̲E̲/̲S̲T̲O̲P̲ ̲C̲A̲S̲E̲(̲4̲.̲2̲.̲2̲.̲4̲.̲7̲-̲6̲)̲
END CASE
Fig. 4.2.2.4.7-2
S̲E̲N̲D̲ ̲S̲V̲D̲I̲A̲ ̲C̲O̲M̲M̲A̲N̲D̲ ̲A̲N̲D̲ ̲A̲W̲A̲I̲T̲ ̲A̲N̲S̲W̲E̲R̲ ̲N̲O̲R̲M̲A̲L̲ ̲C̲A̲S̲E̲
S̲E̲N̲D̲ ̲S̲V̲D̲I̲A̲ ̲C̲M̲D̲(̲S̲E̲Q̲ ̲R̲E̲C̲.̲S̲V̲D̲I̲A̲ ̲C̲M̲D̲,̲ ̲S̲E̲Q̲ ̲R̲E̲C̲,̲ ̲S̲V̲D̲I̲A̲ ̲F̲O̲R̲M̲A̲T̲,̲
̲0̲,̲ ̲0̲)̲
(̲4̲.̲2̲.̲2̲.̲6̲.̲2̲)̲
LOOP AWAIT ̲VDIA ̲ANSWER ̲NORMAL ̲CASE
W̲A̲I̲T̲ ̲S̲F̲C̲O̲ ̲E̲V̲E̲N̲T̲(̲W̲O̲R̲K̲1̲ ̲S̲T̲A̲T̲E̲)̲(̲S̲V̲U̲P̲ ̲C̲O̲ ̲O̲P̲)̲(̲4̲.̲2̲.̲2̲.̲6̲.̲1̲0̲)̲
CASE SVUP ̲CO ̲OP.OP ̲ID(2) OF SENDER ̲ID ̲TYPE
SVCO ̲ID? D̲E̲L̲E̲T̲E̲ ̲F̲C̲ ̲K̲E̲Y̲ ̲I̲N̲P̲U̲T̲ ̲R̲E̲Q̲U̲E̲S̲T̲(̲4̲.̲2̲.̲2̲.̲6̲.̲7̲)̲
CASE SVUP ̲CO ̲OP.CMD OF
STOP ̲SFCO? SEQ ̲STATE = TSTOP
CLOSE ̲SFCO? SEQ ̲STATE = TCLOSE
OTHERWISE? S̲V̲U̲P̲ ̲I̲N̲T̲E̲R̲N̲A̲L̲ ̲E̲R̲R̲O̲R̲(̲G̲I̲V̲E̲
̲U̲P̲)̲
(̲4̲.̲2̲.̲2̲.̲6̲.̲2̲)̲
END CASE
RETURN
FC ̲KEY ̲ID? CASE F̲E̲T̲C̲H̲ ̲A̲N̲D̲ ̲V̲A̲L̲ ̲K̲E̲Y̲(̲ ̲ ̲)̲(̲F̲C̲ ̲K̲E̲Y̲,̲
̲C̲C̲)̲:̲
E̲X̲C̲ ̲D̲O̲N̲E̲(̲4̲.̲2̲.̲2̲.̲6̲.̲1̲2̲)̲
EXC? SEQ ̲STATE = TEXC
RETURN
DONE? CC = ILL? R̲E̲Q̲U̲E̲S̲T̲ ̲F̲C̲ ̲K̲E̲Y̲
̲I̲N̲P̲U̲T̲
(̲4̲.̲2̲.̲2̲.̲6̲.̲8̲)̲
S̲E̲T̲ ̲S̲E̲Q̲ ̲K̲E̲Y̲(̲ ̲ ̲ ̲ ̲ ̲ ̲)̲
SEQ ̲STATE = TRPT
RETURN
END CASE
SVDIA ̲ID? S̲V̲D̲A̲ ̲A̲N̲S̲W̲E̲R̲ ̲A̲N̲A̲L̲Y̲S̲I̲S̲ ̲N̲O̲R̲M̲A̲L̲ ̲C̲A̲S̲E̲(̲4̲.̲2̲.̲2̲.̲4̲.̲7̲-̲1̲4̲)̲
OTHERWISE? S̲V̲U̲P̲ ̲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 AWAIT ̲SVDIA ̲ANSWER ̲NORMAL ̲CASE
Fig. 4.2.2.4.7-3
S̲V̲D̲I̲A̲ ̲A̲N̲S̲W̲E̲R̲ ̲A̲N̲A̲L̲Y̲S̲I̲S̲ ̲N̲O̲R̲M̲A̲L̲ ̲C̲A̲S̲E̲
CASE F̲R̲E̲E̲ ̲S̲F̲C̲O̲ ̲O̲P̲(̲S̲V̲U̲P̲ ̲C̲O̲ ̲O̲P̲)̲:̲ ̲E̲R̲R̲O̲R̲ ̲O̲K̲(̲4̲.̲2̲.̲2̲.̲6̲.̲4̲)̲
ERROR? S̲V̲U̲P̲ ̲I̲N̲T̲E̲R̲N̲A̲L̲ ̲E̲R̲R̲O̲R̲(̲G̲I̲V̲E̲ ̲U̲P̲)̲(̲4̲.̲1̲.̲5̲.̲2̲)̲
OK?
END CASE
SVUP ̲CO ̲OP.OP ̲ID(1) Q EXP ̲SVDIA ̲NO?
S̲V̲U̲P̲ ̲I̲N̲T̲E̲R̲N̲A̲L̲ ̲E̲R̲R̲O̲R̲(̲G̲I̲V̲E̲ ̲U̲P̲)̲(̲4̲.̲1̲.̲5̲.̲2̲)̲
SVUP ̲CO ̲OP.PARA1 EQ SPLIT ̲FAIL ̲CC? SEQ ̲STATE = TEXC
RETURN
SVUP ̲CO ̲OP.CMD NOT EQ INPUT ̲DATA?
SVUP ̲CO ̲OP.PARA1 EQ OK ̲CC? SEQ ̲REC.SEQ ̲STATE = TCON
SEQ ̲REC.SEQ ̲STATE = TFCK
XIT LOOP AWAIT ̲SVDIA ̲ANSWER ̲NORMAL ̲CASE
Fig. 4.2.2.4.7-4
SEND SVDIA COMMAND AND AWAIT ANSWER INTERRUPT CASE
LOOP AWAIT ̲SVDIA ̲INTRPT ̲ANSWER
W̲A̲I̲T̲ ̲S̲F̲C̲O̲ ̲E̲V̲E̲N̲T̲(̲W̲O̲R̲K̲5̲ ̲S̲T̲A̲T̲E̲)̲(̲S̲V̲U̲P̲ ̲C̲O̲ ̲O̲P̲)̲(̲4̲.̲2̲.̲2̲.̲6̲.̲1̲0̲)̲
CASE SVUP ̲CO ̲OP.OPID(2) OF
SCO ̲ID? CASE SVUP ̲CO ̲OP.CMD OF
STOP ̲SFCO? SEQ ̲STATE = TSTOP
SVUP ̲OP = SVUP ̲CO
̲OP
CLOSE ̲SFCO? SEQ ̲STATE = TCLOSE
SVUP ̲OP = SVUP ̲CO
̲OP
OTHERWISE? SVUP ̲INTERNAL ̲ERROR(GIVE
̲UP)
(4.1.52)
END CASE
RETURN
SVDIA ̲ID? CASE F̲R̲E̲E̲ ̲S̲F̲C̲O̲ ̲O̲P̲(̲S̲V̲U̲P̲ ̲C̲O̲ ̲O̲P̲)̲:̲ ̲E̲R̲R̲O̲R̲
̲O̲K̲
ERROR? SVUP ̲INTERNAL ̲ERROR(GIVE
̲UP)(4.1.5.2)
OK?
END CASE
SVUP ̲CO ̲OP.OP ̲ID(1) NOT EQ EXP ̲SVDIA
̲NO?
SVDIA ̲CMD ̲OUT GT
O?
S̲V̲U̲P̲ ̲I̲N̲T̲E̲R̲N̲A̲L̲ ̲E̲R̲R̲O̲R̲(̲G̲I̲V̲E̲ ̲U̲P̲)̲
(̲4̲.̲1̲.̲5̲.̲2̲)̲
SVUP ̲CO ̲OP.PARA1 EQ VDU ̲SPLIT ̲FAIL?
SEQ ̲STATE = TEXC
RETURN
EXIT LOOP AWAIT ̲SVDIA ̲INTRPT ̲ANSWER
OTHERWISE? S̲V̲U̲P̲ ̲I̲N̲T̲E̲R̲N̲A̲L̲ ̲E̲R̲R̲O̲R̲(̲G̲I̲V̲E̲ ̲U̲P̲)̲(̲.̲1̲.̲5̲.̲2̲)̲
END CASE
END LOOP AWAIT ̲SVDIA ̲INTRPT ̲ANSWER
Fig. 4.2.2.4.7-5…86…1 …02… …02… …02… …02… …02… …02… …02… …02… …02…
S̲E̲N̲D̲ ̲S̲V̲D̲I̲A̲ ̲C̲O̲M̲M̲A̲N̲D̲ ̲A̲N̲D̲ ̲A̲W̲A̲I̲T̲ ̲A̲N̲S̲W̲E̲R̲ ̲C̲L̲O̲S̲E̲/̲S̲T̲O̲P̲ ̲C̲A̲S̲E̲
LOOP AWAIT ̲SVDIA ̲CLOSE ̲STOP ̲ANSWER
W̲A̲I̲T̲ ̲S̲F̲C̲O̲ ̲E̲V̲E̲N̲T̲(̲W̲O̲R̲K̲6̲ ̲S̲T̲A̲T̲E̲)̲(̲S̲V̲U̲P̲ ̲C̲O̲ ̲O̲P̲)̲(̲4̲.̲2̲.̲2̲.̲6̲.̲1̲0̲)̲
CASE SVUP ̲CO ̲OP.OP ̲ID(2) OF
SVDIA ̲ID? CASE F̲R̲E̲E̲ ̲S̲F̲C̲O̲ ̲O̲P̲(̲S̲V̲U̲P̲ ̲C̲O̲ ̲O̲P̲)̲:̲ ̲E̲R̲R̲O̲R̲
̲O̲K̲
ERROR? S̲V̲U̲P̲ ̲I̲N̲T̲E̲R̲N̲A̲L̲ ̲E̲R̲R̲O̲R̲(̲G̲I̲V̲E̲
̲U̲P̲)̲(̲4̲.̲1̲.̲5̲.̲2̲)̲
OK?
END CASE
SVUP ̲CO ̲OP.OP ̲ID(1) NOT EQ EXP ̲SVDIA
̲NO?
SVDIA ̲CMD ̲OUT ̲GT
O?
S̲V̲U̲P̲ ̲I̲N̲T̲E̲R̲N̲A̲L̲ ̲E̲R̲R̲O̲R̲(̲G̲I̲V̲E̲U̲P̲)̲
(̲4̲.̲1̲.̲5̲.̲2̲)̲
EXIT LOOP AWAIT ̲SVDIA ̲CLOSE ̲STOP
̲ANSWER
OTHERWISE? S̲V̲U̲P̲ ̲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 AWAIT ̲SVDIA ̲CLOSE ̲STOP ̲ANSWER
Fig. 4.2.2.4.7-6
4.2.2.4.8 T̲r̲a̲n̲s̲a̲c̲t̲i̲o̲n̲ ̲C̲o̲n̲t̲r̲o̲l̲ ̲T̲h̲r̲o̲u̲g̲h̲ ̲F̲/̲C̲ ̲K̲e̲y̲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 module is responsible for the execution of f/c
key commands, which has no influence on he processing
of the transaction in progress (logical f/c keys: INSL,
DELL, DERM, INSL ̲ENTER, DELL ̲ENTER, ERR ̲MSG Refer fig.
4.2.2.6.12-1). Further the module is responsible for
identifying the next sequence to be executed when a
f/c key transactio control cmd is received. (logical
f/c keys: ENTER ̲FC, CANCEL, PRINT, KAPN, DAPN, MENU
Refer fig. 4.2.2.6.12-1)
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) TRANS ̲CTRL( )
(SVUP ̲OP: SVUP ̲COROUTINE ̲OP): WORK ̲STOP ̲CLOSE
b) TRANS ̲CTL(R5, R6)
R̲e̲g̲i̲s̲t̲e̲r̲ ̲C̲o̲n̲v̲e̲n̲t̲i̲o̲n̲s̲
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̲
R0-R4 (DEST)
R5 Pointer to SVUP ̲OP
R6-R7 (DEST)
4.2.2.4.8.3 M̲o̲d̲u̲l̲e̲ ̲C̲o̲m̲p̲o̲n̲e̲n̲t̲s̲
None
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̲
SFCO ̲STATE ̲TYPE Refer 4.1.4
SVUP ̲OP Refer 4.2.2.5
SENDER ̲ID ̲TYPE Refer 4.1.4
FC ̲KEY Refer 4.2.2.5
SUPV ̲FC ̲KEY Refer 42.2.5
FCK ̲SET Refer 4.2.2.5
CONV ̲ENTER Refer 4.2.2.5
SPLIT ̲DIGIT Refer 4.2.2.5
FORMAT ̲IFCB Refer 4.1.4
SEQ ̲KEY Refer 4.2.2.5
HEADER ̲IFCB Refer 4.1.4
EXP ̲SVDIA ̲NO Refer 4.2.2.5
CO ̲CMD ̲CC Refer 4.1.4
SVDIA ̲CMD ̲ANS ̲TYPE Refer 4.1.4 SVUP
̲RESP
̲MSG
̲TYPE Refer
4.2.2.5
FC ̲KEY ̲MASK ̲TYPE Refer CPS/DBD/001
b) E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲
SVUP ̲OP
FC ̲KEY
FCK ̲SET (m)
CONV ̲ENTER (m)
SPLIT ̲DIGIT (m)
SEQ ̲KEY (m)
EXP ̲SVDIA ̲NO
c) L̲o̲c̲a̲l̲ ̲D̲a̲t̲a̲
CURRENT ̲FCK ̲SET: FC ̲KEY ̲MASKTYPE
4.2.2.4.8.5 M̲o̲d̲u̲l̲e̲ ̲D̲e̲s̲i̲g̲n̲
The module has three exits: WORK, STOP, CLOSE. A WORK
exit is performed when a f/c key transaction control
command has been received. A STOP or CLOSE exit is
performed if a STOP ̲SFCO or CLOSE ̲SFCO command is receved
from SVCO.
Refer fig. 4.2.2.4.8-1.
LOOP FC ̲KEY ̲CTRL
W̲A̲I̲T̲ ̲S̲F̲C̲O̲ ̲E̲V̲E̲N̲T̲(̲W̲O̲R̲K̲2̲ ̲S̲T̲A̲T̲E̲)̲(̲S̲V̲U̲P̲ ̲O̲P̲)̲(̲4̲.̲2̲.̲2̲.̲6̲.̲1̲0̲)̲
CASE SVUP ̲OP.OP ̲ID(2) OF SENDER ̲ID ̲TYPE
SVCO ̲ID? D̲E̲L̲E̲T̲E̲ ̲F̲C̲ ̲K̲E̲Y̲ ̲I̲N̲P̲U̲T̲ ̲R̲E̲Q̲U̲E̲S̲T̲(̲4̲.̲2̲.̲2̲.̲6̲.̲7̲)̲
CASE SVP ̲OP.CMD OF
STOP ̲SFCO? RETURN(STOP)
CLOSE ̲SFCO? RETURN(CLOSE)
OTHERWISE? S̲V̲U̲P̲ ̲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
FC ̲KEY ̲ID? CASE F̲E̲T̲C̲H̲ ̲A̲N̲D̲ ̲V̲A̲L̲ ̲K̲E̲Y̲(̲ ̲ ̲)̲(̲F̲C̲ ̲K̲E̲Y̲,̲C̲C̲)̲:̲E̲X̲C̲
̲D̲O̲N̲E̲
(̲4̲2̲.̲2̲.̲6̲.̲1̲2̲)̲
EXC? EXIT LOOP FC ̲KEY
̲CTRL
DONE? CC = ILL? R̲E̲Q̲U̲E̲S̲T̲
̲F̲C̲ ̲K̲E̲Y̲ ̲I̲N̲P̲U̲T̲
(̲4̲.̲2̲.̲2̲.̲6̲.̲6̲)̲
T̲R̲A̲N̲S̲ ̲C̲T̲R̲L̲ ̲P̲R̲O̲C̲E̲S̲S̲I̲N̲G̲
(̲4̲.̲2̲.̲2̲.̲4̲.̲8̲-̲2̲)̲
END CASE
OTHERWISE? S̲V̲U̲P̲ ̲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 OOP FC ̲KEY ̲CTRL
CASE E̲X̲C̲E̲P̲T̲I̲O̲N̲ ̲V̲D̲U̲(̲2̲)̲(̲S̲V̲C̲O̲ ̲O̲P̲)̲:̲ ̲S̲T̲O̲P̲ ̲C̲L̲O̲S̲E̲(̲4̲.̲2̲.̲2̲.̲6̲.̲1̲1̲)̲
STOP? RETURN(STOP)
CLOSE? RETURN(CLOSE)
END CASE
Fig. 4.2.2.4.8-1
T̲R̲A̲N̲S̲ ̲C̲T̲R̲L̲ ̲P̲R̲O̲C̲E̲S̲S̲I̲N̲G̲
CASE FC ̲KEY OF SUPV ̲FC ̲KEY
ENTER ̲FC, CANCEL, PRINT,
KAPN, DAPN, MENU ? S̲E̲T̲ ̲S̲E̲Q̲ ̲K̲E̲Y̲(̲4̲.̲2̲.̲2̲.̲8̲-̲3̲)̲
R̲E̲Q̲U̲E̲S̲T̲ ̲F̲C̲ ̲K̲E̲Y̲ ̲I̲N̲P̲U̲T̲(̲4̲.̲2̲.̲2̲.̲6̲.̲6̲)̲
RETURN(WORK)
INSL, DELL, DERM? P̲R̲E̲P̲A̲R̲E̲ ̲F̲O̲R̲ ̲E̲N̲T̲E̲R̲ ̲F̲/̲C̲ ̲K̲E̲Y̲
̲C̲M̲D̲
(̲4̲.̲2̲.̲2̲.̲4̲.̲8̲-̲4̲)̲
INSL ̲ENTER, DELL ̲ENTER? F̲O̲R̲M̲A̲T̲ ̲L̲A̲Y̲O̲U̲T̲ ̲C̲T̲R̲L̲(̲4̲.̲2̲.̲2̲.̲4̲.̲8̲-̲5̲)̲
ERR ̲MSG? CASE E̲X̲E̲C̲U̲T̲E̲ ̲D̲E̲R̲M̲ ̲C̲M̲D̲(̲ ̲ ̲)̲:̲ ̲E̲X̲C̲
̲D̲O̲N̲E̲
(̲4̲.̲2̲.̲2̲.̲6̲.̲1̲3̲)̲
EX? EXIT LOOP FC ̲KEY
̲CTRL
DONE?
END CASE
CASE SET ̲CURSOR(FORMAT ̲POS):EXC ̲DONE(4.2.2.6.14)
EXC? EXIT LOOP FC ̲KEY
̲CTRL
DONE? FCK ̲SET = CURRENT
̲FCK ̲SET
CONV ̲ENTER = ENTER
SPLIT ̲DIGIT = FORMAT
̲IFCB
R̲E̲Q̲U̲E̲S̲T̲ ̲F̲C̲ ̲K̲E̲Y̲ ̲I̲N̲P̲U̲T̲(̲4̲.̲2̲.̲2̲.̲6̲.̲6̲)̲
END CASE
END CASE
Fig. 4.2.2.4.8-2
S̲E̲T̲ ̲S̲E̲Q̲ ̲K̲E̲Y̲
CASE FC ̲KEY OF SUPV ̲FC ̲KEY
ENTER? SEQ ̲KEY.CODE = SEQ ̲ENTER
CANCEL? SEQ ̲KEY.CODE = SEQ ̲CANCEL
PRINT? SEQ ̲KEY.CODE = SEQ ̲PRINT
KAPN? SEQ ̲KEY.CODE =SEQ ̲KAP
DAPN? SEQ ̲KEY.CODE = SEQ ̲DAP
MENU? SEQ ̲KEY.CODE = SEQ ̲MENU
END CASE
SEQ ̲KEY.FORMAT = SEQ ̲REC.NEW ̲FORMAT
Fig. 4.2.2.4.8-3
P̲R̲E̲P̲A̲R̲E̲ ̲F̲O̲R̲ ̲E̲N̲T̲E̲R̲ ̲F̲/̲C̲ ̲K̲E̲Y̲ ̲C̲M̲D̲
CASE GET ̲CURSOR ̲POSITION(SPLIT ̲DIGIT)(CURSOR ̲RECORD,
LINES ̲ABOVE,
CC): ERROR ̲OK
ERROR? CASE ANALYZE ̲ERROR(CC,3CURSOR ̲NOT ̲IN
̲FORMAT-
TED ̲LINE, CURSOR ̲NOT ̲IN ̲FIELD,VDU
̲SPLIT ̲FAILED)
: (CPE1, CPE1, CPE2)
CPE1? CASE D̲I̲S̲P̲L̲A̲Y̲ ̲R̲E̲S̲P̲ ̲M̲S̲G̲(̲S̲9̲)̲:̲
̲E̲X̲C̲ ̲D̲O̲N̲E̲
(̲4̲.̲2̲.̲2̲.̲6̲.̲1̲5̲)̲
EXC? EXIT ̲LOOP FC ̲KEY
̲CTRL
DONE?
ENDCASE
R̲E̲Q̲U̲E̲S̲T̲ ̲F̲C̲ ̲K̲E̲Y̲ ̲I̲N̲P̲U̲T̲(̲4̲.̲2̲.̲2̲.̲6̲.̲6̲)̲
CPE2? EXIT ̲LOOP FC ̲KEY
̲CTRL
END CASE
OK? CURSOR ̲RECORD.LINES ̲ABOVE = LINES ̲ABOVE
CASE S̲E̲T̲ ̲C̲U̲R̲S̲O̲R̲(̲C̲M̲D̲ ̲P̲O̲S̲)̲:̲ ̲E̲X̲C̲ ̲D̲O̲N̲E̲(̲4̲.̲2̲.̲2̲.̲6̲.̲1̲4̲)̲
EXC? EXIT LOOP FC ̲KEY ̲CTRL
DONE? CAE FC ̲KEY OF
INSL? CONV ̲ENTER = INSL
̲ENTER
DELL? CONV ̲ENTER = DELL
̲ENTER
DERM? CONV ̲ENTER = ERR
̲MSG
END CASE
CURRENT ̲FCK ̲SET = FCK ̲SET
FCK ̲SET = ENTER
SPLIT ̲DIGIT = HEADER ̲IFCB
REQUEST ̲FCKEY ̲INPUT(4.2.2.6.6)
END CASE
END CASE
Fig. 4.2.2.4.8-4…86…1 …02… …02… …02… …02… …02… …02… …02… …02… …02… …02…
F̲O̲R̲M̲A̲T̲ ̲L̲A̲Y̲O̲U̲T̲ ̲C̲T̲R̲L̲
CASE R̲E̲A̲D̲ ̲C̲O̲M̲M̲A̲N̲D̲ ̲L̲I̲N̲E̲(̲ ̲ ̲ ̲)̲(̲N̲O̲ ̲O̲F̲ ̲B̲Y̲T̲E̲S̲)̲:̲ ̲E̲X̲C̲ ̲D̲O̲N̲E̲(̲4̲.̲2̲.̲2̲.̲6̲.̲1̲6̲)̲
EXC? EXIT LOOP FC ̲KEY ̲CTRL
DONE?
END CASE
NO ̲OF ̲BYTES EQ 0? CASE S̲E̲T̲ ̲C̲U̲R̲S̲O̲R̲(̲F̲O̲R̲M̲T̲ ̲P̲O̲S̲)̲:̲
̲E̲X̲C̲ ̲D̲O̲N̲E̲
(̲4̲.̲2̲.̲2̲.̲6̲.̲1̲4̲)̲
EXC?
EXIT
LOOP
FC
̲KEY
CTRL
DONE? FCK ̲SET =
CURRENT ̲FCK ̲SET
CONV
̲ENTER
=
ENTER
SPLIT
̲DIGIT
=
FORMAT
̲IFCB
R̲E̲Q̲U̲E̲S̲T̲
̲F̲C̲
̲K̲E̲Y̲
̲I̲N̲P̲U̲T̲
(̲4̲2̲.̲2̲.̲6̲.̲6̲)̲
END CASE
L̲O̲O̲K̲U̲P̲ ̲P̲A̲R̲A̲M̲S̲(̲N̲O̲ ̲O̲F̲ ̲B̲Y̲T̲E̲S̲)̲(̲N̲O̲ ̲O̲F̲ ̲P̲A̲R̲A̲M̲S̲)̲(̲4̲.̲2̲.̲2̲.̲6̲.̲1̲8̲)̲
CASE F̲C̲ ̲K̲E̲Y̲ ̲P̲A̲R̲A̲M̲ ̲V̲A̲L̲(̲M̲A̲X̲ ̲L̲I̲N̲E̲ ̲N̲O̲)̲(̲E̲R̲R̲ ̲N̲O̲,̲ ̲N̲O̲)̲:̲ ̲E̲R̲R̲O̲R̲
̲O̲K̲
(̲4̲.̲2̲.̲2̲.̲6̲.̲1̲9̲
ERROR? CASE D̲I̲S̲P̲L̲A̲Y̲ ̲R̲E̲S̲P̲ ̲M̲S̲G̲(̲E̲R̲R̲ ̲N̲O̲)̲:̲ ̲E̲X̲C̲
̲D̲O̲N̲E̲
4̲.̲2̲.̲2̲.̲6̲.̲1̲5̲)̲
EXC? EXIT LOOP FC ̲KEY
̲CTRL
DONE? CASE S̲E̲T̲ ̲C̲U̲R̲S̲O̲R̲(̲C̲M̲D̲
̲P̲O̲S̲)̲:̲ ̲E̲X̲C̲ ̲D̲O̲N̲E̲
(̲4̲.̲2̲.̲2̲.̲6̲.̲1̲4̲)̲
EXC?
EXIT
LOOP
FC
̲KEY
̲CTRL
DONE? R̲E̲Q̲U̲E̲S̲T̲ ̲F̲C̲
̲K̲E̲Y̲ ̲I̲N̲P̲U̲T̲
(̲4̲.̲2̲.̲2̲.̲6̲.̲6̲)̲
EN CASE
END CASE
OK? E̲X̲E̲C̲U̲T̲E̲ ̲L̲I̲N̲E̲ ̲C̲M̲D̲(̲4̲.̲2̲.̲2̲.̲4̲.̲8̲-̲6̲)̲
END CASE
Fig. 4.2.2.4.8-5…86…1 …02… …02… …02… …02… …02… …02… …02… …02… …02… …02…
E̲X̲E̲C̲U̲T̲E̲ ̲L̲I̲N̲E̲ ̲C̲M̲D̲
FC ̲KEY EQ INSL ̲ENTER? SVDIA ̲CMD = L ̲INSERT
SVDIA ̲CMD = L ̲DELETE
S̲E̲N̲D̲ ̲S̲V̲D̲I̲A̲ ̲C̲M̲D̲(̲S̲V̲D̲I̲A̲ ̲C̲M̲D̲,̲ ̲N̲O̲,̲ ̲0̲,̲ ̲0̲)̲(̲4̲.̲2̲.̲2̲.̲6̲.̲2̲)̲
W̲A̲I̲T̲ ̲S̲F̲C̲O̲ ̲E̲V̲E̲N̲T̲(̲W̲O̲R̲K̲5̲ ̲S̲T̲A̲T̲E̲)̲(̲S̲V̲U̲P̲ ̲O̲P̲)̲(̲4̲2̲.̲2̲.̲6̲.̲1̲0̲)̲
CASE SVUP ̲OP.OP ̲ID(2) OF SENDER ̲ID ̲TYPE
SVCO ̲ID? CASE SVUP ̲OP.CMD OF
STOP ̲SFCO? RETURN(STOP)
CLOSE ̲SFCO? RETURN(CLOSE)
OTHERWISE? S̲V̲U̲P̲ ̲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
SVDIA ̲ID? SVUP ̲OP.OP ̲ID(1) E EXP ̲SVDIA ̲NO?
S̲V̲U̲P̲ ̲I̲N̲T̲E̲R̲N̲A̲L̲ ̲E̲R̲R̲O̲R̲(̲G̲I̲V̲E̲ ̲U̲P̲)̲(̲4̲.̲1̲.̲5̲.̲2̲)̲
OTHERWISE? S̲V̲U̲P̲ ̲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
CASE F̲R̲E̲E̲ ̲S̲F̲C̲O̲ ̲O̲P̲(̲S̲V̲U̲P̲ ̲O̲P̲)̲:̲ ̲E̲R̲R̲O̲R̲ ̲O̲K̲(̲4̲.̲2̲.̲2̲.̲6̲.̲4̲)̲
ERROR? S̲V̲U̲P̲ ̲I̲N̲T̲E̲R̲N̲A̲L̲ ̲E̲R̲R̲O̲R̲(̲G̲I̲V̲E̲ ̲U̲P̲)̲(̲4̲.̲1̲.̲5̲.̲2̲)̲
OK?
END CASE
CASE SUP ̲OP.PARA1 OF CO ̲CMD ̲CC
SPLIT ̲FAILED ̲CC? EXIT LOOP FC ̲KEY ̲CTRL
OK ̲CC? FCK ̲SET = CURRENT ̲FCK ̲SET
CONV ̲ENTER = ENTER
C̲L̲E̲A̲R̲ ̲C̲O̲M̲M̲A̲N̲D̲ ̲L̲I̲N̲E̲ ̲A̲N̲D̲
S̲E̲T̲ ̲C̲U̲R̲S̲O̲R̲(̲4̲.̲2̲.̲2̲.̲4̲.̲8̲-̲7̲)̲
ERROR ̲CC? D̲I̲S̲P̲L̲A̲Y̲ ̲E̲R̲R̲ ̲M̲S̲G̲ ̲A̲N̲D̲ ̲S̲E̲T̲ ̲C̲U̲R̲S̲O̲R̲(̲4̲.̲2̲.̲2̲.̲4̲.̲8̲-̲8̲)̲
OTHEWISE? S̲V̲U̲P̲ ̲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.8-6
C̲L̲E̲A̲R̲ ̲C̲O̲M̲M̲A̲N̲D̲ ̲L̲I̲N̲E̲ ̲A̲N̲D̲ ̲S̲E̲T̲ ̲C̲U̲R̲S̲O̲R̲
CASE D̲I̲S̲P̲L̲A̲Y̲ ̲H̲E̲A̲D̲E̲R̲ ̲F̲I̲E̲L̲D̲(̲C̲O̲M̲M̲A̲N̲D̲ ̲L̲I̲N̲E̲,̲ ̲C̲O̲M̲M̲A̲N̲D̲ ̲F̲I̲E̲L̲D̲,̲
̲B̲L̲A̲N̲K̲,̲ ̲7̲0̲)̲
:̲ ̲E̲X̲C̲ ̲D̲O̲N̲E̲(̲4̲.̲2̲.̲2̲.̲6̲.̲1̲7̲)̲
EXC? EXIT LOOP FC ̲KEY ̲CTRL
DONE? ASE S̲E̲T̲ ̲C̲U̲R̲S̲O̲R̲(̲F̲O̲R̲M̲A̲T̲ ̲P̲O̲S̲)̲:̲ ̲E̲X̲C̲ ̲D̲O̲N̲E̲(̲4̲.̲2̲.̲2̲.̲6̲.̲1̲4̲)̲
EXC? EXIT LOOP FC ̲KEY CTRL
DONE?
END CASE
END CASE
SPLIT ̲DIGIT = FORMAT ̲IFCB
R̲E̲Q̲U̲E̲S̲T̲ ̲F̲C̲ ̲K̲E̲Y̲ ̲I̲N̲P̲U̲T̲(̲4̲.̲2̲.̲2̲.̲6̲.̲6̲)̲
Fig. 4.2.2.4.8-7
D̲I̲S̲P̲L̲A̲Y̲ ̲E̲R̲R̲O̲R̲ ̲M̲S̲G̲ ̲A̲N̲D̲ ̲S̲E̲T̲ ̲C̲U̲R̲S̲O̲R̲
SVUP ̲OP.CMD EQ L ̲INSERT? ERR ̲NO = S33
ERR ̲NO = S34
CASE D̲I̲S̲P̲L̲A̲Y̲ ̲R̲E̲S̲P̲ ̲M̲S̲G̲(̲E̲R̲R̲ ̲N̲O̲)̲:̲ ̲E̲X̲C̲ ̲D̲O̲N̲E̲(̲4̲.̲2̲.̲2̲.̲6̲.̲1̲5̲)̲
EXC? EXIT LOOP FC ̲KEY ̲CTRL
ONE? CASE S̲E̲T̲ ̲C̲U̲R̲S̲O̲R̲(̲C̲M̲D̲ ̲P̲O̲S̲)̲:̲ ̲E̲X̲C̲ ̲D̲O̲N̲E̲(̲4̲.̲2̲.̲2̲.̲6̲.̲1̲4̲)̲
EXC? EXIT LOOP FC ̲KEY ̲CTRL
DONE?
END CASE
END CASE
R̲E̲Q̲U̲E̲S̲T̲ ̲F̲C̲ ̲K̲E̲Y̲ ̲I̲N̲P̲U̲T̲(̲4̲.̲2̲.̲2̲.̲6̲.̲8̲)̲
Fig. 4.2.2.4.8-8
4.2.2.4.9 E̲x̲e̲c̲u̲t̲e̲ ̲T̲a̲b̲l̲e̲ ̲C̲o̲m̲m̲a̲n̲d̲ ̲T̲r̲a̲n̲s̲a̲c̲t̲i̲o̲n̲
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̲
Performs simple syntax checks and semantic validation
of command parameters entered via a Formt. This facility
is only available for table related commands.
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) EXEC ̲TABLE ̲CMD ̲TRANS( ): WORK ̲STOP ̲CLOSE
b) EXEC ̲TABLE ̲CMD(R6): WORK ̲STOP ̲CLOSE
R̲e̲g̲i̲s̲t̲e̲r̲ ̲C̲o̲n̲v̲e̲n̲t̲i̲o̲n̲s̲
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̲
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̲
None
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̲
SUPV ̲CMD ̲REC Refer 4.2.2.5
CMD ̲PARAM ̲TABLE Refer 4.2.2.5
SFCO ̲TMP ̲KEY1 Refer 4.2.2.5
SFCO ̲TMP ̲RECORD1 Reer 4.1.4
ERR Refer 4.2.2.5…86…1
…02… …02… …02… …02…
…02…
ERR ̲NO Refer 4.2.2.5
HEADER ̲LINE Refer 4.2.2.5
INT ̲CMD Refer 4.2.2.5
SVUP ̲RESP ̲MSG ̲TYPE Refer 4.2.2.5
b) E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲
SUPV ̲CMD ̲REC
CMD ̲PARAM ̲TABLE
SFCO ̲TMP ̲KEY1 m)
SFCO ̲TMP ̲RECORD1 (m)
ERR (m)
ERR ̲NO (m)
INT ̲CMD
HEADER ̲LINE (m)
4.2.2.9.5 M̲o̲d̲u̲l̲e̲ ̲D̲e̲s̲i̲g̲n̲
4.2.2.4.10 M̲e̲s̲s̲a̲g̲e̲ ̲H̲a̲n̲d̲l̲i̲n̲g̲
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̲
The message handling sequence is responsible for the
control of execution of message handling sequences
as spcified by the relevant sequence files (sequence
records).
After a normal execution of a message handling sequence
one of the following actions shall take place: a new
sequence shall be executed (T̲ransaction c̲o̲n̲tinuation
-TCON), a supervisor commad via a f/c key shall be
awaited, defining the next message handling sequence
to be executed (T̲ransaction f̲/c̲ k̲ey control), the transaction
is terminated and a return to the caller shall take
place.
An abnormal termination of the execution of a mssage
handling sequence occurs if: a SVCO command is received,
if a VDU ̲SPLIT ̲FAILED Condition Code is received during
VDU communication via the Format Handler, if a f/c
key interrupt command is received. (T̲ransaction s̲t̲o̲p̲
and T̲ransaction C̲l̲o̲s̲e̲, T̲rnsaction VDU E̲x̲ception and
T̲ransaction Interr̲upt̲ respectively).
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) CIF ̲SEQ( ): WORK ̲STOP ̲CLOSE
b) CIF ̲SEQ(R6): WORK ̲STOP ̲CLOSE
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̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R0-R7 (DEST)
4.2.2.4.10.3 M̲o̲d̲u̲l̲e̲ ̲C̲o̲m̲p̲o̲n̲e̲n̲t̲s̲
None
4.2.2.4.10.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̲
SFCO ̲STATE ̲TYPE Refer 4.1.4
SEQ ̲STATE ̲TYPE Refer 4.2.2.5
SEQ ̲TABLE ̲ID ̲TYPE Refer .2.2.5
SVUP ̲OP ̲TYPE Refer 4.1.4
CO ̲CMD ̲CC Refer 4.1.4
b) E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲
SVCO SEM Refer 4.1.4
c) L̲o̲c̲a̲l̲ ̲D̲a̲t̲a̲
None
4.2.2.4.10.5 M̲o̲d̲u̲l̲e̲ ̲D̲e̲s̲i̲g̲n̲
The module has three exits: WORK, STOP, CLOSE. A WORK
exit is performed when a transaction s normally terminated,
i.e. under control of the supervisor. A STOP or CLOSE
exit is performed when the termination of the transaction
occurs due to a SVCO command.
Refer figure 4.2.2.4.10-1
C̲I̲F̲ ̲S̲E̲Q̲
LOOP SEQ ̲EXEC
E̲X̲E̲C̲ ̲C̲I̲F̲ ̲S̲E̲Q̲(̲W̲O̲R̲K̲1̲ ̲S̲T̲A̲T̲E̲)̲(̲S̲E̲Q̲ ̲S̲T̲A̲T̲E̲,̲ ̲S̲V̲U̲P̲ ̲O̲P̲)̲(̲4̲.̲2̲.̲2̲.̲4̲.̲1̲1̲)̲
CASE SEQ ̲STATE OF SEQ ̲STATE ̲TYPE
TCON? F̲E̲T̲C̲H̲ ̲S̲E̲Q̲ ̲R̲E̲C̲(̲S̲E̲Q̲ ̲T̲A̲B̲L̲E̲ ̲I̲D̲,̲ ̲N̲U̲L̲L̲,̲N̲U̲L̲L̲)̲
(̲4̲.̲2̲.̲2̲.̲6̲.̲2̲3̲)̲
TFCK? C̲A̲S̲E̲ ̲T̲R̲A̲N̲S̲ ̲C̲T̲R̲L̲(̲ ̲ ̲)̲(̲S̲V̲U̲P̲ ̲O̲P̲)̲:̲ ̲W̲O̲R̲K̲ ̲S̲T̲O̲P̲
̲C̲L̲O̲S̲E̲
(̲4̲.̲2̲.̲2̲.̲4̲.̲8̲)̲
WORK? F̲E̲T̲C̲H̲ ̲S̲E̲Q̲ ̲R̲E̲C̲(̲S̲E̲Q̲ ̲T̲A̲B̲L̲E̲ ̲I̲D̲,̲N̲U̲L̲L̲,̲N̲U̲L̲L̲)̲
(̲4̲.̲2̲.̲2̲.̲6̲.̲3̲)̲
STOP? S̲V̲U̲P̲ ̲E̲X̲C̲E̲P̲T̲I̲O̲N̲(̲S̲E̲Q̲ ̲S̲T̲O̲P̲)̲(̲4̲.̲2̲.̲2̲.̲6̲.̲2̲4̲)̲
EXIT ̲LAB = STOP
EXIT ̲LOOP SEQ ̲EXEC
CLOSE? S̲V̲U̲P̲ ̲E̲X̲C̲E̲P̲T̲I̲O̲N̲(̲S̲E̲Q̲ ̲C̲L̲O̲S̲E̲)̲
(̲4̲.̲2̲.̲2̲.̲6̲.̲2̲4̲)̲
EXIT ̲LAB = CLOSE
EXIT LOOP SEQ ̲EXEC
END CASE
TEND? E̲L̲E̲T̲E̲ ̲F̲C̲ ̲K̲E̲Y̲ ̲I̲N̲P̲U̲T̲ ̲R̲E̲Q̲U̲E̲S̲T̲(̲4̲.̲2̲.̲2̲.̲6̲.̲7̲)̲
EXIT ̲LAB = WORK
EXIT LOOP SEQ ̲EXEC
OTHERWISE? E̲X̲C̲E̲P̲T̲I̲O̲N̲ ̲P̲R̲O̲C̲E̲S̲S̲I̲N̲G̲(̲4̲.̲2̲.̲2̲.̲6̲-̲2̲)̲
END CASE
END LOOP SEQ ̲EXEC
EXIT ̲LAB EQ WORK?
S̲E̲N̲D̲ ̲S̲V̲C̲O̲ ̲A̲N̲S̲W̲E̲R̲(̲S̲V̲U̲P̲ ̲O̲P̲,̲ ̲O̲K̲ ̲C̲C̲)̲(̲4̲.̲2̲.̲2̲.̲6̲.̲1̲)̲
RETURN(EXIT ̲LAB)
ig. 4.2.2.4.10-1…86…1 …02… …02… …02… …02… …02… …02… …02… …02… …02…
EXCEPTION PROCESSING
CASE SEQ ̲STATE OF SEQ ̲STATE ̲TYPE
TCLOSE? S̲V̲U̲P̲ ̲E̲X̲C̲E̲P̲T̲I̲O̲N̲(̲S̲E̲Q̲ ̲C̲L̲O̲S̲E̲)̲(̲4̲.̲2̲.̲2̲.̲6̲.̲2̲4̲)̲
EXIT ̲LAB = CLOSE
EXIT LOOP SEQ ̲EXEC
TSTOP? S̲V̲U̲P̲ ̲E̲X̲C̲E̲P̲I̲O̲N̲(̲S̲E̲Q̲ ̲C̲L̲O̲S̲E̲)̲(̲4̲.̲2̲.̲2̲.̲6̲.̲2̲4̲)̲
EXIT ̲LAB = STOP
EXIT LOOP SEQ ̲EXEC
TEXC? C̲A̲S̲E̲ ̲E̲X̲C̲E̲P̲T̲I̲O̲N̲ ̲V̲D̲U̲(̲3̲)̲(̲S̲V̲U̲P̲ ̲O̲P̲)̲:̲ ̲S̲T̲O̲P̲
̲C̲L̲O̲S̲E̲
(̲4̲.̲2̲.̲2̲.̲6̲.̲1̲1̲)̲
STOP? S̲V̲U̲P̲
̲E̲X̲C̲E̲P̲T̲I̲O̲N̲(̲S̲E̲Q̲
̲S̲T̲O̲P̲)̲(̲4̲.̲2̲.̲2̲.̲6̲.̲2̲4̲)̲
EXIT
̲LAB
=
STOP
EXT
LOOP
SEQ
̲EXEC
CLOSE? S̲V̲U̲P̲
̲E̲X̲C̲E̲P̲T̲I̲O̲N̲(̲S̲E̲Q̲
̲C̲L̲O̲S̲E̲)̲(̲4̲.̲2̲.̲2̲.̲6̲.̲2̲4̲)̲
EXIT
̲LAB
=
CLOSE
EXIT
LOOP
SEQ
̲EXEC
END CASE
TRPT? T̲R̲A̲N̲S̲A̲C̲T̲I̲O̲N̲ ̲I̲N̲T̲E̲R̲R̲U̲P̲T̲ ̲P̲R̲O̲C̲E̲S̲S̲I̲N̲G̲(̲-̲3̲)̲
EXIT LOOP SEQ ̲EXEC
TSEC? CASE EXCEPTION VDU(3)(SVU ̲OP):
STOP ̲CLOSE
(4.2.2.6.11)
STOP,
CLOSE? SVUP
EXCEPTION(SEQ
̲SEC
̲FAIL)
(4.2.2.6.24)
EXIT
̲LAB
=
STOP
EXIT
LOOP
SEQ
̲EXEC
OTHERWISE? S̲V̲U̲P̲ ̲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.10-2…86…1 …02… …02… …02… …02… …02… …02… …02… …02… …02…
TRANSACTION INTERRUPT PROCESSING
F̲E̲T̲C̲H̲ ̲S̲E̲Q̲ ̲R̲E̲C̲(̲S̲E̲Q̲ ̲T̲A̲B̲L̲E̲ ̲I̲D̲,̲ ̲N̲U̲L̲L̲,̲ ̲N̲U̲L̲L̲)̲(̲4̲.̲2̲.̲2̲.̲6̲.̲2̲3̲)̲
LOOP INTRPT ̲SEQ ̲EXEC
E̲X̲E̲C̲ ̲S̲Y̲S̲ ̲S̲E̲Q̲(̲W̲O̲R̲K̲5̲ ̲S̲T̲A̲T̲E̲)̲(̲S̲E̲Q̲ ̲S̲T̲A̲T̲E̲,̲ ̲S̲V̲U̲P̲ ̲O̲P̲)̲(̲4̲.̲2̲.̲2̲.̲4̲.̲1̲1̲)̲
CAS SEQ ̲STATE OF SEQ ̲STATE ̲TYPE
TCON? F̲E̲T̲C̲H̲ ̲S̲E̲Q̲ ̲R̲E̲C̲(̲S̲E̲Q̲ ̲T̲A̲B̲L̲E̲ ̲I̲D̲,̲ ̲N̲U̲L̲L̲,̲ ̲N̲U̲L̲L̲)̲(̲4̲.̲2̲.̲2̲.̲6̲.̲2̲3̲)̲
TEND? EXIT ̲LAB = WORK
EXIT LOOP INTRPT ̲SEQ ̲EXEC
TSTOP? S̲V̲U̲P̲ ̲E̲X̲C̲E̲P̲T̲I̲O̲N̲(̲S̲E̲Q̲ ̲S̲T̲O̲P̲)̲(̲4̲.̲2̲.̲2̲.̲6̲.̲2̲4̲)̲
EXIT ̲LAB = STOP
EXIT LOOP INTRPT ̲SEQ ̲EXEC
TEXC? C̲A̲S̲E̲ ̲E̲X̲C̲E̲P̲T̲I̲O̲N̲ ̲V̲D̲U̲(̲2̲)̲(̲S̲V̲U̲P̲ ̲O̲P̲)̲:̲ ̲S̲T̲O̲P̲ ̲C̲L̲O̲S̲E̲)̲(̲4̲.̲2̲.̲2̲.̲6̲.̲1̲1̲)̲
STOP? S̲V̲U̲P̲ ̲E̲X̲C̲E̲P̲T̲I̲O̲N̲(̲S̲E̲Q̲ ̲S̲T̲O̲P̲)̲(̲4̲.̲2̲.̲2̲.̲6̲.̲2̲4̲)̲
EXIT ̲LAB = STOP
EXIT
LOOP
INTRPT
̲SEQ
̲EXEC
CLOSE? S̲V̲U̲P̲ ̲E̲X̲C̲E̲P̲T̲I̲O̲N̲(̲S̲E̲Q̲ ̲C̲L̲O̲S̲E̲)̲(̲4̲.̲2̲.̲2̲.̲6̲.̲2̲4̲)̲
EXIT ̲LAB = CLOSE
EXIT LOOP INTRPT ̲SEQ ̲EXEC
END CASE
OTHERWISE? S̲V̲U̲P̲ ̲I̲N̲T̲E̲R̲N̲A̲L̲ ̲E̲R̲R̲O̲R̲(̲G̲I̲V̲E̲ ̲U̲P̲)̲(̲4̲.̲1̲.̲5̲.̲2̲)̲
E̲N̲D̲ ̲C̲A̲S̲E̲
E̲N̲D̲ ̲L̲O̲O̲P̲ ̲I̲N̲T̲R̲P̲T̲ ̲S̲E̲Q̲ ̲E̲X̲E̲C̲
Fig. 4.2.2.4.10-3
4.2.2.4.11 E̲x̲e̲c̲u̲t̲e̲ ̲C̲I̲F̲ ̲S̲e̲q̲u̲e̲n̲c̲e̲
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̲
Steps through the sequence record as follows:
1. Sets the set of f/c keys allowed during sequence
execuion.
2. Checks if a log report shall be generated and send
it if specified.
3. Checks if a functional task shall be executed and
initiates the task if specified.
4. Checks if a command to SVDIA shall be sent and
if sends it, and awaits the Anwer.
5. Checks whether a positioning of the cursor is specified
and if, positions the cursor as required.
6. Sets the set of f/c keys allowed after execution
of the sequence.
7. Fetches the sequence record field specifying the
next action to e performed and sequence execution
is finalized.
4.2.2.4.11.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) EXEC ̲CIF ̲SEQ
(SEQ ̲WAIT ̲STATE: SFCO ̲STATE ̲TYPE)
(SEQ ̲STATE: SEQ ̲STATE ̲TYPE
SVUP ̲OP: SVUP ̲COROUTINE ̲OP)
b) EXEC ̲CIF ̲SEQ(R0, R5, R6 R7)
R̲e̲g̲i̲s̲t̲e̲r̲ ̲C̲o̲n̲v̲e̲n̲t̲i̲o̲n̲s̲
C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R0 SEQ ̲WAIT ̲STATE
R6 LINK
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R0-R4 (DEST)
R5 Pointer to SVUP ̲OP
R6 (DEST)
R7 SEQ ̲STATE
4.2.2.4.11.3 M̲o̲d̲u̲l̲e̲ ̲C̲o̲m̲p̲o̲n̲e̲n̲t̲s̲
None
4.2.2.4.11.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̲e̲s̲
SFCO ̲STATE ̲TYPE Refer 4.2.2.5
SEQ ̲STATE ̲TYPE Refer 4.2.2.5
FCK ̲SET Refer 4.2.2.5
SEQ ̲REC Refer 4.2.2.5
SVUP ̲LOG ̲TYPE Refer 4.2.2.5
SVUP ̲OP Refer 4.2.2.5
SVUP ̲COROUTINE ̲OP Refer 4.1.4
SENDER ̲ID ̲TYPE Refer 4.1.4
CURSOR ̲RECORDRefer 4.2.2.5
EXP ̲SVDIA ̲NO Refer 4.2.2.5
SVDIA ̲CMD ̲OUT Refer 4.2.2.5
b) E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲
FCK ̲SET (m)
SEQ ̲REC (m)
SVUP ̲OP
CURSOR ̲RECORD (m)
EXP ̲SVDIA ̲NO
SVDIA ̲CMD ̲OUT
c) L̲o̲c̲a̲l̲ ̲D̲a̲t̲a̲
4.2.2.4.11.5 M̲o̲d̲u̲l̲e̲ ̲D̲e̲s̲i̲g̲n̲
Refer figure 4.2.24.11-1
EXEC ̲CIF ̲SEQ
FCK ̲SET = SEQ ̲REC.FCK ̲SET1
CASE SEQ ̲REC.LOG OF SVUP ̲LOG ̲TYPE
NO ̲LOG?
CIF ̲LOG? R̲E̲P̲O̲R̲T̲ ̲L̲O̲G̲(̲4̲.̲2̲.̲2̲.̲6̲.̲2̲2̲)̲
END CASE
CASE SEQ ̲REC.SAR OF VUS ̲STORAGE ̲TYPE
N ̲STORAGE?
STORAGE? S̲A̲R̲ ̲R̲E̲P̲O̲R̲T̲I̲N̲G̲(̲ ̲ ̲ ̲ ̲ ̲ ̲)̲
END CASE
CASE SEQ ̲REC.STATUS OF SVUP ̲STATUS ̲TYPE
NO ̲STATUS?
SVC ̲STATUS? S̲T̲A̲T̲U̲S̲ ̲R̲E̲P̲O̲R̲T̲I̲N̲G̲(̲ ̲ ̲ ̲)̲
END CASE
SEQ ̲REC.FUNCTION NE NULL? E̲X̲E̲C̲ ̲F̲U̲N̲C̲T̲I̲O̲N̲(̲-̲2̲)̲
SEQ ̲REC.SVDIA ̲CMD EQ NULL?
S̲E̲N̲D̲ ̲S̲V̲D̲I̲A̲C̲M̲D̲ ̲A̲N̲D̲ ̲A̲W̲A̲I̲T̲ ̲A̲N̲S̲W̲E̲R̲(̲-̲3̲)̲
SEQ ̲REC.CURSOR.SPLIT EQ NO ̲SPLIT?
CURSOR ̲RECORD = SEQ ̲REC.CURSOR.POSITION
C̲A̲S̲E̲ ̲S̲E̲T̲ ̲C̲U̲R̲S̲O̲R̲(̲S̲E̲Q̲ ̲R̲E̲C̲.̲C̲U̲R̲S̲O̲R̲.̲S̲P̲L̲I̲T̲)̲:̲ ̲E̲X̲C̲ ̲D̲O̲N̲E̲(̲4̲.̲2̲.̲2̲.̲6̲.̲1̲4̲)̲
EXC? SEQ ̲STATE = TEXC
RETURN
DONE?
END CASE
FCK ̲SET = SEQ ̲REC.FCK ̲SE2
SEQ ̲STATE = SEQ ̲REC.SEQ ̲STATE
Fig. 4.2.2.4.11-1…86…1 …02… …02… …02… …02… …02… …02… …02…
EXEC ̲FUNCTION
C̲A̲S̲E̲ ̲E̲X̲E̲C̲U̲T̲E̲ ̲C̲I̲F̲ ̲F̲U̲N̲C̲T̲I̲O̲N̲(̲S̲E̲Q̲ ̲R̲E̲C̲.̲F̲U̲N̲C̲T̲I̲O̲N̲)̲:̲ ̲F̲U̲N̲C̲ ̲L̲A̲B̲
̲(̲4̲.̲2̲.̲2̲.̲4̲.̲1̲2̲)̲
E ̲OK?
E ̲SPLIT ̲FAIL? SEQ ̲STATE = TEXC
RETURN
E ̲SEC ̲FAIL? SEQ ̲STAT = TSEC
RETURN
E ̲CONT? SEQ ̲STATE = TCON
RETURN
E ̲CLOSE? SEQ ̲STATE = TCLOSE
RETURN
E ̲STOP? SEQ STATE = TSTOP
RETURN
E ̲FCK? SEQ ̲STATE = TFCK
RETURN
E ̲END? SEQ ̲STATE = TEND
RETURN
OTHERWSE? S̲V̲U̲P̲ ̲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.11-2
SEND SVDIA COMMAND AND AWAIT ANSWER
CASE SEQ ̲WAIT ̲STATE OF SFCO ̲STATE ̲TYPE
WORK1 ̲STATE? S̲E̲N̲D̲ ̲S̲V̲D̲I̲A̲ ̲C̲O̲M̲M̲A̲N̲D̲ ̲A̲N̲D̲ ̲A̲W̲A̲I̲T̲ ̲A̲N̲S̲W̲E̲R̲
N̲O̲R̲M̲A̲L̲ ̲C̲A̲S̲E̲(̲-̲4̲)̲
WORK5 ̲STATE S̲E̲N̲D̲ ̲S̲V̲D̲I̲A̲ ̲C̲M̲M̲A̲N̲D̲ ̲A̲N̲D̲ ̲A̲W̲A̲I̲T̲ ̲A̲N̲S̲W̲E̲R̲
I̲N̲T̲E̲R̲R̲U̲P̲T̲ ̲C̲A̲S̲E̲(̲-̲6̲)̲
W̲O̲R̲K̲6̲ ̲S̲T̲A̲T̲E̲ S̲E̲N̲D̲ ̲S̲V̲D̲I̲A̲ ̲C̲O̲M̲M̲A̲N̲D̲ ̲A̲N̲D̲ ̲A̲W̲A̲I̲T̲ ̲A̲N̲S̲W̲E̲R̲
C̲L̲O̲S̲E̲/̲S̲T̲O̲P̲ ̲C̲A̲S̲E̲(̲-̲7̲)̲
END CASE
Fig. 4.2.2.4.11-3…86…1 …02… …02… …02… …02… …02… …02… …02… …02…
SEND SVDIA COMMAND AND AWAIT ANSWER NORMAL CASE
S̲E̲N̲D̲ ̲S̲V̲D̲I̲A̲ ̲C̲M̲D̲(̲S̲E̲Q̲ ̲R̲E̲C̲.̲S̲V̲D̲I̲A̲ ̲C̲M̲D̲,̲ ̲S̲E̲Q̲ ̲R̲E̲C̲.̲S̲V̲D̲I̲A̲ ̲F̲O̲R̲M̲A̲T̲,̲
̲0̲,̲
S̲F̲C̲O̲ ̲T̲M̲P̲
̲R̲E̲C̲)̲(̲4̲.̲2̲.̲2̲.̲6̲.̲2̲)̲
LOOP AWAIT ̲SVDIA ̲ANSWER ̲NRMAL ̲CASE
W̲A̲I̲T̲ ̲S̲F̲C̲O̲ ̲E̲V̲E̲N̲T̲(̲W̲O̲R̲K̲1̲ ̲S̲T̲A̲T̲E̲)̲(̲S̲V̲U̲P̲ ̲C̲O̲ ̲O̲P̲)̲(̲4̲.̲2̲.̲2̲.̲6̲.̲1̲0̲)̲
CASE SVUP ̲CO ̲OP.OP ̲ID(2) OF SENDER ̲ID ̲TYPE
SVCO ̲ID? D̲E̲L̲E̲T̲E̲ ̲F̲C̲ ̲K̲E̲Y̲ ̲I̲N̲P̲U̲T̲ ̲R̲E̲Q̲U̲E̲S̲T̲(̲4̲.̲2̲.̲2̲.̲6̲.̲7̲)̲
CASE SVUP ̲CO ̲OP.CMD OF
STOP ̲SFCO? SEQ ̲STATE = TSTOP
CLOSE ̲SFCO? SE ̲STATE = TCLOSE
OTHERWISE? S̲V̲U̲P̲ ̲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
RETURN
FC ̲KEY ̲ID? CASE F̲E̲T̲C̲H̲ ̲A̲N̲D̲ ̲V̲A̲L̲ ̲K̲E̲Y̲(̲ ̲ ̲)̲(̲F̲C̲ ̲K̲E̲Y̲,̲
̲C̲C̲)̲:̲
E̲X̲C̲ ̲D̲O̲N̲E̲(̲4̲.̲2̲.̲2̲.̲6̲.̲1̲2̲)̲
EXC? SEQ ̲STATE= TEXC
RETURN
DONE? CC = ILL? R̲E̲Q̲U̲E̲S̲T̲
̲F̲C̲ ̲K̲E̲Y̲ ̲I̲N̲P̲U̲T̲
(̲4̲.̲2̲.̲2̲.̲6̲.̲6̲)̲
S̲E̲T̲ ̲S̲E̲Q̲ ̲K̲E̲Y̲(̲ ̲ ̲ ̲ ̲
̲ ̲ ̲)̲
SEQ ̲STATE = TRPT
RETURN
END CASE
SVDIA ̲ID? S̲V̲D̲I̲A̲ ̲A̲N̲S̲W̲E̲R̲ ̲A̲N̲A̲L̲Y̲S̲I̲S̲ ̲N̲O̲R̲M̲A̲L̲ ̲C̲A̲S̲E̲(̲-̲5̲)̲
OTHERWIS? S̲V̲U̲P̲ ̲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 AWAIT ̲SVDIA ̲ANSWER ̲NORMAL ̲CASE
Fig. 4.2.2.4.11-4…86…1 …02… …02… …02… …02… …02… …02… …02… …02…
SVDIA ANSWER ANALYSIS NORMAL CASE
CASE F̲R̲E̲E̲E̲ ̲S̲F̲C̲O̲ ̲O̲P̲(̲S̲V̲U̲P̲ ̲C̲O̲ ̲O̲P̲)̲ ̲E̲R̲R̲O̲R̲ ̲O̲K̲(̲4̲.̲2̲.̲2̲.̲6̲.̲4̲)̲
ERROR? S̲V̲U̲P̲ ̲I̲N̲T̲E̲R̲N̲A̲L̲ ̲E̲R̲R̲O̲R̲(̲G̲I̲V̲E̲ ̲U̲P̲)̲(̲4̲.̲1̲.̲5̲.̲2̲)̲
OK?
END CASE
SVUP ̲CO ̲OP.OP ̲ID(1) EQ EP ̲SVDIA ̲NO?
S̲V̲U̲P̲ ̲I̲N̲T̲E̲R̲N̲A̲L̲ ̲E̲R̲R̲O̲R̲(̲G̲I̲V̲E̲ ̲U̲P̲)̲(̲4̲.̲1̲.̲5̲.̲2̲)̲
SVUP ̲CO ̲OP.PARA1 EQ SPLIT ̲FAIL ̲CC? SEQ ̲STATE = TEXC
RETURN
SVUP ̲CO ̲OP.CMD NE INPUT ̲DATA?
SVUP ̲CO ̲OP.PARA1 EQ OK ̲CC? SEQ ̲REC.SEQ ̲STATE
= TCON
S̲E̲T̲
̲S̲E̲Q̲
̲K̲E̲Y̲(̲
̲
̲
̲
̲)̲
SEQ ̲REC.SE ̲STATE = TFCK
EXIT LOOP AWAIT ̲SVDIA ̲ANSWER ̲NORMAL ̲CASE
Fig. 4.2.2.4.11-5…86…1 …02… …02… …02… …02… …02… …02… …02… …02… …02…
SEND SVDIA COMMAND AND AWAIT ANSWER INTERRUPT CASE
S̲E̲N̲D̲ ̲S̲V̲D̲I̲A̲ ̲C̲M̲D̲(̲S̲E̲Q̲ ̲R̲E̲C̲.̲S̲V̲D̲I̲A̲ ̲C̲M̲D̲,̲ ̲S̲E̲Q̲ ̲R̲E̲C̲.̲S̲V̲D̲I̲A̲ ̲F̲O̲R̲M̲A̲T̲,̲
̲0̲,̲
S̲F̲C̲O̲ ̲T̲M̲P̲
̲R̲E̲C̲)̲(̲4̲.̲2̲.̲2̲.̲6̲.̲2̲)̲
LOOP AWAIT ̲SVDIA ̲INTRPTANSWER
W̲A̲I̲T̲ ̲S̲F̲C̲O̲ ̲E̲V̲E̲N̲T̲(̲W̲O̲R̲K̲5̲ ̲S̲T̲A̲T̲E̲)̲(̲S̲V̲U̲P̲ ̲C̲O̲ ̲O̲P̲)̲(̲4̲.̲2̲.̲2̲.̲6̲.̲1̲0̲)̲
CASE SVUP ̲CO ̲OP.OP ̲ID(2) OF SENDER ̲ID ̲TYPE
SVCO ̲ID? CASE ̲SVUP ̲CO ̲OP.CMD OF
STOP ̲SFCO? SEQ
̲STATE
=
STOP
SVUP
̲OP
=
SVUP
̲CO
̲OP
CLOSE ̲SFCO? SEQ
̲STATE
=
CLOSE SVUP
̲OP
=
SVUP
̲CO
̲OP
OTHERWISE? S̲V̲U̲P̲
̲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
RETURN
SVDIA ̲ID? C̲A̲S̲E̲ ̲F̲R̲E̲E̲ ̲S̲F̲C̲O̲ ̲O̲P̲(̲S̲V̲U̲P̲ ̲C̲O̲ ̲O̲P̲)̲:̲ ̲E̲R̲R̲O̲R̲
̲O̲K̲
(̲4̲.̲2̲.̲2̲.̲6̲.̲4̲)̲
ERROR? S̲V̲U̲P̲ ̲I̲N̲T̲E̲R̲N̲A̲L̲
̲E̲R̲R̲O̲(̲G̲I̲V̲E̲ ̲U̲P̲)̲
(̲4̲.̲1̲.̲5̲.̲2̲)̲
OK?
END CASE
SVUP ̲CO ̲OP.OP ̲ID(1) NE EXP ̲SVDIA
̲NO?
SVDIA
̲CMD
̲OUT
GT
0?
S̲V̲U̲P̲
̲I̲N̲T̲E̲R̲N̲A̲L̲
̲E̲R̲R̲O̲R̲
(̲G̲I̲V̲E̲
̲U̲P̲)̲(̲4̲.̲1̲.̲5̲.̲2̲)̲
SVUP ̲CO ̲OP.PARA1 EQ VDU ̲SLIT ̲FAIL?
SEQ
̲STATE
=
TEXC
RETURN
EXIT LOOP AWAIT ̲SVDIA
̲INTRPT ̲ANSWER
OTHERWISE? S̲V̲U̲P̲ ̲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 AWAIT ̲SVDIA ̲INTRPT ̲ANSWER
Fig. 4.2.2.4.11-6
S̲E̲N̲D̲ ̲S̲V̲D̲I̲A̲ ̲C̲O̲M̲M̲A̲N̲D̲ ̲A̲N̲D̲ ̲A̲W̲A̲I̲T̲ ̲A̲N̲S̲W̲E̲R̲ ̲C̲L̲O̲S̲E̲/̲S̲T̲O̲P̲ ̲C̲A̲S̲E̲
S̲E̲N̲D̲ ̲S̲V̲D̲I̲A̲ ̲C̲M̲D̲(̲S̲E̲Q̲ ̲R̲E̲C̲.̲S̲V̲D̲I̲A̲ ̲C̲M̲D̲,̲ ̲S̲E̲Q̲ ̲R̲E̲C̲.̲S̲V̲D̲I̲A̲ ̲F̲O̲R̲M̲A̲T̲,̲0̲,̲S̲F̲C̲O̲
T̲M̲P̲ ̲R̲E̲C̲)̲(̲4̲.̲2̲.̲2̲.̲6̲.̲2̲)̲
LOOP AWAIT ̲SVDIA ̲CLOSE ̲TOP ̲ANSWER
W̲A̲I̲T̲ ̲S̲F̲C̲O̲ ̲E̲V̲E̲N̲T̲(̲W̲O̲R̲K̲6̲ ̲S̲T̲A̲T̲E̲)̲(̲S̲V̲U̲P̲ ̲C̲O̲ ̲O̲P̲)̲(̲4̲.̲2̲.̲2̲.̲6̲.̲1̲0̲)̲
CASE SVUP ̲CO ̲OP.OP ̲ID(2) OF SENDER ̲ID ̲TYPE
SVDIA ̲ID? C̲A̲S̲E̲ ̲F̲R̲E̲E̲ ̲S̲F̲C̲O̲ ̲O̲P̲(̲S̲V̲U̲P̲ ̲C̲O̲.̲O̲P̲)̲:̲ ̲E̲R̲R̲O̲R̲
̲O̲K̲
(̲4̲.̲2̲.̲2̲.̲6̲.̲4̲)̲
ERROR? S̲V̲U̲P̲ ̲I̲N̲T̲E̲R̲N̲A̲L̲ ̲E̲R̲R̲O̲R̲(̲G̲I̲V̲E̲
̲U̲P̲)̲
(̲4̲.̲1̲.̲5̲.̲2̲)̲
OK?
END CASE
SVUP ̲CO ̲OP.OP ̲ID(1) NE EXP ̲SVDIA
̲NO?
SVDIA ̲CMD ̲OUT GT
0?
S̲V̲U̲P̲ ̲I̲N̲T̲E̲R̲N̲A̲L̲ ̲E̲R̲R̲O̲R̲(̲G̲I̲V̲E̲
̲U̲P̲)̲
(̲4̲.̲1̲.̲5̲.̲2̲)̲
EXIT LOOP AWAIT ̲SVDIA ̲CLOSE ̲TOP
̲ANSWER
OTHERWISE? S̲V̲U̲P̲ ̲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 AWAIT ̲SVDIA ̲CLOSE ̲STOP ̲ANSWER
Fig. 4.2.2.4.11-7
4.2.2.4.12 E̲X̲E̲C̲U̲T̲E̲ ̲C̲I̲F̲ ̲F̲U̲N̲C̲T̲I̲O̲N̲
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̲
The purpose of this module is to execute the function
called from CIF SEQUENCE. In simple cases the EXE-
CUTE ̲CIF ̲FUNCTION module will perform the function itself but
in most cases a new module or procedure will be called.
4.2.2.4.12.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 ̲CIF ̲FUNCTION(FUNCTION: CIF ̲FUNCTION)
b) EXECUTE ̲CIF ̲FUNCTION(5, 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 FUNCTION (DEST)
R6 LINK (DEST)
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
Ro-R7 (DEST)
4.2.2.4.12.3 M̲o̲d̲u̲l̲e̲ ̲C̲o̲m̲p̲o̲n̲e̲n̲t̲s̲
None
4.2.2.4.12.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̲
FUNC ̲LAB Refer 4.2.2.5
CIF ̲FNCTION Refer 4.2.2.5
YES ̲NO Refer CPS/DBD/001
HEADER ̲TXT ̲TYPE Refer 4.1.4
b) E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲
INPUT CIF Refer 4.1.4
OUTPUT ̲CIF Refer 4.1.4
SVUP ̲LOG (m) Refer 4.2.2.5
ADM ̲BUF Refer 4.1.4
4.2.2.4.12.5 M̲o̲d̲u̲l̲e̲ ̲D̲e̲s̲i̲g̲n̲
The input to the module is aalysed and a set of common
procedures and modules are called.
Refer figure 4.2.2.4.12-1.
EXECUTE ̲CIF ̲FUNCTION
CASE FUNCTION OF CIF ̲FUNCTION
RETR ̲REQUEST? R̲E̲T̲R̲I̲E̲V̲A̲L̲ ̲R̲E̲Q̲U̲E̲S̲T̲(̲R̲E̲T̲R̲I̲E̲V̲A̲L̲
̲B̲I̲T̲)̲(̲C̲C̲)̲
(̲4̲.̲2̲.̲2̲.̲4̲.̲1̲4̲)̲
RETURN(CC)
RECV ̲START? R̲C̲E̲I̲V̲E̲ ̲R̲E̲S̲P̲Q̲(̲C̲C̲)̲(̲4̲.̲2̲.̲2̲.̲4̲.̲1̲5̲)̲
RETURN(CC)
RETR ̲CANCEL? S̲V̲U̲P̲ ̲C̲A̲N̲C̲E̲L̲(̲I̲ ̲C̲I̲F̲,̲ ̲M̲S̲H̲ ̲M̲E̲N̲U̲
̲T̲X̲T̲)̲(̲C̲C̲)̲
(̲4̲.̲2̲.̲2̲.̲4̲.̲1̲6̲)̲
RETURN(CC)
RETR ̲CLOSE? S̲V̲U̲P̲ ̲D̲I̲S̲M̲A̲N̲T̲L̲E̲(̲I̲N̲P̲U̲T̲ ̲C̲I̲F̲,̲ ̲C̲L̲O̲S̲E̲)̲
(̲4̲.̲1̲.̲5̲.̲3̲)̲
RETURN(E ̲OK)
RETR ̲PRINT ̲DEL? P̲R̲I̲N̲T̲ ̲K̲E̲E̲P̲ ̲D̲E̲L̲E̲T̲E̲(̲C̲O̲P̲Y̲ ̲=̲ ̲1̲,̲
̲N̲E̲X̲T̲,̲ ̲D̲E̲L̲E̲T̲E̲,̲ ̲I̲N̲P̲U̲T̲ ̲C̲I̲F̲)̲(̲C̲C̲)̲(̲4̲.̲2̲.̲2̲.̲4̲.̲1̲7̲)̲
RETURN(CC)
RETR ̲KEEP? P̲R̲I̲N̲T̲ ̲K̲E̲E̲P̲ ̲D̲E̲L̲E̲T̲E̲(̲N̲E̲X̲T̲,̲K̲E̲E̲P̲,̲I̲N̲P̲U̲T̲
̲C̲I̲F̲)̲
(̲C̲C̲)̲(̲4̲.̲2̲.̲2̲.̲4̲.̲1̲7̲)̲
RETURN(CC)
RETR ̲DELETE? P̲R̲I̲N̲T̲ ̲K̲E̲E̲P̲ ̲D̲L̲E̲T̲E̲(̲N̲E̲X̲T̲,̲D̲E̲L̲E̲T̲E̲,̲I̲N̲P̲U̲T̲
̲C̲I̲F̲)̲
(̲C̲C̲)̲(̲4̲.̲2̲.̲2̲.̲4̲.̲1̲7̲)̲
RETURN(CC)
RETR ̲PRINT? P̲R̲I̲N̲T̲ ̲K̲E̲E̲P̲ ̲D̲E̲L̲E̲T̲E̲(̲C̲O̲P̲Y̲ ̲=̲ ̲1̲,̲
̲I̲N̲P̲U̲T̲ ̲C̲I̲F̲)̲
(̲C̲C̲)̲(̲4̲.̲2̲.̲2̲.̲4̲.̲1̲7̲)̲
RETURN(CC)
E̲X̲E̲C̲U̲T̲E̲ ̲F̲U̲N̲C̲T̲I̲O̲N̲ ̲C̲O̲N̲T̲I̲N̲U̲E̲D̲(̲-̲2̲)̲
Fig. 4.2.2.4.12-1
EXECUTE ̲FUNCTION ̲CONTINUED
RETR ̲RERUN? C̲O̲N̲V̲ ̲P̲E̲R̲M̲A̲N̲E̲N̲T̲(̲I̲N̲P̲U̲T̲ ̲C̲I̲F̲)̲(̲O̲U̲T̲P̲U̲T̲ ̲C̲I̲F̲)̲(̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲)̲
S̲V̲U̲P̲ ̲D̲I̲S̲M̲N̲T̲L̲E̲(̲I̲N̲P̲U̲T̲ ̲C̲I̲F̲,̲ ̲C̲L̲O̲S̲E̲)̲(̲4̲.̲1̲.̲5̲.̲3̲)̲
S̲E̲N̲D̲ ̲T̲O̲ ̲T̲M̲P̲(̲O̲U̲T̲P̲U̲T̲ ̲C̲I̲F̲,̲ ̲F̲O̲R̲ ̲R̲E̲R̲U̲N̲)̲(̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲)̲
S̲V̲U̲P̲ ̲D̲I̲S̲M̲A̲N̲T̲L̲E̲(̲O̲U̲T̲P̲U̲T̲ ̲C̲I̲F̲,̲ ̲S̲A̲V̲E̲)̲(̲4̲.̲1̲.̲5̲.̲3̲)̲
INPUT ̲CIF = OUTPUT ̲CIF = NIL
S̲E̲T̲ ̲H̲E̲A̲D̲E̲R̲ ̲T̲E̲X̲T̲(̲M̲S̲G̲H̲ ̲M̲E̲N̲U̲ ̲T̲X̲T̲)̲(̲4̲.̲1̲.̲5̲.̲6̲)̲
S̲E̲T̲ ̲H̲E̲A̲D̲E̲R̲ ̲C̲L̲A̲S̲S̲(̲M̲A̲X̲ ̲C̲L̲A̲S̲S̲)̲(̲4̲.̲1̲.̲5̲.̲7̲)̲ C̲A̲S̲E̲ ̲D̲I̲S̲P̲L̲A̲Y̲ ̲V̲D̲U̲ ̲H̲D̲(̲4̲.̲1̲.̲5̲.̲4̲)̲:̲
̲E̲X̲C̲ ̲D̲O̲N̲E̲
EXC? RETURN(E ̲SPLIT FAILED)
DONE? RETURN(E ̲OK)
END CASE
RETR ̲PERMANENT? C̲O̲N̲V̲ ̲P̲E̲R̲M̲A̲N̲E̲N̲T̲(̲I̲N̲P̲U̲T̲ ̲C̲I̲F̲)̲(̲O̲U̲T̲P̲U̲T̲
̲C̲I̲F̲)̲(̲ ̲ ̲ ̲ ̲ ̲)̲
RETURN(E ̲OK)
RETR ̲RE ̲CANCEL? S̲V̲U̲P̲ ̲C̲A̲N̲C̲E̲L̲(̲I̲ ̲C̲I̲F̲,̲ ̲0̲ ̲C̲I̲F̲,̲ ̲M̲S̲G̲H̲ ̲M̲E̲N̲U̲
̲T̲X̲T̲)̲(̲C̲C̲)̲
(̲4̲.̲2̲.̲2̲.̲4̲.̲1̲6̲)̲
RETURN(CC)
RETR ̲RE ̲ON ̲CANCEL?S̲V̲U̲P̲ ̲C̲A̲N̲C̲E̲L̲(̲I̲ ̲C̲I̲F̲,̲ ̲0̲ ̲C̲I̲F̲,̲ ̲R̲E̲A̲D̲ ̲M̲E̲N̲U̲
̲T̲X̲T̲)̲(̲C̲C̲)̲
(̲4̲.̲2̲.̲2̲.̲4̲.̲1̲6̲)̲
RETUN(CC)
RETR ̲READ ̲CANCEL? S̲V̲U̲P̲ ̲C̲A̲N̲C̲E̲L̲(̲I̲ ̲C̲I̲F̲,̲ ̲M̲S̲G̲H̲ ̲M̲E̲N̲U̲ ̲T̲X̲T̲)̲(̲C̲C̲)̲
(̲4̲.̲2̲.̲2̲.̲4̲.̲1̲6̲)̲
RETURN(CC)
E̲X̲E̲C̲U̲T̲E̲ ̲F̲U̲N̲C̲T̲I̲O̲N̲ ̲C̲O̲N̲T̲I̲N̲U̲E̲D̲(̲-̲3̲)̲
Fig. 4.2.2.4.12-2
EXECUTE ̲FUNCTION ̲CONTINUED
RETR ̲RE ̲CLOSE? S̲V̲U̲P̲ ̲D̲I̲S̲M̲A̲N̲T̲L̲E̲(̲I̲N̲P̲U̲T̲ ̲C̲I̲F̲,̲ ̲C̲L̲O̲S̲E̲)̲(̲4̲.̲1̲.̲5̲.̲3̲)̲
S̲V̲U̲P̲ ̲D̲I̲S̲M̲A̲N̲T̲L̲E̲(̲O̲U̲T̲P̲U̲T̲ ̲C̲I̲F̲,̲
̲C̲L̲O̲S̲E̲)̲(̲4̲.̲1̲.̲5̲.̲3̲)̲
RETURN(E ̲OK)
RETR ̲READ? R̲E̲A̲D̲ ̲E̲D̲I̲S̲T̲(̲C̲O̲P̲Y̲ ̲=̲ ̲0̲,̲ ̲T̲H̲P̲,̲ ̲M̲S̲G̲H̲
̲M̲E̲N̲U̲ ̲T̲X̲T̲)̲
(̲C̲C̲)̲(̲4̲.̲2̲.̲2̲.̲4̲.̲1̲8̲)̲
RETURN(CC)
RETR ̲READ ̲PRINT? R̲E̲A̲D̲ ̲R̲E̲D̲I̲S̲T̲(̲C̲O̲P̲Y̲ ̲=̲ ̲1̲,̲ ̲T̲H̲P̲,̲
̲R̲E̲A̲D̲ ̲I̲N̲S̲T̲R̲,̲ ̲
M̲S̲G̲H̲ ̲M̲E̲N̲U̲ ̲T̲X̲T̲)̲(̲C̲C̲)̲(̲4̲.̲2̲.̲2̲.̲4̲.̲1̲8̲)̲
RETURN(CC)
RETR ̲ON ̲READ? R̲E̲A̲D̲ ̲R̲E̲D̲I̲S̲T̲(̲C̲O̲P̲Y̲ ̲=̲ ̲0̲,̲ ̲T̲P̲,̲ ̲R̲E̲A̲D̲
̲M̲E̲N̲U̲ ̲T̲X̲T̲)̲
(̲C̲C̲)̲(̲4̲.̲2̲.̲2̲.̲4̲.̲1̲8̲)̲
RETURN(CC)
RETR ̲ON ̲READ ̲PRINT? R̲E̲A̲D̲ ̲R̲E̲D̲I̲S̲T̲(̲C̲O̲P̲Y̲ ̲=̲ ̲1̲,̲ ̲T̲H̲P̲,̲
̲R̲E̲A̲D̲ ̲I̲N̲S̲T̲R̲,̲ ̲
R̲E̲A̲D̲ ̲M̲E̲N̲U̲ ̲T̲X̲T̲)̲(̲C̲C̲)̲(̲4̲.̲2̲.̲2̲.̲4̲.̲1̲8̲)̲
RETURN(CC)
DISP ̲MSGH? S̲E̲T̲ ̲H̲E̲A̲D̲E̲R̲ ̲T̲E̲X̲T̲(̲M̲S̲G̲H̲ ̲M̲E̲N̲U̲ ̲T̲X̲T̲)̲(̲4̲.̲1̲.̲5̲.̲6̲
S̲E̲T̲ ̲H̲E̲A̲D̲E̲R̲ ̲C̲L̲A̲S̲S̲(̲M̲A̲X̲ ̲C̲L̲A̲S̲S̲)̲(̲4̲.̲1̲.̲5̲.̲7̲)̲
C̲A̲S̲E̲ ̲D̲I̲S̲P̲L̲A̲Y̲ ̲V̲D̲U̲ ̲H̲D̲(̲4̲.̲1̲.̲5̲.̲4̲)̲:̲
̲E̲X̲C̲ ̲D̲O̲N̲E̲
EXC? RETURN(E ̲SPLIT
̲FAILED)
DONE? RETURN(E ̲OK)
END CASE
E̲X̲E̲C̲U̲T̲E̲ ̲F̲U̲N̲C̲T̲I̲O̲N̲ ̲C̲O̲N̲T̲I̲N̲U̲E̲D̲(̲-̲4̲)̲
Fig. 4.2.2.4.12-3…86…1 …02… …02… …02… …02… …02… …02… …02…
EXECUTE ̲FUNCTION ̲CONTINUED
RETR ̲REDIST R̲E̲A̲D̲ ̲R̲E̲D̲I̲S̲T̲(̲C̲O̲P̲Y̲ ̲=̲ ̲0̲,̲ ̲M̲D̲P̲,̲
̲M̲S̲G̲H̲ ̲M̲E̲N̲U̲ ̲T̲X̲T̲)̲
(̲C̲C̲)̲(̲4̲.̲2̲.̲2̲.̲4̲.̲1̲8̲)̲
RETURN(CC)
RETR ̲REDIST ̲PRINT? R̲E̲A̲D̲ ̲R̲E̲D̲I̲S̲T̲(̲O̲P̲Y̲ ̲=̲
̲1̲,̲ ̲M̲D̲P̲,̲ ̲R̲E̲D̲I̲ ̲I̲N̲S̲T̲R̲,̲
̲
M̲S̲G̲H̲
̲M̲E̲N̲U̲ ̲T̲X̲T̲)̲
(̲C̲C̲)̲(̲4̲.̲2̲.̲2̲.̲4̲.̲1̲8̲)̲
RETURN(CC)
RERUN ̲REQUEST? R̲E̲T̲R̲I̲E̲V̲A̲L̲ ̲R̲E̲Q̲U̲E̲S̲T̲(̲R̲E̲R̲U̲N̲
̲B̲I̲T̲)̲(̲C̲C̲)̲(̲4̲.̲2̲.̲2̲.̲4̲.̲1̲4̲)̲
RETURN(CC)
READ ̲REQUEST? R̲E̲T̲R̲I̲E̲V̲A̲L̲ ̲R̲E̲Q̲U̲E̲S̲T̲(̲R̲E̲A̲D̲
̲B̲I̲T̲)̲(̲C̲C̲)̲4̲.̲2̲.̲2̲.̲4̲.̲1̲4̲)̲
RETURN(CC)
REDIST ̲REQUEST? R̲E̲T̲R̲I̲E̲V̲A̲L̲ ̲R̲E̲Q̲U̲E̲S̲T̲(̲R̲E̲D̲I̲ ̲B̲I̲T̲)̲(̲C̲C̲)̲(̲4̲.̲2̲.̲2̲.̲4̲.̲1̲4̲)̲
RETURN(CC)
DELETION ̲REQUEST? R̲E̲T̲R̲I̲E̲V̲A̲L̲ ̲R̲E̲Q̲U̲E̲S̲T̲(̲D̲E̲L̲I̲ ̲D̲I̲S̲P̲
̲B̲I̲T̲)̲(̲C̲C̲)̲
(̲4̲.̲2̲.̲2̲.̲4̲.̲1̲4̲)̲
RETURN(CC)
RETR ̲RELU ̲CANCEL? S̲V̲U̲P̲ ̲C̲A̲N̲C̲E̲L̲I̲ ̲C̲I̲F̲,̲ ̲R̲E̲L̲U̲ ̲M̲E̲N̲U̲
̲T̲X̲T̲)̲(̲C̲C̲)̲
(̲4̲.̲2̲.̲2̲.̲4̲.̲1̲6̲)̲
RETURN(CC)
E̲X̲E̲C̲U̲T̲E̲ ̲F̲U̲N̲C̲T̲I̲O̲N̲ ̲C̲O̲N̲T̲I̲N̲U̲E̲D̲(̲-̲5̲)̲
Fig. 4.2.2.4.12-4
EXECUTE ̲FUNCTION ̲CONTINUED
RETR ̲RELU ̲PRINT? P̲R̲I̲N̲T̲ ̲K̲E̲E̲P̲ ̲D̲E̲L̲E̲T̲E̲(̲C̲O̲P̲Y̲ ̲=̲ ̲1̲,̲D̲E̲L̲E̲T̲E̲,̲I̲N̲P̲U̲T̲
C̲I̲F̲)̲(̲C̲C̲)̲(̲4̲.̲2̲.̲2̲.̲4̲.̲1̲7̲)̲
CC EQ OK? S̲E̲T̲ ̲H̲E̲A̲D̲E̲R̲ ̲T̲E̲X̲T̲(̲R̲E̲L̲U̲
̲M̲E̲N̲U̲ ̲T̲X̲T̲)̲
(̲4̲.̲1̲.̲5̲.̲6̲)̲
S̲E̲T̲ ̲H̲E̲A̲D̲E̲R̲ ̲C̲L̲A̲S̲S̲(̲M̲A̲X̲
̲C̲L̲A̲S̲S̲)̲
(̲4̲.̲1̲.̲5̲.̲7̲)̲
C̲A̲S̲E̲ ̲D̲I̲S̲P̲L̲A̲Y̲ ̲V̲D̲U̲
̲H̲D̲(̲4̲.̲1̲.̲5̲.̲4̲)̲:̲
E̲X̲C̲ ̲D̲O̲N̲E̲
EXC? CC = E ̲SPLIT
̲FAILED
EXC? CC = E ̲OK
ND CASE
RETURN(CC)
DELETE ̲REQ? S̲V̲U̲P̲ ̲D̲E̲L̲E̲T̲I̲O̲N̲(̲C̲C̲)̲(̲4̲.̲2̲.̲2̲.̲4̲.̲1̲9̲)̲
RETURN(CC)
SAVE ̲LOG ̲DATA? SVUP ̲LOG.ITEM ̲REF.ID = ADM1 ̲BUF.ITEM
̲REF
SVUP ̲LOG.MONTH ̲DAY = ADM1 ̲BUF.TIME
̲STAMP
RETURN(E ̲OK)
Fig. 4.2.2.4.17-5…86…1 …02… …02… …02… …02… …02… …02…
PRPF ̲START? S̲T̲A̲R̲T̲ ̲P̲R̲E̲P̲A̲R̲A̲T̲I̲O̲N̲(̲P̲R̲P̲F̲)̲(̲4̲.̲2̲.̲2̲.̲4̲.̲2̲1̲)̲
RETURN(E ̲OK)
PRAP ̲START? S̲T̲A̲R̲T̲ ̲P̲R̲E̲P̲A̲R̲A̲T̲I̲O̲N̲(̲P̲R̲A̲P̲)̲(̲4̲.̲2̲.̲2̲.̲4̲.̲2̲1̲)̲
RETURN(E ̲OK)
PRAS ̲START? S̲T̲A̲R̲T̲ ̲P̲R̲E̲P̲A̲R̲A̲T̲I̲O̲N̲(̲P̲R̲A̲S̲)̲(̲4̲.̲2̲.̲2̲4̲.̲2̲1̲)̲
RETURN(E ̲OK)
PREP ̲HD ̲CANCEL? S̲V̲U̲P̲ ̲C̲A̲N̲C̲E̲L̲(̲0̲ ̲C̲I̲F̲,̲ ̲N̲O̲ ̲T̲X̲T̲)̲(̲C̲C̲)̲(̲4̲.̲2̲.̲2̲.̲4̲.̲1̲6̲)̲
RETURN(CC)
PREP ̲CLASS ̲SAVE? CASE SAVE ̲VIEW(OUTPUT ̲CIF)(CC): ERROR
̲OK
ERROR? ANALYZE ̲ERROR(CC,0)
OK? S̲E̲T̲ ̲H̲E̲A̲D̲E̲R̲ ̲C̲L̲A̲S̲S̲(̲C̲U̲R̲ ̲C̲L̲A̲S̲S̲)̲(̲4̲.̲1̲.̲5̲.̲7̲)̲
CASE D̲I̲S̲P̲L̲A̲Y̲ ̲V̲D̲U̲ ̲H̲D̲(̲4̲.̲1̲.̲5̲.̲4̲)̲:̲E̲X̲C̲
̲D̲O̲N̲E̲
EXC? CC = E ̲SPLIT ̲FAILED
DONE? CC = E ̲ON
END CASE
END CASE
RETURN(CC)
PRPF ̲NEW ̲HD? S̲V̲U̲P̲ ̲N̲E̲W̲ ̲V̲I̲E̲W̲(̲O̲U̲T̲P̲U̲T̲ ̲C̲I̲F̲,̲ ̲H̲D̲,̲ ̲D̲I̲S̲M̲,̲ ̲P̲R̲P̲F̲)̲
(̲4̲.̲2̲.̲2̲.̲4̲.̲2̲2̲)̲
RETURN(E ̲OK)
PREP ̲HD ̲CLOSE? S̲V̲U̲P̲ ̲D̲I̲S̲M̲A̲N̲T̲L̲E̲(̲O̲U̲T̲P̲U̲T̲ ̲C̲I̲F̲,̲ ̲C̲L̲O̲S̲E̲)̲(̲4̲.̲1̲.̲5̲.̲3̲)̲
RETURN(E ̲OK)
E̲X̲E̲C̲U̲T̲E̲ ̲F̲U̲N̲C̲T̲I̲O̲N̲ ̲C̲O̲N̲T̲(̲-̲7̲)̲
Fig. 4.2.2.4.12-6
PREP ̲TXT ̲CLOSE? S̲V̲U̲P̲ ̲D̲I̲S̲M̲A̲N̲T̲L̲E̲(̲O̲U̲T̲P̲U̲T̲ ̲C̲I̲F̲,̲ ̲C̲L̲O̲S̲E̲,̲
̲S̲A̲V̲E̲)̲(̲4̲.̲1̲.̲5̲.̲3̲)̲
RETURN(E ̲OK)
PREP ̲TXT ̲CANCEL? S̲V̲U̲P̲ ̲C̲A̲N̲C̲E̲L̲(̲O̲ ̲C̲I̲F̲,̲ ̲S̲A̲V̲E̲,̲ ̲N̲O̲ ̲T̲X̲T̲)̲(̲C̲C̲)̲(̲4̲.̲2̲.̲2̲.̲4̲.̲1̲6̲)̲
RETURN(CC)
PREP ̲TXTSAVE? CASE SAVE ̲VIEW(OUTPUT CIF)(CC): ERROR
̲OK
ERROR? ANALYZE ERROR(CC,C)
OK?
END CASE
RETURN(E ̲OK)
PRPF ̲NEW ̲TXT? S̲V̲U̲P̲ ̲N̲E̲W̲ ̲V̲I̲E̲W̲(̲O̲U̲T̲P̲U̲T̲ ̲C̲I̲F̲,̲ ̲T̲X̲T̲,̲ ̲D̲I̲S̲M̲,̲
̲S̲A̲V̲E̲,̲
P̲R̲P̲F̲)̲(̲O̲U̲T̲P̲U̲T̲ ̲C̲I̲F̲)̲(̲4̲.̲2̲.̲2̲.̲4̲.̲2̲2̲)̲
RETURN(E ̲OK)
SEND ̲PRPF? S̲N̲D̲ ̲T̲O̲ ̲T̲H̲P̲(̲O̲U̲T̲P̲U̲T̲ ̲C̲I̲F̲,̲ ̲F̲O̲R̲ ̲C̲O̲N̲V̲)̲(̲
̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲)̲
S̲V̲U̲P̲ ̲D̲I̲S̲M̲A̲N̲T̲L̲E̲(̲O̲U̲T̲P̲U̲T̲ ̲C̲I̲F̲,̲ ̲C̲L̲O̲S̲E̲,̲
̲S̲A̲V̲E̲(̲4̲.̲1̲.̲5̲.̲3̲)̲
S̲E̲T̲ ̲H̲E̲A̲D̲E̲R̲ ̲T̲X̲T̲(̲S̲M̲P̲R̲ ̲M̲E̲N̲U̲ ̲T̲X̲T̲)̲(̲4̲.̲1̲.̲5̲.̲6̲)̲
S̲E̲T̲ ̲H̲E̲A̲D̲E̲R̲ ̲C̲L̲A̲S̲S̲(̲M̲A̲X̲ ̲C̲L̲A̲S̲S̲)̲(̲4̲.̲1̲.̲5̲.̲7̲)̲
C̲A̲S̲E̲ ̲D̲I̲S̲P̲L̲A̲Y̲ ̲V̲D̲U̲ ̲H̲D̲(̲4̲.̲1̲.̲5̲.̲4̲)̲:̲ ̲E̲X̲C̲
̲D̲O̲N̲E̲
EXC? CC = E ̲SPLI ̲FAILED
DONE? CC = E ̲OK
END CASE
RETURN(CC)
E̲X̲E̲C̲U̲T̲E̲ ̲F̲U̲N̲C̲T̲I̲O̲N̲ ̲C̲O̲N̲T̲(̲-̲8̲)̲
Fig. 4.2.2.4.12-7
SMPR HEADER? S̲V̲U̲P̲ ̲D̲I̲S̲M̲A̲N̲T̲L̲E̲(̲O̲U̲T̲P̲U̲T̲ ̲C̲I̲F̲,̲ ̲C̲L̲O̲S̲E̲,̲
̲S̲A̲V̲E̲(̲4̲.̲1̲.̲5̲.̲5̲)̲
S̲E̲T̲ ̲H̲E̲A̲D̲E̲R̲ ̲T̲X̲T̲(̲S̲M̲P̲R̲ ̲M̲E̲N̲U̲ ̲T̲X̲T̲)̲(̲4̲.̲1̲.̲5̲.̲6̲)̲
S̲E̲T̲ ̲H̲E̲A̲D̲E̲R̲ ̲C̲L̲A̲S̲S̲(̲M̲A̲X̲ ̲C̲L̲A̲S̲S̲)̲(̲4̲.̲1̲.̲5̲.̲7̲)̲
C̲A̲S̲E̲ ̲D̲I̲S̲P̲L̲A̲Y̲ ̲V̲D̲U̲ ̲H̲D̲(̲4̲.̲1̲5̲.̲4̲)̲:̲ ̲E̲X̲C̲
̲D̲O̲N̲E̲
EXC? CC = E ̲SPLIT ̲FAILED
DONE? CC = E ̲OK
END CASE
RETURN(CC)
SVC ̲PRINT? S̲E̲N̲D̲ ̲F̲O̲R̲ ̲P̲R̲I̲N̲T̲(̲C̲O̲P̲Y̲ ̲=̲ ̲1̲,̲ ̲L̲O̲C̲A̲L̲ ̲P̲R̲I̲N̲T̲,̲
O̲U̲T̲P̲U̲T̲C̲I̲F̲)̲:̲ ̲E̲X̲C̲ ̲D̲O̲N̲E̲(̲
̲ ̲)̲
EXC? CC = E ̲SPLIT ̲FAILED
DONE? CC = E ̲OK
END CASE
RETURN(CC)
START ̲CPFP? E̲D̲I̲T̲ ̲R̲E̲Q̲U̲E̲S̲T̲(̲P̲ ̲P̲L̲A̲I̲N̲ ̲S̲V̲C̲ ̲E̲D̲I̲T̲)̲(̲C̲C̲)̲(̲4̲.̲2̲.̲2̲.̲4̲.̲2̲0̲)̲
RETURN(CC)
CTMP ̲HD ̲CANCEL? S̲V̲U̲P̲ ̲C̲A̲N̲C̲E̲L̲(̲I̲ ̲C̲I̲F̲,̲ ̲O̲ ̲C̲I̲F̲,̲ ̲N̲O̲ ̲T̲X̲T̲)̲(̲C̲C̲)̲
(̲4̲.̲2̲.̲2̲.̲4̲.̲1̲6̲)̲
RETURN(CC)
CPFP ̲CLASS ̲SAVE? S̲V̲U̲P̲ ̲D̲I̲S̲M̲A̲N̲T̲L̲E̲(̲I̲N̲P̲U̲T̲ ̲C̲I̲F̲,̲ ̲C̲L̲O̲S̲E̲)̲(̲4̲.̲1̲.̲5̲.̲3̲)̲
INPUT ̲CIF = OUTPUT ̲CIF
SAVE(INPUT CIF)
S̲V̲U̲P̲ ̲N̲E̲W̲ ̲V̲I̲E̲W̲(̲I̲N̲P̲U̲T̲ ̲C̲I̲F̲,̲ ̲T̲X̲T̲,̲ ̲C̲P̲F̲P̲)̲(̲O̲U̲T̲P̲U̲T̲
C̲I̲F̲)̲(̲4̲.̲2̲.̲2̲.̲4̲.̲2̲2̲)̲
S̲E̲T̲ ̲H̲E̲A̲D̲E̲R̲ ̲C̲L̲A̲S̲S̲(̲C̲U̲R̲ ̲C̲L̲A̲S̲S̲)̲(̲4̲.̲1̲.̲5̲.̲6̲)̲
C̲A̲S̲E̲ ̲D̲I̲S̲P̲L̲A̲Y̲ ̲V̲D̲U̲ ̲H̲D̲(̲4̲.̲1̲.̲5̲.̲4̲)̲:̲ ̲E̲X̲C̲
̲D̲O̲N̲E̲
EXC? CC = E ̲SPLIT ̲FAILED
DNE? CC = E ̲OK
END CASE
RETURN(CC)
E̲X̲E̲C̲U̲T̲E̲ ̲F̲U̲N̲C̲T̲I̲O̲N̲ ̲C̲O̲N̲T̲(̲-̲9̲)̲
Fig. 4.2.2.4.12-8
EXECUTE FUNCTION CONTINUED
CPFP ̲HD ̲ERRROR? S̲V̲U̲P̲ ̲D̲I̲S̲M̲A̲N̲T̲L̲E̲(̲I̲N̲P̲U̲T̲ ̲C̲I̲F̲,̲ ̲C̲L̲O̲S̲E̲)̲(̲4̲.̲1̲.̲5̲.̲3̲)̲
INPUT ̲CIF = OUTPUT ̲CIF
S̲V̲U̲P̲ ̲N̲E̲W̲ ̲V̲I̲E̲W̲(̲I̲N̲P̲U̲T̲ ̲C̲I̲F̲,̲ ̲H̲D̲,̲ ̲C̲P̲F̲P̲)̲(̲O̲U̲T̲P̲U̲T̲
̲C̲I̲F̲)̲
(̲4̲.̲2̲.̲2̲.̲4̲.̲2̲2̲)̲
RETURN(E ̲OK)
CTMP ̲HD ̲CLOSE? S̲V̲U̲P̲ ̲D̲I̲S̲M̲A̲N̲T̲L̲E̲(̲I̲N̲P̲U̲T̲ ̲C̲I̲F̲,̲ ̲C̲L̲O̲S̲E̲)̲(̲4̲.̲1̲.̲5̲.̲3̲)̲
S̲V̲U̲P̲ ̲D̲I̲S̲M̲A̲N̲T̲L̲E̲(̲O̲U̲T̲P̲U̲T̲ ̲C̲I̲F̲,̲ ̲C̲L̲O̲S̲E̲)̲(̲4̲.̲1̲.̲5̲.̲3̲)̲
RETURN(E ̲OK)
CTMP ̲TXT ̲CLOSE? S̲V̲U̲P̲ ̲D̲I̲S̲M̲A̲N̲T̲L̲E̲(̲I̲N̲P̲U̲T̲ ̲C̲I̲F̲,̲ ̲C̲L̲O̲S̲E̲,̲
̲S̲A̲V̲E̲)̲(̲4̲.̲1̲.̲5̲.̲3̲)̲
S̲V̲U̲P̲ ̲D̲I̲S̲M̲A̲N̲T̲E̲(̲O̲U̲T̲P̲U̲T̲ ̲C̲I̲F̲,̲ ̲C̲L̲O̲S̲E̲)̲(̲4̲.̲1̲.̲5̲.̲3̲)̲
RETURN(E ̲OK)
CTMP ̲TXT ̲CANCEL? S̲V̲U̲P̲ ̲D̲I̲S̲M̲A̲N̲T̲L̲E̲(̲O̲U̲T̲P̲U̲T̲ ̲C̲I̲F̲,̲ ̲C̲L̲O̲S̲E̲)̲(̲4̲.̲1̲.̲5̲.̲3̲)̲
S̲V̲U̲P̲ ̲C̲A̲N̲C̲E̲L̲(̲I̲ ̲C̲I̲F̲,̲ ̲S̲A̲V̲E̲,̲ ̲N̲O̲ ̲T̲X̲T̲)̲(̲C̲C̲)̲(̲4̲.̲2̲.̲2̲.̲4̲.̲1̲6̲)̲
RETURN(CC)
CTMP ̲TXT ̲SAVE? S̲V̲U̲P̲ ̲D̲I̲S̲M̲A̲N̲T̲L̲E̲(̲I̲N̲P̲U̲T̲ ̲C̲I̲F̲,̲ ̲C̲L̲O̲S̲E̲)̲(̲4̲.̲1̲.̲5̲.̲3̲)̲
CASE SAE VIEW(OUTPUT CIF)(CC): ERROR
̲OK
ERROR? ANALYZE ̲ERROR(CC,0)
OK? RETURN(E ̲OK)
END CASE
CPFP ̲NEW ̲TXT? S̲V̲U̲P̲ ̲N̲E̲W̲ ̲V̲I̲E̲W̲(̲O̲U̲T̲P̲U̲T̲,̲ ̲T̲X̲T̲,̲ ̲D̲I̲S̲M̲,̲
̲C̲P̲E̲P̲)̲(̲O̲U̲T̲P̲U̲T̲
C̲I̲F̲)̲(̲4̲.̲2̲.̲2̲.̲4̲.̲2̲2̲)̲
RETURN(E ̲OK)
OTHERWISE? S̲V̲U̲P̲N̲I̲N̲T̲E̲R̲N̲A̲L̲E̲R̲R̲O̲R̲(̲G̲I̲U̲B̲ ̲U̲P̲)̲(̲4̲.̲1̲.̲5̲.̲2̲)̲
END CASE
Fig. 4.2.2.4.12-9
4.2.2.4.13 F̲E̲T̲C̲H̲ ̲A̲N̲D̲ ̲V̲A̲L̲ ̲A̲N̲Q̲ ̲I̲N̲P̲U̲T̲
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̲
The input from the Answer Queue is fetched and validated.
The module will check whether the input s valid at
this moment or not.
4.2.2.4.13.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) FETCH ̲AND ̲VAL ̲ANQ ̲INPUT(PENDING ̲OP: AND ̲PENDING):
ANQ ̲CC
b) FETCH ̲AND ̲VAL ̲ANQ ̲INPUT(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̲s̲
R5 PENDING ̲OP (DEST)
6 LINK (DEST)
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R0-R7 (DEST)
4.2.2.4.13.3 M̲o̲d̲u̲l̲e̲ ̲C̲o̲m̲p̲o̲n̲e̲n̲t̲s̲
4.2.2.4.13.3.1 E̲D̲I̲T̲ ̲M̲S̲G̲ ̲V̲A̲L̲
Checks subtype for a message requested for continued
preparation.
4.2.2.4.13.3.2 E̲D̲I̲T̲ ̲A̲N̲S̲ ̲V̲A̲L̲
Sets up error codes when a message requested for continued
preparation can not be found.
4.2.2.4.13.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̲
ELEMENT ̲MAIN ̲TYPE Refer CPS/DBD/001
MESSAGE ̲SUBTYPE Refer CPS/DBD/001
STATUS ̲SUBTYPE Refer CPS/DBD/001
TEP ̲INTERNAL ̲SUBTYPE Refer CPS/DBD/001
ACK ̲SUBTYPE Refer CPS/DBD/001
UMAM RSPONSE TYPE Refer CPS/SDS/039
DELETE ̲ANS ̲TYPE Refer CPS/SD/039
EDIT ̲ANS ̲TYPE Refer CPS/SDS/039
ANQ ̲PENDING Refer 4.2.2.5
ANQ ̲CC Refer 4.2.2.5
b) E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲
SVUP ̲QEL ̲ATTR (m) Refer 4.1.4
ANQ ̲QEL (m) Refer 4.1.4
UMAM ̲ER ̲NO (m) Refer 4.2.2.5
c) L̲o̲c̲a̲l̲ ̲D̲a̲t̲a̲
None
4.2.2.4.13.5M̲o̲d̲u̲l̲e̲ ̲D̲e̲s̲i̲g̲n̲
Maintype, subtype and flags are analyzed. The QERROR
exit is used if an invalid input is detected. The event
will be requested to SSC. The QEL and OPEN exits are
used if a valid queueelement or CIF is found. If a
QEL is found then i will be dismantled.
Refer figure 4.2.2.4.13-1.
FETCH ̲AND ̲VAL ̲ANQ ̲INPUT
CASE WAIT ̲SYSTEM ̲CALL(ANQ ̲OP)
(SVUP ̲QEL ̲ATTR, ANQ ̲QEL, SUBQUEUE,CC):
ERROR ̲OK
ERROR? ANALYZE ̲ERROR(CC,0)
OK?
END CASE
CASEPENDING ̲OP OF ANQ ̲PENDING
P ̲PLAIN ̲SVC ̲EDIT? P̲L̲A̲I̲N̲D̲R̲E̲S̲S̲ ̲E̲D̲I̲T̲(̲-̲2̲)̲
P ̲ABB ̲PLAIN ̲SVC ̲EDIT? A̲B̲B̲ ̲P̲L̲A̲I̲N̲D̲R̲E̲S̲S̲ ̲E̲D̲I̲T̲(̲-̲3̲)̲
P ̲ABB ̲SVC ̲EDIT? A̲B̲B̲R̲E̲V̲I̲A̲T̲E̲D̲ ̲E̲D̲I̲T̲(̲-̲4̲)̲
P ̲STATUS ̲REQ? S̲T̲A̲T̲U̲S̲ ̲A̲C̲K̲(̲-̲5̲)̲
P ̲SVC ̲DELETION? S̲V̲C̲ ̲D̲E̲L̲E̲T̲I̲O̲N̲(̲-̲6̲)̲
P ̲ABB ̲PLAIN ̲SVC ̲CK? A̲B̲B̲ ̲P̲L̲A̲I̲N̲D̲R̲E̲S̲S̲ ̲A̲C̲K̲(̲-̲7̲)̲
P ̲ABB ̲SVC ̲ACK? A̲B̲B̲R̲E̲V̲I̲A̲T̲E̲D̲ ̲A̲C̲K̲(̲-̲8̲)̲
P ̲CIF ̲DELETION? C̲I̲F̲ ̲D̲E̲L̲E̲T̲I̲O̲N̲(̲-̲9̲)̲
OTHERWISE? S̲V̲U̲P̲ ̲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
CC EQ S ̲QERROR? S̲V̲U̲P̲ ̲Q̲U̲E̲U̲E̲ ̲E̲R̲R̲O̲R̲(̲A̲N̲Q̲ ̲Q̲E̲L̲,̲ ̲C̲O̲N̲T̲)̲(̲4̲.̲1̲.̲5̲.̲1̲)̲
CC EQ S ̲QEL? S̲V̲U̲P̲ ̲D̲S̲M̲A̲N̲T̲L̲E̲(̲A̲N̲Q̲ ̲Q̲E̲L̲)̲(̲4̲.̲1̲.̲5̲.̲3̲)̲
RETURN
Fig. 4.2.2.4.13-1
PLAINDRESS ̲EDIT
CASE SVUP ̲QEL ̲ATTR.MAINTYPE OF QELEMENT ̲MAIN ̲TYPE
PLAINDRESS ̲SERVICE? CASE E̲D̲I̲T̲ ̲M̲S̲G̲ ̲V̲A̲L̲(̲ ̲ ̲ ̲
̲ ̲ ̲ ̲)̲:̲ ̲E̲R̲R̲O̲R̲ ̲O̲K̲
ERROR? CC
=
S
̲QERROR
OK? CC
=S
̲OPEN
END CASE
TEP ̲INTERNAL? CASE E̲D̲I̲T̲ ̲A̲N̲S̲ ̲V̲A̲L̲(̲ ̲ ̲ ̲
̲ ̲ ̲ ̲)̲:̲ ̲E̲R̲R̲O̲R̲ ̲O̲K̲
ERROR? CC
=
S
̲QERROR
OK? CC
=
S
̲QEL
END CASE
OTHERWISE? CC = S ̲QERROR
END CASE
Fig. 4.2.2.4.13-2
ABB ̲PLAINDRESS ̲EDIT
CASE SVUP ̲QEL ̲ATTR.MAINTYPE OF QELEMENT ̲MAIN ̲TYPE
ABB ̲PLAINDRESS ̲SERVICE? CASE E̲D̲I̲T̲ ̲M̲S̲G̲ ̲V̲A̲L̲(̲ ̲ ̲ ̲
̲ ̲ ̲ ̲ ̲)̲:̲ ̲E̲R̲R̲O̲R̲ ̲O̲K̲
ERROR? CC
=
S
̲QERROR
OK? CC = S ̲OPEN
END CASE
TEP ̲INTERNAL? CASE E̲D̲I̲T̲ ̲A̲N̲S̲ ̲V̲A̲L̲(̲ ̲ ̲ ̲
̲ ̲ ̲ ̲ ̲)̲:̲ ̲E̲R̲R̲O̲R̲ ̲O̲K̲
ERROR? CC
=
S
̲QERROR
OK? CC
=
S
̲QEL
END CASE
OTHERWISE? CC = S ̲QERROR
END CASE
Fig. 4.2.2.4.13-3
ABBREVIATED ̲EDIT
CASE SVUP ̲QEL ATTR.MAINTYPE OF QELEMENT ̲MAIN ̲TYPE
ABB ̲SERVICE? CASE E̲D̲I̲T̲ ̲M̲S̲G̲ ̲V̲A̲L̲(̲ ̲ ̲ ̲ ̲ ̲ ̲)̲:̲
̲E̲R̲R̲O̲R̲ ̲O̲K̲
ERROR? CC
=
S
̲QERROR
OK? CC
=
S
̲OPEN
END CASE
TEP ̲INTERNAL? CASE E̲D̲I̲T̲ ̲A̲N̲S̲ ̲V̲A̲L̲(̲ ̲ ̲ ̲ ̲ ̲ ̲)̲:̲
̲E̲R̲R̲O̲R̲ ̲O̲K̲
ERROR? CC
=
S
̲QERROR
OK? CC
=
S
̲QEL
END CASE
OTHERWISE? CC = S ̲QERROR
END CASE
Fig. 4.2.2.4.13-4
STATUS ̲ACK
CASE SVUP ̲QEL ̲ATTR.MAINTYPE OF QELEMENT ̲MAIN ̲TYPE
STATUS? CASE SVUP ̲QEL ̲ATTR.SUBTYPE OF STATUS
̲SUBTYPE
OUTGOING ̲SERVICE ̲MSG ̲STATUS? CC
=
S
̲OPEN
OHERWISE? CC
=
S
̲QERROR
END CASE
OTHERWISE? CC = S ̲QERROR
END CASE
Fig. 4.2.2.4.13-5
SVC ̲DELETION
CASE SVUP ̲QEL ̲ATTR.MAINTYPE OF QELEMENT ̲MAIN ̲TYPE
TEP ̲INTERNAL? CASE SVUP ̲QEL ̲ATTR.SUBTYPE
OF TEP ̲INTERNAL ̲SUB-
TYPE
UMAM ̲ERROR ̲RESP? CASE SVUP ̲QEL
̲ATTR.INF OF
DELETE ̲ANS
̲TYPE
DELETED?
UMAM
̲ER ̲NO
=
CC
= S
̲QEL
CIF
̲NOT
̲FOUND?
UMAM
̲ER ̲NO
=
CC
=
S
̲QEL
OTHERWISE? CC
=
S
̲QERROR
END CASE
OTHERWISE? CC =
S ̲QERROR
END CASE
OTHERWISE? CC = S ̲QERROR
END CASE
Fig. 4.2.2.4.13-6
ABB ̲PLAINDRESS ̲ACK
CASE SVUP ̲QEL ̲ATTR.MAINTYPE OF QELEMENT ̲MAIN ̲TYPE
ABB ̲PLAINDRESS ̲SERVICE? CASE SVUP ̲QEL ̲ATTR.SUBTYPE
OF
MESSAGE
̲SUBTYPE
SUSPENDED ̲DEERRED?
CC = S ̲OPEN
OTHERWISE?
CC
=
S
̲QERROR
END CASE
ACK? CASE SVUP ̲QEL ̲ATTR.SUBTYPE OF ACK ̲SUBTYPE
THP ̲ACK? CC = S ̲QEL
OTHERWISE? CC = S ̲QERROR
END CASE
OTHERWISE? CC = S ̲QERROR
END CASE
Fig. 4.2.2.4.13-7…86…1 …02… …02… …02… …02… …02… …02… …02… …02… …02… …02…
ABBREVIATED ̲ACK
CASE SVUP ̲QEL ̲ATTR.MAINTYPE OF QELEMENT ̲MAIN ̲TYPE
ABB ̲SERVICE? CASE SVUP QEL ̲ATTR.SUBTYPE OF MESSAGE
̲SUBTYPE
SUSPENDED ̲DEFERRED? CC
=
S
̲OPEN
OTHERWISE? CC = S ̲QERROR
END CASE
ACK? CASE SVUP ̲QEL ̲ATTR.SUBTYPE OF ACK ̲SUBTYPE
THP ̲ACK? CC = S ̲QEL
OTHERWISE? CC = S ̲QERROR
END CASE
OTHERWISE? CC = S ̲QERROR
END CASE
Fig. 4.2.2.4.13-8
CIF ̲DELETION
CASE SVUP ̲QEL ̲ATTR.MAINTYPE OF QELEMENT ̲MAIN ̲TYPE
TEP ̲INTERNAL? CASE SVUP ̲QEL ̲ATTR.SUBTYPE OF TEP
̲INTER-
NAL
̲SUBTYPE
UMAM ̲ERROR ̲RESP?
CASE SVUP ̲QEL ̲ATT.FLAG OF UMAM
̲RE-
SPONSE
̲TYPE
DELETE ̲RESP? CASE SVUP
̲QEL ̲ATTR.
INF
OF
DELETE
̲
ANS
̲TYPE
CIF
̲NOT
̲FOUND,
CIF
̲ACTIVE?
CC
=
S
̲QEL
OTHERWIE?
CC
=
S ̲QERROR
END CASE
OTHERWISE? CC
=
S
̲QERROR
END CASE
OTHERWISE? CC = S ̲QERROR
END CASE
OTHERWISE? CC = S ̲QERROR
END CASE
Fig. 4.2.2.4.13-9
EDIT ̲MSG ̲VAL
CASE SVUP ̲QEL ̲ATTR.SUBTYPE OF MESSAGE SUBTYPE
FOR ̲CONTINUED ̲PREPARATION? RETURN(OK)
OTHERWISE? RETURN(ERROR)
END CASE
Fig. 4.2.2.4.13.3-1
EDIT ̲ANS ̲VAL
CASE SVUP ̲QEL ̲ATTR.SUBTYPE OF TEP ̲INTERNAL ̲SUBTYPE
UMAM ̲ERROR ̲RESP? CASE SVUP ̲QEL ̲ATTR.FLAG OF
UMAM ̲RE-
SPONSE ̲TYPE
EDIT ̲RESP? CASE SVUP ̲QE
̲ATTR.INF OF
EDIT
̲ANS ̲TYPE
NOT ̲FOUND?
UMAM ̲ER ̲NO=
CC = OK
SEC ̲PROFILE?
UMAM ̲ER ̲NO=
CC = OK
OTHERWISE?
CC = ERROR
ED CASE
OTHERWISE? CC = ERROR
END CASE
OTHERWISE? CC = ERROR
END CASE
RETURN(CC)
Fig. 4.2.2.4.13.3-2
4.2.2.4.14 R̲E̲T̲R̲I̲E̲V̲A̲L̲ ̲R̲E̲Q̲U̲E̲S̲T̲
4.2.2.4.14.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 module sends a request of the specified type to
SAR and awaits the answer. First an online/offline
notifcation is awaited, and if online then the retrieved
item is expected.
The module can be abnormally terminated by a queue
error or by a STOP/CLOSE command from SVCO.
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) RETRIEVAL ̲REQUEST(RETRBIT: RETR ̲BIT ̲TYPE)
(CC: FUNC ̲LAB)
b) RETRIEVAL ̲REQUEST(R0, 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̲s̲
R5 RETR ̲BIT (DEST)
R6 LINK (DEST)
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R0 CC (DEST)
R1-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̲
RETR ̲BIT ̲TYPE Refer 4.1.4
FUNC ̲LAB Refer 4.2.2.5
WORK3 ̲STATE Refer 4.2.2.5
SENDER ̲ID ̲TYPE Refer 4.1.4
SVUP ̲OP ̲TYPE Refr 4.1.4
HEADER ̲TXT ̲TYPE Refer 4.1.4
b) E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲
TMP ̲SEQ ̲KEY (m) Refer 4.2.2.5
SEQ ̲REL Refer 4.2.2.5
c) L̲o̲c̲a̲l̲ ̲D̲a̲t̲a̲
None
4.2.2.4.14.5 P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲D̲e̲s̲i̲g̲n̲
Refer figure 4.2.2.4.14-1
RETRIEVAL ̲REQUEST
S̲E̲N̲D̲ ̲R̲E̲Q̲U̲E̲S̲T̲ ̲T̲O̲ ̲S̲A̲R̲(̲R̲E̲Q̲ ̲B̲I̲T̲)̲(̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲)̲
NOTIFICATION ̲LOOP
W̲A̲I̲T̲ ̲S̲F̲C̲O̲ ̲E̲V̲E̲N̲T̲(̲W̲O̲R̲K̲3̲ ̲S̲T̲A̲T̲E̲)̲(̲S̲V̲U̲P̲ ̲O̲P̲)̲(̲4̲.̲2̲.̲2̲.̲6̲.̲1̲0̲)̲
CASE SVUP ̲OP.ID(2) OF SENDER ̲ID ̲TYPE
VCO ̲ID? CASE SVUP ̲OP.CMD OF
STOP ̲SFCO? RETURN(E ̲STOP)
CLOSE ̲SFCO? RETURN(E ̲CLOSE)
END CASE
FC ̲KEY ̲ID? C̲A̲S̲E̲ ̲F̲E̲T̲C̲H̲ ̲A̲N̲D̲ ̲V̲A̲L̲ ̲K̲E̲Y̲(̲F̲C̲ ̲K̲E̲Y̲,̲ ̲C̲C̲)̲:̲
̲E̲X̲C̲ ̲D̲O̲N̲E̲
(̲4̲.̲2̲.̲2̲.̲6̲.̲1̲2̲)̲
EXC? RETURN(E ̲SPLIT ̲FAILED)
DONE? R̲E̲Q̲U̲E̲S̲T̲ ̲F̲C̲ ̲K̲E̲Y̲ ̲I̲N̲P̲U̲T̲(̲4̲.̲2̲.̲2̲.̲6̲.̲6̲)̲
END CASE
SRETR ̲ID? A̲N̲A̲L̲Y̲S̲E̲ ̲N̲O̲T̲I̲F̲I̲C̲A̲T̲I̲O̲N̲(̲-̲2̲)̲
OTHERWISE? S̲V̲U̲P̲ ̲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 NOTIFICATION ̲LOOP
W̲A̲I̲T̲ ̲R̲E̲T̲R̲I̲E̲V̲E̲D̲ ̲I̲T̲E̲M̲(̲-̲3̲)̲
Fig. 4.2.2.4.14-1
A̲N̲A̲L̲Y̲S̲E̲ ̲N̲O̲T̲I̲F̲I̲C̲A̲T̲I̲O̲N̲
CASE SVUP ̲OP.CMD OF
S ̲ONLINE ̲NOTIFICATION? 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̲.̲1̲5̲)̲
EXC? RETURN(E ̲SPLIT
̲FAILED)
DONE? EXIT NOTIFICATION
̲LOOP
END CASE
S ̲OFFLINE ̲NOTIFICATION? 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̲.̲1̲5̲)̲
EXC? RETURN(E ̲SPLIT
̲FAILED)
DONE? TMP ̲SEQ ̲KEY.FORMAT
=
SEQ ̲REC.KEYFORMAT
TMP ̲SEQ ̲KEY.CODE
=
SEQ ̲OFF ̲NOT
RETURN(E ̲CON)
END CASE
S ̲QERROR ̲NOTIFICATION? 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̲.̲1̲3̲)̲
EXC? RETURN(E ̲SPLIT
̲FAILED)
DONE TMP ̲SEQ ̲KEY.FORMAT
=
SEQ ̲REC.KEY.FORMAT
TMP ̲SEQ ̲KEY.CODE
=
SEQ ̲OFF ̲NOT
RETURN(E ̲CON)
END CASE
OTHERWISE? S̲V̲U̲P̲ ̲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.14-2…86…1 …02… …02… …02… …02… …02… …02… …02… …02… …02… …02…
W̲A̲I̲T̲ ̲R̲E̲T̲R̲I̲E̲V̲E̲D̲ ̲I̲T̲E̲M̲
RETRIEVE ̲LOOP
W̲A̲I̲T̲ ̲S̲F̲C̲O̲ ̲E̲V̲E̲N̲T̲(̲W̲O̲R̲K̲3̲ ̲S̲T̲A̲T̲E̲)̲(̲S̲V̲U̲P̲ ̲O̲P̲)̲(̲4̲.̲2̲.̲2̲.̲6̲.̲1̲0̲)̲
CASE SVUP ̲OP.ID(2) OF SENDER ̲ID ̲TYPE
SVCO ̲ID? CASE SVUP ̲OP.CMD OF
STOP ̲SFO? RETURN(E ̲STOP)
CLOSE ̲SFCO? RETURN(E ̲CLOSE)
END CASE
FC ̲KEY ̲ID? C̲A̲S̲E̲ ̲F̲E̲T̲C̲H̲ ̲A̲N̲D̲ ̲V̲A̲L̲ ̲K̲E̲Y̲(̲F̲C̲ ̲K̲E̲Y̲,̲
̲C̲C̲)̲:̲
E̲X̲C̲ ̲D̲O̲N̲E̲(̲4̲.̲2̲.̲2̲.̲6̲.̲1̲2̲)̲
EXC? RETURN(E ̲SPLIT ̲FAILED)
DONE? R̲E̲Q̲U̲E̲S̲T̲ ̲F̲C̲ ̲K̲E̲Y̲ ̲I̲N̲P̲U̲T̲