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

⟦3b690fdff⟧ Wang Wps File

    Length: 46229 (0xb495)
    Types: Wang Wps File
    Notes: CPS/SDS/039               
    Names: »2171A «

Derivation

└─⟦83a6a53dc⟧ Bits:30006111 8" Wang WCS floppy, CR 0176A
    └─ ⟦this⟧ »2171A « 

WangText

…08……00……00……00……00…%…0a……00……00…%…0b…%…0e…%…02…% …11……08……11……0c……11……01……11… …11……07……10……0b……10……0e……10……01……10……05……0f……09……0f……0b……0f……0f……0f……02……0f……07……0e……0a……0e……0d……0e……00……0e…
…0e……06……0d……09……0d……0c……0d……00……0d… …0d……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.4.15   I̲N̲C̲L̲U̲D̲E̲ ̲I̲N̲ ̲I̲N̲T̲A̲ ̲M̲o̲d̲u̲l̲e̲



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

         The following function is contained in the module:

         -   Move data from INTA ̲REC to the Intermediate Buffer
             area.

         When the area gets full, or five changes has occured,
         then the records are stored. If the complete Intermediate
         File gets full, then the status records will be sorted
         and written into the Outgoing File, Release File or
         the Delivery File.



4.2.5.4.15.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)  INCLUDE ̲INTA

         b)  INCLUDE ̲INTA (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.15.3 M̲o̲d̲u̲l̲e̲ ̲C̲o̲m̲p̲o̲n̲e̲n̲t̲s̲

         N/A.



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

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

             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*TRACE
             CPS ̲PREFIX.D*CPS ̲AMOS ̲CONF

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

             FILE ̲DIR (m)
             CURRENT ̲INTA ̲NO (m)
             INT ̲CHANGES (m)
             INTA ̲REC ̲NO (m)
             INTA ̲REC
             INT ̲AREA ̲ACB
             FILE ̲DIR ̲ACB
             BIG ̲BUF (m)

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

             CONST
                 MAX ̲INT ̲CHANGES = 5

             VAR
                 SAVELINK:INTEGER





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

         The contents of INTA ̲REC ̲is included in the Preparation
         File.  If five changes has occurred, then the file
         will be stored.  If the current INTA area get full,
         then the file will be stored too.  If the complete
         intermediate buffer gets full, then the status records
         will be sorted and written in the Outgoing, Release,
         and Delivery Files.


INCLUDE ̲IN ̲INTA

    EQUIVALENCE(BIG ̲BUFFER(PREP ̲AREA ̲SIZE +1),

                INT ̲AREA ̲BUF: INT ̲AREA ̲BUF ̲TYPE)

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

    INCREMENT INTA ̲REC ̲NO

    INCREMENT INT ̲CHANGES

    INT ̲AREA ̲BUF(INTA ̲REC ̲NO) = INTA ̲REC


    INTA ̲REC.LTD ̲PREP GT NO ̲OF ̲VDUS?

    INTA ̲REC.LTD ̲PREG LT 1?

    INC      FILE ̲DIR.TER ̲COUNT.(LTD).INTA

    INTA ̲REC.LTD ̲RELS EQ 0?

    INC      FILE ̲DIR.TER ̲COUNT(LTD).INTA

    INTA ̲REC ̲NO LT MAX ̲INT ̲AREA ̲BUF ̲RECS    INT ̲CHANGES
                                            LT 5?

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

    CURRENT ̲INTA ̲NO GE MAX ̲NO ̲OF ̲INTAS                                 S̲O̲R̲T̲
                                                                       ̲I̲N̲T̲
                                                                       ̲A̲R̲E̲A̲
                                                                       ̲(̲4̲.̲2̲.̲5̲.̲4̲.̲1̲6̲

    INCREMENT CURRENT ̲INTA                  CURRENT
                                            ̲INTA ̲NO
                                            = 1


    INT ̲REC ̲NO = 0

    LOOP
      INTA ̲REC.LTD ̲RELS = 0

      INTA ̲REC.LTD ̲PREP = 0

      INCREMENT INT ̲AREA ̲BUF ̲RECS

      INT ̲AREA ̲BUF ̲RECS EQ MAX ̲INT ̲AREA ̲BUF ̲RECS? 
       (EXIT LOOP

    END LOOP

                Fig. 4.2.5.4.15-1


4.2.5.4.16   S̲O̲R̲T̲ ̲I̲N̲T̲ ̲A̲R̲E̲A̲ ̲M̲o̲d̲u̲l̲e̲



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

         The task of this module is to sort the status records
         which are stored in the Intermediate File. The search
         keys used are an LTD and a status interval. The sorted
         data will be stored in either the Release File, the
         Outgoing File or the Delivery File.



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

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

         a)  SORT ̲INT ̲AREA

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

         a)  S̲O̲R̲T̲ ̲I̲N̲T̲A̲

             Records fulfilling the search criteria are searched
             in BIG ̲BUF. Refer figure 4.2.5.4.16.3-1

         b)  F̲I̲L̲E̲ ̲F̲U̲L̲L̲ ̲R̲E̲P̲O̲R̲T̲

             This procedure sets report text reference and time
             into a buffer and calls upon procedure "SEND REPORT"




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

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

             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*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 ̲REPORTS
             CPS ̲PREFIX.D*CPS ̲IIF
             CPS ̲PREFIX.D*TRACE
             CPS ̲PREFIX.D*CPS ̲AMOS ̲CONF

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

             UMAM ̲CMDQ
             UMAM ̲FILE ̲ADDR (m)
             FILE ̲START (m)
             LITTLE ̲BUF (m)
             SORT ̲COUNT (m)
             DEST ̲BUF (m)
             BIG ̲BUF
             SEARCH ̲ONE (m)
             SEARCH ̲TWO (m)
             INT ̲CHANGES
             CURRENT ̲INTA ̲NO (m)
             INTA ̲REC ̲NO (m)
             SEARCH ̲LTD (m)
             FILE ̲DIR ̲ACB
             RELE ̲START (m)
             DELI ̲START (m)
             OUTG ̲START (m)
             FILE ̲DIR (m)



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

             VAR
                 MULT: LONG

                 SAVELINK
                 START ̲SAVE
                 INTA ̲START ̲PTR
                 LITTLE ̲BUF ̲PTR

                 SAVER6
                 QEL ̲SAVE: INTEGER

                 REP ̲DATA: REPORT ̲BUFFER ̲TYPE

             INIT
                 REP ̲DATA.REPORT ̲DATA ̲FIELD = 21 x SPACE



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

         The status records which fulfil the search parameters
         (LTD, status interval) are moved from the source buffer
         to the destination buffer and the data are reorganized.
          When the destination buffer get full or the search
         is completed, the content of the destination buffer
         will be stored in the Delivery, Release or Outgoing
         File.


      SORT ̲INT ̲AREA

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

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

      SET SEARCH PARAMETRES FOR RELEASE STATUS

      FILE ̲START = RELE ̲START

      S̲O̲R̲T̲ ̲I̲N̲T̲A̲ ̲(̲4̲.̲2̲.̲5̲.̲4̲.̲1̲6̲.̲3̲-̲1̲)̲

      SET SEARCH PARAMETRES FOR OUTGOING STATUS

      FILE ̲START = OUTG ̲START

      S̲O̲R̲T̲ ̲I̲N̲T̲A̲ ̲(̲4̲.̲2̲.̲5̲.̲4̲.̲1̲6̲.̲3̲-̲1̲)

      SET SEARCH PARAMETRES FOR DELIVERY STATUS

      FILE ̲START = DELI ̲START

      LOOP

         S̲O̲R̲T̲ ̲I̲N̲T̲A̲ ̲(̲4̲.̲2̲.̲5̲.̲4̲.̲1̲6̲.̲3̲-̲1̲)

         INCREMENT SEARCH ̲LTD

      UNTIL SEARCH ̲LTD GT NO ̲OF ̲VDUS + NO ̲OF ̲SADS+1

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

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

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










               FIGURE 4.2.5.4.16-1




