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

⟦486c3f2d3⟧ Wang Wps File

    Length: 50029 (0xc36d)
    Types: Wang Wps File
    Notes: CPS/SDS/039               
    Names: »4859A «

Derivation

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

WangText



<…06…(…00…(
(…06…'…08…'…0a…'…0c…'…0e…'…01…'…05…'…07…&…09…&…0c…&…0e…&
&…06…%…08…%…0b…%…0e…%…00…%
%…06…$…08…$…0b…$…00…$…02…$…06…$…07…#…09…#…0d…#…0f…#…01…# #…06…"…09…"…0b…"…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.5.6.10   S̲T̲O̲R̲E̲ ̲I̲N̲T̲ ̲A̲R̲E̲A̲



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

         The purpose of this procedure is to write the contents
         of the intermediate-buffer (INTA), which is placed
         in variable BIG ̲BUF onto file COLLECT ̲AREA.



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

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

         a)  STORE ̲INT ̲AREA

         b)  STORE ̲INT ̲AREA (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.6.10.3 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̲

             BUFFER ̲LIST ̲ELEMENT
             FILE ̲ADDRESS
             FDCB ̲INDEX
             STATUS ̲FILE ̲NAMES

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

             INT ̲CHANGES (m)
             BIG ̲BUF
             UMAM ̲FDCB
             UMAM ̲BLE (m)
             UMAM ̲FILE ̲ADDR (m)
             CURRENT ̲INTA ̲NO
             INTA ̲LENGTH ̲B
             PREP ̲FILE ̲LENGTH ̲B

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

             VAR
                 SAVELINK : INTEGER
                 MULT : LONG



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

             Refer figure 4.2.5.6.10-1



















STORE ̲INT ̲AREA


         BUFFER ̲ADDRESS = BIG ̲BUFFER(PREP ̲FILE ̲LENGTH
         ̲W + 1)

         BUFFER ̲SIZE = INTA ̲LENGTH ̲B

         UMAM ̲FILE ̲ADDR.FIRST ̲BYTE = (CURRENT ̲INTA
         ̲NO-1) * INTA ̲LENGTH ̲B

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

         UMAM ̲BLE.ADDRESS = BUFFER ̲ADDRESS

         UMAM ̲BLE.BYTE ̲SIZE = BUFFER ̲SIZE

         FILE ̲ID = UMAM ̲FDCB (COLLECT ̲AREA)

         CASE MODIFYBYTES(FILE ̲ID,UMAM ̲FILE ̲ADDR,UMAM
         ̲BLE)
                    (UMAM ̲FILE ̲ADDR, CC) ERROR ̲OK

            ERROR?       ANALYZE ̲ERROR(CC, 0)

            OK?          INT ̲CHANGES = 0


         END CASE

















                 Fig. 4.2.5.6.10


4.2.5.6.11 U̲Q̲ ̲E̲R̲R̲O̲R̲



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

         The purpose of this module is to report queue errors
         to the SSC. The referenced QEL will be set to NIL.



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

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

         a)  UQ ̲ERROR (USER ̲ACTION:  USER ̲ACTION ̲TYPE,
                       QEL:          QEL ̲REFERENCE ̲TYPE)

         b)  UQ ̲ERROR (R1, R3, R6)

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

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

         R1      USER ACTION             (DEST)
         R3      pointer to QEL          (DEST)
         R6      LINK                    (DEST)

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

         None

         R0-R7                           (DEST)






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

             USER ̲ACTION ̲TYPE
             QEL ̲REFERENCE
             GARBLE ̲PARAMS

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

             INT ̲ERROR  (m)

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

             VAR SAVER6 : INTEGER



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

         Data are moved to the INT ̲ERROR and reported to the
         SSC.






         UQ ̲ERROR

         INT ̲ERROR.USER ̲ACTION = USER ̲ACTION

         INT ̲ERROR.ERROR ̲TYPE = QERROR

         QEL ̲REFERENCE = NIL

             CASE QMON ̲SEND ̲GARBLE.ADDR(INT ̲ERROR),QEL)
                ERROR ̲OK

                ERROR?  ANALYZE ̲ERROR (CC,0)

                OK?

             END CASE






                   FIGURE 4.2.5.6.11-1






4.2.5.6.12   I̲N̲P̲U̲T̲ ̲P̲R̲E̲P̲



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

         This procedure reads the contents of the Preparation-
         File into the Preparation buffer (BIG ̲BUF).



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

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

         a)  INPUT ̲PREP

         b)  INPUT ̲PREP(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.6.12.3 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̲

             FILE ̲ADDRESS
             FDCB ̲INDEX
             BUFFER ̲LIST ̲ELEMENT
             STATUS ̲FILE ̲NAMES

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

             BIG ̲BUF  (m)
             UMAM ̲FDCB
             UMAM ̲BLE (m)
             UMAM ̲FILE ̲ADDR (m)
             BIG ̲BUF ̲CONTENTS (m)
             PREP ̲FILE ̲LENGTH ̲B

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

             VAR
                 SAVER6 : INTEGER



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

             Refer figure 4.2.5.6.12-1




  INPUT ̲PREP

  BIG ̲BUF ̲CONTENTS EQ PREP?

         BUFFER ̲ADDRESS = BIG ̲BUFFER(1)

         BUFFER ̲SIZE = PREP ̲FILE ̲LENGTH ̲B

         UMAM ̲FILE ̲ADDR.FIRST ̲BYTE = 0

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

         UMAM ̲BLE.ADDRESS = BUFFER ̲ADDRESS

         UMAM ̲BLE.BYTE ̲SIZE = BUFFER ̲SIZE

         FILE ̲ID = UMAM ̲FDCB (PREPARATION ̲AREA)

         CASE READ ̲BYTES (FILE ̲ID, UMAM ̲FILE ̲ADDR,
         UMAM ̲BLE)
                    (UMAM ̲FILE ̲ADDR, CC):  ERROR ̲OK


            ERROR?     ANALYZE ̲ERROR(CC, 0)

            OK?  BIG ̲BUF ̲CONTENTS = PREP

         END CASE


















                Fig. 4.2.5.6.12-1



4.2.5.6.13   L̲O̲O̲K̲U̲P̲ ̲P̲A̲S̲S̲I̲V̲E̲ ̲C̲I̲F̲



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

             The purpose of this module is to change
             the state of a CIF from passive to active.
             CREATE ̲QEL will be updated with the QEL-reference.



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

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

             a)  LOOKUP ̲PASSIVE ̲CIF (NAME: VIEW ̲NAME
                 ̲TYPE)
                                    (CREATE ̲QEL: QEL
                 ̲REFERENCE)
                                                  
                  :ERROR ̲OK

             b)  LOOKUP ̲PASSIVE ̲CIF (R1, R2, R6): ERROR
                 ̲OK

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

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

             R1      pointer to NAME       (DEST)
             R6      LINK                  (DEST)

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

             R2      CREATE ̲QEL
             R0-R1                         (DEST)
             R3-R7                         (DEST)





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

                 VIEW ̲ATTRIBUTES
                 VIEW ̲NAME ̲TYPE
                 QEL ̲REFERENCE

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

                 UMAM ̲COLQ
                 UMAM ̲VIEW ATTR
                 CREATE ̲QEL  (m)

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

                 CONST
                     SUB1 = 1
                 VAR
                     SAVELINK : INTEGER



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

                 Refer figure 4.2.5.6.13-1
























         LOOKUP ̲PASSIVE ̲CIF



         UMAM ̲CIF ̲ATTR = NAME

         CASE LOOKUP(UMAM ̲CIF ̲ATTR,UMAM ̲COLQ)(CREATE
         ̲QEL,CC):  ERROR ̲OK


             ERROR?  CASE ANALYZE ̲ERROR(CC, 2,

                         UNKNOWN ̲VIEW ̲NAME, NO ̲MATCHING
             LOCK):(LA1,LA2)

                   LA1?

                   LA2?                                                RETURN
                                                                       (ERROR)


                END CASE

             OK?     RETURN (OK)


         END CASE














                Fig. 4.2.5.6.13-1


4.2.5.6.14   S̲T̲O̲R̲E̲ ̲S̲O̲R̲T̲E̲D̲ ̲D̲A̲T̲A̲



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

             This procedure writes status records onto a CIF,
             which is refered by register r2.

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

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

         a)  STORE ̲SORTED ̲DATA (CREATE QEL: QEL ̲REFERENCE)

         b)  STORE ̲SORTED ̲DATA (R2, R6)

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

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

         R2      CREATE ̲QEL                   (DEST)
         R6      LINK                         (DEST)

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

         None

         R0-R7                                (DEST)



