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

⟦d73703215⟧ Wang Wps File

    Length: 48310 (0xbcb6)
    Types: Wang Wps File
    Notes: Spelunked
    Names: »~ORPHAN76.00«

Derivation

└─⟦e8bc85b7f⟧ Bits:30005802 8" Wang WCS floppy, CR 0105A
    └─ ⟦this⟧ »~ORPHAN76.00« 

WangText



L   L…05…L…06…L…07…K…0a…K…0c…K…0f…K…00…K
J…09…J…0c…J…0e…J    J…06…I…09…I…0b…I…0f…I…00…I I…06…H…0a…H…0c…H…0f…H…02…H…07…G…0b…G…0e…G…0f…G…02…G…05…F…08…F…09…F…0c…F…0f…F…02…F…05…F…06…E…08…E…0b……86…1
               
               
               
               
               
               
               
               
               
               
               
               
               
               
               
               
               
               
               
               
               
               
               
               
               
               
               
               
               
               
               
               
               
               
               
               
               
               
               
               
               
               
               
               
               …02…
               
               
               
               
               
               
               
               
               
               
               …02…
               
               
               …02…
               
               
               
               
               
               
               
               

…02…CPS/SDS/041

…02…KS /811201…02……02…
PRINTER
DETAILED
 DESIGN
 SPECIFICATION…02……02…CAMPS







4.2.1.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-diagram and flowgrams show the Data
         Flow and Control Logic of UPCO.…86…1         …02…   …02…   …02…   …02…
                                                   




















                HIPO Diagrams 4.2.1.3.1-5

















































Fig. 4.2.1.3-1 UPCO Module tree without common procedures
















































  Fig. 4.2.1.3-2 UPCO Module tree with common procedures
























4.2.1.4  U̲P̲C̲O̲ ̲M̲o̲d̲u̲l̲e̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲s̲



4.2.1.4.1    U̲P̲C̲O̲ ̲M̲a̲i̲n̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲



4.2.1.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 responsibility of this module is to receive all
         input items tht are associated with semaphore PRIS-S1,
         and to process the ones that arrives in the Print Queue.



4.2.1.4.1.2 M̲o̲d̲u̲l̲e̲ ̲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̲

         UPCO-MAIN

         The module is a SWELL Submodule, which is only called
         by the Coroutine Monitor.



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

             N/A



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

             TBD




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

         Items received in the semaphore PRIS ̲S1 are analysed

         System Call and
         Print Queue items are processed by this
                         module

         Command Queue-and
         PROP-items are processed by other modules.

         Unexpected items will invoke the error reporting module,
                          which handles all internal errors.

         The module design is described in the flowgrams on
         the follwoing pages.…86…1 …02…   …02…   …02…   …02…                   
                                              
         UPCO-MAIN

           SET ACTIVE ̲FLAG=FALSE



           RECEIVE ̲CMD (4.2.1.6.7   )



           FOREVER LOOP

              WAIT ̲OPSEM (PRIS ̲S1)(OPERATION   ): OK

              CASE   OPERATION.ID         OF :
                 CMD ̲Q ̲ITEM?   P̲R̲O̲C̲E̲S̲S̲ ̲ ̲C̲M̲D̲ ̲Q̲ ̲I̲T̲E̲M̲(̲4̲.̲2̲.̲1̲.̲4̲.̲2̲
         ̲ ̲)

                 SYSCALL?      P̲R̲O̲C̲E̲S̲S̲ ̲ ̲S̲Y̲S̲C̲A̲L̲L̲(̲ ̲2̲ ̲ ̲ ̲)̲

                 PRINT ̲Q ̲ITEMS?  P̲R̲O̲C̲E̲S̲S̲ ̲P̲R̲I̲N̲T̲ ̲Q̲ ̲I̲T̲E̲M̲(̲ ̲ ̲ ̲3̲

                 PROP ̲ITEM?    P̲R̲O̲C̲E̲S̲S̲ ̲P̲R̲O̲P̲ ̲I̲T̲E̲M̲(̲4̲.̲2̲.̲1̲.̲4̲.̲5̲ ̲
         ̲)̲

                 OTHERWISE?         E̲R̲R̲O̲R̲-̲R̲P̲ ̲ ̲ ̲(̲4̲.̲2̲.̲1̲.̲4̲.̲1̲3̲ ̲)

              END CASE

           END FOREVER LOOP

     END
















Fig. 4.2.1.4.1.5-1…86…1 …02…   …02…   …02…   …02…                                               
          
         PROCESS ̲SYSCALL



             R̲E̲C̲E̲I̲V̲E̲-̲C̲M̲D̲ (4.2.1.6.7)



           END






































Fig. 4.2.1.4.1.5-2…86…1 …02…   …02…   …02…   …02…                 …02…                   …02…           
        
         PROCESS ̲PRINT ̲Q ̲ITEM


            PRINTER ̲BUSY ̲FLAG EQ TRUE?    
                                                                 PRINTER
                                                                 ̲ERROR
                                                                 ̲FLAG
                                                                 EQ
                                                                 TRUE?
                                                                  RETURN
                                                                  ̲ITEM(
                                                                  
                                                                  
                                                                  
                                                                  
                                                                  )
                                                                 CHECK
                                                                 ̲SUB
                                                                 ̲QC(-4)

            SET PRINTER ̲BUSY ̲FLAG = TRUE

            CASE RECEIVE ̲FIRST ̲QEL  (WAIT: = TRUE,PRIS ̲PRINT
         ̲Q)

                             (INPUT ̲ATTR,QEL,SUBQUEUE,CC) :ERROR
         OK

               ERROR?      ANALYSE ̲ERROR (CC,[):OK



               OK?   S̲A̲V̲E̲ ̲R̲E̲F̲E̲R̲E̲N̲C̲E̲S̲ (4.2.1.6.3)

                     P̲R̲I̲N̲T̲I̲N̲G̲ ̲P̲R̲E̲P̲A̲R̲A̲T̲I̲O̲N̲S̲ (4.2.1..a)


             END CASE

















   END



Fig. 4.2.1.4.1.5-3…86…1 …02…   …02…   …02…   …02…                                               
          
         CHECK ̲SUB ̲Q



             CASE   OPERATION.ITEM ̲NAME OF:


                MAIN ̲Q?  ITEM ̲PREEMPTED ̲FLAG EQ FALSE? E̲R̲R̲O̲R̲
         ̲R̲E̲P̲(̲ ̲ ̲ ̲ ̲)̲
                                                         (4.2.1.4.13)
                   CASE RECEIVE ̲FIRST ̲QEL (WAIT:=TRUE,PRIS ̲PRINT
 ̲Q)

                                   (INPUT ̲ATTR,SUBQUEUE,CC):ERROR
 ̲OK

                      ERROR?   ANALYSE ̲ERROR(CC,0): 

                      OK?   S̲A̲V̲E̲ ̲R̲E̲F̲E̲R̲E̲N̲C̲E̲ (4.2.1.6.3)

                            P̲R̲I̲N̲T̲I̲N̲G̲ ̲P̲R̲E̲P̲A̲R̲A̲T̲I̲O̲N̲S̲ (4.2.1.4.9)

                    END CASE

          PREC1?

          FLASH?   "PRINTING ̲SYIE ̲TAB-FLAG EQ FALSE? E̲R̲R̲O̲R̲ ̲R̲E̲P̲(̲
 ̲ ̲ ̲ ̲ ̲ ̲ ̲)̲
                                                           
 (4.2.1.4.13)
                    U̲P̲C̲O̲ ̲P̲R̲E̲E̲M̲P̲T̲ ̲D̲E̲S̲T̲O̲R̲E̲ ̲(̲P̲R̲E̲E̲M̲P̲T̲)̲ (4.2.1.4.7)


            STAT?

      SYIE ̲TAB?  CASE RECEIVE ̲FIRST-QEL(WAIT:=TRUE,PRIS ̲PRINT
 ̲Q.SUBQUEUE)

                                    (INPUT ̲ATTR,SUBQUEUE,CC):ERROR
 ̲OK

                         ERROR?  ANALYSE ̲ERROR(CC,0):OK

                    OK?     S̲A̲V̲E̲ ̲R̲E̲F̲E̲R̲E̲N̲C̲E̲S̲ (4.2.1.6.3)

                            P̲R̲I̲N̲T̲I̲N̲G̲ ̲P̲R̲E̲P̲A̲R̲A̲T̲I̲O̲N̲S̲(4.2.1.4.9)

                  END CASE

      OTHERWISE?      E̲R̲R̲O̲R̲ ̲R̲E̲P̲(̲ ̲ ̲ ̲ ̲)̲ (4.2.1.4.13)



   END CASE

  END                 ,Fig. 4.2.1.4.1.5-4…86…1         …02…   …02…   …02…  
 …02…                                           
4.2.1.4.2    P̲r̲o̲c̲e̲s̲s̲ ̲C̲M̲D̲ ̲Q̲ ̲I̲t̲e̲m̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲ ̲



4.2.1.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 module analyses the items arriving in the Command
         Queue.

         Stop,Close and Resume-DEMCO Comands,
         Timeouts and Log-Acknowledges are processed
                     by this module

         Start DEMCO-Command and
         FLASH Notifications are processed by other modules.

4.2.1.4.2.2 M̲o̲d̲u̲l̲e̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲

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

         a)  PROCESS ̲CMD ̲Q ̲ITEM

         b)  PROCESS ̲CMD ̲Q ̲ITEM(6):OK

         R̲e̲g̲i̲s̲t̲e̲r̲ ̲C̲o̲n̲v̲e̲n̲t̲i̲o̲n̲

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

         R6  LINK

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

         R0 - R17      DESTROYED

         Fatal Errors:    NONE



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

         N/A



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

         TBD…86…1         …02…   …02…   …02…   …02…                            
                       
