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

⟦f9d76def6⟧ Wang Wps File

    Length: 62196 (0xf2f4)
    Types: Wang Wps File
    Notes: CPS/SDS/039               
    Names: »1558A «

Derivation

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

WangText



…10……05……0f……08……0f……0b……0f……0e……0f……00……0f……02……0f…
…0f……07……0e……0a……0e……0c……0e……0f……0e……01……0e……06……0d……08……0d……0a……0d……0c……0d……0e……0d……00……0d……01……0d……05……0c……0a……86…1                                        
     …02…           …02…   …02…        

…02…CPS/SDS/039

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








4.2.2    U̲s̲e̲r̲ ̲F̲u̲n̲c̲t̲i̲o̲n̲ ̲C̲o̲n̲t̲r̲o̲l̲ ̲S̲u̲b̲p̲a̲c̲k̲a̲g̲e̲

         The U̲ser F̲unction C̲o̲ntrol (UFCO) subpackage performs
         the control of all user transactions.  Furthermore,
         UFCO performs the direct control of the VDU dialogue.



4.2.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 following functions are included in this subpackage:

         -   System control

         -   Transaction accounting

         -   Transaction creation

         -   Format sequence functions

         -   Error Handling

         Fig. 4.2.2.1-1 presents the functional breakdown.





                    Figs. 4.2.2.1-1/5


4.2.2.1.1    S̲y̲s̲t̲e̲m̲ ̲C̲o̲n̲t̲r̲o̲l̲ ̲(̲1̲.̲0̲)̲

         The system control functions are those which indirectly
         involve the SSC package. The commands are received
         from VCO.

         a)  Initialization (1.1)

             Executes the function to be performed after load
             of software and which must be executed before normal
             operation can be initiated. Depending on the type
             of initialization, different actions are taken.

             An initialization command is sent to VDIA.

         b)  Start-Up (1.2)

             Executes the function to be performed after sign-on.
             The command validation table reflecting the user
             capability is defined.

         c)  Close-Down (1.3)

             This function provides the UFCO with the capability
             of performing the following functions:

             -   Sign-off
             -   Block terminal
             -   Order close-down.

         d)  Security Interrogation (1.4)

             Requests a security interrogation to be performed
             in case of release.

             Executes the functions to be performed after a
             security interrogation (e.g. receive function keys).



4.2.2.1.2    T̲r̲a̲n̲s̲a̲c̲t̲i̲o̲n̲ ̲A̲c̲c̲o̲u̲n̲t̲i̲n̲g̲ ̲(̲2̲.̲0̲)̲

         The transaction accounting functions are those concerning
         log and statistics.

         a)  Collect Data (2.1)

             The data which are used for log, statistics and
             other purposes are collected in sequence table.
             There exists no special collecting procedures but
             all data which are pertinent for UFCO will be placed
             in this area.

         b)  Log Reporting (2.2)

             The log reporting functions are those required
             to report final log records. The data which are
             required in a log record are extracted from the
             sequence table.

         c)  Statistics Reporting (2.3)

             The statistics reporting functions are those required
             to report statistics.

             The data which are required in the statistics are
             extracted from the sequence table.



4.2.2.1.3    T̲r̲a̲n̲s̲a̲c̲t̲i̲o̲n̲ ̲C̲r̲e̲a̲t̲i̲o̲n̲ ̲(̲3̲.̲0̲)̲

         The transaction creation group includes all the functions
         to be performed before a transaction may be started.

         a)  Receive and Validate (3.1)

             Function keys entered by a user are received from
             the VDU. The received function key is validated
             against a function key bit mask.

             There are two bit masks.

             Bit mask (1) reflects the function keys which are
             allowed at the moment.

             Bit mask (2) reflects the function keys which will
             change the format sequence.



         b)  Define Next Function Key (3.2)

             If a function key must be followed by another,
             this is defined (i.e. RETURN shall follow COMMAND).

         c)  Receive Command Line (3.3)

             The contents of the VDU command line are received
             via the format handler.

         d)  Validate Command Line (3.4)

             The contents of the command line are validated.
             A command is validated against the command validation
             table. 

             Parameters are checked to be within the correct
             range.

         e)  Display Response Message (3.5)

             These functions display a response message in the
             VDU response line.

         f)  Execute Function Key

             The functions associated with the received function
             key are performed and the format sequence is changed.

         g)  Execute Command (3.7)

             The sequence table key is looked up in the command
             validation table and the format sequence is started.

         h)  Assign Transaction Number (3.8)
             Allocates next transaction no. for this terminal.



4.2.2.1.4    F̲o̲r̲m̲a̲t̲ ̲S̲e̲q̲u̲e̲n̲c̲e̲ ̲F̲u̲n̲c̲t̲i̲o̲n̲ ̲(̲4̲.̲0̲)̲

         The format sequence functions are those functions which
         are called from the format sequence table.

         This table makes it possible to drive the MMI in an
         automatic and flexible manner.



         It defines for each screen format:

         -   Allowed commands and function keys

         -   Functions to be called corresponding to commands/F/C
             Keys

         -   LOG, STATISTICS, SAR reporting required

         -   Cursor position

         -   Command to VDIA

         -   Subsequently sequence record to be executed



4.2.2.1.4.1 S̲t̲a̲r̲t̲ ̲E̲x̲e̲c̲u̲t̲i̲o̲n̲ ̲(̲4̲.̲1̲)̲

         The start execution functions are those which must
         be performed before a format is presented for a user.

         a)  Create CIF /Buffer (4.1.1)

             These functions are those used to interface to
             the message management system.

         b)  Request CIF (4.1.2)

             If a continue preparation command is received,
             then the referenced CIF is fetched from the preparation
             database.

             If a receive command is received, then the first
             CIF in the corresponding queue is fetched.

         c)  Update VDU Header (4.1.3)

             These functions update the VDU header fields, classification
             and terminal function.

         d)  Complete Append (4.1.4)

             These functions add a section of another message
             to a message under preparation.

             It shall be noticed that an off-line append can
             result in two security interrogations.


         e)  Display Error Code (4.1.5)

             These functions display a response message in the
             VDU response line.

         f)  Determine Message Type (4.1.6)

             These functions determine the format which shall
             be used for a message.



4.2.2.1.4.2 S̲t̲o̲p̲ ̲E̲x̲e̲c̲u̲t̲i̲o̲n̲ ̲(̲4̲.̲2̲)̲

         The stop execution functions are those which must be
         performed when a user gives up access to a CIF.

         a)  Dismantle CIF / Buffer (4.2.1)

             These functions are those used to interface to
             the message management system.

         b)  Update Status (4.2.2)

             The outgoing message status, release message status
             and the delivery message status are updated. The
             message / comment under preparation is returned
             to the preparation database.

         c)  Update VDU Header (4.2.3)

             These functions update the VDU header fields, classification
             and terminal function.



4.2.2.1.4.3 Q̲u̲e̲u̲e̲ ̲R̲e̲q̲u̲e̲s̲t̲s̲ ̲(̲4̲.̲3̲)̲

         The queue request functions are those concerning the
         reception of messages.

         a)  Receive (4.3.1)

             The first CIF to which the requestor has access
             is received from a given queue.

         b)  Delete (4.3.2)

             This function removes a CIF from a queue.

         c)  Keep (4.3.3)

             This function returns a CIF to a queue.

         d)  Keep and Present next (4.3.4)

             This function returns a CIF to the queue from which
             it was received. The next CIF to which the requestor
             has access is returned.

         e)  Delete and Present next (4.3.5)

             This function removes a CIF from the queue from
             which it was received. The next CIF to which the
             requestor has access is returned.



4.2.2.1.4.4 R̲e̲q̲u̲e̲s̲t̲s̲ ̲t̲o̲ ̲C̲A̲M̲P̲S̲ ̲S̲y̲s̲t̲e̲m̲ ̲(̲4̲.̲4̲)̲

         The request functions are those concerning the treatment
         of messages (CIFs) and requests (buffers).

         a)  Send for Coordination (4.4.1)

             The message is sent for coordination and the delivery
             notification created by MDP is displayed.

         b)  Send for Release (4.4.2)

             The message is sent to the associated release terminal.



         c)  Release (4.4.3)

             The message is sent for local distribution and
             transmission. A release notification is returned
             to the drafter.

         d)  Retrieve / Append (4.4.4)

             A retrieve request is sent to SAR and the retrieved
             CIF and/or a response message is displayed.

         e)  Print (4.4.5)

             The CIF currently displayed on the VDU is sent
             to the associated printer, or the atomal printer.

         f)  Defer (4.4.6)

             The preparation is terminated and the CIF is sent
             to the preparation database.

         g)  Status Request (4.4.7)

             A status request is sent to UMAM and the received
             CIF is displayed.

         h)  Send for Distribution (4.4.8)

             A comment is sent for locad distribution.

         i)  Edit / Delete Requests (4.4.9)

             A request is sent to UMAM and the referenced CIF
             or a response message is displayed.





4.2.2.1.5    E̲r̲r̲o̲r̲ ̲H̲a̲n̲d̲l̲i̲n̲g̲

         The error handling function is separated into two parts:

         a)  Q ̲ERROR (5.1)

         This function handles error due to failure in communication
         between UFCO and its queues and decides whether or
         not the processing may continue.

         b)  Internal (5.2)

             This function handles errors due to failure in
             communication between the subpackages communicating
             with UFCO, and decides whether or not the processing
             may continue.



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

         The UFCO subpackage consists of one coroutine with
         operation semaphore S2 as the main waiting point.

         The input to UFCO will be a command which is received
         from VCO, VDIA, RETR, the answer queue or the VDU.

         Each command will constitute a main function and is,
         as well as major function, implemented as a module.

         Furthermore some common procedures and module components
         exist.

         Refer figure 4.2.2.2.1-2.







                    Figs. 4.2.2.2-1/2


4.2.2.3  D̲a̲t̲a̲ ̲F̲l̲o̲w̲ ̲a̲n̲d̲ ̲C̲o̲n̲t̲r̲o̲l̲ ̲L̲o̲g̲i̲c̲



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

         The HIPO diagrams overleaf show the data flow of UFCO.



4.2.2.3.2    C̲o̲n̲t̲r̲o̲l̲ ̲L̲o̲g̲i̲c̲

         The control logic of UFCO is shown in the module-tree
         in figure 4.2.2.3-1.








                   Diag. ID: 4.2.2.3/24







                      Fig. 4.2.2.3-1


4.2.2.4  M̲o̲d̲u̲l̲e̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

         UFCO ̲MAIN                      (4.2.2.4.1)
         RESTART ̲UFCO                   (4.2.2.4.2)
         VUS ̲ANSWER ̲Q ̲PROCESSING        (4.2.2.4.3)
         VUS ̲F/C ̲KEY ̲PROCESSING         (4.2.2.4.4)
         VCO ̲CMD ̲PROCESSING             (4.2.2.4.5)
         VDIA ̲CC ̲PROCESSING             (4.2.2.4.6)
         RETR ̲OP ̲PROCESSING             (4.2.2.4.7)
         VUS ̲IN/OUT ̲LINE                (4.2.2.4.8)
         VUS ̲CMD ̲PENDING                (4.2.2.4.9)
         VUS ̲DISP ̲RESP ̲MSG              (4.2.2.4.10)
         VUS ̲SEQUENCE                   (4.2.2.4.11)



4.2.2.4.1    U̲F̲C̲O̲ ̲M̲A̲I̲N̲



