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

⟦ae0a38545⟧ Wang Wps File

    Length: 42975 (0xa7df)
    Types: Wang Wps File
    Notes: CPS/SDS/039               
    Names: »4846A «

Derivation

└─⟦27551141f⟧ Bits:30006195 8" Wang WCS floppy, CR 0468A
    └─ ⟦this⟧ »4846A « 

WangText



…15……05……15……07……14……0b……14……0d……14……00……86…1                              
               …02…           …02…   …02…   
     

…02…CPS/SDS/039

USER VDU…02…841101…02……02…
DETAILED DESIGN SPECIFICATION
…02…ISSUE 1…02…CAMPS








4.2.5.4.4    P̲R̲E̲P̲ ̲Q̲U̲E̲U̲E̲ ̲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 inspects 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)  PREP ̲QUEUE ̲ACTION 

             b)  PREP ̲QUEUE ̲ACTION(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̲

                     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̲

         a)  R̲E̲O̲R̲G̲ ̲S̲T̲A̲T̲U̲S̲

             The reference to the old CIF version is deleted
             from the status record and a reference to the new
             CIF version is inserted.

         b)  C̲O̲N̲V̲E̲R̲T̲ ̲A̲T̲T̲R̲ ̲T̲O̲ ̲I̲N̲T̲A̲

             The contents of UMAM ̲ATTR is converted and placed
             in INTA ̲REC

         c)  R̲E̲A̲D̲ ̲I̲T̲E̲M̲ ̲R̲E̲F̲

             The Item Reference Identity of the CIF referenced
             by QEL1 is fetched by a call to Message Monitor.
             The Item-ref is placed in STA ̲ITEM.

         d)  C̲O̲N̲V̲E̲R̲T̲ ̲R̲E̲L̲B̲U̲F̲ ̲T̲O̲ ̲I̲N̲T̲A̲

             The contents of the RELEASE ̲BUFFER and STATUS ̲REC
             is moved to INTA ̲REC.


         e)  C̲O̲N̲V̲E̲R̲T̲ ̲S̲C̲ ̲R̲E̲L̲B̲U̲F̲ ̲T̲O̲ ̲I̲N̲T̲A̲

             The contents of the RELEASE ̲BUFFER is moved to
             INTA ̲REC.

         f)  U̲N̲K̲N̲O̲W̲N̲ ̲C̲H̲A̲N̲G̲E̲

             The status of the recieved CIF is unknown. This
             procedure reads Maintype and Orig-SCD from the
             administration field of the CIF and builts up a
             valid set of QEL ̲ATTRIBUTES.

         g)  F̲I̲N̲A̲L̲ ̲S̲V̲C̲

             If a Service Message has reached the final state,
             then the status will be updated by this procedure.
             If first entry, then a status record will be inserted
             in the Intermediate File otherwise the status record
             referencing the message will be moved from the
             Preparation File to the Intermediate File.


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̲ ̲R̲e̲f̲e̲r̲e̲n̲c̲e̲s̲

             CPS ̲PREFIX.D*GENERAL
             CPS ̲PREFIX.D*DAMOS ̲GENERAL
             CPS ̲PREFIX.D*CPS ̲CONF
             CPS ̲PREFIX.D*CPS ̲GENERAL
             CPS ̲PREFIX.D*CSF ̲GENERAL
             CPS ̲PREFIX.D*UTILITY ̲FUNC
             CPS ̲PREFIX.D*QUEUE ̲MON
             CPS ̲PREFIX.D*MESSAGE ̲MON
             CPS ̲PREFIX.D*SYS ̲CALL ̲MON
             CPS ̲PREFIX.D*CPS ̲ERROR ̲HAND
             CPS ̲PREFIX.D*FMS ̲GENERAL
             CPS ̲PREFIX.D*IOS ̲PARAMS
             CPS ̲PREFIX.D*SSC ̲GENERAL
             CPS ̲PREFIX.D*SSC ̲SYS ̲CONF
             CPS ̲PREFIX.D*SITE ̲CONF
             CPS ̲PREFIX.D*QUEUE ̲GENERAL
             CPS ̲PREFIX.D*CPS ̲APP ̲GENERAL
             CPS ̲PREFIX.D*CPS ̲IIF
             CPS ̲PREFIX.D*TRACE
             CPS ̲PREFIX.D*CPS ̲AMOS ̲CONF

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

             UMAM ̲VIEW ̲ATTR (m)
             STA ̲ITEM (m)
             INTA ̲REC (m)
             UMAM ̲ATTR (m)
             BIG ̲BUF ̲CONTENTS
             LITTLE ̲BUF
             UMAM ̲COLQ (m)

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

             CONST
                 FIRST ̲VERSION = 1

             CONST
                 REL ̲BUF ̲OFFSET = 1

             VAR
                 SAVER6: INTEGER





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.


    PREP ̲QUEUE ̲ACTION


    RECV ̲NEXT LOOP

         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̲(̲Q̲E̲L̲1̲)̲ ̲(̲4̲.̲2̲.̲5̲.̲6̲.̲1̲)

         UMAM ̲COLQ.SUBQUEUE = U ̲PREPQ

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

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

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

                          LA1? -   EXIT RECV ̲NEXT LOOP

                      END CASE

             OK?  


         END CASE

END RECV ̲NEXT LOOP  


















               FIGURE 4.2.5.4.4-1


SUBQ ̲TWO ̲QEL ̲INSPECTION


CASE UMAM ̲ATTR. MAINTYPE OF QELEMENT ̲MAIN ̲TYPE

    PLAINDRESS, PLAINDRESS ̲DATA, PLAINDRESS ̲SERVICE,

    ABB ̲PLAINDRESS ̲SERVICE, ABB ̲SERVICE,

    SC ̲VDU ̲PAGE, SC ̲COMMENT,

    COMMENT? - CASE UMAM ̲ATTR.SUBTYPE OF MESSAGE ̲SUBTYPE

                     DEFERRED/SUSPENDED- O̲U̲T̲ ̲S̲T̲A̲ ̲U̲P̲
                     ̲(̲-̲ ̲3̲)̲

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

                 END CASE

    TEP ̲INT? - CASE UMAM ̲ATTR.SUBTYPE OF TEP ̲INTERNAL
    ̲SUBTYPE

                     MSG ̲STATUS ̲CHANGE? - R̲E̲L̲ ̲S̲T̲A̲ ̲U̲P̲
                     ̲(̲-̲4̲)̲

                     SVC ̲FINAL ̲STATUS - F̲I̲N̲A̲L̲ ̲S̲V̲C̲ ̲(̲4̲.̲2̲.̲5̲.̲4̲.̲4̲.̲3̲.̲7̲)̲

                     UNKNOWN ̲STATUS ̲CHANGE? - U̲N̲K̲N̲O̲W̲N̲
                     ̲C̲H̲A̲N̲G̲E̲
                                                  
                                                  
                                                  
                                                  
                                                  
                                                  
                                                  
                                                  
                                                 (4̲.̲2̲.̲5̲.̲4̲.̲4̲.̲3̲.̲6̲)̲

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

                 END CASE

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


