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

⟦91364178e⟧ Wang Wps File

    Length: 52759 (0xce17)
    Types: Wang Wps File
    Notes: Spelunked
    Names: »~ORPHAN61.00«

Derivation

└─⟦c518842e8⟧ Bits:30006081 8" Wang WCS floppy, CR 0125A
    └─ ⟦this⟧ »~ORPHAN61.00« 

WangText



<…09…<…0b…<…0e…;…0b…;…0f…;…00…; :…09…:…0d…:…01…:…02…:…07…9…0e…9…0f…9…00…9
9…07…8…09…8…0c…8…00…8…02…8…05…7…08…7…0d…7…0f…7…00…7…05…6…0a…6…0f…6…01…6 6…07…5…0a…5…0e…5…01……86…1
                
                
                
                
                
                
                
                
                
                
                
                
                
                
                
                
                
                
                
                
                
                
                
                
                
                
                
                
                
                
                
                
                
                
                
                
                
                
                
                
                
                
                
                
                
                …02…
                
                
                
                
                
                
                
                
                
                
                …02…
                
                …02…
                
                
                
                
                
                
                
                

…02…CPS/SDS/034

…02…NJ/831101
   …02…
MESSAGE
 DISTRIBUTION
DETAILED
 DESIGN
 SPECIFICATION…02…ISSUE
 1…02…CAMPS







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

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

             MDP ̲WRITE ̲TYPE                      ref. sect.4.2.1.5
             QUEUE ̲LIST                          ref. DBD, sect.10.1.7

         b)  E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲

             MDP ̲PARAM ̲NUMBER.OF ̲ACTION ̲SCD                         MDP
                                                                    ̲PARAM.NUMBER
                                                                    ̲OF
                                                                    ̲INFO
                                                                    ̲SCD
             MDP ̲PARAM.ACTION ̲SCD ̲OFFSET
             MDP ̲FIELD ̲LIST
             MDP ̲VIEW ̲REF ̲1
             AC ̲INFO ̲SCD ̲OFFSET
             ACTION ̲COUNT ̲OFFSET
             ACTION ̲INFO ̲COUNT ̲LENGTH            ref. sect.4.2.1.5
             ACTION ̲OFFSET ̲OFFSET
             ACTION ̲INFO ̲OFFSET ̲LENGTH
             MDP ̲WRITE
              ̲LIST
             QUEUE ̲LINE ̲LENGTH
             Q ̲LIST ̲OFFSET

         c)  L̲o̲c̲a̲l̲ ̲D̲a̲t̲a̲

             CONST NO ̲OF ̲QUEUE ̲LIST ̲AREAS = 1;
             CONST NO ̲OF ̲SCD ̲LIST ̲AREAS = 3;
             CONST COUNT ̲LENGTH = 1;
             VAR WRITE ̲BUFFER ̲SIZE: INTEGER;
             VAR MDP ̲WRITE ̲OFFSET: INTEGER;



4.2.1.4.14.5 M̲o̲d̲u̲l̲e̲ ̲D̲e̲s̲g̲n̲ 

         This utility module writes a specified part of the
         MDP ̲BUFFER into the IMF. It is either the SCD list
         field and the associated offsets and counts in the
         administration field or the Queue list field. The main
         procedure is the MDP ̲WRITE ̲BUFFER.Via this procedure
         is the CREATE ̲SCD ̲LIST ̲WRITE ̲PARAMS and CREATE ̲QUEUE
         ̲LIST ̲WRITE ̲PARAMS called. This is done by a case statement.
         In these procedures the appropriate WRITE ̲PARAMS are
         setup. (See figure 4.2.1.4.1.4.5 -2 and 3. The actual
         WRITE is erformed in the procedure MDP ̲WRITE ̲BUFFER.
         See figure 4.2.1.4.1.4.5-1.…86…1…02…  …02…     …02…   …02…   …02…   …02…      
                           …02…                       
             MDP ̲WRITE ̲BUFFER(MDP ̲WRITE)


         START


         CASE MDP ̲VIEW ̲WRITE 

             SCD ̲LIST ̲WRITE?   CREATE ̲SCD ̲LIST ̲WRITE ̲PARAMS

             QUEUE ̲LIST ̲WRITE?   CREATE ̲QUEUE ̲LIST ̲WRITE ̲PARAMS

         END CSE


             WRITE ̲VIEW (WRITE ̲BUFFER ̲SIZE,
                        MDP ̲FIELD ̲LIST,
                        MDP ̲VIEW ̲REF ̲1,
                        MDP ̲WRITE ̲OFFSET,
                        (CC): ERROR ̲OK


             STOP
























Fig. 4.2.1.4.14.5-1…86…1…02…  …02…     …02…   …02…   …02…   …02…                         …02…               
        
             CREATE ̲QUEUE ̲LIST ̲WRITE ̲PARAMS

         START

         EQUIVALENCE(MDP ̲BUFFER(Q ̲LIST ̲OFFSET),
                     Q ̲LIST: QUEUE ̲LIST);

         MDP ̲FIELD ̲LIST.MDP NO ̲OF ̲FIELDS = NO ̲OF ̲QUEUE ̲LIST
         ̲AREAS

         MDP ̲FELD ̲LIST.ELEMENTS(1).FIELD ̲GROUP ̲ID = QUEUE ̲LIST
         ̲FIELD;

         MDP ̲FIELD ̲LIST.ELEMENTS(1).FIELD ̲BYTE ̲ADDRESS = ZERO

         MDP ̲FIELD ̲LIST.ELEMENTS(1).RECORD ̲LENGTH = COUNT ̲LENGTH
         + (Q ̲LIST.
         QUEUE ̲LINE ̲NUMBER * QUEUE ̲LINE ̲LENGTH)

         MDP ̲WRITE ̲OFFSET = MDP ̲BUFER(Q ̲LIST ̲OFFSET)

         WRITE ̲BUFFER ̲SIZE = COUNT ̲LENGTH + (Q ̲LIST.QUEUE ̲LINE
         ̲NUMBER *
                                                 QUEUE ̲LINE
                                                 ̲LENGTH)

         STOP























Fig. 4.2.1.4.14.5-2…86…1…02…  …02…     …02…   …02…   …02…   …02…                         …02…               
        
             CREATE ̲SCD ̲LIST ̲WRITE ̲PARAMS

         START

         MDP ̲FIELD ̲LIST.MDP NO ̲OF ̲ELEMENTS = NO ̲OF ̲SCD ̲LIST
         ̲WRITE ̲AREAS

         MDP ̲FIELD ̲LIST.FIELD ̲LIST ̲ENTRY(2).FIELD ̲GROUP ̲ID =
         ADM ̲FIELD;

         MDPFIELD ̲LIST.FIELD ̲LIST ̲ENTRY(2).FIELD ̲BYTE ̲ADDRESS=ACTION
         ̲COUNT ̲
                                                                     OFFSET
                                                                     *
                                                                     2,

         MDP ̲FIELD ̲LIST.FIELD ̲LIST ̲ENTRY(2).RECORD ̲LENGTH=ACTION
         ̲INFO ̲COUNT ̲
                                                                     LENGTH
                                                                     *
                                                                     2,

         MDP ̲FIELD ̲LIST.FIELD ̲LIST ̲ENTRY(3).FIELD ̲GROUP ̲ID =
         ADMINISTRATION ̲
                                                                    FIELD;

         MDP ̲FIELD ̲LIST.FIELD ̲LIST ̲ENTRY(3).FIELD ̲BYTE ̲ADDRESS=ACTION
         ̲OFFSET ̲
                                                                     OFFSET
                                                                     *
                                                                     2;

         MDP ̲FIELD ̲LIST.FIELD ̲LIST ̲ENTRY(3).RECORD ̲LENGTH=ACTION
         ̲INFO ̲OFFSET ̲
                                                                     LENGTH
                                                                     *
                                                                     2;

         MDP ̲FIELD ̲LIST.FIELD ̲LIST ̲ENTRY(1).FIELD ̲GROUP ̲ID=SCD
         ̲LIST ̲IELD;

         MDP ̲FIELD ̲LIST.FIELD ̲LIST ̲ENTRY(1).FIELD ̲BYTE ̲ADDRESS
         =
         MDP ̲PARAM.ACTION ̲SCD ̲OFFSET * 2;

         MDP ̲FIELD ̲LIST.FIELD ̲LIST ̲ENTRY(1).RECORD ̲LENGTH =
         (MDP ̲PARAM.NUMBER ̲OF ̲ACTION ̲SCD + MDP ̲PARAM.NUMBER
         ̲OF ̲INFO ̲SCD) * 4;

         WRITE ̲BUFFER ̲SIZE =((MDP ̲ARAM.NUMBER ̲OF ̲ACTION ̲SCD
         +
                                                                    MDP
                                                                    ̲PARAM.NUMBER
                                                                    ̲OF
                                                                    ̲INFO
                                                                    ̲SCD)
                                                                    *
                                                                    4)
                                                                    +
                                                   ((ACTION
                                                 ̲INFO ̲COUNT
                                                 ̲LENGTH + ACTION
                                                 ̲INFO ̲OFFSET
                                                 ̲
                                                                    LENGTH)
                                                                    *
                                                                    2)

         MDP ̲WRITE ̲OFFSET: MPD ̲BUFFER(AC ̲INFO ̲SCD ̲OFFSET)

         STOP












Fig. 4.2.1.4.14.5-3…86…1…02…  …02…     …02…   …02…   …02…   …02…            …02…            …02…                
       
4.2.1.4.15       T̲e̲s̲t̲ ̲M̲D̲C̲O̲ ̲I̲n̲v̲o̲c̲a̲t̲i̲o̲n̲ 



4.2.1.4.15.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 utility module controls the message on
                 basis of the specifications described in section
                 42.1.1.16, and requests updates of the MDCO
                 ̲ERROR ̲LIST on basis of the control.



4.2.1.4.15.2 I̲n̲t̲e̲r̲f̲a̲c̲e̲ ̲D̲e̲f̲i̲n̲i̲t̲i̲o̲n̲ 

                 a)  TEST ̲MDCO ̲INVOCATION (MDCO ̲ERROR ̲LIST :
                     INTEGER)
                                                                     (MDCO
                                                                     ̲ERROR
                                                                     ̲LIST
                                                                     :
                                                                     INTEGER,
                                                                     
                                                                     MDCO
                                                                     ̲INV
                                                                     :
                                                                     BOOLEAN)

                 b)  TEST ̲DCO ̲INVOCATION(R0, R1, R6)

                     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̲

                     R0 MDCO ̲ERROR ̲LIST                             (KEPT)
                     R6 LINK                                         (DEST)

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

                     R1 MDCO ̲INV
                     R2 - R7                                         (DEST)



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

                     UPDATE ̲MDCO ̲ERROR ̲LIST(xternal procedure)
                     TEST ̲MDCO ̲INVOCATION(Internal procedure)
                     TEST ̲MORE ̲THAN ̲ONE ̲SHI (Internal procedure)
                     TEST ̲SUPV ̲SPEC (Internal procedure)
                     CONTROL ̲MDCO ̲ERROR ̲LIST (Internal procedure)

                     See figure 4.2.1.4.15.3-1…86…1…02…  …02…     …02…   …02…  
                     …02…   …02…            …02…            …02…           
                                













































TEST ̲MDCO ̲INVOCATION COMPONENTS…01…Fig. 4.2.1.4.15.3-1…86…1…02…  …02…     …02…   …02…   …02…   …02…            …02…            …02… 
                      
4.2.1.4.15.4 D̲a̲t̲a̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲ 

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

                     None

                 b)  E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲

                     MDCO ̲ERROR ̲LIST (m)
                     MDP ̲QEL ̲ATTR.HEADER.INF
                     MDP ̲QEL ̲ATTR.PROFILE                           Ref
                                                                    Sectio
                                                                    4.2.1.5
                     MDCO ̲INV (m)
                     MDP ̲PARAM.CLASS
                     MDP ̲SYS ̲PARAM

                 c)  L̲o̲c̲a̲l̲ ̲D̲a̲t̲a̲

                     VAR
                     MORE ̲THAN ̲ONE : BOOLEAN



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

                 This utility module tests the following conditions
                 and updates the MDCO ̲ERROR ̲LIST in accordanc
                 with the result of each test.

                 -   Garbled SIC
                 -   Missing SIC
                 -   Internal Handling Inst. detected
                 -   Special Handling Inst. Crypto Security
                     detected
                 -   Special Handling Inst. Exclusive detected
                 -   More than one Special Handling Inst. deected
                 -   All messages of specified classification

                 After end test of the parameters the MDCO ̲ERROR
                 ̲LIST is checked an if MDCO ̲invocation is necessary
                 the MDCO ̲INV is set to true.…86…1…02…  …02…     …02…   …02…   …02…
                   …02…        …02…   …02…            …02…                 
                      
             TEST ̲MDCO ̲INVOCATION

         START

MDP ̲QEL ̲ATTR.HEADER.INF(BIT 9)?   UPDATE ̲MDCO ̲ERROR ̲LIST(UP
 ̲GARBLED ̲SICS,
EQ GARBLED ̲SIC ̲DET                                         
                                                 MDCO ̲ERROR
                                                 ̲LIST)(MDCO
                                                 ̲ERROR ̲LIST)


MP ̲QEL ̲ATTR.HEADER.INF(BIT 10)?  UPDATE ̲MDCO ̲ERROR ̲LIST(UP ̲MISSING
 ̲SICS,
EQ MISSING ̲SIC ̲DET                                                  
                                                                    
                                                                    MDCO
                                                                    ̲ERROR
                                                                    ̲LIST)(MDCO
                                                                    ̲ERROR
                                                                    ̲LIST)