4.2.2.4.1.1 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)  UFCO ̲MAIN
         b)  UFCO ̲MAIN (R6)

         This module is only called by Coroutine Monitor.

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

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

         R6      LINK                   (DEST)

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

         R0 - R7                        (DEST)



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

         B̲u̲i̲l̲t̲ ̲T̲M̲P̲ ̲R̲E̲C̲O̲R̲D̲S̲:̲ Establish the necessary records
         to issue a TMP call; one record with the search-parameter
         inverted and one for the return parameter.



         D̲i̲s̲p̲l̲a̲y̲ ̲m̲a̲x̲ ̲C̲l̲a̲s̲s̲i̲f̲i̲c̲a̲t̲i̲o̲n̲ ̲A̲v̲a̲i̲l̲a̲b̲l̲e̲

         In the VDU header classification field is the minimum
         classification shared between the process-classification
         and the terminal displayed.



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

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

             VUS ̲CO ̲OP ̲TYPE             refer 4.1.4
             CLASSIFICATION ̲TYPE        refer 4.2.2.5
             CAPABILITY ̲TYPE            refer 4.2.2.5
             IDENT ̲TYPE                 refer 4.1.4
             QEL ̲ATTRIBUTES ̲TYPE        refer CPS/DBD/001
             QEL ̲REFERENCE ̲TYPE         refer CPS/DBD/001
             USER ̲CAPABILITY ̲TYPE       refer CPS/DBD/001
             MAIN ̲Q ̲DESCRIPTOR ̲TYPE     refer CPS/DBD/001

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

             CURRENT ̲MODE (m)           refer 4.2.2.5
             TMP ̲RECORD (m)             refer 4.1.4
             VUS ̲S1                     refer 4.1.4
             VUS ̲S2                     refer 4.1.4
             VUS ̲S3                     refer 4.1.4
             VDIA ̲CC ̲OP                 refer 4.1.4
             VCO ̲OP                     refer 4.1.4
             F/C ̲KEY ̲OP (m)             refer 4.1.4





             ANQ ̲OP: (m)                   refer 4.1.4
             USER ̲PROFILE                  refer CPS/DBD/001
             ANQ: MAIN ̲Q ̲DESCRIPTOR ̲TYPE   refer CPS/DBD/001
             ANQ ̲ATTR                      refer 4.2.2.5
             ANQ ̲QEL                       refer 4.2.2.5
             CLASSIFIC: CLASSIFICATION ̲
                        TYPE
             CAB:       USER ̲CAPABILITY ̲
                        TYPE

             UFCO ̲CMD ̲OP (m)               refer 4.1.4
             FORMAT ̲ID (m)                 refer 4.1.4
             START ̲FLAG (m)                refer 4.1.4
             F/C ̲KEY ̲TYPE                  refer 4.2.2.5
             SPLIT ̲DIGIT (m)               refer 4.1.4
             SEQUENCE ̲RECORD ̲NO. (m)       refer 4.2.2.5
             HEADER ̲IFCB                   refer 4.1.4

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

             None



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

         Commands received from VCO or VDIA are analysed. The
         following actions are taken:

         Initialization and restart and close down cmds before
         system starts is performed and cmds are signalled to
         VDIA.

         Two system call is performed in order to open for input
         from Answer Queue and F/C ̲key.

         Unknown QEL from Answer Q is sent to SSC.

         A loop is entered in order to distribute input from
         Answer Queue, F/C ̲keys, VCO, VDIA and RETR to modules
         which are taken over for further treatment.

         System errors will be treated by the Error Reporting
         Procedure, which is common to all modules within VUP.


   UFCO START

   WAIT ̲OPSEM(VUS ̲S2)(VUS ̲OP): OK

   CASE VUS ̲OP.IDENT OF

       VCO ̲IDENT? CASE VCO ̲OP.CMD OF

                     INIT ̲UFCO ̲CMD?      V̲D̲U̲ ̲I̲N̲I̲T̲ ̲(̲4̲.̲2̲.̲2̲.̲6̲.̲1̲)̲
                                         MOVE INIT ̲UFCO
                                         ̲CC TO VCO ̲OP.CMD

                     RESTART ̲UFCO ̲CMD?   R̲E̲S̲T̲A̲R̲T̲ ̲U̲F̲C̲O̲
                                         ̲(̲4̲.̲2̲.̲2̲.̲4̲.̲2̲)̲
                                         MOVE RESTART
                                         ̲UFCO ̲CC TO VCO
                                         ̲OP.CMD

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

                 END CASE

                 MOVE UFCO ̲IDENT TO VCO ̲OP.IDENT
                 SIGNAL ̲OPSEM(VUS ̲S1, VCO ̲OP)(CC): OK

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

   END CASE

   S̲T̲A̲R̲T̲ ̲L̲O̲O̲P̲ ̲(̲4̲.̲2̲.̲2̲.̲4̲.̲1̲-̲2̲)̲

   CLOSE DOWN LOOP

       WAIT ̲OPSEM(VUS ̲S2)(VUS ̲OP): OK

   END CLOSE DOWN LOOP




                 F̲I̲G̲U̲R̲E̲ ̲4̲.̲2̲.̲2̲.̲4̲.̲1̲-̲1̲


   START LOOP

       WAIT ̲OPSEM(VUS ̲S2)(VUS ̲OP): OK

       CASE VUS ̲OP.IDENT OF

         VCO ̲IDENT?   V̲C̲O̲ ̲S̲T̲A̲R̲T̲ ̲P̲R̲O̲C̲E̲S̲S̲I̲N̲G̲ ̲(̲4̲.̲2̲.̲2̲.̲4̲.̲1̲-̲4̲)̲

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

       END CASE

       CASE INIT ̲RECEIVE ̲FIRST ̲QEL(WAIT, ANQ, ANQ ̲OP)
                                         (CC): ERROR ̲OK

         ERROR? ANALYSE ̲ERROR(CC,0) 

         OK?  ̲ ASSOCIATE(VUS ̲S2)(ANQ ̲OP): OK

       END CASE

       CASE INIT ̲RECEIVE ̲CONTROL(SPLIT ̲DIGIT, F/C ̲KEY
   ̲OP)
                                         (CC): ERROR ̲OK

           ERROR?: ANALYSE ̲ERROR(CC,0)

           OK?: MOVE HEADER ̲IFCB TO SPLIT ̲DIGIT

                ASSOCIATE(VUS ̲S2)(F/C ̲KEY ̲OP): OK

                U̲S̲E̲R̲ ̲O̲N̲ ̲L̲O̲O̲P̲ ̲(̲4̲.̲2̲.̲2̲.̲4̲.̲1̲-̲3̲)̲

       END CASE

   END START LOOP


                 F̲I̲G̲U̲R̲E̲ ̲4̲.̲2̲.̲2̲.̲4̲.̲1̲-̲2̲



   USER ON LOOP

       WAIT(VUS ̲S2)(VUS ̲OP): OK

       VDU ̲FAILED EQ TRUE?   VUS ̲OP.IDENT EQ VCO ̲IDENT?
       ̲ V̲C̲O̲ ̲P̲R̲O̲C̲
                                                    (̲4̲.̲2̲.̲2̲.̲4̲.̲5̲)̲

       CASE VUS ̲OP.IDENT OF:

         ANQ ̲IDENT? V̲U̲S̲ ̲A̲N̲S̲W̲E̲R̲ ̲Q̲ ̲P̲R̲O̲C̲E̲S̲S̲I̲N̲G̲ ̲(̲4̲.̲2̲.̲2̲.̲4̲.̲3̲)̲

                     CASE INIT ̲RECEIVE ̲FIRST ̲QEL(WAIT,
                     ANQ, ANQ ̲OP)
                                               (CC): ERROR
                                         ̲OK

                        ERROR?  ANALYSE ERROR(CC,0) 

                        OK? ASSOCIATE(VUS ̲S2)(ANQ ̲OP):
                        OK

                     END CASE

         F/C ̲KEY ̲IDENT?  V̲U̲S̲ ̲F̲/̲C̲ ̲K̲E̲Y̲ ̲P̲R̲O̲C̲E̲S̲S̲I̲N̲G̲ ̲(̲4̲.̲2̲.̲2̲.̲4̲.̲4̲)̲

                        GET SPLIT ̲DIGIT
                        CASE INIT ̲RECEIVE ̲CONTROL(SPLIT
                        ̲DIGIT)
                                         (CC): ERROR ̲OK

                           ERROR?  ANALYSE ̲ERROR(CC,0)
                        

                           OK? ASSOCIATE(VUS ̲S2)(F/C ̲KEY
                        ̲OP)

                        END CASE

         VCO ̲IDENT?  V̲C̲O̲ ̲C̲M̲D̲ ̲P̲R̲O̲C̲E̲S̲S̲I̲N̲G̲ ̲(̲4̲.̲2̲.̲2̲.̲4̲.̲5̲)̲

         VDIA IDENT?  V̲D̲I̲A̲ ̲C̲C̲ ̲P̲R̲O̲C̲E̲S̲S̲I̲N̲G̲ ̲(̲4̲.̲2̲.̲2̲.̲4̲.̲6̲)̲

         RETR ̲IDENT?  R̲E̲T̲R̲ ̲O̲P̲ ̲P̲R̲O̲C̲E̲S̲S̲I̲N̲G̲ ̲(̲4̲.̲2̲.̲2̲.̲4̲.̲7̲)̲

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

       END CASE

   END USER ON LOOP


                 F̲I̲G̲U̲R̲E̲ ̲4̲.̲2̲.̲2̲.̲4̲.̲1̲-̲3̲



   CASE VCO ̲OP.CMD OF

       CLOSE ̲DOWN ̲UFCO ̲CMD?  MOVE UFCO ̲IDENT TO VCO ̲OP.IDENT

                             MOVE CLOSE ̲DOWN ̲UFCO ̲CC TO
                             VCO ̲OP.CMD

                             SIGNAL ̲OPSEM(VUS ̲S1, VCO
                             ̲OP)


                             (CC): OK (EXIT START ̲LOOP

       START ̲UFCO ̲CMD?   D̲I̲S̲P̲L̲A̲Y̲ ̲M̲E̲N̲U̲(̲4̲.̲2̲.̲2̲.̲4̲.̲1̲-̲5̲)̲

                         SET ̲START ̲FLAG = TRUE

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

   END CASE


                 F̲I̲G̲U̲R̲E̲ ̲4̲.̲2̲.̲2̲.̲4̲.̲1̲-̲4̲



   DISPLAY ̲MENU 

   GET CAPABILITY

   D̲I̲S̲P̲L̲A̲Y̲ ̲M̲A̲X̲ ̲C̲L̲A̲S̲S̲I̲F̲I̲C̲A̲T̲I̲O̲N̲ ̲A̲V̲A̲I̲L̲A̲B̲L̲E̲

   CALCULATE FORMAT ̲ID

   BUILT TMP RECORDS

   CASE TMP ̲SEARCH(TMP ̲RECORDS)(SEQUENCE ̲TABLE, CC): ERROR
   ̲OK

       ERROR? ANALYSE ̲ERROR(CC,0)

       OK? V̲U̲S̲ ̲S̲E̲Q̲U̲E̲N̲C̲E̲(̲4̲.̲2̲.̲2̲.̲4̲.̲1̲1̲)̲

   END CASE






                 F̲I̲G̲U̲R̲E̲ ̲4̲.̲2̲.̲2̲.̲4̲.̲1̲-̲5̲



4.2.2.4.2    R̲E̲S̲T̲A̲R̲T̲ ̲U̲F̲C̲O̲



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

         The purpose of this module is to initialize the Format
         Handler and to send the contents of the Answer Queue
         to UMAM.



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

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

         a)  RESTART ̲UFCO

         b)  RESTART ̲UFCO (R6)

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

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

         R6      LINK                   (DEST)

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

         R0 - R7                        (DEST)



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

         N/A 



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

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

             QEL ̲ATTRIBUTES ̲TYPE:       refer CPS/DBD/001
             QEL ̲REFERENCE ̲TYPE:        refer CPS/DBD/001
             SEND ̲PARAMS ̲TYPE:          refer CPS/DBD/001
             Q ̲DESCRIPTOR ̲TYPE:         refer CPS/DBD/001
             USER ̲ACTION ̲TYPE:          refer CPS/DBD/001



             VUS ̲CO ̲OP ̲TYPE:            refer 4.1.4
             IDENT ̲TYPE:                refer 4.1.4

         b)  VUS ̲S3                     refer 4.1.4
             ANQ ̲OP: VUS ̲CO ̲OP ̲TYPE     refer 4.1.4
             VUS ̲SEND ̲PARAMS            refer 4.1.4
             PREP ̲Q                     refer 4.1.4
             ANQ ̲ATTR                   refer 4.2.2.5
             ANQ ̲QEL                    refer 4.2.2.5
             UFCO ̲IDENT: OP ̲IDENT ̲TYPE
             VIEWET: QEL ̲REFERENCE ̲TYPE (m)

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

             None



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

         This module consists of a loop, which receives QEL's
         from The Answer Queue and sends them. The destination
         is the PREP ̲Q within UMAM.



   RESTART ̲UFCO

       QUEUE LOOP

         CASE RECEIVE ̲FIRST ̲QEL(ANQ ̲ATTR, ANQ)
                     (ANQ ̲ATTR, ANQ ̲QEL, SUBQUEUE, CC):
                     ERROR ̲OK

             ERROR? CASE ANALYSE ̲ERROR(CC, 2, QEL ̲PROFILE
             ̲CHECK,
                                      QUEUE ̲EMPTY):(ULAB1,
                                      ULAB2)

                        ULAB1?  Q̲E̲L̲ ̲S̲O̲R̲T̲(̲4̲.̲2̲.̲2̲.̲4̲.̲2̲-̲2̲)̲
                                S̲E̲N̲D̲ ̲T̲O̲ ̲P̲R̲E̲P̲ ̲Q̲(̲4̲.̲2̲.̲2̲.̲4̲.̲2̲-̲3̲)̲

                        ULAB2?  (EXIT QUEUE LOOP

                    END CASE

             OK?  Q̲E̲L̲ ̲S̲O̲R̲T̲(̲4̲.̲2̲.̲2̲.̲4̲.̲2̲-̲2̲)̲
                  S̲E̲N̲D̲ ̲T̲O̲ ̲P̲R̲E̲P̲ ̲Q̲(̲4̲.̲2̲.̲2̲.̲4̲.̲2̲-̲3̲)̲

         END CASE

         S̲A̲V̲E̲ ̲V̲I̲E̲W̲E̲T̲(̲4̲.̲2̲.̲2̲.̲4̲.̲2̲-̲4̲)̲

       END QUEUE LOOP

       V̲D̲U̲ ̲I̲N̲I̲T̲(̲4̲.̲2̲.̲2̲.̲6̲.̲1̲)̲




                 F̲I̲G̲U̲R̲E̲ ̲4̲.̲2̲.̲2̲.̲4̲.̲2̲-̲1̲



   QEL ̲SORT 

   CASE MAINTYPE OF:

       INITIAL ̲MAINTYPE?

       PLAINDRESS,

       PLAINDRESS ̲DATA,

       SC ̲COMMENT,

       SC ̲VDU ̲PAGE,

       COMMENT?  CASE SUBTYPE OF

                     FOR ̲CONTINUED ̲PREP?

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

                 END CASE



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

   END CASE




                 F̲I̲G̲U̲R̲E̲ ̲4̲.̲2̲.̲2̲.̲4̲.̲2̲-̲2̲



   SEND ̲TO ̲PREP ̲Q

   CASE SEND(VUS ̲SEND ̲PARAMS, ANQ ̲QEL, REQ ̲Q)
             (VUS ̲SEND ̲PARAMS, CC): ERROR ̲OK

       ERROR? ̲ANALYSE ̲ERROR(CC,0)

       OK:

   END CASE

   END SEND TO PREP ̲Q





                 F̲I̲G̲U̲R̲E̲ ̲4̲.̲2̲.̲2̲.̲4̲.̲2̲-̲3̲



   SAVE ̲VIEWET

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

       ERROR? ANALYSE ̲ERROR(CC,0)

       OK?

   END CASE





                 F̲I̲G̲U̲R̲E̲ ̲4̲.̲2̲.̲2̲.̲4̲.̲2̲-̲4̲



4.2.2.4.3    V̲U̲S̲ ̲A̲N̲S̲W̲E̲R̲ ̲Q̲ ̲P̲R̲O̲C̲E̲S̲S̲I̲N̲G̲



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

         The purpose of this module is to receive items placed
         in the Answer Queue, analyse the input and call
         VUS ̲SEQUENCE(4.2.2.4.11)



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

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

         a)  VUS ̲ANSWER ̲Q ̲PROCESSING

         b)  VUS ̲ANSWER ̲Q ̲PROCESSING    (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.2.4.3.3 M̲o̲d̲u̲l̲e̲ ̲C̲o̲m̲p̲o̲n̲e̲n̲t̲

         N/A



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

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

             VUS ̲CO ̲OP ̲TYPE             refer 4.1.4
             QEL ̲ATTRIBUTES ̲TYPE        refer CPS/DBD/001
             QEL ̲REFERENCE ̲TYPE         refer CPS/DBD/001
             SEQUENCE ̲CODE ̲TYPE         refer 4.1.4
             Q ̲REFERENCE ̲TYPE           refer CPS/DBD/001



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

             ANQ ̲OP: VUS ̲CO ̲OP ̲TYPE     refer 4.1.4
             LOG ̲SEQUENCE ̲RECORD ̲NO     refer 4.2.2.5
             ANQ ̲ATTR                   refer 4.2.2.5
             ANQ ̲QEL                    refer 4.2.2.5
             SEQUENCE ̲RECORD ̲NO: (m)    refer 4.2.2.5
             ANQ                        refer 4.2.2.5
             REQ ̲Q                      refer 4.2.2.5
             ERROR ̲MSG ̲NO               refer 4.2.2.5



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

         None



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

         QEL maintype and subtype are analysed and each subtype
         is given a constant value before entering VUS ̲SEQUENCE(4.2.2.4.11).

         Unexpected QEL's are reported.



   VUS ̲ANSWER ̲Q ̲PROCESSING

   CASE SYS ̲WAIT(ANQ ̲OP)(ANQ ̲ATTR, ANQ ̲QEL, SUBQUEUE,
   CC): ERROR ̲OK

       ERROR: ANALYSE ERROR(CC,0)

       OK: V̲U̲S̲ ̲A̲N̲Q̲ ̲Q̲E̲L̲ ̲P̲R̲O̲C̲E̲S̲S̲I̲N̲G̲(̲4̲.̲2̲.̲2̲.̲4̲.̲3̲-̲2̲)̲

   END CASE

   END ANSWER ̲Q ̲PROCESSING



                 F̲I̲G̲U̲R̲E̲ ̲4̲.̲2̲.̲2̲.̲4̲.̲3̲-̲1̲



   VUS ̲ANQ ̲QEL ̲PROCESSING:

   CASE MAINTYPE OF:

       PLAINDRESS,

       PLAINDRESS ̲DATA,

       COMMENTS? CASE SUBTYPE OF:

                     FOR CONTINUED PREP? ̲SEQUENCE ̲RECORD
                     ̲NO
                                         = SEQ ̲CONT
                                         V̲U̲S̲ ̲S̲E̲Q̲U̲E̲N̲C̲E̲(̲4̲.̲2̲.̲2̲.̲4̲.̲1̲1̲)̲

                     OTHERWISE? ̲V̲U̲S̲ ̲Q̲U̲E̲U̲E̲ ̲E̲R̲R̲O̲R̲(̲4̲.̲1̲.̲5̲.̲1̲)̲

                 END CASE

       SC ̲VDU ̲PAGE? (̲4̲.̲2̲.̲2̲.̲4̲.̲3̲-̲3̲)̲

       TEP ̲INTERNAL? (̲4̲.̲2̲.̲2̲.̲4̲.̲3̲-̲4̲)̲

       SC ̲COMMENT? (̲4̲.̲2̲.̲2̲.̲4̲.̲3̲-̲5̲)̲

       COORDINATION NOTIFICATION? (̲4̲.̲2̲.̲2̲.̲4̲.̲3̲-̲6̲)̲

       ACK ̲DATA? (̲4̲.̲2̲.̲2̲.̲4̲.̲3̲-̲7̲)̲

       STATUS? (4̲.̲2̲.̲2̲.̲4̲.̲3̲-̲8̲)̲

       SSC ̲COMMAND? (4̲.̲2̲.̲2̲.̲4̲.̲3̲-̲9̲)̲

       OTHERWISE? V̲U̲S̲ ̲Q̲U̲E̲U̲E̲ ̲E̲R̲R̲O̲R̲ ̲(̲4̲.̲1̲.̲5̲.̲1̲)̲

   END CASE


                 F̲I̲G̲U̲R̲E̲ ̲4̲.̲2̲.̲2̲.̲4̲.̲3̲-̲2̲



   SCARS ̲CCIS ̲E1 ̲DISPLAY:

   CASE SUBTYPE OF:

       FOR ̲DISPLAY? SEQUENCE ̲RECORD ̲NO = SEQ ̲DISP

       FOR ̲CONTINUED ̲PREP? SEQUENCE ̲RECORD ̲NO = CONT ̲DISP

       SUSPEND/DEFERED? SEQUENCE ̲RECORD ̲NO = SUS/DEF ̲DISP


                                 V̲U̲S̲ ̲S̲E̲Q̲U̲E̲N̲C̲E̲(̲4̲.̲2̲.̲2̲.̲4̲.̲1̲1̲)̲

       OTHERWISE?  V̲U̲S̲ ̲Q̲U̲E̲U̲E̲ ̲E̲R̲R̲O̲R̲(̲4̲.̲1̲.̲5̲.̲1̲)̲

   END CASE

   END SCARS ̲CCIS ̲E1 ̲DISPLAY



                 F̲I̲G̲U̲R̲E̲ ̲4̲.̲2̲.̲2̲.̲4̲.̲3̲-̲3̲



   CASE SUBTYPE OF

       UMAM ̲ERROR ̲RESP?

          CASE UMAM ̲RESPONSE OF

             EDIT ̲RESP? CASE EDIT ̲ANS OF

                             NOT ̲FOUND?
                             NOT ̲AVAIB?
                             SEC ̲PROFILE?
                             APPEND ̲NOT ̲COMP?  U̲M̲A̲M̲ ̲R̲E̲S̲P̲(̲4̲.̲2̲.̲2̲.̲4̲.̲3̲-̲1̲0̲)̲
                             OTHERWISE?  V̲U̲S̲ ̲Q̲U̲E̲U̲E̲ ̲E̲R̲R̲O̲R̲
                     ̲(̲4̲.̲1̲.̲5̲.̲1̲)̲

                        END CASE

             DELETE ̲RESP? CASE DELETE ̲ANS OF

                           DELETED?
                           PARTLY ̲DELETED?
                           CIF ̲NOT ̲FOUND?
                           CIF ̲AWAITING ̲RELS?  U̲M̲A̲M̲ ̲R̲E̲S̲P̲
                 ̲(̲4̲.̲2̲.̲2̲.̲4̲.̲3̲-̲1̲0̲)̲
                           OTHERWISE? V̲U̲S̲ ̲Q̲U̲E̲U̲E̲ ̲E̲R̲R̲O̲R̲
                 ̲(̲4̲.̲1̲.̲5̲.̲1̲)̲

                          END CASE

             VDU ̲RETR ̲RESP? CASE EDIT ̲ANS OF

                              NOT ̲FOUND?
                              SEC ̲PROFILE?  U̲M̲A̲M̲ ̲R̲E̲S̲P̲(̲4̲.̲2̲.̲2̲.̲4̲.̲3̲-̲1̲0̲)̲
                              OTHERWISE?  V̲U̲S̲ ̲Q̲U̲E̲U̲E̲ ̲E̲R̲R̲O̲R̲(̲4̲.̲1̲.̲5̲.̲1̲)̲

                            END CASE

             OTHERWISE?  V̲U̲S̲ ̲Q̲U̲E̲U̲E̲ ̲E̲R̲R̲O̲R̲(̲4̲.̲1̲.̲5̲.̲1̲)̲

          END CASE

       OTHERWISE?  V̲U̲S̲ ̲Q̲U̲E̲U̲E̲ ̲E̲R̲R̲O̲R̲(̲4̲.̲1̲.̲5̲.̲1̲)̲

   END CASE

                F̲I̲G̲U̲R̲E̲ ̲4̲.̲2̲.̲2̲.̲4̲.̲3̲-̲4̲ ̲




   SC ̲COMMENT

   CASE SUBTYPE OF:

       FOR ̲CONTINUE ̲PREP? SEQUENCE ̲RECORD NO = CONT ̲COMMENT



       SUSPEND/DEFERED? SEQUENCE ̲RECORD NO = SUS/DEF ̲COMMENT


                                    V̲U̲S̲ ̲S̲E̲Q̲U̲E̲N̲C̲E̲(̲4̲.̲2̲.̲2̲.̲4̲.̲1̲1̲)̲

       OTHERWISE?  V̲U̲S̲ ̲Q̲U̲E̲U̲E̲ ̲E̲R̲R̲O̲R̲(̲4̲.̲1̲.̲5̲.̲1̲)̲

   END CASE

   END SC ̲COMMENT




                 F̲I̲G̲U̲R̲E̲ ̲4̲.̲2̲.̲2̲.̲4̲.̲3̲-̲5̲



   COORDINATION ̲NOTIFICATION:

   CASE SUBTYPE OF:

       FOR ̲DISPLAY? SEQUENCE ̲RECORD ̲NO = DISP ̲COOR

                           V̲U̲S̲ ̲S̲E̲Q̲U̲E̲N̲C̲E̲(̲4̲.̲2̲.̲2̲.̲4̲.̲1̲1̲)̲

       OTHERWISE?  V̲U̲S̲ ̲Q̲U̲E̲U̲E̲ ̲E̲R̲R̲O̲R̲(̲4̲.̲1̲.̲5̲.̲1̲)̲

   END CASE

   END COORDINATION ̲NOTIFICATION



                 F̲I̲G̲U̲R̲E̲ ̲4̲.̲2̲.̲2̲.̲4̲.̲3̲-̲6̲



   ACK ̲DATA:

   CASE SUBTYPE OF:

       THP ̲ACK? SEQUENCE ̲RECORD ̲NO = ACK ̲THP

       LOG ̲ACK? SEQUENCE ̲RECORD ̲NO =
                 LOG ̲SEQUENCE ̲RECORD ̲NO

                                        V̲U̲S̲ ̲S̲E̲Q̲U̲E̲N̲C̲E̲(̲4̲.̲2̲.̲2̲.̲4̲.̲1̲1̲)̲

       OTHERWISE?  V̲U̲S̲ ̲Q̲U̲E̲U̲E̲ ̲E̲R̲R̲O̲R̲(̲4̲.̲1̲.̲5̲.̲1̲)̲

   END CASE

   END ACK ̲DATA



                 F̲I̲G̲U̲R̲E̲ ̲4̲.̲2̲.̲2̲.̲4̲.̲3̲-̲7̲



   STATUS:

   CASE SUBTYPE OF:

       DELIVERY? SEQUENCE ̲RECORD ̲NO = SEQ ̲DELI

       OUTGOING ̲MSG? SEQUENCE ̲RECORD ̲NO = SEQ ̲OUTG

       MSG ̲RELEASE? SEQUENCE ̲RECORD ̲NO = SEQ ̲RELS

                                        V̲U̲S̲ ̲S̲E̲Q̲U̲E̲N̲C̲E̲(̲4̲.̲2̲.̲2̲.̲4̲.̲1̲1̲)̲

         OTHERWISE?  V̲U̲S̲ ̲Q̲U̲E̲U̲E̲ ̲E̲R̲R̲O̲R̲(̲4̲.̲1̲.̲5̲.̲1̲)̲

   END CASE




                 F̲I̲G̲U̲R̲E̲ ̲4̲.̲2̲.̲2̲.̲4̲.̲3̲-̲8̲



   SSC ̲COMMAND

   CASE SUBTYPE OF:

       1?    SEQUENCE ̲RECORD ̲NO = REL ̲OK

       2?    SEQUENCE ̲RECORD ̲NO = REL ̲NOT


                                V̲U̲S̲ ̲S̲E̲Q̲U̲E̲N̲C̲E̲(̲4̲.̲2̲.̲2̲.̲4̲.̲1̲1̲)̲

       OTHERWISE?  V̲U̲S̲ ̲Q̲U̲E̲U̲E̲ ̲E̲R̲R̲O̲R̲(̲4̲.̲1̲.̲5̲.̲1̲)̲

   END CASE

   END SSC ̲COMMAND




                 F̲I̲G̲U̲R̲E̲ ̲4̲.̲2̲.̲2̲.̲4̲.̲3̲-̲9̲



   SET SEQUENCE ̲RECORD ̲NO = UMAM ̲ERROR ̲RESP

   UPDATE ERROR ̲MSG ̲NO

   D̲I̲S̲P̲L̲A̲Y̲ ̲E̲R̲R̲O̲R̲ ̲M̲S̲G̲(̲4̲.̲2̲.̲2̲.̲6̲.̲4̲)̲

   V̲U̲S̲ ̲S̲E̲Q̲U̲E̲N̲C̲E̲(̲4̲.̲2̲.̲2̲.̲4̲.̲1̲1̲)̲





                F̲I̲G̲U̲R̲E̲ ̲4̲.̲2̲.̲2̲.̲4̲.̲3̲-̲1̲0̲



4.2.2.4.4    V̲U̲S̲ ̲F̲/̲C̲ ̲K̲E̲Y̲ ̲P̲R̲O̲C̲E̲S̲S̲I̲N̲G̲



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

         The purpose of this module is to analyse the F/C ̲KEY
         input, and, depending on the F/C ̲key identity to call
         other modules and procedures. Further it takes care
         of blanking the command and the response-line and placing
         the cursor or the command line.



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

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

         a)  VUS ̲F/C ̲KEY ̲PROCESSING

         b)  VUS ̲F/C ̲KEY ̲PROCESSING  (R6)

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

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

         R6      LINK                (DEST)

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

         R0 - R7                     (DEST)



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

         N/A



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

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

             VUS ̲CO ̲OP ̲TYPE                     refer 4.1.4
             IOC ̲FIELD ̲DESCRIPTOR ̲TYPE          refer 4.1.4
             F/C ̲KEY ̲TYPE ̲TYPE



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

             F/C ̲KEY ̲TYPE: F/C ̲KEY ̲TYPE ̲TYPE    refer 4.2.2.5
             ERROR ̲MSG ̲NO (m)                   refer 4.2.2.5
             SPLIT ̲DIGIT (m)                    refer 4.2.2.5
             CURSOR ̲RECORD ̲1(m)                 refer 4.1.4
             CURSOR ̲RECORD (m)                  refer 4.1.4
             F/C ̲KEY ̲ALLOWED ̲FLAG               refer 4.2.2.5
             IN/OUT ̲LINE ̲FLAG (m)               refer 4.2.2.5
             RESPONSE ̲TEXT ̲FLAG (m)             refer 4.2.2.5
             CMD ̲FLAG (m)                       refer 4.2.2.5
             SEQUENCE ̲RECORD ̲NO (m)             refer 4.2.2.5
             FIELD ̲LIST (m)                     refer 4.2.2.5
             BUFFER ̲LIST (m)                    refer 4.2.2.5
             F/C ̲KEY ̲OP: VUS ̲CO ̲OP ̲TYPE         refer 4.1.4
             HEADER ̲IFCB                        refer 4.1.4
             BLE ̲LIST                           refer 4.1.4
             VDU ̲FAILED                         refer 4.2.2.5
             CURSOR ̲TO ̲CMD ̲LINE ̲RECORD          refer 4.1.4
             CURSOR ̲RECORD ̲1                    refer 4.1.4

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

             None



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

         This module checks the F/C ̲key inputs, invest if it
         shall enter SEQUENCE (4.2.2.4.11) and in cases where
         flags are set other modules are called. On the other
         hand, if no flags are set and the F/C ̲key requests
         one, it is set and Return-F/C ̲key input are expected.
         Alternatively the Command F/C ̲key sets the cursor position
         on the command ̲line, and Return ̲F/C ̲key input are awaited.



   VUS ̲F/C ̲KEY ̲PROCESSING

   GET SPLIT ̲DIGIT

   CASE SYS ̲WAIT(F/C ̲KEY ̲OP)(SPLIT ̲DIGIT, F/C ̲KEY ̲TYPE,
   CC): ERROR ̲OK

       ERROR? CASE ANALYSE ̲ERROR(CC,2 PRIORITY ̲OVERRIDE,
       VDU ̲SPLIT ̲FAI-
                                     LED):(ULB1, ULB2)

                 ULB1?

                 ULB2? SET VDU ̲FAILED = TRUE

                       SEQUENCE ̲RECORD ̲NO = SEQ ̲FAILURE

                       V̲U̲S̲ ̲S̲E̲Q̲U̲E̲N̲C̲E̲(̲4̲.̲2̲.̲2̲.̲4̲.̲1̲1̲)̲

             END CASE

       OK?  F̲/̲C̲ ̲K̲E̲Y̲ ̲V̲A̲L̲I̲D̲A̲T̲I̲O̲N̲(̲4̲.̲2̲.̲2̲.̲4̲.̲4̲-̲2̲)̲

   END CASE





                 F̲I̲G̲U̲R̲E̲ ̲4̲.̲2̲.̲2̲.̲4̲.̲4̲-̲1̲


                 F/C ̲KEY ̲VALIDATION

   F/C ̲KEY ̲ALLOWED ̲FLAG EQ FALSE?

   F/C ̲KEY NOT IN MASK ̲1?  D̲I̲S̲P̲L̲A̲Y̲ ̲E̲R̲R̲O̲R̲ ̲M̲S̲G̲(̲4̲.̲2̲.̲2̲.̲6̲.̲4̲)̲

   F/C ̲KEY NE RETURN?  R̲E̲M̲O̲V̲E̲ ̲D̲I̲S̲P̲L̲A̲Y̲ ̲O̲N̲ ̲C̲M̲D̲ ̲L̲I̲N̲E̲(̲4̲.̲2̲.̲2̲.̲4̲.̲4̲-̲6̲)̲

   

   F/C ̲KEY IN MASK ̲2? SEQUENCE ̲RECORD ̲NO = F/C ̲KEY

                      V̲U̲S̲ ̲S̲E̲Q̲U̲E̲N̲C̲E̲(̲4̲.̲2̲.̲2̲.̲4̲.̲1̲1̲)̲

   OUTPUT ̲FLAG EQ TRUE?  B̲L̲A̲N̲K̲ ̲R̲E̲S̲P̲ ̲L̲I̲N̲E̲(̲4̲.̲2̲.̲2̲.̲4̲.̲4̲-̲7̲)̲



   IN/OUT ̲LINE ̲FLAG EQ TRUE?  V̲U̲S̲ ̲I̲N̲/̲O̲U̲T̲ ̲L̲I̲N̲E̲(̲4̲.̲2̲.̲2̲.̲4̲.̲8̲)̲

   RESPONSE ̲TEXT ̲FLAG EQ TRUE?  V̲U̲S̲ ̲D̲I̲S̲P̲ ̲R̲E̲S̲P̲ ̲M̲S̲G̲(̲4̲.̲2̲.̲2̲.̲4̲.̲1̲0̲)̲

   COMMAND ̲FLAG EQ TRUE?  V̲U̲S̲ ̲C̲M̲D̲ ̲P̲E̲N̲D̲I̲N̲G̲(̲4̲.̲2̲.̲2̲.̲4̲.̲9̲)̲

   F/C ̲KEY EQ INSERT ̲LINE?

   F/C ̲KEY EQ DELETE ̲LINE?  T̲E̲S̲T̲ ̲C̲U̲R̲S̲O̲R̲ ̲P̲O̲S̲(̲4̲.̲2̲.̲2̲.̲4̲.̲4̲-̲3̲)̲

   F/C ̲KEY EQ RESPONSE ̲TEXT? SET RESPONSE ̲TEXT ̲FLAG =
   TRUE

   F/C ̲KEY EQ COMMAND? SET CMD ̲FLAG = TRUE



                 IN/OUT ̲LINE ̲FLAG EQ FALSE?

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

                 M̲O̲V̲E̲ ̲C̲U̲R̲S̲O̲R̲ ̲T̲O̲ ̲C̲M̲D̲ ̲L̲I̲N̲E̲(̲4̲.̲2̲.̲2̲.̲4̲.̲4̲-̲5̲)̲






                 F̲I̲G̲U̲R̲E̲ ̲4̲.̲2̲.̲2̲.̲4̲.̲4̲-̲2̲



   TEST ̲CURSOR ̲POS:

   GET SPLIT ̲DIGIT

   CASE GET ̲CURSOR ̲POSITION(SPLIT ̲DIGIT)
                           (CURSOR RECORD.FIELD, LINES
                     ̲ABOVE, CC):
                           ERROR ̲OK

       ERROR? CASE ANALYSE ̲ERROR(CC,3, CURSOR ̲NOT ̲IN ̲FORMATTED
       ̲LINE,
                           CURSOR ̲ NOT ̲IN ̲FIELD, VDU ̲SPLIT
                     ̲FAILED):
                           (ULB3, ULB4, ULB5)

                 ULB3?  D̲I̲S̲P̲L̲A̲Y̲ ̲E̲R̲R̲O̲R̲ ̲M̲S̲G̲(̲4̲.̲2̲.̲2̲.̲6̲.̲4̲)̲

                 ULB4?  ̲D̲I̲S̲P̲L̲A̲Y̲ ̲E̲R̲R̲O̲R̲ ̲M̲S̲G̲(̲4̲.̲2̲.̲2̲.̲6̲.̲4̲)̲

                 ULB5? SET VDU ̲FAILED = TRUE

                       SEQUENCE ̲RECORD ̲NO = SEQ ̲FAILURE

                       V̲U̲S̲ ̲S̲E̲Q̲U̲E̲N̲C̲E̲(̲4̲.̲2̲.̲2̲.̲4̲.̲1̲1̲)̲

             END CASE

       OK? SET IN/OUT ̲LINE ̲FLAG = TRUE

   END CASE

   END TEST ̲CURSOR ̲POS.





                 F̲I̲G̲U̲R̲E̲ ̲4̲.̲2̲.̲2̲.̲4̲.̲4̲-̲3̲



   GET ̲CURSOR ̲POS.:

   GET SPLIT ̲DIGIT

   CASE GET ̲CURSOR ̲POSITION(SPLIT ̲DIGIT)(CURSOR ̲RECORD
   ̲1.FIELD,
                                     LINES ̲ABOVE, CC):
                                     ERROR ̲OK

         ERROR? ANALYSE ̲ERROR(CC,0)

         OK? MOVE CURSOR POSITION TO CURSOR ̲RECORD ̲1

   END CASE

   END GET ̲CURSOR ̲POS.






                 F̲I̲G̲U̲R̲E̲ ̲4̲.̲2̲.̲2̲.̲4̲.̲4̲-̲4̲



   MOVE ̲CURSOR ̲TO ̲CMD ̲LINE

   GET CURSOR ̲TO ̲CMD ̲RECORD



   CASE SET ̲CURSOR ̲POSITION(SPLIT ̲DIGIT, CURSOR ̲TO ̲CMD
   ̲RECORD.
                            FIELD, LINES ̲ABOVE)(CC): ERROR
                            ̲OK

       ERROR?  ANALYSE ERROR (CC, 0)

       OK? MOVE HEADER ̲IFCB TO SPLIT ̲DIGIT

   END CASE

   END MOVE ̲CURSOR ̲TO ̲CMD ̲LINE






                 F̲I̲G̲U̲R̲E̲ ̲4̲.̲2̲.̲2̲.̲4̲.̲4̲-̲5̲



   REMOVE ̲DISPLAY ̲ON ̲CMD ̲LINE

   BUILD FIELD ̲LIST

   BUILD BLE ̲LIST

   CASE FIELDS ̲OUTPUT(HEADER ̲IFCB, FIELD ̲LIST, BLE ̲LIST,
   NUMBER ̲OF ̲
                            FIELDS, BYTE ̲LENGTH)(CC):
                            ERROR ̲OK

       ERROR? ANALYSE ̲ERROR(CC,0)

       OK?

   END CASE

   END REMOVE ̲DISPLAY ̲ON ̲CMD ̲LINE




                 F̲I̲G̲U̲R̲E̲ ̲4̲.̲2̲.̲2̲.̲4̲.̲4̲-̲6̲



   BLANK RESP ̲LINE:

   BUILD FIELD ̲LIST

   BUILD BLE ̲LIST

   CASE FIELDS ̲OUTPUT(HEADER ̲IFCB, FIELD ̲LIST, BLE ̲LIST,
   NUMBER ̲OF ̲
                            FIELDS, BYTE ̲LENGTH)(CC):
                            ERROR ̲OK

       ERROR? ANALYSE ̲ERROR(CC,0)

       OK?

   END CASE

   END BLANK RESP ̲LINE




                 F̲I̲G̲U̲R̲E̲ ̲4̲.̲2̲.̲2̲.̲4̲.̲4̲-̲7̲