4.2.1.4.2.5 M̲o̲d̲u̲l̲e̲ ̲D̲e̲s̲i̲g̲n̲

         The module receives the CMD-Q items and analyses them
         by testing the QEL-Attributes and the internal flags.
          The most important actions taken by this moule are
         : invoking other modules, sending commands to PROP,
         requesting timeouts and manipulating the flags.

         The following flowgrams describe how.…86…1 …02…   …02…   …02…   …02…  
                                                           
            
         PROCESS ̲CMD ̲Q-ITEM

      SET PENDING ̲INIT ̲RECEIVE ̲CMD = FALSE ̲

      CASE RECEIVE ̲FIRST ̲QEL(WAIT:=TRUE,PRIS ̲CMD ̲Q)

                (INPUT ̲ATTR,INPUT ̲QEL,SUBQUEUE,CC):ERRO ̲OK

          ERROR?    ANALYSE ̲ERROR(CC, ):OK

          OK? CASE INPUT ̲ATTR.MAINTYPE OF:

                DEMCO ̲CMD?   SAVE DEMCO CMD REFERENCES
                             CASE ATTRIBUTES.SUBTYPE OF:


                                START ̲SAD U̲P̲C̲O̲I̲N̲I̲T̲I̲A̲L̲I̲Z̲A̲T̲I̲O̲N̲(4.2.1.4.3)
                                STOP ̲SAD?  S̲T̲O̲P̲ ̲P̲R̲I̲N̲T̲I̲N̲G̲ ( 
 2  )
                                CLOSE ̲SAD? C̲L̲O̲S̲E̲ ̲D̲O̲W̲N̲ ̲P̲R̲O̲C̲(
 3  )
                                RESUME?    R̲E̲S̲U̲M̲E̲ ̲P̲R̲O̲C̲ ( 4 
 )
                               OTHERWISE? E̲R̲R̲O̲R̲ ̲R̲E̲P̲(̲ ̲ ̲ ̲)(4.2.1.4.13)

                              END CASE

                TIME OUT?        A̲N̲A̲L̲Y̲S̲E̲ ̲T̲I̲M̲E̲O̲U̲T̲(̲ ̲ ̲5̲ ̲ ̲)̲


                FLASH ̲NOTIFICATION? A̲N̲A̲L̲Y̲S̲E̲ ̲F̲L̲A̲S̲H̲ ̲N̲O̲T̲I̲F̲I̲C̲A̲T̲I̲O̲N̲(̲4̲.̲2̲.̲1̲.̲4̲.̲4̲)̲


                ACK? ̲ATTR.SUBYPE EQ LOG ̲COLLECT ̲ACK? ̲P̲R̲O̲C̲ ̲L̲O̲G̲
 ̲A̲C̲K̲(-6)

                  E̲R̲R̲O̲R̲ ̲R̲E̲P̲(̲ ̲ ̲ ̲ ̲ ̲ ̲)̲ ̲(̲4̲.̲2̲.̲1̲.̲4̲.̲1̲3̲)̲

                  R̲E̲C̲E̲I̲V̲E̲ ̲C̲M̲D̲(4.2.1.6.7)

                OTHERWISE?    E̲R̲R̲O̲R̲ ̲R̲E̲P̲(̲ ̲ ̲ ̲ ̲ ̲)̲(4.2.1.11.13)

                              R̲E̲C̲E̲I̲V̲E̲ ̲C̲M̲D̲ ̲(̲4̲.̲2̲.̲1̲.̲6̲.̲7̲)̲

            END CASE

            D̲I̲S̲M̲A̲N̲T̲L̲E̲ ̲I̲T̲E̲M̲ ̲(̲I̲N̲P̲U̲T̲ ̲Q̲E̲L̲,̲I̲N̲P̲U̲T̲ ̲A̲T̲T̲R̲)(4.2.1.6.5)


      END CASE

    END                  Fig. 4.2.1.4.2.5-1…86…1 …02…   …02…   …02…   …02…     
                                                    
         STOP ̲PRINTING


      ACTIVE ̲FLAG EQ FALSE?       E̲R̲R̲O̲R̲ ̲R̲E̲P̲(̲ ̲ ̲ ̲ ̲)̲(̲4̲.̲2̲.̲1̲.̲7̲.̲1̲3̲
 ̲ ̲)̲

      SET ACTIVE ̲FLAG = FALSE


      C̲M̲D̲ ̲T̲O̲ ̲P̲R̲O̲P̲(̲A̲R̲A̲N̲D̲O̲N̲)̲(̲4̲.̲2̲.̲1̲.̲6̲.̲6̲)̲

    END

































Fig. 4.2.1.4.2.5-2…86…1 …02…   …02…   …02…   …02…                                               
          
         CLOSE ̲DOWN ̲PROC


     ACTIVE ̲FLAG EQ FALSE?

     CLOSE ̲DOWN ̲FLAG ̲EQ ̲TRUE?       E̲R̲R̲O̲R̲ ̲R̲E̲P̲(̲ ̲ ̲ ̲)̲(4.2.1.4.13
 )


     SET CLOSE ̲DOWN ̲FLAG = TRUE

     PRINTER ̲BUSY ̲FLAG EQ FASE?

     CLOSE ̲DOWN ̲TIME ̲LIMIT EQ 0?     C̲M̲D̲ ̲T̲D̲ ̲P̲R̲O̲P̲(̲A̲B̲A̲N̲D̲O̲N̲)(4.2.1.6.6)



    CASE REQUEST ̲TIMEOUT (PRIS ̲CMD ̲Q,CLOSE ̲DOWN ̲TIMEOUT,
                       CLOSE ̲DOWN ̲TIME ̲LIMIT)
                       (CC): ERROR ̲OK

       ERROR?      ANALYSE ̲EROR(CC,  ): OK

       OK?         R̲E̲C̲E̲I̲V̲E̲ ̲C̲M̲D̲(4.2.1.6.7)

   END CASE


 END

















Fig. 4.2.1.4.2.5-3…86…1 …02…   …02…   …02…   …02…                                               
          
         RESUME ̲PROC



     PRINTER ̲ERROR ̲FLAG EQ FALSE?

     ACTIVE ̲FLAG EQ FALSE?             E̲R̲R̲O̲R̲ ̲R̲E̲P̲(̲T̲B̲D̲ ̲)(4.2.1.4.13)


     SET PRINTER ̲ERROR ̲FLAG = FALSE



     C̲M̲D̲ ̲T̲D̲ ̲P̲R̲O̲(̲C̲O̲N̲T̲I̲N̲U̲E̲)̲(4.2.1.6.6 )



     R̲E̲C̲E̲I̲V̲E̲ ̲C̲M̲D̲ (4.2.1. 6.7)



   END























Fig. 4.2.1.4.2.5-4…86…1 …02…   …02…   …02…   …02…                                               
          
         ANALYSE ̲TIMEOUT


       ACTIVE ̲FLAG NE TRUE?   R̲E̲C̲E̲I̲V̲E̲ ̲C̲M̲D̲(4.2.1.6.7)


       CASE INPUT ̲ATTR.FLAGS OF:

          PREEMPTION ̲TIMEOUT?    PREEMPTION ̲CONTROL ̲FLAG EQ
 FALSE?
                                                   R̲E̲C̲E̲I̲V̲E̲ ̲C̲M̲D̲(4.2.1.6.7)

                                 SET PREEMPTION ̲CONTROL ̲FLAG=FALSE


                                 U̲P̲C̲O̲ ̲P̲R̲E̲E̲M̲P̲T̲ ̲R̲E̲S̲T̲O̲R̲E̲(̲P̲R̲E̲E̲M̲P̲T̲)(4.2.1.4.7)












          CLOSE ̲DWN ̲TIMEOUT?   SET ACTIVE ̲FLAG = FALSE

                                C̲M̲D̲ ̲T̲D̲ ̲P̲R̲O̲D̲(̲A̲B̲A̲N̲D̲O̲N̲)̲(̲4̲.̲2̲.̲1̲.̲6̲
 ̲ ̲6̲

          OTHERWISE?   E̲R̲R̲O̲R̲ ̲R̲E̲P̲(̲ ̲ ̲)(4.2.1.4.13)   R̲E̲C̲E̲I̲V̲E̲ ̲C̲M̲D̲(4.2.1.6.7)



        END CASE





      END "ANALYSE TIMEOUT"


Fig. 4.2.1.4.25-5…86…1 …02…   …02…   …02…   …02…                                               
          
         PROC ̲LOG ̲ACK

      R̲E̲C̲E̲I̲V̲E̲ ̲C̲M̲D̲ (4.2.1.6.7)

          END








































4.2.1.4.2.5-6…86…1         …02…   …02…   …02…   …02…                                      
     
4.2.1.4.3    U̲P̲C̲O̲ ̲I̲N̲I̲T̲I̲A̲L̲I̲Z̲A̲T̲I̲O̲N̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲



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 is called by the PROCESS-CMD-Q-ITEM-module
         and takes care of the initializing actins connected
         with UPCO.  It gets the appropriate system parameters,
         connects the subprocess to the printer and the Format
         File, initializes some of the variables and invokes
         PROP by sending an INITIALIZE ̲PROP CMD.



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

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

         a)  UPCO ̲INITIALIZATION : OK

         b)  UPCO ̲INITIALIZATION (R6):OK

         R̲e̲g̲i̲s̲t̲e̲r̲ ̲C̲o̲n̲v̲e̲n̲t̲i̲o̲n̲

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

         R6    LINK

         Return Registers:

         R0 - R7                            DESTROYED

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



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

         N/A




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

         TBD



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

         It is checked whether the initialization has already
         taken place or not.  If positive the command is ignored
         and n error analysis will take place.

         The various test arrays are initialized by reading
         in the data from the Pring Format File.…86…1 …02…   …02…   …02…   …02…
                                                           
              
         UPCO ̲INITIALIZATION


     ACTIVE ̲FLAG EQ TRUE?           E̲R̲R̲O̲R̲ ̲R̲E̲P̲(̲ ̲ ̲ ̲)̲ ̲(̲4̲.̲2̲.̲1̲.̲4̲.̲1̲3̲)̲

                                    R̲E̲C̲E̲I̲V̲E̲ ̲C̲M̲D̲(̲4̲.̲2̲.̲1̲.̲6̲.̲7̲ ̲)̲








     CASE PRINTER ̲YPE OF:

        LOW ̲SPEED?     G̲E̲T̲ ̲L̲O̲W̲ ̲S̲P̲E̲E̲D̲ ̲P̲R̲I̲N̲T̲ ̲P̲A̲R̲A̲M̲E̲T̲E̲R̲S̲ ̲ ̲(̲4̲.̲2̲.̲1̲.̲6̲.̲2̲
 ̲)̲

        MEDIUM ̲SPEED?  G̲E̲T̲ ̲M̲E̲D̲I̲U̲M̲ ̲S̲P̲E̲E̲D̲ ̲P̲R̲I̲N̲T̲ ̲P̲A̲R̲A̲M̲E̲T̲E̲R̲S̲(̲4̲.̲2̲.̲1̲.̲6̲.̲1̲)̲


      END CASE


      GET PRINTER ̲CONN FROM QEL INFO FIELD

      ACCEPT ̲PRINTER ̲CONNECTION

      ASE LOOKUP(DIRECTORY,PFF ̲NAME)
                 (PF ̲FILE ̲DESCRIPTOR, CC):ERROR ̲OK

            ERROR?   ANALYSE ̲ERROR(CC,O):OK

            OK?

      END CASE

      R̲E̲A̲D̲ ̲P̲F̲F̲ ̲I̲N̲D̲E̲X̲ ̲A̲N̲D̲ ̲T̲E̲X̲T̲ ̲A̲R̲R̲A̲Y̲S̲ ̲(̲ -2  )

      C̲M̲D̲ ̲T̲O̲ ̲P̲R̲O̲P̲ ̲(̲I̲N̲I̲T̲I̲A̲L̲I̲Z̲E̲ ̲P̲R̲O̲P̲)̲(̲4̲.̲2̲.̲1̲6̲.̲6̲)̲


         END



