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

⟦f70b994da⟧ Wang Wps File

    Length: 50464 (0xc520)
    Types: Wang Wps File
    Notes: CPS/SDS/039               
    Names: »2161A «

Derivation

└─⟦8b37ca311⟧ Bits:30006109 8" Wang WCS floppy, CR 0174A
    └─ ⟦this⟧ »2161A « 

WangText

…0a……00……00……00……00…B…02……00……00…B
B…06…B…07…A…0a…A…0b…A…0c…A…0d…A…0e…A…0f…A…02…@…09…@…0e…@
@…07…?…0d…?…0f…?…02…?
?…07…>…0b…>…0f…> =…09…=…0b…=…0c…=…0e…=…0f…=…00…=…07…<…0c…<…86…1                                             …02…           …02…   …02…       
     

…02…CPS/SDS/039

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








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

         The Retrieve 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
               RETR FUNCTIONAL DESCRIPTION




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 containing
         the following modules and procedures:

         M̲o̲d̲u̲l̲e̲s̲:

         - RETRIEVAL ̲MAIN

         C̲o̲m̲m̲o̲n̲ ̲P̲r̲o̲c̲e̲d̲u̲r̲e̲s̲:

         None

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

         -   INTERNAL ̲BUG
         -   DISMANTLE ̲QEL
         -   SIGNAL ̲UFCO
         -   SEND ̲REQ ̲UMAM
         -   SEND ̲RESPONSE
         -   RECEIVE ̲AND ̲CHECK ̲QEL
         -   DECIDE ̲ACTION



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̲ ̲W̲i̲t̲h̲i̲n̲ ̲R̲e̲t̲r̲



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

         The HIPO diagrammes 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 call structure within RETR is shown on figure 4.2.4.3-5
         identifying all calls between module and its module
         components.


















































                     DIAG. 4.2.4.3-1
               OFFLINE/ONLINE NOTIFICATION














































                     DIAG. 4.2.4.3-2
                 ONLINE/RETRIEVAL/APPEND















































                     DIAG. 4.2.4.3-3
                    OFFLINE RETRIEVAL















































                     DIAG. 4.2.4.3-4
                      OFFLINE APPEND















































                     FIGURE 4.2.4.3-5
                  MODULE CALL STRUCTURE


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̲i̲e̲v̲a̲l̲ ̲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 Retrieve Queue and to analyse the received QEL-attributes.

         The result of the analyse is signaled to UFCO in case
         of on-line retrieval. In case of off-line retrieval,
         then the item received will be sent to the Response
         Queue. In case of off-line append the received item
         will be sent to UMAM.



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

         None

         R0-R7                      (DEST)





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

         a)  I̲N̲T̲E̲R̲N̲A̲L̲ ̲B̲U̲G̲

             Reports detected internal bugs (in algorithms)
             to SSC. The user-action is GIVE ̲UP (i.e. retire
             VUP-process). This procedure will never return.

         b)  D̲I̲S̲M̲A̲N̲T̲L̲E̲ ̲Q̲E̲L̲

             Dismantle the received QEL. If a view, it will
             neither be closed (never opened) nor checkpointed
             (views from SAR are not ̲permanent).

         c)  S̲I̲G̲N̲A̲L̲ ̲U̲F̲C̲O̲

             Signals specified command to UFCO's OPERATION ̲SEMAPHORE.
             UFCO must expect the command (online in SAR sense,
             VDU attended). This should be checked immediately
             before hand. A pool of 2 operations is available
             (i.e. max. 2 consecutive SAR replies syncronized
             to UFCO for each SEND ̲REQUEST). Max. 1 of these
             operations will grant UFCO access to VAR OP ̲QEL
             ̲ATTR.

         d)  S̲E̲N̲D̲ ̲R̲E̲Q̲ ̲U̲M̲A̲M̲

             Only to be invoked when reply from SAR concerns
             off-line append. Make a SEND ̲REQUEST to UMAM. UMAM
             will reply to the response queue. The QEL in concern
             must belong to an append transaction already known
             by UMAM (i.e. UFCO shall have made a prior status
             report). The specified subtype (APPEND ̲
             NOTIF or FOR ̲CONT'D ̲PREP) is used for the send.

         e)  S̲E̲N̲D̲ ̲R̲E̲S̲P̲Q̲

             The QEL from SAR is - unchanged - passed on to
             the response queue. If queue is blocked, the QEL
             is lost.

         f)  R̲E̲C̲E̲I̲V̲E̲ ̲A̲N̲D̲ ̲C̲H̲E̲C̲K̲ ̲Q̲E̲L̲

             Firstly: To receive a QEL in the RETR ̲QUEUE (wait
             until a QEL arrives).
             Secondly: To check that QEL in RETR ̲QUEUE complies
             to I/F SAR- VUP.
             Thirdly: Update VAR QEL with data supplied from
             system call QMON ̲RECEIVE ̲FIRST. An extract of this
             is put in field QEL ̲TYPE.



         g)  D̲E̲C̲I̲D̲E̲ ̲A̲C̲T̲I̲O̲N̲

             This procedure performs further evaluation of received
             QEL (if required). The information taken care of
             is: on-line/off-line ?, append/retrieval ? Also
             taken in account is whether the VDU is attended
             or not (boolean USER ̲ACTIVE). In the latter case
             UFCO must not be signalled.



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̲

             D*CPS ̲PREFIX.D*GENERAL
             D*CPS ̲PREFIX.D*DAMOS ̲GENERAL
             D*CPS ̲PREFIX.D*CPS ̲CONF
             D*CPS ̲PREFIX.D*CPS ̲GENERAL
             D*CPS ̲PREFIX.D*CSF ̲GENERAL
             D*CPS ̲PREFIX.D*QUEUE ̲MON
             D*CPS ̲PREFIX.D*COROUTINE ̲MON
             D*CPS ̲PREFIX.D*SERVICE ̲SYS
             D*CPS ̲PREFIX.D*SYS ̲CALL ̲MON
             D*CPS ̲PREFIX.D*CPS ̲ERROR ̲HAND
             D*CPS ̲PREFIX.D*HND ̲GENERAL
             D*CPS ̲PREFIX.D*FH ̲GENERAL
             D*CPS ̲PREFIX.D*TMP ̲GENERAL
             D*CPS ̲PREFIX.D*VUS ̲CAP
             D*CPS ̲PREFIX.D*QEL ̲MAINTYPE
             D*CPS ̲PREFIX.D*MSG ̲SUBTYPE
             D*CPS ̲PREFIX.D*SAR ̲SUBTYPE
             D*CPS ̲PREFIX.D*ACK ̲SUBTYPE
             D*CPS ̲PREFIX.D*NOTIF ̲SUBTYPE
             D*CPS ̲PREFIX.D*TEP ̲INT ̲SUBTYPE
             D*CPS ̲PREFIX.D*CPS ̲APP ̲GENERAL
             D*CPS ̲PREFIX.D*TEP



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

             INIT ̲AREA
             VUS ̲S2 (m)
             INPUT ̲CIF (m)
             TRANSACTION ̲ID (m)
             USER ̲ACTIVE
             NOT ̲OP (m)
             RETR ̲OP (m)

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

             TYPE

             QEL ̲TYPE =  (Q ̲ONL ̲NOTI ̲ACK, Q ̲OFFL ̲NOTI ̲ACK,
                         Q ̲ERROR ̲ACK, Q ̲MSG, Q ̲COMMENT, Q ̲CATALOG,
                         Q ̲RELS ̲NOTI, Q ̲ILLEGAL,
                         Q ̲ONL ̲PROF ̲FAULT)

             ACTION ̲TYPE = (A ̲DISM, A ̲QERR ̲CONT, A ̲QERR ̲GIVUP,
             
                            A ̲RESPQ, A ̲UFCO ̲QERR, A ̲UFCO ̲ONL,
                            A ̲UFCO ̲OFFL, A ̲UFCO ̲ERR; A ̲UFCO
                         ̲RETR,
                            A ̲UFCO ̲APP, A ̲UMAN ̲ERR, A ̲UMAM ̲MSG)

             QEL ̲DESCRIPTOR = RECORD
                                 ATTR: QEL ̲ATTRIBUTES
                                 QEL ̲TYPE: QEL ̲TYPE
                                 REF: INTEGER
                             END

             INF = ARRAY (1 ... 3) OF INTEGER

             VAR

             SAVELINK: INTEGER
             UMAMQ: QUEUE ̲REFERENCE
             SEND ̲PARAM: SEND ̲PARAMS
             CP ̲QEL ̲ATTR: QEL ̲ATTRIBUTES
             NEXT ̲CP: (S ̲NOT ̲OP, S ̲RETR ̲OP)
             RETR ̲QUEUE: QUEUE ̲REFERENCE

             CONST

             P ̲ONL ̲BIT = 0, P ̲APP ̲NIT = 1
             X ̲ONL ̲BIT = 1
             X ̲APP ̲ONL ̲BITS = 2
             ONL = BIT ̲0, OFFL  = 0
             APP = BIT ̲1, RETR = 0



             INIT

             RESPOQ.MAIN ̲QUEUE = VUS ̲ARRQ
             RESPOQ.SUB ̲QUEUE = RESP ̲SUBQ
             UMAMQ.MAIN ̲QUEUE = UMAM ̲COLQ
             UMAMQ.SUB ̲QUEUE = U ̲APPENDQ
             RETR ̲QUEUE.MAIN ̲QUEUE = VUS ̲ARRQ
             RETR ̲QUEUE.SUB ̲QUEUE = RETR ̲SUBQ
             SEND ̲PARAM.INFORMATION ̲TYPE = TRUE
             SEND ̲PARAM.CHECKP ̲STATUS = FALSE
             NEXT ̲OP = S ̲NOT ̲OP



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 and UFCO is informed.

         -   Online/Offline notifications are signalled to UFCO

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

         Online retrieval results are signalled to UFCO.

         Offline retrieved items for display are sent to the
         Response queue.

         Offline retrieved item for append are sent to UMAM.




 RETR ̲MAIN

 MAIN ̲LOOP

     R̲E̲C̲E̲I̲V̲E̲ ̲A̲N̲D̲ ̲C̲H̲E̲C̲K̲ ̲Q̲E̲L̲ ̲(̲4̲.̲2̲.̲4̲.̲4̲.̲1̲.̲3̲.̲6̲)̲

     D̲E̲C̲I̲D̲E̲ ̲A̲C̲T̲I̲O̲N̲ ̲(̲A̲C̲T̲I̲O̲N̲)̲(̲4̲.̲2̲.̲4̲.̲4̲.̲1̲.̲3̲.̲7̲)̲

         A ̲DISM: D̲I̲S̲M̲A̲N̲T̲L̲E̲ ̲Q̲E̲L̲ ̲(̲4̲.̲2̲.̲4̲.̲4̲.̲1̲.̲3̲.̲2̲)̲

         A ̲QERR ̲CONT: T̲E̲P̲ ̲Q̲U̲E̲U̲E̲ ̲E̲R̲R̲ ̲(̲C̲O̲N̲T̲I̲N̲U̲E̲)̲(̲4̲.̲1̲.̲5̲.̲1̲)̲

         A ̲QERR ̲GIVEUP: T̲E̲P̲ ̲Q̲U̲E̲U̲E̲ ̲E̲R̲R̲ ̲(̲G̲I̲V̲E̲ ̲U̲P̲)̲(̲4̲.̲1̲.̲5̲.̲1̲)̲

         A ̲RESP: S̲E̲N̲D̲ ̲R̲E̲S̲P̲Q̲ ̲(̲4̲.̲2̲.̲4̲.̲4̲.̲1̲.̲3̲.̲5̲)̲

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

         A ̲UFCO ̲QERR: S̲I̲G̲N̲A̲L̲ ̲U̲F̲C̲O̲ ̲(̲Q̲U̲E̲U̲E̲ ̲E̲R̲R̲O̲R̲)̲(̲4̲.̲2̲.̲4̲.̲4̲.̲1̲.̲3̲.̲3̲)̲

                      T̲E̲P̲ ̲Q̲U̲E̲U̲E̲ ̲E̲R̲R̲ ̲(̲G̲I̲V̲E̲ ̲U̲P̲)̲(̲4̲.̲1̲.̲5̲.̲1̲)̲

         A ̲UFCO ̲ONL: S̲I̲G̲N̲A̲L̲ ̲U̲F̲C̲O̲ ̲(̲O̲N̲-̲L̲I̲N̲E̲ ̲N̲O̲T̲I̲F̲I̲C̲A̲T̲I̲O̲N̲)̲
                     (̲4̲.̲2̲.̲4̲.̲4̲.̲1̲.̲3̲.̲3̲)̲
                     T̲E̲P̲ ̲Q̲U̲E̲U̲E̲ ̲E̲R̲R̲ ̲(̲G̲I̲V̲E̲ ̲U̲P̲)̲(̲4̲.̲1̲.̲5̲.̲1̲)̲

         A ̲UFCO ̲OFFL: S̲I̲G̲N̲A̲L̲ ̲U̲F̲C̲O̲ ̲(̲O̲F̲F̲-̲L̲I̲N̲E̲ ̲N̲O̲T̲I̲F̲I̲C̲A̲T̲I̲O̲N̲)̲
                      (̲4̲.̲2̲.̲4̲.̲4̲.̲1̲.̲3̲.̲3̲)̲
                      D̲I̲S̲M̲A̲N̲T̲L̲E̲ ̲Q̲E̲L̲ ̲(̲4̲.̲2̲.̲4̲.̲4̲.̲1̲.̲3̲.̲2̲)̲

         A ̲UFCO ̲ERR: S̲I̲G̲N̲A̲L̲ ̲U̲F̲C̲O̲ ̲(̲R̲E̲T̲R̲I̲E̲V̲A̲L̲ ̲E̲R̲R̲O̲R̲)̲(̲4̲.̲2̲.̲4̲.̲4̲.̲1̲.̲3̲.̲3̲)̲

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

         A ̲UFCO ̲RETR: S̲I̲G̲N̲A̲L̲ ̲U̲F̲C̲O̲ ̲(̲R̲E̲T̲R̲I̲E̲V̲A̲L̲ ̲N̲O̲T̲I̲F̲I̲C̲A̲T̲I̲O̲N̲
                      (̲4̲.̲2̲.̲4̲.̲4̲.̲1̲.̲3̲.̲3̲)̲

         A ̲UFCO ̲APP: S̲I̲G̲N̲A̲L̲ ̲U̲F̲C̲O̲ ̲(̲A̲P̲P̲E̲N̲D̲ ̲N̲O̲T̲I̲F̲I̲C̲)̲(̲4̲.̲2̲.̲4̲.̲4̲.̲1̲.̲3̲.̲3̲)̲

         A ̲UMAM ̲ERR: S̲E̲N̲D̲ ̲R̲E̲Q̲ ̲U̲M̲A̲M̲ ̲(̲A̲P̲P̲E̲N̲D̲ ̲N̲O̲T̲I̲F̲I̲C̲A̲T̲I̲O̲N̲)̲
                     (̲4̲.̲2̲.̲4̲.̲4̲.̲1̲.̲3̲.̲4̲)̲

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

         A ̲UMAM ̲MSG  S̲E̲N̲D̲ ̲R̲E̲Q̲ ̲U̲M̲A̲M̲ ̲(̲F̲O̲R̲ ̲C̲O̲N̲T̲I̲N̲U̲E̲ ̲P̲R̲E̲P̲)̲
                     (̲4̲.̲2̲.̲4̲.̲4̲.̲1̲.̲3̲.̲4̲)
                     DISMANTLE QEL (4.2.4.4.1.3.2)

         OTHERWISE?  I̲N̲T̲E̲R̲N̲A̲L̲ ̲B̲U̲G̲ ̲(̲4̲.̲2̲.̲4̲.̲4̲.̲1̲.̲3̲.̲1̲)̲

     END CASE

 END LOOP

                FIGURE 4.2.4.4.1-1



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

         Refer 4.2.4.4.1.4



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̲

         None



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

         QERROR NOTIFICATION
         RETRIEVAL NOTIFICATION
         APPEND ̲NOTIFICATION
         ONLINE NOTIFICATION
         OFFLINE NOTIFICATION
         RETRIEVAL ERROR



4.2.4.7.2    R̲E̲T̲R̲ ̲U̲M̲A̲M̲

         Refer CPS/ICD/009





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 User Message Access Monitoring (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
         -   supervisory control functions
         -   error handling

















































       FIGURE 4.2.5.1-1…01…UMAM Functional Description




4.2.5.1.1 C̲o̲l̲l̲e̲c̲t̲ ̲S̲t̲a̲t̲u̲s̲ ̲(̲1̲.̲0̲)̲

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

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

         a)  S̲t̲a̲t̲u̲s̲ ̲C̲h̲a̲n̲g̲e̲s̲ ̲(̲1̲.̲1̲)

             The referenced CIF is looked up in the PREP ̲AREA
             or EXPAND AREA and status is changed. The CIF currently
             referenced from the status record will be dismantled
             and the new CIF will be inserted.

         b)  S̲t̲a̲t̲u̲s̲ ̲U̲p̲d̲a̲t̲i̲n̲g̲ ̲(̲1̲.̲2̲)̲

             The received data buffer will be inserted as a
             part of the delivery status.

         c)  O̲f̲f̲l̲i̲n̲e̲ ̲A̲p̲p̲e̲n̲d̲ ̲C̲h̲a̲n̲g̲e̲s̲ ̲(̲1̲.̲3̲)̲

             The CIF which has requested the offline append
             is searched and status is changed to append complete.
             An Append Notification is returned to the drafter.



