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

⟦072dfa359⟧ Wang Wps File

    Length: 31538 (0x7b32)
    Types: Wang Wps File
    Notes: CPS/SDS/036               
    Names: »1701A «

Derivation

└─⟦af82dd301⟧ Bits:30006082 8" Wang WCS floppy, CR 0127A
    └─ ⟦this⟧ »1701A « 

WangText

…00……00……00……00……00……16……02……00……00……16…
…16……06……16……07……15……0c……15……0e……15……0f……15…
…14……09……14……0d……14……01……14… …86…1                                             …02…           …02…   …02…        

…02…CPS/SDS/036

…02…831220…02……02…
SUPERVISOR PRINTER
DETAILED DESIGN SPECIFICATION…02…ISSUE 1…02…CAMPS








4.2.3    R̲e̲q̲u̲e̲s̲t̲ ̲C̲o̲n̲t̲r̲o̲l̲ ̲S̲u̲b̲p̲a̲c̲k̲a̲g̲e̲

         The Request Control Subpackage (RESCO) takes care of
         handling the Supervisor system information extract
         - and table print-requests.



4.2.3.1  F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

         The following main function is carried out by this
         subpackage:

             Generate System Information - Extract - and Table-Print-Items.

         The function is broken down in the following subfunctions:

             Request Control
             Get Requested Information
             Buffer Handling

         Further breakdown is shown in fig. 4.2.3.1-1

























                     Figure 4.2.3.1-1


4.2.3.2  R̲E̲S̲C̲O̲ ̲S̲o̲t̲f̲w̲a̲r̲e̲ ̲S̲t̲r̲u̲c̲t̲u̲r̲e̲

         The sotfware structure of RESCO is shown in fig. 4.2.3.2.

         In the following a description of each module is given.

         a)  R̲E̲S̲C̲O̲ ̲M̲A̲I̲N̲

             The module initialize the coroutine variables and
             contains the main loop of the subpackage. It processes
             the arriving request queue items. It initializes
             print generation for the different request, and
             for following request:

             Queue status print, table status print and system
             parameter print it generates the actual information
             and store it in the file SYIE ̲TAB ̲FILE. All requests
             are sent to DELCO for delivery.

         b)  P̲R̲O̲C̲ ̲T̲A̲B̲L̲E̲ ̲P̲R̲I̲N̲T̲

             For all other request than QUEUE ̲STATUS ̲PRINT,
             TABLE ̲STATUS ̲PRINT and SYSTEM ̲PARAMETER ̲PRINT this
             module generates the actuall information and store
             this in the file SYIE ̲TAB ̲FILE.

         c)  P̲R̲O̲C̲ ̲O̲B̲S̲

             All the procedures needed to handle obsolete/unused
             are in this module. All procedures gives an indication
             whether the current table record shall be printed
             or not.

         d)  P̲R̲O̲C̲ ̲C̲O̲N̲N̲

             All the procedures needed to process the different
             field types are in this module.

         e)  P̲R̲O̲C̲ ̲C̲O̲M̲M̲O̲N̲

             All the common RESCO procedures are in this module.



4.2.3.3  D̲a̲t̲a̲ ̲F̲l̲o̲w̲ ̲a̲n̲d̲ ̲C̲o̲n̲t̲r̲o̲l̲ ̲L̲o̲g̲i̲c̲

         The following HIPO-diagrams and the call structure
         figure shows the data flow and control logic of RESCO.

         Description of each module can be found in sec. 4.3.3.2.

         For more detailed description of the module logic refer
         to the module design flowgrams for each module (sec.
         4.2.3.4).



                  Figure 4.2.3.3-1/2/3/4



4.2.3.4  R̲E̲S̲C̲O̲ ̲M̲o̲d̲u̲l̲e̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲s̲



4.2.3.4.1 R̲E̲S̲C̲O̲ ̲M̲A̲I̲N̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲s̲



4.2.3.4.1.1 F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

         The module initializes the coroutine-varibles and contains
         the main loop of the subpackage.

         It processes the arriving request queue items. It initializes
         print generation for the different request, and for
         following request:

         Queue status print, table status print and system parameter
         print. It generates the actual information and stores
         this in the file SYIE ̲TAB ̲FILE. All request are sent
         to DELCO for delivery.



4.2.3.4.1.2 I̲n̲t̲e̲r̲f̲a̲c̲e̲

         C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

         a)  RESCO ̲MAIN

         b)  RESCO ̲MAIN (R6)

         C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         R6 LINK                      (DEST)

         R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         R0-R7                        DESTROYED

         F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲

         None



4.2.3.4.1.3 M̲o̲d̲u̲l̲e̲ ̲C̲o̲m̲p̲o̲n̲e̲n̲t̲s̲





4.2.3.4.1.3.1 I̲N̲I̲T̲ ̲R̲E̲C̲E̲I̲V̲E̲ ̲F̲R̲O̲M̲ ̲S̲P̲I̲P̲ ̲R̲E̲Q̲Q̲

         The procedure are initiates receive of items from SPIP
         request queue.



4.2.3.4.1.3.2 P̲R̲O̲C̲ ̲R̲E̲Q̲Q̲ ̲I̲T̲E̲M̲S̲

         The procedure receives the item. If the item has buffer
         reference the buffer is read. SYIE ̲TAB ̲FILE is initiated
         and in case statement the actual procedure/module to
         process this request is called. The administration
         field is written into the SYIE ̲TAB ̲FILE.

         The procedure will repeat sending the request to DELCO
         for delivery and awaits the completion of it until
         the completion code is okay. If the item received was
         with request, reply is sent to the supervisor.



4.2.3.4.1.3.3 P̲R̲O̲C̲ ̲T̲A̲B̲L̲E̲ ̲S̲T̲A̲T̲U̲S̲

         The procedure generates the table status request data
         using the arrays TABLE ̲STATUS ̲TXT and TABLE ̲STATUS
         ̲ID and the constant MAX ̲TABLE ̲OVERFLOW. The output
         buffer must be defined big enough to contain all data.

         The generated data are written into SYIE ̲TAB ̲FILE and
         the counter 1 in the file administration field is updated.