Fig. 4.2.1.4.3.5-1…86…1 …02…   …02…   …02…   …02…                                               
          
         READ ̲PFF ̲INDEX ̲AND ̲TEXT-̲ARRAYS


     SET   PFF ̲BLE.KIND = HIGH ̲BYTE

     SET   PFF ̲BLE.LINK =  NIL

     SET   PFF ̲BLE.ADDRESS =   ADDRESS(FDB)

     SET   PFF ̲BLE.BYTE ̲SIE =  SIZE(FDB)


     SET   PFF ̲ADDRESS.FIRST ̲BYTE = PFF ̲INDEX ̲ADDR

     SET   PFF ̲ADDRESS.BYTE ̲COUNT = SIZE (FDB)


     R̲E̲A̲D̲ ̲P̲F̲F̲ ̲D̲A̲T̲A̲ (        )







     TRANSFER ̲VALUES ̲FROM ̲FDB ̲TO ̲ARRAYS








   END





Fig. 4.2.1.4.3.5-2…86…1         …02…   …02…   …02…   …02…                                    
       
4.2.1.4.4    A̲n̲a̲l̲y̲s̲e̲ ̲F̲l̲a̲s̲h̲ ̲N̲o̲t̲i̲f̲i̲c̲a̲t̲i̲o̲n̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲



4.2.1.4.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 module analyses the derived FLASH Notification
         and the status of the Printer Subnpocess and determines
         the actions to be taken.



4.2.1.4.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)  ANALYSE ̲FLASH ̲NOTIFICATION OK

         b)  ANALYSE ̲FLASH ̲NOTIFICATION (R6):OK

         R̲e̲g̲i̲s̲t̲e̲r̲ ̲C̲o̲n̲v̲e̲n̲t̲i̲o̲n̲

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

         R6    LINK

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

         R0  R17                 DESTROYED

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

         NONE.…86…1         …02…   …02…   …02…   …02…                          
                         
4.2.1.4.4.3 M̲o̲d̲u̲l̲e̲ ̲C̲o̲m̲p̲o̲n̲e̲n̲t̲s̲ ̲

         N/A



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

         TBD



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

         If the Printer is out of action the arrived FLASH item
         and a notification re sent to MDCO.

         If the subprocess is already executing a FLASH-item,
         the notification will be ignored.

         If the Subprocess is not executing a FLASH item a preemption
         timeout will be requested.  If the request is rejected
         alternative actions are aken.

         The following flowgrams illustrates the module logic.…86…1
         …02…   …02…   …02…   …02…                                         
                        
  …02…ANALYSE ̲FLASH ̲NOTIFICATION

      CASE ATTRIBUTES.SUBTYPE OF:

         SUPERFLASH ̲I ̲A? SET SUBQ ̲INDEX = PREC ̲1
         FLASH ̲I ̲A?      SET SUBQ ̲INDEX= FLASH

               ACTIVE ̲FLAG EQ FALSE?

                PRINTER ̲ERROR ̲FLAG EQ TRUE?



                                   F̲L̲A̲S̲H̲ ̲I̲T̲E̲M̲S̲ ̲T̲O̲ ̲M̲D̲C̲O̲(4.2.1.4.8)



                PRINTER ̲BUSY ̲FLAG EQ FALSE?   E̲R̲R̲O̲R̲ ̲R̲E̲P̲(̲ ̲ ̲ ̲)(4.2.1.4.13)

                EXECUTING ̲FLASHFLAG EQ TRUE?

                PRINTING ̲SYIE ̲TAB ̲FLAG EQ TRUE?

                      CASE PRINTER ̲TYPE OF:

                   LOW ̲SPEED? G̲E̲T̲ ̲L̲O̲W̲ ̲S̲P̲E̲E̲D̲ ̲P̲R̲I̲N̲T̲ ̲P̲A̲R̲A̲M̲E̲T̲E̲R̲S̲(
     )

                   MEDIUM ̲SPEED?  G̲E̲T̲ ̲M̲E̲D̲I̲U̲M̲ ̲S̲P̲E̲E̲D̲ ̲P̲R̲I̲N̲T̲ ̲P̲A̲R̲A̲M̲E̲T̲E̲R̲S̲(
  )

               END CASE

                SET PREEMPTION ̲DELAY ̲LIMIT= PREEMPT ̲DELAY

                R̲E̲Q̲U̲E̲S̲T̲ ̲P̲R̲E̲E̲M̲P̲T̲I̲O̲N̲ ̲T̲I̲M̲E̲O̲U̲T̲( -2  )






         O̲T̲H̲E̲R̲W̲I̲S̲E̲?̲   E̲R̲R̲O̲R̲ ̲R̲E̲P̲(̲T̲B̲D̲)̲(̲4.2.1.4.13)

         END ̲CASE

         R̲E̲C̲E̲I̲V̲E̲ ̲C̲M̲D̲(4.2.1.6.7)

END "ANALYSE FLASH NOTIFICAION"
Fig. 4.2.1.4.4.5-1…86…1 …02…   …02…   …02…   …02…                                               
          
         REQUEST ̲PREEMPTION ̲TIMEOUT


     CASE REQUEST ̲TIMEOUT(PRIS ̲CMD ̲Q, PREEMPTION ̲TIMEOUT,
                         PREEMPTION ̲DELAY ̲LIMIT)(CC):ERROR ̲OK


        ERROR?  CASE AALYSE ̲ERROR(CC,2,TIMEOUT ̲CLAIM ̲EXEEDED,
                                        OTHER ̲ERRORS):(ER1,ER2)


                   ER1? U̲P̲C̲O̲ ̲P̲R̲E̲E̲M̲P̲T̲ ̲R̲E̲S̲T̲O̲R̲E̲(̲P̲R̲E̲E̲M̲P̲T̲)(4.2.1.4.7)


                   ER2?              F̲L̲A̲S̲H̲ ̲I̲T̲E̲M̲S̲ ̲T̲O̲ ̲M̲D̲C̲O̲(4.2.1.4.8)

                                    E̲R̲R̲O̲R̲ ̲R̲E̲P̲(̲T̲B̲D̲)̲(4.2.1.4.13)

                                     R̲E̲C̲E̲I̲V̲E̲ ̲C̲M̲D̲(4.2.1.6.7)



                END CASE


        OK?     SET PREEMPTION ̲CONTROL ̲FLAG=TRUE

                R̲E̲C̲E̲I̲V̲E̲ ̲C̲M̲D̲(4.2.1.6.7)





         END ̲CSE






Fig. 4.2.1.4.4.5-2…86…1         …02…   …02…   …02…   …02…                                    
       
4.2.1.4.5    P̲R̲O̲C̲E̲S̲S̲ ̲P̲R̲O̲P̲ ̲I̲T̲E̲M̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲



4.2.1.4.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̲ ̲

         The module analyses the various items received from
         PROP.

         Error-, PROP ̲INITIALILZE CC-and ABADON ̲CC-reports are
         processed by this module, while PREEMPT ̲CC-and PRINT
         ̲COMPLETE-reports are processed by other modules.



4.2.1.4.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)  PROCESS ̲PROP ̲ITEM:OK

         b)  PROCESS ̲PROP ̲ITEM(R6):OK

         R̲e̲g̲i̲s̲t̲e̲r̲ ̲C̲o̲n̲v̲e̲n̲t̲i̲o̲n̲

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

         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̲r̲r̲o̲r̲s̲

         None



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

         N/A




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

         TBD




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

         The OPERATION.ITEM ̲NAME is tested in order to determine
         the PROP item type.

         If an error is reported, eventual FLASH-items awaiting
         execution are sent o MDCO and the PRINTER ̲ERROR ̲FLAG
         is set.  Destinction is made between PAPER ̲LOW and
         other errors.  If PAPER ̲LOW occurs the subprocess weill
         wait for a RESUME and from DEMCO.

         Initialize ̲CC will cause initialization of flags, reporting
         to DEMCO an opening for receipt of print items.

         Abandon ̲CC will cause all open views connected with
         this subprocess to be closed and all QEL's owned by
         the subprocess to be returned to the queue.
         Finally DEMCO is notified.…86…1 …02…   …02…   …02…   …02…             
                                                    
         PROCESS ̲PROP ̲ITEM



      CASE OPERATION.ITEM ̲NAME OF:

          CONNECTION ̲ERROR?

          PROP ̲ERROR?

          PAPER ̲LOW?         P̲R̲O̲C̲ ̲P̲R̲O̲P̲ ̲E̲R̲R̲O̲R̲ ̲R̲E̲P̲(  2  )


         PROP ̲INITIALIZE ̲CC?   P̲R̲O̲C̲ ̲P̲R̲O̲P̲ ̲I̲N̲I̲T̲I̲A̲L̲I̲Z̲E̲ ̲C̲C̲(  4 
 )



          ABANDON ̲CC?           P̲R̲O̲C̲ ̲A̲B̲A̲N̲D̲O̲N̲ ̲C̲C̲(  5  )



          PREEMPT ̲CC?           P̲R̲I̲N̲T̲I̲N̲G̲ ̲P̲R̲E̲P̲A̲R̲A̲T̲I̲O̲N̲S̲(4.2.1.4.9)



          PRINT ̲COMPLETE ̲REP?  P̲R̲O̲C̲ ̲P̲R̲I̲N̲T̲ ̲C̲O̲M̲P̲L̲E̲T̲E̲ ̲R̲E̲P̲(4.2.1.4.)









          OTHERWISE?       E̲R̲R̲O̲R̲ ̲R̲E̲P̲(̲ ̲ ̲ ̲ ̲)̲(4.2.1.4.13)


      END






Fig. 4.2.1.4.5.5-1…86…1 …02…   …02…   …02…   …02…                                               
          
         PROC ̲PROP ̲ERROR ̲REP



      SET PREEMPTION ̲CONTROL ̲FLAG = FALSE



      F̲L̲A̲S̲H̲ ̲I̲T̲E̲M̲S̲ ̲T̲O̲ ̲M̲D̲C̲O̲(4.2.1.4.8  )


      SET PRINTER ̲ERROR ̲FLAG = TRUE


      CASE OPERATION.ITEM ̲AME OF:

         PROP ̲ERROR?    E̲R̲R̲O̲R̲ ̲R̲E̲P̲(̲ ̲ ̲ ̲ ̲)̲(4.2.1.4.13)


         CONNECTION ̲ERROR?  P̲R̲O̲C̲ ̲C̲O̲N̲N̲ ̲E̲R̲R̲ ̲R̲E̲P̲(  4  )


         PAPER ̲LOW?         P̲R̲O̲C̲ ̲P̲A̲P̲E̲R̲ ̲L̲O̲W̲ ̲R̲E̲P̲(  3  )


       END ̲CASE


       PENDING ̲INIT ̲RECEIVE ̲CMD EQ FALSE?   R̲E̲C̲E̲I̲V̲E̲ ̲C̲M̲D̲(̲.2.1.6.7)



         END