END CASE








               FIGURE 4.2.5.4.4-2


 OUT ̲STA ̲UP

 R̲E̲A̲D̲ ̲I̲T̲E̲M̲ ̲R̲E̲F̲ ̲(̲4̲.̲2̲.̲5̲.̲4̲.̲4̲.̲3̲.̲3̲)

 EQUIVALENCE(UMAM ̲ATTR.HEADER.INF, PARAM: OUTG ̲PARAM
 ̲TYPE)

 CASE UMAM ̲ATTR.FLAG OF STATUS ̲STATE ̲TYPE

         FIRST ̲FINAL? -  C̲O̲N̲V̲E̲R̲T̲ ̲A̲T̲T̲R̲ ̲T̲O̲ ̲I̲N̲T̲A̲(̲4̲.̲2̲.̲5̲.̲4̲.̲3̲.̲3̲.̲2̲)̲

                         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? CASE L̲O̲O̲K̲U̲P̲ ̲S̲T̲A̲T̲U̲S̲ ̲R̲E̲C̲(̲S̲T̲A̲
         ̲I̲T̲E̲M̲,̲ ̲P̲A̲R̲A̲M̲.̲L̲T̲D̲)
                                                 (S̲T̲A̲T̲U̲S̲
                                                 ̲R̲E̲C̲)̲E̲R̲R̲O̲R̲
                                                 ̲O̲K̲(̲4̲.̲2̲.̲5̲.̲6̲.̲2̲1̲)̲

                                                 ERROR?
                                                 -
                                                 U̲Q̲
                                                 ̲E̲R̲R̲O̲R̲(̲C̲O̲N̲T̲)̲(̲4̲.̲2̲.̲5̲.̲6̲.̲1̲1̲)̲

                                                 OK?
                                                 -
                                                 STATUS
                                                 ̲REC.STATUS
                                                 =
                                                 PARAM.STATUS
                                                 ̲CODE

                                                  
                                                  
                                                  C̲O̲N̲V̲E̲R̲T̲
                                                 ̲O̲U̲T̲G̲
                                                 ̲T̲O̲
                                                 ̲I̲N̲T̲A̲(̲S̲T̲A̲T̲U̲S̲
                                                 ̲R̲E̲C̲)̲
                                                                       (̲4̲.̲2̲.̲5̲.̲6̲.̲7̲)̲

                                                  
                                                  
                                                  E̲X̲C̲L̲U̲D̲E̲
                                                 ̲F̲R̲O̲M̲
                                                 ̲P̲R̲E̲P̲(̲S̲T̲A̲T̲U̲S̲
                                                 ̲R̲E̲C̲)̲(̲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̲)̲

                         END CASE

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


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


 END CASE



               FIGURE 4.2.5.4.4-3


 REL ̲STA ̲UP

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

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

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

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

                 END CASE

         OK?     UMAM ̲ATTR.HEADER.FLAGS NE BIT ̲0 ?

                 C̲O̲N̲V̲E̲R̲T̲ ̲S̲C̲ ̲R̲E̲L̲B̲U̲F̲ ̲T̲O̲ ̲I̲N̲T̲A̲ ̲(̲4̲.̲2̲.̲5̲.̲4̲.̲4̲.̲3̲.̲5̲)

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

                 CASE L̲O̲O̲K̲U̲P̲ ̲S̲T̲A̲T̲U̲S̲ ̲R̲E̲C̲(̲R̲E̲L̲ ̲B̲U̲F̲.̲C̲I̲F̲
                 ̲R̲E̲F̲E̲R̲E̲N̲C̲E̲,̲
                                            R̲E̲L̲ ̲B̲U̲F̲.̲L̲T̲D̲
                          ̲(̲P̲R̲E̲P̲)̲

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

                     ERROR? - U̲Q̲ ̲E̲R̲R̲O̲R̲(̲C̲O̲N̲T̲)̲(̲4̲.̲2̲.̲5̲.̲6̲.̲1̲1̲)̲

                     OK?  C̲O̲N̲V̲E̲R̲T̲ ̲R̲E̲L̲B̲U̲F̲ ̲T̲O̲ ̲I̲N̲T̲A̲(̲S̲T̲A̲T̲U̲S̲
                          ̲R̲E̲C̲)̲ ̲(̲4̲.̲2̲.̲5̲.̲4̲.̲4̲.̲3̲.̲4̲)̲

                          E̲X̲C̲L̲U̲D̲E̲ ̲F̲R̲O̲M̲ ̲P̲R̲E̲P̲(̲S̲T̲A̲T̲U̲S̲
                          ̲R̲E̲C̲)̲
                                                  
                                                  
                                                 (̲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̲)̲


                 END CASE

 END CASE















               FIGURE 4.2.5.4.4-4


4.2.5.4.5    V̲D̲U̲ ̲P̲A̲G̲E̲ ̲S̲T̲O̲R̲A̲G̲E̲ ̲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) VDU ̲PAGE ̲STORAGE  

 b) VDU ̲PAGE ̲STORAGE      (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̲

 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̲

 None





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̲

             CPS ̲PREFIX.D*GENERAL
             CPS ̲PREFIX.D*DAMOS ̲GENERAL
             CPS ̲PREFIX.D*CPS ̲CONF
             CPS ̲PREFIX.D*CPS ̲GENERAL
             CPS ̲PREFIX.D*CSF ̲GENERAL
             CPS ̲PREFIX.D*QUEUE ̲MON
             CPS ̲PREFIX.D*MESSAGE ̲MON
             CPS ̲PREFIX.D*CPS ̲ERROR ̲HAND
             CPS ̲PREFIX.D*FMS ̲GENERAL
             CPS ̲PREFIX.D*IOS ̲PARAMS
             CPS ̲PREFIX.D*SSC ̲GENERAL
             CPS ̲PREFIX.D*SSC ̲SYS ̲CONF
             CPS ̲PREFIX.D*SITE ̲CONF
             CPS ̲PREFIX.D*QUEUE ̲GENERAL
             CPS ̲PREFIX.D*CPS ̲APP ̲GENERAL
             CPS ̲PREFIX.D*TRACE
             CPS ̲PREFIX.D*CPS ̲AMOS ̲CONF

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

             UMAM ̲ ATTR
             QEL1
             CREATE ̲QEL

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

             None



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 view name will be stored instead of the old
         name. If the name is not recognised then the CIF will
         be sent to the MDCO.


 VDU ̲PAGE ̲STORAGE 

 CASE UMAM ̲ATTR.MAINTYPE OF QELEMENT ̲MAIN ̲TYPE

      SC ̲VDU ̲PAGE? - CASE UMAM ̲ATTR.SUBTYPE OF MESSAGE
    ̲SUBTYPE

                          FOR ̲STORAGE? C̲H̲A̲N̲G̲E̲ ̲D̲I̲S̲P̲
                          ̲N̲A̲M̲E̲(̲-̲2̲)̲

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

                      END CASE


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


 END CASE

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





















               FIGURE 4.2.5.4.5-1


 CHANGE ̲DISP ̲NAME

 R̲E̲A̲D̲ ̲A̲D̲M̲ ̲F̲I̲E̲L̲D̲ ̲(̲4̲.̲2̲.̲5̲.̲6̲.̲4̲1̲)

 CASE V̲D̲U̲ ̲P̲A̲G̲E̲ ̲L̲O̲C̲K̲U̲P̲(̲N̲O̲ ̲B̲U̲F̲F̲E̲R̲)̲(̲V̲I̲E̲W̲ ̲N̲A̲M̲E̲)̲:̲E̲R̲R̲O̲R̲ ̲O̲K̲(̲
 ̲4̲.̲2̲.̲5̲.̲6̲.̲2̲)̲

         ERROR:  S̲E̲N̲D̲ ̲C̲I̲F̲ ̲T̲O̲ ̲M̲D̲C̲O̲ ̲(̲R̲O̲U̲T̲I̲N̲E̲,̲ ̲N̲O̲N̲ ̲D̲E̲L̲I̲V̲E̲R̲Y̲
                 ̲S̲C̲ ̲O̲B̲J̲E̲C̲T̲S̲) (4̲.̲2̲.̲5̲.̲6̲.̲2̲0̲)        

         OK:     C̲A̲S̲E̲ ̲L̲O̲C̲K̲U̲P̲ ̲P̲A̲S̲S̲I̲V̲E̲ ̲C̲I̲F̲ ̲(̲V̲I̲E̲W̲ ̲N̲A̲M̲E̲)̲
                 ̲(̲C̲R̲E̲A̲T̲E̲ ̲Q̲E̲L̲) 
                                                                       (4̲.̲2̲.̲5̲.̲6̲.̲1̲3̲)

                     ERROR?

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

                            U̲M̲A̲M̲ ̲D̲I̲S̲M̲A̲N̲T̲L̲E̲ ̲(̲C̲R̲E̲A̲T̲E̲
                            ̲Q̲E̲L̲,̲ ̲0̲ ̲V̲I̲E̲W̲, F̲A̲L̲S̲E̲)̲(̲4̲.̲2̲.̲5̲.̲6̲.̲1̲)

                 END CASE

                 U̲M̲A̲M̲ ̲L̲O̲C̲K̲ ̲C̲I̲F̲ ̲(̲4̲.̲2̲.̲5̲.̲6̲.̲3̲9̲)

                 U̲P̲D̲A̲T̲E̲ ̲D̲I̲S̲P̲L̲A̲Y̲ ̲T̲A̲B̲L̲E̲ ̲(̲4̲.̲2̲.̲5̲.̲6̲.̲4̲0̲)

         END CASE


















               FIGURE 4.2.5.4.5-2





4.2.5.4.6    S̲T̲A̲T̲U̲S̲ ̲R̲E̲Q̲U̲E̲S̲T̲ ̲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̲

         This procedure analyzes the different sorts of STATUS
         ̲REQUESTS and calls appropriate modules which will take
         over for further action.



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)  STATUS ̲REQ

         b)  STATUS ̲REQ (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̲

             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̲

             None



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̲

             CPS ̲PREFIX.D*GENERAL
             CPS ̲PREFIX.D*DAMOS ̲GENERAL
             CPS ̲PREFIX.D*CPS ̲CONF
             CPS ̲PREFIX.D*CPS ̲GENERAL
             CPS ̲PREFIX.D*CSF ̲GENERAL
             CPS ̲PREFIX.D*QUEUE ̲MON
             CPS ̲PREFIX.D*MESSAGE ̲MON
             CPS ̲PREFIX.D*CPS ̲ERROR ̲HAND
             CPS ̲PREFIX.D*FMS ̲GENERAL
             CPS ̲PREFIX.D*IOS ̲PARAMS
             CPS ̲PREFIX.D*SSC ̲GENERAL
             CPS ̲PREFIX.D*SSC ̲SYS ̲CONF
             CPS ̲PREFIX.D*SITE ̲CONF
             CPS ̲PREFIX.D*UMAM ̲SUBTYPE
             CPS ̲PREFIX.D*CPS ̲APP ̲GENERAL
             CPS ̲PREFIX.D*CPS ̲IIF
             CPS ̲PREFIX.D*TRACE
             CPS ̲PREFIX.D*CPS ̲AMOS ̲CONF

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

             STATUS ̲INFO (m)
             QEL1
             UMAM ̲ATTR (m)
             FILE ̲DIR (m)

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

             VAR
                 SAVER6 : INTEGER



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

             Refer figure 4.2.5.4.6-1.




 FLAG GT ALLOWED?           U̲Q̲ ̲E̲R̲R̲O̲R̲ ̲(̲C̲O̲N̲T̲)̲(̲4̲.̲2̲.̲5̲.̲6̲.̲1̲1̲)

 FLAG EQ PERIODIC?        S̲T̲O̲R̲E̲ ̲D̲I̲R̲ ̲(̲N̲E̲W̲)̲(̲4̲.̲2̲.̲5̲.̲6̲.̲1̲8̲)

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

                            FILE ̲DIR.NEXT ̲LTD GT MAX
                            ̲LTD? R̲E̲S̲E̲T̲ ̲F̲I̲L̲E̲S̲
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       (̲4̲.̲2̲.̲5̲.̲6̲-̲3̲)̲

                            INCREMENT FILE ̲DIR.NEXT
                            ̲LTD

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

 STATUS ̲INFOR.LTD = UMAM ̲ATTR.INF
 STATUS ̲INFO.STATUS ̲TYPE = NORMAL
 CASE UMAM ̲ATTR.FLAG OF STATUS ̲IDENT ̲TYPE

         OUTGOING ̲ID:       P̲R̲E̲ ̲S̲T̲A̲T̲U̲S̲ ̲(̲O̲U̲T̲G̲O̲I̲N̲G̲ ̲M̲S̲G̲
                            ̲S̲T̲A̲T̲U̲S̲)̲(̲4̲.̲2̲.̲5̲.̲6̲.̲3̲1̲)

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

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

         RELEASE ̲ID:      P̲R̲E̲ ̲S̲T̲A̲T̲U̲S̲ ̲(̲M̲S̲G̲ ̲R̲E̲L̲E̲A̲S̲E̲ ̲S̲T̲A̲T̲U̲S̲)̲(̲4̲.̲2̲.̲5̲.̲6̲.̲3̲1̲)

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

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

         DELIVERY ̲ID:       P̲R̲E̲ ̲S̲T̲A̲T̲U̲S̲ ̲(̲D̲E̲L̲I̲V̲E̲R̲Y̲ ̲S̲T̲A̲T̲U̲S̲)̲(̲4̲.̲2̲.̲5̲.̲6̲.̲3̲1̲)

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

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

         SERVICE ̲ID:      P̲R̲E̲ ̲S̲T̲A̲T̲U̲S̲ ̲(̲O̲U̲T̲G̲O̲I̲N̲G̲ ̲S̲E̲R̲V̲I̲C̲E̲
                          ̲M̲S̲G̲ 
                                               S̲T̲A̲T̲U̲S̲)̲(̲4̲.̲2̲.̲5̲.̲6̲.̲3̲1̲)̲

                          G̲E̲N̲ ̲S̲V̲C̲ ̲S̲T̲A̲ ̲(̲4̲.̲2̲.̲5̲.̲4̲.̲1̲3̲)

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

         PERIODIC ̲ID:       M̲I̲D̲N̲I̲G̲H̲T̲ ̲(̲4̲.̲2̲.̲5̲.̲4̲.̲6̲-̲2̲)

 END CASE

 UMAM ̲ATTR.FLAGS EQ PERIODIC?            I̲N̲P̲U̲T̲ ̲D̲I̲R̲
                                         ̲(̲N̲E̲W̲)̲(̲4̲.̲2̲.̲5̲.̲6̲.̲1̲6̲)
 U̲M̲A̲M̲ ̲D̲I̲S̲M̲A̲N̲T̲L̲E̲ ̲(̲Q̲E̲L̲1̲)̲(̲4̲.̲2̲.̲5̲.̲6̲.̲1̲)

               FIGURE 4.2.5.4.6-1



 MIDNIGHT

 STATUS ̲INFO. STATUS ̲TYPE = MIDNIGHT

 STATUS ̲INFO.LTD GE NO ̲OF ̲VDUS?

             P̲R̲E̲ ̲S̲T̲A̲T̲U̲S̲ ̲(̲D̲E̲L̲I̲V̲E̲R̲Y̲ ̲M̲I̲D̲N̲I̲G̲H̲T̲ ̲S̲T̲A̲T̲U̲S̲)̲(̲4̲.̲2̲.̲5̲.̲6̲.̲3̲1̲)

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

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

 P̲R̲E̲ ̲S̲T̲A̲T̲U̲S̲ ̲(̲O̲U̲T̲G̲O̲I̲N̲G̲ ̲M̲S̲G̲ ̲M̲I̲D̲N̲I̲G̲H̲T̲ ̲S̲T̲A̲T̲U̲S̲)̲(̲4̲.̲2̲.̲5̲.̲6̲.̲3̲1̲)

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

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

 P̲R̲E̲ ̲S̲T̲A̲T̲U̲S̲ ̲(̲M̲S̲G̲ ̲R̲E̲L̲E̲A̲S̲E̲ ̲M̲I̲D̲N̲I̲G̲H̲T̲ ̲S̲T̲A̲T̲U̲S̲)̲(̲4̲.̲2̲.̲5̲.̲6̲.̲3̲1̲)

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

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

 STATUS ̲INFO. LTD LE NO ̲OF ̲MASSES?

         P̲R̲E̲ ̲S̲T̲A̲T̲U̲S̲ ̲(̲O̲U̲T̲G̲O̲I̲N̲G̲ ̲S̲E̲R̲V̲I̲C̲E̲ ̲M̲S̲G̲ ̲S̲T̲A̲T̲U̲S̲)̲(̲4̲.̲2̲.̲5̲.̲6̲.̲3̲1̲)

         G̲E̲N̲ ̲S̲V̲C̲ ̲S̲T̲A̲ ̲(̲4̲.̲2̲.̲5̲.̲4̲.̲1̲1̲)

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

 END











               FIGURE 4.2.5.4.6-2





 RESET FILES


         C̲L̲E̲A̲R̲ ̲C̲O̲U̲N̲T̲E̲R̲S̲ ̲(̲4̲.̲3̲.̲5̲.̲6̲.̲4̲5̲)

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

         I̲N̲P̲U̲T̲ ̲D̲I̲R̲ ̲(̲N̲E̲W̲)̲ ̲(̲4̲.̲2̲.̲5̲.̲6̲.̲1̲6̲)

         C̲L̲E̲A̲R̲ ̲B̲I̲G̲ ̲B̲U̲F̲ ̲(̲4̲.̲2̲.̲5̲.̲6̲.̲4̲4̲)̲

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

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

         R̲E̲S̲E̲T̲ ̲F̲I̲L̲E̲ ̲(̲O̲L̲D̲ ̲D̲E̲L̲I̲V̲E̲R̲ ̲A̲R̲E̲A̲)̲ ̲(̲4̲.̲2̲.̲5̲.̲6̲.̲4̲2̲)




























               FIGURE 4.2.5.4.6-3





4.2.5.4.7    D̲E̲L̲I̲V̲E̲R̲Y̲ ̲S̲T̲A̲T̲U̲S̲ ̲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)  DELIVERY ̲STATUS 

         b)  DELIVERY ̲STATUS ̲UPDATING (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̲

         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̲

         None









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̲

             CPS ̲PREFIX.D*GENERAL
             CPS ̲PREFIX.D*DAMOS ̲GENERAL
             CPS ̲PREFIX.D*CPS ̲CONF
             CPS ̲PREFIX.D*CPS ̲GENERAL
             CPS ̲PREFIX.D*CSF ̲GENERAL
             CPS ̲PREFIX.D*UTILITY ̲FUNC
             CPS ̲PREFIX.D*QUEUE ̲MON
             CPS ̲PREFIX.D*MESSAGE ̲MON
             CPS ̲PREFIX.D*SYS ̲CALL ̲MON
             CPS ̲PREFIX.D*CPS ̲ERROR ̲HAND
             CPS ̲PREFIX.D*FMS ̲GENERAL
             CPS ̲PREFIX.D*IOS ̲PARAMS
             CPS ̲PREFIX.D*SSC ̲GENERAL
             CPS ̲PREFIX.D*SSC ̲SYS ̲CONF
             CPS ̲PREFIX.D*SITE ̲CONF
             CPS ̲PREFIX.D*QUEUE ̲GENERAL
             CPS ̲PREFIX.D*CPS ̲APP ̲GENERAL
             CPS ̲PREFIX.D*CPS ̲IIF
             CPS ̲PREFIX.D*TRACE
             CPS ̲PREFIX.D*CPS ̲AMOS ̲CONF

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

             QEL1 (m)

             INTA ̲REC (m)

             UMAM ̲ATTR

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

             VAR
                 SAVER6 : INTEGER



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

         Refer figure 4.2.5.4.7-1.




 DELIVERY ̲STATUS ̲UPDATING


 CASE UMAM ̲ATTR.MAINTYPE OF QELEMENT ̲MAINTYPE


     TEP ̲INT? - CASE UMAM ̲ATTR. SUBTYPE OF TEP ̲INTERNAL
 ̲SUBTYPE


                     MSG ̲STATUS ̲CHANGE? - S̲T̲A̲T̲U̲S̲ ̲U̲P̲D̲A̲T̲E̲
                     ̲(̲-̲2̲)̲


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


                 END CASE

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

 END CASE


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



















                FIGURE 4.2.5.4.7-1


 STATUS ̲UPDATE

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

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

                 (SIZE, CC): ERROR ̲OK

    ERROR?-  ANALYZE ̲ERROR(CC,0) 

    OK? -    MOVE DATA FROM BUFFER TO INTA ̲REC.DATA
             INTA ̲REC.LTD ̲RELS = 0
             INTA ̲REC.LTD ̲PREP = UMAM ̲ATTR.HEADER.INF
             INTA ̲REC.MAINTYPE = 0
             INTA ̲REC.STATUS = S ̲DELIVERY
             G̲E̲T̲ ̲T̲I̲M̲E̲ ̲(̲I̲N̲T̲A̲ ̲R̲E̲C̲.̲T̲I̲M̲E̲)̲ ̲(̲4̲.̲2̲.̲5̲.̲6̲.̲3̲3̲)

             DATA RECEIVED INVALID ?      U̲Q̲ ̲E̲R̲R̲O̲R̲ ̲(̲4̲.̲2̲.̲5̲.̲6̲.̲1̲1̲)̲

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


 END CASE






















                FIGURE 4.2.5.4.7-2


4.2.5.4.8    A̲P̲P̲E̲N̲D̲ ̲Q̲U̲E̲U̲E̲ ̲M̲o̲d̲u̲l̲e̲



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

         The purpose of this module is to analyse input from
         the Append Queue. The referenced CIF is looked up in
         the Preparation file and status is changed to either
         Append Complete or Append Abnormally Complete. An Append
         Notifcation is returned to the sender.



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)  APPEND ̲ACTION

         b)  APPEND ̲ACTION (R6)

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

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

             R6      LINK                      (DEST)

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

         None
         R0 - R7                               (DEST)



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