MDP ̲QEL ̲ATTR.HEADER.INF(BIT 8)?   UPDATE ̲MDCO ̲ERROR ̲LIST(UP
 ̲INT ̲HAND ̲INST
EQ IHI ̲DET                                                          
                                                                    
                                                                    MDCO
                                                                    ̲ERROR
                                                                    ̲LIST)(MDCO
                                                                    ̲ERRO
                                                                    ̲LIST)


MDP ̲QEL ̲ATTR.PROFILE(BIT 6)?   UPDATE ̲MDCO ̲ERROR ̲LIST(UP ̲S ̲H
 ̲I ̲CRYPTO ̲SEC
EQ CRYPTO ̲IND                                            MDCO
                                                 ̲ERROR ̲LIST)(MDP
                                                 ̲ERROR ̲LIST)


MDP ̲QEL ̲ATTR.PROFILE(BIT 7)?   UPDATE ̲MDCO ̲ERROR ̲LIST(UP ̲S ̲H
 ̲I ̲EXCL
EQ EXCL ̲IND                                      MDCO ̲ERROR
                                                 ̲LIST)(MDCO
                                                 ̲EROR ̲LIST)


TEST ̲MORE ̲THAN ̲ONE ̲SHI (  )   (MORE ̲THAN ̲ONE)

MORE ̲THAN ̲ONE EQ TRUE?  UPDATE ̲MDCO ̲ERROR ̲LIST(UP ̲MORE ̲THAN
 ̲ONE ̲SHI
                                                                     MDCO
                                                                     ̲ERROR
                                                                     ̲LIST)(MDCO
                                                                     ̲ERROR
                                                                     ̲LIST)

         TEST ̲SUPV ̲SPEC

         CONTROL ̲MDCO ̲ERROR ̲LIST(  )(MDCO ̲INV)


         STOP












Fi. 4.2.1.4.15.5-1…86…1…02…  …02…     …02…   …02…   …02…   …02…            …02…            …02…                 
      
             TEST ̲SUPV ̲SPEC

         START

         CASE MDP ̲PARAM.CLASS OF

             UNCLASSIFIED?  -                    MDP ̲SYS ̲PARAM.MDCO
                                                 ̲UNCLASSIFIED
                                                 EQ FALSE?

                                                                    UPDATE
                                                                    ̲MDCO
                                                                    ̲ERROR
                                                                    ̲LIST(UP
                                                                    ̲SPEC
                                                                    ̲BY
                                                                    ̲SUPV,
                                                                    MDCO
                                                                    ̲ERRR
                                                                    ̲LIST)(MDCO
                                                                    ̲ERROR
                                                                    ̲LIST)

             RESTRICTED?  -                      MDP ̲SYS ̲PARAM.MDCO
                                                 ̲RESTRICTED
                                                 EQ FALSE?

                                                                    UPDATE
                                                                    ̲MDCO
                                                                    ̲ERROR
                                                                    ̲LIST(UP
                                                                    ̲SPEC
                                                                    ̲BY
                                                                    ̲SUPV
                                                                    MDCO
                                                                    ̲ERROR
                                                                    ̲LIST)(MDCO
                                                                    ̲ERROR
                                                                    ̲LIST)

             CONFIDENTIAL? -                     MDP ̲SYS ̲PARAM.MDCO
                                                 ̲CONFIDENTIAL
                                                 EQ FALSE?

                                                                    UPDATE
                                                                    ̲MDCOERROR
                                                                    ̲LIST(OP
                                                                    ̲SPEC
                                                                    ̲BY
                                                                    ̲SUPV
                                                                    MDCO
                                                                    ̲ERROR
                                                                    ̲LIST)(MDCO
                                                                    ̲ERROR
                                                                    ̲LIST)

             SECRET? -                                              MDP
                                                                    ̲SYS
                                                                    ̲PARAM.MDCO
                                                                    ̲SECRET
                                                                    EQ
                                                                    FALSE?

                                                                    UPDATE
                                                                    ̲MDCO
                                                                    ̲ERROR
                                                                    ̲LIST(UP
                                                                    ̲SPEC
                                                                    ̲BY
                                                                    ̲SUPV
                                                                    MDCO
                                                                    ̲ERROR
                                                                    ̲LIST)(MDCO
                                                                    ̲ERROR
                                                                    ̲LIST)

             COSMIC ̲TOP ̲
             SECRET? -                                              MDP
                                                                    ̲SYS
                                                                    ̲PARAM.MDC
                                                                    ̲CTS
                                                                    EQ
                                                                    FALSE?

                                                                    UPDATE
                                                                    ̲MDCO
                                                                    ̲ERROR
                                                                    ̲LIST(UP
                                                                    ̲SPEC
                                                                    ̲BY
                                                                    ̲SUPV
                                                                    MDCO
                                                                    ̲ERROR
                                                                    ̲LIST)(MDCO
                                                                    ̲ERROR
                                                                    ̲LIST)

         END CASE


         STOP











Fig. 4.2.1.4.15.5-2…86…1…02…  …02…     …02…   …02…   …02…   …02…            …02… …02…          …02…   …02…              
     
4.2.1.4.16       C̲O̲N̲V̲ ̲S̲C̲D̲ ̲L̲I̲S̲T̲ ̲T̲O̲ ̲Q̲ ̲L̲I̲S̲T̲ 



4.2.1.4.16.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 utility module converts a list of
                     SCDs to a Queue List. A fixed number of
                     SCDs is usedas keys for access of TMP during
                     each convertion loop run. This gives  flexibility
                     in the number of SCD which can be converted.



4.2.1.4.16.2 I̲n̲t̲e̲r̲f̲a̲c̲e̲ ̲D̲e̲f̲i̲n̲i̲t̲i̲o̲n̲

                 a)  CONV ̲SCD ̲LIST ̲TO ̲Q ̲LIST (SCD ̲POINTER: POINTER
                     ̲TYPE,
                                                                      NO
                                                                      ̲OF
                                                                      ̲SCD
                                                                      : COUNER
                                                                        ̲TYPE,
                                                                      MAX
                                                                      ̲Q
                                                                      ̲ENTRY: COUNTER
                                                                             ̲TYPE)
                                                                      (SCD
                                                                      ̲POINTER: POINTER
                                                                               ̲TYPE,
                                                                      MAX
                                                                      ̲Q
                                                                      ̲ENTRY: COUNTER
                                                                             ̲TYPE)

                 b)  CONV ̲SCD ̲LIST ̲TO ̲Q ̲LIST(R6)

                 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̲

                 R0 NO ̲OF ̲SCD                    (DEST)
                 R4 MAX ̲Q ̲ENTRY                  (KEPT)
                 R5SCD ̲POINTER                   (KEPT)
                 R6 LINK                                             (DEST)

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

                 R0 - R3, R6 - R7                (DEST)…86…1…02…  …02… 
                                                    …02…   …02…   …02… 
                                                  …02…         
                                                   …02… …02…       
                                                   …02…   …02…     
                                                           
                                                   













































Fig. 4.2.1.4.16.3-1…01…CONV ̲SCD ̲LIST ̲TO ̲Q ̲LIST COMPONENTS…86…1…02…  …02…     …02…   …02…   …02…   …02…            …02… …02…          …02… 
  …02…                   
4.2.1.4.16.3 M̲o̲d̲u̲l̲e̲ ̲C̲o̲m̲p̲o̲n̲e̲n̲t̲s̲

                 CONV ̲SCD ̲LIST ̲TO ̲Q ̲LIST (Internal procedure)
                 GET ̲SCD ̲TABLE ̲OUTPUT (Internal procedure)
                 CREATE ̲KEY ̲LIST (Internal procedure)
                 UPDATEQ ̲LIST (Internal procedure)
                 COMPARE ̲REF ̲REC ̲WITH ̲Q ̲LIST (Internal procedure)
                 CREATE ̲NEW ̲Q ̲LINE (Internal procedure)

                 See figure 4.2.1.4.16.3-1



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

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

                     SCD ̲REC                                         ref.
                                                                     DBD
                                                                     section
                                                                     6
                     QUUE ̲LIST                                      ref.
                                                                    DBD
                                                                    section
                                                                    10.1.7
                     KEY ̲SCD ̲LIST                                   ref.
                                                                    section
                                                                    4.2.1.5

                 b)  E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲

                     SCD ̲POINTER (m)                                ref.
                                                                    section
                                                                    4.2.1.5
                     NO ̲OF ̲SCD                                       "
                     MAX ̲Q ̲ENTRY (m)                                 "
                     KEY ̲LIST ̲OFFSET                                 "
                     OUTPUT ̲OFFSET                                   "
                     OUTPUT ̲LENGTH                                   "
                 Q ̲LIST (m)                                          "
                     MAX ̲KEY                                          "
                     KEY ̲LIST                                        "

                 c)  L̲o̲c̲a̲l̲ ̲D̲a̲t̲a̲

                     TYPE MDP ̲SCD ̲TABLE          = ARRAY(1..MAX
                                                 ̲KEY)OF SCD
                                                 ̲REC;
                     VAR NO ̲OF ̲REMAIN ̲SCD        :                  COUNTER
                                                                    ̲TYPE;
                     VAR NO ̲OF ̲KEY               :                  COUNTER
                                                                    ̲TYPE;
                     VAR NO ̲OF ̲OUTPUT            :                  COUNTER
                                                                    ̲TYPE;
                     CONST MDPREAD ̲MASK          = # FFFF;
                     VAR CUR ̲ENTRY               :                  COUNTER
                                                                    ̲TYPE;
                     VAR REF ̲ENTRY               :                  COUNTER
                                                                    ̲TYPE;
                     CONST SCD ̲LENGTH            = 2;…86…1…02…  …02…   
                                                  …02…   …02…   …02…   …02…
                                                           
                                                 …02… …02…         
                                                 …02…   …02…       
                                                           
                                                 
4.2.1.4.16.5 M̲o̲d̲u̲l̲e̲ ̲D̲e̲s̲i̲g̲n̲

                 This utility module contains six internal procedures
                 each of the procedures are described in the
                 following.

                 In figure 4.2.1.4.16.5-1 is shon the table
                 manipulations.

                 a)  C̲O̲N̲V̲ ̲S̲D̲C̲ ̲L̲I̲S̲T̲ ̲T̲O̲ ̲Q̲ ̲L̲I̲S̲T̲

                     This procedure works on table A in figure
                     1.4.16.5-1. It divides the SCD LIST to
                     a set of key SCD lists which each contains
                     "MAX ̲KEY" SCDs, except the last one which
                     contains the remainng number of SCDs.

                 b)  C̲R̲E̲A̲T̲E̲ ̲K̲E̲Y̲ ̲L̲I̲S̲T̲

                     This procedure creates the Input key List
                     (table B) from a specified key SCD List
                     (table A entry). The key list contains
                     max "MAX ̲KEY" keys.

                 c)  G̲E̲T̲ ̲S̲C̲D̲ ̲T̲A̲B̲L̲E̲ ̲O̲U̲T̲P̲U̲T̲

                     This procedure requests TMPfor search in
                     the SCD table with the key list used as
                     input. The TMP output is shown in table
                     C.
                     The procedure checks the INFO parameter
                     in each single parameter record in the
                     key list too. By this check the number
                     of Output records are identifed.

                 d)  U̲P̲D̲A̲T̲E̲ ̲Q̲ ̲L̲I̲S̲T̲

                     This procedure contains the reference loop.
                     This loop points out the actual SCD record
                     in table C which shall be used as reference
                     in the compare loop in COMPARE ̲REF ̲REC
                     ̲WITH ̲Q ̲LIST.

                 e)  C̲O̲M̲P̲A̲R̲E̲ ̲R̲E̲F̲ ̲R̲E̲C̲ ̲W̲I̲T̲H̲ ̲Q̲ ̲L̲I̲S̲T̲ 
                     This procedure contains the compare loop.
                     It compares the referenced SCD record with
                     each Queue line in the Queue list. Compare
                     is done on the logical designator and the
                     device ID. If equal the SCD from the referenced
                     SCD record is inserted inthe appropriate
                     Queue line. If no equality is found with
                     any of the Queue lines a new Queue line
                     is created.


             f)  C̲R̲E̲A̲T̲E̲ ̲N̲E̲W̲ ̲Q̲ ̲L̲I̲N̲E̲

                 This procedure creates a new Queueline
                 on basis on the referenced SCD record.…86…1…02…
                  …02…     …02…   …02…   …02…   …02…            …02… …02…     
                     …02…   …02…                   















































Fig. 4.2.1.4.16.5-1…86…1…02…  …02…     …02…   …02…   …02…   …02…            …02… …02…          …02…   …02…          
         
         CONV ̲SCD ̲LIST ̲TO ̲Q ̲LIST(SCD ̲POINTER,NO ̲OF
         ̲SCD, MAX-Q-ENTRY)
                                    (SCD ̲POINTER,MA
                                    ̲ ̲Q ̲ENTRY)

   START


   NO ̲OF ̲REMAIN ̲SCD = NO ̲OF ̲SCD

   LIST ̲CONVERT LOOP

         NO ̲OF ̲REMAIN ̲SCDEQ ZERO?  EXIT LIST ̲CONVERT

         NO ̲OF ̲REMAIN ̲SCD GT MAX ̲KEY?  - NO ̲OF ̲KEY
         = MAX ̲KEY

         NO ̲OF ̲KEY = NO ̲OF ̲REMAIN ̲SCD          NO ̲OF
                                               ̲REMAIN
                                               ̲SCD
                                               = NO
                                               ̲OF ̲REMAIN
                                               ̲SCD
                                               ̲MAX
                                               ̲KEY

         NO ̲OF ̲REMAIN ̲SCD = ZERO

         GET ̲SCD ̲TABLE ̲OUTPUT 

         SCD ̲POINTER = SCD ̲POINTER + (NO ̲OFKEY * SCD
         ̲LENGTH)

         NO ̲OF ̲OUTPUT EQ ZERO?

         UPDATE ̲Q ̲LIST

   END LIST ̲CONVERT LOOP

   STOP

