Fig. 4.2.1.4.5.5-2…86…1 …02…   …02…   …02…   …02…                                               
          
         PROC ̲PAPER ̲LOW ̲REP



      SET PRINTER ̲ERROR ̲FLAG = TRUE



         END







































Fig. 4.2.1.4.5.5-3…86…1 …02…   …02…   …02…   …02…                                               
          
         PROC ̲PROP ̲INITIALIZE ̲CC





     SET ACTIVE ̲FLAG = TRUE


     SET PRINTER ̲ERROR ̲FLAG        = FALSE

     SET PREEMPTION ̲CONTROL ̲FLAG   = FALSE

     SET ITEM ̲PREEMPTED ̲FLG       = FALSE

     SET PRINTER ̲BUSY ̲FLAG         = FALSE

     SET AWAITING ̲CIF ̲FLAG         = FALSE

     SET CLOSE ̲DOWN ̲FLAG           = FALSE

     SET EXECUTING ̲FLASH ̲FLAG      = FALSE









    S̲E̲N̲D̲ ̲R̲E̲P̲ ̲T̲O̲ ̲D̲E̲M̲C̲O̲(̲4̲.̲2̲.̲1̲.̲6̲.̲9̲ ̲)̲


    R̲E̲C̲E̲I̲V̲E̲C̲M̲D̲(4.2.1.6.7  )

    R̲E̲C̲E̲I̲V̲E̲ ̲P̲R̲I̲N̲T̲ ̲Q̲ ̲(̲M̲A̲I̲N̲ ̲)(4.2.1.6.8)


END

Fig. 4.2.1.4.5.5-4…86…1 …02… …02… …02…   …02…   …02…                                                
         
         PROC ̲ABANDON ̲CC



         C̲H̲E̲C̲K̲ ̲V̲I̲E̲W̲(4.2.1.6.10  )



             DOC ̲ACC ̲APP ̲FLAG EQ TRUE?  T̲R̲A̲N̲S̲A̲C̲T̲I̲O̲N̲ ̲A̲C̲C̲(̲A̲B̲A̲N̲D̲O̲N̲)̲(4.2.1.4.12)


         R̲E̲T̲U̲R̲N̲ ̲I̲T̲E̲M̲(̲P̲R̲I̲N̲T̲ ̲I̲T̲E̲M̲ ̲Q̲E̲L̲ ̲R̲E̲F̲)̲(4.2.1.6.4



             ITEM ̲PREEMPTED ̲FLAG EQ FALSE?


             U̲P̲C̲O̲ ̲P̲R̲E̲E̲M̲P̲T̲ ̲R̲E̲S̲T̲O̲R̲E̲(̲R̲E̲S̲T̲O̲R̲E̲)̲(4.2.1.4.7)


             C̲H̲E̲C̲K̲ ̲V̲I̲E̲W̲  (4.2.1.6.10)


             DOC ̲ACC ̲APP ̲FLAG EQ TRUE?  T̲R̲A̲N̲S̲A̲C̲T̲I̲O̲N̲ ̲A̲C̲C̲(̲A̲B̲A̲N̲D̲O̲N̲)̲(4.2.1.4.12)


             R̲E̲T̲U̲R̲N̲ ̲I̲T̲E̲M̲ ̲(̲P̲R̲I̲N̲T̲ ̲I̲T̲E̲M̲ ̲Q̲E̲L̲ ̲R̲E̲F̲)̲(4.2.1.6.4)

             F̲L̲A̲S̲H̲ ̲I̲T̲E̲M̲S̲ ̲T̲O̲ ̲M̲D̲C̲O̲(̲4.2.1.4.8)

             DISCONNECT ̲PFF ̲AND ̲PRINTER

             CLOSE ̲DOWN ̲FLAG EQ TRUE ̲?  SET CLOSE ̲DOWN ̲FLAG
             = FALSE

             S̲E̲N̲D̲ ̲R̲E̲P̲ ̲T̲O̲ ̲D̲E̲M̲C̲O̲(4.2.1.6.9)


                 END






Fig. 4.2.1.4.5.5-5…86…1 …02…   …02…   …02…   …02…                                               
          
         PROC ̲CONN ̲ERR ̲REP



      C̲H̲E̲C̲K̲ ̲V̲I̲E̲W̲(4.2.1.6.10)


      DOC ̲ACC ̲APP EQ TRUE?   T̲R̲A̲N̲S̲A̲C̲T̲I̲O̲N̲ ̲A̲C̲C̲(̲C̲O̲N̲ ̲E̲R̲R̲)(4.2.1.4.12)


      R̲E̲T̲U̲R̲N̲ ̲I̲T̲E̲M̲(̲P̲R̲I̲N̲T̲ ̲I̲T̲E̲M̲ ̲Q̲E̲L̲ ̲R̲E̲F̲)(4.2.1.6.4)


     ITEM ̲PREEMPTED ̲FLAG EQ FALSE?


      U̲P̲C̲O̲ ̲P̲R̲E̲E̲M̲P̲T̲ ̲R̲E̲S̲T̲O̲R̲E̲(̲R̲E̲S̲T̲O̲R̲E̲)̲(4.2.1.4.7)


      C̲H̲E̲C̲K̲ ̲V̲I̲E̲W̲(4.2.1.6.10)


      DOC.ACC ̲APP ̲FLAG ̲EQ TRUE?  T̲R̲A̲N̲S̲A̲C̲T̲I̲O̲N̲ ̲A̲C̲C̲(CON ̲ERR)(4.2.1.4.12)


      R̲E̲T̲U̲R̲N̲ ̲I̲T̲E̲M̲(̲P̲R̲I̲N̲T̲ ̲I̲T̲E̲M̲ ̲Q̲E̲L̲ ̲R̲E̲F̲)(4.2.1.6.4)


      F̲L̲A̲S̲ ̲I̲T̲E̲M̲S̲ ̲T̲O̲ ̲M̲D̲C̲O̲(4.2.1.4.8)

      CLOSE ̲DOWN ̲FLAG EQ TRUE?   SET CLOSE ̲DOWN ̲FLAG =  FALSE



      SET ACTIVE ̲FLAG = FALSE



         END





Fig. 4.2.1.4.5.5-4…86…1         …02…   …02…   …02…   …02…                                    
       
4.2.1.4.6    P̲R̲O̲C̲ ̲P̲R̲I̲N̲T̲ ̲C̲O̲M̲P̲L̲E̲T̲E̲ ̲R̲E̲P̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲



4.2.1.4.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̲

         The module determines - and carries out some of - the
         actions to be taken when PROP notifis of print completion.



4.2.1.4.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)  PROC ̲PRINT ̲COMPLETE ̲REP

         b)  PROC ̲PRINT ̲COMPLETE ̲REP(R6): OK

         R̲e̲g̲i̲s̲t̲e̲r̲ ̲C̲o̲n̲v̲e̲n̲t̲i̲o̲n̲

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

         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̲r̲r̲o̲r̲s̲
         None



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

         N/A




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

         TBD…86…1         …02…   …02…   …02…   …02…                            
                       
4.2.1.4.6.5 M̲o̲d̲u̲l̲e̲ ̲D̲e̲s̲i̲g̲n̲

         At first it is checked whether any further copies of
         the items are to be printed or not.

         If not, cleaning up and appropriate accounting are
         carried ou.  Otherwise PROP is ordered to print a copy
         more.
         If an item is preempted it will be checked if there
         are any FLASH-items awaiting printout.  In case there
         is at least one, the first of them will be activated.…86…1
         …02…   …02…   …02…   …02…                                         
                       
         PROC ̲PRINT ̲COMPLETE ̲REP



     DECREMENT COPY ̲COUNTER


     COPY ̲COUNTER GT 0  ?    C̲M̲D̲ ̲T̲O̲ ̲P̲R̲O̲P̲(̲C̲O̲M̲M̲E̲N̲C̲E̲)̲(4.2.1.6.6)



     C̲H̲E̲C̲K̲ ̲V̲I̲E̲W̲(4.2.1.6.10)


     DOC ̲ACC ̲ADD ̲FLAG Q TRUE?   T̲R̲A̲N̲S̲A̲C̲T̲I̲O̲N̲ ̲A̲C̲C̲(̲C̲O̲M̲P̲L̲E̲T̲E̲)̲(4.2.1.4.12)

     SET SUBQ = MAIN

     PRINT ̲ITEM ̲QEL ̲REF.SUBQUEUE ̲EQ STAT?

     PRINT ̲ITEM ̲QEL ̲REF.SUBQUEUE EQ SYIE ̲TAB? C̲H̲E̲C̲K̲ ̲Q̲E̲L̲ ̲F̲L̲A̲G̲S̲(
  2  )



    D̲I̲S̲M̲A̲N̲T̲L̲E̲ ̲I̲T̲E̲M̲(̲P̲R̲I̲N̲T̲ ̲I̲T̲E̲M̲ ̲Q̲E̲L̲.̲R̲E̲F̲)̲(̲4̲.̲2̲.̲1̲.̲6̲.̲5̲)̲

       "ITE ̲QEL ̲ATTR IS KEPT"

    ITEM ̲PREEMPTED ̲FLAG EQ TRUE?   C̲H̲E̲C̲K̲ ̲F̲L̲A̲S̲H̲ ̲Q̲(  3  )


    SUBQ EQ MAIN?  SET PRINTER ̲BUSY ̲FLAG = FALSE


    R̲E̲C̲E̲I̲V̲E̲ ̲P̲R̲I̲N̲T̲ ̲Q̲ ̲(̲S̲U̲B̲Q̲)(4.2.1.6.8)




         END



Fig. 4.2.1.4.6.5-1…86…1 …02…   …02…   …02…   …02…                                              
          
         CHECK ̲QEL ̲FLAGS



       ITEM ̲QEL ̲ATTR.FLAGS AND LAST ̲CIF NE LAST ̲CIF?


            CASE SEND ̲REPLY(        REPLY ̲PARAMS,
                             ITEM ̲QEL ̲REF       ,
                            ITEM-QEL-REF       )
                             (    REPLY ̲PARAMS,
                               CC):  ERROR ̲OK
               ERROR?   ANALYSE ̲ERROR(CC, 0 ):  OK
               OK?      SET SUBQ = ITEM ̲QEL ̲REF.SUBQUEE
                        SET AWAITING ̲CIF ̲FLAG = TRUE



            END CASE



         END






