MOVE ̲RECORD

  CASE DEST ̲BUF OF DEST ̲BUF ̲TYPE


    RELE,
    OUTG?   EQUIVALENCE(LITTLE ̲BUF(1),REL ̲BUF:  REL
  ̲BUF ̲TYPE)

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

    DELI?   EQUIVALENCE (LITTLE ̲BUF(1), DELI ̲BUF: 
  DELI ̲BUF ̲TYPE)

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

  END CASE

  LTD GT MAX ̲NO ̲OF ̲VDU? INCREMENT FILE ̲DIR.DEV ̲INF(LTD)

  DECREMENT FILE ̲DIR(LTD).TER ̲COUNT.INTA

  CASE   DEST ̲BUFFER OF DEST ̲BUF ̲TYPE

         RELE?       INCREMENT FILE ̲DIR(LTD).TER ̲COUNT.RELS

         OUTG?       INCREMENT FILE ̲DIR(LTD).TER ̲COUNT.OUTG

         DELI?       INCREMENT FILE ̲DIR(LTD).TER ̲COUNT.DELI

  END CASE

  SORT ̲COUNT NE MAX ̲SORT ̲REC? - INCREMENT SORT ̲COUNT

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

  SET SORT ̲COUNT = 0









                Fig. 4.2.5.4.16-2



   STORE ̲DATA ̲IN ̲FILE



   UMAM ̲FILE ̲ADDR.FIRST ̲BYTE = FILE ̲START


   UMAM ̲FILE ̲ADDR.BYTE ̲COUNT = SORT ̲COUNT*SIZE (DEST
   ̲BUF)


   UMAM ̲BLE.ADDRESS = LITTLE ̲BUF(1)


   UMAM ̲BLE.BYTE ̲SIZE = SORT ̲COUNT*SIZE(DEST ̲BUF)

   CASE DEST ̲BUF OF ̲DEST ̲BUF ̲TYPE

     RELE?   UPDATE FILE ̲NAME AND FILE ̲START

     OUTG?   UPDATE FILE ̲NAME AND FILE ̲START

     DELI?   UPDATE FILE ̲NAME AND FILE ̲START


   END CASE


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

        ERROR?   CASE             ANALYZE ̲ERROR(CC,FILE
                                  ̲FULL): EXIT ̲1 TO

                                         F̲I̲L̲E̲ ̲F̲U̲L̲L̲
                                  ̲(̲4̲.̲2̲.̲5̲.̲4̲.̲1̲6̲.̲3̲-̲2̲)

                 END CASE

        OK?

   END CASE

   UPDATE FILE ̲START



                Fig. 4.2.5.4.16-3


   SORT INTA



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


   SORT ̲COUNT = START ̲REC = 1


   LOOP


     GET INT ̲BUF(START ̲REC)


     SEARCH ̲LTD EQ NULL?

     SEARCH ̲LTD EQ LTD ̲PREP?    M̲O̲V̲E̲ ̲R̲E̲C̲O̲R̲D̲ ̲(̲4̲.̲2̲.̲3̲.̲4̲.̲1̲6̲-̲2̲)̲


     INCREMENT START ̲REC


     UNTIL START ̲REC GT TOTAL ̲NO ̲OF ̲INTA?  (EXIT LOOP


   END LOOP


   SORT ̲COUNT EQ 0?


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


               Fig. 4.2.5.4.16.3-1


4.2.5.4.17   I̲N̲C̲L̲U̲D̲E̲ ̲I̲N̲ ̲P̲R̲E̲P̲ ̲M̲o̲d̲u̲l̲e̲



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

         The purpose of this module is to insert status records
         in the Preparation File.  If no empty record can be
         found in the Preparation File, then the Expand File
         is inspected.  If the Expand File is full or nearly
         full, a threshold warning will be sent to the Supervisor
         Printer.

         When the status record is included, the referenced
         CIF will be made passive.



4.2.5.4.17.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)  INCLUDE ̲IN ̲PREP

         b)  INCLUDE ̲IN ̲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̲

         R0 - R7                   (DEST)



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

         N/A


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

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

             CPS ̲PREFIX.D*GENERAL
             CPS ̲PREFIX.D*DAMOS ̲GENERAL
             CPS ̲PREFIX.D*CPS ̲CONF
             CPS ̲PREFIX.D*CPS ̲GENERAL
             CPS ̲PREFIX.D*CSF ̲GENERAL
             CPS ̲PREFIX.D*QUEUE ̲MON
             CPS ̲PREFIX.D*MESSAGE ̲MON
             CPS ̲PREFIX.D*CPS ̲ERROR ̲HAND
             CPS ̲PREFIX.D*FMS ̲GENERAL
             CPS ̲PREFIX.D*IOS ̲PARAMS
             CPS ̲PREFIX.D*SSC ̲GENERAL
             CPS ̲PREFIX.D*SSC ̲SYS ̲CONF
             CPS ̲PREFIX.D*SITE ̲CONF
             CPS ̲PREFIX.D*CPS ̲APP ̲GENERAL
             CPS ̲PREFIX.D*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)
             FILE ̲DIR ̲ACB
             BIG ̲BUF ̲CONTENTS
             FILE ̲DIR (m)
             BIG ̲BUF (m)

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

             VAR
                 SAVELINK
                 SAVEPTR : INTEGER



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

         An empty PREP ̲REC is looked up in the Preparation or
         Expand File.

         The CIF is made passive and the view name is stored
         in the Preparation/Expand File.


INCLUDE ̲IN ̲PREP

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

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

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

      CASE L̲O̲O̲K̲U̲P̲ ̲E̲M̲P̲T̲Y̲ ̲P̲R̲E̲P̲ ̲R̲E̲C̲(̲P̲R̲E̲P̲ ̲R̲E̲C̲)̲:̲E̲R̲R̲O̲R̲ ̲O̲K̲(̲4̲.̲2̲.̲5̲.̲6̲.̲2̲6̲)̲

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


         OK?     I̲N̲C̲L̲U̲D̲E̲ ̲R̲E̲C̲O̲R̲D̲ ̲(̲4̲.̲2̲.̲5̲.̲4̲.̲1̲7̲-̲2̲)̲

     END CASE

 OK?     I̲N̲C̲L̲U̲D̲E̲ ̲R̲E̲C̲O̲R̲D̲ ̲(̲4̲.̲2̲.̲5̲.̲4̲.̲1̲7̲-̲2̲)̲