4.2.5.1.2    G̲e̲n̲e̲r̲a̲t̲e̲ ̲S̲t̲a̲t̲u̲s̲ ̲(̲2̲.̲0̲)̲

         Two types of status are generated. They are:

         -   user requested status
         -   periodic generated status.



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

             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.



         b)  P̲e̲r̲i̲o̲d̲i̲c̲ ̲G̲e̲n̲e̲r̲a̲t̲e̲d̲ ̲S̲t̲a̲t̲u̲s̲ ̲ ̲(̲2̲.̲2̲)̲

             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.



         c)  G̲e̲n̲e̲r̲a̲t̲e̲ ̲S̲e̲r̲v̲i̲c̲e̲ ̲M̲e̲s̲s̲a̲g̲e̲ ̲S̲t̲a̲t̲u̲s̲ ̲(̲2̲.̲3̲)̲

             A service message status is generated and sent
             to the requestor. The status will be generated
             by sorting the EXPAND AREA, PREP AREA, COLLECT
             AREA and OUT AREA.

         d)  G̲e̲n̲e̲r̲a̲t̲e̲ ̲O̲u̲t̲g̲o̲i̲n̲g̲ ̲M̲e̲s̲s̲a̲g̲e̲ ̲S̲t̲a̲t̲u̲s̲ ̲(̲2̲.̲4̲)̲

             An outgoing message status is generated and sent
             to the requestor. The status will be generated
             by sorting the EXPAND AREA, PREP AREA, COLLECT
             AREA and OUT AREA.

         e)  G̲e̲n̲e̲r̲a̲t̲e̲ ̲R̲e̲l̲e̲a̲s̲e̲ ̲M̲e̲s̲s̲a̲g̲e̲ ̲S̲t̲a̲t̲u̲s̲ ̲(̲2̲.̲5̲)

             A release message status is generated and sent
             to the requestor. The status will be generated
             by sorting the COLLECT AREA and RELEASE AREA.

         f)  G̲e̲n̲e̲r̲a̲t̲e̲ ̲D̲e̲l̲i̲v̲e̲r̲y̲ ̲S̲t̲a̲t̲u̲s̲ ̲(̲2̲.̲6̲)

             A delivery status is generated for the required
             terminal/device and sent to the requestor. The
             status will be generated by sorting the DELIVER
             AREA, and COLLECT ̲AREA.





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̲ ̲(̲3̲.̲0̲)

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

         a)  U̲s̲e̲r̲ ̲D̲e̲l̲e̲t̲i̲o̲n̲ ̲R̲e̲q̲u̲e̲s̲t̲ ̲(̲3̲.̲1̲)̲

             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)  E̲d̲i̲t̲ ̲R̲e̲q̲u̲e̲s̲t̲ ̲(̲3̲.̲2̲)

             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 user does not
             have access to the message, then a response message
             is returned to the requestor.

         c)  V̲D̲U̲-̲P̲a̲g̲e̲ ̲R̲e̲t̲r̲i̲e̲v̲a̲l̲ ̲(̲3̲.̲3̲)

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

         d)  V̲D̲U̲-̲P̲a̲g̲e̲ ̲S̲t̲o̲r̲a̲g̲e̲ ̲(̲3̲.̲4̲)̲.

             If the referenced Display name can be found in
             the Display table, then the received CIF will be
             stored in the Display Database, otherwise the received
             CIF will be sent to the MDCO.