Fig. 4.2.1.4.6.5-2…86…1 …02…   …02…   …02…   …02…                                              
          
         CHECK ̲FLASH ̲Q


           CASE RECEIVE ̲FIRST ̲QEL (WAIT:=FALSE;PRIS ̲PRINT ̲Q.PREC1)
                            (INPUT ̲ATTR,QEL,SUBQUEUE,CC): ERROR
 ̲OK
        ERROR?  CASE ANALYSE ̲ERRR(CC,1,SUBQUEUE ̲EMPTY):(L4)

                   L4?

                END CASE

                CASE RECEIVE ̲FIRST ̲QEL(WAIT=FALSE,
                                      PRIS ̲PRINTQ.FLASH)
                                      (INPUT ̲ATTR,QEL,SUBQUEU,CC)
                                      :ERROR ̲OK


                   ERROR?  CASE ANALYSE ̲ERROR(CC,1,SUB QUEUE
 ̲EMPTY)
                                               (L5')
                              L5?

                            END CASE

                            R̲E̲S̲T̲A̲R̲T̲ ̲P̲R̲E̲E̲M̲P̲T̲E̲D̲ ̲I̲T̲E̲M̲S̲(̲  4  )



                   OK?        S̲A̲V̲E̲ ̲R̲E̲F̲E̲R̲E̲N̲C̲E̲S̲ (4.2.1.6.3)

                              P̲R̲I̲N̲T̲I̲N̲G̲ ̲P̲R̲E̲P̲A̲R̲A̲T̲I̲O̲N̲S̲(4.2.1.4.9)


                 END CASE


        OK?      S̲A̲V̲E̲ ̲R̲E̲F̲E̲R̲E̲N̲C̲E̲S̲(.2.1.6.3)

                 P̲R̲I̲N̲T̲I̲N̲G̲ ̲P̲R̲E̲P̲A̲R̲A̲T̲I̲O̲N̲S̲(̲4̲.̲2̲.̲1̲.̲4̲.̲9̲)̲

        END CASE

         END


Fig. 4.2.1.4.6.5-3…86…1 …02…   …02…   …02…   …02…                                              
          
         RESTART ̲PREEMPTED ̲ITEM


      U̲P̲C̲O̲ ̲P̲R̲E̲E̲M̲P̲T̲ ̲R̲E̲S̲T̲O̲R̲E̲(̲R̲E̲S̲T̲O̲R̲E̲)(4.2.1.4.7)

      PRINTING ̲SYIE ̲TAB ̲FLAG EQ TRUE?


                      SET SUBQ = PRINT ̲ITEM ̲QEL ̲ATTR.SUBQUEUE

                      R̲E̲C̲E̲I̲V̲E̲ ̲P̲R̲I̲N̲T̲ ̲Q̲(̲S̲U̲B̲Q̲)(4.2.1.6.8 )





      C̲M̲D̲ ̲T̲O̲ ̲P̲R̲O̲P̲ ̲(̲R̲E̲S̲T̲A̲R̲T̲)(4.2.1.6.6)



    END
























Fig. 4.2.1.4.6.5-4…86…1         …02…   …02…   …02…   …02…                                    
       
4.2.1.4.7    U̲P̲C̲O̲ ̲P̲R̲E̲E̲M̲P̲T̲ ̲R̲E̲S̲T̲O̲R̲E̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲



4.2.1.4.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̲

         The Module takes care of saving appropriate variables
         pertinent to an item which is to be prempted.  It inputs
         the preemption-causing item and orders PROP to make
         preemption.

         The Module also restores the status of an earlier preempted
         item.



4.2.1.4.7.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)  UPCO ̲PREEMPT ̲RESTORE
                      (PROEDURE:PRESTORE ̲SWITCH)

         b)  UPCO ̲PREEMPT ̲RESTORE(PROCEDURE=  R1,R6):OK

         R̲e̲g̲i̲s̲t̲e̲r̲ ̲C̲o̲n̲v̲e̲n̲t̲i̲o̲n̲

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

         R1          Procedure indicator (DESTROYED)

         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̲r̲r̲o̲r̲s̲

         None



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

         N/A




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

         TBD




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

         The module cosists of two procedures, one for preempting
         and one for restoring.  The choice between them is
         based on the call-parameter PROCEDURE.

         Thepreempting procedure stores the appropriate variable
         values in a set of local variables.  A preemption command
         to PROP is issued.

         The restoring procedure restores the values of the
         earlier saved variables.…86…1 …02…   …02…   …02…   …02…               
                                                  
         UPCO ̲PREEMPT ̲RESTORE (PROCEDURE)




      CASE PROCEDURE OF:



         PREEMPT?   U̲P̲C̲O̲ ̲P̲R̲E̲E̲M̲P̲T̲ (  2  )


         RESTORE?    U̲P̲C̲O̲ ̲R̲E̲S̲T̲O̲R̲E̲ (  3  )

         OTHERWISE?   R̲R̲O̲R̲ ̲R̲E̲P̲(̲ ̲ ̲ ̲)̲(4.2.1.4.143)



      END CASE



         END






















Fig. 4.2.1.4.7.5-1…86…1 …02…   …02…   …02…   …02…                                               
          
         UPCO ̲PREEMPT


      SET ITEM ̲PREEMPTED ̲FLAG = TRUE


      SAVE     ITEM ̲QEL.REF


      SAVE     ITEM ̲QEL ̲ATTR


      SAVE VIEW ̲OPEN ̲FLAG


      SAVE COPY ̲COUNTER

     SAVE DOC ̲ACC ̲APP ̲FLAG

      SAVE DOCUMENT ̲ACC ̲VARIABLES


      SAVE AWAITING ̲CIF ̲FLAG


      SAVE PRINTING ̲SYTE ̲TAB ̲FLAG

      SAVE PRINT ̲ITEM ̲CATEGORY


      CASE  RECEIVE ̲FIRST ̲QEL (WAIT:=TRUE,PRIS ̲PRINT ̲Q)
                       (INPUT.ATTRQEL,SUBQUEUE,CC):ERROR ̲OK
         ERROR?     ANALYSE ̲ERROR(CC,   ): OK
         OK?        S̲A̲V̲E̲ ̲R̲E̲F̲E̲R̲E̲N̲C̲E̲S̲ (4.2.1.6.3)

                    C̲M̲D̲ ̲T̲O̲ ̲P̲R̲O̲P̲(̲P̲R̲E̲E̲M̲P̲T̲)(4.2.1.6.6)



      END CASE


         END

Fig. 4.2.1.4.7.5-2…86…1 …02…   …02…   …02…   …02…                                               
          
         UPCO-RESTORE



     SET ITEM ̲PREEMPTED ̲FLAG = FALSE


     SET     ITEM ̲QEL ̲REF = PREEMPT ̲ITEM ̲QEL ̲REF

     SET     ITEM ̲QEL ̲ATTR = PREEMPT ̲ITEM ̲QEL ̲ATTR

     SET  VIEW ̲OEN ̲FLAG   = PREEMPT ̲VIEW ̲OPEN ̲FLAG

     SET    COPY COUNTER   = PREEMPT ̲COPY ̲COUNTER

     SET    DOC ̲ACC ̲APP ̲FLKAG = DOC ̲ACC ̲APP ̲FLAG


     RESTORE DOC ACC VARIABLES


     SET AWAITING ̲CIF ̲FLAG = PREEMPT ̲AWAITING ̲CIF ̲FLAG

     SET PRINTING ̲SYI ̲TAB ̲FLAG = PREEMPT ̲PRINTING ̲SYIE ̲TAB ̲FLAG

     SET PRINT ̲ITEM ̲CATEGORY    = PREEMPT ̲PRINTITEM.CATEGORY







         END











Fig. 4.2.1.4.2.5-3…86…1         …02…   …02…   …02…   …02…                                    
       
4.2.1.4.8    F̲L̲A̲S̲H̲ ̲I̲T̲E̲M̲S̲ ̲T̲O̲ ̲M̲D̲C̲O̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲ ̲



4.2.1.4.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̲

         The module searches the FLASH Queues and sends eventual
         FLASH-items to MDCO.



4.2.1.4.8.2 I̲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)  FLASH ̲ITEMS ̲TO ̲MDCO

         b)  FLASH ̲ITEMS ̲TO ̲MDCO(R6):OK

         R̲e̲g̲i̲s̲t̲e̲r̲ ̲C̲o̲n̲v̲e̲n̲t̲i̲o̲n̲

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

         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̲r̲r̲o̲r̲s̲

         None



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




4.2.1.4.8.3.1 C̲H̲E̲C̲K̲ ̲P̲R̲E̲V̲I̲O̲U̲S̲

         If the previous item was a report it is returned to
         its queue.  Else it is sent to the MDCO-Queue.  The
         subqueue will be of the same level as the levl from
         where the item was received.  Flowgram is depicted
         in Fig. 4.2.1.4.8.5.



4.2.1.4.8.3.2 S̲E̲N̲D̲ ̲T̲O̲ ̲M̲D̲C̲O̲

         Sends specified QEL to the specified MDCO-Subqueue.…86…1
                 …02…   …02…   …02…   …02…                                 
                  …86…1         …02…   …02…   …02…   …02…                      
                             
4.2.1.4.8.4 D̲a̲t̲a̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲

         TBD




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

         The module consists mainly of a Loop which is run through
         twice.  Once for each of the subqueues PREC1 and FLASH.
          All FLASH items met are sent to MDCO ogether with
         a FLASH-Notification.  Other items are returned to
         the queue.…86…1 …02…   …02…   …02…   …02…                             
                                    
         FLASH ̲ITEMS ̲TO ̲MDCO




      SET SUBQ ̲INDEX = PREC1


      LOOP


         C̲L̲E̲A̲N̲Q̲( -2  )


         SUBQ-INDEX EQ FLASH?    EXIT LOOP


         SET SUBQ ̲INDEX = FLASH



      END ̲LOOP



         END


















Fig. 4.2.1.4.8.5-1…86…1 …02…   …02…   …02…   …02…                                               
          
         CLEAN ̲Q

     CASE  RECEIVE ̲FIRST ̲QEL(WAIT: = FALSE;PRIS ̲PRINT ̲Q.SUBQ
 ̲INDEX )
                       (INPUT ̲ATTR,INPUT ̲QEL,SUBQUEUE,CC):ERROR
 ̲OK
        ERROR?  CASE ANALYSEERROR(CC,1,SUBQUEUE ̲EMPTY):(1)

                   L1?

                 END CASE

        OK?  LOOP

               SET PREVIOUS ̲QEL = INPUT ̲QEL

               SET PREVIOUS ̲ATTR = INPUT ̲ATTR

                 CASE RECEIVE ̲NEXT ̲QEL (PREVIOUS ̲QEL)
                        (INPUT ̲QEL,INPUT ̲ATTR,CC):ERROR ̲OK
                  ERROR? ̲CASE ANALYSE ̲ERROR(CC,1,SUBQUEUE ̲EMPTY):
                                           (ER1)
                            ER1?

                         ENDCASE        E̲X̲I̲T̲ ̲L̲O̲O̲P̲


                  OK?


                END CASE

                C̲H̲E̲C̲K̲ ̲P̲R̲E̲V̲I̲O̲U̲S̲ (  3  )

            END LOOP


            C̲H̲E̲C̲K̲ ̲P̲R̲E̲V̲I̲O̲U̲S̲ (  3  )




         END CASE