END CASE























                Fig. 4.2.5.4.17-1


 INCLUDE ̲RECORD

 EQUIVALENCE(UMAM ̲ATTR.HEADER.INF, OUTG ̲PARAM: OUTG
 ̲PARAM ̲TYPE)
 U̲M̲A̲M̲ ̲L̲O̲C̲K̲ ̲C̲I̲F̲ ̲(̲4̲.̲2̲.̲5̲.̲6̲.̲3̲9̲)

 PREP ̲REC.NAME = UMAM ̲VIEW ̲ATTR.NAME

 PREP ̲REC.LTD ̲PREP = OUTG ̲PARAM(LTD ̲PREP)

 PREP ̲REC.STATUS = OUTG.PARAM.SCD ̲STA(STA)

 PREP ̲REC.LTD ̲RELS = 0

 PREP ̲REC.ORIG = OUT ̲PARAM.SCD ̲STA

 PREP ̲REC MAINTYPE = UMAM ̲ATTR.HEADER.MAINTYPE

 PREP ̲REC.REL ̲NO ̲ITEM ̲REF = 0

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

 PREP ̲REC.RELS = 0

 PREP ̲REC.COOR = 0

 PREP ̲REC.STATUS EQ S ̲SENT ̲COOR? PREP ̲REC.COOR = TRUE

 PREP ̲REC.STATUS EQ S ̲SENT ̲RELS? PREP ̲REC.RELS = TRUE

 BIG ̲BUF ̲CONTENTS EQ PREP ̲CONTENTS?

                 INCREMENT FILE ̲DIR.TER ̲COUNT(LTD).PREP

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

 INCREMENT FILE ̲DIR.TER ̲COUNT(LTD).EXPAND

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

 END



               FIGURE 4.2.5.4.17-2




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



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

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

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



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

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

         a)  SORT RECORDS

         b)  SORT ̲RECORDS (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.18.3 ̲M̲o̲d̲u̲l̲e̲ ̲C̲o̲m̲p̲o̲n̲e̲n̲t̲s̲

         a)  C̲O̲M̲P̲A̲R̲E̲

             This procedure compares: the LTD of register 0
             with the LTD from the record, the maintype with
             legal subtypes, and the status with STATUS ̲INFO.
             SEARCH ̲
             TWO.



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

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

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

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

             BIG ̲BUF
             CREATE ̲QEL
             STATUS ̲INFO (m)
             LITTLE ̲BUF (m)

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

             VAR
                 SAVER6
                 SAVELINK : INTEGER

             CONST
                 MAX ̲DEST ̲SIZE =
                 MAX (SIZE (MSG ̲ABEY ̲TYPE), SIZE (REL ̲MSG ̲TYPE),
                 SIZE (DEL ̲STA ̲TYPE))



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

         The status records read are sorted by this module.

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

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


 SORT ̲RECORD

 ADDR = ADDRESS (BIG ̲BUF)

 LOOP

    CASE STATUS ̲INFO.SOURCE ̲BUFFER OF
       INT ̲REL ̲BUF,
       INT ̲PREP ̲BUF?

           EQUIVALENCE (ADDR, SORT ̲REC: INTA ̲REC ̲TYPE)

           SOURCE ̲BUF EQ INT ̲REL ̲BUF?   LTD = SORT ̲REC.LTD
           ̲RELS

           LTD = SORT ̲REC.LTD ̲PREP

           STATUS = SORT ̲REC.STATUS

           MAINTYPE = SORT ̲REC.MAINTYPE

           CASE C̲O̲M̲P̲A̲R̲E̲ ̲(̲L̲T̲D̲,̲ ̲S̲T̲A̲T̲U̲S̲,̲ ̲M̲A̲I̲N̲T̲Y̲P̲E̲)̲:̲ ̲E̲R̲R̲O̲R̲
           ̲O̲K̲
                                                 (4̲.̲2̲.̲5̲.̲4̲.̲1̲8̲.̲3̲-̲1̲)

              ERROR?

              OK? M̲O̲V̲E̲ ̲R̲E̲C̲O̲R̲D̲(̲A̲D̲D̲R̲)̲(̲4̲.̲2̲.̲5̲.̲4̲.̲1̲8̲-̲5̲)

           END CASE

           ADDR + SIZE (INTA ̲REC ̲TYPE)

       OTHERWISE? P̲R̲E̲P̲(̲-̲2̲)̲

    END CASE
















               FIGURE 4.2.5.4.18-1



 PREP

    CASE STATUS ̲INFO.SOURCE ̲BUFFER

       PREP ̲BUF?

           EQUIVALENCE (ADDR, PREP ̲REC : PREP ̲REC ̲TYPE)

           LTD = PREP ̲REC.LTD ̲PREP

           STATUS = PREP ̲REC.STATUS

           MAINTYPE = PREP ̲REC.MAINTYPE

           CASE C̲O̲M̲P̲A̲R̲E̲(̲L̲T̲D̲,̲ ̲S̲T̲A̲T̲U̲S̲,̲ ̲M̲A̲I̲N̲T̲Y̲P̲E̲)̲ ̲:̲ ̲E̲R̲R̲O̲R̲
           ̲O̲K̲
                                                 (4̲.̲2̲.̲5̲.̲4̲.̲1̲8̲.̲3̲-̲1̲)̲

                 ERROR?

                 OK?             M̲O̲V̲E̲ ̲R̲E̲C̲O̲R̲D̲(̲A̲D̲D̲R̲)̲(̲4̲.̲2̲.̲5̲.̲4̲.̲1̲8̲-̲5̲)

           END CASE

           ADDR + SIZE (PREP ̲REC ̲TYPE)

       OTHERWISE?    R̲E̲L̲S̲ ̲D̲E̲L̲ ̲(̲-̲3̲)̲

       ADDR GE ADDRESS(BIG ̲BUF) + STATUS ̲INFO.WORD ̲COUNT?
       -
                                                   
                                            (EXIT LOOP

 END LOOP

















               FIGURE 4.2.5.4.18-2




 RELS ̲DEL

    CASE STATUS ̲INFO.SOURCE ̲BUFFER OF

       REL ̲BUF?

             EQUIVALENCE (ADDR, SORT ̲REC : REC ̲STA ̲BUF)

             LTD = SORT ̲REC.LTD

             STATUS = SORT ̲REC.STATUS

             MAINTYPE = SORT ̲REC.MAINTYPE

             CASE C̲O̲M̲P̲A̲R̲E̲ ̲(̲L̲T̲D̲,̲ ̲S̲T̲A̲T̲U̲S̲,̲ ̲M̲A̲I̲N̲T̲Y̲P̲E̲)̲ ̲:̲
             ̲E̲R̲R̲O̲R̲ ̲O̲K̲
                                                 (4̲.̲2̲.̲5̲.̲4̲.̲1̲8̲.̲3̲-̲1̲)

                 ERROR?

                 OK?             M̲O̲V̲E̲ ̲R̲E̲C̲O̲R̲D̲(̲A̲D̲D̲R̲)̲ ̲(̲4̲.̲2̲.̲5̲.̲4̲.̲1̲8̲-̲3̲)

             END CASE

             ADDR + SIZE(REL ̲STA ̲BUF)

             OTHERWISE? D̲E̲L̲V̲ ̲(̲-̲4̲)̲

    END CASE


















               FIGURE 4.2.5.4.18-3



 DELV

    CASE STATUS ̲INFO.SOURCE ̲BUFFER OF

       DELV ̲BUF?

             EQUIVALENCE (ADDR, SORT ̲REC : DEL ̲BUF ̲TYPE)

             LTD = SORT ̲REC.LTD

             STATUS = S ̲DELIVERY

             MAINTYPE = 0

             CASE C̲O̲M̲P̲A̲R̲E̲ ̲(̲L̲T̲D̲,̲ ̲S̲T̲A̲T̲U̲S̲,̲ ̲M̲A̲I̲N̲T̲Y̲P̲E̲)̲:̲ ̲E̲R̲R̲O̲R̲
             ̲O̲K̲
                                                 (4̲.̲2̲.̲5̲.̲4̲.̲1̲8̲.̲3̲-̲1̲)

                 ERROR?

                 OK?        M̲O̲V̲E̲ ̲R̲E̲C̲O̲R̲D̲ ̲(̲A̲D̲D̲R̲)̲ ̲(̲4̲.̲2̲.̲5̲.̲4̲.̲1̲8̲-̲3̲)̲

             END CASE

             ADDR + SIZE (DEL ̲BUF ̲TYPE)

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

 END CASE



















               FIGURE 4.2.5.4.18-4




 MOVE ̲RECORD

 CASE STATUS ̲INFO.SOURCE ̲BUFFER OF

    INT ̲PREP ̲BUF,
    INT ̲REC ̲BUF?    - C̲O̲N̲V̲ ̲I̲N̲T̲ ̲ ̲(̲-̲6̲)̲

    PREP ̲BUF?       - C̲O̲N̲V̲ ̲P̲R̲E̲P̲ ̲(̲-̲8̲)̲

    REC ̲BUF?        - C̲O̲N̲V̲ ̲R̲E̲C̲S̲ ̲(̲-̲1̲0̲)̲

    DELV ̲BUF?       - C̲O̲N̲V̲ ̲D̲E̲L̲V̲ ̲(̲-̲1̲1̲)̲

 END CASE

 STATUS ̲INFO.LITTLE ̲BUF ̲PTR + DEST ̲SIZE

 EQUIVALENCE (STATUS ̲INFO.IIF ̲FIELD ̲LIST ̲PTR, F ̲LIST:
                                            FIELD ̲LIST
                                            ̲ELEMENT)

 F ̲LIST.RECORD ̲LENGTH + (DEST ̲SIZE * 2)

 LOOP ̲CONTROL = ADDRESS(LITTLE ̲BUF) + SIZE(LITTLE ̲BUF)-
                                                   
                                            MAX ̲DEST
                                            ̲SIZE

 STATUS ̲INFO.LITTLE ̲BUF ̲PTR LT LOOP ̲CONTROL?

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

 END















               FIGURE 4.2.5.4.18-5



 CONV ̲INTA

 CASE STATUS ̲INFO.DEST ̲BUFFER OF

    RELE? EQUIVALENCE(ADDR, SOURCE ̲REC : INTA ̲REC ̲TYPE)

          EQUIVALENCE(STATUS ̲INFO.LITTLE ̲BUF ̲PTR, DEST
          ̲REC:
                                            REL ̲MSG
                                            ̲TYPE)

          DEST ̲REC = SOURCE ̲REC.DATA

          DEST ̲SIZE = SIZE(REL ̲MSG ̲TYPE)

    DELV? EQUIVALENCE(ADDR, SOURCE ̲REC : INTA ̲REC ̲TYPE)

          EQUIVALENCE(STATUS ̲INFO.LITTLE ̲BUF ̲PTR, DEST
          ̲REL:
                                            DEL ̲STA
                                            ̲TYPE)

          DEST ̲REC = SOURCE ̲REC.DATA

          DEST ̲SIZE = SIZE(DEL ̲STA ̲TYPE)

    OTHERWISE: C̲O̲N̲T̲ ̲C̲O̲N̲V̲ ̲I̲N̲T̲A̲ ̲(̲-̲7̲)̲

 END CASE
























               FIGURE 4.2.5.4.18-6


 CONT ̲CONV ̲INTA

 CASE STATUS ̲INFO.DEST ̲BUFFER OF

    ABEY? EQUIVALENCE(ADDR, SOURCE : INTA ̲REC ̲TYPE)

          EQUIVALENCE(SOURCE.DATA, SOURCE ̲PTR : REL
          ̲MSG ̲TYPE)

          EQUIVALENCE(STATUS ̲INFO.LITTLE ̲BUF ̲PTR, DEST
          ̲REC:
                                 MSG ̲ABEY ̲TYPE)

          DEST ̲REC.TIME = SOURCE ̲PTR.TIME

          DEST ̲REC.ITEM ̲REF = SOURCE ̲PTR.CIF ̲REF

          DEST ̲REC.ORIG = SOURCE ̲PTR.ORIG

          DEST ̲SIZE = SIZE(MSG ̲ABEY ̲TYPE)

    SVC?  EQUIVALENCE(ADDR, SOURCE : INTA ̲REC ̲TYPE)

          EQUIVALENCE(SOURCE.DATA, SOURCE ̲PTR : REL
          ̲MSG ̲TYPE)

          EQUIVALENCE(STATUS ̲INFO.LITTLE ̲BUF ̲PTR, DEST
          ̲REL:
                                 REL ̲MSG ̲TYPE)

          DEST ̲REC.TIME = SOURCE ̲PTR.TIME

          DEST ̲REC.ITEM ̲REF = SOURCE ̲PTR.CIF ̲REF

          DEST ̲SIZE = SIZE (SVC ̲STA ̲TYPE)

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

 END CASE












               FIGURE 4.2.5.4.18-7



 CONV ̲PREP

 CASE STATUS ̲INFO.DEST ̲BUFFER OF

    ABEY? EQUIVALENCE(ADDR, SOURCE ̲REC : PREP ̲REC ̲TYPE)

          EQUIVALENCE(STATUS ̲INFO.LITTLE ̲BUF ̲PTR, DEST
          ̲REC : REL ̲
                                            MSG ̲TYPE)

          DEST ̲REC.TIME = SOURCE ̲REC.STATUS ̲TIME

          DEST ̲REC.ITEM ̲REF = SOURCE ̲REC.NAME.CIF ̲ID.LEAST

          DEST ̲REC.ORIG = SOURCE ̲REC.ORIG

          DEST ̲SIZE = SIZE(MSG ̲ABEY ̲TYPE)

    RELE? EQUIVALENCE(ADDR, SOURCE ̲REC : PREP ̲REC ̲TYPE)

          EQUIVALENCE(STATUS ̲INFO.LITTLE ̲BUF ̲PTR : DEST
          ̲REC.
                                            REL ̲MSG
                                            ̲TYPE)

          DEST ̲REC.TIME = SOURCE ̲REC.STATUS ̲TIME

          DEST ̲REC.CIF ̲REF = SOURCE ̲REC.NAME.CIF ̲ID.LEAST

          DEST ̲REC.ORIG = SOURCE.REC.ORIG

          DEST ̲REC.SSN = 0

          DEST ̲REC.NOT ̲REF = SOURCE ̲REC.REL ̲NO ̲ITEM
          ̲REF

          DEST ̲SIZE = SIZE (REL ̲MSG ̲TYPE)

    OTHERWISE: C̲O̲N̲T̲ ̲C̲O̲N̲V̲ ̲P̲R̲E̲P̲ ̲(̲-̲9̲)̲

 END CASE











               FIGURE 4.2.5.4.18-8



    SVC?  EQUIVALENCE(ADDR, SOURCE ̲REC : PREP ̲REC ̲TYPE)

          EQUIVALENCE(STATUS ̲INFO.LITTLE ̲BUF ̲PTR, DEST
          ̲BUF : REL ̲
                                            MSG ̲TYPE)

          DEST ̲REC.TIME = SOURCE ̲REC.STATUS ̲TIME

          DEST ̲REC.CIF ̲REF = SOURCE ̲REC.NAME.CIF ̲ID.LEAST

          DEST ̲SIZE = SIZE(REL ̲MSG ̲TYPE)

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

 END CASE





























               FIGURE 4.2.5.4.18-9




 CONV ̲RELS

 CASE STATUS ̲INFO.DEST ̲BUFFER OF

    RELE? EQUIVALENCE(ADDR, SOURCE ̲REC : REL ̲STA ̲BUF)

          EQUIVALENCE(STATUS ̲INFO.LITTLE ̲BUF ̲PTR, DEST
          ̲BUF :
                                            REL ̲MSG
                                            ̲TYPE)

          DEST ̲REC = SOURCE ̲REC.DATA

          DEST ̲SIZE = SIZE(REL ̲MSG ̲TYPE)

    ABEY? EQUIVALENCE(ADDR, SOURCE ̲REC : REL ̲STA ̲BUF)

          EQUIVALENCE(SOURCE ̲DATA, SOURCE ̲REC : REL
          ̲MSG ̲TYPE)

          EQUIVALENCE(STATUS ̲INFO.LITTLE ̲BUF ̲PTR, DEST
          ̲REC :
                                            MSG ̲ABEY
                                            ̲TYPE)

          DEST ̲REC. TIME = SOURCE ̲REC.TIME

          DEST ̲REC.ITEM ̲REF = SOURCE ̲REC.CIF ̲REF

          DEST ̲REC.ORIG = SOURCE ̲REC.ORIG

          DEST ̲SIZE = SIZE (MSG ̲ABEY ̲TYPE)

    SVC?  EQUIVALENCE(ADDR, SOURCE ̲REC : REL ̲STA ̲BUF)

          EQUIVALENCE(SOURCE.DATA, SOURCE ̲PTR : REL
          ̲MSG ̲TYPE)

          EQUIVALENCE(STATUS ̲INFO.LITTLE ̲BUF ̲PTR, DEST
          ̲REC : SVC ̲
                                            STA ̲TYPE)

          DEST ̲REC.TIME = SOURCE ̲REC.TIME

          DEST ̲REC.ITEM ̲REF = SOURCE ̲REC.CIF ̲REF

          DEST ̲SIZE = SIZE(SVC ̲STA ̲TYPE)

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

 END CASE



               FIGURE 4.2.5.4.18-10


 CONV ̲DELV



    EQUIVALENCE (ADDR, SOURCE ̲REC : DEL ̲BUF ̲TYPE)

    EQUIVALENCE (STATUS ̲INFO.LITTLE ̲BUF ̲PTR, DEST ̲REC
    : DEL ̲STA ̲TYPE)

    DEST ̲REC = SOURCE ̲REC.DATA

    DEST ̲SIZE = SIZE (DEL ̲STA ̲TYPE)

































               FIGURE 4.2.5.4.18-11



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

         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*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*SSC ̲APP ̲CONF

             UMAM ̲SCALAR.S
             UMAM ̲PREFIX.S

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

             NONE

         c) C̲o̲m̲m̲o̲n̲ ̲D̲a̲t̲a̲

            1)   U̲M̲A̲M̲ ̲C̲O̲M̲M̲O̲N̲ ̲T̲Y̲P̲E̲S̲

                 DEL ̲BUF ̲TYPE = RECORD

                     LTD:       LOGICAL ̲TERMINAL ̲NO ̲TYPE
                     DATA:      DEL ̲STA ̲TYPE

                 END

                 REL ̲STA ̲BUF = RECORD

                     LTD:       LOGICAL ̲TERMINAL ̲NO ̲TYPE
                     STATUS:    STATUS ̲TYPE
                     MAINTYPE:  INTEGER
                     DATA:      REL ̲MSG ̲TYPE

                 END





                             STATUS ̲FILE ̲NAMES =                 (UMAM
                                                                 ̲ACCOUNT,
                                                                 UMAM
                                                                 ̲OLD
                                                                 ̲ACCOUNT,
                                                                 
                                                                 PREPARATION
                                                                 ̲AREA,
                                                                 EXPAND
                                                                 ̲AREA,
                                                                 
                                                                 COLLECT
                                                                 ̲AREA,
                                                                 OUT
                                                                 ̲AREA,
                                                                 OLD
                                                                 ̲OUT
                                                                 ̲
                                                                 
                                                                 AREA,
                                                                 RELEASE
                                                                 ̲AREA,
                                                                 OLD
                                                                 ̲RELEASE
                                                                 ̲
                                                                 
                                                                 AREA,
                                                                 DELIVER
                                                                 ̲AREA,
                                                                 OLD
                                                                 ̲DELIVER
                                                                 ̲
                                                                 
                                                                 AREA)

                             P ̲FILE ̲TYPE =                       (PREP
                                                                 ̲F,
                                                                 EXPAND
                                                                 ̲F)

                             DIR ̲TYPE =                          (NO
                                                                 ̲DIR,
                                                                 OLD
                                                                 ̲DIR,
                                                                 NEW
                                                                 ̲DIR)

                             REQ ̲STA ̲TYPE =                      (NORMAL,
                                                                 MIDNIGHT)

                             MESS ̲TYP =                          (M
                                                                 ̲DUMMY,
                                                                 M
                                                                 ̲MSG,
                                                                 M
                                                                 ̲COM,
                                                                 M
                                                                 ̲SVC)

                             REP ̲TYPE =                          (WARNING,
                                                                 DELETION)

                             THRESHOLD ̲TYPE =                    (THRES
                                                                 ̲100,
                                                                 THRES
                                                                 ̲90,
                                                                 THRES
                                                                 ̲75)

                             SOURCE ̲BUF ̲TYPE =                   (INT
                                                                 ̲REL
                                                                 ̲BUF,
                                                                 INT
                                                                 ̲PREP
                                                                 ̲BUF,
                                                                 PREP
                                                                 ̲
                                                                 
                                                                 BUF,
                                                                 REL
                                                                 ̲BUF,
                                                                 DELV
                                                                 ̲BUF)

                             DEST ̲BUF ̲TYPE =                     (RELE,
                                                                 OUTG,
                                                                 DELI,
                                                                 ABEY,
                                                                 SVC)

                             BUF ̲CONTENTS ̲TYPE =                 (NO
                                                                 ̲CONTENTS,
                                                                 PREP
                                                                 ̲CONTENTS,
                                                                 EXPAND,
                                                                 
                                                                 INT)

                             U ̲EXIT =                            (LA1,
                                                                 LA2,
                                                                 LA3,
                                                                 LA4,)
                             EXIT1 =                             LA1..LA1
                             EXIT2 =                             LA1..LA2
                             EXIT3 =                             LA1..LA3

                             UMAM ̲MODULE ̲ID =                    (UM0,UM1,UM2,UM3,UM4,UM5,UM6,UM7,
                                                                 
                                                                 UM8,UM9,UM10,UM11,UM12,UM13,UM14,
                                                                 
                                                                 UM15,UM16,UM17,UM18)

                             UMAM ̲PROCEDURE ̲ID =                 (UP0,UP1,UP2,UP3,UP4,UP5,UP6,UP7,
                                                                 
                                                                 UP8,UP9,UP10,UP11,UP12,UP13,
                                                                 
                                                                 UP14,UP15,UP16,UP17,UP18,UP19,UP20
                                                                 
                                                                 UP21,UP22,UP23,UP24,UP25,UP26,
                                                                 
                                                                 UP27,UP28,UP29,UP30,UP31,UP32,
                                                                 
                                                                 UP33,UP34,UP35,UP36,UP37,UP38,
                                                                 
                                                                 UP39,UP40,UP41,UP42,UP43,UP44,
                                                                 
                                                                 UP45,UP46)

                             UMAM ̲ERROR ̲ID =                     (ERROR0,ERROR1,ERROR2,ERROR3)




     EDIT ̲PARAMETRES = RECORD

         ITEM ̲REF      :  ITEM ̲REF ̲ID ̲TYPE
         LTD           :  LOGICAL ̲TERMINAL ̲NO ̲TYPE
         ACC           :  ACCESS ̲PROFILE
     END

     DELETION ̲PARAMETRES = RECORD

         ITEM ̲REF      :  ITEM ̲REF ̲ID ̲TYPE
         LTD           :  LOGICAL ̲TERMINAL ̲NO ̲TYPE
         TIME ̲STAMP    :  TIME ̲TYPE
     END

     SUPV ̲DELETION ̲PARAM = RECORD

         ITEM ̲REF      :  ITEM ̲REF ̲ID ̲TYPE
         WINDOW        :  COUNTER
         TIME ̲STAMP    :  TIME ̲TYPE
     END

     APPEND ̲PARAM = RECORD

         APP ̲ITEM ̲REF  :  ITEM ̲REF ̲ID ̲TYPE
         LTD           :  LOGICAL ̲TERMINAL ̲NO ̲TYPE
     END

     VDU ̲PAGE ̲PARAM = RECORD

         DISPLAY ̲NAME  :  ARRAY(1..8) OF CHAR  DISPLAY
                          ̲LENGTH = 8
         ACC           :  ACCESS ̲PROFILE
     END

     APPEND ̲NOTI ̲PARAM = RECORD

         APP ̲ITEM ̲REF  :  ITEM ̲REF ̲ID ̲TYPE
         TIME ̲STAMP    :  TIME ̲TYPE
     END

     UMAM ̲LTD      =   (LTD ̲PREP, LTD ̲RELS)

     PREP ̲RELS ̲LTD  =  ARRAY (UMAM ̲LTD) OF CHAR

     SCD ̲STA ̲TYPE   =  (SCD1, SCD2, SCD3, STA)

     STATUS ̲SCD ̲STA =  ARRAY (SCD ̲STA ̲TYPE) OF CHAR



    OUTG ̲PARAM ̲TYPE = RECORD

         LTD           : PREP ̲RELS ̲LTD
         SCD ̲STA       : STATUS ̲SCD ̲STA
         REL ̲NO ̲ITEM ̲REF  :   ITEM ̲REF ̲ID ̲TYPE" FOR
                              SVC =ITEM ̲REF OF CIF
    END

    REL ̲BUF ̲TYPE = RECORD

         LTD           : PREP ̲RELS ̲LTD
         SCD ̲STA       : STATUS ̲SCD ̲STA
         REL ̲NO ̲ITEM ̲REF :    ITEM ̲REF ̲ID ̲TYPE
         ITEM ̲REF        :    ITEM ̲REF ̲ID ̲TYPE
         REL ̲SER ̲NO    : STATION ̲SERIAL ̲NO ̲TYPE
    END

    UMAM ̲ACKNOWLEDGE = RECORD

         SUPERVISOR ̲COMMAND   :    QEL ̲SUBTYPE
         TIME ̲STAMP      :    TIME ̲TYPE
         LTD             :    LOGICAL ̲TERMINAL ̲NO ̲TYPE
    END

    UMAM ̲COUNTER = INTEGER

    TER ̲COUNT = RECORD

         PREP,
         EXPAND,
         INTA,
         OUTG,
         RELS,
         DELI    :   UMAM ̲COUNTER
    END

    TER ̲INF ̲TYPE = ARRAY (1..NO ̲OF ̲VDUS) OF TER ̲COUNT

    DEV ̲INF ̲TYPE = ARRAY(1..NO ̲OF ̲SADS) OF UMAM ̲COUNTER

    FILE ̲DIR ̲TYPE = RECORD

         START ̲TIME  : TIME ̲TYPE
         NEXT ̲LTD      : LOGICAL ̲DESIGNATOR ̲TYPE
         TER ̲INF     : TER ̲INF ̲TYPE
         DEV ̲INF     : DEV ̲INF ̲TYPE
    END




