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

⟦32cb8aa1e⟧ Wang Wps File

    Length: 64682 (0xfcaa)
    Types: Wang Wps File
    Notes: CPS/SDS/039               
    Names: »1526A «

Derivation

└─⟦fa4d101ea⟧ Bits:30005807 8" Wang WCS floppy, CR 0112A
    └─ ⟦this⟧ »1526A « 

WangText

…00……00……00……00……00……16……0a……00……00……16……0b……16……0e……16……0f……16…
…16… …16……06……16……07……15……08……15……09……15……0a……15……0b……15……0e……15……02……15……05……15……07……14……0a……14……0e……14……02……14… …14……06……13……08……13……0b……13……0d……13……00……13…
…13……06……12……0a……12……0c……12……0d……12……01……12……07……11……09……11……0a……11……0f……11……01……11……02……11…
…11… …11……05……11……06……11……07……10……08……10……09……10……0a……10……0e……10……01……10……86…1                                             …02…           …02…   …02…        

…02…CPS/SDS/039

…02…JBS/820104…02……02…
USER VDU
DETAILED DESIGN SPECIFICATION…02……02…CAMPS








4.2.4    R̲e̲t̲r̲i̲e̲v̲e̲ ̲S̲u̲b̲p̲a̲c̲k̲a̲g̲e̲

         The R̲e̲t̲r̲ieve Subpackage (RETR) is responsible for reception
         and treatment of retrieval answer from SAR.



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

         The functions included in this subpackage are the following:

         -   reception of off-line/on-line notification

         -   reception of retrieved items

         The functional breakdown is shown in figure 4.2.4.1-1.
         Retrieved items and off-line/on-line notifications
         are received from SAR in the retrieve queue. After
         analysis, the received item is sent to the destination.








                     Figure 4.2.4.1-1




4.2.4.2  S̲o̲f̲t̲w̲a̲r̲e̲ ̲S̲t̲r̲u̲c̲t̲u̲r̲e̲

         The retrieve subpackage consists of one coroutine.

         The software structure of RETR is shown in figure 4.2.4.2-1.

         RETR will wait on reception of a QEL in the Retrieve
         Queue. The QEL will identify one of the following events:
         -   on-line/off-line notification
         -   on-line retrieval
         -   on-line append
         -   off-line retrieval
         -   off-line append.

         Each of the events will constitute a main function.
         A brief description of each function is given below:

         a)  On-line/Off-line Append:

             The received buffer is sent to UFCO.

         b)  On-line Retrieval:

             The received item is sent to UFCO.

         c)  On-line Append:

             The received item is sent to UFCO.

         d)  Off-line Retrieval:

             The received item is sent to the Response Queue.

         e)  Off-line Append:

             The received item is sent to UMAM.








         Figure 4.2.4.2-1 RETR Software Structure




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

         



4.2.4.3.1    D̲a̲t̲a̲ ̲F̲l̲o̲w̲

         The HIPO diagram overleaf show the data flow of RETR.



4.2.4.3.2    C̲o̲n̲t̲r̲o̲l̲ ̲L̲o̲g̲i̲c̲

         The control logic of RETR is shown in the module tree
         refer figure 4.2.4.3-5.








                     Figure 4.2.4.3-1







                     Figure 4.2.4.3-2







                     Figure 4.2.4.2-3








                     Figure 4.2.4.3-4







            Figure 4.2.4.3-5 RETR Module Tree




4.2.4.4  M̲o̲d̲u̲l̲e̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲



4.2.4.4.1    R̲E̲T̲R̲ ̲M̲A̲I̲N̲ ̲ ̲M̲o̲d̲u̲l̲e̲



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

         The purpose of this module is to receive input from
         the retreive queue (VVS ̲ARR, subqueue 3) and to analyse
         the received QEL-attributes (maintype, subtype).



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

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

         a) RETR ̲MAIN
         b) RETR ̲MAIN (R6)

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

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

         R6 Link (dest)

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

         N/A

         The procedure is a submodule which is only called by
         the Coroutine Monitor.



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

         N̲/̲A̲





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

             RETR ̲OP                     (4.1.4)
             RETR ̲QEL                    (4.2.4.5.C)
             RETR ̲QEL ̲ATTR               (4.2.4.5.C)
             VUS ̲ERROR                   (4.1.4)
             PROFILE ̲FLAG                (4.2.4.5.C)
             VUS ̲S2                      (4.1.4)
             RETR ̲IDENT                  (4.1.4)
             ONLINE ̲RESPONSE             (4.1.4)
             OFFLINE ̲RESPONSE)           (4.1.4)

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

             RETR ̲OP (m)                 (4.1.4)

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

             None



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

         Objects received in the retrieve queue are analysed.
         The following actions are taken:

         -   Unknown QEL-types are sent to SSC.

         -   Online/Offline notifications QEL-types are signalled
             to UFCO.

         -   Other QEL-types are treated by the RETR ̲QEL ̲INVEST,
             module.

         System error will be reported by calling the VUS ̲INTERNAL
         ̲ERROR procedure





   RETR COROUTINE LOOP
      CASE RECEIVE ̲FIRST ̲QEL (WAIT, RETR ̲Q)
                          (RETR ̲QEL ̲ATTR,SUBQUEUE,
                 CC): ERROR ̲OK
         ERROR? -CASE ANALYZE ̲ERROR (CC, 1, QEL ̲PROFILE
         ̲CHECK)(LABEL1)
                     LABEL 1? - SET PROFILE ̲FLAG=TRUE

                 END CASE
         OK?

      END CASE

      CASE RETR ̲QEL ̲ATTR.MAINTYPE  OF

         PLAINDRESS,
         ABB ̲PLAINDRESS,
         SC ̲PLAINDRESS,
         SC ̲COMMENT,
         COMMENT,
         RELEASE ̲NOTIFICATION,
         SYSTEM ̲CATALOGUE ̲DISPLAY?     R̲E̲T̲R̲ ̲O̲N̲E̲ ̲I̲N̲S̲P̲E̲C̲
         ̲(̲4̲.̲2̲.̲4̲.̲4̲.̲1̲.̲5̲-̲2̲)̲ ̲

         ACKNOWLEDGE?                  R̲E̲T̲R̲ ̲T̲W̲O̲ ̲I̲N̲S̲P̲E̲C̲
         ̲(̲4̲.̲2̲.̲4̲.̲4̲.̲1̲.̲5̲-̲3̲)̲

         OTHERWISE?                    V̲U̲S̲ ̲Q̲U̲E̲U̲E̲ ̲E̲R̲R̲O̲R̲(̲C̲O̲N̲T̲I̲N̲U̲E̲)̲(̲4̲.̲1̲.̲5̲.̲1̲)̲

      END CASE

   END RETR COROUTINE LOOP



















              Figure 4.2.4.4.1.5-1


                 RETR ̲ONE ̲INSPEC

   CASE RETR ̲QEL ̲ATTR.SUBTYPE OF

      FOR ̲DISPLAY?    R̲E̲T̲R̲ ̲Q̲E̲L̲ ̲I̲N̲V̲E̲S̲T̲ ̲(̲4̲.̲2̲.̲4̲.̲4̲.̲2̲.̲5̲)̲

      OTHERWISE?      V̲U̲S̲ ̲Q̲U̲E̲U̲E̲ ̲E̲R̲R̲O̲R̲(̲C̲O̲N̲T̲I̲N̲U̲E̲)̲(̲4̲.̲1̲.̲5̲.̲1̲)̲

   END CASE



































              Figure 4.2.4.4.1.5-2


                 RETR ̲TWO ̲INSPEC

   CASE RETR ̲QEL ̲ATTR. MAINTYPE OF

      ONLINE ̲NOTIFICATION  MOVE ONLINE ̲RESPONSE TO
                           RETR ̲OP. CMD

                                 SIGNAL ̲OPSEM (VUS
                                 ̲S2,RETR ̲OP): OK

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


      O̲F̲F̲L̲I̲N̲E̲ N̲O̲T̲I̲F̲I̲C̲A̲T̲I̲O̲N̲?̲      MOVE OFFLINE RESPONSE
                                 TO RETR OP. CMD

                                 SIGNAL ̲OPSEM (VUS
                                 S2, RETR ̲OP) : OK

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


      ERROR ̲ACK?           R̲E̲T̲R̲ ̲Q̲E̲L̲ ̲I̲N̲V̲E̲S̲T̲ ̲(̲4̲.̲2̲.̲4̲.̲4̲.̲2̲.̲5̲)̲

      OTHERWISE?           V̲U̲S̲ ̲Q̲U̲E̲U̲E̲ ̲E̲R̲R̲O̲R̲(̲C̲O̲N̲T̲I̲N̲U̲E̲)̲(̲4̲.̲1̲.̲5̲.̲1̲)̲

   END CASE






















              Figure 4.2.4.4.1.5-3



4.2.4.4.2    R̲E̲T̲R̲ ̲Q̲E̲L̲ ̲I̲N̲V̲E̲S̲T̲ ̲M̲o̲d̲u̲l̲e̲



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

         The RETR ̲QEL ̲INVEST module inspects the contents of
         the flags received in the QEL-attributes.



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

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

         a) RETR ̲QEL ̲INVEST (RETR ̲QEL ̲ATTR: QEL ̲ATTRIBUTES
                             RETR ̲QEL     : QEL ̲REFERENCE)

         b) RETR ̲QEL ̲INVEST (R1, R2, R6)

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

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

                 R1  pointer to RETR ̲QEL ̲ATTR   (DEST)
                 R2  RETR ̲QEL                   (DEST)
                 R6  LINK                       (DEST)

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

                 None

                 R0-R7                          (DEST)



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

         a)  S̲E̲N̲D̲ ̲T̲O̲ ̲M̲D̲C̲O̲

             This procedure sends a nondeliverable object to
             the MDCO. If the item cannot be sent then the CSF
             procedure SEND ̲GARBLE is called.



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

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

             SEND PARAMS TYPE          (CPS/PBD/001)
             RETR ̲OP (4.1.4)
             RETR ̲QEL                  (4.2.4.5.C)
             RETR ̲QEL ̲ATTR             (4.2.4.5.C)
             VUS ̲ERROR                 (4.1.4.)
             PROFILE ̲FLAG              (4.2.4.5.C)
             VUS ̲S2  (4.1.4)
             RETR ̲IDENT                (4.1.4)
             RETR ̲RESPONSE             (4.1.4)
             APPEND ̲RESPONSE           (4.1.4)

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

             TRANSACTION ̲ID. SERIAL ̲NO (4.1.4)
             VUS ̲SEND ̲PARAMS           (4.1.4)

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

             RETR ̲FLAG ̲VALUE ̲TYPE =    (OFFLINE ̲RETR,
                                       OFFLINE ̲APPEND,
                                       ONLINE ̲RETR,
                                       ONLINE ̲APPEND)



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

         The contents of the QEL flags is inspected.

         For online retrieval/append it is checked if a new
         user is signed on. If so, the received item is treated
         as offline retrieval/append.

         Online retrieval/append QEL-types are signalled to
         UFCO.

         Items retrieved for offline append are ent to UMAM.

         Offline retrieved items are sent to the Response queue
         (VUS ̲ARR, subqueue 2)





                 RETR ̲QEL ̲INVEST

   CASE  RETR ̲QEL ̲ATTR. RETR ̲FLAGS OF

         OFFLINE ̲RETR?                                                  O̲F̲F̲L̲I̲N̲E̲
                                                                        ̲R̲E̲T̲R̲
                                                                        ̲H̲A̲N̲D̲L̲I̲N̲G̲
                                                                        ̲(̲4̲.̲2̲.̲4̲.̲4̲.̲2̲.̲5̲-̲4̲)̲

         OFFLINE ̲APPEND?                                               O̲F̲F̲L̲I̲N̲E̲
                                                                       ̲A̲P̲P̲E̲N̲D̲
                                                                       ̲H̲A̲N̲D̲L̲I̲N̲G̲
                                                                       ̲(̲4̲.̲2̲.̲4̲.̲4̲.̲2̲.̲5̲-̲5̲)̲

         ONLINE ̲RETR?                                                   O̲N̲L̲I̲N̲E̲
                                                                        ̲R̲E̲T̲R̲
                                                                        ̲H̲A̲N̲D̲L̲I̲N̲G̲
                                                                        ̲(̲4̲.̲2̲.̲4̲.̲4̲.̲2̲.̲5̲-̲2̲

         ONLINE APPEND?                                                O̲N̲L̲I̲N̲E̲
                                                                       ̲A̲P̲P̲E̲N̲D̲
                                                                       ̲H̲A̲N̲D̲L̲I̲N̲G̲
                                                                       ̲(̲4̲.̲2̲.̲4̲.̲4̲.̲2̲.̲5̲-̲3̲)̲

         OTHERWISE?                                                    V̲U̲S̲
                                                                       ̲Q̲U̲E̲U̲E̲
                                                                       ̲E̲R̲R̲O̲R̲
                                                                       ̲(̲G̲I̲V̲E̲
                                                                       ̲U̲P̲)̲
                                                                       ̲(̲4̲.̲1̲.̲5̲.̲1̲)̲

   END CASE






























              Figure 4.2.4.4.2.5-1



              ONLINE ̲RETR ̲HANDLING

   START

   RECEIVED TRANS ̲SER ̲NO NE TRANSACTION ̲O.SERIAL ̲NO?
   O̲F̲F̲L̲I̲N̲E̲ ̲R̲E̲T̲R̲ ̲H̲A̲N̲D̲L̲I̲N̲G̲
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       (̲4̲.̲2̲.̲4̲.̲4̲.̲2̲.̲5̲-̲4̲)̲

   PROFILE ̲FLAG=TRUE?                                                  VUS
                                                                       QUEUE
                                                                       ERROR
                                                                       (GIVE
                                                                       UP)
                                                                       (4.1.5.1)

   MOVE RETR ̲QEL ̲ATTRIBUTES TO UFCO ̲RETR ̲ATTRIBUTES

   MOVE RETR ̲RESPONSE TO RETR ̲OP ̲CMD

   MOVE RETR ̲QEL TO RETR ̲OP. PARA

   SIGNAL ̲OPSEM (VUS.S2, RETR ̲OP):OK

   END



























              Figure 4.2.4.4.2.5-2



             ONLINE ̲APPEND ̲HANDLING

   START

   RECEIVED TRANS ̲SER ̲NO
   NE TRANSACTION ̲ID. SERIAL ̲NO?    O̲F̲F̲L̲I̲N̲E̲ ̲A̲P̲P̲E̲N̲D̲
   ̲
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       H̲A̲N̲D̲L̲I̲N̲G̲
                                                                       ̲(̲4̲.̲2̲.̲4̲.̲4̲.̲2̲.̲5̲-̲5̲)̲

   PROFILE ̲FLAG=TRUE?        V̲U̲S̲ ̲Q̲U̲E̲U̲E̲ ̲E̲R̲R̲O̲R̲ ̲(̲G̲I̲V̲E̲
                             ̲U̲P̲)̲ ̲(̲4̲.̲1̲.̲5̲.̲1̲)̲

   MOVE RETR ̲QEL ̲ATTR        TO UFCO ̲RETR ̲ATTRIBUTES

   MOVE RETR ̲QEL     TO RETR ̲OP.PARA

   MOVE APPEND ̲RESPONSE TO RETR ̲OP.CMD

   SIGNAL ̲OPSEM (VUS ̲S2, RETR ̲OP):OK

   END

























              Figure 4.2.4.4.2.5-3



              OFFLINE ̲RETR ̲HANDLING

   RETR ̲QEL.OBJECT ̲TYPE=BUFFER?      SET CP ̲STATUS=FALSE

   SET CP ̲STATUS=TRUE

   MOVE DATA TO VUS ̲SEND ̲PARAMS

   CASE SEND (VUS ̲SEND ̲PARAMS, RETR ̲QEL, RESPQ)
              (VUS ̲SEND ̲PARAMS, CC): ERROR ̲OK

         ERROR?  CASE ANALYZE ̲ERROR (CC, 2, QEL ̲PROFILE
         ̲CHECK,
                                                                       
                                                                       BLOCKED)
                                                                       (LABEL
                                                                       ̲2,
                                                                       LABEL
                                                                       ̲3)

                 LABEL ̲2?
                 LABEL ̲3?…02…SEND TO MDCO

             END CASE

         OK?

   END CASE

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






















              Figure 4.2.4.4.2.5-4)



             OFFLINE ̲APPEND HANDLING

   RETR ̲QEL.OBJECT ̲TYPE=BUFFER?   SET CP ̲STATUS=FALSE                   
   SET CP ̲STATUS=TRUE

   MOVE DATA TO VUS ̲SEND ̲PARAMS

   CASE SEND (VUS ̲SEND ̲PARAMS, RETR ̲QEL, UMAM ̲PREPQ)
              (VUS ̲SEND ̲PARAMS, CC): ERROR ̲OK

         ERROR?   ANALYZE ̲ERROR (CC, O)

         OK

   END CASE

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





























              Figure 4.2.4.4.2.5-5



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

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

             QEL ̲REFERENCE ̲TYPE       (CPS/DBD/001)
             QEL ̲ATTRIBUTES ̲TYPE      (CPS/DBD/001)

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

             None

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

             VAR PROFILE ̲FLAG         :BOOLEAN


             VAR RETR ̲QEL ̲ATTR        :QEL ̲ATTRIBUTES ̲TYPE
             VAR RETR ̲QEL             :QEL ̲REFERENCE ̲TYPE

             INIT PROFILE ̲FLAG        =FALSE