4.2.3.4.1.3.4 P̲R̲O̲C̲ ̲Q̲U̲E̲U̲E̲ ̲S̲T̲A̲T̲U̲S̲

         The procedure generates the QUEUE STATUS REQUEST DATA
         using the array QUEUE ̲SEGMENT ̲TABLE and the procedure
         GET ̲QUEUE ̲INFO.

         QUEUE STATUS DATA is generated for the following queues:

             MSOS ̲IMQ
             MSOS ̲OMQ
             MDOS ̲MDQ



             The four types of circuit queues, for all user
             terminals the queues

                 RECEIVE
                 RELEASE
                 ANSWER, RESPONSE and RETRIEVAL

             For all MTP ̲ROPs and LTP ̲ROPs

                 PRINT QUEUE

             For the current DEDICATED ̲PUNCH device

                 PTP ̲CIRCUIT QUEUE

         When the output buffer is full, it is written into
         SYIE ̲
         TAB ̲FILE.

         At last the counters in the FILE ADMINISTRATION FIELD
         are updated.



4.2.3.4.1.3.5 G̲E̲T̲ ̲Q̲U̲E̲U̲E̲ ̲I̲N̲F̲O̲

         I̲n̲t̲e̲r̲f̲a̲c̲e̲

         C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

         a)  GET ̲QUEUE ̲INFO (MAIN ̲QUEUE, SUB ̲QUEUE, BLOCK ̲STATE,
             POINTER TO QUEUE ̲STATE)()

         b)  GET ̲QUEUE ̲INFO (R1, R2, R3, R5, R6)

         C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         R1      MAIN ̲QUEUE               DESTRPYED
         R2      SUB ̲QUEUE                DESTROYED
         R3      BLOCK ̲STATE:BOLEAN       DESTROYED
         R5      POINTER TO QUEUE ̲STATE   KEPT
         R6      LINK                     DESTROYED

         R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         R0-R4, R6-R7                     DESTROYED
         R5                               KEPT




         The procedure determine the queue length of the requested
         queue. If BLOCK ̲STATE equal true the block state of
         the requested queue is determined.



4.2.3.4..1.3.6 P̲R̲O̲C̲ ̲S̲Y̲S̲T̲E̲M̲ ̲P̲A̲R̲A̲M̲E̲T̲E̲R̲

         The procedure generates the system parameter request
         data using the array SYS ̲PARAM ̲TABLE and the constant
         LAST ̲SYSTEM ̲PAR ̲READ. The output buffer must be defined
         big enough to contain all data.

         The generated data are written into SYIE ̲TAB ̲FILE and
         the first counter in the file administration field
         is set nil.



4.2.3.4.1.3.7 I̲N̲I̲T̲ ̲T̲A̲B̲L̲E̲ ̲F̲I̲L̲E̲

         The procedure resets the SYIE ̲TAB ̲FILE, initiates the
         FILE ADMINISTRATION FIELD, and this is written into
         the file.



4.2.3.4.1.4 D̲a̲t̲a̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲

         D̲a̲t̲a̲ ̲R̲e̲f̲e̲r̲e̲n̲c̲e̲s̲

         Ref. SOURCE LISTING



4.2.3.4.1.5 M̲o̲d̲u̲l̲e̲ ̲D̲e̲s̲i̲g̲n̲

         Ref. Fig. 4.2.3.4.1-1 and 4.2.3.4.1-2.



         RESCO ̲MAIN

                 SET RESCO ̲CLOSED ̲FLAG = FALSE

                 CASE GET ̲ROOT(MIR ̲MOVING)(ROOT ̲FDCB,CC)

                     ERROR? ANALYZE ERROR (CC,o)

                     OK?

             END GET ̲ROOT

             CASE DESCENT(SYIE ̲TAB ̲FILENAME,ROOT ̲FDCB)
             (SYIE ̲TAB ̲FILE ̲INDEX,CC)

                 ERROR? ANALYZE ̲ERROR(CC,0)

                 OK?

             END DESCENT

             INIT ̲RECEIVE ̲FROM ̲SPIP ̲REQQ

             RESCO ̲MAIN ̲LOOP

                 WAIT ̲OPSEM(SPIP ̲S3)(OPERATION): OK

                 CASE OPERATION.ID OF:SPIP ̲OPERATION ̲ID ̲TYPE

                     DELCO ̲ITEM? PROC ̲DELCO ̲ITEM
                     (SPIP ̲CLOSE)4.2.3.6

                     REQQ ̲ITEM? PROC ̲REQQ ̲ITEMS(-2)

                     OTHERWISE?    ERROR ̲REP(INT,GUP,RES,1,0,1,NIL)


                 END CASE

                 LABEL RESCO ̲BOTTOM

             END ̲RESCO ̲MAIN ̲LOOP

         END




                    Figure 4.2.3.4.1-1





   PROC ̲REQQ ̲ITEMS

       CASE WAIT ̲SYSTEM ̲CALL(RESCO ̲REQQ ̲OP)
                            (RESCO ̲INPUT ̲ATTR,
                             RESCO ̲INPUT ̲QEL 
                             CC):ERROR ̲OK

           ERROR? ANALYZE ̲ERROR(CC,0)

           OKAY?

       END CASE

       RESCO ̲INPUT ̲ATTR.HEADER.MAINTYPE    SUPERVISOR
       ̲SPIP ̲CMD?

           ERROR ̲REP(QER,CON,RES,1,1,1,RESCO ̲INPUT ̲QEL)

           REL ̲OP ̲REC(RESCO ̲REQQ ̲OP)

       RESCO ̲INPUT ̲ATTR.OBJECT EQ O ̲BUFFER?

           CASE READ ̲BUFFER(SIZE(TABLE ̲PRINT ̲BUFFER)1,
                            RESCO ̲INPUT ̲QEL)
                           (RESCO ̲READ ̲BUFFER,CC)

               ERROR? ANALYZE ̲ERROR(CC,0)

               OK?

           END ̲CASE



       INIT ̲TABLE ̲FILE

       CASE RESCO ̲INPUT ̲ATTR.HEADER.SUBTYPE OF: SUPV ̲SPIP
       ̲CMD ̲SUBTYPE

           SP ̲TSTP? PROC ̲TABLE ̲STATUS

           SP ̲QSTP? PROC ̲QUEUE ̲STATUS

           SP ̲SPAP? PROC ̲SYSTEM ̲PARAMETER

           SP ̲LPLP, SP ̲LORP, SP ̲SICP, SP ̲SDLP, SP ̲SCDP,

           SP ̲AIGP, SP ̲GPLP, SP ̲RITP, SP ̲CIRP,

           SP ̲SCCP, SP ̲OPSP, SP ̲PWLT,SP ̲UPPT,

           SP ̲TPPT, SP ̲DPPT, SP ̲CPPT, SP ̲CMPT? PROC ̲TABLE
           ̲PRINT

           OTHERWISE? ERROR ̲REP(QER,CON,RES,1,1,2,RESCO
           ̲INPUT ̲QEL)

                       REL ̲OP ̲REC(RESCO ̲REQQ ̲OP)

       END ̲CASE


                 Fig. 4.2.3.4.1-2A




       UPDATE FILE ̲ADDRESS AND BUFFER ̲LIST ̲ELEMENT TO
       OUTPUT FILE HEADER

       CASE MODIFYBYTES(SYIE.TAB ̲FILE ̲ADDR,
                             SYIE ̲TAB ̲FILE ̲BLE,
                             SYIE ̲TAB ̲FILE ̲INDEX)(CC)

           ERROR? ANALYZE ̲ERROR(CC,0)

           OKAY?

       END CASE

       LOOP

           CMD ̲TO ̲DELCO

               SVUP ̲TO ̲PRT ̲SUBTYPE(RESCO ̲INPUT ̲ATTR.HEADER.
               SUBTYPE), PRINT ̲ITEM ̲FOR ̲DELIVERY)

           WAIT ̲OPSEM(SPIP ̲S3)(OP)

           PROC ̲DELCO ̲ITEM(PRINT ̲ACK ̲FROM ̲PRIS,OP)(OP)

           SET RESCO ̲PRT ̲CC = OP.OP ̲DATA1

       UNTIL RESCO ̲PRT ̲CC = EXECUTION ̲OK

       RESCO ̲INPUT ̲ATTR.FUNCTION ̲REQ EQ TRUE?

           SPIP ̲SUPV ̲REPLY(RESCO ̲INPUT ̲QEL,0,RESCO ̲INPUT
           ATTR.HEADER.SUBTYPE)

       SPIP ̲DISMANTLE(RESCO ̲INPUT ̲QEL,RESCO ̲INPUT ̲
       ATTR.OBJECT,RES)

       REL ̲OP ̲REC(RESCO ̲REQQ ̲OP)

   END





                 Fig. 4.2.3.4.1-2B






