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

⟦6f3c26fd7⟧ Wang Wps File

    Length: 29074 (0x7192)
    Types: Wang Wps File
    Notes: USER VDU, CPS/SDS/039     
    Names: »1564A «

Derivation

└─⟦945185ab2⟧ Bits:30005808 8" Wang WCS floppy, CR 0113A
    └─ ⟦this⟧ »1564A « 

WangText



%…08…%…0b…%…0e…%…01…%   $…09…$…0d…$…00…$ $…07…#…0a…#…86…1
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             …02…
             
             
             
             
             
             
             
             
             
             
             …02…
             
             
             …02…
             
             
             
             
             
             
             
             

…02…CPS/SDS/039

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








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

         N/A.



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

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

             None

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

         FORMAT ̲IFCB                           refer 4.1.4
         FORMAT ̲OUTPUT ̲PENDING (m)             refer 4.2.3.4.3
         MSG ̲OUTPUT ̲PENDING (m)                refer 4.2.3.4.2
         READ ̲END                              refer 4.2.3.5
         CIF ̲ID                                refer 4.1.4
         END ̲ADDR                              refer 4.2.3.4.6
         FORMAT ̲DISPLAY ̲TABLE                  refer 4.2.3.5
         VDIA ̲CIF ̲LOCATION (m)                 refer 4.2.3.5
         VDIA ̲ADMINISTRATION ̲LOCATION          refer 4.2.3.5
         VDU ̲OP ̲NAME                           refer 4.2.3.5
         VDIA ̲M ̲MON ̲PARAMETER                  refer 4.2.3.5
         VDIA ̲I0 ̲PARAMETRE                     refer 4.2.3.5

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

             None



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

         Depending on how much of the CIF has been displayed
         on the VDU the transaction of displaying a message
         is continued or ended. The procedure of displaying
         a CIF is based upon the two other modules "Build MMON
         ̲Record" and "Build Field and Buffer List". The first
         module calculates the amount of CIF data we can transport
         in a CIF buffer and "Build Buffer and Field List" module
         takes care of the method to send the incomming part
         to te VDU. If it only concerns a format to display
         a completion code is send to UFCO.



                 VDU ̲DATA ̲OUTPUT

   CASE SYS ̲WAIT (VDU ̲OP) (CC) : ERROR ̲OK

         OK ?  MSG ̲PENDING ?  READ ̲END EQ FALSE ? G̲E̲T̲
         ̲A̲N̲D̲ ̲D̲I̲S̲P̲L̲A̲Y̲ ̲C̲I̲F̲
                                                                 (̲4̲.̲2̲.̲3̲.̲4̲.̲5̲-̲2̲

                            MSG ̲OUTPUT ̲PENDING = FALSE

                            MOVE OUTPUT ̲MSG ̲CC TO VDIA
                         ̲CC ̲OP.CMD

                            SIGNAL ̲OPSEM (VUS ̲S2, VDIA
                         ̲CC ̲OP):OK

             FORMAT PENDING ? FORMAT OUTPUT ̲FORMAT
             ̲CC TO VDIA ̲CC ̲OP

                              MOVE OUTPUT ̲FORMAT ̲CC
                         TO VDIA ̲CC ̲OP.CMD

                                    SIGNAL ̲OPSEM (VUS
                                   ̲S2, VDIA ̲CC ̲OP):OK

         ERROR ? CASE ANALYSE ̲ERROR (CC,1,VDU ̲SPLIT
         ̲FAILED) : (L1)

                   L1 ?   MOVE SPLIT ̲FAILED ̲CC TO VOIA
                 ̲CC ̲OP ̲CMD

                          SIGNAL ̲OPSEM (VVS ̲S2, VDIA
                     ̲CC ̲OP) : OK

               END CASE

   END CASE

END















               Figure 4.2.3.4.5-1



               GET AND DISPLAY CIF

         B̲U̲I̲L̲D̲ ̲M̲ ̲M̲O̲N̲ ̲R̲E̲C̲O̲R̲D̲ ̲(̲4̲.̲2̲.̲3̲.̲4̲.̲6̲)̲

         CASE READ ̲VIEW  (SIZE, LIST, VIEW, BUFFER)
         (CC):ERROR ̲OK

             ERROR?                ANALYSE ̲ERROR (CC,O)

             OK ?

         END CASE

         B̲U̲I̲L̲D̲ ̲F̲I̲E̲L̲D̲ ̲A̲N̲D̲ ̲B̲U̲F̲F̲E̲R̲ ̲L̲I̲S̲T̲ ̲(̲4̲.̲2̲.̲3̲.̲4̲.̲7̲)̲

         SET MSG ̲OUTPUT ̲PENDING = TRUE

         MOVE FIELDS ̲TO ̲VDU TO VDU ̲OF.CMO

         CASE INIT ̲FIELDS ̲OUTPUT (FORMAT ̲IFCB, FIELD
         ̲LIST, BLE,
                  NO ̲OF ̲            FIELDS, BYTE ̲LENGTH,
                                   VDU ̲OP)
                  (CC) : ERROR ̲OK
           ERROR ?   ANALYZE ̲ERROR (CC,C)

           OK ?  ASSOCIATE (VUS ̲S3, VDU ̲OP) : OK

     END CASE



















               Figure 4.2.3.4.5-2



4.2.3.4.6    B̲U̲I̲L̲D̲ ̲M̲ ̲M̲O̲N̲ ̲R̲E̲C̲O̲R̲D̲



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

         This module calculates the begin-address and the end-address
         in the CIF that have to be contained in a CIF-Buffer-Transport.
         The problem is to get a CIF cut up in so few CIF-Buffers
         as possible.



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

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

         a)  BUILD ̲MMON ̲RECORD
         b)  BUILD ̲MMON ̲RECORD (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̲

         R0 ̲R7                     (DEST)



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

         N/A



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

             None



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

             FORMAT ̲DISPLAY ̲TABLE              refer 4.2.3.5
             BEG ̲ADDR (m)                      refer 4.2.3.5
             END ̲ADDR (m)                      refer 4.2.3.5
             VDIA ̲M ̲MON ̲PARAMETER (m)          refer 4.2.3.5
                                               
             READ ̲END  (m)                     refer 4.2.3.5
             VOLUME ̲ARRAY (m)                  refer 4.2.3.5
             VDIA ̲CIF ̲LOCATION                 refer 4.2.3.5

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

             VAR TRANS ̲SIZE :      INTEGER

                 PRESENT ̲FIELD  :  INTEGER




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

         A CIF-Buffer can contain 512 bytes of a msg, but the
         last transport will contain the rest of the message
         and can be less than 512 bytes.




               BUILD M MON RECORD

         BEG ̲ADDR.CIF ̲ADDR=END ̲ADDR.CIF ̲ADDR + 1

         BEG ̲ADDR.FIELD ̲NO=END ̲ADDR.FIELD ̲NO

         TRANS ̲SIZE=512
         
         TRANS ̲SIZE LE REST OF PRESENT FIELD SIZE ?

                                               NEW
                                               ̲ADDR=ADDR
                                               + 512
                                               END
                                               (NEW
                                               ̲ADDR,
                                               FIELD)

         PRESENT FIELD EQ LAST FIELD?   NEW ̲ADDR=LAST
                                        FIELD SIZE=ADDR
                                               SET
                                               READ
                                               ̲END=TRUE
                                               END
                                               ̲ADDR=(NEW
                                               ̲ADDR,
                                               FIELD)

         TRANS ̲SIZE = (TRANS ̲SIZE - REST OF PRESENT
         FIELD SIZE)

         LOOP

            NEXT ̲FIELD ̲EQ ̲LAST ̲FIELD AND TRANS ̲SIZE
         GE LAST ̲FIELD ̲SIZE ?

                                               NEW
                                               ̲ADDR=LAST
                                               ̲FIELD
                                               ̲SIZE

                                               END
                                               ̲ADDR=(NEW
                                               ̲ADDR,
                                               NEXT
                                               FIELD)
                                               SET
                                               READ
                                               ̲END
                                               = TRUE
                                                 EXIT
                                               LOOP

            TRANS ̲SIZE LE NEXT ̲FIELD ̲SIZE ?

                                               NEW
                                               ̲ADDR=512
                                               BYTES
                                               - TRANS
                                               ̲SIZE

                                               END
                                               ̲ADDR=(NEW
                                               ̲ADDR,
                                               NEXT
                                               FIELD)

                                                  EXIT
                                               LOOP

            TRANS ̲SIZE=(TRANS ̲SIZE - NEXT TRUE FLAG
         FIELD SIZE)

            PRESENT FIELD = NEXT TRUE FLAG FIELD

         END LOOP

     BUILD VDIA ̲M ̲MON PARAMETERS (V ̲SIZE, V ̲VIEW, V
   ̲LIST, V ̲BUFFER)

   END

               Figure 4.2.3.4.6-1


4.2.3.4.7    B̲U̲I̲L̲D̲ ̲F̲I̲E̲L̲D̲ ̲A̲N̲D̲ ̲B̲U̲F̲F̲E̲R̲ ̲L̲I̲S̲T̲



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

         This module gets messages data from the CIF buffer
         and makes the modifications so the msg fits the format
         on VDU. The modifications will be done by some small
         procedures. To illustrate one takes care of displaying
         SCD's another procedure takes care of displaying the
         text-fields.



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

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

         a)  BUILD ̲FIELD ̲AND ̲BUFFER ̲LIST
         b)  BUILD ̲FIELD ̲AND ̲BUFFER ̲LIST (R6)

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

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

         R6      LINK              (DEST)

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

         R0 - R7                   (DEST)



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



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

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

             None

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

             BEG ̲ADDR                          refer 4.2.3.5
             END ̲ADDR (m)                      refer 4.2.3.5
             VALIDATION ̲TABLE                  refer 4.2.3.5
             FORMAT DISPLAY ̲TABLE              refer 4.2.3.5
             VDIA ̲I0 ̲PARAMETER                 refer 4.2.3.5



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

             VAR LINE ̲NO:                          INTEGER
             DISPLAY ̲MODIFICATION ̲PROCEDURES ̲DATA  (TBD)



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

         Going down the format display table field by field,
         a total format will be specified. Each field indicates
         pointer to where in the CIF the wanted text can be
         found and in the same field the address on the VDU
         is indicated. Before sending the text to VDU it will
         be noticed if the incoming line text from CIF-Buffer
         has been cutted true, then it will be necessary to
         begin the next CIF-Buffer from te beginning of the
         text line.






           BUILD FIELD AND BUFFER LIST

   LOOP

      NEXT FIELD IN TABLE

      CALCULATE ADDRESS (CIF FIELD, POINTER ADD, POINTER
      COUNT)

      CASE MODIFY DISPLAY PROCEDURE OF:

         SCD ̲S:

                 CASE  CC  OF

                      OK?

                      NOT OK (SPLIT ̲DATA)?-CALCULATE
                     START ADDRRESS
                                                  
                                               OF SPLITTED
                                               DATA

                                                  
                                               UPDATE
                                               END
                                               ̲ADDR.CIF
                                               ̲ADDR

                                                  
                                               EXIT
                                               LOOP

                 END CASE

             TEXT:
                 CASE CC OF
                     OK ?

                     NOT OK ? (SPLIT DATA) - CALCULATE
                     START ADDRESS 
                                                  
                                                 OF
                                               SPLITTED
                                               DATA

                                                  
                                                 UPDATE
                                               END
                                               ̲ADDR.CIF
                                               ̲ADDR

                                                  
                                                 EXIT
                                               LOOP

                 END CASE

      END MODIFICATION
      BUILD VDIA ̲IO ̲PARAMETERS
      WRITE IN FIELD ̲LIST AND BUFFER ̲LIST

      INCREMENT LINE ̲ON

      LINE NO EQ END ̲ADDR ?    EXIT LOOP

   END LOOP