END

Fig. 4.2.1.4.8.5-2…86…1 …02…   …02…   …02…   …02…                                               
          
         CHECK ̲PREVIOUS


     PREVIOUS.ATTR.MAINTYPE EQ REPORT?


                        RETURN ̲ITEM (PREVIOUS ̲QEL)(CC):OK



     S̲E̲N̲D̲ ̲T̲D̲ ̲M̲D̲C̲O̲ ̲(̲P̲R̲E̲V̲I̲O̲U̲S̲ ̲Q̲E̲L̲,̲       S̲U̲B̲Q̲ ̲I̲N̲D̲E̲X̲)(  4 )



     D̲I̲S̲M̲A̲N̲T̲L̲E̲ ̲I̲T̲E̲M̲(̲P̲R̲E̲V̲I̲O̲U̲S̲ ̲Q̲E̲L̲,̲      PREVIOUS ̲ATTR)(4.2.1.6.5)




         END























Fig. 4.2.1.4.8.5-3…86…1 …02…   …02…   …02…   …02…                                               
          
         SEND ̲TO ̲MDCO (QEL,SUBQ ̲INDEX)



     CASE  SEND(MDCO ̲SEND ̲PARAMS,
                QEL,
                MDOS ̲MDQ.SUBQ ̲INDEX)
                (MDCO ̲SEND ̲PARAMS,CC) : ERROR ̲OK

        ERROR?  ANALYSE ̲ERROR(CC, 0 ):OK


        OK?


     END CASE


     CASE  SEND(FLASH ̲NOT ̲SEND ̲PARAMS,

                 NIL

                 MDOS ̲CCMDQ         )

                 (FLASH ̲NOT ̲SEND ̲PARAMS): ERROR ̲OK



        ERROR? - AALYSE ̲ERROR(CC, 0 ):OK



        OK?


     END CASE



         END



Fig. 4.2.1.8.5-4…86…1         …02…   …02…   …02…   …02…                                     
      
4.2.1.4.9    P̲R̲I̲N̲T̲I̲N̲G̲ ̲P̲R̲E̲P̲A̲R̲A̲T̲I̲O̲N̲S̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲



4.2.1.4.9.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 takes care of the necessary preparations
         to be made before printout of an item ca begin.
         The Print parameters are read.  For CIF    items the
         view is opened and the administration field is read.

         If appropriate Document Accounting Preparations (separate
         module) are carried out.



4.2.1.4.9.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̲

         )   PRINTING ̲PREPARATIONS

         b)  PRINTING ̲PREPARATIONS(R6):OK

         R̲e̲g̲i̲s̲t̲e̲r̲ ̲C̲o̲n̲v̲e̲n̲t̲i̲o̲n̲

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

         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̲r̲r̲o̲r̲s̲

         NONE



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




4.2.1.4.9.3.1 R̲E̲A̲D̲ ̲A̲D̲M̲I̲N̲I̲S̲T̲R̲A̲T̲I̲O̲N̲ ̲F̲I̲E̲L̲D̲

         The procedure reads in the administration field of
         the IMF or IF by a READ ̲VIEW ̲request (see flowgram).




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

         TBD.




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

         The print parameters are determined by calling the
         common procedure GET ̲LOW ̲SPEED ̲PAINT ̲PARAMETERS or
         GET ̲MEDIUM ̲SPEED ̲PAINT ̲PARAMETERS.
         The PRINT ̲ITEMCATEGORY is determined by a separate
         module and is used to destinguish between the different
         item types.…86…1 …02…   …02…   …02…   …02…                            
                                     
         PRINTING ̲PREPARATIONS


      CASE PRINTER ̲TYPE OF:

         LOW ̲SPEED?   G̲E̲T̲ ̲L̲O̲W̲ ̲S̲P̲E̲E̲D̲ ̲P̲R̲I̲N̲T̲ ̲P̲A̲R̲A̲M̲E̲T̲E̲R̲S̲(4.2.1.6.2)
         MEDIUM ̲SPEED?  G̲E̲T̲ ̲M̲E̲D̲I̲U̲M̲ ̲S̲P̲E̲E̲D̲ ̲P̲R̲I̲N̲T̲ ̲P̲A̲R̲A̲M̲E̲T̲E̲R̲(4.2.1.6.1)

      END ̲CASE

      SUBQUEUE EQ PREC1?

      SUBQUEUE EQ FLASH?    SET PRINTING ̲FLASH ̲FLAG = TRUE

      SET PRINTING ̲FLASH FLAG = FALSE

      SUBQUEUE EQ SYIE ̲TAB? SET PRINTING ̲SYIE ̲TAB ̲FLAG = TRUE

                            RECIVE ̲PRINT ̲Q(PREC1)(4.2.1.6.8)

                            RECEIVE ̲PRINT ̲Q ̲(FLASH)(4.2.1.6.8)

      SET PRINTING ̲SYIE ̲TAB ̲FLAG = FALSE

      D̲E̲T̲E̲R̲M̲I̲N̲E̲ ̲P̲R̲I̲N̲T̲ ̲I̲T̲E̲M̲ ̲C̲A̲T̲E̲G̲O̲R̲Y̲ (4.2.1.4.10)

      CASE PRINT ̲ITEM ̲PRINT ̲ITEM ̲CATEGORY CATEGORY OF:

        SINGLE ̲QEL?

         BUFFER ̲ITEM?  C̲M̲D̲ ̲T̲O̲ ̲P̲R̲O̲P̲(̲C̲O̲M̲M̲E̲N̲C̲E̲)(4.2.1.6.6)

                       SET COPY ̲COUNTER = 1

         IMF ̲ITEM?  U̲P̲C̲O̲ ̲P̲R̲C̲ ̲I̲M̲F̲ ̲I̲T̲E̲M̲ (  2   )

         IIF ITEM?  U̲P̲C̲O̲ ̲P̲R̲C̲ ̲I̲I̲F̲ ̲I̲T̲E̲M̲  (  3  )

         NOT ̲FOR ̲PRINT?   E̲R̲R̲O̲R̲ ̲R̲E̲ ̲(̲ ̲ ̲ ̲ ̲)̲(4.2.1.4.13)

                          R̲E̲C̲E̲I̲V̲E̲ ̲P̲R̲I̲N̲T̲ ̲Q̲ (4.2.1.6.8)

                          D̲I̲S̲M̲A̲N̲T̲L̲E̲ ̲I̲T̲E̲M̲ (PRINT ̲ITEM ̲QEL ̲REF,
                                          PRINT ̲ITEM ̲QEL ̲ATTR)
                                          (4.2..6.5)

           END CASE

         END                  Fig. 4.2.1.4.9.5-1…86…1 …02…   …02…   …02…   …02…
                                                           
              

 UPCO ̲ARC ̲IMF ̲ITEM







      CASE OPEN ̲VIEW(PRINT ̲ITEM ̲QEL ̲REF)
                    (CC):ERROR ̲O


         ERROR?    ANALYSE ̲ERROR(CC,   ):OK

         OK?

      END CASE

      R̲E̲A̲D̲ ̲A̲D̲M̲I̲N̲I̲S̲T̲R̲A̲T̲I̲O̲N̲ ̲F̲I̲E̲L̲D̲(  4  )

      DOC ̲ACC ̲APP ̲FLAG EQ FALSE?   SET COPY ̲COUNTER=1

      D̲O̲C̲U̲M̲E̲N̲T̲ ̲A̲C̲C̲O̲U̲N̲T̲I̲N̲G̲ ̲P̲R̲E̲P̲A̲R̲A̲T̲I̲O̲N̲S̲ (4.2.1.4.11)




      C̲M̲D̲ ̲T̲O̲ ̲P̲R̲O̲P̲ ̲(̲O̲M̲M̲E̲N̲C̲E̲)̲(4.2.1.6.6)









 END







Fig. 4.2.1.4.9.5-2…86…1 …02…   …02…   …02…   …02…                                           
              
 UPCO ̲PRC ̲IIF ̲ITEM







      SET COPY ̲COUNTER = 1





      CASE OPEN ̲VIEW (PRINT ̲ITEM ̲QEL ̲REF)(CC):ERROR
 ̲OK

         ERROR?     ANALYSE ̲ERROR(CC, 0 ):OK

         OK?

     END CASE

      R̲E̲A̲D̲ ̲A̲D̲M̲I̲N̲I̲S̲T̲R̲A̲T̲I̲O̲N̲ ̲F̲I̲E̲L̲D̲(  4  )




      C̲M̲D̲ ̲T̲O̲ ̲P̲R̲O̲P̲ ̲(̲C̲O̲M̲M̲E̲N̲C̲E̲)̲ (4.2.1.6.6)









 END







Fig. 4.2.1.4.9.5-3…86…1 …02…   …02…   …02…   …02…                                           
              
 READ ̲ADMINISTRATION ̲FIELD




     CASE READ ̲VIEW (PRIS ̲SOURCE ̲BUFFER LENGTH,

                     ADMINISTRATION ̲FIELD     ,

                     PRINT ̲ITEM ̲QEL ̲REF      ,

                     PRIS ̲SOURCE ̲BUFFER       )

                     (CC):ERROR-OK



        ERROR?          ANALYSE ERROR(CC, 0 ):OK


        OK?

    






















Fig. 4.2.1.4.9.5-4…86…1         …02…   …02…   …02…   …02…                                
           
4.2.1.4.10   D̲E̲T̲E̲R̲M̲I̲N̲E̲ ̲P̲R̲I̲N̲T̲ ̲I̲T̲E̲M̲ ̲C̲A̲T̲E̲G̲O̲R̲Y̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲



4.2.1.4.10.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 that is called by the PRINTING ̲PREPARATIONS
 Module determines which catgory (Single QEL, Buff,
 IMF or IIF) the print item belongs to.
 Additionally it determines whether document accounting
 is appropriate for the item in question and finally
 the Print Format File index is found.



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

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

 a)  DETERMINE ̲PRINT ̲ITEM ̲CATEGORY

 b)  DETERMINE ̲PRINT ̲ITEM ̲CATEGORY(R6):OK

 R̲e̲g̲i̲s̲t̲e̲r̲ ̲C̲o̲n̲v̲e̲n̲t̲i̲o̲n̲

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

 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̲r̲r̲o̲r̲s̲

 NONE…86…1         …02…   …02…   …02…   …02…                           
                