4.2.3.4.2    P̲R̲O̲C̲ ̲T̲A̲B̲L̲E̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲s̲



4.2.3.4.2.1 F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

         The table print request can be process in three modes:

                 Full table print
                 From-to key print
                 Only obsolete entries

         Following requests are process by this module for each
         request the possibility of modes are listed:

        REQUEST                  FULL TABLE  FROM-TO   OBSOLETE

        LOCAL PLA TABLE          X
        LOCAL RI TABLE           X
        SIC TABLE                X           X         X
        SDL TABLE                X           X         X
        SCD TABLE                X           X         X
        AIG TABLE                X           X         X
        GLOBAL PLA TABLE         X           X         X
        GLOBAL RI TABLE          X           X         X
        CIRCUIT PROFILE TABLE    X           X         X
        DISPLAY TABLE            X
        OPERATION SIGNAL TABLE   X
        PASSWORD LIST            X
        USER PROFILE TABLE                   X
        TERMINAL PROFILE TABLE               X
        DEVICE PROFILE TABLE                 X
        CHANNEL PROFILE TABLE                X
        SUPERVISOR COMMAND TABLE X

         The request type and mode is found in the QEL ̲BUFFER.
         The module generates the actual information and store
         this in the file SYIE ̲TAB ̲FILE. The file header administration
         field is updated with the needed information.

         The header line contains information about the request
         type and the mode of this.

         The exit line contains information of the termination
         cause.





4.2.3.4.2.2 I̲n̲t̲e̲r̲f̲a̲c̲e̲

         C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

         a)  PROC ̲TABLE ̲PRINT
         b)  PROC ̲TABLE ̲PRINT (R6)

         C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         R6      LINK          (DEST)

         R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         R0-R7                 DESTROYED



4.2.3.4.2.3 M̲o̲d̲u̲l̲e̲ ̲C̲o̲m̲p̲o̲n̲e̲n̲t̲s̲



4.2.3.4.2.3.1 I̲N̲I̲T̲ ̲T̲A̲B̲L̲E̲ ̲S̲E̲A̲R̲C̲H̲

         The procedure determines the table description entry
         used for this request. It updates the HEADER ̲LINE with
         the request type and mode information.

         If the mode is FROM ̲TO and request type different from
         GLOBAL ̲PLA ̲TABLE the from key is found and processed,
         if not found the generation is terminated with the
         exit cause 'FIRST KEY NOT FOUND'.

         If the mode is FROM ̲TO and request type equal to GLOBAL
         PLA TABLE the procedure PROC ̲PLA ̲TABLE is called to
         convert the FROM AND TO PLA ̲REF to PLA's. If one the
         PLA ̲REF's can't be found the generation is terminated
         with the exit cause 'PLA ̲REF not found', otherwise
         the from PLA is found and processed.

         It updates the TMP parameter to the MAIN ̲LOOP in the
         main procedure.



4.2.3.4.2.3.2 P̲R̲O̲C̲ ̲F̲R̲O̲M̲ ̲T̲O̲ ̲L̲I̲N̲E̲

         The procedure updates the header line with information
         of FROM and TO keys. The keys are found in the QEL
         ̲
         BUFFER. If the key type of the table is an integer,
         it will be converted to four digits decimal display.





4.2.3.4.2.3.3 P̲R̲O̲C̲ ̲P̲L̲A̲ ̲T̲A̲B̲L̲E̲

         The procedure converts the FROM and TO PLA ̲REF's to
         PLA's. If one of the PLA ̲REF's can't be found the procedure
         will return in the error exit. The FROM PLA is put
         into RESCO ̲TMP ̲SINGLE ̲KEY.SINGLE.KEY and the to PLA
         is put into RESCO ̲LAST ̲KEY. The procedure then return
         the okay exit.