4.2.2.4.5    V̲C̲O̲ ̲C̲M̲D̲ ̲P̲R̲O̲C̲E̲S̲S̲I̲N̲G̲



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

         The purpose of this module is to analyse commands from
          VCO and, in accordance with the commands, to enter
         VUS ̲SEQUENCE(4.2.2.4.11).



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

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

         a)  VCO ̲CMD ̲PROCESSING

         b)  VCO ̲CMD ̲PROCESSING (R6)

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

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

         R6      LINK                   (DEST)

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

         N/A

         R0 - R7                        (DEST)



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

         BLANK ̲VDU-HEADER ̲FIELDS removes display in classification
         field.



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

             VUS ̲CO ̲OP ̲TYPE             refer 4.1.4
             COROUTINE ̲SEMAPHORE ̲TYPE   refer 4.1.4


             IDENT ̲TYPE                 refer 4.1.4
             SEQUENCE ̲CODE ̲TYPE         refer 4.1.4

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

             VUS ̲S1                     refer 4.1.4
             VCO ̲OP                     refer 4.1.4
             SEQUENCE ̲RECORD ̲NO (m)     refer 4.2.2.5

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

             None



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

         This module inspects VCO commands, enters VUS ̲SEQUENCE(4.2.2.4.11)
         and signals opsem VUS ̲S1.



   VCO ̲CMD ̲PROCESSING:

   CASE VCO ̲OP.CMD OF

       CLOSE ̲DOWN ̲UFCO ̲CMD? SEQUENCE ̲RECORD ̲NO = SEQ ̲CLOSE
       ̲DOWN

                            V̲U̲S̲ ̲S̲E̲Q̲U̲E̲N̲C̲E̲(̲4̲.̲2̲.̲2̲.̲4̲.̲1̲1̲)̲

                            BLANK ̲VDU ̲HEADER ̲FIELDS

                            MOVE CLOSE ̲DOWN ̲UFCO ̲CC TO
                            VCO ̲OP.CMD

       BLOCK ̲UFCO ̲CMD? SEQUENCE ̲RECORD ̲NO = SEQ ̲BLOCK
       ̲TERMINAL

                       V̲U̲S̲ ̲S̲E̲Q̲U̲E̲N̲C̲E̲(̲4̲.̲2̲.̲2̲.̲4̲.̲1̲1̲)̲

                       MOVE BLOCK ̲UFCO ̲CC TO VCO ̲OP.CMD

       STOP ̲UFCO ̲CMD? SEQUENCE ̲RECORD ̲NO = SEQ ̲STOP ̲USER

                       V̲U̲S̲ ̲S̲E̲Q̲U̲E̲N̲C̲E̲(̲4̲.̲2̲.̲2̲.̲4̲.̲1̲1̲)̲

                       MOVE STOP ̲UFCO ̲CC TO VCO ̲OP.CMD



                       MOVE UFCO.IDENT TO VCO ̲OP.IDENT

                       SIGNAL ̲OPSEM(VUS ̲S1, VCO ̲OP)(CC):
                     OK



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

   END CASE



                 F̲I̲G̲U̲R̲E̲ ̲4̲.̲2̲.̲2̲.̲4̲.̲5̲-̲1̲