4.2.1.4.10.3 M̲o̲d̲u̲l̲e̲ ̲C̲o̲m̲p̲o̲n̲e̲n̲t̲s̲ ̲

 TBD



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

 TBD…86…1         …02…   …02…   …02…   …02…                            
               
4.2.1.4.10.5 M̲o̲d̲u̲l̲e̲ ̲D̲e̲s̲i̲g̲n̲

 TBD…86…1         …02…   …02…   …02…   …02…                            
               
4.2.1.4.11   D̲O̲C̲U̲M̲E̲N̲T̲ ̲A̲C̲C̲ ̲P̲R̲E̲P̲A̲R̲A̲T̲I̲O̲N̲S̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲



4.2.1.4.11.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 carries out the necessary preparations in
 order to perform Document Accountng during printout
 of an item.  the module is called by the PRINTING ̲PREPARATIONS
 Module.



4.2.1.4.11.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)  DOCUMENT ̲ACC ̲PREPARATIONS

 b)  DOCUMENT ̲ACC ̲PREPARATIONS(R6):OK

 R̲e̲g̲i̲s̲t̲e̲r̲ ̲C̲o̲n̲v̲e̲n̲t̲i̲o̲n̲

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

 6  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̲r̲r̲o̲r̲s̲

 NONE…86…1         …02…   …02…   …02…   …02…                           
                
4.2.1.4.11.3 M̲o̲d̲u̲l̲e̲ ̲C̲o̲m̲p̲o̲n̲e̲n̲t̲s̲

 TBD



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

 TBD…86…1         …02…   …02…   …02…   …02…                            
               
4.2.1.4.11.5 M̲o̲d̲u̲l̲e̲ ̲D̲e̲s̲i̲g̲n̲

 Preliminary Description:

 DETERMINE CLASSIFICATION

 DETERMINE TRANSACTION ID

 GET SYSPRINT CONTROL NO

 GET START ̲OF ̲TRANSMISSION ̲TIME AND CONVERT I TO DTG
 ̲FORMAT

 DETERMINE SPEC ̲HANDLING CONTROL NO IF APPROPRIATE

 DETERMINE NO OF COPIES

 IF APPROPRIATE INSERT 'SUSPECTED DUPLICATION' TEXT

 COMPUTE NO OF PAGES

 GET 'FROM SCD 'OR' FROM PLA ̲REF' AND DTG FROM ADM ̲FIELD
 AND STORE IT FOR USE INTRANSACTION ACCOUNTING.




4.2.1.4.12   T̲R̲A̲N̲S̲A̲C̲T̲I̲O̲N̲ ̲A̲C̲C̲O̲U̲N̲T̲I̲N̲G̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲



4.2.1.4.12.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 Common Module takes care of the final transaction
         accounting, which is required for omments, Messages
         and Service Messages.  The transaction accounting consists
         of generation and sending of Log records and Delivery
         Status Reports.



4.2.1.4.12.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)  TRANSACTION ̲ACCOUNTING (EXIT ̲CAUSE)

         b)  TRANSACION ̲ACCOUNTING(EXIT ̲CAUSE=  R1,R6):OK

         R̲e̲g̲i̲s̲t̲e̲r̲ ̲C̲o̲n̲v̲e̲n̲t̲i̲o̲n̲

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

         R1                          (EXIT ̲CAUSE ̲(DESTROYED)

         R6      LINK  (DESTROYED)

         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.1.4.12.3 M̲o̲d̲u̲l̲e̲ ̲C̲o̲m̲p̲o̲n̲e̲n̲t̲s̲

         TBD



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

             T̲B̲D̲




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

         TBD

         Preliminary description:

         BEGIN

         DETERMINE ̲FORMAT ̲IDENTIFICATION


         DETERMINE ̲STATUS CODE

         GET  END ̲OF ̲TRANSACTION ̲TIME


         RESERVE ̲BUFFER


         WITE BUFFER            "LOG RECORD BUFFER CONTENTS:


                                    DEVICE ̲DESIGNATOR,
                                    TRANSACTION ̲SERIAL ̲NO,
                                    FORMAT ̲IDENTIFICATION,
                                    START ̲OF ̲TRANSACTION ̲TIME,
                                    ITEM ̲QEL ̲REF
                                    EXIT CAUSE
                                    ITEM ̲QEL ̲ATTR, PROFILE,
                                    END ̲OF ̲TRANSACTION ̲TIME
                                    SYSTEM ̲PRINT ̲CONTROL ̲NUMBER,
                                    SPECIAL ̲HANDLING ̲PRINT ̲CONTROL ̲NO"


         SEND "REQUEST"(BUFFER)     "TO LOG PACKAGE
         RESERVE BUFFER             "FO DELIVERY STATUS REPORT"
         WRITE BUFFER               "CONTENTS: ITEM ̲QEL ̲REF,
                                    SCD OR PLA,
                                    DTG, STATUS ̲CODE,
                                    DEVICE ̲DESIGNATOR.

         SEND BUFFER TO UMAM ̲REQ ̲QUEUE

         END…86…1         …02…   …02…   …02…   …02…                …02…            
                        
4.2.1.4.13       E̲R̲R̲O̲R̲-̲R̲E̲P̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲



4.2.1.4.13.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 Error-Reporting Common Module handles all errors
         detected in UPCO and PROP, except those in conection
         with system calls, that are handled directly by the
         ANALYSE ̲ERROR procedure. The ERROR ̲REP is not a Common
         Package Procedure, because errors detected in PROP
         are reported to UPCO, which takes action on them.



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

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

         a)  ERROR ̲REP(ERROR ̲ID, PROCEDURE ̲ID)
         b)  ERROR ̲REP(ERROR ̲ID =  R1, PROCEDURE ̲ID=  R2,R6):OK

         R̲e̲g̲i̲s̲t̲e̲r̲ ̲C̲o̲n̲v̲e̲n̲t̲i̲o̲n̲s̲

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

         R1                         ERROR ̲ID (DESTROYED)
         R2                         PROCEDURE ̲ID (DESTROYED)
         R6      LINK

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

         R0 - R7     ESTROYED

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

         NONE




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

             TBD



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



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

             TBD

                 "The module mainly uses the
                 SEND ̲GARBLE procedure for its purpoes.




4.2.1.5      C̲o̲m̲m̲o̲n̲ ̲U̲P̲C̲O̲ ̲D̲a̲t̲a̲

             "FLAGS"

             ACTIVE ̲FLAG,
             PRINTER ̲ERROR ̲FLAG,
             PREEMPTION ̲CONTROL ̲FLAG,
             ITEM ̲PREEMPTED ̲FLAG,
             PRINTER ̲BUSY ̲FLAG,
             AWAITING ̲CIF ̲FLAG,
             CLOSE ̲DOW ̲FLAG,
             EXECUTING ̲FLASH ̲FLAG,
             PENDING ̲INIT ̲RECEIVE ̲CMD,
             PRINTING ̲S?? ̲TAB ̲FLAG,
             DOC ̲ACC ̲APP,
             VIEW ̲OPEN ̲FLAG:          BOOLEAN;…86…1         …02…   …02…
                                        …02…   …02…                …02…
                                                           
                                           
         "CONNECTIONS and File Names"

         PRINTER ̲CONNECTION,

         PF ̲FILE ̲DESCRIPTOR           :CONNECTION ̲TYPE;

         PFF ̲NAME                     :FILE ̲????TYPE";

         DIRECTORY                    :DIRECTORY ̲TYPE;

         "BLE's"

         UPCO ̲BLE1,

         UPO ̲BLE2,

         UPCO ̲BLE3,

             .

             .

         UPCO ̲BLEN                    :BLE ̲TYPE;

         PFF ̲ADDRESS                  :FILE ̲ADDRESS ̲TYPE;




4.2.1.6  C̲o̲m̲m̲o̲n̲ ̲U̲P̲C̲O̲ ̲P̲r̲o̲c̲e̲d̲u̲r̲e̲s̲



4.2.1.6.1    G̲E̲T̲ ̲M̲E̲D̲I̲U̲M̲ ̲S̲P̲E̲E̲D̲ ̲P̲R̲I̲N̲T̲ ̲P̲A̲R̲A̲M̲E̲T̲E̲R̲S̲ ̲S̲P̲E̲C̲.̲



4.2.1.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 gets the Medium Speed Print Parametersby
         issuing a System Call. The Parameters are stored in
         common PRIS variables.



4.2.1.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)  GET ̲MEDIUM ̲SPEED ̲PRINT ̲PARAMETERS
         b)  GET ̲MEDIUM ̲SPEED ̲PRINT ̲PARAMETERS (R6): OK

         R̲e̲g̲i̲s̲t̲e̲r̲ ̲C̲o̲n̲v̲e̲n̲t̲i̲o̲n̲

         C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲
         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̲r̲r̲o̲r̲s̲

         NONE




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

         PRIS Global Data:

         NO ̲OF ̲LINES ̲PER ̲PAGE:        INTEGER;
         NO ̲OF ̲LINES ̲BETWEEN ̲PAGES:   INTEGER;
         PREEMPTION ̲DELAY ̲LIMIT:      PREEMPT ̲DELAY ̲TYPE;



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

             N/A



4.2.1.6.2    G̲E̲T̲ ̲L̲O̲W̲ ̲S̲P̲E̲E̲D̲ ̲P̲R̲I̲N̲T̲E̲R̲ ̲P̲A̲R̲A̲M̲E̲T̲E̲R̲S̲ ̲S̲P̲E̲C̲.̲

         Equivalent to 4.2.1.6.1

         (GET ̲MEDIUM ̲SPEED ̲PRINT ̲PARAMETERS)



4.2.1.6.3    S̲A̲V̲E̲ ̲R̲E̲F̲E̲R̲E̲N̲C̲E̲S̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲



4.2.1.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 transfersthe values of the Input ̲QEL
         Reference and the Input ̲QEL Attributes to the corresponding
         variables pertinent to the current print item.




4.2.1.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)  SAVE ̲REFERENCES
         b)  SAVE ̲REFERENCES (R6):    OK

         R̲e̲g̲i̲s̲t̲e̲r̲ ̲C̲o̲n̲v̲e̲n̲t̲i̲o̲n̲

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

         R6      LINK

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

         R0 - R7     DESTRYED

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

         NONE




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

         PRIS GLOBAL DATA

         INPUT ̲QEL ̲REF,
         PRINT ̲ITEM ̲QEL ̲REF:          QEL ̲REFERENCE;

         INPUT ̲QEL ̲ATTR,
         PRINT ̲ITEM ̲QEL ̲ATTR:         QEL ̲ATTRIBUTES;



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

             N/A




4.2.1.6.4        R̲E̲T̲U̲R̲N̲ ̲I̲T̲E̲M̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲



4.2.1.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 returns the specified QEL to its appropriate
         QUEUE by calling the Q- monitor-procedur RETURN.