4.2.3.4.2.3.4 O̲U̲T̲P̲U̲T̲ ̲R̲E̲C̲O̲R̲D̲S̲

         The procedure is called with the number of records
         in the INPUT ̲BUFFER in R0.

         In a loop all the records are processed, if no termination
         exit occurs first the procedure COMPARE ̲KEYS are called
         to get information about current record primary key
         are lower, same or higher than RESCO ̲LAST ̲KEY.

         If the condition was higher, the generation terminates
         with the exit cause 'Last Key Not Found'. If the condition
         was same, the generation will be terminated, after
         processing of the current record, with the exit cause
         'Succesfully'.

         The current record is checked for the conditions PRINT
         ̲RECORD/SKIP ̲RECORD. Information, to find the procedure
         to determines the conditions, is found in the current
         table description entry in the field obsolete. If the
         condition was PRINT ̲RECORD the procedure OUTPUT ̲SINGLE
         ̲RECORD is called.



4.2.3.4.2.3.5 C̲o̲m̲p̲a̲r̲e̲ ̲K̲e̲y̲s̲

         I̲n̲t̲e̲r̲f̲a̲c̲e̲

         C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

         a)  COMPARE ̲KEYS(COUNT,STRING1, STRING2)(CC)
         b)  COMPARE ̲KEYS(R0, R4, R7, R6)

         C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲o̲r̲s̲

         R0      Count                 (KEPT)
         R4      Pointer to String1    (KEPT)
         R7      Pointer to String2    (DESTROYED)
         R6      LINK                  (DESTROYED



         R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         R7      CC
         R0-R5   KEPT

         This procedure compares two word strings and the exit
         value specifyes the result of the comparason.

         The exit value will be one of following:

         -   LOWER   which means that STRING1 has a lower integer
                     value than STRING2.

         -   SAME    which means that STRING1 has same integer
                     value as STRING2.

         -   HIGHER  whitch means that STRING1 has a higher
                     integer value than STRING2.

         Note that the string must not be of 0 words length.



4.2.3.4.2.3.6 O̲u̲t̲p̲u̲t̲ ̲S̲i̲n̲g̲l̲e̲ ̲R̲e̲c̲o̲r̲d̲

         The procedure is called with a pointer to current record
         in input buffer in R4.

         This pointer is kept for all request type with fixed
         input record length, else the pointer will be updated
         with the record size of CURRENT ̲INPUT so that in this
         case it will be a pointer to the next record to be
         processed.

         If there's no place in the output buffer the procedure
         OUTPUT ̲BUFFER is called. The size of an output record
         is found in current table description entry.

         In a loop all record field in current record field
         description table are processed, and for each field
         a conversion procedure is determined.



4.2.3.4.2.4 D̲a̲t̲a̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲

         Ref. SOURCE LISTING



4.2.3.4.2.5 M̲o̲d̲u̲l̲e̲ ̲D̲e̲s̲i̲g̲n̲

         Ref. Fig. 4.2.3.4.2-1





   PROC ̲TABLE ̲PRINT

       INIT ̲TABLE ̲SEARCH

       LOOP

           RESCO ̲END ̲OF ̲SEARCH=FALSE? EXIT

           PROC ̲TMP ̲REQ(RESCO ̲TMP ̲PARAM)

           RESCO ̲TMP ̲PARAM.COUNT    0?

               OUTPUT ̲RECORDS(RESCO ̲TMP ̲PARAM.COUNT

       END ̲LOOP

       FILE ̲BUFFER ̲ADDR    ADDRESS(FILE ̲BUFFER)?

           OUTPUT ̲BUFFER


   END




                    FIGURE 4.2.3.4.2-1



   INIT ̲TABLE ̲SEARCH

       SET RESCO ̲END ̲OF ̲SEARCH=FALSE

       SET RESCO ̲TABLE ̲DESCR ̲ADDR=POINTER TO CURRENT TABLE
       DESCRIPTION ENTRY

       SET RESCO ̲TMP ̲PARAM.TABLE ̲ID=RESCO ̲READ ̲BUFFER.TABLE

       SET SYIE ̲TAB ̲FILE ̲HEADER.HEADER ̲LINE=CURRENT ̲TABLE
       ̲DESCRIPTION.HEADER ̲LINE

       RESCO ̲READ ̲BUFFER.PRINT ̲TYPE=FROM ̲TO?

           PROC ̲FROM ̲TO ̲LINE

           SET UP TMP ̲PARAM AND SINGLE ̲KEY FOR SEARCH
           PRIMARY KEY

           RESCO ̲READ ̲BUFFER.TABLE    PLA ̲REF.TABLE?

               SET SINGLE ̲KEY.KEY=RESCO ̲READ ̲BUFFER.KEYS
                1 

               SET RESCO ̲LAST ̲KEY=RESCO ̲READ ̲BUFFER.KEYS
                2 

           CASE PROC ̲PLA ̲TABLE:ERROR ̲OK

               ERROR?

                   EXIT (LINK)

           END ̲CASE


           CASE TMP ̲REQUEST(RESCO ̲TMP ̲PARAM):ERROR ̲OK

               ERROR? ANALYZE ̲ERROR(CC,0)

           END ̲CASE

           SET ̲UP TMP ̲PARAM

           RESCO ̲TMP ̲SINGLE ̲KEY.SINGLE.INFO=0?

               SET SYIE ̲TAB ̲FILE ̲HEADER.EXIT ̲LINE=
                           'FIRST KEY NOT FOUND'

               SET RESCO ̲END ̲OF ̲SEARCH=TRUE

           OUTPUT ̲RECORDS (1)



       SET UP TMP ̲PARAM

       SET RESCO ̲LAST ̲KEY GT MAX KEY IN TABLE

       RESCO ̲READ ̲BUFFER.PRINT ̲TYPE=OBSOLETE ̲ENTRIES?

           UPDATE SYIE ̲TAB ̲FILE ̲HEADER.HEADER ̲LINE WITH
                           'OBSOLETE ENTRIES'

       RESCO ̲READ ̲BUFFER.TABLE=PLA ̲REF ̲TABLE?

           SET RESCO ̲TMP ̲PARAM.TABLE ̲ID=PLA ̲TABLE

       SET RESCO ̲TMP ̲PARAM.COUNT=CURRENT ̲TABLE ̲DESCRIPTION.COUNT


   END



   OUTPUT ̲RECORDS(COUNT)

       SET RESCO ̲COUNT=COUNT

       SET INPUT ̲BUFFER ̲PT=ADDRESS(RESCO ̲TMP ̲BUFFER)

       LOOP

           COMPARE ̲KEYS(CURRENT ̲TABLE ̲DESCRIPTION.KEY
           ̲SIZE,
                        INPUT ̲BUFFER ̲PT,
                        RESCO ̲LAST ̲KEY)(CC)

           CC=HIGHER?

               SET SYIE ̲TAB ̲FILE ̲HEADER.EXIT ̲LINE='LAST
               KEY NOT FOUND'

               SET RESCO ̲COUNT=0

               SET RESCO ̲END ̲OF ̲SEARCH=TRUE

       
           CC = SAME?

               SET RESCO ̲COUNT=0

               SET RESCO ̲END ̲OF ̲SEARCH=TRUE


           CASE CURRENT ̲TABLE ̲DESCRIPTION.OBSOLETE OF:
                               CONV ̲OBSOLETE

               OBS ̲NORMAL? SET CC=PRINT ̲RECORD

               ONS ̲SIC?    PRIC ̲OBS ̲SIC(INPUT ̲BUFFER ̲PT)(CC)
               ONS ̲SDL?    PRIC ̲OBS ̲SDL(INPUT ̲BUFFER ̲PT)(CC)
               ONS ̲RIG?    PRIC ̲OBS ̲RIG(INPUT ̲BUFFER ̲PT)(CC)
               ONS ̲AIG?    PRIC ̲OBS ̲AIG(INPUT ̲BUFFER ̲PT)(CC)
               ONS ̲GPL?    PRIC ̲OBS ̲GPL(INPUT ̲BUFFER ̲PT)(CC)
               ONS ̲TER?    PRIC ̲OBS ̲TER(INPUT ̲BUFFER ̲PT)(CC)
               ONS ̲DEV?    PRIC ̲OBS ̲DEV(INPUT ̲BUFFER ̲PT)(CC)
               ONS ̲CHN?    PRIC ̲OBS ̲CHN(INPUT ̲BUFFER ̲PT)(CC)
               ONS ̲CIR?    PRIC ̲OBS ̲CIR(INPUT ̲BUFFER ̲PT)(CC)
               ONS ̲CMP?    PRIC ̲OBS ̲CMP(INPUT ̲BUFFER ̲PT)(CC)

               OTHERWISE ERROR ̲REP(INT,GUP,RES,2,4,1,NIL)


           END ̲CASE



           CC = PRINT ̲RECORD?

               OUTPUT ̲SINGLE ̲RECORD(INPUT ̲BUFFER ̲PT)

           SET INPUT ̲BUFFER ̲PT=INPUT ̲BUFFER ̲PT+CURRENT
           ̲TABLE ̲
           DESCRIPTION.INP ̲RECORD ̲SIZE

           SET RESCO ̲COUNT=RESCO ̲COUNT -1

           RESCO ̲COUNT  1? EXIT


       END ̲LOOP

   END



   OUTPUT ̲SINGLE ̲RECORD

       PLACE IN BUFFER FOR THE NEXT OUTPUT ̲RECORD?

           OUTPUT ̲BUFFER

       SET RESCO ̲NO ̲OF ̲FIELDS=CURRENT ̲TABLE ̲DESCRIPTION.NO
       ̲
                               OF.FILEDS

       SET CURRENT ̲RECORD ̲DESCRIPTION ̲TABLE=1. FIELD DESCRIPTION

       LOOP

           CASE

               USE CURRENT CONV ̲PROC OF CONV ̲TYPE
               TO DETERMINE THE ACTUAL CONVERSION
               PROCEDURE FOR CURRENT FIELD

                   CONVERSION PROCEDURE FOUND?

                       CALL OF ACTUAL CONVERSION PROCEDURE

                           (CURRENT FIELD ̲SIZE,
                           POINTER TO INPUT ̲RECORD,
                           CURRENT POS ̲IN ̲INP ̲REC)
                           (POINTER TO INPUT ̲RECORD)



                   CONVERSION PROCEDURE NOT FOUND?

                       ERROR ̲REP(INT,GUP,RES,2,6,1,NIL)

           END ̲CASE

           SET CURRENT ̲RECORD ̲DESCRIPTION ̲TABLE=NEXT FIELD
           DESCRIPTION

           DECREMENT RESCO ̲NO ̲OF ̲FIELDS WITH ONE

           RESCO ̲NO ̲OF ̲FIELDS  1? EXIT


       END ̲LOOP

   END





4.2.3.5  C̲o̲m̲m̲o̲n̲ ̲S̲u̲b̲p̲a̲c̲k̲a̲g̲e̲ ̲D̲a̲t̲a̲

             Ref. DELCO ̲PREFIX.S AND DELCO ̲DATA.S



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̲



4.2.3.6.1    C̲M̲D̲ ̲T̲O̲ ̲D̲E̲L̲C̲O̲ ̲S̲P̲E̲C̲I̲F̲I̲C̲A̲T̲I̲O̲N̲



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̲

         The procedure send the requested command to DELCO



4.2.3.6.1.2 I̲n̲t̲e̲r̲f̲a̲c̲e̲

         C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

         a)  CMD ̲TO ̲DELCO(INF,CMD ̲ID)
         b)  CMD ̲TO ̲DELCO(R3,R4,R6)

         C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         R3      INF         (DEST)
         R4      CMD ̲ID      (DEST)
         R6      LINK        (DEST)

         R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         R0-R7               DESTROYED

         F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲

         None