PREP ̲REC ̲TYPE = RECORD

      LTD ̲PREP        :   LOGICAL ̲TERMINAL ̲NO ̲TYPE
      STATUS          :   STATUS ̲TYPE
      MAINTYPE        :   INTEGER
      ORIG            :   SCD ̲TYPE
      COOR            :   NO ̲YES
      RELS            :   NO ̲YES
      STATUS ̲TIME     :   TIME ̲TYPE
      PREP ̲TIME       :   TIME ̲TYPE
      NAME            :   VIEW ̲NAME
      REL ̲NO ̲ITEM ̲REF :   INTEGER
      DUMMY           :   INTEGER
  END

  STATUS ̲ATTRIBUTES = RECORD

      LTD
      FIRST ̲STATUS ̲COUNT,
      LAST ̲STATUS ̲COUNT,
      FDCB,
      FILE ̲COUNT,
      FILE ̲EMPTY,
      SEARCH ̲ONE,
      SEARCH ̲TWO,
      IIF ̲FIELD ̲LIST ̲PTR,
      IIF ̲ADM ̲COUNT ̲PTR,
      LITTLE ̲BUF ̲PTR,
      SOURCE ̲BUFFER,
      DEST ̲BUFFER,
      SUBTYPE,
      WORD ̲COUNT  : INTEGER
      MESS ̲TYPE   : MESS ̲TYP
      STATUS ̲TYPE : REQ ̲STA ̲TYPE
      END ̲FILE ̲PT : INTEGER
  END

  INTA ̲REC ̲TYPE = RECORD

      LTD ̲PREP:LOGICAL ̲TERMINAL ̲NO ̲TYPE
      LTD ̲RELS:LOGICAL ̲TERMINAL ̲NO ̲TYPE
      STATUS  :STATUS ̲TYPE
      MAINTYPE:INTEGER
      TIME    :TIME ̲TYPE
      DATA    :ARRAY(1..10) OF INTEGER REL ̲MSG ̲TYPE
      OR DEL ̲STA ̲TYPE
  END

  INT ̲AREA ̲BUF ̲TYPE=ARRAY(1..MAX ̲INT ̲AREA ̲BUF ̲RECS)OF
  INTA ̲REC ̲TYPE



                        UMAM ̲SUBQUEUE =                          (U
                                                                 ̲MAINQ,U
                                                                 ̲REQUESTQ,U
                                                                 ̲PREPQ,U
                                                                 ̲VDU
                                                                 ̲PAGEQ,
                                                                 
                                                                 U
                                                                 ̲STATUS
                                                                 ̲REQQ,U
                                                                 ̲DELIVERYQ,U
                                                                 ̲APPENDQ)

                        UMAM ̲RESP =                              (EDIT
                                                                 ̲RESP,DELETE
                                                                 ̲RESP,VDU
                                                                 ̲RETR
                                                                 ̲RESP)

                        EDIT ̲ANS =                               (E
                                                                 ̲OKAY,E
                                                                 ̲NOT
                                                                 ̲AVAIB,E
                                                                 ̲SEC
                                                                 ̲PROFILE,
                                                                 
                                                                 E
                                                                 ̲NOT
                                                                 ̲FOUND,E
                                                                 ̲APP
                                                                 ̲COMP,E
                                                                 ̲APP
                                                                 ̲NOT
                                                                 ̲COMP,
                                                                 
                                                                 E
                                                                 ̲ILL
                                                                 ̲REQUEST
                                                                 ̲TYPE,E
                                                                 ̲APP
                                                                 ̲ABNORM,E
                                                                 ̲VDUP
                                                                 ̲
                                                                 
                                                                 NO
                                                                 ̲CIF)

                        DELETE ̲ANS =                             (D
                                                                 ̲NOT
                                                                 ̲FOUND,D
                                                                 ̲DELETED,D
                                                                 ̲AWAITING
                                                                 ̲APPEND,
                                                                 
                                                                 D
                                                                 ̲APPEND
                                                                 ̲COMP,D
                                                                 ̲AWAITING
                                                                 ̲RELEASE,D
                                                                 ̲SEC
                                                                 ̲
                                                                 
                                                                 PROFILE)

                        RETR ̲ANS =                               (R
                                                                 ̲NOT
                                                                 ̲FOUND,R
                                                                 ̲SEC
                                                                 ̲PROFILE,R
                                                                 ̲VDUP
                                                                 ̲NO
                                                                 ̲CIF)

                        EDIT ̲REQ ̲TYPE =                          (E
                                                                 ̲DUMMY,E
                                                                 ̲MESSAGE,E
                                                                 ̲COMMENT,E
                                                                 ̲VDU
                                                                 ̲PAGE
                                                                 ̲
                                                                 
                                                                 PAGE
                                                                 ̲PREP,E
                                                                 ̲VDU
                                                                 ̲PAGE
                                                                 ̲CONT,E
                                                                 ̲SC
                                                                 ̲COMMENT,
                                                                 
                                                                 E
                                                                 ̲PLAIN
                                                                 ̲SVC,E
                                                                 ̲ABB
                                                                 ̲SVC,E
                                                                 ̲ABB
                                                                 ̲PLAIN
                                                                 ̲SVC)

                        STATUS ̲IDENT ̲TYPE =                      (OUTGOING
                                                                 ̲ID,RELEASE
                                                                 ̲ID,DELIVERY
                                                                 ̲ID,
                                                                 
                                                                 SERVICE
                                                                 ̲ID,PERIODIC
                                                                 ̲ID)

                        STATUS ̲STATE ̲TYPE =                      (FIRST
                                                                 ̲FINAL,FIRST
                                                                 ̲NOTFINAL,NOTFIRST
                                                                 ̲
                                                                 
                                                                 FINAL,NOTFIRST
                                                                 ̲NOTFINAL)

                        DELETE ̲REQ ̲TYPE =                        (USER
                                                                 ̲DEL,SUPV
                                                                 ̲SVC,MDCO
                                                                 ̲SVC,MSO
                                                                 ̲SVC,
                                                                 
                                                                 SUPV
                                                                 ̲SPECIFIED
                                                                 ̲CIF)

                        STATUS ̲TYPE =                            (S.DELIVERY,S
                                                                 ̲DUMMY,S
                                                                 ̲SENT,S
                                                                 ̲RELEASED,
                                                                 
                                                                 S
                                                                 ̲REJECTED
                                                                 ̲RELEASE,
                                                                 S
                                                                 ̲DEFERRED
                                                                 ̲RELEASE,
                                                                 
                                                                 S
                                                                 ̲SENT
                                                                 ̲RELS,S
                                                                 ̲SENT
                                                                 ̲COOR,S
                                                                 ̲DEFERRED,S
                                                                 ̲
                                                                 
                                                                 DELETED,S
                                                                 ̲SUSP
                                                                 ̲CONT,S
                                                                 ̲SUSP
                                                                 ̲DRAFT,S
                                                                 ̲
                                                                 
                                                                 APPEND
                                                                 ̲ABANDON,S
                                                                 ̲AWAITING
                                                                 ̲APP
                                                                 ̲CONT,
                                                                 
                                                                 S
                                                                 ̲AWAITING
                                                                 ̲APP
                                                                 ̲DRAFT,S
                                                                 ̲APP
                                                                 ̲COMPLETE,
                                                                 
                                                                 S
                                                                 ̲APP
                                                                 ̲ABNORMALLY)











    DISPLAY ̲LIST ̲TYPE = RECORD

         INFO        :         UMAM ̲COUNTER
         LINK        :         POINTER
         KEY     :   ARRAY (1..DISPLAY ̲LENGTH) OF CHAR
    END

    PROFILE ̲LIST ̲TYPE = RECORD

         INFO        :         UMAM ̲COUNTER
         LINK        :         POINTER
         KEY     :   LOGICAL ̲DESIGNATOR ̲TYPE
    END

    UMAM ̲FDCB ̲TYPE = ARRAY(STATUS ̲FILE ̲NAMES) OF FDCB
    ̲INDEX

    UMAM ̲FILE ̲TYPE = ARRAY(STATUS ̲FILE ̲NAMES) OF FILE
    ̲NAME

    BIG ̲BUF ̲TYPE = ARRAY(1..PREP ̲FILE ̲LENGTH ̲W+INTA
    ̲LENGTH ̲W) OF
                    INTEGER

    LITTLE ̲BUF ̲TYPE = ARRAY(1..LITTLE ̲BUF ̲LENGTH ̲W)
    OF INTEGER

    U ̲FIELD ̲LIST = RECORD

         NO ̲OF ̲ELEMENTS        :   NO ̲OF ̲FIELDS
         ELEMENTS                  :                             FIELD
                                                                 ̲LIST
                                                                 ̲ELEMENT
    END

    STA ̲CIF ̲FIELD ̲LIST ̲TYPE = RECORD

         NO ̲OF ̲ELEMENTS        :   INTEGER"INIT = 8
         ELEMENTS                  :                             ARRAY(1..NO
                                                                 ̲OF
                                                                 ̲EL)
                                                                 OF
                                                                 FIELD
                                                                 ̲LIST
                                                                 ̲
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 ELEMENT
    END














 2) U̲M̲A̲M̲ ̲C̲O̲M̲M̲O̲N̲ ̲C̲O̲N̲S̲T̲A̲N̲T̲S̲

    PREP ̲FILE ̲LENGTH ̲W       =     4096
    EXPAND ̲FILE ̲LENGTH ̲W     =     4096
    PREP ̲FILE ̲LENGTH ̲B       =     4096*2
    EXPAND ̲FILE ̲LENGTH ̲B     =     4096*2
    RELS ̲FILE ̲LENGTH         =     4096*2
    OUTG ̲FILE ̲LENGTH ̲B       =     4096*2
    INTA ̲FILE ̲LENGTH ̲B       =     4096*2

    LITTLE ̲BUF ̲LENGTH ̲W            512
    INTA ̲LENGTH ̲W            =     256
    INTA ̲LENGTH ̲B            =     256*2
    UMAM ̲DIR ̲LENGTH ̲B        =     SIZE(FILE ̲DIR ̲TYPE)*2

    MAX ̲ADM ̲COUNT            =     10
    MAX ̲REL ̲REC              =     32
    MAX ̲DEL ̲REC              =     32
    MAX ̲OUT ̲REC              =     32
    MAX ̲NO ̲OF ̲INTAS          =     16
    MAX ̲INT ̲AREA ̲BUF ̲RECS    =     16
    MAX ̲NO ̲OF ̲INTA ̲REC       =     MAX ̲NO ̲OF ̲INTAS*MAX
                                   ̲INT ̲AREA ̲
                                   BUF ̲RECS
    MAX ̲SORT ̲REC             =     32

    DISPLAY ̲LENGTH           =     8

    UMAM ̲SUB                 =     5

    RESET ̲THR ̲75             =     170

    RESET ̲THR ̲90             =     215

    NO ̲OF ̲EL                 =     8

    SECOND ̲RELS              =     BIT ̲0
    SECOND ̲COOR              =     BIT ̲1












  3)  U̲M̲A̲M̲ ̲C̲O̲M̲M̲O̲N̲ ̲V̲A̲R̲I̲A̲B̲L̲E̲S̲

      CREATE ̲QEL,
      QEL1 : QEL ̲REFERENCE

      FILE ̲DIR : FILE ̲DIR ̲TYPE

      UMAM ̲PARAMS : SEND ̲PARAMS

      UMAM ̲ATTR : QEL ̲ATTRIBUTES

      STATUS ̲INFO : STATUS ̲ATTRIBUTES

      UMAM ̲VIEW ̲NAME : VIEW ̲NAME

      UMAM ̲TIME : TIME ̲TYPE

      DISPLAY ̲KEY ̲LIST : DISPLAY ̲LIST ̲TYPE

      PROFILE ̲KEY ̲LIST : PROFILE ̲LIST ̲TYPE

      DISPLAY ̲PARAM : VIEW ̲NAME

      CURRENT ̲DIR : DIR ̲TYPE

      UMAM ̲FDCB : UMAM ̲FDCB ̲TYPE

      UMAM ̲FILE ̲ADDR : FILE ̲ADDRESS

      UMAM ̲BLE : BUFFER ̲LIST ̲ELEMENT

      SEARCH ̲LTD : LOGICAL ̲DESIGNATOR ̲TYPE