4.2.5.1.4    S̲u̲p̲e̲r̲v̲i̲s̲o̲r̲y̲ ̲C̲o̲n̲t̲r̲o̲l̲ ̲F̲u̲n̲c̲t̲i̲o̲n̲s̲ ̲(̲4̲.̲0̲)̲

         Commands inserted by the Supervisor are received in
         the Collect Queue.

         a)  Q̲U̲E̲U̲E̲ ̲S̲T̲A̲T̲E̲ ̲R̲E̲Q̲U̲E̲S̲T̲ ̲(̲4̲.̲1̲)

             The number of messages under preparation is calculated
             and sent to the Supervisor Printer.

         b)  C̲A̲N̲C̲E̲L̲ ̲A̲L̲L̲ ̲P̲R̲E̲P̲ ̲Q̲U̲E̲U̲E̲S̲ ̲(̲4̲.̲2̲)

             All messages under preparation is deleted and a
             command completion report is generated.

         c)  C̲A̲N̲C̲E̲L̲ ̲T̲E̲R̲M̲I̲N̲A̲L̲ ̲P̲R̲E̲P̲ ̲Q̲U̲E̲U̲E̲ ̲(̲4̲.̲3̲)̲

             All messages under preparation for the specified
             terminal is deleted. A command completion report
             is generated.

         d)  D̲E̲L̲E̲T̲E̲ ̲C̲I̲F̲ ̲(̲4̲.̲4̲)̲

             The specified CIF is deleted from the preparation
             files and an acknowledge is returned.

         e)  C̲A̲N̲C̲E̲L̲ ̲R̲E̲L̲E̲A̲S̲E̲ ̲Q̲U̲E̲U̲E̲(̲S̲)̲ ̲(̲4̲.̲5̲)̲

             Items in preparation files with status equal send
             ̲
             for ̲release will be available for further editing.
             

             This command applies either all LTD's or one LTD.



4.2.5.1.5    E̲r̲r̲o̲r̲ ̲R̲e̲p̲o̲r̲t̲i̲n̲g̲ ̲(̲5̲.̲0̲)̲

         a)  Q̲u̲e̲u̲e̲ ̲E̲r̲r̲o̲r̲ ̲R̲e̲p̲o̲r̲t̲i̲n̲g̲ ̲(̲5̲.̲1̲)̲

             Reports to SSC that an unexpected Queue element
             has been received.

         b)  I̲n̲t̲e̲r̲n̲a̲l̲ ̲E̲r̲r̲o̲r̲ ̲H̲a̲n̲d̲l̲i̲n̲g̲ ̲(̲5̲.̲2̲)̲

             Reports to SSC that an illegal condition has been
             fulfilled or an unexpected response has been received
             from monitor procedures called.


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

         Figure 4.2.5.2-1 shows a hierarchical overview of the
         software structure within UMAM. UMAM consists of one
         process performing the functions listed in section
         4.2.5.1.
















































         FIGURE 4.2.5.2-1…01…UMAM Software Structure


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 data flow of UMAM
         The dataflow between the files of UMAM is shown in
         figure 4.2.5.3-9.



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.2-1 and figure 4.2.5.3-10 to 4.2.5.3-27.







                    Figure 4.2.5.3-1/8


















































             FIGURE 4.2.5.3-9…01…File Data Flow


4.2.5.3.9    D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲ ̲O̲f̲ ̲H̲o̲w̲ ̲U̲m̲a̲m̲ ̲W̲o̲r̲k̲s̲ ̲O̲n̲ ̲F̲i̲l̲e̲s̲ ̲A̲n̲d̲ ̲B̲u̲f̲f̲e̲r̲

         UMAM consists of 9 function blocks concerning different
         transactions.

         These are:  Preparation, Continue Preparation, Delete,
                     Deliver, Release, Status, Midnight-status,
                     VDU-page, Supervisor cmd.

         Data kept in files or variables are stored in four
         record types i.e.:

         PREP ̲REC ̲TYPE,
         INTA ̲REC ̲TYPE,
         REL ̲STA ̲TYPE,
         DEL ̲BUF ̲TYPE

         Information about file contents is kept in variable
         FILE ̲DIR, which is stored in file UMAM ̲ACCOUNT.

         Two sets of files are needed, due to MIDNIGHT ̲STATUS
         where a swop of filenames is performed so that status
         is generated on OLD files and new entries is done to
         NEW files. This does not apply to files concerning
         preparation.

         During performance of status requests, normal or midnigth,
         the variable STATUS ̲INFO is used to keep track of files,
         entries during sorting and writing onto a CIF.

         The variable BIG ̲BUF has a size that matches size of
         file PREPARATION ̲AREA plus 1 sector (256 words). The
         sector is placed in the higher part of BIG ̲BUF and
         contains the last used sector of file COLLECT ̲AREA.
         Last sector in BIG ̲BUF is called INTA.

         Whenever a transaction has reached a final stage, i.e.
         not available for further editing, and UMAM is notified,
         the received data is included in INTA.

         Whenever 5 changes occur in INTA , or INTA gets full
         the records are placed in file COLLECT ̲AREA. When file
         COLLECT ̲AREA gets full (256 entries a 16 words) the
         file is sorted and information placed in files DELIVER
         ̲AREA, OUTGOING ̲AREA, RELEASE ̲AREA and FILE ̲DIR in updated.




         Every entry in INTA consumes 16 words.

         Items under preparation is not included in INTA or
         COLLECT ̲AREA, but is directly included in file PREPARATION
         ̲AREA or EXPAND ̲AREA.

         The variable LITTLE ̲BUF is used during sorting procedure,
         e.g. status request, where it is used to contain the
         output from search routines. When it gets full it is
         written onto a CIF (if status request) or onto a file.



         A very short description of each functional block.

         T̲r̲a̲n̲s̲a̲c̲t̲i̲o̲n̲:

         Preparation:            The record is stored in file
                                 PREPARATION ̲AREA OR EXPAND
                                 ̲AREA. If appropriate a threeshold-warning
                                 report is generated. Variable
                                 FILE ̲DIR is updated.

         Continue
         Preparation:            If status is changed to a stage
                                 where no further edit is allowed
                                 the variable FILE ̲DIR is updated,
                                 the record is excluded from
                                 preparation files and incorporated
                                 in variable INTA.

         Delete:                 Status for the record in file
                                 PREPARATION or EXPAND ̲AREA
                                 is set to delete.
                                 The record is included in INTA.
                                 The variable FILE ̲DIR is updated.

         Deliver:                The record send to UMAM is
                                 included in INTA. The variable
                                 FILE ̲DIR is updated.






         Release:                The record is excluded from
                                 preparation files. The variable
                                 FILE ̲DIR is updated. The record
                                 is included in INTA.

         Status:                 Depending on requested status
                                 type following files are searched:

                         RELEASE ̲STATUS:   COLLECT ̲AREA,
                                           RELEASE ̲AREA.

                         OUTGOING ̲STATUS:  OUT ̲AREA,
                                           COLLECT ̲AREA,
                                           PREPARATION AREA,
                                           EXPAND ̲AREA.

                         SVC ̲STATUS:       OUT ̲AREA,
                                           COLLECT ̲AREA
                                           PREPARATION ̲AREA,
                                           EXPAND ̲AREA.

                         DELIVERY ̲STATUS:  DELIVER ̲AREA,
                                           COLLECT ̲AREA.

         Midnight-
         Status:         The same files minus COLLECT ̲AREA is
                         searched. The lack of search in COLLECT
                         ̲
                         AREA is due to a sorting is made at
                         00 hour before status generating modules
                         are called. Generation of status for
                         the first LTD will take place at 00
                         hour. Thereafter send-request/send-
                         reply mechanism is used between printer
                         and UMAM.

         VDU ̲Page:       Storage:      If Display-name is recognized
                                       the CIF reference is
                                       stored at TMP. If not
                                       the VDU ̲Page is send
                                       to MDCO.





                         Preparation:  Basicly three exits to
                                       edit request exists:

                                       a)  Name recognized,
                                           no CIF found.

                                       b)  Name recognized,
                                           CIF found.

                                       c)  Name not recognized.

                                       In case of a) or b) a
                                       preparation will be possible
                                       from the VDU.

                         Retrieval:    As VDU-Page preparation,
                                       but only b) will end
                                       up in a presentation
                                       on the VDU.

         Supervisor ̲
         CMD:            Calculate ̲
                         Qlength:      Counts the number of
                                       items under preparation
                                       in 
                                       FILE ̲DIR.

                         Cancel ̲
                         Queue(S):     Excludes entries in files
                                       PREPARATION ̲AREA, and
                                       EXPAND ̲AREA, for one
                                       or all LTDs and includes
                                       them in INTA:

                         Cancel ̲Rel ̲
                         Queue(S):     Changes status from SEND
                                       ̲
                                       RELEASE to DEFERRED ̲
                                       RELEASE in files PREPARATION
                                       ̲AREA AND EXPAND ̲AREA.
                                       This will make the items
                                       available for further
                                       editing. This is done
                                       for all or one LTD.




