top - download
⟦eb18f0e07⟧ Wang Wps File
Length: 48553 (0xbda9)
Types: Wang Wps File
Notes: CPS/SDS/041
Names: »1490A «
Derivation
└─⟦e8bc85b7f⟧ Bits:30005802 8" Wang WCS floppy, CR 0105A
└─ ⟦this⟧ »1490A «
WangText
: :…05…:…06…:…07…9…0a…9…0c…9…0f…9…00…9
8…09…8…0c…8…0e…8 8…06…7…09…7…0b…7…0f…7…00…7 7…06…6…0a…6…0c…6…0f…6…02…6…07…5…0b…5…0e…5…0f…5…02…5…05…4…08…4…09…4…0c…4…0f…4…02…4…05…4…06…3…08…3…0b…3…86…1
…02…
…02…
…02…
…02…CPS/SDS/041
…02…KS /811201…02……02…
PRINTER
DETAILED
DESIGN
SPECIFICATION…02……02…CAMPS
4.2.1.3 D̲a̲t̲a̲ ̲F̲l̲o̲w̲ ̲a̲n̲d̲ ̲C̲o̲n̲t̲r̲o̲l̲ ̲L̲o̲g̲i̲c̲
The following HIPO-diagram and flowgrams show the Data
Flow and Control Logic of UPCO.
HIPO Diagrams 4.2.1.3.1-5
Fig. 4.2.1.3-1 UPCO Module tree without common procedures
Fig. 4.2.1.3-2 UPCO Module tree with common procedures
4.2.1.4 U̲P̲C̲O̲ ̲M̲o̲d̲u̲l̲e̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲s̲
4.2.1.4.1 U̲P̲C̲O̲ ̲M̲a̲i̲n̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
4.2.1.4.1.1 F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
The responsibility of this module is to receive all
input items that are associated with semaphore PRIS-S1,
and to process the ones that arrives in the Print Queue.
4.2.1.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̲
UPCO-MAIN
The module is a SWELL Submodule, which is only called
by the Coroutine Monitor.
4.2.1.4.1.3 M̲o̲d̲u̲l̲e̲ ̲C̲o̲m̲p̲o̲n̲e̲n̲t̲s̲
N/A
4.2.1.4.1.4 D̲a̲t̲a̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
TBD
4.2.1.4.1.5 M̲o̲d̲u̲l̲e̲ ̲D̲e̲s̲i̲g̲n̲
Items received in the semaphore PRIS ̲S1 are analysed
System Call and
Print Queue items are processed by this
module
Command Queue- and
PROP-items are processed by other modules.
Unexpected items will invoke the error reporting module,
which handles all internal errors.
The module design is described in the flowgrams on
the follwoing pages.
UPCO-MAIN
SET ACTIVE ̲FLAG=FALSE
RECEIVE ̲CMD (4.2.1.6.7 )
FOREVER LOOP
WAIT ̲OPSEM (PRIS ̲S1)(OPERATION ): OK
CASE OPERATION.ID OF :
CMD ̲Q ̲ITEM? P̲R̲O̲C̲E̲S̲S̲ ̲ ̲C̲M̲D̲ ̲Q̲ ̲I̲T̲E̲M̲(̲4̲.̲2̲.̲1̲.̲4̲.̲2̲
̲ ̲)
SYSCALL? P̲R̲O̲C̲E̲S̲S̲ ̲ ̲S̲Y̲S̲C̲A̲L̲L̲(̲ ̲2̲ ̲ ̲ ̲)̲
PRINT ̲Q ̲ITEMS? P̲R̲O̲C̲E̲S̲S̲ ̲P̲R̲I̲N̲T̲ ̲Q̲ ̲I̲T̲E̲M̲(̲ ̲ ̲ ̲3̲
PROP ̲ITEM? P̲R̲O̲C̲E̲S̲S̲ ̲P̲R̲O̲P̲ ̲I̲T̲E̲M̲(̲4̲.̲2̲.̲1̲.̲4̲.̲5̲ ̲
̲)̲
OTHERWISE? E̲R̲R̲O̲R̲-̲R̲E̲P̲ ̲ ̲ ̲(̲4̲.̲2̲.̲1̲.̲4̲.̲1̲3̲
̲)
END CASE
END FOREVER LOOP
END
Fig. 4.2.1.4.1.5-1
PROCESS ̲SYSCALL
R̲E̲C̲E̲I̲V̲E̲-̲C̲M̲D̲ (4.2.1.6.7)
END
Fig. 4.2.1.4.1.5-2
PROCESS ̲PRINT ̲Q ̲ITEM
PRINTER ̲BUSY ̲FLAG EQ TRUE?
PRINTER ̲ERROR ̲FLAG EQ
TRUE?
RETURN
̲ITEM(
)
CHECK ̲SUB ̲QC(-4)
SET PRINTER ̲BUSY ̲FLAG = TRUE
CASE RECEIVE ̲FIRST ̲QEL (WAIT: = TRUE,PRIS ̲PRINT
̲Q)
(INPUT ̲ATTR,QEL,SUBQUEUE,CC) :ERROR
OK
ERROR? ANALYSE ̲ERROR (CC,[):OK
OK? S̲A̲V̲E̲ ̲R̲E̲F̲E̲R̲E̲N̲C̲E̲S̲ (4.2.1.6.3)
P̲R̲I̲N̲T̲I̲N̲G̲ ̲P̲R̲E̲P̲A̲R̲A̲T̲I̲O̲N̲S̲ (4.2.1.4.a)
END CASE
END
Fig. 4.2.1.4.1.5-3
CHECK ̲SUB ̲Q
CASE OPERATION.ITEM ̲NAME OF:
MAIN ̲Q? ITEM ̲PREEMPTED ̲FLAG EQ FALSE? E̲R̲R̲O̲R̲
̲R̲E̲P̲(̲ ̲ ̲ ̲ ̲)̲
(4.2.1.4.13)
CASE RECEIVE ̲FIRST ̲QEL (WAIT:=TRUE,PRIS
̲PRINT ̲Q)
(INPUT ̲ATTR,SUBQUEUE,CC):ERROR
̲OK
ERROR? ANALYSE ̲ERROR(CC,0):
OK? S̲A̲V̲E̲ ̲R̲E̲F̲E̲R̲E̲N̲C̲E̲S̲ (4.2.1.6.3)
P̲R̲I̲N̲T̲I̲N̲G̲ ̲P̲R̲E̲P̲A̲R̲A̲T̲I̲O̲N̲S̲ (4.2.1.4.9)
END CASE
PREC1?
FLASH? "PRINTING ̲SYIE ̲TAB-FLAG EQ FALSE?
E̲R̲R̲O̲R̲ ̲R̲E̲P̲(̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲)̲
(4.2.1.4.13)
U̲P̲C̲O̲ ̲P̲R̲E̲E̲M̲P̲T̲ ̲D̲E̲S̲T̲O̲R̲E̲ ̲(̲P̲R̲E̲E̲M̲P̲T̲)̲ (4.2.1.4.7)
STAT?
SYIE ̲TAB? CASE RECEIVE ̲FIRST-QEL(WAIT:=TRUE,PRIS
̲PRINT ̲Q.SUBQUEUE)
(INPUT ̲ATTR,SUBQUEUE,CC):ERROR
̲OK
ERROR? ANALYSE ̲ERROR(CC,0):OK
OK? S̲A̲V̲E̲ ̲R̲E̲F̲E̲R̲E̲N̲C̲E̲S̲ (4.2.1.6.3)
P̲R̲I̲N̲T̲I̲N̲G̲ ̲P̲R̲E̲P̲A̲R̲A̲T̲I̲O̲N̲S̲(4.2.1.4.9)
END CASE
OTHERWISE? E̲R̲R̲O̲R̲ ̲R̲E̲P̲(̲ ̲ ̲ ̲ ̲)̲ (4.2.1.4.13)
END CASE
END ,Fig. 4.2.1.4.1.5-4
4.2.1.4.2 P̲r̲o̲c̲e̲s̲s̲ ̲C̲M̲D̲ ̲Q̲ ̲I̲t̲e̲m̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲ ̲
4.2.1.4.2.1 F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
The module analyses the items arriving in the Command
Queue.
Stop,Close and Resume-DEMCO Commands,
Timeouts and Log-Acknowledges are processed
by this module
Start DEMCO-Command and
FLASH Notifications are processed by other modules.
4.2.1.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̲a̲t̲i̲o̲n̲:
a) PROCESS ̲CMD ̲Q ̲ITEM
b) PROCESS ̲CMD ̲Q ̲ITEM(R6):OK
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
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R0 - R17 DESTROYED
Fatal Errors: NONE
4.2.1.4.2.3 M̲o̲d̲u̲l̲e̲ ̲C̲o̲m̲p̲o̲n̲e̲n̲t̲s̲
N/A
4.2.1.4.2.4 D̲a̲t̲a̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
TBD
4.2.1.4.2.5 M̲o̲d̲u̲l̲e̲ ̲D̲e̲s̲i̲g̲n̲
The module receives the CMD-Q items and analyses them
by testing the QEL-Attributes and the internal flags.
The most important actions taken by this module are
: invoking other modules, sending commands to PROP,
requesting timeouts and manipulating the flags.
The following flowgrams describe how.
PROCESS ̲CMD ̲Q-ITEM
SET PENDING ̲INIT ̲RECEIVE ̲CMD = FALSE ̲
CASE RECEIVE ̲FIRST ̲QEL(WAIT:=TRUE,PRIS ̲CMD ̲Q)
(INPUT ̲ATTR,INPUT ̲QEL,SUBQUEUE,CC):ERROR
̲OK
ERROR? ANALYSE ̲ERROR(CC, ):OK
OK? CASE INPUT ̲ATTR.MAINTYPE OF:
DEMCO ̲CMD? SAVE DEMCO CMD REFERENCES
CASE ATTRIBUTES.SUBTYPE
OF:
START ̲SAD? U̲P̲C̲O̲I̲N̲I̲T̲I̲A̲L̲I̲Z̲A̲T̲I̲O̲N̲(4.2.1.4.3)
STOP ̲SAD? S̲T̲O̲P̲ ̲P̲R̲I̲N̲T̲I̲N̲G̲
( 2 )
CLOSE ̲SAD? C̲L̲O̲S̲E̲ ̲D̲O̲W̲N̲
̲P̲R̲O̲C̲( 3 )
RESUME? R̲E̲S̲U̲M̲E̲ ̲P̲R̲O̲C̲
( 4 )
OTHERWISE? E̲R̲R̲O̲R̲ ̲R̲E̲P̲(̲
̲ ̲ ̲)(4.2.1.4.13)
END CASE
TIME OUT? A̲N̲A̲L̲Y̲S̲E̲ ̲T̲I̲M̲E̲O̲U̲T̲(̲ ̲ ̲5̲
̲ ̲)̲
FLASH ̲NOTIFICATION? A̲N̲A̲L̲Y̲S̲E̲ ̲F̲L̲A̲S̲H̲ ̲N̲O̲T̲I̲F̲I̲C̲A̲T̲I̲O̲N̲(̲4̲.̲2̲.̲1̲.̲4̲.̲4̲)̲
ACK? ̲ATTR.SUBTYPE EQ LOG ̲COLLECT ̲ACK?
̲P̲R̲O̲C̲ ̲L̲O̲G̲ ̲A̲C̲K̲(-6)
E̲R̲R̲O̲R̲ ̲R̲E̲P̲(̲ ̲ ̲ ̲ ̲ ̲ ̲)̲ ̲(̲4̲.̲2̲.̲1̲.̲4̲.̲1̲3̲)̲
R̲E̲C̲E̲I̲V̲E̲ ̲C̲M̲D̲(4.2.1.6.7)
OTHERWISE? E̲R̲R̲O̲R̲ ̲R̲E̲P̲(̲ ̲ ̲ ̲ ̲ ̲)̲(4.2.1.11.13)
R̲E̲C̲E̲I̲V̲E̲ ̲C̲M̲D̲ ̲(̲4̲.̲2̲.̲1̲.̲6̲.̲7̲)̲
END CASE
D̲I̲S̲M̲A̲N̲T̲L̲E̲ ̲I̲T̲E̲M̲ ̲(̲I̲N̲P̲U̲T̲ ̲Q̲E̲L̲,̲I̲N̲P̲U̲T̲ ̲A̲T̲T̲R̲)(4.2.1.6.5)
END CASE
END Fig. 4.2.1.4.2.5-1
STOP ̲PRINTING
ACTIVE ̲FLAG EQ FALSE? E̲R̲R̲O̲R̲ ̲R̲E̲P̲(̲ ̲ ̲ ̲ ̲)̲(̲4̲.̲2̲.̲1̲.̲7̲.̲1̲3̲
̲ ̲)̲
SET ACTIVE ̲FLAG = FALSE
C̲M̲D̲ ̲T̲O̲ ̲P̲R̲O̲P̲(̲A̲R̲A̲N̲D̲O̲N̲)̲(̲4̲.̲2̲.̲1̲.̲6̲.̲6̲)̲
END
Fig. 4.2.1.4.2.5-2
CLOSE ̲DOWN ̲PROC
ACTIVE ̲FLAG EQ FALSE?
CLOSE ̲DOWN ̲FLAG ̲EQ ̲TRUE? E̲R̲R̲O̲R̲ ̲R̲E̲P̲(̲ ̲ ̲ ̲)̲(4.2.1.4.13
)
SET CLOSE ̲DOWN ̲FLAG = TRUE
PRINTER ̲BUSY ̲FLAG EQ FALSE?
CLOSE ̲DOWN ̲TIME ̲LIMIT EQ 0? C̲M̲D̲ ̲T̲D̲ ̲P̲R̲O̲P̲(̲A̲B̲A̲N̲D̲O̲N̲)(4.2.1.6.6)
CASE REQUEST ̲TIMEOUT (PRIS ̲CMD ̲Q,CLOSE ̲DOWN ̲TIMEOUT,
CLOSE ̲DOWN ̲TIME ̲LIMIT)
(CC): ERROR ̲OK
ERROR? ANALYSE ̲ERROR(CC, ): OK
OK? R̲E̲C̲E̲I̲V̲E̲ ̲C̲M̲D̲(4.2.1.6.7)
END CASE
END
Fig. 4.2.1.4.2.5-3
RESUME ̲PROC
PRINTER ̲ERROR ̲FLAG EQ FALSE?
ACTIVE ̲FLAG EQ FALSE? E̲R̲R̲O̲R̲ ̲R̲E̲P̲(̲T̲B̲D̲
̲)(4.2.1.4.13)
SET PRINTER ̲ERROR ̲FLAG = FALSE
C̲M̲D̲ ̲T̲D̲ ̲P̲R̲O̲P̲(̲C̲O̲N̲T̲I̲N̲U̲E̲)̲(4.2.1.6.6 )
R̲E̲C̲E̲I̲V̲E̲ ̲C̲M̲D̲ (4.2.1. 6.7)
END
Fig. 4.2.1.4.2.5-4
ANALYSE ̲TIMEOUT
ACTIVE ̲FLAG NE TRUE? R̲E̲C̲E̲I̲V̲E̲ ̲C̲M̲D̲(4.2.1.6.7)
CASE INPUT ̲ATTR.FLAGS OF:
PREEMPTION ̲TIMEOUT? PREEMPTION ̲CONTROL
̲FLAG EQ FALSE?
R̲E̲C̲E̲I̲V̲E̲
̲C̲M̲D̲(4.2.1.6.7)
SET PREEMPTION ̲CONTROL
̲FLAG=FALSE
U̲P̲C̲O̲ ̲P̲R̲E̲E̲M̲P̲T̲ ̲R̲E̲S̲T̲O̲R̲E̲(̲P̲R̲E̲E̲M̲P̲T̲)(4.2.1.4.7)
CLOSE ̲DOWN ̲TIMEOUT? SET ACTIVE ̲FLAG = FALSE
C̲M̲D̲ ̲T̲D̲ ̲P̲R̲O̲D̲(̲A̲B̲A̲N̲D̲O̲N̲)̲(̲4̲.̲2̲.̲1̲.̲6̲
̲ ̲6̲
OTHERWISE? E̲R̲R̲O̲R̲ ̲R̲E̲P̲(̲ ̲ ̲)(4.2.1.4.13) R̲E̲C̲E̲I̲V̲E̲
̲C̲M̲D̲(4.2.1.6.7)
END CASE
END "ANALYSE TIMEOUT"
Fig. 4.2.1.4.2.5-5
PROC ̲LOG ̲ACK
R̲E̲C̲E̲I̲V̲E̲ ̲C̲M̲D̲ (4.2.1.6.7)
END
4.2.1.4.2.5-6
4.2.1.4.3 U̲P̲C̲O̲ ̲I̲N̲I̲T̲I̲A̲L̲I̲Z̲A̲T̲I̲O̲N̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
4.2.1.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̲
This module is called by the PROCESS-CMD-Q-ITEM-module
and takes care of the initializing actions connected
with UPCO. It gets the appropriate system parameters,
connects the subprocess to the printer and the Format
File, initializes some of the variables and invokes
PROP by sending an INITIALIZE ̲PROP CMD.
4.2.1.4.3.2 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) UPCO ̲INITIALIZATION : OK
b) UPCO ̲INITIALIZATION (R6):OK
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
Return Registers:
R0 - R7 DESTROYED
F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲: NONE
4.2.1.4.3.3 M̲o̲d̲u̲l̲e̲ ̲C̲o̲m̲p̲o̲n̲e̲n̲t̲s̲
N/A
4.2.1.4.3.4 D̲a̲t̲a̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲s̲
TBD
4.2.1.4.3.5 M̲o̲d̲u̲l̲e̲ ̲D̲e̲s̲i̲g̲n̲
It is checked whether the initialization has already
taken place or not. If positive the command is ignored
and an error analysis will take place.
The various test arrays are initialized by reading
in the data from the Pring Format File.
UPCO ̲INITIALIZATION
ACTIVE ̲FLAG EQ TRUE? E̲R̲R̲O̲R̲ ̲R̲E̲P̲(̲ ̲ ̲ ̲)̲ ̲(̲4̲.̲2̲.̲1̲.̲4̲.̲1̲3̲)̲
R̲E̲C̲E̲I̲V̲E̲ ̲C̲M̲D̲(̲4̲.̲2̲.̲1̲.̲6̲.̲7̲
̲)̲
CASE PRINTER ̲TYPE OF:
LOW ̲SPEED? G̲E̲T̲ ̲L̲O̲W̲ ̲S̲P̲E̲E̲D̲ ̲P̲R̲I̲N̲T̲ ̲P̲A̲R̲A̲M̲E̲T̲E̲R̲S̲
̲ ̲(̲4̲.̲2̲.̲1̲.̲6̲.̲2̲ ̲)̲
MEDIUM ̲SPEED? G̲E̲T̲ ̲M̲E̲D̲I̲U̲M̲ ̲S̲P̲E̲E̲D̲ ̲P̲R̲I̲N̲T̲ ̲P̲A̲R̲A̲M̲E̲T̲E̲R̲S̲(̲4̲.̲2̲.̲1̲.̲6̲.̲1̲)̲
END CASE
GET PRINTER ̲CONN FROM QEL INFO FIELD
ACCEPT ̲PRINTER ̲CONNECTION
CASE LOOKUP(DIRECTORY,PFF ̲NAME)
(PF ̲FILE ̲DESCRIPTOR, CC):ERROR ̲OK
ERROR? ANALYSE ̲ERROR(CC,O):OK
OK?
END CASE
R̲E̲A̲D̲ ̲P̲F̲F̲ ̲I̲N̲D̲E̲X̲ ̲A̲N̲D̲ ̲T̲E̲X̲T̲ ̲A̲R̲R̲A̲Y̲S̲ ̲(̲ -2 )
C̲M̲D̲ ̲T̲O̲ ̲P̲R̲O̲P̲ ̲(̲I̲N̲I̲T̲I̲A̲L̲I̲Z̲E̲ ̲P̲R̲O̲P̲)̲(̲4̲.̲2̲.̲1̲.̲6̲.̲6̲)̲
END
Fig. 4.2.1.4.3.5-1
READ ̲PFF ̲INDEX ̲AND ̲TEXT-̲ARRAYS
SET PFF ̲BLE.KIND = HIGH ̲BYTE
SET PFF ̲BLE.LINK = NIL
SET PFF ̲BLE.ADDRESS = ADDRESS(FDB)
SET PFF ̲BLE.BYTE ̲SIZE = SIZE(FDB)
SET PFF ̲ADDRESS.FIRST ̲BYTE = PFF ̲INDEX ̲ADDR
SET PFF ̲ADDRESS.BYTE ̲COUNT = SIZE (FDB)
R̲E̲A̲D̲ ̲P̲F̲F̲ ̲D̲A̲T̲A̲ ( )
TRANSFER ̲VALUES ̲FROM ̲FDB ̲TO ̲ARRAYS
END
Fig. 4.2.1.4.3.5-2
4.2.1.4.4 A̲n̲a̲l̲y̲s̲e̲ ̲F̲l̲a̲s̲h̲ ̲N̲o̲t̲i̲f̲i̲c̲a̲t̲i̲o̲n̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
4.2.1.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 module analyses the derived FLASH Notification
and the status of the Printer Subnprocess and determines
the actions to be taken.
4.2.1.4.4.2 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) ANALYSE ̲FLASH ̲NOTIFICATION OK
b) ANALYSE ̲FLASH ̲NOTIFICATION (R6):OK
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
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲:
R0 - R17 DESTROYED
F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲:̲
NONE.
4.2.1.4.4.3 M̲o̲d̲u̲l̲e̲ ̲C̲o̲m̲p̲o̲n̲e̲n̲t̲s̲ ̲
N/A
4.2.1.4.4.4 D̲a̲t̲a̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
TBD
4.2.1.4.4.5 M̲o̲d̲u̲l̲e̲ ̲D̲e̲s̲i̲g̲n̲
If the Printer is out of action the arrived FLASH item
and a notification are sent to MDCO.
If the subprocess is already executing a FLASH-item,
the notification will be ignored.
If the Subprocess is not executing a FLASH item a preemption
timeout will be requested. If the request is rejected
alternative actions are taken.
The following flowgrams illustrates the module logic.
…02…ANALYSE ̲FLASH ̲NOTIFICATION
CASE ATTRIBUTES.SUBTYPE OF:
SUPERFLASH ̲I ̲A? SET SUBQ ̲INDEX = PREC ̲1
FLASH ̲I ̲A? SET SUBQ ̲INDEX= FLASH
ACTIVE ̲FLAG EQ FALSE?
PRINTER ̲ERROR ̲FLAG EQ TRUE?
F̲L̲A̲S̲H̲ ̲I̲T̲E̲M̲S̲ ̲T̲O̲ ̲M̲D̲C̲O̲(4.2.1.4.8)
PRINTER ̲BUSY ̲FLAG EQ FALSE? E̲R̲R̲O̲R̲
̲R̲E̲P̲(̲ ̲ ̲ ̲)(4.2.1.4.13)
EXECUTING ̲FLASH ̲FLAG EQ TRUE?
PRINTING ̲SYIE ̲TAB ̲FLAG EQ TRUE?
CASE PRINTER ̲TYPE OF:
LOW ̲SPEED? G̲E̲T̲ ̲L̲O̲W̲ ̲S̲P̲E̲E̲D̲ ̲P̲R̲I̲N̲T̲ ̲P̲A̲R̲A̲M̲E̲T̲E̲R̲S̲(
)
MEDIUM ̲SPEED? G̲E̲T̲ ̲M̲E̲D̲I̲U̲M̲ ̲S̲P̲E̲E̲D̲ ̲P̲R̲I̲N̲T̲
̲P̲A̲R̲A̲M̲E̲T̲E̲R̲S̲( )
END CASE
SET PREEMPTION ̲DELAY ̲LIMIT= PREEMPT
̲DELAY
R̲E̲Q̲U̲E̲S̲T̲ ̲P̲R̲E̲E̲M̲P̲T̲I̲O̲N̲ ̲T̲I̲M̲E̲O̲U̲T̲( -2 )
O̲T̲H̲E̲R̲W̲I̲S̲E̲?̲ E̲R̲R̲O̲R̲ ̲R̲E̲P̲(̲T̲B̲D̲)̲(̲4.2.1.4.13)
END ̲CASE
R̲E̲C̲E̲I̲V̲E̲ ̲C̲M̲D̲(4.2.1.6.7)
END "ANALYSE FLASH NOTIFICATION"
Fig. 4.2.1.4.4.5-1
REQUEST ̲PREEMPTION ̲TIMEOUT
CASE REQUEST ̲TIMEOUT(PRIS ̲CMD ̲Q, PREEMPTION ̲TIMEOUT,
PREEMPTION ̲DELAY ̲LIMIT)(CC):ERROR
̲OK
ERROR? CASE ANALYSE ̲ERROR(CC,2,TIMEOUT ̲CLAIM
̲EXEEDED,
OTHER ̲ERRORS):(ER1,ER2)
ER1? U̲P̲C̲O̲ ̲P̲R̲E̲E̲M̲P̲T̲ ̲R̲E̲S̲T̲O̲R̲E̲(̲P̲R̲E̲E̲M̲P̲T̲)(4.2.1.4.7)
ER2? F̲L̲A̲S̲H̲ ̲I̲T̲E̲M̲S̲ ̲T̲O̲
̲M̲D̲C̲O̲(4.2.1.4.8)
E̲R̲R̲O̲R̲ ̲R̲E̲P̲(̲T̲B̲D̲)̲(4.2.1.4.13)
R̲E̲C̲E̲I̲V̲E̲ ̲C̲M̲D̲(4.2.1.6.7)
END CASE
OK? SET PREEMPTION ̲CONTROL ̲FLAG=TRUE
R̲E̲C̲E̲I̲V̲E̲ ̲C̲M̲D̲(4.2.1.6.7)
END ̲CASE
Fig. 4.2.1.4.4.5-2
4.2.1.4.5 P̲R̲O̲C̲E̲S̲S̲ ̲P̲R̲O̲P̲ ̲I̲T̲E̲M̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
4.2.1.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 module analyses the various items received from
PROP.
Error-, PROP ̲INITIALILZE CC-and ABANDON ̲CC-reports
are processed by this module, while PREEMPT ̲CC-and
PRINT ̲COMPLETE-reports are processed by other modules.
4.2.1.4.5.2 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) PROCESS ̲PROP ̲ITEM:OK
b) PROCESS ̲PROP ̲ITEM(R6):OK
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
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R0 - R7 DESTROYED
F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲
None
4.2.1.4.5.3 M̲o̲d̲u̲l̲e̲ ̲C̲o̲m̲p̲o̲n̲e̲n̲t̲s̲
N/A
4.2.1.4.5.4 D̲a̲t̲a̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
TBD
4.2.1.4.5.5 M̲o̲d̲u̲l̲e̲ ̲D̲e̲s̲i̲g̲n̲
The OPERATION.ITEM ̲NAME is tested in order to determine
the PROP item type.
If an error is reported, eventual FLASH-items awaiting
execution are sent to MDCO and the PRINTER ̲ERROR ̲FLAG
is set. Destinction is made between PAPER ̲LOW and
other errors. If PAPER ̲LOW occurs the subprocess weill
wait for a RESUME and from DEMCO.
Initialize ̲CC will cause initialization of flags, reporting
to DEMCO and opening for receipt of print items.
Abandon ̲CC will cause all open views connected with
this subprocess to be closed and all QEL's owned by
the subprocess to be returned to the queue.
Finally DEMCO is notified.
PROCESS ̲PROP ̲ITEM
CASE OPERATION.ITEM ̲NAME OF:
CONNECTION ̲ERROR?
PROP ̲ERROR?
PAPER ̲LOW? P̲R̲O̲C̲ ̲P̲R̲O̲P̲ ̲E̲R̲R̲O̲R̲ ̲R̲E̲P̲( 2
)
PROP ̲INITIALIZE ̲CC? P̲R̲O̲C̲ ̲P̲R̲O̲P̲ ̲I̲N̲I̲T̲I̲A̲L̲I̲Z̲E̲
̲C̲C̲( 4 )
ABANDON ̲CC? P̲R̲O̲C̲ ̲A̲B̲A̲N̲D̲O̲N̲ ̲C̲C̲( 5
)
PREEMPT ̲CC? P̲R̲I̲N̲T̲I̲N̲G̲ ̲P̲R̲E̲P̲A̲R̲A̲T̲I̲O̲N̲S̲(4.2.1.4.9)
PRINT ̲COMPLETE ̲REP? P̲R̲O̲C̲ ̲P̲R̲I̲N̲T̲ ̲C̲O̲M̲P̲L̲E̲T̲E̲ ̲R̲E̲P̲(4.2.1.4.6)
OTHERWISE? E̲R̲R̲O̲R̲ ̲R̲E̲P̲(̲ ̲ ̲ ̲ ̲)̲(4.2.1.4.13)
END
Fig. 4.2.1.4.5.5-1
PROC ̲PROP ̲ERROR ̲REP
SET PREEMPTION ̲CONTROL ̲FLAG = FALSE
F̲L̲A̲S̲H̲ ̲I̲T̲E̲M̲S̲ ̲T̲O̲ ̲M̲D̲C̲O̲(4.2.1.4.8 )
SET PRINTER ̲ERROR ̲FLAG = TRUE
CASE OPERATION.ITEM ̲NAME OF:
PROP ̲ERROR? E̲R̲R̲O̲R̲ ̲R̲E̲P̲(̲ ̲ ̲ ̲ ̲)̲(4.2.1.4.13)
CONNECTION ̲ERROR? P̲R̲O̲C̲ ̲C̲O̲N̲N̲ ̲E̲R̲R̲ ̲R̲E̲P̲( 4 )
PAPER ̲LOW? P̲R̲O̲C̲ ̲P̲A̲P̲E̲R̲ ̲L̲O̲W̲ ̲R̲E̲P̲( 3
)
END ̲CASE
PENDING ̲INIT ̲RECEIVE ̲CMD EQ FALSE? R̲E̲C̲E̲I̲V̲E̲
̲C̲M̲D̲(̲4.2.1.6.7)
END
Fig. 4.2.1.4.5.5-2
PROC ̲PAPER ̲LOW ̲REP
SET PRINTER ̲ERROR ̲FLAG = TRUE
END
Fig. 4.2.1.4.5.5-3
PROC ̲PROP ̲INITIALIZE ̲CC
SET ACTIVE ̲FLAG = TRUE
SET PRINTER ̲ERROR ̲FLAG = FALSE
SET PREEMPTION ̲CONTROL ̲FLAG = FALSE
SET ITEM ̲PREEMPTED ̲FLAG = FALSE
SET PRINTER ̲BUSY ̲FLAG = FALSE
SET AWAITING ̲CIF ̲FLAG = FALSE
SET CLOSE ̲DOWN ̲FLAG = FALSE
SET EXECUTING ̲FLASH ̲FLAG = FALSE
S̲E̲N̲D̲ ̲R̲E̲P̲ ̲T̲O̲ ̲D̲E̲M̲C̲O̲(̲4̲.̲2̲.̲1̲.̲6̲.̲9̲ ̲)̲
R̲E̲C̲E̲I̲V̲E̲ ̲C̲M̲D̲(4.2.1.6.7 )
R̲E̲C̲E̲I̲V̲E̲ ̲P̲R̲I̲N̲T̲ ̲Q̲ ̲(̲M̲A̲I̲N̲ ̲)(4.2.1.6.8)
END
Fig. 4.2.1.4.5.5-4
PROC ̲ABANDON ̲CC
C̲H̲E̲C̲K̲ ̲V̲I̲E̲W̲(4.2.1.6.10 )
DOC ̲ACC ̲APP ̲FLAG EQ TRUE? T̲R̲A̲N̲S̲A̲C̲T̲I̲O̲N̲ ̲A̲C̲C̲(̲A̲B̲A̲N̲D̲O̲N̲)̲(4.2.1.4.12)
R̲E̲T̲U̲R̲N̲ ̲I̲T̲E̲M̲(̲P̲R̲I̲N̲T̲ ̲I̲T̲E̲M̲ ̲Q̲E̲L̲ ̲R̲E̲F̲)̲(4.2.1.6.4)
ITEM ̲PREEMPTED ̲FLAG EQ FALSE?
U̲P̲C̲O̲ ̲P̲R̲E̲E̲M̲P̲T̲ ̲R̲E̲S̲T̲O̲R̲E̲(̲R̲E̲S̲T̲O̲R̲E̲)̲(4.2.1.4.7)
C̲H̲E̲C̲K̲ ̲V̲I̲E̲W̲ (4.2.1.6.10)
DOC ̲ACC ̲APP ̲FLAG EQ TRUE? T̲R̲A̲N̲S̲A̲C̲T̲I̲O̲N̲ ̲A̲C̲C̲(̲A̲B̲A̲N̲D̲O̲N̲)̲(4.2.1.4.12)
R̲E̲T̲U̲R̲N̲ ̲I̲T̲E̲M̲ ̲(̲P̲R̲I̲N̲T̲ ̲I̲T̲E̲M̲ ̲Q̲E̲L̲ ̲R̲E̲F̲)̲(4.2.1.6.4)
F̲L̲A̲S̲H̲ ̲I̲T̲E̲M̲S̲ ̲T̲O̲ ̲M̲D̲C̲O̲(̲4.2.1.4.8)
DISCONNECT ̲PFF ̲AND ̲PRINTER
CLOSE ̲DOWN ̲FLAG EQ TRUE ̲? SET CLOSE ̲DOWN ̲FLAG
= FALSE
S̲E̲N̲D̲ ̲R̲E̲P̲ ̲T̲O̲ ̲D̲E̲M̲C̲O̲(4.2.1.6.9)
END
Fig. 4.2.1.4.5.5-5
PROC ̲CONN ̲ERR ̲REP
C̲H̲E̲C̲K̲ ̲V̲I̲E̲W̲(4.2.1.6.10)
DOC ̲ACC ̲APP EQ TRUE? T̲R̲A̲N̲S̲A̲C̲T̲I̲O̲N̲ ̲A̲C̲C̲(̲C̲O̲N̲ ̲E̲R̲R̲)(4.2.1.4.12)
R̲E̲T̲U̲R̲N̲ ̲I̲T̲E̲M̲(̲P̲R̲I̲N̲T̲ ̲I̲T̲E̲M̲ ̲Q̲E̲L̲ ̲R̲E̲F̲)(4.2.1.6.4)
ITEM ̲PREEMPTED ̲FLAG EQ FALSE?
U̲P̲C̲O̲ ̲P̲R̲E̲E̲M̲P̲T̲ ̲R̲E̲S̲T̲O̲R̲E̲(̲R̲E̲S̲T̲O̲R̲E̲)̲(4.2.1.4.7)
C̲H̲E̲C̲K̲ ̲V̲I̲E̲W̲(4.2.1.6.10)
DOC.ACC ̲APP ̲FLAG ̲EQ TRUE? T̲R̲A̲N̲S̲A̲C̲T̲I̲O̲N̲ ̲A̲C̲C̲(CON
̲ERR)(4.2.1.4.12)
R̲E̲T̲U̲R̲N̲ ̲I̲T̲E̲M̲(̲P̲R̲I̲N̲T̲ ̲I̲T̲E̲M̲ ̲Q̲E̲L̲ ̲R̲E̲F̲)(4.2.1.6.4)
F̲L̲A̲S̲H̲ ̲I̲T̲E̲M̲S̲ ̲T̲O̲ ̲M̲D̲C̲O̲(4.2.1.4.8)
CLOSE ̲DOWN ̲FLAG EQ TRUE? SET CLOSE ̲DOWN ̲FLAG
= FALSE
SET ACTIVE ̲FLAG = FALSE
END
Fig. 4.2.1.4.5.5-4
4.2.1.4.6 P̲R̲O̲C̲ ̲P̲R̲I̲N̲T̲ ̲C̲O̲M̲P̲L̲E̲T̲E̲ ̲R̲E̲P̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
4.2.1.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 module determines - and carries out some of - the
actions to be taken when PROP notifies of print completion.
4.2.1.4.6.2 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) PROC ̲PRINT ̲COMPLETE ̲REP
b) PROC ̲PRINT ̲COMPLETE ̲REP(R6): OK
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
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R0 - R7 DESTROYED
F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲
None
4.2.1.4.6.3 M̲o̲d̲u̲l̲e̲ ̲C̲o̲m̲p̲o̲n̲e̲n̲t̲s̲
N/A
4.2.1.4.6.4 D̲a̲t̲a̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
TBD
4.2.1.4.6.5 M̲o̲d̲u̲l̲e̲ ̲D̲e̲s̲i̲g̲n̲
At first it is checked whether any further copies of
the items are to be printed or not.
If not, cleaning up and appropriate accounting are
carried out. Otherwise PROP is ordered to print a
copy more.
If an item is preempted it will be checked if there
are any FLASH-items awaiting printout. In case there
is at least one, the first of them will be activated.
PROC ̲PRINT ̲COMPLETE ̲REP
DECREMENT COPY ̲COUNTER
COPY ̲COUNTER GT 0 ? C̲M̲D̲ ̲T̲O̲ ̲P̲R̲O̲P̲(̲C̲O̲M̲M̲E̲N̲C̲E̲)̲(4.2.1.6.6)
C̲H̲E̲C̲K̲ ̲V̲I̲E̲W̲(4.2.1.6.10)
DOC ̲ACC ̲ADD ̲FLAG EQ TRUE? T̲R̲A̲N̲S̲A̲C̲T̲I̲O̲N̲ ̲A̲C̲C̲(̲C̲O̲M̲P̲L̲E̲T̲E̲)̲(4.2.1.4.12)
SET SUBQ = MAIN
PRINT ̲ITEM ̲QEL ̲REF.SUBQUEUE ̲EQ STAT?
PRINT ̲ITEM ̲QEL ̲REF.SUBQUEUE EQ SYIE ̲TAB? C̲H̲E̲C̲K̲
̲Q̲E̲L̲ ̲F̲L̲A̲G̲S̲( 2 )
D̲I̲S̲M̲A̲N̲T̲L̲E̲ ̲I̲T̲E̲M̲(̲P̲R̲I̲N̲T̲ ̲I̲T̲E̲M̲ ̲Q̲E̲L̲.̲R̲E̲F̲)̲(̲4̲.̲2̲.̲1̲.̲6̲.̲5̲)̲
"ITEM ̲QEL ̲ATTR IS KEPT"
ITEM ̲PREEMPTED ̲FLAG EQ TRUE? C̲H̲E̲C̲K̲ ̲F̲L̲A̲S̲H̲ ̲Q̲( 3
)
SUBQ EQ MAIN? SET PRINTER ̲BUSY ̲FLAG = FALSE
R̲E̲C̲E̲I̲V̲E̲ ̲P̲R̲I̲N̲T̲ ̲Q̲ ̲(̲S̲U̲B̲Q̲)(4.2.1.6.8)
END
Fig. 4.2.1.4.6.5-1
CHECK ̲QEL ̲FLAGS
ITEM ̲QEL ̲ATTR.FLAGS AND LAST ̲CIF NE LAST ̲CIF?
CASE SEND ̲REPLY( REPLY ̲PARAMS,
ITEM ̲QEL ̲REF ,
ITEM-QEL-REF )
( REPLY ̲PARAMS,
CC): ERROR ̲OK
ERROR? ANALYSE ̲ERROR(CC, 0 ): OK
OK? SET SUBQ = ITEM ̲QEL ̲REF.SUBQUEUE
SET AWAITING ̲CIF ̲FLAG = TRUE
END CASE
END
Fig. 4.2.1.4.6.5-2
CHECK ̲FLASH ̲Q
CASE RECEIVE ̲FIRST ̲QEL (WAIT:=FALSE;PRIS ̲PRINT ̲Q.PREC1)
(INPUT ̲ATTR,QEL,SUBQUEUE,CC):
ERROR ̲OK
ERROR? CASE ANALYSE ̲ERROR(CC,1,SUBQUEUE ̲EMPTY):(L4)
L4?
END CASE
CASE RECEIVE ̲FIRST ̲QEL(WAIT=FALSE,
PRIS ̲PRINTQ.FLASH)
(INPUT ̲ATTR,QEL,SUBQUEUE,CC)
:ERROR ̲OK
ERROR? CASE ANALYSE ̲ERROR(CC,1,SUB
QUEUE ̲EMPTY)
(L5')
L5?
END CASE
R̲E̲S̲T̲A̲R̲T̲ ̲P̲R̲E̲E̲M̲P̲T̲E̲D̲ ̲I̲T̲E̲M̲S̲(̲
4 )
OK? S̲A̲V̲E̲ ̲R̲E̲F̲E̲R̲E̲N̲C̲E̲S̲ (4.2.1.6.3)
P̲R̲I̲N̲T̲I̲N̲G̲ ̲P̲R̲E̲P̲A̲R̲A̲T̲I̲O̲N̲S̲(4.2.1.4.9)
END CASE
OK? S̲A̲V̲E̲ ̲R̲E̲F̲E̲R̲E̲N̲C̲E̲S̲(4.2.1.6.3)
P̲R̲I̲N̲T̲I̲N̲G̲ ̲P̲R̲E̲P̲A̲R̲A̲T̲I̲O̲N̲S̲(̲4̲.̲2̲.̲1̲.̲4̲.̲9̲)̲
END CASE
END
Fig. 4.2.1.4.6.5-3
RESTART ̲PREEMPTED ̲ITEM
U̲P̲C̲O̲ ̲P̲R̲E̲E̲M̲P̲T̲ ̲R̲E̲S̲T̲O̲R̲E̲(̲R̲E̲S̲T̲O̲R̲E̲)(4.2.1.4.7)
PRINTING ̲SYIE ̲TAB ̲FLAG EQ TRUE?
SET SUBQ = PRINT ̲ITEM ̲QEL ̲ATTR.SUBQUEUE
R̲E̲C̲E̲I̲V̲E̲ ̲P̲R̲I̲N̲T̲ ̲Q̲(̲S̲U̲B̲Q̲)(4.2.1.6.8
)
C̲M̲D̲ ̲T̲O̲ ̲P̲R̲O̲P̲ ̲(̲R̲E̲S̲T̲A̲R̲T̲)(4.2.1.6.6)
END
Fig. 4.2.1.4.6.5-4
4.2.1.4.7 U̲P̲C̲O̲ ̲P̲R̲E̲E̲M̲P̲T̲ ̲R̲E̲S̲T̲O̲R̲E̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
4.2.1.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 Module takes care of saving appropriate variables
pertinent to an item which is to be preempted. It
inputs the preemption-causing item and orders PROP
to make preemption.
The Module also restores the status of an earlier preempted
item.
4.2.1.4.7.2 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) UPCO ̲PREEMPT ̲RESTORE
(PROCEDURE:PRESTORE ̲SWITCH)
b) UPCO ̲PREEMPT ̲RESTORE(PROCEDURE= R1,R6):OK
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 Procedure indicator (DESTROYED)
R6 LINK
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R0 - R7 DESTROYED
F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲
None
4.2.14.7.3 M̲o̲d̲u̲l̲e̲ ̲C̲o̲m̲p̲o̲n̲e̲n̲t̲s̲
N/A
4.2.1.4.7.4 D̲a̲t̲a̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
TBD
4.2.1.4.7.5 M̲o̲d̲u̲l̲e̲ ̲D̲e̲s̲i̲g̲n̲
The module cosists of two procedures, one for preempting
and one for restoring. The choice between them is
based on the call-parameter PROCEDURE.
The preempting procedure stores the appropriate variable
values in a set of local variables. A preemption command
to PROP is issued.
The restoring procedure restores the values of the
earlier saved variables.
UPCO ̲PREEMPT ̲RESTORE (PROCEDURE)
CASE PROCEDURE OF:
PREEMPT? U̲P̲C̲O̲ ̲P̲R̲E̲E̲M̲P̲T̲ ( 2 )
RESTORE? U̲P̲C̲O̲ ̲R̲E̲S̲T̲O̲R̲E̲ ( 3 )
OTHERWISE? E̲R̲R̲O̲R̲ ̲R̲E̲P̲(̲ ̲ ̲ ̲)̲(4.2.1.4.143)
END CASE
END
Fig. 4.2.1.4.7.5-1
UPCO ̲PREEMPT
SET ITEM ̲PREEMPTED ̲FLAG = TRUE
SAVE ITEM ̲QEL.REF
SAVE ITEM ̲QEL ̲ATTR
SAVE VIEW ̲OPEN ̲FLAG
SAVE COPY ̲COUNTER
SAVE DOC ̲ACC ̲APP ̲FLAG
SAVE DOCUMENT ̲ACC ̲VARIABLES
SAVE AWAITING ̲CIF ̲FLAG
SAVE PRINTING ̲SYTE ̲TAB ̲FLAG
SAVE PRINT ̲ITEM ̲CATEGORY
CASE RECEIVE ̲FIRST ̲QEL (WAIT:=TRUE,PRIS ̲PRINT
̲Q)
(INPUT.ATTR,QEL,SUBQUEUE,CC):ERROR
̲OK
ERROR? ANALYSE ̲ERROR(CC, ): OK
OK? S̲A̲V̲E̲ ̲R̲E̲F̲E̲R̲E̲N̲C̲E̲S̲ (4.2.1.6.3)
C̲M̲D̲ ̲T̲O̲ ̲P̲R̲O̲P̲(̲P̲R̲E̲E̲M̲P̲T̲)(4.2.1.6.6)
END CASE
END
Fig. 4.2.1.4.7.5-2
UPCO-RESTORE
SET ITEM ̲PREEMPTED ̲FLAG = FALSE
SET ITEM ̲QEL ̲REF = PREEMPT ̲ITEM ̲QEL ̲REF
SET ITEM ̲QEL ̲ATTR = PREEMPT ̲ITEM ̲QEL ̲ATTR
SET VIEW ̲OPEN ̲FLAG = PREEMPT ̲VIEW ̲OPEN ̲FLAG
SET COPY COUNTER = PREEMPT ̲COPY ̲COUNTER
SET DOC ̲ACC ̲APP ̲FLKAG = DOC ̲ACC ̲APP ̲FLAG
RESTORE DOC ACC VARIABLES
SET AWAITING ̲CIF ̲FLAG = PREEMPT ̲AWAITING ̲CIF ̲FLAG
SET PRINTING ̲SYIE ̲TAB ̲FLAG = PREEMPT ̲PRINTING ̲SYIE
̲TAB ̲FLAG
SET PRINT ̲ITEM ̲CATEGORY = PREEMPT ̲PRINTITEM.CATEGORY
END
Fig. 4.2.1.4.2.5-3
4.2.1.4.8 F̲L̲A̲S̲H̲ ̲I̲T̲E̲M̲S̲ ̲T̲O̲ ̲M̲D̲C̲O̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲ ̲
4.2.1.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 searches the FLASH Queues and sends eventual
FLASH-items to MDCO.
4.2.1.4.8.2 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) FLASH ̲ITEMS ̲TO ̲MDCO
b) FLASH ̲ITEMS ̲TO ̲MDCO(R6):OK
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
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R0 - R7 DESTROYED
F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲
None
4.2.1.4.8.3 M̲o̲d̲u̲l̲e̲ ̲C̲o̲m̲p̲o̲n̲e̲n̲t̲s̲
4.2.1.4.8.3.1 C̲H̲E̲C̲K̲ ̲P̲R̲E̲V̲I̲O̲U̲S̲
If the previous item was a report it is returned to
its queue. Else it is sent to the MDCO-Queue. The
subqueue will be of the same level as the level from
where the item was received. Flowgram is depicted
in Fig. 4.2.1.4.8.5.
4.2.1.4.8.3.2 S̲E̲N̲D̲ ̲T̲O̲ ̲M̲D̲C̲O̲
Sends specified QEL to the specified MDCO-Subqueue.
4.2.1.4.8.4 D̲a̲t̲a̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
TBD
4.2.1.4.8.5 M̲o̲d̲u̲l̲e̲ ̲D̲e̲s̲i̲g̲n̲
The module consists mainly of a Loop which is run through
twice. Once for each of the subqueues PREC1 and FLASH.
All FLASH items met are sent to MDCO together with
a FLASH-Notification. Other items are returned to
the queue.
FLASH ̲ITEMS ̲TO ̲MDCO
SET SUBQ ̲INDEX = PREC1
LOOP
C̲L̲E̲A̲N̲Q̲( -2 )
SUBQ-INDEX EQ FLASH? EXIT LOOP
SET SUBQ ̲INDEX = FLASH
END ̲LOOP
END
Fig. 4.2.1.4.8.5-1
CLEAN ̲Q
CASE RECEIVE ̲FIRST ̲QEL(WAIT: = FALSE;PRIS ̲PRINT
̲Q.SUBQ ̲INDEX )
(INPUT ̲ATTR,INPUT ̲QEL,SUBQUEUE,CC):ERROR
̲OK
ERROR? CASE ANALYSE ̲ERROR(CC,1,SUBQUEUE ̲EMPTY):(1)
L1?
END CASE
OK? LOOP
SET PREVIOUS ̲QEL = INPUT ̲QEL
SET PREVIOUS ̲ATTR = INPUT ̲ATTR
CASE RECEIVE ̲NEXT ̲QEL (PREVIOUS ̲QEL)
(INPUT ̲QEL,INPUT ̲ATTR,CC):ERROR
̲OK
ERROR? ̲CASE ANALYSE ̲ERROR(CC,1,SUBQUEUE
̲EMPTY):
(ER1)
ER1?
ENDCASE E̲X̲I̲T̲ ̲L̲O̲O̲P̲
OK?
END CASE
C̲H̲E̲C̲K̲ ̲P̲R̲E̲V̲I̲O̲U̲S̲ ( 3 )
END LOOP
C̲H̲E̲C̲K̲ ̲P̲R̲E̲V̲I̲O̲U̲S̲ ( 3 )
END CASE
END
Fig. 4.2.1.4.8.5-2
CHECK ̲PREVIOUS
PREVIOUS.ATTR.MAINTYPE EQ REPORT?
RETURN ̲ITEM (PREVIOUS ̲QEL)(CC):OK
S̲E̲N̲D̲ ̲T̲D̲ ̲M̲D̲C̲O̲ ̲(̲P̲R̲E̲V̲I̲O̲U̲S̲ ̲Q̲E̲L̲,̲ S̲U̲B̲Q̲ ̲I̲N̲D̲E̲X̲)(
4 )
D̲I̲S̲M̲A̲N̲T̲L̲E̲ ̲I̲T̲E̲M̲(̲P̲R̲E̲V̲I̲O̲U̲S̲ ̲Q̲E̲L̲,̲ PREVIOUS ̲ATTR)(4.2.1.6.5)
END
Fig. 4.2.1.4.8.5-3
SEND ̲TO ̲MDCO (QEL,SUBQ ̲INDEX)
CASE SEND(MDCO ̲SEND ̲PARAMS,
QEL,
MDOS ̲MDQ.SUBQ ̲INDEX)
(MDCO ̲SEND ̲PARAMS,CC) : ERROR ̲OK
ERROR? ANALYSE ̲ERROR(CC, 0 ):OK
OK?
END CASE
CASE SEND(FLASH ̲NOT ̲SEND ̲PARAMS,
NIL
MDOS ̲CCMDQ )
(FLASH ̲NOT ̲SEND ̲PARAMS): ERROR ̲OK
ERROR? - ANALYSE ̲ERROR(CC, 0 ):OK
OK?
END CASE
END
Fig. 4.2.1.8.5-4
4.2.1.4.9 P̲R̲I̲N̲T̲I̲N̲G̲ ̲P̲R̲E̲P̲A̲R̲A̲T̲I̲O̲N̲S̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
4.2.1.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̲
The Module takes care of the necessary preparations
to be made before printout of an item can begin.
The Print parameters are read. For CIF items the
view is opened and the administration field is read.
If appropriate Document Accounting Preparations (separate
module) are carried out.
4.2.1.4.9.2 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) PRINTING ̲PREPARATIONS
b) PRINTING ̲PREPARATIONS(R6):OK
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
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R0 - R7 DESTROYED
F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲
NONE
4.2.1.4.9.3 M̲o̲d̲u̲l̲e̲ ̲C̲o̲m̲p̲o̲n̲e̲n̲t̲s̲ ̲
4.2.1.4.9.3.1 R̲E̲A̲D̲ ̲A̲D̲M̲I̲N̲I̲S̲T̲R̲A̲T̲I̲O̲N̲ ̲F̲I̲E̲L̲D̲
The procedure reads in the administration field of
the IMF or IF by a READ ̲VIEW ̲request (see flowgram).
4.2.1.4.9.4 D̲a̲t̲a̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
TBD.
4.2.1.4.9.5 M̲o̲d̲u̲l̲e̲ ̲D̲e̲s̲i̲g̲n̲
The print parameters are determined by calling the
common procedure GET ̲LOW ̲SPEED ̲PAINT ̲PARAMETERS or
GET ̲MEDIUM ̲SPEED ̲PAINT ̲PARAMETERS.
The PRINT ̲ITEM ̲CATEGORY is determined by a separate
module and is used to destinguish between the different
item types.
PRINTING ̲PREPARATIONS
CASE PRINTER ̲TYPE OF:
LOW ̲SPEED? G̲E̲T̲ ̲L̲O̲W̲ ̲S̲P̲E̲E̲D̲ ̲P̲R̲I̲N̲T̲ ̲P̲A̲R̲A̲M̲E̲T̲E̲R̲S̲(4.2.1.6.2)
MEDIUM ̲SPEED? G̲E̲T̲ ̲M̲E̲D̲I̲U̲M̲ ̲S̲P̲E̲E̲D̲ ̲P̲R̲I̲N̲T̲ ̲P̲A̲R̲A̲M̲E̲T̲E̲R̲S̲(4.2.1.6.1)
END ̲CASE
SUBQUEUE EQ PREC1?
SUBQUEUE EQ FLASH? SET PRINTING ̲FLASH ̲FLAG
= TRUE
SET PRINTING ̲FLASH FLAG = FALSE
SUBQUEUE EQ SYIE ̲TAB? SET PRINTING ̲SYIE ̲TAB ̲FLAG
= TRUE
RECEIVE ̲PRINT ̲Q(PREC1)(4.2.1.6.8)
RECEIVE ̲PRINT ̲Q ̲(FLASH)(4.2.1.6.8)
SET PRINTING ̲SYIE ̲TAB ̲FLAG = FALSE
D̲E̲T̲E̲R̲M̲I̲N̲E̲ ̲P̲R̲I̲N̲T̲ ̲I̲T̲E̲M̲ ̲C̲A̲T̲E̲G̲O̲R̲Y̲ (4.2.1.4.10)
CASE PRINT ̲ITEM ̲PRINT ̲ITEM ̲CATEGORY CATEGORY OF:
SINGLE ̲QEL?
BUFFER ̲ITEM? C̲M̲D̲ ̲T̲O̲ ̲P̲R̲O̲P̲(̲C̲O̲M̲M̲E̲N̲C̲E̲)(4.2.1.6.6)
SET COPY ̲COUNTER = 1
IMF ̲ITEM? U̲P̲C̲O̲ ̲P̲R̲C̲ ̲I̲M̲F̲ ̲I̲T̲E̲M̲ ( 2 )
IIF ITEM? U̲P̲C̲O̲ ̲P̲R̲C̲ ̲I̲I̲F̲ ̲I̲T̲E̲M̲ ( 3 )
NOT ̲FOR ̲PRINT? E̲R̲R̲O̲R̲ ̲R̲E̲P̲ ̲(̲ ̲ ̲ ̲ ̲)̲(4.2.1.4.13)
R̲E̲C̲E̲I̲V̲E̲ ̲P̲R̲I̲N̲T̲ ̲Q̲ (4.2.1.6.8)
D̲I̲S̲M̲A̲N̲T̲L̲E̲ ̲I̲T̲E̲M̲ (PRINT ̲ITEM
̲QEL ̲REF,
PRINT ̲ITEM
̲QEL ̲ATTR)
(4.2.1.6.5)
END CASE
END Fig. 4.2.1.4.9.5-1
UPCO ̲ARC ̲IMF ̲ITEM
CASE OPEN ̲VIEW(PRINT ̲ITEM ̲QEL ̲REF)
(CC):ERROR ̲OK
ERROR? ANALYSE ̲ERROR(CC, ):OK
OK?
END CASE
R̲E̲A̲D̲ ̲A̲D̲M̲I̲N̲I̲S̲T̲R̲A̲T̲I̲O̲N̲ ̲F̲I̲E̲L̲D̲( 4 )
DOC ̲ACC ̲APP ̲FLAG EQ FALSE? SET COPY ̲COUNTER=1
D̲O̲C̲U̲M̲E̲N̲T̲ ̲A̲C̲C̲O̲U̲N̲T̲I̲N̲G̲ ̲P̲R̲E̲P̲A̲R̲A̲T̲I̲O̲N̲S̲ (4.2.1.4.11)
C̲M̲D̲ ̲T̲O̲ ̲P̲R̲O̲P̲ ̲(̲C̲O̲M̲M̲E̲N̲C̲E̲)̲(4.2.1.6.6)
END
Fig. 4.2.1.4.9.5-2
UPCO ̲PRC ̲IIF ̲ITEM
SET COPY ̲COUNTER = 1
CASE OPEN ̲VIEW (PRINT ̲ITEM ̲QEL ̲REF)(CC):ERROR
̲OK
ERROR? ANALYSE ̲ERROR(CC, 0 ):OK
OK?
END CASE
R̲E̲A̲D̲ ̲A̲D̲M̲I̲N̲I̲S̲T̲R̲A̲T̲I̲O̲N̲ ̲F̲I̲E̲L̲D̲( 4 )
C̲M̲D̲ ̲T̲O̲ ̲P̲R̲O̲P̲ ̲(̲C̲O̲M̲M̲E̲N̲C̲E̲)̲ (4.2.1.6.6)
END
Fig. 4.2.1.4.9.5-3
READ ̲ADMINISTRATION ̲FIELD
CASE READ ̲VIEW (PRIS ̲SOURCE ̲BUFFER LENGTH,
ADMINISTRATION ̲FIELD ,
PRINT ̲ITEM ̲QEL ̲REF ,
PRIS ̲SOURCE ̲BUFFER )
(CC):ERROR-OK
ERROR? ANALYSE ERROR(CC, 0 ):OK
OK?
Fig. 4.2.1.4.9.5-4
4.2.1.4.10 D̲E̲T̲E̲R̲M̲I̲N̲E̲ ̲P̲R̲I̲N̲T̲ ̲I̲T̲E̲M̲ ̲C̲A̲T̲E̲G̲O̲R̲Y̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
4.2.1.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 Module that is called by the PRINTING ̲PREPARATIONS
Module determines which category (Single QEL, Buff,
IMF or IIF) the print item belongs to.
Additionally it determines whether document accounting
is appropriate for the item in question and finally
the Print Format File index is found.
4.2.1.4.10.2 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) DETERMINE ̲PRINT ̲ITEM ̲CATEGORY
b) DETERMINE ̲PRINT ̲ITEM ̲CATEGORY(R6):OK
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
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R0 - R7 DESTROYED
F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲
NONE
4.2.1.4.10.3 M̲o̲d̲u̲l̲e̲ ̲C̲o̲m̲p̲o̲n̲e̲n̲t̲s̲ ̲
TBD
4.2.1.4.10.4 D̲a̲t̲a̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
TBD
4.2.1.4.10.5 M̲o̲d̲u̲l̲e̲ ̲D̲e̲s̲i̲g̲n̲
TBD
4.2.1.4.11 D̲O̲C̲U̲M̲E̲N̲T̲ ̲A̲C̲C̲ ̲P̲R̲E̲P̲A̲R̲A̲T̲I̲O̲N̲S̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
4.2.1.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̲
The module carries out the necessary preparations in
order to perform Document Accounting during printout
of an item. the module is called by the PRINTING ̲PREPARATIONS
Module.
4.2.1.4.11.2 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) DOCUMENT ̲ACC ̲PREPARATIONS
b) DOCUMENT ̲ACC ̲PREPARATIONS(R6):OK
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
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R0 - R7 DESTROYED
F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲
NONE
4.2.1.4.11.3 M̲o̲d̲u̲l̲e̲ ̲C̲o̲m̲p̲o̲n̲e̲n̲t̲s̲
TBD
4.2.1.4.11.4 D̲a̲t̲a̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲ ̲
TBD
4.2.1.4.11.5 M̲o̲d̲u̲l̲e̲ ̲D̲e̲s̲i̲g̲n̲
Preliminary Description:
DETERMINE CLASSIFICATION
DETERMINE TRANSACTION ID
GET SYSPRINT CONTROL NO
GET START ̲OF ̲TRANSMISSION ̲TIME AND CONVERT IT TO DTG
̲FORMAT
DETERMINE SPEC ̲HANDLING CONTROL NO IF APPROPRIATE
DETERMINE NO OF COPIES
IF APPROPRIATE INSERT 'SUSPECTED DUPLICATION' TEXT
COMPUTE NO OF PAGES
GET 'FROM SCD 'OR' FROM PLA ̲REF' AND DTG FROM ADM ̲FIELD
AND STORE IT FOR USE IN TRANSACTION ACCOUNTING.
4.2.1.4.12 T̲R̲A̲N̲S̲A̲C̲T̲I̲O̲N̲ ̲A̲C̲C̲O̲U̲N̲T̲I̲N̲G̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
4.2.1.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̲
This Common Module takes care of the final transaction
accounting, which is required for Comments, Messages
and Service Messages. The transaction accounting consists
of generation and sending of Log records and Delivery
Status Reports.
4.2.1.4.12.2 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) TRANSACTION ̲ACCOUNTING (EXIT ̲CAUSE)
b) TRANSACTION ̲ACCOUNTING(EXIT ̲CAUSE= R1,R6):OK
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 (EXIT ̲CAUSE ̲(DESTROYED)
R6 LINK (DESTROYED)
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R0 - R7 DESTROYED
F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲
NONE
4.2.1.4.12.3 M̲o̲d̲u̲l̲e̲ ̲C̲o̲m̲p̲o̲n̲e̲n̲t̲s̲
TBD
4.2.1.4.12.4 D̲a̲t̲a̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲s̲
T̲B̲D̲
4.2.1.4.12.5 M̲o̲d̲u̲l̲e̲ ̲D̲e̲s̲i̲g̲n̲
TBD
Preliminary description:
BEGIN
DETERMINE ̲FORMAT ̲IDENTIFICATION
DETERMINE ̲STATUS CODE
GET END ̲OF ̲TRANSACTION ̲TIME
RESERVE ̲BUFFER
WRITE BUFFER "LOG RECORD BUFFER CONTENTS:
DEVICE ̲DESIGNATOR,
TRANSACTION ̲SERIAL ̲NO,
FORMAT ̲IDENTIFICATION,
START ̲OF ̲TRANSACTION ̲TIME,
ITEM ̲QEL ̲REF
EXIT CAUSE,
ITEM ̲QEL ̲ATTR, PROFILE,
END ̲OF ̲TRANSACTION ̲TIME
SYSTEM ̲PRINT ̲CONTROL ̲NUMBER,
SPECIAL ̲HANDLING ̲PRINT ̲CONTROL ̲NO"
SEND "REQUEST"(BUFFER) "TO LOG PACKAGE
RESERVE BUFFER "FOR DELIVERY STATUS REPORT"
WRITE BUFFER "CONTENTS: ITEM ̲QEL ̲REF,
SCD OR PLA,
DTG, STATUS ̲CODE,
DEVICE ̲DESIGNATOR.
SEND BUFFER TO UMAM ̲REQ ̲QUEUE
END
4.2.1.4.13 E̲R̲R̲O̲R̲-̲R̲E̲P̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
4.2.1.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 Error-Reporting Common Module handles all errors
detected in UPCO and PROP, except those in connection
with system calls, that are handled directly by the
ANALYSE ̲ERROR procedure. The ERROR ̲REP is not a Common
Package Procedure, because errors detected in PROP
are reported to UPCO, which takes action on them.
4.2.1.4.13.2 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) ERROR ̲REP(ERROR ̲ID, PROCEDURE ̲ID)
b) ERROR ̲REP(ERROR ̲ID = R1, PROCEDURE ̲ID= R2,R6):OK
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̲
R1 ERROR ̲ID (DESTROYED)
R2 PROCEDURE ̲ID (DESTROYED)
R6 LINK
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R0 - R7 DESTROYED
F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲
NONE
4.2.1.4.13.3 M̲o̲d̲u̲l̲e̲ ̲C̲o̲m̲p̲o̲n̲e̲n̲t̲s̲
TBD
4.2.1.4.13.4 D̲a̲t̲a̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
4.2.1.4.13.5 M̲o̲d̲u̲l̲e̲ ̲D̲e̲s̲i̲g̲n̲
TBD
"The module mainly uses the
SEND ̲GARBLE procedure for its purposes.
4.2.1.5 C̲o̲m̲m̲o̲n̲ ̲U̲P̲C̲O̲ ̲D̲a̲t̲a̲
"FLAGS"
ACTIVE ̲FLAG,
PRINTER ̲ERROR ̲FLAG,
PREEMPTION ̲CONTROL ̲FLAG,
ITEM ̲PREEMPTED ̲FLAG,
PRINTER ̲BUSY ̲FLAG,
AWAITING ̲CIF ̲FLAG,
CLOSE ̲DOWN ̲FLAG,
EXECUTING ̲FLASH ̲FLAG,
PENDING ̲INIT ̲RECEIVE ̲CMD,
PRINTING ̲S?? ̲TAB ̲FLAG,
DOC ̲ACC ̲APP,
VIEW ̲OPEN ̲FLAG: BOOLEAN;
"CONNECTIONS and File Names"
PRINTER ̲CONNECTION,
PF ̲FILE ̲DESCRIPTOR :CONNECTION ̲TYPE;
PFF ̲NAME :FILE ̲????TYPE";
DIRECTORY :DIRECTORY ̲TYPE;
"BLE's"
UPCO ̲BLE1,
UPCO ̲BLE2,
UPCO ̲BLE3,
.
.
UPCO ̲BLEN :BLE ̲TYPE;
PFF ̲ADDRESS :FILE ̲ADDRESS ̲TYPE;
4.2.1.6 C̲o̲m̲m̲o̲n̲ ̲U̲P̲C̲O̲ ̲P̲r̲o̲c̲e̲d̲u̲r̲e̲s̲
4.2.1.6.1 G̲E̲T̲ ̲M̲E̲D̲I̲U̲M̲ ̲S̲P̲E̲E̲D̲ ̲P̲R̲I̲N̲T̲ ̲P̲A̲R̲A̲M̲E̲T̲E̲R̲S̲ ̲S̲P̲E̲C̲.̲
4.2.1.6.1.1 F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
The procedure gets the Medium Speed Print Parameters
by issuing a System Call. The Parameters are stored
in common PRIS variables.
4.2.1.6.1.2 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) GET ̲MEDIUM ̲SPEED ̲PRINT ̲PARAMETERS
b) GET ̲MEDIUM ̲SPEED ̲PRINT ̲PARAMETERS (R6): OK
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
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R0-R7 DESTROYED
F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲
NONE
4.2.1.6.1.3 D̲a̲t̲a̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
PRIS Global Data:
NO ̲OF ̲LINES ̲PER ̲PAGE: INTEGER;
NO ̲OF ̲LINES ̲BETWEEN ̲PAGES: INTEGER;
PREEMPTION ̲DELAY ̲LIMIT: PREEMPT ̲DELAY ̲TYPE;
4.2.1.6.1.4 P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲D̲e̲s̲i̲g̲n̲
N/A
4.2.1.6.2 G̲E̲T̲ ̲L̲O̲W̲ ̲S̲P̲E̲E̲D̲ ̲P̲R̲I̲N̲T̲E̲R̲ ̲P̲A̲R̲A̲M̲E̲T̲E̲R̲S̲ ̲S̲P̲E̲C̲.̲
Equivalent to 4.2.1.6.1
(GET ̲MEDIUM ̲SPEED ̲PRINT ̲PARAMETERS)
4.2.1.6.3 S̲A̲V̲E̲ ̲R̲E̲F̲E̲R̲E̲N̲C̲E̲S̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
4.2.1.6.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 procedure transfers the values of the Input ̲QEL
Reference and the Input ̲QEL Attributes to the corresponding
variables pertinent to the current print item.
4.2.1.6.3.2 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) SAVE ̲REFERENCES
b) SAVE ̲REFERENCES (R6): OK
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
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R0 - R7 DESTROYED
F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲
NONE
4.2.1.6.3.3 D̲a̲t̲a̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
PRIS GLOBAL DATA
INPUT ̲QEL ̲REF,
PRINT ̲ITEM ̲QEL ̲REF: QEL ̲REFERENCE;
INPUT ̲QEL ̲ATTR,
PRINT ̲ITEM ̲QEL ̲ATTR: QEL ̲ATTRIBUTES;
4.2.1.6.3.4 P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲D̲e̲s̲i̲g̲n̲
N/A
4.2.1.6.4 R̲E̲T̲U̲R̲N̲ ̲I̲T̲E̲M̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
4.2.1.6.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 procedure returns the specified QEL to its appropriate
QUEUE by calling the Q- monitor-procedure RETURN.
4.2.1.6.4.2 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) RETURN ̲ITEM (QEL: QEL ̲REFERENCE)
b) RETURN ̲ITEM (QEL = R2, R6): OK
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̲
R2 QEL (DESTROYED)
R6 LINK
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R0 - R7 DESTROYED
F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲
NONE
4.2.1.6.4.3 D̲a̲t̲a̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
N/A
4.2.1.6.4.4 P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲D̲e̲s̲i̲g̲n̲
N/A
4.2.1.6.5 D̲I̲S̲M̲A̲N̲T̲L̲E̲ ̲I̲T̲E̲M̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
4.2.1.6.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 Procedure determines the item type (Single-QEL,
Buffer, View) and issues the appropriate system
call in order to dismantle the item.
4.2.1.6.5.2 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) DISMANTLE ̲ITEM(QEL ̲REFERENCE,
QEL ̲ATTR: QEL ̲ATTRIBUTES)
b) DISMANTLE ̲ITEM(QEL = R2),
ADDRESS(ATTRIBUTES)= R3,
R6): OK
R̲e̲g̲i̲s̲t̲e̲r̲ ̲C̲o̲n̲v̲e̲n̲t̲i̲o̲n̲
C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R2 QEL (DESTROYED)
R3 POINTER TO ATTRIBUTES
(DEST)
R6 LINK
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R0 - R7 DESTROYED
F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲
NONE
4.2.1.6.5.3 D̲a̲t̲a̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
N/A
4.2.1.6.5.4 P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲D̲e̲s̲i̲g̲n̲
DISMANTLE ̲ITEM(QEL, ATTRIBUTES)
…02…CASE ATTRIBUTES.OBJECT OF:
VIEW?-CASE SAVE ̲VIEW(TRUE,1,QEL)(CC):ERROR
̲OK
ERROR?-ANALYSE ̲ERROR(CC,0):OK
OK?
END CASE
BUFFER? - CASE DISMANTLE ̲BUFFER(QEL)(CC):ERROR
̲OK
ERROR?-ANALYSE ̲ERROR(CC,0): OK
OK?
END CASE
SINGLE ̲QEL? DISMANTLE(QEL)(CC):OK
END CASE
END
4.2.1.6.6 C̲M̲D̲ ̲T̲O̲ ̲P̲R̲O̲P̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
4̲.̲2̲.̲1̲.̲6̲.̲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 procedure issues the specified command
to PROP by setting PRIS ̲UPCO ̲CMD ̲OP, ITEMNAME
to the Command Id and Signalling the operation
semaphore PRIS ̲S2.
4.2.1.6.6.2 C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
a) CMD ̲TO ̲PROP (CMD:UPCO ̲CMD ̲TYPE)
b) CMD ̲TO ̲PROP (CMD = R1, R6): OK
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 COMMAND IDENTIFICATION(DEST)
R6 LINK
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R0 - R7 DESTROYED
F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲
N̲O̲N̲E̲
4.2.1.6.6.3 D̲a̲t̲a̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
"PRIS GLOBAL DATA:"
PRIS ̲UPCO ̲CMD ̲OP: OPERATION ̲SEMAPHORE;
4.2.1.6.6.4 P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲D̲e̲s̲i̲g̲n̲
N/A
4.2.1.6.7 RECEIVE ̲CMD Specification
4.2.1.6.7 F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
The procedure initiates a 'Receive-First-QEL
from
PRIS ̲CMD ̲Q' call and associates the operation
with PRIS ̲S1. It also indicates that an Init
Receive Cmd QEL call is pending.
4.2.1.6.7.2 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) RECEIVE ̲CMD
b) RECEIVE ̲CMD(R6):OK
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
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R0 - R7 DESTROYED
F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲
NONE
4.2.1.6.7.3 D̲a̲t̲a̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
"UPCO GLOBAL Variable
PENDING ̲INIT ̲RECEIVE ̲CMD: BOOLEAN;
4.2.1.6.7.4 P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲D̲e̲s̲i̲g̲n̲
RECEIVE ̲CMD
SET PENDING ̲INIT ̲RECEIVE ̲CMD = TRUE
CASE INIT RECEIVE ̲FIRST ̲QEL (WAIT: = TRUE,
PRIS ̲CMD ̲Q,
PRIS ̲CMD ̲Q ̲OP)
(CC) ̲ ERROR ̲OK
ERROR? ANALYSE ̲ERROR(CC, O) OK
OK? ASSOCIATE(PRIS ̲S1,PRIS ̲CMD ̲Q.OP)
(CC): OK
END ̲CASE
END
4.2.1.6.8 R̲E̲C̲E̲I̲V̲E̲ ̲P̲R̲I̲N̲T̲ ̲Q̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
4.2.1.6.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 procedure initiates a Receive First QEL
from the specified subqueue in PRIS ̲PRINT ̲Q.
The possible subqueues are:
"Main", PREC 1, FLASH, STAT and SYTE ̲TAB.
4.2.1.6.8.2 I̲n̲t̲e̲r̲f̲a̲c̲e̲
C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲t̲i̲o̲n̲
a) RECEIVE ̲PRINT ̲Q's (SUBQUEUE)
b) RECEIVE ̲PRINT ̲Q(SUBQUEUE = R1,R6): OK
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 SUBQUEUE DESTROYED
R6 LINK DESTROYED
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R0 - R7 DESTROYED
F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲
NONE
4.2.1.6.8.3 D̲a̲t̲a̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲s̲
UPCO Common Data
PRIS ̲PRINT ̲Q ̲OP,
PRIS ̲PREC1 ̲OP,
PRIS ̲FLASH ̲OP,
PRIS ̲STAT ̲OP,
PRIS ̲SYIE ̲TAB ̲OP: PRIS ̲COROUTINE ̲OPERATION;
PRIS ̲PRINT ̲Q ̲ATTR,
PRIS ̲PREC1 ̲ATTR,
PRIS ̲FLASH ̲ATTR,
PRIS ̲STAT ̲ATTR,
PRIS ̲SYTE ̲TAB ̲ATTR: QEL ̲ATTRIBUTES;
4.2.1.6.8.4 P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲D̲e̲s̲i̲g̲n̲
RECEIVE ̲PRINT ̲Q(SUBQUEUE)
CASE SUBQUEUE OF :
MAIN? SET OPERATION = PRIS ̲PRINT.Q ̲OP
PREC1? SET OPERATION = PRIS ̲PREC1 ̲OP
FLASH? SET OPERATION = PRIS ̲FLASH=OP
STAT? SET OPERATION = PRIS ̲STAT ̲OP
SYIE ̲TAB?- SET OPERATION = PRIS ̲SYIE ̲TAB ̲OP
OTHERWISE? E̲R̲R̲O̲R̲ ̲R̲E̲P̲(̲ ̲ ̲ ̲ ̲)̲(4.2.1.4.13)
END CASE
CASE INIT RECEIVE ̲FIRST ̲QEL
(WAIT: = TRUE, PRIS ̲PRINT ̲Q.SUBQUEUE,
OPERATION)
(CC): ERROR ̲OK
ERROR? ANALYSE ̲ERROR(CC,0):OK
OK?
END CASE
END
4.2.1.6.9 S̲E̲N̲D̲ ̲R̲E̲P̲ ̲T̲O̲ ̲D̲E̲M̲C̲O̲ ̲S̲e̲p̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
4.2.1.6.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̲
The procedure uses the SEND ̲REPLY mechanism
to inform DEMCO of START, STOP and CLOSE
̲DOWN Command Completion.
4.2.1.6.9.2 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) SEND ̲REP ̲TO ̲DEMCO
b) SEND ̲REP ̲TO ̲DEMCO (R6): OK
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
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R0 - R7 DESTROYED
F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲
NONE
4.2.1.6.9.3 D̲a̲t̲a̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
UPCO Common Data:
DEMCO ̲CMD ̲QEL ̲REF,
DEMC ̲CMD ̲QEL ̲ATTR
4.2.1.6.9.4 P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲D̲e̲s̲i̲g̲n̲
N/A
4.2.1.6.10 C̲H̲E̲C̲K̲ ̲V̲I̲E̲W̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
4.2.1.6.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 procedure checks if an open view exists
pertinent to the current item. In case
there is, it will be closed.
4.2.1.6.10.2 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) CHECK ̲VIEW
b) CHECK ̲VIEW (R6): OK
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
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲
R0 - R7 DESTROYED
F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲
NONE
4.2.1.6.10.3 D̲a̲t̲a̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
"UPCO Common Data:
VIEW ̲OPEN ̲FLAG: BOOLEAN;
ITEM ̲QEL ̲REF: QEL ̲REFERENCE;
4.2.1.6.10.4 P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲D̲e̲s̲i̲g̲n̲
Ref. Fig. 4.2.1.6.10
CHECK ̲VIEW
VIEW ̲OPEN ̲FLAG EQ TRUE? CASE CLOSE ̲VIEW
(PRINT ̲ITEM
̲QEL ̲REF)
(CC): ERROR
̲OK
ERROR? ANALYSE ̲ERROR
(CC, 0):
OK
OK?
END CASE
SET VIEW ̲OPEN ̲FLAG
= FALSE
END
FIG. 4.2.1.6.10