4.2.5.4.8.3.1 L̲O̲O̲K̲U̲P̲ ̲A̲P̲P̲

         The referenced CIF is looked up and status is changed.
         The received item will be returned to the sender.



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̲

             CPS ̲PREFIX.D*GENERAL
             CPS ̲PREFIX.D*DAMOS ̲GENERAL
             CPS ̲PREFIX.D*CPS ̲CONF
             CPS ̲PREFIX.D*CPS ̲GENERAL
             CPS ̲PREFIX.D*CSF ̲GENERAL
             CPS ̲PREFIX.D*UTILITY ̲FUNC
             CPS ̲PREFIX.D*QUEUE ̲MON
             CPS ̲PREFIX.D*MESSAGE ̲MON
             CPS ̲PREFIX.D*SYS ̲CALL ̲MON
             CPS ̲PREFIX.D*CPS ̲ERROR ̲HAND
             CPS ̲PREFIX.D*FMS ̲GENERAL
             CPS ̲PREFIX.D*IOS ̲PARAMS
             CPS ̲PREFIX.D*SSC ̲GENERAL
             CPS ̲PREFIX.D*SSC ̲SYS ̲CONF
             CPS ̲PREFIX.D*SITE ̲CONF
             CPS ̲PREFIX.D*CPS ̲APP ̲GENERAL
             CPS ̲PREFIX.D*QUEUE ̲GENERAL
             CPS ̲PREFIX.D*TRACE
             CPS ̲PREFIX.D*CPS ̲AMOS ̲CONF

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

             UMAM ̲SEND ̲PARAMS (m)
             UMAM ̲ATTR
             QEL1

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

             VAR
                 SAVER6
                 NEW ̲STATUS : INTEGER





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

         Refer figure 4.2.5.4.8-1



   APPEND ̲ACTION


   CASE UMAM ̲ATTR.MAINTYPE OF QELEMENT ̲MAIN ̲TYPE

         ABB ̲PLAINDRESS,

         PLAINDRESS,

         SC ̲PLAINDRESS? - CASE UMAM ̲ATTR.SUBTYPE OF
         MESSAGE ̲SUBTYPE

                                                FOR
                                               ̲CONTINUED
                                               ̲PREP?
                                               - L̲O̲O̲K̲U̲P̲
                                               ̲A̲P̲P̲(̲A̲P̲P̲
                                               ̲C̲O̲M̲P̲)̲
                                                                     (̲4̲.̲2̲.̲5̲.̲4̲.̲8̲.̲3̲.̲1̲)̲

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

                        END CASE

         TEP ̲INTERNAL? -  CASE UMAM ̲ATTR.SUBTYPE OF
         TEP ̲INTERNAL ̲SUBTYPE

                                                APPEND
                                               ̲NOTIFICATION?
                                               - L̲O̲O̲K̲U̲P̲
                                               ̲A̲P̲P̲(̲A̲P̲P̲
                                               ̲A̲B̲N̲O̲R̲)̲
                                                                     (̲4̲.̲2̲.̲5̲.̲4̲.̲8̲.̲3̲.̲1̲)̲

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

                        END CASE


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



   END CASE

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










               FIGURE 4.2.5.4.8-1



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



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

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

         The following status will be generated:

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



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

         b)  PERIODIC ̲STA (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̲

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

             None



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̲

             CPS ̲PREFIX.D*GENERAL
             CPS ̲PREFIX.D*DAMOS ̲GENERAL
             CPS ̲PREFIX.D*CPS ̲CONF
             CPS ̲PREFIX.D*CPS ̲GENERAL
             CPS ̲PREFIX.D*CSF ̲GENERAL
             CPS ̲PREFIX.D*QUEUE ̲MON
             CPS ̲PREFIX.D*MESSAGE ̲MON
             CPS ̲PREFIX.D*CPS ̲ERROR ̲HAND
             CPS ̲PREFIX.D*FMS ̲GENERAL
             CPS ̲PREFIX.D*IOS ̲PARAMS
             CPS ̲PREFIX.D*SSC ̲GENERAL
             CPS ̲PREFIX.D*SSC ̲SYS ̲CONF
             CPS ̲PREFIX.D*SITE ̲CONF
             CPS ̲PREFIX.D*QUEUE ̲GENERAL
             CPS ̲PREFIX.D*CPS ̲APP ̲GENERAL
             CPS ̲PREFIX.D*CPS ̲IIF
             CPS ̲PREFIX.D*TRACE
             CPS ̲PREFIX.D*CPS ̲AMOS ̲CONF

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

             FILE ̲DIR  (m)

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

             VAR
                 SAVER6 : INTEGER



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

             Refer figure 4.2.5.4.9-1.




   PERIODIC ̲STATUS

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

   STATUS ̲INFO.LTD = 1

   STATUS ̲INFO.STATUS ̲TYPE = MIDNIGHT

   P̲R̲E̲ ̲S̲T̲A̲T̲U̲S̲ ̲(̲O̲U̲T̲G̲O̲I̲N̲G̲ ̲M̲S̲G̲ ̲M̲I̲D̲N̲I̲G̲H̲T̲ ̲S̲T̲A̲T̲U̲S̲)̲ ̲(̲4̲.̲2̲.̲5̲.̲6̲.̲3̲1̲)
   G̲E̲N̲ ̲O̲U̲T̲ ̲S̲T̲A̲ ̲(̲4̲.̲2̲.̲5̲.̲4̲.̲1̲2̲)
   C̲L̲O̲S̲E̲ ̲S̲E̲N̲D̲ ̲R̲E̲P̲L̲Y̲ ̲(̲4̲.̲2̲.̲5̲.̲6̲.̲6̲)

   P̲R̲E̲ ̲S̲T̲A̲T̲U̲S̲ ̲(̲M̲S̲G̲ ̲R̲E̲L̲E̲A̲S̲E̲ ̲M̲I̲D̲N̲I̲G̲H̲T̲ ̲S̲T̲A̲T̲U̲S̲)̲ ̲(̲4̲.̲2̲.̲5̲.̲6̲.̲3̲1̲)
   G̲E̲N̲ ̲R̲E̲L̲ ̲S̲T̲A̲ ̲(̲4̲.̲2̲.̲5̲.̲4̲.̲1̲0̲)
   C̲L̲O̲S̲E̲ ̲S̲E̲N̲D̲ ̲R̲E̲P̲L̲Y̲ ̲(̲4̲.̲2̲.̲5̲.̲6̲.̲6̲)

   P̲R̲E̲ ̲S̲T̲A̲T̲U̲S̲ ̲(̲O̲U̲T̲G̲O̲I̲N̲G̲ ̲S̲E̲R̲V̲I̲C̲E̲ ̲M̲S̲G̲ ̲M̲I̲D̲N̲I̲G̲H̲T̲ ̲S̲T̲A̲T̲U̲S̲)̲
   ̲(̲4̲.̲2̲.̲5̲.̲6̲.̲3̲1̲)
   G̲E̲N̲ ̲S̲V̲C̲ ̲S̲T̲A̲ ̲(̲4̲.̲2̲.̲5̲.̲4̲.̲1̲3̲)
   C̲L̲O̲S̲E̲ ̲S̲E̲N̲D̲ ̲R̲E̲P̲L̲Y̲ ̲(̲4̲.̲2̲.̲5̲.̲6̲.̲6̲)

   P̲R̲E̲ ̲S̲T̲A̲T̲U̲S̲ ̲(̲D̲E̲L̲I̲V̲E̲R̲Y̲ ̲M̲I̲D̲N̲I̲G̲H̲T̲ ̲S̲T̲A̲T̲U̲S̲)̲ ̲(̲4̲.̲2̲.̲5̲.̲6̲.̲3̲1̲)
   G̲E̲N̲ ̲D̲E̲L̲ ̲S̲T̲A̲ ̲(̲4̲.̲2̲.̲5̲.̲4̲.̲1̲1̲)
   C̲L̲O̲S̲E̲ ̲S̲E̲N̲D̲ ̲R̲E̲P̲L̲Y̲ ̲(̲4̲.̲2̲.̲5̲.̲6̲.̲6̲)

   FILE ̲DIR.NEXT ̲LTD = 2

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

   I̲N̲P̲U̲T̲ ̲D̲I̲R̲ ̲(̲N̲E̲W̲ ̲D̲I̲R̲)̲ ̲(̲4̲.̲2̲.̲5̲.̲6̲.̲1̲6̲)















               FIGURE 4.2.5.4.9-1




4.2.5.4.10   G̲E̲N̲ ̲R̲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̲

         This purpose of this module is to generate a release
         MSG status. The STATUS ̲RECORDS stored in the Intermediate
         File and the Release 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 ̲REL ̲STA

         b)  GEN ̲REL ̲STA (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

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

             None


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̲

             CPS ̲PREFIX.D*GENERAL
             CPS ̲PREFIX.D*DAMOS ̲GENERAL
             CPS ̲PREFIX.D*CPS ̲CONF
             CPS ̲PREFIX.D*CPS ̲GENERAL
             CPS ̲PREFIX.D*CSF ̲GENERAL
             CPS ̲PREFIX.D*QUEUE ̲MON
             CPS ̲PREFIX.D*MESSAGE ̲MON
             CPS ̲PREFIX.D*CPS ̲ERROR ̲HAND
             CPS ̲PREFIX.D*FMS ̲GENERAL
             CPS ̲PREFIX.D*IOS ̲PARAMS
             CPS ̲PREFIX.D*SSC ̲GENERAL
             CPS ̲PREFIX.D*SSC ̲SYS ̲CONF
             CPS ̲PREFIX.D*SITE ̲CONF
             CPS ̲PREFIX.D*CPS ̲APP ̲GENERAL
             CPS ̲PREFIX.D*CPS ̲IIF
             CPS ̲PREFIX.D*TRACE
             CPS ̲PREFIX.D*CPS ̲AMOS ̲CONF

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

             UMAM ̲FDCB
             FILE ̲DIR ̲ACB
             CREATE ̲QEL
             LITTLE ̲BUF
             STATUS ̲INFO     (m)
             UMAM ̲FILE ̲DIR
             STATUS ̲ACB
             UMAM ̲FILE ̲ADDR (m)

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

             VAR
                 SAVER6
                 RE ̲STORE : INTEGER

             CONST
                 MAX ̲NO ̲OF ̲REL ̲FILE ̲COUNT = 2





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


 REL ̲STA

    STATUS ̲INFO.LITTLE ̲BUF ̲PTR = ADDR (LITTLE ̲BUF) +
    
                             SIZE (OUTG ̲STA ̲ADM)
    STATUS ̲INFO.SOURCE ̲BUFFER = RELE
    STATUS ̲INFO.FILE ̲COUNT = 1

    LOOP

       UMAM ̲FILE ̲ADDR.FIRST ̲BYTE = 0

          STATUS ̲INFO.FIRST ̲STATUS ̲COUNT = 1
          STATUS ̲INFO.SEARCH ̲TWO = S ̲DUMMY
          STATUS ̲INFO.LAST ̲STATUS ̲COUNT = 3
          STATUS ̲INFO.MESS ̲TYPE = M ̲MSG
          CASE STATUS ̲INFO.FILE ̲COUNT OF

             1:  STATUS ̲INFO.STATUS ̲TYPE EQ MIDNIGHT?

                           STATUS ̲INFO.FDCB = UMAM ̲FDCB
                           (OLD ̲RELEASE ̲AREA)

                 STATUS ̲INFO.FDCB = UMAM ̲FDCB (RELEASE
                 ̲AREA)

                 COUNT = FILE ̲DIR (STATUS ̲INFO.LTD).RELS?

             2:  STATUS ̲INFO.FDCB = UMAM ̲FDCB (COLLECT
                 ̲AREA)

                 COUNT = 1

          END CASE

          COUNT EQ 0 ?

          S̲O̲R̲T̲ ̲S̲T̲A̲T̲U̲S̲ ̲R̲E̲C̲O̲R̲D̲S̲ ̲(̲-̲2̲)

          INCR STATUS ̲INFO.FILE ̲COUNT

          STATUS ̲INFO.FILE ̲COUNT GE MAX ̲NO ̲OF ̲REL ̲FILE
          ̲COUNT + 1    EXIT LOOP

    END LOOP

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

               FIGURE 4.2.5.4.10-1




 SORT ̲STATUS ̲RECORDS

 STATUS ̲INFO.FILE ̲EMPTY = FALSE

 REPEAT

     CASE R̲E̲A̲D̲ ̲S̲T̲A̲T̲U̲S̲ ̲F̲I̲L̲E̲ ̲:̲ ̲E̲R̲R̲O̲R̲ ̲O̲K̲ ̲(̲4̲.̲2̲.̲5̲.̲6̲.̲3̲2̲)̲

         ERROR?  STATUS ̲INFO.FILE ̲EMPTY = TRUE

     END CASE

     STATUS ̲INFO.WORD ̲COUNT EQ 0 ?

     REPEAT

         S̲E̲T̲ ̲U̲P̲ ̲S̲E̲A̲R̲C̲H̲ ̲P̲A̲R̲A̲M̲ ̲(̲-̲3̲)̲

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

         INCR STATUS ̲INFO.FIRST ̲STATUS ̲COUNT

     UNTIL STATUS ̲INFO.FIRST ̲STATUS ̲COUNT GT STATUS
     ̲COUNT.LAST ̲
                                                   STATUS
                                             ̲COUNT

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

 UNTIL STATUS ̲INFO.FILE ̲EMPTY EQ TRUE
















               FIGURE 4.2.5.4.10-2






   SET ̲UP ̲SEARCH ̲PARAM

   EQUIVALENCE(LITTLE ̲BUF (1): REL ̲STA ̲ADM)

   CASE STATUS ̲INFO.FIRST ̲STATUS ̲COUNT OF

      1:  STATUS ̲INFO.SEARCH ̲ONE = S ̲RELEASED

          IIF ̲NO = 2

          STATUS ̲INFO.IIF ̲ADM ̲COUNT ̲PTR = ADDRESS(REL
          ̲ADM.NO ̲REL)

      2:  STATUS ̲INFO.SEARCH ̲ONE = S ̲REJECTED ̲RELEASE

          IIF ̲NO = 3

          STATUS ̲INFO.IIF ̲ADM ̲COUNT ̲PTR = ADDRESS(REL
          ̲ADM.NO ̲REJ)

      3:  STATUS ̲INFO.SEARCH ̲ONE = S ̲DEFERRED ̲RELEASE

          IIF ̲NO = 4

          STATUS ̲INFO.IIF ̲ADM ̲COUNT ̲PTR = ADDRESS(REL
          ̲ADM.NO ̲DEF)

   END CASE

   STATUS ̲INFO.IIF ̲FIELD ̲LIST ̲PTR = ADDRESS(STA ̲CIF ̲FIELD
   ̲LIST 
                                                     (IIF
                                             ̲NO))











                FIGURE 4.2.5.4.10-3



4.2.5.4.11   G̲E̲N̲ ̲D̲E̲L̲ ̲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̲

         This purpose of this 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.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 ̲DEL ̲STA

         b)  GEN ̲DEL ̲STA (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

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

             None


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

             CPS ̲PREFIX.D*GENERAL
             CPS ̲PREFIX.D*DAMOS ̲GENERAL
             CPS ̲PREFIX.D*CPS ̲CONF
             CPS ̲PREFIX.D*CPS ̲GENERAL
             CPS ̲PREFIX.D*CSF ̲GENERAL
             CPS ̲PREFIX.D*QUEUE ̲MON
             CPS ̲PREFIX.D*MESSAGE ̲MON
             CPS ̲PREFIX.D*CPS ̲ERROR ̲HAND
             CPS ̲PREFIX.D*FMS ̲GENERAL
             CPS ̲PREFIX.D*IOS ̲PARAMS
             CPS ̲PREFIX.D*SSC ̲GENERAL
             CPS ̲PREFIX.D*SSC ̲SYS ̲CONF
             CPS ̲PREFIX.D*SITE ̲CONF
             CPS ̲PREFIX.D*CPS ̲APP ̲GENERAL
             CPS ̲PREFIX.D*CPS ̲IIF
             CPS ̲PREFIX.D*TRACE
             CPS ̲PREFIX.D*CPS ̲AMOS ̲CONF

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

             UMAM ̲FDCB
             STATUS ̲ACB
             FILE ̲DIR ̲ACB
             LITTLE ̲BUF
             STATUS ̲INFO (m)
             UMAM ̲FILE ̲DIR
             CREATE ̲QEL
             UMAM ̲FILE ̲ADDR (m)

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

             VAR
                 SAVER6 : INTEGER

             CONST
                 MAX ̲NO ̲OF ̲DELI ̲FILE ̲COUNT = 2



4.2.5.4.11.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.


 DEL ̲STA

    STATUS ̲INFO.DEST ̲BUFFER = DELI
    STATUS ̲INFO.FILE ̲COUNT = 1
    STATUS ̲INFO.LITTLE ̲BUF ̲PTR = ADDR(LITTLE ̲BUF) +
    SIZE(OUTG ̲
                                                   
                                                  STA
                                                  ̲ADM)
    REPEAT
         UMAM ̲FILE ̲ADDR.FIRST ̲BYTE = 0
         STATUS ̲INFO.SEARCH ̲TWO = S ̲DUMMY
         STATUS ̲INFO.MESS ̲TYPE = M ̲DUMMY

    CASE STATUS ̲INFO.FILE ̲COUNT OF

         1:  STATUS ̲INFO.LTD GT NO ̲OF ̲VDUS?

             COUNT = FILE ̲DIR(STATUS ̲INFO.LTD).DELI

                     COUNT = FILE ̲DIR.DEV ̲INF(STATUS
                     ̲                                               
                                                                    
                                                                    
                                                                    
                                                                    
                                                                    
                                                                    
                                                                    
                                                                    INFO.LTD)

             STATUS ̲INFO.STATUS ̲TYPE EQ ̲MIDNIGHT? -
             STATUS ̲                                             
                                                                 
                                                                 
                                                                 INFO.FDCB
                                                                 =
                                                                 UMAM
                                                                 ̲FDCB
                                                                 (OLD
                                                                 ̲DELIVERY
                                                                 ̲AREA)

             STATUS ̲INFO.FDCB = UMAM ̲FDCB(DELIVERY ̲AREA)

             STATUS ̲INFO.SOURCE ̲BUFFER = DELV ̲BUF

         2:  STATUS ̲INFO.FDCB = UMAM ̲FDCB(COLLECT ̲AREA)

             STATUS ̲INFO.SOURCE ̲BUFFER = INT ̲PREP ̲BUF

             COUNT = 1

         END CASE

         COUNT EQ 0?

         SORT ̲STATUS ̲RECORDS (-2)

         INCR STATUS ̲INFO.FILE ̲COUNT

    UNTIL STATUS ̲INFO.FILE ̲COUNT GE MAX ̲NO ̲OF ̲DELI ̲FILE
    ̲COUNT + 1

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


               FIGURE 4.2.5.4.11-1




         SORT ̲STATUS ̲RECORDS

         EQUIVALENCE(LITTLE ̲BUF(1)), DEL ̲ADM : DEL ̲STA
         ̲ADM)

         FILE ̲EMPTY = FALSE

         STATUS ̲INFO.SEARCH ̲ONE = S ̲DELIVERY

         STATUS ̲INFO.IIF ̲FIELD ̲LIST ̲PTR = ADDRESS(STA
         ̲CIF ̲                                                     
                                                                  
                                                                  
                                                                  
                                                                  
                                                                  
                                                                  
                                                                  
                                                                  
                                                                  
                                                                  
                                                                  
                                                                  
                                                                  
                                                                  
                                                                  FIELD
                                                                  ̲LIST(2))

         STATUS ̲INFO.IIF.ADM ̲COUNT ̲PTR = ADDRESS(DEL
         ̲ADM.NO ̲DEL)

         REPEAT

             CASE R̲E̲A̲D̲ ̲S̲T̲A̲T̲U̲S̲ ̲F̲I̲L̲E̲ ̲:̲ ̲E̲R̲R̲O̲R̲ ̲O̲K̲ (̲4̲.̲2̲.̲5̲.̲6̲.̲3̲2̲)̲

                 ERROR? - FILE ̲EMPTY = TRUE

             END CASE

             STATUS ̲INFO.WORD ̲COUNT EQ 0?

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

         UNTIL FILE ̲EMPTY EQ TRUE


















               FIGURE 4.2.5.4.11-2





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



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

         This purpose of this module is to generate a outgoing
         MSG status. The STATUS ̲RECORDS stored in the Outgoing
         File, Intermediate File and Preparation File are read
         and sorted.



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

         b)  GEN ̲OUT ̲STA (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

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

         None


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̲

             CPS ̲PREFIX.D*GENERAL
             CPS ̲PREFIX.D*DAMOS ̲GENERAL
             CPS ̲PREFIX.D*CPS ̲CONF
             CPS ̲PREFIX.D*CPS ̲GENERAL
             CPS ̲PREFIX.D*CSF ̲GENERAL
             CPS ̲PREFIX.D*QUEUE ̲MON
             CPS ̲PREFIX.D*MESSAGE ̲MON
             CPS ̲PREFIX.D*CPS ̲ERROR ̲HAND
             CPS ̲PREFIX.D*FMS ̲GENERAL
             CPS ̲PREFIX.D*IOS ̲PARAMS
             CPS ̲PREFIX.D*SSC ̲GENERAL
             CPS ̲PREFIX.D*SSC ̲SYS ̲CONF
             CPS ̲PREFIX.D*SITE ̲CONF
             CPS ̲PREFIX.D*CPS ̲APP ̲GENERAL
             CPS ̲PREFIX.D*CPS ̲IIF
             CPS ̲PREFIX.D*TRACE
             CPS ̲PREFIX.D*CPS ̲AMOS ̲CONF

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

             UMAM ̲FDCB
             STATUS ̲ACB
             FILE ̲DIR ̲ACB
             LITTLE ̲BUF
             STATUS ̲INFO   (m)
             UMAM ̲FILE ̲DIR
             CREATE ̲QEL
             UMAM ̲FILE ̲ADDR (m)

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

             VAR
                 SAVER6
                 RE ̲STORE : INTEGER

             CONST
                 MAX ̲NO ̲OF ̲OUT ̲FILE ̲COUNT = 4





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


 OUT ̲STA
 STATUS ̲INFO.LITTLE ̲BUF ̲PTR = ADDR(LITTLE ̲BUF) + SIZE(OUTG
 ̲
                                                   STA
                                             ̲ADM)
 STATUS ̲INFO.FILE ̲COUNT = 1

 LOOP
    UMAM ̲FILE ̲ADDR.FIRST ̲BYTE = 0
     CASE STATUS ̲INFO.FILE ̲COUNT OF

     1:  STATUS ̲INFO.FIRST ̲STATUS ̲COUNT = 1
         STATUS ̲INFO.LAST ̲STATUS ̲COUNT = 4
         STATUS ̲INFO.STATUS ̲TYPE EQ MIDNIGHT? - STATUS
         ̲
            INFO.FDCB = UMAM ̲FDCB(OLD ̲OUT ̲AREA)
         STATUS ̲INFO.FDCB = UMAM ̲FDCB(OUT ̲AREA)
         SOURCE ̲BUFFER = REL ̲BUF
         COUNT = FILE ̲DIR(STATUS ̲INFO.LTD).OUTG

     2:  STATUS ̲INFO.FIRST ̲STATUS ̲COUNT = 1
         STATUS ̲INFO.FDCB = UMAM ̲FDCB(COLLECT ̲AREA)
         SOURCE ̲BUFFER = INT ̲PREP ̲BUF
         COUNT = FILE ̲DIR(STATUS ̲INFO.LTD).INTA

     3:  STATUS ̲INFO.FIRST ̲STATUS ̲COUNT = 5
         STATUS ̲INFO.LAST ̲STATUS ̲COUNT = 13
         STATUS ̲INFO.FDCB = UMAM ̲FDCB(EXPAND ̲AREA)
         SOURCE ̲BUFFER = PREP ̲BUF
         COUNT = FILE ̲DIR(STATUS ̲INFO.LTD).EXPAND

     4:  STATUS ̲INFO.FIRST ̲STATUS ̲COUNT = 5
         STATUS ̲INFO.FDCB = UMAM ̲FDCB(PREPARATION ̲AREA)
         SOURCE ̲BUFFER = PREP ̲BUF
         COUNT = FILE ̲DIR(STATUS ̲INFO.LTD).PREP

     END CASE

     STATUS ̲INFO.SOURCE ̲BUFFER = SOURCE ̲BUFFER

     COUNT EQ 0?

     S̲O̲R̲T̲ ̲S̲T̲A̲T̲U̲S̲ ̲R̲E̲C̲O̲R̲D̲S̲ ̲(̲-̲2̲)

     INCR STATUS ̲INFO.FILE ̲COUNT
     UNTIL STATUS ̲INFO.FILE ̲COUNT GE MAX ̲NO ̲OF ̲OUT ̲FILE
     ̲COUNT + 1

 END LOOP

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



               FIGURE 4.2.5.4.12-1



     SORT ̲STATUS ̲RECORDS



     STATUS ̲INFO.FILE ̲EMPTY = FALSE

     READ ̲LOOP

         CASE R̲E̲A̲D̲ ̲S̲T̲A̲T̲U̲S̲ ̲F̲I̲L̲E̲ ̲:̲ ̲E̲R̲R̲O̲R̲ ̲O̲K̲(̲4̲.̲2̲.̲5̲.̲6̲.̲3̲2̲)̲

             ERROR:  STATUS ̲INFO.FILE ̲EMPTY = TRUE

         END CASE

         STATUS ̲INFO.WORD ̲COUNT EQ 0?

         SORT ̲LOOP

             S̲E̲T̲ ̲U̲P̲ ̲S̲E̲A̲R̲C̲H̲ ̲P̲A̲R̲A̲M̲(̲-̲3̲)

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

             INCR STATUS ̲INFO.FIRST ̲STATUS ̲COUNT

             STATUS ̲INFO.FIRST ̲STATUS ̲COUNT GT STATUS
             ̲INFO.
                           LAST ̲STATUS ̲COUNT?  EXIT
                           SORT ̲LOOP

         END SORT ̲LOOP

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

         STATUS ̲INFO.FILE ̲EMPTY EQ TRUE? -    EXIT READ
         ̲LOOP

     END READ ̲LOOP








               FIGURE 4.2.5.4.12-2





 SET ̲UP ̲SEARCH ̲PARAM

 STATUS ̲INFO.MESS ̲TYPE = M ̲DUMMY
 EQUIVALENCE(LITTLE ̲BUF(1), OUT ̲ADM: OUT ̲STA ̲ADM)
 STATUS ̲INFO.SEARCH ̲TWO = S ̲DUMMY

 CASE STATUS ̲INFO.FIRST ̲STATUS ̲COUNT OF

     1:  STATUS ̲INFO.SEARCH ̲ONE = S ̲RELEASED

         IIF ̲NO = 2

         ADM ̲PTR = ADDRESS(OUT ̲ADM.NO ̲REL)

         STATUS ̲INFO.DEST ̲BUFFER = RELE

     2:  STATUS ̲INFO.SEARCH ̲ONE = S ̲DELETED

         IIF ̲NO = 5

         ADM ̲PTR = ADDRESS(OUT ̲ADM.NO ̲SMG ̲DEL)

         STATUS ̲INFO.DEST ̲BUFFER = ABEY
         STATUS ̲INFO.MESS ̲TYPE = M ̲MSG

     3:  STATUS ̲INFO.SEARCH ̲ONE = S ̲SENT

         IIF ̲NO = 6

         ADM ̲PTR = ADDRESS(OUT ̲ADM.NO ̲COM ̲SENT)

         STATUS ̲INFO.MESS ̲TYPE = M ̲COM

     4:  STATUS ̲INFO.SEARCH ̲ONE = S ̲DELETED

         IIF ̲NO = 8

         ADM ̲PTR = ADDRESS(OUT ̲ADM.NO ̲COM ̲DEL)

         STATUS ̲INFO.MESS ̲TYPE = M ̲COM

cont. (-4)

               FIGURE 4.2.5.4.12-3



     5:  STATUS ̲INFO.SEARCH ̲ONE = S ̲SENT ̲RELS

         IIF ̲NO = 3

         ADM ̲PTR = ADDRESS(OUT ̲ADM.NO ̲SENT ̲REL)

         STATUS ̲INFO.DEST ̲BUFFER = ABEY

     6:  STATUS ̲INFO.SEARCH ̲ONE = S ̲SENT ̲COOR

         IIF ̲NO = 3

         ADM ̲PTR = ADDRESS(OUT ̲ADM.NO ̲SENT ̲COOR)

     7:  STATUS ̲INFO.SEARCH ̲ONE = S ̲SUSP ̲CONT

         STATUS ̲INFO.SEARCH ̲TWO = S ̲SUSP ̲DRAFT

         IIF ̲NO = 3

         ADM ̲PTR = ADDRESS(OUT ̲ADM.NO ̲MSG ̲SUSP)

         STATUS ̲INFO.MESS ̲TYPE = M ̲MSG

     8:  STATUS ̲INFO.SOURCE ̲ONE = S ̲APPEND ̲ABANDON
         IIF ̲NO = 3
         ADM ̲PTR = ADDRESS (OUT ̲ADM.NO ̲MSG ̲SUSP)
         STATUS ̲INFO.MESS ̲TYPE = M ̲MSG

     9:  STATUS ̲INFO.SEARCH ̲ONE = S ̲APP ̲COMPLETE
         STATUS ̲INFO.SEARCH ̲TWO = S ̲APP ̲ABNORMALLY
         IIF ̲NO = 3
         ADM ̲PTR = ADDRESS (OUT ̲ADM.NO ̲MSG ̲SUSP)
         STATUS ̲INFO.MESS ̲TYPE = M ̲MSG

     10: STATUS ̲INFO.SEARCH ̲ONE = S ̲DEFERRED

         IIF ̲NO = 3

         ADM ̲PTR = ADDRESS(OUT ̲ADM.NO ̲MSG ̲DEFERRED)

         STATUS ̲INFO.MESS ̲TYPE = M ̲MSG

cont. (-5)

               FIGURE 4.2.5.4.12-4




     11: STATUS ̲INFO.SEARCH ̲ONE = S ̲AWAITING ̲APP ̲CONT

         STATUS ̲INFO.SEARCH ̲TWO = S ̲AWAITING ̲APP ̲DRAFT

         IIF ̲NO = 3

         ADM ̲PTR = ADDRESS(OUT ̲ADM.NO ̲AWAIT ̲APP)

     12: STATUS ̲INFO.SEARCH ̲ONE = S ̲REJECTED ̲RELEASE

         IIF ̲NO = 4

         STATUS ̲INFO.DEST ̲BUFFER = RELE

         ADM ̲PTR = ADDRESS(OUT ̲ADM.NO ̲REJ ̲RELS)

     13: STATUS ̲INFO.SEARCH ̲ONE = S ̲DEFERRED ̲RELEASE

         IFF ̲NO = 4

         ADM ̲PTR = ADDRESS(OUT ̲ADM.NO ̲DEF ̲RELS)

     14: STATUS ̲INFO.SEARCH ̲ONE = S ̲SUSP ̲CONT

         STATUS ̲INFO.SEARCH ̲TWO = S ̲SUSP ̲DRAFT

         IIF ̲NO = 7

         ADM ̲PTR = ADDRESS(OUT ̲ADM.NO ̲COM ̲SUSP)

         STATUS ̲TYPE.MESS ̲TYPE = M ̲COM
         STATUS ̲INFO.DEST ̲BUFFER = ABEJ

     15: STATUS ̲TYPE.SEARCH ̲ONE = S ̲DEFFERED

         IIF ̲NO = 7

         ADM ̲PTR = ADDRESS(OUT ̲ADM.NO ̲COM ̲SUSP)

         STATUS ̲TYPE.MESS ̲TYPE = M ̲COM

 END CASE

 STATUS ̲INFO.IIF ̲FIELD ̲LIST ̲PTR = ADDRESS(STA ̲CIF ̲FIELD
 ̲LIST
                                                   
                                          IIF ̲NO)

 STATUS ̲INFO.IIF ̲ADM ̲COUNT ̲PTR = ADM ̲PTR

               FIGURE 4.2.5.4.12-5




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

         b)  GEN ̲SVC ̲STA (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

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

             None



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

             CPS ̲PREFIX.D*GENERAL
             CPS ̲PREFIX.D*DAMOS ̲GENERAL
             CPS ̲PREFIX.D*CPS ̲CONF
             CPS ̲PREFIX.D*CPS ̲GENERAL
             CPS ̲PREFIX.D*CSF ̲GENERAL
             CPS ̲PREFIX.D*QUEUE ̲MON
             CPS ̲PREFIX.D*MESSAGE ̲MON
             CPS ̲PREFIX.D*CPS ̲ERROR ̲HAND
             CPS ̲PREFIX.D*FMS ̲GENERAL
             CPS ̲PREFIX.D*IOS ̲PARAMS
             CPS ̲PREFIX.D*SSC ̲GENERAL
             CPS ̲PREFIX.D*SSC ̲SYS ̲CONF
             CPS ̲PREFIX.D*SITE ̲CONF
             CPS ̲PREFIX.D*CPS ̲APP ̲GENERAL
             CPS ̲PREFIX.D*CPS ̲IIF
             CPS ̲PREFIX.D*TRACE
             CPS ̲PREFIX.D*CPS ̲AMOS ̲CONF

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

             UMAM ̲FDCB
             STATUS ̲ACB
             FILE ̲DIR ̲ACB
             LITTLE ̲BUF
             STATUS ̲INFO (m)
             UMAM ̲FILE ̲DIR
             CREATE ̲QEL
             UMAM ̲FILE ̲ADDR (m)

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

             VAR
                 SAVER6
                 RE ̲STORE : INTEGER

             CONST
                 MAX ̲NO ̲OF ̲SVC ̲FILE ̲COUNT = 4





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.


  SVC ̲STA

  STATUS ̲INFO.DEST ̲BUFFER = SVC
  STATUS ̲INFO.FILE ̲COUNT = 1

  LOOP
    UMAM ̲FILE ̲ADDR.FIRST ̲BYTE = 0

    CASE STATUS ̲INFO.FILE ̲COUNT OF

    1: STATUS ̲INFO.FIRST ̲STATUS ̲COUNT = 1

       STATUS ̲INFO.LAST ̲STATUS ̲COUNT = 2

       STATUS ̲INFO.STATUS ̲TYPE EQ MIDNIGHT?

          STATUS ̲INFO.FDCB = UMAM ̲FDCB(OLD ̲OUT ̲AREA)

       STATUS ̲INFO.FDCB = UMAM ̲FDCB(OUT ̲AREA)

       STATUS ̲INFO.SOURCE ̲BUFFER = REL ̲BUF

       COUNT = FILE ̲DIR(STATUS ̲INFO.LTD).OUTG

    2: STATUS ̲INFO.FIRST ̲STATUS ̲COUNT = 1

       STATUS ̲INFO.FDCB = UMAM ̲FDCB(COLLECT ̲AREA)

       STATUS ̲INFO.SOURCE ̲BUFFER = INT ̲PREP ̲BUF

       COUNT = FILE ̲DIR(STATUS ̲INFO.LTD).INTA

    3: STATUS ̲INFO.FIRST ̲STATUS ̲COUNT = 3

       STATUS ̲INFO.LAST ̲STATUS ̲COUNT = 4

       STATUS ̲INFO.FDCB = UMAM ̲FDCB(EXPAND ̲AREA)

       STATUS ̲INFO.SOURCE ̲BUFFER = PREP ̲BUF

       COUNT = FILE ̲DIR(STATUS ̲INFO.LTD).EXPAND



  cont. (-2)


    4: STATUS ̲INFO.FIRST ̲STATUS ̲COUNT = 3

       STATUS ̲INFO.FDCB = UMAM ̲FDCB(PREPARATION ̲AREA)

       STATUS ̲INFO.SOURCE ̲BUFFER = PREP ̲BUF

       COUNT = FILE ̲DIR(STATUS ̲INFO.LTD).PREP

    END CASE

    COUNT EQ 0?

    S̲O̲R̲T̲ ̲S̲T̲A̲T̲U̲S̲ ̲R̲E̲C̲O̲R̲D̲S̲ ̲(̲-̲2̲)̲

    INCR STATUS ̲INFO.FILE ̲COUNT

    STATUS ̲INFO.FILE ̲COUNT GE MAX ̲NO ̲OF ̲SVC ̲FILE ̲COUNT
    +
                                             1  EXIT
                                             LOOP

  END LOOP

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






                FIGURE 4.2.5.4.13-1




   SORT ̲STATUS ̲RECORDS

   STATUS ̲INFO.FILE ̲EMPTY = FALSE

   READ ̲LOOP

      CASE   R̲E̲A̲D̲ ̲S̲T̲A̲T̲U̲S̲ ̲F̲I̲L̲E̲ ̲:̲ ̲E̲R̲R̲O̲R̲ ̲O̲K̲(̲4̲.̲2̲.̲5̲.̲6̲.̲3̲2̲)̲

         ERROR?      STATUS ̲INFO.FILE ̲EMPTY = TRUE

      END CASE

      STATUS ̲INFO.WORD ̲COUNT EQ 0?

      SORT ̲LOOP

         S̲E̲T̲ ̲U̲P̲ ̲S̲E̲A̲R̲C̲H̲ ̲P̲A̲R̲A̲M̲(̲-̲3̲)

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

         INCR STATUS ̲INFO.FIRST ̲STATUS ̲COUNT

         STATUS ̲INFO.FIRST ̲STATUS ̲COUNT GE STATUS ̲INFO.
                     LAST ̲STATUS ̲COUNT? - EXIT SORT
                     ̲LOOP

      END SORT LOOP

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

      STATUS ̲INFO.FILE ̲EMPTY EQ TRUE? -   EXIT READ
      ̲LOOP

   END READ ̲LOOP












               FIGURE 4.2.5.4.13-2




 SET ̲UP ̲SEARCH ̲PARAM


 STATUS ̲INFO.MESS ̲TYPE = M ̲SVC

 STATUS ̲INFO.SEARCH ̲TWO = S ̲DUMMY

 EQUIVALENCE(LITTLE ̲BUF(1), SVC ̲ADM: SVC ̲STA ̲ADM)

 CASE STATUS ̲INFO.FIRST ̲STATUS ̲COUNT OF

 1:  STATUS ̲INFO.SEARCH ̲ONE = S ̲SENT

     IIF ̲NO = 2

     ADM ̲PTR = ADDRESS(SVC ̲ADM.NO ̲SENT)

 2:  STATUS ̲INFO.SEARCH ̲ONE = S ̲DELETED

     IIF ̲NO = 4

     ADM ̲PTR = ADDRESS(SVC ̲ADM.NO ̲DELETED)

 3:  STATUS ̲INFO.SEARCH ̲ONE = S ̲SUSP ̲CONT

     STATUS ̲INFO.SEARCH ̲TWO = S ̲SUSP ̲DRAFT

     IIF ̲NO = 3

     ADM ̲PTR = ADDRESS(SVC ̲ADM.NO ̲DEFERRED)

 4:  STATUS ̲INFO.SEARCH ̲ONE = S ̲DEFERRED

     IIF ̲NO = 3

     ADM ̲PTR = ADDRESS(SVC ̲ADM.NO ̲DEFERRED)

 END CASE

 STATUS ̲INFO.IIF ̲FIELD ̲LIST ̲PTR = ADDRESS(STA ̲CIF ̲FIELD
 ̲LIST
                                  (IIF ̲NO))

 STATUS ̲INFO.STA ̲ADM ̲COUNT ̲PTR = ADM ̲PTR


               FIGURE 4.2.5.4.13-3




4.2.5.4.14   U̲M̲A̲M̲ ̲D̲E̲L̲E̲T̲I̲O̲N̲



4.2.5.4.14.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 module:

         -   user deletion
         -   supervisor deletion

         a)  U̲s̲e̲r̲ ̲D̲e̲l̲e̲t̲i̲o̲n̲

             If the message is available for deletion, then
             it will be deleted.

             If the message is not available for deletion or
             is not found, a deletion report is sent to the
             Supervisor Printer.

         b)  S̲u̲p̲e̲r̲v̲i̲s̲o̲r̲ ̲D̲e̲l̲e̲t̲i̲o̲n̲

             If the message is found, then the status will be
             changed to deleted.