4.2.1.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)  RETURN ̲ITEM (QEL: QEL ̲REFERENCE)
         b)  RETURN ̲ITEM (QEL =  R2, R6): OK

         R̲e̲g̲i̲s̲t̲e̲r̲ ̲C̲o̲n̲v̲e̲n̲t̲i̲o̲n̲s̲

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

         R2                           QEL (DESTROYED)
         R6      LINK

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

         R0 - R7     DESTROYED

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

         NONE



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

             N/A



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

             N/A




4.2.1.6.5        D̲I̲S̲M̲A̲N̲T̲L̲E̲ ̲I̲T̲E̲M̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲



4.2.1.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̲

             The Procedure determines the item type (Single-QEL,
             Buffer, View) and issues the appropriate sytem
             call in order to dismantle the item.



4.2.1.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)  DISMANTLE ̲ITEM(QEL ̲REFERENCE,
                     QEL ̲ATTR: QEL ̲ATTRIBUTES)
             b)  DISMANTLE ̲ITEM(QEL =  R2),
                                      ADDRESS(ATTRIBUTES)= R3,
                                      R6): OK

             R̲e̲g̲i̲s̲t̲e̲r̲ ̲C̲o̲n̲v̲e̲n̲t̲o̲n̲

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

             R2                       QEL (DESTROYED)
             R3                       POINTER TO ATTRIBUTES
                                      (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̲r̲r̲o̲r̲

             NONE



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

             N/A…86…1         …02…   …02…   …02…   …02…                …02…        
                                

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

 DISMANTLE ̲ITEM(QEL, ATTRIBUTES)

     …02…CASE ATTRIBUTES.OBJECT OF:

             VIEW?-CAE SAVE ̲VIEW(TRUE,1,QEL)(CC):ERROR
             ̲OK

                     ERROR?-ANALYSE ̲ERROR(CC,0):OK

                     OK?

                 END CASE

             BUFFER?  - CASE DISMANTLE ̲BUFFER(QEL)(CC):ERROR
                     ̲OK

                     ERROR?-ANALYSE ̲ERROR(CC,0): OK

                     OK?

                 END CASE

             SINGLE ̲QEL?         DISMANTLE(QL)(CC):OK









         END CASE


 END…86…1 …02…   …02…   …02…   …02…   …02…   …02…           …02…    …02…    …02…   …02…        
           
4.2.1.6.6        C̲M̲D̲ ̲T̲O̲ ̲P̲R̲O̲P̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲



4̲.̲2̲.̲1̲.̲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̲

             The procedure issues the specified command
             to PROP by setting PRIS ̲UPCO ̲CMD ̲OP, ITEMNAME
             to the ommand Id and Signalling the operation
             semaphore PRIS ̲S2.



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

             a)  CMD ̲TO ̲PROP (CMD:UPCO ̲CMD ̲TYPE)
             b)  CMD ̲TO ̲PROP (CMD =  R1, R6):  OK

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

             R1                  COMMAND IDENTIFICATION(EST)
             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̲r̲r̲o̲r̲s̲

             N̲O̲N̲E̲



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

             "PRIS GLOBAL DATA:"

             PRIS ̲UPCO ̲CMD ̲OP:   OPERATION ̲SEMAPHORE;



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

             N/A…86…1 …02…   …02…   …02…   …02…   …02…   …02…           …02…    …02…   
             …02…   …02…                       
4.2.1.6.7    RECEIVE ̲CMD          Specification



4.2.1.6.7    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 'Receive-First-QEL
         from
         PRIS ̲CMD ̲Q' call and associates the operaton
         with PRIS ̲S1. It also indicates that an Init
         Receive Cmd QEL call is pending.



4.2.1.6.7.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)  RECEIVE ̲CMD
             b)  RECEIVE ̲CMD(R6):OK

             R̲e̲g̲i̲s̲t̲e̲r̲ ̲C̲o̲n̲v̲e̲n̲t̲i̲o̲n̲

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

             R6      LINK

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

             R0 - R7 DESTROYED

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

             NONE



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

             "UPCO GLOBAL Variable
             PENDING ̲INIT ̲RECEIVE ̲CMD:     BOOLEAN;…86…1
                                           …02…   …02…   …02…  
                                           …02…   …02…   …02…  
                                                   …02…
                                              …02…    …02… 
                                            …02…       
                                                   
                                             
4.2.1.6.7.4  P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲D̲e̲s̲i̲g̲n̲

 RECEIVE ̲CMD


     SET PENDING ̲INIT ̲RECEIVE ̲CMD = TRUE

     CASE INIT RECEIVE ̲FIRST ̲QEL (WAIT: = TRUE,

                                 PRIS ̲CMD ̲Q,

                                 PRIS ̲CMD ̲Q ̲OP)

                     (CC) ̲ ERROR ̲OK

         ERROR?      ANALYSE ̲ERROR(CC, O) OK


         OK?         ASSOCIATE(PRIS ̲S1,PRIS ̲CMD ̲Q.OP)

                                      (CC):    OK


     END ̲CASE



 END…86…1 …02…   …02…   …02…   …02…   …02…   …02…           …02…    …02…    …02…   …02…        
           
4.2.1.6.8    R̲E̲C̲E̲I̲V̲E̲ ̲P̲R̲I̲N̲T̲ ̲Q̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲



4.2.1.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̲

         The procedure initiates a Receive First QEL
         from the specified subqueue in PRIS ̲PRINT ̲Q.

         Te possible subqueues are:
         "Main", PREC 1, FLASH, STAT and SYTE ̲TAB.



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

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

         a)  RECEIVE ̲PRINT ̲Q's (SUBQUEUE)
         b)  RECEIVE ̲PRINT ̲Q(SUBQUEUE =  R1,R6): OK

         R̲e̲g̲i̲s̲t̲e̲r̲ ̲C̲o̲n̲v̲e̲n̲t̲i̲o̲n̲

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

         R1      SUBQUEUE                  DESTROYED
         R6      LINK                      DESTROYED

         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…86…1 …02…   …02…   …02…   …02…   …02…   …02…           …02…    …02…    …02…  
         …02…                   
4.2.1.6.8.3  D̲a̲t̲a̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲s̲

             UPCO Common Data


             PRIS ̲PRINT ̲Q ̲OP,
             PRIS ̲PREC1 ̲OP,
             PRIS ̲FLASH ̲OP,
             PRIS ̲STAT ̲OP,
             PRIS ̲SYIE ̲TAB ̲OP:   PRIS ̲COROUTINE ̲OPERATION;

             PRIS ̲PRINT ̲Q ̲ATTR,
             PRIS ̲PREC1 ̲ATTR,
             PRIS ̲FLASH ̲ATTR,
             PRIS ̲STAT ̲ATTR,
             PRIS ̲SYTE ̲TAB ̲ATTR: QEL ̲ATTRIBUTES;…86…1 …02… 
                                  …02…   …02…   …02…   …02…   …02…     
                                      …02…    …02…    …02…   …02…  
                                                 
4.2.1.6.8.4  P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲D̲e̲s̲i̲g̲n̲

 RECEIVE ̲PRINT ̲Q(SUBQUEUE)


     CASE SUBQUEUE OF :

         MAIN?   SET OPERATION = PRIS ̲PRINT.Q ̲OP

         PREC1?  SET OPERATION = PRIS ̲PREC1 ̲OP


         FLASH?  SETOPERATION = PRIS ̲FLASH=OP


         STAT?   SET OPERATION = PRIS ̲STAT ̲OP


         SYIE ̲TAB?-  SET OPERATION = PRIS ̲SYIE ̲TAB ̲OP


         OTHERWISE?              E̲R̲R̲O̲R̲ ̲R̲E̲P̲(̲ ̲ ̲ ̲ ̲)̲(4.2.1.4.13)



 END CASE

 CASE INIT RECEIVE ̲FIRST ̲QEL

                     (WAIT: = TRUE, PRIS ̲PRINT ̲Q.SUBQUEUE,              OPERATION)
                     (CC): ERROR ̲OK


     ERROR?      ANALYSE ̲ERROR(CC,0):OK

     OK?


     END CASE


 END…86…1 …02…   …02…   …02…   …02…   …02…   …02…           …02…    …02…    …02…   …02…        
           
4.2.1.6.9    S̲E̲N̲D̲ ̲R̲E̲P̲ ̲T̲O̲ ̲D̲E̲M̲C̲O̲ ̲S̲e̲p̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲



4.2.1.6.9.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 uses the SEND ̲REPLY mechanism
             to inform DEMCO of START, STOP and CLOSE
             ̲DOWN Cmmand Completion.



4.2.1.6.9.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)  SEND ̲REP ̲TO ̲DEMCO
             b)  SEND ̲REP ̲TO ̲DEMCO (R6): OK

             R̲e̲g̲i̲s̲t̲e̲r̲ ̲C̲o̲n̲v̲e̲n̲t̲i̲o̲n̲

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

             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̲r̲r̲o̲r̲s̲
             NONE



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

             UPCO Common Data:

             DEMCO ̲CMD ̲QEL ̲REF,

             DEMC ̲CMD ̲QEL ̲ATTR



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

             N/A…86…1 …02…   …02…   …02…   …02…   …02…   …02…           …02…    …02…   
             …02…   …02…                   
4.2.1.6.10       C̲H̲E̲C̲K̲ ̲V̲I̲E̲W̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲



4.2.1.6.10.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 checks if an open view exists
             pertinent to the current item. In case
             there is, itwill be closed.



4.2.1.6.10.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)  CHECK ̲VIEW
             b)  CHECK ̲VIEW (R6): OK

             R̲e̲g̲i̲s̲t̲e̲r̲ ̲C̲o̲n̲v̲e̲n̲t̲i̲o̲n̲

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

             R6      LINK

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

             R0 - R7             DESTROYED

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

             NONE…86…1 …02…   …02…   …02…   …02…   …02…   …02…           …02…    …02…  
              …02…   …02…                   
4.2.1.6.10.3 D̲a̲t̲a̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲

             "UPCO Common Data:

             VIEW ̲OPEN ̲FLAG:     BOOLEAN;

             ITEM ̲QEL ̲REF:       QEL ̲REFERENCE;



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

             Ref. Fig. 4.2.1.6.10…86…1 …02…   …02…   …02…   …02…   …02…   …02… 
                      …02…    …02…    …02…   …02…                  
             
 CHECK ̲VIEW


     VIEW ̲OPEN ̲FLAG EQ TRUE?     CASE CLOSE ̲VIEW
                                           (PRINT ̲ITEM
                                           ̲QEL ̲REF)
                                           (CC): ERROR
                                           ̲OK


                                 ERROR?    ANALYSE ̲ERROR
                                           (CC, 0):
                                           OK


                                 OK?



                     END CASE


                                 SET VIEW ̲OPEN ̲FLAG
                                 = FALSE



     END






















                 FIG. 4.2.1.6.10