END                     Figure 4.2.3.4.7-1…86…1       
  …02…   …02…   …02…   …02…             …02…           …02…                
 
4.2.3.4.8    S̲T̲A̲R̲T̲ ̲V̲D̲U̲ ̲I̲N̲P̲U̲T̲



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

   This module is the upstart to the input procedure
   from VDU. It is used of both request formats and
   messages that shall be sent on CIF.



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

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

   a) START ̲VDU ̲INPUT

   b) START ̲VDU ̲INPUT (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.3.4.8.3 M̲o̲d̲u̲l̲e̲ ̲C̲o̲m̲p̲o̲n̲e̲n̲t̲s̲

      N/A



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

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

      IDENT ̲TYPE     refer 4.1.4



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

             TMP ̲RECORD                        refer 4.1.4
             FORMAT ̲IFCB                       refer 4.1.4
             START ̲ADDR (m)                    refer 4.2.3.5
             FINISH ̲ADDR (m)                   refer 4.2.3.5
             VALIDATION ̲TABLE                  refer 4.2.3.5

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

             TBD



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

         If the preceding CMD from UFCO was the Format-output
         cmd the right Validationtable can be found in the local
         data area. With the information of the size of the
         fields and how many incarnations are presented on VDU,
         it can be calculated how much of the VDU can be fetched
         in one VDU-Buffer.





                 START ̲VDU ̲INPUT

         DO THE FORMAT ID CORRESPOND TO THE TABLE IN
         LOCAL DATA ?

         BUILD TMP RECORD

         CASE TMP ̲SEARCH (VALIDATION ̲TABLE) (CC) :
         ERROR ̲OK

             ERROR ?   ANALYZE ERROR (CC, O)

             OK?

         END CASE

         GET VALIDATION KEY

         GET PARAMETER SIZE

         CALCULATE START ̲ADDR

         CALCULATE FINISH ̲ADDR

         CALCULATE (VDIA ̲BLE, VDIA ̲FIELD, VDIA ̲NO)

         MOVE FIELDS ̲FROM ̲VDU TO VDU OP.CMO

         CASE INIT ̲FIELDS ̲INPUT (FORMAT ̲IFCB, BLE,
         FIRST ̲FIELD, 
                                         NO ̲OF ̲FIELDS,
                                   VDU ̲OP) (CC):ERROR
                                   ̲OK

             ERROR ?   ANALYZE ERROR (CC, O)

             OK?  ASSOCIATE (VUS ̲S3, VDU ̲OP) : OK

         END CASE

    END










               Figure 4.2.3.4.8-1



4.2.3.4.9    V̲D̲U̲ ̲D̲A̲T̲A̲ ̲I̲N̲P̲U̲T̲



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

         This module takes care of the input from a VDU buffer
         called by "START ̲VDU ̲INPUT" module or itself. If it
         concerns a msg it is validated and sent for storage
         on CIF, but a request-input is only validated. When
         all the message have been fetched the administration
         field is sent on CIF as the last CIF-transaction. If
         any errors have been detected the module "Display error
         codes" is called. It is also checked how many times
         a message has been validated.



4.2.3.4.9 M̲o̲d̲u̲l̲e̲d̲ ̲i̲n̲t̲e̲r̲f̲a̲c̲e̲

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

         a)  VDU ̲DATA ̲INPUT
         b)  VDU ̲DATA ̲INPUT (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.3.4.9.3 M̲o̲d̲u̲l̲e̲ ̲C̲o̲m̲p̲o̲n̲e̲n̲t̲s̲

             N/A





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

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

             IDENT ̲TYPE                        refer 4.1.4

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

             FORMAT ̲IFCB                       refer 4.1.4
             MSG ̲INPUT ̲PENDING (m)             refer 4.2.3.5
             REQ ̲INPUT ̲PENDING (m)             refer 4.2.3.5
             VALIDATION ̲REQ                    refer 4.2.3.5
             MHI ̲FLAG                          refer 4.2.3.5
             START ̲ADDR (m)                    refer 4.2.3.5
             FINISH ̲ADDR (m)                   refer 4.2.3.5
             VALIDATION ̲TABLE                  refer 4.2.3.5
             VALIDATION COUNT (m)              refer 4.2.3.5
             MHI ̲COMPLETION                    refer 4.2.3.5

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

             VAR     TABLE ̲ON ̲CIF:             BOOLEAN
             INIT    TABLE ̲ON ̲CIF=             FALSE



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

         Two major parts are found in this module. Either it
         is a request or a msg input. The request inputs are
         terminated at once but the msg input is cut op in VDU-Buffer-size.
         Each time a VDU-Buffer arrives the content is syntax-validated
         only when all the msg has been read the semantic validation
         will take place.




                 VDU DATA INPUT

     CASE SYS ̲WAIT (VDU ̲OP) (BYTE ̲TRANSFERRED, FIELD
     ̲LIST, CC):
                                            ERROR ̲OK

         ERROR?  CASE ANALYZE ̲ERROR (CC, 1, VDU ̲SPLIT
         ̲FAILED): (L1)

                     L1 ?  MOVE SPLIT ̲FAILED ̲CC to
                     VDIA ̲CC ̲OP.CMO

                                     SIGNAL ̲OPSEM (VUS
                                   ̲S2) (VDIA ̲CC ̲OP):OK

                 END CASE

         OK ?    I̲N̲V̲E̲S̲T̲ ̲P̲E̲N̲D̲I̲N̲G̲ ̲F̲U̲N̲C̲ ̲(̲4̲.̲2̲.̲3̲.̲4̲.̲9̲-̲2̲)̲

     END CASE






























               Figure 4.2.3.4.9-1



     MSG ̲PENDING EQ TRUE?

             V̲A̲L̲I̲D̲A̲T̲I̲O̲N̲ ̲(̲4̲.̲2̲.̲3̲.̲5̲.̲1̲0̲)̲

             CASE WRITE ̲VIEW (SIZE,LIST,VIEW,BUFFER)
                                        (CC):ERROR
                                   ̲OK

                 ERROR?            ANALYZE ̲ERROR (CC,O)

                 OK?

             END CASE

             TABLE ̲ON ̲CIF EQ TRUE? -D̲A̲T̲A̲ ̲I̲N̲P̲U̲T̲ ̲E̲N̲D̲
             ̲(̲4̲.̲2̲.̲3̲.̲4̲.̲9̲-̲3̲)̲

             START ̲ADDR=FINISH ̲ADDR + 1

             CALCULATE FINISH ̲ADDR

             LAST ADDR? - SET TABLE ̲ON ̲CIF = TRUE

             CALCULATE (VDIA ̲BLE,VDIA ̲FIELD,VDIA ̲NO)

             MOVE FIELDS ̲FROM ̲VDU TO VDU ̲OP.CMD

             CASE INIT ̲FIELDS ̲INPUT (FORMAT ̲IFCB,BLE,FIRST
             FIELD,
                           BLE,NO ̲OF ̲FIELDS,VDU ̲OP)
                 (CC):ERROR ̲OK

                 ERROR? - ANALYZE ̲ERROR (CC,O)
                 OK? - ASSOCIATE (VUS ̲S3,VDU ̲OP):OK

             END CASE

     REQ ̲PENDING TRUE? -  V̲A̲L̲I̲D̲A̲T̲I̲O̲N̲ ̲(̲4̲.̲2̲.̲3̲.̲4̲.̲1̲0̲)̲

                                   ERROR? - D̲I̲S̲P̲L̲A̲Y̲
                                   ̲E̲R̲R̲O̲R̲ ̲C̲O̲D̲E̲S̲ ̲(̲4̲.̲2̲.̲3̲.̲4̲.̲1̲1̲)̲

                                   SET REQ ̲INPUT ̲PENDING=FALSE

                                   MOVE INPUT ̲REQ ̲CC
                                   TO VDIA ̲CC ̲OP.CMD

                                   SIGNAL ̲OPSEM (VUS
                                   ̲S2,VDIA ̲CC ̲OP):OK

     V̲U̲S̲ ̲I̲N̲T̲E̲R̲N̲A̲L̲ ̲E̲R̲R̲O̲R̲ ̲(̲4̲.̲1̲.̲5̲.̲2̲)̲



               Figure 4.2.3.4.9-2


                 DATA ̲INPUT ̲END

         CASE WRITE ̲VIEW "ADMINISTRATION FIELD"                         (SIZE,LIST,VIEW,BUFFER)(CC):
                                                                        ERROR
                                                                        ̲OK

             ERROR?                ANALYZE ̲ERROR (CC,O)

             OK?     SET TABLE ̲ON ̲CIF=FALSE

         END CASE

         VAL REQ EQ  FALSE    MOVE INPUT ̲FORMAT ̲CC
                     TO VDIA ̲CC ̲OP.CMD

                                        SIGNAL ̲OPSEM
                                   (VUS ̲S2,VDIA ̲CC
                                   ̲OP):OK

         S̲E̲M̲A̲N̲T̲I̲C̲ ̲V̲A̲L̲I̲D̲A̲T̲I̲O̲N̲ ̲(̲4̲.̲2̲.̲3̲.̲4̲.̲1̲2̲-̲1̲4̲

         NO ERROR?                 MHI ̲FLAG EQ FALSE?

                                   MHI ̲COMPLETION EQ
                                   TRUE?

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

                                   VDU FAILED EQ TRUE?

                                   MOVE INPUT ̲MSG ̲CC
                                   TO VDIA ̲CC ̲OP.CMD

                                   SIGNAL ̲OPSEM (VUS
                                   ̲S2.VDIH ̲CC ̲OP) :OK

         VAL ̲COUNT ̲EXCEEDED? - MOVE EXCEEDED ̲CC ̲TO
         VDIA ̲CC ̲OP.CMD

                                         SIGNAL ̲OPSEM
                                   (VUS ̲S2,VDIA ̲CC
                                   ̲OP): OK

         INCREMENT VAL ̲COUNT

         D̲I̲S̲P̲L̲A̲Y̲ ̲E̲R̲R̲O̲R̲ ̲C̲O̲D̲E̲S̲ ̲(̲4̲.̲2̲.̲3̲.̲4̲.̲1̲1̲)̲

         VDU ̲FIELD EQ TRUE?

         MOVE VAL ̲ERROR ̲CC TO VDIA ̲CC ̲OP.CMD

         SIGNAL OPSEM (VUS ̲S2,VDIA ̲CC ̲OP) :OK

         SET MSG ̲INPUT ̲PENDING = FALSE

     END
               Figure 4.2.3.4.9-3


4.2.3.4.10   V̲A̲L̲I̲D̲A̲T̲I̲O̲N̲



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

         This module has two tasks, one which checks each field
         in a format for syntax validation and updates semantic
         validation. The other task is to build up the administration
         field, some offset addresses and number of items.



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

         The Validation module contains the main Validation
         procedure and some syntax validation procedures.



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

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

             None



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

             VALIDATION REQ                    refer 4.2.3.5
             VALIDATION ̲TABLE (m)              refer 4.2.3.5
             START ̲ADDR                        refer 4.2.3.5
             FINISH ̲ADDR                       refer 4.2.3.5
             NEW ̲VAL ̲ERROR ̲CODE ̲TABLE (m)      refer 4.2.3.5
             MHI ̲FLAG (m)                      refer 4.2.3.5
             SEMANTIC RECORD (m)               refer 4.2.3.5

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

             None



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

         Each field in a format can find its corresponding field
         in a validation table. Going through the fields in
         the validation table each format-field finds its syntax
         validation procedure and it can set its semantic flags,
         so that a semantic overview can be taken at the end
         of the validation procedure of a format.





                   VALIDATION

    VALIDATION LOOP

         GET NEXT FIELD IN VALIDATION TABLE STARTING
         WITH START ̲ADDR 

         SYNTAX LOOP

             VALIDATION ̲REQ EQ FALSE?

             CASE SYNTAX VALIDATION PROCEDURE OF:

                 CLASSIFICATION:
                     CASE CC OF

                                   OK?

                                   NOT ̲OK UPDATE NEW
                                   ̲VAL ̲ERROR ̲CODE ̲TABLE

                     END CASE



             END CASE

             VALIDATION ERROR? - BUILD NEW ̲VAL ̲ERROR
             ̲CODE TABLE

             UPDATE SEMANTIC VALIDATION

             CALCULATE STOP ADDRESS IN TABLE

             CALCULATE NUMBER OF ITEMS

             NO MORE EQUAL ITEMS      EXIT SYNTAX LOOP

         END SYNTAX LOOP

         CALCULATE NEXT START ADDRESS

         FINISH ̲ADDR?      EXIT VALIDATION LOOP

    END VALIDATION LOOP

    END




               Figure 4.2.3.4.10.1


4.2.3.4.11   D̲I̲S̲P̲L̲A̲Y̲ ̲E̲R̲R̲O̲R̲ ̲C̲O̲D̲E̲ ̲T̲A̲B̲L̲E̲



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

         After this module the error codes will be displayed
         in the margin area in front of the field in error and
         the field will be invertet. If earlier an error code
         have been displayed and the error has been corrected
         in between the error code will have disappeared.



4.2.3.4.11.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)  DISPLAY ̲ERROR ̲CODES

         b)  DISPLAY ̲ERROR ̲CODES (R6)

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

         N/A


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

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

             None



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

             FORMAT ̲IFCD                       refer 4.1.4
             VALIDATION ̲COUNT                  refer 4.2.3.5
             SEMANTIC ̲VAL ̲ERROR ̲CODE ̲TABLE     refer 4.2.3.5
             NEW ̲VAL ̲ERROR ̲CODE ̲TABLE          refer 4.2.3.5
             ERROR ̲LIST ̲TYPE                   refer 4.2.3.5
             MHI ̲FLAG                          refer 4.2.3.5
             MHI ̲COMPLETION                    refer 4.2.3.5

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

         VAR OLD ̲VAL ̲ERROR ̲CODE ̲TABLE,
             MIX ̲VAL ̲ERROR ̲CODE ̲TABLE ARRAY (1.. MAX ̲ERRORS)
                                        OF ERROR ̲LIST ̲TYPE



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

         If it is first time validation there will be no old
         validation table in the Mix ̲Val ̲Error ̲Code ̲Table. This
         table is a mixture of th Old ̲Val ̲Error ̲Code ̲Table,
         the New ̲Val ̲Table and the Semantic ̲Error ̲Code-Table.
         They are ordered in line number.




            DISPLAY ̲ERROR ̲CODE ̲TABLE

         M̲I̲X̲ ̲V̲A̲L̲ ̲E̲R̲R̲O̲R̲ ̲C̲O̲D̲E̲ ̲T̲A̲B̲L̲E̲ ̲(̲4̲.̲2̲.̲3̲.̲4̲.̲1̲1̲-̲2̲)̲

         VALIDATION ̲COUNT EQ 1 ?  D̲I̲S̲P̲L̲A̲Y̲ ̲E̲R̲R̲O̲R̲ ̲T̲A̲B̲L̲E̲
         ̲(̲4̲.̲2̲.̲3̲.̲4̲.̲1̲1̲-̲3̲)̲

         CASE CHANGE ̲FIELD ̲ATTR (FORMAT ̲IFIB,FIELD
         ̲TYPE,NON DISPLAY)
                                               (CC):ERROR
                                               ̲OK

             ERROR?  CASE ANALYZE ̲ERROR (CC,1,VDU ̲SPLIT
             ̲FAILED):(L1)

                       L1?  -  SET VDU ̲FAILED = TRUE

                                   MOVE SPLIT ̲FAILED
                                   ̲CC TO VDIA ̲CC ̲OP.CMD

                                   SIGNAL ̲OPSEM (VUS
                                   ̲S2,VDIA ̲CC ̲OP):OK

                     END CASE

             OK?     D̲I̲S̲P̲L̲A̲Y̲ ̲E̲R̲R̲O̲R̲ ̲T̲A̲B̲L̲E̲ ̲(̲4̲.̲2̲.̲3̲.̲4̲.̲1̲1̲-̲3̲)̲

         END CASE
























    …01…Figure 4.2.3.4.11-1



         MIX ̲VALIDATION ̲ERROR ̲CODE ̲TABLE

         GET NEW ̲VAL ̲ERROR ̲CODE ̲TABLE

         GET SEMANTIC ̲VAL ̲ERROR ̲CODE ̲TABLE

         GET OLD ̲VAL ̲ERROR ̲CODE ̲TABLE

         COMPARE LINE NO IN THE TREE TABLES ONE BY
         ONE

         LOOP

           ONE WITH LOWEST LINE NO?  -  TAKE LINE NO
         AND ERROR CODE

           OLD ̲VAL ̲LINE EQ ONE OF THE OTHERS? - TAKE
         OLD ̲VAL ̲ERROR ̲CODE
                                                  
                                                  
                                               FORGET
                                               THE
                                               OTHERS

           NEW ̲VAL ̲LINE EQ SEMANTIC ̲VAL ̲LINE? - TAKE
         ̲NEW ̲VAL ̲ERROR ̲CODE
                                                  
                                                  
                                               FORGET
                                               THE
                                               OTHER

           BUILD MIX ̲VALIDATION ̲ERROR ̲CODE ̲TABLE

           TABLES END? -   EXIT LOOP

         END LOOP

    END

















               Figure 4.2.3.4.11-2



         BUILD FIELD AND BUFFER LIST (VDU ̲FIELD ̲ADD,ERROR
         ̲CODE)

         CASE FIELDS ̲OUTPUT(FORMAT ̲IFCB,FIELD ̲LIST,BLE,NO,LENGTH)(CC):
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 ERROR
                                                                 ̲OK

             ERROR?  -  ANALYZE ̲ERROR (CC,1,VDU ̲SPLIT
             ̲FAILED):(L1)

                         L1? SET VDU ̲FAILED=TRUE

                                   MOVE SPLIT ̲FAILED
                                   ̲CC TO VDIA ̲CC ̲OP.CMD

                                   SIGNAL ̲OPSEM (VUS
                                   ̲S2,VDIA ̲CC ̲OP):
                                   OK

             OK? CASE CHANGE ̲FIELD ̲ATA(FORMAT ̲IFCB,FIELDTYPE,
                     REVERSE ̲VIDIO)(CC):ERROR ̲OK

                 ERROR? - ANALYZE ̲ERROR(CC,1,VDU ̲SPLIT
                 ̲FAILED):(L1)
                         L1? SET VDU ̲FAILED=TRUE

                                   MOVE SPLIT ̲FAILED
                                   ̲CC TO VDIA ̲CC ̲OP.CMD

                                   SIGNAL ̲OPSEM (VUS
                                   ̲S2,VDIA ̲CC.OP)

                   OK? - MHI ̲FLAG EQ FALSE?

                         MHI ̲COMPLETION EQ TRUE?

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

             END CASE

    END CASE













               Figure 4.2.3.4.11-3