4.2.4.6  C̲O̲M̲M̲O̲N̲ ̲S̲U̲B̲P̲A̲C̲K̲A̲G̲E̲ ̲P̲R̲O̲C̲E̲D̲U̲R̲E̲S̲



4.2.4.6.1    D̲I̲S̲M̲A̲N̲T̲L̲E̲ ̲R̲E̲T̲R̲ ̲Q̲E̲L̲



4.2.4.6.1.1 F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲

         The DISMANTLE ̲RETR ̲QEL procedure dismantles a QEL.





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

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

         DISMANTLE ̲RETR ̲QEL (RETR ̲QEL ̲ATTR: QEL attribute
                            RETR ̲QEL      : QEL reference)

         DISMANTLE ̲RETR ̲QEL (R1, R2, R6)

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

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

             R1 pointes to RETR ̲QEL ̲ATTR (DEST)
             R2 RETR ̲QEL                 (DEST)
             R6 LINK                     (DEST)

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

             None

             R0-R7                    (DEST)



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

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

             RETR ̲QEL ̲ATTR            (4.2.4.5.C)
             RETR ̲QEL                 (4.2.4.5.C)

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

             None

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

             None



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





               DISMANTLE ̲RETR ̲QEL

   CASE RETR ̲QEL ̲ATTR.OBJECT ̲TYPE OF

         VIEW?       CASE DISMANTLE ̲VIEW (RETR ̲QEL)
                     (CC):ERROR ̲OK

                     ERROR?   ANALYZE ̲ERROR (CC,O)

                     OK?

                 END CASE

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

                      ERROR? - ANALYZE ̲ERROR(CC,0)

                      OK?

                   END CASE

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

         OTHERWISE?  V̲U̲S̲ ̲I̲N̲T̲E̲R̲N̲A̲L̲ ̲E̲R̲R̲O̲R̲ ̲(̲G̲I̲V̲E̲ ̲U̲P̲)̲ ̲(̲4̲.̲1̲.̲5̲.̲1̲)̲

   END CASE






















                Figure 4.2.4.6-1


4.2.4.7  S̲u̲b̲p̲a̲c̲k̲a̲g̲e̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲s̲



4.2.4.7.1    R̲E̲T̲R̲-̲U̲M̲A̲M̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲s̲

         Refer CPS/ICD/009.



4.2.4.7.2    R̲E̲T̲R̲-̲U̲F̲C̲O̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲s̲

         The following notifications are sent from RETR to UFCO
         via operation semaphore VUS ̲S2:

         ONLINE ̲NOTIFICATION
         OFFLINE ̲NOTIFICATION
         RETRIEVAL ̲NOTIFICATION
         APPEND ̲NOTIFICATION



4.2.5    U̲s̲e̲r̲ ̲M̲e̲s̲s̲a̲g̲e̲ ̲A̲c̲c̲e̲s̲s̲ ̲M̲o̲n̲i̲t̲o̲r̲i̲n̲g̲ ̲S̲u̲b̲p̲a̲c̲k̲a̲g̲e̲

         The U̲ser M̲essage A̲ccess M̲onitoring (UMAM) process has
         the responsibility for the status collecting and status
         generating. Furthermore, UMAM performs the access control
         to the preparation database.



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

         The following functions are included in this subpackage
         (refer figure 4.2.5.1-1):

         -   collect status
         -   generate status
         -   message access control 
         -   error handling





4.2.5.1.1 C̲o̲l̲l̲e̲c̲t̲ ̲S̲t̲a̲t̲u̲s̲

         Status update requests are received from VUP in the
         Request Queue. The QEL will identify the type of status.
         They are:

         -   delivery message status
         -   release status
         -   outgoing message status
         -   service message status






         Fig. 4.2.1.1-1 Functional Specification




4.2.5.1.2    G̲e̲n̲e̲r̲a̲t̲e̲ ̲S̲t̲a̲t̲u̲s̲

         Two types of status are generated. They are:

         -   user requested status
         -   periodic generated status.



4.2.5.1.2.1 U̲s̲e̲r̲ ̲R̲e̲q̲u̲e̲s̲t̲e̲d̲ ̲S̲t̲a̲t̲u̲s̲

         Upon request from a user or operator, a status is generated.
         There are four types of status which can be requested:

         -   outgoing message status
         -   message release status
         -   delivery status
         -   service message status.

         Information about the terminal is looked up in the
         File Directory. The relevant records are then transferred
         from the status file to a temporary CIF and sent to
         the requestor. the CIF is then sent to the requestor.



4.2.5.1.2.2 P̲e̲r̲i̲o̲d̲i̲c̲ ̲G̲e̲n̲e̲r̲a̲t̲e̲d̲ ̲S̲t̲a̲t̲u̲s̲

         A summary status is generated each day at 00.00 hours
         and sent to the supervisor.

         The status is generated per terminal/device
         When status has been generated for all terminals/devices,
         then the status files will be cleared and the file
         directories will be reset.





4.2.5.1.3    M̲e̲s̲s̲a̲g̲e̲ ̲A̲c̲c̲e̲s̲s̲-̲C̲o̲n̲t̲r̲o̲l̲

         Deletion requests, edit requests and VDV page retrieval
         requests inserted by a user or operator are received
         in the Request Queue. 

         a)  Deletion

             Depending on the message status, the deletion request
             is either sent to the supervisor or the referenced
             item is deleted from the Preparation File

         b)  Edit

             If the reference message is in a state where it
             is available for editing, then the message is sent
             to the requesting terminal. If the SEND command
             is rejected by QMON due to profile fault, then
             the message is deleted and a response message is
             returned. If the user does not have access to the
             message, then a response message is returned to
             the requestor.

         c)  VDU-page retrieval

             If the referenced display name can be found in
             the Display table, then a copy of te stored VDU-page
             will be sent to the requestor.



4.2.5.2  S̲o̲f̲t̲w̲a̲r̲e̲ ̲S̲t̲r̲u̲c̲t̲u̲r̲e̲

         The software structure of UMAM is shown in figure 4.2.5.2-1.

         UMAM will wait on reception of a QEL  in either the
         Command Queue or the Request Queue.

         The QEL will identify on of the following events:

         -   SSC Command
         -   Timeout
         -   Status request
         -   Edit request
         -   Delete request
         -   VDV page retrieval


         -   VDV page storage
         -   status changes
         -   status delivery

         Each of the events will constitute a main function.
         A brief description of each function is given below:

         For a detailed description refer 4.2.5.4.17.



















































                    Figure 4.2.5.4.1-1



4.2.5.2.1    C̲o̲m̲m̲a̲n̲d̲ ̲Q̲u̲e̲u̲e̲ ̲I̲t̲e̲m̲s̲ ̲(̲1̲.̲0̲)̲

         a)  S̲S̲C̲ ̲C̲o̲m̲m̲a̲n̲d̲s̲ ̲(̲1̲.̲1̲)̲

             The commands to be executed are:
                 - Stop UMAM

         b)  T̲i̲m̲e̲o̲u̲t̲ ̲E̲v̲e̲n̲t̲s̲(̲1̲.̲2̲)̲

             A periodic timeout is received every day at 00.00
             hour. A Release, Delivery, Outgoing and Service
             Message Status are generated.



4.2.5.2.2    C̲o̲l̲l̲e̲c̲t̲ ̲Q̲u̲e̲u̲e̲ ̲I̲t̲e̲m̲s̲ ̲(̲2̲.̲0̲)̲

         a)  S̲t̲a̲t̲u̲s̲ ̲R̲e̲q̲u̲e̲s̲t̲s̲ ̲(̲2̲.̲1̲)̲

             A Release, Delivery, Outgoing or Service Message
             status is generated and returned to the requestor.

         b)  E̲d̲i̲t̲ ̲R̲e̲q̲u̲e̲s̲t̲s̲ ̲(̲2̲.̲2̲)̲

             A message or VDV-page are looked up. If the requestor
             has access to the CIF, then the CIF will be returned.

         c)  D̲e̲l̲e̲t̲e̲ ̲R̲e̲q̲u̲e̲s̲t̲s̲ ̲(̲2̲.̲3̲)̲

             The referenced CIF is looked up. If the CIF is
             available for deletion, then it is deleted.

         d)  V̲D̲U̲ ̲P̲a̲g̲e̲ ̲R̲e̲t̲r̲i̲e̲v̲a̲l̲ ̲(̲2̲.̲4̲)̲

             A VDV-page is looked up. If the requestor has access
             to the CIF, then the CIF will be returned.

         e)  V̲D̲U̲ ̲P̲a̲g̲e̲ ̲S̲t̲o̲r̲a̲g̲e̲ ̲(̲2̲.̲5̲)̲

             The VDU-page will be stored if the Display name
             is recognized.

         f)  S̲t̲a̲t̲u̲s̲ ̲C̲h̲a̲n̲g̲e̲s̲

             The referenced status record will be changed.



         g)  S̲t̲a̲t̲u̲s̲ ̲U̲p̲d̲a̲t̲i̲n̲g̲

             The delivered status record will be included in
             the status file.



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



4.2.5.3.1    D̲a̲t̲a̲ ̲F̲l̲o̲w̲

         The HIPO diagrams overleaf show the date flow of UMAM



4.2.5.3.2    C̲o̲n̲t̲r̲o̲l̲ ̲L̲o̲g̲i̲c̲

             The control logic of UMAM is shown in the module
             tree refer figure 4.2.5.3-9.

















































                     Figure 4.2.5.3-1

















































                     Figure 4.2.5.3-2

















































                     Figure 4.2.5.3-3


















































                     Figure 4.2.5.3-4


















































                     Figure 4.2.5.3-5


















































                     Figure 4.2.5.3-6


















































                     Figure 4.2.5.3-7


















































                     Figure 4.2.5.3-8


















































                     Figure 4.2.5.3-9



4.2.5.4  M̲o̲d̲u̲l̲e̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲



