top - download
⟦6291bd8a9⟧ Wang Wps File
Length: 32137 (0x7d89)
Types: Wang Wps File
Notes: CPS/SDS/030
Names: »1503A «
Derivation
└─⟦7955290a6⟧ Bits:30005803 8" Wang WCS floppy, CR 0106A
└─ ⟦this⟧ »1503A «
WangText
…00……00……00……00……00…=…0a……00……00…=…0b…=…0d…=…0e…=…00…=
=…05…=…07…<…09…<…0b…<…0d…<…0f…<…00…<…01…<…05…<…06…<…07…;…0a…;…0e…;…02…;…06…;…07…:…08…:…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.1.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*ONL ̲STO.D*ONL ̲STO ̲PREFIX.S
b) E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲
Refer source list.
SAR.D*ONL ̲STO.D*ONL ̲STO ̲IMPORT.D*HDL ̲RETR ̲KEY.I
c) L̲o̲c̲a̲l̲ ̲D̲a̲t̲a̲
None
4.2.1.4.2.5 M̲o̲d̲u̲l̲e̲ ̲D̲e̲s̲i̲g̲n̲
Refer flowgrams 4.2.1.4.2.5-1-37
HANDLE ̲RETRIEVAL ̲KEYS
CASE ISQ ̲ATTR.INFORMATION (2) OF
SAR ̲INC ̲MSG? - STORE ̲INC ̲MSG
SAR ̲INC ̲DIST ̲MSG? - STORE ̲INC ̲DIST ̲MSG
SAR ̲FIRST ̲DRAFT? - STORE ̲FIRST ̲DRAFT
SAR ̲RELEASE ̲NOT? - STORE ̲RELEASE ̲NOT
SAR ̲COMMENT? - STORE ̲COMMENT
SAR ̲RELEASED ̲MSG? - STORE ̲RELEASED ̲MSG
SAR ̲TRANS ̲MSG? - STORE ̲TRANS ̲MSG
SAR ̲LOG ̲CIF? - STORE ̲LOG ̲CIF
END CASE
Fig. 4.2.1.4.2.5-1
STORE ̲INC ̲MSG
Select on maintype
CASE ISQ ̲ATTR.MAINTYPE OF
PLAINDRESS, PLAINDRESS ̲DATA,
PLAINDRESS ̲SERVICE? - P̲L̲A̲I̲N̲D̲R̲E̲S̲S̲ ̲I̲N̲C̲
ABB ̲PLAINDRESS,ABB ̲PLAINDRESS ̲DATA,
ABB ̲PLAINDRESS ̲SERVICE? - A̲B̲B̲ ̲P̲L̲A̲I̲N̲D̲R̲E̲S̲S̲
̲I̲N̲C̲
ABB ̲SERVICE? - A̲B̲B̲ ̲S̲E̲R̲V̲I̲C̲E̲ ̲I̲N̲C̲
SC ̲PLAINDRESS,SC ̲PLAINDRESS ̲DATA,
SC ̲PLAINDRESS ̲SERVICE? S̲C̲ ̲P̲L̲A̲I̲N̲D̲R̲E̲S̲S̲
̲I̲N̲C̲
SC ̲COMMENT? - S̲C̲ ̲C̲O̲M̲M̲E̲N̲T̲
̲I̲N̲C̲ ̲
END CASE
G̲E̲T̲ ̲A̲N̲D̲ ̲P̲U̲T̲ ̲C̲H̲N̲ ̲S̲T̲A̲ ̲K̲E̲Y̲S̲ ̲I̲N̲C̲
G̲E̲T̲ ̲A̲N̲D̲ ̲P̲U̲T̲ ̲O̲R̲I̲G̲ ̲K̲E̲Y̲S̲ ̲I̲N̲C̲
RETURN
Fig. 4.2.1.4.2.5-2
P̲L̲A̲I̲N̲D̲R̲E̲S̲S̲ ̲INC
CHN ̲STA ̲KEY ̲PACK ̲FLAG =
INC ̲MSG ̲PLAINDRESS ̲CHN ̲STA ̲KEY ̲
PACK ̲FLAGS
ORIG ̲KEY ̲PACK ̲FLAG =
INC ̲MSG ̲PLAINDRESS ̲ORIG ̲KEY ̲PACK ̲FLAGS
Fig. 4.2.1.4.2.5-3
A̲B̲B̲ ̲P̲L̲A̲I̲N̲D̲R̲E̲S̲S̲ ̲I̲N̲C̲
CHN ̲STA ̲KEY ̲PACK ̲FLAG =
INC ̲MSG ̲ABB ̲PLAINDRESS ̲CHN ̲STA ̲KEY ̲PACK ̲FLAGS
ORIG ̲KEY ̲PACK ̲FLAG =
INC ̲MSG ̲ABB ̲PLAINDRESS ̲ORIG ̲KEY ̲PACK ̲FLAGS
Fig. 4.2.1.4.2.5-4
A̲B̲B̲ ̲S̲E̲R̲V̲I̲C̲E̲ ̲I̲N̲C̲
CHN ̲STA ̲KEY ̲PACK ̲FLAG =
INC ̲MSG ̲ABB ̲SERVICE ̲CHN ̲STA ̲KEY ̲PACK ̲FLAGS
ORIG ̲KEY ̲PACK ̲FLAG =
INC ̲MSG ̲ABB ̲SERVICE ̲ORIG ̲KEY ̲PACK ̲FLAGS
Fig. 4.2.1.4.2.5-5
S̲C̲ ̲P̲L̲A̲I̲N̲D̲R̲E̲S̲S̲ ̲I̲N̲C̲
CHN ̲STA ̲KEY ̲PACK ̲FLAG =
INC ̲MSG ̲SC ̲PLAINDRESS ̲CHN ̲STA ̲KEY ̲PACK ̲FLAGS
ORIG ̲KEY ̲PACK ̲FLAG =
INC ̲MSG ̲SC ̲PLAINDRESS ̲ORIG ̲KEY ̲PACK ̲FLAGS
Fig. 4.2.1.4.2.5-6
S̲C̲ ̲C̲O̲M̲M̲E̲N̲T̲
CHN ̲STA ̲KEY ̲PACK ̲FLAG =
INC ̲MSG ̲SC ̲COMMENT ̲CHN ̲STA ̲KEYS ̲PACK ̲FLAG
ORIG ̲KEY ̲PACK ̲FLAG =
INC ̲MSG ̲SC ̲COMMENT ̲ORIG ̲KEY ̲PACK ̲FLAG
Fig. 4.2.1.4.2.5-7
STORE ̲INC ̲DIST ̲MSG
Select on maintype
CASE ISQ ̲ATTR.MAINTYPE OF
PLAINDRESS, PLAINDRESS ̲DATA?-P̲L̲A̲I̲N̲D̲R̲E̲S̲S̲ ̲I̲N̲C̲ ̲D̲I̲S̲T̲
ABB ̲PLAINDRESS,ABB ̲PLAINDRESS ̲DATA? -
ABB ̲PLAINDRESS ̲INC
̲DIST
END CASE
GET ̲NO ̲OF ̲SCDS () (NO ̲OF ̲SCDS)
G̲E̲T̲ ̲A̲N̲D̲ ̲P̲U̲T̲ ̲O̲R̲I̲G̲ ̲K̲E̲Y̲S̲ ̲I̲N̲C̲ ̲D̲I̲S̲T̲
NO ̲OF ̲SCDS EQ 0?
PACK ̲SCDS
RETURN
Fig. 4.2.1.4.2.5-8
P̲L̲A̲I̲N̲D̲R̲E̲S̲S̲ ̲I̲N̲C̲ ̲D̲I̲S̲T̲
ORIG ̲KEY ̲PACK ̲FLAG =
INC ̲DIST ̲MSG ̲PLAINDRESS ̲ORIG ̲KEY ̲PACK ̲FLAGS
Fig. 4.2.1.4.2.5-9
A̲B̲B̲ ̲P̲L̲A̲I̲N̲D̲R̲E̲S̲S̲ ̲I̲N̲C̲ ̲D̲I̲S̲T̲
ORIG ̲KEY ̲PACK ̲FLAG =
INC ̲DIST ̲MSG ̲ABB ̲PLAINDRESS ̲ORIG ̲KEYS ̲
PACK ̲FLAG
Fig. 4.2.1.4.2.5-10
STORE ̲FIRST ̲DRAFT
Select on maintype
CASE ISQ ̲ATTR.MAINTYPE OF
PLAINDRESS, PLAINDRESS ̲DATA? - P̲L̲A̲I̲N̲D̲R̲E̲S̲S̲ ̲F̲D̲
PLAINDRESS ̲SERVICE,ABB ̲PLAINDRESS ̲
SERVICE, ABB ̲SERVICE? - S̲E̲R̲V̲I̲C̲E̲ ̲F̲D̲
END CASE
INITIALIZE ̲CATAL ̲ENTRY (STORE ̲CATAL ̲ENTRY,
ORIGIN ̲ENTRY,
NOT ̲CONTINUED)
INITIALIZE ̲DTG ̲ENTRY (STORE ̲DTG ̲ENTRY)
GET ̲ORIG ̲KEYS ̲FROM ̲ADM ̲FIELD
(STORE ̲CATAL ̲ENTRY,
ORIG ̲KEY ̲PACK ̲FLAG,
FIELD ̲1)
GET ̲HEADER ̲PARAMS (STORE ̲CATAL ̲ENTRY, FIELD-1,
ISQ ̲ATTR, STORE ̲VIEW ̲NAME,
STORE ̲TIME, 0)
PUT ̲RETRIEVAL ̲KEYS (STORE ̲CATAL ̲ENTRY,
STORE ̲DTG ̲ENTRY)
RETURN
Fig. 4.2.1.4.2.5-11
P̲L̲A̲I̲N̲D̲R̲E̲S̲S̲ ̲F̲D̲
ORIG ̲KEY ̲PACK ̲FLAG =
FIRST ̲DRAFT ̲PLAINDRESS ̲ORIG ̲KEY ̲
PACK ̲FLAGS
Fig. 4.2.1.4.2.5-12
S̲E̲R̲V̲I̲C̲E̲ ̲F̲D̲
ORIG ̲KEY ̲PACK ̲FLAG =
FIRST ̲DRAFT ̲SERVICE ̲ORIG ̲KEY ̲
PACK ̲FLAGS
Fig. 4.2.1.4.2.5-13
STORE ̲RELEASE ̲NOT
ORIG ̲KEY ̲PACK ̲FLAG =
RELEASE ̲NOT ̲ORIG ̲KEY ̲PACK ̲FLAGS
INITIALIZE ̲CATAL ̲ENTRY (STORE ̲CATAL ̲ENTRY,
ORIGIN ̲ENTRY,
NOT ̲CONTINUED)
INITIALIZE ̲DTG ̲ENTRY (STORE ̲DTG ̲ENTRY)
GET ̲ORIG ̲KEYS ̲FROM ̲ADM ̲FIELD
(STORE ̲CATAL ̲ENTRY,
ORIG ̲KEY ̲PACK ̲FLAG,
FIELD ̲1)
GET ̲HEADER ̲PARAMS (STORE ̲CATAL ̲ENTRY, FIELD ̲1,
ISQ ̲ATTR, STORE ̲VIEW ̲NAME,
STORE ̲TIME, 0)
PUT ̲RETRIEVAL ̲KEYS (STORE ̲CATAL ̲ENTRY,
STORE ̲DTG ̲ENTRY)
RETURN
Fig. 4.2.1.4.2.5-14
STORE ̲COMMENT
"For SCARS/CCIS Comments number of SCD's is"
"zero"
ORIG ̲KEY ̲PACK ̲FLAG =
COMMENT ̲ORIG ̲KEY ̲PACK ̲FLAGS
GET ̲NO ̲OF ̲SCDS ( ) (SCDS)
SCDS EQ 0?
CONT ̲PAR = CONTINUED CONT ̲PAR = NOT ̲CONTINUED
INITIALIZE ̲CATAL ̲ENTRY (STORE ̲CATAL ̲ENTRY,
ORIGIN ̲ENTRY,
CONT ̲PAR)
INITIALIZE ̲DTG ̲ENTRY (STORE ̲DTG ̲ENTRY)
GET ̲ORIG ̲KEYS ̲FROM ̲ADM ̲FIELD
(STORE ̲CATAL ̲ENTRY,
ORIG ̲KEY ̲PACK ̲FLAG,
FIELD ̲1)
GET ̲HEADER ̲PARAMS (STORE ̲CATAL ̲ENTRY,
FIELD ̲1, ISQ ̲ATTR,
STORE ̲VIEW ̲NAME,
STORE ̲TIME, NO ̲OF ̲SCDS)
PUT ̲RETRIEVAL ̲KEYS (STORE ̲CATAL ̲ENTRY,
STORE ̲DTG ̲ENTRY)
NO ̲OF ̲SCDS EQ 0?
PACK ̲SCDS
RETURN
Fig. 4.2.1.4.2.5-15a
STORE ̲RELEASED ̲MSG
ORIG ̲KEY ̲PACK ̲FLAG =
RELEASED ̲MSG ̲ORIG ̲KEY ̲PACK ̲FLAGS
GET ̲NO ̲OF ̲SCDS ( ) (NO ̲OF ̲SCDS)
SCDS EQ 0?
CONT ̲PAR = CONTINUED CONT ̲PAR = NOT ̲CONTINUED
INITIALIZE ̲CATAL ̲ENTRY (STORE ̲CATAL ̲ENTRY,
ORIGIN ̲ENTRY,
CONT ̲PAR)
INITIALIZE ̲DTG ̲ENTRY (STORE ̲DTG ̲ENTRY)
GET ̲ORIG ̲KEYS ̲FROM ̲ADMINISTRATION ̲FIELD
(STORE ̲CATAL ̲ENTRY,
ORIG ̲KEY ̲PACK ̲FLAG,
FIELD ̲1)
GET ̲HEADER ̲PARAMS (STORE ̲CATAL ̲ENTRY,
FIELD ̲1, ISQ ̲ATTR,
STORE ̲VIEW ̲NAME,
STORE ̲TIME, NO ̲OF ̲SCDS)
PUT ̲RETRIEVAL ̲KEYS (STORE ̲CATAL ̲ENTRY,
STORE ̲DTG ̲ENTRY)
NO ̲OF ̲SCDS EQ 0?
PACK ̲SCDS
RETURN
Fig. 4.2.1.4.2.5-15b
STORE ̲TRANS ̲MSG
Select on maintype
CASE ISQ ̲ATTR.MAINTYPE OF
PLAINDRESS, PLAINDRESS ̲DATA,
PLAINDRESS ̲SERVICE? - P̲L̲A̲I̲N̲D̲R̲E̲S̲S̲ ̲T̲R̲A̲N̲S̲
ABB ̲PLAINDRESS, ABB ̲PLAINDRESS ̲DATA,
ABB ̲PLAINDRESS ̲SERVICE? A̲B̲B̲ ̲P̲L̲A̲I̲N̲D̲R̲E̲S̲S̲ ̲T̲R̲A̲N̲S̲
ABB ̲SERVICE? A̲B̲B̲ ̲S̲E̲R̲V̲I̲C̲E̲ ̲T̲R̲A̲N̲S̲
END CASE
READ ̲STATION ̲IO ̲IN ̲ACP ̲FIELD
(FIELD ̲1, ISQ ̲QEL)
(STORAGE ̲STATION ̲ID)
INITIALIZE ̲CATAL ̲ENTRY(STORE ̲CATAL ̲ENTRY,
CHN ̲STA ̲ENTRY,
NOT ̲CONTINUED)
INITIALIZE ̲DTG ̲ENTRY(STORE ̲DTG ̲ENTRY)
GET ̲CHN ̲STA ̲OUTG ̲TRANSM ̲KEYS
(STORE ̲CATAL ̲ENTRY,
CHN ̲STA ̲KEY ̲PACK ̲FLAG,
FIELD ̲1,
ISQ ̲ATTR,
STORE ̲STATION ̲ID)
GET ̲HEADER ̲PARAMS(STORE ̲CATAL ̲ENTRY,FIELD-1,
ISQ ̲ATTR, STORE ̲VIEW ̲NAME,
STORE ̲TIME, 0)
PUT ̲RETRIEVAL ̲KEYS(STORE ̲CATAL ̲ENTRY,
STORE ̲DTG ̲ENTRY)
RETURN
Fig. 4.2.1.4.2.5-16
P̲L̲A̲I̲N̲D̲R̲E̲S̲S̲ ̲T̲R̲A̲N̲S̲
CHN ̲STA ̲KEY ̲PACK ̲FLAG =
TRANS ̲MSG ̲PLAINDRESS ̲CHN ̲STA
̲KEYS ̲PACK ̲FLAG
Fig. 4.2.1.4.2.5-17
A̲B̲B̲ ̲P̲L̲A̲I̲N̲D̲R̲E̲S̲S̲ ̲T̲R̲A̲N̲S̲
CHN ̲STA ̲KEY ̲PACK ̲FLAG =
TRANS ̲MSG ̲ABB ̲PLAINDRESS ̲CHN ̲STA
̲KEYS ̲PACK ̲FLAG
Fig. 4.2.1.4.2.5-18
A̲B̲B̲ ̲S̲E̲R̲V̲I̲C̲E̲ ̲T̲R̲A̲N̲S̲
CHN ̲STA ̲KEY ̲PACK ̲FLAG =
TRANS ̲MSG ̲ABB ̲SERVICE ̲CHN ̲STA
̲KEYS ̲PACK ̲FLAG
Fig. 4.2.1.4.2.5-19
STORE ̲LOG ̲CIF
INITIALIZE ̲CATAL ̲ENTRY (STORE ̲CATAL ̲ENTRY,
ORIGIN ̲ENTRY,
NOT ̲CONTINUED)
INITIALIZE ̲DTG ̲ENTRY (STORE ̲DTG ̲ENTRY)
GET ̲LOG ̲HEADER ̲PARAMS (STORE ̲CATAL ̲ENTRY,
FIELD ̲1, ISQ ̲ATTR,
STORE ̲VIEW ̲NAME,
STORE ̲TIME)
PUT ̲RETRIEVAL ̲KEYS (STORE ̲CATAL ̲ENTRY,
STORE ̲DTG ̲ENTRY)
RETURN
Fig. 4.2.1.4.2.5-20
G̲E̲T̲ ̲A̲N̲D̲ ̲P̲U̲T̲ ̲O̲R̲I̲G̲ ̲K̲E̲Y̲S̲ ̲I̲N̲C̲
INITIALIZE ̲CATAL ̲ENTRY (STORE ̲CATAL ̲ENTRY,
ORIGIN ̲ENTRY,
NOT ̲CONTINUED)
INITIALIZE ̲DTG ̲ENTRY (STORE ̲DTG ̲ENTRY)
GET ̲ORIG ̲KEYS ̲FROM ̲ADM ̲FIELD
(STORE ̲CATAL ̲ENTRY,
ORIG ̲KEY ̲PACK ̲FLAG,
FIELD ̲1)
(VOLUME ̲DTG)
GET ̲HEADER ̲PARAMS (STORE ̲CATAL ̲ENTRY,
FIELD ̲1, ISQ ̲ATTR,
STORE ̲VIEW ̲NAME,
STORE ̲TIME, 0)
LOAD ̲DTG ̲ENTRY (MASK, STORE ̲DTG ̲ENTRY, FIELD ̲1)
PUT ̲RETRIEVAL ̲KEYS (STORE ̲CATAL ̲ENTRY,
STORE ̲DTG ̲ENTRY)
Fiug. 4.2.1.4.2.5-21
G̲E̲T̲ ̲A̲N̲D̲ ̲P̲U̲T̲ ̲C̲H̲N̲ ̲S̲T̲A̲ ̲K̲E̲Y̲S̲ ̲I̲N̲C̲ ̲
INITIALIZE ̲CATAL ̲ENTRY (STORE ̲CATAL ̲ENTRY,
CHN ̲STA ̲ENTRY,
NOT ̲CONTINUED)
INITIALIZE ̲DTG ̲ENTRY (STORE ̲DTG ̲ENTRY)
GET ̲CHN ̲STA ̲KEYS ̲FROM ̲ADM ̲FIELD
(STORE ̲CATAL ̲ENTRY,
CHN ̲STA ̲KEY ̲PACK ̲FLAG,
FIELD ̲1)
GET ̲HEADER ̲PARAMS (STORE ̲CATAL ̲ENTRY,
FIELD ̲1, ISQ ̲ATTR,
STORE ̲VIEW ̲NAME,
STORE ̲TIME,0)
LOAD ̲DTG ̲ENTRY (STORE ̲DTG ̲ENTRY, FIELD ̲1, MASK)
PUT ̲RETRIEVAL ̲KEYS (STORE ̲CATAL ̲ENTRY,
STORE ̲DTG ̲ENTRY)
F̲I̲G̲U̲R̲E̲ ̲4̲.̲2̲.̲1̲.̲4̲.̲2̲.̲5̲-̲2̲2̲
G̲E̲T̲ ̲A̲N̲D̲ ̲P̲U̲T̲ ̲O̲R̲I̲G̲ ̲K̲E̲Y̲S̲ ̲I̲N̲C̲ ̲D̲I̲S̲T̲
Test for continuation entry
SCDS NE 0?
CONT ̲PAR= CONT ̲PAR=
NOT ̲CONTINUED CONTINUED
INITIALIZE ̲CATAL ̲ENTRY (STORE ̲CATAL ̲ENTRY,
ORIGIN ̲ENTRY,
CONT ̲PAR)
INITIALIZE ̲DTG ̲ENTRY (STORE ̲DTG ̲ENTRY)
GET ̲ORIG ̲KEYS ̲FROM ̲ADMINISTRATION ̲FIELD
(STORE ̲CATAL ̲ENTRY,
ORIG ̲KEY ̲PACK ̲FLAG,
FIELD ̲1)
GET ̲HEADER ̲PARAMS (STORE ̲CATAL ̲ENTRY,
FIELD ̲1, ISQ ̲ATTR,
STORE ̲VIEW ̲NAME,
STORE ̲TIME, NO ̲OF ̲SCDS)
LOAD ̲DTG ̲ENTRY (STORE ̲DTG ̲ENTRY, FIELD ̲1,
MASK)
PUT ̲RETRIEVAL ̲KEYS (STORE ̲CATAL ̲ENTRY,
STORE ̲DTG ̲ENTRY)
F̲I̲G̲U̲R̲E̲ ̲4̲.̲2̲.̲1̲.̲4̲.̲2̲.̲5̲-̲2̲3̲
INITIALIZE ̲CATAL ̲ENTRY(CATAL ̲ENTRY:
PRI ̲ENTRY ̲TYPE,
ENTRY ̲KIND: ENTRY ̲KIND ̲TYPE,
ENTRY ̲NEXT: ENTRY ̲NEXT ̲TYPE)
CATAL ̲ENTRY.KIND(1) = ENTRY ̲KIND
CATAL ̲ENTRY.KIND(2) = ENTRY ̲NEXT
put zeroes in next 31 words
WORD ̲COUNT = 2
LOOP
WORD ̲COUNT EQ 33? EXIT
CATAL ̲ENTRY (WORD ̲COUNT) = 0
WORD ̲COUNT = WORD ̲COUNT + 1
END LOOP
FIG. 4.2.1.4.2.5-24
INITIALIZE ̲DTG ̲ENTRY
(DTG ̲ENTRY: INC ̲MSG ̲DTG ̲RECORD)
"DTG field initialized to 0
"PLA ̲REF ̲NO initialized to 0
EQUIVALENCE (DTG ̲ENTRY, DTG ̲ENTRY:
INC ̲MSG ̲DTG ̲RECORD)
DTG ̲ENTRY.DTG = 0
DTG ̲ENTRY.PLA ̲REF ̲NO = 0
DTG ̲ENTRY.SPARE = 0
FIG. 4.2.1.4.2.5-25
GET ̲CHN ̲STA ̲KEYS ̲FROM ̲ADM ̲FIELD
(STORE ̲CATAL: PRI ̲ENTRY ̲TYPE,
MASK: BIT ̲MASK;
FIELD ̲ONE: FIELD ̲I ̲TYPE)
EQUIVALENCE(STORE ̲CATAL, MAIN ̲ENT: MAIN ̲ENTRY)
MAIN ̲ENT.CHANNEL ̲STATION ̲KEYS.MASK = MASK
MASK AND F ̲CHN ̲DESIGN EQ 0?
MAIN ̲ENT.CHANNEL ̲STATION ̲KEYS.CHN ̲DESIGN =
FIELD ̲ONE. PARAMETER ̲INFO. CHANNEL ̲DESIGNATOR
MASK AND F ̲CHN ̲SER ̲NO EQ 0?
MAIN ̲ENT.CHANNEL ̲STATION ̲KEYS.CHN ̲SER ̲NO =
FIELD ̲ONE. PARAMETER ̲INFO.CSN
MASK AND F ̲STATION ̲ID EQ 0?
MAIN ̲ENT. CHANNEL ̲STATION ̲KEYS.STATION ̲ID =
FIELD ̲ONE.PARAMETER ̲INFO.STATION ̲ID
MASK AND F ̲STATION ̲SER ̲NO EQ 0?
MAIN ̲ENT.CHANNEL ̲STATION ̲KEYS.STATION ̲SER ̲NO =
FIELD ̲ONE.PARAMETER ̲INFO .SSN
MASK AND F ̲FILE ̲TIME EQ 0?
MAIN ̲ENT.CHANNEL ̲STATION ̲KEYS.FILE ̲TIME =
FIELD ̲ONE.PARAMETER ̲INFO.FILE ̲TIME
FIG. 4.2.1.4.2.5-26
GET ̲HEADER ̲PARAMS(
CATAL ̲ENTRY: PRI ̲ENTRY ̲TYPE,
FIELD ̲ONE: FIELD ̲I ̲TYPE,
QEL ̲ATTR: QEL ̲ATTRIBUTES,
VIEW ̲NAM: VIEW ̲NAME,
TIME: TIME ̲TYPE,
SCDS: INTEGER)
EQUIVALENCE(CATAL ̲ENTRY, MAIN ̲ENT: MAIN ̲ENTRY)
MAIN ̲ENT.HEADER.ENTRY ̲KIND=
ISQ ̲ATTRIB.INFORMATION(2)
MAIN ̲ENT.HEADER.CAMPS ̲TYPE(1) =
ISQ ̲ATTRIB.MAINTYPE
MAIN ̲ENT.HEADER.CAMPS ̲TYPE(2)=
ISQ ̲ATTRIB.FLAGS
MAIN ̲ENT.HEADER.CLASSIFIC ̲CAT=
FIELD ̲ONE.PARAMETER ̲INFO.CLASS
MAIN ̲ENT.HEADER.SPEC ̲HANDL=FIELD ̲ONE.PARAMETER ̲INFO.SPEC
̲HAND ̲INST
MAIN ̲ENT.HEADER.EXERC ̲INDIC = FALSE
ISQ ̲ATTRIB.PROFILE.MOST
AND EXERCISE EQ 0?
MAIN ̲ENT.HEADER.EXERC ̲INDIC=TRUE
MAIN ̲ENT.HEADER.ITEM ̲REF= FIELD ̲ONE.PARAMETER ̲INFO.ITEM
̲REF
MAIN ̲ENT.HEADER.VIEW ̲REF = VIEW ̲NAM
MAIN ̲ENT.HEADER.TOC = TEMP ̲TOC ̲REF.TOC
MAIN ̲ENT.HEADER.NO ̲OF ̲SCDS = SDCS
FIG. 4.2.1.4.2.5-27
GET ̲LOG ̲HEADER ̲PARAMS
(STORE ̲CATAL ̲ENT: PRI ̲ENTRY ̲TYPE,
LOG ̲HEADER: LOG ̲CIF ̲ADMINISTRATION,
ISQ ̲ATTRIB:QEL ̲ATTRIBUTES,
STORE ̲VIEW ̲NAME: VIEW ̲NAME,
ST ̲TIME:TIME ̲TYPE)
EQUIVALENCE(STORE ̲CATAL ̲ENT, MAIN ̲ENT: MAIN ̲ENTRY)
EQUIVALENCE(FIELD ̲1, LOG ̲HEAD:LOG ̲CIF ̲ADMINISTRATION)
MAIN ̲ENT.HEADER.CAMPS ̲TYPE(1) =
ISQ ̲ATTRIB.MAINTYPE
MAIN ̲ENT.HEADER.CAMPS ̲TYPE(2) =
ISQ ̲ATTRIB.FLAGS
MAIN ̲ENT.HEADER.ENTRY ̲KIND =
ISQ ̲ATTRIB.INFORMATION(1)
MAIN ̲ENT.HEADER.CLASSIFIC ̲CAT =
LOG ̲HEADER.CLASSIFIC ̲CAT
MAIN ̲ENT.HEADER.SPEC ̲HANDL =
LOG ̲HEADER.SPEC ̲HANDL
MAIN ̲ENT.HEADER.EXERC ̲INDIC = TRUE
ISQ ̲ATTRIB.PROFILE.MOST
AND EXERCISE EQ 0?
MAIN ̲ENT.HEADER.EXEC ̲INDIC
=FALSE
MAIN ̲ENT.HEADER.ITEM ̲REF =
LOG ̲HEADER.ITEM ̲REF
MAIN ̲ENT.HEADER.TOC = TEMP ̲TOC ̲REF.TOC
MAIN ̲ENT.HEADER.VIEW ̲REF = STORE ̲VIEW ̲NAME
FIG. 4.2.1.4.2.5-28
GET ̲ORIG ̲KEYS ̲FROM ̲ADM ̲FIELD
(STORE ̲CATAL ̲ENT: PRI ̲ENTRY ̲TYPE,
MASK: BIT ̲MASK,
FIELD ̲ONE: FIELD ̲1-TYPE,
VOLUME ̲DTG: TIME ̲TYPE)
EQUIVALENCE(STORE ̲CATAL ̲ENT, MAIN ̲ENT: MAIN ̲ENTRY)
MAIN ̲ENT.ORIGINATOR ̲KEYS.MASK = MASK
MASK AND F ̲DTG EQ 0?
"DTG present"
MAIN ̲ENT.ORIGINATOR ̲KEYS.DTG=
FIELD ̲ONE.PARAMETER ̲INFO.RELEASE ̲DTG
VOLUME ̲DTG =
FIELD ̲ONE.PARAMETER ̲INFO.RELEASE ̲DTG
MASK AND F ̲PLA ̲REF ̲NO EQ 0?
"PLA ref. no. present"
MAIN ̲ENT.ORIGINATOR ̲KEYS.PLA ̲REF ̲NO =
FIELD ̲ONE.PARAMETER ̲INFO.ORIGINATOR ̲PLA ̲NUMBER
MASK AND F ̲SICS EQ 0?
"At least one SIC present
MAIN ̲ENT.ORIGINATOR ̲KEYS.SICS =
FIELD-ONE.PARAMETER ̲INFO.SICS
MASK AND F ̲ORIG ̲SCD EQ 0?
"Originator SCD present
MAIN ̲ENT.ORIGINATOR ̲KEYS.ORIG ̲SCD=
FIELD ̲ONE.PARAMETER ̲INFO.ORIGINATOR ̲SCD
FIGURE 4.2.1.4.2.5-29
GET ̲NO ̲OF ̲SCDS
(NO ̲OF ̲SCDS: INTEGER)
NO ̲OF ̲SCD = FIELD ̲1. IMF ̲DSCR.NUMBER ̲OF
̲DIST ̲SCD + FIELD ̲1.IMF ̲DSCR.
NUMBER ̲OF ̲ACTION ̲SCD +
FIELD ̲1. IMF ̲DSCR.NUMBER ̲OF ̲
INFO ̲SCD
FIG. 4.2.1.4.2.5-30
PACK ̲SCDS
GET ̲NO ̲OF ̲DIST ̲SCDS ( ) (NO ̲OF ̲DIST ̲SCDS)
READ ̲DIST ̲SCDS
READ ̲SCDS()()
SCDS ̲LEFT = NO ̲OF ̲SCDS
FIRST ̲SCD ̲IN ̲BUFFER = 1
L̲O̲O̲P̲ ̲O̲N̲ ̲S̲C̲D̲S̲
FIG. 4.2.1.4.2.5-31
…86…1 …02… …02… …02… …02… …02… …02… …02… …02…
READ ̲SCDS()
"Reads the number of SCDs from the
"View and loads them into the
"STORE ̲SCD ̲BUF
SIZE ̲ALL ̲SCD = NO ̲OF ̲SCD * SIZE ̲ONE ̲SCD
STORE ̲LIST ̲ELEMENT. NO ̲OF ̲ELEMENTS = 1
STORE ̲LIST ̲ELEMENT. ELEMENT (1). FIELD ̲GROUP ̲ID =
SCD ̲LIST ̲FIELD
STORE ̲LIST ̲ELEMENT. ELEMENT (1). FIELD ̲BYTE ̲ADDRESS=
FIELD ̲1. IMF ̲DESCR. DIST ̲SCD ̲OFFSET
STORE ̲LIST ̲ELEMENT. ELEMENT (1). RECORD ̲LENGTH=
SIZE ̲ALL ̲SCD
CALCULATE SIZE OF ALL SCDS
CASE READ ̲VIEW(SIZE-ALL-SCD),
STORE ̲LIST ̲ELEMENTS,
ISQ ̲QEL,
STORE ̲SCD ̲BUF)
(CC)
ERROR? - ANALYSE ̲ERROR(CC, 0)
OK?
END ̲CASE
FIG. 4.2.1.4.2.5-32
L̲O̲O̲P̲ ̲O̲N̲ ̲S̲C̲D̲S̲
LOOP
SCDS ̲LEFT EQ 0? EXIT
SCDS ̲FOR ̲MOVE =
MAX ̲SCDS ̲IN ̲ONE ̲ENTRY
SCDS ̲LEFT GT
MAX ̲SCD ̲IN ̲ONE ̲ENTRY?
SCDS ̲FOR ̲MOVE
= SCDS ̲LEFT
CONT ̲PAR= CONT ̲PAR=
NOT ̲CONTINUED CONTINUED
INITIALIZE ̲CATAL ̲ENTRY( STORE ̲CATAL ̲ENTRY,
SCD ̲ENTRY,
CONT ̲PAR)
INITIALIZE ̲DTG ̲ENTRY ( STORE ̲DTG ̲ENTRY)
LOAD ̲SCDS(STORE ̲SCD ̲BUFFER, STORE ̲CATAL ̲ENTRY,
FIRST ̲SCD ̲IN ̲BUFFER,SCDS ̲FOR ̲MOVE)
PUT ̲RETRIEVAL ̲KEYS(STORE ̲CATAL ̲ENTRY,
STORE ̲DTG ̲ENTRY)
FIRST ̲SCD ̲IN ̲BUFFER=
FIRST ̲SCD ̲IN ̲BUFFER + SCDS ̲FOR ̲MOVE
SCDS ̲LEFT = SCDS ̲LEFT-SCDS ̲FOR ̲MOVE
END LOOP
FIG. 4.2.1.4.2.5-33
LOAD ̲SCDS (STORE ̲SCD ̲BUF: ARRAY(1..1) OF BYTES,
STORE ̲CATAL ̲ENT: STORE ̲CATAL ̲ENTRY,
FIRST ̲SCD ̲IN ̲BUFF: INTEGER,
SCD ̲FOR ̲MOV: INTEGER)
"Loading SCDS from STORE ̲SCD ̲BUF into
"the STORE ̲CATAL ̲ENT (SCD ̲ENTRY)
"Number moved equal to SCD ̲FOR ̲MOVE
"FIRST-SCD ̲IN ̲BUFF tells the SCD start number
EQUIVALENCE(STORE ̲CATAL ̲ENT, SCD ̲ENT: SCD ̲ENTRY)
SCD ̲ENT.NO ̲OF ̲SCDS = SCD ̲FOR ̲MOVE
loop start
SCD ̲COUNT = 1
SCD ̲MOVE ̲LOOP
SCD ̲FOR ̲MOVE EQ 0 ?
SCD ̲ENT.SCDS(SCD ̲COUNT)=STORE ̲SCD ̲BUF
(FIRST ̲SCD ̲IN ̲BUFF)
SCD ̲COUNT=SCD ̲COUNT+1
FIRST ̲SCD ̲IN ̲BUFF = FIRST ̲SCD ̲IN ̲BUFF +
4
SCD ̲FOR ̲MOV = SCD ̲FOR ̲MOV - 1
END LOOP
FIG. 4.2.1.4.2.5-34
READ ̲STATION ̲ID ̲IN ̲ACP ̲FIELD
(FIELD ̲ONE: FIELD
̲1 ̲TYPE,
QEL ̲REF: QEL ̲REFERENCE)
(STATION: STATION
̲ID ̲TYPE)
"initialization of read view
"parameters
STATION ̲LIST ̲ELEMENT.NO ̲OF ̲ELEMENTS = 1
STATION ̲LIST ̲ELEMENT. ELEMENT (1). FIELD ̲GROUP ̲ID=
ACP ̲HEADER ̲FIELD
STATION ̲LIST ̲ELEMENT. ELEMENT (1). FIELD ̲BYTE ̲ADDRESS=
STATION ̲ID ̲OFFSET " = 0
STATION ̲LIST ̲ELEMENT. ELEMENT (1). RECORD ̲LENGTH =
STATION ̲ID ̲LENGTH " = 10
CASE READ ̲VIEW(10,
STATION ̲LIST ̲ELEMENT,
QEL ̲REF,
FIELD ̲ONE.PARAMETER ̲INFO.
STATION ̲ID)
(CC)
ERROR? ANALYSE ̲ERROR(CC,0)
OK?
END ̲CASE
FIG. 4.2.1.4.2.5-35
GET ̲CHN ̲ST ̲OUTG ̲TRANSM ̲KEYS
(STORE ̲CATAL: PRI ̲ENTRY ̲TYPE,
MASK: BIT ̲MASK,
FIELD ̲ONE: FIELD ̲0 ̲TYPE,
QEL ̲ATTR: QEL ̲ATTRIBUTES,
STATION: STATION ̲ID ̲TYPE)
EQUIVALENCE(STORE ̲CATAL, MAIN ̲ENT: MAIN ̲ENTRY)
MAIN ̲ENT.CHANNEL ̲STATION ̲KEYS. MASK = MASK
MASK AND F ̲CHN ̲DESIGN EQ 0?
"Channel designator present
MAIN ̲ENT.CHANNEL ̲STATION ̲KEYS. CHN ̲DESIGN =
QEL ̲ATTR.INFORMATION(3) AND QEL ̲ATTR.INFORMATION(4)
MASK AND F ̲CHN ̲SER.NO EQ 0?
"Channel serial number present
MAIN ̲ENT.CHANNEL ̲STATION ̲KEYS. CHN ̲SER ̲NO =
QEL ̲ATTR.INFORMATION(3)
MASK AND F-STATION ̲ID EQ 0?
"Station id present
MAIN ̲ENT.CHANNEL ̲STATION ̲KEYS.STATION ̲ID=
STATION
NEXT ̲PAGE
FIG. 4.2.1.4.2.5-36
PREVIOUS ̲PAGE
MASK AND F ̲STATION ̲SER ̲NO EQ 0?
Station serial number present
MAIN ̲ENT.CHANNEL ̲STATION ̲KEYS.STATION ̲SER ̲NO =
FIELD ̲ONE. PARAMETERS ̲INFO.SSN
MASK AND F ̲FILE ̲TIME EQ 0?
"File time present
MAIN ̲ENT. CHANNEL ̲STATION ̲KEYS. FILE ̲TIME =
FIELD ̲ONE. PARAMETERS ̲INFO. FILE ̲TIME
4.2.1.4.2.5-37
LOAD ̲DTG ̲ENTRY
(STORE ̲DTG ̲ENTRY: INC ̲MSG ̲DTG ̲RECORD,
FIELD ̲ONE: FIELD ̲1 ̲TYPE,
MASK: BIT ̲MASK)
EQUIVALENCE (STORE ̲DTG ̲ENTR1, MAIN ̲ENTRY, MAIN ̲ENTRY:
DTC ̲ENTRY)
MASK AND F ̲DTG EQ 0 ?
"DTG present"
MAIN ̲ENT.DTG =
FIELD ̲ONE.PARAMETER ̲INFO.RELEASE ̲DTG
MASK AND F ̲PLA ̲REF ̲NO EQ 0 ?
"PLA ref. no. present"
MAIN ̲ENT.PLA ̲REF ̲NO =
FIELD ̲ONE.PARAMETER ̲INFO.ORIGINATOR ̲PLA ̲NUMBER
RETURN
FIGURE 4.2.1.4.2.5-38
4.2.1.4.3 P̲R̲I̲ ̲D̲T̲G̲ ̲H̲a̲n̲d̲l̲i̲n̲g̲
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 empties the temporary storage area and
loads the on-line catalogues PRI ̲FILE ̲ON and DTG ̲FILE
̲ON.
4.2.1.4.3.2 M̲o̲d̲u̲l̲e̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲
The module interfaces to the HANDLE RETRIEVAL KEYS
module. The HANDLE RETRIEVAL KEYS module calls the
PRI DTG HANDLING when the temporary storage area shall
be emptied and loaded onto the on-line catalogue.
C̲a̲l̲l̲ ̲s̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
PUT ̲RETRIEVAL ̲KEYS
(PRI ̲ENTRY: PRI ̲ENTRY ̲TYPE,
DTG ̲ENTRY: INC ̲MSG ̲DTG ̲RECORD)
4.2.1.4.3.3 M̲o̲d̲u̲l̲e̲ ̲C̲o̲m̲p̲o̲n̲e̲n̲t̲s̲
a) P̲r̲i̲ ̲D̲t̲g̲ ̲H̲a̲n̲d̲l̲i̲n̲g̲
D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
Refer figure 4.2.1.4.3.5-1.
The module empties the PRI ̲BUFFER and DTG ̲BUFFER.
Before that a space check is performed to examine
if on-line catalogues have free space enough for
accommodating the buffers. If not a report is generated.
If space enough buffers are emptied by use of the
procedure OUTPUT ̲PRI ̲DTG.
b) I̲n̲t̲e̲r̲f̲a̲c̲e̲s̲ ̲D̲o̲w̲n̲w̲a̲r̲d̲s̲ ̲a̲r̲e̲ ̲a̲s̲ ̲f̲o̲l̲l̲o̲w̲s̲:
During copying of catalogue buffer to disk the
procedure call is:
OUTPUT ̲PRI ̲DTG
(PRI ̲DTG ̲DISK ̲RER: LONG,
NO ̲OF ̲PRI ̲BUF ̲ENTRIES: INTEGER) ( )
To determine the free space in PRI and DTG file
the procedue call is:
GET ̲ONL ̲DTG ̲PRI ̲SPACE
(PRI ̲DTG ̲DISK ̲REF: LONG,
ROOM: INTEGER) ( )
Reporting storage threshold exceeding, the procedure
call is:
REPORT ̲STORAGE ̲ERR
(ERROR: INTEGER) ( )
4.2.1.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*ONL ̲STO.D*ONL ̲STO ̲PREFIX.S
b) E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲
Refer source list.
- SAR.D*ONL STO.D*ONL STO IMPORT.D*PRI DTG HDL.I
c) L̲o̲c̲a̲l̲ ̲D̲a̲t̲a̲
CONST MAX ̲NO ̲OF ̲PRI ̲BUF ̲ENTRIES = 20
4.2.1.4.3.5 M̲o̲d̲u̲l̲e̲ ̲D̲e̲s̲i̲g̲n̲
Refer figure 4.2.1.4.3.5-1
PUT ̲RETRIEVAL ̲KEYS (PRI ̲ENTRY: PRI ̲ENTRY TYPE
DTG ̲ENTRY: INC ̲MSG ̲DTG ̲RECORD
̲
TYPE),
PRI ̲BUFFER(FIRST ̲FREE ̲BUFFER) = PRI ̲ENTRY
DTG ̲BUFFER(FIRST ̲FREE ̲BUFFER) = DTG ̲ENTRY
FIRST ̲FREE ̲BUFFER = FIRST ̲FREE ̲BUFFER + 1
INCREMENT ENTRY NUMBERS IN
PRI ̲DTG ̲TEMP
INCREMENT NO ̲OF ̲PRI ̲BUF ̲ENTRIES
FIRST ̲FREE ̲BUFFER LE
MAX ̲NO ̲OF ̲PRI ̲BUF ̲ENTRIES?
Buffers are full, output
LOOP
GET ̲ONL ̲DTG ̲PRI ̲SPACE(PRI ̲DTG ̲DISK ̲REF)
(SPACE)
SPACE GE NO ̲OF ̲PRI ̲BUF ̲ENTRIES EXIT
REPORT ̲STORAGE ̲ERR(PRI ̲DTG ̲ERR)
END ̲LOOP
OUTPUT ̲PRI ̲DTG(PRI ̲DTG ̲DISK ̲REF,
NO ̲OF ̲PRI ̲BUF ̲ENTRIES)
PUT PRI ̲DTG ̲DISK ̲REF IN FORMER ̲PRI ̲DTG ̲DISK ̲REF
UPDATE PRI ̲DTG ̲DISK ̲REF TO POINT TO
NEXT DISK ̲REF (EITHER NEXT OR FIRST)
FIRST ̲FREE ̲BUFFER = 1
RETURN
FIGURE 4.2.1.4.3.5-1
4.2.1.5 C̲o̲m̲m̲o̲n̲ ̲S̲u̲b̲-̲P̲a̲c̲k̲a̲g̲e̲ ̲D̲a̲t̲a̲
The following common sub-package data are identified:
Refer source list.
- SAR.D*ONL ̲STO.D*ONL ̲STO ̲DATA.PC
FIGURE 4.2.1.5.1-1
4.2.1.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 storage sub-package:
- report storage error
- output PRI DTG buffers
- get online PRI DTG space
- disconnect QEL
4.2.1.6.1 R̲e̲p̲o̲r̲t̲ ̲S̲t̲o̲r̲a̲g̲e̲ ̲E̲r̲r̲o̲r̲
4.2.1.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 module component generates a report about catalogue
thresholds. When the on-line catalogues have reached
a specified value a storage supv report operation is
sent to the supervisor command coroutine by signalling
the semaphore SUPV ̲IN ̲SEM. A hang-up is performed until
operation is returned i.e. until catalogues have been
emptied.
4.2.1.6.1.2 I̲n̲t̲e̲r̲f̲a̲c̲e̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲ ̲
REPORT ̲STORAGE ̲ERR (ERROR)
4.2.1.6.1.3 D̲a̲t̲a̲ ̲D̲e̲f̲i̲n̲i̲t̲i̲o̲n̲ ̲
E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲
Refer source list.
- SAR.D*ONL ̲STO.D*ONL ̲STO ̲IMPORT.D*COMM ̲PROC.I
L̲o̲c̲a̲l̲ ̲D̲a̲t̲a̲
None
4.2.1.6.1.4 P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲D̲e̲s̲i̲g̲n̲
Refer flowgram figure 4.2.1.6.1-1
REPORT ̲STORAGE ̲ERR (ERROR)
PUT ERROR IN STORAGE ̲SUPV ̲REPORT ̲OPR
SIGNAL ̲OPSEM (SUPV ̲IN ̲SEM)
Hang-up until cleared
WAIT ̲OPSEM (STORAGE ̲REPORT ̲EMPTY ̲SEM)
REPORT STORAGE ERROR MODULE COMPONENT…01…F̲I̲G̲U̲R̲E̲ ̲4̲.̲2̲.̲1̲.̲6̲.̲1̲-̲1̲
4.2.1.6.2 O̲u̲t̲p̲u̲t̲ ̲P̲R̲I̲ ̲D̲T̲G̲ ̲B̲u̲f̲f̲e̲r̲s̲
4.2.1.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 procedure transfers the temporary storage area
to the on-line disk.
The on-line PRI file catalogue and the on-line DTG
file catalogue is loaded by use of 2 times modify instructions.
4.2.1.6.2.2 I̲n̲t̲e̲r̲f̲a̲c̲e̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
OUTPUT ̲PRI ̲DTG
(DISK ̲REF: DTG ̲PRI ̲ENTRY ̲REF,
NO ̲OF ̲ENT: INTEGER)
4.2.1.6.2.3 D̲a̲t̲a̲ ̲D̲e̲f̲i̲n̲i̲t̲i̲o̲n̲
E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲
Refer source list.
- SAR.D*ONL STO.D*ONL STO IMPORT.D*COMM PROC.I
L̲o̲c̲a̲l̲ ̲D̲a̲t̲a̲
None
4.2.1.6.2.4 P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲D̲e̲s̲i̲g̲n̲
Refer flowgram figure 4.2.1.6.2-1
OUTPUT ̲PRI ̲DTG (DISK ̲REF: DTG ̲PRI ̲ENTRY ̲REF,
NO ̲OF ̲PRI ̲BUF ̲ENTRIES: INTEGER)
DTG ̲PRI ̲FIL ̲ADD.FIRST ̲BYTE
= (DISK ̲REF.PHYS ̲ENTRY ̲NO x SIZE (PRI ̲ENTRY ̲TYPE)
x 2)
DTG ̲PRI ̲FIL ̲ADD.BYTE ̲COUNT
= SIZE (PRI ̲ENTRY ̲TYPE) x 2 x NO ̲OF ̲PRI ̲BUF ̲ENTRIES
CASE MODIFYBYTES (ONL ̲PRI ̲FD, DTG ̲PRI ̲FIL ̲ADD,
PRI ̲BUFFER ̲BLE) (DTG ̲PRI ̲FIL ̲ADD,
CC):
ERROR?-ANALYZE ̲ERROR (CC,0)
OK?
END CASE
DTG ̲PRI ̲FIL ̲ADD.FIRST ̲BYTE
= (DISK ̲REF.PHYS ̲ENTRY ̲NO x SIZE (INC ̲MSG ̲DTG ̲RECORD)
x 2)
DTG ̲PRI ̲FIL ̲ADD.BYTE ̲COUNT
= SIZE (INC ̲MSG ̲DTG ̲RECORD) x 2 x NO ̲OF ̲PRI ̲BUF
̲ENTRIES
CASE MODIFYBYTES (ONL ̲DTG ̲FD, DTG ̲PRI ̲FIL ̲ADD,
DTG ̲BUFFER ̲BLE) (DTG ̲PRI ̲FIL ̲ADD,
CC):
ERROR?-ANALYZE ̲ERROR (CC,0)
OK?
END CASE
FIGURE 4.2.1.6.2-1
4.2.1.6.3 G̲e̲t̲ ̲O̲n̲l̲i̲n̲e̲ ̲D̲T̲G̲ ̲P̲R̲I̲ ̲D̲i̲s̲k̲ ̲S̲p̲a̲c̲e̲
4.2.1.6.3.1 F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
This procedure calculates the free space in both the
DTG ̲FILE ̲ON and the PRI ̲FILE ̲ON and return it as output
parameter
4.2.1.6.3.2 I̲n̲t̲e̲r̲f̲a̲c̲e̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
GET ̲ONL ̲DTC ̲PRI ̲SPACE
(REF :DIG ̲PRI ̲ENTRY ̲REF)
(ROOM: LONG)
4.2.1.6.3.3 D̲a̲t̲a̲ ̲D̲e̲f̲i̲n̲i̲t̲i̲o̲n̲
a) E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲
Refer source list.
SAR.D*ONL ̲STO.D*ONL ̲STO ̲IMPORT.D*COMM ̲PROC.I
b) L̲o̲c̲a̲l̲ ̲D̲a̲t̲a̲
None
4.2.1.6.3.4 P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲D̲e̲s̲i̲g̲n̲
Refer flowgram figure 4.2.1.6.3-1
GET ̲ONL ̲DTG ̲PRI ̲SPACE
(REF: DTG ̲PRI ̲ENTRY ̲REF)
(ROOM: LONG)
Get physical entry number of oldest
entry in online catalog
WAIT ̲SEM (ONL ̲CAT ̲HEADER ̲SEM)
PHYS ̲ENTR ̲OLDEST=
ONLINE ̲VOL ̲HEAD.CAT ̲DESCR.
OLDEST ̲NON ̲CLEARED ̲DTG ̲PRI.PHYS ̲ENTRY ̲NO
PRI ̲DTG ̲SIZE= ONLINE ̲VOL ̲HEAD.CAT ̲DESCR.MAX ̲NO ̲IN ̲PRI ̲DTG
SIGNAL ̲SEM (ONL ̲CAT ̲HEADER ̲SEM)
REF.PHYS ̲ENTRY ̲NO GE
PHYS ̲ENTR ̲OLDEST?
ROOM= ROOM=PRI ̲DTG ̲SIZE
PHYS ̲ENTR ̲OLDEST -(REF.PHYS ̲ENTRY ̲NO
-REF.PHYS ̲ENTRY ̲NO -PHYS ̲ENTR ̲OLDEST)
Figure 4.2.1.6.3-1
4.2.1.6.4 D̲I̲S̲C̲O̲N̲N̲E̲C̲T̲ ̲Q̲E̲L̲ ̲P̲r̲o̲c̲e̲d̲u̲r̲e̲
4.2.1.6.4.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.1.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̲
DISCONNECT ̲QEL (QEL: QEL REFERENCE,
OBJ: OBJECT ̲TYPE)
4.2.1.6.4.3 D̲a̲t̲a̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲
None
L̲o̲c̲a̲l̲ ̲D̲a̲t̲a̲
None
4.2.1.6.4.4 P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲D̲e̲s̲i̲g̲n̲
Refer flowgram, figure 4.2.1.6.4-1-4.
Figure 4.2.1.6.4-1 shows the selection of object to
be dismantled and branching to the corresponding dismantle
function.
Figure 4.2.1.6.4-2-4 depict 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.1.6.4-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.1.6.4-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.1.6.4-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.1.6.4-4
4.2.1.6.5 R̲e̲p̲o̲r̲t̲ ̲I̲n̲t̲e̲r̲n̲a̲l̲ ̲E̲r̲r̲o̲r̲ ̲P̲r̲o̲c̲e̲d̲u̲r̲e̲
4.2.1.6.5.1 F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
When an on-line storage subpackage internal error is
discovered, this is reported to the garble queue.
A QEL is created referencing the buffer containing
the error description. The QEL is then send to the
garble queue.
4.2.1.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̲
REPORT ̲SAR ̲INT ̲ERR
(LOCATION: INTEGER,
SUBPACKAGE ̲NO: INTEGER,
MODULE ̲NO: INTEGER,
PROCEDURE ̲NO: INTEGER,
ERROR ̲CODE: INTEGER) ( )
4.2.1.6.5.3 D̲a̲t̲a̲ ̲D̲e̲f̲i̲n̲i̲t̲i̲o̲n̲
a) E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲
Refer source list.
- SAR.D*ONL ̲STO.D*ONL ̲STO ̲IMPORT.D*COMM ̲PROC.I
b) L̲o̲c̲a̲l̲ ̲D̲a̲t̲a̲
None
4.2.1.6.5.4 P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲D̲e̲s̲i̲g̲n̲
Refer flowgram figure 4.2.1.6.5-1
REPORT ̲SAR ̲INT ̲ERR
LOAD SEND GARBLE PARAMS
SEND ̲CARBLE
RETURN
FIGURE 4.2.1.6.5-1
4.2.1.7 S̲u̲b̲-̲P̲a̲c̲k̲a̲g̲e̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲s̲
The on-line storage sub-package uses the semaphore
ONL ̲CAT ̲HEADER ̲SEM which is being used by the on-line
retrieval and the dump sub-packages as well.
Refer section 4.1.3.1.1 for details.
This interface, via the ONL ̲CAT ̲HEADER ̲SEM is to the
on-line retrieval sub-package and to the dump sub-package.
Second interface is to the supervisor command sub-package
via the semaphores SUPV ̲IN ̲SEM and STORAGE ̲REPORT ̲EMPTY
̲SEM. Refer figure 4.1.3.2.5-1 for details.