DataMuseum.dk

Presents historical artifacts from the history of:

CR80 Wang WCS documentation floppies

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about CR80 Wang WCS documentation floppies

Excavated with: AutoArchaeologist - Free & Open Source Software.


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.