4.2.5.4.1    U̲M̲A̲M̲ ̲M̲A̲I̲N̲ ̲M̲o̲d̲u̲l̲e̲



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

         This module is the main module of UMAM. The tasks of
         the module are to receive input from the queues of
         UMAM. The input is validated and the corresponding
         procedure is called.



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

             N/A   (The module is a mainmodule)



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

         a)  CHANGE ̲STATUS ̲FILES
             This procedure changes th names of the Delivery,
             Release and Outstanding Files and the file directory.

             The OLD-files are used when the midnight status
             is generated. The CURRENT - files are used to collect
             status.



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

                 MAINTYPE            refer CPS/DBD/001
                 SUBTYPE             refer CPS/DBD/001
                 QEL ̲REFERENCE       refer CPS/DBD/001
                 QEL ̲ATTRIBUTES      refer CPS/DBD/001
                 USER ̲ACTION ̲TYPE    refer CPS/DBD/001
                 GAQ ̲INFO ̲TYP        refer CPS/DBD/001



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

                 UMAM ̲COLQ           refer 4.2.5.5
                 UMAM ̲CMDQ           refer 4.2.5.5
                 QEL ̲ATTR   (M)      refer 4.2.5.5
                 QEL1       (M)      refer 4.2.5.5

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

                 VAR  UREF1
                 VAR  UREF2
                 VAR  SYSREF1
                 VAR  SYSREF2
                 TYPE SUBQ=(DUMMY, SUBQ ̲1, SUBQ ̲2, SUBQ ̲3, SUBQ
                 ̲4, SUBQ ̲5, SUBQ ̲6)



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

         The QELs received in the Command and Collect queues
         are analysed. If an error is found then it is reported
         to the SSC.




   E̲X̲E̲C̲U̲T̲E̲ ̲S̲T̲A̲R̲T̲ ̲F̲U̲N̲C̲T̲I̲O̲N̲S̲ ̲(̲4̲.̲2̲.̲5̲.̲4̲.̲2̲)̲

   CASE INIT ̲RECEIVE ̲FIRST ̲QEL(WAIT, UMAM ̲CMDQ, QEL
   ̲ATTR, UREF2)
                                     (SYSREF 1, CC):
                     ERROR ̲OK

         ERROR ?   ANALYZE ̲ERROR (CC,O)

         OK?

   END CASE

   CASE INIT ̲RECEIVE ̲FIRST ̲QEL (WAIT, UMAM ̲COL Q, QEL
   ̲ATTR, UREF2)
                                                  
                                           (SYSREF2,
                                     CC): ERROR ̲OK

         ERROR?   ANALYZE ̲ERROR (CC,O)


         OK?

   END CASE

   WAIT LOOP

         WAIT ̲NEXT ̲OPERATION ( ) (VREF, SYSREF): OK

         E̲X̲E̲C̲U̲T̲E̲ ̲P̲E̲N̲D̲I̲N̲G̲ ̲O̲P̲E̲R̲A̲T̲I̲O̲N̲ ̲(̲4̲.̲2̲.̲5̲.̲4̲.̲1̲.̲-̲2̲)̲

   END WAIT LOOP


















               Figure 4.2.5.4.1-1


   CASE UREF OF

     UREF1?    CASE WAIT ̲SYSTEM ̲CALL(SYSREF1)
                         (QEL ̲ATTR, QEL1, SUBQ, (CC):ERROR
 ̲OK
                  ERROR?  ̲ ANALYZE ̲ERROR(CC,O)
                  OK?      I̲N̲S̲P̲E̲C̲T̲ ̲(̲C̲M̲D̲ ̲Q̲E̲L̲ ̲(̲4̲.̲2̲.̲5̲.̲4̲.̲1̲-̲3̲)̲

               END CASE

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

               CASE INIT ̲RECEIVE ̲FIRST ̲QEL(WAIT,UMAM
 ̲CMDQ
                                 QEL ̲ATTR,UREF1)(SYSREF1,CC):ERROR
 ̲OK
                  ERROR?   ANALYZE ̲ERROR(CC,0)
                  OK?

               ENO CASE
     UREF2?    CASE WAIT ̲SYSTEM ̲CALL(SYSREF2)
                         (QEL ̲ATTR,QEL1,SUBQ,CC):ERROR
 ̲OK
                  ERROR? ̲ANALYZE ̲ERROR(CC,0)
                  OK?   I̲N̲S̲P̲E̲C̲T̲ ̲C̲O̲L̲Q̲ ̲Q̲E̲L̲(̲4̲.̲2̲.̲5̲.̲4̲.̲1̲-̲4̲)̲

               END CASE

               CASE INIT ̲RECEIVE ̲FIRST ̲QEL(WAIT,UMAM
 ̲COLQ
                               QEL ̲ATTR, UREF2)(SYSREF2,CC):ERROR
 ̲OK
                  ERROR?   ANALYZE ̲ERROR(CC,0)
                  OK?

               END CASE
     OTHERWISE? U̲I̲N̲T̲ ̲E̲R̲R̲O̲R̲ ̲(̲4̲.̲2̲.̲5̲.̲6̲.̲3̲.̲1̲)̲


END CASE













                Fig. 4.2.5.4.1-2


   CASE QEL ̲ATTR.MAINTYPE OF


     SSC ̲CMD?  CASE QEL ̲ATTR.SUBTYPE OF

                  STOP?  S̲T̲O̲P̲ ̲U̲M̲A̲M̲(̲4̲.̲2̲.̲5̲.̲4̲.̲1̲-̲5̲)̲   
 EXIT WAIT LOOP

                  OTHERWISE?  U̲Q̲ ̲E̲R̲R̲O̲R̲(̲4̲.̲2̲.̲5̲.̲6̲.̲1̲1̲)̲

               END CASE


     TIMER EVERT?  CASE QEL ̲ATTR.SUBTYPE OF

                      PERIODIC?   S̲O̲R̲T̲ ̲I̲N̲T̲ ̲A̲R̲E̲A̲(̲4̲.̲2̲.̲5̲.̲4̲.̲1̲6̲)̲


                                  C̲H̲A̲N̲G̲E̲ ̲S̲T̲A̲T̲U̲S̲ ̲F̲I̲L̲E̲S̲


                                  P̲E̲R̲I̲O̲D̲I̲C̲ ̲S̲T̲A̲T̲U̲S̲(̲4̲.̲2̲.̲5̲.̲4̲.̲8̲)̲


                      OTHERWISE?   U̲Q̲ ̲E̲R̲R̲O̲R̲(̲4̲.̲2̲.̲5̲.̲6̲.̲1̲1̲)̲

                    END CASE

     OTHERWISE?     U̲Q̲ ̲ ̲E̲R̲R̲O̲R̲(̲4̲.̲2̲.̲5̲.̲6̲.̲1̲1̲)̲


   END CASE
















                Fig. 4.2.5.4.1-3


   CASE  QEL ̲ATTRR.SUBQUEUE OF


     SUBQ ̲1?       S̲U̲B̲Q̲ ̲O̲N̲E̲ ̲A̲C̲T̲I̲O̲N̲ ̲(̲4̲.̲2̲.̲5̲.̲4̲.̲3̲)̲


     SUBQ ̲2?       S̲U̲B̲Q̲ ̲T̲W̲O̲ ̲A̲C̲T̲I̲O̲N̲ ̲(̲4̲.̲2̲.̲5̲.̲4̲.̲4̲)̲


     SUBQ ̲3?       S̲U̲B̲Q̲ ̲T̲H̲R̲E̲E̲ ̲A̲C̲T̲I̲O̲N̲ ̲(̲4̲.̲2̲.̲5̲.̲4̲.̲5̲)̲


     SUBQ ̲4?       S̲U̲B̲Q̲ ̲F̲O̲U̲R̲ ̲A̲C̲T̲I̲O̲N̲ ̲(̲4̲.̲2̲.̲5̲.̲4̲.̲6̲)̲


     SUBQ ̲5?       S̲U̲B̲Q̲ ̲F̲I̲V̲E̲ ̲A̲C̲T̲I̲O̲N̲ ̲(̲4̲.̲2̲.̲5̲.̲4̲.̲7̲)̲


     OTHERWISE?    U̲I̲N̲T̲ ̲E̲R̲R̲O̲R̲ ̲(̲4̲.̲2̲.̲5̲.̲6̲.̲3̲.̲1̲)̲


 END CASE

























                Fig. 4.2.5.4.1-4


4.2.5.4.2    E̲X̲E̲C̲U̲T̲E̲ ̲S̲T̲A̲R̲T̲ ̲F̲U̲N̲C̲T̲I̲O̲N̲ ̲M̲o̲d̲u̲l̲e̲

         TBD



4.2.5.4.3    S̲U̲B̲Q̲ ̲O̲N̲E̲ ̲A̲C̲T̲I̲O̲N̲ ̲M̲o̲d̲u̲l̲e̲



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

         This procedure inspects the content of the QEL's received
         in subqueue ̲one of the Collect queue.  The following
         requests are received:

         -   edit request
         -   delete request
         -   VDU ̲page retrieval.

         If the requested CIF is found then it is sent to the
         requestor.  If the CIF can not be found or the required
         function cannot be performed then a response is returned.
         This function is repeated until the subqueue is empty.



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

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

         a)  SUBQ ̲ONE ̲ACTION (QEL: QEL reference type
                                QEL ̲ATTR : QEL attributes type)

         b)  SUBQ ̲ONE ̲ACTION(R1,R2,R6)

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

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

            R1   QEL1                                (DEST)
            R2   pointer to QEL ̲ATTR                 (DEST)
            R6   LINK                                (DEST)

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

         None

         R0-R7                                       (DEST)


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

         a)  C̲h̲e̲c̲k̲ ̲P̲r̲e̲f̲i̲l̲e̲

             The access profile of the active CIF is compared
             against the profile of the requestor



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

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

             MAINTYPE                  refer CPS/DBD/001
             SUBTYPE                   refer CPS/DBD/001
             QEL ̲REFERENCE ̲TYPE        refer CPS/DBD/001
             QEL ̲ATTRIBUTES ̲TYPE       refer CPS/DBD/001
             USER ̲ACTION ̲TYPE          refer CPS/DBD/001
             GAQ ̲INFO ̲TYPE             refer CPS/DBD/001
             EDIT ̲REQ ̲TYPE             refer 4.2.5.5
             EDIT ̲ANS ̲TYPE             refer 4.2.5.5
             STATUS ̲TYPE               refer 4.2.5.5
             SEND ̲PARAMS ̲TYPE          CPS/DBD/001

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

             SEND ̲PARAMS               refer 4.2.5.5
             PREP ̲REC                  refer 4.2.5.5
             PREP                      refer 4.2.5.5
             FOUND                     refer 4.2.5.5
             APPEND ADDR               refer 4.2.5.5

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

             VAR APP ̲FOUND             BOOLEAN
             VAR STATUS ̲AREA           BOOLEAN




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

         The SUBTYPE and EDIT ̲REQ ̲TYPE are inspected.  The requested
         CIF is looked up and made achive.  IF the CIF is found
         it is checked whether it is available for editing or
         not.  If the status is identical to Append-completed
         then the CIF which shall be appended is sent to the
         requester too. If the requested data cannot be found
         then a response message is returned to the requestor.


                 SUBQ ̲ONE ̲ACTION






         S̲U̲B̲ ̲Q̲ ̲O̲N̲E̲ ̲Q̲E̲L̲ ̲I̲N̲S̲P̲E̲C̲T̲I̲O̲N̲(̲4̲.̲2̲.̲5̲.̲4̲.̲3̲-̲2̲)̲


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

         REC NEXT LOOP

         CASE RECEIVE ̲FIRST ̲QEL(WAIT=FALSE, UMAM ̲COLQ
         ̲SUB2, UMAM ̲ATTR)
                        (UMAM ̲ATTR,QEL1,SUBQ,CC):ERROR
 ̲OK
     ERROR?     CASE ANALYZE ̲ERROR(CC,1, SUBQUEUE ̲EMPTY):(LA1)

                   LA1?       EXIT REC NEXT LOOP

                END CASE

     OK?        S̲U̲B̲Q̲ ̲O̲N̲E̲ ̲Q̲E̲L̲ ̲I̲N̲S̲P̲E̲C̲T̲I̲O̲N̲ ̲(̲4̲.̲2̲.̲5̲.̲4̲.̲3̲-̲2̲)̲

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


    END CASE


END RECNEXT LOOP
















                Fig. 4.2.5.4.3-1


         SUBQ ̲ONE ̲QEL ̲INSPECTION


         CASE QEL ̲ATTR.MAINTYPE OF


     TEP ̲INTERNAL?    CASE QEL ̲ATTR.SUBTYPE OF


                         EDIT ̲REQ?    E̲D̲I̲T̲ ̲R̲E̲Q̲U̲E̲S̲T̲(̲4̲.̲2̲.̲5̲.̲4̲.̲3̲-̲3̲)̲

                         DELETE ̲REQ?  D̲E̲L̲E̲T̲E̲ ̲R̲E̲Q̲U̲E̲S̲T̲
 ̲(̲4̲.̲2̲.̲5̲.̲4̲.̲1̲.̲4̲)̲

                         VDU ̲RETR?    V̲D̲U̲ ̲P̲A̲G̲E̲ ̲R̲E̲Q̲U̲E̲S̲T̲(̲4̲.̲2̲.̲5̲.̲4̲.̲3̲-̲7̲)̲

                         OTHERWISE?   U̲Q̲ ̲E̲R̲R̲O̲R̲(̲4̲.̲2̲.̲5̲.̲6̲.̲1̲1̲)̲


                        END CASE


     OTHERWISE?         U̲Q̲ ̲E̲R̲R̲O̲R̲(̲4̲.̲2̲.̲5̲.̲6̲.̲1̲1̲)̲


  END CASE






















                Fig. 4.2.5.4.3-2


                    EDIT REQ


         CASE QEL ̲ATTR.FLAG ̲VALUE OF


     VDV ̲PAGE?      V̲D̲U̲ ̲P̲A̲G̲E̲ ̲L̲O̲O̲K̲U̲P̲ ̲(̲4̲.̲2̲.̲5̲.̲6̲.̲2̲)̲

                    FOUND EQ TRUE?   MOVE DATA TO SEND
 ̲PARAMS

                                      C̲H̲E̲C̲K̲ ̲P̲R̲O̲F̲I̲L̲E̲
                                      S̲E̲N̲D̲ ̲I̲T̲E̲M̲ ̲(̲4̲.̲2̲.̲5̲.̲6̲.̲3̲)̲

                    MOVE NOT ̲FOUND CODE TO SEND ̲PARAMS

                    S̲E̲N̲D̲ ̲R̲E̲S̲P̲O̲N̲S̲E̲ ̲(̲4̲.̲2̲.̲5̲.̲6̲.̲4̲)̲
     MSG, COMMENT,
     SVC?           L̲O̲O̲K̲U̲P̲ ̲S̲T̲A̲T̲U̲S̲ ̲R̲E̲C̲ ̲(̲4̲.̲2̲.̲5̲.̲6̲.̲2̲.̲1̲)̲

                    FOUND EQ TRUE?    (̲C̲H̲E̲C̲K̲ ̲S̲T̲A̲T̲U̲S̲
 ̲ ̲ ̲(̲4̲.̲2̲.̲3̲.̲4̲.̲3̲-̲4̲)̲



                    MOVE NOT ̲FOUND CODE TO SEND ̲PARAMS



                    S̲E̲N̲D̲ ̲R̲E̲S̲P̲O̲N̲S̲E̲ ̲(̲4̲.̲2̲.̲5̲.̲6̲.̲4̲)̲



     OTHERWISE      U̲Q̲ ̲E̲R̲R̲O̲R̲ ̲(̲4̲.̲2̲.̲5̲.̲6̲.̲1̲1̲)̲



         END CASE











                Fig. 4.2.5.4.3-3


         STATUS EQ APPEND ̲COMPETE?      A̲P̲P̲E̲N̲D̲ ̲A̲C̲T̲I̲O̲N̲
         ̲(̲4̲.̲2̲.̲5̲.̲4̲.̲3̲-̲5̲)̲


         NOT AVAIABLE FOR EDITING?   MOVE NOT ̲AVAIB.
         TO: ̲RESEND ̲PARAMS

                              S̲E̲N̲D̲ ̲R̲E̲S̲P̲O̲N̲S̲E̲ ̲(̲4̲.̲2̲.̲5̲.̲6̲.̲4̲)̲


         L̲O̲C̲K̲U̲P̲ ̲P̲A̲S̲S̲I̲V̲E̲ ̲C̲I̲F̲ ̲(̲4̲.̲2̲.̲5̲.̲6̲.̲1̲3̲)̲

         FOUND EQ TRUE?    MOVE FOUND DATA TO SEND
         ̲PARAMS

                     C̲H̲E̲C̲K̲ ̲P̲R̲O̲F̲I̲L̲E̲
                     S̲E̲N̲D̲ ̲I̲T̲E̲M̲ ̲(̲4̲.̲2̲.̲5̲.̲6̲.̲3̲)̲

         SET SATUS = DELETED

         I̲N̲C̲L̲U̲D̲E̲ ̲I̲N̲ ̲I̲N̲T̲A̲ ̲(̲4̲.̲2̲.̲5̲.̲4̲.̲1̲3̲)̲

   CLEAR STATUS RECORD

         PROP EQ TRUE?  S̲T̲O̲R̲E̲ ̲P̲R̲E̲P̲ ̲A̲R̲E̲A̲ ̲(̲4̲.̲2̲.̲5̲.̲6̲.̲8̲)̲


  S̲T̲O̲R̲E̲ ̲E̲X̲P̲A̲N̲D̲ ̲A̲R̲E̲A̲ ̲(̲4̲.̲2̲.̲4̲.̲6̲.̲2̲4̲)̲


         MOVE NOT ̲FOUND TO SEND ̲PARAMS


         S̲E̲N̲D̲ ̲R̲E̲S̲P̲O̲N̲S̲E̲ ̲(̲4̲.̲2̲.̲5̲.̲6̲.̲4̲)̲

















                Fig. 4.2.5.4.3-4


         PREP EQ TRUE?     SET  STATUS ̲AREA = TRUE
         SET STATUS ̲AREA = FALSE


         MOVE RECORD ̲ADDRESS TO APPEND ̲ADDR

         L̲O̲O̲K̲U̲P̲ ̲A̲P̲P̲E̲N̲D̲ ̲C̲I̲F̲ ̲(̲4̲.̲2̲.̲5̲.̲4̲.̲3̲-̲6̲)̲

         L̲O̲O̲K̲U̲P̲ ̲P̲A̲S̲S̲I̲V̲E̲ ̲C̲I̲F̲ ̲(̲4̲.̲2̲.̲5̲.̲6̲.̲1̲3̲)̲

         FOUND? - APP ̲FOUND EQ TRUE?     - MOVE APP
         ̲COM TO SEND ̲PARAM

                                    S̲E̲N̲D̲ ̲I̲T̲E̲M̲ ̲(̲4̲.̲2̲.̲3̲.̲5̲.̲3̲)̲

                                    S̲E̲N̲D̲ ̲I̲T̲E̲M̲ ̲(̲4̲.̲2̲.̲5̲.̲6̲.̲3̲)̲

           MOVE APP ̲NOT ̲COM TO SEND PARAMS

           S̲E̲N̲D̲ ̲I̲T̲E̲M̲ ̲(̲4̲.̲2̲.̲5̲.̲6̲.̲3̲)̲

         S̲E̲N̲D̲ ̲R̲E̲S̲P̲O̲N̲S̲E̲ ̲(̲4̲.̲2̲.̲5̲.̲6̲.̲4̲)̲

         APP ̲FOUND EQ TRUE?   U̲M̲A̲M̲ ̲Q̲E̲L̲ ̲D̲I̲S̲M̲A̲N̲T̲L̲E̲(̲4̲.̲2̲.̲5̲.̲6̲.̲1̲)̲

         SEA STATUS = DELETED

         I̲N̲C̲L̲U̲D̲E̲ ̲I̲N̲ ̲I̲N̲T̲A̲ ̲(̲4̲.̲2̲.̲5̲.̲4̲.̲1̲5̲

         STATUS ̲AREA EQ TRUE?         PROP EQ TRUE?


         EXPAND EQ TRUE?              I̲N̲P̲U̲T̲ ̲P̲R̲E̲P̲ ̲A̲R̲E̲A̲(̲4̲.̲2̲.̲3̲.̲6̲.̲1̲2̲)̲

         I̲N̲P̲U̲T̲ ̲E̲X̲P̲A̲N̲D̲ ̲A̲R̲E̲A̲(̲4̲.̲2̲.̲5̲.̲6̲.̲2̲3̲)̲

         CLEAR STATUS REC

         PREP EQ TRUE?        S̲T̲O̲R̲E̲ ̲P̲R̲E̲P̲ ̲A̲R̲E̲A̲ ̲(̲4̲.̲2̲.̲5̲.̲6̲.̲8̲)̲

         S̲T̲O̲R̲E̲ ̲E̲X̲P̲A̲N̲D̲ ̲A̲R̲E̲A̲ ̲(̲4̲.̲2̲.̲5̲.̲6̲.̲2̲4̲)̲







                Fig. 4.2.5.4.3-5


         L̲O̲O̲K̲U̲P̲ ̲S̲T̲A̲T̲U̲S̲ ̲R̲E̲C̲O̲R̲D̲ ̲(̲4̲.̲2̲.̲5̲.̲6̲.̲2̲1̲)̲


         FOUND EQ TRUE?      L̲O̲O̲K̲U̲P̲ ̲P̲A̲S̲S̲I̲V̲E̲ ̲C̲I̲F̲ ̲(̲4̲.̲2̲.̲5̲.̲6̲.̲1̲3̲)̲


         APP ̲FOUND = FALSE    FOUND EQ TRUE?   APP
         ̲FOUND = TRUE


                                        U̲N̲L̲O̲C̲K̲ ̲P̲A̲S̲S̲I̲V̲E̲
 ̲C̲I̲F̲(̲4̲.̲2̲.̲5̲.̲6̲.̲2̲8̲)̲

                       APP ̲FOUND = FALSE


                       CLEAR STATUS RECORD


                       PREP EQ TRUE?  S̲T̲O̲R̲E̲ ̲P̲R̲E̲P̲ ̲A̲R̲E̲A̲
 ̲(̲4̲.̲2̲.̲5̲.̲6̲.̲8̲)̲


                       S̲T̲O̲R̲E̲ ̲E̲X̲P̲A̲N̲D̲ ̲A̲R̲E̲A̲ ̲(̲4̲.̲2̲.̲5̲.̲6̲.̲2̲.̲4̲)̲


























                Fig. 4.2.5.4.3-6


                VDU ̲PAGE ̲REQUEST



         V̲D̲U̲ ̲P̲A̲G̲E̲ ̲L̲O̲O̲K̲U̲P̲(̲4̲.̲2̲.̲5̲.̲6̲.̲2̲)̲


         FOUND EQ TRUE?        MOVE DATA TO SEND ̲PARAMS

                          C̲H̲E̲C̲K̲ ̲P̲R̲O̲F̲I̲L̲E̲

                          S̲E̲N̲D̲ ̲I̲T̲E̲M̲ ̲(̲4̲.̲2̲.̲5̲.̲6̲.̲3̲)̲



         MOVE NOT ̲FOUND DATA TO SEND ̲PARAMS


         S̲E̲N̲D̲ ̲R̲E̲S̲P̲O̲N̲S̲E̲ ̲(̲4̲.̲2̲.̲5̲.̲6̲.̲4̲)̲





























                Fig. 4.2.5.4.3-7


4.2.5.4.4    S̲U̲B̲Q̲ ̲T̲W̲O̲ ̲A̲C̲T̲I̲O̲N̲ ̲M̲o̲d̲u̲l̲e̲



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

             This procedure impacts the content of
             the QELs received in the PREP-queue.
             The input in the queue are:

             -   status changes

             Status concerning released messages will
             be sent in a buffer while other status
             types will be sent in a QEL.

             Final status types will be stored in the
             Intermediate File while other status types
             will be stored in the Preparation File.



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

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

             a)  SUBQ ̲TWO ̲ACTION (QEL : reference type
                                  QEL ̲ATTR : QEL attributes
             type)

             b)  SUBQ ̲TWO ̲ACTION(R1,R2,R6)

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

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

                 R1              QEL1             
                    (DEST)
                 R2              pointer to QEL ̲ATTR
                  (DEST)
                 R6              LINK             
                    (DEST)

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

             None

             R0 - R7                                                   
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       (DEST)

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

             NA


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

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

             MAINTYPE                            refer CPS/DBD/001
             SUBTYPE                             refer CPS/DBD/001
             QEL ̲REFERENCE ̲TYPE                  refer CPS/DBD/001
             QEL ̲ATTRIBUTES ̲TYPE                 refer CPS/DBD/001
             USER ̲ACTION ̲TYPE                    refer CPS/DBD/001
             GAQ ̲INFO ̲TYPE                       refer CPS/DBD/001
             STATUS ̲TYPE                         refer 4.2.5.5
             STATUS ̲STATE ̲TYPE                   refer 4.2.5.5
             REL ̲BUF ̲TYPE                        refer 4.2.5.5

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

             PREP ̲REC                            refer 4.2.5.3
             UMAM ̲CIF ̲ATTR(m)                    refer 4.2.5.3
             FOUND  (m)                          refer 4.2.5.3
             UMAM ̲VIEW ̲NAME (m)                  refer 4.2.5.3
             PREP                                refer 4.2.5.3

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

             TYPE REL ̲BUF        :      REL ̲BUF ̲TYPE



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

         The SUBTYPE, STATUS ̲TYPE and STATUS ̲STATE are inspected.
          Depending on the combination of the variables different
         actions are taken.  All status changes except "message-
         released are reported in a QEL. The "message-released"
         information is delivered in a buffer.  Final entries
         are stored in the Intermediate File while other entries
         are stored in the Preparation File.


                 SUBQ ̲TWO ̲ACTION