4.2.2.4.6    V̲D̲I̲A̲ ̲C̲C̲ ̲P̲R̲O̲C̲E̲S̲S̲I̲N̲G̲



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

         The purpose of this module is to analyse the inputs
         that UFCO gets from VDIA. Depending on input a completion
         code is signalled to VCO and thereafter VUS ̲SEQUENCE(4.2.2.4.11)
         is entered, or on behalf of other inputs VUS ̲SEQUENCE(4.2.2.4.11)
         is entered directly.



4.2.2.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)  VDIA ̲CC ̲PROCESSING

         b)  VDIA ̲CC ̲PROCESSING (R6)

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

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

         R6      LINK                   (DEST)

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

         R0 - R7                        (DEST)



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

         N/A



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

             VUS ̲CO ̲OP ̲TYPE             refer 4.1.4
             VDIA ̲UFCO ̲CC ̲TYPE          refer 4.1.4
             IDENT ̲TYPE                 refer 4.1.4
             USER ̲ACTION ̲TYPE           refer CPS/DBD/001



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

             F/C ̲KEY ̲ALLOWED ̲FLAG (m)   refer 4.2.2.5
             VDU ̲FAILED (m)             refer 4.2.2.5
             SEQUENCE ̲RECORD ̲NO (m)     refer 4.2.2.5
             VDIA ̲CC ̲OP                 refer 4.1.4
             VUS ̲S1                     refer 4.1.4
             VCO ̲OP (m)                 refer 4.1.4

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

             None



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

         This module analyses completion code from VDIA, and
         in those cases where VDIA ̲CC is to command issued by
         VCO, a completion code is sent to VCO before entering
         VUS ̲SEQUENCE module.



   VDIA CC PROCESSING

   CASE VDIA ̲CC ̲OP.CMD OF

       LINES ̲DELETED ̲CC?

       LINES ̲INSERTED ̲CC?  SET F/C ̲KEY ̲ALLOWED ̲FLAG =
       TRUE



       INSERT ̲NOT ̲ALLOWED ̲CC?

       DELETE ̲NOT ̲ALLOWED ̲CC?  ̲SET F/C ̲KEY ̲ALLOWED ̲FLAG
       = TRUE

                               D̲I̲S̲P̲L̲A̲Y̲ ̲E̲R̲R̲O̲R̲ ̲M̲S̲G̲(̲4̲.̲2̲.̲2̲.̲6̲.̲4̲)̲

       OTHERWISE?  S̲E̲Q̲U̲E̲N̲C̲E̲ ̲C̲O̲M̲P̲L̲E̲T̲I̲O̲N̲(̲4̲.̲2̲.̲2̲.̲4̲.̲6̲-̲2̲)̲

   END CASE


                 F̲I̲G̲U̲R̲E̲ ̲4̲.̲2̲.̲2̲.̲4̲.̲6̲-̲1̲



   CASE VDIA ̲CC ̲OP.CMD OF
       VDIA ̲CLEAR ̲VDU ̲CC?  SEQUENCE ̲RECORD ̲NO = SEQ ̲CLEAR
       ̲VDU ̲CC
       OUTPUT ̲MSG ̲CC?      SEQUENCE ̲RECORD ̲NO = SEQ ̲OUTPUT
       ̲MSG ̲CC
       INPUT ̲MSG ̲CC?       SEQUENCE ̲RECORD ̲NO = SEQ ̲INPUT
       ̲MSG ̲CC
       INPUT ̲REQ ̲CC?       SEQUENCE ̲RECORD ̲NO = SEQ ̲INPUT
       ̲REQ ̲CC
       VDIA ̲SUSPEND ̲CC?    SEQUENCE ̲RECORD ̲NO = SEQ ̲SUSPEND
       ̲CC
       APPEND ̲VALID ̲CC?    SEQUENCE ̲RECORD ̲NO = SEQ ̲APPEND
       ̲VALID ̲CC
       DEFER ̲VALID ̲CC      SEQUENCE ̲RECORD ̲NO = SEQ ̲DEFER
       ̲VALID ̲CC
       RELEASE ̲VALID ̲CC?   SEQUENCE ̲RECORD ̲NO = SEQ ̲RELEASE
       ̲VALID ̲CC
       COORDINATE ̲VALID ̲CC?SEQUENCE ̲RECORD ̲NO = SEQ ̲COORDINATE
       ̲VALID ̲CC
       VAL ̲ERROR ̲CC?       SEQUENCE ̲RECORD ̲NO = SEQ ̲VAL
       ̲ERROR ̲CC
       EXCEEDED ̲CC?        SEQUENCE ̲RECORD ̲NO = SEQ ̲EXCEEDED
       ̲CC
       INPUT ̲FORMAT ̲CC?    SEQUENCE ̲RECORD ̲NO = SEQ ̲INPUT
       ̲FORMAT ̲CC
       VDIA ̲CANCEL ̲CC?     SEQUENCE ̲RECORD ̲NO = SEQ ̲CANCEL
       ̲CC
       SPLIT ̲FAILED ̲CC?    SET VDU ̲FAILED = TRUE
                           SEQUENCE ̲RECORD ̲NO = SEQ ̲FAILURE
       VDIA ̲CLOSE ̲DOWN ̲CC? MOVE ̲UFCO ̲IDENT TO VCO ̲OP.IDENT
                           MOVE CLOSE ̲DOWN ̲UFCO ̲CC TO
                           VCO ̲OP.CMD
                           SIGNAL ̲OPSEM(VUS ̲S1, VCO ̲OP)(CC):
                           OK
                           SEQUENCE ̲RECORD ̲NO = SEQ ̲CLOSE
                           ̲DOWN ̲CC
       OUTPUT ̲FORMAT ̲CC?   START ̲FLAG EQ TRUE?
                           MOVE ̲UFCO ̲IDENT TO VCO ̲OP.IDENT
                           MOVE START ̲UFCD ̲CC TO VCD ̲OP.CMD
                           SIGNAL ̲OPSEM(VUS ̲S1, VCO ̲OP):
                           OK
                           SEQUENCE ̲RECORD ̲NO = SEQ ̲OUTPUT
                           ̲FORMAT ̲CC
       OTHERWISE?          V̲U̲S̲ ̲I̲N̲T̲E̲R̲N̲A̲L̲ ̲E̲R̲R̲O̲R̲(̲4̲.̲1̲.̲5̲.̲2̲)̲

   END CASE

   V̲U̲S̲ ̲S̲E̲Q̲U̲E̲N̲C̲E̲(̲4̲.̲2̲.̲2̲.̲4̲.̲1̲1̲)̲









                 F̲I̲G̲U̲R̲E̲ ̲4̲.̲2̲.̲2̲.̲4̲.̲6̲-̲2̲