4.2.3.6.1.3 D̲a̲t̲a̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲

         Ref. SOURCE LISTING





4.2.3.6.1.4 P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲D̲e̲s̲i̲g̲n̲

         Ref. SOURCE LISTING



4.2.3.6.2    P̲R̲O̲C̲ ̲D̲E̲L̲C̲O̲ ̲I̲T̲E̲M̲



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̲

         The procedure analyze the incoming DELCO ̲ITEM.

         If it is the CLOSE ̲CMD the procedure closed RESCO,
         dismantle the SYIE ̲TAB ̲FILE and return in a long exit
         to RESCO ̲BOTTEM in the module RESCO ̲MAIN.

         If it is the requested type of item, the procedure
         returns to caller, otherwise the procedure ERROR ̲REP
         is called.



4.2.3.6.2.2 I̲n̲t̲e̲r̲f̲a̲c̲e̲

         C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

         a)  PROC ̲DELCO ̲ITEM(SPIP ̲INTERNAL ̲ITEM ̲TYPE,OPERATION)
         b)  PROC ̲DELCO ̲ITEM(R0,R5,R6)

         C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         R0      SPIP ̲INTERNAL ̲ITEM ̲TYPE
         R5      POINTER TO OPERATION
         R6      LINK

         R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         R0-R4, R6-R7 DESTROYED
         R5 KEPT, when the return is to caller.

         F̲a̲t̲a̲l̲s̲ ̲E̲r̲r̲o̲r̲s̲

         None