Fig. 4.2.1.4.16.5-2…86…1…02…  …02…     …02…   …02…   …02…   …02…            …02… …02…          …02…   …02…          
         
         GET ̲SCD ̲TABLE ̲OUTPUT(SCD ̲POINTER, NO ̲OF ̲KEY)(NO
         ̲OF ̲OUTPUT)

   START

   EQUIVALENCE(MDP ̲BUFFER(SCD ̲POINTER),
                 SCD: KEY ̲SCD ̲LIST);

   EQUIVALENCE(MDP ̲BUFFER(KEY ̲LIST ̲OFFSET),                             KEY
                                                                        ̲REC:MDP
                                                                        KEY
                                                                        ̲LIST)

   CREATE ̲KEY ̲LIST(NO ̲OF ̲KEY)

   SEARCH ̲PRIMARY ̲KEY(SCD ̲TABLE, MDP ̲BUFFER(KEY ̲LIST
   ̲OFFSET),
                      NO ̲OF ̲KEY,OUTPUT ̲LENGTH, MDP
                     ̲READ ̲MASK)
                     (MDP ̲SCD ̲REC, CC): ERROR ̲OK

   ERROR? -      ANALYZE ̲ERROR(CC,0)

   SEARCH ̲COUNT = ZERO
   NO ̲OF ̲OUTPUT = ZERO

   OUTPUT ̲CHECK LOOP

         SEARCH ̲COUNT = SEARCH ̲COUNT + 1

         KEY ̲REC(SEARCH ̲COUNT).INFO EQ ZERO?

         NO ̲OF ̲OUTPUT = NO ̲OF ̲OUTPUT + 1

         SEARCH ̲COUNT EQ NO ̲OF ̲KEY?   EXIT


   END OUTPUT ̲CHECK LOOP

   STOP










Fig. 4.2.1.4.16.53…86…1…02…  …02…     …02…   …02…   …02…   …02…            …02… …02…          …02…   …02…          
         
         CREATE ̲KEY ̲LIST(NO ̲OF ̲KEY)

   START

   SEARCH ̲COUNT = ZERO

   MOVE ̲KEY ̲LIST LOOP

         SEARCH ̲COUNT EQ NO ̲OF ̲KEY?  EXIT MOVE ̲KEY
         ̲LIST

         SEARCH ̲COUNT = SEARCH ̲COUNT + 1

         KEY ̲RE(SEARCH ̲COUNT).KEY = SCD(SEARCH ̲COUNT)

   END MOVE ̲KEY ̲LIST LOOP


   STOP




























Fig. 4.2.1.4.16.5-4…86…1…02…  …02…     …02…   …02…   …02…   …02…            …02… …02…          …02…   …02…          
         
         UPDATE ̲Q ̲LIST(NO ̲OF ̲OUTPUT)

   START

   EQUIVALENCE(MDP ̲BUFFER(OUTPUT ̲OFFSET),
                MDP ̲SCD ̲REC: MDP ̲SCD ̲TABLE;

   EQUIVALENCE (MDP ̲BUFFER(Q ̲LIST ̲OFFSET),
                 Q ̲LIST:          QUEUE ̲LST);

   REF ̲ENTRY = 1

   REFERENCE LOOP

         COMPARE ̲REF ̲REC ̲WITH ̲Q ̲LIST           (MAX
                                               ̲Q ̲ENTRY)

         REF ̲ENTRY EQ NO ̲OF ̲OUTPUT?   EXIT

         REF ̲ENTRY = REF ̲ENTRY + 1

   END REFERENCE LOOP

   Q ̲LIST.QUEUE ̲LINE ̲NUMBER = MAX ̲Q ̲ENTRY

   STOP






















Fig. 4..1.4.16.5-5…86…1…02…  …02…     …02…   …02…   …02…   …02…            …02… …02…          …02…   …02…          
         
         COMPARE ̲REF ̲REC ̲WITH ̲Q ̲LIST           (MAX
                                               ̲Q ̲ENTRY)

START

CUR ̲ENTRY = 1

   COMPARE LOOP

         MAX ̲Q ̲ENTRY EQ ZERO? - CUR ̲ENTRY = 0

         Q ̲LIST.QUEUE ̲LINE(CUR ̲ENTRY).LOGICAL ̲DESIGNATOR
         E MDP ̲SCD ̲REC(REF ̲ENTRY).LLDD?

         Q ̲LIST.QUEUE ̲LINE(CUR ̲ENTRY).DEVICE ̲ID
         NE MDP ̲SCD ̲REC(REF ̲ENTRY).DEVICE ̲ID?

         Q ̲LIST.QUEUE ̲LINE(CUR ̲ENTRY).COPIES=Q ̲LIST.QUEUE
         ̲LINE(CUR ̲ ̲ENTRY).COPIES + MDP ̲SCD ̲REC(REF
         ̲ENTRY).COPIES

         Q ̲LIST.QUEUE ̲LINE(CUR ̲ENTY).DEVICE ̲ID EQ OK
         ̲SAD?

         COMPARE Q ̲LINE ̲SCDS
         EQUAL ̲SCD EQ TRUE   EXIT

         Q ̲LIST.QUEUE ̲LINE(CUR ̲ENTRY).Q ̲SCD ̲NO = Q
         ̲LIST.QUEUE ̲LINE(CUR ̲ENTRY)
         Q ̲SCD ̲NO+1

         Q ̲LIST,QUEUE ̲LINE(CUR ̲ENTRY).DIST ̲SCDS(Q ̲LIST.QUEUE
         ̲LINE(CUR ̲ENTRY).
         Q ̲SCD ̲NO) = MDPSCD ̲REC(REF ̲ENTRY).SCD

         EXIT

         CUR ̲ENTRY EQ MAX ̲Q ̲ENTRY? - CREATE ̲NEW ̲Q ̲LINE(MAX
         ̲Q ̲ENTRY,REF ̲ENTRY)
                                                   
                                                   (MAX
                                                   ̲Q
                                                   ̲ENTRY,REF
                                                   ̲ENTRY)

         CUR ̲ENTRY = CUR ̲ENTRY + 1                                     EXIT

   END COMPARE LOOP


   STOP






Fig. 4.2.1.4.16.5-6…86…1…02…  …02…     …02…   …02…   …02…   …02…            …02… …02…          …02…   …02…          
         
   COMPARE ̲Q ̲LINE ̲SCDS ()

   SCD ̲LINE ̲COUNT = ZERO;

   LOOP;

   SCD ̲LINE ̲COUNT = SCD ̲LINE ̲COUNT + 1

   Q ̲LIST ̲QUEUE ̲LINE (CUR ̲ENTRY ̲DIST ̲SCDS (SCD ̲LINE
   ̲COURT) EQ

   MDP ̲SCD ̲REC (REFENTRY) SCD ? - EQUAL ̲SCD = TRUE
       EXIT

   EQUAL ̲SCD = FALSE;

   SCD ̲LINE ̲COUNT EQ Q ̲LIST ̲QUEUE ̲LINE (CUR ̲ENTRY)
   Q ̲SCD ̲NO ?    EXIT

   ENDLOOP


         CREATE ̲NEW ̲Q ̲LINE(MAX ̲Q ̲ENTRY,REF ̲ENTRY)(MAX
         ̲Q ̲ENTRY,REF ̲ENTRY)

   START

   MAX ̲Q ̲ENTRY = MAX ̲Q ̲ENTRY + 1

   Q ̲LIST.QUEUE ̲LINE(MAX ̲Q ̲ENTRY).DEVICE ̲ID =
   MDP ̲SCD ̲REC(REF ̲ENTRY)DEVICE ̲ID

   Q ̲LIST.QUEUE ̲LINE(MAX ̲Q ̲ENTRY).LOGICAL ̲DESIGNATOR=
   MDP ̲SCD ̲REC(REF ̲ENTRY).LDLD

   Q ̲LIST.QUEUE ̲LINE(MAX ̲Q ̲ENTRY).Q ̲SCD ̲NO = 1

   Q ̲LIST.QUEUE ̲LINE(MAX ̲Q ̲ENTRY).DIST ̲SCDS(1) =
   MDP ̲SCD ̲REC(REF ̲ENTRY).SCD

   Q ̲LIST.QUEUE ̲LINE(MAX ̲Q ̲ENTRY).CPIES =
   MDP ̲SCD ̲REC(REF ̲ENTRY).COPIES

   STOP


























Fig. 4.2.1.4.16.5-7…86…1         …02…   …02…   …02…   …02…            …02…                   
           
4.2.1.4.17   D̲e̲l̲i̲v̲e̲r̲y̲



4.2.1.4.17.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 utility module performs the actual delivery
   to the terminal based on the specified Queue List.
   This module contans delivery to the Atomal printer
   too.



4.2.1.4.17.2 I̲n̲t̲e̲r̲f̲a̲c̲e̲ ̲D̲e̲f̲i̲n̲i̲t̲i̲o̲n̲

   a)    DELIVERY (PREC : PRECEDENCE ̲TYPE,
                  Q ̲LINE ̲NO: COUNTER ̲TYPE,
                  NO ̲OF ̲DELV:COUNTER ̲TYPE,
                  APP ̲PROFILE: APPLICATION ̲PROFILE)
                  (ALT ̲DIST: BOOLEAN)

   b)    DELIERY (R0, R1, R2, R3, R6)

   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̲

   R0    PREC        (DEST)
   R1    Q ̲LINE ̲NO   (DEST)
   R2    NO ̲OF ̲DELV  (DEST)
   R3    APP ̲PROFILE (DEST)
   R6    LINK        (DEST)

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

   R0    ALT ̲DIST

   R2 - R7           (DEST)…86…1         …02…   …02…   …02…   …02…    
                            …02…                      
                            
4.2.1.4.17.3 M̲o̲d̲u̲l̲e̲ ̲c̲o̲m̲p̲o̲n̲e̲n̲t̲s̲

         DELIVERY (Internal procedure)
         TEST ̲SIGN ̲ON ̲USER (Internal procedure)
         CREATE ̲PROFILE ̲KEY ̲LIST (Internal procedure)
         PERFORM ̲DELIVERY (Internalprocedure)
         CREATE ̲USER ̲SEND ̲PARAMS (internal procedure)
         CREATE ̲QUEUE ̲REF (External procedure)
         MDP ̲USER ̲ERROR ̲HANDLING (Internal procedure)
         SEND ̲FLASH (External procedure)
         PERFORM ̲ATOMAL ̲PRINT (Internal procedure)
         PERFORM ̲ATOMAL ̲DELIVERY(Internal procedure)
         UPDATE ̲DELV ̲CODE (External procedure)
         CREATE ̲QEL ̲INF (Internal procedure)
         CREATE ̲ATOMAL ̲SEND ̲PARAMS (Internal procedure)

         See figure 4.2.1.4.17.3-1



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

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

         QUEUE ̲LIST  ref DBD section 10.1.7
         TERMINAL ̲PROFILE         ref. DBD section
                                  5.3.2
         DEVICE ̲ID ̲TYPE           ref. DBD section
                                  4

   b)    E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲

         PREC
         Q ̲LINE ̲NO
         NO ̲OF ̲DELV
         APP ̲PROFILE
         ALT ̲DIST(m)                ref.section
                                    4.2.1.5
         Q ̲LIST (m)
         ELV ̲CODE (m)
         OUTPUT ̲OFFSET
         OUTPUT ̲LENGTH
         MDP ̲Q ̲GROUP(m)
         QUEUE ̲REF(m)
         MDP ̲VIEW ̲REF ̲1
         MDP ̲SYS ̲PARAM.ATOMAL ̲PRINTER ̲LOG ̲DES
         NEW ̲DELV ̲CODE
         MDP ̲SEND ̲PARAMS (m)


         c)  L̲o̲c̲a̲l̲ ̲D̲a̲t̲a̲

             VAR REF ̲ENTRY        :COUNTER ̲TYPE;
             VAR SIGN ̲ON ̲USER     :BOOLEAN;
             VAR ATOMAL ̲PRINT     :BOOLEAN;
             TYPE PROFILE ̲KEY ̲TYPE = RECORD;

                 INFO : INTEGER;
                 LINK : INTEGER;
             KEY :  LOGICAL ̲DESIGNATOR ̲TYPE;

                     END;

             VAR PROFILE ̲KEY :    PROFILE ̲KEY ̲TYPE;
             CONST SINGLE ̲KEY = 1;
             CONST MDP ̲READ ̲MASK =FFFF;

             VAR
                 ;D< ̲PROFILE      :TERMINAL ̲PROFILE;

















































Fig. 4.2.1.4.17.3-1…01…DELIVERY COMPONENTS…86…1         …02…   …02…   …02…   …02…            …02…              
                