L̲e̲g̲e̲n̲d̲ ̲f̲o̲r̲ ̲F̲i̲g̲u̲r̲e̲ ̲4̲.̲2̲.̲5̲.̲3̲-̲9̲ ̲

         1.              Status changes will result in updating
                         of either the PREPARATION ̲AREA or EXPAND
                         ̲AREA.

         2.              Delivery status is inserted in the
                         COLLECT ̲AREA.

         3.              When the status of a message changes
                         to Send or Deleted the status record
                         will be moved from PREPARATION ̲AREA
                         or EXPAND ̲AREA to the COLLECT ̲AREA.

         4.              When the COLLECT AREA gets full the
                         status records will be sorted and stored
                         in either OUT ̲AREA, RELEASE ̲AREA or
                         DELIVER ̲AREA.

         5.              At 00.00 hour the contents of the OUT
                         AREA, RELEASE AREA and DELIVER AREA
                         will be moved to a new set of files.


         Figure 4.2.5.5-10 to 4.2.5.5-27 shows the call structure
         of common procedures separated to each module.




         EXECUTE
         START
         FUNCTION
         4.2.5.4.1


                 INPUT PREP (12)

                 STORE PREP (8)

                 INPUT EXPAND (23)

                 STORE EXPAND (24)

                 UINT ERROR (30)

                 STORE DIR (18)

                 INPUT DIR (16)

                 UMAM REQUEST TIMEOUT (34)

                 CHANGE STATUS FILES (37)

                 UPDATE BIT MAP (45)

                 RESET FILE (42) - UINT ERROR (30)

                 CLEAR BIG BUF (44)

                 GET TIME (33)

                 RESET COLLECT AREA (46)

                 CLEAR COUNTERS (43)

                 READ STATUS FILE (32)

                 INPUT COMPLETE INT (9)





                        Figure 4.2.5.3-10



         UMAM
         MAIN

         4.2.5.4.2


                 UMAM DISMANTLE (1) - UINT ERROR (30)

                 UINT ERROR (30)

                 UQ ERROR (11)

                 STORE DIR (18)

                 INPUT DIR (16)

                 CHANGE STATUS FILES (37)

                 GET TIME (33)

























                        FIGURE 4.2.5.3-11




         REQUEST
         QUEUE
         ACTION
         4.2.5.4.3


                 UMAM DISMANTLE (1) - UINT ERROR (30)

                 UQ ERROR (11)

                 VDU PAGE LOOKUP (2) - MOVE WORDS (36)

                 SEND RESPONSE (4) - UQ ERROR (11)

                 LOOKUP PASSIVE CIF (13) - MOVE WORDS (36)

                 SEND ITEM (3) - UQ ERROR (11)
                                 UMAM DISMANTLE (1) - UQ ERROR (11)

                 LOOKUP STATUS REC (21) - INPUT PREP (12)
                                          INPUT EXPAND (23)
                 STORE EXPAND (24)        SEARCH RECORD (38)

                 CONVERT OUTG TO INTA (7) - GET TIME (33)

                 STORE PREP (8)

                 INPUT DIR (16)

                 INPUT PREP (12)

                 INPUT EXPAND (23)

                 EXCLUDE FORM PREP (27) - LOOKUP PASSIVE CIF (13)
                                          UNLOCK PASSIVE CIFS(28)
                                          UMAM DISMANTLE (1) - 
                                             UINT ERROR (30)
                                          STORE PREP (8)
                                          STORE EXPAND (24)
                                          UINT ERROR (11)

                 GET TIME (33)


                        FIGURE 4.2.5.3-12



         PREP
         QUEUE
         ACTION
         4.2.5.4.4


                 UMAM DISMANTLE (1) - UINT ERROR (30)

                 UQ ERROR (11)

                 LOOK STATUS REC (21)     - INPUT PREP (12)
                                            INPUT EXPAND (23)
                                            SEARCH RECORD (38)

                 CONVERT OUTG TO INTA (7) - GET TIME (33)

                 EXCLUDE FROM PREP (27)   - LOOKUP PASSIVE CIF(13) -
                                            
                                              MOVE WORDS (36)CIF(13)
                                              UNLOCK PASSIVE CIFS(28)
                                              UMAM DISMANTLE (1) - 
                                              UINT ERROR (30)
                                            STORE PREP (8)
                                            STORE EXPAND (24)
                                            UINT ERROR (11)

                 LOOKUP PASSIVE CIF (13)    -  MOVE WORDS (36)

                 UNLOCK PASSIVE CIFS (28)

                 STORE PREP (8)

                 STORE EXPAND (24)

                 UMAM LOCK CIF (39)

                 MOVE WORDS (36)

                 GET TIME (33)



                        FIGURE 4.2.5.3-13




         VDU PAGE
         STORAGE

         4.2.5.4.5

                 UQ ERROR (11)

                 UMAM DISMANTLE (1) - UINT ERROR (30)

                 LOOKUP PASSIVE CIF (13) - MOVE WORDS (36)

                 UNLOCK PASSIVE CIFS (28)

                 UMAM LOCK CIF (39)

                 READ ADM FIELD (41)

                 SEND CIF TO MDCO (20) - UMAM ̲DISMANTLE (1) - 
                    UINT ERROR (30)

                 VDU PAGE LOOKUP (2) - MOVE WORDS (36)

                 UPDATE DISPLAY TABLE (40)





















                        FIGURE 4.2.5.3-14




         STATUS
         REQUEST

         4.2.5.4.6


                 UQ ERROR (11)

                 UMAM DISMANTLE (1) - UINT ERROR (30)

                 INPUT DIR (16)

                 STORE DIR (18)

                 CLEAR COUNTERS (43)

                 CLEAR BIG BUF (44)

                 RESET FILE (42) - UINT ERROR (30)

                 PRE STATUS (31) - CONVERT STORE LTD (15)
                                   UINT ERROR (30)

                 CLOSE SEND REPLY (6) - UQ ERROR (11)
                                        UMAM DISMANTLE (1) - 
                                           UINT ERROR (30)


















                        FIGURE 4.2.5.3-15




         DELIVERY
         STATUS

         4.2.5.4.7


                 UINT ERROR (30)

                 GET TIME (33)



































                        FIGURE 4.2.5.3-16





         APPEND
         ACTION

         4.2.5.4.8



                 UQ ERROR (11)

                 LOOKUP STATUS REC (21)  -  INPUT PREP AREA (12)
                                            INPUT EXPAND AREA(23)
                                            SEARCH RECORD (38)