cont.



      SEARCH ̲ONE,
      SEARCH ̲TWO,
      OLD ̲REST,
      NEW ̲REST,
      SORT ̲COUNT,
      TRANS ̲COUNT,
      NO ̲OF ̲INTA ̲REC,
      INT ̲CHANGES,
      CURRENT ̲INTA ̲NO,
      INTA ̲REC ̲NO,
      EXPAND ̲NO : UMAM ̲COUNTER

      PREP ̲REC : POINTER

      INTA ̲CONTENTS
      BIG ̲BUF ̲CONTENTS : BUF ̲CONTENTS ̲TYPE

      STA ̲ITEM : INTEGER

      INT ̲ERROR : GARBLE ̲PARAMS

      UMAM ̲STOP : BOOLEAN



























   THR ̲75
   THR ̲90 : BOOLEAN

   INT ̲AREA ̲ACB,
   STATUS ̲ACB,
   FILE ̲DIR ̲ACB : ARRAY ̲CONTROL ̲BLOCK

   INTA ̲REC : INTA ̲REC ̲TYPE

   FILE ̲START,
   OLD ̲OUTG ̲START,
   OLD ̲RELE ̲START,
   OLD ̲DELI ̲START,
   OUTG ̲START,
   RELE ̲START,
   DELI ̲START : LONG

   DEST ̲BUF : DEST ̲BUF ̲TYPE

   IMF ̲MAINTYPE : INTEGER

   IMF ̲ORIG ̲SCD : SCD ̲TYPE

   UMAM ̲DIR ̲FDCB : FDCB ̲INDEX

   UMAM ̲VIEW ̲ATTR : VIEW ̲ATTRIBUTES

   UMAM ̲FILE ̲NAME ̲PT : ARRAY(STATUS ̲FILE ̲NAMES) OF POINTER

   CC ̲SAVE : ARRAY(1..8) OF INTEGER

   UCIF ̲LIST : U ̲FIELD ̲LIST

   STA ̲CIF ̲FIELD ̲LIST : STA ̲CIF ̲FIELD ̲LIST ̲TYPE
   UMAM ̲FILES : UMAM ̲FILE ̲TYPE

   REPORT ̲QUEUE,
   STATISTICS ̲QUEUE,
   MDCO ̲QUEUE,
   SEND ̲QUEUE,
   UMAM ̲COLQ,
   UMAM ̲CMDQ : QUEUE ̲REFERENCE

   LITTLE ̲BUF : LITTLE ̲BUF ̲TYPE
   BIG ̲BUF : BIG ̲BUF ̲TYPE