4.2.5.6.14.3 D̲a̲t̲a̲ ̲D̲e̲f̲i̲n̲i̲t̲i̲o̲n̲

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

             OUTG ̲STA ̲ADM
             FIELD ̲LIST ̲TYPE
             QEL ̲REFERENCE










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

             STA ̲CIF ̲FIELD ̲LIST
             STATUS ̲INFO
             UCIF ̲LIST (m)
             CREATE ̲QEL
             LITTLE ̲BUF

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

             VAR
                 SAVER6 : INTEGER



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

             Refer figure 4.2.5.6.14-1

































  STORE ̲SORTED ̲DATA

  STATUS ̲INFO.SUBTYPE NE OUTGOING ̲MSG ̲STATUS?

  STATUS ̲INFO.SUBTYPE NE OUTGOING ̲MSG ̲MIDNIGHT ̲STATUS?

  ADDR = ADDR (LITTLE ̲BUF)

  ADDR.OUTG ̲STA ̲ADM.NO ̲MSG ̲PREPARED =

  ADDR.OUTG ̲STA ̲ADM.NO ̲REL + ADDR.OUTG ̲STA ̲ADM.NO ̲SENT
  ̲REL +

  ADDR.OUTG ̲STA ̲ADM.NO ̲SENT ̲COOR + ADDR.OUTG ̲STA ̲ADM.NO
  ̲MSG ̲SUSP +

  ADDR.OUTG ̲STA ̲ADM.NO ̲AWAIT ̲APPEND + ADDR.OUTG ̲STA ̲ADM.NO
  ̲MSG ̲REJ ̲REL+

  ADDR.OUTG ̲STA ̲ADM.NO ̲MSG ̲DEF ̲REL.

  ADDR.OUTG ̲STA ̲ADM.NO ̲COM ̲PREPARED = ADDR.OUT ̲STA ̲ADM.NO
  ̲COM ̲SENT

  STA ̲CIF ̲FIELD ̲LIST.ELEMENT(1).RECORD ̲LENGTH = SIZE(OUTG
  ̲STA ̲ADM)*2

  CASE    WRITE ̲VIEW(SIZE(LITTLE ̲BUF),ADDRESS(STA ̲CIF
          ̲FIELD ̲LIST,
                                              CREATE
                                              ̲DEL, ADDRESS
                                              (LITTLE
                                              ̲BUF)(CC)):
                                              ERROR ̲OK

      ERROR?      ANALYZE ̲ERROR (CC,0)

  END CASE

  STA ̲CIF ̲FIELD ̲LIST.ELEMENTS(2..8).RECORD ̲LENGTH = 0
  

  STA ̲CIF ̲FIELD ̲LIST.ELEMENTS(1).FIELD ̲BYTE ̲ADDRESS =
  0

  STATUS ̲INFO.LITTLE ̲BUF ̲PTR = ADDRESS(LITTLE ̲BUF) +
  SIZE(OUTG ̲STA ̲ADM)

  END STORE ̲SORTED ̲DATA.






                FIGURE 4.2.5.6.14-1




4.2.5.6.15   C̲O̲N̲V̲E̲R̲T̲/̲S̲T̲O̲R̲E̲ ̲L̲T̲D̲



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

         The LTD is looked up in the Terminal/Device profile
         and converted to ASCII.

         The result is moved to the status administration field.



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

         C̲a̲l̲l̲ ̲C̲o̲n̲v̲e̲r̲t̲i̲o̲n̲

         a)  CONVERT ̲STORE ̲LTD

         b)  CONVERT ̲STORE ̲LTD (R6)

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

         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.6.15.3 D̲a̲t̲a̲ ̲D̲e̲f̲i̲n̲i̲t̲i̲o̲n̲

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

             USER ̲ACTION
             TABLE ̲TYPE
             DEVICE ̲PROFILE ̲TYPE
             TERMINAL ̲PROFILE ̲TYPE
             NO ̲OF ̲VDUS

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

             LITTLE ̲BUF (m)
             STATUS-̲INFO



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

        VAR
            SAVER6 : INTEGER

            LTD ̲PARAM : TMP ̲PARAM

        CONST
            PROF ̲MASK   =  BIT ̲1
            TD ̲COUNT    =      1

        INIT
            LTD ̲PARAM.COUNT          =  TD ̲COUNT
            LTD ̲PARAM.BUFFER2 ̲LENGTH =  SIZE(DESIGNATOR
                                        ̲TYPE)
            LTD ̲PARAM.MASK           =  PROF ̲MASK
            LTD ̲PARAM.FUNCTION       =  SEARCH ̲PRIMARY
                                        ̲KEY
            LTD ̲PARAM.BUFFER1        =  ADDRESS(PROFILE
                                        ̲KEY ̲LIST)



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

        Refer figure 4.2.5.6.15-1




         CONVERT/STORE ̲LTD

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

         LTD = STATUS ̲INFO.LTD

         LTD GT NO ̲OF ̲VDUS?                       
         LTD = LTD ̲NO ̲OF ̲VDUs

         TAB = TERMINAL ̲PROFILE                   
         TAB = DEVICE ̲PROFILE

         DES = STA ̲ADM.LTD                        
         DES = STA ̲ADM.LDD

         LTD ̲PARAM.BUFFER 2 = DES

         PROFILE ̲KEY ̲LIST.LINK = NIL

         PROFILE ̲KEY ̲LIST.INFO = NULL

         PROFILE ̲KEY ̲LIST.KEY = LTD

         LTD ̲PARAM.TABLE = TAB

         CASE TMP ̲REQUEST (LTD ̲PARAM) : ERROR ̲OK

             ERROR?  ANALYZE ̲ERROR(CC,0)

             OK?

         END CASE

         PROFILE ̲KEY ̲LIST.INFO EQ 0?     U̲I̲N̲T̲ ̲E̲R̲R̲O̲R̲
         ̲(̲C̲O̲N̲T̲)̲(̲4̲.̲2̲.̲5̲.̲6̲.̲3̲0̲)

         STA ̲ADM.LTD = '??????'














                Fig. 4.2.5.6.15-1





4.2.5.6.16 I̲N̲P̲U̲T̲ ̲D̲I̲R̲



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

         This procedure reads the File Directory which is specified
         by the caller. If the contents of FILE ̲DIR is identical
         to the required directory then the procedure will return
         immediate.



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

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

         a)  INPUT ̲DIR (REQUIRED ̲DIR:DIR ̲TYPE)

         b)  INPUT ̲DIR (R1, 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̲

             R1  REQUIRED ̲DIR                  (DEST)
             R6  LINK                          (DEST)

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

         None

         R0 - R7                               (DEST)





4.2.5.6.16.3 D̲a̲t̲a̲ ̲D̲e̲f̲i̲n̲i̲t̲i̲o̲n̲

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

             FILE ̲ADDRESS
             FDCB ̲INDEX
             BUFFER ̲LIST ̲ELEMENT
             STATUS ̲FILE ̲NAMES
             DIR ̲TYPE

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

             UMAM ̲FDCB
             UMAM ̲BLE (m)
             UMAM ̲FILE ̲ADDR
             FILE ̲DIR
             CURRENT ̲DIR
             UMAM ̲DIR ̲LENGTH ̲B

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

             VAR
                 SAVER6 : INTEGER



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

         Refer figure 4.2.5.6.16-1



   INPUT ̲DIR


   REQUIRED ̲DIR EQ CURRENT ̲DIR?

   CASE REQUIRED ̲DIR OF DIR ̲TYPE

         OLD ̲DIR? - FILE ̲ID = UMAM ̲FDCB(UMAM ̲OLD ̲ACCOUNT)

                  CURRENT ̲DIR = OLD ̲DIR

         NEW ̲DIR? - FILE ̲ID = UMAM ̲FDCB(UMAM ̲ACCOUNT)

                  CURRENT ̲DIR = NEW ̲DIR

   END CASE

   UMAM ̲FILE ̲ADDR.FIRST ̲BYTE = 0

   UMAM ̲FILE ̲ADDR.BYTE ̲COUNT = UMAM ̲DIR ̲LENGTH ̲B

   UMAM ̲BLE.ADDRESS = FILE ̲DIR

   UMAM ̲BLE.BYTE ̲SIZE = UMAM ̲DIR ̲LENGTH ̲B

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

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

         ERROR? - ANALYZE ̲ERROR(CC, O)

         OK?

   END CASE






               Figure 4.2.5.6.16-1



4.2.5.6.17 I̲N̲T̲E̲N̲T̲I̲O̲N̲A̲L̲L̲Y̲ ̲L̲E̲F̲T̲ ̲B̲L̲A̲N̲K̲



4.2.5.6.18 S̲T̲O̲R̲E̲ ̲D̲I̲R̲



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

         This procedure stores the File Directory which is specified
         by the caller.



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

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

         a) STORE ̲DIR (REQUIRED ̲DIR: DIR ̲TYPE)

         b) STORE ̲DIR (R7,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)
             R7      REQUIRED ̲DIR              (DEST)

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

         None

         R0 - R7                               (DEST)