4.2.3.4.12   S̲e̲m̲a̲n̲t̲i̲c̲ ̲V̲a̲l̲i̲d̲a̲t̲i̲o̲n̲ ̲o̲f̲ ̲F̲o̲r̲m̲a̲t̲s̲ ̲A̲ ̲a̲n̲d̲ ̲C̲



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

         From the Validation Module, the semantic records are
         updated with the incoming relevant data and their addresses
         on the VDU.

         The semantic validation will be performed and if any
         errors occur, a semantic error-code table will be created.



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

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

         a)  SEMANTIC ̲VALIDATION
         b)  SEMANTIC ̲VALIDATION (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.3.4.12.3 M̲o̲d̲u̲l̲e̲ ̲C̲o̲m̲p̲o̲n̲e̲n̲t̲s̲

         N/A





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

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

             None

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

             SEMANTIC ̲RECORD                   refer 4.2.3.5
             SEMANTIC ̲ERROR ̲CODE TABLE (m)     refer 4.2.3.5

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

             None



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

         TBD



4.2.3.4.13   S̲e̲m̲a̲n̲t̲i̲c̲ ̲V̲a̲l̲i̲d̲a̲t̲i̲o̲n̲ ̲o̲f̲ ̲F̲o̲r̲m̲a̲t̲ ̲G̲



4.2.3.4.13.1 See 4.2.3.4.12.1



4.2.3.4.13.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)  SEMANTIC ̲VALIDATION

         b)  SEMANTIC ̲VALIDATION (R6)

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

         See 4.2.3.4.12.2