4.2.5.6 C̲o̲m̲m̲o̲n̲ ̲S̲u̲b̲p̲a̲c̲k̲a̲g̲e̲ ̲P̲r̲o̲c̲e̲d̲u̲r̲e̲s̲



4.2.5.6.1 U̲M̲A̲M̲ ̲Q̲E̲L̲ ̲D̲I̲S̲M̲A̲N̲T̲L̲E



4.2.5.6.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 procedure is to dismantle an object
         referenced by a QEL.

         The referenced view will be checkpointed if the CHECKPOINT
         STATUS is true.

         The referenced QEL with be set to NIL.



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

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

         a) UMAM ̲DISMANTLE (QEL:        QEL ̲REFERENCE ̲TYPE
                            CP ̲STATUS:  BOOLEAN
                            OBJECT:     OBJECT ̲TYPE)

         b) UMAM ̲DISMANTLE (R2,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̲

         R2 pointer to QEL         (DEST)
         R4            CP ̲STATUS   (DEST)
         R5            OBJECT      (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.1.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̲

             OBJECT ̲TYPE
             QEL ̲REFERENCE
             USER ̲ACTION ̲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
                 QEL ̲SAVE: INTEGER



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

         Refer figure 4.2.5.6.1-1



UMAM ̲QEL ̲DISMANTLE
QEL EQ NIL?

CASE OBJECT OF OBJECT ̲TYPE

    TIMER,
     QEL?      DISMANTLE (QEL) (CC):  OK

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

                 ERROR?  ANALYZE ̲ERROR (CC,0)

                 OK?

             END CASE

   VIEW?-CP ̲STATUS EQ FALSE?-U̲M̲A̲M̲ ̲C̲I̲F̲ ̲D̲I̲S̲M̲A̲N̲T̲L̲E̲(̲-̲2̲)̲

         CASE SAVE ̲VIEW (DISMANTLE, QEL (CC): ERROR ̲OK

             ERROR?  ANALYZE ̲ERROR(CC,0)

             OK?

         END CASE

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


                     UMAM CIF DISMANTLE (CREATE QEL)


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

             ERROR?     ANALYZE ̲ERROR(CC, 0)

             OK?

         END CASE

























                     Fig. 4.2.5.6.1-2


4.2.5.6.2 V̲D̲U̲ ̲P̲A̲G̲E̲ ̲L̲O̲O̲K̲U̲P̲




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

         The purpose of this procedure is to "retrieve" a VDU-page.
          If the requested VDU-page can be found, then the procedure
         will use the OK EXIT otherwise the ERROR EXIT is used.



4.2.5.6.2.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)  VDU ̲PAGE ̲LOOKUP    (BUFFER :    NO ̲YES)
                                (VIEW ̲NAME : VIEW ̲NAME ̲TYPE)
                                 ERROR ̲OK
         b)  VDU ̲PAGE ̲LOOKUP    (R0, R1, 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      BUFFER         (DEST)
         R6      LINK           (DEST)

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

         R1      pointer to VIEW ̲NAME

         R0, R2-R7              (DEST)




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

          DISPLAY ̲TABLE
          DISP ̲NAME ̲TYPE
          VIEW ̲NAME ̲TYPE
          VDU ̲PAGE ̲PARAM

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

          DISPLAY ̲KEY ̲LIST  (m)
          QEL1
          LITTLE ̲BUF   (m)

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

          VAR
              SAVELINK : INTEGER

              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.KEY)



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

     Refer figure 4.2.5.6.2-1




VDU ̲PAGE ̲LOOKUP

EQUIVALENCE(LITTLE ̲BUF(1), DISP ̲NAME: VDU ̲PAGE ̲PARAM)

BUFFER EQ NO?

CASE READ ̲BUFFER(QEL1, SIZE (VDU ̲PAGE ̲PARAM),

              VDU ̲PAGE ̲OFFSET)
              (SIZE, CC):  ERROR ̲OK

   ERROR?        ANALYZE ̲ERROR (CC,0)

   OK?

END CASE

DISPLAY ̲KEY ̲LIST.KEY = DISP ̲NAME.DISPLAY ̲NAME

DISPLAY ̲KEY ̲LIST.INFO = NULL

DISPLAY ̲KEY ̲LIST.LINK = NIL

CASE SEARCH ̲PRIMARY ̲KEY  (DISPLAY ̲TABLE,DISPLAY ̲KEY ̲LIST,
                       DISP ̲COUNT,SIZE(DISPLAY ̲PARAM),
                       DISP ̲READ ̲MASK)
                       (DISPLAY ̲PARAM,CC): ERROR ̲OK

   ERROR?        ANALYZE ̲ERROR(CC,0)

   OK?

END CASE

DISPLAY ̲KEY ̲LIST.INFO EQ NULL? RETURN (ERROR)

VIEW ̲NAME = DISPLAY ̲PARAM.VIEW ̲NAME

RETURN (OK)








                     Fig. 4.2.5.6.2-1


4.2.5.6.3 S̲E̲N̲D̲ ̲I̲T̲E̲M̲



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

         A generated CIF is sent to the requestor and the view
         is dismantled.



4.2.5.6.3.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 ̲ITEM (INFORMATION : INTEGER
                        MAINTYPE    :  QELEMENT ̲MAINTYPE
                        SUBTYPE     :  MESSAGE ̲SUBTYPE
                        CP ̲STATUS   :  BOOLEAN
                        OBJECT      :  OBJECT ̲TYPE)

         b)  SEND ̲ITEM (R0, 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̲

         R0  QEL ̲INFORMATION    (DEST)
         R2  MAINTYPE           (DEST)
         R3  SUBTYPE            (DEST)
         R4  CP ̲STATUS          (DEST)
         R5  OBJECT             (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.3.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̲

             SEND ̲PARAMS
             USER ̲ACTION ̲TYPE
             QELEMENT ̲MAIN ̲TYPE
             QEL ̲REFERENCE
             OBJECT ̲TYPE

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

             UMAM ̲PARAMS  (m)
             CREATE ̲QEL

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

             VAR
                 SAVELINK : INTEGER
                 U ̲OBJECT : OBJECT ̲TYPE



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

         Refer figure 4.2.5.6.3-1




SEND ̲ITEM

UMAM ̲PARAMS.INF = INFORMATION

U ̲OBJECT = OBJECT

UMAM ̲PARAMS.MAINTYPE = MAINTYPE

UMAM ̲PARAMS.SUBTYPE = SUBTYPE

UMAM ̲PARAMS.PROFILE = NULL

UMAM ̲PARAMS.INFORMATION ̲TYPE = FALSE

UMAM ̲PARAMS.FLAG = CAMPS ̲ORIG

CASE SEND ̲REPLY(UMAM ̲PARAMS,CREATE ̲QEL, QEL1)
                 (UMAM ̲PARAMS,CC) : ERROR ̲OK

   ERROR?-CASE ANALYZE ̲ERROR(CC,2,QEL ̲PROFILE ̲CHECK,BLOCKED
 ̲QUEUE)
                           (LA1,LA2)

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

          END CASE

   OK?

END CASE

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




















                     Fig. 4.2.5.6.3-1



4.2.5.6.4 S̲E̲N̲D̲ ̲R̲E̲S̲P̲O̲N̲S̲E̲



4.2.5.6.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 purpose of this procedure is to send a response
         QEL.



4.2.5.6.4.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 ̲RESPONSE (RESPONSE  : UMAM ̲RESP
                            COMPLETION: UMAM ̲ANSWER)

         b)  SEND ̲RESPONSE (R0, 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̲

         R0  RESPONSE           (DEST)
         R1  COMPLETION ̲CODE    (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.4.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̲

             SEND ̲PARAMS
             QELEMENT ̲MAINTYPE
             TEP ̲INTERNAL ̲SUBTYPE
             UMAM ̲RESP

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

             UMAM ̲PARAMS  (m)
             QEL1

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

             VAR
                 SAVELINK : INTEGER



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

         Refer figure 4.2.5.6.4-1





SEND ̲RESPONSE

UMAM ̲PARAMS.MAINTYPE = TEP ̲INTERNAL

UMAM ̲PARAMS.SUBTYPE  = UMAM ̲ERROR ̲RESPONSE

UMAM ̲PARAMS.FLAG     = RESPONSE

UMAM ̲PARAMS.INF      = COMPLETION ̲CODE

CASE SEND ̲REPLY (UMAM ̲PARAMS,NIL,QEL1)
              (UMAM ̲PARAMS,CC) : ERROR ̲OK

   ERROR?     CASE ANALYZE ̲ERROR(CC,2,QEL ̲PROFILE ̲CHECK,
                            BLOCKED ̲QUEUE) : (LA3,LA4)

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

          END CASE

  OK?

END CASE
























                     Fig. 4.2.5.6.4-1


4.2.5.6.5 C̲R̲E̲A̲T̲E̲ ̲O̲P̲E̲N̲ ̲S̲T̲A̲T̲U̲S̲ ̲C̲I̲F̲



4.2.5.6.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 procedure:

         -   status CIF creation
         -   status CIF opening.



4.2.5.6.5.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)  CREATE ̲OPEN ̲STATUS ̲CIF

         b)  CREATE ̲OPEN ̲STATUS ̲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̲

         R0-R7                  (DEST)



4.2.5.6.5.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 ̲TYPE
             VIEW ̲REFERENCE ̲TYPE
             MAX ̲NO ̲FIELDS

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

             UMAM ̲CMDQ
             CREATE ̲QEL (m)



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

             VAR:

             STA ̲CREATE ̲ATTR: VIEW ̲ATTRIBUTES
             SAVERG         : INTEGER

             CONST:

             STATUS ̲PROFILE   = UNCLASSIFIED
             STA ̲FIELD ̲LENGTH = 52



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

             Refer figure 4.2.5.6.5-1





CREATE ̲OPEN ̲STATUS ̲CIF


         CASE CREATE ̲CIF(STA ̲CREATE ̲ATTR, UMAM ̲CMDQ)
                        (CREATE ̲QEL, CC):  ERROR ̲OK


            ERROR?   ANALYZE ̲ERROR(CC, 0)


            OK?      CASE OPEN ̲VIEW (CREATE ̲QEL)(CC):  ERROR
         ̲OK

                        ERROR?   ANALYZE ̲ERROR(CC, 0)

                        OK?


                     END CASE



         END CASE
























                     Fig. 4.2.5.6.5-2


4.2.5.6.6    C̲L̲O̲S̲E̲/̲S̲E̲N̲D̲ ̲R̲E̲P̲L̲Y̲



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

         The following functions are executed:

         -   close status CIF
         -   send CIF to requestor



4.2.5.6.6.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)  CLOSE ̲SEND ̲REPLY

         b)  CLOSE ̲SEND ̲REPLY(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.6.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
             OBJECT ̲TYPE
             SEND ̲PARAMAS ̲TYPE
             QELEMENT ̲MAIN ̲TYPE
             STATUS ̲SUBTYPE
             USER ̲ACTION ̲TYPE






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

             UMAM ̲COLQ  (m)
             UMAM ̲PARAMS  (m)
             CREATE ̲QEL
             QEL1
             STATISTIC ̲QUEUE

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

             VAR
                 SAVER6 : INTEGER



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

             Refer figure 4.2.5.6.6-1





         CLOSE ̲SEND ̲REPLY

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

            ERROR?   ANALYZE ̲ERROR (CC,0)

            OK?

         END CASE

         UMAM ̲PARAMS.MAINTYPE = STATUS

         UMAM ̲PARAMS.SUBTYPE = STATUS ̲INFO.SUBTYPE

         UMAM ̲PARAMS.PROFILE = 0

         STATUS ̲INFO.STATUS ̲TYPE EQ NORMAL?    S̲E̲N̲D̲
                                               ̲S̲T̲A̲T̲U̲S̲
                                               ̲C̲I̲F̲
                                               ̲(̲-̲2̲)

         STATUS ̲INFO.SUBTYPE EQ DELIVERY MIDNIGHT ̲STATUS?

                             UMAM ̲COLQ.SUBQUEUE = U
                             ̲STATUS ̲REQ Q

                             CASE SEND ̲REQUEST(UMAM
                             ̲PARAMS,CREATE ̲QEL,
                                               SPIP
                                            ̲STAQ,UMAM
                                            ̲COLQ)
                                               (UMAM
                                            ̲PARAMS,CC):ERROR
                                            ̲OK

                                ERROR? ANALYZE ̲ERROR
                                       (CC,0)

                                OK?

                             END CASE

         CASE SEND ̲QEL (UMAM ̲PARAMS, CREATE ̲QEL, SPIP
         ̲STAQ)

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


               FIGURE 4.2.5.6.6-1



SEND ̲STATUS ̲CIF

         CASE SEND ̲REPLY(UMAM ̲PARAMS, CREATE ̲QEL, QEL1)
                   (UMAM ̲PARAMS, CC):  ERROR ̲OK


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

                    LA1?

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

                 END CASE


            OK?


         END CASE


























                Fig. 4.2.5.6.6-2


4.2.5.6.7  C̲O̲N̲V̲E̲R̲T̲ ̲O̲U̲T̲G̲ ̲T̲O̲ ̲I̲N̲T̲A̲



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

       This procedure moves the contents of a record
       in the EXPAND or PREP ̲AREA into the INTA ̲REC.



4.2.5.6.7.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)  CONVERT ̲OUTG ̲TO ̲INTA(PREP ̲REC: PREP ̲REC
           ̲TYPE)

       b)  CONVERT ̲OUTG ̲TO ̲INTA (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  POINTER TO PREP ̲REC   (DEST)
       R6  LINK                  (DEST)

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

       R0-R7                     (DEST)



4.2.5.6.7.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
           INTA ̲REC ̲TYPE

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

           INTA ̲REC (m)

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

           VAR
               SAVELINK : INTEGER




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

             The contents of PREP ̲REC is moved to INTA
             ̲REC



             CONVERT ̲OUTG ̲TO ̲INTA

             INTA ̲REC.LTD ̲PREP = PREP ̲REC.LTD.PREP
             INTA ̲REC.STATUS = PREP ̲REC.STATUS
             INTA ̲REC.MAINTYPE = PREP ̲REC.MAINTYPE

             REL ̲MSG ̲TYPE.ORIG = PREP ̲REC.ORIG
             REL ̲MSG ̲TYPE.CIF ̲REF = PREP ̲REC.NAME.CIF
             ̲ID.LEAST
             REL ̲MSG ̲TYPE.NOT ̲REF = PREP ̲REC.REL ̲NO
             ̲ITEM ̲REF

             INTA ̲REC.LTD ̲RELS = 0

             REL ̲MSG ̲TYPE.SSN = 0

             G̲E̲T̲ ̲T̲I̲M̲E̲(̲A̲D̲D̲R̲(̲I̲N̲T̲A̲ ̲R̲E̲C̲+̲S̲I̲Z̲E̲(̲I̲N̲T̲A̲ ̲R̲E̲C̲ ̲T̲Y̲P̲E̲.̲D̲A̲T̲A̲)̲)̲.̲R̲E̲L̲
             ̲M̲S̲G̲ ̲
                                                 T̲Y̲P̲E̲.̲T̲I̲M̲E̲)̲)̲
             ̲(̲4̲.̲2̲.̲5̲.̲6̲.̲3̲3̲)

             INTA ̲REC.TIME = REL ̲MSG ̲TYPE.TIME

             END CONVERT ̲OUTG ̲TO ̲INTA



















              FIGURE 4.2.5.6.7.4-1