4.2.5.6.18.3  D̲a̲t̲a̲ ̲D̲e̲f̲i̲n̲i̲t̲i̲o̲n̲

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

             BUFFER ̲LIST ̲ELEMENT
             FILE ̲ADDRESS
             FDCB ̲INDEX
             STATUS ̲FILE ̲NAMES
             DIR ̲TYPE



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

             UMAM ̲FDCB
             FILE ̲DIR
             UMAM ̲BLE (m)
             UMAM ̲DIR ̲LENGTH ̲B
             UMAM ̲FILE ̲ADDR(m)

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

             VAR
                 SAVER6 : INTEGER



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

             Refer figure 4.2.5.6.18-1






   STORE DIR

   CASE REQUIRED ̲DIR OF DIR ̲TYPE 

         OLD ̲DIR? - FILE ̲ID = UMAM ̲FDCB(UMAM ̲OLD ̲ACCOUNT)

         NEW ̲DIR? - FILE ̲ID = UMAM ̲FDCB(UMAM ̲ACCOUNT)

   END CASE

   UMAM ̲FILE ̲ADDR. FIRST ̲BYTE = O

   UMAM ̲FILE ̲ADDR.BYTE ̲COUNT = UMAM ̲DIR ̲LENGTH ̲B

   UMAM ̲BLE.ADDRESS = FILE ̲DIR

   UMAM ̲BLE.BYTE ̲SIZE = UMAM ̲DIR ̲LENGTH ̲B

   CASE MODIFYBYTES (FILE ̲ID, UMAM ̲FILE ̲ADDR, UMAM
   ̲BLE)

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

         ERROR? ANALYZE ̲ERROR (CC, 0)

         OK?

   END CASE
















               Figure 4.2.5.6.18-1



4.2.5.6.19   I̲N̲T̲ ̲T̲O̲ ̲A̲S̲C̲I̲I̲



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

         INT ̲TO ̲ASCII converts an integer to the corresponding
         ASCII format. Only as many characters as needed are
         converted. Both input and output are specified through
         a pointer and a byte offset. The pointer points the
         first word. If the input/output starts on the WORD-BOUNDARY,
         byte offset should be 0, otherwise it should be 1.
         If byte offset of the source is 1 (across a WORD-BOUNDARY),
         the bytes are extracted as:

                 R1

                 LSB   N/A  N/A  MSB



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

         a)  INT ̲TO ̲ASCII (IN ̲FIELD : POINTER
                           BYTE ̲OFFSET : INTEGER
                           BYTE ̲LENGTH : INTEGER)
                          (OUT ̲FIELD : POINTER
                           BYTE ̲OFFSET : INTEGER)

         b)  INT ̲TO ̲ASCII (R1,R2,R3,R4,R5,R6)

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

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

         R1          POINTER ̲TO ̲IN ̲FIELD    (DEST)
         R2          BYTE ̲OFFSET            (DEST)
         R3          BYTE ̲LENGTH            (DEST)
         R6          LINK                   (DEST)

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

         R4          PTR ̲TO ̲OUT ̲FIELD
         R5          BYTE ̲OFFSET
         R0-R3, R6-R7                      (DEST)





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

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

             None.

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

             None.

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

             TYPE
                 WORK ̲BUFFER = ARRAY(0...5) OF BYTE

             CONST
                 ZERO = 0

             VAR WORK ̲AREA: WORK ̲BUFFER



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

         The number is extracted from the source array, and
         converted into an internal variable. The needed number
         of characters are moved to the specified destination.





4.2.5.6.20   S̲E̲N̲D̲ ̲C̲I̲F̲ ̲T̲O̲ ̲M̲D̲C̲O̲



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

         This procedure sends a nondeliverable CIF to the MDCO.
         The CIF is send with the precedence specified by the
         caller. The precedence must neither be FLASH nor SUPERFLASH
         . The qel-reference is fetched from QEL1, and the attributes
         are fetched from UMAM ̲ATTR.



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

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

         a) SEND ̲CIF ̲TO ̲MDCO (PRECEDENCE : PRECEDENCE ̲TYPE
                              SUB        : MESSAGE ̲SUBTYPE

         b) SEND ̲CIF ̲TO MDCO ( R0, R5, R6)

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

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

         R0      PRECEDENCE
         R5      SUB             (DEST)
         R6      LINK            (̲D̲E̲S̲T̲)̲

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

         None
         R0 - R7                       (DEST)



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

             SEND ̲PARAMS
             VIEW ̲REFERENCE
             QEL ̲ATTRIBUTES
             QELEMENT ̲MAINTYPE
             MESSAGE ̲SUBTYPE



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

             UMAM ̲ATTR
             QEL1
             SEND ̲QUEUE (m)
             MDCO ̲QUEUE

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

             VAR
                 SAVELINK : INTEGER



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

             Refer figure 4.2.5.6.20-1





SEND CIF TO MDCO

   PREC   =  MDCO ̲QUEUE.SUBQUEUE
   SUB    =  UMAM ̲PARAMS.SUBTYPE

   UMAM ̲ATTR.MAINTYPE = UMAM ̲PARAMS.MAINTYPE
   UMAM ̲ATTR.FLAGS = UMAM ̲PARAMS.FLAG

   CASE SEND (UMAM ̲PARAMS, QEL1, MDCO ̲QUEUE)

              (UMAM ̲PARAMS, CC): ERROR ̲OK

         ERROR ?    ANALYZE ̲ERROR (CC, 0), 

         OK?

   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.6.20-1



4.2.5.6.21 L̲O̲O̲K̲U̲P̲ ̲S̲T̲A̲T̲U̲S̲ ̲R̲E̲C̲



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

         Reads the contents of the Preparation File and searches
         the specified record. If not found, then the contents
         of the Expand File is read and searched. If a record
         fulfilling the search criterias is found then the OK-exit
         is used, otherwise the ERROR-exit will be used.



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

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

         a) LOOKUP ̲STATUS ̲REC (LTD          : DESIGNATOR ̲TYPE
                             ITEM ̲REF       : ITEM ̲REF ̲TYPE
                           TIME ̲STAMP       : TIME ̲TYPE
                               WINDOW       : INTEGER)
                             (PREP ̲REC      : PREP ̲REC ̲TYPE)
                                            : ERROR ̲OK

         b)  LOOKUP ̲STATUS ̲REC (RO,R1,R2,R4,R5,R6): ERROR ̲OK

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

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

             R0      LTD                    (DEST)
             R1      ITEM ̲REF               (DEST)
             R2      WINDOW                 (DEST)
             R4      POINTER TO TIME ̲STAMP  (DEST)
             R6      LINK                   (DEST)











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

             R5      pointer to PREP ̲REC
             R0-R4, R6-R7                   (DEST)