…02…UMAM DISMANTLE (1)  -  UINT ERROR (30)

                 MOVE WORDS (36)



























                        FIGURE 4.2.5.3-17




         PERIODIC
         STATUS

         4.2.5.4.9


                 INPUT DIR (16)

                 STORE DIR (18)

                 PRE STATUS (31)      -   CONVERT STORE LTD (15)
                                          UINT ERROR (30)

                 CLOSE SEND REPLY (6) -   UQ ERROR (11)
                                          UMAM DISMANTLE (1) -
                                             UINT ERROR




























                        FIGURE 4.2.5.3-18




         GEN REL
         STA

         4.2.5.4.10


                 READ STATUS FILE (32)

                 STORE SORTED DATA (14)

                 UINT ERROR (30)

































                        FIGURE 4.2.5.3-19





         GEN DEL
         STA

         4.2.5.4.11


                 READ STATUS FILE (32)

                 STORE SORTED DATA (14)

                 UINT ERROR (30)

































                        FIGURE 4.2.5.3-20




         GEN OUT
         STA

         4.2.5.4.12


                 READ STATUS FILE (32)

                 STORE SORTED DATA (14)

                 UINT ERROR (30)

































                        FIGURE 4.2.5.3-21




         GEN SVC
         STA

         4.2.5.4.13


                 READ STATUS FILE (32)

                 STORE SORTED DATA (14)

                 UINT ERROR (30)

































                        FIGURE 4.2.5.3-22




         UMAM
         DELETION

         4.2.5.4.14


                 UQ ERROR (11)

                 LOOKUP STATUS REC (21)   -  INPUT PREP (12)
                                             SEARCH RECORD (38)
                                             INPUT EXPAND (23)

                 SEND REPORT (29)

                 SEND RESPONSE (4)        -  UQ ERROR (11)

                 LOOKUP PASSIVE CIFS (13) -  MOVE WORDS (36)

                 UNLOCK PASSIVE CIFS (28)

                 CONVERT OUTG TO INTA (7)

                 STORE PREP (8)

                 GET TIME (33)

                 INT TO ASCII (19)

                 STORE EXPAND (24)

                 UMAM DISMANTLE (1)       -  UINT ERROR (30)













                        FIGURE 4.2.5.3-23




         INCLUDE
         IN INTA

         4.2.5.4.15


                 CURRENT INT (22)

                 STORE INT AREA (10)

                 MOVE WORDS (36)

                 UINT ERROR (30)































                        FIGURE 4.2.5.3-24





         SORT AREA
         INT

         4.2.5.4.16


                 GET TIME (33)

                 SEND REPORT (29)

                 UMAM DISMANTLE (1) - UINT ERROR (30)

                 UINT ERROR (30)

                 MOVE WORDS (36)

                 STORE INT AREA (10)

                 INPUT COMPLETE INT (9)

                 STORE DIR (18)

                 CLEAR BIG BUF (42)

                 RESET COLLECT AREA (46)



















                        FIGURE 4.2.5.3-25




         INCLUDE
         IN PREP

         4.2.5.4.17


                 INPUT PREP (12)

                 LOOKUP EMPTY PREP REC (26)  -  THRESHOLD
                                                WARNING (25)
                                                SEND REPORT (29) -
                                                UMAM DISMANTLE(1)

                 INPUT EXPAND (23)

                 THRESHOLD WARNING (25)      -  SEND REPORT (29)
                                                UMAM DISMANTLE(1)
                                                - UINT ERROR (30)

                 UMAM LOCK CIF (39)

                 MOVE WORDS (36)

                 GET TIME (33)

                 UINT ERROR (30)

                 STORE PREP (8)

                 STORE EXPAND (24)












                        FIGURE 4.2.5.3-26




         SORT
         RECORDS

         4.2.5.4.18


                 STORE SORTED DATA (14)

                 UINT ERROR (30)



































                    FIGURE 4.2.5.3-27




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



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 purpose
         of the module is to execute the function required upon
         load of new software. The files of UMAM are opened
         and the status of messages awaiting append are changed.
         A periodic timeout is requested.



4.2.5.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)  EXECUTE ̲START (START ̲UP ̲ACTIVE: START ̲UP ̲TYPE)

         b)  EXECUTE ̲START (R0, 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̲

         R0 START ̲UP ̲ACTIVE

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

         None

         R0 - R7



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

         a)  C̲H̲A̲N̲G̲E̲ ̲A̲P̲P̲E̲N̲D̲ ̲S̲T̲A̲T̲U̲S̲

             The status records in the Preparation Area and
             the Expand Area are looked up. If status is equal
             to Awaiting Append or Append Complete, then the
             status will be changed to Append Abandon.



         b)  C̲A̲L̲C̲U̲L̲A̲T̲E̲ ̲C̲U̲R̲R̲E̲N̲T̲ ̲I̲N̲T̲A̲

             The status records in the Collect Area are looked
             up. The time stamp is compared with current time
             to determine the newest entry in the file.

         c)  U̲P̲D̲A̲T̲E̲ ̲F̲I̲L̲E̲ ̲P̲T̲

             Reads from the specified file until newest entry
             is found.

         d)  U̲P̲D̲A̲T̲E̲ ̲D̲E̲L̲V̲ ̲F̲I̲L̲E̲ ̲P̲T̲

             Reads from the specified file until newest entry
             is found.

         e)  O̲P̲E̲N̲ ̲M̲O̲V̲I̲N̲G̲ ̲F̲I̲L̲E̲S̲

             Open files residing on the moving part of the disc.

         f)  O̲P̲E̲N̲ ̲F̲I̲X̲E̲D̲ ̲F̲I̲L̲E̲S̲

             Open files residing on the fixed part of the disc.



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̲

             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*CPS ̲IO ̲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̲

             BIG ̲BUF (m)
             FILE ̲DIR ̲ACB
             MAX ̲NO ̲OF ̲INTAS
             CURRENT ̲INTA ̲NO (m)
             MAX ̲NO ̲OF ̲INTA ̲REC
             MAX ̲INT ̲AREA ̲BUF ̲RECS
             INTA ̲REC ̲NO (m)
             UMAM ̲FDCB (m)
             STATUS ̲INF (m)
             UMAM ̲FILE ̲ADDR
             FILE ̲DIR (m)
             UMAM ̲DIR ̲FDCB (m)
             CURRENT ̲DIR (m)
             UMAM ̲FDCB
             UMAM ̲FILE ̲ADDR
             UMAM ̲BLE
             FILE ̲DIR

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

             UMAM ̲DIR.FDCB = RECORD
                             FIXED
                             MOVING: FDCB ̲INDEX
                             END

             OFFSET
             SAVELINK:       INTEGER

             FILE ̲PT:        LONG

             READ ̲CONTROL:   BOOLEAN
             U ̲DIR ̲NAME:     FILE ̲SYSTEM ̲NAME

             U ̲START ̲UP:     START ̲UP ̲ACTIVE ̲TYPE


             OLD ̲TIME
             NEW ̲TIME:       TIME ̲TYPE

             LOOPCOUNT:      UMAM ̲COUNTER

             SAVER4
             SAVELINK
             SAVEREG:        INTEGER

         INIT
             U ̲DIR ̲NAME = UMAM ̲DIR

         CONST
             UMAM ̲DIR   = ADDRESS (U ̲DIR ̲NAME)



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

         The files are opened by a call to FMS. If START ̲UP
         is identical to DEAD1, DEAD2 or COLD, then the counters
         in the file directories are set to zero. Otherwise
         the status of messages awaiting append is changed to
         APPEND ̲ABANDON.



   EXECUTE ̲START ̲FUNCTIONS

   O̲P̲E̲N̲ ̲M̲O̲V̲I̲N̲G̲ ̲F̲I̲L̲E̲S̲ ̲(̲4̲.̲2̲.̲5̲.̲4̲.̲1̲.̲3̲.̲5̲)̲

   O̲P̲E̲N̲ ̲F̲I̲X̲E̲D̲ ̲F̲I̲L̲E̲S̲ ̲(̲4̲.̲2̲.̲5̲.̲4̲.̲1̲.̲3̲.̲6̲)̲

   CASE START ̲UP OF START ̲UP ̲ACTIVE ̲TYPE

         DEAD1,
         DEAD2,
         COLD? - C̲L̲E̲A̲R̲ ̲U̲M̲A̲M̲ ̲D̲I̲R̲E̲C̲T̲O̲R̲I̲E̲S̲ ̲(̲4̲.̲2̲.̲5̲.̲4̲.̲1̲-̲2̲)̲

         WARM1,
         WARM2?  C̲H̲E̲C̲K̲ ̲N̲E̲W̲E̲S̲T̲ ̲D̲I̲R̲(̲4̲.̲2̲.̲5̲.̲4̲.̲1̲-̲4̲)̲

                 C̲H̲E̲C̲K̲ ̲P̲E̲R̲I̲O̲D̲I̲C̲ ̲S̲T̲A̲T̲U̲S̲(̲4̲.̲2̲.̲5̲.̲4̲.̲1̲-̲3̲)̲

         OTHERWISE?  U̲I̲N̲T̲ ̲E̲R̲R̲ ̲(̲G̲I̲V̲E̲ ̲U̲P̲)̲(̲4̲.̲2̲.̲5̲.̲6̲.̲3̲0̲)̲

   END CASE

   U̲M̲A̲M̲ ̲R̲E̲Q̲U̲E̲S̲T̲ ̲T̲I̲M̲E̲O̲U̲T̲ ̲(̲4̲.̲2̲.̲5̲.̲6̲.̲3̲4̲)̲




















               FIGURE 4.2.5.4.1-1


         CLEAR ̲UMAM ̲DIRECTORIES

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

         EQUIVALENCE (BIG ̲BUF: ARRAY (1..NO ̲OF ̲PREP ̲REC) OF
         PREP ̲
         REC ̲TYPE)

         LOOP ̲COUNT = 1

         LOOP

             BIG ̲BUF (LOOP ̲COUNT).STATUS = S ̲DUMMY
             INCREMENT LOOP ̲COUNT
             LOOP ̲COUNT = SIZE (BIG ̲BUF)/SIZE(PREP ̲REC ̲TYPE)?
                EXIT LOOP

         END LOOP

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

         LOOP ̲COUNT = 0

         LOOP

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

             INCREMENT LOOP ̲COUNT
             LOOP ̲COUNT = COLLECT ̲AREA + 1?      EXIT LOOP

         END LOOP

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

         LOOP

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

             INCREMENT LOOP ̲COUNT
             LOOP ̲COUNT = OLD ̲DELIVER ̲AREA +1?     EXIT LOOP

         END LOOP

                    FIGURE 4.2.5.4.1-2



         CHECK ̲PERIODIC ̲STATUS

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

         FILE ̲DIR.NEXT ̲LTD = 0 ?

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

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

         U̲P̲D̲A̲T̲E̲ ̲F̲I̲L̲E̲ ̲P̲T̲ ̲(̲O̲L̲D̲ ̲O̲U̲T̲G̲O̲I̲N̲G̲ ̲A̲R̲E̲A̲)̲ ̲(̲4̲.̲2̲.̲5̲.̲4̲.̲1̲.̲3̲.̲3̲)

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

         U̲P̲D̲A̲T̲E̲ ̲D̲E̲L̲V̲ ̲F̲I̲L̲E̲ ̲P̲T̲ ̲(̲O̲L̲D̲ ̲D̲E̲L̲I̲V̲E̲R̲ ̲A̲R̲E̲A̲)̲ ̲(̲4̲.̲2̲.̲5̲.̲4̲.̲1̲.̲3̲.̲4̲)

         END






















                    FIGURE 4.2.5.4.1-3




         CHECK ̲NEWEST ̲DIR

         CURRENT ̲DIR = NO ̲DIR

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

         OLD ̲TIME = FILE ̲DIR.START ̲TIME

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

         NEW ̲TIME = FILE ̲DIR.START ̲TIME

         NEW ̲TIME GT OLD ̲TIME?

         C̲H̲A̲N̲G̲E̲ ̲S̲T̲A̲T̲U̲S̲ ̲F̲I̲L̲E̲S̲ ̲(̲4̲.̲2̲.̲5̲.̲6̲.̲3̲7̲)

         CURRENT ̲DIR = NO ̲DIR

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

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

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

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

         S̲T̲O̲R̲E̲ ̲P̲R̲E̲P̲ ̲(̲4̲.̲2̲.̲5̲.̲6̲.̲8̲)

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

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

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

         U̲P̲D̲A̲T̲E̲ ̲F̲I̲L̲E̲ ̲P̲T̲ ̲(̲O̲U̲T̲G̲O̲I̲N̲G̲ ̲A̲R̲E̲A̲)̲ ̲(̲4̲.̲2̲.̲5̲.̲4̲.̲1̲.̲3̲.̲3̲)

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

         U̲P̲D̲A̲T̲E̲ ̲D̲E̲L̲V̲ ̲F̲I̲L̲E̲ ̲P̲T̲ ̲(̲D̲E̲L̲I̲V̲E̲R̲ ̲A̲R̲E̲A̲)̲ ̲(̲4̲.̲2̲.̲5̲.̲4̲.̲1̲.̲3̲.̲4̲)

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

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


                    FIGURE 4.2.5.4.1-4




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



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

         This module contains the main waiting point within
         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.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̲ 

         N/A (The module is a main module)





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

         a)  S̲E̲N̲D̲S̲ ̲S̲S̲C̲ ̲A̲C̲K̲

             Sends an acknowledge to a CLOSE ̲DOWN command to
             SSC.

         b)  C̲L̲O̲S̲E̲ ̲F̲I̲L̲E̲S̲

             The connections to all the files of UMAM is dismantled.

         c)  T̲I̲M̲E̲ ̲O̲U̲T̲ ̲A̲C̲T̲I̲O̲N̲

             The status records stored in the Collect-Area is
             sorted. The FDCBs of the NEW and OLD files are
             interchanged. The file-directory will be updated
             (all counters except those concerning messages
             under preparation will be cleared).

         d)  C̲L̲O̲S̲E̲ ̲D̲O̲W̲N̲ ̲A̲C̲T̲I̲O̲N̲

             Cancels outstanding System-Calls and removes all
             items from the Preparation and Delivery queues.



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

             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*MESSAGE ̲MON
             CPS ̲PREFIX.D*QUEUE ̲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*CPS ̲IO ̲PARAMS
             CPS ̲PREFIX.D*SSC ̲GENERAL
             CPS ̲PREFIX.D*SSC ̲IF
             CPS ̲PREFIX.D*QUEUE ̲GENERAL
             CPS ̲PREFIX.D*SSC ̲SYS ̲CONF
             CPS ̲PREFIX.D*SITE ̲CONF
             CPS ̲PREFIX.D*TRACE
             CPS ̲PREFIX.D*CPS ̲AMOS ̲CONF



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

             UMAM ̲PARAMS (m)
             CMD ̲QEL (m)
             UMAM ̲ACCOUNT
             FILE ̲DIR (m)
             OUTG ̲START
             DELT ̲START
             RELE ̲START
             FILE ̲DIR ̲ACB
             CURRENT ̲DIR (m)
             UMAM ̲STOP (m)
             UMAM ̲COLQ (m)
             UMAM ̲ATTR (m)
             UMAM ̲CMDQ

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

         TYPE

             UREF ̲TYPE = (CMD ̲REF, COL ̲REF)

         VAR

             SAVER6
             SAVELINK
             SYS ̲CMDREF
             SYS ̲COLREF
             LOOPEXIT: INTEGER

             U ̲OBJECT: OBJECT ̲TYPE

             CMD ̲QEL:  QEL ̲REFERENCE

             STORE: INTEGER