4.2.1.4.17.5 M̲o̲d̲u̲l̲e̲ ̲D̲e̲s̲i̲g̲n̲

         This utility module contains ten internal procedures,
         each of the procedures is described in the following.

         a)  D̲E̲L̲I̲V̲E̲R̲Y̲

             This procedure contains th main delivery loop.
             Each run through of this loop performs a delivery
             to a VDU or SAD. The current delivery is based
             on the Queue line which is reference in the current
             run through. The actual delivery is done in the
             procedure PERFORM ̲DELIVERY. 

         The delivery code in the Queue line is updated in accordance
         with the result from the procedure PERFORM ̲DELIVERY.

             After end distribution the BOOLEAN ATOMAL ̲PRINT
             is tested and if Atomal print is necessary the
             PERFORM ̲ATOMAL ̲PRINT procedure is clled.

         b)  T̲E̲S̲T̲ ̲S̲I̲G̲N̲ ̲O̲F̲ ̲U̲S̲E̲R̲

             In this procedure the Terminal profile is accessed
             if the current delivery shall be performed to a
             VDU. It is checked that the user is signed on and
             that the user is working in USER ̲MODE. The Boolean
             SIGN ̲ON ̲USER is pdated in accordance with the result.

         c)  P̲E̲R̲F̲O̲R̲M̲ ̲D̲E̲L̲I̲V̲E̲R̲Y̲

             This procedure performs the actual delivery by
             sending a QEL which reference the view.


             Before sending the QEL the two procedures CREATE
             ̲USER SEND ̲PARAMS and CREATE ̲QUEUE ̲REF are called
             after the send is performed it is checked if the
             object is of precedence Flash. f that is the case
             a Flash notification is sent to the current VDU
             or SAD.

             If the send QEL results in an error the MDP ̲USER
             ̲ ̲ERROR ̲HANDLING is called.

         d)  C̲R̲E̲A̲T̲E̲ ̲U̲S̲E̲R̲ ̲S̲E̲N̲D̲ ̲P̲A̲R̲A̲M̲S̲

             This procedure creates the sends parameters.

             Checkpoint staus is set to true.

             The application profile received from the current
             case module is inserted. The MAINTYPE and HEADER
             ̲FLAGS are copied from the received QEL ̲ATTRIBUTES.
             The applicable subtype is inserted as follows:

             Message/comment distributin to VDUS: FOR ̲DISPLAY

             Message/comment distribution to SAD:  FOR ̲PRINT

             Message for coordination to VDUS: FOR ̲COORDINATION

             Message for Release to VDUs: FOR ̲RELEASE


             The second word in the QEL is created in the CREATE
             ̲QEL ̲IMF which is caled in the end of this procedure.


         e)  M̲D̲P̲ ̲U̲S̲E̲R̲ ̲E̲R̲R̲O̲R̲ ̲H̲A̲N̲D̲L̲I̲N̲G̲

             This procedure analyses an error in connection
             with a SEND ̲QEL. The Current delivery code is updated
             in accordance with the error. The errors can be
             ne of the following:

             -   PROFILE ̲FAULT
             -   BLOCKED ̲Q
             -   PRINT ̲ATOMAL ̲ON ̲SAD

         f)  P̲E̲R̲F̲O̲R̲M̲ ̲A̲T̲O̲M̲A̲L̲ ̲P̲R̲I̲N̲T̲

             This procedure counts the total number of copies
             which shall be printed on the Atomal printer. The
             actual delivery to the Atomal printer is prformed
             in the PERFORM ̲ATOMAL ̲DELIVERY procedure.

         g)  P̲E̲R̲F̲O̲R̲M̲ ̲A̲T̲O̲M̲A̲L̲ ̲D̲E̲L̲I̲V̲E̲R̲Y̲

             This procedure send a QEL to the Atomal printer.
             The printer is identified by a System parameter
             in the distribution record. Before sending the
             QEL the two proceduresCREATE ̲ATOMAL ̲SEND PARAMS
             and CREATE ̲QUEUE ̲REF are called.

             The Queue list is after send updated with the result
             of the send (OK-NOT ̲OK) via the common procedure
             UPDATE ̲DELV ̲CODE. If the object is of precedence
             Flash the common procedure SEND ̲FLAH is called
             and via this procedure a QEL is sent to the printers
             command Queue.


         h)  C̲R̲E̲A̲T̲E̲ ̲A̲T̲O̲M̲A̲L̲ ̲S̲E̲N̲D̲ ̲P̲A̲R̲A̲M̲S̲

             The following action on the MDP ̲SEND ̲PARAMS is
             performed in this procedure:

                 Checkpoint status set equal TRUE
                 Maintype and Header Flags copie from QEL attributes
                 Subtype set equal FOR ̲PRINT
                 Second word in QEL. Total No of copies 0 -
                 128
                 Application profile as described in the CREATE
                 ̲USER ̲PARAMS…86…1…02…  …02…     …02…   …02…   …02…   …02…            …02…  
                                                  
             DELIVERY


         START

         EQUIVALENCE (MDP ̲BUFFER(Q ̲LIST ̲OFFSET),
                     Q ̲LIST: QUEUE ̲LIST);

         REF ̲ENTRY = Q ̲LINE ̲NO

         ALT ̲DIST = FALSE

         ATOMAL ̲PRINT = FALSE

         DELV LOOP

             TEST ̲SGN ̲ON ̲USER

             SIGN ̲ON ̲USER EQ TRUE? - PERFORM ̲DELIVERY

             APP ̲PROFILE(BIT 0) EQ FALSE?

             PREC EQ FLASH?

             PERFORM ̲DELIVERY

             PREC EQ IMMEDIATE?   DELV = SIGN ̲OF

                                                                  ALT
                                                                  ̲DIST
                                                                  =
                                                                  TRUE

             Q ̲LIST.QUEUE ̲LINE(REF ̲ENTRY).DELIVERY ̲CODE = DELV
             ̲CODE

             RF ̲ENTRY EQ Q ̲LINE ̲NO + NO ̲OF ̲DELV?   EXIT

             REF ̲ENTRY = REF ̲ENTRY + 1

         END DELV LOOP

         ATOMAL ̲PRINT EQ ̲FALSE?

         PERFORM ̲ATOMAL ̲PRINT


         STOP

Fig. 4.2.1.4.17.5-1…86…1…02…  …02…     …02…   …02…   …02…   …02…            …02…                            
        
             TEST ̲SIGN ̲ON ̲USER


         START

         CASE Q ̲LIST.QUEUE ̲LINE(REF ̲ENTRY).DEVICE ̲ID OF

             VDU?                 

                     EQUIVALENCE(MDP ̲BUFFER(OUTPUT ̲OFFSET),
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 MDP
                                                                 ̲PROFILE:
                                                                 TERMINAL
                                                                 ̲PROFILE

                 SEARCH ̲PRIMARY ̲KEY                              (TERMINAL
                                                                 ̲TABLE,
                                                                  
                                                                  PROFILE
                                                                  ̲KEY,
                                                                  
                                                                  SINGLE
                                                                  ̲KEY,
                                                                  
                                                                  OUTPUT
                                                                  ̲LENGTH,
                                                                  
                                                                  MDP
                                                                  ̲READ
                                                                  ̲MASK)
                                                                  (MDP
                                                                  ̲PROFILE,CC):
                                                                  ERROR
                                                                  ̲OK

                     ERROR?       ANALYZE ̲ERROR(CC,0)

                     MDP ̲PROFILE.SIGN EQ OFF?

                     MDP ̲PROFILE.CURRENT ̲CA NE USER ̲CAP? SIGN
                     ̲ON ̲USER = FALSE

                     SIGN ̲ON ̲USER = TRUE

             OTHERWISE? - SIGN ̲ON ̲USER = TRUE

         END CASE


         STOP














Fig. 4.2.1.4.17.5-2…86…1…02…  …02…     …02…   …02…   …02…   …02…            …02…                            
        
             PERFORM ̲DELIVERY     

         START

         CREATE ̲USER ̲SEND ̲PARAMS

         CREATE ̲QUEUE ̲REF(MDP ̲Q ̲GROUP,Q ̲LIST.QUEUE ̲LINE(REF
         ̲ENTRY).
                                  LOGICAL ̲DESIGNATOR,PREC)(QUEUE
                                  ̲REF)

         SEND ̲QEL     ̲ ̲ ̲          (MD ̲SEND ̲PARAMS,
                     MDP ̲VIEW ̲REF ̲1,
                     QUEUE ̲REF)
                     (MDP ̲SEND ̲PARAMS,
                     cc): ERROR ̲OK

         ERROR? -                 MDP ̲USER ̲ERROR ̲HANDLING

         PREC NE FLASH?

         Q ̲LIST.QUEUE ̲LINE(REF ̲ENTRY).                           MDP
                                                                 ̲Q
                                                                 ̲GROUP
                                                                 =
                                                                 VDU
                                                                 ̲C
         DEVICE ̲ID EQ VDU                                         

         MDP ̲Q ̲GROUP = PRINT ̲C


         SEND ̲LASH(MDP ̲Q ̲GROUP,Q ̲LIST.QUEUE ̲LINE.LOGICAL ̲DESIGNATOR


         DELV ̲CODE = DELIVERY ̲PERFORMED


         STOP















Fig. 4.2.1.4.17.5-3…86…1…02…  …02…     …02…   …02…   …02…   …02…            …02…                            
        
             CREATE ̲USER ̲SEND ̲PARAMS(APP ̲PROFILE,REF ̲ENTRY)
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 (MDP
                                                                 ̲Q
                                                                 ̲GROUP,MDP
                                                                 ̲SEND
                                                                 ̲PARAMS)


         START

         MDP ̲SEND ̲PARAMS.CHECK ̲STATUS = TRUE

         MDP ̲SEND ̲PARAMS.PROFILE = APP ̲PROFIE

         MDP ̲SEND ̲PARAMS.HEADER.FLAGS = MDP ̲QEL ̲ATT.HEADER.FLAGS

         MDP ̲SEND ̲PARAMS.HEADER.MAINTYPE = MDP ̲QEL ̲ATT.HEADER.MAINTYPE

         Q ̲LIST.QUEUE ̲LINE(REF ̲ENTRY)                            MDP
                                                                 ̲SEND
                                                                 ̲PARAMS.HEADER.
         DEVICE ̲ID EQ VDU                                         SUBTYPE
                                                                  =
                                                                  FOR
                                                                  ̲DISPLAY

         MDP ̲SEND ̲PARAMS.HEADER.  MP ̲Q ̲GROUP = VDU ̲REC
         SUBTYPE = FOR ̲PRINT

         MDP ̲Q ̲GROUP = PRINT ̲P


         APP ̲PROFILE(BIT 1) EQ MSG ̲COOR? ̲ ̲                       MDP
                                                                 ̲SEND
                                                                 ̲PARAMS.HEADER.
                                                                  SUBTYPE
                                                                  =
                                                                  FOR
                                                                  ̲COORDINATION

         APP ̲PROFILE(BIT2) EQ MSG ̲RELEASE? ̲MDP ̲SEND ̲PARAMS.HEADER.
                                                                  SUBTYPE
                                                                  =
                                                                  FOR
                                                                  ̲RELEASE
                                                                  MDP
                                                                  ̲Q
                                                                  ̲GROUP
                                                                  =
                                                                  VDU
                                                                  ̲REL


         CREATE ̲QEL ̲INF(MDP ̲SEND ̲PARAMS.HEADER.INF=
                       Q ̲LIST.QUEUE ̲LINE(REF.ENTRY).COPIES SHIFT
                     LL8 +
                       MDP ̲SEND ̲PARAMS.HEADER.INF)


         STOP









Fig. 4.2.1.4.17.5-4…86…1…02…  …02…     …02…   …02…   …02…   …02…            …02…            …02…                
       
         MDP ̲USER ̲ERROR ̲HANDLING


             START

             SWITCH ANALYZE ̲ERROR(CC,2,QMON ̲PROFILE ̲CHECK,
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 QMON
                                                                 ̲BLOCKED
                                                                 ̲QUEUE)…02…
             PROFILE ̲CHECK:

                 QLIST.QUEUE ̲LINE ̲DEVICE ̲ID EQ VDU   ̲ ALT ̲DIST
                 = TRUE

                                                                   DELV
                                                                   ̲CODE
                                                                   =
                                                                   ACESS
                                                                   ̲PROFILE
                                                                   ̲FAULT

                 MDP ̲QEL ̲ATTR.PROFILE.LEAST = ATOMAL ̲IND ?

                 ALT ̲DIST = TRUE                                 ATOMAL
                                                                 ̲PRINT
                                                                 =
                                                                 TRUE

                 DELV ̲CODE = ACESS ̲PROFILE ̲FAULT                 DELV
                                                                 ̲CODE
                                                                 =
                                                                 PRINT
                                                                 ̲ATOMAL
                                                                 ̲ON
                                                                 ̲SAD

             END PROFILE ̲CHECK


             Q ̲UNE ̲BLCKED:

                 DELV ̲CODE = TERMINAL ̲BLOCKED

                 ALT ̲DIST = TRUE

             END Q ̲UNE ̲BLOCKED


         END












Fig. 4.2.1.4.17.5-5…86…1…02…  …02…     …02…   …02…   …02…   …02…            …02…            …02…                
       
             PERFORM ̲ATOMAL ̲PRINT


         START

         DELV ̲CODE = PRINT ̲ATOMAL ̲ON ̲SAD

         REF ̲ENTRY = Q ̲LINE ̲NO  

         NUMBER ̲OF ̲COPIES = 0

         ATOMAL ̲COPY ̲NO LOOP

             Q ̲LIST.QUEUE ̲LINE(REF ̲ENTRY).DELIVRY ̲CODE NE DELV
             ̲CODE?

             NUMBER ̲OF ̲COPIES = NUMBER ̲OF ̲COPIES + Q ̲LIST.QUEUE
             ̲LINE(REF ̲ENTRY).
                                                                   
                                                                   
                                                                   
                                                                   
                                                                   
                                                                   
                                                                   
                                                                   
                                                                   
                                                                   
                                                                   
                                                                   
                                                                   COPIES


             REF ̲ENTRY EQ Q ̲LINE ̲NO + NO ̲OF ̲DELV?   EXIT ATOMAL
             ̲COPY ̲NO 

             REF ̲ENTRY = REF ̲ENTRY + 1


         END ATOMAL ̲COPY ̲NO LOOP

         PERFOR ̲ATOMAL ̲DELIVERY


         STOP

















Fig. 4.2.1.4.17.5-6…86…1…02…  …02…     …02…   …02…   …02…   …02…            …02…            …02…                
       
             PERFORM ̲ATOMAL ̲DELIVERY


         START

         CREATE ̲ATOMAL ̲SEND ̲PARAMS(APP ̲PROFILE)(MDP ̲SEND ̲PARAMS)

         CREATE ̲QUEUE ̲REF

         SEND ̲QEL(MDP ̲SEND ̲PARAMS,MDP ̲VIEW ̲REF ̲1, QUEUE ̲REF)
                 (MDP ̲END ̲PARAMS,CC):ERROR ̲OK

         ERROR? -    ANALYZE ̲ERROR(CC,2,PROFILE ̲CHECK, BLOCKED
                     ̲QUEUE)




                     NEW ̲DELV ̲CODE = ATOMAL ̲PRINT ̲NOT ̲OK


         NEW ̲DELV ̲CODE =
         ATOMAL ̲PRINT ̲OK


         UPDATE ̲DELV ̲CODE


         NEW ̲DELV ̲CODE NE ATOMAL ̲PRINT ̲OK ?


         PREC NE FLASH?


         SENDFLASH(PRINT ̲C)


         STOP










Fig. 4.2.1.4.17.5-7…86…1         …02…   …02…   …02…   …02…                      …02…             
       
4.2.1.4.18   A̲l̲t̲e̲r̲n̲a̲t̲i̲v̲e̲ ̲D̲i̲s̲t̲



4.2.1.4.18.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 utility module performs alternative distribution,
         either to the Duty Officer or the MDCO or to both,
         ifnecessary. Though the alternative distribution the
         delivery codes are updated in the Q-List so it reflects
         the current situation.



4.2.1.4.18.2 I̲n̲t̲e̲r̲f̲a̲c̲e̲ ̲D̲e̲f̲i̲n̲i̲t̲i̲o̲n̲

         a)  ALTERNATIVE ̲DIST (NO ̲OF ̲DELV : COUNTER ̲TYPE)

         b)  ALTERNATIVE ̲DIST (R0, R6)
             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̲

             R0  NO ̲OF ̲DELV
             R6  LINK             (DEST)

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

             R0 - R7              (DEST)



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

             ALTERNATIVE ̲DIST (Internal procedure)
             QUIET ̲HOURS ̲DELIVERY (Internal procedure)
             CREATE ̲QUIET ̲OURS ̲SEND ̲PARAMS (Internal procedure)
             CREATE ̲QUEUE ̲REF (External procedure)
             UPDATE ̲DELV ̲CODE (External procedure)
             SEND ̲FLASH (External procedure)
             MDCO ̲DELIVERY (External procedure)

             See figure 4.2.1.4.18.3-1…86…1         …02…   …02…   …02…   …02…  
                                …02…                    














