4.2.5.6.21.3 D̲a̲t̲a̲ ̲D̲e̲f̲i̲n̲i̲t̲i̲o̲n̲

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

             TIME ̲TYPE
             DESIGNATOR ̲TYPE
             ITEM ̲REF ̲TYPE
             PREP ̲REC ̲TYPE

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

             None

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

             VAR
                 SAVELINK,
                 SAVER0,
                 SAVER1,
                 SAVER2,
                 SAVER4 : INTEGER



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

             Refer figure 4.2.5.6.21-1





   LOOKUP ̲STATUS ̲REC

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

   CASE    S̲E̲A̲R̲C̲H̲ ̲R̲E̲C̲O̲R̲D̲ ̲(̲L̲T̲D̲,̲ ̲I̲T̲E̲M̲ ̲R̲E̲F̲,̲ ̲W̲I̲N̲D̲O̲W̲,̲ ̲T̲I̲M̲E̲
           ̲S̲T̲A̲M̲P̲)
           (P̲R̲E̲P̲ ̲R̲E̲C̲)̲ ̲(̲4̲.̲2̲.̲5̲.̲6̲.̲3̲8̲)

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

               CASE    S̲E̲A̲R̲C̲H̲ ̲R̲E̲C̲O̲R̲D̲ ̲(̲L̲T̲D̲,̲ ̲I̲T̲E̲M̲ ̲R̲E̲F̲,̲ ̲W̲I̲N̲D̲O̲W̲,
                       T̲I̲M̲E̲ ̲S̲T̲A̲M̲P̲)̲ ̲(̲P̲R̲E̲P̲ ̲R̲E̲C̲)̲(̲4̲.̲2̲.̲5̲.̲6̲.̲3̲8̲)

                   ERROR?  EXIT (ERROR)

                   OK?

               END CASE

       OK?

   END CASE

   EXIT (OKAY)

   END LOOKUP ̲STATUS ̲REC


















                FIGURE 4.2.5.6.21-1





4.2.5.6.22   I̲N̲P̲U̲T̲ ̲C̲U̲R̲R̲E̲N̲T̲ ̲I̲N̲T̲




4.2.5.6.22.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 current INTA ̲AREA, which is the latest
             used sector of  file COLLECT ̲AREA, is
             read onto variable INTA, which is within
             variable BIG ̲BUF with offset = PREP ̲FILE
             ̲LENGTH + 1



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

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

             a)  INPUT ̲CURRENT ̲INT

             b)  INPUT ̲CURRENT ̲INT (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.6.22.3 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̲

             STATUS ̲FILE-NAMES
             FILE ̲ADDRESS
             FDCB ̲INDEX
             BUFFER ̲LIST ̲ELEMENT




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

             BIG ̲BUF  (m)
             UMAM ̲FDCB
             UMAM FILE ̲ADDR (m)
             UMAM ̲BLE (m)
             CURRENT ̲INTA ̲NO
             INTA ̲LENGTH
             INTA ̲CONTENTS (m)
             INTA ̲LENGTH ̲B
             PREP ̲FILE ̲LENGTH ̲W

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

             VAR
                 SAVER6  : INTEGER
                 MULT    : LONG



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

             Refer figure 4.2.5.6.22-1






         INPUT ̲CURRENT ̲INT

         INTA ̲CONTENTS EQ INT?

         UMAM ̲FILE ̲ADDR.FIRST ̲BYTE = (CURRENT ̲INTA
         ̲NO - 1)*INTA ̲LENGTH ̲B

         UMAM ̲FILE ̲ADDR.BYTE ̲COUNT = INTA ̲LENGTH ̲B

         UMAM ̲BLE.ADDRESS = BIG ̲BUFFER (PREP ̲FILE ̲LENGTH
         ̲W + 1)

         UMAM ̲BLE.BYTE ̲SIZE = INTA ̲LENGTH ̲B

         FILE ̲ID = UMAM ̲FDCB (COLLECT ̲AREA)

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

            ERROR ?   ANALYZE ̲ERROR  (CC,O)

            OK ?      INTA ̲CONTENTS = INT

         END CASE























               Figure 4.2.5.6.22-1



4.2.5.6.23   I̲N̲P̲U̲T̲ ̲E̲X̲P̲A̲N̲D̲



4.2.5.6.23.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 reads the contents of the Expand-file
         onto the Preparation buffer (BIG ̲BUF).



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

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

         a) INPUT ̲EXPAND

         b) INPUT ̲EXPAND (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.6.23.3 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̲

             BUFFER ̲LIST ̲ELEMENT
             FILE ̲ADDRESS
             FDCB ̲INDEX
             STATUS ̲FILE ̲NAMES

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

             EXPAND ̲FILE ̲LENGTH ̲B
             UMAM ̲FILE ̲ADDR (m)
             UMAM ̲BLE (m)
             UMAM ̲FDCB
             BIG ̲BUF ̲CONTENTS(m)
             BIG ̲BUF (m)

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

             VAR
                 SAVER6 : INTEGER



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

             Refer figure 4.2.5.6.23-1





         INPUT ̲EXPAND

         BIG ̲BUF ̲CONTENTS EQ EXPAND?

         UMAM ̲FILE ̲ADDR.FIRST ̲BYTE = O

         UMAM ̲FILE ̲ADDR.BYTE ̲COUNT = EXPAND ̲FILE ̲LENGTH ̲B

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

         UMAM ̲BLE.BYTE ̲SIZE = EXPAND ̲FILE ̲LENGHT ̲B

         FILE ̲ID = UMAM ̲FDCB(EXPAND ̲AREA)

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

            ERROR ?  ANALYZE ̲EROR (CC, 0)

            OK ?     BIG ̲BUF ̲CONTENTS = EXPAND

         END CASE























                   Figure 4.2.5.6.23-1


4.2.5.6.24   S̲T̲O̲R̲E̲ ̲E̲X̲P̲A̲N̲D̲



4.2.5.6.24.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 procedure is to write the contents
         of BIG ̲BUF (EXPAND ̲AREA) onto the Expand-file.



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

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

         a) STORE ̲EXPAND

         b)  STORE ̲EXPAND (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.6.24.3 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̲

             FILE ̲ADDRESS
             BUFFER ̲LIST ̲ELEMENT
             FDCB ̲INDEX
             STATUS ̲FILE ̲NAMES

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

             UMAM ̲BLE (m)
             UMAM ̲FILE ̲ADDR (m)
             UMAM ̲FDCB 
             BIG ̲BUF
             EXPAND ̲FILE ̲LENGTH ̲B

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

             N̲o̲n̲e̲



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

             Refer figure 4.2.5.6.24-1





         STORE ̲EXPAND

         UMAM ̲FILE ̲ADDR.FIRST ̲BYTE = 0

         UMAM ̲FILE ̲ADDR.BYTE ̲COUNT = EXPAND ̲FILE ̲LENGTH
         ̲B

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

         UMAM ̲BLE.BYTE ̲SIZE = EXPAND ̲FILE ̲LENGTH ̲B

         FILE ̲ID = UMAM ̲FDCB(EXPAND ̲AREA)

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

            ERROR ?  ANALYZE ̲ERROR (CC,O)

            OK ?

         END CASE




























               Figure 4.2.5.6.24-1




4.2.5.6.25   T̲H̲R̲E̲S̲H̲O̲L̲D̲ ̲W̲A̲R̲N̲I̲N̲G̲



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

              A warning report is sent to the Supervisor
             Printer.



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

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

             a)  THRESHOLD-WARNING (THRESHOLD : THRESHOLD
                 ̲TYPE)

             b)  THRESHOLD ̲WARNING (R1, R6)

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

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

                 R1                    THRESHOLD                 (DEST)
                 R6                    LINK                      (DEST)

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

                 None

                 R0 - R7                                         (DEST)



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

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

                 QEL ̲REFERENCE
                 REPORT ̲BUFFER ̲TYPE
                 BUFFER ̲REFERENCE
                 THRESHOLD ̲TYPE

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

                 CREATE ̲QEL (m)
                 UMAM ̲CMDQ



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

                 CONST
                     BUFFER ̲OFFSET = 1
                     REPORT ̲NO = REP ̲PREP ̲DBD ̲THRS
                      = 7 IN CPS ̲REPORT

                 VAR
                     SAVELINK : INTEGER

                     THRES ̲100 ̲DATA
                     THRES ̲90 ̲DATA
                     THRES ̲75 ̲DATA : LONG

                     REPORT ̲BUF : REPORT ̲BUFFER ̲TYPE

                 INIT
                     THRES ̲100 ̲DATA  =  100%
                     THRES ̲90 ̲DATA   =   90%
                     THRES ̲75 ̲DATA   =   75%

                     REPORT ̲BUF.TEXT ̲REF     =  REPORT
                     ̲NO
                     REPORT ̲BUF.REPORT ̲DATA ̲FIELD 
                     =  21 SPACES



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

                 Refer figure 4.2.5.6.25-1




    THRESHOLD ̲WARNING


    CASE     THRESHOLD OF THRESHOLD ̲TYPE

             THRES ̲100 ? THRES ̲100 ̲DATA = REPORT ̲BUF.REPORT
             ̲DATA ̲FIELD

             THRES ̲90 ? THRES ̲90 ̲DATA REPORT ̲BUF.REPORT
             ̲DATA ̲FIELD

             THRES ̲75 ? THRES ̲75 ̲DATA REPORT ̲BUF.REPORT
             ̲DATA ̲FIELD

    END CASE

    G̲E̲T̲ ̲T̲I̲M̲E̲ ̲(̲R̲E̲P̲O̲R̲T̲ ̲B̲U̲F̲.̲T̲O̲C̲)̲ ̲(̲4̲.̲2̲.̲5̲.̲6̲.̲3̲3̲)

    CASE RESERVE ̲BUFFER(SIZE(REPORT ̲BUFFER),UMAM ̲CMDQ)
                                       (CREATE ̲QEL,
                                       CC): ERROR ̲OK

        ERROR? -     ANALYZE ̲ERROR(CC, 0)

        OK?

    END CASE

    CASE WRITE ̲BUFFER (CREATE ̲QEL, REPORT ̲BUF, REPORT
    ̲BUF ̲SIZE,1)

                      (SIZE, CC): ERROR ̲OK

        ERROR ? ANALYZE ̲ERROR (CC,0)

        OK ?

    END CASE

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

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





               Figure 4.2.5.6.25-1