4.2.2.4.7    R̲E̲T̲R̲ ̲O̲P̲ ̲P̲R̲O̲C̲E̲S̲S̲I̲N̲G̲



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

         The purpose of this module is to analyse input from
         RETR ̲Coroutine, display notification and entering the
         VUS ̲SEQUENCE module(4.2.2.4.11).



4.2.2.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)  RETR ̲OP ̲PROCESSING

         b)  RETR ̲OP ̲PROCESSING (R6)

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

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

         R6      LINK                   (DEST)

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

         None

         R0 - R7                        (DEST)



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

         N/A



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

             VUS ̲CO ̲OP ̲TYPE             refer 4.1.4
             


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

             TRANSACTION ̲ID ̲RECORD (m)  refer 4.1.4
             UFCO ̲RETR ̲ATTR             refer 4.1.4
             SEQUENCE ̲RECORD ̲NO (m)     refer 4.2.2.5
             RETR ̲OP: VUS ̲CO ̲OP ̲TYPE    refer 4.1.4
             ERROR ̲MSG ̲NO (m)           refer 4.2.2.5
             START FLAG (m)             refer 4.2.2.5

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

             None



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

         This module calls either DISPLAY ̲ERROR ̲MSG(4.2.2.6.4)
         and VUD ̲SEQUENCE(4.2.2.4.11) or the latter only.



   RETR ̲OP ̲PROCESSING:

   CASE RETR ̲OP.CMD OF:

       ONLINE ̲NOTIFICATION?   D̲I̲S̲P̲L̲A̲Y̲ ̲E̲R̲R̲O̲R̲ ̲M̲S̲G̲(̲4̲.̲2̲.̲2̲.̲6̲.̲4̲)̲

       OFFLINE ̲NOTIFICATION?  D̲I̲S̲P̲L̲A̲Y̲ ̲E̲R̲R̲O̲R̲ ̲M̲S̲G̲(̲4̲.̲2̲.̲2̲.̲6̲.̲4̲)̲
                              
                              SEQUENCE ̲RECORD ̲NO = SEQ
                              ̲OFF ̲NOT

                              V̲U̲S̲ ̲S̲E̲Q̲U̲E̲N̲C̲E̲(̲4̲.̲2̲.̲2̲.̲4̲.̲1̲1̲)̲

       RETRIEVAL ̲NOTIFICATION?   UPDATE = SEQUENCE ̲RECORD
       ̲NO

                                 V̲U̲S̲ ̲S̲E̲Q̲U̲E̲N̲C̲E̲(̲4̲.̲2̲.̲2̲.̲4̲.̲1̲1̲)̲

       APPEND ̲NOTIFICATION?   UDDATE SEQUENCE ̲RECORD ̲NO

                              V̲U̲S̲ ̲S̲E̲Q̲U̲E̲N̲C̲E̲(̲4̲.̲2̲.̲2̲.̲4̲.̲1̲1̲)̲

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

   END CASE



                 F̲I̲G̲U̲R̲E̲ ̲4̲.̲2̲.̲2̲.̲4̲.̲7̲-̲1̲



4.2.2.4.8    V̲U̲S̲ ̲I̲N̲/̲O̲U̲T̲ ̲L̲I̲N̲E̲



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

         The purpose of this module is to analyse the input
         from command line and signal command and parameter
         to VDIA, or alternatively, if the input is unacceptable,
         to call other modules.



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

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

         a)  VUS ̲IN/OUT ̲LINE

         b)  VUS ̲IN/OUT ̲LINE (R6)

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

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

         R6      LINK                   (DEST)

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

         R0 - R7                        (DEST)



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

         N/A



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

             VUS ̲CO ̲OP ̲TYPE             refer 4.1.4
             F/C ̲KEY ̲TYPE ̲TYPE          refer 4.2.2.5
             IDENT ̲TYPE                 refer 4.1.4

         …86…1         …02…   …02…   …02…   …02…                  …02…             
                   
b)       E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲

             F/C ̲KEY ̲ALLOWED ̲FLAG (m)   refer 4.2.2.5
             IN/OUT ̲LINE ̲FLAG (m)       refer 4.2.2.5
             HEADER ̲IFCB                refer 4.1.4
             VUS ̲S3 (m)                 refer 4.1.4
             UFCO ̲OP (m)                refer 4.1.4
             ERROR ̲MSG ̲NO (m)           refer 4.2.2.5
             BLE ̲LIST (m)               refer 4.2.2.5
             FIELD ̲LIST (m)             refer 4.2.2.5

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

             VAR NO ̲OF ̲LINES: INTEGER