4.2.5.4.2.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̲ ̲(̲S̲T̲A̲R̲T̲ ̲U̲P̲ ̲A̲C̲T̲I̲V̲E̲)̲ ̲(̲4̲.̲2̲.̲5̲.̲4̲.̲1̲)

   CASE INIT ̲RECEIVE ̲FIRST ̲QEL(WAIT, UMAM ̲CMDQ, UMAM
   ̲ATTR, CMDREF
                                     (SYS ̲CMDREF, CC):
                     ERROR ̲OK

         ERROR?   ANALYZE ̲ERROR (CC,O)

         OK?

   END CASE

   UMAM ̲COLQ.SUBQUEUE = U ̲MAINQ

   CASE INIT ̲RECEIVE ̲FIRST ̲QEL (WAIT, UMAM ̲COLQ, UMAM
   ̲ATTR, COLREF
                                                (SYS
                                     ̲COLREF, CC): ERROR
                                     ̲OK

         ERROR?   ANALYZE ̲ERROR (CC,O)

         OK?

   END CASE

   UMAM ̲STOP = FALSE

   WAIT ̲LOOP

         WAIT ̲NEXT ̲OPERATION ( ) (UREF, 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̲.̲2̲-̲2̲)̲

         UMAM ̲STOP EQ TRUE?           EXIT WAIT ̲LOOP

   END WAIT ̲LOOP

   CLOSE LOOP

         CASE RECEIVE ̲FIRST ̲QEL (WAIT, UMAM ̲CMDQ, UMAM
         ̲ATTR): ERROR ̲OK

             ERROR ?                 ANALYZE ̲ERROR
                                     (CC,0)

             OK?

         END CASE

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

   END CLOSE LOOP

               Figure 4.2.5.4.2-1



   EXECUTE ̲PENDING ̲OPERATION

   CASE UREF OF UREF ̲TYPE

     CMDREF?    CASE WAIT ̲SYSTEM ̲CALL(SYS ̲CMDREF)
                        (UMAM ̲ATTR, CMD ̲QEL,SUBQ,CC):
 ERROR ̲OK

                  ERROR?  ̲ ANALYZE ̲ERROR(CC,O)

                  OK?      

                END CASE
                  I̲N̲S̲P̲E̲C̲T̲ ̲C̲M̲D̲ ̲Q̲E̲L̲ ̲(̲4̲.̲2̲.̲5̲.̲4̲.̲2̲-̲3̲)
                U̲M̲A̲M̲ ̲D̲I̲S̲M̲A̲N̲T̲L̲E̲ ̲(̲C̲M̲D̲ ̲Q̲E̲L̲)̲(̲4̲.̲2̲.̲5̲.̲6̲.̲1̲)̲

                UMAM ̲STOP EQ TRUE?

                CASE INIT ̲RECEIVE ̲FIRST ̲QEL(WAIT,UMAM
 ̲CMDQ
                            UMAM ̲ATTR,CMDREF)(SYS ̲CMDREF,CC):
 ERROR ̲OK

                  ERROR?   ANALYZE ̲ERROR(CC,0)

                  OK?

                END CASE

    COLREF?     CASE WAIT ̲SYSTEM ̲CALL(SYS ̲COLREF)
                         (UMAM ̲ATTR,QEL1,SUBQ,CC):
 ERROR ̲OK

                  ERROR? ANALYZE ̲ERROR(CC,0)

                  OK?   

                END CASE
                  I̲N̲S̲P̲E̲C̲T̲ ̲C̲O̲L̲Q̲ ̲Q̲E̲L̲ ̲(̲4̲.̲2̲.̲5̲.̲4̲.̲2̲-̲4̲)
                  UMAM ̲COLQ.SUBQUEUE = U ̲MAINQ

                CASE INIT ̲RECEIVE ̲FIRST ̲QEL(WAIT,UMAM
 ̲COLQ,
                            UMAM ̲ATTR, COLREF)(SYS
 ̲COLREF,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̲0̲)̲

END CASE

                Fig. 4.2.5.4.2-2


   INSPECT ̲CMD ̲QEL

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


     SSC ̲CMD?  CASE UMAM ̲ATTR.SUBTYPE OF SSC ̲COMMAND
 ̲SUBTYPE

                  CLOSE ̲DOWN? C̲L̲O̲S̲E̲ ̲D̲O̲W̲N̲ ̲A̲C̲T̲I̲O̲N̲ ̲(̲4̲.̲2̲.̲5̲.̲4̲.̲2̲.̲3̲.̲4̲)̲

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

               END CASE


     TIMEOUT?    T̲I̲M̲E̲ ̲O̲U̲T̲ ̲A̲C̲T̲I̲O̲N̲ ̲(̲4̲.̲2̲.̲5̲.̲4̲.̲2̲.̲3̲.̲3̲)

     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













                Fig. 4.2.5.4.2-3


INSPECT ̲COLQ ̲QEL

   CASE  SUBQ OF UMAM ̲SUBQUEUE 

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

     U ̲PREPQ?        P̲R̲E̲P̲ ̲A̲C̲T̲I̲O̲N̲ ̲(̲4̲.̲2̲.̲5̲.̲4̲.̲4̲)̲

     U ̲VDU ̲PAGEQ?    V̲D̲U̲ ̲P̲A̲G̲E̲ ̲S̲T̲O̲R̲A̲G̲E̲ ̲(̲4̲.̲2̲.̲5̲.̲4̲.̲5̲)̲

     U ̲STATUS ̲REQQ?  S̲T̲A̲T̲U̲S̲ ̲R̲E̲Q̲ ̲(̲4̲.̲2̲.̲5̲.̲4̲.̲6̲)̲

     U ̲DELIVERYQ?                    D̲E̲L̲I̲V̲E̲R̲Y̲ ̲S̲T̲A̲ ̲(̲4̲.̲2̲.̲5̲.̲4̲.̲7̲)̲

         U ̲APPENDQ?                  A̲P̲P̲E̲N̲D̲ ̲A̲C̲T̲I̲O̲N̲ ̲(̲4̲.̲2̲.̲5̲.̲4̲.̲8̲)̲

     OTHERWISE?      U̲I̲N̲T̲ ̲E̲R̲R̲O̲R̲ ̲(̲G̲I̲V̲E̲ ̲U̲P̲)̲(̲4̲.̲2̲.̲5̲.̲6̲.̲3̲0̲)̲

 END CASE












                                   Fig. 4.2.5.4.2-4


4.2.5.4.3    R̲E̲Q̲U̲E̲S̲T̲ ̲Q̲U̲E̲U̲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)  REQUEST ̲ACTION 

                 b)  REQUEST ̲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.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̲o̲f̲i̲l̲e̲

             Two profiles are compared and the result tells
             whether the User-Profile is contained in the profile
             of the CIF referenced by CREATE ̲QEL or not. The
             User-Profile is contained if and only if:

             -   The security classification of User-Profile
                 is higher than or equal to the security classification
                 of the CIF.

             -   If any of the bits 3-24 are set in the CIF-Profile
                 it is also set in the User-Profile.

         b)  C̲h̲e̲c̲k̲ ̲M̲s̲g̲ ̲T̲y̲p̲e̲

             This procedure checks whether the EDIT ̲REQUEST
             ̲TYPE correspond to the MAINTYPE of the CIF, which
             is to be subject for editing.

         c)  S̲e̲n̲d̲ ̲C̲o̲m̲p̲l̲e̲t̲i̲o̲n̲ ̲R̲e̲p̲o̲r̲t̲

             Sends a completion report to the queue referenced
             by QEL1. The report will contain information about
             the Supervisor command which has been performed.

         d)  C̲h̲e̲c̲k̲ ̲S̲t̲a̲t̲u̲s̲

             The procedure checks whether the CIF locked-up
             is available for editing or not. The procedure
             will use the OKAY-exit if editing is allowed.

         e)  S̲e̲a̲r̲c̲h̲ ̲Q̲u̲e̲u̲e̲s̲

             The required file is read and placed in BIG ̲BUF.
             Status of messages prepared at the referenced terminal
             will be set to DELETED.
             If the LTD is equal NULL then the status of the
             referenced CIF will be set to DELETED.
             The status record will be removed from the Preparation
             File and inserted in the Intermediate File.

         f)  C̲a̲n̲c̲e̲l̲ ̲R̲e̲l̲ ̲Q̲

             This procedure scans the prep file or the expand
             file for items with status equal to SENT ̲RELS,
             and changes status to DEFERRED ̲RELEASE.



         g)  C̲a̲n̲c̲e̲l̲ ̲S̲i̲n̲g̲l̲e̲ ̲R̲e̲l̲ ̲Q̲

             This procedure scans the prep file or the expand
             file for items prepared with a certain CIF ̲ID and
             changes status to DEFERRED ̲RELEASE. If an item
             is found in the PREP ̲AREA the procedure is exited.

         h)  C̲a̲n̲c̲e̲l̲ ̲Q̲u̲e̲u̲e̲s̲

             This procedure inspects the subtype of the QEL1
             and calls appropriate procedures.

         i)  C̲a̲l̲c̲u̲l̲a̲t̲e̲ ̲Q̲l̲e̲n̲g̲t̲h̲

             The number of messages under preparation for each
             terminal is counted. The result is delivered to
             the requestor in the buffer or qel received.



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̲

             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 ̲VIEW ̲ATTR (m)
             BIG ̲BUF (m)
             UMAM ̲PARAMS (m)
             LITTLE ̲BUF (m)
             FILE ̲DIR ̲ACB
             BIG ̲BUF ̲CONTENTS
             UMAM ̲CMDQ (m)
             PREP ̲FILE ̲LENGTH ̲W
             UMAM ̲COLQ
             SEND ̲PARAMS
             UMAM ̲ATTR (m)
             QEL1 (m)
             CREATE ̲QEL

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

             VAR PREP ̲FILE:              P ̲FILE ̲TYPE;
                 PREP ̲REC:               POINTER;
                 INTA ̲REC:               POINTER;

             TYPE
                 PREP ̲LENGTH = ARRAY (1..NO ̲OF ̲VDUS) OF BYTE

             CONST
                 PREP ̲BUF ̲OFFSET = 1

                 SPH ̲WITH = 9
                 CLASS ̲WITH = 3
                 CLASS ̲MASK = 7
             VAR
                 SAVER 0,
                 SAVER 1,
                 SAVER 2,
                 SAVER 3,
                 SAVER 4,
                 SAVER 5,
                 SAVER 6: INTEGER



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 active. If the CIF is found
         it is checked whether it is available for editing or
         not. If the requested data cannot be found then a response
         message is returned to the requestor.