4.2.3.4.13.3 See 4.2.3.4.12.3





4.2.3.4.13.4 See 4.2.3.4.12.4



4.2.3.4.13.5 See 4.2.3.4.12.5



4.2.3.4.14   S̲e̲m̲a̲n̲t̲i̲c̲ ̲V̲a̲l̲i̲d̲a̲t̲i̲o̲n̲ ̲o̲f̲ ̲F̲o̲r̲m̲a̲t̲ ̲H̲



4.2.3.4.14.1 See 4.2.3.4.12.1



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

         Semantic Validation

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

         See 4.2.3.4.12.2



4.2.3.4.14.3 See 4.2.3.4.12.3



4.2.3.4.14.4 See 4.2.3.4.12.4



4.2.3.4.14.5 See 4.2.3.4.12.5


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

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

         a1) The validation table is kept by the TMP package.
              Each format that needs to be validated before
             the storing on CIF has its own validation table.

         VAR  VALIDATION TABLE:

                        RECORD

                             LINE:                 INTEGER
                             INCARNATION:          INTEGER
                             FIELD:                INTEGER
                             PARAMETER SIZE:       INTEGER
                             SYNTAX VALIDATION:    VAR-NAME
                             SEMANTIC VALIDATION:  INTEGER
                             ERROR ̲CODE:           INTEGER
                             CIF FIELD NO:         INTEGER
                             FLAG:                 BOOLEAN
                             START ̲ADD:            INTEGER
                             STOP ̲ADD:             INTEGER
                             NUMBER ̲(POINTER):     INTEGER

                        END;








                     VALIDATION-TABLE


         -   The Validation key (line, incarnation, field) indicates
             where to get some specified text in a format on
             VDU.

         -   The parameter size tells how long each field is
             in a format so that the input requests can get
             an unbroken field.

         -   The syntax validation tells which validation to
             perform.

         -   The semantic validation only tells which flag to
             set in the semantic validation record.

         -   The error code tells which error-code to display
             for errors in the syntax-validation.

         -   The CIF field no indicates in which field in a
             CIF to store the VDU-field text.

         -   The flag is true if the following start addr is
             flexible.

         -   Start addr is fix if the text or data shall be
             stored in the administration field in the CIF or
             is the first item in a field in the CIF.  If the
             flag is set, the storing addr in the CIF is the
             previously Stop-addr.

         -   The Stop-addr is updated during the input from
             the VDU, each time the same kind of item is received
             from the VDU.

         -   Each time the same kind of items is detected, the
             field in the administration field is incremented
             by one.

         a2) The format-display-tables of the TMP package are
             kept.  They are primarily used to display msg.
             on CIF to VDU.


         VAR FORMAT ̲DISPLAY ̲TABLE

                          RECORD                                   
                                                                   
                                                                   
                                                                   
                                                                     LINE  INTEGER
                             INCARNATION           INTEGER
                             FIELD ̲NO              INTEGER
                             CIF ̲FIELD             INTEGER
                             POINTER ADDR          INTEGER
                             POINTER ̲COUNT         INTEGER
                             VDU ̲FIELD ̲SIZE        INTEGER
                             DISPLAY ̲MODIFICATION ̲
                             PROCEDURE             VAR NAME

                          END;

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

             VAR:    FORMAT ̲OUTPUT ̲PENDING,
                     MSG ̲OUTPUT ̲PENDING,
                     REQ ̲INPUT ̲PENDING,
                     MSG ̲INPUT ̲PENDING,
                     VALIDATION ̲REQ,
                     READ ̲END,
                     MHI ̲FLAG,
                     MHI ̲COMPLETION,
                     VDU ̲FAILED:                   BOOLEAN









                   FORMAT ̲DISPLAY ̲TABLE



         -   VDU field address indicates where in the format
             to insert items stored on CIF.

         -   The CIF field tells in which CIF field the data
             can be fetched.

         -   The administration field column contains pointers
             to fields in the administration field of the CIF
             where in the CIF data can be fetched and how many
             of same kinds of data i.e. SCDs.

         -   VDU field size is the size of VDU fields.

         -   Display modifications are procedures to change
             data to fit the format on VDU.

         1b) The Beg-addr and End-addr is used to indicate the
             content of the CIF buffers.  They are used in the
             reading process from CIF and the sending process
             to the VDU.

                     VAR BEG ̲ADDR,END ̲ADDR:  CIF ̲ADDRESS TYPE

                     TYPE CIF ̲ADDRESS = RECORD

                                            CIF ̲ADDR:  INTEGER
                                            FIELD ̲NO:  INTEGER


                                         END;

         2)  The Start-addr and Finish-addr indicate the amount
             of input data of the VDU which has been sent on
             VDU-buffer.

                     VAR START ̲ADDR,FINISH ̲ADDR:  VDU ̲ADDRESS
                     ̲TYPE

                     TYPE VDU ̲ADDRESS = RECORD

                                          LINE ̲NO:  INTEGER
                                          INCARNATION:  INTEGER
                                          FIELD ̲NO:  INTEGER

                                         END;

         3b) Volume-array is used to the reading process from
             CIF, it will indicate which of the fields need
             to be fetched 

             VAR VOLUME ̲ARRAY ARRAY (1..10) OF BOOLEAN


         4b) VDIA ̲CIF ̲Location is the data area where the CIF
             buffer and the VDU buffer have data in TEP.

             VAR VDIA ̲CIF ̲LOCATION ARRAY (1..256) OF INTEGER
                 VDIA ̲VDU ̲LOCATION: ARRAY (1..256) OF INTEGER

         5b) VDIA ̲ADMINISTRATION ̲LOCATION is the data area where
             the administration field of the CIF is saved in
             TEP.

             VAR VDIA ̲ADMINISTRATION ̲LOCATION (1.256) OF INTEGER

         6b) The VDU ̲OP.IDENTIFIER ̲NAMES show which of the modules
             have been sending same thing to the VDU.

             TYPE VDU ̲CMD = (FORMAT ̲TO ̲VDU,
                             FIELDS ̲TO ̲VDU,
                             FIELDS ̲FROM ̲VDU,
                             LINES ̲INSERTED,
                             LINES ̲DELETED)

         7b) Each time VDIA corresponds with the VDU ̲ID predefined
             variable parameters are used.

             VDIA ̲IO ̲PARAMETER = TBD

         8b) VDIA corresponds with the M-MON package by predefined
             variable parameters.

             VAR ̲M ̲MON ̲PARAMETERS = TBD

         9b) Both the semantic and the syntax validation procedures
             make a val error-code table .
             VAR NEW ̲VAL-̲ERROR ̲CODE ̲TABLE,

                 SEMANTIC ̲VAL ̲ERROR ̲CODE ̲TABLE ARRAY(1..MAX
                 ̲ERRORS)
                                     OF ERROR ̲LIST ̲TYPE

             TYPE ERROR ̲LIST = RECORD

                                    LINE:              INTEGER
                                    INCARNATION:       INTEGER
                                    FIELD ̲NO:          INTEGER
                                    ERROR ̲NO:          INTEGER
                                       END;



         10b)    Through the validation of a msg. coming from
                 VDU, some semantic flags will be set in the
                 Semantic record, which will be analyzed at
                 the end of the validation.

                 Semantic record
                      TBD.