4.2.5.6.8    S̲T̲O̲R̲E̲ ̲P̲R̲E̲P̲



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

             The purpose of this procedure is to write
             the contents of BIG ̲BUF (PREPARATION ̲AREA)
             onto the Preparation-file



4.2.5.6.8.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 ̲PREP

             b)  STORE ̲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.8.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
                 FDCB ̲INDEX
                 PREP ̲REC ̲TYPE
                 STATUS ̲FILE ̲NAMES
                 FILE ̲ADDRESS








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

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

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

                 VAR
                     SAVELINK : INTEGER
                     MULT : LONG



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

             Refer figure 4.2.5.6.8-1































         STORE ̲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 MODIFYBYTES(FILE ̲ID,UMAM ̲FILE ̲ADDR,UMAM
         ̲BLE)

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

            ERROR?        ANALYZE ̲ERROR(CC, 0)

            OK?

         END CASE


















                Fig. 4.2.5.6.8-1


4.2.5.6.9    I̲N̲P̲U̲T̲ ̲C̲O̲M̲P̲L̲E̲T̲E̲ ̲I̲N̲T̲



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

         This procedure reads the contents of the file COLLECT
         ̲
         AREA. The data are placed in BIG ̲BUF.
         The address of CURRENT ̲INTA is BIG ̲BUF (PREP ̲FILE ̲
         LENGTH + 1)