REQUEST ̲ACTION

RECV ̲NEXT LOOP

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

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

   UMAM ̲COLQ.SUBQUEUE = U ̲REQUESTQ

   CASE RECEIVE ̲FIRST ̲QEL(WAIT=FALSE, UMAM ̲COLQ, UMAM
   ̲ATTR)
                        (UMAM ̲ATTR,QEL1,SUBQ,CC):ERROR
 ̲OK

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

                   LA1?       EXIT RECV ̲NEXT LOOP

                END CASE

     OK?        
                

   END CASE


END RECV ̲NEXT LOOP

















               FIGURE 4.2.5.4.3-1


   REQUEST ̲INSPECTION

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

         TEP ̲INTERNAL?


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

                 EDIT ̲REQUEST?

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

                                                                       E
                                                                       ̲VDU
                                                                       ̲PAGE
                                                                       ̲PREP?
                                                                       L̲O̲O̲K̲U̲P̲
                                                                       ̲D̲I̲S̲P̲L̲A̲Y̲
                                                                       ̲(̲-̲3̲)̲
                                                                       E
                                                                       ̲VDU
                                                                       ̲PAGE
                                                                       ̲CONT,
                                                                       E
                                                                       ̲ABB
                                                                       ̲PLAIN
                                                                       ̲SVC,
                                                                       E
                                                                       ̲ABB
                                                                       ̲SVC,
                                                                       E
                                                                       ̲PLAIN
                                                                       ̲SVC,
                                                                       E
                                                                       ̲SC
                                                                       ̲COMMENT,
                                                                       E
                                                                       ̲COMMENT,
                                                                       E
                                                                       ̲MESSAGE
                                                                       -
                                                                       
                                                                       L̲O̲O̲K̲U̲P̲
                                                                       ̲C̲I̲F̲
                                                                       ̲(̲-̲4̲)̲

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

                     END CASE

                 DELETE ̲REQUEST? - U̲M̲A̲M̲ ̲D̲E̲L̲E̲T̲I̲O̲N̲ ̲(̲4̲.̲2̲.̲5̲.̲4̲.̲1̲4̲)̲

                 VDU ̲PAGE ̲RETRIEVAL ̲REQUEST? - V̲D̲U̲
                 ̲P̲A̲G̲E̲ ̲R̲E̲Q̲U̲E̲S̲T̲(̲-̲7̲)̲

                 QUEUE ̲LENGTH ̲REQUEST? - C̲A̲L̲C̲U̲L̲A̲T̲E̲
                 ̲Q̲ ̲L̲E̲N̲G̲T̲H̲ ̲(̲4̲.̲2̲.̲5̲.̲4̲.̲3̲.̲3̲.̲9̲)

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

             END CASE

         SUPERVISOR ̲UMAM ̲COMMAND? - C̲A̲N̲C̲E̲L̲ ̲Q̲U̲E̲U̲E̲S̲ ̲(̲4̲.̲2̲.̲5̲.̲4̲.̲3̲.̲3̲.̲8̲)

         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.3-2


   LOOKUP ̲DISPLAY

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

         ERROR? -    S̲E̲N̲D̲ ̲R̲E̲S̲P̲ ̲(̲E̲D̲I̲T̲ ̲R̲E̲S̲P̲,̲ ̲E̲ ̲N̲O̲T̲ ̲F̲O̲U̲N̲D̲)̲(̲4̲.̲2̲.̲5̲.̲6̲.̲4̲)̲

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

                 OK? -                                                 CASE
                                                                       C̲H̲E̲C̲K̲
                                                                       ̲P̲R̲O̲F̲I̲L̲E̲(̲A̲C̲C̲
                                                                       ̲P̲R̲O̲F̲I̲L̲E̲)̲
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       (̲4̲.̲2̲.̲5̲.̲4̲.̲3̲.̲3̲-̲1̲)̲:̲
                                                                       ̲E̲R̲R̲O̲R̲
                                                                       ̲O̲K̲

                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       ERROR?
                                                                       -
                                                                       S̲E̲N̲D̲
                                                                       ̲R̲E̲S̲P̲(̲E̲D̲I̲T̲
                                                                       ̲R̲E̲S̲P̲,̲E̲
                                                                       ̲S̲E̲C̲
                                                                       ̲
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       P̲R̲O̲F̲I̲L̲E̲)̲(̲4̲.̲2̲.̲5̲.̲6̲.̲4̲)̲

                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       OK?
                                                                       -
                                                                       
                                                                       
                                                                       S̲E̲N̲D̲
                                                                       ̲I̲T̲E̲M̲(̲S̲C̲
                                                                       ̲V̲D̲U̲
                                                                       ̲P̲A̲G̲E̲,̲
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       F̲O̲R̲
                                                                       ̲C̲O̲N̲T̲I̲N̲U̲E̲D̲
                                                                       ̲P̲R̲E̲P̲)̲(̲4̲.̲2̲.̲5̲.̲6̲.̲3̲)̲


                                                                       END
                                                                       CASE

                                                                       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



   END CASE
















               FIGURE 4.2.5.4.3-3


   LOOKUP ̲CIF

   EQUIVALENCE(UMAM ̲ATTR.HEADER.INF, PARAM: EDIT ̲PARAMETERS)

   CASE L̲O̲O̲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̲)̲

                 (̲P̲R̲E̲P̲ ̲R̲E̲C̲)̲(̲4̲.̲2̲.̲5̲.̲6̲.̲2̲1̲)̲:̲ ̲E̲R̲R̲O̲R̲ ̲O̲K̲

         ERROR?  S̲E̲N̲D̲ ̲R̲E̲S̲P̲(̲E̲D̲I̲T̲ ̲R̲E̲S̲P̲,̲ ̲E̲ ̲N̲O̲T̲ ̲F̲O̲U̲N̲D̲)̲(̲4̲.̲2̲.̲5̲.̲6̲.̲4̲)̲

         OK?     CASE C̲H̲E̲C̲K̲ ̲M̲S̲G̲ ̲T̲Y̲P̲E̲(̲P̲R̲E̲P̲ ̲R̲E̲C̲)̲ ̲(̲4̲.̲2̲.̲5̲.̲4̲.̲3̲.̲3̲-̲2̲)̲:̲E̲R̲R̲O̲R̲
                 ̲O̲K̲

                     ERROR? -  S̲E̲N̲D̲ ̲R̲E̲S̲P̲(̲E̲D̲I̲T̲ ̲R̲E̲S̲P̲,̲
                     ̲E̲ ̲I̲L̲L̲ ̲R̲E̲Q̲U̲E̲S̲T̲ ̲T̲Y̲P̲E̲)̲
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       (̲4̲.̲2̲.̲5̲.̲6̲.̲4̲)̲

                     OK?                                               
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       C̲H̲E̲C̲K̲
                                                                       ̲I̲T̲E̲M̲
                                                                       ̲(̲4̲.̲2̲.̲5̲.̲4̲.̲3̲-̲5̲)̲

                 END CASE


   END CASE 


























               FIGURE 4.2.5.4.3-4


   CHECK ̲ITEM


   CASE C̲H̲E̲C̲K̲ ̲S̲T̲A̲T̲U̲S̲(̲P̲R̲E̲P̲ ̲R̲E̲C̲)̲(̲S̲A̲V̲E̲ ̲A̲N̲S̲)̲:̲ ̲E̲R̲R̲O̲R̲ ̲O̲K̲
   ̲(̲4̲.̲2̲.̲5̲.̲4̲.̲3̲.̲3̲.̲4̲)

         ERROR? -    S̲E̲N̲D̲ ̲R̲E̲S̲P̲(̲E̲D̲I̲T̲ ̲R̲E̲S̲P̲,̲ ̲S̲A̲V̲E̲ ̲A̲N̲S̲)̲(̲4̲.̲2̲.̲5̲.̲6̲.̲4̲)̲

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

                              C̲H̲A̲N̲G̲E̲ ̲S̲T̲A̲T̲U̲S̲ ̲T̲O̲ ̲D̲E̲L̲E̲T̲E̲D̲
                     ̲(̲-̲6̲)̲

                     OK?    - CASE C̲H̲E̲C̲K̲ ̲P̲R̲O̲F̲I̲L̲E̲(̲P̲A̲R̲A̲M̲.̲A̲C̲C̲)̲:̲E̲R̲R̲O̲R̲
                     ̲O̲K̲

                                                  
                                               ERROR?
                                               - S̲E̲N̲D̲
                                               ̲R̲E̲S̲P̲(̲E̲D̲I̲T̲
                                               ̲R̲E̲S̲P̲,̲
                                               ̲E̲ ̲SEC
                                                                              
                                                                              
                                                                              
                                                                              
                                                                              
                                                                              
                                                                              
                                                                              
                                                                              
                                                                              
                                                                              
                                                                              
                                                                              
                                                                              P̲R̲O̲F̲I̲L̲E̲)̲(̲4̲.̲2̲.̲5̲.̲6̲.̲4̲)̲

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

                                                  
                                               OK?
                                                  -
                                               2.nd
                                               COOR?
                                               SET
                                               SAVE
                                               ̲ANS
                                               (BIT
                                               ̲14)
                                                  
                                                  
                                                  
                                                2.nd
                                               RELS?
                                               SET
                                               SAVE
                                               ̲ANS
                                               (BIT
                                               ̲15)
                                                  
                                                  
                                                  
                                                S̲E̲N̲D̲
                                               ̲I̲T̲E̲M̲(̲S̲A̲V̲E̲
                                               ̲A̲N̲S̲,̲P̲R̲E̲P̲
                                               ̲R̲E̲C̲.̲M̲A̲I̲N̲,̲
                                                  
                                                  
                                                  
                                                F̲O̲R̲
                                               ̲C̲O̲N̲T̲
                                               ̲P̲R̲E̲P̲)̲
                                               ̲(̲4̲.̲2̲.̲5̲.̲6̲.̲3̲)̲

                         END CASE



                 END CASE


   END CASE











               FIGURE 4.2.5.4.3-5


   CHANGE ̲STATUS ̲TO ̲DELETED


   STATUS ̲REC.STATUS = S ̲DELETED

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

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

   P̲R̲E̲P̲ ̲R̲E̲C̲ ̲S̲T̲A̲T̲U̲S̲ ̲=̲ ̲S̲ ̲D̲U̲M̲M̲Y̲

   BIG ̲BUF CONTENTS = EXPAND ?      S̲T̲O̲R̲E̲ ̲E̲X̲P̲A̲N̲D̲ ̲(̲4̲.̲2̲.̲5̲.̲6̲.̲2̲4̲)

   S̲T̲O̲R̲E̲ ̲P̲R̲E̲P̲ ̲(̲4̲.̲2̲.̲5̲.̲6̲.̲8̲)





























               FIGURE 4.2.5.4.3-6


   VDU ̲PAGE ̲REQUEST

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

         ERROR? -    S̲E̲N̲D̲ ̲R̲E̲S̲P̲ ̲(̲E̲D̲I̲T̲ ̲R̲E̲S̲P̲,̲ ̲E̲ ̲N̲O̲T̲ ̲F̲O̲U̲N̲D̲)̲(̲4̲.̲2̲.̲5̲.̲6̲.̲4̲)̲

         OK? CASE L̲O̲O̲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? - S̲E̲N̲D̲ ̲R̲E̲S̲P̲(̲R̲E̲T̲R̲ ̲R̲E̲S̲P̲,̲ ̲R̲ ̲N̲O̲T̲
                 ̲F̲O̲U̲N̲D̲)̲(̲4̲.̲2̲.̲5̲.̲6̲.̲4̲)̲

                 OK? - CASE C̲H̲E̲C̲K̲ ̲P̲R̲O̲F̲I̲L̲E̲(̲A̲C̲C̲ ̲P̲R̲O̲F̲I̲L̲E̲)̲
                              (̲4̲.̲2̲.̲5̲.̲4̲.̲3̲.̲3̲.̲1̲)̲:̲ ̲E̲R̲R̲O̲R̲
                     ̲O̲K̲

                           ERROR? - S̲E̲N̲D̲ ̲R̲E̲S̲P̲(̲R̲E̲T̲R̲
                     ̲R̲E̲S̲P̲,̲R̲ ̲S̲E̲C̲ ̲
                                      P̲R̲O̲F̲I̲L̲E̲)̲(̲4̲.̲2̲.̲5̲.̲6̲.̲4̲)̲

                           OK? -   S̲E̲N̲D̲ ̲I̲T̲E̲M̲(̲S̲C̲ ̲V̲D̲U̲
                     ̲P̲A̲G̲E̲,̲
                                     F̲O̲R̲ ̲C̲O̲N̲T̲I̲N̲U̲E̲D̲
                     ̲P̲R̲E̲P̲)̲(̲4̲.̲2̲.̲5̲.̲6̲.̲3̲)̲


                       END CASE

                       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



   END CASE
















               FIGURE 4.2.5.4.3-7