4.2.2.4.8.5 M̲o̲d̲u̲l̲e̲ ̲D̲e̲s̲i̲g̲n̲
             
         If the expected F/C ̲key (Return) is entered the contents
         of command line is fetched, analysed and a command
         is signalled to VDIA. Otherwise is other common procedures
         called in order to display an error message and to
         reset the cursor on the command line.



   VUS ̲IN/OUT ̲LINE:

   F/C ̲KEY NE RETURN? D̲I̲S̲P̲L̲A̲Y̲ ̲E̲R̲R̲O̲R̲ ̲M̲S̲G̲(̲4̲.̲2̲.̲2̲.̲6̲.̲4̲)̲

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

   SET ̲F/C ̲KEY ̲ALLOWED ̲FLAG = FALSE

   CASE FIELDS ̲INPUT(HEADER ̲IFCB, BLE ̲LIST, FIRST ̲FIELD,
   NO ̲OF ̲FIELDS)
                    (BYTES ̲TRANSFERRED, FIELD ̲LIST, CC):
                 ERROR ̲OK

       ERROR? ANALYSE ̲ERROR(CC,0)

       OK? MOVE INPUT TO BLE ̲LIST AND FIELD ̲LIST

           CHARACTER NE DIGIT?

           DIGIT RANGE GT 250?  D̲I̲S̲P̲L̲A̲Y̲ ̲E̲R̲R̲O̲R̲ ̲M̲S̲G̲(̲4̲.̲2̲.̲2̲.̲6̲.̲4̲)̲

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

           F/C KEY TYPE EQ
               INSERT ̲LINE?: MOVE VDIA ̲INSERT TO UFCO
             ̲OP.CMD

                             MOVE NO ̲OF ̲LINES TO UFCO
                          ̲OP.PARA

           MOVE VDIA ̲DELETE TO UFCO ̲OP.CMD

           MOVE NO ̲OF ̲LINES TO UFCO ̲OP.PARA

           SIGNAL ̲OPSEM(VUS ̲S3, UFCO ̲OP): OK

           R̲E̲S̲E̲T̲ ̲C̲U̲R̲S̲O̲R̲(̲4̲.̲2̲.̲2̲.̲6̲.̲2̲)̲

           SET IN/OUT ̲LINE FLAG = FALSE

   END CASE

   END VUS ̲IN/OUT ̲LINE



                 F̲I̲G̲U̲R̲E̲ ̲4̲.̲2̲.̲2̲.̲4̲.̲8̲-̲1̲


4.2.2.4.9    V̲U̲S̲ ̲C̲M̲D̲ ̲P̲E̲N̲D̲I̲N̲G̲



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

         The purpose of this module is to fetch the content
         of the command line, validate it, display terminal
         field text and entering the SEQUENCE module (4.2.2.4.11).



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

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

         a)  VUS ̲CMD ̲PENDING

         b)  VUS ̲CMD ̲PENDING (R6)

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

         R6      LINK                         (DEST)

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

         R0 - R7                              (DEST)



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

         Validate input: Sends request to UMAM (Continue Prep)
         or to SAR (RET, parameters). Calls three functions
         in order to validate parameters.



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

             USER ̲CAPABILITY ̲TYPE             refer CPS/DBD/001
             F/C ̲KEY ̲TYPE ̲TYPE                refer 4.2.2.5
             IOC ̲FIELD ̲DESCRIPTOR ̲TYPE        refer 4.1.4

         …86…1         …02…   …02…   …02…   …02…                        …02…       
                   
         b)  E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲

             FORMAT ̲ID                        refer 4.1.4
             ERROR ̲MSG ̲NO (m)                 refer 4.2.2.5
             CAB: USR ̲CAPABILITY ̲TYPE (m)
             TMP ̲RECORD (m)                   refer 4.1.4
             FIELD ̲LIST (m)                   refr 4.2.2.5
             BUFFER ̲LIST (m)                  refer 4.2.2.5
             CMD ̲FLAG (m)                     refr 4.2.2.5
             CURRENT ̲MODE (m)                 refer 4.2.2.5
             HEADER ̲IFCB                      refer 4.1.4
             FIRST ̲FIELD ̲RECORD (m)           refer 4.2.2.5
             BLE ̲LIST (m)                     refr 4.2.2.5

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

             TYPE CMD ̲RECORD: CMD ̲RECORD ̲TYPE

             CMD ̲RECORD ̲TYPE =

             RECORD

                 CMD: ARRAY (1  4) OF CHAR

                 VDU ̲HEADER ̲TEXT: ARRAY (1  26) OF CHAR

                 CAPABILITY: USER ̲CAPABILITY ̲TYPE

                 VDU ̲HEADER ̲FLAG: INTEGER

                 SEQUENCE ̲RECORD ̲NO: INTEGER

                 MODE:               INTEGER

                 FORMAT ̲ID:          INTEGER

             END;



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

         The content of command line is fetched, analysed and
         a call to TMP is issued.

         Capability is checked.

         Either is the terminal ̲field test displayed or the
         field is blanked, depending on the VDU ̲Header ̲Test
         ̲Flag ̲Sequence ̲record ̲no. is calculated and SEQUENCE
         module (4.2.2.4.11) is entered.



                  VUS ̲CMD ̲PENDING

   F/C ̲KEY NE RETURN?  D̲I̲S̲P̲L̲A̲Y̲ ̲E̲R̲R̲O̲R̲ ̲M̲S̲G̲(̲4̲.̲2̲.̲2̲.̲6̲.̲4̲)̲

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

   BUILD BLE ̲LIST

   BUILD FIRST ̲FIELD ̲RECORD

   CASE FIELDS ̲INPUT(HEADER ̲IFCB, BLE ̲LIST, FIRST ̲FIELD
   ̲RECORD,                                                         NO
                                                                   ̲OF
                                                                   ̲FIELDS)(BYTES
                                                                   ̲TRANSFERRED,
                     FIELD ̲LIST, CC): ERROR ̲OK

       ERROR?  ANALYSE ̲ERROR(CC,0)

       OK?  I̲N̲P̲U̲T̲ ̲C̲M̲D̲ ̲R̲E̲C̲O̲R̲D̲(̲4̲.̲2̲.̲2̲.̲4̲.̲9̲-̲2̲)̲

   END CASE

   SET CMD ̲FLAG = FALSE



   END VUS ̲CMD PENDING




                 F̲I̲G̲U̲R̲E̲ ̲4̲.̲2̲.̲2̲.̲4̲.̲9̲-̲1̲



                  INPUT ̲CMD ̲RECORD

   BUILD TMP RECORD

   CASE TMP ̲SEARCH(TMP ̲RECORD)(CMD ̲RECORD, CC): ERROR
   ̲OK

       ERROR? CASE ANALYSE ̲ERROR(CC,1 ENTRY ̲NOT ̲FOUND):(ULB8)

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

              END CASE

       OK? CAPABILITY NOT OK?  D̲I̲S̲P̲L̲A̲Y̲ ̲E̲R̲R̲O̲R̲ ̲M̲S̲G̲(̲4̲.̲2̲.̲2̲.̲6̲.̲4̲)̲
                                                                        R̲E̲S̲E̲T̲
                                                                        ̲C̲U̲R̲S̲O̲R̲
                                                                        ̲O̲N̲
                                                                        ̲C̲M̲D̲
                                                                        ̲L̲I̲N̲E̲(̲4̲.̲2̲.̲2̲.̲6̲.̲3̲)̲

              CURRENT ̲MODE = CMD ̲RECORD.MODE

              VDU ̲HEADER ̲FLAG EQ TRUE?  D̲I̲S̲P̲L̲A̲Y̲ ̲I̲N̲F̲(̲4̲.̲2̲.̲2̲.̲4̲.̲9̲-̲4̲)̲

              B̲L̲A̲N̲K̲ ̲T̲E̲X̲T̲ ̲F̲I̲E̲L̲D̲(̲4̲.̲2̲.̲2̲.̲4̲.̲9̲-̲5̲)̲



              L̲O̲O̲K̲ ̲U̲P̲ ̲T̲A̲B̲L̲E̲(̲4̲.̲2̲.̲2̲.̲4̲.̲9̲-̲3̲)̲

   END CASE



                 F̲I̲G̲U̲R̲E̲ ̲4̲.̲2̲.̲2̲.̲4̲.̲9̲-̲2̲



         LOOK ̲UP ̲TABLE:

         B̲U̲I̲L̲D̲ ̲T̲M̲P̲ ̲R̲E̲C̲O̲R̲D̲S̲

         CASE TMP ̲SEARCH(TMP ̲RECORDS)
                        (SEQUENCE ̲TABLE, CC): ERROR ̲OK

             ERROR? ANALYSE ̲ERROR(CC,0)

             OK?  V̲U̲S̲ ̲S̲E̲Q̲U̲E̲N̲C̲E̲(̲4̲.̲2̲.̲2̲.̲4̲.̲1̲1̲)̲

         END CASE

         END LOOK ̲UP ̲TABLE




                    F̲I̲G̲U̲R̲E̲ ̲4̲.̲2̲.̲2̲.̲4̲.̲9̲-̲3̲



   DISPLAY ̲INF:

   BUILD BLE ̲LIST

   BUILD FIELD ̲LIST

   CASE FIELDS ̲OUTPUT(HEADER ̲IFCB, FIELD ̲LIST, BLE ̲LIST,
                     NO OF FIELDS; BYTE ̲LENGTH)(CC): ERROR
                     ̲OK

       ERROR? ANALYSE ̲ERROR(CC, 0)

       OK?

   END CASE

   END DISPLAY INF




                 F̲I̲G̲U̲R̲E̲ ̲4̲.̲2̲.̲2̲.̲4̲.̲9̲-̲4̲



   BLANK ̲TEXT ̲FIELD:

   BUILD BLE ̲LIST

   BUILD FIELD LIST

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

       ERROR? ANALYSE ̲ERROR(CC,0)

       OK?

   END CASE

   END BLANK ̲TEXT ̲FIELD



                 F̲I̲G̲U̲R̲E̲ ̲4̲.̲2̲.̲2̲.̲4̲.̲9̲-̲5̲



4.2.2.4.10   V̲U̲S̲ ̲D̲I̲S̲P̲L̲A̲Y̲ ̲R̲E̲S̲P̲ ̲M̲S̲G̲



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

         The purpose of this module is to transfer an error
         code into error/response messages, which are displayed
         in the command line.



4.2.2.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)  VUS ̲DISPLAY ̲RESP ̲MSG

         b)  VUS ̲DISPLAY ̲RESP ̲MSG (R6)

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

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

         R6      LINK                   (DEST)

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

         R0 - R7                        (DEST)



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

         Build TMP records: Establish the necessary records
         for a call to TMP. One record filled in with search
         parameters, and one available for return parameters.





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

             F/C ̲KEY ̲TYPE ̲TYPE          refer 4.2.2.5
             IOC ̲FIELD ̲DESCRIPTOR ̲TYPE  refer 4.1.4

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

             ERROR ̲MSG ̲NO (m)           refer 4.2.2.5
             TMP ̲RECORD (m)             refer 4.1.4
             OUTPUT ̲FLAG (m)            refer 4.2.2.5
             FIELD ̲LIST (m)             refer 4.2.2.5
             BLE ̲LIST (m)               refer 4.2.2.5
             F/C ̲KEY ̲TYPE               refer 4.2.2.5
             FIRST ̲FIELD ̲RECORD (m): 
             IOC ̲FIELD ̲DESCRIPTOR ̲TYPE
             ERROR ̲TEXT                 refer 4.1.4

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

             None



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

         Content of the command line is received analysed and
         a call to TMP is issued. If the input is unacceptable
         an error message is displayed.




                VUS ̲DISPLAY ̲RESP ̲MSG

   F/C ̲KEY NE RETURN?  D̲I̲S̲P̲L̲A̲Y̲ ̲E̲R̲R̲O̲R̲ ̲M̲S̲G̲(̲4̲.̲2̲.̲2̲.̲6̲.̲4̲)̲

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

   BUILD BLE ̲LIST

   BUILD FIRST ̲FIELD ̲RECORD

   CASE FIELDS ̲INPUT(HEADER ̲IFCB, BLE ̲LIST, FIRST ̲FIELD
   ̲RECORD,
                     NO OF FIELDS)(BYTES ̲TRANSFERRED,
                     FIELD ̲LIST, CC): ERROR ̲OK

       ERROR? ANALYSE ̲ERROR(CC,0)

       OK? CHARACTER NE DIGIT?

           DIGIT RANGE GT 100?  D̲I̲S̲P̲L̲A̲Y̲ ̲E̲R̲R̲O̲R̲ ̲M̲S̲G̲(̲4̲.̲2̲.̲2̲.̲6̲.̲4̲)̲
                                R̲E̲S̲E̲T̲ ̲C̲U̲R̲S̲O̲R̲ ̲O̲N̲ ̲C̲M̲D̲ ̲L̲I̲N̲E̲(̲4̲.̲2̲.̲2̲.̲6̲.̲3̲)̲

           B̲U̲I̲L̲D̲ ̲T̲M̲P̲ ̲R̲E̲C̲O̲R̲D̲S̲

           CASE TMP ̲SEARCH(TMP ̲RECORDS)(ERROR ̲TEXT, CC):
         ERROR ̲OK

               ERROR? CASE ANALYSE ̲ERROR(CC,1 RECORD ̲NOT
             ̲FOUND):(U1)

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

               OK?  D̲I̲S̲P̲L̲A̲Y̲ ̲R̲E̲S̲P̲ ̲T̲E̲X̲T̲:̲ ̲(̲4̲.̲2̲.̲2̲.̲4̲.̲1̲0̲-̲2̲)̲
                    R̲E̲S̲E̲T̲ ̲C̲U̲R̲S̲O̲R̲(̲4̲.̲2̲.̲2̲.̲6̲.̲2̲)̲

           END CASE

       END CASE

       SET OUTPUT ̲FLAG = TRUE

       SET RESPONSE ̲TEXT ̲FLAG = FALSE





                F̲I̲G̲U̲R̲E̲ ̲4̲.̲2̲.̲2̲.̲4̲.̲1̲0̲-̲1̲



                 DISPLAY ̲RESP ̲TEXT:

   BUILD FIELD ̲LIST

   BUILD BLE ̲LIST

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

       ERROR? ANALYSE ̲ERROR(CC, 0)

       OK?

   END DISPLAY ̲RESP ̲TEXT



                F̲I̲G̲U̲R̲E̲ ̲4̲.̲2̲.̲2̲.̲4̲.̲1̲0̲-̲2̲