4.2.5.6.26   L̲O̲O̲K̲U̲P̲ ̲E̲M̲P̲T̲Y̲ ̲P̲R̲E̲P̲ ̲R̲E̲C̲



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

         A empty record is searched in the Preparation- and
         Expand Files. If no record is found then the ERROR-exit
         otherwise the OKAY-exit is used. A warning report is
         sent to the Supervisor Printer if one of the threshold
         values for the Expand file is reached.



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

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

         a) LOOKUP ̲EMPTY ̲PREP ̲REC                                 
                                                                  
                                                                  
                                                                  
                                                                  
                                                                  
                                                                  
                                                                  
                                                                  
                                                                  
                                                                  
                                                                  
                                                                  
                                                                  (PREP
                                                                  ̲REC
                                                                  
                                                                  :PREP
                                                                  ̲REC
                                                                  ̲TYPE)

         b) LOOKUP ̲EMPTY ̲PREP ̲REC (R0, R6): ERROR ̲OK

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

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

             R6      LINK                    (DEST)

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

             R0      Pointer to PREP ̲REC
             R1 - R7                          (DEST)



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

             PREP ̲REC ̲TYPE
             STATUS ̲TYPE
             USER ̲ACTION ̲TYPE
             GAQ ̲INFO ̲TYPE




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

             BIG ̲BUF ̲CONTENTS
             EXPAND ̲NO (m)

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

             CONST
                 NO ̲OF ̲PREP ̲REC = PREP ̲FILE ̲LENGTH ̲W/SIZE(PREP
                 ̲
                 REC ̲TYPE)
                 THR ̲75 ̲VALUE = 192
                 THR ̲90 ̲VALUE = 230

             VAR
                 REC ̲POINTER
                 SAVELINK : INTEGER




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

             refer figure 4.2.5.6.26-1





  LOOKUP ̲EMPTY ̲PREP ̲REC

  EQUIVALENCE(BIG ̲BUF(1), PREP ̲REC: PREP ̲REC ̲TYPE)

  START ̲REC = 1

…02…FOUND = FALSE

  LOOP

         PREP ̲REC(START ̲REC).STATUS EQ DUMMY? - FOUND
         = TRUE

         INCREMENT START ̲REC

         START ̲REC GT NO ̲OF ̲PREP ̲REC?

         FOUND EQ TRUE?                                           
                                                                  
                                                                  EXIT
                                                                  LOOP

  END LOOP

  BIG ̲BUF ̲CONTENTS EQ PREP?

  INCREMENT EXPAND ̲NO

  THR ̲75 EQ TRUE?

  EXPAND ̲NO   NE  THR ̲75 ̲VALUE?

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

  THR ̲75 = TRUE

  THR ̲90 EQ TRUE?

  EXPAND ̲NO  NE THR ̲90 ̲VALUE?

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

  THR ̲90 = TRUE

  FOUND EQ TRUE? - RETURN (OK)

  RETURN (ERROR)

               Figure 4.2.5.6.26-1


4.2.5.6.27   E̲X̲C̲L̲U̲D̲E̲ ̲F̲R̲O̲M̲ ̲P̲R̲E̲P̲



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

         A passive CIF is made active and dismantled. PREP ̲
         REC.STATUS will be changed to S ̲DUMMY. The contents
         of BIG ̲BUF will be written into the EXPAND or PREPARATION
         file, depending of the contents of BIG ̲BUF ̲CONTENTS.



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

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

         a)  EXCLUDE ̲FROM ̲PREP (PREP ̲REC : PREP ̲REC ̲TYPE;

         b)  EXCLUDE ̲FROM ̲PREP (R4,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̲

             R4      pointer to PREP ̲REC   (DEST)

             R6      LINK                  (DEST)

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

             None

             R0-R7                         (DEST)





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

             USER ̲ACTION ̲TYPE
             FILE ̲DIR ̲TYPE
             PREP ̲REC ̲TYPE
             ARRAY ̲CONTROL ̲BLOCK

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

             FILE ̲DIR ̲ACB
             CREATE ̲QEL
             FILE ̲DIR (m)
             BIG ̲BUF ̲CONTENTS
             THR ̲75
             THR ̲90
             RESET ̲THR ̲75
             RESET ̲THR ̲90

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

             VAR
                 SAVE ̲PTR
                 SAVELINK : INTEGER



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

             Refer figure 4.2.5.6.27-1



   EXCLUDE ̲FROM ̲PREP

   CASE  L̲O̲O̲K̲U̲P̲ ̲P̲A̲S̲S̲I̲V̲E̲ ̲C̲I̲F̲(̲P̲R̲E̲P̲ ̲R̲E̲C̲.̲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̲S̲(̲C̲R̲E̲A̲T̲E̲ ̲Q̲E̲L̲)̲(̲4̲.̲2̲.̲5̲.̲6̲.̲2̲8̲)̲

             U̲M̲A̲M̲ ̲Q̲E̲L̲ ̲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

   CASE BIG BUF CONTENTS OF

         PREP ̲F? -   DECREMENT ̲FILE DIR (PREP ̲REC.LTD.PREP)

                 PREP ̲REC.STATUS = DUMMY

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

         EXPAND ̲F? -                                             DECREMENT
                                                                 FILE
                                                                 ̲DIR
                                                                 (PREP
                                                                 ̲RECL.LTD.EXPAND)

                     DECREMENT EXPAND ̲NO

                     PREP ̲REC.STATUS = DUMMY

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

                     RESET ̲THR ̲75  =  TRUE? THR ̲75
                      =  0
                     RESET ̲THR ̲90  =  TRUE? THR ̲90
                      =  0

   END CASE











                FIG. 4.2.5.6.27-1



4.2.5.6.28   U̲N̲L̲O̲C̲K̲ ̲P̲A̲S̲S̲I̲V̲E̲ ̲C̲I̲F̲S̲



4.2.5.6.28.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 procedure is to unlock all locked
         versions of a CIF



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

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

         a) UNLOCK ̲PASSIVE ̲CIFS (CREATE ̲QEL : VIEW ̲REFERENCE)

         b) UNLOCK ̲PASSIVE ̲CIFS (R2, R6)

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

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

             R2      QEL                       (DEST)

             R6      LINK                      (DEST)

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

             None

             R0 - R7                           (DEST)





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

             VIEW ̲REFERENCE ̲TYPE

         b)  E̲x̲t̲e̲r̲n̲a̲l̲ ̲R̲e̲f̲e̲r̲e̲n̲c̲e̲s̲

             CREATE ̲QEL (m)

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

             VAR
                 SAVELINK
                 QEL ̲SAVE
                 LOOPEXIT : INTEGER



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

         Refer figure 4.2.5.6.28-1




  UNLOCK ̲PASSIVE ̲CIFS

  LOOP

    CASE UNLOCK ̲VIEW (CREATE ̲QEL) (CC) : ERROR ̲OK

         ERROR ? - CASE ANALYZE ̲ERROR (CC, 1, NO ̲MATCHING
         ̲LOCK):(LA1)

                     LA1?       EXIT LOOP

                 END CASE

         OK ?  HANDLE ̲COUNT EQ O ?    EXIT LOOP

    END CASE

  END LOOP





























               Figure 4.2.5.6.28-1