Fig. 4.2.1.4.18.3-1…01…ALTERNATIVE ̲DIST COMPONENTS…86…1         …02…   …02…   …02…   …02…                         
   …02…                    
4.2.1.4.18.4 D̲a̲t̲a̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲

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

             QUEUE ̲LIST           ref.DBD sect.10.1.7

         b)  E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲

             NO ̲OF ̲DELV
             MDP ̲SYS ̲PARAM.QUIET ̲HOURS ̲SWITCH
             NEW ̲DELV ̲CODE (m)
         Q ̲LINE ̲START ̲NO
             MDP ̲SYS ̲PARAM.QUIET ̲HOURS ̲LOG ̲DES                   ref.section
                                                                 4.2.1.5
             MDP ̲SEND ̲PARAMS (m)
             MDP ̲VIEW ̲REF ̲1
             QUEUE ̲REF (m)
             MDP ̲PARAM.ACTION ̲PREC

         c)  L̲o̲c̲a̲l̲ ̲D̲a̲t̲a̲

             VAR
             MDCO ̲DELV            :BOOLEAN;
             QUIET ̲HOURS ̲DELV     :BOOLEAN;
             REF ̲ENTRY            :COUNTER ̲TYE;
             CONST
             INFO ̲CONST


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

         This utility module contains three internal procedures,each
         of the procedure is described in the following.

         a)  A̲L̲T̲E̲R̲N̲A̲T̲I̲V̲E̲ ̲D̲I̲S̲T̲

             This procedure tests if Quiet Hours delivery shall
             be perfored. If so, the procedure QUIET ̲HOURS ̲DELIVERY
             will be called. After return from this procedure
             the delivery code in the Queue List is checked.
             If other than the following three codes are detected
             the object is sent to the MDCO too.

             -   DELV ̲PERFORED (Normal VDUs and SADs)
             -   ATOMAL ̲PRINT ̲OK
             -   QUIET ̲HOURS ̲DELV ̲OK

             The delivery to the MDCO is performed via the common
             procedure MDCO ̲DELIVERY (see figure 4.2.1.4.18.5-1.


         b)  Q̲U̲I̲E̲T̲ ̲H̲O̲U̲R̲S̲ ̲D̲E̲L̲I̲V̲E̲R̲Y̲

             This procedure performs the actual delivery to
             the Quiet Hours terminal position. Before sending
             the Object the delivery codes are checked againstthe
             code "SIGN ̲OFF". If no delivery codes of that type
             are detected the message will not be sent. The
             program will instead  return to the procedure ALTERNATIVE
             ̲DIST, where the object will be sent to the MDCO.

             If delivery shall be performed to th Quiet Hours
             position the two procedures CREATE ̲QUIET ̲HOURS
             ̲SEND ̲PARAMS and CREATE ̲QUEUE ̲REF are called. After
             Delivery the Delivery codes will be updated in
             accordance with the result of the send by the common
             procedure UPDATE ̲DELV ̲CODE.

             If theObject is of precedence Flash a Flash notification
             will be sent to the terminals common Queue via
             the Common procedure SEND ̲FLASH. (See Figure 4.2.1.4.18.5-2)

         c)  C̲R̲E̲A̲T̲E̲ ̲Q̲U̲I̲E̲T̲ ̲H̲O̲U̲R̲S̲ ̲S̲E̲N̲D̲ ̲P̲A̲R̲A̲M̲S̲

             The following Action on the MDP ̲SEND ̲PARAMS is
             perormed in this procedure.

                 Check point status set equal TRUE
                 Maintype and Header Flags copies from QEL attributes
                 Subtype set equal FOR DISPLAY
                 Application profile set equal MSG ̲DELIVERY
                 Coordination repeat set equal FALSE
                 Quiet Hors tern. Delv set equal TRUE…86…1…02…  …02…   
                  …02…   …02…   …02…   …02…                            …02…    
                                
                 ALTERNATIVE ̲DIST (NO ̲OF ̲DELV)

         START

         EQUIVALENCE(MDP ̲BUFFER(Q ̲LIST ̲OFFSET),
                 Q ̲LIST : QUEUE ̲LIST);

         MDP ̲SYS ̲PARAM.QUIET ̲HOURS ̲SWITCH EQ FALSE? -                  MDCO
                                                                       ̲DELV
                                                                       =
                                                                       TRUE

         QIET ̲HOURS ̲DELIVERY (NO ̲OF ̲DELV)

         REF ̲ENTRY = 1

         MDCO ̲CONTROL LOOP

             Q ̲LIST.QUEUE ̲LINE(REF ̲ENTRY).DELIVERY ̲CODE EQ DELV
             ̲PERFORMED ?

             Q ̲LIST.QUEUE ̲LINE(REF ̲ENTRY).DELIVERY ̲CODE EQ ATOMAL
             ̲PRINT ̲OK?

             Q ̲LIST.QUEUE ̲LINE(REF ̲ENTRY).DELIVERY ̲CODE EQQUIET
             ̲HOURS ̲DELV?

             MDCO ̲DELV = TRUE

             REF ̲ENTRY = NO ̲OF ̲DELV
                                                                        MDCO
                                                                        ̲DELV
                                                                        =
                                                                        FALSE
             REF ̲ENTRY EQ NO ̲OF ̲DELV?  EXIT MDCO ̲CONTROL

             REF ̲ENTRY = REF ̲ENTRY + 1


         END MDCO ̲CONTROL LOOP


         MDP ̲WRITE ̲BUFFER (QUEUE ̲LIST ̲WRITE)


         MDCO ̲DELV EQ FALS?


         MDCO ̲DELIVERY(MDP ̲PARAM.ACTION ̲PREC, MDCO ̲ALT ̲ASS,
         01)



         STOP 




Fig. 4.2.1.4.18.6-1…86…1…02…  …02…     …02…   …02…   …02…   …02…              …02…             …02…             
       
                 QUIET ̲HOURS ̲DELIVERY(NO ̲OF ̲DELV)(MDCO ̲DELV)


         START


         REF ̲ENTRY = 1;

         QUIET ̲HOURS ̲CONTROL LOOP

             Q ̲LIST.QUEUE ̲LINE(REF ̲ENTRY).DELIVERY ̲CODE NE SIGN
             ̲OFF?

             QUIET ̲HOURSDELV = TRUE

             REF ̲ENTRY = NO ̲OF ̲DELV
                                                                        QUIET
                                                                        ̲HOURS
                                                                        ̲DELV
                                                                        =
                                                                        FALSE
             REF ̲ENTRY EQ NO ̲OF ̲DELV?  EXIT QUIET ̲HOURS ̲CONTROL

             REF ̲ENTRY = REF ̲ENTRY + 1

         END ̲QUIET ̲HOURS ̲CONTROL LOOP

         QUIET ̲HOURS ̲DELV EQ FALSE?

         CREATE ̲QUIET ̲HOURS ̲SEND ̲PARAMS

         CEATE ̲QUEUE ̲REF(VDU ̲REC,MDP ̲SYS ̲PARAM.QUIET ̲HOURS ̲LOG
         ̲DES,
                                                                       MDP
                                                                       ̲PARAM.ACTION
                                                                       ̲PREC)(QUEUE
                                                                       ̲REF)

         SEND ̲QEL(MDP ̲SEND ̲PARAMS,MDP ̲VIEW ̲REF ̲1, QUEUE ̲REF)
                 (MDP ̲SEND ̲PARAMS,CC, ERROR ̲OK

         ERROR?  ANALYZE ̲ERROR(CC,2, PROFILE ̲CHECK, BLOCKED
                 ̲QUEUE)

                 EW ̲DELV ̲CODE = QUIET ̲HOURS ̲DELV ̲FAULT    

         NEW ̲DELV ̲CODE =
         QUIET ̲HOURS ̲DELV ̲OK

         UPDATE ̲DELV ̲CODE(Q ̲LINE ̲START ̲NO,NO ̲OF ̲DELV,SIGN ̲OFF,NEW
         ̲DELV ̲CODE

         MDP ̲PARAM.ACTION ̲PREC NE FLASH?

         SEND ̲FLASH(VDU ̲C, MDP ̲SYS ̲PARAM.QUIET ̲HOURS ̲LOG ̲DES)


         STOP
ig. 4.2.1.4.18.5-2…86…1…02…  …02…     …02…   …02…   …02…   …02…              …02…             …02…              
      
             CREATE ̲QUIET ̲HOURS ̲SEND ̲PARAMS


         START

         MDP ̲SEND ̲PARAMS.CHECKP ̲STATUS = TRUE

         MDP ̲SEND ̲PARAMS.PROFILE = APP ̲PROFILE

         MDP ̲SEND ̲PARAMS.HEADER.MAINTYPE =

                                                                       MDP
                                                                       ̲QEL
                                                                       ̲ATR.HEADER.MAINTYPE

         MDP ̲SEND ̲PARAMS.HEADER.SUBTYPE = FOR DISPLAY

         MDP ̲SEND ̲PARAMS.HEADER.FLAGS =

                                                                       MDP
                                                                       ̲QEL
                                                                       ̲ATTR.HEADER.FLAGS

         MDP ̲SEND ̲PARAMS.HEADER.INF = QUIET ̲HOURS ̲INF

         END




4.2.1.4.19   P̲e̲r̲f̲o̲r̲m̲ ̲D̲i̲s̲t̲r̲i̲b̲u̲t̲i̲o̲n̲



4.2.1.4.19.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 utility module is used when distribution
             shall be performed by both action and
             info SCDs. Itcalls both of the utility
             modules CONV ̲SCD ̲LIST ̲TO ̲Q ̲LIST and DELIVERY
             twice. One time for action and one time
             for Info.



4.2.1.4.19.2 I̲n̲t̲e̲r̲f̲a̲c̲e̲ ̲D̲e̲f̲i̲n̲i̲t̲i̲o̲n̲

             a)  PERFORM ̲DISTRIBUTION(SCD ̲POINTER:
                     POINTER ̲TYPE,
                                                  NO
                                                  ̲OF
                                                  ̲SCD:                 COUNTER
                                                                       ̲TYPE)
                                    (ALT ̲DIST:    BOOLEAN,
                                                  NO
                                                  ̲OF
                                                  ̲AC
                                                  ̲Q
                                                  ̲LINES:
                                                  COUNTER
                                                  ̲TYPE,
                                                  NO
                                                  ̲OF
                                                  ̲INFO
                                                  ̲Q
                                                  ̲LINES:
                                                  COUNTER
                                                  ̲TYPE)

             b)  PERFORM ̲DISTRIBUTION (R0, R1, R6)

             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̲

             R0  NO ̲OF ̲SCD          (DEST)
             R1  SCD ̲POINTER        (DEST)
             R6  LINK               (DEST)



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

             PERFORM ̲DISTRIBUTION (Internal procedure)
             CONV ̲SCD ̲LIST ̲TO ̲Q ̲LIST (External procedure)
             DELIVERY (External procedure)

             See figure 4.2.1.4.19.3-1…86…1…02…  …02…     …02…   …02… 
              …02…   …02…              …02…             …02…      
                          













