4.2.3.6.2.3 D̲a̲t̲a̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲

         Ref. SOURCE LISTING



4.2.3.6.2.4 P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲D̲e̲s̲i̲g̲n̲

         Ref. SOURCE LISTING



4.2.3.6.3    O̲u̲t̲p̲u̲t̲ ̲B̲u̲f̲f̲e̲r̲



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̲

         The procedure updates SYIE ̲TAB ̲FILE ̲HEADER.COUNT1 with
         the number of records within the buffer. File address
         and BLE is updated, and the buffer is written into
         the file.



4.2.3.6.3.2 I̲n̲t̲e̲r̲f̲a̲c̲e̲

         C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

         a)  OUTPUT ̲BUFFER
         b)  OUTPUT ̲BUFFER(R6)

         C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         R6 LINK   (DEST)

         R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         R0-R7 DESTROYED

         F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲

         None



4.2.3.6.3.3 D̲a̲t̲a̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲

         Ref. SOURCE LISTING



4.2.3.6.3.4 P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲D̲e̲s̲i̲g̲n̲

         Ref. SOURCE LISTING



4.2.3.6.5 P̲R̲O̲C̲ ̲T̲M̲P̲ ̲R̲E̲Q̲



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̲

         The procedure initiates a TMP ̲REQUEST, associate this
         to RESCO's semaphor SPIP ̲S3, wait on the semaphor and
         analyze incomming CMD.

         If it is a DELCO ̲ITEM PROC ̲DELCO ̲ITEM is called.

         Otherwise it waits for completion for system call and
         analyze the completion code from TMP. Only one CC different
         from OKAY are accepted and terminate the generation
         with exit cause 'SUCCESFULLY' for TMP ̲END ̲OF ̲
         TABLE.



4.2.3.6.4.2 I̲n̲t̲e̲r̲f̲a̲c̲e̲

         C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

         a)  PROC ̲TMP ̲REQ(TMP ̲PARAM)
         b)  PROC ̲TMP ̲REQ(R4,R6)

         C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         R4      POINTER TO TMP ̲PARAM     (DEST)
         R6      LINK

         R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         R0-R7 DESTROYED

         F̲a̲t̲a̲l̲e̲ ̲E̲r̲r̲o̲r̲s̲

         None



4.2.3.6.4.3 D̲a̲t̲a̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲

         Ref. SOURCE LISTING





4.2.3.6.4.4 P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲D̲e̲s̲i̲g̲n̲

         Ref. SOURCE LISTING



4.2.3.6.5    P̲R̲O̲C̲ ̲O̲B̲S̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲




4.2.3.6.5.1 F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

         PROC ̲OBS contains many procedures to handle the different
         request types of obsolete/unused entries.

         They have all the same interface and in sec. 4.2.3.6.5.4
         the procedures names are listed together with the functional
         specification.



4.2.3.6.5.2 I̲n̲t̲e̲r̲f̲a̲c̲e̲

         C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

         a)  Procedure name (INPUT ̲RECORD)(INPUT ̲RECORD,CC)
         b)  Procedure name (R4, R7, R6)

         C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         R4      POINTER TO INPUT RECORD
         R6      LINK

         R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         R4      FOR FIXED LENGTH INPUT RECORD     KEPT

                 FOR VARIABLE LENGTH INPUT RECORD
                 WITH RETURN CC:

                     PRINT ̲RECORD                  KEPT
                     SKIP ̲RECORD         THE POINTER IS UPDATED
                                         WITH THE SIZE OF CURRENT
                                         INPUT RECORD

         R7      CC: FALSE MEANS SKIP ̲RECORD
                 OKAY MEANS PRINT ̲RECORD

         R0-R3, R5-R6 DESTROYED



         F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲

         None



4.2.3.6.5.3 D̲a̲t̲a̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲

         Ref. SOURCE LISTING



4.2.3.6.5.4 P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲D̲e̲s̲i̲g̲n̲

         Listing of the different PROC ̲OBS procedures names
         and the functional specification



4.2.3.6.5.4.1 P̲R̲O̲C̲ ̲O̲B̲S̲ ̲S̲I̲C̲

         F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

         An entry is obsolete, if all SDL's in the 3 SDL lists
         are zero.



4.2.3.6.5.4.2 P̲R̲O̲C̲ ̲O̲B̲S̲ ̲S̲D̲L̲

         F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

         An entry is obsolete, if both action SCD list and info
         SCD list have count equal zero. Obsolte entries are
         skipped if mode is FULL ̲TABLE or FROM ̲TO.

         If skip record condition R4 is updated with size of
         obsolete entry



4.2.3.6.5.4.3 P̲R̲O̲C̲ ̲O̲B̲S̲ ̲A̲I̲G̲

         F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

         An entry is obsolte, if AIG ̲REC.PLA ̲REF ̲LIST.COUNT
         equal zero.

         If SKIP ̲RECORD condition R4 is updated to point to
         the next TMP ̲RECORD.