S̲U̲B̲Q̲ ̲T̲W̲O̲ ̲Q̲E̲L̲ ̲I̲N̲S̲P̲E̲C̲T̲I̲O̲N̲(̲4̲.̲2̲.̲5̲.̲4̲.̲4̲-̲2̲)̲

U̲M̲A̲M̲ ̲Q̲E̲L̲ ̲D̲I̲S̲M̲A̲N̲T̲L̲E̲ ̲(̲4̲.̲2̲.̲5̲.̲6̲.̲1̲

 REC ̲NEXT LOOP

    CASE RECEIVE ̲FIRST ̲QEL(WAIT=FALSE,UMAM ̲COL ̲SUB2,
    UMAM ̲ATTR)

                          (UMAM ̲ATTR,QEL1, SUBQ, CC):
                          ERROR ̲OK

         ERROR? - CASE ANALYZE ̲ERROR(CC, 1, QUEUE ̲EMPTY):(LA2)

                     LA2? -   EXIT REC NEXT LOOP

                 END CASE

         OK? - S̲U̲B̲Q̲ ̲T̲W̲O̲ ̲Q̲E̲L̲ ̲I̲N̲S̲P̲E̲C̲T̲I̲O̲N̲(̲4̲.̲2̲.̲5̲.̲4̲.̲4̲-̲2̲

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

    END CASE

END REC NEXT LOOP  


















                FIG. 4.2.5.4.4-1


             SUBQ TWO QEL INSPECTION



CASE QEL ̲ATTR. MAINTYPE OF

    PLAINDRESS, PLAINDRESS ̲DATA, PLAINDRESS ̲SERVICE,

    PLAINDRESS ̲ABB ̲SERVICE, ABB ̲SERVICE,

    COMMENT? - CASE QEL ̲ATTR SUBTYPE OF

                     DEFERED/SUBSPENDED- O̲U̲T̲ ̲S̲T̲A̲ ̲U̲P̲
                     ̲(̲4̲.̲2̲.̲5̲.̲4̲.̲4̲-̲4̲)̲

                     OTHERWISE? - U̲Q̲ ̲E̲R̲R̲O̲R̲ ̲(̲4̲.̲2̲.̲5̲.̲6̲.̲1̲1̲)̲

                 END CASE

    TEP ̲INT? - CASE QEL ̲ATTR.SUBTYPE OF

                     STATUS ̲CHANGE? - C̲H̲A̲N̲G̲E̲ ̲I̲N̲V̲E̲S̲T̲(̲4̲.̲2̲.̲5̲.̲4̲.̲4̲-̲3̲)̲

                     OTHERWISE? - U̲Q̲ ̲E̲R̲R̲O̲R̲(̲4̲.̲2̲.̲5̲.̲6̲.̲1̲1̲)̲

                 END CASE

    OTHERWISE? - V̲Q̲ ̲E̲R̲R̲O̲R̲ ̲(̲4̲.̲2̲.̲5̲.̲6̲.̲1̲1̲


END CASE
















                FIG. 4.2.5.4.4-2


                  CHANGE INVEST



 CASE STATUS ̲TYPE OF

     RELEASED? - R̲E̲L̲ ̲S̲T̲A̲ ̲U̲P̲ ̲(̲4̲.̲2̲.̲5̲.̲4̲.̲4̲-̲6̲)̲

     APPEND ̲COMPLETED? - L̲O̲O̲K̲U̲P̲ ̲S̲T̲A̲T̲U̲S̲ ̲R̲E̲C̲ ̲(̲4̲.̲2̲.̲5̲.̲6̲.̲2̲1̲)̲

                           FOUND EQ TRUE? - CHANGE
                          STATUS

                                                  
                                                  
                                                  
                                                  
                                                  
                                                  
                                                  S̲E̲N̲D̲
                                                 ̲R̲E̲S̲P̲O̲N̲S̲E̲(̲4̲.̲2̲.̲5̲.̲6̲.̲4̲)̲

                                                  
                                                  
                                                  
                                                  
                                                  
                                                  
                                                  I̲N̲C̲L̲U̲D̲E̲
                                                 ̲I̲N̲
                                                 ̲P̲R̲E̲P̲(̲4̲.̲2̲.̲5̲.̲4̲.̲1̲7̲)̲

                           U̲Q̲ ̲E̲R̲R̲O̲R̲ ̲(̲4̲.̲2̲.̲5̲.̲6̲.̲1̲1̲)̲

     APPEND ̲ABNORMAL? - L̲O̲O̲K̲U̲P̲ ̲S̲T̲A̲T̲U̲S̲ ̲R̲E̲C̲ ̲(̲4̲.̲2̲.̲5̲.̲6̲.̲2̲1̲)̲

                          FOUND EQ TRUE? - CHANGE STATUS

                                                  
                                                  
                                                  
                                                  
                                                  
                                                  
                                                 S̲E̲N̲D̲
                                                 ̲R̲E̲S̲P̲O̲N̲S̲E̲(̲4̲.̲2̲.̲5̲.̲6̲.̲4̲)̲

                          U̲Q̲ ̲E̲R̲R̲O̲R̲(̲4̲.̲2̲.̲5̲.̲6̲.̲1̲1̲)̲

     OTHERWISE?           U̲Q̲ ̲E̲R̲R̲O̲R̲(̲4̲.̲2̲.̲5̲.̲6̲.̲1̲1̲)̲

 END CASE

















                 FIG.4.2.5.4.4-3


                   OUT STA UP



 CASE GET ̲VIEW ̲ATTRIBUTES(UMAM ̲CIF ̲ATTR, QEL1)

                                                 (CC):ERROR
                                                 ̲OK

         ERROR? - ANALYZE ̲ERROR(CC,O)

         OK?

 END CASE

 CASE QEL ̲ATTR.FLAG ̲VALUE 0F

         FIRST ̲FINAL? - I̲N̲C̲L̲U̲D̲E̲ ̲I̲N̲ ̲I̲N̲T̲A̲(̲4̲.̲2̲.̲5̲.̲4̲.̲1̲5̲)̲

         FIRST ̲NOTFINAL? - I̲N̲C̲L̲U̲D̲E̲ ̲I̲N̲ ̲P̲R̲E̲P̲(̲4̲.̲2̲.̲5̲.̲4̲.̲1̲7̲)̲

         NOTFIRST ̲FINAL? - L̲O̲O̲K̲U̲P̲ ̲S̲T̲A̲T̲U̲S̲ ̲R̲E̲C̲(̲4̲.̲2̲.̲5̲.̲6̲.̲2̲1̲)

                           FOUND EQ TRUE? - I̲N̲C̲L̲U̲D̲E̲
                          ̲I̲N̲ ̲I̲N̲T̲A̲(̲4̲.̲2̲.̲5̲.̲4̲.̲1̲5̲)̲

                                                  
                                                  
                                                  
                                                  
                                                  
                                                  
                                                  
                                                 E̲X̲C̲L̲U̲D̲E̲
                                                 ̲F̲R̲O̲M̲
                                                 ̲P̲R̲E̲P̲(̲4̲.̲2̲.̲5̲.̲6̲.̲2̲7̲)̲

                           I̲N̲C̲L̲U̲D̲E̲ ̲I̲N̲ ̲I̲N̲T̲A̲(̲4̲.̲2̲.̲5̲.̲4̲.̲1̲5̲)̲

                           U̲Q̲ ̲E̲R̲R̲O̲R̲(̲4̲.̲2̲.̲5̲.̲6̲.̲1̲1̲)̲

         NOTFIRST ̲NOTFINAL? - R̲E̲C̲R̲G̲ ̲S̲T̲A̲T̲U̲S̲(̲4̲.̲2̲.̲5̲.̲4̲.̲4̲-̲5̲)̲

         O̲T̲H̲E̲R̲W̲I̲S̲E̲?̲ ̲-̲ ̲U̲Q̲ ̲E̲R̲R̲O̲R̲(̲4̲.̲2̲.̲5̲.̲6̲.̲1̲1̲)̲

 END CASE











                FIG. 4.2.5.4.4-4


                  REORG STATUS


 STATUS EQ DEF/REJ ̲RELEASE?


             L̲O̲O̲K̲U̲P̲ ̲S̲T̲A̲T̲U̲S̲ ̲R̲E̲C̲(̲4̲.̲2̲.̲5̲.̲6̲.̲2̲1̲)̲

             FOUND EQ TRUE? - C̲H̲A̲N̲G̲E̲ ̲V̲I̲E̲W̲ ̲N̲A̲M̲E̲(̲4̲.̲2̲.̲5̲.̲4̲.̲4̲-̲2̲)̲
             

                            INCLUDE IN INTA (4.2.5.4.15)

             I̲N̲C̲L̲U̲D̲E̲ ̲I̲N̲ ̲P̲R̲E̲P̲(̲4̲.̲2̲.̲3̲.̲4̲.̲1̲7̲)

             I̲N̲C̲L̲U̲D̲E̲ ̲I̲N̲ ̲I̲N̲T̲A̲ ̲(̲4̲.̲2̲.̲5̲.̲4̲.̲1̲5̲)̲

             U̲Q̲ ̲E̲R̲R̲O̲R̲ ̲(̲4̲.̲2̲.̲5̲.̲6̲.̲1̲1̲)̲


 L̲O̲O̲K̲U̲P̲ ̲S̲T̲A̲T̲U̲S̲ ̲R̲E̲C̲ ̲(̲4̲.̲2̲.̲5̲.̲6̲.̲2̲1̲)̲


 FOUND EQ TRUE? - C̲H̲A̲N̲G̲E̲ ̲V̲I̲E̲W̲ ̲N̲A̲M̲E̲ ̲(̲4̲.̲2̲.̲5̲.̲4̲.̲4̲-̲7̲)̲

 I̲N̲C̲L̲U̲D̲E̲ ̲I̲N̲ ̲P̲R̲E̲P̲(̲4̲.̲2̲.̲5̲.̲4̲.̲1̲7̲)̲

 U̲Q̲ ̲E̲R̲R̲O̲R̲ ̲(̲4̲.̲2̲.̲5̲.̲6̲.̲1̲1̲)̲

















                F̲I̲G̲.̲ ̲4̲.̲2̲.̲5̲.̲4̲.̲4̲-̲5̲


                   REL STA UP



 EQUIVALENCE(LITTLE ̲BUF(1), REL ̲BUF: REL ̲BUF ̲TYPE)

 CASE READ ̲BUFFER(QEL1, LITTLE ̲BUF(1), SIZE(REL ̲BUF),
 REL ̲BUF ̲OFFSET)
                    (SIZE, CC): ERROR ̲OK

         ERROR? - CASE ANALYZE ̲ERROR(CC, 1, SIZE ̲ERROR):
         (LA1)

                     LA1? - U̲Q̲ ̲E̲R̲R̲O̲R̲(̲4̲.̲2̲.̲5̲.̲6̲.̲1̲1̲)̲

                 END CASE


     OK? - L̲O̲O̲K̲U̲P̲ ̲S̲T̲A̲T̲U̲S̲ ̲R̲E̲C̲(̲4̲.̲2̲.̲5̲.̲6̲.̲2̲1̲)̲

               FOUND EQ TRUE? - I̲N̲C̲L̲U̲D̲E̲ ̲I̲N̲ ̲I̲N̲T̲A̲(̲4̲.̲2̲.̲5̲.̲4̲.̲1̲5̲)̲

                               E̲X̲C̲L̲U̲D̲E̲ ̲F̲R̲O̲M̲ ̲P̲R̲E̲P̲(̲4̲.̲2̲.̲5̲.̲6̲.̲2̲7̲)̲


               I̲N̲C̲L̲U̲D̲E̲ ̲I̲N̲ ̲I̲N̲T̲A̲(̲4̲.̲2̲.̲5̲.̲4̲.̲1̲5̲)̲

               U̲Q̲ ̲E̲R̲R̲O̲R̲(̲4̲.̲2̲.̲5̲.̲6̲.̲1̲1̲)̲


 END CASE















                FIG. 4.2.5.4.4-6


 L̲O̲O̲K̲U̲P̲ ̲P̲A̲S̲S̲I̲V̲E̲ ̲C̲I̲F̲(̲4̲.̲2̲.̲5̲.̲6̲.̲1̲3̲)̲


 FOUND EQ TRUE? - U̲N̲L̲O̲C̲K̲ ̲P̲A̲S̲S̲I̲V̲E̲ ̲C̲I̲F̲S̲(̲4̲.̲2̲.̲5̲.̲6̲.̲2̲8̲)̲

 CASE LOCK ̲VIEW(QEL1)(VIEW ̲NAME,CC):ERROR ̲OK

         ERROR? - ANALYZE-ERROR(CC, O)


         OK? - UPDATE STATUS RECORD

 END CASE

 PREP EQ TRUE? - S̲T̲O̲R̲E̲ ̲P̲R̲E̲P̲ ̲A̲R̲E̲A̲ ̲(̲4̲.̲2̲.̲5̲.̲6̲.̲8̲)̲

 S̲T̲O̲R̲E̲ ̲E̲ ̲x̲ ̲P̲A̲N̲D̲ ̲A̲R̲E̲A̲(̲4̲.̲2̲.̲5̲.̲6̲.̲2̲4̲)̲



























                F̲I̲G̲.̲ ̲4̲.̲2̲.̲5̲.̲4̲.̲4̲-̲7̲


4.2.5.4.5    S̲U̲B̲Q̲ ̲T̲H̲R̲E̲E̲ ̲A̲c̲t̲i̲o̲n̲ ̲M̲o̲d̲u̲l̲e̲



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

         The purpose of this module is to store VDU-pages. If
         the DISPLAY ̲NAME is not recognised then the message
         will be sent to the MDCO.



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



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

         a)  SUBQ ̲THREE ̲ACTION(QEL:QEL reference type 

                            QEL ̲ATTR: QEL attributes type

         b)  SUBQ ̲THREE ̲ACTION(R1, R2, R6)

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

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

         R1  QEL 1          (DEST)
         R2  pointer to QEL ̲ATTR         (DEST)
         R6  LINK                        (DEST)
         

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

         None

         R0 - R7                         (DEST)



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

         NA





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

             MAINTYPE                    refer CPS/DBD/001
             SUBTYPE                     refer CPS/DBD/001
             QEL ̲REFERENCE ̲TYPE          refer CPS/DBD/001
             QEL ̲ATTRIBUTES ̲TYPE         refer CPS/DBD/001
             USER ̲ACTION ̲TYPE            refer CPS/DBD/001
             GAQ ̲INFO ̲TYPE               refer CPS/DBD/001
             TABLE ̲TYPE                  refer CPS/DBD/001
             VIEW ̲NAME ̲TYPE              refer CPS/DBD/001
             TMP ̲UPDATE ̲REC ̲TYPE         refer CPS/DBD/001
             DISP ̲NAME ̲TYPE              refer CPS/DBD/001
             FIELD LIST ̲TYPE             refer CPS/DBD/001

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

             UMAM ̲TABLE ̲REC              refer 4.2.5.5
             FOUND                       refer 4.2.5.5
         c)  L̲o̲c̲a̲l̲ ̲D̲a̲t̲a̲

             TYPE PAS ̲VIEW ̲NAME          VIEW ̲NAME ̲TYPE
             TYPE DISP ̲NAME              DISP ̲NAME ̲TYPE
             TYPE UCIF ̲LIST              FIELD ̲LIST ̲TYPE
             TYPE UNAM ̲TABLE ̲UPDATE ̲REC  TMD UPDATE REC TYPE
             CONST DISP ̲ADDR =
             CONST DISP ̲LENGTH =         SIZE(DISP ̲NAME ̲



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

         The input from the queue is analysed. If the Display
         Name is known by the system (validated via TMP) then
         the new Display NAME will be stored instead of the
         old name. If the name is not recognised then the CIF
         will be sent to the MDCO.


                SUBQ ̲THREE ̲ACTION



 CASE ̲QEL ̲ATTR.MAINTYPE OF

      VDU ̲PAGE? - CASE QEL ̲ATTR.SUBTYPE OF

                     FOR STORAGE? - G̲E̲T̲ ̲D̲I̲S̲P̲ ̲N̲A̲M̲E̲(̲4̲2̲5̲4̲5̲-̲2̲)̲

                                             C̲H̲A̲N̲G̲E̲
                                         ̲D̲I̲S̲P̲ ̲N̲A̲M̲E̲(̲4̲2̲5̲4̲5̲-̲3̲)̲

                     OTHERWISE? -   U̲Q̲ ̲E̲R̲R̲O̲R̲(̲4̲.̲2̲.̲5̲.̲6̲.̲1̲1̲

                 END CASE


   OTHERWISE? - V̲Q̲ ̲E̲R̲R̲O̲R̲(̲4̲.̲2̲.̲5̲.̲6̲.̲1̲1̲)̲


 END CASE


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





















                FIG. 4.2.5.4.5-1


                  GET DISP NAME


 EQUIVALENCE(LITTLE ̲BUF(1), DISP ̲NAME: DISP:̲NAME ̲TYPE)

 CASE OPEN ̲VIEW(QEL1)(CC): ERROR ̲OK

       ERROR? - ANALYZE ̲ERROR(CC,0)

         OK?

 END CASE

 EQ (LITTLEBUFFER(20), UCIF ̲LIST:FIELD ̲LIST ̲TYPE
 INSERT DISP ̲ADDR + DISP ̲LENGTH IN UCIF ̲LIST

 CASE READ ̲VIEW(DISP ̲LENGTH, UCIF ̲LIST, QEL1, DISP
 ̲BUF)
                     (CC): ERROR ̲OK

            ERROR? - ANALYZE ̲ERROR(CC, 0

            OK?


 END CASE

 …02…CASE CLOSE ̲VIEW(QEL1)(CC):ERROR ̲OK


    ERROR? - ANALYZE ̲ERROR(CC,0)

    OK?


 END CASE









                FIG. 4.2.5.4.5-2


 MOVE DISPLAY ̲TABLE ̲ID and DISP ̲NAME TO UMAM ̲TABLE
 ̲REC

 CASE TMP ̲SEARCH(DISPLAY ̲TABLE, DISP ̲NAME)

                 (PAS ̲VIEW ̲NAME, CC): ERROR ̲OK

         ERROR?  ̲ CASE ANALYZE ERROR(CC,1, NOT ̲FOUND)(LA9)

                     LA9? - SET FOUND = FALSE

                 END CASE

         OK? - SET FOUND = TRUE

 END CASE

 FOUND EQ FALSE? - S̲E̲N̲D̲ ̲C̲I̲F̲ ̲T̲O̲ ̲M̲D̲C̲O̲(̲4̲.̲2̲.̲5̲.̲6̲.̲2̲0̲)̲

 L̲O̲C̲K̲U̲P̲ ̲P̲A̲S̲S̲I̲V̲E̲ ̲C̲I̲F̲(̲ ̲4̲.̲2̲.̲5̲.̲6̲.̲1̲3̲)̲

 FOUND EQ FALSE?

 U̲N̲L̲O̲C̲K̲ ̲P̲A̲S̲S̲I̲V̲E̲ ̲C̲I̲F̲S̲ ̲(̲4̲.̲2̲.̲5̲.̲6̲.̲2̲8̲)̲


 CASE LOCK ̲VIEW(QEL 1)
                 (VIEW ̲NAME, CC): ERROR ̲OK

         ERROR? - ANALYZE ̲ERROR(CC,0)

         OK?


 END CASE

 CASE TMP ̲UPDATE (DISPLAY ̲TABLE, DISP ̲NAME, VIEW ̲NAME)
                    (CC): ERROR ̲OK

         ERROR? - ANALYZE ̲ERROR(CC,0)

         OK?

 END CASE




                FIG. 4.2.5.4.5-3


4.2.5.4.6    S̲U̲B̲Q̲ ̲F̲O̲U̲R̲ ̲A̲C̲T̲I̲O̲N̲ ̲M̲O̲D̲U̲L̲E̲



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

         The purpose of this module is to validate the requests
         received in subqueue four.

         The following status requests are received

         -   outgoing message status
         -   release message status
         -   delivery status
         -   service message status
         -   periodic status



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

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

         a)  SUBQ ̲FOUR ̲ACTION(QEL: QEL reference type
                            QEL ̲ATTR: QEL attributes type)

         b)  SUBQ ̲FORU ̲ACTION (R1, R2, R6)

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

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

             R1      QE 1                (DEST)
             R2      pointer to QEL ̲ATTR (DEST)
             R6      LINK                (DEST)

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

         None

         R1 - R7                         (DEST)


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

         NA



4.2.5.4.6.6  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̲

             MAINTYPE                    refer CPS/DBD/001
             SUBTYPE                     refer CPS/DBD/001
             QEL ̲REFERENCE ̲TYPE          refer CPS/DBD/001
             QEL ̲ATTRIBUTES ̲TYPE         refer CPS/DBD/001
             USER ̲ACTION ̲TYPE            refer CPS/DBD/001
             GAQ ̲INFO ̲TYPE               refer CPS/DBD/001
             STATUS ̲IDENT ̲TYPE           refer 4.2.5.5

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

             REQUIRED ̲STA(m)             refer 4.2.5.5

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

             None



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


                SUBQ ̲FOUR ̲ACTION



 CASE QEL ̲ATTR.MAINTYPE OF

         TEP ̲INT? ̲CASE QEL ̲ATTR.SUBTYPE OF

                     STATUS REC? -  SET REQUIRED ̲STA
                     = NORMAL

                     CASE QEL ̲ATTR. FLAG VALUE OF

                            OUTGOING ? - G̲E̲N̲ ̲O̲U̲T̲ ̲S̲T̲A̲(̲4̲.̲2̲.̲5̲.̲4̲.̲1̲1̲)̲
                            RELEASE  ? - G̲E̲N̲ ̲R̲E̲C̲ ̲S̲T̲A̲(̲4̲.̲2̲.̲5̲.̲4̲.̲9̲)̲
                            DELIVERY ? - G̲E̲N̲ ̲D̲E̲L̲ ̲S̲T̲A̲(̲4̲.̲2̲.̲5̲.̲4̲.̲1̲0̲)̲
                            SERVICE  ? - G̲E̲N̲ ̲S̲V̲C̲ ̲S̲T̲A̲(̲4̲.̲2̲.̲4̲.̲5̲.̲1̲3̲)̲
                            PERIODIC ? - P̲E̲R̲I̲O̲D̲I̲C̲ ̲S̲T̲A̲(̲4̲.̲2̲.̲4̲.̲5̲.̲8̲)̲
                            OTHERWISE? - U̲Q̲ ̲E̲R̲R̲O̲R̲(̲4̲.̲2̲.̲5̲.̲6̲.̲1̲1̲)̲

                          END CASE

                     OTHERWISE? U̲Q̲ ̲E̲R̲R̲O̲R̲(̲4̲.̲2̲.̲5̲.̲6̲.̲1̲1̲)̲

                 END CASE

         OTHERWISE? - U̲Q̲ ̲E̲R̲R̲O̲R̲(̲4̲.̲2̲.̲5̲.̲6̲.̲1̲1̲)̲

 END CASE


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















                 FIG. 4.2.5.4.6


4.2.5.4.4.7  S̲U̲B̲Q̲ ̲F̲I̲V̲E̲ ̲A̲C̲T̲I̲O̲N̲ ̲M̲o̲d̲u̲l̲e̲



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

         The purpose of this module is to initiate a delivery
         status updating.



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

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

         a)  SUBQ ̲FIVE ̲ACTION (QEL : QEL reference type

                               QEL ̲ATTR: QEL attributes type)

         b)  SUBQ ̲FIVE ̲ACTION (R1, R2, R6)

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

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

                 R1        QEL1                     (DEST)
                 R2        pointer to QEL ̲ATTR      (DEST)
                 R6        LINK                     (DEST)

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

         None

         R1 - R7                                    (DEST)



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

             NA


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

                 MAINTYPE                 refer CPS/SDS/001
                 SUBTYPE                        -"-
                 QEL ̲REFERENCE ̲TYPE             -"-
                 QEL ̲ATTRIBUTES ̲TYPE            -"-
                 USER ̲ACTION ̲TYPE               -"-
                 GAQ ̲INFO ̲TYPE                  -"-
                 DELIVERY ̲BUFFER ̲TYPE     refer 4.2.5.5

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

                 None

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

                 TYPE DEL ̲BUF:            DELIVERY ̲BUFFER ̲TYPE



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


                 SUBQ FIVE ACTION

 EQUIVALENCE(LITTLE ̲BUF(1), OEL ̲BUF: DELIVERY ̲BUFFER
 ̲TYPE)


 CASE QEL ̲ATTR.MAINTYPE of


     TEP ̲INT? - CASE QEL ̲ATTR. SUBTYPE OF


                     STATUS ̲UP? - D̲E̲L̲ ̲S̲T̲A̲ ̲U̲P̲ ̲(̲4̲.̲2̲.̲5̲.̲4̲.̲7̲-̲2̲)̲



                     OTHERWISE?  ̲ U̲Q̲ ̲E̲R̲R̲O̲R̲(̲4̲.̲2̲.̲5̲.̲6̲.̲1̲1̲


                 END CASE

      OTHERWISE? - U̲Q̲ ̲E̲R̲R̲O̲R̲(̲4̲.̲2̲.̲5̲.̲6̲.̲1̲1̲)̲

 END CASE


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



















                 FIG. 4.2.5.4.7-1


                   DEL ̲STA ̲UP 

 EQUIVALENCE(LITTLE ̲BUF(1), DELIVERY ̲BUF: DEL ̲BUF ̲TYPE

 CASE READ ̲BUFFER(QEL1, DELIVERY ̲BUFFER, DEL ̲BUF ̲SIZE,
 1)

                 (SIZE, CC): ERROR ̲OK

    ERROR?- CASE ANALYZE ̲ERROR(CC, 1, SIZE ̲ERROR): (LA8)

               LA8? -      U̲Q̲ ̲E̲R̲R̲O̲R̲(̲4̲.̲2̲.̲5̲.̲6̲.̲1̲1̲)̲

             END CASE


    OK? -    I̲N̲C̲L̲U̲D̲E̲ ̲I̲N̲ ̲I̲N̲T̲A̲ ̲(̲4̲.̲2̲.̲5̲.̲4̲.̲1̲5̲)̲





 END CASE























                 FIG. 4.2.5.4.7-2


4.2.5.4.8    P̲E̲R̲I̲O̲D̲I̲C̲ ̲S̲T̲A̲T̲U̲S̲ ̲M̲o̲d̲u̲l̲e̲



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

         The purpose of this module is to generate a periodic
         status.

         If the received designator in a terminal designator
         then the following status will be generated:

             -   service message status
             -   release message status
             -   delivery status
             -   outgoing message status

         If the designator in a device desigantor then a delivery
         status is generated.



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

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

         a)  PERIODIC ̲STATUS(QEL: QEL reference type

                                  QEL ̲ATTR: QEL attributes type

         b)  PERIODIC ̲STATUS (R1, R2, R6

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

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

             R1  QEL                     (KEPT)
             R2  pointer to QEL ̲ATTR     (KEPT)
             R6  LINK                    (DEST)

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

             None

             R0                          (DEST)

             R3 - R7                     (DEST)


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

             NA



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

             MAINTYPE                    refer CPS/DBD/001
             SUBTYPE                          -"-
             QEL ̲REFERENCE ̲TYPE               -"-
             QEL ̲ATTRIBUTES ̲TYPE              -"-
             USER ̲ACTION ̲TYPE                 -"-
             GAQ ̲INFO ̲TYPE                    -"-
             DESIGNATOR ̲TYPE                  -"-
             TABLE ̲TYPE                       -"-
             TERMINAL ̲PROFILE ̲TYPE            -"-
             DEVICE ̲PROFILE ̲TYPE              -"-
             REQ ̲DIR ̲TYPE                     -"-

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

             UMAM ̲TABLE ̲REC(m)           refer 4.2.5.5
             FILE ̲DIRECTORY(m)                -"-
             NEXT ̲LTD (m)                     -"-
             LDO ̲NO                           -"-
             REQUIRED ̲STA(m)                  -"-

         c)  L̲O̲C̲A̲L̲ ̲D̲A̲T̲A̲

             TYPE UMAM ̲TERMINAL ̲PROFILE  TERMINAL ̲PROFILE ̲TYPE

             TYPE UMAM DEVICE ̲PROFILE    DEVICE ̲PROFILE ̲TYPE



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

         This procedure generates a set of status CIF's for
         a terminal/deivce.

         If the terminal/device is not connected and the status
         count is equal zero then no status will be generated.


                  PERIOCID STATUS

  SET REQUIRED ̲STA = MIDNIGHT

  I̲N̲P̲U̲T̲ ̲F̲I̲L̲E̲ ̲D̲I̲R̲E̲C̲T̲O̲R̲Y̲ ̲(̲4̲.̲2̲.̲5̲.̲6̲.̲1̲5̲)̲

  GET FILE ̲DIRECTORY.NEXT ̲LTD

  LOOP

     NEXT ̲LTD GT NO ̲OF ̲VDUS? - G̲E̲N̲ ̲D̲E̲V̲ ̲S̲T̲A̲ ̲(̲4̲.̲2̲.̲5̲.̲4̲.̲8̲-̲2̲)̲-
      CEXIT LOOP

     CASE TMP ̲SEARCH(TERMINAL ̲PROFILE, SEARCH ̲LTD)(CC):
     ERROR ̲OK

         ERROR? -ANALYZE ̲ERROR(CC, C)

         OK?

     END CASE

     BLOCKED? - STATUS ̲COUNT EQ 0?

     SVC CAPABILITY?

     SVC ̲COUNT NE O? - G̲E̲N̲ ̲S̲V̲C̲ ̲S̲T̲A̲ ̲(̲4̲.̲2̲.̲5̲.̲4̲.̲1̲3̲)̲

     G̲E̲N̲ ̲R̲E̲L̲ ̲S̲T̲A̲ ̲(̲4̲.̲2̲.̲5̲.̲4̲.̲9̲)̲

     G̲E̲N̲ ̲D̲E̲L̲ ̲S̲T̲A̲ ̲(̲4̲.̲2̲.̲5̲.̲4̲.̲1̲0̲)̲

     G̲E̲N̲ ̲O̲U̲T̲ ̲S̲T̲A̲ ̲(̲4̲.̲2̲.̲5̲.̲4̲.̲1̲1̲)̲


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

     INCREMENT NEXT-LTD

  END LOOP

  INCREMENT NEXT
            S̲E̲A̲R̲C̲H̲ LTD

  NEXT ̲LTD LE(NO ̲OF ̲VDUS)+(NO ̲OF ̲MTP ̲ROPS)+(NO ̲OF LTPs)?

  SET NEXT ̲LTD = 1

  S̲T̲O̲R̲E̲ ̲F̲I̲L̲E̲ ̲D̲I̲R̲E̲C̲T̲O̲R̲Y̲ ̲(̲4̲.̲2̲.̲5̲.̲6̲.̲1̲8̲)̲

                 FIG. 4.2.5.4.8-1


                  GEN ̲DEVICE ̲STA

  DEV LOOP

     LDD ̲NO = NEXT ̲LTD - NO ̲OF ̲VDUS

     CASE TMP ̲SEARCH(DEVICE ̲PROFILE, LDD ̲NO)(CC):ERROR
     ̲OK

         ERROR? - ANALYZE ̲ERROR(CC,0) 

         OK?

     END CASE

     BLOCKED? - DEL ̲STA ̲COUNT EQ O?


     G̲E̲N̲ ̲D̲E̲L̲ ̲S̲T̲A̲ ̲(̲4̲.̲2̲.̲5̲.̲4̲.̲1̲0̲)̲


         EXIT DEV LOOP

     NEXT ̲LTD NE NO ̲OF ̲VOUS + NO ̲OF ̲MTP ̲ROPS + NO ̲OF
     ̲LTPS?

     EXIT DEV LOOP

     INCREMENT NEXT ̲LTD

  END DEV LOOP


















                 FIG. 4.2.5.4.8-2


4.2.5.4.9    G̲E̲N̲ ̲R̲E̲L̲ ̲S̲T̲A̲ ̲M̲o̲d̲u̲l̲e̲



4.2.5.4.9.1 F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲

         The task of the GEN ̲REL ̲STA module is to generate a
         Release Message status. The status records stored in
         the Intermediate File and the Release File are read
         and sorted.



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

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

         a)  GEN ̲REL ̲STA(QEL : QEL reference type
                        QEL ̲ATTR: QEL attributes type
                        NEXT ̲LTD: designator type)

         b)  GEN ̲REL ̲STA (R1, R2, R3, R6)

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

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

             R1      QEL1                    (KEPT)
             R2      pointer to QEL ̲ATTR     (KEPT)
             R3      NEXT ̲LTD                (DEST)
             R6      LINK                    (DEST)

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

             None

             R0                              (DEST)

             R3 - R7                         (DEST)



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

             NA


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

             MAINTYPE                        refer CPS/DBD/001
             SUBTYPE                              -"-
             QEL ̲REFERENCE ̲TYPE                   -"-
             QEL ̲ATTRIBUTES ̲TYPE                  -"-
             USER ̲ACTION ̲TYPE                     -"-
             GAQ ̲INFO ̲TYPE                        -"-
             STATUS ̲TYPE                     refer 4.2.5.5

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

             UMAM ̲FILE ̲ADDR (m)              refer 4.2.5.5
             UMAM ̲BLE (m)                         -"-
             UCIF ̲LIST (m)                        -"-
             STA ̲ADM (m)                          -"-
             SEARCH ̲LTD                           -"-
             FILE ̲DIRECTORY (m)                   -"-
             REL ̲FILE ̲ID                          -"-
             SORT                                 -"-
             OLD ̲REST (m)                         -".
             NEW ̲REST (m)                         -"-
             SORT ̲COUNT (m)                       -"-
             TRANS ̲COUNT (m)                      -"-
             NO ̲OF ̲INTA ̲REC                       -"-

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

             CONST MAX ̲REL ̲REC =



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

         This module generates a Release Message status. If
         the Release File is used then the status records are
         read and sorted.

         The Intermediate File is read and the status records
         are sorted.

         Upon completion the generated status is sent either
         to a VDU or to a printer.


                   GEN ̲REL ̲STA

 C̲R̲E̲A̲T̲E̲/̲O̲P̲E̲N̲ ̲S̲T̲A̲T̲U̲S̲ ̲C̲I̲F̲ ̲(̲4̲.̲2̲.̲5̲.̲6̲.̲5̲)̲

 INT ̲CHANGES GT 0? - S̲T̲O̲R̲E̲ ̲I̲N̲T̲ ̲A̲R̲E̲A̲ ̲(̲4̲.̲2̲.̲5̲.̲6̲.̲1̲0̲)̲

         PREP CHANGES GT 0 - S̲T̲O̲R̲E̲ ̲P̲R̲E̲P̲ ̲A̲R̲E̲A̲ ̲(̲4̲.̲2̲.̲5̲.̲6̲.̲8̲)̲

 EQUIVALENCE(LITTLE ̲BUF(1), UCIF ̲LIST: FIELD ̲LIST ̲TYPE)

 EQUIVALENCE(LITTLE ̲BUF(14 SIZE(FIELD ̲LIST ̲TYPE),
             STA ̲ADM:      STA ̲ADM ̲TYPE)

 C̲O̲N̲V̲E̲R̲T̲/̲S̲T̲O̲R̲E̲ ̲L̲T̲D̲(̲4̲.̲2̲.̲5̲.̲6̲.̲1̲5̲)̲

 SET STA ̲ADM.COUNTERS = 0

 SET U ̲CIF ̲LIST.OFFSET = 0

 SET U ̲CIF ̲LIST.LENGTH = 0

 I̲N̲P̲U̲T̲ ̲F̲I̲L̲E̲ ̲D̲I̲R̲E̲C̲T̲O̲R̲Y̲ ̲(̲4̲.̲2̲.̲5̲.̲6̲.̲1̲6̲)̲

 LTD.REL COUNT EQ 0?

 MOVE REL ̲COUNT TO OLD ̲RESET

 R̲E̲A̲D̲ ̲R̲E̲L̲ ̲S̲T̲A̲ ̲F̲I̲L̲E̲(̲4̲.̲2̲.̲5̲.̲4̲.̲9̲-̲2̲)̲


 I̲N̲P̲U̲T̲ ̲C̲O̲M̲P̲L̲E̲T̲E̲ ̲I̲N̲T̲A̲ ̲(̲4̲.̲2̲.̲5̲.̲6̲.̲9̲)̲

 MOVE NO ̲OF ̲INTA ̲REC TO TRANS ̲COUNT

 S̲O̲R̲T̲ ̲R̲E̲L̲ ̲S̲T̲A̲(̲4̲.̲2̲.̲5̲.̲4̲.̲9̲-̲3̲)̲

 STATUS ̲REQ EQ MIDNIGHT? - C̲L̲O̲S̲E̲/̲R̲E̲A̲D̲ ̲M̲I̲D̲N̲I̲G̲H̲T̲ ̲S̲T̲A̲ ̲(̲4̲.̲2̲.̲5̲.̲6̲.̲1̲9̲)̲

 C̲L̲O̲S̲E̲/̲S̲E̲N̲D̲ ̲S̲T̲A̲T̲U̲S̲ ̲C̲I̲F̲ ̲(̲5̲.̲2̲.̲5̲.̲6̲.̲6̲)̲






                 FIG. 4.2.5.4.9-1


 UMAM ̲OLE.ADDRESS ̲BIG ̲BUFFER(1)

 UMAM ̲FILE ̲ADDR.FIRST ̲BYTE = (LTD-1) * REL ̲AREA ̲SIZE

 LOOP

     OLD ̲REST LT MAX ̲REL ̲REC? - MOVE OLD ̲REST TO TRANS
     ̲COUNT

     MOVE MAX ̲REL ̲REC TO TRANS ̲COUNT


     BUFFER ̲SIZE = SIZE(REL ̲REC) * TRANS ̲COUNT

     UMAM ̲FILE ̲ADDR.BYTE.COUNT = BUFFER ̲SIZE

     UMAM ̲BLE.BYTE ̲SIZE = BUFFER ̲SIZE

     CASE READBYTES(REL ̲FILE ̲ID, UMAM ̲FILE ̲ADDR, UMAM
     ̲BLE)
                     (UMAM ̲FILE ̲ADDR, CC) : ERROR ̲OK

         ERROR? - ANALYZE - ERROR(CC, 0)

         OK? - PREP = INT = FALSE

     END CASE

     ADD UMAM ̲FILE ̲ADDR.BYTE ̲COUNT TO UMAM ̲FILE ̲ADDR.FIRST
     ̲BYTE

     S̲O̲R̲T̲ ̲R̲E̲L̲ ̲S̲T̲A̲ ̲(̲4̲.̲2̲.̲5̲.̲4̲.̲9̲-̲3̲)̲

     MOVE OLD ̲REST- TRANS ̲COUNT TO NEW ̲REST

     NEW ̲REST EQ 0? -    EXIT LOOP

     MOVE NEW ̲REST TO OLD ̲REST

END LOOP







                 FIG. 4.2.5.4.9-2



 SET SORT ̲COUNT = 1

 SET SEARCH ̲ONE = MSG ̲RELEASED

 SET SEARCH ̲TWO = DUMMY

 SET UCF ̲LIST(F1).LENGTH = SIZE(STA ̲ADM)

 S̲O̲R̲T̲ ̲R̲E̲C̲O̲R̲D̲S̲ ̲(̲4̲.̲2̲.̲5̲.̲4̲.̲1̲2̲)̲

 SET SEARCH ̲ONE = REJECTED ̲RELEASE

 S̲O̲R̲T̲ ̲R̲E̲C̲O̲R̲D̲S̲ ̲(̲4̲.̲2̲.̲5̲.̲4̲.̲1̲2̲)̲

 SET SEARCH ̲ONE = DEFERRED ̲RELEASE

 S̲O̲R̲T̲ ̲R̲E̲C̲O̲R̲D̲S̲ ̲(̲4̲.̲2̲.̲5̲.̲4̲.̲1̲2̲)̲

 SORT ̲COUNT EQ 1?

 S̲T̲O̲R̲E̲ ̲S̲O̲R̲T̲E̲D̲ ̲D̲A̲T̲A̲ ̲(̲4̲.̲2̲.̲5̲.̲6̲.̲1̲4̲)̲
























                 FIG. 4.2.5.4.9-3


4.2.5.4.10       G̲E̲N̲ ̲D̲E̲L̲ ̲S̲T̲A̲ ̲M̲o̲d̲u̲l̲e̲



4.2.5.4.10.1 F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲

         The task of the GEN ̲REL ̲STA module is to generate a
         Delivery status. The status records stored in the Intermediate
         File and the Delivery File are read and sorted.



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

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

         a)  GEN ̲DEL ̲STA(QEL : QEL reference type
                        (QEL ̲ATTR: QEL attributes type
                        NEXT ̲LTD: designator type)

         b)  GEN ̲DEL ̲STA (R1, R2, R3, R6)

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

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

             R1      QEL1                    (KEPT)
             R2      pointer to QEL ̲ATTR     (KEPT)
             R3      NEXT ̲LTD                (DEST)
             R6      LINK                    (DEST)

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

             None

             R0                              (DEST)

             R3 - R7                         (DEST)



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

             NA


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

             MAINTYPE                        refer CPS/SDS/001
             SUBTYPE                              -"-
             QEL ̲REFERENCE ̲TYPE                   -"-
             QEL ̲ATTRIBUTES ̲TYPE                  "-
             USER ̲ACTION ̲TYPE                     -"-
             GAQ ̲INFO ̲TYPE                        -"-
             STATUS ̲TYPE                     refer 4.2.5.5

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

             UMAM ̲FILE ̲ADDR (m)              refer 4.2.5.5
             UMAM ̲BLE (m)                         -"-
             UCIF ̲LIST (m)                        -"-
             STA ̲ADM (m)                          -"-
             SEARCH ̲LTD                           -"-
             FILE ̲DIRECTORY (m)                   -"-
             REL ̲FILE ̲ID                          -"-
             SORT                                 -"-
             OLD ̲REST (m)                         -".
             NEW ̲REST (m)                         -"-
             SORT ̲COUNT (m)                       -"-
             TRANS ̲COUNT (m)                      -"-
             NO ̲OF ̲INTA ̲REC                       -"-

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

             CONST MAX ̲DEL ̲REC =



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

         This module generates a Delivery Message status. If
         the Delivery File is used then the status records are
         read and sorted.

         The Intermediate File is read and the status records
         are sorted.

         Upon completion the generated status is sent either
         to a VDU or to a printer.


                   GEN ̲DEL ̲STA

 C̲R̲E̲A̲T̲E̲/̲O̲P̲E̲N̲ ̲S̲T̲A̲T̲U̲S̲ ̲C̲I̲F̲ ̲(̲4̲.̲2̲.̲5̲.̲6̲.̲5̲)̲

 INT ̲CHANGES GT 0? - S̲T̲O̲R̲E̲ ̲I̲N̲T̲ ̲A̲R̲E̲A̲ ̲(̲4̲.̲2̲.̲5̲.̲6̲.̲1̲0̲)̲

 PREP ̲CHANGES GT 0? - S̲T̲O̲R̲E̲ ̲P̲R̲E̲P̲ ̲A̲R̲E̲A̲ ̲(̲4̲.̲2̲.̲5̲.̲6̲.̲8̲)̲

 EQUIVALENCE(LITTLE ̲BUF (1), UCIF ̲LIST: FIELD ̲LIST ̲TYPE)

 EQUIVALENCE(LITTLE ̲BUF (1 + SIZE(FIELD ̲LIST ̲TYPE)),
             STA ̲ADM: STA ̲ADM ̲TYPE)

 C̲O̲N̲V̲E̲R̲T̲/̲S̲T̲O̲R̲E̲ ̲L̲T̲D̲ ̲(̲4̲.̲2̲.̲5̲.̲6̲.̲1̲5̲)̲

 SET STA ̲ADM.COUNTERS = 0

 SET UCIF ̲LIST.OFF SET = 0

 SET UCIF ̲LIST.LENGTH = 0

 I̲N̲P̲U̲T̲ ̲F̲I̲L̲E̲ ̲D̲I̲R̲E̲C̲T̲O̲R̲Y̲ ̲(̲4̲.̲2̲.̲5̲.̲6̲.̲1̲6̲)̲

 LTD.DEL ̲COUNT EQ 0?

 MOVE DEL ̲COUNT TO OLD ̲REST

 R̲E̲A̲D̲ ̲D̲E̲L̲ ̲S̲T̲A̲ ̲F̲I̲L̲E̲ ̲(̲4̲.̲2̲.̲5̲.̲4̲.̲1̲0̲-̲2̲)̲


 I̲N̲P̲U̲T̲ ̲C̲O̲M̲P̲L̲E̲T̲E̲ ̲I̲N̲T̲A̲ ̲(̲4̲.̲2̲.̲5̲.̲6̲.̲9̲)̲


 MOVE ̲NO ̲OF ̲INTA ̲REC TO TRANS ̲COUNT

 S̲O̲R̲T̲ ̲D̲E̲L̲I̲V̲E̲R̲Y̲ ̲S̲T̲A̲ ̲(̲4̲.̲2̲.̲5̲.̲6̲.̲1̲0̲-̲3̲)̲

 STATUS ̲REQ EQ MIDNIGHT? - C̲L̲O̲S̲E̲/̲S̲E̲N̲D̲ ̲M̲I̲D̲N̲I̲G̲H̲T̲ ̲S̲T̲A̲ ̲(̲4̲.̲2̲.̲5̲.̲6̲.̲1̲9̲)̲

 C̲L̲O̲S̲E̲/̲S̲E̲N̲D̲ ̲S̲T̲A̲T̲U̲S̲ ̲C̲I̲F̲ ̲(̲4̲.̲2̲.̲5̲.̲6̲.̲6̲)̲





                FIG. 4.2.5.4.10-1


                READ ̲DEL ̲STA ̲FILE

 STORE AREA = UMAM ̲BLE.ADDRESS = BIG ̲BUFFER(1)

 UMAM ̲FILE ̲ADDR.FIRST ̲BYTE = (LTD-1) * DEL ̲AREA ̲SIZE

 LOOP
    OLD ̲REST LT MAX ̲DEL ̲REC? - MOVE OLD ̲REST TO TRANS
    ̲COUNT

    MOVE MAX ̲DEL ̲REC TO TRANS ̲COUNT

    STORE ̲AREA ̲SIZE = SIZE(DEL ̲REC) * TRANS ̲COUNT

    UMAM ̲FILE ̲ADDR.BYTE ̲COUNT = STORE-AREA ̲SIZE

    UMAM ̲BLE.BYTE ̲SIZE = STORE ̲AREA ̲SIZE

    CASE READBYTES(DELIVERY ̲FILE.ID, UMAM ̲FILE ̲ADDR,
    UMAM ̲BLE)
                 (UMAM ̲FILE ̲ADDR, CC): ERROR ̲OK
         ERROR? - ANALYZE ̲ERROR(CC, 0)

         OK? - SET PREP = INT = FALSE

    END CASE

    ADD UMAM ̲FILE ̲ADDR.BYTE ̲COUNT TO UMAM ̲FILE ̲ADDR.FIRST
    ̲BYTE

    ADD TRANS ̲COUNT TO ADM ̲FIELD.COUNT

    MOVE STORE ̲AREA ̲SIZE TO STA ̲FIELD ̲LIST.LENGTH

    CASE WRITE ̲VIEW(STORE ̲AREA SIZE, STA ̲FIELD ̲LIST,
    CREATE ̲QEL,
                    STORE ̲AREA (CC): ERROR ̲OK
         ERROR? - ANALYZE ̲ERROR(CC,0)

         OK?
    END CASE
    SET      UCIF ̲LIST.LENGTH = 0
    MOVE OLD ̲REST-TRANS ̲COUNT TO NEW ̲REST

    NEW ̲REST EQ 0? -   EXIT LOOP

    MOVE NEW ̲REST TO OLD ̲REST

 END LOOP

                FIG. 4.2.5.4.10-2


 SET SORT ̲COUNT = 1

 SET SEARCH ̲ONE = MSG ̲RELEASED

 SET SEARCH ̲TWO = DUMMY

 SET UCIF ̲LIST(F1) = SIZE(STA ̲ADM)

 S̲O̲R̲T̲ ̲R̲E̲C̲O̲R̲D̲S̲ ̲(̲4̲.̲2̲.̲5̲.̲4̲.̲1̲2̲)̲

 S̲T̲O̲R̲E̲ ̲S̲O̲R̲T̲E̲D̲ ̲D̲A̲T̲A̲ ̲(̲4̲.̲2̲.̲5̲.̲6̲.̲1̲4̲)̲


4.2.5.4.11   G̲E̲N̲ ̲O̲U̲T̲ ̲S̲T̲A̲ ̲M̲o̲d̲u̲l̲e̲



4.2.5.4.11.1 F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲

         The task of the GEN ̲OUT ̲STA module is to generate a
         Outgoing Message status. The status records stored
         in the Outgoing File, Intermediate File and the Preparation
         File are read and sorted.



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

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

         a)  GEN ̲OUT ̲STA(QEL : QEL reference type
                        (QEL ̲ATTR: QEL attributes type
                        NEXT ̲LTD: designator type)

         b)  GEN ̲OUT ̲STA (R1, R2, R3, R6)

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

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

             R1      QEL 1                   (KEPT)
             R2      pointer to QEL ̲ATTR     (KEPT)
             R3      NEXT ̲LTD                (DEST)
             R6      LINK                    (DEST)

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

             None

             R0                              (DEST)

             R3 - R7                         (DEST)



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

             NA


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

         a)  Data References

             MAIN TYPE                       refer CPS/SDS/001
             SUBTYPE                              -"-
             QEL ̲REFERENCE ̲TYPE                   -"-
             QEL ̲ATTRIBUTES ̲TYPE                  -"-
             USER ̲ACTION ̲TYPE                     -"-
             GAQ ̲INFO ̲TYPE                        -"-
             STATUS ̲TYPE                     refer 4.2.5.5

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

             UMAM ̲FILE ̲ADDR (m)              refer 4.2.5.5
             UMAM ̲BLE (m)                         -"-
             UCIF ̲LIST (m)                        -"-
             STA ̲ADM (m)                          -"-
             SEARCH ̲LTD                           -"-
             FILE ̲DIRECTORY (m)                   -"-
             REL ̲FILE ̲ID                          -"-
             SORT                                 -"-
             OLD ̲REST (m)                         -".
             NEW ̲REST (m)                         -"-
             SORT ̲COUNT (m)                       -"-
             TRANS ̲COUNT (m)                      -"-
             NO ̲OF ̲INTA ̲REC                       -"-

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

             CONST MAX ̲OUT ̲REC =



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

         This module generates a Outgoing Message status. If
         the Outgoing File is used then the status records are
         read and sorted.

         The Intermediate File and the Preparation File are
         read and the status records are sorted.

         Upon completion the generated status is sent either
         to a VDU or to a printer.


 C̲R̲E̲A̲T̲E̲/̲O̲P̲E̲N̲ ̲S̲T̲A̲T̲U̲S̲ ̲C̲I̲F̲(̲4̲.̲2̲.̲5̲.̲6̲.̲5̲)̲

 INT ̲CHANGES GT O? - S̲T̲O̲R̲E̲ ̲I̲N̲T̲ ̲A̲R̲E̲A̲ ̲(̲4̲.̲2̲.̲5̲.̲6̲.̲1̲0̲)̲

 PREP ̲CHANGES GT O? - S̲T̲O̲R̲E̲ ̲P̲R̲E̲P̲ ̲A̲R̲E̲A̲ ̲(̲4̲.̲2̲.̲5̲.̲6̲.̲8̲)̲

 EQUIVALENCE(LITTLE ̲BUF(1), STA ̲FIELD ̲LIST: FIELD ̲LIST
 ̲TYPE

 EQUIVALENCE(LITTLE ̲BUF(1+SIZE(STA ̲FIELD ̲LIST))

             STA ̲ADM: STA ̲ADM ̲TYPE)

 C̲O̲N̲V̲E̲R̲T̲/̲S̲T̲O̲R̲E̲ ̲L̲T̲D̲ ̲(̲4̲.̲2̲.̲5̲.̲6̲.̲1̲5̲)̲

 SET STA ̲ADM.COUNTERS = 0

 SET STA ̲FIELD ̲LIST.OFFSET = 0

 SET STA ̲FIELD ̲LIST.LENGTH = 0

 I̲N̲P̲U̲T̲ ̲F̲I̲L̲E̲ ̲D̲I̲R̲E̲C̲T̲O̲R̲Y̲ ̲(̲4̲.̲2̲.̲5̲.̲6̲.̲1̲6̲)̲

 LTD.OUT ̲COUNT EQ 0?

 MOVE OUT ̲COUNT TO OLD ̲REST

 R̲E̲A̲D̲ ̲O̲U̲T̲ ̲S̲T̲A̲ ̲F̲I̲L̲E̲ ̲(̲4̲.̲2̲.̲5̲.̲4̲.̲1̲1̲-̲2̲)̲

 I̲N̲P̲U̲T̲ ̲C̲O̲M̲P̲L̲E̲T̲E̲ ̲I̲N̲T̲A̲ ̲(̲4̲.̲2̲.̲5̲.̲6̲.̲9̲)̲

 MOVE NO ̲OF ̲INTA ̲REC TO TRANS ̲COUNT

 S̲O̲R̲T̲ ̲O̲U̲T̲ ̲S̲T̲A̲ ̲(̲4̲.̲2̲.̲5̲.̲4̲.̲1̲1̲-̲3̲)̲

 I̲N̲P̲U̲T̲ ̲P̲R̲E̲P̲ ̲R̲E̲C̲O̲R̲D̲S̲ ̲(̲4̲.̲2̲.̲5̲.̲6̲.̲1̲7̲)̲

 S̲O̲R̲T̲ ̲P̲R̲E̲P̲ ̲R̲E̲C̲O̲R̲D̲S̲ ̲(̲4̲.̲2̲.̲5̲.̲4̲.̲1̲1̲-̲4̲)̲

 STATUS ̲REQ EQ MIDNIGHT? - C̲L̲O̲S̲E̲/̲S̲E̲N̲D̲ ̲M̲I̲D̲N̲I̲G̲H̲T̲ ̲S̲T̲A̲(̲4̲.̲2̲.̲5̲.̲6̲.̲1̲9̲)̲

 C̲L̲O̲S̲E̲/̲S̲E̲N̲D̲ ̲S̲T̲A̲T̲U̲S̲ ̲C̲I̲F̲ ̲(̲4̲.̲2̲.̲5̲.̲6̲.̲6̲)̲




                FIG. 4.2.5.4.11-1


                READ ̲OUT ̲SIZE ̲FILE

 UMAM ̲BLE. ADDRESS = BIG ̲BUFFER(1)

 UMAM ̲FILE ̲ADDR.FIRST ̲BYTE = (LTD-1) * OUT ̲AREA ̲SIZE

 LOOP

    OLD ̲REST LT MAX ̲OUT REC? - MOVE OLD ̲REST TO TRANS
    ̲COUNT

    MOVE MAX ̲OUT ̲REC TO TRANS ̲COUNT


    BUFFER ̲SIZE = SIZE (OUT ̲REC) * TRANS ̲COUNT

    UMAM ̲FILE ̲ADDR.BYTE ̲COUNT = BUFFER ̲SIZE

    UMAM ̲BLE.BYTE ̲SIZE = BUFFER ̲SIZE

    CASE READBYTES(OUT ̲FILE ̲ID, UMAM ̲FILE ̲ADDR, UMAM
    ̲BLE)

                  (UMAM ̲FILE ̲ADDR, CC) : ERROR ̲OK

         ERROR? - ANALYZE ̲ERROR(CC,0)

         OK? - SET PREP = INT = FALSE

    END CASE

    ADD UMAM ̲FILE ̲ADDR.BYTE ̲COUNT TO UMAM ̲FILE ̲ADDR.FIRST
    ̲BYTE

    S̲O̲R̲T̲ ̲O̲U̲T̲ ̲S̲T̲A̲ ̲(̲4̲.̲2̲.̲5̲.̲4̲.̲1̲1̲-̲3̲)̲

    MOVE OLD ̲REST-TRANS ̲COUNT TO NEW ̲REST

    NEW ̲REST EQ 0? -    EXIT LOOP

    MOVE NEW ̲REST TO OLD ̲REST

 END LOOP





                FIG. 4.2.5.4.11-2


                   SORT ̲OUT ̲STA

 SET SORT ̲COUNT = 1

 SET SEARCH ̲ONE = MSG ̲RELEASED

 SET SEARCH ̲TWO = DUMMY

 SET STA ̲FIELD ̲LIST(F1). LENGTH = SIZE(STA ̲ADM)


 S̲O̲R̲T̲ ̲R̲E̲C̲O̲R̲D̲S̲ ̲(̲4̲.̲2̲.̲5̲.̲4̲.̲1̲2̲)̲

 SORT ̲COUNT EQ 1?

 S̲T̲O̲R̲E̲ ̲S̲O̲R̲T̲E̲D̲ ̲D̲A̲T̲A̲ ̲(̲4̲.̲2̲.̲5̲.̲6̲.̲1̲4̲)̲

 SET SORT ̲COUNT = 1


 SET SEARCH ̲ONE = MSG ̲DELETED

 S̲O̲R̲T̲ ̲R̲E̲C̲O̲R̲D̲S̲ ̲(̲4̲.̲2̲.̲5̲.̲4̲.̲1̲2̲)̲

 SET SEARCH ̲ONE = COMMENT ̲SENT


 S̲O̲R̲T̲ ̲R̲E̲C̲O̲R̲D̲S̲ ̲(̲4̲.̲2̲.̲5̲.̲4̲.̲1̲2̲)̲

 SET SEARCH ̲ONE = COMMENT ̲DELETED

 S̲O̲R̲T̲ ̲R̲E̲C̲O̲R̲D̲S̲ ̲(̲4̲.̲2̲.̲5̲.̲4̲.̲1̲2̲)̲

 SORT ̲COUNT EQ 1?

 S̲T̲O̲R̲E̲ ̲S̲O̲R̲T̲E̲D̲ ̲D̲A̲T̲A̲ ̲(̲4̲.̲2̲.̲5̲.̲6̲.̲1̲4̲)̲

 SET SORT ̲COUNT = 1







                FIG. 4.2.5.4.11-3


                SORT PREP RECORDS

 SET SEARCH ̲ONE = SENT ̲FOR ̲RELEASE

 S̲O̲R̲T̲ ̲R̲E̲C̲O̲R̲D̲S̲(̲4̲.̲2̲.̲5̲.̲4̲.̲1̲2̲)̲

 SET SEARCH ̲ONE = SENT ̲FOR ̲COORDINATION

 S̲O̲R̲T̲ ̲R̲E̲C̲O̲R̲D̲S̲(̲4̲.̲2̲.̲5̲.̲4̲.̲1̲2̲)̲

 SET SEARCH ̲ONE = MSG ̲SUSPEND ̲CONT, SEARCH ̲TWO = MSG
 ̲SUSPEND ̲DRAFT

 S̲O̲R̲T̲ ̲R̲E̲C̲O̲R̲D̲S̲(̲4̲.̲2̲.̲5̲.̲4̲.̲1̲2̲)̲

 SET SEARCH ̲ONE = MSG DEFERRED, SEARCH-TWO = DUMMY

 S̲O̲R̲T̲ ̲R̲E̲C̲O̲R̲D̲S̲ ̲(̲4̲.̲2̲.̲5̲.̲4̲.̲1̲2̲)̲

 SET SEARCH ̲ONE = AWAITING ̲APP ̲CONT, SEARCH ̲TWO-AWAITING
 ̲APP ̲DRAFT

 S̲O̲R̲T̲ ̲R̲E̲C̲O̲R̲D̲S̲(̲4̲.̲2̲.̲5̲.̲4̲.̲1̲2̲)̲

 SET SEARCH ̲ONE = COMMENT ̲SUSPEND ̲CONT, SEARCH ̲TWO =
 COM ̲SUSPEND ̲DRAFT

 S̲O̲R̲T̲ ̲R̲E̲C̲O̲R̲D̲S̲(̲4̲.̲2̲.̲5̲.̲4̲.̲1̲2̲)̲

 SORT ̲COUNT EQ 1?

 S̲T̲O̲R̲E̲ ̲S̲O̲R̲T̲E̲D̲ ̲D̲A̲T̲A̲(̲4̲.̲2̲.̲5̲.̲6̲.̲1̲4̲)̲

 SET SORT ̲COUNT = 1

 SET SEARCH ̲ONE = REJECTED ̲RELEASE, SEARCH ̲TWO = DUMMY

 S̲O̲R̲T̲ ̲R̲E̲C̲O̲R̲D̲S̲(̲4̲.̲2̲.̲5̲.̲4̲.̲1̲.̲2̲)̲

 SET SEARCH ̲ONE = DEFERRED ̲RELEASE

 S̲O̲R̲T̲ ̲R̲E̲C̲O̲R̲D̲S̲(̲4̲.̲2̲.̲5̲.̲4̲.̲1̲2̲)̲

 SORT ̲COUNT EQ 1?

 S̲T̲O̲R̲E̲ ̲S̲O̲R̲T̲E̲D̲ ̲D̲A̲T̲A̲(̲4̲.̲2̲.̲5̲.̲6̲.̲1̲4̲)̲

                FIG. 4.2.5.4.11-4


4.2.5.4.12       S̲O̲R̲T̲ ̲R̲E̲C̲O̲R̲D̲S̲ ̲M̲o̲d̲u̲l̲e̲



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

         The purpose of this module is to sort the data read
         from the status files.

         The records which fulfil the search criteria are moved
         to a buffer area. When the buffer gets full then the
         status records are stored in a CIF.



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

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

         a)  SORT RECORDS(QEL :  QEL reference type
                          PREP ̲COUNT: counter type
                          STATUS ̲COUNT: counter type
                          LENGTH: FIELD LENGTH type

         b)  SORT ̲RECORDS (R1, R3, R4, R5, R6)

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

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

         R1      QEL             (KEPT)
         R3      pointer to ADM ̲FIELD.MSG ̲PREP         (DEST)
         R4      pointer to ADM ̲FIELD.STATUS ̲COUNT     (DEST)
         R5      pointer to UCIF.LENGTH                (DEST)
         R6      LINK                                  (DEST)

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

         None

         R0                                            (DEST)

         R2 - R7                                       (DEST)


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

             NA



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

             QEL ̲REFERENCE ̲TYPE             refer CPS/SDS/001
             USER ̲ACTION ̲TYPE                    -"-
             GAQ ̲INFO ̲TYPE                       -"-
             FIELD ̲LIST ̲TYPE                     -"-
             ADM ̲FIELD ̲TYPE                 refer 4.2.5.5
             SOURCE ̲BUF ̲TYPE                     -"-
             DEST ̲BUF ̲TYPE                       -"-
             INT ̲AREA ̲TYPE                       -"-
             PREP ̲AREA ̲TYPE                      -"-

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

             UMAM ̲TIME                      refer 4.2.5.5
             SORT                                -"-
             SOURT ̲COUNT                         -"-

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

             CONST MAX ̲SORT ̲REC =
             TYPE INT ̲AREA       ; INT ̲AREA ̲TYPE
             TYPE PREP ̲AREA      ; PREP ̲AREA ̲TYPE


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

         The status records read are sorted by this module.

         Depending of the status type a data description is
         impressed the source- and destination buffer area.
         The reason for having two search keys are:

         The ADM ̲FIELD.MSG ̲PREP shall contain the number of
         messages prepared since midnight, i.e. messages retrievable
         in either draft or released version. Records which
         fulfil the search criteria are moved to the destination
         buffer. When the destinationd area gets full the contents
         will be stored in the status-CIF.


                   SORT RECORDS

 CASE SOURCE ̲BUF OF

         INT ̲BUF? - EQUIVALENCE(BIG ̲BUFFER(1),
                                 INT ̲BUF: INT ̲AREA ̲TYPE)


                     S̲O̲R̲T̲ ̲I̲N̲T̲ ̲A̲R̲E̲A̲ ̲(̲4̲.̲2̲.̲5̲.̲4̲.̲1̲2̲-̲2̲

         PREP ̲BUF? - EQUIVALENCE(BIG ̲BUFFER(1)
                                 PREP ̲BUF: PREP ̲AREA
                                 ̲TYPE)

                     S̲O̲R̲T̲ ̲P̲R̲E̲P̲ ̲A̲R̲E̲A̲(̲4̲.̲2̲.̲5̲.̲4̲.̲1̲2̲-̲4̲)̲

         OTHERWISE? -I̲N̲T̲ ̲E̲R̲R̲O̲R̲ ̲(̲4̲.̲2̲.̲5̲.̲6̲.̲3̲1̲)̲


 END CASE

























                FIG. 4.2.5.4.12-1


 LOOP

    GET INT ̲BUF(START ̲REC)

    LTD NE SEARCH ̲ONE? -         SEARCH ̲TWO EQ DUMMY?

                                 STATUS NE SEARCH-TWO?

    MSG NOT FROM TODAY?          

    INCREMENT ADM ̲FIELD.MSG ̲PREP


    INCREMENT ADM ̲FIELD.COUNT

    M̲O̲V̲E̲ ̲R̲E̲C̲O̲R̲D̲ ̲(̲4̲.̲2̲.̲5̲.̲4̲.̲1̲2̲-̲3̲

    UPDATE UMAM ̲CIF ̲FIELD ̲LIST.LENGTH

    SORT ̲COUNT EQ MAX ̲SORT ̲REC? - S̲T̲O̲R̲E̲ ̲S̲O̲R̲T̲E̲D̲ ̲D̲A̲T̲A̲
    ̲(̲4̲.̲2̲.̲5̲.̲6̲.̲1̲4̲)̲

    INCREMENT SORT ̲COUNT          SET SORT ̲COUNT = 1


    INCREMENT START ̲REC

    START ̲REC GT STOP ̲REC? -   EXIT LOOP


 END LOOP

















                FIG. 4.2.5.4.12-2


 LITTLE START = 1 + SIZE(FIELD ̲LIST ̲TYPE)+ SIZE(ADM
 ̲FIELD ̲TYPE)

 CASE DEST ̲BUF OF

    RELE? - EQUIVALENCE(LITTLE ̲BUF(LITTLE ̲START),
                     REL ̲BUF: REL ̲BUF ̲TYPE)

           MOVE INT ̲BUF(START ̲REC) TO REL ̲BUF(SORT COUNT)


    DEL I? - EQUIVALENCE(LITTLE ̲BUF(LITTLE ̲START),
                     DEL I-BUF: DELI-BUF ̲TYPE)

             MOVE INT ̲BUF(START ̲REC) TO DELI-BUF(SORT
             ̲COUNT)


    ABEY? - EQUIVALENCE(LITTLE ̲BUF(LITTLE ̲START),
                     ABEY ̲BUF: ABEY ̲BUF ̲TYPE)

             MOVE INT ̲BUF(START ̲REC) TO ABEY ̲BUF(SORT
             ̲COUNT)

    OTHERWISE? - U̲I̲N̲T̲ ̲E̲R̲R̲O̲R̲ ̲(̲4̲.̲2̲.̲5̲.̲6̲.̲3̲1̲


 END CASE





















                FIG. 4.2.5.4.13-3


                  SORT PREP AREA

 LOOP

    GET PREP ̲BUF(START ̲REC)

    LTD NE SEARCH ̲LTD?

    STATUS NE SEARCH ̲ONE? - SEARCH ̲TWO EQ DUMMY?


    MSG NOT FROM TODAY?     STATUS NE SEARCH ̲TWO?

    INCR ADM ̲FIELD. MSG ̲PREP

    INCR ADM ̲FIELD.COUNT

    LITTLE ̲START = 1 + SIZE(FIELD ̲LIST ̲TYPE) + SIZE(ADM
    ̲FIELD ̲TYPE)

    CASE DEST ̲BUF OF

         RELE? - EQUIVALENCE(LITTLE ̲BUF(LITTLE ̲START),
                                 REL ̲BUF:REL ̲BUF TYPE)

                 MOVE PREP ̲BUF(START ̲REC)TO REL ̲BUF(SORT
                 ̲COUNT)

         ABEY? - EQUIVALENCE(LITTLE ̲BUF(LITTLE START)
                                 ABEY ̲BUF: ABEY ̲BUF
                                 ̲TYPE)

                 MOVE PREP ̲BUF (START ̲REC)TO ABEY ̲BUF(SORT
                 ̲COUNT)

    END CASE

    UPDATE UCIF ̲LIST.LENGTH

    SORT ̲COUNT EQ MAX ̲SORT ̲REC? - S̲T̲O̲R̲E̲ ̲S̲O̲R̲T̲E̲D̲ ̲D̲A̲T̲A̲(̲4̲.̲2̲.̲5̲.̲6̲.̲1̲4̲)̲

    INCREMENT SORT ̲COUNT          SET SORT ̲COUNT = 1


    INCREMENT START ̲REC

    START ̲REC GT STOP ̲REC -    EXIT LOOP


 END LOOP

                FIG. 4.2.5.4.12-4


4.2.5.4.13       G̲E̲N̲ ̲S̲V̲C̲ ̲S̲T̲A̲ ̲M̲o̲d̲u̲l̲e̲



4.2.5.4.13.1 F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲

         The task of the GEN ̲SVC ̲STA module is to generate a
         Service Message status. The status records stored in
         the Outgoing File, Intermediate File and the Release
         File are read and sorted.



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

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

         a)  GEN ̲SVC ̲STA(QEL : QEL reference type
                        (QEL ̲ATTR: QEL attributes type
                        SEARCH ̲LTD: designator type)

         b)  GEN ̲SVC ̲STA (R1, R2, R3, R6)

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

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

             R1      QEL                     (KEPT)
             R2      pointer to QEL ̲ATTR     (KEPT)
             R3      NEXT ̲LTD                (DEST)
             R6      LINK                    (DEST)

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

             None

             R0                              (DEST)

             R3 - R7                         (DEST)


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

             NA



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

         a)  Data References

             MAIN TYPE                       refer CPS/SDS/001
             SUBTYPE                              -"-
             QEL ̲REFERENCE ̲TYPE                   -"-
             QEL ̲ATTRIBUTES ̲TYPE                  "-
             USER ̲ACTION ̲TYPE                     -"-
             GAQ ̲INFO ̲TYPE                        -"-
             STATUS ̲TYPE                     refer 4.2.5.5

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

             UMAM ̲FILE ̲ADDR (m)              refer 4.2.5.5
             UMAM ̲BLE (m)                         -"-
             UCIF ̲LIST (m)                        -"-
             STA ̲ADM (m)                          -"-
             SEARCH ̲LTD                           -"-
             FILE ̲DIRECTORY (m)                   -"-
             REL ̲FILE ̲ID                          -"-
             SORT                                 -"-
             OLD ̲REST (m)                         -".
             NEW ̲REST (m)                         -"-
             SORT ̲COUNT (m)                       -"-
             TRANS ̲COUNT (m)                      -"-
             NO ̲OF ̲INTA ̲REC                       -"-

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

             CONST MAX ̲OUT ̲REC =



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

         This module generates a Outgoing Message status. If
         the Outgoing File is used then the status records are
         read and sorted.

         The Intermediate File and the Preparation File are
         read and the status records are sorted.

         Upon completion the generated status is sent either
         to a VDU or to a printer.