Fig. 4.2.1.4.19.3-1…01…PERFORM DISTRIBUTION COMPONENTS…86…1…02…  …02…     …02…   …02…   …02…   …02…              …02…       
      …02…                    
4.2.1.4.19.4 D̲a̲t̲a̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲

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

                 None

             b)  E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲

                 SCD ̲POINTER (m)
                 NO ̲OF ̲SCD (m)
                 ALT ̲DIST
                 NO ̲OF ̲AC ̲Q ̲LINES (m)
                 NO ̲OF ̲INF ̲Q ̲LINES (m)
                 MAX ̲Q ̲ENTRY (m)                  ref.
                                                  section
                                                  4.2.1.5
                 MDP ̲PARAM.NUMBER ̲OF ̲INFO ̲SCD
                 MDP ̲PARAM.ACTION ̲PREC
                 MDP ̲PARAM.INFO ̲PREC
                 INFO ̲SCD ̲OFFSET (m)
                 Q ̲LINE ̲START ̲NO

             c)  L̲o̲c̲a̲l̲ ̲D̲a̲t̲a̲

                 None



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

             The equence in this utility module is
             shown on figure 4.2.1.4.19.5-1. First
             the Utility module CONV ̲SDC ̲LIST ̲TO ̲Q
             ̲LIST is called with parameter for conversion
             of the action part of the SCD list. The
             SCD ̲POINTER received as input points out
             where in theMDP ̲BUFFER the action SCDs
             starts, and NO ̲OF ̲SCD gives the number
             of action SCDs. The same utility module
             is called one time more now with parameters
             for conversion of the Info part of the
             SCD List.

             In the same way is the utility module
             DELIVER called.…86…1…02…  …02…     …02…   …02…   …02…   …02…     
                     …02…             …02…                
                
         PERFORM ̲DISTRIBUTION(NO ̲OF ̲SCD, SCD ̲POINTER)

   START

   AC ̲ALT ̲DIST = FALSE

   DIST ̲CASE = OUT ̲PLAIN ̲MSG ̲DIST OR
                MDCO ̲INV ̲OUTG ?     
                                                  CONV
                                                  ̲SCD
                                                  ̲TO
                                                  ̲QLINE
                                                  (SCD
                                                  ̲POINTER,NO
                                                  ̲OF
                                                  ̲SCD,
                                                  ZERO,
                                                  DUMMY)(MAX
                                                  ̲Q
                                                  ̲ENTRY)
   CUR ̲Q ̲LINE ̲NO = ZERO                           
                                                  CUR
                                                  ̲Q
                                                  ̲LINE
                                                  ̲NO
                                                  =
                                                  MAX
                                                  ̲Q
                                                  ̲ENTRY

                                                  NO
                                                  ̲OF
                                                  ̲SCD
                                                  =
                                                  
                                                  
                                                  
                                                  
                                                  
                                                  MDP
                                                  ̲PARAM.NUMBER
                                                  ̲OF
                                                  ̲ACTION
                                                  ̲SCD

                                                  SCD
                                                  ̲POINTER
                                                  =
                                                  AC
                                                  ̲INFO
                                                  ̲SCD
                                                  ̲OFFSET
   MAX ̲Q ̲ENTRY = CUR ̲Q ̲LINE ̲NO

   CONV ̲ ̲ ̲SCD ̲TO ̲Q ̲LNE (SCD ̲POINTER, NO ̲OF ̲SCD, MAX
   ̲Q ̲ENTRY, AC ̲SCD ̲
                                                  OFFSET)(MAX
                                                  ̲Q
                                                  ̲ENTRY)

   NO ̲OF ̲AC ̲Q ̲LINES = MAX ̲Q ̲ENTRY

   NO ̲OF ̲SCD = MDP ̲PARAM, NUMBER ̲OF ̲INFO ̲SCD

   DIST ̲CASE = MSG ̲REDIST ?
                                                  SCD
                                                  ̲POINTER
                                                  =
                                                  ALT
                                                  ̲DIST
                                                  ̲LIST
                                                  ̲TYPE.ALT
                                                  ̲INFO
                                                  ̲SCD

   CONV ̲SCD TO ̲ ̲LINE (SCD-POINTER, NO ̲OF ̲SCD, MAX ̲Q
   ̲ENTRY, INFO-SCD ̲
                                                  OFFSET)(MAX
                                                  ̲Q
                                                  ̲ENTRY)

   NO ̲OF ̲INFO ̲Q ̲LINES = MAX ̲Q ̲ENTRY ̲NO ̲OF ̲AC ̲Q ̲LINES

   DELIVERY (MDP ̲PARAM.ACTION ̲PREC, Q ̲LINE ̲START ̲NO,
              NO ̲OF ̲AC ̲Q ̲LINES, MSG ̲DELIVERY)

   ALT ̲DIST = TRUE ? - AC ̲AT ̲DIST = TRUE

   DELIVERY (MDP ̲PARAM.ACTION ̲PREC, Q ̲LINE ̲START ̲NO,
              NO ̲OF ̲AC ̲Q ̲LINES, MSG ̲DELIVERY)

   ALT ̲DIST = TRUE ? - AC ̲ALT ̲SIDT = TRUE 

   END

fig. 4.2.4.4.19.5-1…86…1         …02…   …02…   …02…   …02…          …02…                     
           
4.2.1.4.20   S̲T̲A̲ ̲S̲A̲R̲ ̲D̲E̲L̲I̲V̲E̲R̲Y̲



4.2.1.4.20.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 utility module creates statistics and call
   the statistics collection monitor procedure. In
   the end of th module it sends the view for storage
   too.



4.2.1.4.20.2 I̲n̲t̲e̲r̲f̲a̲c̲e̲ ̲D̲e̲f̲i̲n̲i̲t̲i̲o̲n̲

   a)    STA ̲SAR ̲DELIVERY           (MDP ̲STA ̲1:STA
                                    ̲GROUP ̲NO ̲TYPE,
                     MDP ̲STA ̲2:STA ̲GROUP ̲NO ̲TYPE,
                                    MDP ̲SAR ̲GROUP:SAR
                                    ̲STORAGE ̲TYPE;
                     NO ̲OF ̲TERM: COUNTER ̲TYPE,
                 ASS ̲REQ ̲INDIC: BOOLEAN)

   b)    STA ̲SAR ̲DELIVERY (R0, R1, R2, R3, R4, R6)

         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̲

         R0  MDP ̲STA ̲1              (DEST)
         R1  MDP ̲STA ̲2              (DEST)
         R2  MDP ̲SAR ̲GROUP          (DEST)
         R3  NO ̲OF ̲TERM             (DEST)
         R4  ASS ̲REQ ̲INDIC          (DEST)
         R6  LINK    (DES)

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

         R0 - R7     (DEST)



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

         SAR ̲STA ̲DELIVERY (Internal procedure)
         CREATE ̲STA ̲RECORD (Internal procedure)
         CREATE ̲SAR ̲SEND ̲PARAMS (Internal procedure)
         CREATE ̲QUEUE ̲REF (External procedure)

         Se figure 4.2.1.4.20.3-1…86…1         …02…   …02…   …02… 
          …02…        …02…                                
          













































Fig. 4.2.1.4.20.3-1…01…STA SAR DELIVLERY COMPONENTS…86…1         …02…   …02…   …02…   …02…        …02…         
  …02…                      
4.2.1.4.20.4 D̲a̲t̲a̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲

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

         STA ̲GROUP ̲NO ̲TYPE          ref DBD section
                                    4
         SAR ̲STORAGE ̲TYPE                         ref.DBD
                                                  section
                                                  4
         QUEUE ̲LIST                 ref.DBD section
                                    10.1.7
         INC ̲MSG ̲DIST ̲ERM           ref.DBD section
                                    4
         OUT ̲MSG ̲DIST ̲TERM          ref.DBD section
                                    4

   b)    E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲

         Q ̲LIST
         MDP ̲STA ̲1
         MDP ̲STA ̲2
         MDP ̲SAR ̲GROUP
         NO ̲OF ̲TERM
         ASS ̲REQ ̲INDIC
         MDP ̲SEND ̲PARAMS (m)        ref. section 4.2.1.5
         QUEUE ̲REF (m)
         MDP ̲VIEW ̲REF ̲1
         REF ̲ATTR (m)                             MDP
                                                  ̲PARAM
         SAR ̲Q

   c)    L̲o̲c̲a̲l̲ ̲D̲a̲t̲a̲

         VAR MDP ̲STA ̲RECORD : INC ̲MSG ̲DIST ̲TERM;
         VAR STA ̲COUNT : INTEGER;



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

   This utility module creates statistics and send
   the message for storage. It contains three internal
   procedureswhich are described in the following:

   a)    S̲T̲A̲ ̲S̲A̲R̲ ̲D̲E̲L̲I̲V̲E̲R̲Y̲

         This is the main procedure within the module.
         In the start of the procedure it calls "CREATE
         ̲STA ̲RECORD" which creates the current statistics
         record. Then first the statistics collectio
         monitor procedure is called for the whole
         distribution, and after this it is called
         for each of the terminals in the distribution.
         In the call parameters for these call the
         current Device ID and the Logical Designator
         is specified.…86…1         …02…   …02…   …02…   …02…        …02… 
                                         
         In the end of the procedure the message is
         sent for storage. Before the actual send the
         CREATE ̲SAR ̲SEND ̲PARAMS and CREATE ̲QUEUE ̲REF
         are called. See figure 4.2.1.4.20.5-1.

   b)    C̲R̲A̲T̲E̲ ̲S̲T̲A̲ ̲R̲E̲C̲O̲R̲D̲

         This procedure create the current Statistics
         record. The MSG ̲LENGTH is calculated by adding
         the length of the SCD ̲LIST ̲FIELD, the ADDRESS
         ̲FIELD and the TEXT ̲FIELD. The other parameters
         are taken from the MDP ̲PARAM. See figure 4.2..4.20.5-2.

   c)    C̲R̲E̲A̲T̲E̲ ̲S̲A̲R̲ ̲S̲E̲N̲D̲ ̲P̲A̲R̲A̲M̲S̲

         This procedure creates the send parameters.
         Maintype and Flags are copied from the MDP
         ̲QEL ̲ATTR. Subtype is FOR ̲STORAGE and second
         word in the QEL will contain the current SAR
         ̲STORAGE ̲TYPE. The APP ̲PROFILE ill be set equal
         MSG ̲DELIVERY. The Checkpoint status will be
         set equal true.…86…1…02…  …02…     …02…   …02…   …02…   …02…        …02… 
                                               
         STA ̲SAR ̲DELIVERY (MDP ̲STA ̲1, MDP ̲STA ̲2,MDP
         ̲SAR ̲GROUP,NO ̲OF ̲TERM)

   START

   EQUIVALENCE(MDP ̲BUFFER(Q ̲LIST ̲OFFSET) : QUEUE ̲LIST)

   CREATE ̲STA ̲RECORD

   SWITCH STA ̲COLL (MDP ̲ST ̲1, ZERO, ZERO, % MDP ̲STA
   ̲RECORD, STP ̲COLLECT)

         ERROR ? ANALYZE ̲ERROR (CC, O)

   END SWITCH

   STA ̲COUNT = ZERO

   STA ̲TERM LOOP

         STA ̲COUNT + 1

         STA ̲COUNT  = NO ̲OF ̲TERM    EXIT

         SWITCH STA ̲COLL (MDP ̲STA ̲2, QUEUE ̲LINE, DEVICE
         ̲ID, QUEUE ̲
                       LINE.LOGICAL ̲DESIGNATOR, % MDP
                     ̲STA ̲RECORD, STP ̲
                        COLLECT)

             ERROR ? ANALYZE ̲ERROR (CC, O)

         END SWITCH

   END LOOP

   MDP ̲PARAM.CLASS = COSMIC ̲TOP ̲SECRET ?

   MDP ̲PARAM.SPEC ̲HAND ̲TYPE.LEAST = ATOMAL ̲IND ?

   CREATE ̲SAR ̲SEND ̲PARAMS

   CREATE ̲QUUE ̲REF (SINGLE, SAR ̲Q, SUB ̲Q ̲1) (QUEUE
   ̲REF)

   SWITCH QMON ̲SEND ̲QEL (% MDP ̲SEND ̲PARAMS, MDP ̲VIEW
   ̲REF ̲1, % QUEUE ̲REF)

         ERROR ? ANALYZE ̲ERROR (CC, O)

   END SWITCH

   END