4.2.5.6.29   S̲E̲N̲D̲ ̲R̲E̲P̲O̲R̲T̲



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

         A report buffer is sent to the Supervisor Printer



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

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

         a)  SEND ̲REPORT (QEL       : QEL ̲REFERENCE,
                          REP       : REP ̲TYPE)

         SEND ̲REPORT (R2, R3, R6)

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

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

             R2      QEL               (DEST)
             R3      REP               (DEST)
             R6      LINK              (DEST)

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

             None

             R0 - R7                   (DEST)



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

             BUFFER ̲REFERENCE
             SEND ̲PARAMS
             USER ̲ACTION ̲TYPE
             QELEMENT ̲MAIN ̲TYPE
             REPORT ̲SUBTYPE
             REP ̲TYPE






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

             UMAM ̲PARAMS (m)
             REPORT ̲QUEUE

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

             VAR
                 SAVELINK : INTEGER



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

             Refer figure 4.2.5.6.29-1





   SEND ̲REPORT

   CASE REP OF REP ̲TYPE

         WARNING ? WARNING ̲REPORT  =  UMAM ̲PARAMS.SUBTYPE

         DELETION? DELETION ̲REQUEST ̲REPORT  =  UMAM
         ̲PARAMS.SUBTYPE

   END CASE

   UMAM ̲PARAMS.MAINTYPE  =  REPORT

   CASE SEND (UMAM ̲PARAMS, QEL, REPORT ̲QUEUE)
              (UMAM ̲PARAMS, CC) : ERROR ̲OK

         ERROR ?   ANALYZE ̲ERROR (CC, 0)

         OK?

   END CASE





















               Figure 4.2.5.6.29-1




4.2.5.6.30   U̲I̲N̲T̲ ̲E̲R̲R̲O̲R̲



4.2.5.6.30.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 procedurie is to report internal
         errors to the SSC. The action taken can either be GIVE
         ̲
         UP or CONTINUE.



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

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

         a)  UINT ̲ERROR (USER ̲ACTION:    USER ̲ACTION ̲TYPE,
                         MODULE ̲ID:      UMAM ̲MODULE ̲ID,
                         PROCEDURE ̲ID:   UMAM ̲PROCEDURE ̲ID,
                         ERROR ̲CODE ̲ID : UMAM ̲ERROR ̲ID)

         b)  UINT ̲ERROR (R1, R3, R4, R5, R6)

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

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

         R1  USER ̲ACTION               (DEST)
         R3  MODULE ̲ID                 (DEST)
         R4  PROCEDURE ̲ID              (DEST)
         R5  ERROR ̲CODE ̲ID             (DEST)
         R6  LINK                      (DEST)

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

         None

         R0 - R7                       (DEST)


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

             USER ̲ACTION ̲TYPE
             INTERNAL ̲ERROR ̲TYPE

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

             INT ̲ERROR

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

             VAR
                 SAVELINK : INTEGER



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

         This procedure reports internal errors to the SSC by
         calling the SEND ̲GARBLE-procedure.





4.2.5.6.31   P̲r̲e̲ ̲S̲t̲a̲t̲u̲s̲



4.2.5.6.31.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 initiates the execution of a status
         request.



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

         a)  PRE ̲STATUS (STATUS : STATUS ̲SUBTYPE)

         b)  PRE ̲STATUS (R4, 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̲

         R4      STATUS                (DEST)
         R6      LINK                  (DEST)

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

         None

         R0-R7                         (DEST)



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

             OUTG ̲STA ̲ADM
             ARRAY ̲CONTROL ̲BLOCK
             FIELD ̲LIST ̲ELEMENT
             STATUS ̲SUBTYPE
             STATUS ̲ATTRIBUTES



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

             LITTLE ̲BUF  (m)
             STATUS ̲ACB
             INT ̲CHANGES
             STATUS ̲INFO (m)
             OUTG ̲START
             RELE ̲START
             DELI ̲START
             OLD ̲OUTG ̲START
             OLD ̲DELI ̲START
             OLD ̲RELE ̲START

         c)  VAR
                 SAVER6 : INTEGER



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

         Refer figure 4.2.5.6.31-1








   PRE ̲STATUS

   UPDATE STATUS ̲INFO.END ̲FILE ̲PT

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

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

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

   STA ̲ADM = 0

   STA ̲ADM.MAINTYPE = STATUS

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

   STA ̲CIF ̲FIELD ̲LIST.FIELD ̲BYTE ̲ADDRESS = 0

   STA ̲CIF ̲FIELD ̲LIST(1).RECORD ̲LENGTH = SIZE (OUTG ̲STA
   ̲ADM) * 2

   RESET STA ̲CIF ̲FIELD ̲LIST(2..8).RECORD ̲LENGTH





















                FIGURE 4.2.5.6.31-1




4.2.5.6.32 R̲e̲a̲d̲ ̲S̲t̲a̲t̲u̲s̲ ̲F̲i̲l̲e̲



4.2.5.6.32.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 procedure is to read sequences
         of bytes from a file specified by variable STATUS ̲
         INFO.FDCB.



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

         a)  READ ̲STATUS ̲FILE

         b)  READ ̲STATUS ̲FILE(R6) : ERROR ̲OK

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

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

         R6      LINK                  (DEST)

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

         None

         R0-R7                         (DEST)





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

             FILE ̲ADDRESS
             BUFFER ̲LIST ̲ELEMENT

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

             UMAM ̲FILE ̲ADDR (m)
             STATUS ̲INFO (m)
             UMAM ̲BLE (m)
             BIG ̲BUF (m)
             BIG ̲BUF ̲CONTENTS (m)

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

             None



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

         Refer figure 4.2.5.6.32-1






   READ ̲STATUS ̲FILE

   UMAM ̲FILE  ̲ADDR.BYTE ̲SIZE = SIZE (BIG ̲BUF) * 2

   UMAM ̲BLE.ADDRESS = ADDRESS(BIG ̲BUF)

   UMAM ̲BLE.BYTE ̲SIZE = SIZE(BIG ̲BUF) * 2

   BIG ̲BUF ̲CONTENTS = NO ̲CONTENTS

   CASE READ ̲BYTES(STATUS.INFO.FDCB, UMAM ̲BLE, UMAM ̲FILE
   ̲ADDR)
                     (UMAM ̲FILE ̲ADDR.CC) : ERROR ̲OK

      ERROR: CASE ANALYZE ̲ERROR(CC1, EOF) : EXIT ̲1

                LA1 : EXIT = ERROR

      OKAY: EXIT = OKAY

   END CASE

   UMAM ̲FILE ̲ADDR.FIRST ̲BYTE = UMAM ̲FILE ̲ADDR.FIRST ̲BYTE
   + UMAM ̲
   FILE ̲ADDR.TRANSFERRED ̲BYTES)

   UMAM ̲FILE ̲ADDR.BYTE ̲COUNT GT UMAM ̲FILE ̲ADDR.TRANSFERRED
   ̲BYTES?

                                                     EXIT
                                             (ERROR)

   STATUS ̲INFO.WORD ̲COUNT = UMAM ̲FILE ̲ADDR.TRANSFERRED
   ̲BYTES/2

   UMAM ̲FILE ̲ADDR.FIRST ̲BYTE GE STATUS ̲INFO.WORD ̲COUNT?

                                             EXIT(ERROR)

   EXIT (OKAY)

   END READ ̲STATUS ̲FILE








                FIGURE 4.2.5.6.32-1




4.2.5.6.33   G̲e̲t̲ ̲T̲i̲m̲e̲



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

         This procedure reads current time by calling Timer
         Monitor. The time is returned in internal representation.



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

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

         a)  GET ̲TIME (TIME: POINTER ̲TO ̲TIME)

         b)  GET ̲TIME (R5, R6)

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

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

         R5      TIME                  (KEPT)
         R6      LINK                  (DEST)

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

         R5      TIME
         R0-R4, R6, R7                 (DEST)



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

             F ̲TIME ̲TYPE

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

             None

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

             None



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

         A call to Timer Monitor is performed.



