top - download
⟦c39062ca3⟧ Wang Wps File
Length: 25243 (0x629b)
Types: Wang Wps File
Notes: CPS/SDS/030
Names: »1508A «
Derivation
└─⟦c606dccac⟧ Bits:30005804 8" Wang WCS floppy, CR 0108A
└─ ⟦this⟧ »1508A «
WangText
…11……00……00……00……00… …02……00……00…
…12……08……12……0d……12……00……12……02……12……06……11……08……11……0c……11……0e……11……00……11…
…11……07……10……09……10……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.2.4.4.3 M̲o̲d̲u̲l̲e̲ ̲C̲o̲m̲p̲o̲n̲e̲n̲t̲s̲
D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
M̲a̲i̲n̲ ̲m̲o̲d̲u̲l̲e̲ ̲F̲l̲o̲w̲
a) Refer flowgram figure 4.2.2.4.4.5-1. This flowgram
present the overall TOC window retrieval loop.
R̲e̲c̲e̲i̲v̲e̲ ̲R̲e̲t̲r̲i̲e̲v̲a̲l̲ ̲R̲e̲q̲u̲e̲s̲t̲
b) Refer flowgram figure 4.2.2.4.4.5-2. TOC window
retrieval is controlled by the semaphore WINDOW
̲IN ̲SEM. QEL attributes and retrieval buffer
is copied to module.
C̲o̲p̲y̲ ̲C̲a̲t̲a̲l̲o̲g̲u̲e̲ ̲H̲e̲a̲d̲e̲r̲
c) Refer flowgram figure 4.2.2.4.4.5-3. A copy
of the volume entry and catalogue header is
made. Work area is resat.
P̲r̲o̲c̲e̲s̲s̲ ̲W̲i̲n̲d̲o̲w̲ ̲R̲e̲t̲r̲i̲e̲v̲a̲l̲
d) Refer flowgram figure 4.2.2.4.4.5-4-14. The
actual window retrieval is performed during
flowgram 4-14.
The following shared module components have been
identified for this module
- point window pri entry
- window initialize retrieval catalogue
- window retrieval catalogue
- window terminate return catalogue
- window return not found
- window return CIF
P̲o̲i̲n̲t̲ ̲W̲i̲n̲d̲o̲w̲ ̲P̲r̲i̲ ̲E̲n̲t̲r̲y̲
e) Refer flowgram figure 4.2.2.4.4.5-15. This
procedure finds an area in the on-line PRI
̲FILE ̲ON and transfers this area from disk to
memory. The destination buffer is ONL ̲WINDOW
̲WORK.
C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
POINT ̲WINDOW ̲PRI ̲ENTRY
(PHYS ̲ENTRY ̲NO: LONG)
(PRI ̲ENTRY ̲POINTER: POINTER)
f) W̲i̲n̲d̲o̲w̲ ̲I̲n̲i̲t̲i̲a̲l̲i̲z̲e̲ ̲R̲e̲t̲r̲i̲e̲v̲a̲l̲ ̲C̲a̲t̲a̲l̲o̲g̲u̲e̲
Refer flowgram figure 4.2.2.4.4.5-16. This component
procedure initializes the catalogue CIF to be used
during TOC window retrieval. The catalogue CIF
is created and the number of entries is set to
zero. The CIF classification is set to unclassified.
C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
W ̲INIT ̲RET ̲CATAL ( ) ( )
g) W̲i̲n̲d̲o̲w̲ ̲R̲e̲t̲r̲i̲e̲v̲a̲l̲ ̲C̲a̲t̲a̲l̲o̲g̲u̲e̲
Refer flowgram figure 4.2.2.4.4.5-17. This component
procedure adds catalogue entries to the previously
created catalogue CIF.
C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
W ̲RET ̲CATAL ( ) ( )
h) W̲i̲n̲d̲o̲w̲ ̲T̲e̲r̲m̲i̲n̲a̲t̲e̲ ̲R̲e̲t̲u̲r̲n̲ ̲C̲a̲t̲a̲l̲o̲g̲u̲e̲
Refer flowgram figure 4.2.2.4.4.5-18. This component
procedure outputs the rest of the catal buffer,
returns the catalogue CIF to requestor and dismantles
the QEL.
C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲.̲
W ̲TERM ̲RET ̲CATAL ( ) ( )
i) W̲i̲n̲d̲o̲w̲ ̲R̲e̲t̲u̲r̲n̲ ̲N̲o̲t̲ ̲F̲o̲u̲n̲d̲
Refer flowgram figure 4.2.2.4.4.5-19. This component
procedure sends a not found reply to requestor
when no catalogue entry have fit the retrieval
keys.
C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
W ̲RETURN ̲NOT ̲FOUND ( ) ( )
j) W̲i̲n̲d̲o̲w̲ ̲R̲e̲t̲u̲r̲n̲ ̲C̲I̲F̲
Refer flowgram figure 4.2.2.4.4.5-20.
This component procedure returns the CIF i.e. CIF
reference to requestor in case that one catalogue
entry fits the retrieval keys.
C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
W ̲RETURN ̲CIF ( ) ( )
4.2.2.4.4.4 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*ONL ̲RTR.D*WIN ̲RTR ̲PREFIX.S
b) E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲
Refer source list
- SAR.D*ONL ̲RTR.D*ONL ̲RTR ̲IMPORT.D*TOCW ̲RETR
̲MOD.I
c) L̲o̲c̲a̲l̲ ̲D̲a̲t̲a̲
None
4.2.2.4.4.5 M̲o̲d̲u̲l̲e̲ ̲D̲e̲s̲i̲g̲n̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
Refer flowgram figure 4.2.2.4.4.5-1-20
TOC ̲WINDOW ̲RETRIEVAL
LOOP
R̲E̲C̲E̲I̲V̲E̲ ̲R̲E̲T̲R̲I̲E̲V̲A̲L̲ ̲R̲E̲Q̲U̲E̲S̲T̲
WAITSEM(ONL ̲CAT ̲SEM)
C̲O̲P̲Y̲ ̲C̲A̲T̲A̲L̲O̲G̲U̲E̲ ̲H̲E̲A̲D̲,̲ ̲R̲E̲S̲E̲T̲ ̲W̲O̲R̲K̲ ̲D̲A̲T̲A̲
P̲R̲O̲C̲E̲S̲S̲ ̲W̲I̲N̲D̲O̲W̲ ̲R̲E̲T̲R̲I̲E̲V̲A̲L̲
SIGNAL ̲SEM(ONL ̲CAT ̲SEM)
END LOOP
FIG. 4.2.2.4.4.5-1
R̲E̲C̲E̲I̲V̲E̲ ̲R̲E̲T̲R̲I̲E̲V̲A̲L̲ ̲R̲E̲Q̲U̲E̲S̲T̲
WAIT ̲OPSEM(WINDOW ̲IN ̲SEM, W ̲OPER ̲REF)
EQUIVALENCE(W ̲OPER ̲REF, W ̲OPER: WINDOW ̲LIST ̲OPR)
W ̲QEL = W ̲OPER.BUFFER ̲REF
CASE GET ̲VIEW ̲ATTRIBUTES(W ̲QEL)(W ̲ATTR, CC):
ERROR? - ANALYZE ̲ERROR(CC, 0)
OK?
END CASE
CASE READ ̲BUFFER(W ̲QEL, RETRIEVE ̲REQUEST ̲BUFFER,
MAX ̲SIZE,
0)(SIZE, W ̲BUFF, CC):
ERROR? - ANALYZE ̲ERROR(CC,0)
OK?
END CASE
WINDOW ̲RETR ̲TYPE = W ̲BUFF.RETR ̲IDENT
EQUIVALENCE(W ̲BUFF, W ̲ORIG ̲RETRIEVAL: SUPV ̲RETRIEVAL
̲RECORD ̲TYPE ̲3)
EQUIVALENCE(W ̲BUFF, W ̲STARTON ̲RETRIEVAL: SUPV ̲RETRIEVAL
̲RECORD ̲TYPE ̲2)
EQUIVALENCE(W ̲BUFF,W ̲CHANNEL ̲RETRIEVAL: SUPV ̲RETRIEVAL
̲RECORD ̲TYPE ̲1)
FIG. 4.2.2.4.4.5-2
C̲O̲P̲Y̲ ̲C̲A̲T̲A̲L̲O̲G̲ ̲H̲E̲A̲D̲,̲ ̲R̲E̲S̲E̲T̲ ̲W̲O̲R̲K̲ ̲D̲A̲T̲E̲
WAIT ̲SEM(ONL ̲CAT ̲HEAD ̲SEM)
W ̲HEAD ̲COPY. VOLUME ̲ENTRY =
ONLINE ̲VOL.HEAD. VOLUME ̲ENTRY
W ̲HEAD ̲COPY.CAT ̲DESCR =
ONLINE ̲VOL ̲HEAD.CAT ̲DESCR
SIGNAL ̲SEM(ONL ̲CAT ̲HEAD ̲SEM)
Set work buffer empty
ONL ̲WINDOW ̲WORK. NO ̲OF ̲ENTRIES = 0
FIG. 4.2.2.4.4.5-3
P̲R̲O̲C̲E̲S̲S̲ ̲W̲I̲N̲D̲O̲W̲ ̲R̲E̲T̲R̲I̲E̲V̲A̲L̲
TOC1 = W ̲ORIG ̲RETRIEVAL.TOC1 "youngest,
biggest
TOC2 = W ̲ORIG ̲RETRIEVAL.TOC2
"check for time window cut off
TOC2 GT W ̲HEAD ̲COPY.VOLUME ̲ENTRY ̲.OLDEST ̲TOC ?
TCO2 = W ̲HEAD ̲COPY.VOLUME ̲ENTRY.OLDEST ̲TOC
Too young
MAX ̲TOC = W ̲HEAD ̲COPY.CAT ̲DESCR.
LAST ̲LOADED ̲TOC.TOC
TOC1 GT MAX ̲TOC? - W ̲RETURN ̲NOT ̲FOUND
C̲A̲L̲C̲U̲L̲A̲T̲E̲ ̲W̲ ̲P̲H̲Y̲S̲ ̲T̲O̲C̲ ̲E̲N̲T̲R̲Y̲
R̲E̲A̲D̲ ̲T̲O̲C̲
V̲E̲R̲I̲F̲Y̲ ̲T̲H̲A̲T̲ ̲R̲E̲F̲E̲R̲E̲N̲C̲E̲D̲ ̲E̲N̲T̲R̲Y̲
I̲S̲ ̲N̲O̲T̲ ̲F̲I̲R̲S̲T̲ ̲F̲R̲E̲E̲ ̲A̲N̲D̲
C̲A̲L̲C̲U̲L̲A̲T̲E̲ ̲W̲ ̲P̲H̲Y̲S̲ ̲P̲R̲I̲ ̲E̲N̲T̲ Is? - W ̲RETURN ̲NOT
̲FOUND
L̲O̲O̲P̲ ̲O̲N̲ ̲P̲R̲I̲ ̲E̲N̲T̲R̲I̲E̲S̲
W ̲CATAL ̲RET EQ TRUE? W ̲TERM ̲RET ̲CATAL
W ̲NO ̲OF ̲ENTRIES ̲FOUND EQ 0? W ̲RETURN ̲NOT ̲FOUND
POINT ̲WINDOW ̲PRI ̲ENTRY(W ̲FOUND ̲ENTR(1),
W ̲WORK ̲ENTRY ̲POINT)
EQUIVALENCE(W ̲WORK ̲ENTRY ̲POINT, W ̲ENTRY: MAIN ̲ENTRY)
W ̲RETURN ̲CIF
FIG. 4.2.2.4.4.5-4
C̲A̲L̲C̲U̲L̲A̲T̲E̲ ̲W̲ ̲P̲H̲Y̲S̲ ̲T̲O̲C̲ ̲E̲N̲T̲R̲Y̲
W ̲TOC ̲ENTRY ̲DIFF = (TOC1-
W ̲HEAD ̲COPY.CAT ̲DESCR.
FIRST ̲STILL ̲FOR ̲RETR ̲TOC.TOC)/6O
W ̲PHYS ̲TOC ̲ENTRY = W ̲TOC ̲ENTRY ̲DIFF +
W ̲HEAD ̲COPY.CAT ̲DESCR.
FIRST ̲STILL ̲FOR ̲RETR ̲TOC.
PHYS ̲ENTRY ̲NO
MAX = W ̲HEAD ̲COPY.CAT ̲DESCR.
MAX ̲NO ̲IN ̲TOC
W ̲PHYS ̲TOC ̲ENTRY LE MAX?
W ̲PHYS ̲TOC ̲ENTRY=
W ̲PHYS ̲TOC ̲ENTRY-MAX
FIG. 4.2.2.4.4.5-5
R̲E̲A̲D̲ ̲T̲O̲C̲
LOAD W ̲TOC ̲FILADD corresponding to
W ̲PHYS ̲TOC ̲ENTRY
CASE READ BYTES(ONL ̲TOC ̲FD, W ̲TOC ̲FILADD,
W ̲TOC ̲ENTRY ̲BLE)
(W ̲TOC ̲FILADD, CC):
ERROR? - ANALYZE ̲ERROR(CC,0)
OK?
END CASE
FIG. 4.2.2.4.4.5-6
V̲E̲R̲I̲F̲Y̲ ̲T̲H̲A̲T̲ ̲R̲E̲F̲E̲R̲E̲N̲C̲E̲D̲
E̲N̲T̲R̲Y̲ ̲I̲S̲ ̲N̲O̲T̲ ̲F̲I̲R̲S̲T̲ ̲F̲R̲E̲E̲
A̲N̲D̲ ̲C̲A̲L̲C̲U̲L̲A̲T̲E̲ ̲W̲ ̲P̲H̲Y̲S̲ ̲P̲R̲I̲ ̲E̲N̲T̲
W ̲TOC ̲ENTRY.ABS ̲ENTRY ̲NO GT
W ̲HEAD ̲COPY.CAT ̲DESCR.
LAST ̲LOADED ̲DTG ̲PRI.
ABS ̲ENTRY ̲NO?
IS NOT
W ̲PHYS ̲PRI ̲ENT=
W ̲HEAD ̲COPY.CAT ̲DESCR.
FIRST ̲STILL ̲FOR ̲RETR ̲DTG ̲PRI.
PHYS ̲ENTRY ̲NO + W ̲TOC ̲ENTRY.ABS ̲ENTRY ̲NO-
W ̲HEAD ̲COPY.CAT ̲DESCR.
FIRST ̲STILL ̲FOR ̲RETR ̲DTG ̲PRI.
ABS ̲ENTRY ̲NO
MAX = W ̲HEAD ̲COPY.CAT ̲DESCR.
MAX ̲NO ̲IN ̲PRI ̲DTG
W ̲PHYS ̲PRI ̲ENT LE MAX?
W ̲PHYS ̲PRI ̲ENT =
W ̲PHYS ̲PRI ̲ENT-MAX
W ̲LAST ̲ENTRY = W ̲HEAD ̲COPY.CAT ̲DESCR.
LAST ̲LOADED ̲DTG ̲PRI.
PHYS ̲ENTRY ̲NO.
IS
FIG. 4.2.2.4.4.5-7
L̲O̲O̲P̲ ̲O̲N̲ ̲P̲R̲I̲ ̲E̲N̲T̲R̲I̲E̲S̲
W ̲NO ̲OF ̲ENTRIES ̲FOUND = 0
W ̲CATAL ̲RET = FALSE
W ̲WORK ̲ENTRY ̲NO = W ̲PHYS ̲PRI ̲ENT
W ̲KEYTYPE = WINDOW ̲RETR ̲TYPE AND RETR ̲KEYS ̲MASK
L̲O̲A̲D̲ ̲S̲C̲D̲
LOOP
POINT ̲WINDOW ̲PRI ̲ENTRY(W ̲WORK ̲ENTRY ̲NO)(W ̲WORK ̲ENTRY
̲POINT)
EQUIVALENCE(W ̲WORK ̲ENTRY ̲POINT,W ̲ENTRY: MAIN ̲ENTRY)
CASE W ̲ENTRY.KIND (2) OF
MAIN ̲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
W ̲NO ̲OF ̲ENTRIES ̲FOUND EQ2?
W ̲CATAL ̲RET = TRUE
W ̲INIT ̲RET ̲CATAL
W ̲RET ̲CATAL(W ̲FOUND
̲ENTR(1))
W ̲RET ̲CATAL(W ̲FOUND
̲ENTR(2))
W ̲NO ̲OF ̲ENTRIES ̲FOUND
= 0
W ̲CATAL ̲RET EQ TRUE AND
W ̲NO ̲OF ̲ENTRIES ̲FOUND EQ 1?
W ̲RET ̲CATAL(W ̲FOUND
̲ENTR(1))
W ̲NO ̲OF ̲ENTRIES ̲FOUND=0
NEXT PAGE
FIG. 4.2.2.4.4.5-8a…86…1 …02… …02… …02… …02… …02… …02… …02… …02… …02… …02…
PREVIOUS PAGE
Finished?
W ̲LAST ̲TOC GT TOC2?
W ̲WORK ̲ENTRY ̲NO EQ
W ̲LAST ̲ENTRY?
W ̲WORK ̲ENTRY ̲NO= W ̲WORK ̲ENTRY ̲NO + 1
W ̲WORK ̲ENTRY ̲NO LE MAX?
W ̲WORK ̲ENTRY ̲NO = 1
END LOOP
FIG. 4.2.2.4.4.5-8b
L̲O̲A̲D̲ ̲S̲C̲D̲
C̲A̲S̲E̲ ̲W̲ ̲K̲E̲Y̲T̲Y̲P̲E̲ ̲O̲F̲
PLA ̲KEYS, ITEM ̲KEYS? -
W ̲SCD=W ̲ORIG ̲RETRIEVAL.ORIGINATOR ̲SCD
OTHER?
END CASE
FIG. 4.2.2.4.4.5-9
H̲A̲N̲D̲L̲E̲ ̲M̲A̲I̲N̲ ̲E̲N̲T̲K̲R̲Y̲
LAST TOC=W ̲ENTRY.HEADER.TOC
LAST TOC GT TOC 1? - MATCH = NO ̲FIT
CASE W ̲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̲G̲ ̲K̲E̲Y̲S̲
End Case
MATCH EQ NO ̲FIT?
CHECK ̲MAIN ̲ENT ̲PARS(W ̲ENTRY,WINDOW ̲RETR ̲TYPE)(MATCH)
MATCH EQ NO ̲FIT?
CHECK ̲CAMPS ̲TYPE (W ̲ENTRY, WONDOW ̲RETR ̲TYPE)(MATCH)
MATCH EQ NOFIT?
CHECK ̲SECURITY(W ̲ENTRY, W ̲ORIG ̲RETRIEVAL)
(RESULT)
RESULT EQ OK?
MATCH = NO ̲FIT W ̲MAIN ̲ENT ̲NO= W ̲WORK ̲ENTRY ̲NO
MATCH EQ NO ̲FIT
W ̲KEYTYPE IS NOT STATION OR CHANNEL?
W ̲CATAL ̲TYPE = TRANSMISSION ̲CATALOGUE ̲DISPLAY
Register a found entry
W ̲NO ̲OF ̲ENTRIES ̲FOUND=
W ̲NO ̲OF ̲ENTRIES ̲FOUND + 1
W ̲FOUND ̲ENTR(W ̲NO ̲OF ̲ENTRIES ̲FOUND)=W ̲MAIN ̲ENT ̲NO
FIG. 4.2.2.4.4.5-10
H̲A̲N̲D̲L̲E̲ ̲S̲T̲A̲T̲I̲O̲N̲ ̲K̲E̲Y̲S̲
W ̲ENTRY.KIND(1) NE CHN ̲STATION ̲ENTRY?
CHECK ̲STATION ̲KEYS
(W ̲ENTRY, ONL ̲STATION ̲RETRIEVAL, MATCH = NO
̲FIT
WINDOW ̲RETR ̲TYPE)(MATCH)
FIG. 4.2.2.4.4.5-11
H̲A̲N̲D̲L̲E̲ ̲C̲H̲A̲N̲N̲E̲L̲ ̲K̲E̲Y̲S̲
W ̲ENTRY.KIND(1) NE CHN ̲STATION ̲ENTRY?
CHECK ̲CHANNEL ̲KEYS
(W ̲ENTRY, W ̲CHANNEL ̲RETRIEVAL MATCH = NO
̲FIT
WINDOW ̲RETR ̲TYPE)(MATCH)
FIG. 4.2.2.4.4.5-12
H̲A̲N̲D̲L̲E̲ ̲O̲R̲G̲ ̲K̲E̲Y̲S̲
W ̲ENTRY.KIND(1) NE ORIGIN ̲ENTRY?
CHECK ̲ORIGINATOR ̲KEYS MATCH = NO
̲FIT
(W ̲ENTRY, W ̲ORIG ̲RETRIEVAL,
WINDOW ̲RETR ̲TYPE)(MATCH)
FIG. 4.2.2.4.4.5-13
H̲A̲N̲D̲L̲E̲ ̲S̲C̲D̲ ̲E̲N̲T̲R̲Y̲
Skip if no main entry fit or entry are found
MATCH EQ NOFIT?
Skip if no SCD check
W ̲KEYTYPE EQ CHANNEL ̲KEYS
W ̲KEYTYPE EQ STATION ̲KEYS
WINDOW ̲RETR ̲TYPE AND DIST ̲SCD EQ 0
CHECK ̲SCD(W ̲SCD, ENTRY)(SCD ̲MATCH)
SCD ̲MATCH EQ NO ̲FIT?
Register a found entry (main)
W ̲NO ̲OF ̲ENTRIES ̲FOUND =
W ̲NO ̲OF ̲ENTRIES ̲FOUND + 1
W ̲FOUND ̲ENTR(W ̲NO ̲OF ̲ENTRIES ̲FOUND
= W ̲MAIN ̲ENT ̲NO
Stop SCD ̲SCAN for this main entry
W ̲CATAL = TYPE = SYSTEM ̲CATALOGUE ̲DISPLAY
MATCH = NO ̲FIT
FIG. 4.2.2.4.4.5-14
POINT ̲WINDOW ̲PRI ̲ENTRY(PHYS ̲ENTRY ̲NO: LONG)
(PRI ̲ENTRY ̲POINTER: POINTER)
Entry in ONL ̲WINDOW ̲WORK
ONL ̲WINDOW ̲WORK.NO ̲OF ̲ENTRIES EQ 0?
ONL ̲WINDOW ̲WORK.FIRST ̲ENTRY GT PHYS ̲ENTRY ̲NO?
ONL ̲WINDOW ̲WORK, FIRST ̲ENTRY+
ONL ̲WINDOW ̲WORK. NO ̲OF ̲ENTRIES
LT PHYS ̲ENTRY ̲NO?
ONL ̲WINDOW ̲WORK. FIRST ̲ENTRY = PHYS ̲ENTRY ̲NO
CALCULATE NO ̲OF ̲ENTRIES
LOAD ONL ̲WINDOW ̲FILADD according
to FIRST ̲ENTRY and NO ̲OF ̲ENTRIES
CASE READBYTES(ONL ̲PRI ̲FD, ONL ̲WINDOW ̲FILADD,
ONL ̲WINDOW ̲BLE)
(ONL ̲WINDOW ̲FILADD, CC):
ERROR? - ANALYSE ̲ERROR(CC,0)
OK?
END CASE
CALCULATE PRI ̲ENTRY ̲POINTER
RETURN
FIG. 4.2.2.4.4.5-15
W ̲INIT ̲RET ̲CATAL
CASE CREATE ̲CIF (W ̲CATAL ̲VIEW ̲ATTR, PRQ)
(W ̲CATAL ̲VIEW ̲REF, CC):
ERROR? ANALYSE ̲ERROR(CC,0)
OK?
END CASE
Write field 1 with
Transmission catal for
Channel and Station key
and
System catal for other
W ̲CATAL ̲NO ̲OF ̲ENT = 0
W ̲CATAL ̲MAX ̲CLASS = UNCLASSIFIED
W ̲CATAL ̲CIF ̲NO ̲OF ̲ENT = 0
RETURN
FIG. 4.2.2.4.4.5-16
W ̲RET ̲CATAL
INCREMENT ̲W ̲CATAL ̲NO ̲OF ̲ENT
PUT parameters from ENTRY into W ̲CATAL ̲BUF (W ̲CATAL
̲NO ̲OF ̲ENT)
UPDATE W ̲CATAL ̲MAX ̲CLASS
W ̲CATAL ̲NO ̲OF ̲ENT EQ
W-CATAL ̲BUF ̲MAX ̲NO ̲OF ̲ENT
CASE WRITE ̲VIEW(BUFFER ̲SIZE,
W ̲CATAL ̲FIELD ̲LIST,
W ̲CATAL ̲VIEW ̲REF,
W ̲CATAL ̲BUF) (CC):
ERROR? ̲ ANALYSE ̲ERROR(CC,0)
OK?
END ̲CASE
W ̲CATAL ̲CIF ̲NO ̲OF ̲ENT = W ̲CATAL ̲CIF ̲NO ̲OF ̲ENT
+
W ̲CATAL ̲NO ̲OF ̲ENT
W ̲CATAL ̲NO ̲OF ̲ENT = 0
RETURN
FIG. 4.2.2.4.4.5-17
W ̲TERM ̲RET ̲CATAL
OUTPUT W ̲CATAL ̲CIF ̲NO ̲OF ̲ENT to field 1
Output content of CATAL ̲BUF to CIF to field 2
RETURN CIF
DISCONNECT W ̲CATAL ̲VIEW ̲REF
RETURN
FDIG. 4.2.2.4.4.5-18
W ̲RETURN ̲NOT ̲FOUND
W ̲REPLY ̲PARAMS LOADED WITH
Error
CASE SEND ̲REPLY (W-REPLY ̲PARAMS,
W ̲QEL, W ̲QEL)
(W ̲REPLY ̲PARAMS,
CC):
ERROR? ̲ANALYZE ̲ERROR(CC,1,BLOCKED ̲QUEUE)(E1)
OK? E1:
END CASE
END CASE
DISCONNECT ̲WINDOW ̲QEL(W ̲QEL, W ̲ATTR.OBJECT)
RETURN
FIG. 4.2.2.4.4.5-19
W ̲RETURN ̲CIF(MAIN ̲ENTRY) ( )
WINDOW ̲RETR ̲TYPE EQ F ̲RETR ̲TRANS ̲MSG ̲FOR ̲DEL ̲ON ̲ITEM
̲KEYS OR
F ̲RETR ̲FD ̲AND ̲COMM ̲ON ̲ITEM ̲AND
̲ORIG ̲KEYS ?
DELETE
MSG
PUT VIEW ̲NAME FROM MAIN ̲ENTRY
INTO W ̲RR ̲VIEW ̲ATTRIBUTES STOP
̲CIF
SEND
̲REPLY
CASE RETRIEVE(DUM, W ̲RR ̲VIEW ̲ATTRIBUTES,
RRQ, ONLINE ̲RETRIEVAL) W ̲DISCONNECT
̲QEL
(W ̲RR ̲VIEW, CC):
ERROR? - ANALYZE ̲ERROR(CC,0)
OK?
END CASE
CASE SEND ̲REPLY(W ̲REPLY ̲PARAMS,
W ̲RR ̲VIEW, W ̲QEL)
(W ̲REPLY ̲PARAMS, CC):
ERROR? - CASE ANALYZE ̲ERROR(CC, 2, QEL ̲PROFILE
̲CHECK,
BLOCKED ̲QUEUE): (E1,
E2)
E1, E2? - W ̲RETURN ̲NOT ̲FOUND
W-DISCONNECT ̲QEL(W ̲RR ̲VIEW, W ̲RR
̲VIEW ̲ ATTRIBUTES.OBJECT)
OK?
END CASE
W ̲DISCONNECT ̲QEL(W ̲RR ̲VIEW, W ̲RR ̲VIEW ̲ATTRIBUTES.OBJECT)
W ̲DISCONNECT ̲QEL(W ̲QEL, W ̲ATTR.OBJECT)
FIG. 4.2.2.4.4.5-20
4.2.2.5 C̲O̲M̲M̲O̲N̲ ̲S̲U̲B̲P̲A̲C̲K̲A̲G̲E̲ ̲D̲A̲T̲A̲
Refer source lists:
- SAR.D*ONL ̲RTR.D*ONL ̲RTR ̲DATA.PC
- SAR.D*ONL ̲RTR.D*DTG ̲RTR ̲DATA.PC
- SAR.D*ONL ̲RTR.D*WIN ̲RTR ̲DATA.PC
- SAR.D*ONL ̲RTR.D*TOC ̲RTR ̲DATA.PC
- SAR.D*ONL ̲RTR.D*RTR ̲REG ̲DATA.PC
4.2.2.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̲
The following common sub-package procedures have been
identified for the on-line retrieval sub-package
- point on-line PRI entry
- point on-line DTG entry
- on-line return not found CC
- on-line return CIF
- Dismantle QEL
- On-line retrieval send for off-line
4.2.2.6.1 P̲o̲i̲n̲t̲ ̲O̲n̲-̲l̲i̲n̲e̲ ̲P̲R̲I̲ ̲E̲n̲t̲r̲y̲
4.2.2.6.1.1 F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
This procedure finds the area in the PRI ̲FILE ̲ON which
shall be searched during catalogue consult. The area
found is then transferred to the memory buffer ONL
̲PRI ̲BLE.
4.2.2.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̲
POINT ̲ONL ̲PRI ̲ENTRY
(PHYS ̲ENTRY ̲NO: LONG)
(PRI ̲ENTRY ̲POINTER: POINTER)
4.2.2.6.1.3 D̲a̲t̲a̲ ̲D̲e̲f̲i̲n̲i̲t̲i̲o̲n̲
a) R̲e̲f̲e̲r̲e̲n̲c̲e̲ ̲D̲a̲t̲a̲
Refer source list
- SAR.D*ONL ̲RTR.D*WIN ̲RTR ̲PREFIX.S
b) E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲
Refer source list
- SAR.D*ONL ̲RTR.D*ONL ̲RTR ̲IMPORT.D*COMM ̲PROC.I
c) L̲o̲c̲a̲l̲ ̲D̲a̲t̲a̲
None
4.2.2.6.1.4 P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲D̲e̲s̲i̲g̲n̲
Refer flowgram figure 4.2.2.6.1-1.
POINT ̲ONL ̲PRI ̲ENTRY(PHYS ̲ENTRY ̲NO: LONG)
(PRI ̲ENTRY ̲POINTER: POINTER)
Entry in ONL ̲PRI ̲WORK?
ONL ̲PRI ̲WORK.NO ̲OF ̲ENTRIES EQ 0?
ONL ̲PRI ̲WORK. FIRST ̲ENTRY GT PHYS ̲ENTRY ̲NO?
ONL ̲PRI ̲WORK. FIRST ̲ENTRY +
ONL ̲PRI ̲WORK.NO ̲OF ̲ENTRIES
LT PHYS ̲ENTRY ̲NO?
ONL ̲PRI ̲WORK. FIRST ̲ENTRY = PHYS ̲ENTRY ̲NO
CALCULATE NO ̲OF ̲ENTRIES
LOAD ONL ̲PRI ̲FILADD according to
FIRST ̲ENTRY and NO ̲OF ̲ENTRIES
CASE READ BYTES(ONL ̲PRI ̲FD, ONL ̲PRI ̲FILADD,
ONL ̲PRI ̲BLE)
(ONL ̲PRI ̲FILADD, CC) :
ERROR? - ANALYZE ̲ERROR(CC,0)
OK?
END CASE
CALCULATE PRI ̲ENTRY ̲POINTER
RETURN
FIG. 4.2.2.6.1-1
4.2.2.6.2 P̲o̲i̲n̲t̲ ̲O̲n̲-̲l̲i̲n̲e̲ ̲D̲T̲G̲ ̲E̲n̲t̲r̲y̲
4.2.2.6.2.1 F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
This component procedure finds the area in the DTG
̲FILE ̲ON which shall be searched through during catalogue
search. The area is read from disk and placed in the
buffer, ONL ̲DTG ̲BLE.
4.2.2.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̲
POINT ̲ONL ̲DTG ̲ENTRY (PHYS ̲ENTRY ̲NO: NO)
(DTG ̲ENTRY ̲POINTER: POINTER)
4.2.2.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*ONL ̲RTR.D*WIN ̲RTR ̲PREFIX.S
b) E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲
Refer source list
- SAR.D*ONL ̲RTR.D*ONL ̲RTR ̲IMPORT.D*COMM ̲PROC.I
c) L̲o̲c̲a̲l̲ ̲D̲a̲t̲a̲
None
4.2.2.6.2.4 P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲D̲e̲s̲i̲n̲g̲
Refer flowgram figure 4.2.2.6.2-1
POINT ̲ONL ̲DTG ̲ENTRY (PHYS ̲ENTRY ̲NO: LONG), (DTG
̲ENTRY ̲POINTER:
POINTER)
Entry in ONL ̲DTG ̲WORK?
ONL ̲DTG ̲WORK.NO ̲OF ̲ENTRIES EQ 0?
ONL ̲DTG ̲WORK.FIRST ̲ENTRY GT PHYS ̲ENTRY ̲NO?
ONL ̲DTG ̲WORK.FIRST ̲ENTRY +
ONL ̲DTG ̲WORK.NO ̲OF ̲ENTRIES
LT PHYS ̲ENTRY ̲NO?
ONL ̲DTG ̲WORK. FIRST ̲ENTRY = PHYS ̲ENTRY
̲NO
CALCULATE NO ̲OF ̲ENTRIES
LOAD ONL ̲DTG ̲FILADD according to
FIRST ̲ENTRY and NO ̲OF ̲ENTRIES
CASE READBYTES(ONL ̲DTG ̲FD, ONL ̲DTG ̲FILADD,
ONL ̲DTG ̲BLE)
(ONL ̲DTG ̲FILADD, CC):
ERROR? - ANALYZE ̲ERROR(CC, 0)
OK?
END CASE
CALCULATE DTG ̲ENTRY ̲POINTER
RETURN
FIG. 4.2.2.6.2-1
4.2.2.6.3 O̲n̲-̲l̲i̲n̲e̲ ̲R̲e̲t̲u̲r̲n̲ ̲N̲o̲t̲ ̲F̲o̲u̲n̲d̲
4.2.2.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 the retrieval
requestor in case that no TOC or DTG retrieval have
fit any catalogue entries.
4.2.2.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̲
ONL ̲RETURN ̲NOT ̲FOUND ( ) ( )
4.2.2.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*ONL ̲RTR.D*WIN ̲RTR ̲PREFIX.S
b) E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲
Refer source list
- SAR.D*ONL ̲RTR.D*ONL ̲RTR ̲IMPORT.D*COMM ̲PROC.I
c) L̲o̲c̲a̲l̲ ̲D̲a̲t̲a̲
None
4.2.2.6.3.4 P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲D̲e̲s̲i̲n̲g̲
Refer flowgram figure 4.2.2.6.3-1.
ONL ̲RETURN ̲NOT ̲FOUND
RRQ ̲REPLY ̲PARAMS LOADED WITH
ERROR
CASE SEND ̲REPLY (RRQ ̲REPLY ̲PARAMS,
RRQ ̲QEL, RRQ ̲QEL)
(RRQ ̲REPLY ̲PARAMS,
CC):
CASE
ERROR? - ANALYZE ̲ERROR(CC, 1, BLOCKED ̲QUEUE)(E1)
OK? E1:
END CASE
DISMANTLE ̲QEL ̲(RRQ-̲QEL, RRQ ̲ATTR.OBJECT)
RETURN
FIG. 4.2.2.6.3-1
4.2.2.6.4 O̲n̲-̲L̲i̲n̲e̲ ̲R̲e̲t̲u̲r̲n̲ ̲C̲I̲F̲
4.2.2.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 CIF i.e. CIF reference in
case where only one catalogue entry fits the retrieval
request keys.
4.2.2.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̲
ONL ̲RETURN ̲CIF ( ) ( )
4.2.2.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*ONL ̲RTR.D*WIN ̲RTR ̲PREFIX.S
b) E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲
Refer source list
- SAR.D*ONL ̲RTR.D*ONL ̲RTR ̲IMPORT.D*COMM ̲PROC.I
c) L̲o̲c̲a̲l̲ ̲D̲a̲t̲a̲
None
4.2.2.6.4.4 P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲D̲e̲s̲i̲n̲g̲
Refer flowgram figure 4.2.2.6.4-1
ONL ̲RETURN ̲CIF
REQUEST ̲RETR ̲TYPE EQ F ̲RETR ̲TRANS ̲MSG ̲FOR ̲DEL ̲ON ̲ITEM
̲KEYS OR
F ̲RETR ̲FD ̲AND ̲COMM ̲ON ̲ITEM ̲AND
̲ORG ̲KEYS ?
PUT VIEW ̲NAME FROM MAIN ̲ENTRY DELETE
MSG
INTO RR ̲VIEW ̲ATTRIBUTES STOP
̲CIF
SEND
̲REPLY
CASE RETRIEVE (DUM, RR ̲VIEW ̲ATTR DISCONNECT
̲QEL
RRQ, ON-LINE ̲RETRIEVAL)
(RR ̲VIEW, CC):
ERROR? - ANALYZE ̲ERROR(CC,0)
OK?
END CASE
CASE SEND ̲REPLY(RRQ ̲REPLY ̲PARAMS,
RR ̲VIEW, RRQ ̲QEL)
(RRQ ̲REPLY ̲PARAMS, CC):
ERROR? - CASE ANALYZE ̲ERROR(CC, 2, QEL ̲PROFILE
̲CHECK,
BLOCKED ̲QUEUE):(E1, E2)
E1,E2? - ONL ̲RETURN ̲NOT ̲FOUND
DISCONNECT QEL(RR ̲VIEW, RR
̲VIEW ̲ATTRIBUTES.
OBJECT)
OK?
END CASE
DISCONNECT QEL(RR ̲VIEW, RR ̲VIEW ̲ATTRIBUTES.OBJECT)
DISCONNECT QEL(RRQ ̲QEL, RRQ ̲ATTR.OBJECT)
FIG. 4.2.2.6.4-1
4.2.2.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.2.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.2.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.2.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*ONL ̲RTR.D*WIN ̲RTR ̲PREFIX.S
b) E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲
Refer source list
- SAR.D*ONL ̲RTR.D*ONL ̲RTR ̲IMPORT.D*COMM ̲PROC.I
c) L̲o̲c̲a̲l̲ ̲D̲a̲t̲a̲
None
4.2.2.6.5.4 P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲D̲e̲s̲i̲g̲n̲
Refer flowgram, figure 4.2.2.6.5-1-4.
Figure 4.2.2.6.5-1, shows the selection of object to
be dismantled and branching to the corresponding dismantle
function.
Figure 4.2.2.6.5-2-4 depicts the actual dismantling
of view, buffer and queue element respectively.
DISCONNECTS ̲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.2.6.5-1…86…1 …02… …02… …02… …02… …02… …02… …02… …02… …02…
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.2.6.5-2…86…1 …02… …02… …02… …02… …02… …02… …02… …02… …02…
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.2.6.5-3…86…1 …02… …02… …02… …02… …02… …02… …02… …02… …02…
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.2.6.5-4…86…1 …02… …02… …02… …02… …02…
4.2.2.6.6 O̲n̲l̲i̲n̲e̲ ̲R̲e̲t̲r̲i̲e̲v̲a̲l̲ ̲S̲e̲n̲d̲ ̲F̲o̲r̲ ̲O̲f̲f̲l̲i̲n̲e̲
4.2.2.6.6.1 F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
If the retrieval request being performed is not contained
in the online volume, the request is chained to the
offline retrieval requests.
4.2.2.6.6.3 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̲
ONL ̲SEND ̲FOR ̲OFFLINE () ()
4.2.2.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*ONL ̲RTR.D*WIN ̲RTR ̲PREFIX.S
b) E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲
Refer source list
- SAR.D*ONL ̲RTR.D*ONL ̲RTR ̲IMPORT.D*COMM ̲PROC.I
c) L̲o̲c̲a̲l̲ ̲D̲a̲t̲a̲
CONST SIZE ̲OFFL ̲LIST ̲OPR = 10
4.2.2.6.6.4 P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲D̲e̲s̲i̲g̲n̲
Refer flowgram figures 4.2.2.6.6-1-2
ONL ̲SEND ̲FOR ̲OFFLINE
OFFL ̲RETR ̲COUNTER EQ
MAX ̲NO ̲OF ̲OFFL ̲LIST ̲OPR
WAIT ̲OPSEM (ONL ̲OFFL ̲RETR
̲EMPTY ̲SEM, OPERATION ̲REF)
EQUIVALENCE (OPERATION ̲REF, OPERATION: OFFL ̲LIST ̲OPR)
OPERATION.BUFFER ̲REF = RRQ ̲QEL
OPERATION.VOLNAM SET TO YOUNGEST OFFLINE VOLUME
OPERATION.RETR ̲STATUS = OFFLINE ̲KNOWN
OPERATION.MOUNT ̲STATUS = FALSE
SIGNAL ̲OPSEM (OFFL ̲IN ̲SEM, OPERATION ̲REF)
INCREMENT OFFL ̲RETR ̲COUNTER
ONL ̲RETURN ̲OFFL ̲NOT ̲POSSIBLE
F̲I̲G̲U̲R̲E̲ ̲4̲.̲2̲.̲2̲.̲6̲.̲6̲-̲1̲
ONL ̲RETURN ̲OFFL ̲NOT ̲POSSIBLE
LOAD RRQ REPLY PARAMS
CASE SEND ̲REPLY (RRQ ̲REPLY ̲PARAMS,
RRQ ̲QEL, RRQ ̲QEL)
(RRQ ̲REPLY ̲PARAMS,
CC)
ERROR? -CASE ANALYZE ̲ERROR
(CC,1, BLOCKED ̲QUEUE): (E1)
E1:
END CASE
OK?
DISCONNECT ̲QEL (RRQ ̲QEL, RRQ ̲ATTR.OBJECT)
RETURN
F̲I̲G̲U̲R̲E̲ ̲4̲.̲2̲.̲2̲.̲6̲.̲6̲-̲2̲
4.2.2.7 S̲u̲b̲p̲a̲c̲k̲a̲g̲e̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲s̲
The sub-package interface to and from the online retrieval
sub-package is as follows.
The online retrieval sub-package i.e. the online retrieval
registration coroutine detects if any offline retrievals
are amoung the TOC window retrievals. If so the offline
retrievals are send to the offline retrieval sub-package
i.e. the offline list.
If the DTG retrieval module detects any offline DTG
retrievals the same procedure as above is performed.
This is valid for the TOC retrieval module too.