Fig. 4.2.1.4.20.5-1…86…1…02…  …02…     …02…   …02…   …02…   …02…        …02…                            
            
         CREATE ̲STA ̲RECORD (NO ̲OF ̲TERM)


   START

   GET ̲VIEW ̲ATTRIBUTES(MDP ̲VIEW ̲REF ̲1)
                                    (REF ̲ATTR,CC):
                                    ERROR ̲OK

   MSG ̲LENGTH = REF ̲ATR.FIELD ̲INF(SCD ̲LIST ̲FIELD).USED
   ̲LENGTH

   MG ̲LENGTH = REF ̲ATTR.FIELD ̲INF(ADDRESS ̲FIELD).USED
   ̲LENGTH + MSG ̲LENGTH

   MSG ̲LENGTH = REF ̲ATTR.FIELD ̲INF(TEXT ̲FIELD).USED
   ̲LENGTH + MSG ̲LENGTH

   MDP ̲STA ̲RECORD.MSG ̲LENGTH = MSG ̲LENGTH

   MDP ̲STA ̲RECORD.ACT ̲PREC ̲LEV = MDP ̲PARAM.ACTION ̲PREC

   MDP ̲STA ̲REORD.INF ̲PREC ̲LEV = MDP ̲PARAM.INFO ̲PREC

   MDP ̲STA ̲RECORD.CLASSIFIC ̲CAT = MDP ̲PARAM.CLASS

   MDP ̲STA ̲RECORD.SPEC ̲HAND = MDP ̲PARAM.SPEC ̲HAND ̲INST

   MDP ̲STA ̲RECORD.TERM ̲IN ̲DIST = NO ̲OF ̲TERM

   MDP ̲STA ̲RECORD.ASS ̲REQ ̲INDIC = ASS ̲REQ ̲INDIC

   STOP

















Fig. 4.2.1.4.20.5-…86…1…02…  …02…     …02…   …02…   …02…   …02…        …02…                            
            
         CREATE ̲SAR ̲SEND ̲PARAMS

   START

   MDP ̲SEND ̲PARAMS.CHECK P ̲STATUS = TRUE

   MDP ̲SEND ̲PARAMS.PROFILE = ZERO

   MDP ̲SEND ̲PARAMS.HEADER.MAINTYPE =
                                    MDP ̲QEL ̲ATTR.HEADER.MAINTYE

   MDP ̲SEND ̲PARAMS.HEADER.SUBTYPE = FOR ̲STORAGE

   MDP ̲SEND ̲PARAMS.HEADER.FLAGS =
                                    MDP ̲QEL ̲ATTR.HEADER
                                    ̲FLAGS

   MDP ̲SEND ̲PARAMS.HEADER.INF = MDP ̲SAR ̲GROUP

   END


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

             The following data is used in connection
             with the MDP ̲BUFFER the parameters specifies
             offsets and data length within the buffer.

             CONST

                 MP ̲BUFFER ̲SIZE = 1750;
                 Q ̲LINE ̲LENGTH = 15;
                 MAX ̲KEY                  this constant
                                          is a configuration
                                          parameter
                                          and therefore
                                          it is defined
                                          in the common
                                          CAMPS configuration
                                          prefix which
                                          is described
                                          in the DBD
                                          section 4.
                                          However,
                                          it is only
                                          used by the
                                          MDP ubpackage.
                                          With a MDP
                                          Buffer size
                                          of 1750 the
                                          constant
                                          is equal
                                          10.

             TYPE MDP ̲DATA ̲BUFFER = ARRAY(1..MDP ̲BUFFER
             ̲SIZE) of INTEGER;

             VAR

                 MDP ̲BUFFER               :MDP ̲DATA
                                          ̲BUFFER;
                 KEY ̲LIST ̲LENGTH                                 :COUNTER
                                                                 ̲TYPE;
                 OUTPUT ̲LENGTH                                   :COUNTER
                                                                 ̲TPE;
                 Q ̲LIST ̲LENGTH                                   :COUNTER
                                                                 ̲TYPE;
                 COOR ̲CHECK ̲MARK ̲LENGTH   :COUNTER
                                          ̲TYPE;
                 COOR ̲SCD ̲LENGTH                                 :COUNTER
                                                                 ̲TYPE;
                 DIST ̲SCD ̲LENGTH                                 :COUNTER
                                                                 ̲TYPE;
                 KEY ̲LIST ̲OFFSET                                 :POINTER
                                                                 ̲TYPE:
                 OUTPUT ̲OFFSET                                   :POINTER
                                                                 ̲TYPE;
                 Q ̲LIST ̲OFFSET                                   :POINTE
                                                                 ̲TYPE;
                 AC ̲INFO ̲SCD ̲OFFSET       :POINTER
                                          ̲TYPE;
                 MDP ̲DIST ̲SCD ̲OFFSET      :POINTER
                                          ̲TYPE;
                 MDP ̲COOR ̲SCD ̲OFFSET      :POINTER
                                          ̲TYPE;
                 COOR ̲CHECK ̲MARK ̲OFFSET   :POINTER
                                          ̲TYPE;
                 ALT ̲DIST ̲LIST ̲OFFSET     :POINTER
                                          ̲TYPE;
                 IMF ̲READ ̲OFFSET                                 :POINTER
                                                                 ̲TYPE;


             Th following data is used in connection
             with the Queue and Message monitor action.
             For definition of the types ref. DBD section
             4.


         TYPE

   MDP ̲FIELD ̲LIST ̲TYPE =

   RECORD

   MDP ̲NO ̲OF ̲FIELDS : NO ̲OF ̲FIELDS;

   FIELD ̲LIST ̲ENTRY : ARRAY (1.3) OF FIELD ̲LIST ̲ELEMENT;


             VAR

                 NEW ̲VIEW ̲REF             :VIEW ̲REFERENCE;
                 DP ̲VIEW ̲REF ̲1                                   :VIEW
                                                                 ̲REFERENCE;
                 OLD ̲VIEW ̲REF             :VIEW ̲REFERENCE;
                 MDP ̲QEL ̲ATTR             :QEL ̲ATTRIBUTES;
                 QUEUE ̲REF                :QUEUE ̲REFERENCE;
                 APP ̲PROFILE              :APPLICATION
                                          ̲PROFILE;
                 MDP ̲FIELD ̲LIST                                  :MDP
                                                                 ̲FIELD
                                                                 ̲LIST
                                                                 ̲TYPE;
                 MDP ̲SEND ̲PARAMS                                 :SEND
                                                                 ̲PARAM;
                 REF ̲ATTR                 :VIEW ̲ATTRIBUTES;



             The following data is used in connection
             with the CSF monitor action.

             As SUBPROCESS ̲IN ̲INDEX is used the CONST
             ̲MDP ̲NO which is defined in the DBD section
             4.…86…1…02…  …02…     …02…   …02…   …02…   …02…        …02…          
                …02…                         
             The following data is control parameters
             used in the control logic between the
             Modules within MDP.

             VAR     OLD ̲VIEW :BOOLEAN;   SPECIFIES
                                          BY TRUE THAT
                                          a new view
                                          had been
                                          ceated during
                                          the distribution.

             VAR     SIC ̲STATE            :NO ̲OK;                Specifies
                                                                 by
                                                                 OK
                                                                 that
                                                                 at
                                                                 least
                                                                 one
                                                                 SIC
                                                                 shall
                                                                 be
                                                                 used
                                                                 for
                                                                 a
                                                                 distribution

             VAR     NO ̲OF ̲SIC            :COUNTER
                                          ̲TYPE;                  Specifies
                                                                 the
                                                                 number
                                                                 of
                                                                 SICs
                                                                 which
                                                                 shall
                                                                 be
                                                                 used
                                                                 during
                                                                 a
                                                                 distribution

…02…         VAR     MDCO ̲NV      :NO ̲YES;    Specifies
                                          by YES that
                                          no distribution
                                          shall be
                                          performed
                                          on the message
                                          but it shall
                                          be sent to
                                          the MDCO.

             VAR     ALT ̲DIST :BOOLEAN;   Specifies
                                          by TRUE that
                                          alternative
                                          distribution
                                          shall be
                                          performed
                                          on the MSG
                                          either to
                                          Duty Officer
                                          o/and MDCO.

             VAR     SDL ̲BUFFER ̲EMPTY :BOOLEAN;                  Specifies
                                                                 by
                                                                 TRUE
                                                                 that
                                                                 the
                                                                 SDLs
                                                                 is
                                                                 empty
                                                                 or
                                                                 no
                                                                 SDLs
                                                                 have
                                                                 been
                                                                 identified.

             VAR     MAX ̲Q ̲ENTRY          :COUNTER
                                          ̲TYPE;                  Specifies
                                                                 the
                                                                 actual
                                                                 number
                                                                 of
                                                                 Queue
                                                                 lines
                                                                 in
                                                                 the
                                                                 Queue
                                                                 List.

             VAR     SCD ̲POINTER          :OFFSET ̲YPE;           Specifies
                                                                 the
                                                                 Offset
                                                                 for
                                                                 the
                                                                 Actual
                                                                 SCD
                                                                 List
                                                                 which
                                                                 shall
                                                                 be
                                                                 converted
                                                                 to
                                                                 a
                                                                 Queue
                                                                 List.…86…1…02…
                                                                 
                                                                 …02…
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 …02…
                                                                 
                                                                 
                                                                 …02…
                                                                 
                                                                 
                                                                 …02…
                                                                 
                                                                 
                                                                 …02…
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 …02…
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 …02…
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
             VAR     NO ̲OF ̲SCD            :COUNTER
                                          ̲TYPE;                  Specifies
                                                                 the
                                                                 number
                                                                 of
                                                                 SCDs
                                                                 in
                                                                 the
                                                                 actual
                                                                 SCD
                                                                 list,
                                                                 which
                                                                 shall
                                                                 be
                                                                 converted
                                                                 to
                                                                 a
                                                                 Queue
                                                                 List.

             VAR     NO ̲OF ̲AC ̲Q ̲LINES:COUNTER ̲TYPE;
                     N ̲OF ̲INFO ̲Q ̲LINES:COUNTER ̲TYPE;

             VAR     NO ̲OF ̲KEY            :COUNTER
                                          ̲TYPE;                  Specifies
                                                                 the
                                                                 number
                                                                 of
                                                                 keys
                                                                 contained
                                                                 in
                                                                 the
                                                                 KEY
                                                                 ̲LIST
                                                                 used
                                                                 in
                                                                 TMP
                                                                 search.

             TYPE    MDP ̲WRITE ̲TYPE = (SCD ̲LIST ̲WRITE;QUEUE
                     ̲LIST ̲WRITE);

             VAR     MDP ̲WRITE            :MDP ̲WRITE
                                          ̲TYPE;                  Specifies
                                                                 te
                                                                 actual
                                                                 write
                                                                 to
                                                                 the
                                                                 IMF

             VAR     PREC     :PRECEDENCE ̲TYPE; ref
                              DBD section 4
                                                                 The
                                                                 PREC
                                                                 specifies
                                                                 the
                                                                 current
                                                                 delivery
                                                                 precedence.

             VAR     MDP ̲STA-1            :STA ̲GROUP
                                          ̲NO ̲
                                          TYPE;                  ref
                                                                 DBD
                                                                 section
                                                                 4
                                                                 specifies
                                                                 the
                                                                 actual
                                                                 statistics
                                                                 group
                                                                 fr
                                                                 the
                                                                 whole
                                                                 distribution.

             VAR     MDP ̲STA ̲2            :STA ̲GROUP
                                          ̲NO
                                          TYPE;                  ref
                                                                 DBD
                                                                 section
                                                                 4
                                                                 specifies
                                                                 the
                                                                 Actual
                                                                 statistics
                                                                 group
                                                                 for
                                                                 terminal
                                                                 statistics

             VAR     MDP ̲SAR ̲
                     GROUP    :SAR ̲STORAGE ̲TYPE; ref
                              DBD section 4
                                                                 specifies
                                                                 the
                                                                 ctual
                                                                 SAR
                                                                 storage
                                                                 group…86…1…02…
                                                                 
                                                                 …02…
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 …02…
                                                                 
                                                                 
                                                                 …02…
                                                                 
                                                                 
                                                                 …02…
                                                                 
                                                                 
                                                                 …02…
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 …02…
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 …02…
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
             VAR     NO ̲OF ̲TERM           :COUNTER
                                          ̲TYPE;                  Specifies
                                                                 the
                                                                 current
                                                                 no
                                                                 of
                                                                 terminals
                                                                 to
                                                                 which
                                                                 distribution
                                                                 has
                                                                 been
                                                                 performed.

             VAR     Q ̲LINE ̲NO            :COUNTER
                                          ̲TYPE;                  Specifies
                                                                 the
                                                                 Queue
                                                                 line
                                                                 n
                                                                 from
                                                                 where
                                                                 update
                                                                 of
                                                                 delivery
                                                                 code
                                                                 shall
                                                                 be
                                                                 performed

             VAR     NO ̲OF ̲DELV           :COUNTER
                                          ̲TYPE;                  Specifies
                                                                 the
                                                                 number
                                                                 of
                                                                 Queue
                                                                 lines
                                                                 which
                                                                 shall
                                                                 be
                                                                 updated
                                                                 with
                                                                 a
                                                                 new
                                                                 delivery
                                                                 code.

             TYPE    MDCO ̲ASSISTANCE ̲TYPE=(MDCO ̲INV
                     ̲ASS, MDCO ̲ALT ̲ASS);

             VAR     MDC ̲ASS ̲TYPE: MDCO ̲ASSISTANCE
                     ̲TYPE;

             VAR     ASS ̲REQ ̲INDIC:BOOLEAN;                      Specifies
                                                                 by
                                                                 TRUE
                                                                 that
                                                                 the
                                                                 message
                                                                 has
                                                                 been
                                                                 or
                                                                 shall
                                                                 be
                                                                 assisted
                                                                 by
                                                                 the
                                                                 MDCO.
                                                                 Used
                                                                 in
                                                                 connection
                                                                 with
                                                                 the
                                                                 statistics
                                                                 record.…86…1…02…
                                                                 
                                                                 …02…
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 …02…
                                                                 
                                                                 
                                                                 …02…
                                                                 
                                                                 
                                                                 …02…
                                                                 
                                                                 
                                                                 …02…
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 …02…
                                                                 
                                                                 
                                                                 …02…
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 …02…
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 …02…
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
             The following is common MDP data used
             in the MDP subpackage.


             CONST   Q ̲LINE ̲START ̲NO = 1;

             VAR     MDP ̲SYS ̲PARAMS: DISTRIBUTION ̲PARAMETER
                     ̲         
                                                                  TYPE ref.DBD
                                                                       sectio
                                                                       5.1.1

             TYPE    DESG ̲SINGLE ̲PARAM = RECORD

                              INFO        :INTEGER;
                              LINK        :INTEGER;
                              KEY         :LONG;

                                          END;

             TYPE    KEY ̲LIST = ARRAY(1..MAX ̲KEY) OF
                     DESG ̲SINGLE ̲PARAM;
             TYPE    KEY ̲SCD ̲LIST = ARRAY(1..MAX ̲KEY)OF
                     SCD ̲TYPE;
             TYPE    DELV ̲CODE ̲YPE =      (DELIVERY
                                          ̲PERFORMED,SIGN
                                          ̲OF,ACCESS
                                          ̲PROFILE ̲FAULT
                                                                 QUIET
                                                                 ̲HOURS
                                                                 ̲DELV
                                                                 ̲OK
                                                                 QUIET
                                                                 ̲HOURS
                                                                 ̲DELV
                                                                 ̲FAULT
                                                                 ATOMAL
                                                                 ̲PRINT
                                                                 ̲OK
                                                                 ATOMAL
                                                                 ̲PRINT
                                                                 ̲NOT
                                                                 ̲OK

             VAR     DELV ̲CODE            :DELV ̲CODE
                                          ̲TYPE;

                     NEW ̲DELV ̲CODE: DELV ̲CODE ̲TYPE;

             TYPE
                 MDP ̲Q ̲GROUP ̲TYPE=SINGLE,VDU ̲C,VDU
                 ̲REC,VDU ̲REL,PRINT
                                                                 
                                                                 ̲C,PRINT
                                                                 ̲P);

             VAR 
                     MDP ̲Q ̲GROUP: MDP ̲Q ̲GROUP ̲TYPE;
                     MDP ̲MAIN ̲Q ̲ID: INTEGER;
             TYPE
                     MDP ̲SUB ̲Q ̲ID ̲TYPE = (Main-Q,SUB
                     ̲Q ̲1,SUB ̲Q ̲2,SUB ̲Q-3,
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 SUB
                                                                 ̲Q
                                                                 ̲4,SUB
                                                                 ̲Q
                                                                 ̲5,
                                                                 SU
                                                                 ̲Q
                                                                 ̲6);

             VAR
                     MDP ̲SUB ̲Q ̲ID: MDP ̲SUB ̲Q ̲ID ̲TYPE;

             CONST
                     MDQ = 1;
                     MDCO ̲MDQ = 2,
                     MDCO ̲CCMDQ = 3;
                     SAR ̲Q = 4;…86…1…02…  …02… …02… …02… …02… …02… …02… …02… …02… …02… …02… …02… …02… …02… …02… …02… …02… …02…
                     …02… …02… …02… …02… …02… …02… …02… …02… …02… …02… …02… …02… …02…                 
                                  

       VAR   MDCO ̲ERROR ̲LIST:  INTEGER;