4.2.2.4.11   V̲U̲S̲ ̲S̲E̲Q̲U̲E̲N̲C̲E̲



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

         The purpose of this module is to enter the sequence
         table and perform the content of one or more of its
         records e.g. send information, send commands and set
         cursor position.



4.2.2.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)  VUS ̲SEQUENCE(SEQUENCE ̲RECORD ̲NO: INTEGER)

         b)  VUS ̲SEQUENCE(R4, R6)

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

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

         R4      Pointer to SEQUENCE ̲RECORD ̲NO                        (KEPT)

         R6      LINK                   (DEST)

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

         R0 - R3, R5 - R7               (DEST)





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

          1) CANCEL SYS CALL
          2) SEND STATUS TO UMAM
          3) DISMANTLE CIF
          4) START EXECUTION
          5) UPDATE VDU-HEADER
          6) CREATE NEW VERSION
          7) SEND FOR COORDINATION
          8) SEND FOR RELEASE
          9) SEND REQUEST TO SAR
         10) DISPLAY COORDINATION NOTIFICATION
         11) SEND FOR PRINT
         12) SEND CIF TO SAR
         13) SEND INFORMATION TO STP
         14) SEND TO THP
         15) SEND LOG INFORMATION
         16) DISPLAY APPEND NOTIFICATION
         17) KEEP AND PRESENT
         18) DELETE AND PRESENT
         19) BUILD TMP RECORDS
         20) SIGNAL S.1
         21) REQUEST RELEASE SECURITY INTERROGATION


         1)  Cancel System Call

             Coroutine Monitor issues a cancel system call on
             F/C-key ̲OP and ANQ ̲OP. It is followed by a SYS
             ̲WAIT call for the same operation.

         2)  Send status to UMAM.

             A BUFFER is reserved. Depending on status a QEL
             is sent to either UMAM ̲RECQ, subqueue 5 (delivery
             status) or subqueue 2 (Release and Outgoing msg.
             status.

         3)  Dismantle CIF:

             Two calls to MMS is issued, Close View and Dismantle
             View.


         4)  Start Execution

             Two calls to MMS is issued, Create View and Open
             View and Transaction ID is created.

         5)  Update VDU-Header.

             When a transaction with a certain classification
             is processed the VDU-header is updated.

         6)  Create new Version

             A call to MMS, Create View, i issued when the validation
             ̲invalid completion in returned from VDIA.

         7)  Send for Coordination

             The QEL referencing the CIF is sent to MDP after
             having saved the view.

         8)  Send for release

             The QEL referencing the CIF is sent to associated
             release terminal after having saved the view.

         9)  Send request to SAR.

             When a retrieve request is issued a Send Request
             command is sent to SAR. A Buffer is reserved.

         10) Display Coordination Notification.

             A buffer containing the SCD's, which not were able
             to receive the coordination ̲notification, is read
             and the contents is displayed in the response-line.
             Output-flag is set to true ref. fig. 4.2.2.4.11.3-10

         11) Send For Print

             A QEL referencing the message is sent to either
             associated printer, or atomal printer.

         12) Send CIF to SAR.

             When a transaction is terminated information is
             sent to SAR.



         13) Send Information to STP

             A call to STP delivery package.

         14) Sent to THP

             A released message is sent to THP after having
             saved the view.

         15) Send LOG information.

             Ct BUFFER is reserved. Log information is sent
             to LOG Package.

         16) Display append Notification

             A call to TMP is issued and the text is displayed.

         17) Keep and Present.

             The CIF is returned to the queue.
             The next item from the queue is fetched.  If the
             mainqueue is empty, a TMP call is issued in order
             to display an error message.

         18) Delete and Present

             The CIF is dismantled.
             The next item from the queue is fetched.  If the
             mainqueue is empty, a TMP call is issued in order
             to display an error message.

         19) Built TMP Records.

             Establish the necessary records for calling TMP.
             One record with search parameter inserted, and
             one for return parameters.

         20) Signal S1

             Whenever precedence level changes from Super Flash
             or Flash to a level below VCO is informed by VUS
             ̲S1.

         21) Request release security interrogation.

             Sends request to SSC package.





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

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

             QEL ̲REFERENCE ̲TYPE,
             TIME ̲TYPE,
             USER ̲CAPABILITY ̲TYPE,
             QEL ̲ATTRIBUTES ̲TYPE:       ref. CPS/DBD/001
             Q REFERENCE ̲TYPE:          ref. CPS/DBD/001
             BUFFER ̲REFERENCE ̲TYPE:     ref. CPS/DBD/001
             PRECEDENCE ̲TYPE:           ref. CPS/DBD/001
             VUS ̲CO ̲OP ̲TYPE:            ref. 4.1.4
             IDENT ̲TYPE:                ref. 4.1.4
             IOC ̲FIELD ̲DESCRIPTOR ̲TYPE: ref. 4.1.4
             CLASSIFICATION ̲TYPE:       ref. 4.2.2.5

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

             BUFFER(m):BUFFER ̲REFERENCE ̲
             TYPE                       ref. CPS/DBD/001
             DESTINATION: POINTER (m)   ref. 4.1.4
             LOG ̲BUFFER ̲SIZE:           ref. 4.1.4
             STATUS ̲BUFFER ̲SIZE:        ref. 4.1.4
             SOURCE: POINTER (m)        ref. 4.1.4
             TMP ̲RECORD (m)             ref. 4.1.4
             CURRENT ̲MODE:USER ̲CAPABI ̲
             LITY ̲TYPE(m)

             CURRENT ̲PRECEDENCE: PRECEDENCE ̲
             TYPE(m)

             FORMAT ̲ID(m)               ref. 4.1.4
             SEQUENCE ̲RECORD ̲NO(m)      ref. 4.1.4
             FIELD ̲LIST(m)              ref. 4.2.2.5
             BUFFER ̲LIST(m)             ref. 4.2.2.5
             SPLIT ̲DIGIT(m)             ref. 4.2.2.5
             FIRST ̲FIELD ̲RECORD(m):IOC ̲
             FIELD ̲DESCRIPTOR ̲TYPE
             F/C ̲KEY ̲TYPE: F/C ̲KEY TYPE-TYPE
                                        ref. 4.2.2.5
             VUS ̲S3                     ref. 4.1.4
             VDIA ̲CMD ̲OP(m)             ref. 4.1.4
             CURSOR ̲RECORD(m)           ref. 4.1.4
             LOG ̲SEQUENCE ̲RECORD ̲NO(m)  ref. 4.2.2.5
             APPEND ̲QEL(m): QEL ̲REFERENCE ̲TYPE
             HEADER ̲IFCB                ref. 4.1.4
             FORMAT ̲IFCB                ref. 4.1.4


             INTERNAL ̲ERROR ̲INF(m):VUS ̲INT ̲ERROR ̲TYPE
             CIF ̲REF ̲QEL: QEL ̲REFERENCE ̲TYPE
             APPEND ̲QEL: QEL ̲REFERENCE ̲TYPE
             RECV ̲Q: Q ̲REFERENCE ̲TYPE
             RELS ̲Q: Q ̲REFERENCE ̲TYPE

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

             VAR LOG ̲CC ̲FLAG:           BOOLEAN
             VAR SEQUENCE ̲KEY ̲CODE ̲NO:  INTEGER



    VAR SEQUENCE ̲AREA = ARRAY(1..MAX ̲RECORDS)OF SEQUENCE
    ̲RECORD ̲TYPE

    TYPE SEQUENCE ̲RECORD =

         RECORD

             SEQUENCE ̲RECORD.NO:            INTEGER              RANGE
                                                                 0..15

             MASK ̲1:                        LONG                 RANGE
                                                                 0..32

             MASK ̲2:                        LONG                 RANGE
                                                                 0..32

             FUNCTION:                      INTEGER

             STATUS:                        INTEGER              RANGE
                                                                 0..15

             LOG AND STAT:    INTEGER       RANGE 0..3

             SPLIT ̲NO:                      SPLIT ̲NO
                                            ̲TYPE

             CURSOR ̲POS:                    3 CHAR

             VDIA ̲CMD:                      INTEGER              RANGE
                                                                 0..15

             SEQUENCE ̲KEY:    INTEGER       RANGE 0..15


    END


    TYPE SPLIT ̲NO = (HEADER, FORMAT)


    VUS ̲SEQUENCE

    SEQUENCE ̲LOOP:

       L̲O̲O̲K̲ ̲U̲P̲ ̲S̲E̲Q̲U̲E̲N̲C̲E̲ ̲K̲E̲Y̲ ̲(̲4̲.̲2̲.̲2̲.̲4̲.̲1̲1̲-̲2̲)̲

       LOG ̲INFORMATION? -     LOG ̲CC ̲FLAG EQ FALSE?

                                            GATHER
                                            INFORMATION

                                            SEND LOG
                                            INFORMATION

       GATHER INFORMATION     SET LOG ̲CC ̲FLAG = TRUE

       E̲X̲E̲C̲U̲T̲E̲ ̲F̲U̲N̲C̲T̲I̲O̲N̲                     UPDATE
                                            LOG ̲SEQUENCE
                                            ̲RECORD
                                            ̲NO

       SAR REPORT?   GATHER INFORMATION

                     SEND CIF TO SAR

       STATISTIC INFORMATION?   GATHER INFORMATION

                                     SEND TO STP
       STATUS?   GATHER INFORMATION

                CASE STATUS ̲IDENT OF

                    DELIVERY?
                    RELEASE?
                    OUTGOING? SEND STATUS TO UMAM
                    OTHERWISE?              V̲U̲S̲ ̲I̲N̲T̲E̲R̲N̲A̲L̲
                                            ̲E̲R̲R̲O̲R̲ ̲(̲4̲.̲1̲.̲5̲.̲2̲)̲

                END CASE
       CURSOR POSITION?  S̲E̲Q̲U̲E̲N̲C̲E̲ ̲C̲U̲R̲S̲O̲R̲ ̲(̲4̲.̲2̲.̲2̲.̲4̲.̲1̲1̲-̲3̲)̲

       VDIA  CMD?  S̲E̲Q̲U̲E̲N̲C̲E̲ ̲C̲M̲D̲ ̲(̲4̲.̲2̲.̲2̲.̲4̲.̲1̲1̲-̲4̲)̲

       B̲A̲C̲K̲ ̲P̲O̲I̲N̲T̲E̲R̲ ̲K̲E̲Y̲ ̲(̲4̲.̲2̲.̲2̲.̲4̲.̲1̲1̲-̲5̲)̲

    END SEQUENCE ̲LOOP

    END SEQUENCE
                FIG. 4.2.2.4.11-1


    LOOK ̲UP ̲SEQUENCE ̲KEY:

         MOVE  ZERO TO SEQUENCE ̲KEY ̲CODE ̲NO

         LOOP

             SEQUENCE ̲RECORD ̲NO EQ SEQUENCE ̲KEY ̲CODE
             ̲NO?  EXIT LOOP

             SEQUENCE ̲KEY ̲CODE ̲NO = SEQUENCE ̲KEY ̲CODE
             ̲NO + 1

             SEQUENCE ̲KEY ̲CODE ̲NO
                 GT NO OF RECORDS? - V̲U̲S̲ ̲I̲N̲T̲E̲R̲N̲A̲L̲ ̲E̲R̲R̲O̲R̲
                 ̲(̲4̲.̲1̲.̲5̲.̲1̲)̲

         END LOOP


         END LOOK ̲UP ̲SEQUENCE ̲KEY




























                FIG. 4.2.2.4.11-2


         SEQUENCE ̲CURSOR:

         BUILT CURSOR ̲RECORD

         CASE SEQUENCE ̲RECORD. SPLIT ̲NO OF

             HEADER?   MOVE HEADER ̲IFCB TO SPLIT ̲DIGIT

             FORMAT?   MOVE FORMAT ̲IFCB TO SPLIT ̲DIGIT

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

         END CASE

         MOVE SPLIT ̲DIGIT TO CURSOR ̲RECORD

         CASE SET ̲CURSOR ̲POSITION(CURSOR ̲RECORD)(CC):
         ERROR ̲OK

             ERROR? - ANALYSE ̲ERROR (CC,0)

            OK?

        END CASE

        END SEQUENCE ̲CURSOR



















                FIG. 4.2.2.4.11-3


         SEQUENCE ̲CMD:

         MOVE SEQUENCE ̲RECORD.VDIA ̲CMD TO UFCO ̲OP.CMD

         SIGNAL ̲OPSEM(VUS ̲S3, UFCO ̲OP)(CC): OK

         END SEQUENCE ̲CMD






































                FIG. 4.2.2.4.11-4


         BACK ̲POINTER ̲KEY


             NEW ̲FORMAT EQ NULL?            EXIT SEQUENCE
                                            ̲LOOP

             NEW ̲FORMAT ̲ID EQ FORMAT ̲ID

             MOVE NEW ̲FORMAT ̲ID TO FORMAT ̲ID

             UPDATE SEQUENCE ̲RECORD ̲NO

             S̲E̲A̲R̲C̲H̲ ̲N̲E̲W̲ ̲T̲A̲B̲L̲E̲ ̲(̲4̲.̲2̲.̲2̲.̲4̲.̲1̲1̲-̲6̲)̲



































                FIG. 4.2.2.4.11-5


         SEARCH NEW TABLE

         BUILD TMP ̲RECORDS:

         CASE TMP ̲SEARCH(TMP ̲RECORDS)(SEQUENCE ̲TABLE,CC):
         ERROR ̲OK

             ERROR? - ANALYSE ̲ERROR(CC,0)

             OK?

         END CASE


         END SEARCH NEW TABLE





























                FIG. 4.2.2.4.11-6


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

             QEL ̲REFERENCE ̲TYPE                ref. CPS/DBD/001
             QEL ̲ATTRIBUTES ̲TYPE               ref. CPS/DBD/001
             USER ̲CAPABILITY ̲TYPE              ref. CPS/DBD/001
             PRECEDENCE ̲TYPE                   ref. CPS/DBD/001
             Q ̲REFERENCE ̲TYPE                  ref. CPS/DBD/001
             VUS ̲CO ̲OP ̲TYPE                    ref. 4.1.4
             IOC ̲FIELD ̲DESCRIPTOR ̲TYPE         ref. 4.1.4

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

             TRANSACTION ̲ID                    ref. 4.1.4
             VDIA ̲CC ̲OP(m),                    ref. 4.1.4
             VCO ̲(MD ̲OP)m                      ref. 4.1.4
             RETR ̲OP;                          ref. 4.1.4
             UFCO ̲CMD ̲OP (m);                  ref. 4.1.4
             F/C ̲KEY ̲OP;                       ref. 4.1.4
             ANQ ̲OP: VUS ̲CO ̲OP TYPE            ref. 4.1.4
             TMP ̲RECORD (m):                   ref. 4.1.4
             ATTR ̲RECORD ̲1:QEL ̲ATTRIBUTES ̲TYPE ref. CPS/DBD/001
             ATTR ̲RECORD ̲2:QEL ̲ATTRIBUTES ̲TYPE ref. CPS/DBD/001
             VUS ̲S1 (m),                       refer 4.1.4
             VUS ̲S3 (m),                       refer 4.1.4
             VUS ̲S2:                           refer 4.1.4
             ANQ                               refer 4.1.4

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

         VAR: SPLIT ̲DIGIT:                INTEGER
              F/C ̲KEY ̲ALLOWED ̲FLAG:       BOOLEAN
              RESPONSE ̲TEXT ̲FLAG:         BOOLEAN
              IN/OUT ̲LINE ̲FLAG:           BOOLEAN
              CMD ̲FLAG:                   BOOLEAN
              OUTPUT ̲FLAG:                BOOLEAN
              CURRENT ̲PRECEDENCE:         PRECEDENCE ̲TYPE
              CURRENT ̲MODE:               USER ̲CAPABILITY ̲TYPE
              TIMES: TIME ̲TYPE
              SEQUENCE ̲RECORD ̲NO:         INTEGER
              FIELD ̲LIST:                 ARRAY OF INTEGERS
              BLE ̲LIST:                   ARRAY OF RECORDS
              ERROR ̲MSG ̲NO:               INTEGER
              F/C ̲KEY:                    FUNCTION ̲KEY ̲TYPE
              LOG ̲SEQUENCE ̲RECORD ̲NO:     INTEGER
              START ̲FLAG:                 BOOLEAN