4.2.5.6.34   U̲m̲a̲m̲ ̲R̲e̲q̲u̲e̲s̲t̲ ̲T̲i̲m̲e̲o̲u̲t̲



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

         A timeout at 00.00 hour is requested.



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

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

         a)  UMAM ̲REQUEST ̲TIMEOUT

         b)  UMAM ̲REQUEST ̲TIMEOUT (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.6.34.3 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̲

             REQUEST ̲TIME ̲ABSOLUTE
             REQUEST ̲TIMEOUT

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

             None



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

             VAR
                 TIME ̲PARAM.TIME ̲OUT ̲KIND = K ̲ABSOLUTE
                 TIME ̲PARAM.QUEUE.MAIN ̲QUEUE = UMAM ̲UMAM ̲CMDQ
                 TIME ̲PARAM.QUEUE.SUB ̲QUEUE = 1
                 TIME ̲PARAM.TIME.HOUR = 0
                 TIME ̲PARAM.TIME.MINUTE = 0
                 TIME ̲PARAM.EVENT ̲ID = 0



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

         Constants are moved to TIME ̲PARAM and a Reguest-Timeout
         call is performed.





4.2.5.6.35 T̲o̲ ̲D̲T̲G̲ ̲T̲i̲m̲e̲



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

         This procedure converts time pointed out by register
         2 from internal-representation time to DIG time and
         places the result in the area pointed out by register
         3.



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

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

         a)  TO ̲DIG ̲TIME (IN ̲TIME  : INTEGER,
                          OUT ̲TIME : INTEGER)

         b)  TO ̲DIG ̲TIME (R2, R3, R6)

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

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

         R2          POINTER TO IN ̲TIME    (DEST)
         R3          POINTER TO OUT ̲TIME   (DEST)
         R6          LINK                  (DEST)

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

         None
         R0-R7                      (DEST)



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

             TO ̲DIG ̲TYPE



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

             None

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

             None



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

         A convert time call to Timer Monitor is performed





4.2.5.6.36   M̲o̲v̲e̲ ̲W̲o̲r̲d̲s̲



4.2.5.6.36.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 moves words from one integer-array to
         another. The FROM POINTER defines the word-array to
         move from and the TO POINTER defines the word-array
         to move to. The WORD COUNT is the number of words to
         be moved. (Max = 32)



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

         a)  MOVE ̲WORDS (FROM ̲POINTER : POINTER
                         TO ̲POINTER :   POINTER
                         WORD ̲COUNT :   INTEGER)

         b)  MOVE ̲WORDS(R4, R5, R7, 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̲ ̲

         R4      FROM ̲POINTER          (KEPT)
         R5      TO ̲POINTER            (KEPT)
         R7      WORD ̲COUNT            (DEST)
         R6      LINK                  (DEST)

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

         R4, R5
         R0-R3, R6-R7                  (DEST)





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

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

             None

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

             None

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

             CONST
                 MAX ̲WORD ̲NUMBER = 32
             TYPE
                 WORD ̲ARRAY = ARRAY(1..MAX ̲WORD ̲NUMBER) OF INTEGER



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

         A loop is entered and one by one an integer is moved
         and WORD ̲COUNT is decremented. The loop is exited when
         WORD ̲COUNT is equal null.





4.2.5.6.37 C̲h̲a̲n̲g̲e̲ ̲S̲t̲a̲t̲u̲s̲ ̲F̲i̲l̲e̲s̲



4.2.5.6.37.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 changes the contents of UMAM ̲FDCB. The
         old FILE ̲NAMES and the new FILE ̲NAMES will be interchanged.



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

         a)      CHANGE ̲STATUS ̲FILES

         b)      CHANGE ̲STATUS ̲FILES (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.6.37.3 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̲

             STATUS ̲FILE ̲NAMES

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

             UMAM ̲FDCB (m)
             OUTG ̲START
             OLD ̲OUTG ̲START (m)
             RELE ̲START
             OLD ̲RELE ̲START (m)
             DELI ̲START
             OLD ̲DELI ̲START (m)
             UMAM ̲FILE ̲NAME ̲PT ̲(m)



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

             None



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

         The old FILE ̲NAMES and the new FILE ̲NAMES are interchanged.
         The start addresses of the files are stored in old
         start addresses.





4.2.5.6.38 S̲e̲a̲r̲c̲h̲ ̲R̲e̲c̲o̲r̲d̲



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

         A specified status record is searched in the Preparation-area.
         If TIME ̲STAMP is equal to NIL then the time contained
         in the status record will not be checked. If TIME ̲STAMP
         is unequal NIL then it is checked whether the following
         conditions is fulfilled:
         TIMESTAMP   =  PREP ̲REC.TIME   =  TIMESTAMP + WINDOW
            
         If any record fulfilling the search criterias is found
         then the OK-exit is used, otherwise the ERROR-exit
         is used.



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

         a)  SEARCH ̲RECORD (LTD:     LOGICAL ̲TERMINAL ̲DESIGNATOR
             
                            IT ̲REF:  ITEM ̲REFERENCE ̲IDENTITY
                            WINDOW:  INTEGER
                            TIME ̲STAMP: POINTER TO TIME ̲STAMP)
                           (PREP ̲REC ̲PTR : POINTER TO PREP ̲REC)

         b)  SEARCH ̲RECORD (R0, R1, R2, R4, R5, R6) : ERROR
             ̲OK

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

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

         R0      LTD                   (DEST)
         R1      IT ̲REF                (DEST)
         R2      WINDOW                (DEST)
         R4      TIME ̲STAMP            (DEST)
         R6      LINK                  (DEST)

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

         R5      PREP ̲REC ̲PTR
         R0-R4, R6-R7                  (DEST)





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

             LOGICAL ̲TERMINAL ̲DESIGNATOR
             ITEM ̲REFERENCE ̲ITEM ̲TYPE
             PREP ̲REC ̲TYPE

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

             BIG ̲BUF

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

             VAR
                 SAVELINK
                 WINDOW
                 LOOPCOUNT : INTEGER

             CONST
                 LOOPEXIT = PREP ̲FILE ̲LENGTH ̲W/SIZE(PREP ̲REC
                 ̲TYPE)



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

         A loop is entered, and the contents of BIG ̲BUF is scanned.
         If R4 is equal NIL then the time contained in the status
         record will not be checked. If R4 is unequal NIL then
         it is checked whether the following condition is fulfilled:
         TIME ̲STAMP  =  PREP ̲REC.TIME   =  TIME ̲STAMP + WINDOW.
         If any record fulfils the search criteria the procedure
         exits on OKAY. Else the ERROR-exit is used.





4.2.5.6.39 U̲m̲a̲m̲ ̲L̲o̲c̲k̲ ̲C̲i̲f̲