TYPE ERROR ̲INPUT ̲TYPE=                                                                   

(UP ̲GARBLED ̲SICS,UP ̲MISSING ̲SICS,
UP ̲MISSING ̲SICS,UP ̲SPECIAL ̲SICS,
UP ̲SDL ̲LISTS ̲EMPTY,
UP ̲SPEC ̲BY ̲SUPV,UP ̲INT ̲HAND ̲INST,
UP ̲S ̲H ̲I ̲EXCL,UP ̲S ̲H ̲I ̲CRYPTOSEC,UP ̲MORE ̲THAN ̲ONE ̲SHI,
UP ̲ABB ̲MSG ̲FORMAT), UP ̲NON ̲EXERMSG ̲EXERSICS, UP ̲EXERMSG ̲NON
 ̲EXERSICS,
                     UP ̲EXERMSL ̲NON ̲SUBJSICS, UP ̲MISSING ̲CONSISTENCE
                    ̲SIC
                     UP ̲SUBJMSG ̲NON ̲SUBJSICS);


VAR ERROR ̲INPUT: ERROR ̲INPUT ̲TYPE;1̲6̲7̲5̲A̲…00…CPS/SDS/034         
     …00…rt                  …00…NJ                  …00…fra 4.2.1.4.14.4
    …00…1̲0̲…00…0̲2̲…00…8̲2̲…00…0̲1̲…00…4̲6̲…00… ̲ ̲1̲1̲…00…4̲1̲…00… ̲6̲0̲6̲0̲5̲…00…15…00…12…00…83…00…10…00…51…00…    …00…00…00…    11…00…1̲5̲…00…1̲2̲…00…8̲3̲…00…1̲0̲…00…5̲1̲…00…20…00…12…00…83…00…13…00…49…00…0125A…00…
 37…00… ̲ ̲3̲2̲…00…06…00…  456…00… ̲8̲0̲3̲91…00……0f……00……00…                                                                      B…00……00……00……01……10……06…'…10……11……02……80…*̲J̲…15……05……00……00……00……00……00……00……01…7
…84……00……86……00……00……00……00….…0a….…0b….…0c….…0f….
.        -…09…-…0d…-…0e…-       ,…08…,…09…,…86…1                                   
                              …02…           …02…  …02…        

…02…CPS/SDS/034

…02…NJ/831101   …02…
MESSAGE DISTRIBUTION
DETAILED DESIGN SPECIFICATION…02…ISSUE 1…02…CAMPS







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

         Refer Source Listings



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

         This utility module writes a specified part of the
         MDP ̲BUFFER into the IMF. It is either te SCD list field
         and the associated offsets and counts in the administration
         field or the Queue list field. The main procedure is
         the MDP ̲WRITE ̲BUFFER. Via this procedure is the CREATE
         ̲SCD ̲LIST ̲WRITE ̲PARAMS and CREATE ̲QUEUE ̲LIST ̲WRITE ̲PARAMS
         called This is done by a case statement. In these procedures
         the appropriate WRITE ̲PARAMS are setup. The actual
         WRITE is performed in the procedure MDP ̲WRITE ̲BUFFER.…86…1…02…
          …02…     …02…   …02…   …02…   …02…                         …02…          
                     
4.2.1.4.15    T̲e̲s̲t̲ ̲M̲D̲C̲O̲ ̲I̲n̲v̲o̲c̲a̲t̲i̲o̲n̲ 



4.2.1.4.15.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 utility module controls the message on
                 basis of the specifications described in section
                 42.1.1.16, and requests updates of the MDCO
                 ̲ERROR ̲LIST on basis of the control.



4.2.1.4.15.2 I̲n̲t̲e̲r̲f̲a̲c̲e̲ ̲D̲e̲f̲i̲n̲i̲t̲i̲o̲n̲ 

                 a)  TEST ̲MDCO ̲INVOCATION (MDCO ̲ERROR ̲LIST :
                     INTEGER)
                                                                                   (MDCO
                                                                                   ̲ERROR
                                                                                   ̲LIST
                                                                                   :
                                                                                   INTEGER,
                                                                                   
                                                                                   MDCO
                                                                                   ̲INV
                                                                                   :
                                                                                   BOOLEAN)

                 b)  TEST ̲DCO ̲INVOCATION(R6)

                     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̲

                     R6 LINK                                                   (DEST)

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

                     R0 - R7                                                       (DEST)



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

                     UPDATE ̲MDCO ̲ERROR ̲LIST(External procedure)
                     TEST ̲MDCO ̲INVOCATION(Internal prcedure)
                     TEST ̲MORE ̲THAN ̲ONE ̲SHI (Internal procedure)
                     TEST ̲SUPV ̲SPEC (Internal procedure)

                     See figure 4.2.1.4.15.3-1…86…1…02…  …02…     …02…   …02…  
                     …02…   …02…            …02…            …02…           
                                













































TEST ̲MDCO ̲INVOCATION COMPONENTS…01…Fig. 4.2.1.4.15.3-1…86…1…02…  …02…     …02…   …02…   …02…   …02…            …02…            …02… 
                      
4.2.1.4.15.4 D̲a̲t̲a̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲ 

                 Refer Source Listings



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

                 This utility module tests the following conditions
                 and updates the MDCO ̲ERROR ̲LIST n accordance
                 with the result of each test.

                 The message will be send to the MDCO if one
                 of the following conditions are fulfilled.

                 -   Supervisor specified

                     a)                          All incoming
                                                 messages
                     b)                          All incoming
                                                 of specified
                                                 classification.

                     Thefunction is performed by a check in
                     the distribution system parameter record,
                     ref DBD section 5.1.1.

                 -   Internal Handling Instruction detected.

                     The function is performed by a check in
                     the second word of the associated received
                     QEL.

                 -   Spcial Handling Instruction of type:

                                                 Exclusive
                                                 Crypto Security
                                                 National Eyes
                                                 Only
                                                 More Than one
                                                 detected

                     The function is performed by a check in
                     the access profile of the associated received
                     QEL.

                 -   Missing SICs                These funtions
                                                 are performed
                                                 by checks in
                                                 the second
                                                 word of the
                                                 QEL.
                 -   Garbled SICs

                 After end test of the parameters the MDCO ̲ERROR
                 ̲LIST is checked an if MDCO ̲invocation is necessary
                 the MDCO ̲INV is set to true.…86…1…02…  …02…     …02…   …02…   …02…
                   …02…        …02…   …02…            …02…                 
                      
4.2.1.4.16       C̲O̲N̲V̲ ̲S̲C̲D̲ ̲L̲I̲S̲T̲ ̲T̲O̲ ̲Q̲ ̲L̲I̲S̲T̲ 



4.2.1.4.16.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 utility module converts a list of
                     SCDs to a Queue List. A fixed number of
                     SCDs is usedas keys for access of TMP during
                     each convertion loop run. This gives  flexibility
                     in the number of SCD which can be converted.



4.2.1.4.16.2 I̲n̲t̲e̲r̲f̲a̲c̲e̲ ̲D̲e̲f̲i̲n̲i̲t̲i̲o̲n̲

                 a)  CONV ̲SCD ̲LIST ̲TO ̲Q ̲LIST (SCD ̲POINTER: POINTER
                     ̲TYPE,
                                                                                       NO
                                                                                       ̲OF
                                                                                       ̲SCD
                                                                                       :   COUNER
                                                                                           ̲TYPE,
                                                                                       MAX
                                                                                       ̲Q
                                                                                       ̲ENTRY:                          COUNTER
                                                                                                                       ̲TYPE)
                                                                                       (SCD
                                                                                       ̲POINTER:                        POINTER
                                                                                                                       ̲TYPE,
                                                                                       MAX
                                                                                       ̲Q
                                                                                       ̲ENTRY:                          COUNTER
                                                                                                                       ̲TYPE)

                 b)  CONV ̲SCD ̲LIST ̲TO ̲Q ̲LIST(R6)

                 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̲

                 R6 LINK                                                           (DEST)

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

                 R0 - R7                                                       (DEST)…86…1…02…
                                                                               
                                                                               …02…
                                                                               
                                                                               
                                                                               
                                                                               
                                                                               …02…
                                                                               
                                                                               
                                                                               …02…
                                                                               
                                                                               
                                                                               …02…
                                                                               
                                                                               
                                                                               …02…
                                                                               
                                                                               
                                                                               
                                                                               
                                                                               
                                                                               
                                                                               
                                                                               
                                                                               
                                                                               
                                                                               
                                                                               …02…
                                                                               …02…
                                                                               
                                                                               
                                                                               
                                                                               
                                                                               
                                                                               
                                                                               
                                                                               
                                                                               
                                                                               …02…
                                                                               
                                                                               
                                                                               …02…
                                                                               
                                                                               
                                                                               
                                                                               
                                                                               
                                                                               
                                                                               
                                                                               
                                                                               
                                                                               
                                                                               
                                                                               
                                                                               
                                                                               
                                                                               
                                                                               
                                                                               
                                                                               
                                                                               













































Fig. 4.2.1.4.16.3-1…01…CONV ̲SCD ̲LIST ̲TO ̲Q ̲LIST COMPONENTS…86…1…02…  …02…     …02…   …02…   …02…   …02…            …02… …02…          …02… 
  …02…                   
4.2.1.4.16.3 M̲o̲d̲u̲l̲e̲ ̲C̲o̲m̲p̲o̲n̲e̲n̲t̲s̲

                 CONV ̲SCD ̲LIST ̲TO ̲Q ̲LIST (Internal procedure)
                 GET ̲SCD ̲TABLE ̲OUTPUT (Internal procedure)
                 CREATE ̲KEY ̲LIST (Internal procedure)
                 UPDATEQ ̲LIST (Internal procedure)
                 COMPARE ̲REF ̲REC ̲WITH ̲Q ̲LIST (Internal procedure)
                 CREATE ̲NEW ̲Q ̲LINE (Internal procedure)

                 See figure 4.2.1.4.16.3-1



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

                 Refer Source Listings



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

                 Thi