4.2.2.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.2.6.1    V̲D̲U̲ ̲I̲N̲I̲T̲



4.2.2.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 initialize the
         Format Handler.



4.2.2.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)  VDU ̲INIT

         b)  VDU ̲INIT (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.2.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̲

             FORMAT ̲AREA ̲REC ̲TYPE         ref. CPS/DBD/001
             FCDB ̲INDEX ̲TYPE              ref. CPS/DBD/001
             FILE ̲SYSTEM ̲NAME ̲TYPE        ref. CPS/DBD/001

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

             HEADER ̲IFCB                  ref. 4.1.4
             FORMAT ̲IFCB                  ref. 4.1.4


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

             CONST VDU ̲SPLITS = 2
                   FORMAT ̲AREA ̲CONTROL ̲TABLE =
                   FORMAT ̲AREA ̲DATA ̲BUFFER =
                   HEADER ̲AREA ̲CONTROL ̲TABLE =                      
                                                                    
                                                                    HEADER
                                                                    ̲AREA
                                                                    ̲DATA
                                                                    ̲BUFFER
                                                                    =

             VAR   MAIN ̲FDCB   :    FDCB ̲INDEX ̲TYPE
                   VDU ̲AREA    :    FORMAT ̲AREA ̲REC ̲TYPE
                   FORMAT ̲FILE :    FILE ̲SYSTEM ̲NAME ̲TYPE



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


         CASE    INIT ̲FORMAT(VDU ̲SPLITS,MAIN ̲FDCB, FORMAT ̲FILE)
                            (CC):ERROR ̲OK

            ERROR?     ANALYZE ERROR (CC, 0)

            OK?

         END CASE

         MOVE FORMAT AREA CONSTRAINTS TO VDU ̲AREA

         CASE OFFLINE ̲FORMAT ̲AREA(VDU ̲AREA)(FORMAT ̲IFCB, CC):ERROR
         ̲OK

            ERROR?      ANALYZE ̲ERROR(CC, 0)

            OK?

         END CASE

         MOVE MEMORY AREA CONSTANTS TO VDU ̲AREA

         CASE DEFINE ̲FORMAT ̲AREA(VDU ̲AREA)(HEADER ̲IFCB, CC):ERROR
         ̲OK

            ERROR?     ANALYZE ̲ERROR(CC, 0)

            OK?

         END CASE
















                      Fig. 4.2.2.6.1


4.2.4.6.2    R̲E̲S̲E̲T̲ ̲C̲U̲R̲S̲O̲R̲



4.2.4.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 reset the cursor
         position.  To this purpose an earlier updated record
         is fetched.



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

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

             RESET ̲CURSOR

         b)  RESET ̲CURSOR (R6)

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

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

         R6      LINK                   (DEST)

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

         R0-R7                          (DEST)



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

             IOC FIELD ̲DESCRIPTION ̲TYPE ref. 4.1.4

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

             SPLIT ̲DIGIT (m)            ref. 4.2.2.5
             HEADER ̲IFCB                ref. 4.1.4
             CURSOR ̲RECORD ̲1 (m)        ref. 4.1.4

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

             None





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

         CURSOR ̲RECORD ̲1 is fetched
         A call to IOC is issued
         Variable SPLIT ̲DIGIT is updated


4.2.2.6.2    R̲E̲S̲E̲T̲ ̲C̲U̲R̲S̲O̲R̲



         GET CURSOR ̲RECORD ̲1

         CASE ̲SET ̲CURSOR ̲POSITION(SPLIT ̲DIGIT,LINE ̲NO,
                                  LINE ̲INCARNATION,FIELD ̲NO,
                                  LINES ̲ABOVE)(CC):ERROR ̲OK

            ERROR?-ANALYZE ̲ERROR(CC, 0)

            OK?-MOVE CURSOR ̲RECORD ̲1.SPLIT ̲DIGIT TO SPLIT ̲DIGIT

         END CASE


         END RESET ̲CURSOR



























                     Fig. 4.2.2.6.2-1


4.2.4.6.3    R̲E̲S̲E̲T̲ ̲C̲U̲R̲S̲O̲R̲ ̲O̲N̲ ̲C̲M̲D̲ ̲L̲I̲N̲E̲


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

         This procedure resets the cursor on the command line
         after illegal entry of F/C keys in those cases where
         a command, no. of lines to be deleted/inserted or a
         response message code were expected.


4.2.4.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)  RESET ̲CURSOR ̲ON ̲CMD ̲LINE

         b)  RESET ̲CURSOR ̲ON ̲CMD ̲LINE (R6)

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

         Call Register

         R6      LINK                   (DEST)

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

         R0, R7                         (DEST)


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

             IOC ̲FIELD ̲DESCRIPTOR ̲TYPE  ref. 4.1.4

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

             CURSOR ̲ON ̲CMD ̲RECORD,      ref. 4.1.4
             HEADER ̲IFCB                ref. 4.2.2.5

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

             None


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

         CURSOR ̲ON ̲CMD ̲RECORD is fetched.
         A call to IOC is issued.


         RESET ̲CURSOR ̲ON ̲CMD ̲LINE

         GET CURSOR ̲ON ̲CMD ̲RECORD

         CASE SET ̲CURSOR ̲POSITION(HEADER,LINE ̲NO,
                                  LINE ̲INCARNATION,FIELD ̲NO,
                                  LINES ̲ABOVE)(CC):ERROR ̲OK

            ERROR?-ANALYZE ̲ERROR(CC, 0)

            OK?

         END CASE


         END RESET ̲CURSOR ̲ON ̲CMD ̲LINE































                     Fig. 4.2.2.6.3-1


4.2.2.6.4    D̲I̲S̲P̲L̲A̲Y̲ ̲E̲R̲R̲O̲R̲ ̲M̲S̲G̲



4.2.2.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 display error/response
         messages.



4.2.1.6.4.2 I̲n̲t̲e̲r̲f̲a̲c̲e̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲

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

         a)  DISPLAY ̲ERROR ̲MSG

         b)  DISPLAY ̲ERROR ̲MSG (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.2.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̲

             N/A

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

             ERROR ̲MSG ̲NO (m)           Refer 4.2.2.5
             TMP ̲RECORD (m)             Refer 4.1.4
             FIELD ̲LIST (m)             Refer 4.2.2.5
             BLE ̲LIST (m)               Refer 4.2.2.5
             OUTPUT ̲FLAG (m)            Refer 4.2.2.5
             ERROR ̲TEXT (m)             Refer 4.2.2.5
             HEADER IFCB                Refer 4.1.4

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


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

         A TMP record is built and a call to TMP is issued.

         A call to IOC is issued.



         DISPLAY ̲ERROR ̲MSG:

         GET ̲ERROR ̲MSG ̲NO

         BUILD TMP RECORDS


         CASE TMP ̲SEARCH(TMP ̲RECORDS)(ERROR ̲TABLE, CC)
                          ERROR ̲OK

            ERROR? ANALYSE ̲ERROR(CC, 0)

            OK?-BUILD FIELD ̲LIST

                BUILD BLE ̲LIST

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


                   ERROR?-ANALYZE ̲ERROR(CC, 0)

                   OK?-SET OUTPUT ̲FLAG = TRUE

                END CASE


         END CASE


         END DISPLAY ̲ERROR ̲MSG











                     Fig. 4.2.2.6.4-1


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



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

         INSERT ̲LINE
         DELETE ̲LINE
         CLOSE ̲DOWN
         CLEAR ̲VDU
         CANCEL
         OUTPUT ̲FORMAT
         OUTPUT ̲MSG
         INPUT ̲FORMAT
         INPUT ̲MSG
         INPUT ̲REQUEST
         SUSPEND
         APPEND
         INITIALIZE ̲VDIA



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

         CLOSE ̲DOWN
         STOP ̲UFCO
         BLOCK ̲VDU
         INITIALIZE ̲UFCO
         RESTART ̲UFCO
         START ̲UFCO



4.2.2.7.3    R̲E̲T̲R̲-̲U̲F̲C̲O̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲s̲

         ONLINE ̲NOTIFICATION
         OFFLINE ̲NOTIFICATION
         RETRIEVAL ̲NOTIFICATION
         APPEND ̲NOTIFICATION





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

         VDIA ̲INITIALIZE ̲CC
         LINES ̲INSERTED ̲CC
         LINES ̲DELETED ̲CC
         CLEAR ̲VDU ̲CC
         CANCEL ̲CC
         OUTPUT ̲FORMAT ̲CC
         OUTPUT ̲MSG ̲CC
         INPUT ̲FORMAT ̲CC
         INPUT ̲MSG ̲CC
         INPUT ̲REQUEST ̲CC
         SUSPEND ̲CC
         DEFER ̲VALID ̲CC
         RELEASE ̲VALID ̲CC
         COORDINATE ̲VALID ̲CC
         APPEND ̲VALID ̲CC
         APPEND ̲CC



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

         INITIALIZE CC
         STOP ̲UFCO ̲CC
         CLOSE ̲DOWN ̲CC
         BLOCK ̲VDU ̲CC
         START ̲UFCO ̲CC
         RESTART ̲UFCO ̲CC
         CURRENT ̲MODE ̲CC



4.2.2.7.6    U̲F̲C̲O̲-̲U̲M̲A̲M̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲s̲

         Refer CPS/ICD/009


4.2.2.7.7    U̲M̲A̲M̲-̲U̲F̲C̲O̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲s̲

         Refer CPS/ICD/009