4.2.5.6.9.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 ̲COMPLETE ̲INT (INT ̲AREA: INTA ̲AREA ̲TYPE)

         b)  INPUT ̲COMPLETE ̲INT (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̲

         R6                  LINK           (DEST)

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

         R0      pointer to INT ̲AREA
         R1-R7                              (DEST)



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

             INTA ̲REC ̲TYPE
             STATUS ̲FILE ̲NAMES
             BUFFER ̲LIST ̲ELEMENT
             FILE ̲ADDRESS
             FDCB ̲INDEX






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

             BIF ̲BUF ̲CONTENTS (m)
             UMAM ̲BLE  (m)
             UMAM ̲FILE ̲ADDR (m)
             MAX ̲NO ̲OF ̲INTAS
             CURRENT ̲INTA ̲NO
             UMAM ̲FDCB 
             INTA ̲LENGTH ̲B
             INTA ̲LENGTH ̲W

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

             VAR
                 SAVELINK : INTEGER
                 MULT : LONG



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

             Refer figure 4.2.5.6.9-1





INPUT ̲COMPLETE ̲INT



   BUFFER ̲ADDRESS = BIG ̲BUFFER(1+(MAX ̲NO ̲OF ̲INTAS-CURRENT
   ̲INTA ̲NO)
                                    * INTA ̲LENGTH ̲B)


   BUFFER ̲SIZE = (CURRENT ̲INTA ̲NO * INTA ̲LENGTH ̲B)



   UMAM ̲FILE ̲ADDR.FIRST ̲BYTE = 0


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


   UMAM ̲BLE.ADDRESS = BUFFER ̲ADDRESS…02…
   UMAM ̲BLE.BYTE ̲SIZE = BUFFER ̲SIZE


   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, 0)


      OK?  BIG ̲BUF ̲CONTENTS=INT



   END CASE

   INT ̲AREA = UMAM ̲BLE.ADDRESS



                Fig. 4.2.5.6.9-1