4.2.3.6.5.4.4 P̲R̲O̲C̲ ̲O̲B̲S̲ ̲G̲P̲L̲

         F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

         An entry is obsolete, if all four RI's have two spaces
         in first word.



4.2.3.6.5.4.5 P̲R̲O̲C̲ ̲O̲B̲S̲ ̲T̲E̲R̲

         F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲s̲

         An unused entry have classification equal DUMMY ̲CLASS.
         Unused entries are skipped.



4.2.3.6.5.4.6 P̲R̲O̲C̲ ̲O̲B̲S̲ ̲D̲E̲V̲

         F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

         An unused entry have classification equal DUMMY ̲CLASS.
         Unused entries are skipped.



4.2.3.6.5.4.7 P̲R̲O̲C̲ ̲O̲B̲S̲ ̲C̲H̲N̲

         F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

         An unused entry have spaces in IN ̲LC. Unused entries
         are skipped.



4.2.3.6.5.4.8 P̲R̲O̲C̲ ̲O̲B̲S̲ ̲C̲I̲R̲

         F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

         An unused entry have classification equal DUMMY ̲CLASS.
         Unused entries are skipped.





4.2.3.6.5.4.9 P̲R̲O̲C̲ ̲O̲B̲S̲ ̲C̲M̲P̲

         F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

         Only those entries having CMD ̲SORT.MAIN = SUP ̲CMD ̲TYPE
         and CMD ̲SORT.SUB = SUPV ̲TYPE will be outputted. All
         other entries are skipped.

         For further information about the design of the procedures
         ref. SOURCE LISTING.



4.2.3.6.6    P̲R̲O̲C̲ ̲C̲O̲N̲V̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲



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̲

         PROC ̲CONV contains many procedures to handle the different
         field types.

         They have all the same interface and in sec. 4.2.3.6.6.4
         the procedures names are listed together with the functional
         specification.



4.2.3.6.6.2 I̲n̲t̲e̲r̲f̲a̲c̲e̲

         C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

         a)  Procedure names (FIELD ̲SIZE, INPUT ̲RECORD, POS
             ̲IN ̲INP ̲REC)
         b)  Procedure name (R0, R4, R5, R6)

         C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         R0      FIELD SIZE
         R4      POINTER TO INPUT RECORD
         R5      POSITION OF THE FIELD IN INPUT ̲RECORDS IN WORDS
         R6      LINK

         R̲e̲t̲r̲u̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲

         R4      KEPTS EXCEPT FOR THE PROCEDURES:

                 PROC ̲CONV ̲SCD.LIST   POINTER TO NEXT FIELD
                 IN
                                      INPUT RECORD



                 PROC ̲CONV ̲REST ̲OF ̲TERM ̲PROFILE:
                                      POINTER TO NEXT INPUT
                                      RECORD IN TMP BUFFER.

         R0-R3, R5-R7    DESTROYED.

         F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲

         None



4.2.3.6.6.3 D̲a̲t̲a̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲

         Ref. SOURCE LISTING



4.2.3.6.6.4 P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲D̲e̲s̲i̲g̲n̲

         Listing of the different PROC ̲CONV procedures and the
         functional dpecifications.



4.2.3.6.6.4.1 P̲R̲O̲C̲ ̲C̲O̲N̲V̲ ̲N̲O̲R̲M̲A̲L̲

         F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

         The procedure move the input field to the position
         in output buffer where FILE ̲BUFFER ̲ADDR points to.
         FILE ̲
         BUFFER ̲ADDR is updated with new position in output
         buffer.



4.2.3.6.6.4.2 P̲R̲O̲C̲ ̲C̲O̲N̲V̲ ̲S̲Y̲S̲ ̲I̲D̲ ̲T̲Y̲P̲E̲

         F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

         The procedure converts DEVICE ̲ID ̲TYPE to 

                 C for SYS ̲CAMPS
                 S for SYS ̲SCARS
                 A for SYS ̲CCIS

         and put this to output buffer, where FILE ̲BUFFER ̲ADDR
         points to. FILE ̲BUFFER ̲ADDR is updated with new position
         in output buffer.





4.2.3.6.6.4.3 P̲R̲O̲C̲ ̲C̲O̲N̲V̲ ̲S̲C̲D̲ ̲L̲I̲S̲T̲

         F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

         The procedure move the input SCD's to the position
         in output buffer where FILE ̲BUFFER ̲ADDR points to.
         FILE ̲
         BUFFER ̲ADDR is updated with the max SOD ̲SIZE for the
         field + the count field, which says how many SCD's
         actual in field.



4.2.3.6.6.4.4 P̲R̲O̲C̲ ̲C̲O̲N̲V̲ ̲D̲E̲V̲ ̲I̲D̲ ̲T̲Y̲P̲E̲

         F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

         The procedure convert DEVICE ̲ID ̲TYPE to:

                 VDU for VDU
                 MSP for MTP ̲ROP
                 LSP for LTP ̲ROP

         and this is put into output buffer, where FILE ̲BUFFER
         ̲
         ADDR points to. FILE ̲BUFFER ̲ADDR is updated with new
         position in output buffer.



4.2.3.6.6.4.5 P̲R̲O̲C̲ ̲C̲O̲N̲V̲ ̲D̲E̲V̲ ̲N̲O̲

         F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

         The procedure convert LOGICAL ̲DEVICE ̲NO ̲TYPE to:

                 MSP
                 LSP
                 LSR
                 OCR
                 PTR
                 PTP

         and this is put into output buffer, where FILE ̲BUFFER
         ̲ADDR points to. FILE ̲BUFFER ̲ADDR is updated with new
         position in output buffer.





4.2.3.6.6.4.6 P̲R̲O̲C̲ ̲C̲O̲N̲V̲ ̲A̲I̲G̲ ̲H̲E̲A̲D̲E̲R̲

         F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

         The procedure makes the three header lines for an aig
         in output buffer. FILE ̲BUFFER ̲ADDR is updated with
         new position in output buffer.



4.2.3.6.6.4.7 P̲R̲O̲C̲ ̲C̲O̲N̲V̲ ̲A̲I̲G̲ ̲P̲L̲A̲ ̲R̲E̲F̲S̲

         F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

         The procedure convert all the PLA ̲REFS in AIG ̲REC to
         PLA's and this is put into output buffer, where FILE
         ̲BUFFER ̲ADDR points to. If there isn't place in OUTPUT
         ̲BUFFER is called. FILE ̲BUFFER ̲ADDR is updated with
         new position in output buffer.



