top - download
⟦571320d8a⟧ Wang Wps File
Length: 35062 (0x88f6)
Types: Wang Wps File
Notes: CPS/SDS/037
Names: »1887A «
Derivation
└─⟦3aebbc545⟧ Bits:30006093 8" Wang WCS floppy, CR 0145A
└─ ⟦this⟧ »1887A «
WangText
…02…CPS/SDS/037
…02…820514
MDCO VDU
DETAILED DESIGN SPECIFICATION…02……02…CAMPS
DIRT ̲OP ̲PROCESSING:
CASE DIRT ̲OP.CMD OF DIRT ̲NOT ̲TYPE
ONLINE ̲NOTIFICATION? 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̲)̲
OFFLINE ̲NOTIFICATION? 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̲)̲
SEQUENCE ̲CODE ̲NO = SEQ
̲OFF ̲NOT
M̲D̲O̲S̲ ̲S̲E̲Q̲U̲E̲N̲C̲E̲ ̲(̲4̲.̲2̲.̲2̲.̲4̲.̲l̲l̲)̲
RETRIEVAL ̲NOTIFICATION?
CASE DIRT ̲OP.PARA1
PLAINDRESS? P̲L̲A̲I̲N̲
̲F̲O̲R̲
̲R̲E̲T̲V̲
̲(̲-̲2̲)̲
SC ̲PLAINDRESS? S̲C̲
̲P̲L̲A̲I̲N̲
̲F̲O̲R̲
̲R̲E̲T̲V̲
̲(̲-̲3̲)̲
ABB ̲PLAINDRESS? A̲B̲B̲
̲P̲L̲A̲I̲N̲
̲F̲O̲R̲
̲R̲E̲T̲V̲(̲-̲4̲)̲
SYSTEM ̲CATALOGUE
DISPLAY? S̲Y̲S̲T̲E̲M̲
̲F̲O̲R̲ ̲R̲E̲T̲V̲(̲-̲5̲)̲
OTHERWISE? T̲E̲P̲
̲I̲N̲T̲E̲R̲N̲A̲L̲
̲E̲R̲R̲O̲R̲(̲G̲I̲V̲E̲
U̲P̲)̲(̲4̲.̲l̲.̲5̲.̲2̲)̲
END CASE
RETRIEVAL ̲ERROR? 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̲)̲
SEQUENCE ̲CODE ̲NO
= RETV ̲ERROR
M̲D̲O̲S̲ ̲S̲E̲Q̲U̲E̲N̲C̲E̲ ̲(̲4̲.̲2̲.̲2̲.̲4̲.̲1̲1̲)̲
OTHERWISE? T̲E̲P̲ ̲I̲N̲T̲E̲R̲N̲A̲L̲ ̲E̲R̲R̲O̲R̲(̲G̲I̲V̲E̲ ̲U̲P̲)̲(̲4̲.̲l̲.̲5̲.̲2̲)̲
END CASE
FIG. 4.2.2.4.7-1
PLAIN FOR RETV
DIRT ̲OP.PARA2.CAMPS ORIGINATED EQ TRUE?
DIRT ̲OP.PARA2. FLAG.READDRESSED
EQ TRUE?
T̲E̲P̲ ̲I̲N̲T̲E̲R̲N̲A̲L̲ ̲E̲R̲R̲O̲R̲(̲G̲I̲V̲E̲
̲U̲P̲)̲(̲4̲.̲l̲.̲5̲.̲2̲)̲
SEQUENCE ̲FORMAT ̲NO = RETV ̲PLAIN
̲CA
SEQUENCE ̲CODE ̲NO = START
M̲D̲O̲S̲ ̲S̲E̲Q̲U̲E̲N̲C̲E̲ ̲(̲4̲.̲2̲.̲2̲.̲4̲.̲l̲l̲)̲
DIRT ̲OP.PARA2.FLAG.READDRESSED EQ TRUE?
SEQUENCE ̲FORMAT ̲NO = RETV ̲PLAIN
̲AD
SEQUENCE ̲CODE ̲NO = START
M̲D̲O̲S̲ ̲S̲E̲Q̲U̲E̲N̲C̲E̲ ̲(̲4̲.̲2̲.̲2̲.̲4̲.̲l̲l̲)̲
SEQUENCE ̲FORMAT ̲NO = RETV ̲PLAIN
SEQUENCE CODE NO = START
M̲D̲O̲S̲ ̲S̲E̲Q̲U̲E̲N̲C̲E̲ ̲(̲4̲.̲2̲.̲2̲.̲4̲.̲l̲l̲)̲
END
4.2.2.4.7-2
SC ̲PLAIN ̲FOR.RETV
DIRT ̲OP.PARA2.FLAG.CAMPS ORIGINATED EQ TRUE?
T̲E̲P̲ ̲I̲N̲T̲E̲R̲N̲A̲L̲ ̲
E̲R̲R̲O̲R̲(̲C̲O̲N̲T̲)̲(̲4̲.̲2̲.̲5̲.̲2̲)̲
SEQUENCE ̲FORMAT ̲NO = RETV ̲SC ̲PLAIN
SEQUENCE ̲CODE ̲NO = START
M̲D̲O̲S̲ ̲S̲E̲Q̲U̲E̲N̲C̲E̲ ̲(̲4̲.̲2̲.̲2̲.̲4̲.̲l̲l̲)̲
END
Fig. 4.2.2.4.7-3
ABB ̲PLAIN FOR RETV
DIRT ̲OP.PARA2.CAMPS ORIGINATED EQ TRUE? T̲E̲P̲
̲I̲N̲T̲E̲RN̲A̲L̲
̲E̲R̲R̲O̲R̲(̲C̲O̲N̲T̲)̲(̲4̲.̲l̲.̲5̲.̲2̲)̲
DIRT ̲OP.PARA2.FLAG.READDRESSED EQ TRUE?
SEQUENCE ̲FORMAT ̲NO =
RETV ̲ABB ̲PLAN ̲AD
SEQUENCE ̲CODE ̲NO = START
M̲D̲O̲S̲ ̲S̲E̲Q̲U̲E̲N̲C̲E̲ ̲(̲4̲.̲2̲.̲2̲.̲4̲.̲l̲l̲)̲
SEQUENCE ̲FORMAT ̲NO = RETV ̲ABB ̲PLAIN
SEQUENCE ̲CODE ̲NO = START
M̲D̲O̲S̲ ̲S̲E̲Q̲U̲E̲N̲C̲E̲ ̲(̲4̲.̲2̲.̲2̲.̲4̲.̲l̲l̲)̲
END
Figure 4.2.2.4.7-4
SYSTEM FOR RETV
SEQ ̲FORMAT ̲NO = MDOS ̲SYS ̲ON
SEQ ̲CODE ̲NO = START
M̲D̲O̲S̲ ̲S̲E̲Q̲U̲E̲N̲C̲E̲ ̲(̲4̲.̲2̲.̲2̲.̲4̲.̲1̲1̲
END
Figure 4.2.2.4.7-5
4.2.2.4.8 M̲D̲O̲S̲ ̲I̲N̲/̲O̲U̲T̲ ̲L̲I̲N̲E̲
4.2.2.4.8.l 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 input from command line and signal
the number of lines to be inserted or
number of lines to be deleted to DIDIA.
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) MDOS ̲IN/OUT ̲LINE
b) MDOS ̲IN/OUT ̲LINE (R6)
R̲e̲g̲i̲s̲t̲e̲r̲ ̲C̲o̲n̲v̲e̲n̲t̲i̲o̲n̲
C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲
R6 LINK (DEST)
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲
R0 - R7 (DEST)
4.2.2.4.8.3 M̲o̲d̲u̲l̲e̲ ̲C̲o̲m̲p̲o̲n̲e̲n̲t̲
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̲
MDOS ̲CO ̲OP ̲TYPE refer
4.l.4
MDOS ̲F/C ̲KEY ̲TYPE refer
4.2.2.5
SENDER ̲ID ̲TYPE refer
4.l.4
DIFCO ̲DIDIA ̲CMD ̲TYPE refer
4.l.4
b) E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲
CMD ̲RESP ̲AREA refer
4.2.2.5
IN ̲FLAG (m) refer
4.2.2.5
OUT ̲FLAG (m) refer
4.2.2.5
HEADER ̲IFCB refer
4.l.4
MDOS ̲S3 (m) refer
4.l.4
FREE ̲DIFCO ̲OP ̲SET (m) refer
4.l.4
ERROR ̲NO (m) refer
4.2.2.5
c) L̲o̲c̲a̲l̲ ̲D̲a̲t̲a̲
CONST ̲MAX ̲NO : 1000
4.2.2.4.8.5 M̲o̲d̲u̲l̲e̲ ̲D̲e̲s̲i̲g̲n̲
If the expected F/C ̲key (Return) is entered,
the contents of command line is fetched,
analysed and a command is signalled to
DIDIA. Otherwise other common procedures
called in order to display an error message
and to reset the cursor on the command
line.
MDOS ̲IN ̲OUT ̲LINE
CONVERT TO INTEGER
NOT ̲OK? 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̲)̲
S̲E̲T̲ ̲C̲U̲R̲S̲O̲R̲ ̲(̲H̲E̲A̲D̲E̲R̲)̲(̲4̲.̲2̲.̲2̲.̲6̲.̲2̲)̲
OK? S̲E̲N̲D̲ ̲T̲O̲ ̲D̲I̲D̲I̲A̲ ̲(̲ ̲ ̲(̲-̲2̲)̲ ̲ ̲)̲
S̲E̲T̲ ̲C̲U̲R̲S̲O̲R̲ ̲(̲F̲O̲R̲M̲A̲T̲)̲(̲4̲.̲2̲.̲2̲.̲6̲.̲2̲)̲
END
Figure 4.2.2.4.8-l
SEND TO DIDIA
NO OF LINES GT MAX ̲NO? 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̲)̲
S̲E̲T̲
̲C̲U̲R̲S̲O̲R̲(̲H̲E̲A̲D̲E̲R̲)̲(̲4̲.̲2̲.̲2̲.̲6̲.̲2̲)̲
IN ̲FLAG = TRUE? F̲E̲T̲C̲H̲ ̲D̲I̲F̲C̲O̲ ̲O̲P̲E̲R̲A̲T̲I̲O̲N̲(̲4̲.̲2̲.̲2̲.̲6̲.̲3̲0̲)̲
DIFCO ̲OP.CMD = L ̲INSERT
EXP ̲DIDIA ̲CMD = L ̲INSERT
DIFCO ̲OP.PARA1 = LINE
̲NO
IN ̲FLAG = FALSE
SIGNAL ̲OPSEM(MDOS ̲S3,DIFCO
̲OP):OK
OUT ̲FLAG = TRUE? F̲E̲T̲C̲H̲ ̲D̲I̲F̲C̲O̲ ̲O̲P̲E̲R̲A̲T̲I̲O̲N̲
̲(̲4̲.̲2̲.̲2̲.̲6̲.̲3̲0̲)̲
DIFCO ̲OP.CMD = L ̲DELETE
EXP ̲DIDIA ̲CMD = L ̲DELETE
DIFCO ̲OP.PARA = LINE ̲NO
OUT ̲FLAG = FALSE
SIGNAL ̲OPSEM(MDOS ̲S3,DIFCO
̲OP):OK
T̲E̲P̲ ̲I̲N̲T̲E̲R̲N̲A̲L̲ ̲E̲R̲R̲O̲R̲(̲G̲I̲V̲E̲ ̲U̲P̲)̲(̲4̲.̲l̲.̲5̲.̲2̲)̲
END
4.2.2.4.8-2
4.2.2.4.9 M̲D̲O̲S̲ ̲C̲M̲D̲ ̲P̲E̲N̲D̲I̲N̲G̲
4.2.2.4.9.l 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 fetch
the content of the command line, validate
it, display terminal field text and enter
the SEQUENCE module (4.2.2.4.ll).
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) MDOS ̲CMD ̲PENDING (BYTES ̲TRANSFERRED)
b) MDOS ̲CMD ̲PENDING (R6)
C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲
R6 LINK (DEST)
R7 BYTES ̲TRANSFERRED (DEST)
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲
R0 - R7 (DEST)
4.2.2.4.9.3 M̲o̲d̲u̲l̲e̲ ̲C̲o̲m̲p̲o̲n̲e̲n̲t̲
NONE…86…1…02… …02… …02… …02… …02… …02…
…02…
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̲
MDOS ̲F/C ̲KEY ̲TYPE ̲TYPE refer
4.2.2.5
IOC ̲FIELD ̲DESCRIPTOR ̲TYPE refer
4.l.4
SEQUENCE ̲KEY ̲TYPE refer
4.2.2.5
MDOS ̲RECV ̲QUEUE ̲TYPE refer
4.2.2.5
b) E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲
MDOS ̲SEND ̲PARAMS refer
4.l.4
CIF ̲BUFFER refer
4.2.2.5
CURRENT ̲SUBQ refer
4.2.2.5
CURRENT ̲MAINQ refer
4.2.2.5
CMD ̲RESP ̲AREA refer
4.2.2.5
FORMAT ̲ID refer
4.l.4
ERROR ̲NO (m) refer
4.2.2.5
CMD ̲FLAG (m) refer
4.2.2.5
HEADER ̲IFCB refer
4.l.4
FIRST ̲FIELD ̲RECORD (m) refer
4.2.2.5
SEQUENCE ̲KEY ̲TYPE (m) refer
4.2.2.5
c) L̲o̲c̲a̲l̲ ̲D̲a̲t̲a̲
TYPE CMD ̲RECORD: CMD ̲RECORD ̲TYPE
CMD ̲RECORD ̲TYPE =
RECORD
CMD: ARRAY (l 4) OF CHAR
VDU ̲HEADER ̲TEXT: ARRAY (l 26)
OF CHAR
CAPABILITY: USER ̲CAPABILITY ̲TYPE
VDU ̲HEADER ̲TEXT ̲FLAG: BOOLEAN
SEQUENCE ̲RECORD ̲KEY ̲NO: SEQUENCE
̲KEY ̲TYPE
MODE : INTEGER
VALIDATE : MDOS
̲HEADER
̲VALIDATION
̲TYPE
PARAMETER : BOOLEAN
END;
CC ̲FLAG : BOOLEAN
INIT CC ̲FLAG = TRUE
CONST COMMAND ̲LENGTH = 4 CHAR
TYPE CURRENT MODE = (INTERACTIV, RESPONSE,
MDAS)
TYPE MDCO ̲CMD = CMD ̲RECORD ̲TYPE
TYPE CMD ̲PARAM = CMD ̲PARAM ̲TYPE
CMD ̲PARAM = RECORD
CMD : CMD
̲TYPE
INFO : INTEGER
LINK : POINTER
END
TYPE CMD = ARRAY (l 4) OF CHAR
TYPE MDOS ̲HEADER ̲VALIDATION = (CPFP,CAPP,CASP)
VAR VALIDATE: MDOS ̲HEADER ̲VALIDATION
̲TYPE
CONST CMD ̲PARAMETER ̲SIZE = 4 CHAR
CONST CMD ̲MASK = FFFF
CMD ̲PARAM ̲TABLE = ARRAY(0..MAX ̲NO ̲OF ̲PARAMS)OF
CMD ̲PAR
CMD ̲PAR = RECORD
TYPE : PARAMETER ̲TYPE
NO ̲OF ̲CHAR: INTEGER
START ̲POS: INTEGER
END
PARAMETER ̲TYPE = (ALPHA ̲TYPE, NUM ̲TYPE, ALPHA
̲NUM ̲TYPE)
PAR ̲TYPE ̲SET = (ALPHA, NUM, ALPHA ̲NUM)
ALPHA ̲TYPE = ALPHA..ALPHA
NUM ̲TYPE = NUM..NUM
ALPHA ̲NUM ̲TYPE = ALPHA..ALPHA ̲NUM
TYPE D ̲CHAR: "ASCII CHARACTER SET
TYPE A ̲CHAR: A..Z
TYPE N ̲CHAR: 0..9
TYPE SPACE: "ASCII SPACE
TYPE KOMME: ,
VAR NO ̲OF ̲CHAR: INTEGER
VAR P ̲TYPE: PARAMETER ̲TYPE
CONST MAX ̲NO ̲OF PARAMS = 1000
4.2.2.4.9.5 M̲o̲d̲u̲l̲e̲ ̲D̲e̲s̲i̲g̲n̲
The content of command line is analysed
and a call to TMP is issued, in order
to validate the command.
Capability is checked.
Either is the terminal ̲field text displayed
or the field is blanked.
Sequence ̲Code ̲No is calculated and MDOS
̲SEQUENCE module (4.2.2.4.ll) is entered.
If any item ref. is following a command
for continue message preparation it is
validated before further distribution.
MDOS CMD ̲RECORD
BYTE ̲TRANSFERRED LT COMMAND ̲LENGTH? 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̲)̲
L̲O̲O̲K̲U̲P̲ ̲P̲A̲R̲A̲M̲E̲T̲E̲R̲S̲(̲4̲.̲2̲.̲2̲.̲4̲.̲9̲-̲2̲) S̲E̲T̲ ̲C̲U̲R̲S̲O̲R̲(̲H̲E̲A̲D̲E̲R̲)̲(̲4̲.̲2̲.̲2̲.̲6̲.̲2̲)̲
NO ̲OF ̲PARAMS EQ 1000? 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̲)
KEY ̲COUNT = l S̲E̲T̲ ̲C̲U̲R̲S̲O̲R̲(̲H̲E̲A̲D̲E̲R̲)̲(̲4̲.̲2̲.̲2̲.̲6̲.̲2̲)̲
EQUIVALENCE(CIF ̲BUFFER(l),CMD ̲PARAM;CMD ̲PARAM
̲TYPE)
EQUIVALENCE(CIF ̲BUFFER(l + SIZE(CMD ̲PARAM ̲TYPE))MDOS
̲CMD:CMD ̲RECORD)
CMD ̲PARAM.CMD = CMD.RESP ̲AREA.(CMD ̲PARAM ̲TABLE(1).START
̲POS)
CASE SEARCH ̲PRIMARY ̲KEY(COMMAND ̲TABLE,CMD ̲PARAM,KEY
̲COUNT,
SIZE (CMD ̲RECORD),CMD
̲MASK)
(MDOS-CMD) :ERROR ̲OK
ERROR? ANALYZE ̲ERROR(CC,0)
OK?
END CASE
CMD ̲PARAM.INFO EQ 0? 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̲)̲
S̲E̲T̲ ̲C̲U̲R̲S̲O̲R̲(̲H̲E̲A̲D̲E̲R̲)̲(̲4̲.̲2̲.̲2̲.̲6̲.̲2̲)̲
ASSIGN ̲CURRENT ̲MAINQ(-2)
S̲E̲T̲
̲C̲U̲R̲S̲O̲R̲(̲H̲E̲A̲D̲E̲R̲)
(̲4̲.̲2̲.̲2̲.̲6̲.̲2̲)̲
CMD ̲RECORD.PARAMETER EQ FALSE?
NO OF PARAMS EQ 1 C̲H̲E̲C̲K̲
̲(̲-̲6̲)̲
V̲A̲L̲I̲D̲A̲T̲E̲ ̲P̲A̲R̲A̲M̲E̲T̲E̲R̲S̲ ̲(̲ ̲ ̲-̲7 ̲ ̲)̲ SET
CC
̲FLAG
=TRUE
CC ̲FLAG EQ FALSE?
CMD ̲RECORD.VDU ̲HEADER.TEXT ̲FLAG EQ FALSE?
D̲I̲S̲P̲L̲A̲Y̲ ̲V̲D̲U̲ ̲F̲I̲E̲L̲D̲ ̲(̲V̲D̲U̲ ̲H̲D̲ ̲F̲I̲E̲L̲D̲(̲T̲E̲X̲T̲ ̲P̲T̲R̲)̲ ̲C̲M̲D̲
̲R̲E̲C̲O̲R̲D̲.̲
V̲D̲U̲ ̲H̲E̲A̲D̲E̲R̲ ̲T̲E̲X̲T̲ ̲(̲4̲.̲2̲.̲2̲.̲6̲.̲5̲)̲
END
4.2.2.4.9-l
LOOKUP ̲PARAMETERS
NO ̲OF ̲PARAMS = 0
P ̲TYPE = NONE
HL ̲INDEX = 1
LOOP SCAN ̲LINE
S̲E̲A̲R̲C̲H̲ ̲S̲T̲A̲R̲T̲ ̲(̲4̲.̲2̲.̲2̲.̲4̲.̲9̲-̲3̲)
S̲E̲A̲R̲C̲H̲ ̲E̲N̲D̲ ̲(̲4̲.̲2̲.̲2̲.̲4̲.̲9̲-̲4̲)̲
END
FIG. 4.2.2.4.9-2
SEARCH START
LOOP SEARCH ̲START
CASE HEADER ̲LINE(HL ̲INDEX) OF D ̲CHAR
SPACE, KOMMA?
OTHERWISE? - NO ̲OF ̲PARAMS GT MAX ̲NO ̲OF
̲PARAMS?
NO ̲OF ̲PARAMS = 1000
EXIT LOOP SCAN
̲LINE
EQUIVALENCE(CUR ̲CMD ̲PARAM,
CMD ̲PARAM-
TABLE(NO ̲OF ̲PARAMS):
CMD ̲PARAM)
NO ̲OF ̲PARAMS = NO ̲OF
̲PARAMS + 1
CUR ̲CMD ̲PARAM.START ̲POS
= HL ̲INDEX
EXIT LOOP SEARCH
̲START
END CASE
HL ̲INDEX = HL ̲INDEX + 1
HL ̲INDEX EQ CMD ̲LINE ̲LENGTH + 1? EXIT
LOOP
SCAN
̲LINE
END LOOP SEARCH ̲START
FIG. 4.2.2.4.9-3
S̲E̲A̲R̲C̲H̲ ̲E̲N̲D̲
NO ̲OF ̲CHAR = 1
LOOP SEARCH END
CASE HEADER ̲LINE(HL ̲INDEX) OF D ̲CHAR
A ̲CHAR? CASE P ̲TYPE OF
NONE? - P ̲TYPE = ALPHA
ALPHA, ALPHA ̲NUM?
NUM? - P ̲TYPE = ALPHA ̲NUM
END CASE
N ̲CHAR? - CASE P ̲TYPE OF
NONE? - P ̲TYPE = NUM
NUM, ALPHA ̲NUM?
ALPHA? - P ̲TYPE = ALPHA ̲NUM
END CASE
(SPACE? CUR ̲CMD ̲PARAM.TYPE = P ̲TYPE
KOMMA)
CUR ̲CMD ̲PARAM.NO ̲OF ̲CHAR = NO
̲OF ̲CHAR - 1
EXIT LOOP SEARCH END
OTHERWISE? P ̲TYPE = ALPHA ̲NUM
END CASE
HL ̲INDEX = HL ̲INDEX + 1
HL ̲INDEX EQ CMD ̲LINE ̲LENGTH + 1? - CUR ̲CMD ̲PARAM.TYPE
= P ̲TYPE
CUR ̲CMD ̲PARAM.NO
OF ̲CHAR =
NO ̲OF ̲CHAR
EXIT LOOP
SCAN ̲LINE
NO ̲OF ̲CHAR = NO ̲OF ̲CHAR 1
END LOOP SEARCH END
FIG. 4.2.2.4.9-4
ASSIGN ̲CURRENT ̲MAINQ
RECV ̲MAIN = TRUE
CASE CMD ̲RECORD.MODE OF CURRENT ̲MODE ̲TYPE
INTERACTIV?
RESPONSE? CURRENT ̲MAINQ = MDOS
̲ANQ
CURRENT ̲SUBQ = 2
RECV ̲MAIN = FALSE
MDAS? CURRENT ̲MAINQ = MDOS ̲MDQ
CURRENT ̲SUBQ = 0
OTHERWISE? T̲E̲P̲ ̲I̲N̲T̲E̲R̲N̲A̲L̲ ̲E̲R̲R̲O̲R̲(̲G̲I̲V̲E̲
̲U̲P̲)̲(̲4̲.̲l̲.̲5̲.̲2̲)̲
END CASE
END
Figure 4.2.2.4.9-5
CHECK
SEQUENCE ̲FORMAT ̲NO = CMD ̲RECORD ̲KEY.FORMAT
SEQUENCE ̲CODE ̲NO = CMD ̲RECORD.KEY.CODE
M̲D̲O̲S̲ ̲S̲E̲Q̲U̲E̲N̲C̲E̲ ̲(̲4̲.̲2̲.̲2̲.̲4̲.̲1̲1̲
END
FIG. 4.2.2.4.9-6
VALIDATE ̲PARAMETER
CASE VALIDATE OF MDOS ̲HEADER ̲VALIDATION ̲TYPE
CPFD,
CAPD,
CASP? C̲A̲S̲E̲ ̲S̲E̲Q̲ ̲E̲D̲I̲T̲ ̲(̲C̲M̲D̲ ̲P̲A̲R̲A̲M̲ ̲T̲A̲B̲L̲E̲
(̲P̲A̲R̲A̲M̲2̲)̲.̲S̲T̲A̲R̲T̲ ̲P̲O̲S̲,̲C̲M̲D̲ ̲P̲A̲R̲A̲M̲
̲T̲A̲B̲L̲E̲(̲P̲A̲R̲A̲M̲2̲)̲
N̲O̲ ̲O̲F̲ ̲C̲H̲A̲R̲: ERROR ̲OK
ERROR? 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̲)̲
S̲E̲T̲ ̲C̲U̲R̲S̲O̲R̲ ̲(̲H̲E̲A̲D̲E̲R̲)̲(̲4̲.̲2̲.̲2̲.̲6̲.̲2̲)̲
OK? SEQUENCE FORMAT ̲NO = CMD ̲RECORD
̲KEY ̲FORMAT
SEQUENCE ̲CODE ̲NO = SEQ ̲EDIT ̲REQ
M̲D̲O̲S̲ ̲S̲E̲Q̲U̲E̲N̲C̲E̲ ̲(̲4̲.̲2̲.̲2̲.̲4̲.̲1̲1̲)̲
END CASE
OTHERWISE? T̲E̲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.9-7
4.2.2.4.l0 M̲D̲O̲S̲ ̲D̲I̲S̲P̲L̲A̲Y̲ ̲R̲E̲S̲P̲ ̲M̲S̲G̲ ̲
4.2.2.4.l0.l 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 transfer an error
code into error/response messages, which are displayed
in the command line.
4.2.2.4.l0.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) MDOS ̲DISPLAY ̲RESP ̲MSG
b) MDOS ̲DISPLAY ̲RESP ̲MSG (R6)
R̲e̲g̲i̲s̲t̲e̲r̲ ̲C̲o̲n̲v̲e̲n̲t̲i̲o̲n̲
C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲
R6 LINK (DEST)
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲
R0 - R7 (DEST)
4.2.2.4.l0.3 M̲o̲d̲u̲l̲e̲ ̲C̲o̲m̲p̲o̲n̲e̲n̲t̲
None
4.2.2.4.l0.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̲
MDOS ̲F/C ̲KEY ̲TYPE ̲TYPE refer
4.2.2.5
IOC ̲FIELD ̲DESCRIPTOR ̲TYPE refer
4.l.4
b) E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲
ERROR ̲NO (m) refer
4.2.2.5
MDOS ̲F/C ̲KEY ̲TYPE refer
4.2.2.5
RESPONSE ̲TEST ̲FLAG (m) refer
4.2.2.5
c) L̲o̲c̲a̲l̲ ̲D̲a̲t̲a̲
CONST MAX ERROR ̲NO = 1000
4.2.2.4.l0.5 M̲o̲d̲u̲l̲e̲ ̲D̲e̲s̲i̲g̲n̲
Content of the command line is received
analysed and a call to TMP is issued.
If the input is unacceptable an error
message is displayed.
MDOS ̲DISPLAY ̲RESP ̲MSG
CONVERT TO INTEGER
NOT ̲OK? 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̲)̲
S̲E̲T̲ ̲C̲U̲R̲S̲O̲R̲ ̲(̲H̲E̲A̲D̲E̲R̲)̲(̲4̲.̲2̲.̲2̲.̲6̲.̲2̲)̲
ERROR ̲NO? GT MAX ̲ERROR NO? 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̲)̲
S̲E̲T̲ ̲C̲U̲R̲S̲O̲R̲ ̲(̲H̲E̲A̲D̲E̲R̲)̲(̲4̲.̲2̲.̲2̲.̲6̲.̲2̲)̲
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̲)̲
SET RESPONSE ̲TEXT ̲FLAG = FALSE
END
4.2.2.4.ll M̲D̲O̲S̲ ̲S̲E̲Q̲U̲E̲N̲C̲E̲
4.2.2.4.ll.l 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 enter
the sequence table and perform the content
of one or more of its record e.g. send
information, send commands and set cursor
position.
4.2.2.4.ll.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) MDOS ̲SEQUENCE(SEQUENCE ̲FORMAT ̲NO
: INTEGER)
(SEQUENCE ̲CODE ̲NO
: INTEGER)
b) MDOS ̲SEQUENCE(R4,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̲
R4 POINTER to SEQUENCE ̲FORMAT ̲NO
R5 POINTER to SEQUENCE ̲CODE ̲NO
R6 LINK (DEST)
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R0-R3, R6-R7 (DEST)
4.2.2.4.ll.3 D̲a̲t̲a̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
a)D̲a̲t̲a̲ ̲R̲e̲f̲e̲r̲e̲n̲c̲e̲s̲
SEQ ̲KEY ̲TYPE refer
4.2.2.5
DIFCO ̲DIDIA ̲CMD ̲TYPE refer
4.l.4
FC ̲KEY ̲MASK ̲TYPE refer
4.2.2.5
FC ̲KEY ̲TYPE refer
CPS/DBD/00l
MDOS ̲STORAGE ̲TYPE refer
4.2.2.5
MDOS ̲LOG ̲TYPE refer
4.2.2.5
MDOS ̲STATUS ̲TYPE refer
4.2.2.5
SEQ ̲FUNCTION ̲TYPE refer
4.2.2.5
ACCOUNT ̲TYPE refer
4.2.2.5
MDOS ̲CURSOR ̲TYPE refer
4.2.2.5
SEQ ̲REC ̲TYPE refer
4.2.2.5
VDU ̲SUPV ̲LOG ̲TYPE refer
CPS/DBD/00l
VDU ̲SUPV ̲LOG ̲SIZE refer
CPS/DBD/001
QEL ̲REFERENCE ̲TYPE refer
CPS/DBD/00l
QEL ̲ATTRIBUTES ̲TYPE refer
CPS/DBD/00l
QUEUE ̲REFERENCE ̲TYPE refer
CPS/DBD/00l
PRECEDENCE ̲TYPE refer
CPS/DBD/00l
MDOS ̲CO ̲OP ̲TYPE refer
4.l.4
SENDED ̲ID ̲TYPE refer
4.l.4
CLASSIFICATION ̲TYPE refer
4.2.2.5
MDOS ̲SUBPROCESS ̲SINGLE ̲CAP refer
CPS/DBD/001
MDOS ̲SUBPROCESS ̲GROUP ̲CAP refer
CPS/DBD/001
b) E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲
CURRENT ̲PRECEDENCE refer
4.l.4
SPLIT ̲DIGIT refer
4.2.2.5
MDOS ̲S3 refer
4.l.4
FREE ̲DIFCO ̲OP ̲SET refer
4.1.4
LOG ̲SEQUENCE ̲NO refer
4.2.2.5
HEADER ̲IFCB refer
4.l.4
FORMAT ̲IFCB refer
4.l.4
INTERNAL ̲ERROR ̲INF (m) refer
4.l.4
CURSOR ̲RECORD ̲l (m) refer
4.2.2.5
TRANSCTION ̲ID refer
4.l.4
MDOS ̲SEND ̲PARAMS (m) refer
4.l.4
DIFCO ̲DIDIA ̲CMD ̲TYPE refer
4.l.4
EXP ̲DIDIA ̲CMD refer
4.2.2.5
LOG ̲Q = SVUP ̲MSOS ̲MDOS SYSTEMQ ̲GROUP
̲SHLFT8+
SVUP ̲SYSTEM ̲Q refer
4.1.4
COLLECT ̲Q = SVUP ̲MSOS ̲MDOS ̲SYSTEMQ
̲GROUP ̲SHLFT8+
SVUP
̲UMAM
̲COLOQ refer
4.1.4
PREP ̲Q refer
4.1.4
ISQ = SVUP ̲MSOS ̲MDOS ̲SYSTEMQ ̲GROUP
̲SHLFT8+
SVUP ̲ISQ refer
4.1.4
c) L̲o̲c̲a̲l̲ ̲D̲a̲t̲a̲
CONST MAX ̲BUFFER ̲SIZE =
CONST SEQUENCE ̲MASK = FFFF
VAR PROBLEM ̲NO INTEGER
VAR SEQ ̲REC: SEQ ̲REQ ̲TYPE
CONST LOG ̲BUFFER ̲SIZE = VDU ̲SUPV
̲LOG ̲SIZE
VAR LOG ̲REPORTING BOOLEAN
INIT LOG ̲REPORTING = FALSE
VAR SEQ ̲PARAM = SEQ ̲PARAM ̲TYPE
SEQ ̲PARAM ̲TYPE = RECORD
KEY
: SEQUENCE
̲KEY ̲TYPE
INFO:
INTEGER
LINK:
POINTER
END
VAR BUF ̲QEL QEL ̲REFERENCE
VAR CIF ̲REF ̲QEL QUEUE
̲REFERENCE
MDOS ̲SEQUENCE
L̲O̲O̲K̲ ̲U̲P̲ ̲S̲E̲Q̲U̲E̲N̲C̲E̲ ̲K̲E̲Y̲(̲ ̲-̲2̲)̲
LOG ̲REPORTING EQ FALSE? L̲O̲G̲ ̲R̲E̲P̲O̲R̲T̲I̲N̲G̲
̲(̲ ̲-̲3̲)̲
LOG ̲REPORTING EQ TRUE?
LOG ̲REPORTING = FALSE
CASE.SEQ ̲REC.SAR OF MDOS ̲STORAGE ̲TYPE
NO ̲STORAGE?
STORAGE? S̲A̲R̲ ̲R̲E̲P̲O̲R̲T̲I̲N̲G̲
̲(̲ ̲-̲5̲)̲
END CASE
SEQ ̲REC.STATUS ̲REPORTING NE NULL ? S̲T̲A̲T̲U̲S̲
̲R̲E̲P̲O̲R̲T̲I̲N̲G̲
̲(̲ ̲-̲6̲)̲
SEQ ̲REC.FUNCTION NE NULL? F̲U̲N̲C̲T̲I̲O̲N̲ ̲E̲X̲E̲C̲U̲T̲I̲O̲N̲
̲(̲4̲.̲2̲.̲2̲.̲4̲.̲l̲2̲)̲
CURSOR ̲REC ̲l = REQ ̲REC.CURSOR.POSITION
SEQ ̲REC.CURSOR.SPLIT NE NO ̲SPLIT? S̲E̲T̲ ̲C̲U̲R̲S̲O̲R̲(̲S̲P̲L̲I̲T̲)̲
(̲4̲.̲2̲.̲2̲.̲6̲.̲2̲)̲
SEQ ̲REC.DIDIA ̲CMD NE NULL? S̲E̲Q̲U̲E̲N̲C̲E̲ ̲C̲O̲M̲M̲A̲N̲D̲(̲
̲-̲8̲)̲
SEQ ̲PARAM.FORMAT = SEQ ̲REC.NEW ̲FORMAT
END
Figure 4.2.2.4.ll-l
LOOK ̲UP ̲SEQUENCE ̲KEY
SEQ ̲PARAM.KEY.CODE = SEQUENCE ̲CODE
̲NO
SEQ ̲PARAM.KEY.FORMAT = SEQUENCE ̲FORMAT
̲NO
KEY ̲COUNT = l
CASE SEARCH ̲PRIMARY ̲KEY(SEQUENCE ̲TABLE,SEQ
̲PARAM,
KEY ̲COUNT,SIZE(SEQ
̲REC),SEQ ̲MASK)
(SEQ
̲REC,CC)
: ERROR
̲OK
ERROR? ANALYZE ̲ERROR(CC,0)
OK?
END CASE
SEQ ̲PARAM.INFO EQ 0? - T̲E̲P̲ ̲I̲N̲T̲E̲R̲N̲A̲L̲ ̲E̲R̲R̲O̲R̲(̲G̲I̲V̲E̲
̲U̲P̲)̲(̲4̲.̲l̲.̲5̲.̲2̲)̲
END
Figure 4.2.2.4.ll-2
LOG ̲REPORTING
EQUIVALENCE(CIF ̲BUFFER(l),MDOS ̲LOG : VDU ̲SUPV
̲LOG)
CASE SEQ ̲REC.LOG OF MDOS ̲LOG ̲TYPE
NO ̲LOG? LOG ̲REPORTING = FALSE
LOG? VDU ̲SUPV ̲LOG.TERMINAL ̲DESIGNATION
=
TRANSACTION ̲ID.TERMIAL
̲DESIGNATOR
VDU ̲SUPV ̲LOG.TRANSACTION ̲SERIAL ̲NO
=
TRANSACTION ̲ID.SERIAL
̲NO
VDU ̲SUPV ̲LOG.FORMAT ̲ID = SEQ ̲REC.FORMAT
VDU ̲SUPV ̲LOG.ITEM ̲l ̲REF= ITREF ̲
VDU ̲SUPV.LOG.EXIT ̲CAUSE= SEQ ̲REC.ACCOUNT.EXIT
VDU ̲SUPV ̲LOG.TRANSACTION ̲START ̲TIME=
TRANSACTION
̲ID.TIME
VDU ̲SUPV ̲LOG.MONTH.DAY= CANCEL ̲TIME
CASE MDOS ̲RECV ̲ATTR ̲HEADER.SUBTYPE
OF MESSAGE ̲SUBTYPE
FOR ̲ALTERNATIVR ̲DISTRIBUTION? VDU
̲SUPV ̲LOG.PROBLEM.
CODE = ASSISTANCE FOR ̲ALTERNATIV
̲DISTRIBUTION
NON ̲DELV ̲SC ̲OBJECTS ?
VDU ̲SUPV ̲LOG.PROBLEM.CODE
=
FOR ̲NON ̲DELIVERY ̲OBJECTS
FOR ̲INCOMING ̲DISTRIBUTION ASSISTANCE?
VDU ̲SUPV ̲LOG.PROBLEM ̲CODE=FOR-INCOMING
DISTRI-
BUTION
ASSET
OTHERWISE? M̲D̲O̲S̲ ̲Q̲U̲E̲U̲E̲ ̲E̲R̲R̲O̲R̲
̲(̲C̲O̲N̲T̲I̲N̲U̲E̲)̲(̲4̲.̲l̲.̲5̲.̲l̲)̲
END CASE
C̲O̲N̲T̲I̲N̲U̲E̲ ̲L̲O̲G̲ ̲R̲E̲P̲O̲R̲T̲I̲N̲G̲ ̲(̲ ̲-̲4̲)̲
OTHERWISE? T̲E̲P̲ ̲I̲N̲T̲E̲R̲N̲A̲L̲ ̲E̲R̲R̲O̲R̲(̲G̲I̲V̲E̲ ̲U̲P̲)̲(̲4̲.̲l̲.̲5̲.̲2)̲
END CASE
ITREF = 0
CANCEL ̲TIME = O
END
Figure 4.2.2.4.11-3A
CONTINUE LOG REPORTING
MDOS ̲QNAME. MAINQUEUE = MDOS ̲ARRQ
MDOS ̲QNAME. SUBQUEUE = MDOS ̲ANQ
CASE RESERVE ̲BUFFER(LOG ̲BUFFER ̲SIZE,MDOS ̲QNAME)(BUF
̲QEL,CC):ERROR ̲
OK
ERROR? ANALYZE ̲ERROR(CC,0)
OK?
END CASE
CASE WRITE ̲BUFFER(BUF ̲QEL,(CC):ERROR ̲OK MDOS
̲LOG, LOG ̲BUFFER ̲
SIZE,LOG
̲BUFFER
̲OFFSET)
(CC) : ERROR ̲OK
ERROR? ANALYZE ̲ERROR(CC,0)
OK
Figure 4.2.2.4.11-3B
MDOS ̲SEND ̲PARAMS.MAIN = LOG ̲RECORD
MDOS ̲SEND ̲PARAMS.SUB = FINAL ̲MDCO
LOG ̲Q.MAIN = LOG ̲Q
LOG ̲Q ̲SUBQUEUE = LOG ̲SUBQ
CASE SEND ̲REQUEST(MDOS ̲SEND ̲PARAMS,BUF ̲QEL,LOG
̲Q,MDOS ̲QNAME)
(MDOS ̲SEND ̲PARAMS, CC) : ERROR
̲OK
ERROR? CASE ANALYZE ̲ERROR(CC,2,QEL ̲PROFILE
̲CHECK,BOOKED ̲
QUEUE)(Ll,L2)
Ll ?
L2 ? T̲E̲P̲ ̲Q̲U̲E̲U̲E̲ ̲E̲R̲R̲O̲R̲(̲C̲O̲N̲T̲I̲N̲U̲E̲)̲(̲4̲.̲l̲.̲5̲.̲l̲)̲
END CASE
OK? LOG ̲REPORTING = TRUE
ANQ ̲OP.CMD = REQ ̲LOG
END CASE
DISMANTLE ̲QEL (BUF ̲QEL)(4.1.5.3)
Figure 4.2.2.4.11-4
SAR ̲REPORTING
MDOS ̲SEND ̲PARAMS.MAINTYPE = IMF ̲DESCRIPTOR ̲TYPE.MAINTYPE
MDOS ̲SEND ̲PARAMS.FLAG = CAMPS ̲ORIGINATED
MDOS ̲SEND ̲PARAMS.SUBTYPE = FOR ̲STORAGE
MDOS ̲QNAME = ISQ
CASE ̲SEND ̲QEL(MDOS ̲SEND ̲PARAMS,CIF ̲REF ̲QEL,MDOS
̲QNAME)
(MDOS ̲SEND ̲PARAMS,CC) : ERROR ̲OK
ERROR? ANALYZE ̲ERROR(CC,0),
OK?
END CASE
END?
Figure 4.2.2.4.ll-5
STATUS ̲REPORTING
STATUS EQ OUTGOING ̲2? S̲E̲N̲D̲
̲Q̲E̲L̲ ̲S̲T̲A̲T̲U̲S̲
̲(̲ ̲-̲7̲
̲)
MDOS ̲SEND ̲PARAMS.MAINTYPE = IMF ̲DESCRIPTOR.TYPE.MAINTYPE
MDOS ̲SEND ̲PARAMS.SUBTYPE = DEFERRED/SUSPENDED
MDOS ̲SEND ̲PARAMS FLAG = FIRST ̲FINAL
MDOS ̲SEND ̲PARAMS.INFORMATION.(l) WORD =
INIT AREA.LOGICAL ̲TERMINAL
̲NO
MDOS ̲SEND ̲PARAMS.INFORMATION.(2)WORD= BIN ̲ZERO"0000"
MDOS ̲SEND ̲PARAMS.INFORMATION.(3)WORD= SEC ̲REC.ACCOUNT.STATUS
MDOS ̲QNAME.MAIN = COLLECT ̲Q
MDOS ̲QNAME.SUB = PREP ̲Q
CASE SEND ̲QEL (MDOS ̲SEND ̲PARAMS,CIF ̲REF ̲QEL,MDOS
̲QNAME)
(MDOS ̲SEND ̲PARAMS,CC): ERROR
̲OK
ERROR? ANALYZE ̲ERROR(CC,0)
OK?
END CASE
END
Figure 4.2.2.4.11-6
SEND QEL STATUS
MDOS ̲SEND ̲PARAMS.MAINTYPE = TEP ̲INTERNAL
MDOS ̲SEND ̲PARAMS.SUBTYPE = SVC ̲FINAL ̲STATUS
MDOS ̲SEND ̲PARAMS.FLAG = FINAL
END
Figure 4.2.2.4.ll-7
SEQUENCE ̲COMMAND
F̲E̲T̲C̲H̲ ̲D̲I̲F̲C̲O̲ ̲O̲P̲ ̲(̲4̲.̲2̲.̲2̲.̲6̲.̲3̲1̲)̲
DIFCO ̲OP.CMD = SEQ ̲REC.DIDIA ̲CMD
EXP ̲DIDIA ̲CMD = DIFCO ̲OP ̲CMD
SIGNAL ̲OPSEM(MDOS ̲S3,DIFCO ̲OP) : OK
END
Figure 4.2.2.4.ll-8
4.2.2.4.l2 F̲U̲N̲C̲T̲I̲O̲N̲ ̲E̲X̲E̲C̲U̲T̲I̲O̲N̲
4.2.2.4.l2.l 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 call
the procedures, which have to be executed
before a new transaction is started.
4.2.2.4.l2.2 M̲o̲d̲u̲l̲e̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲
a) FUNCTION ̲EXECUTION: SEQ ̲FUNCTION
̲TYPE)
b) FUNCTION ̲EXECUTION (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 FUNCTION (DEST)
R5 LINK (DEST)
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R0 - R7 (DEST)
4.2.2.4.l2.3 M̲o̲d̲u̲l̲e̲ ̲C̲o̲m̲p̲o̲n̲e̲n̲t̲s̲
None
4.2.2.4.l2.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 ̲FUNCTION ̲TYPE refer
4.2.2.5
QEL ̲REFERENCE ̲TYPE refer
CPS/DBD/00l
NOK ̲OK refer
CPS/DBD/00l
b) E̲x̲t̲e̲r̲n̲a̲l̲ ̲d̲a̲t̲a̲
NEW ̲CIF (m) refer
4.l.4
OLD ̲CIF (m) refer
4.l.4
INPUT ̲CIF (m) refer
4.l.4
OUTPUT ̲CIF (m) refer
4.1.4
ANS ̲FLAG (m) refer
4.2.2.5
RECV ̲MAIN refer
4.2.2.5
ITREF (m) refer
4.2.2.5
CANCEL ̲TIME (m) refer
4.2.2.5
CURRENT ̲MAINQ refer
4.2.2.5
CURRENT ̲SUBQ refer
4.2.2.5
ANQ ̲OP.CMD refer
4.1.4
c) L̲o̲c̲a̲l̲ ̲D̲a̲t̲a̲
VAR NOT: NOT TYPE
TYPE NOT: (SUPERFLASH, FLASH, NULL)
INIT NOT: NULL
4.2.2.4.l2.5 M̲o̲d̲u̲l̲e̲ ̲D̲e̲s̲i̲g̲n̲
A combination of common procedures are
called depending of the required function.
FUNCTION ̲EXECUTION
CASE SEQ ̲REC.FUNCTION OF SEQ ̲FUNCTION TYPE
RECV ̲START? M̲D̲O̲S̲ ̲F̲I̲R̲S̲T̲ ̲Q̲E̲L̲ ̲(̲R̲E̲C̲V̲ ̲Q̲U̲E̲U̲E̲)̲(̲N̲E̲W̲ ̲C̲I̲F̲)̲
(4.2.2.6.29)
DELETE PRESENT? OLD ̲CIF = NEW ̲CIF
T̲E̲P̲ ̲C̲L̲O̲S̲E̲ ̲V̲I̲E̲W̲(̲O̲L̲D̲ ̲C̲I̲F̲)̲(̲4̲.̲2̲.̲2̲.̲6̲.̲2̲5̲)̲
M̲D̲O̲S̲ ̲R̲E̲C̲E̲I̲V̲E̲ ̲N̲E̲X̲T̲(̲O̲L̲D̲ ̲C̲I̲F̲)̲(̲N̲E̲W̲ ̲C̲I̲F̲,̲E̲R̲R̲O̲R̲,̲C̲C̲)
(̲4̲.̲2̲.̲2̲.̲6̲.̲6̲)̲
CASE CC OF
NOT OPENED?SEQ ̲REQ.DIDIA ̲CMD
= NULL
SEQ ̲REC.CURSOR ̲SPLIT
= NO ̲SPLIT
Q ̲EMPTY? 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̲)̲
C̲A̲L̲C̲U̲L̲A̲T̲E̲ ̲M̲E̲N̲U̲ ̲(̲4̲.̲2̲.̲2̲.̲6̲.̲l̲2̲)̲
U̲P̲D̲A̲T̲E̲ ̲V̲D̲U̲ ̲H̲E̲A̲D̲E̲R̲(̲H̲E̲A̲D̲E̲R̲
̲T̲E̲X̲T̲,̲C̲L̲A̲S̲S̲)̲
(̲4̲.̲2̲.̲2̲.̲6̲.̲l̲9̲)̲
RECV ̲OK? U̲P̲D̲A̲T̲E̲ ̲V̲D̲U̲ ̲H̲E̲A̲D̲E̲R̲(̲H̲E̲A̲D̲E̲R̲
̲T̲E̲X̲T̲ ̲C̲L̲A̲S̲S̲)
(̲4̲.̲2̲.̲2̲.̲6̲.̲1̲9̲)̲
M̲D̲O̲S̲ ̲T̲R̲S̲E̲R̲N̲O̲ ̲(̲N̲O̲
̲R̲E̲F̲)̲(̲4̲.̲2̲.̲2̲.̲6̲.̲l̲l̲)̲
OTHERWISE? T̲E̲P̲ ̲I̲N̲T̲E̲R̲N̲A̲L̲ ̲E̲R̲R̲O̲R̲(̲G̲I̲V̲E̲
̲U̲P̲)̲(̲4̲.̲l̲.̲5̲.̲2̲)̲
END CASE
D̲I̲S̲M̲A̲N̲T̲L̲E̲ ̲Q̲E̲L̲ ̲(̲O̲L̲D̲ ̲C̲I̲F̲)̲(̲4̲.̲l̲.̲5̲.̲3̲)̲
CONTINUE ( -2 )
Figure 4.2.2.4.l2-1
KEEP ̲PRECENT ? CURRENT SUBQ GE FLASH?
NOT = CURRENT SUBQ
ANS ̲FLAG EQ TRUE? S̲E̲N̲D̲ ̲P̲R̲E̲S̲E̲N̲T̲
̲(̲-̲4̲)̲
OLD ̲CIF = INPUT ̲CIF
T̲E̲P̲ ̲C̲L̲O̲S̲E̲ ̲V̲I̲E̲W̲(̲O̲L̲D̲ ̲C̲I̲F̲)̲(̲4̲.̲2̲.̲2̲.̲6̲.̲2̲5̲)̲
M̲D̲O̲S̲ ̲R̲E̲C̲E̲I̲V̲E̲ ̲N̲E̲X̲T̲(̲O̲L̲D̲ ̲C̲I̲F̲)̲(̲N̲E̲W̲ ̲C̲I̲F̲,̲E̲R̲R̲O̲R̲,̲C̲C̲)̲(̲4̲.̲2̲.̲2̲.̲6̲.̲6̲)̲
CASE CC OF
NOT OPENED? SEQ ̲REQ.DIDIA ̲CMD
= NULL
SEQ ̲REQ.CURSOR
̲SPLIT = NO ̲SPLIT
Q ̲EMPTY 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̲)̲
C̲A̲L̲C̲U̲L̲A̲T̲E̲ ̲M̲E̲N̲U̲
̲(̲4̲.̲2̲.̲2̲.̲6̲.̲l̲2̲)̲
U̲P̲D̲A̲T̲E̲ ̲H̲E̲A̲D̲E̲R̲(̲C̲L̲E̲A̲R̲
̲H̲E̲A̲D̲E̲R̲,̲M̲A̲X̲ ̲C̲L̲A̲S̲S̲)̲
(̲4̲.̲2̲.̲2̲.̲6̲.̲l̲9̲)̲
RECV ̲OK? OLD CIF = NEW CIF
U̲P̲D̲A̲T̲E̲ ̲V̲D̲U̲ ̲H̲E̲A̲D̲E̲R̲(̲H̲E̲A̲D̲E̲R̲
̲T̲E̲X̲T̲,̲C̲L̲A̲S̲S̲)̲
(̲4̲.̲2̲.̲2̲.̲6̲.̲l̲9̲)̲
M̲D̲O̲S̲ ̲T̲R̲S̲E̲R̲N̲O̲ ̲(̲N̲O̲
̲R̲E̲F̲)̲(̲4̲.̲2̲.̲2̲.̲6̲.̲l̲l̲)̲
OTHERWISE? T̲E̲P̲ ̲I̲N̲T̲E̲R̲N̲A̲L̲ ̲E̲R̲R̲O̲R̲(̲G̲I̲V̲E̲
̲U̲P̲)̲(̲4̲.̲l̲.̲5̲.̲l̲)̲
END CASE
T̲E̲P̲ ̲R̲E̲T̲U̲R̲N̲(̲O̲L̲D̲ ̲C̲I̲F̲)̲(̲4̲.̲2̲.̲2̲.̲6̲.̲1̲3̲)̲
RECV ̲MAIN EQ FALSE?
NOT NE NULL? DIVCO ̲OP.OP ̲ID (2)
= DIFCO ̲IDENT
DIVCO ̲OP.CMD = FLASH
̲NOT
NOT EQ SUPERFLASH?
DIVCO ̲OP.
DIVCO ̲OP.PARA)
= SUPERFLASH ̲ITEM
̲
ARRIVED
DIVCO ̲OP.PARA1 = FLASH
̲ITEM ̲ARRIVED
SIGNAL ̲OPSEM(MDOS
̲Sl,DIVCO ̲OP)
CONTINUE (-4)
Figure 4.2.2.4.l2-2
SEND PRESENT
MDOS.QNAME.MAIN = CURRENT ̲MAINQ
MDOS ̲QNAME.SUB = CURRENT ̲SUBQ
CASE SEND(MDOS ̲SEND ̲PARAMS,NEW CIF,MDOS ̲QNAME)
MDOS ̲SEND ̲PARAMS,CC):ERROR ̲OK
ERROR? ANALYZE ̲ERROR(CC,0)
OK? T̲E̲P̲ ̲R̲E̲T̲U̲R̲N̲(̲N̲E̲W̲ ̲C̲I̲F̲,̲C̲L̲O̲S̲E̲)̲(̲4̲.̲2̲.̲2̲.̲6̲.̲l̲3̲)̲
ANS ̲FLAG = FALSE
END CASE
MDOS FIRST QEL (RECV QUEUE)(NEW CIF)(4.2.2.6.29)
END
Figure 4.2.2.4.l2-3
START PREP? T̲E̲P̲ ̲C̲R̲E̲A̲T̲E̲ ̲C̲I̲F̲(̲N̲E̲W̲ ̲C̲I̲F̲)̲(̲4̲.̲2̲.̲2̲.̲6̲.̲8̲)̲
T̲E̲P̲ ̲O̲P̲E̲N̲ ̲V̲I̲E̲W̲(̲N̲E̲W̲ ̲C̲I̲F̲)̲(̲4̲.̲2̲.̲2̲.̲6̲.̲2̲6̲)̲
OUTPUT CIF = INPUT CIF = NEW
CIF
M̲D̲O̲S̲ ̲T̲R̲S̲E̲R̲N̲O̲ ̲(̲R̲E̲F̲)̲ ̲(̲4̲.̲2̲.̲2̲.̲6̲.̲l̲l̲)̲
PREP ̲SAVE ̲CLASS? T̲E̲P̲ ̲S̲A̲V̲E̲ ̲V̲I̲E̲W̲(̲O̲U̲T̲ ̲C̲I̲F̲)̲(̲4̲.̲2̲.̲2̲.̲6̲.̲l̲4̲)̲
HEADER ̲TEXT = NO ̲CHANGE
U̲P̲D̲A̲T̲E̲ ̲V̲D̲U̲ ̲H̲E̲A̲D̲E̲R̲(̲O̲U̲T̲P̲U̲T̲ ̲C̲I̲F̲,̲S̲A̲V̲E̲,̲C̲L̲O̲S̲E̲)̲(̲4̲.̲l̲.̲5̲.̲3̲)̲
CLOSE? D̲I̲S̲M̲A̲N̲T̲L̲E̲ ̲Q̲E̲L̲(̲O̲U̲T̲P̲U̲T̲ ̲C̲I̲F̲,̲S̲A̲V̲E̲,̲C̲L̲O̲S̲E̲)̲(̲4̲.̲2̲.̲5̲.̲3̲)̲
U̲P̲D̲A̲T̲E̲ ̲V̲D̲U̲ ̲H̲E̲A̲D̲E̲R̲(̲C̲L̲E̲A̲R̲ ̲H̲E̲A̲D̲E̲R̲,̲M̲A̲X̲
̲C̲L̲A̲S̲S̲)̲(̲4̲.̲2̲.̲2̲.̲6̲.̲l̲9̲)̲
PREP ̲NEW ̲HEADER? T̲E̲P̲ ̲N̲E̲W̲ ̲V̲I̲E̲W̲(̲O̲U̲T̲P̲U̲T̲ ̲C̲I̲F̲,̲C̲I̲F̲ ̲H̲E̲A̲D̲E̲R̲,̲N̲E̲W̲
̲C̲I̲F̲)̲
(̲4̲.̲2̲.̲2̲.̲6̲.̲l̲0̲)̲
T̲E̲P̲ ̲O̲P̲E̲N̲ ̲V̲I̲E̲W̲(̲N̲E̲W̲ ̲C̲I̲F̲)̲(̲4̲.̲2̲.̲2̲.̲6̲.̲2̲6̲)̲
D̲I̲S̲M̲A̲T̲L̲E̲ ̲Q̲E̲L̲(̲O̲U̲T̲P̲U̲T̲ ̲C̲I̲F̲,̲C̲L̲O̲S̲E̲)̲(̲4̲.̲l̲.̲5̲.̲3̲)̲
PREP ̲SAVE? T̲E̲P̲ ̲S̲A̲V̲E̲ ̲V̲I̲E̲W̲(̲O̲U̲T̲P̲U̲T̲ ̲C̲I̲F̲)̲(̲4̲.̲2̲.̲2̲.̲6̲.̲l̲4̲)̲
PREP ̲NEW ̲TEXT? T̲E̲P̲ ̲N̲E̲W̲ ̲V̲I̲E̲W̲(̲O̲L̲D̲ ̲C̲I̲F̲,̲C̲I̲F̲ ̲T̲E̲X̲T̲)̲(̲N̲E̲W̲
̲V̲I̲E̲W̲)̲(̲4̲.̲2̲.̲2̲.̲6̲.̲l̲0̲)̲
T̲E̲P̲ ̲O̲P̲E̲N̲ ̲V̲I̲E̲W̲(̲N̲E̲W̲ ̲V̲I̲E̲W̲(̲4̲.̲2̲.̲2̲.̲6̲.̲2̲6̲)̲
D̲I̲S̲M̲A̲N̲T̲L̲E̲ ̲Q̲E̲L̲(̲O̲L̲D̲ ̲C̲I̲F̲,̲S̲A̲V̲E̲)̲(̲4̲.̲l̲.̲5̲.̲3̲)̲
PREP ̲HD ̲CLOSE D̲I̲S̲M̲A̲N̲T̲L̲E̲ ̲Q̲E̲L̲(̲O̲U̲T̲P̲U̲T̲ ̲C̲I̲F̲,̲ ̲C̲L̲O̲S̲E̲)̲(̲4̲.̲1̲.̲5̲.̲3̲)̲,
U̲P̲D̲A̲T̲E̲ ̲V̲D̲U̲ ̲H̲E̲A̲D̲E̲R̲(̲C̲L̲E̲A̲R̲ ̲H̲E̲A̲D̲E̲R̲,̲M̲A̲X̲
̲C̲L̲A̲S̲S̲)̲(̲4̲.̲2̲.̲2̲.̲6̲.̲1̲9̲)̲
CONTINUE (-5)
Figure 4.2.2.4.l2-4
OSMS ̲PRINT? S̲E̲N̲D̲ ̲T̲O̲ ̲A̲S̲S̲ ̲P̲R̲I̲N̲T̲E̲R̲(̲S̲T̲A̲T̲U̲S̲,̲N̲E̲W̲ ̲C̲I̲F̲,̲O̲N̲E̲
̲C̲O̲P̲Y̲)̲(̲4̲.̲2̲.̲2̲.̲6̲.̲2̲4̲)̲
PRINT? S̲E̲N̲D̲ ̲T̲O̲ ̲A̲S̲S̲ ̲P̲R̲I̲N̲T̲E̲R̲(̲N̲O̲ ̲S̲T̲A̲T̲U̲S̲,̲O̲N̲E̲ ̲C̲O̲P̲Y̲ ̲N̲E̲W̲
̲C̲I̲F̲)̲(̲4̲.̲2̲.̲2̲.̲6̲.̲2̲4̲)̲
PRINT ̲NON ̲DELIVERY? S̲E̲N̲D̲ ̲T̲O̲ ̲A̲S̲S̲ ̲P̲R̲I̲N̲T̲E̲R̲(̲N̲O̲ ̲S̲T̲A̲T̲U̲S̲
̲N̲E̲W̲C̲I̲F̲ ̲O̲N̲E̲ ̲ C̲O̲P̲Y̲)̲(̲4̲.̲2̲.̲2̲.̲6̲.̲2̲4̲)̲
OLD VIEW = NEW VIEW (NO ̲STATUS, NEWCIF
D̲I̲S̲M̲A̲N̲T̲L̲E̲ ̲Q̲E̲L̲(̲O̲L̲D̲ ̲C̲I̲F̲)̲(̲C̲L̲O̲S̲E̲)̲(̲4̲.̲l̲.̲5̲.̲3̲)̲
U̲P̲D̲A̲T̲E̲ ̲H̲E̲A̲D̲E̲R̲(̲H̲E̲A̲D̲E̲R̲ ̲T̲E̲X̲T̲,̲M̲A̲X̲ ̲C̲L̲A̲S̲S̲)̲(̲4̲.̲2̲.̲2̲.̲6̲.̲2̲4̲)̲
M̲D̲O̲S̲ ̲F̲I̲R̲S̲T̲ ̲Q̲E̲L̲ ̲(̲R̲E̲C̲V̲ ̲Q̲E̲U̲E̲)̲(̲N̲E̲W̲ ̲C̲I̲F̲)̲(̲4̲.̲2̲.̲2̲.̲6̲.̲2̲9̲)̲
CONTINUE (-6)
FIG. 4.2.2.4.l2-5
TRANSACTION? M̲D̲O̲S̲ ̲T̲R̲S̲E̲R̲N̲O̲ ̲(̲N̲O̲ ̲R̲E̲F̲)̲ ̲(̲4̲.̲2̲.̲2̲.̲6̲.̲l̲l̲)̲
SEND REQ TO SAR? T̲E̲P̲ ̲R̲E̲S̲E̲R̲V̲E̲ ̲B̲U̲F̲F̲E̲R̲(̲4̲.̲2̲.̲2̲.̲6̲.̲l̲7̲)̲
T̲E̲P̲ ̲W̲R̲I̲T̲E̲ ̲B̲U̲F̲F̲E̲R̲ ̲(̲4̲.̲2̲.̲2̲.̲6̲.̲l̲6̲)̲
S̲E̲N̲D̲ ̲R̲E̲Q̲U̲E̲S̲T̲ ̲T̲O̲ ̲S̲A̲R̲ ̲(̲4̲.̲2̲.̲2̲.̲6̲.̲2̲3̲)̲
D̲I̲S̲M̲A̲N̲T̲L̲E̲ ̲Q̲E̲L̲ ̲(̲B̲U̲F̲F̲E̲R̲)̲(̲4̲.̲l̲.̲5̲.̲3̲)̲
SEND TO THP? T̲E̲P̲ ̲C̲L̲O̲S̲E̲ ̲V̲I̲E̲W̲ ̲(̲O̲U̲T̲P̲U̲T̲ ̲C̲I̲F̲)̲(̲4̲.̲2̲.̲2̲.̲6̲.̲2̲5̲)̲
S̲E̲N̲D̲ ̲T̲O̲ ̲T̲H̲P̲(̲O̲L̲D̲ ̲C̲I̲F̲)̲(̲4̲.̲2̲.̲2̲.̲6̲.̲2̲l̲)̲
D̲I̲S̲M̲A̲N̲T̲L̲E̲ ̲Q̲E̲L̲(̲O̲L̲D̲ ̲C̲I̲F̲,̲S̲A̲V̲E̲)̲(̲4̲.̲l̲.̲5̲.̲3̲)̲
PREP ̲TXT ̲CANCEL D̲I̲S̲M̲A̲N̲T̲L̲E̲ ̲Q̲E̲L̲(̲N̲E̲W̲ ̲C̲I̲F̲,̲S̲A̲V̲E̲,̲C̲L̲O̲S̲E̲)̲(̲4̲.̲l̲.̲5̲.̲3̲)̲
U̲P̲D̲A̲T̲E̲ ̲V̲D̲U̲ ̲H̲E̲A̲D̲E̲R̲(̲C̲L̲E̲A̲R̲ ̲H̲E̲A̲D̲E̲R̲,̲M̲A̲X̲
̲C̲L̲A̲S̲S̲)̲(̲4̲.̲2̲.̲2̲.̲6̲.̲l̲9̲)̲
PREP ̲HD ̲CANCEL D̲I̲S̲M̲A̲N̲T̲L̲E̲ ̲Q̲E̲L̲(̲N̲E̲W̲C̲I̲F̲,̲ ̲C̲L̲O̲S̲E̲)̲(̲4̲.̲1̲.̲5̲.̲3̲)̲
U̲P̲D̲A̲T̲E̲ ̲V̲D̲U̲ ̲H̲E̲A̲D̲E̲R̲(̲C̲L̲E̲A̲R̲ ̲H̲E̲A̲D̲E̲R̲,̲
̲M̲A̲X̲ ̲C̲L̲A̲S̲S̲)̲(̲4̲.̲2̲.̲2̲.̲6̲.̲1̲9̲)̲
CONTINUE (-7)
4.2.2.4.l2-6…86…1…02… …02… …02… …02… …02…
…02… …02… …02……02… …02… …02… …02… …02… …02… …02… …02…
REDIS ̲NEW ̲TEXT? T̲E̲P̲ ̲C̲R̲E̲A̲T̲E̲ ̲N̲E̲W̲ ̲C̲I̲F̲(̲I̲N̲P̲U̲T̲ ̲C̲I̲F̲)̲(̲O̲U̲T̲P̲U̲T̲
̲C̲I̲F̲)̲(̲4̲.̲2̲.̲2̲.̲6̲.̲9̲)̲
T̲E̲P̲ ̲O̲P̲E̲N̲ ̲V̲I̲E̲W̲(̲N̲E̲W̲ ̲C̲I̲F̲)̲(̲4̲.̲2̲.̲2̲.̲6̲.̲2̲6̲)̲
C̲O̲P̲Y̲ ̲C̲I̲F̲ ̲F̲I̲E̲L̲D̲S̲(̲I̲N̲P̲U̲T̲ ̲C̲I̲F̲,̲O̲U̲T̲P̲U̲T̲
̲C̲I̲F̲)̲(̲4̲.̲2̲.̲2̲.̲6̲.̲l̲8̲)̲
SEND MDP? OLD ̲CIF = NEW ̲CIF
T̲E̲P̲ ̲C̲L̲O̲S̲E̲ ̲V̲I̲E̲W̲(̲O̲L̲D̲ ̲C̲I̲F̲)̲(̲4̲.̲2̲.̲2̲.̲6̲.̲2̲5̲)̲
S̲E̲N̲D̲ ̲T̲O̲ ̲M̲D̲P̲(̲O̲L̲D̲ ̲C̲I̲F̲)̲(̲4̲.̲2̲.̲2̲.̲6̲.̲2̲0̲)̲
D̲I̲S̲M̲A̲N̲T̲L̲E̲ ̲Q̲E̲L̲(̲S̲A̲V̲E̲)̲(̲O̲L̲D̲ ̲C̲I̲F̲)̲(̲4̲.̲l̲.̲5̲.̲3̲)̲
U̲P̲D̲A̲T̲E̲ ̲H̲E̲A̲D̲E̲R̲(̲T̲E̲X̲T̲ ̲H̲E̲A̲D̲E̲R̲,̲ ̲M̲A̲X̲
̲C̲L̲A̲S̲S̲)̲(̲4̲.̲2̲.̲2̲.̲6̲.̲l̲9̲)̲
SEND ̲REDI ̲AND ̲PRINT? S̲E̲N̲D̲ ̲S̲P̲E̲C̲I̲A̲L̲ ̲P̲R̲I̲N̲T̲(̲R̲E̲D̲I̲S̲T̲R̲I̲B̲U̲T̲I̲O̲N̲
̲I̲N̲-̲
S̲T̲R̲U̲C̲T̲I̲O̲N̲ ̲P̲R̲I̲N̲T̲,̲M̲D̲O̲S̲
̲R̲E̲C̲V̲ ̲Q̲E̲L̲)̲
(̲4̲.̲2̲.̲2̲.̲6̲.̲2̲7̲)̲
OLD ̲CIF = NEW ̲CIF
T̲E̲P̲ ̲C̲L̲O̲S̲E̲ ̲V̲I̲E̲W̲ ̲(̲O̲L̲D̲ ̲C̲I̲F̲)̲(̲4̲.̲2̲.̲2̲.̲6̲.̲2̲5̲)̲
S̲E̲N̲D̲ ̲T̲O̲ ̲M̲D̲P̲ ̲(̲O̲L̲D̲ ̲C̲I̲F̲)̲(̲4̲.̲2̲.̲2̲.̲6̲.̲2̲0̲)̲
D̲I̲S̲M̲A̲N̲T̲L̲E̲ ̲Q̲E̲L̲ ̲(̲S̲A̲V̲E̲)̲(̲O̲L̲D̲ ̲C̲I̲F̲)̲(̲4̲.̲1̲.̲5̲.̲3̲)̲
U̲P̲D̲A̲T̲E̲ ̲H̲E̲A̲D̲E̲R̲(̲T̲E̲X̲T̲ ̲H̲E̲A̲D̲E̲R̲,̲
̲M̲A̲X̲ ̲C̲L̲A̲S̲S̲)̲
(̲4̲.̲2̲.̲2̲.̲6̲.̲1̲9̲)̲
CONTINUE (-8)
Figure 4.2.2.l2-7
SEND ̲INC ̲AND ̲PRINT? S̲E̲N̲D̲ ̲S̲P̲E̲C̲I̲A̲L̲ ̲P̲R̲I̲N̲T̲(̲I̲N̲C̲O̲M̲I̲N̲G̲
̲D̲I̲S̲T̲ ̲I̲N̲S̲T̲R̲U̲C̲ ̲P̲R̲I̲N̲T̲
M̲D̲O̲S̲ ̲R̲E̲C̲V̲ ̲Q̲E̲L̲)̲(̲4̲.̲2̲.̲2̲.̲6̲.̲2̲7̲)̲
OLD CIF = NEW CIF
T̲E̲P̲ ̲C̲L̲O̲S̲E̲ ̲V̲I̲E̲W̲(̲O̲L̲D̲ ̲C̲I̲F̲)̲(̲4̲.̲2̲.̲2̲.̲6̲.̲2̲5̲)̲
S̲E̲N̲D̲ ̲T̲O̲ ̲M̲D̲P̲(̲O̲L̲D̲ ̲C̲I̲F̲)̲(̲4̲.̲2̲.̲2̲.̲6̲.̲2̲0̲)̲
D̲I̲S̲M̲A̲N̲T̲L̲E̲ ̲Q̲E̲L̲ ̲(̲S̲A̲V̲E̲)̲(̲O̲L̲D̲ ̲C̲I̲F̲)̲(̲4̲.̲1̲.̲5̲.̲3̲)̲
U̲P̲D̲A̲T̲E̲ ̲H̲E̲A̲D̲E̲R̲ ̲(̲T̲E̲X̲T̲ ̲H̲E̲A̲D̲E̲R̲,̲M̲A̲X̲C̲L̲A̲S̲S̲)̲(̲4̲.̲2̲.̲2̲.̲6̲.̲2̲0̲)
SEND ̲ALT ̲AND ̲PRINT S̲E̲N̲D̲ ̲S̲P̲E̲C̲I̲A̲L̲ ̲P̲R̲I̲N̲T̲(̲A̲L̲T̲E̲R̲N̲A̲T̲I̲V̲
̲D̲I̲S̲T̲ ̲I̲N̲S̲T̲R̲U̲C̲ ̲P̲R̲I̲N̲T̲
M̲D̲O̲S̲ ̲R̲E̲C̲V̲ ̲Q̲E̲L̲)̲(̲4̲.̲2̲.̲2̲.̲6̲.̲2̲7̲)
OLD ̲CIF = NEW ̲CIF
T̲E̲P̲ ̲C̲L̲O̲S̲E̲ ̲V̲I̲E̲W̲ ̲(̲O̲L̲D̲C̲I̲F̲)̲(̲4̲.̲2̲.̲2̲.̲6̲.̲2̲5̲)̲
S̲E̲N̲D̲ ̲T̲O̲ ̲M̲D̲P̲(̲O̲L̲D̲ ̲C̲I̲F̲)̲(̲4̲.̲2̲.̲2̲.̲6̲.̲2̲0̲)̲
D̲I̲S̲M̲A̲N̲T̲L̲E̲ ̲Q̲E̲L̲(̲S̲A̲V̲E̲)̲(̲O̲L̲D̲ ̲C̲I̲F̲)̲(̲4̲.̲1̲.̲5̲.̲3̲)̲
U̲P̲D̲A̲T̲E̲ ̲H̲E̲A̲D̲E̲R̲(̲T̲E̲X̲T̲ ̲H̲E̲A̲D̲E̲R̲,̲M̲A̲X̲
̲C̲L̲A̲S̲S̲)̲(̲4̲.̲2̲.̲2̲.̲6̲.̲1̲9̲)̲
CPFP ̲START? ANQ ̲OP ̲CMD = EDIT ̲PLAIN ̲SERVICE
S̲E̲N̲D̲ ̲R̲E̲Q̲U̲E̲S̲T̲ ̲T̲O̲ ̲U̲M̲A̲M̲(̲E̲D̲I̲T̲,̲C̲P̲F̲P̲)̲(̲4̲.̲2̲.̲2̲.̲6̲.̲2̲2̲)̲
CAPP ̲START ANQ ̲OP.CMD = EDIT ̲ABB ̲PLAIN
̲SERVICE
S̲E̲N̲D̲ ̲R̲E̲Q̲U̲E̲S̲T̲ ̲T̲O̲ ̲U̲M̲A̲M̲(̲E̲D̲I̲T̲,̲C̲A̲P̲P̲)̲(̲4̲.̲2̲.̲2̲.̲6̲.̲2̲2̲)̲
CASP ̲START? ANQ ̲OP.CMD = EDIT ̲ABB ̲SERVICE
S̲E̲N̲D̲ ̲R̲E̲Q̲U̲E̲S̲T̲ ̲T̲O̲ ̲U̲M̲A̲M̲(̲E̲D̲I̲T̲,̲C̲A̲S̲P̲(̲4̲.̲2̲.̲2̲.̲6̲.̲2̲2̲)̲
REDS ̲CANCEL? D̲I̲S̲M̲A̲N̲T̲L̲E̲ ̲Q̲E̲L̲ ̲(̲O̲L̲D̲ ̲C̲I̲F̲,̲ ̲C̲L̲O̲S̲E̲)̲(̲4̲.̲1̲.̲5̲3̲)̲
U̲P̲D̲A̲T̲E̲ ̲V̲D̲U̲ ̲H̲E̲A̲D̲E̲R̲ ̲(̲C̲L̲E̲A̲R̲ ̲H̲E̲A̲D̲E̲R̲,̲
̲M̲A̲X̲ ̲C̲L̲A̲S̲S̲)̲
STATUS ̲REQ? S̲E̲N̲D̲ ̲R̲E̲Q̲U̲E̲S̲T̲ ̲T̲O̲ ̲U̲M̲A̲M̲(̲S̲E̲R̲V̲I̲C̲E̲
̲M̲S̲G̲ ̲S̲T̲A̲T̲U̲S̲)̲
(̲4̲.̲2̲.̲2̲.̲6̲.̲2̲2̲)̲
M̲D̲O̲S̲ ̲T̲R̲S̲E̲R̲N̲O̲ ̲(̲N̲O̲ ̲R̲E̲F̲)̲(̲4̲.̲2̲.̲2̲.̲6̲.̲2̲6̲)̲
CONTINUE (-9) FIG 4.2.2.12-8
CTMP ̲MD ̲CANCEL? D̲I̲S̲M̲A̲N̲T̲L̲E̲ ̲Q̲E̲L̲(̲I̲N̲P̲U̲T̲ ̲C̲I̲F̲,̲ ̲C̲L̲O̲S̲E̲)̲(̲4̲.̲1̲.̲5̲.̲3̲)̲
D̲I̲S̲M̲A̲N̲T̲L̲E̲ ̲Q̲E̲L̲(̲O̲U̲T̲P̲U̲T̲ ̲C̲I̲F̲,̲ ̲C̲L̲O̲S̲E̲)̲(̲4̲.̲1̲.̲5̲.̲3̲)̲
U̲P̲D̲A̲T̲E̲ ̲V̲D̲U̲ ̲H̲E̲A̲D̲E̲R̲(̲C̲L̲E̲A̲R̲ ̲H̲E̲A̲D̲E̲R̲,̲
̲M̲A̲X̲ ̲C̲L̲A̲S̲S̲)̲
(̲4̲.̲2̲.̲2̲.̲6̲.̲1̲9̲)̲
CTMP ̲TEXT ̲CANCEL? D̲I̲S̲M̲A̲N̲T̲L̲E̲ ̲Q̲E̲L̲ ̲(̲I̲N̲P̲U̲T̲ ̲C̲I̲F̲,̲ ̲S̲A̲V̲E̲,̲
̲C̲L̲O̲S̲E̲)̲(̲4̲.̲1̲.̲5̲.̲3̲)̲
D̲I̲S̲M̲A̲N̲T̲L̲E̲ ̲Q̲E̲L̲(̲O̲U̲T̲P̲U̲T̲ ̲C̲I̲F̲,̲ ̲S̲A̲V̲E̲,̲
̲C̲L̲O̲S̲E̲(̲4̲.̲1̲.̲5̲.̲3̲)̲
U̲P̲D̲A̲T̲E̲ ̲V̲D̲U̲ ̲H̲E̲A̲D̲E̲R̲ ̲(̲C̲L̲E̲A̲R̲ ̲H̲E̲A̲D̲E̲R̲:̲
̲M̲A̲X̲ ̲C̲L̲A̲S̲S̲)
(̲4̲.̲2̲.̲2̲.̲6̲.̲1̲9̲)̲
CTMP ̲MD ̲CLOSE? D̲I̲S̲M̲A̲N̲T̲L̲E̲ ̲Q̲E̲L̲(̲I̲N̲P̲U̲T̲ ̲C̲I̲F̲,̲ ̲C̲L̲O̲S̲E̲)̲(̲4̲.̲1̲.̲5̲.̲3̲)̲
D̲I̲S̲M̲A̲N̲T̲L̲E̲ ̲Q̲E̲L̲(̲O̲U̲T̲P̲U̲T̲ ̲C̲I̲F̲,̲ ̲C̲L̲O̲S̲E̲)̲(̲4̲.̲1̲.̲5̲.̲3̲)̲
CTMP ̲TXT ̲CLOSE? D̲I̲S̲M̲A̲N̲T̲L̲E̲ ̲Q̲E̲L̲(̲I̲N̲P̲U̲T̲ ̲C̲I̲F̲,̲ ̲S̲A̲V̲E̲,̲
̲C̲L̲O̲S̲E̲)̲(̲4̲.̲1̲.̲5̲.̲3̲)̲
D̲I̲S̲M̲A̲N̲T̲L̲E̲ ̲Q̲E̲L̲(̲O̲U̲T̲P̲U̲T̲ ̲C̲I̲F̲,̲ ̲S̲A̲V̲E̲,̲
̲C̲L̲O̲S̲E̲)̲(̲4̲.̲1̲.̲5̲.̲3̲)̲
CTMP ̲SAVE? T̲E̲P̲ ̲S̲A̲V̲E̲ ̲V̲I̲E̲W̲(̲O̲U̲T̲P̲U̲T̲ ̲C̲I̲F̲)̲(̲4̲.̲2̲.̲2̲.̲6̲.̲1̲4̲)̲
PREP ̲TEXT ̲CLOSE? D̲I̲S̲M̲A̲N̲T̲L̲E̲ ̲Q̲E̲L̲(̲O̲U̲T̲P̲U̲T̲ ̲C̲I̲F̲,̲ ̲S̲A̲V̲E̲,̲
̲C̲L̲O̲S̲E̲)̲(̲4̲.̲2̲.̲5̲.̲3̲)̲
U̲P̲D̲A̲T̲E̲ ̲V̲D̲U̲ ̲H̲E̲A̲D̲E̲R̲(̲C̲L̲E̲A̲R̲ ̲H̲E̲A̲D̲E̲R̲,̲
̲M̲A̲X̲C̲L̲A̲S̲S̲)̲
(̲4̲.̲2̲.̲2̲6̲.̲1̲0̲)̲
CONTINUE (-10) FIG. 4.2.2.12-9
SERVICE ̲ACK T̲E̲P̲ ̲C̲L̲O̲S̲E̲ ̲V̲I̲E̲W̲ ̲(̲O̲U̲T̲P̲U̲T̲
̲C̲I̲F̲)̲(̲4̲.̲2̲.̲2̲.̲6̲.̲2̲5̲)̲
S̲E̲N̲D̲ ̲T̲O̲ ̲T̲M̲P̲ ̲(̲O̲L̲D̲ ̲C̲I̲F̲)̲(̲4̲.̲2̲.̲2̲.̲6̲.̲2̲1̲)̲
D̲I̲S̲M̲A̲N̲T̲L̲E̲ ̲Q̲E̲L̲(̲O̲L̲D̲ ̲C̲I̲F̲,̲ ̲S̲A̲V̲E̲ ̲(̲4̲.̲1̲.̲5̲3̲)̲
U̲P̲D̲A̲T̲E̲ ̲V̲D̲U̲ ̲H̲E̲A̲D̲E̲R̲(̲C̲L̲E̲A̲R̲ ̲H̲E̲A̲D̲E̲R̲,̲M̲A̲X̲
̲C̲L̲A̲S̲S̲)̲(̲4̲.̲2̲.̲2̲.̲6̲.̲l̲3̲)̲
CTMP ̲CLASS ̲SAVE? T̲E̲P̲ ̲N̲E̲W̲ ̲V̲I̲E̲W̲(̲O̲U̲T̲P̲U̲T̲
̲C̲I̲F̲,̲C̲I̲F̲ ̲T̲E̲X̲T̲)̲N̲E̲W̲
̲C̲I̲F̲)̲(̲4̲.̲2̲.̲2̲.̲6̲.̲l̲0̲)̲
D̲I̲S̲M̲A̲N̲T̲L̲E̲ ̲Q̲E̲L̲(̲O̲U̲T̲P̲U̲T̲ ̲C̲I̲F̲,̲C̲L̲O̲S̲E̲,̲S̲A̲V̲E̲)̲(̲4̲.̲l̲.̲5̲.̲3̲)̲
OUTPUT ̲CIF = NEW ̲CIF
HEADER ̲TEXT = NO ̲CHANGE
U̲P̲D̲A̲T̲E̲ ̲V̲D̲U̲ ̲H̲E̲A̲D̲E̲R̲(̲U̲P̲D̲A̲T̲E̲ ̲H̲E̲A̲D̲E̲R̲,̲C̲U̲R̲R̲E̲N̲T̲
̲C̲L̲A̲S̲S̲)̲
(4.2.2.6.l9
CTMP ̲NEW ̲HEADER? T̲E̲P̲ ̲N̲E̲W̲ ̲V̲I̲E̲W̲(̲O̲U̲T̲P̲U̲T̲
̲C̲I̲F̲,̲C̲I̲F̲ ̲H̲E̲A̲D̲E̲R̲)̲(̲N̲E̲W̲
̲C̲I̲F̲)̲
(4.2.2.6.l0)
D̲I̲S̲M̲A̲N̲T̲L̲E̲ ̲Q̲E̲L̲(̲O̲U̲T̲P̲U̲T̲ ̲C̲I̲F̲,̲C̲L̲O̲S̲E̲)̲(̲4̲.̲l̲.̲5̲.̲3̲)̲
T̲E̲P̲ ̲O̲P̲E̲N̲ ̲V̲I̲E̲W̲(̲N̲E̲W̲ ̲C̲I̲F̲)̲(̲4̲.̲2̲.̲2̲.̲6̲.̲2̲6̲)̲
OUTPUT ̲CIF = NEW CIF
CTMP ̲NEW ̲TEXT? T̲E̲P̲ ̲N̲E̲W̲ ̲V̲I̲E̲W̲(̲O̲U̲T̲P̲U̲T̲
̲C̲I̲F̲,̲C̲I̲F̲ ̲T̲E̲X̲T̲)̲(̲N̲E̲W̲
̲V̲I̲E̲W̲)̲
(4.2.2.6.l0)
D̲I̲S̲M̲A̲N̲T̲L̲E̲ ̲Q̲E̲L̲(̲O̲U̲T̲P̲U̲T̲ ̲C̲I̲F̲,̲C̲L̲O̲S̲E̲)̲(̲4̲.̲l̲.̲5̲.̲3̲)̲
T̲E̲P̲ ̲O̲P̲E̲N̲ ̲V̲I̲E̲W̲(̲N̲E̲W̲ ̲C̲I̲F̲)̲(̲4̲.̲2̲.̲2̲.̲6̲.̲2̲6̲)̲
OUTPUT CIF = NEW CIF
CATA ̲CANCEL? D̲I̲S̲M̲A̲N̲T̲L̲E̲ ̲Q̲E̲L̲(̲O̲L̲D̲
̲C̲I̲F̲,̲C̲L̲O̲S̲E̲)̲(̲4̲.̲l̲.̲5̲.̲3̲)̲
U̲P̲D̲A̲T̲E̲ ̲V̲D̲U̲ ̲H̲E̲A̲D̲E̲R̲(̲C̲L̲E̲A̲R̲ ̲H̲E̲A̲D̲E̲R̲,̲M̲A̲X̲
̲C̲L̲A̲S̲S̲)̲(̲4̲.̲2̲.̲2̲.̲6̲.̲l̲9̲)̲
INCOMING ̲NEW ̲SCD? T̲E̲P̲ ̲N̲E̲W̲ ̲V̲I̲E̲W̲(̲O̲U̲T̲P̲U̲T̲
̲C̲I̲F̲,̲S̲C̲D̲ ̲F̲I̲E̲L̲D̲"̲2̲"̲)̲(̲N̲E̲W̲
̲V̲I̲E̲W̲)̲
(4.2.2.6.l0)
D̲I̲S̲M̲A̲N̲T̲L̲E̲ ̲Q̲E̲L̲(̲O̲U̲T̲P̲U̲T̲ ̲C̲I̲F̲,̲C̲L̲O̲S̲E̲)̲(̲4̲.̲l̲.̲5̲.̲3̲)̲
T̲E̲P̲ ̲O̲P̲E̲N̲ ̲V̲I̲E̲W̲(̲N̲E̲W̲ ̲C̲I̲F̲)̲(̲4̲.̲2̲.̲2̲.̲6̲.̲2̲6̲)̲
OUTPUT CIF = NEW CIF
CONTINUE (-11)
4.2.2.4.l2-10
RETURN ̲STOP ̲BLOCK? RECV ̲MAIN EQ
TRUE?
CASE ̲CURRENT ̲SUBQ OF PRECEDENCE
̲TYPE
FLASH? DIVCO ̲OP.OP ̲ID(2)
= DIFCO IDENT
DIVCO ̲OP.CMD
= FLASH ̲NOTIFICATION
DIVCO ̲OP.PARA
= CURRENT ̲SUBQ
SIGNAL OPSEM(MDOS
̲Sl,DIVCO ̲OP):OK
OTHERWISE?
END CASE
T̲E̲P̲ ̲R̲E̲T̲U̲R̲N̲ ̲V̲I̲E̲W̲ ̲(̲O̲L̲D̲ ̲C̲I̲F̲)̲(̲4̲.̲2̲.̲2̲.̲6̲.̲l̲3̲)̲
RETURN ̲STOP? T̲E̲P̲ ̲R̲E̲T̲U̲R̲N̲ ̲V̲I̲E̲W̲(̲O̲L̲D̲
̲C̲I̲F̲,̲C̲L̲O̲S̲E̲)̲(̲4̲.̲2̲.̲2̲.̲l̲3̲)̲
ALT/RED ̲NEW SCD? T̲E̲P̲ ̲N̲E̲W̲ ̲V̲I̲E̲W̲(̲O̲U̲T̲P̲U̲T̲
̲C̲I̲F̲,̲S̲C̲D̲ ̲F̲I̲E̲L̲D̲ ̲"̲7̲"̲)̲(̲N̲E̲W̲:̲V̲I̲E̲W̲)̲
(4.2.2.6.l0)
D̲I̲S̲M̲A̲N̲T̲L̲E̲ ̲Q̲E̲L̲(̲O̲U̲T̲P̲U̲T̲ ̲C̲I̲F̲,̲C̲L̲O̲S̲E̲)̲(̲4̲.̲l̲.̲5̲.̲3̲)̲
T̲E̲P̲ ̲O̲P̲E̲N̲ ̲V̲I̲E̲W̲(̲N̲E̲W̲ ̲C̲I̲F̲)̲(̲4̲.̲2̲.̲2̲.̲6̲.̲2̲6̲)̲
OUTPUT CIF = NEW CIF
LOG ̲CANCEL? ITREF = DIDIA ̲PARAMETER
̲INFO ̲TYPE.ITEM ̲REF
CANCEL ̲TIME = DIDIA ̲PARAMETER
̲INFO ̲TYPE.TIME ̲STAMP
OPEN? T̲E̲P̲ ̲O̲P̲E̲N̲ ̲V̲I̲E̲W̲ ̲(̲I̲N̲P̲U̲T̲ ̲C̲I̲F̲)̲(̲4̲.̲2̲.̲2̲.̲6̲.̲2̲6̲)̲
U̲P̲D̲A̲T̲E̲ ̲V̲D̲U̲ ̲H̲E̲A̲D̲E̲R̲(̲U̲P̲D̲A̲T̲E̲ ̲H̲E̲A̲D̲E̲R̲,̲
̲C̲U̲R̲R̲E̲N̲T̲ ̲C̲L̲A̲S̲S̲
(̲4̲.̲2̲.̲2̲.̲6̲.̲1̲9̲)
UPDATE? U̲P̲D̲A̲T̲E̲ ̲V̲D̲U̲ ̲H̲E̲A̲D̲E̲R̲ ̲(̲C̲L̲E̲A̲R̲
̲H̲E̲A̲D̲E̲R̲,̲ ̲M̲A̲X̲C̲L̲A̲S̲S̲)̲
(̲4̲.̲2̲.̲2̲.̲6̲.̲1̲9̲)̲
CONTINUE (-l2)
4.2.2.4.l2-11
RESP ̲CANCEL? OLD CIF = NEW CIF
RECV ̲MAIN EQ TRUE?
CASE CURRENT ̲SUBQ OF
SUPERFLASH;
FLASH? DIVCO ̲OP.OP ̲ID(2)
= DIFCO ̲IDENT
DIVCO ̲OP.CMD = FLASH
̲NOT
DIVCO ̲OP.PARA = CURRENT
̲SUBQ
SIGNAL ̲OPSEM(MDOS
̲Sl,DIVCO ̲OP):OK
OTHERWISE?
END CASE
T̲E̲P̲ ̲R̲E̲T̲U̲R̲N̲ ̲V̲I̲E̲W̲(̲O̲L̲D̲ ̲C̲I̲F̲)̲(̲4̲.̲2̲.̲2̲.̲6̲.̲l̲3̲)̲
U̲P̲D̲A̲T̲E̲ ̲V̲D̲U̲ ̲H̲E̲A̲D̲E̲R̲(̲C̲L̲E̲A̲R̲ ̲H̲E̲A̲D̲E̲R̲,̲M̲A̲X̲
̲C̲L̲A̲S̲S̲)̲(̲4̲.̲2̲.̲2̲.̲6̲.̲l̲9̲)̲
DELETE ̲REQUEST? S̲E̲N̲D̲ ̲R̲E̲Q̲U̲E̲S̲T̲ ̲T̲O̲
̲U̲M̲A̲M̲(̲D̲E̲L̲E̲T̲E̲,̲I̲T̲E̲M̲
̲R̲E̲F̲,̲L̲T̲D̲)̲(̲4̲.̲2̲.̲2̲.̲6̲.̲2̲2̲)̲
CTMP ̲UMAM ERROR? U̲P̲D̲A̲T̲E̲ ̲V̲D̲U̲ ̲H̲E̲A̲D̲E̲R̲(̲T̲E̲X̲T̲)̲(̲4̲.̲2̲.̲2̲.̲6̲.̲l̲9̲)̲
CTMP ̲CONT? T̲E̲P̲ ̲C̲R̲E̲A̲T̲E̲ ̲N̲E̲W̲ ̲C̲I̲F̲(̲I̲N̲P̲U̲T̲
̲C̲I̲F̲)̲O̲U̲T̲P̲U̲T̲ ̲C̲I̲F̲)̲(̲4̲.̲2̲.̲2̲.̲6̲.̲9̲)̲
T̲E̲P̲ ̲O̲P̲E̲N̲ ̲V̲I̲E̲W̲(̲N̲E̲W̲ ̲C̲I̲F̲)̲(̲(̲4̲.̲2̲.̲2̲.̲6̲.̲2̲6̲)̲
M̲D̲O̲S̲ ̲T̲R̲S̲E̲R̲N̲O̲ ̲(̲N̲O̲ ̲R̲E̲F̲)̲(̲4̲.̲2̲.̲2̲.̲6̲.̲l̲l̲)̲
C̲O̲P̲Y̲ ̲T̲E̲X̲T̲ ̲F̲I̲E̲L̲D̲S̲(̲O̲L̲D̲ ̲C̲I̲F̲,̲N̲E̲W̲
̲C̲I̲F̲)̲(̲4̲.̲2̲.̲2̲.̲6̲.̲l̲8̲)̲
OTHERWISE? T̲E̲P̲ ̲I̲N̲T̲E̲R̲N̲A̲L̲ ̲E̲R̲R̲O̲R̲ ̲(̲G̲I̲V̲E̲
̲U̲P̲)̲(̲4̲.̲l̲.̲5̲.̲2̲)̲
END
Figure 4.2.2.4.l2-l2