4.2.5.4.14.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)  UMAM ̲DELETION

         b)  UMAM ̲DELETION (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̲

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

         a)  D̲E̲L̲E̲T̲E̲

             Searches the referenced CIF in the status files.
             Changes status to deleted and makes the referenced
             CIF active.

         b)  C̲h̲a̲n̲g̲e̲ ̲S̲t̲a̲t̲u̲s̲ ̲T̲o̲ ̲D̲e̲l̲

             Calls CONVERT-OUTG-TO ̲INTA and INCLUDE ̲IN ̲INTA
             and stores Expand or Preparation Area.

         c)  D̲e̲l̲ ̲R̲e̲s̲p̲

             Sends a reply to requestor and generates a deletion
             report which is sent to Supervisor Printer.



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

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

             CPS ̲PREFIX.D*GENERAL
             CPS ̲PREFIX.D*DAMOS ̲GENERAL
             CPS ̲PREFIX.D*CPS ̲CONF
             CPS ̲PREFIX.D*CPS ̲GENERAL
             CPS ̲PREFIX.D*CSF ̲GENERAL
             CPS ̲PREFIX.D*UTILITY ̲FUNC
             CPS ̲PREFIX.D*QUEUE ̲MON
             CPS ̲PREFIX.D*MESSAGE ̲MON
             CPS ̲PREFIX.D*CPS ̲ERROR ̲HAND
             CPS ̲PREFIX.D*FMS ̲GENERAL
             CPS ̲PREFIX.D*IOS ̲PARAMS
             CPS ̲PREFIX.D*SSC ̲GENERAL
             CPS ̲PREFIX.D*SSC ̲SYS ̲CONF
             CPS ̲PREFIX.D*SITE ̲CONF
             CPS ̲PREFIX.D*CPS ̲APP ̲GENERAL
             CPS ̲PREFIX.D*CPS ̲REPORTS
             CPS ̲PREFIX.D*TRACE
             CPS ̲PREFIX.D*CPS ̲AMOS ̲CONF



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

             UMAM ̲CMDQ
             CREATE ̲QEL          
             FILE ̲DIR ̲ACB        
             PREP ̲REC (m)
             FILE ̲DIR (m)
             UMAM ̲ATTR
             BIG ̲BUF ̲CONTENTS

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

             VAR
                 REC ̲PTR
                 QEL ̲PTR
                 PT ̲REC
                 RECORD ̲PTR
                 QEL ̲PTR
                 SAVER6 : INTEGER

             TYPE
                 DEL ̲DATA ̲TYPE = RECORD
                     TIME          :ARRAY(1...11) OF CHAR
                     ITEM ̲REF      :ARRAY(1..59 OF CHAR
                     LTD           :ARRAY(1..2) OF CHAR

                     END

             CONST
                 DEL ̲REPORT ̲NO = REP ̲DELETION ̲REQ
                 DEL ̲BUF ̲PT = ADDRESS(LITTLE ̲BUF)



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

         If the deletion request is received from a user, it
         is checked whether the message is available for deletion
         or not. If the message can be deleted, then the status
         is changed. If the message is not available for deletion,
         a deletion report is sent to the Supervisor Printer.

         If the deletion request is received from the Supervisor,
         then the status of the message will be changed to deleted
         and the CIF is made active.




   DELETE ̲REQUEST

   CASE UMAM ̲ATTR.FLAG OF DELETE ̲REQ ̲TYPE

         USER ̲DEL? - U̲S̲E̲R̲ ̲D̲E̲L̲E̲T̲I̲O̲N̲(̲-̲2̲)̲

         SUPV ̲SVC,
         MDCO ̲SVC,
         MSO ̲SVC?                              EQUIVALENCE(UMAM
                                               ̲ATTR.HEADER.
                                               INF,
                                                  
                                                  
                                               PARAM:
                                               DELETION
                                               ̲PARAM)

                     ITEM ̲REF = PARAM.ITEM ̲REF

                     LTD = PARAM.LTD

                     TIME = NIL

                     WINDOW = NULL

                     D̲E̲L̲E̲T̲E̲ ̲(̲L̲T̲D̲,̲ ̲I̲T̲E̲M̲R̲E̲F̲,̲ ̲0̲,̲ ̲N̲I̲L̲L̲)̲(̲4̲.̲2̲.̲5̲.̲4̲.̲1̲4̲.̲3̲.̲1̲)̲

         SUPV ̲SPECIFIED ̲CIF? - EQUIVALENCE(UMAM ̲ATTR.HEADER.INF,
                                                  
                                                  
                                                  
                                                  PARAM:
                                               SUPV
                                               ̲DELETION
                                               ̲PARAM)

                                                  
                                               ITEM
                                               ̲REF
                                               = PARAM.ITEM
                                               ̲REF

                                                  
                                               LTD
                                               = NULL

                                                  
                                               TIME
                                               = PARAM.TIME
                                               ̲STAMP

                                                  
                                               WINDOW
                                               = PARAM.WINDOW

                                                  
                                               D̲E̲L̲E̲T̲E̲(̲L̲T̲D̲,̲
                                               ̲I̲T̲E̲M̲
                                               ̲R̲E̲F̲,̲
                                               ̲T̲I̲M̲E̲,̲
                                               ̲W̲I̲N̲D̲O̲W̲)
                                                                 (̲4̲.̲2̲.̲5̲.̲4̲.̲1̲4̲.̲3̲.̲1̲)̲

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

   END CASE






               FIGURE 4.2.5.4.14-1


       USER ̲DELETION

       CASE  L̲O̲C̲K̲U̲P̲ ̲S̲T̲A̲T̲U̲S̲ ̲R̲E̲C̲(̲P̲A̲R̲A̲M̲ ̲I̲T̲E̲M̲ ̲R̲E̲F̲,̲ ̲P̲A̲R̲A̲M̲.̲L̲T̲D̲)̲(̲S̲T̲A̲T̲U̲S̲
             ̲R̲E̲C̲)̲:̲
                                                                     E̲R̲R̲O̲R̲
                                                                     ̲O̲K̲
                                                                     ̲(̲4̲.̲2̲.̲5̲.̲6̲.̲2̲1̲)̲

         ERROR?  D̲E̲L̲ ̲R̲E̲S̲P̲(̲D̲ ̲N̲O̲T̲ ̲F̲O̲U̲N̲D̲)̲(̲4̲.̲2̲.̲5̲.̲4̲.̲1̲4̲.̲3̲.̲3̲)

         OK?     STATUS ̲REC.STATUS = S ̲SENT ̲RELS?                    
                         D̲E̲L̲ ̲R̲E̲S̲P̲(̲D̲ ̲A̲W̲A̲I̲T̲I̲N̲G̲ ̲R̲E̲L̲S̲)̲(̲4̲.̲2̲.̲5̲.̲1̲4̲.̲3̲.̲3̲)

                     STATUS ̲REC.STATUS = S ̲AWAITING
                     ̲APPEND?

                         S̲E̲N̲D̲ ̲R̲E̲S̲P̲O̲N̲S̲E̲(̲D̲E̲L̲E̲T̲E̲ ̲R̲E̲S̲P̲,̲
                         ̲D̲ ̲A̲W̲A̲I̲T̲I̲N̲G̲ ̲A̲P̲P̲)̲
                                                                     
                                                                     
                                                                     
                                                                     
                                                                     
                                                                     (4̲.̲2̲.̲5̲.̲6̲.̲4̲)

                 CASE    L̲O̲O̲K̲U̲P̲ ̲P̲A̲S̲S̲I̲V̲E̲ ̲C̲I̲F̲S̲(̲S̲T̲A̲T̲U̲S̲
                         ̲R̲E̲C̲.̲V̲I̲E̲W̲ ̲N̲A̲M̲E̲)
                                                 (C̲R̲E̲A̲T̲E̲
                                               ̲Q̲E̲L̲)̲:̲
                                               ̲E̲R̲R̲O̲R̲
                                               ̲O̲K̲ ̲(̲4̲.̲2̲.̲5̲.̲6̲.̲1̲3̲)

                    ERROR?

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

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

                 END CASE

                 C̲H̲A̲N̲G̲E̲ ̲S̲T̲A̲T̲U̲S̲ ̲T̲O̲ ̲D̲E̲L̲ ̲(̲S̲T̲A̲T̲U̲S̲ ̲R̲E̲C̲)̲(̲4̲.̲2̲.̲5̲.̲4̲.̲1̲4̲.̲3̲.̲2̲)

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

       END CASE











               FIGURE 4.2.5.4.14-2



DELETE


   CASE L̲O̲O̲K̲U̲P̲ ̲S̲T̲A̲T̲U̲S̲ ̲R̲E̲C̲(̲I̲T̲E̲M̲ ̲R̲E̲F̲,̲ ̲L̲T̲D̲,̲ ̲T̲I̲M̲E̲ ̲S̲T̲A̲M̲P̲,̲
   ̲W̲I̲N̲D̲O̲W̲)̲

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

         ERROR? 

         OK? -   CASE L̲O̲O̲K̲U̲P̲ ̲P̲A̲S̲S̲I̲V̲E̲ ̲C̲I̲F̲S̲(̲S̲T̲A̲T̲U̲S̲ ̲R̲E̲C̲.̲V̲I̲E̲W̲
                 ̲N̲A̲M̲E̲)̲

                          (C̲R̲E̲A̲T̲E̲ ̲Q̲E̲L̲)̲(̲4̲.̲2̲.̲5̲.̲6̲.̲1̲3̲)̲:̲E̲R̲R̲O̲R̲
                 ̲O̲K̲

                ERROR?

                OK? - U̲N̲L̲O̲C̲K̲ ̲P̲A̲S̲S̲I̲V̲E̲ ̲C̲I̲F̲S̲ ̲(̲C̲R̲E̲A̲T̲E̲ ̲Q̲E̲L̲)̲
                                               (̲4̲.̲2̲.̲5̲.̲6̲.̲2̲8̲)̲

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

             END CASE

             C̲H̲A̲N̲G̲E̲ ̲S̲T̲A̲T̲U̲S̲ ̲T̲O̲ ̲D̲E̲L̲(̲S̲T̲A̲T̲U̲S̲ ̲R̲E̲C̲)̲
                              (̲4̲.̲2̲.̲5̲.̲4̲.̲1̲4̲.̲3̲.̲2̲)̲

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

   END CASE




              FIGURE 4.2.5.4.14.3-1