4.2.3.6.6.4.8 P̲R̲O̲C̲ ̲C̲O̲N̲V̲ ̲C̲I̲R̲C̲ ̲C̲O̲N̲ ̲C̲H̲N̲

         F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

         The procedure get the number of connected ̲channels
         by a TMP ̲REQUEST. FILE ̲BUFFER ̲ADDR is updated with
         new position in output buffer.



4.2.3.6.6.4.9 P̲R̲O̲C̲ ̲C̲O̲N̲V̲ ̲C̲I̲R̲C̲U̲I̲T̲ ̲N̲O̲

         F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

         The procedure convert LOGICAL ̲CIRCUIT ̲NO ̲TYPE to:

                 NICS/TARE
                 SCARS
                 ACCIS
                 TRC/PTCP

         and this is put into output buffer, where FILE ̲BUFFER
         ̲ADDR points to. FILE ̲BUFFER ̲ADDR is updated with new
         position in output buffer.





4.2.3.6.6.4.10 P̲R̲O̲C̲ ̲C̲O̲N̲V̲ ̲S̲P̲R̲ ̲S̲P̲H̲

         F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

         The procedure convert FCT ̲CAPABILITY ̲TYPE and USER
         ̲FCP + CAPABILITY ̲TYPE to text. This is put into buffer,
         where FILE ̲BUFFER ̲ADDR points to. FILE ̲BUFFER ̲ADDR
         is updated with new position in output buffer.



4.2.3.6.6.4.12 P̲R̲O̲C̲ ̲C̲O̲N̲V̲ ̲P̲A̲S̲S̲W̲O̲R̲D̲ ̲R̲E̲F̲

         F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

         The procedure get password by a TMP ̲REQUEST. FILE ̲
         BUFFER ̲ADDR is updated with new position in output
         buffer.



4.2.3.6.6.4.13 P̲R̲O̲C̲ ̲C̲O̲N̲V̲ ̲T̲E̲R̲M̲I̲N̲A̲L̲ ̲N̲O̲

         F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

         The procedure convert LOGICAL ̲TERMINAL ̲NO ̲TYPE to:

                 SUPV
                 MASS
                 USER

         and this is put into output buffer, where FILE ̲BUFFER
         ̲
         ADDR points to. FILE ̲BUFFER ̲ADDR is updated with new
         position in output buffer.



4.2.3.6.6.4.14 P̲R̲O̲C̲ ̲C̲O̲N̲V̲ ̲R̲E̲S̲T̲ ̲O̲F̲ ̲T̲E̲R̲M̲ ̲P̲R̲O̲F̲I̲L̲E̲

         F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

         The procedure move the input TERMINAL ̲PROFILE.USER
         ̲LIST and TERMINAL ̲PROFILE.SCD ̲LIST, unpack these to
         SPR ̲
         TERMINAL ̲PROFILE and move the fields to where FILE
         ̲
         BUFFER ̲ADDR points to. FILE ̲BUFFER ̲ADDR is updated
         with size(SPR ̲TERMINAL ̲PROFILE) - address(O SPR ̲TERMINAL
         ̲
         PROFILE.USER ̲LIST).





4.2.3.6.6.4.15 P̲R̲O̲C̲ ̲C̲O̲N̲V̲ ̲C̲H̲A̲N̲N̲E̲L̲ ̲N̲O̲

         F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

         The procedure convert LOGICAL ̲CHANNEL ̲NO ̲TYPE to:

                 NICS/TARE
                 SCARS
                 ACCIS
                 TRC/PTCP

         and this is put into output buffer, where FILE ̲BUFFER
         ̲
         ADDR points to. FILE ̲BUFFER ̲ADDR is updated with new
         position in output buffer.



4.2.3.6.6.4.16 P̲R̲O̲C̲ ̲C̲O̲N̲V̲ ̲C̲H̲N̲ ̲C̲L̲A̲S̲S̲

         F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

         The procedure get channel classification by a TMP ̲
         REQUEST. FILE ̲BUFFER ̲ADDR is updated with new position
         in output buffer.



4.2.3.6.6.4.17 P̲R̲O̲C̲ ̲C̲O̲N̲V̲ ̲I̲N̲ ̲O̲U̲T̲ ̲S̲T̲A̲T̲U̲S̲

         F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

         The procedure get in- and out-status by a TMP ̲REQUEST.
         This is not done if Channel Type is SCARS or CCIS.
         FILE ̲BUFFER ̲ADDR is updated with new position in output
         buffer.



4.2.3.6.6.4.18 P̲R̲O̲C̲ ̲C̲O̲N̲V̲ ̲S̲U̲P̲V̲ ̲C̲M̲D̲ ̲T̲E̲X̲T̲

         F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

         The procedure convert LOGICAL ̲TERMINAL ̲NO ̲TYPE to:

                 SUPV
                 MASS
                 USER

         and this is put into output buffer, where FILE ̲BUFFER
         ̲
         ADDR points to. FILE ̲BUFFER ̲ADDR is updated with new
         position in output buffer.

         For further information about the design of the procedure
         ref. SOURCE LISTING.




4.2.3.7 C̲o̲r̲o̲u̲t̲i̲n̲e̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲s̲



4.2.3.7.1    D̲E̲L̲C̲O̲ ̲R̲E̲S̲C̲O̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲s̲

         The following items are sent to RESCO via operation
         semaphore SPIP ̲S3:

         SPIP ̲CLOSE
         PRINT ̲ACK ̲FROM ̲PRIS
         ABANDON ̲REQ
         READY
         CLEAR
         RESPONSE ̲FROM ̲UMAM



4.2.3.7.2    R̲E̲S̲C̲O̲ ̲D̲E̲L̲C̲O̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲s̲

         The following items are sent from RESCO via operation
         semaphore SPIP ̲S2.

         PRINT ̲ITEM ̲FOR ̲DELIVERY
         REQUEST ̲TO ̲UMAM
         SPIP ̲CLOSE ̲CC