4.2.3.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.3.6.1    M̲e̲s̲s̲a̲g̲e̲ ̲H̲a̲n̲d̲l̲i̲n̲g̲ ̲I̲n̲s̲t̲r̲u̲c̲t̲i̲o̲n̲



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

         When a user cannot remember the predefined message
         handling instructions, he calls a table.  It will appear
         on the VDU after the text lines.  If the validation
         procedure has found some errors, they will appear on
         the VDU at the same time as the MHI-Table.



4.2.3.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)  MESSAGE ̲HANDLING ̲INSTRUCTION

         b)  MESSAGE ̲HANDLING ̲INSTRUCTION(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.3.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̲

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

             FORMAT ̲IFCB     refer 4.1.4
             BUILD TMP RECORD      refer 4.1.4
             MHI ̲FLAG (m)    refer 4.2.3.5
             MHI ̲COMPLETION (m)    refer 4.2.3.5



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

             LINE:                 INTEGER
             INCARNATION:          INTEGER
             FIELD:                INTEGER
             FIELD ̲LIST:           ARRAY OF FIELD ̲DESCRIPTOR
                                   ̲TYPE
             BLE:                  ARRAY OF BUFFER ̲LIST ̲ELEMENT
             BYTE ̲LENGTH:          INTEGER



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


         MESSAGE HANDLING INSTRUCTION


            CASE INSERT ̲LINES(FORMAT ̲IFCB,LINE NO,INCAR,LINES)(CC):
         ERROR ̲OK

               ERROR?-CASE ANALYZE ̲ERROR(CC, 1,VDU
         ̲SPLIT FAILED):(L1)

                     L1? MOVE SPLIT ̲FAILED ̲CC TO VDIA
                     ̲CC ̲OP.CMD

                 END CASE

                 SET VDU ̲FAILED =TRUE

               OK?- B̲U̲I̲L̲D̲ ̲T̲M̲P̲ ̲R̲E̲C̲O̲R̲D̲

                    CASE TMP ̲SEARCH (MHI ̲TABLE)(CC):ERROR
         ̲OK

                  ERROR?      V̲U̲S̲ ̲I̲N̲T̲E̲R̲N̲A̲L̲ ̲E̲R̲R̲O̲R̲ ̲(̲4̲.̲1̲.̲5̲.̲2̲)̲

                  OK?

               END CASE

               INSERT IN FIELD AND BUFFER LIST

               CASE FIELDS ̲OUTPUT (FORMAT ̲IFCB,LIST,BLE,NO,LENGTH)
                                            (CC):ERROR
                                   ̲OK


                 ERROR? CASE ANALYZE ̲ERROR(CC,1,VDU
             ̲SPLIT ̲FAILED):(L1)

                           L1?  MOVE SPLIT ̲FAILED ̲CC
                     TO VDIA ̲CC ̲OP.CMD

                                          SIGNAL ̲OPSEM(VUS
                                   ̲S2,VDIA ̲CC ̲OP):OK

                                          SET VDU ̲FAILED
                                   = TRUE

                        END CASE

                 OK?       SET MHI ̲FLAG = FALSE

                                     SET MHI ̲COMPLETION
                                   = TRUE

               END CASE


             END CASE

                 Fig. 4.2.3.6-1


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



4.2.3.7.1    U̲F̲C̲O̲-̲V̲D̲I̲A̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲s̲


          UFCO CMDs: (INITIALIZE ̲VDIA, RESTART ̲VDIA, CLOSE ̲DOWN,
                     CANCEL, CLEAR ̲VDU- SUSPEND, INPUT ̲FORMAT,
                     INPUT ̲MSG, INPUT ̲REQ, OUTPUT ̲FORMAT, OUTPUT
                     ̲MSG, APPEND, INSERT ̲LINES, DELETE ̲LINES)



4.2.3.7.2    V̲D̲I̲A̲-̲U̲F̲C̲O̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲s̲

         COMPLETION CODES:         (STOP ̲CC, CLEAR ̲CC,
                                   INSERT ̲NOT ̲ALLOWED ̲CC
                                   LINES ̲INSERTED ̲CC, LINES
                                   DELETED ̲CC, OUTPUT ̲FORMAT
                                   ̲CC, OUTPUT ̲MSG ̲CC, INPUT
                                   ̲REQ ̲CC, INPUT ̲MSG ̲CC, EXCEEDED
                                   ̲CC,  VAL ̲ERROR ̲CODES ̲CC,
                                   SPLIT ̲FAILED ̲CC)

         REQUEST:                  COORDINATION
                                   RELEASE
                                   DEFER
                                   APPEND
                                   SEND