top - download
⟦e92641bef⟧ Wang Wps File
Length: 29738 (0x742a)
Types: Wang Wps File
Notes: CPS/SDS/030
Names: »1512A «
Derivation
└─⟦c606dccac⟧ Bits:30005804 8" Wang WCS floppy, CR 0108A
└─⟦this⟧ »1512A «
WangText
…00……00……00……00…A…02……00……00…A
@…08…@…0a…@…0c…@…0e…@
@…06…?…0a…?…0d…>…08…>…09…>…0c…"…08…"…0b…"…0f…" "…06…!…0b…!…86…1 …02… …02… …02…
#
…02…CPS/SDS/030
…02…841012…02……02…
STORAGE AND RETRIEVAL
DETAILED DESIGN SPECIFICATION…02…ISSUE 1…02…CAMPS
4.2.3.4.2.3 M̲o̲d̲u̲l̲e̲ ̲C̲o̲m̲p̲o̲n̲e̲n̲t̲s̲
DTG retrieval module performs the functions related
to the off-line DTG retrieval when volume is mounted
and files are opened.
Flowgrams figure 4.2.3.4.2.5-1-3 presents the DTG retrieval
module.
C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
DTG ̲RETRIEVAL( )(CC: COMPLETION ̲CODE)
Following shared module components have been identified
for the DTG retrieval module:
- Verify DTG entry
D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
The addressed DTG catalogue entry is verified against
the retrieval request buffer. If match, corresponding
main entry is verified too.
If any SCDs are present these are verified too.
Flowgram refer figure 4.2.3.4.2.5-4a-b
C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
0 ̲VERIFY ̲DTG ̲ENTRY(ENTRY ̲NO: LONG)
(STATUS: ONL ̲STATUS ̲TYPE,
CC: COMPLETION ̲CODE)
- Point to offline DTG entry
D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
A pointer is returned in this call addressing the DTG
entries to be verified.
If entries are disk resident these are transferred
to memory.
Flowgram refer figure 4.2.3.4.2.5-5.
C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
POINT ̲0 ̲DTG ̲ENTRY(PHYS ̲ENTRY ̲NO: LONG)
(DTG ̲ENTRY ̲POINTER: POINTER ̲TYPE,
CC: COMPLETION ̲CODE)
- Test offline retrieval interrupt flag
D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
The offline retrieval interrupt flag is tested for
flag set or not.
The completion code returned tells the result.
C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
TEST ̲0 ̲INTERRUPT(CC: COMPLETION ̲CODE)
…86…1 …02… …02… …02… …02… …02… …02…
4.2.3.4.2.4 D̲a̲t̲a̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
a) D̲a̲t̲a̲ ̲R̲e̲f̲e̲r̲e̲n̲c̲e̲s̲
Refer source list
- SAR.D*OFL ̲RTR.D*OFL ̲RTR ̲PREFIX.S
b) E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲
Refer source list
- SAR.D*OFL ̲RTR.D*OFL ̲RTR ̲IMPORT.D*DTG ̲RETR ̲MOD.I
c) L̲o̲c̲a̲l̲ ̲D̲a̲t̲a̲
None
4.2.3.4.2.5 M̲o̲d̲u̲l̲e̲ ̲D̲e̲s̲i̲g̲n̲
Refer flowgrams 4.2.3.4.2.3-1-6
DTG ̲RETRIEVAL( ) (CC: COMPLETION ̲CODE)
DTG = 0 ̲ORIG ̲RETRIEVAL.DTG
PLA = 0 ̲ORIG ̲RETRIEVAL.PLA ̲REF ̲NO
HEAD ̲COPY.VOLUME ̲ENTRY.YOUNGEST ̲DTG
GE DTG GE HEAD ̲COPY.VOLUME ̲ENTRY.OLDEST ̲DTG?
S̲E̲A̲R̲C̲H̲ ̲F̲O̲R̲ ̲D̲T̲G̲
T̲H̲I̲S̲ ̲V̲O̲L̲U̲M̲E̲
ERROR EQ TRUE?
0 ̲STATUS EQ FOUND?
P̲R̲O̲C̲E̲S̲S̲ ̲F̲O̲U̲N̲D̲ ̲E̲N̲T̲R̲Y̲
ERROR EQ TRUE?
0 ̲SEND ̲FOR
NEXT ̲VOLUME
CC = 0
RETURN
F̲I̲G̲U̲R̲E̲ ̲4̲.̲2̲.̲3̲.̲4̲.̲2̲.̲5̲-̲1̲
S̲E̲A̲R̲C̲H̲ ̲F̲O̲R̲ ̲D̲T̲G̲
T̲H̲I̲S̲ ̲V̲O̲L̲U̲M̲E̲
CURRENT ̲ENTRY = HEAD ̲COPY.CAT ̲DESCR.FIRST ̲STILL
̲FOR ̲RETR ̲DTG ̲PRI.PHYS ̲ENTRY
̲NO
LAST ̲ENTRY = HEAD ̲COPY.CAT ̲DESCR.LAST ̲LOADED
̲DTG ̲PRI.PHYS ̲ENTRY ̲NO
MAX = HEAD ̲COPY.CAT ̲DESCR.MAX ̲NO
̲IN ̲PRI ̲DTG
ERROR = FALSE
LAST ̲ENTRY LT CURRENT ̲ENTRY?
LOOP LOOP
0 ̲VERIFY ̲DTG ̲ENTRY 0 ̲VERIFY ̲DTG ̲ENTRY(CURRENT
̲ENTRY) (CURRENT
̲ENTRY)
(0
̲STATUS,
CC) (0
̲STATUS,
CC)
CC NE 0? ERROR = TRUE CC NE 0? ERROR = TRUE
0 ̲STATUS EQ FOUND? 0 ̲STATUS EQ FOUND? EXIT
EXIT
CURRENT ̲ENTRY EQ CURRENT ̲ENTRY EQ
LAST ̲ENTRY EXIT MAX? EXIT
CURRENT ̲ENTRY = CURRENT ̲ENTRY =
CURRENT ̲ENTRY + 1 CURRENT ̲ENTRY + 1
END LOOP END LOOP
CURRENT ̲ENTRY = 1
LOOP
0 ̲VERIFY ̲DTG ̲ENTRY
(CURRENT ̲ENTRY)(0 ̲STATUS,CC)
CC NE 0? ERROR = TRUE
0 ̲STATUS EQ FOUND? EXIT
CURRENT ̲ENTRY EQ
LAST ̲ENTRY? - EXIT
CURRENT ̲ENTRY =
CURRENT ̲ENTRY + 1
END LOOP
F̲I̲G̲U̲R̲E̲ ̲4̲.̲2̲.̲3̲.̲4̲.̲2̲.̲5̲-̲2̲
P̲R̲O̲C̲E̲S̲S̲ ̲F̲O̲U̲N̲D̲ ̲E̲N̲T̲R̲Y̲
POINT ̲0 ̲ENTRY(CURRENT ̲ENTRY)
(CURRENT ̲ENTRY ̲POINTER, CC)
ERROR = FALSE
CC NE O?
EQUIVALENCE (CURRENT ̲ENTRY ̲POINTER,
ENTRY: MAIN ̲ENTRY)
CHECK ̲MAIN ̲ENT ̲PARS(ENTRY, 0 ̲RETR ̲TYPE)(MATCH)
CHECK ̲CAMPS ̲TYPE (ENTRY, O ̲RETR ̲TYPE) (MATCH)
CHECK ̲SECURITY(ENTRY, O ̲ORIG ̲RETRIEVAL)(RESULT)
RESULT OK AND MATCH EQ FIT?
0 ̲RETURN ̲NOT ̲FOUND 0 ̲RETURN ̲CIF
ERROR = TRUE
CONTINUE
F̲I̲G̲U̲R̲E̲ ̲4̲.̲2̲.̲3̲.̲4̲.̲2̲.̲5̲-̲3̲
0 ̲VERIFY ̲DTG ̲ENTRY(ENTRY ̲NO: LONG)
(STATUS: ONL ̲STATUS ̲TYPE,
CC: COMPLETION ̲CODE)
POINT ̲0 ̲DTG ̲ENTRY(ENTRY ̲NO) (DTG ̲ENT ̲POINTER,
CC)
CC NE 0?
EQUIVALENCE(DTG ̲ENT ̲POINTER, DTG ̲ENT: INC ̲MSG ̲DTG ̲RECORD
̲TYPE)
DTG ̲ENT.DTG EQ 0? "Not loaded"
DTG NE DTG ̲ENT.DTG?
PLA NE DTG ̲ENT.PLA ̲REF ̲NO?
Test corresponding PRI ̲ENTRY
POINT ̲0 ̲PRI ̲ENTRY(ENTRY ̲NO) (PRI ̲ENT ̲POINTER,CC)
CC NE 0?
EQUIVALENCE(PRI ̲ENT ̲POINTER,PRI ̲ENT: PRI ̲ENTRY ̲TYPE)
CHECK ̲ORIGINATOR ̲KEYS(PRI ̲ENT,0 ̲ORIG ̲RETRIEVAL,
0 ̲RETR ̲TYPE) (MATCH)
MATCH EQ NO FIT?
"SCD ̲CHECK ̲INVOLVED?"
0 ̲RETR ̲TYPE AND RETR ̲DIST ̲SCD EQ 0
EQUIVALENCE(PRI ̲ENT ̲POINTER, HEAD: CAT ̲ENTRY ̲HEADER)
HEAD.NO ̲OF ̲SCDS EQ 0?
L̲O̲O̲P̲ ̲O̲N̲ ̲S̲C̲D̲ ̲E̲N̲T̲R̲I̲E̲S̲ ERROR?
MATCH EQ NO FIT?
STATUS = FOUND STATUS = NOT ̲FOUND
CC = 0
RETURN
…01…F̲I̲G̲U̲R̲E̲ ̲4̲.̲2̲.̲3̲.̲4̲.̲2̲.̲5̲-̲4̲a̲
L̲O̲O̲P̲ ̲O̲N̲ ̲S̲C̲D̲ ̲E̲N̲T̲R̲I̲E̲S̲
SCD = 0 ̲ORIG ̲RETRIEVAL.ORIGINATOR ̲SCD
WORK ̲ENTRY ̲NO = ENTRY ̲NO
LOOP
WORK ̲ENTRY ̲NO = WORK ̲ENTRY ̲NO + 1
WORK ̲ENTRY ̲NO LE MAX
WORK ̲ENTRY ̲NO = 1
POINT ̲0 ̲PRI ̲ENTRY(WORK ̲ENTRY ̲NO)
WORK ̲ENTRY ̲POINTER,CC)
CC NE 0?
EQUIVALENCE(WORK ̲ENTRY ̲POINTER, SCD ̲WORK ̲LIST:
SCD ̲ENTRY)
CHECK ̲SCD(SCD, SCD ̲WORK ̲LIST) (MATCH)
MATCH EQ FIT? EXIT
Continuation entry?
SCD ̲WORK ̲LIST.KIND(2) EQ NOT ̲CONTINUED? EXIT
END LOOP
F̲I̲G̲U̲R̲E̲ ̲4̲.̲2̲.̲3̲.̲4̲.̲2̲.̲5̲-̲4̲b̲
POINT ̲0 ̲DTG ̲ENTRY (PHYS ̲ENTRY ̲NO: LONG) (DTG
̲ENTRY ̲POINTER:
POINTER ̲TYPE, CC: COMPLETION ̲CODE)
Entry in = ̲DTG ̲WORK?
0 ̲DTG ̲WORK.NO ̲OF ̲ENTRIES EQ 0?
0 ̲DTG ̲WORK.FIRST ̲ENTRY GT PHYS ̲ENTRY ̲NO?
0 ̲DTG ̲WORK.FIRST ̲ENTRY +
0 ̲DTG ̲WORK.NO ̲OF ̲ENTRIES
LT PHYS ̲ENTRY ̲NO?
0 ̲DTG ̲WORK.FIRST ̲ENTRY = PHYS ̲ENTRY ̲NO
CALCULATE NO ̲OF ̲ENTRIES
LOAD 0 ̲DTG ̲FILADD According to
FIRST ̲ENTRY and NO ̲OF ̲ENTRIES
CASE READBYTES(0 ̲DTG ̲FD, 0 ̲DTG ̲FILADD,
0 ̲DTG ̲BLE)
(0 ̲DTG ̲FILADD, CC):
ERROR? - DISK ̲ERROR(CC)
OK? - TEST ̲0 ̲INTERRUPT(CC), CC NE 0?
END CASE
CALCULATE DTG ̲ENTRY ̲POINTER
RETURN
F̲I̲G̲U̲R̲E̲ ̲4̲.̲2̲.̲3̲.̲4̲.̲2̲.̲5̲-̲5̲
TEST ̲0 ̲INTERRUPT(CC: COMPLETION ̲CODE)
CC = 0
OFFL ̲INTERRUPT ̲FLAG EQ FLAG ̲SET? - CC = INTERRUPT
F̲I̲G̲U̲R̲E̲ ̲4̲.̲2̲.̲3̲.̲4̲.̲2̲.̲5̲-̲6̲
4.2.3.4.3 T̲O̲C̲ ̲R̲e̲t̲r̲i̲e̲v̲a̲l̲ ̲M̲o̲d̲u̲l̲e̲
4.2.3.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̲s̲
This module performs the off-line TOC retrieval i.e.
handling of TOC retrieval keys.
4.2.3.4.3.2 M̲o̲d̲u̲l̲e̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲
This module is called from the offline retrieval main
module.
C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
TOC ̲RETRIEVAL ( ) (CC)
The TOC retrieval module uses following lower level
module components:
- Request sent for next volume
C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
0 ̲SEND ̲FOR ̲NEXT ̲VOLUME( ) ( )
- No fitting entries found completion code to requestor
C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
0 ̲RETURN ̲NOT ̲FOUND( ) ( )
-Terminate retrieval catalogue
C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
0 ̲TERM ̲RET ̲CATAL( ) ( )
-Return of CIF found
C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
0 ̲RETURN ̲CIF( ) ( )
-Point to first PRI entry
C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
POINT ̲0 ̲PRI ̲ENTRY(0 ̲WORK ̲ENTRY ̲NO)
(0 ̲WORK ̲ENTRY ̲POINT,
CC)
-Initialize catalogue CIF
C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
0 ̲INIT ̲RET ̲CATAL( ) ( )
-Append to catalogue CIF
C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
0 ̲RET ̲CATAL(0 ̲FOUND ̲ENTR(1))( )
-Check of main entry parameters against requests buffer
parameters
C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
CHECK ̲MAIN ̲ENT ̲PARS(0 ̲ENTRY, 0 ̲RETR ̲TYPE)
(MATCH)
-Check of security parameter from catalogue against
buffer parameters
C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
CHECK ̲SECURITY(0 ̲ENTRY, 0 ̲ORIG ̲RETRIEVAL)
(RESULT)
-Check of station keys from request buffer against
catalogue entry
C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
CHECK ̲STATION ̲KEYS(0 ̲ENTRY,
0 ̲STATION ̲RETRIEVAL,
0 ̲RETR ̲TYPE)
(MATCH)
-Check of channel keys from request buffer against
catalogue entry
C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
CHECK ̲CHANNEL ̲KEYS(0 ̲ENTRY,
0 ̲CHANNEL ̲RETRIEVAL,
0 ̲RETR ̲TYPE)
(MATCH)
-check of originator keys from request buffer against
catalogue entry
C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
CHECK ̲ORIGINATOR ̲KEYS(0 ̲ENTRY,
0 ̲ORIG ̲RETRIEVAL,
0 ̲RETR ̲TYPE)
(MATCH)
-check of SCD from request buffer against catalogue
entry.
C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
CHECK ̲SCD(0 ̲SCD, ENTRY)
(SCD ̲MATCH)
Report off-line disk error
C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
OFFL ̲DISK ̲ERROR
(OFFL ̲ERROR: INTEGER) ( )
Check CAMPS type
C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
CHECK ̲CAMPS ̲TYPE
(ENTRY: POINTER,
RETR ̲TYPE: INTEGER)
(MATCH: KEY ̲MATCH ̲TYPE)
Sent mount unknown volume report to report printer
C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
MOUNT ̲UNKNOWN ̲VOLUME ( ) ( )
Check entry for deletion
C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
O ̲CHECK ̲DELETION
(CIF ̲REFERENCE ̲NUMBER: POINTER)
(RESULT: BOOLEAN)
4.2.3.4.3.3 M̲o̲d̲u̲l̲e̲ ̲C̲o̲m̲p̲o̲n̲e̲n̲t̲s̲
TOC retrieval module performs the functions related
to the off-line TOC retrieval when volume is mounted
and files are opened.
Flowgrams figure 4.2.3.4.3.5-1-11
C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲s̲
TOC ̲RETRIEVAL( )(CC: COMPLETION ̲CODE)
Following shared module components have been identified
for the TOC retrieval module:
-Offline retrieval catalogue CIF termination.
D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
The catalogue buffer is transferred to the catalogue
CIF.
Catalogue CIF is returned to requestor. The catalogue
view reference is dismantled and catalogue boolean
set to false.
Flowgram refer figure 4.2.3.4.3.5-12.
C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
0 ̲TERM ̲RET ̲CATAL( ) ( )
- Initiation of offline retrieval catalogue CIF
D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
The catalogue CIF used to contain catalogue information
as a result of an offline retrieval is created.
Catalogue boolean is set to true. Field 1 of CIF is
initialized to identify either a transmission or system
catalogue display.
Number of entries is set to zero and classification
to unclassified.
Flowgram refer figure 4.2.3.4.3.5-13.
C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
0 ̲INIT ̲RET ̲CATAL( ) ( )
-Catalogue CIF entry appending
D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
Catalogue entries fitting with retrieval request keys
are appended to catalogue buffer area.
If buffer area gets full the collected entries are
appended to CIF.
Max classification is updated and buffer counter reset.
Flowgram refer figure 4.2.3.4.3.5-14.
C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
0 ̲RET ̲CATAL( ) ( )
4.2.3.4.3.4 D̲a̲t̲a̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
a) D̲a̲t̲a̲ ̲R̲e̲f̲e̲r̲e̲n̲c̲e̲s̲
Refer source list
- SAR.D*OFL ̲RTR.D*OFL ̲RTR ̲PREFIX.S
b) E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲
Refer source list
- SAR.D*OFL ̲RTR.D*OFL ̲RTR ̲IMPORT.D*TOC ̲RETR ̲MOD.I
c) L̲o̲c̲a̲l̲ ̲D̲a̲t̲a̲
None
4.2.3.4.3.5 M̲o̲d̲u̲l̲e̲ ̲D̲e̲s̲i̲g̲n̲
Refer flowgrams figure 4.2.3.4.3.5-1-14.
TOC ̲RETRIEVAL( )(CC)
TOC and TOC window retrievals
TOC ̲1 = 0 ̲ORIG ̲RETRIEVAL.TOC ̲1
TOC ̲2 = TOC ̲1
0 ̲ORIG ̲RETRIEVAL.TOC ̲2 LT TOC ̲1
TOC ̲2 = 0 ̲ORIG ̲RETRIEVAL.TOC ̲2
"check for time window cut off
TOC ̲2 GT W ̲HEAD ̲COPY.VOLUME ̲ENTRY.OLDEST ̲TOC?
WINDOW ̲CUT ̲OFF = TRUE
TOC ̲2 = W ̲HEAD ̲COPY.VOLUME ̲ENTRY.OLDEST ̲TOC
Too old?
TOC ̲1 LT HEAD ̲COPY.CAT ̲DESCR.FIRST ̲STILL ̲ 0 ̲SEND ̲FOR
FOR ̲RETRIEVAL ̲TOC:TOC? NEXT ̲VOLUME
Too young?
TOC
̲1
GT
HEAD
̲COPY.CAT
̲DESCR.
LAST ̲LOADED ̲TOC.TOC? O ̲RETURN ̲NOT ̲FOUND
C̲A̲L̲C̲U̲L̲A̲T̲E̲ ̲P̲H̲Y̲S̲I̲C̲A̲L̲ ̲T̲O̲C̲ ̲E̲N̲T̲R̲Y̲
R̲E̲A̲D̲ ̲T̲O̲C̲ ̲ ERROR?
C̲A̲L̲C̲U̲L̲A̲T̲E̲ not in
0̲ ̲P̲H̲Y̲S̲ ̲P̲R̲I̲ ̲E̲N̲T̲ volume 0 ̲RETURN ̲NOT ̲FOUND
L̲O̲O̲P̲ ̲O̲N̲ ̲P̲R̲I̲ ̲E̲N̲T̲R̲I̲E̲S̲ -ERROR?
0 ̲CATAL ̲RET EQ TRUE ? 0 ̲TERM ̲RET ̲CATAL
0 ̲NO ̲OF ̲ENTRIES ̲FOUND EQ 0? 0 ̲RETURN ̲NOT ̲FOUND
POINT ̲0 ̲PRI ̲ENTRY(0 ̲FOUND ̲ENTR(1), 0 ̲WORK ̲ENTRY ̲POINT,
CC)
CC NE 0?
EQUIVALENCE(0 ̲WORK ̲ENTRY ̲POINT, 0 ̲ENTRY: MAIN ̲ENTRY)
0 ̲RETURN ̲CIF
CC = 0
F̲I̲G̲U̲R̲E̲ ̲4̲.̲2̲.̲3̲.̲4̲.̲3̲.̲5̲-̲1̲
C̲A̲L̲C̲U̲L̲A̲T̲E̲ ̲P̲H̲Y̲S̲I̲C̲A̲L̲ ̲T̲O̲C̲ ̲E̲N̲T̲R̲Y̲
TOC ̲ENTRY ̲DIFF = (TOC 1 ̲HEAD ̲COPY.CAT ̲DESCR.
FIRST ̲STILL ̲FOR ̲RETR ̲TOC.TOC)/60
PHYS ̲TOC ̲ENTRY = TOC ̲ENTRY ̲DIFF+
HEAD ̲COPY.CAT ̲DESCR.
FIRST ̲STILL ̲FOR ̲RETR ̲TOC.
PHYS ̲ENTRY ̲NO
PHYS ̲TOC ̲ENTRY ̲MAX = HEAD ̲COPY.CAT ̲DESCR.MAX ̲NO ̲IN
̲TOC
PHYS ̲TOC ̲ENTRY LT MAX?
PHYS ̲TOC ̲ENTRY =
PHYS ̲TOC ̲ENTRY ̲MAX
F̲I̲G̲U̲R̲E̲ ̲4̲.̲2̲.̲3̲.̲4̲.̲3̲.̲5̲-̲2̲
R̲E̲A̲D̲ ̲T̲O̲C̲
LOAD 0 ̲TOC ̲FILADD corresponding
to PHYS ̲TOC ̲ENTRY
CASE READBYTES(0 ̲TOC ̲FD, 0 ̲TOC ̲FILADD,
0 ̲TOC ̲ENTRY ̲BLE)
(0 ̲TOC ̲FILADD, CC):
ERROR? DISK ̲ERROR(CC)
OK?
END CASE
CONTINUE ERROR
F̲I̲G̲U̲R̲E̲ ̲4̲.̲2̲.̲3̲.̲4̲.̲3̲.̲5̲-̲3̲
C̲A̲L̲C̲U̲L̲A̲T̲E̲
0 ̲P̲H̲Y̲S̲ ̲P̲R̲I̲ ̲E̲N̲T̲
0 ̲TOC ̲ENTRY GT
HEAD ̲COPY.CAT ̲DESCR.
LAST ̲LOADED ̲DTG ̲PRI.
ABS ̲ENTRY ̲NO?
IS NOT
0 ̲PHYS ̲PRI ̲ENT =
HEAD ̲COPY.CAT ̲DESCR.
FIRST ̲STILL ̲FOR ̲RETR ̲DTG ̲PRI.
PHYS ̲ENTRY ̲NO + W ̲TOC ̲ENTRY ̲
HEAD ̲COPY.CAT ̲DESCR.
FIRST ̲STILL ̲FOR ̲RETR ̲DTG ̲PRI.
ABS ̲ENTRY ̲NO
MAX = HEAD ̲COPY.CAT ̲DESCR.
MAX ̲NO ̲IN ̲PRI ̲DTG
0 ̲PHYS ̲PRI ̲ENT LE MAX?
0 ̲PHYS ̲PRI ̲ENT =
0 ̲PHYS ̲PRI ̲ENT ̲MAX
0 ̲LAST ̲ENTRY = HEAD ̲COPY.CAT ̲DESCR.
LAST ̲LOADED ̲DTG ̲PRI.
PHYS ̲ENTRY ̲NO
(IN VOLUME) (NOT IN VOLUME)
F̲I̲G̲U̲R̲E̲ ̲4̲.̲2̲.̲3̲.̲4̲.̲3̲.̲5̲-̲4̲
L̲O̲O̲P̲ ̲O̲N̲ ̲P̲R̲I̲ ̲E̲N̲T̲R̲I̲E̲S̲
0 ̲NO ̲OF ̲ENTRIES ̲FOUND = 0
0 ̲CATAL ̲RET = FALSE
0 ̲WORK ̲ENTRY ̲NO = 0 ̲PHYS ̲PRI ̲ENT
0 ̲KEYTYPE = 0 ̲RETR ̲TYPE AND RETR ̲KEYS ̲MASK
L̲O̲A̲D̲ ̲S̲C̲D̲
LOOP
POINT ̲0 ̲PRI ̲ENTRY(0 ̲WORK ̲ENTRY ̲NO)(0 ̲WORK ̲ENTRY
̲ POINT,
CC)
CC NE 0?
EQUIVALENCE(0 ̲WORK ̲ENTRY ̲POINT, 0 ̲ENTRY: PRI ̲ENTRY
̲TYPE)
CASE 0 ̲ENTRY.KIND(1) OF
ORIGIN ̲ENTRY OR CHN ̲STATION ̲ENTRY: H̲A̲N̲D̲L̲E̲ ̲M̲A̲I̲N̲
̲E̲N̲T̲R̲Y̲
SCD ̲ENTRY: H̲A̲N̲D̲L̲E̲ ̲S̲C̲D̲
̲E̲N̲T̲R̲Y̲
END CASE
0 ̲NO ̲OF ̲ENTRIES ̲FOUND EQ 2?
0 ̲CATAL ̲RET = TRUE
0 ̲INIT ̲RET ̲CATAL
0 ̲RET ̲CATAL(0 ̲FOUND ̲ENTR(1))
0 ̲RET ̲CATAL(0 ̲FOUND ̲ENTR(2))
0 ̲NO ̲OF ̲ENTRIES ̲FOUND =
0
0 ̲CATAL ̲RET EQ TRUE and
0 ̲NO ̲OF ̲ENTRIES ̲FOUND EQ 1?
0 ̲RET ̲CATAL(0 ̲FOUND ̲ENTR(1))
0 ̲NO ̲OF ̲ENTRIES ̲FOUND =
0
Finished?
0 ̲LAST ̲TOC GT TOC ̲2?
0 ̲WORK ̲ENTRY ̲NO
EQ 0 ̲LAST ̲ENTRY?
0 ̲WORK ̲ENTRY ̲NO =
0 ̲WORK ̲ENTRY ̲NO + 1
0 ̲WORK ̲ENTRY ̲NO LE MAX?
0 ̲WORK ̲ENTRY ̲NO = 1
END LOOP ERROR
F̲I̲G̲U̲R̲E̲ ̲4̲.̲2̲.̲3̲.̲4̲.̲3̲.̲5̲-̲5̲
L̲O̲A̲D̲ ̲S̲C̲D̲
CASE 0 ̲KEYTYPE OF
PLA ̲KEYS, ITEM ̲KEYS?
0 ̲SCD = 0 ̲ORIG ̲RETRIEVAL.ORIGINATOR ̲SCD
OTHER?
END CASE
F̲I̲G̲U̲R̲E̲ ̲4̲.̲2̲.̲3̲.̲4̲.̲3̲.̲5̲-̲6̲
H̲A̲N̲D̲L̲E̲ ̲M̲A̲I̲N̲ ̲E̲N̲T̲R̲Y̲
0 ̲LAST ̲TOC = 0 ̲ENTRY.HEADER.TOC
0 ̲LAST ̲TOC GT TOC ̲2? MATCH = NO ̲FIT
CASE 0 ̲KEYTYPE OF
STATION ̲KEYS: H̲A̲N̲D̲L̲E̲ ̲S̲T̲A̲T̲I̲O̲N̲ ̲K̲E̲Y̲S̲
CHANNEL ̲KEYS: H̲A̲N̲D̲L̲E̲ ̲C̲H̲A̲N̲N̲E̲L̲ ̲K̲E̲Y̲S̲
PLA ̲KEYS; ITEM ̲KEYS: H̲A̲N̲D̲L̲E̲ ̲O̲R̲I̲G̲ ̲K̲E̲Y̲S̲
END CASE
MATCH EQ NO ̲FIT?
CHECK ̲MAIN ̲ENT ̲PARS(0 ̲ENTRY, 0 ̲RETR ̲TYPE)(MATCH) 4.1.5.5
MATCH EQ NO ̲FIT?
CHECK ̲CAMPS ̲TYPE(0 ̲ENTRY, 0 ̲RETR ̲TYPE)(MATCH)
MATCH EQ NO ̲FIT?
CHECK ̲SECURITY(0 ̲ENTRY, 0 ̲ORIG ̲RETRIEVAL)
(RESULT) 4.1.5.6
RESULT EQ OK?
MATCH = NO ̲FIT 0 ̲MAIN ̲ENT ̲NO = 0 ̲WORK ̲ENTRY ̲NO
MATCH EQ NO ̲FIT?
0 ̲KEYTYPE IS NOT STATION OR CHANNEL?
Register a found entry
0 ̲NO ̲OF ̲ENTRIES ̲FOUND =
0 ̲NO ̲OF ̲ENTRIES ̲FOUND + 1
0 ̲FOUND ̲ENTR(0 ̲NO ̲OF ̲ENTRIES ̲FOUND) = 0 ̲MAIN ̲ENT ̲
F̲I̲G̲U̲R̲E̲ ̲4̲.̲2̲.̲3̲.̲4̲.̲3̲.̲5̲-̲7̲
H̲A̲N̲D̲L̲E̲ ̲S̲T̲A̲T̲I̲O̲N̲ ̲K̲E̲Y̲S̲
0 ̲ENTRY.KIND(1) NE CHN ̲STATION ̲ENTRY?
CHECK ̲STATION ̲KEYS
(0 ̲ENTRY, 0 ̲STATION ̲RETRIEVAL, MATCH = NO ̲FIT
0 ̲RETR ̲TYPE) (MATCH)
F̲I̲G̲U̲R̲E̲ ̲4̲.̲2̲.̲3̲.̲4̲.̲3̲.̲5̲-̲8̲
H̲A̲N̲D̲L̲E̲ ̲C̲H̲A̲N̲N̲E̲L̲ ̲K̲E̲Y̲S̲
0 ̲ENTRY.KIND(1) NE CHN ̲STATION ̲ENTRY?
CHECK ̲CHANNEL ̲KEYS
(0 ̲ENTRY, 0 ̲CHANNEL ̲RETRIEVAL, MATCH = NO ̲FIT
0 ̲RETR ̲TYPE) (MATCH)
F̲I̲G̲U̲R̲E̲ ̲4̲.̲2̲.̲3̲.̲4̲.̲3̲.̲5̲-̲9̲
H̲A̲N̲D̲L̲E̲ ̲O̲R̲I̲G̲ ̲K̲E̲Y̲S̲
0 ̲ENTRY.KIND(1) NE ORIGIN ̲ENTRY?
CHECK ̲ORIGINATOR ̲KEYS MATCH = NO ̲FIT
(0 ̲ENTRY, 0 ̲ORIG ̲RETRIEVAL,
0 ̲RETR ̲TYPE) (MATCH)
F̲I̲G̲U̲R̲E̲ ̲4̲.̲2̲.̲3̲.̲4̲.̲3̲.̲5̲-̲1̲0̲
H̲A̲N̲D̲L̲E̲ ̲S̲C̲D̲ ̲E̲N̲T̲R̲Y̲
Skip if no main entry fit or entry already found.
MATCH EQ NO ̲FIT?
Skip if no scd check
0 ̲KEYTYPE EQ CHANNEL ̲KEYS?
0 ̲KEYTYPE EQ STATION ̲KEYS?
0 ̲RETR ̲TYPE AND 0 ̲DIST ̲SCD EQ 0?
CHECK ̲SCD(0 ̲SCD, ENTRY) (SCD ̲MATCH)
SCD ̲MATCH EQ NO ̲FIT?
Register a found entry (main)
0 ̲NO ̲OF ̲ENTRIES ̲FOUND =
0 ̲NO ̲OF ̲ENTRIES ̲FOUND + 1
0 ̲FOUND ̲ENTR(0 ̲NO ̲OF ̲ENTRIES ̲FOUND)
= 0 ̲MAIN ̲ENT ̲NO
Stop SCD ̲SCAN for this main entry
MATCH = NO ̲FIT
F̲I̲G̲U̲R̲E̲ ̲4̲.̲2̲.̲3̲.̲4̲.̲3̲.̲5̲-̲1̲1̲
0 ̲TERM ̲RET ̲CATAL( ) ( )
Output contents of CATAL ̲BUF TO CIF
RETURN CIF
DISCONNECT ̲QEL(0)̲CATAL ̲VIEW ̲REF)
0 ̲CATAL ̲CIF ̲CREATED = FALSE
F̲I̲G̲U̲R̲E̲ ̲4̲.̲2̲.̲3̲.̲4̲.̲3̲.̲5̲-̲1̲2̲
0 ̲INIT ̲RET ̲CATAL( ) ( )
CASE CREATE ̲CIF(0 ̲CATAL ̲VIEW ̲ATTR, RRQ)
(0 ̲CATAL ̲VIEW ̲REF, CC):
ERROR? ̲ANALYZE ̲ERROR(CC,0)
OK?
END CASE
0 ̲CATAL ̲CIF ̲CREATED = TRUE
Write field 1 with
Transmission catal for
Channel and Station key
and
System catal for other
0 ̲CATAL ̲BUF ̲NO ̲OF ̲ENT = 0
0 ̲CATAL ̲MAX ̲CLASS = UNCLASSIFIED
F̲I̲G̲U̲R̲E̲ ̲4̲.̲2̲.̲3̲.̲4̲.̲3̲.̲5̲-̲1̲3̲
0 ̲RET ̲CATAL( ) ( )
INCREMENT ̲CATAL ̲NO ̲OF ̲ENT
PUT parameters from ENTRY into
0 ̲CATAL ̲BUF(0 ̲CATAL ̲NO ̲OF ̲ENT)
UPDATE 0 ̲CATAL ̲MAX ̲CLASS
0 ̲CATAL NO OF ENT EQ
0 ̲CATAL ̲BUF ̲LENGTH?
CASE WRITE ̲VIEW(BUFFER ̲SIZE,
0 ̲CATAL ̲FIELD ̲LIST,
0 ̲CATAL ̲VIEW ̲REF,
0 ̲CATAL ̲BUF) (CC):
ERROR? ̲ANALYZE ̲ERROR(CC,0)
OK?
END CASE
0 ̲CATAL ̲NO ̲OF ̲ENT = 0
RETURN
F̲I̲G̲U̲R̲E̲ ̲4̲.̲2̲.̲3̲.̲4̲.̲3̲.̲5̲-̲1̲4̲
4.2.3.5 C̲o̲m̲m̲o̲n̲ ̲S̲u̲b̲p̲a̲c̲k̲a̲g̲e̲ ̲D̲a̲t̲a̲
Refer source list
- SAR.D*OFL ̲RTR.D*OFL ̲RTR ̲DATA.PC
4.2.3.6 C̲o̲m̲m̲o̲n̲ ̲S̲u̲b̲-̲P̲a̲c̲k̲a̲g̲e̲ ̲P̲r̲o̲c̲e̲d̲u̲r̲e̲s̲
Following common sub-package procedures have been identified
for the off-line retrieval sub-package:
- disk error
- off-line retrieval send for next volume
- off-line return not found
- point off-line PRI-entry
- dismantle QEL
- delete retrieval request
- return CIF
- mount unknown volume
4.2.3.6.1 D̲i̲s̲k̲ ̲E̲r̲r̲o̲r̲
4.2.3.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̲
This procedure calls the ANALYZE ̲ERROR procedure when
a disk error has been detected. ANALYZE ̲ERROR decides
the action to be taken i.e. if process shall be retired
or if a return is made from the call.
4.2.3.6.1.2 I̲n̲t̲e̲r̲f̲a̲c̲e̲ ̲D̲e̲f̲i̲n̲i̲t̲i̲o̲n̲
C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
DISK ̲ERROR (CC)( )
4.2.3.6.1.3 D̲a̲t̲a̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
a) R̲e̲f̲e̲r̲e̲n̲c̲e̲ ̲D̲a̲t̲a̲
Refer source list
- SAR.D*OFL ̲RTR.D*OFL ̲RTR ̲PREFIX.S
b) E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲
Refer source list
- SAR.D*OFL ̲RTR.D*OFL ̲RTR ̲IMPORT.D*COMM ̲PROC.I
b) L̲o̲c̲a̲l̲ ̲D̲a̲t̲a̲
None
4.2.3.6.1.4 P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲D̲e̲s̲i̲g̲n̲
Refer flowgram figure 4.2.3.6.1-1…86…1 …02… …02… …02…
…02… …02… …02… …02…
OFFL ̲DISK ̲ERROR(CC)
call ANALYZE ̲ERROR with all
allowed offline disk errors
ANALYZE ̲ERROR (CC)( )
RETURN
F̲I̲G̲U̲R̲E̲ ̲4̲.̲2̲.̲3̲.̲6̲.̲1̲-̲1̲
4.2.3.6.2 O̲f̲f̲l̲i̲n̲e̲ ̲R̲e̲t̲r̲i̲e̲v̲a̲l̲ ̲S̲e̲n̲t̲ ̲F̲o̲r̲ ̲N̲e̲x̲t̲ ̲V̲o̲l̲u̲m̲e̲
4.2.3.6.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̲
This procedure consults the volume table to determine
if request possibly is contained in next older volume.
If so, the volume name is inserted in the request.
If request is not contained in any volume time intervals
a mount unknown volume is performed.
4.2.3.6.2.2 I̲n̲t̲e̲r̲f̲a̲c̲e̲ ̲D̲e̲f̲i̲n̲i̲t̲i̲o̲n̲
C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
0 ̲SENT ̲FOR ̲NEXT ̲VOLUME( ) ( )
4.2.3.6.2.3 D̲a̲t̲a̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
a) R̲e̲f̲e̲r̲e̲n̲c̲e̲ ̲D̲a̲t̲a̲
Refer source list
- SAR.D*OFL ̲RTR.D*OFL ̲RTR ̲PREFIX.S
b) E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲
Refer source list
- SAR.D*OFL ̲RTR.D*OFL ̲RTR ̲IMPORT.D*COMM ̲PROC.I
c) L̲o̲c̲a̲l̲ ̲D̲a̲t̲a̲
None
4.2.3.6.2.4 P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲D̲e̲s̲i̲g̲n̲
Refer Flowgram figure 4.2.3.6.2-1.
0 ̲SEND ̲FOR ̲NEXT ̲VOLUME( ) ( )
WAIT ̲SEM(VOLUME ̲TABLE ̲SEM)
OPR ̲COUNTER = 0
LOOP
OPR ̲COUNTER EQ VOLUME ̲TABLE.NO ̲OF ̲VOLUME ̲IN ̲USE?
RETRIEVE ̲OPER.VOLUME ̲NAME EQ CC = VOLUME
̲NOT ̲FOUND
VOLUME ̲TABLE.VOLUME ̲ARRAY(OP ̲COUNTER)
VOLUME ̲ID?
CC = VOLUME
̲FOUND
END LOOP
CASE CC OF
VOLUME ̲NOT ̲FOUND? MOUNT ̲REQUEST
UNKNOWN VOLUME
VOLUME ̲FOUND?
VOLUME ̲TABLE.VOLUME ̲ARRAY(OP ̲COUNTER +
1).
YOUNGEST ̲DTG GE DTG GE
VOLUME ̲TABLE.VOLUME ̲ARRAY(OP ̲COUNTER
+ 1).
OLDEST ̲DTG? MOUNT ̲REQUEST
̲UN-
KNOWN ̲VOLUME
RETRIEVE ̲OPER.VOLUME ̲NAME =
VOLUME ̲TABLE.VOLUME ̲ARRAY(OP ̲COUNTER
+ 1)
VOLUME ̲ID
END CASE
SIGNAL SEM(VOLUME ̲TABLE ̲SEM)
F̲I̲G̲U̲R̲E̲ ̲4̲.̲2̲.̲3̲.̲6̲.̲2̲-̲1̲
4.2.3.6.3 O̲f̲f̲l̲i̲n̲e̲ ̲R̲e̲t̲u̲r̲n̲ ̲N̲o̲t̲ ̲F̲o̲u̲n̲d̲
4.2.3.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̲
This procedure returns a not found reply to retrieval
requestor as the result of an offline retrieval. Send
reply mechanism is used. The retrieval request in the
offline list is deleted.
4.2.3.6.3.2 I̲n̲t̲e̲r̲f̲a̲c̲e̲ ̲D̲e̲f̲i̲n̲i̲t̲i̲o̲n̲
C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
0 ̲RETURN ̲NOT ̲FOUND(LIST ̲NO: INTEGER) ( )
4.2.3.6.3.3 D̲a̲t̲a̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
a) R̲e̲f̲e̲r̲e̲n̲c̲e̲ ̲D̲a̲t̲a̲
Refer source list
- SAR.D*OFL ̲RTR.D*OFL ̲RTR ̲PREFIX.S
b) E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲
Refer source list
- SAR.D*OFL ̲RTR.D*OFL ̲RTR ̲IMPORT.D*COMM ̲PROC.I
c) L̲o̲c̲a̲l̲ ̲D̲a̲t̲a̲
None
4.2.3.6.3.4 P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲D̲e̲s̲i̲g̲n̲
Refer flowgram figure 4.2.3.6.3-1.
0 ̲RETURN ̲NOT ̲FOUND(LIST ̲NO: INTEGER)
0 ̲SEND ̲PARAMS.INFORMATION ̲TYPE = FALSE
0 ̲SEND ̲PARAMS.CHECKP ̲STATUS = FALSE
0 ̲SEND ̲PARAMS.HEADER.MAINTYPE = ACKNOWLEDGE
0 ̲SEND ̲PARAMS.HEADER.SUBTYPE = SAR ̲ERROR ̲ACK
0 ̲SEND ̲PARAMS.HEADER.FLAGS = 0 "not found
CASE SEND ̲REPLY (0 ̲SEND ̲PARAMS,
OFFL ̲LIST ̲REFS(LIST ̲NO).BUFFER
̲REF,
0 ̲DEST ̲QEL)
(0 ̲SEND ̲PARAMS,CC):
ERROR? ANALYZE ̲ERROR(CC,0)
OK?
END CASE
DELETE ̲LIST ̲REF ̲ELEMENT(LIST ̲NO)
RETURN
Figure 4.2.3.6.3-1
4.2.3.6.4 P̲o̲i̲n̲t̲ ̲O̲f̲f̲l̲i̲n̲e̲ ̲P̲R̲I̲ ̲E̲n̲t̲r̲y̲
4.2.3.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̲
This procedure returns the pri entry pointer, which
points to a pri entry in memory, according to the physical
entry number specified as input parameter. If the pri
entry is disk resident a transfer of data to memory
is performed before the pointer is returned.
4.2.3.6.4.2 I̲n̲t̲e̲r̲f̲a̲c̲e̲ ̲D̲e̲f̲i̲n̲i̲t̲i̲o̲n̲
C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
POINT ̲0 ̲PRI ̲ENTRY (PHYS ̲ENTRY ̲NO: LONG)
PRI ̲ENTRY ̲POINTER: POINTER,
CC: COMPLETION ̲CODE)
4.2.3.6.4.3 D̲a̲t̲a̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
a) R̲e̲f̲e̲r̲e̲n̲c̲e̲ ̲D̲a̲t̲a̲
Refer source list
- SAR.D*OFL ̲RTR.D*OFL ̲RTR ̲PREFIX.S
b) E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲
Refer source list
- SAR.D*OFL ̲RTR.D*OFL ̲RTR ̲IMPORT.D*COMM ̲PROC.I
c) L̲o̲c̲a̲l̲ ̲D̲a̲t̲a̲
None
4.2.3.6.4.4 P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲D̲e̲s̲i̲g̲n̲
Refer flowgram figure 4.2.3.6.4-1
POINT ̲0 ̲PRI ̲ENTRY(PHYS ̲ENTRY ̲NO: LONG)
(PRI ̲ENTRY ̲POINTER: POINTER,
CC: COMPLETION ̲CODE)
Entry in ONL ̲PRI ̲WORK?
0 ̲PRI ̲WORK.NO ̲OF ̲ENTRIES EQ 0?
0 ̲PRI ̲WORK.FIRST ̲ENTRY GT PHYS ̲ENTRY ̲NO?
0 ̲PRI ̲WORK.FIRST ̲ENTRY +
0 ̲PRI ̲WORK.NO ̲OF ̲ENTRIES?
LT PHYS ̲ENTRY ̲NO?
0 ̲PRI ̲WORK.FIRST ̲ENTRY = PHYS ̲ENTRY ̲NO
CALCULATE NO ̲OF ̲ENTRIES
LOAD 0 ̲PRI ̲FILADD According to
FIRST ̲ENTRY and NO ̲OF ̲ENTRIES
CASE READBYTES( 0 ̲PRI ̲FD, 0 ̲PRI ̲FILADD,
0 ̲PRI ̲BLE)
( 0 ̲PRI ̲FILADD, CC):
ERROR? DISK ̲ERROR(CC)
OK? TEST ̲0 ̲INTERRUPT(CC), CC NE 0?
END CASE
CALCULATE PRI ̲ENTRY ̲POINTER
RETURN
F̲I̲G̲U̲R̲E̲ ̲4̲.̲2̲.̲3̲.̲6̲.̲4̲-̲1̲
4.2.3.6.5 D̲I̲S̲C̲O̲N̲N̲E̲C̲T̲ ̲Q̲E̲L̲ ̲P̲r̲o̲c̲e̲d̲u̲r̲e̲
4.2.3.6.5.1 F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
This procedure dismantles the object referenced by
the QEL ̲REFERENCE.
Input parameters are QEL ̲REFERENCE and OBJECT ̲TYPE
4.2.3.6.5.2 I̲n̲t̲e̲r̲f̲a̲c̲e̲ ̲D̲e̲f̲i̲n̲i̲t̲i̲o̲n̲
C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
DISCONNECT ̲QEL (QEL: QEL ̲REFERENCE,
OBJ: OBJECT ̲TYPE) ( )
4.2.3.6.5.3 D̲a̲t̲a̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
a) R̲e̲f̲e̲r̲e̲n̲c̲e̲ ̲D̲a̲t̲a̲
Refer source list
- SAR.D*OFL ̲RTR.D*OFL ̲RTR ̲PREFIX.S
b) E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲
Refer source list
- SAR.D*OFL ̲RTR.D*OFL ̲RTR ̲IMPORT.D*COMM ̲PROC.I
c) L̲o̲c̲a̲l̲ ̲D̲a̲t̲a̲
None
4.2.3.6.5.4 P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲D̲e̲s̲i̲g̲n̲
Refer flowgram figure 4.2.3.6.5.1-4.
Figure 4.2.3.6.5-1 shows the selection of object to
be dismantled and branching to the corresponding dismantle
function.
Figure 4.2.3.6.5-2-4 depicts the actual dismantling
of view, buffer and queue element respectively.
DISCONNECT ̲QEL (QEL: QEL ̲REFERENCE,
OBJ: OBJECT ̲TYPE)
CASE OBJ OF
VIEW V̲I̲E̲W̲.̲D̲I̲S̲M̲A̲N̲T̲L̲E̲
BUFFER? B̲U̲F̲F̲E̲R̲ ̲D̲I̲S̲M̲A̲N̲T̲L̲E̲
TIMEOUT, SINGLE ̲QEL? Q̲E̲L̲ ̲D̲I̲S̲M̲A̲N̲T̲L̲E̲
END CASE
RETURN
Figure 4.2.3.6.5-1
V̲I̲E̲W̲ ̲D̲I̲S̲M̲A̲N̲T̲L̲E̲
CASE CLOSE ̲VIEW (QEL) (CC):
ERROR?-ANALYZE ̲ERROR(CC,0)
OK?
END CASE
CASE DISMANTLE ̲VIEW (QEL) (CC):
ERROR?-ANALYZE ̲ERROR(CC,0)
OK?
END CASE
Figure 4.2.3.6.5-2
B̲U̲F̲F̲E̲R̲ ̲D̲I̲S̲M̲A̲N̲T̲L̲E̲
CASE DISMANTLE ̲BUFFER (QEL) (CC):
ERROR?-ANALYZE ̲ERROR(CC,0)
OK?
END CASE
Figure 4.2.3.6.5-3
Q̲E̲L̲ ̲D̲I̲S̲M̲A̲N̲T̲L̲E̲
CASE DISMANTLE (QEL) (CC):
ERROR?-ANALYZE ̲ERROR(CC,0)
OK?
END CASE
Figure 4.2.3.6.5-4
4.2.3.6.6 D̲e̲l̲e̲t̲e̲ ̲R̲e̲t̲r̲i̲e̲v̲a̲l̲ ̲R̲e̲q̲u̲e̲s̲t̲
4.2.3.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̲
This procedure deletes the retrieval reques in the
off-line retrieval list, according to the specified
number. The list is rearranged after deletion.
4.2.3.6.6.2 I̲n̲t̲e̲r̲f̲a̲c̲e̲ ̲D̲e̲f̲i̲n̲i̲t̲i̲o̲n̲
C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
DELETE ̲LIST ̲REF ̲ELEM
(ELEMENT: 1..10) ( )
4.2.3.6.6.3 D̲a̲t̲a̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
a) R̲e̲f̲e̲r̲e̲n̲c̲e̲ ̲D̲a̲t̲a̲
Refer source list
- SAR.D*OFL ̲RTR.D*OFL ̲RTR ̲PREFIX.S
b) E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲
Refer source list
- SAR.D*OFL ̲RTR.D*OFL ̲RTR ̲IMPORT.D*COMM ̲PROC.I
c) L̲o̲c̲a̲l̲ ̲D̲a̲t̲a̲
None
4.2.3.6.6.4 P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲D̲e̲s̲i̲g̲n̲
Refer flowgram figure 4.2.3.6.6-1.
DELETE ̲LIST ̲REF ̲ELEM
DELETE ̲REFERENCED ̲ELEMENT
REORGANIZE OFFL ̲LIST ̲REFS
FIGURE 4.2.3.6.6-1
4.2.3.6.7 R̲e̲t̲u̲r̲n̲ ̲C̲I̲F̲
4.2.3.6.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̲
This procedure returns the CIF to the retrieval requestor.
4.2.3.6.7.2 I̲n̲t̲e̲r̲f̲a̲c̲e̲ ̲D̲e̲f̲i̲n̲i̲t̲i̲o̲n̲
C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
O ̲RETURN ̲CIF
(MAIN ̲ENTRY: POINTER) ( )
4.2.3.6.7.3 D̲a̲t̲a̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
a) R̲e̲f̲e̲r̲e̲n̲c̲e̲ ̲D̲a̲t̲a̲
Refer source list
- SAR.D*OFL ̲RTR.D*OFL ̲RTR ̲PREFIX.S
b) E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲
Refer source list
- SAR.D*OFL ̲RTR.D*OFL ̲RTR ̲IMPORT.D*COMM ̲PROC.I
c) L̲o̲c̲a̲l̲ ̲D̲a̲t̲a̲
None
4.2.3.6.7.4 P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲D̲e̲s̲i̲g̲n̲
Refer flowgram figure 4.2.3.6.7-1.
0 ̲RETURN ̲CIF
PUT VIEW ̲NAME FROM MAIN ̲ENTRY
INTO 0 ̲VIEW A̲TTRIBUTES
LOAD 0 ̲R ̲PAR
CASE RETRIEVE(0 ̲R ̲PAR,O ̲VIEW ̲ATTRIBUTES,
RRQ, OFFLINE - RETRIEVAL)
(VIEW, CC):
ERROR? - DISK ̲ERROR(CC)
OK?
END CASE
CASE SEND ̲REPLY(0 ̲REPLY ̲PARAMS,
0 ̲VIEW, 0 ̲QEL)
(0 ̲REPLY ̲PARAMS, CC):
ERROR? ̲CASE ANALYZE ̲ERROR(CC,2, QEL ̲PROFILE ̲CHECK,
BLOCKED ̲QUEUE):(E1, E2)
E1, E2? - 0 ̲RETURN ̲NOT ̲FOUND
0 ̲DISCONNECT ̲QEL
OK?
END CASE
DISCONNECT ̲QEL(0 ̲VIEW, 0 ̲VIEW ̲ATTRIBUTES.OBJECT)
DISCONNECT ̲QEL(0 ̲QEL, 0 ̲ATTR.OBJECT)
DELETE ̲LIST ̲REF ̲ELEM(RETRIEVE ̲LIST ̲NO)
F̲I̲G̲U̲R̲E̲ ̲4̲.̲2̲.̲3̲.̲6̲.̲7̲-̲1̲
4.2.3.6.8 M̲o̲u̲n̲t̲ ̲U̲n̲k̲n̲o̲w̲n̲ ̲V̲o̲l̲u̲m̲e̲
4.2.3.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̲
This procedure sends a mount request to supervisors
report printer.
Contents of mount report is TIME, the volume shall
cover.
4.2.3.6.8.2 I̲n̲t̲e̲r̲f̲a̲c̲e̲ ̲D̲e̲f̲i̲n̲i̲t̲i̲o̲n̲
C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
MOUNT ̲UNKNOWN ̲VOLUME ( ) ( )
4.2.3.6.8.3 D̲a̲t̲a̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
a) R̲e̲f̲e̲r̲e̲n̲c̲e̲ ̲D̲a̲t̲a̲
Refer source list
- SAR.D*OFL ̲RTR.D*OFL ̲RTR ̲PREFIX.S
b) E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲
Refer source list
- SAR.D*OFL ̲RTR.D*OFL ̲RTR ̲IMPORT.D*COMM ̲PROC.I
c) L̲o̲c̲a̲l̲ ̲D̲a̲t̲a̲
None
4.2.3.6.8.4 P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲D̲e̲s̲i̲g̲n̲
Refer flowgram figure 4.2.3.6.8-1.
M̲O̲U̲N̲T̲ ̲U̲N̲K̲N̲O̲W̲N̲ ̲V̲O̲L̲U̲M̲E̲
SEND MOUNT REQUEST REPORT
WITH VOLUME DATA AS OF
FIRST RETRIEVAL REQ LIST
FIGURE 4.2.3.6.8-1
4.2.3.7 S̲u̲b̲-̲P̲a̲c̲k̲a̲g̲e̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲
Online subpackage/offline subpackage.
The interface during offline retrieval registration
is described in section 4.1.3.2.1 supervisor command
subpackage/offline subpackage.
The interface during performance of the internal supervisor
commands is described in section 4.1.3.2.4.
The overall subpackage interface is described in section
4.1.3.2.5.