4.2.5.6.39.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 locks a specified CIF referenced by
         QEL1.



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

         a)  UMAM ̲LOCK ̲CIF

         b)  UMAM ̲LOCK ̲CIF ( 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.6.39.3 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̲

             VIEW ̲ATTRIBUTES
             QEL ̲REFERENCE

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

             UMAM ̲VIEW ̲ATTR
             QEL1  (m)

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

             VAR
                 SAVER6 : INTEGER



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

         A MMON ̲LOCK ̲VIEW call is performed.





4.2.5.6.40 U̲p̲d̲a̲t̲e̲ ̲D̲i̲s̲p̲l̲a̲y̲ ̲T̲a̲b̲l̲e̲



4.2.5.6.40.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 procedure is to update VDU ̲PAGE
         ̲DISPLAY ̲TABLE



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

         a)  UPDATE ̲DISPLAY ̲TABLE

         b)  UPDATE ̲DISPLAY ̲TABLE (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.6.40.3 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̲

             TMP ̲PARAM

         b)  UMAM ̲VIEW ̲ATTR



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

             VAR
                 DISPLAY ̲REQUEST ̲PARAM : TMP ̲PARAM

             CONST
                 DISP ̲MASK         =  2
                 DISP ̲COUNT        =  1
                 VDU ̲PAGE ̲OFFSET   =  1

    INIT
       DISPLAY ̲REQUEST ̲PARAM.TABLE ̲ID       = DISPLAY
                                            ̲TABLE
       DISPLAY ̲REQUEST ̲PARAM.COUNT          = DISP ̲COUNT
       DISPLAY ̲REQUEST ̲PARAM.BUFFER2        = ADDRESS(DISPLAY
                                            ̲
                                              PARAM)
       DISPLAY ̲REQUEST ̲PARAM.BUFFER2 ̲LENGTH = SIZE(DISPLAY
                                            ̲PARAM)
       DISPLAY ̲REQUEST ̲PARAM.MASK2          = DISP ̲MASK
       DISPLAY ̲REQUEST ̲PARAM.MASK1          = DISP ̲MASK
       DISPLAY ̲REQUEST ̲PARAM.ENTRY          = ADDRESS(DISPLAY
                                            ̲
                                              KEY ̲LIST



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

         A SINGLE ̲CHANGE ̲FIELD ̲POSITION call to TMP is executed
         with DISPLAY ̲REQUEST ̲PARAM. BUFFER1 set to contain
         the address of UMAM ̲VIEW ̲ATTR.NAME.





4.2.5.6.41 R̲e̲a̲d̲ ̲A̲d̲m̲ ̲F̲i̲e̲l̲d̲



4.2.5.6.41.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 reads the administration field of the
         CIF referenced by QEL1. The data read will be placed
         in LITTLE ̲BUF. Maintype will be moved to IMF ̲MAINTYPE
         and Originator-scd will be moved to IMF ̲ORIG ̲SCD.








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

         a)  READ ̲ADM ̲FIELD

         b)  READ ̲ADM ̲FIELD (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.6.41.3 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̲

             IMF ̲DESCRIPTOR ̲TYPE
             CTS ̲ATOMAL ̲DELETION ̲LOG
             PARAMETRE ̲INFO ̲TYPE

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

             DISPLAY ̲KEY ̲LIST   (m)
             LITTLE ̲BUF         (m)
             IMF ̲MAINTYPE       (m)
             IMF ̲ORIG ̲SCD       (m)
             QEL1    
             UCIF ̲LIST

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

             VAR
                 SAVER6 : INTEGER



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

         A MMON ̲OPEN ̲VIEW call is followed by a MMON ̲READ ̲VIEW
         call. Input to both calls are QEL1, output from READ
         ̲VIEW is to be placed in LITTLE ̲BUF. The variables IMF
         ̲
         MAINTYPE and IMF ̲ORIG ̲SCD will be updated. DISPLAY
         ̲KEY ̲
         LIST.KEY is updated with PARAMETRE ̲INFO ̲TYPE.DISPLAY
         ̲
         NAME. A MMON ̲CLOSE ̲VIEW is performed.




  BEGIN

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

         ERROR?   ANALYZE ̲ERROR (CC,0)

         OK?

      END CASE

      UCIF ̲LIST.ELEMENTS.FIELD ̲BYTE ̲ADDRESS = 0

      CASE    MMON ̲READ ̲VIEW (SIZE (LITTLE ̲BUF),
                              ADDR (UCIF ̲LIST),
                              QEL1,
                              ADDR(LITTLE ̲BUF)(CC)) :
                              ERROR ̲OK

         ERROR?   ANALYZE ̲ERROR (CC,0)

         OK?

      END CASE

      SAVE    =   ADDR (LITTLE ̲BUF)

      IMF ̲MAINTYPE    =   SAVE.IMF ̲DESCRIPTOR ̲TYPE.MAINTYPE

      SAVE = SAVE + SIZE(IMF ̲DESCRIPTOR ̲TYPE) + SIZE(CTS
      ̲ATOMAL ̲
      DELETION ̲LOG)

      SAVE1   =   SAVE.PARAMETRE ̲INFO ̲TYPE.ORIGINATOR
                  ̲SCD

      DISPLAY ̲KEY ̲LIST.KEY = SAVE.PARAMETRE ̲INFO ̲TYPE.DISPLAY
      ̲
      NAME

      CASE    MMON ̲CLOSE ̲VIEW (QEL1)(CC) : ERROR ̲OK

         ERROR?   ANALYZE ̲ERROR (CC,0)

         OK?

      END CASE


                FIGURE 4.2.5.6.41-1




4.2.5.6.42   R̲e̲s̲e̲t̲ ̲F̲i̲l̲e̲



4.2.5.6.42.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 procedure is to reset a specified
         file.



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

         a)  RESET ̲FILE (FDCB : FORMAT ̲DESCRIPTOR ̲CONTROL ̲BLOCK)

         b)  RESET ̲FILE (R4, 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̲

         R4      FDCB                  (DEST)
         R6      LINK                  (DEST)

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

         None
         R0-R7                         (DEST)



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

             FDCB ̲INDEX
             BUFFER ̲LIST ̲ELEMENT
             FILE ̲ADDRESS
             USER ̲ACTION ̲TYPE

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

             BIG ̲BUF
             UMAM ̲FILE ̲ADDR (m)
             UMAM ̲BLE    (m)




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

             VAR
                 SAVER6
                 LOOPCOUNT
                 SAVE ̲FILE : INTEGER

             CONST
                 MAX ̲IO ̲WRITE = 100



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

         A loop is entered in which an IO ̲MODIFYBYTE call to
         IOC is executed. The call will read the contents of
         BIG ̲BUF onto the specified file. The loop, and procedure,
         will be executed when the file is full or MAX ̲IO ̲WRITE
         has been reached.





4.2.5.6.43 C̲l̲e̲a̲r̲ ̲C̲o̲u̲n̲t̲e̲r̲s̲



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

         All counters in the file directory will be reset.



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

         a)  CLEAR ̲COUNTERS

         b)  CLEAR ̲COUNTERS (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.6.43.3 D̲a̲t̲a̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲

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

             None

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

             FILE ̲DIR (m)

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

             None



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

         A loop is entered where every entry is reset.





4.2.5.6.44 C̲l̲e̲a̲r̲ ̲B̲i̲g̲ ̲B̲u̲f̲



4.2.5.6.44.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 procedure is to clear BIG ̲BUF with
         0.



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

         a)  CLEAR ̲BIG ̲BUF

         b)  CLEAR ̲BIG ̲BUF(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.6.44.3 D̲a̲t̲a̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲

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

             None

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

             INT ̲CHANGES
             BIG ̲BUF (m)
             BIG ̲BUF ̲CONTENTS (m)

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

             VAR
                 SAVER6 : INTEGER



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

         If INT ̲CHANGES is unequal zero then procedure STORE
         ̲INT ̲AREA is called upon. Theafter a loop is entered
         and every entry in BIG ̲BUF is reset with zero.





4.2.5.6.45 U̲p̲d̲a̲t̲e̲ ̲B̲i̲t̲ ̲M̲a̲p̲



4.2.5.6.45.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 dismantles the file specified by FDCB
         pointed out by the contents of R4 and R5, and looks
         up the same file.



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

         a)  UPDATE ̲BIT ̲MAP(DIR ̲STATUS ̲FILE ̲NAME : FDCB-INDEX,
                                            STATUS ̲FILE ̲NAMES)

         b)  UPDATE ̲BIT ̲MAP (R4, R5, R6)

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

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

         R4      DIR                   (DEST)
         R5      STATUS ̲FILE ̲NAME      (DEST)
         R6      LINK                  (DEST)

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

         None
         R0-R7                         (DEST)



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

             FDCB ̲INDEX

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

             UMAM ̲FDCB (m)
             UMAM ̲FILE ̲NAME ̲PT
             UMAM ̲DIR ̲FDCB

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

             SAVERS: INTEGER





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

         This procedure dismantles the file specified by FILE
         ̲
         NAME in register 5 on directory level specified by
         register 4 and looks up the same file. This encloses
         2 calls upon IOC, i.e. IO ̲DISMANTLE and IO ̲
         LOOKUP where UMAM ̲FDCB is updated.





4.2.5.6.46 R̲e̲s̲e̲t̲ ̲C̲o̲l̲l̲e̲c̲t̲ ̲A̲r̲e̲a̲



4.2.5.6.46.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 clears COLLECT ̲AREA by writing contents
         of BIG ̲BUF onto COLLECT ̲AREA. BIG ̲BUF is already cleared
         with 0 at the time of calling.



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

         a)  RESET ̲COLLECT ̲AREA

         b)  RESET ̲COLLECT ̲AREA (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.6.46.3 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̲

             FILE ̲ADDRESS
             BUFFER ̲LIST ̲ELEMENT
             FDCB ̲INDEX

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

             INTA ̲FILE ̲LENGTH ̲B
             UMAM ̲FILE ̲ADDR (m)
             UMAM ̲FDCB
             COLLECT ̲AREA (m)
             UMAM ̲BLE (m)
             BIG ̲BUF

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

             VAR
                 SAVELINK : INTEGER



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

         The contents of BIG ̲BUF, which has been reset before
         call of this procedure, is written onto COLLECT ̲AREA
         by means of a IO ̲MODIFYBYTE call






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

         Refer CPS/ICD/009