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

⟦8dc6e3741⟧ Wang Wps File

    Length: 72292 (0x11a64)
    Types: Wang Wps File
    Notes: CPS/SDS/O38               
    Names: »1863A «

Derivation

└─⟦4e9382203⟧ Bits:30006097 8" Wang WCS floppy, CR 0150A
    └─ ⟦this⟧ »1863A « 

WangText

…12……00……00……00……00……19……0a……00……00……19……0b……16……0c……16… …15……0d……15……00……15……05……14……0b……14……0e……14……02……14……05……13……09……13……0c……13……0f……13……01……13……05……12……08……12……0c……12……00……12……06……11……0a……11……0e……11… …10……08……10……0c……10……01……10…
…10……07……0f……0b……0f……0f……0f……02……0f……05……0e……0a……0e……0e……0e……01……0e……06……0d……0a……0d……0f……0d……00……0d……06……86…1                                             …02…           …02…   …02…        

…02…CPS/SDS/038

…02…JHH/820514…02……02…
MSO VDU
DETAILED DESIGN SPECIFICATION…02……02…CAMPS









           4.2.2.4.11 MSOS SEQUENCE .................
               
             4.2.2.4.11.1 Functional Specification ..
                 
             4.2.2.4.11.2 Module Interface ..........
                 
             4.2.2.4.11.3 Data Description ..........
                 

           4.2.2.4.12  EXECUTE FUNCTION .............
                           
             4.2.2.4.l2.1 Functional Specification  .
                 
             4.2.2.4.12.2 Module Interface ..........
                 
             4.2.2.4.l2.3 Module Component ..........
                 
             4.2.2.4.l2.4 Data Description  .........
                 
             4.2.2.4.l2.5 Module Design .............
                 

         4.2.2.5 Common Subpackage Data  ............
                     
         4.2.2.6 Common Subpackage Procedures  ......
             
           4.2.2.6.1 VDU INIT .......................
               
             4.2.2.6.1.1 Functional Specification ...
                 
             4.2.2.6.1.2 Interface Definition  ......
                 
             4.2.2.6.1.3 Data Description ...........
                 
             4.2.2.6.1.4 Procedure Design ...........
                 

           4.2.4.6.2 SET CURSOR .....................
                         
             4.2.4.6.2.1 Functional Specification ...
                 
             4.2.4.6.2.2 Interface Definition  ......
                 
             4.2.2.6.2.3 Data Description ...........
                 
             4.2.2.6.2.4 Procedure Design ...........
                 

           4.2.2.6.3 MSO RECV FIRST .................
                         
             4.2.2.6.3.1 Functional Description .....
                 
             4.2.2.6.3.2 Interface Specification ....
                 
             4.2.2.6.3.3 Data Description  ..........
                 
             4.2.2.6.3.4 Procedure Design  ..........
                 

           4.2.2.6.4 DISPLAY ERROR MSG  .............
                         
             4.2.2.6.4.1 Functional Specification  ..
                 
             4.2.2.6.4.2 Interface Specification ....
                 
             4.2.2.6.4.3 Data Description ...........
                 
             4.2.2.6.4.4 Procedure Design ...........
                 

           4.2.2.6.5 DISPLAY VDU FIELD  .............
                         
             4.2.2.6.5.1 Functional Specification  ..
                 
             4.2.2.6.5.2 Interface Specification ....
                 
             4.2.2.6.5.3 Data Description ...........
                 
             4.2.2.6.5.4 Procedure Design ...........
                 



           4.2.2.6.6 MSO RECV NEXT ..................
                         
             4.2.2.6.6.1 Functional Specification ...
                 
             4.2.2.6.6.2 Interface Specification  ...
                 
             4.2.2.6.6.3 Data Description ...........
                 

           4.2.2.6.7 Calculate Format ...............
               
             4.2.2.6.7.1 Functional Description .....
                 
             4.2.2.6.7.2 Interface Specification ....
                 
             4.2.2.6.7.3 Data Description ...........
                 
             4.2.2.6.7.4 Procedure Design ...........
                 

           4.2.2.6.8   TEP CREATE CIF ...............
                           
             4.2.2.6.8.1 Functional Specification ...
                 
             4.2.2.6.8.2 Interface Specification ....
                 

           4.2.2.6.9 TEP CREATE NEW CIF .............
                         
             4.2.2.6.9.1 Functional Specification ...
                 
             4.2.2.6.9.2 Interface Specification ....
                 

           4.2.2.6.10  TEP NEW VIEW .................
                           
             4.2.2.6.10.1 Functional Specification ..
                 
             4.2.2.6.10.2 Interface Specification ...
                 

           4.2.2.6.11  TEP TRSERNO ..................
                           
             4.2.2.6.11.1 Functional Specification ..
                 
             4.2.2.6.11.2 Interface Specification  ..
                 

           4.2.2.6.12  TEP RETURN VIEW ..............
                           
             4.2.2.6.12.1 Functional Specification ..
                 
             4.2.2.6.12.2 Interface Specification ...
                 

           4.2.2.6.13  TEP SAVE VIEW ................
                           
             4.2.2.6.13.1 Functional Specification ..
                 
             4.2.2.6.13.2 Interface Specification ...
                 

           4.2.2.6.14  TEP READ BUFFER ..............
                           
             4.2.2.6.14.1 Functional Specification ..
                 
             4.2.2.6.14.2 Interface Specification ...
                 

           4.2.2.6.15  TEP WRITE BUFFER .............
                           
             4.2.2.6.15.2 Interface Specification ...
                 

           4.2.2.6.16  TEP RESERVE BUFFER ...........
                           
             4.2.2.6.16.1 Functional Specification ..
                 
             4.2.2.6.16.2 Interface Specification ...
                 



           4.2.2.6.17  COPY TEXT FIELDS .............
                           
             4.2.2.6.17.1 Functional Specification ..
                 
             4.2.2.6.17.2 Interface Specification ...
                 

           4.2.2.6.18  UPDATE VDU HEADER ............
                           
             4.2.2.6.18.1 Functional Specification ..
                 
             4.2.2.6.18.2 Interface Specification ...
                 

           4.2.2.6.19  SEND SERVICED MSG TO THP .....
                           
             4.2.2.6.19.1 Functional Specification ..
                 
             4.2.2.6.19.2 Interface Specification ...
                 

           4.2.2.6.20  SEND REQUEST TO UMAM .........
                           
             4.2.2.6.20.1 Functional Specification ..
                 
             4.2.2.6.20.2 Interface Specification ...
                 

           4.2.2.6.21  SEND REQUEST TO SAR ..........
                           
             4.2.2.6.21.1 Functional Specification ..
                 
             4.2.2.6.21.2 Interface Specification ...
                 

           4.2.2.6.22  SEND TO ASS PRINTER ..........
                           
             4.2.2.6.22.1 Functional Specification ..
                 
             4.2.2.6.22.2 Interface Specification ...
                 

           4.2.2.6.23  TEP OPEN VIEW ................
                           
             4.2.2.6.23.1 Functional Specification ..
                 
             4.2.2.6.23.2 Interface Specification ...
                 

           4.2.2.6.24  SEND TO PRINTER ..............
                           
             4.2.2.6.24.1 Functional Specification  .
                 
             4.2.2.6.24.2 Interface Specification ...
                 

           4.2.2.6.25  COPY CIF FIELD ...............
                           
             4.2.2.6.25.1 Functional Specification  .
                 
             4.2.2.6.25.2 Interface Specification  ..
                 

           4.2.2.6.26  TEP CLOSE VIEW ...............
                           
             4.2.2.6.26.1 Functional Specification  .
                 
             4.2.2.6.26.2 Interface Specification  ..
                 

         4.2.2.7 Subpackage Interfaces ..............
                     
           4.2.2.7.1 SEFCO-SEDIA Interfaces  ........
                         
           4.2.2.7.2 SEVCO SEFCO Interfaces .........
                         
           4.2.2.7.3 SETR SEFCO Interfaces  .........
                         
           4.2.2.7.4 SEDIA-SEFCO Interfaces .........
                         
           4.2.2.7.5 SEFCO SEVCO Interfaces  ........
                         
           4.2.2.7.6 UFCO-UMAM Interfaces ...........
                         
           4.2.2.7.7 UMAM-UFCO Interfaces ...........
                         



         4.2.4.4 Module Specification  ..............
                     
           4.2.4.4.1 SETR MAIN Module  ..............
                         
             4.2.4.4.1.1 Functional Specification  ..
                 
             4.2.4.4.1.2 Module Interface  ..........
                 
             4.2.4.4.1.3 Module Components ..........
                 
             4.2.4.4.1.4 Data Description ...........
                 
             4.2.4.4.1.5 Module Design  .............
                 

       4.2.4.  Retrieve Subpackage ..................
                   
         4.2.4.1 Functional Specification  ..........
                     


4.2.2.4.11 M̲S̲O̲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)  MSOS ̲SEQUENCE

         b)  MSOS ̲SEQUENCE (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̲

         None

         RO - R7                        (DEST)


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̲

             VIEW ̲REFERENCE ̲TYPE        ref. CPS/DBD/OO1
             SEQ ̲REC ̲TYPE               ref. 4.2.2.5
             VDU ̲SUPV ̲LOG ̲TYPE          ref. CPS/DBD/OO1
             SEQ ̲KEY ̲TYPE               ref. 4.2.2.5
             SEFCO ̲SEDIA ̲CMD ̲TYPE       ref. 4.1.4
             MSO ̲FC ̲KEY ̲TYPE            ref. 4.2.2.5
             MSOS ̲STORAGE ̲TYPE          ref. 4.2.2.5
             MSOS ̲STATISTIC ̲TYPE        ref. 4.2.2.5
             MSOS ̲LOG ̲TYPE              ref. 4.2.2.5
             MSOS ̲STATUS ̲TYPE           ref. 4.2.2.5
             SEQ ̲FUNCTION ̲TYPE          ref. 4.2.2.5
             ACCOUNT ̲TYPE               ref. 4.2.2.5
             SVUP ̲MSOS ̲MDOS ̲SYSTEM ̲Q ̲GROUP     ref. CPS/DBD/001
             MSOS ̲SUBPROCESS ̲GROUP ̲CAP         ref. CPS/DBD/001…86…1
                                                …02…   …02…   …02…   …02…  
                                                       …02…    
                                                           
         TABLE ̲ID ̲TYPE                  ref. CPS/DBD/001          MSOS
                                                                  ̲CURSOR
                                                                  ̲TYPE ref.
                                                                       4.2.2.5
             INTERNAL ̲ERROR ̲TYPE        ref. 4.1.4
             QUEUE ̲ERROR ̲TYPE           ref. 4.1.4
             MSO ̲RECV ̲QUEUE ̲TYPE        ref. 4.1.4
             QEL ̲REFERENCE              ref. CPS/DBD/OO1
             QEL ̲ATTRIBUTES ̲            ref. CPS/DBD/OO1
             QUEUE ̲REFERENCE ̲           ref. CPS/DBD/OO1
             PRECEDENCE ̲TYPE            ref. CPS/DBD/OO1
             MSOS ̲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.1.4
             VDU ̲SUPV ̲LOG ̲TYPE          ref. CPS/DBD/OO1
             ANQ ̲OP ̲PENDING             ref. 4.2.2.5

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

             SVUP ̲UMAM ̲COLQ             ref. CPS/DBD/001
             MSOS ̲SYS ̲Q                 ref. CPS/DBD/001
             UMAM ̲SUB ̲QUEUE             ref. CPS/DBD/001
             CIF ̲BUFFER (m)             ref. 4.1.4
             CURRENT ̲MODE               ref. 4.1.4
             SEQ ̲REC (m)                ref. 4.2.2.5
             CURRENT ̲PREC (m)           ref. 4.1.4
             SEQUENCE ̲FORMAT ̲NO(m)      ref. 4.2.2.5
             SEQUENCE ̲CODE ̲NO (m)       ref. 4.2.2.5
             SPLIT ̲DIGIT (m)            ref. 4.2.2.5
             SEFCO ̲OP (m)               ref. 4.1.4
             MSOS ̲S3                    ref. 4.1.4
             SEDIA ̲OP (m)               ref. 4.1.4
             HEADER ̲IFCB                ref. 4.1.4
             FORMAT ̲IFCB                ref. 4.1.4
             TRANSACTION ̲ID             ref. 4.1.4
             MSOS ̲S3 (m)                ref. 4.1.4
             MSOS ̲SEND ̲PARAM (m)        ref. 4.1.4
             CURSER ̲RECORD ̲1            ref. 4.2.2.5
             INT ̲ERROR ̲INF (m)          ref. 4.1.4
             PROBLEM ̲NO                 ref. 4.2.2.5
             QERROR ̲INF (m)             ref. 4.1.4
             MSOS ̲ARRQ                  ref. 4.1.4
             ANQ ̲OP (m)                 ref. 4.1.4
             Q ̲REFERENCE (m)            ref. 4.1.4
             PREP ̲SUB                   ref. CPS/SDS/039
                                              PARA 4.1.4
             ITREF                      ref. 4.1.4
             CANCEL ̲TIME                ref. 4.2.2.5
             EXP ̲SEDIA ̲CMD              ref. 4.2.2.5
             SEDIA ̲CMD ̲INT              ref. 4.2.2.5
             UMAM ̲COLLECT               ref. 4.2.2.5


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

             CONST ̲SYSTQ=MSOS ̲SYS ̲Q SHIFTLL8+SVUP ̲SYSTEM ̲Q
             CONST ISQ=MSOS ̲SYS ̲Q SHIFTLL8+SVUP ̲ISQ
             VAR SEQ ̲REC: SEQ ̲REQ ̲TYPE
             CONST LOG ̲BUFFER ̲SIZE = VDU ̲SUPV ̲LOG ̲SIZE
             VAR LOG ̲REPORTED:          BOOLEAN
             VAR SEQ ̲PARAM : SEQ ̲PARAM ̲TYPE
             SEQ ̲PARAM ̲TYPE = RECORD
                              KEY : SEQ ̲KEY ̲TYPE
                              INFO: INTEGER
                              LINK: POINTER
             VAR STATUS ̲QEL           : QEL ̲REFERENCE 
             VAR CIF ̲REF ̲QEL          : VIEW ̲REFERENCE 
             CONST SEQUENCE ̲MASK = FFFF
             VAR BUF ̲QEL              : QEL ̲REFERENCE
             CONST IN ̲LOGGINGQ = NULL
             VAR Q ̲REFER : QUEUE ̲REFERENCE
             CONST IN ̲SAR ̲Q = NULL


   MSOS ̲SEQUENCE

         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 ̲REPORTED EQ FALSE?-  L̲O̲G̲ ̲R̲E̲P̲O̲R̲T̲I̲N̲G̲ ̲(̲4̲.̲2̲.̲2̲.̲4̲.̲1̲1̲-̲3̲)̲

         LOG ̲REPORTED EQ FALSE?

             CASE SEQ ̲REC. SAR OF MSOS ̲STORAGE ̲TYPE

                 NO ̲STORAGE ?

                 STORAGE ?  S̲A̲R̲ ̲R̲E̲P̲O̲R̲T̲I̲N̲G̲ ̲(̲4̲.̲2̲.̲2̲.̲4̲.̲1̲1̲-̲4̲)̲

             END CASE

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

             SEQ ̲REQ. FUNCTION NE NULL ?  E̲X̲E̲C̲U̲T̲E̲ ̲F̲U̲N̲C̲T̲I̲O̲N̲
                                                                    
                                                                    
                                                                    
                                                                    
                                                                    
                                                                    
                                                                    (̲4̲.̲2̲.̲2̲.̲4̲.̲l̲2̲)̲

             CURSOR ̲RECORD ̲1= SEQ ̲REC. CURSOR. POSITION

             SEQ ̲REC. CURSOR. SPLIT NE NO ̲SPLIT ? 

               S̲E̲T̲ ̲C̲U̲R̲S̲O̲R̲(̲S̲E̲Q̲ ̲R̲E̲C̲.̲C̲U̲R̲S̲O̲R̲.̲S̲P̲L̲I̲T̲)̲ ̲(̲4̲.̲2̲.̲2̲.̲6̲.̲2̲)̲

             SEQ ̲REC.SEDIA ̲CMD NE NULL ? - S̲E̲Q̲U̲E̲N̲C̲E̲ ̲C̲O̲M̲M̲A̲N̲D̲
                                              (̲4̲.̲2̲.̲2̲.̲4̲.̲1̲1̲-̲8̲)̲

             SEQUENCE ̲FORMAT ̲NO = SEQ ̲REC. NEW ̲FORMAT


   END SEQUENCE














                Figure 4.2.2.4.11-1


   LOOK ̲UP ̲SEQUENCE ̲KEY

   SEQ ̲PARAM. KEY.CODE = SEQUENCE ̲CODE ̲NO

   SEQ ̲PARAM. KEY.FORMAT = SEQUENCE ̲FORMAT ̲NO

   KEY ̲COUNT = 1

   CASE SEARCH ̲PRIMARY ̲KEY (SEQUENCE ̲TABLE, SEQ ̲PARAM,
   KEY ̲COUNT,

                                        SIZE (SEQ ̲REC),
                                        SEQ ̲MASK)
                                        (SEQ ̲REC,CC  ):
                                        ERROR ̲OK

         ERROR ?  ANALYZE ̲ERROR (CC, O)

         OK ?

   END CASE

   SEQ ̲PARAM.INFO EQ O?  T̲E̲P̲ ̲I̲N̲T̲E̲R̲N̲A̲L̲ ̲E̲R̲R̲O̲R̲ ̲(̲G̲I̲V̲E̲ ̲U̲P̲)̲
   ̲(̲4̲.̲1̲.̲5̲.̲2̲)̲

   END LOOK ̲UP ̲SEQUENCE ̲KEY

























                Figure 4.2.2.4.11-2


   LOG REPORTING

   EQUIVALENCE (CIF ̲BUFFER (1), MSOS ̲LOG: VDU ̲SUPV ̲LOG)

   CASE SEQ ̲REC.LOG OF MSOS ̲LOG ̲TYPE

         NO ̲LOG ? - LOG ̲REPORTED = FALSE

         LOG ? -VDU ̲SUPV ̲LOG. TERMINAL ̲DESIGNATOR=TRANSACTION
         ̲
                                         ̲ID.TERMINAL DESIGNATOR

             VDU ̲SUPV ̲LOG. TRANSACTION ̲SERIAL ̲NO = TRANSACTION
             ̲
                                         ̲ID SERIAL ̲NO.

             VDU ̲SUPV ̲LOG. FORMAT ̲ID = SEQ ̲REC.FORMAT

             VDU ̲SUPV ̲LOG. ITEM ̲1 ̲REF ̲ID= ITREF

             VDU ̲SUPV ̲LOG. EXIT ̲CAUSE = SEQ ̲REC.ACCOUNT.
             EXIT

             VDU ̲SUPV ̲LOG. TRANSACTION ̲START ̲TIME = TRANSACTION
             ̲
                                         ̲ID.TIME

             VDU ̲SUPV ̲LOG. MONTH ̲DAY = CANCEL ̲TIME

             VDU ̲SUPV ̲LOG. PROBLEM ̲CODE = PROBLEM ̲NO

         OTHERWISE ? T̲E̲P̲ ̲I̲N̲T̲E̲R̲N̲A̲L̲ ̲E̲R̲R̲O̲R̲ ̲(̲C̲O̲N̲T̲)̲ ̲(̲4̲.̲1̲.̲5̲.̲2̲)̲

   END CASE

   R̲E̲S̲E̲R̲V̲E̲ ̲A̲N̲D̲ ̲S̲E̲N̲D̲ ̲(̲4̲.̲2̲.̲2̲.̲4̲.̲1̲1̲-̲7̲)̲

   ITREF = 0

   CANCEL ̲TIME = 0

   END LOG REPORTING








                Figure 4.2.2.4.11-3


   SAR REPORTING

   MSOS ̲SEND ̲PARAMS. HEADER. MAINTYPE= INF ̲DESCRIPTOR
   ̲TYPE.
                                                MAINTYPE

   MSOS ̲SEND ̲PARAMS. HEADER. SUBTYPE = FOR STORAGE

   MSOS ̲SEND ̲PARAMS. HEADER. FLAG    = CAMPS ̲ORIGINATED

   Q ̲REFERENCE.MAINQ=ISQ

   Q ̲REFERENCE.SUBQ=IN ̲SAR ̲Q

   CASE SEND (MSOS ̲SEND ̲PARAMS, CIF ̲REF ̲QEL,Q ̲REFERENCE)

              MSOS ̲SEND ̲PARAMS, CC : (ERROR ̲OK)

         ERROR ?   ANALYZE ̲ERROR (CC, 0)

         OK ?

   END CASE

























                Figure 4.2.2.4.11-4


   STATUS ̲REPORTING

   CASE SEQ ̲REC. STATUS OF

         NO STATUS ?

         OUTGOING 2?  C̲O̲R̲R̲E̲C̲T̲ ̲S̲T̲A̲T̲U̲S̲ ̲(̲4̲.̲2̲.̲2̲.̲4̲.̲1̲1̲-̲6̲)̲

         OUTGOING?    MOVE OUTGOING STATUS DATA TO MSOS
                     ̲SEND ̲
                          PARAMS FROM CIF ADMINISTRATION
             ̲FIELD

                      Q ̲REFERENCE.MAINQ=UMAM ̲COLLECT

                      Q ̲REFERENCE.SUBQ=PREP ̲SUB

                      CASE SEND (MSOS ̲SEND ̲PARAMS, STATUS
                     ̲QEL,

                           Q ̲REFERENCE)(MSOS ̲SEND ̲PARAMS,
                     CC)

                                                    :
                                        ERROR ̲OK

                          ERROR ?  ANALYZE ̲ERROR (CC,0)

                          OK ?

                     END CASE

         OTHERWISE ? T̲E̲P̲ ̲I̲N̲T̲E̲R̲N̲A̲L̲ ̲E̲R̲R̲O̲R̲ ̲(̲C̲O̲N̲T̲)̲ ̲(̲4̲.̲1̲.̲5̲.̲2̲)̲

         END CASE

















                Figure 4.2.2.4.11-5


   CORRECT STATUS

   MSOS ̲SEND ̲PARAMS. HEADER. MAINTYPE = TEP ̲INTERNAL

   MSOS ̲SEND ̲PARAMS. HEADER. MAINTYPE = SVC ̲FINAL ̲STATUS

   MOVE OUTGOING STATUS DATA TO MSOS ̲SEND ̲PARAMS

   Q ̲REFERENCE. MAINQ = UMAM ̲COLLECT

   Q ̲REFERENCE. SUBQ = PREP ̲SUB

 ̲  CASE SEND (MSOS ̲SEND ̲PARAMS, NILL, Q ̲REFERENCE)

             (MSOS ̲SEND ̲PARAMS, CC): ERROR ̲OK

         ERROR ? ANALYZE ̲ERROR (CC, 0)

         OK ?

   END CASE


























Figure 4.2.2.4.11-6…86…1   …02…     …02…   …02…   …02…   …02…                  …02…               
         
   RESERVE AND SEND

   LOG REPORTED EQ FALSE ?

   Q ̲REFERENCE.MAINQ = MSOS ̲ARRQ

   Q ̲REFERENCE.SUBQ = 1

   Q ̲REFER = Q ̲REFERENCE

   CASE RESERVE ̲BUFFER (LOG ̲BUFFER ̲SIZE, Q ̲REFERENCE)
                                        (BUF ̲QEL):ERROR
                                        ̲OK

         ERROR ? - ANALYZE ̲ERROR (CC,O)

         OK ?

   END CASE

   CASE WRITE ̲BUFFER (BUF ̲QEL, MSO ̲LOG, LOG ̲BUFFER ̲SIZE,

                      LOG ̲BUFFER ̲OFFSET)(CC): ERROR ̲OK

         ERROR ? - ANALYZE ̲ERROR (CC,O)

         OK ?

   END CASE

   MSOS ̲SEND ̲PARAMS. HEADER. MAINTYPE = LOG ̲RECORD

   MSOS ̲SEND ̲PARAMS. HEADER. SUBTYPE  = FINAL ̲MSO

   MSOS ̲SEND ̲PARAMS. HEADER. FLAG     = NULL

   Q ̲REFERENCE.MAINQ = SYST ̲Q

   Q ̲REFERENCE.SUBQ = IN ̲LOGGING ̲Q

   CASE SEND ̲REQUEST (MSOS ̲SEND ̲PARAMS, BUF ̲QEL,Q ̲REFERENCE,
                     Q ̲REFER) (MSOS ̲SEND ̲PARAMS, CC):
                     ERROR.OK

         ERROR ? ANALYZE ̲ERROR (CC, 0) 

         OK?     LOG ̲REPORTED = TRUE

                 ANQ ̲OP.CMD = M ̲LOG ̲ACK

   END CASE

   D̲I̲S̲M̲ ̲(̲B̲U̲F̲ ̲Q̲E̲L̲)̲ ̲(̲4̲.̲1̲.̲5̲.̲3̲)

                Figure 4.2.2.4.11-7


   SEQUENCE ̲COMMAND

   CASE F̲E̲T̲C̲H̲ ̲S̲E̲F̲C̲O̲ ̲O̲P̲(̲S̲E̲F̲C̲O̲ ̲O̲P̲)̲:̲ ̲E̲R̲R̲O̲R̲ ̲O̲K̲ ̲(̲4̲.̲2̲.̲2̲.̲6̲.̲2̲8̲)̲

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

         OK?

   END CASE

   MOVE SEQ ̲REC.SEDIA ̲FORMAT TO SEFCO ̲OP.P
   MOVE SEFCO ̲IDENT TO SEFCO ̲OP. OP ̲ID(1)

   MOVE SEQ ̲REC.CMD TO SEFCO ̲OP. CMD

   EXP ̲SEDIA ̲CMD = SEFCO ̲OP. OP ̲ID(2)

   SEDIA ̲CMD ̲CNT = SEDIA ̲CMD ̲CNT+1

   SIGNAL ̲OPSEM(MSOS ̲S3,SEFCO ̲OP): OK

   END SEQUENCE ̲COMMAND


























                Figure 4.2.2.4.11-8


4.2.2.4.12   E̲X̲E̲C̲U̲T̲E̲ ̲F̲U̲N̲C̲T̲I̲O̲N̲

4.2.2.4.l2.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 implement the
         function present in the sequence record.

4.2.2.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) EXECUTE ̲FUNCTION

         b) EXECUTE ̲FUNCTION (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̲

         None

         RO-R7                          (DEST)


4.2.2.4.l2.3 M̲o̲d̲u̲l̲e̲ ̲C̲o̲m̲p̲o̲n̲e̲n̲t̲

         None


4.2.2.4.l2.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̲

             SEQ ̲FUNCTION ̲TYPE          ref. 4.2.2.5
             QEL ̲REFERENCE              ref. CPS/DBD/OO1
             ERROR ̲NO ̲TYPE              ref. 4.2.2.5
             QUEUE ̲ERROR ̲TYPE…02…ref. 4.1.4
             INTERNAL ̲ERROR ̲TYPE        ref. 4.1.4
             COROUTING ̲SEMAPHORE        ref. CPS/DBD/001
             MSOS ̲CO ̲OP ̲TYPE            ref. 4.1.4
             MSO ̲RECV ̲QUEUE ̲TYPE        ref. 4.1.4
             PRECEDENCE ̲TYPE            ref. CPS/DBD/001
             MSO ̲CC                     ref. 4.2.2.5
             ANQ ̲OP ̲PENDING             ref. 4.2.2.5
             MSO ̲RETR ̲REQUEST           ref. 4.2.2.5…86…1
                                          …02…     …02…   …02…   …02…
                                          …02…           
                                              …02…       
                                                     
                                          
         b)  E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲

             NEW ̲CIF                    ref. 4.2.2.5
             OLD ̲CIF                    ref. 4.2.2.5
             REQ ̲QEL                    ref. 4.2.2.5
             ITREF                      ref. 4.2.2.5
             CANCEL ̲TIME                ref. 4.2.2.5
             KEY ̲BUF ̲START              ref 4.1.4
             KEY ̲BUF ̲SIZE               ref. 4.1.4
             CURRENT ̲MODE               ref. 4.1.4
             MSOS ̲IMQ                   ref. 4.1.4
             MSOS ̲OMQ                   ref. 4.1.4
             CC                         ref. 4.2.2.5
             CURRENT ̲MAINQ              ref. 4.2.2.5
             CURRENT ̲SUBQ               ref. 4.2.2.5
             SEVCO ̲OP (m)               ref. 4.1.4
             QERROR ̲INF (m)             ref. 4.1.4
             INT ̲ERROR ̲INF (m)          ref. 4.1.4
             MSOS ̲INIT ̲AREA             ref. 4.1.4
             SEQ ̲REC                    ref. 4.2.2.5
             CURRENT ̲CLASS (m)          ref. 4.1.4
             INPUT ̲CIF (m)              ref. 4.1.4
             ANS ̲FLAG (m)               ref. 4.2.2.5
             OUTPUT ̲CIF (m)             ref. 4.1.4
             RECV ̲MAIN                  ref. 4.2.2.5
             MSG ̲TYPE (m)               ref. 4.2.2.5
             MSOS ̲S1 (m)                ref. 4.1.4
             ANQ ̲OP (m)                 ref. 4.1.4

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

             N/A


4.2.2.4.l2.5 M̲o̲d̲u̲l̲e̲ ̲D̲e̲s̲i̲g̲n̲

             Depending on the required function a combination
             of common procedures are called


   CASE SEQ ̲REC. FUNCTION OF SEQ ̲FUNCTION ̲TYPE

         START ̲PREP? T̲E̲P̲ ̲C̲R̲E̲A̲T̲E̲ ̲C̲I̲F̲ ̲(̲N̲E̲W̲ ̲C̲I̲F̲)̲(̲4̲.̲2̲.̲2̲.̲6̲.̲8̲)̲

                     T̲E̲P̲ ̲O̲P̲E̲N̲ ̲V̲I̲E̲W̲ ̲(̲N̲E̲W̲ ̲C̲I̲F̲)̲ ̲(̲4̲.̲2̲.̲2̲.̲6̲.̲2̲.̲3̲)̲

                     OUTPUT ̲CIF=INPUT ̲CIF = NEW CIF

                     T̲E̲P̲ ̲T̲R̲S̲E̲R̲ ̲N̲O̲ ̲(̲I̲T̲ ̲R̲E̲F̲E̲R̲)̲ ̲(̲4̲.̲2̲.̲2̲.̲6̲.̲1̲1̲)̲

         PREP ̲CLASS ̲SAVE ? T̲E̲P̲ ̲S̲A̲V̲E̲ ̲V̲I̲E̲W̲ ̲(̲O̲U̲T̲P̲U̲T̲ ̲C̲I̲F̲)̲(̲4̲.̲2̲.̲2̲.̲6̲.̲1̲3̲)̲

                     HEADER ̲TEXT = NO ̲CHANCE

                     U̲P̲D̲A̲T̲E̲ ̲V̲D̲U̲ ̲H̲E̲A̲D̲E̲R̲ ̲(̲U̲P̲D̲A̲T̲E̲ ̲H̲E̲A̲D̲E̲R̲,̲
                     ̲C̲U̲R̲R̲E̲N̲T̲
                                         ̲C̲L̲A̲S̲S̲)̲ ̲(̲4̲.̲2̲.̲2̲.̲6̲.̲l̲8̲)̲

         PREP ̲NEW ̲HEADER ? T̲E̲P̲ ̲N̲E̲W̲ ̲V̲I̲E̲W̲ ̲(̲O̲U̲T̲P̲U̲T̲ ̲C̲I̲F̲,̲ ̲C̲I̲F̲
         ̲H̲E̲A̲D̲E̲R̲)̲                                                   
                                                                   
                                                                   
                                                                   
                                                                    (̲N̲E̲W̲
                                                                    ̲C̲I̲F̲)̲
                                                                    ̲(̲4̲.̲2̲.̲2̲.̲6̲.̲1̲0̲)̲

                     T̲E̲P̲ ̲O̲P̲E̲N̲ ̲V̲I̲E̲W̲ ̲(̲N̲E̲W̲ ̲C̲I̲F̲)̲ ̲(̲4̲.̲2̲.̲2̲.̲6̲.̲2̲3̲)̲

                     D̲I̲S̲M̲ ̲(̲O̲U̲T̲P̲U̲T̲ ̲C̲I̲F̲,̲ ̲C̲L̲O̲S̲E̲)̲ ̲(̲4̲.̲1̲.̲5̲.̲3̲.̲)̲

                     OUTPUT ̲CIF = NEW ̲CIF

         PR ̲DI ̲CLOSE ? - D̲I̲S̲M̲ ̲(̲I̲N̲P̲U̲T̲ ̲C̲I̲F̲,̲ ̲S̲A̲V̲E̲,̲ ̲C̲L̲O̲S̲E̲)̲
         ̲(̲4̲.̲1̲.̲5̲.̲3̲)̲

         RERUN ̲SAR ̲REQ ? - R̲E̲S̲E̲R̲V̲E̲ ̲B̲U̲F̲F̲E̲R̲(̲K̲E̲Y̲ ̲B̲U̲F̲ ̲S̲I̲Z̲E̲)̲
                                        (̲R̲E̲Q̲ ̲Q̲E̲L̲)̲(̲4̲.̲2̲.̲2̲.̲6̲.̲1̲6̲)̲

                     W̲R̲I̲T̲E̲ ̲B̲U̲F̲F̲E̲R̲ ̲(̲R̲E̲Q̲ ̲Q̲E̲L̲,̲K̲E̲Y̲ ̲B̲U̲F̲ ̲S̲T̲A̲R̲T̲,̲
                                K̲E̲Y̲ ̲B̲U̲F̲ ̲S̲I̲Z̲E̲)̲ ̲(̲4̲.̲2̲.̲2̲.̲6̲.̲1̲5̲)̲

                     S̲E̲N̲D̲ ̲R̲E̲Q̲U̲E̲S̲T̲ ̲T̲O̲ ̲S̲A̲R̲ ̲(̲R̲E̲T̲R̲,̲R̲E̲R̲U̲N̲S̲)̲
                                            (̲4̲.̲2̲.̲2̲.̲6̲.̲2̲1̲)̲

                     D̲I̲S̲M̲ ̲(̲R̲E̲Q̲ ̲Q̲E̲L̲)̲ ̲(̲4̲.̲1̲.̲5̲.̲3̲)̲

         READDR ̲SAR ̲REQ? R̲E̲S̲E̲R̲V̲E̲ ̲B̲U̲F̲F̲E̲R̲(̲K̲E̲Y̲ ̲B̲U̲F̲ ̲S̲I̲Z̲E̲)̲(̲R̲E̲Q̲
         ̲Q̲E̲L̲)̲
                                                   (̲4̲.̲2̲.̲2̲.̲6̲.̲1̲6̲)̲

                         W̲R̲I̲T̲E̲ ̲B̲U̲F̲F̲E̲R̲(̲R̲E̲Q̲ ̲Q̲E̲L̲,̲K̲E̲Y̲ ̲B̲U̲F̲
                     ̲S̲T̲A̲R̲T̲,
                                   K̲E̲Y̲ ̲B̲U̲F̲ ̲S̲I̲Z̲E̲)̲(̲4̲.̲2̲.̲2̲.̲6̲.̲1̲5̲)̲

                         S̲E̲N̲D̲ ̲R̲E̲Q̲U̲E̲S̲T̲ ̲T̲O̲ ̲S̲A̲R̲ ̲(̲R̲E̲T̲R̲,̲R̲E̲A̲D̲D̲R̲)̲
                                                 (̲4̲.̲2̲.̲2̲.̲6̲.̲2̲1̲)̲

                         D̲I̲S̲M̲(̲R̲E̲Q̲ ̲Q̲E̲L̲)̲(̲4̲.̲1̲.̲5̲.̲3̲)̲

   CONTINUE (4.2.2.4.l2-2)
Figure 4.2.2.4.12-1…86…1   …02…     …02…   …02…   …02…   …02…                  …02…               
         
   PREP ̲CANCEL ? D̲I̲S̲M̲ ̲(̲O̲U̲T̲P̲U̲T̲ ̲C̲I̲F̲,̲ ̲S̲A̲V̲E̲,̲ ̲C̲L̲O̲S̲E̲)̲ ̲(̲4̲.̲1̲.̲5̲.̲3̲)̲

                 U̲P̲D̲A̲T̲E̲ ̲V̲D̲U̲ ̲H̲E̲A̲D̲E̲R̲ ̲(̲C̲L̲E̲A̲R̲ ̲H̲E̲A̲D̲E̲R̲,̲ ̲M̲A̲X̲
                 ̲C̲L̲A̲S̲S̲)̲
                                             (̲4̲.̲2̲.̲2̲.̲6̲.̲1̲8̲)̲

   IMQ ̲OMQ ̲CANCEL ? 

                 CASE CURRENT ̲SUBQ OF PRECEDENCE ̲TYPE

                     SUPERFLASH

                     FLASH ? MOVE CURRENT ̲SUBQ TO SEVCO
                     ̲OP.PARA

                             MOVE SEFCO.IDENT TO SEVCO
                     ̲OP.
                                                     
                                         OP ID(1)

                             MOVE SEND ̲NOTIFICATION TO
                     SEVCO ̲OP.
                                                     
                                              CMD

                             SIGNAL ̲OPSEM (MSOS ̲S1, SEVCO
                     ̲OP):OK

                     OTHERWISE ?

             END CASE

             T̲E̲P̲ ̲R̲E̲T̲U̲R̲N̲ ̲V̲I̲E̲W̲ ̲(̲I̲N̲P̲U̲T̲ ̲C̲I̲F̲)̲ ̲(̲4̲.̲2̲.̲2̲.̲6̲.̲1̲2̲)̲

             U̲P̲D̲A̲T̲E̲ ̲V̲D̲U̲ ̲H̲E̲A̲D̲E̲R̲ ̲(̲C̲L̲E̲A̲R̲ ̲H̲E̲A̲D̲E̲R̲,̲ ̲M̲A̲X̲
                                         ̲C̲L̲A̲S̲S̲)̲(̲4̲.̲2̲.̲2̲.̲6̲.̲1̲8̲)̲

   RESP ̲CONT ̲CANCEL? D̲I̲S̲M̲ ̲(̲I̲N̲P̲U̲T̲ ̲C̲I̲F̲,̲ ̲C̲L̲O̲S̲E̲)̲ ̲(̲4̲.̲1̲.̲5̲.̲3̲)̲

                     D̲I̲S̲M̲ ̲(̲O̲U̲T̲P̲U̲T̲ ̲C̲I̲F̲,̲S̲A̲V̲E̲,̲C̲L̲O̲S̲E̲)̲ ̲(̲4̲.̲1̲.̲5̲.̲3̲)̲

                     U̲P̲D̲A̲T̲E̲ ̲V̲D̲U̲ ̲H̲E̲A̲D̲E̲R̲ ̲(̲C̲L̲E̲A̲R̲ ̲H̲E̲A̲D̲E̲R̲,̲M̲A̲X̲
                                        C̲L̲A̲S̲S̲)̲(̲4̲.̲2̲.̲2̲.̲6̲.̲1̲8̲)̲

   CONT ̲CLOSE?       D̲I̲S̲M̲ ̲(̲I̲N̲P̲U̲T̲ ̲C̲I̲F̲,̲C̲L̲O̲S̲E̲)̲ ̲(̲4̲.̲1̲.̲5̲.̲3̲)̲

                     D̲I̲S̲M̲ ̲(̲O̲U̲T̲P̲U̲T̲ ̲C̲I̲F̲,̲S̲A̲V̲E̲,̲C̲L̲O̲S̲E̲)̲(̲4̲.̲1̲.̲5̲.̲3̲)̲

   CONTINUE (4.2.2.4.12-3)



                Figure 4.2.2.4.l2-2


   SERVICE ̲ACK ? U̲P̲D̲A̲T̲E̲ ̲H̲E̲A̲D̲E̲R̲ ̲(̲C̲L̲E̲A̲R̲ ̲H̲E̲A̲D̲E̲R̲,̲ ̲M̲A̲X̲ ̲C̲L̲A̲S̲S̲)̲
                                         (̲4̲.̲2̲.̲2̲.̲6̲.̲1̲8̲)̲

   PREP ̲SAVE ?   T̲E̲P̲ ̲S̲A̲V̲E̲ ̲V̲I̲E̲W̲ ̲(̲O̲U̲T̲P̲U̲T̲ ̲C̲I̲F̲)̲ ̲(̲4̲.̲2̲.̲2̲.̲6̲.̲1̲3̲)̲

   PREP ̲NEW ̲TEXT? T̲E̲P̲ ̲N̲E̲W̲ ̲V̲I̲E̲W̲ ̲(̲O̲U̲T̲ ̲P̲U̲T̲ ̲C̲I̲F̲,̲ ̲C̲I̲F̲ ̲T̲E̲X̲T̲)̲
   ̲(̲N̲E̲W̲ ̲
                                         C̲I̲F̲)̲ ̲(̲4̲.̲2̲.̲2̲.̲6̲.̲1̲0̲)̲

                 T̲E̲P̲ ̲O̲P̲E̲N̲ ̲V̲I̲E̲W̲ ̲(̲N̲E̲W̲ ̲V̲I̲E̲W̲)̲ ̲(̲4̲.̲2̲.̲2̲.̲6̲.̲2̲3̲)̲

                 D̲I̲S̲M̲ ̲(̲O̲L̲D̲ ̲C̲I̲F̲,̲ ̲S̲A̲V̲E̲,̲ ̲C̲L̲O̲S̲E̲)̲ ̲(̲4̲.̲1̲.̲5̲.̲3̲)̲

                 OUTPUT ̲CIF=NEW ̲CIF

   SEND ̲TO ̲THP ? S̲E̲N̲D̲ ̲S̲E̲R̲V̲I̲C̲E̲D̲ ̲M̲S̲G̲ ̲T̲O̲ ̲T̲H̲P̲ ̲(̲O̲U̲T̲P̲U̲T̲ ̲C̲I̲F̲,̲
                 ̲S̲E̲R̲V̲I̲C̲E̲)̲
                                               (̲4̲.̲2̲.̲2̲.̲6̲.̲9̲)̲

                 D̲I̲S̲M̲ ̲(̲O̲U̲T̲P̲U̲T̲ ̲C̲I̲F̲,̲ ̲C̲L̲O̲S̲E̲,̲ ̲S̲A̲V̲E̲)̲ ̲(̲4̲.̲1̲.̲5̲.̲3̲)̲

   SEND ̲GARBLE ̲TO ̲THP ?S̲E̲N̲D̲ ̲S̲E̲R̲V̲I̲C̲E̲D̲ ̲M̲S̲G̲ ̲T̲O̲ ̲T̲H̲P̲ ̲(̲O̲U̲T̲P̲U̲T̲
   ̲C̲I̲F̲,̲ 
                                        G̲A̲R̲B̲L̲E̲)̲ ̲(̲4̲.̲2̲.̲2̲.̲6̲.̲1̲9̲)̲

                       ANQ ̲OP.CMD=M ̲GARBLE

                       D̲I̲S̲M̲(̲I̲N̲P̲U̲T̲ ̲C̲I̲F̲,̲C̲L̲O̲S̲E̲)̲(̲4̲.̲1̲.̲5̲.̲3̲)̲

                       D̲I̲S̲M̲ ̲(̲O̲U̲T̲P̲U̲T̲ ̲C̲I̲F̲,̲ ̲C̲L̲O̲S̲E̲,̲ ̲S̲A̲V̲E̲)̲
                     ̲(̲4̲.̲1̲.̲5̲.̲3̲)̲

   DELETE ̲REQ?   S̲E̲N̲D̲ ̲R̲E̲Q̲U̲E̲S̲T̲ ̲T̲O̲ ̲U̲M̲A̲M̲ ̲(̲D̲E̲L̲E̲T̲E̲)̲(̲4̲.̲2̲.̲2̲.̲6̲.̲2̲0̲)̲

                 ANQ ̲OP.CMD=M ̲DELETE ̲SVC ̲REQ

   DIOM ̲REQ?     S̲E̲N̲D̲ ̲R̲E̲Q̲U̲E̲S̲T̲ ̲T̲O̲ ̲U̲M̲A̲M̲ ̲(̲S̲E̲R̲V̲I̲C̲E̲ ̲M̲S̲G̲ ̲S̲T̲A̲T̲U̲S̲)̲
                                               (̲4̲.̲2̲.̲2̲.̲6̲.̲2̲0̲)̲

                 ANQ ̲OP ̲CMD=M ̲MSG ̲STATUS ̲REQ

   CONTINUE (4.2.2.4.l2-4)









                Figure 4.2.2.4.12-3


   RECV ̲START? M̲S̲O̲ ̲R̲E̲C̲V̲ ̲F̲I̲R̲S̲T̲ ̲(̲C̲C̲,̲I̲N̲P̲U̲T̲ ̲C̲I̲F̲)̲(̲4̲.̲2̲.̲2̲.̲6̲.̲3̲)̲

            CASE CC OF MSO ̲CC

               NOT ̲OPENED ? SEQ ̲REC.SEDIA ̲CMD=NULL
                            SEQ ̲REC.CURSOR ̲SPLIT=NO
               ̲SPLIT

               Q ̲EMPTY ? D̲I̲S̲P̲L̲A̲Y̲ ̲E̲R̲R̲O̲R̲ ̲M̲S̲G̲ ̲(̲E̲R̲R̲O̲R̲ ̲N̲O̲)̲(̲4̲.̲2̲.̲2̲.̲6̲.̲4̲)̲
                         U̲P̲D̲A̲T̲E̲ ̲V̲D̲U̲ ̲H̲E̲A̲D̲E̲R̲ ̲(̲C̲L̲E̲A̲R̲ ̲H̲E̲A̲D̲E̲R̲,̲
                                                                 M̲A̲X̲
                                                                 ̲C̲L̲A̲S̲S̲)̲
                                                                 ̲(̲4̲.̲2̲.̲2̲.̲6̲.̲1̲8̲)

               RECV ̲OK? U̲P̲D̲A̲T̲E̲ ̲V̲D̲U̲ ̲H̲E̲A̲D̲E̲R̲ ̲(̲H̲E̲A̲D̲E̲R̲ ̲T̲E̲X̲T̲,̲
               ̲C̲U̲R̲R̲E̲N̲T̲
                                                                 
                                                                 
                                                                 
                                                                 C̲L̲A̲S̲S̲)̲(̲4̲.̲2̲.̲2̲.̲6̲.̲1̲8̲)̲

                         T̲E̲P̲ ̲T̲R̲S̲E̲R̲N̲O̲ ̲(̲4̲.̲2̲.̲2̲.̲6̲.̲1̲3̲)̲

               RECV ̲NEXT ? OLD ̲CIF = INPUT ̲CIF

                                        M̲S̲O̲ ̲R̲E̲C̲V̲ ̲N̲E̲X̲T̲
                                        ̲K̲E̲E̲P̲=̲T̲R̲U̲E̲,̲
                                        ̲(̲O̲L̲D̲ ̲C̲I̲F̲)̲(̲I̲N̲P̲U̲T̲
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 C̲I̲F̲,̲
                                                                 ̲C̲C̲)̲(̲4̲.̲2̲.̲2̲.̲6̲.̲6̲)̲

                                        CASE OF

                                          NOT ̲OPENED?
                                        SEQ ̲REC.SEDIA,CMD=NULL
                                                  
                                           SEQ ̲REC.CURSOR.SPLIT
                                        =
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 NO
                                                                 ̲SPLIT
                                          Q ̲EMPTY ?
                                        D̲I̲S̲P̲L̲A̲Y̲ ̲E̲R̲R̲O̲R̲
                                        ̲M̲S̲G̲ ̲(̲E̲R̲R̲O̲R̲
                                        ̲N̲O̲)̲
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 (̲4̲.̲2̲.̲2̲.̲6̲.̲4̲)̲
                                                  
                                         U̲P̲D̲A̲T̲E̲ ̲V̲D̲U̲
                                        ̲H̲E̲A̲D̲E̲R̲ ̲(̲C̲L̲E̲A̲R̲
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 ̲H̲E̲A̲D̲E̲R̲,̲
                                                                 
                                                                 
                                                                 M̲A̲X̲
                                                                 ̲C̲L̲A̲S̲S̲)̲
                                                                 ̲(̲4̲.̲2̲.̲2̲.̲6̲.̲1̲8̲)̲
                                          RECV ̲OK ?
                                        U̲P̲D̲A̲T̲E̲ ̲V̲D̲U̲
                                        ̲H̲E̲A̲D̲E̲R̲ ̲(̲H̲E̲A̲D̲E̲R̲
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 T̲E̲X̲T̲,̲
                                 C̲U̲R̲R̲E̲N̲T̲ ̲C̲L̲A̲S̲S̲)̲ ̲(̲4̲.̲2̲.̲2̲.̲6̲.̲1̲8̲)̲

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

                                        END CASE

                                        T̲E̲P̲ ̲R̲E̲T̲U̲R̲N̲
                                        ̲V̲I̲E̲W̲ ̲(̲O̲L̲D̲ ̲C̲I̲F̲,̲
                                        ̲C̲L̲O̲S̲E̲)̲
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 (̲4̲.̲2̲.̲2̲.̲6̲.̲1̲2̲)

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

            END CASE

   CONTINUE (4.2.2.4.12-5)

               Figure 4.2.2.4.12-4


   KEEP ̲PRESENT?  ANS ̲FLAG EQ TRUE ? K̲E̲E̲P̲ ̲R̲E̲T̲U̲R̲N̲ ̲(̲4̲.̲2̲.̲2̲.̲4̲.̲l̲2̲-̲6̲)̲

                  OLD ̲CIF = INPUT ̲CIF

                  T̲E̲P̲ ̲C̲L̲O̲S̲E̲.̲ ̲V̲I̲E̲W̲ ̲(̲O̲L̲D̲ ̲C̲I̲F̲)̲ ̲(̲4̲.̲2̲.̲2̲.̲6̲.̲2̲6̲)̲

                  M̲S̲O̲ ̲R̲E̲C̲E̲I̲V̲E̲ ̲N̲E̲X̲T̲ ̲(̲K̲E̲E̲P̲ ̲=̲ ̲T̲R̲U̲E̲,̲ ̲O̲L̲D̲.̲
                  ̲C̲I̲F̲)̲

                                                (̲I̲N̲P̲U̲T̲
                                        ̲C̲I̲F̲,̲ ̲C̲C̲)̲(̲4̲.̲2̲.̲2̲.̲6̲.̲6̲)̲
                                        ̲

                  CASE CC OF MSO ̲CC

                     NOT ̲OPENED ? SEQ ̲REC. SEDIA ̲CMD=NULL

                                               SEQ
                                        ̲REC.CURSOR
                                        ̲SPLIT=NO ̲SPLIT

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

                              U̲P̲D̲A̲T̲E̲ ̲V̲D̲U̲ ̲H̲E̲A̲D̲E̲R̲ ̲(̲C̲L̲E̲A̲R̲
                        ̲H̲E̲A̲D̲E̲R̲,̲ ̲M̲A̲X̲ ̲
                                        C̲L̲A̲S̲S̲)̲(̲4̲.̲2̲.̲2̲.̲6̲.̲1̲8̲)̲

                     RECV ̲OK? 

                                           U̲P̲D̲A̲T̲E̲ ̲V̲D̲U̲
                                        ̲H̲E̲A̲D̲E̲R̲ ̲(̲H̲E̲A̲D̲E̲R̲
                                        ̲T̲E̲X̲T̲,̲
                                                                 M̲A̲X̲
                                                                 ̲C̲L̲A̲S̲S̲)̲
                                                                 ̲(̲4̲.̲2̲.̲2̲.̲6̲.̲1̲8̲)̲

                                           T̲E̲P̲ ̲T̲R̲S̲E̲R̲N̲O̲
                                        ̲(̲4̲.̲2̲.̲2̲.̲6̲.̲1̲1̲)̲

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

                  END CASE

                  T̲E̲P̲ ̲R̲E̲T̲U̲R̲N̲ ̲V̲I̲E̲W̲ ̲(̲O̲L̲D̲ ̲C̲I̲F̲,̲C̲L̲O̲S̲E̲)̲(̲4̲.̲2̲.̲2̲.̲6̲.̲1̲2̲)̲

                  A̲N̲T̲I̲ ̲N̲O̲T̲E̲ ̲T̲O̲ ̲S̲E̲V̲C̲O̲ ̲(̲4̲.̲2̲.̲2̲.̲4̲.̲1̲2̲-̲8̲)̲

   CONTINUE (4.2.2.4.l2-9)







               Figure 4.2.2.4.l2-5


   KEEP ̲RETURN

   CASE CURRENT ̲MAINQ OF MSOS ̲RECV ̲QUEUE ̲TYPE

      INCOMING ̲Q? Q ̲REFERENCE.MAINQ=MSOS ̲INQ

                  Q ̲REFERENCE.SUBQ=CURRENT ̲SUBQ

                  CASE SEND (MSOS ̲SEND ̲PARAMS,OUTPUT
                  ̲CIF,

                     Q ̲REFERENCE)(MSOS ̲SEND ̲PARAMS,
                     CC):  ERROR ̲OK

                     ERROR ? ANALYZE ̲ERROR (CC,O)

                     OK ? D̲I̲S̲M̲ ̲(̲O̲U̲T̲P̲U̲T̲ ̲C̲I̲F̲,̲C̲L̲O̲S̲E̲)̲(̲4̲.̲2̲.̲2̲.̲6̲.̲1̲2̲)̲

                  END CASE

      OUTGOING ̲Q? Q ̲REFERENCE.MAINQ=MSOS ̲OMQ

                  Q ̲REFERENCE.SUBQ=CURRENT ̲SUBQ

                  CASE SEND(MSOS ̲SEND ̲PARAMS,OUTPUT
                  ̲CIF, Q ̲REFERENCE)

                                   (MSOS ̲SEND ̲PARAMS,
                        CC) : ERROR ̲OK

                     ERROR?  ANALYZE ̲ERROR (CC,O)

                     OK ? D̲I̲S̲M̲ ̲(̲O̲U̲T̲P̲U̲T̲ ̲C̲I̲F̲,̲C̲L̲O̲S̲E̲)̲ ̲(̲4̲.̲2̲.̲2̲.̲6̲.̲1̲2̲)̲

                  END CASE

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

   END CASE

   ANS ̲FLAG = FALSE

   M̲S̲O̲ ̲R̲E̲C̲V̲ ̲F̲I̲R̲S̲T̲ ̲(̲C̲C̲,̲ ̲I̲N̲P̲U̲T̲ ̲C̲I̲F̲)̲ ̲(̲4̲.̲2̲.̲2̲.̲6̲.̲3̲)̲

   C̲C̲ ̲A̲N̲A̲L̲Y̲S̲E̲ ̲(̲4̲.̲2̲.̲2̲.̲4̲.̲l̲2̲-̲7̲)̲







               Figure 4.2.2.4.12-6


   CC ANALYSE

   CASE CC OF MSO ̲CC

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

               U̲P̲D̲A̲T̲E̲ ̲V̲D̲U̲ ̲H̲E̲A̲D̲E̲R̲ ̲(̲C̲L̲E̲A̲R̲ ̲H̲E̲A̲D̲E̲R̲,̲ ̲M̲A̲X̲
                                               C̲L̲A̲S̲S̲)̲(̲4̲.̲2̲.̲2̲.̲6̲.̲1̲8̲)̲

      RECV ̲OK? U̲P̲D̲A̲T̲E̲ ̲V̲D̲U̲ ̲H̲E̲A̲D̲E̲R̲ ̲(̲H̲E̲A̲D̲E̲R̲ ̲T̲E̲X̲T̲,̲ ̲C̲U̲R̲R̲E̲N̲T̲
      ̲C̲L̲A̲S̲S̲)
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 (̲4̲.̲2̲.̲2̲.̲6̲.̲1̲8̲)̲

               T̲E̲P̲ ̲T̲R̲S̲E̲R̲N̲O̲ ̲(̲4̲.̲2̲.̲2̲.̲6̲.̲1̲1̲)̲

      RECV ̲NEXT? OLD ̲CIF = INPUT ̲CIF

               M̲S̲O̲ ̲R̲E̲C̲V̲ ̲N̲E̲X̲T̲ ̲(̲K̲E̲E̲P̲=̲T̲R̲U̲E̲,̲O̲L̲D̲ ̲C̲I̲F̲)̲(̲I̲N̲P̲U̲T̲
               ̲C̲I̲F̲,̲C̲C̲)̲
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 (̲4̲.̲2̲.̲2̲.̲6̲.̲6̲)̲

               CASE CC OF MSO ̲CC

                  NOT ̲OPENED? SEQ ̲REC SEDIA ̲CMD = NULL

                                           SEQ ̲REC.
                                        CURSOR.SPLIT=NO
                                        ̲SPLIT

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

                                        U̲P̲D̲A̲T̲E̲ ̲V̲D̲U̲
                                        ̲H̲E̲A̲D̲E̲R̲ ̲(̲C̲L̲E̲A̲R̲
                                        ̲H̲E̲A̲D̲E̲R̲)̲
                                    M̲A̲X̲ ̲C̲L̲A̲S̲S̲)̲ ̲(̲4̲.̲2̲.̲2̲.̲6̲.̲1̲8̲)̲

                  RECV ̲OK? U̲P̲D̲A̲T̲E̲ ̲H̲E̲A̲D̲E̲R̲ ̲(̲H̲E̲A̲D̲E̲R̲ ̲T̲E̲X̲T̲,̲
                                        C̲U̲R̲R̲E̲N̲T̲ ̲C̲L̲A̲S̲S̲)̲
                                        ̲(̲4̲.̲2̲.̲2̲.̲6̲.̲1̲8̲)̲

                                        T̲E̲P̲ ̲T̲R̲S̲E̲R̲N̲O̲
                                        ̲(̲4̲.̲2̲.̲2̲.̲6̲.̲1̲0̲)̲

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

               END CASE

               T̲E̲P̲ ̲R̲E̲T̲U̲R̲N̲ ̲V̲I̲E̲W̲ ̲(̲O̲L̲D̲ ̲C̲I̲F̲,̲ ̲C̲L̲O̲S̲E̲)̲ ̲(̲4̲.̲2̲.̲2̲.̲6̲.̲1̲2̲)̲

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

   END CASE.
  

               Figure 4.2.2.4.l2-7


   ANTI ̲NOTE ̲TO ̲SEVCO

   RECV ̲MAIN EQ FALSE ?

   CASE CURRENT ̲SUBQ OF PRECEDENCE ̲TYPE

      SUPERFLASH,

      FLASH? MOVE CURRENT ̲SUBQ TO SEVCO ̲OP. PARA1

             MOVE SEFCO ̲IDENT TO SEVCO ̲OP. OP ̲ID(1)

             MOVE SEND ̲NOTIFICATION TO SEVCO ̲OP. CMD

             SIGNAL ̲OPSEM (MSOS ̲S1, SEVCO ̲OP) : OK

      OTHERWISE ?

   END CASE.




























               Figure 4.2.2.4.12-8


…02…DELETE ̲PRESENT? OLD CIF = INPUT CIF

                   T̲E̲P̲ ̲C̲L̲O̲S̲E̲ ̲V̲I̲E̲W̲ ̲(̲O̲L̲D̲ ̲C̲I̲F̲)̲ ̲(̲4̲.̲2̲.̲2̲.̲6̲.̲2̲6̲)̲

                   M̲S̲O̲ ̲R̲E̲C̲E̲I̲V̲E̲ ̲N̲E̲X̲T̲ ̲(̲K̲E̲E̲P̲=̲F̲A̲L̲S̲E̲,̲ ̲O̲L̲D̲
                  ̲C̲I̲F̲)̲
                          (̲I̲N̲P̲U̲T̲ ̲C̲I̲F̲,̲ ̲C̲C̲)̲ ̲(̲4̲.̲2̲.̲2̲.̲6̲.̲6̲)̲

                   CASE CC OF MSO ̲CC

                     NOT OPENED ? SEQ ̲REQ. SEDIA ̲CMD=NULL

                                               SEQ
                                        ̲REC. CURSOR
                                        SPLIT = NO
                                        SPLIT

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

                                            U̲P̲D̲A̲T̲E̲
                                        ̲V̲D̲U̲ ̲H̲E̲A̲D̲E̲R̲
                                        ̲(̲C̲L̲E̲A̲R̲ ̲H̲E̲A̲D̲E̲R̲,̲
                                                                 M̲A̲X̲
                                                                 ̲C̲L̲A̲S̲S̲)̲
                                                                 ̲(̲4̲.̲2̲.̲2̲.̲6̲.̲1̲8̲)̲


                     RECV ̲OK?  U̲P̲D̲A̲T̲E̲ ̲V̲D̲U̲ ̲H̲E̲A̲D̲E̲R̲ ̲(̲H̲E̲A̲D̲E̲R̲
                     ̲T̲E̲X̲T̲,̲
                                                  
                                          C̲U̲R̲R̲E̲N̲T̲ ̲C̲L̲A̲S̲S̲)̲
                                        ̲(̲4̲.̲2̲.̲2̲.̲6̲.̲1̲8̲)̲

                                            T̲E̲P̲ ̲T̲R̲S̲E̲R̲N̲O̲
                                        ̲(̲4̲.̲2̲.̲2̲.̲6̲.̲1̲0̲)̲

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

                  END CASE

                  D̲I̲S̲M̲ ̲(̲O̲L̲D̲ ̲C̲I̲F̲)̲ ̲(̲4̲.̲1̲.̲5̲.̲3̲)̲






   CONTINUE (4.2.2.4.12-10)







               Figure 4.2.2.4.12-9


CTMP ̲START1?      S̲E̲N̲D̲ ̲R̲E̲Q̲U̲E̲S̲T̲ ̲T̲O̲ ̲U̲M̲A̲M̲(̲E̲D̲I̲T̲,̲P̲L̲A̲I̲N̲ ̲S̲V̲C̲)̲(̲4̲.̲2̲.̲2̲.̲6̲.̲2̲0̲)̲

                  ANQ ̲OP.CMD=M ̲PLAIN ̲SVC ̲EDIT

CTMP ̲START2?      S̲E̲N̲D̲ ̲R̲E̲Q̲U̲E̲S̲T̲ ̲T̲O̲ ̲U̲M̲A̲M̲(̲E̲D̲I̲T̲,̲ ̲A̲B̲B̲ ̲S̲V̲C̲)̲(̲4̲.̲2̲.̲2̲.̲6̲.̲2̲0̲)̲

                  ANQ ̲OP.CMD=M ̲ABB ̲SVC ̲EDIT

   CTMP ̲START3?   S̲E̲N̲D̲ ̲R̲E̲Q̲U̲E̲S̲T̲ ̲T̲O̲ ̲U̲M̲A̲M̲ ̲(̲E̲D̲I̲T̲,̲ ̲P̲L̲A̲B̲B̲
                  ̲S̲V̲C̲)̲(̲4̲.̲2̲.̲2̲.̲6̲.̲2̲0̲)̲

                  ANQ ̲OP.CMD=M ̲PLAB ̲SVC ̲EDIT

   CTMP ̲UMAM ̲ERROR?  U̲P̲D̲A̲T̲E̲ ̲V̲D̲U̲ ̲H̲E̲A̲D̲E̲R̲ ̲(̲T̲E̲X̲T̲)̲ ̲(̲4̲.̲2̲.̲2̲.̲6̲.̲1̲8̲)̲


   CTMP ̲CONT?        T̲E̲P̲ ̲C̲R̲E̲A̲T̲E̲ ̲N̲E̲W̲ ̲C̲I̲F̲ ̲(̲I̲N̲P̲U̲T̲ ̲C̲I̲F̲)̲
                     ̲(̲O̲U̲T̲P̲U̲T̲ ̲C̲I̲F̲)̲
                                                                 (̲4̲.̲2̲.̲2̲.̲6̲.̲9̲)̲

                     T̲E̲P̲ ̲O̲P̲E̲N̲ ̲V̲I̲E̲W̲ ̲(̲O̲U̲T̲P̲U̲T̲ ̲C̲I̲F̲)̲ ̲(̲4̲.̲2̲.̲2̲.̲6̲.̲2̲3̲)̲

                     T̲E̲P̲ ̲T̲R̲S̲E̲R̲N̲O̲ ̲(̲4̲.̲2̲.̲2̲.̲6̲.̲1̲1̲)̲

                     C̲O̲P̲Y̲ ̲T̲E̲X̲T̲ ̲F̲I̲E̲L̲D̲S̲ ̲(̲I̲N̲P̲U̲T̲ ̲C̲I̲F̲,̲
 ̲                                       O̲U̲T̲P̲U̲T̲ ̲C̲I̲F̲)̲(̲4̲.̲2̲.̲2̲.̲6̲.̲1̲7̲)̲

                     OUTPUT ̲CIF=INPUT ̲CIF

   CATA ̲CANCEL ?     D̲I̲S̲M̲ ̲(̲I̲N̲P̲U̲T̲ ̲C̲I̲F̲,̲ ̲C̲L̲O̲S̲E̲)̲ ̲(̲4̲.̲1̲.̲5̲.̲3̲)̲

                     U̲P̲D̲A̲T̲E̲ ̲V̲D̲U̲ ̲H̲E̲A̲D̲E̲R̲ ̲(̲C̲L̲E̲A̲R̲ ̲H̲E̲A̲D̲E̲R̲,̲
                     ̲M̲A̲X̲ ̲C̲L̲A̲S̲S̲)̲
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 (̲4̲.̲2̲.̲2̲.̲6̲.̲1̲8̲)̲




   CONTINUE (4.2.2.4.12-11)










              Figure 4.2.2.4.12-10



   CTMP ̲CLASS ̲SAVE?  T̲E̲P̲ ̲N̲E̲W̲ ̲V̲I̲E̲W̲ ̲(̲O̲U̲T̲P̲U̲T̲ ̲C̲I̲F̲,̲ ̲C̲I̲F̲
                     ̲T̲E̲X̲T̲)̲

                                        (̲N̲E̲W̲ ̲C̲I̲F̲)̲ ̲(̲4̲.̲2̲.̲2̲.̲6̲.̲1̲0̲)̲


                     D̲I̲S̲M̲ ̲(̲O̲U̲T̲P̲U̲T̲ ̲C̲I̲F̲,̲ ̲C̲L̲O̲S̲E̲,̲ ̲S̲A̲V̲E̲)̲
                     ̲(̲4̲.̲1̲.̲5̲.̲3̲)̲

                     OUTPUT ̲CIF = NEW ̲CIF

                     HEADER ̲TEXT = NO ̲CHANGE

                     U̲P̲D̲A̲T̲E̲ ̲V̲D̲U̲ ̲H̲E̲A̲D̲E̲R̲ ̲(̲U̲P̲D̲A̲T̲E̲ ̲H̲E̲A̲D̲E̲R̲,̲
                     ̲C̲U̲R̲R̲E̲N̲T̲ ̲                                             C̲L̲A̲S̲S̲)̲
                                                                          ̲(̲4̲.̲2̲.̲2̲.̲6̲.̲1̲8̲)̲


   CTMP ̲NEW ̲HEADER?  T̲E̲P̲ ̲N̲E̲W̲ ̲V̲I̲E̲W̲ ̲(̲O̲U̲T̲P̲U̲T̲ ̲C̲I̲F̲,̲ ̲C̲I̲F̲
                     ̲H̲E̲A̲D̲E̲R̲)̲(̲N̲E̲W̲ ̲C̲I̲F̲)̲
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 (̲4̲.̲2̲.̲2̲.̲6̲.̲1̲0̲)̲

                     D̲I̲S̲M̲ ̲(̲O̲U̲T̲P̲U̲T̲ ̲C̲I̲F̲,̲ ̲C̲L̲O̲S̲E̲)̲ ̲(̲4̲.̲1̲.̲5̲.̲3̲)̲

                     T̲E̲P̲ ̲O̲P̲E̲N̲ ̲V̲I̲E̲W̲ ̲(̲N̲E̲W̲ ̲C̲I̲F̲)̲ ̲(̲4̲.̲2̲.̲2̲.̲6̲.̲2̲3̲)̲

                     OUTPUT ̲CIF = NEW ̲CIF


   CTMP ̲NEW ̲TEXT?    T̲E̲P̲ ̲N̲E̲W̲ ̲V̲I̲E̲W̲ ̲(̲O̲U̲T̲P̲U̲T̲ ̲C̲I̲F̲,̲ ̲C̲I̲F̲
                     ̲T̲E̲X̲T̲)̲(̲N̲E̲W̲ ̲V̲I̲E̲W̲)̲
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 (̲4̲.̲2̲.̲2̲.̲6̲.̲1̲0̲)̲

                     D̲I̲S̲M̲ ̲(̲O̲U̲T̲P̲U̲T̲ ̲C̲I̲F̲,̲ ̲C̲L̲O̲S̲E̲)̲ ̲(̲4̲.̲1̲.̲5̲.̲3̲)̲

                     T̲E̲P̲ ̲O̲P̲E̲N̲ ̲V̲I̲E̲W̲ ̲(̲N̲E̲W̲ ̲C̲I̲F̲)̲ ̲(̲4̲.̲2̲.̲2̲.̲6̲.̲2̲3̲)̲

                     OUTPUT ̲CIF = NEW ̲CIF

   LOG ̲CANCEL? SEDIA ̲PARAMETER ̲INFO ̲TYPE.ITEM ̲REF=ITREF

               SEDIA ̲PARAMETER ̲INFO ̲TYPE.TIME ̲STAMP=CANCEL
               ̲TIME



CONTINUE (4.2.2.4.12-12)





              Figure 4.2.2.4.12-11



   RETURN ̲STOP ̲BLOCK ?

      RECV MAIN EQ FALSE ?

      CASE CURRENT ̲SUBQ OF PRECEDENCE ̲TYPE

         SUPERFLASH,

         FLASH ? MOVE CURRENT ̲SUBQ TO SEVCO ̲OP.PARA1

                 MOVE SEFCO ̲IDENT TO SEVCO ̲OP.OP ̲ID(1)

                 MOVE SEND ̲NOTIFICATION TO SEVCO ̲OP.CMD

                 SIGNAL ̲OPSEM (MSOS ̲S1, SEVCO ̲OP) :
               OK

         OTHERWISE ?

      END CASE

      T̲E̲P̲ ̲R̲E̲T̲U̲R̲N̲ ̲V̲I̲E̲W̲ ̲(̲I̲N̲P̲U̲T̲ ̲C̲I̲F̲,̲C̲L̲O̲S̲E̲)̲ ̲(̲4̲.̲2̲.̲2̲.̲6̲.̲1̲2̲)̲

      D̲I̲S̲M̲ ̲(̲I̲N̲P̲U̲T̲ ̲C̲I̲F̲)̲(̲4̲.̲1̲.̲5̲.̲3̲)̲


   CONTINUE (4.2.2.4.12-13)























              Figure 4.2.2.4.12-12


   SEND ̲READ ̲TO ̲THP?    C̲L̲O̲S̲E̲ ̲V̲I̲E̲W̲(̲I̲N̲P̲U̲T̲ ̲C̲I̲F̲)̲(̲4̲.̲2̲.̲2̲.̲6̲.̲2̲6̲)̲

                        C̲L̲O̲S̲E̲ ̲V̲I̲E̲W̲ ̲(̲O̲U̲T̲P̲U̲T̲ ̲C̲I̲F̲)̲(̲4̲.̲2̲.̲2̲.̲6̲.̲2̲6̲)̲
                        

                        S̲E̲N̲D̲ ̲S̲E̲R̲V̲I̲C̲E̲D̲ ̲M̲S̲G̲ ̲T̲O̲ ̲T̲H̲P̲ ̲(̲O̲U̲T̲P̲U̲T̲
                        ̲C̲I̲F̲,̲R̲E̲A̲D̲)̲
                                                  
                         (̲4̲.̲2̲.̲2̲.̲6̲.̲1̲9̲)̲

                        D̲I̲S̲M̲ ̲(̲I̲N̲P̲U̲T̲ ̲C̲I̲F̲)̲(̲4̲.̲1̲.̲5̲.̲3̲)̲

                        D̲I̲S̲M̲ ̲(̲O̲U̲T̲P̲U̲T̲ ̲C̲I̲F̲,̲S̲A̲V̲E̲)̲(̲4̲.̲1̲.̲5̲.̲3̲)̲


   SEND ̲RIASS ̲TO ̲THP?   T̲E̲P̲ ̲C̲L̲O̲S̲E̲ ̲V̲I̲E̲W̲(̲I̲N̲P̲U̲T̲ ̲C̲I̲F̲)̲(̲4̲.̲2̲.̲2̲.̲6̲.̲2̲9̲)̲

                        T̲E̲P̲ ̲C̲L̲O̲S̲E̲ ̲V̲I̲E̲W̲(̲O̲U̲T̲P̲U̲T̲ ̲C̲I̲F̲)̲(̲4̲.̲2̲.̲2̲.̲6̲.̲2̲6̲)̲

                        S̲E̲N̲D̲ ̲S̲E̲R̲V̲I̲C̲E̲D̲ ̲M̲S̲G̲ ̲T̲O̲ ̲T̲H̲P̲(̲O̲U̲T̲P̲U̲T̲
                        ̲C̲I̲F̲,̲R̲I̲A̲S̲S̲)̲
                                                  
    (̲4̲.̲2̲.̲2̲.̲6̲.̲1̲9̲)̲

                        ANQ ̲OP.CMD=M ̲RI

                        D̲I̲S̲M̲(̲O̲U̲T̲P̲U̲T̲ ̲C̲I̲F̲)̲(̲4̲.̲1̲.̲5̲.̲3̲)̲

                        D̲I̲S̲M̲(̲I̲N̲P̲U̲T̲ ̲C̲I̲F̲,̲S̲A̲V̲E̲)̲(̲4̲.̲1̲.̲5̲.̲3̲)̲


   CONTINUE (4.2.2.4.12-14)





              Figure 4.2.2.4.12-13 


   OTHER ̲PRINT?   S̲E̲N̲D̲ ̲T̲O̲ ̲A̲S̲S̲ ̲P̲R̲I̲N̲T̲E̲R̲(̲S̲T̲A̲T̲U̲S̲,̲O̲N̲E̲ ̲C̲O̲P̲Y̲,̲I̲N̲P̲U̲T̲
                  ̲C̲I̲F̲)̲
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 (̲4̲.̲2̲.̲2̲.̲6̲.̲2̲2̲)̲
   S ̲PRINT?       S̲E̲N̲D̲ ̲T̲O̲ ̲A̲S̲S̲ ̲P̲R̲I̲N̲T̲E̲R̲(̲O̲N̲E̲ ̲C̲O̲P̲Y̲,̲O̲U̲T̲P̲U̲T̲
                  ̲C̲I̲F̲)̲
                                             (̲4̲.̲2̲.̲2̲.̲6̲.̲2̲2̲)̲

   RETURN ̲STOP?      T̲E̲P̲ ̲R̲E̲T̲U̲R̲N̲ ̲V̲I̲E̲W̲(̲I̲N̲P̲U̲T̲ ̲C̲I̲F̲,̲C̲L̲O̲S̲E̲)̲(̲4̲.̲2̲.̲2̲.̲6̲.̲1̲2̲)̲

                     T̲E̲P̲ ̲C̲L̲O̲S̲E̲ ̲V̲I̲E̲W̲(̲O̲U̲T̲P̲U̲T̲ ̲C̲I̲F̲)̲(̲4̲.̲2̲.̲2̲.̲6̲.̲2̲3̲)̲

                     D̲I̲S̲M̲(̲O̲U̲T̲P̲U̲T̲ ̲C̲I̲F̲)̲(̲4̲.̲1̲.̲5̲.̲3̲)̲

   TRANS ̲NO?         T̲E̲P̲ ̲T̲R̲S̲E̲R̲N̲O̲(̲4̲.̲2̲.̲2̲.̲6̲.̲1̲1̲)̲

   RI ̲ENTER?         T̲E̲P̲ ̲N̲E̲W̲ ̲V̲I̲E̲W̲(̲I̲N̲P̲U̲T̲ ̲C̲I̲F̲,̲R̲I̲ ̲F̲I̲E̲L̲D̲)̲(̲O̲U̲T̲P̲U̲T̲
                     ̲C̲I̲F̲)̲
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 (̲4̲.̲2̲.̲2̲.̲6̲.̲1̲0̲)̲

                     T̲E̲P̲ ̲O̲P̲E̲N̲ ̲V̲I̲E̲W̲(̲O̲U̲T̲P̲U̲T̲ ̲C̲I̲F̲)̲(̲4̲.̲2̲.̲2̲.̲6̲.̲2̲3̲)̲

   RE ̲ENTER?   CASE MAKE ̲CIF ̲PERMANENT(INPUT ̲CIF,VIEW
               ̲ATTRIBUTES)
                                                  
                                        (VIEW ̲ATTRIBUTES,CC):
                                        ERROR ̲OK

                  ERROR? ANALYZE ̲ERROR(CC,0)

                  OK? T̲E̲P̲ ̲N̲E̲W̲ ̲V̲I̲E̲W̲(̲I̲N̲P̲U̲T̲ ̲C̲I̲F̲)̲(̲C̲I̲F̲ ̲H̲E̲A̲D̲E̲R̲)
                                               (̲O̲U̲T̲P̲U̲T̲
                                        ̲C̲I̲F̲)̲(̲4̲.̲2̲.̲2̲.̲6̲.̲1̲0̲)̲

                      T̲E̲P̲ ̲O̲P̲E̲N̲ ̲V̲I̲E̲W̲(̲O̲U̲T̲P̲U̲T̲ ̲C̲I̲F̲)̲(̲4̲.̲2̲.̲2̲.̲6̲.̲2̲3̲)̲

               END CASE

   GA ̲ENTER?   T̲E̲P̲ ̲N̲E̲W̲ ̲V̲I̲E̲W̲(̲I̲N̲P̲U̲T̲ ̲C̲I̲F̲,̲T̲O̲T̲A̲L̲)̲(̲O̲U̲T̲P̲U̲T̲
               ̲C̲I̲F̲)̲(̲4̲.̲2̲.̲2̲.̲6̲.̲1̲0̲)̲

               T̲E̲P̲ ̲O̲P̲E̲N̲ ̲V̲I̲E̲W̲(̲O̲U̲T̲P̲U̲T̲ ̲C̲I̲F̲)̲(̲4̲.̲2̲.̲2̲.̲6̲.̲2̲3̲)̲

   SC ̲CATA ̲PRINT? S̲E̲N̲D̲ ̲T̲O̲ ̲A̲S̲S̲ ̲P̲R̲I̲N̲T̲E̲R̲(̲O̲N̲E̲ ̲C̲O̲P̲Y̲,̲I̲N̲P̲U̲T̲
   ̲C̲I̲F̲)̲
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 (̲4̲.̲2̲.̲2̲.̲6̲.̲2̲2̲)̲

   STOP?       D̲I̲S̲M̲(̲I̲N̲P̲U̲T̲ ̲C̲I̲F̲,̲C̲L̲O̲S̲E̲)̲(̲4̲.̲1̲.̲5̲.̲3̲)̲


CONTINUE (4.2.2.4.12-15)






              Figure 4.2.2.4.12-14 


   SEND ̲INSPECTED ̲TO ̲THP?               S̲E̲N̲D̲ ̲S̲E̲R̲V̲I̲C̲E̲D̲
                                        ̲M̲S̲G̲ ̲T̲O̲ ̲T̲H̲P̲(̲I̲N̲P̲U̲T̲
                                        ̲C̲I̲F̲,̲
                                                                 I̲N̲S̲P̲E̲C̲T̲)̲(̲4̲.̲2̲.̲2̲.̲6̲.̲1̲9̲)̲

                                        D̲I̲S̲M̲A̲N̲T̲L̲E̲(̲I̲N̲P̲U̲T̲
                                        ̲C̲I̲F̲,̲C̲L̲O̲S̲E̲,̲
                                        ̲S̲A̲V̲E̲)̲(̲4̲.̲1̲.̲5̲.̲3̲)̲

                                        ANQ ̲OP.CMD=M
                                        ̲GARBLE

   SEND ̲RERUN ̲TO ̲THP?   CASE MAKE CIF ̲PERMANENT(INPUT
                        ̲CIF,VIEW ̲
                                        ATTRIBUTES)(VIEW
                                        ̲ATTRIBUTES,CC):ERROR
                                        ̲OK

                         ERROR? ANALYZE ̲ERROR(CC,0)

                         OK?

                        END CASE

                        T̲E̲P̲ ̲C̲L̲O̲S̲E̲ ̲V̲I̲E̲W̲(̲I̲N̲P̲U̲T̲ ̲C̲I̲F̲)̲(̲4̲.̲2̲.̲2̲.̲6̲.̲2̲3̲)̲

                        S̲E̲N̲D̲ ̲S̲E̲R̲V̲I̲C̲E̲D̲ ̲M̲S̲G̲ ̲T̲O̲ ̲T̲H̲P̲(̲I̲N̲P̲U̲T̲
                        ̲C̲I̲F̲,̲R̲E̲R̲U̲N̲)̲
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 (̲4̲.̲2̲.̲2̲.̲6̲.̲1̲9̲)̲

                        D̲I̲S̲M̲(̲I̲N̲P̲U̲T̲ ̲C̲I̲F̲)̲(̲4̲.̲1̲.̲5̲.̲3̲)̲

   IN ̲MODE?    CURRENT ̲MODE = INTERACTIVE ̲MODE

   SEND ̲READ ̲TO ̲PRINT?  S̲E̲N̲D̲ ̲T̲O̲ ̲P̲R̲I̲N̲T̲E̲R̲(̲R̲E̲A̲D̲)̲(̲4̲.̲2̲.̲2̲.̲6̲.̲2̲4̲)̲

                        C̲L̲O̲S̲E̲ ̲V̲I̲E̲W̲(̲I̲N̲P̲U̲T̲ ̲C̲I̲F̲)̲(̲4̲.̲2̲.̲2̲.̲6̲.̲2̲6̲)̲

                        C̲L̲O̲S̲E̲ ̲V̲I̲E̲W̲(̲O̲U̲T̲P̲U̲T̲ ̲C̲I̲F̲)̲(̲4̲.̲2̲.̲2̲.̲6̲.̲2̲6̲)̲

                        S̲E̲N̲D̲ ̲S̲E̲R̲V̲I̲C̲E̲D̲ ̲M̲S̲G̲ ̲T̲O̲ ̲T̲H̲P̲(̲O̲U̲T̲P̲U̲T̲
                        ̲C̲I̲F̲,̲R̲E̲A̲D̲)
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 (̲4̲.̲2̲.̲2̲.̲6̲.̲1̲9̲)̲

                        D̲I̲S̲M̲(̲O̲U̲T̲P̲U̲T̲ ̲C̲I̲F̲)̲(̲4̲.̲1̲.̲5̲.̲3̲)̲

                        D̲I̲S̲M̲(̲I̲N̲P̲U̲T̲ ̲C̲I̲F̲,̲S̲A̲V̲E̲)̲(̲4̲.̲1̲.̲5̲.̲3̲)̲

CONTINUE (4.2.2.4.12-16)








              Figure 4.2.2.4.12-15


   SEND ̲RI ̲TO ̲PRINT? S̲E̲N̲D̲ ̲T̲O̲ ̲P̲R̲I̲N̲T̲E̲R̲(̲R̲I̲ ̲A̲S̲S̲)̲(̲4̲.̲2̲.̲2̲.̲6̲.̲2̲4̲)̲

                     T̲E̲P̲ ̲C̲L̲O̲S̲E̲ ̲V̲I̲E̲W̲ ̲(̲I̲N̲P̲U̲T̲ ̲C̲I̲F̲)̲(̲4̲.̲2̲.̲2̲.̲6̲.̲2̲6̲)̲

                     T̲E̲P̲ ̲C̲L̲O̲S̲E̲ ̲V̲I̲E̲W̲(̲O̲U̲T̲P̲U̲T̲ ̲C̲I̲F̲)̲(̲4̲.̲2̲.̲2̲.̲6̲.̲2̲6̲)̲

                     S̲E̲N̲D̲ ̲S̲E̲R̲V̲I̲C̲E̲D̲ ̲M̲S̲G̲ ̲T̲O̲ ̲T̲H̲P̲(̲O̲U̲T̲P̲U̲T̲
                     ̲C̲I̲F̲,̲R̲I̲A̲S̲S̲)̲
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 (̲4̲.̲2̲.̲2̲.̲6̲.̲1̲9̲)̲

                     D̲I̲S̲M̲(̲O̲U̲T̲P̲U̲T̲ ̲C̲I̲F̲)̲(̲4̲.̲1̲.̲5̲.̲3̲)̲

                     D̲I̲S̲M̲(̲I̲N̲P̲U̲T̲ ̲C̲I̲F̲)̲(̲4̲.̲1̲.̲5̲.̲3̲)̲

   OPEN?    T̲E̲P̲ ̲O̲P̲E̲N̲ ̲V̲I̲E̲W̲(̲I̲N̲P̲U̲T̲ ̲C̲I̲F̲)̲(̲4̲.̲2̲.̲2̲.̲6̲.̲2̲3̲)̲

            U̲P̲D̲A̲T̲E̲ ̲V̲D̲U̲ ̲H̲E̲A̲D̲E̲R̲(̲T̲E̲R̲M̲I̲N̲A̲L̲ ̲T̲E̲X̲T̲ ̲F̲I̲E̲L̲D̲,̲C̲U̲R̲R̲E̲N̲T̲
            ̲C̲L̲A̲S̲S̲)
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 (̲4̲.̲2̲.̲2̲.̲6̲.̲1̲8̲)̲


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


   END CASE


   END






















              Figure 4.2.2.4.12-16 


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̲

         MSOS ̲SUBPROCESS ̲SINGLE ̲CAP     ref. CPS/DBD/001
         MSOS ̲SUBPROCESS ̲GROUP ̲CAP      ref. CPS/DBD/001
         SVUP ̲MSOS ̲MDOS ̲SYSTEM ̲Q ̲GROUP  ref. CPS/DBD/001
         FORMAT ̲ID ̲TYPES                                         ref.
                                                                 CPS/DBD/001
         QEL ̲REFERENCE                                           ref.
                                                                 CPS/DBD/001
         MSO ̲RECV ̲QUEUE ̲TYPE            ref. 4.1.4
         QEL ̲ATTRIBUTES                                          ref.
                                                                 CPS/DBD/001
         QUEUE ̲REFERENCE                                         ref.
                                                                 CPS/DBD/001
         SEND ̲PARAMS                                             ref.
                                                                 CPS/DBD/001
         VIEW ̲REFERENCE                                          ref.
                                                                 CPS/DBD/001
         FIELD ̲DESCRIPTOR ̲TYPE          ref. CPS/DBD/001
         PRECEDENCE ̲TYPE                                         ref.
                                                                 CPS/DBD/001
         MSOS ̲CO ̲OP ̲TYPE                                         ref.
                                                                 4.1.4
         CLASSIFICATION ̲TYPE            ref. CPS/DBD/001
         BUFFER ̲LIST ̲ELEMENT            ref. CPS/DBD/001
         IDENT ̲TYPE                                              ref.
                                                                 4.1.4
         VDU ̲SUPV ̲LOG ̲TYPE                                       ref.
                                                                 CPS/DBD/001
         EXIT ̲CAUSE                                              ref.
                                                                 CPS/DBD/001

      b) S̲E̲F̲C̲O̲ ̲C̲O̲M̲M̲O̲N̲ ̲T̲Y̲P̲E̲S̲

         TYPE CURSOR ̲SPLIT = (HEADER,FORMAT,RETURN,NO
         ̲SPLIT)

         TYPE ERROR ̲NO=INTEGER          RANGE 1..99

         TYPE MSO ̲CC=(Q ̲EMPTY,RECV ̲NEXT,RECV ̲OK,NOK,TOK)

         SEQ ̲REC ̲TYPE=RECORD

               SEQ ̲KEY:                                          SEQ
                                                                 ̲KEY
                                                                 ̲TYPE

               MASK ̲1:                                           FC
                                                                 ̲KEY
                                                                 ̲MASK
                                                                 ̲TYPE

               MASK ̲2:                                           FC
                                                                 ̲KEY
                                                                 ̲MASK
                                                                 ̲TYPE

               SAR:                                              MSOS
                                                                 ̲STORAGE
                                                                 ̲TYPE

               STP:                                              MSOS
                                                                 ̲STATISTIC
                                                                 ̲TYPE



               LOG:                                              MSOS
                                                                 ̲LOG
                                                                 ̲TYPE

               STATUS:                                           MSOS
                                                                 ̲STATUS
                                                                 ̲TYPE

               FUNCTION:                                         SEQ
                                                                 ̲FUNCTION
                                                                 ̲TYPE

               ACCOUNT:                                          ACCOUNT
                                                                 ̲TYPE

               CURSOR:                                           MSOS
                                                                 ̲CURSOR
                                                                 ̲TYPE

               SEDIA ̲CMD:                                        SEFCO
                                                                 ̲SEDIA
                                                                 ̲CMD
                                                                 ̲TYPE

               SEDIA ̲FORMAT:            FORMAT ̲ID ̲TYPES

               NEW ̲FORMAT:                                       SEQ
                                                                 ̲FORMAT
                                                                 ̲NO
                                                                 ̲TYPE


         END RECORD


         SEQ ̲KEY ̲TYPE=  RECORD

                        FORMAT: SEQ ̲FORMAT ̲NO ̲TYPE

                        CODE:   SEQ ̲CODE ̲NO ̲TYPE

                        END



   TYPE HEADER ̲TEXT ̲TYPE= (FOR ̲GARBLE ̲CORRECT, INSPECTION,
                                        FOR ̲RI ̲ASSIGN
                                        ̲READDRESS ̲RERUNNING,
                                        TRANSMISSION
                                        ̲CATALOGUE,
                                        SYSTEM ̲CATALOGUE,
                                        CONTINUE ̲PLAIN,CONTINUE
                                        ̲ABB ̲PLAIN,
                                        CONTINUE ̲ABB
                                        ̲SER,SERVICE
                                        ̲MSG ̲STATUS,
                                        SERVICE ̲MSG
                                        ̲DELETION)



         TYPE MSOS ̲STORAGE=(NO ̲STORAGE,STORAGE)

         TYPE STATISTIC ̲TYPE=INTEGER

         TYPE MSOS ̲LOG ̲TYPE=(NO ̲LOG,LOG)

         TYPE MSOS ̲STATUS ̲TYPE=(NO ̲STATUS,OUTGOING
         2,OUTGOING ̲
                                                  
      STATUS)

         TYPE ACCOUNT ̲TYPE=RECORD
                           EXIT: EXIT ̲CAUSE
                         STATUS: STATUS ̲TYPE
                         FORMAT: FORMAT ̲ID ̲TYPES
                         END

         TYPE STATUS ̲TYPE=(DUMMY,MSG ̲DEFFERED,MSG ̲DELETED,
                                             SEND ̲TO
 ̲THP)

   TYPE  MSOS ̲CURSOR ̲TYPE=RECORD
                         SPLIT:CURSOR ̲SPLIT ̲TYPE
                         POSITION:FIELD ̲DESCRIPTOR
 ̲TYPE
                         END

   TYPE  CURSOR ̲SPLIT ̲TYPE=(NO ̲SPLIT,HEADER,FORMAT,RETURN)

   TYPE  MSG ̲TYPE=(RI ̲ASS,RERUN,SERVICE,GARBLE,READ
         INSPECT)

   TYPE VUS ̲UMAM ̲REQUEST = (EDIT,DELETE,SERVICE.MSG
   ̲STATUS)

   TYPE EDIT ̲REC ̲TYPE = (PLAIN ̲SUC,ABB ̲SVC,PLABB ̲SVC)

   TYPE MSO ̲RETR ̲REQUEST = (RERUNS,READDR)









                   to figurer 



TYPE SEQ ̲FUNCTION ̲TYPE =(START ̲PREP, PREP ̲CLASS ̲SAVE,

                       PREP ̲NEW ̲HEADER, PR ̲DI ̲CLOSE,
                       RERUN ̲SAR ̲REQ, READDR ̲SAR ̲REQ,
                       PREP ̲CANCEL, IMQ ̲OMQ ̲CANCEL,
                       RESP ̲CONT ̲CANCEL, CONT ̲CLOSE,
                       SERVICE ̲ACK, PREP ̲SAVE, PREP ̲NEW ̲
                       TEXT,SEND ̲TO ̲THP, SEND ̲GARBLE ̲TO ̲THP,
                       DELETE ̲REQ, DIOM ̲REQ, RECV ̲START,
                       KEEP ̲PRESENT, DELETE ̲PRESENT, OPEN
                       CTMP ̲START1, CTMP ̲START2, CTMP ̲START3,
                       CTMP ̲UMAM ̲ERROR, CTMP ̲CONT, CATA ̲CANCEL,
                       OPEN, CTMP ̲CLASS ̲SAVE, CTMP ̲NEW ̲HEADER,
                       CTMP ̲NEW ̲TEXT, RETURN ̲STOP ̲BLOCK,
                       SEND ̲READ ̲TO ̲THP, SEND ̲RIASS ̲TO ̲THP,
                       OTHER ̲PRINT,S ̲PRINT, RETURN ̲STOP,
                       TRANS ̲NO, RI ̲ENTER, RE ̲ENTER, GA ̲ENTER,
                       SC ̲CATA ̲PRINT, STOP,SEND ̲INSPECTED TO ̲THP,
                       SEND ̲RERUN ̲TO ̲THP, IN ̲MODE,
                       SEND ̲READ ̲TO ̲PRINT, SEND ̲RI ̲TO ̲PRINT,
                       LOG ̲CANCEL)


TYPE SEQ ̲CODE ̲NO = (START, OUTPUT ̲FORMAT ̲CC,M ̲CANCEL, CANCEL ̲CC,

                       RETURN ̲TO ̲MENU,CLOSE ̲DOWN,CLOSE ̲DOWN ̲CC,
                       STOP ̲USER, BLOCK ̲USER, CLEAR ̲VDU,
                       KEEP ̲PRESENT, DELETE ̲PRESENT, KEYA ̲VALID,
                       KEYB ̲VALID, KEYE ̲VALID, VAL ̲ERROR, 
                       INPUT ̲VAL ̲CC, OUTPUT ̲DATA ̲CC, M ̲PRINT,
                       ACK ̲CON, SEND ̲CC, DEFER ̲CC,PRINT ̲VAL,
                       UMAM ̲ERROR ̲RESP, ENTER, EDIT ̲REQ,
                       DEF ̲SUS, SEQ ̲OFF ̲NOT, SEQ ̲ERROR)


TYPE ANQ ̲OP ̲PENDING = (M ̲PLAIN ̲SVC ̲EDIT, M ̲ABB ̲SVC ̲EDIT,

                       M ̲PLAB ̲SVC ̲EDIT, M ̲MSG ̲STATUS ̲REQ,
                       M ̲DELETE ̲REQ, M ̲PLABB ̲SVC ̲ACK,
                       M ̲ABB ̲SVC ̲ACK, M ̲LOG ̲ACK, M ̲GARBLE,
                       M ̲RI, NO ̲PENDING)



TYPE SEQ ̲FORMAT ̲NO = (MENU-1, MENU-2, MENU-3, PRPF-1,PRPF-2,PRPF-3

                 PRAS ̲1, PRAS-2, PRAS-3, PRAP-1, PRAP ̲2, PRAP-3,
                 CSMP-1, CSMP-2, CSMP-3, CONTI ̲PREPA, CPFP-2,
                 CPFP-3, CAPP ̲CONT, CAPP-1, CAPP-2, CAPP-3,
                 CASP ̲CONT, CASP-1, CASP-2, CASP-3, RETR ̲KEJA,
                 RETR ̲KEYB, RETR ̲KEYE, RERN, ON ̲RERUN, ON ̲READ
                 ON ̲READD, RI ̲ASS, RI ̲DEC, GA ̲80, GA ̲69,
                 IN ̲80, IN ̲&), RESP, READ, READD, OFF ̲CATALOG,
                 RERUN, SC ̲RI ̲ASS, KEYA, KEYB, KEYE, ROPLAC,
                 ROPLACN, SYS, ROPLASEC, RDPLASENC, RRNPLADATAC,
                 RRNPLADATANC, RRNPLNC, RRNPLADANC, RRNPLDRC,
                 RRNPLDRNR, RRNPLNCRE, RRNPLNCNR, RRNABBRE,
                 RRNABBNRA, RRNABBSENC, RRNABBRE, RRNABBNRE,
                 RRNSC, RE ̲SYS ̲CATALGUE,RRN ̲SYS ̲CATALOGUE,
                 RE ̲TRANS ̲CATALOGUE, RRN ̲TRANS ̲CATALOGUE,
                 MSG ̲STATUS, OMS, DELM, PLAIN ̲REA,PLAIN,
                 PLAIN ̲NO ̲CPS, PLAIN ̲CPS ̲NO ̲REA, CRYPT ̲CPS ̲READ,
…02…CRYPT ̲NO ̲READ, CRYPT ̲NO ̲CPS ̲READ, CRYPT ̲NO ̲
                 CPS ̲NO ̲READ, SCARS ̲NO ̲CPS, ABB ̲NO ̲CPS ̲READ,
                 ABB ̲NONE, CODE ̲NO ̲CPS ̲REA, CODE ̲NO,
                 PLAINS ̲CPS ̲READ, PLAINS ̲CPS, PLAINS ̲NO ̲CPS,
                 PLAINS ̲NO, SERVICE ̲NO, SERVICE ̲CPS,
                 SERVICE ̲REA, SERVICE ̲NONE, ABBSER ̲NO ̲REA,
                 ABBSER ̲NONE)


TYPE MSO ̲FC ̲KEY ̲TYPE = (ENTER,CANCEL,SUSPEND,RETURN ̲TO ̲CURRENT MENU

                 RETURN, COMMAND, KEEP ̲AND ̲PRESENT ̲NEXT,
                 DELETE ̲AND ̲PRESENT ̲NEXT, PRINT, INSERT ̲LINES,
                 DELETE ̲LINES, DISPLAY ̲ERROR ̲MSG)


TYPE FC ̲KEY ̲MASK ̲TYPE = LONG



         c)  S̲E̲F̲C̲O̲ ̲L̲o̲c̲a̲l̲ ̲D̲a̲t̲a̲

         VAR CMD ̲RESP ̲AREA=ARRAY(1..73)OF CHAR

         VAR OUTPUT ̲FLAG:                    BOOLEAN

         VAR SPLIT ̲DIGIT:                    INTEGER

         VAR CURSOR ̲RECORD ̲1:FIELD ̲DESCRIPTOR ̲TYPE

         VAR LIST:BUFFER ̲LIST ̲ELEMENT

         VAR MSO ̲RECV ̲ATTR:QEL ̲ATTRIBUTES

         VAR RESPONSE ̲TEXT ̲FLAG:             BOOLEAN

         VAR IN ̲LINE ̲FLAG:                   BOOLEAN

         VAR OUT ̲LINE ̲FLAG:                  BOOLEAN

         VAR CMD ̲FLAG:                       BOOLEAN

         VAR OUTPUT ̲FLAG:                    BOOLEAN

         VAR SEQUENCE ̲FORMAT ̲NO: SEQ ̲FORMAT ̲NO ̲TYPE

         VAR SEQUENCE ̲CODE ̲NO: SEQ ̲CODE ̲NO ̲TYPE

         VAR RECV ̲MAIN:                      BOOLEAN

         VAR START ̲FLAG                      BOOLEAN

         VAR CLOSE ̲DOWN ̲FLAG:                BOOLEAN

         VAR ANQ ̲ATTR: QEL ̲ATTRIBUTES

         VAR ANQ ̲QEL: QELEMENT ̲REFERENCE

         CONST CMD ̲RESP ̲AREA ̲SIZE=69 CHAR

         VAR MSO ̲FC ̲KEY:                     MSO ̲FC ̲KEY ̲TYPE

         VAR CURRENT ̲SUBQ:                   PRECEDENCE ̲TYPE

         VAR CURRENT ̲MAINQ:                  MSO ̲RECV ̲QUEUE
                                             ̲TYPE



         VAR ANS ̲FLAG:                       BOOLEAN

         VAR CURSOR ̲RECORD ̲1:FIELD ̲DESCRIPTOR ̲TYPE

         VAR INPUT ̲CIF: VIEW ̲REFERENCE

         VAR NEW ̲CIF:VIEW ̲REFERENCE

         VAR OUTPUT ̲CIF:VIEW ̲REFERENCE

         VAR OLD ̲CIF:VIEW ̲REFERENCE

         VAR HEADER ̲TEXT:HEADER ̲TEXT ̲TYPE

         VAR PROBLEM ̲NO:                     INTEGER

         VAR CC : MSO ̲CC

         VAR CANCEL ̲TIME:                    INTEGER

         VAR REQ ̲QEL:                        QELEMENT ̲REFERENCE

         VAR EXP ̲SEDIA ̲CMD:                  INTEGER

         VAR FREE ̲SEFCO ̲OP ̲SET: ARRAY(SEFCO ̲OP...SEFCO ̲MAX ̲OP)
                                           OF MSOS ̲CO ̲OP ̲TYPE)

         CONST SEFCO ̲MAX ̲OP = 3

         VAR SEDIA ̲CMD ̲CNT:                  INTEGER

         VAR NO ̲OF ̲USED ̲SEFCO ̲OP:            INTEGER

         VAR ITREF:                          INTEGER

         VAR PUNCH ̲BIT:                      BOOLEAN

         VAR CLEAR ̲BIT:                      BOOLEAN

         VAR PRIS ̲Q ̲REF:                     QUEUE ̲REFERENCE

         CONST PRIS ̲CMDQ=                    MSOS ̲PRIS ̲CMDQ

         CONST PRIS ̲PRINTQ=                  MSOS ̲PRIS ̲PRINTQ

         CONST PRIS ̲PRINTQ ̲A=                MSOS ̲PRIS ̲PRINTQ
                                             ̲A

         CONST PRIS ̲CMDQ ̲A=                  MSOS ̲PRIS ̲CMDQ
                                             ̲A

         CONST UMAM ̲COLLECT= MSOS ̲SYS ̲Q SHIFTLL8+SVUP ̲UMAM ̲COLQ



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̲

         None

         RO-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/OO1
             FCDB ̲INDEX ̲TYPE            ref. CPS/DBD/OO1
             FILE ̲SYSTEM ̲NAME ̲TYPE      ref. CPS/DBD/OO1


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

         Refer figure 4.2.2.6.1-1 


   VDU ̲INIT


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

         ERROR?  ANALYSE ERROR (CC,O)

         OK?

   END CASE

   MOVE FORMAT AREA CONSTANTS TO VDU ̲AREA

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

         ERROR?      ANALYZE ̲ERROR(CC,O)

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

         OK?

   END CASE
















                Fig. 4.2.2.6.1-1


4.2.4.6.2    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



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̲ 


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

             a) SET ̲CURSOR (SPLIT: CURSOR ̲SPLIT ̲TYPE)

             b) SET ̲CURSOR (R6,R7)

             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)
             R7      SPLIT

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

             None
             RO-R7







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̲

             CURSOR ̲SPLIT ̲TYPE          ref. 4.2.2.5
             IOC ̲FIELD ̲DESCRIPTION ̲TYPE ref. CPS/DBD/OO1

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

             FORMAT ̲IFCB                                         ref.
                                                                 4.1.4
             SPLIT ̲DIGIT                                         ref.
                                                                 4.2.2.5
             HEADER ̲IFCB                                         ref:
                                                                 4.1.4
             VDU ̲SPLIT ̲FLAG (m)         ref. 4.1.4
             CURSOR ̲RECORD ̲1(m)         ref. 4.2.2.5

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

         VAR CURSOR ̲ON ̲CMD ̲RECORD:IOC ̲FIELD ̲DESCRIPTOR
             ̲TYPE

         INIT    CURSOR ̲ON ̲CMD ̲RECORD. LINE ̲NO=2

             CURSOR ̲ON ̲CMD ̲RECORD. FIELD ̲NO=1

             CURSOR ̲ON ̲CMD ̲RECORD. INCARNATION ̲NO=1



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

             Depending on CURSOR ̲SPLIT,CURSOR ̲ON ̲CMD
             ̲RECORD
             or CURSOR ̲RECORD ̲1 is used in a SET ̲CURSOR
             ̲
             POSITION call to FORMAT HANDLER


   SET CURSOR

   CASE SPLIT OF CURSOR ̲SPLIT ̲TYPE

         HEADER? SPLIT ̲DIGIT=HEADER ̲IFCB

                 CURSOR ̲POSITION=ADDR(CURSOR ̲ON ̲CMD
                 ̲RECORD)

         RETURN? CURSOR ̲POSITION=ADDR(CURSOR ̲RECORD
         ̲1)

         FORMAT? SPLIT ̲DIGIT=FORMAT ̲IFCB

                 CURSOR ̲POSITION=ADDR(CURSOR ̲RECORD
                 ̲1)

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

   END CASE

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


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

                 L1?-VDU ̲SPLIT ̲FLAG=TRUE

              END CASE

         OK?

   END CASE

   END SET CURSOR
















               Figure 4.2.2.6.2-1


4.2.2.6.3    M̲S̲O̲ ̲R̲E̲C̲V̲ ̲F̲I̲R̲S̲T̲



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


         This procedure receives the first item in the queue
         which is specified by the caller.



4.2.2.6.3.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)  MSO ̲RECV ̲FIRST(NEW ̲CIF:QEL ̲REFERENCE, CC:COMPLETION
             ̲CODE)

         b)  MSO ̲RECV ̲FIRST (R3,R6)

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

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

         R6          LINK                    (DEST)

         R̲E̲T̲U̲R̲N̲ ̲R̲E̲G̲I̲S̲T̲E̲R̲

         R2          NEW ̲CIF
         R3          CC                      (RECV ̲OK,Q ̲EMPTY,
                                             NOT ̲OPENED,RECV
                                                           
 NEXT)

         RO ̲R1, R4 ̲C7                        (DEST)


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

             COROUTINE ̲SEMAPHORE             ref. CPS/DBD/OO1
             MSO ̲CC                          ref. 4.2.2.5
             MSOS ̲CO ̲OP ̲TYPE                 ref. 4.1.4
             OBJECT ̲TYPE                     ref. CPS/DBD/OO1
             MSO ̲RECV ̲QUEUE ̲TYPE             ref. 4.1.4
             IDENT ̲TYPE                      ref. 4.1.4
             QEL ̲REFERENCE                   ref. CPS/DBD/001
             CLASSIFICATION ̲TYPE             ref. CPS/DBD/001
             QUEUE ̲REFERENCE                 ref. CPS/DBD/001
             PRECEDENCE ̲TYPE                 ref. CPS/DBD/001
             QEL ̲ATTRIBUTES                  ref. CPS/DBD/001




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

             MSOS ̲ARRQ                                           ref.
                                                                 4.1.4
                                                                 
             MSOS ̲IMQ                                            ref.
                                                                 4.1.4
             MSOS ̲OMQ                                            ref.
                                                                 4.1.4
             Q ̲POINTER                           (m)             ref.
                                                                 4.1.4
             MSO ̲RECV ̲ATTR   (m)             ref. 4.2.2.5
             CURRENT ̲CLASS   (m)             ref. 4.1.4
             CURRENT ̲SUBQ    (m)             ref. 4.2.2.5
             CC              (m)             ref. 4.2.2.5
             NEW ̲CIF         (m)             ref. 4.2.2.5
             PREC ̲POINTER    (m)             ref. 4.1.4
             MSOS ̲S1         (m)             ref. 4.1.4
             OUT ̲CIF         (m)             ref. 4.1.4
             CURRENT ̲MAINQ                   ref. 4.2.2.5
             Q ̲REFERENCE (m)                 ref. 4.1.4
             SEVCO ̲OP (m)                    ref. 4.1.4

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


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

             The first QEL in a specified queue is
             received. If the
             user has access then the referenced CIF
             will be opened.



             MSO ̲RECV ̲FIRST

   CASE CURRENT ̲MAINQ OF MSO ̲RECV ̲QUEUE ̲TYPE

         OUTGOING ̲Q?- Q ̲REFERENCE.MAINQ = MSOS ̲IMQ,
                                                  
                                         Q ̲POINTER=INCQ
         INCOMING ̲Q?- Q ̲REFERENCE.MAINQ = MSOS ̲OMQ,
                                                  
                                         Q ̲POINTER=OUTQ
         ANSWER ̲Q?- Q ̲REFERENCE.MAINQ=MSOS ̲ARRQ

   END CASE

   Q ̲REFERENCE.SUBQ = CURRENT ̲SUBQ

   LOOP

         CASE RECEIVE ̲FIRST(Q ̲REFERENCE)(MSO ̲RECV ̲ATTR,OUT
         ̲QEL,
                                                                 SUBQUEUE,CC):ERROR
                                                                 OK

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

                        LA1?  CURRENT ̲SUBQ=SUBQUEUE

                                             CC=RECV
                                        ̲NEXT

                                             NEW ̲CIF=OUT
                                        ̲QEL

                        LA2?  CC=Q ̲EMPTY

                     END CASE

             OK?  CURRENT ̲SUBQ=SUBQUEUE

                 S̲E̲N̲D̲ ̲P̲R̲E̲C̲ ̲T̲O̲ ̲S̲E̲V̲C̲O̲ ̲(̲4̲.̲2̲.̲2̲.̲6̲.̲3̲-̲3̲)̲

                 C̲A̲L̲C̲U̲L̲A̲T̲E̲ ̲F̲O̲R̲M̲A̲T̲(̲M̲S̲O̲ ̲R̲E̲C̲V̲ ̲A̲T̲T̲R̲)̲(̲C̲C̲)̲(̲4̲.̲2̲.̲2̲.̲6̲.̲7̲)

                 CC EQ NOK? ̲D̲I̲S̲M̲ ̲(̲O̲U̲T̲ ̲Q̲E̲L̲,̲S̲A̲V̲E̲)̲(̲4̲.̲1̲.̲5̲.̲3̲)̲-CC=STOPPED

                 OBJECT ̲TYPE NE VIEW? CC=RECV ̲OK

                                                  
                                           UPDATE CURRENT
                                        ̲CLASS

                 O̲P̲E̲N̲ ̲R̲E̲C̲V̲ ̲V̲I̲E̲W̲ ̲(̲4̲.̲2̲.̲2̲.̲6̲.̲3̲-̲2̲)̲

         END CASE

         CC NE STOPPED?        EXIT LOOP

   END LOOP
               Figure 4.2.2.6.3-1 


                 OPEN ̲RECV ̲VIEW

   CASE OPEN ̲VIEW(OUT QEL) (CC): ERROR ̲OK

         ERROR? CASE ANALYSE ̲ERROR (CC,2,STOPPED,OPEN
         ̲NOT ̲ACCEPTED):
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 (LA1,LA2)

                 LA1?  D̲I̲S̲M̲(̲O̲U̲T̲ ̲Q̲E̲L̲,̲S̲A̲V̲E̲)̲(̲4̲.̲1̲.̲5̲.̲3̲)̲

                       CC=STOPPED

                 LA2?  T̲E̲P̲ ̲R̲E̲T̲U̲R̲N̲ ̲V̲I̲E̲W̲(̲O̲U̲T̲ ̲Q̲E̲L̲)̲

                       CC=NOT ̲OPENED

             END CASE

         OK? CC=RECV ̲OK

             UPDATE CURRENT ̲CLASS

   END CASE























               Figure 4.2.2.6.3-2


         SEND PREC TO SEVCO

         RECV ̲MAIN EQ FALSE?

         CASE CURRENT ̲SUBQ OF PRECEDENCE ̲TYPE

             SUPERFLASH

             FLASH? MOVE CURRENT ̲SUBQ TO SEVCO ̲OP.PARA1

                     MOVE SEFCO ̲IDENT TO SEVCO ̲OP.IDENT

                     MOVE SEND ̲ANTINOTIFICATION TO
                     SEVCO ̲OP.CMD

                     SIGNAL ̲OPSEM(MSOS ̲S1,SEVCO ̲OP)

             OTHERWISE?

         END CASE




























               Figure 4.2.2.6.3-3


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 convert
             the error ̲
             no into error/response message.


4.2.2.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 (ERROR ̲NO:ERROR
                 ̲NO ̲TYPE)

             b)  DISPLAY ̲ERROR ̲MSG (RO,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̲

             RO ERROR ̲MSG ̲NO            (DEST)

             R6 LINK                                             (DEST)

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

             None

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

             INTERNAL ̲ERROR ̲TYPE        ref. 4.1.4

             TABLE ̲ID ̲TYPE              ref. CPS/DBD/OO1

             ERROR ̲NO ̲TYPE              ref. 4.2.2.5



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

             INT ̲ERROR ̲INF (m)          ref. 4.1.4.

             OUTPUT ̲FLAG   (m)          ref. 4.2.2.5

             HEADER ̲IFCB                                         ref.
                                                                 4.1.4

             CIF ̲BUFFER    (m)          ref. 4.1.4

             CMD ̲RESP ̲AREA (m)          ref. 4.2.2.5

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

             CONST ERROR ̲MASK=FFFF

             TYPE ERROR ̲PARAM = RECORD

                                               CMD:
                                         ERROR ̲NO ̲TYPE
                                               INFO:
                                        INTEGER
                                               LINK:
                                        POINTER
                                               END


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


             A call to TMP is issued, and the response
             test is
             placed in CMD ̲RESP ̲AREA and the common
             procedure
             DISPLAY ̲VDU ̲FIELD (4.2.2.6.5) is called


   DISPLAY ̲ERROR ̲MSG


   KEY COUNT=1

   EQUIVALENCE(CIF ̲BUFFER(1),ERROR ̲PARAM:ERROR ̲PARAM
   ̲TYPE)

   ERROR ̲PARAM.CMD=CMD ̲RESP ̲AREA.CMD

   CASE SEARCH ̲PRIMARY ̲KEY(ERROR ̲TABLE,ERROR ̲PARAM,KEY
   ̲COUNT,
                                        SIZE(CMD ̲RESP
                                        ̲AREA),ERROR
                                        ̲MASK)

                                        (CMD ̲RESP ̲AREA,CC):ERROR
                                        ̲OK

         ERROR? ANALYSE ̲ERROR (CC,O)

         OK?

   END CASE

   ERROR ̲PARAM.INFO EQ O? T̲E̲P̲ ̲I̲N̲T̲E̲R̲N̲A̲L̲ ̲E̲R̲R̲O̲R̲(̲C̲O̲N̲T̲)̲(̲4̲.̲1̲.̲5̲.̲2̲)̲


   D̲I̲S̲P̲L̲A̲Y̲ ̲V̲D̲U̲ ̲F̲I̲E̲L̲D̲(̲R̲E̲S̲P̲ ̲L̲I̲N̲E̲,̲E̲R̲R̲O̲R̲ ̲T̲E̲X̲T̲)̲(̲4̲.̲2̲.̲2̲.̲6̲.̲5̲)̲

   SET OUTPUT ̲FLAG=TRUE

   END DISPAY ̲ERROR ̲MSG



















               Figure 4.2.2.6.4-1


4.2.2.6.5    D̲I̲S̲P̲L̲A̲Y̲ ̲V̲D̲U̲ ̲F̲I̲E̲L̲D̲ 



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

             The purpose of the procedure is to display
             error/
             response messages.


4.2.2.6.5.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 ̲VDU ̲FIELD (LINE ̲NO: OUTPUT ̲LINE
                                              FIELD
                                        ̲NO: OUTPUT
                                        ̲FIELD
                                               ADDRESS:
                                        POINTER TO
                                        OUTPUT
                                                  SIZE:
                                        NO ̲OF ̲CHARACTERS)

         b)  DISPLAY ̲VDU ̲FIELD(RO,R1,R2,R3,R6)


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

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

             RO  LINE ̲NO                                         (DEST)

             R1  FIELD ̲NO               (DEST)

             R2  POINTER TO OUTPUT      (DEST)

             R3  SIZE OF OUTPUT         (DEST)

             R6  LINK                                            (DEST)


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

             RO-R7                                               (DEST)




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


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

             BUFFER ̲LIST ̲ELEMENT        ref. CPS/DBD/001
             IOC ̲FIELD ̲DESCRIPTOR ̲TYPE  ref. CPS/DBD/OO1
             HEADER ̲TEXT ̲TYPE           ref. 4.2.2.5


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

             HEADER ̲IFCB                                         ref.
                                                                 4.1.4

             FIELD ̲DESCRIP  (m)         ref. 4.1.4

             VDU ̲SPLIT ̲FLAG (m)         ref. 4.1.4

             CMD ̲RESP ̲AREA  (m)         ref. 4.2.2.5

             HEADER ̲TEXT                                         ref.
                                                                 4.2.2.5


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

             CONST MAX ̲DISP ̲FIELDS=69

             CONST HEADER ̲INCAR=1

             VAR VDU ̲HEADER ̲BLE=BUFFER ̲LIST ̲ELEMENT



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

             A field list and a buffer list are assigned
             values
             and a call to Format Handler is issued.


   DISPLAY ̲VDU ̲FIELD

   FIELD ̲DESCRIP.LINE ̲NO=OUTPUT ̲LINE

   FIELD ̲DESCRIP.FIELD ̲NO=OUTPUT ̲FIELD

   FIELD ̲DESCRIP.INFORMATION ̲NO=HEADER ̲INCAR.

   VDU ̲HEADER ̲BLE.ADDR=ADDRESS

   VDU ̲HEADER ̲BLE.BYTE ̲SIZE=SIZE

   CASE FIELDS ̲OUTPUT(HEADER ̲IFCB,FIELD ̲DESCRIP.

                                        VDU ̲HEADER
                                        ̲BLE,MAX ̲DISP
                                        ̲FIELDS): ERROR
                                        ̲OK

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

                 L1? SET VDU ̲SPLIT ̲FLAG=TRUE

             END CASE

         OK?

   END CASE

   END DISPLAY ̲VDU ̲FIELD




















               Figure 4.2.2.6.5-1


4.2.2.6.6    M̲S̲O̲ ̲R̲E̲C̲V̲ ̲N̲E̲X̲T̲


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

             Receives the QEL next to one specified
             as input.
             If subqueue is empty and a mainqueue is
             specified,
             then the first item in the next subqueue
             is received.


4.2.2.6.6.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)  MSO ̲RECV ̲NEXT

                 (KEEP:                                          BOOLEAN
                 RECV ̲QEL:              QEL ̲REFERENCE)
                 (OUT ̲QEL:              QEL ̲REFERENCE
                 CC:                                             MSO
                                                                 ̲CC)

         b)  MSO ̲RECV ̲NEXT(R0,R1,R2,R3,R6)


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

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

                 R0  KEEP               (DEST)

                 R1 RECV ̲QEL            (DEST)

                 R6 LINK                                         (DEST)


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

             R2 OUT QEL

             R3 CC (RECV ̲OK,Q ̲EMPTY,NOT ̲OPENED)

             R0-R1, R4-R7               (DEST)




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

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

             CLASSIFICATION ̲TYPE        ref. CPS/DBD/001
             COROUTINE ̲SEMAPHORE        ref. CPS/DBD/OO1
             IDENT ̲TYPE                                          ref.
                                                                 4.1.4
             MSOS ̲CO ̲OP ̲TYPE            ref. 4.1.4
             QEL ̲REFERENCE              ref. CPS/DBD/OO1
             OBJECT TYPE                                         ref.
                                                                 CPS/DBD/OO1
             QEL ̲ATTRIBUTES             ref. CPS/DBD/OO1
             MSO ̲CC                                              ref.
                                                                 4.2.2.5
             PRECEDENCE ̲TYPE            ref. CPS/DBD/001


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

             MSOS ̲S1 (m)                                         ref.
                                                                 4.1.4
             SEVCO ̲OP (m)               ref. 4.1.4
             MSO ̲RECV ̲ATTR (m)          ref. 4.2.2.5
             RECV ̲MAIN                                           ref.
                                                                 4.2.2.5
             CURRENT ̲CLASS (m)          ref. 4.1.4.
             CURRENT ̲SUBQ (m)           ref. 4.2.2.5
             CC (m)                                              ref.
                                                                 4.2.2.5


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

             VAR DISMANTLE:             BOOLEAN

             VAR PRIM:                                           BOOLEAN

             CONST MAX ̲SUBQ=6


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

             A RECEIVE ̲NEXT ̲QEL call is issued. If
             completion code is ERROR the qelement
             is returned and an attempt to receive
             next queue element is performed. If completion
             code is OK the received view is opened.
             If the subqueue from which the item was
             taken is of precedence flash or above
             SEVCO is signalled in order to distribute
             an antiflash notification.


   MSO ̲RECV ̲NEXT

   DISMANT=FALSE

   PRIM=FALSE

   LOOP

         CASE RECEIVE ̲NEXT ̲QEL(KEEP,RECV ̲QEL)
                                        (OUT ̲QEL,MSO
                                        ̲RECV ̲ATTR,CC):ERROR.OK

             ERROR? CASE ̲ANALYSE ̲ERROR (CC,2,QEL ̲PROFILE
             ̲CHECK,
                                                  
                                            SUBQUEUE
                                        ̲EMPTY):(L1,L2)

                                        L1? DISMANT
                                        EQ TRUE? T̲E̲P̲
                                        ̲R̲E̲T̲U̲R̲N̲ ̲V̲I̲E̲W̲
                                                                 
                                                                 
                                                                 (̲R̲E̲C̲V̲
                                                                 ̲Q̲E̲L̲)̲(̲4̲.̲2̲.̲2̲.̲6̲-̲1̲2̲)̲

                                            DISMANT=TRUE

                                            RECV ̲QEL=OUT
                                        ̲QEL

                                            CC=RECV
                                        ̲NEXT

                                        L2? DISMANT
                                        EQ TRUE? T̲E̲P̲
                                        ̲R̲E̲T̲U̲R̲N̲ ̲V̲I̲E̲W̲
                                                  
                                                  (̲R̲E̲C̲V̲
                                        ̲Q̲E̲L̲)̲ ̲(̲4̲.̲2̲.̲2̲.̲6̲.̲1̲2̲)̲

                                                                 
                                                                 
                                                                 DISMANT
                                                                 =
                                                                 FALSE

                                            RECV ̲MAIN
                                        EQ TRUE? C̲O̲N̲T̲I̲N̲U̲E̲
                                        ̲R̲E̲C̲E̲P̲T̲I̲O̲N̲
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 (̲4̲.̲2̲.̲2̲.̲6̲.̲6̲-̲3̲)̲
                                                                 

                                            CC=Q ̲EMPTY

                     END CASE

                     PRIM EQ FALSE?- KEEP EQ FALSE
                     - D̲I̲S̲M̲(̲R̲E̲C̲V̲
                                                                 Q̲E̲L̲,̲S̲A̲V̲E̲)̲(̲4̲.̲1̲.̲5̲.̲3̲)̲

                                                  
                                        T̲E̲P̲ ̲R̲E̲T̲U̲R̲N̲
                                        ̲V̲I̲E̲W̲(̲R̲E̲C̲V̲ ̲Q̲E̲L̲)̲
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 (̲4̲.̲2̲.̲2̲.̲6̲.̲1̲2̲)̲

             OK? O̲U̲T̲ ̲F̲O̲R̲M̲A̲T̲ ̲A̲N̲A̲L̲Y̲S̲E̲(̲4̲.̲2̲.̲2̲.̲6̲.̲6̲-̲2̲)̲

         END CASE

         CC NE RECV ̲NEXT? -     EXIT LOOP

         PRIM=TRUE

   END LOOP…01…Figure 4.2.2.6.6-1


   OUTFORMAT ̲ANALYSE

   C̲A̲L̲C̲U̲L̲A̲T̲E̲ ̲F̲O̲R̲M̲A̲T̲ ̲(̲M̲S̲O̲ ̲R̲E̲C̲V̲ ̲A̲T̲T̲R̲)̲(̲C̲C̲)̲(̲4̲.̲2̲.̲2̲.̲6̲.̲7̲)̲

   CC EQ NOK? D̲I̲S̲M̲(̲O̲U̲T̲ ̲Q̲E̲L̲,̲S̲A̲V̲E̲)̲(̲4̲.̲1̲.̲5̲.̲3̲)̲

               CC=RECV ̲NEXT

   PRIM EQ FALSE? KEEP EQ TRUE? D̲I̲S̲M̲(̲R̲E̲C̲V̲ ̲Q̲E̲L̲,̲S̲A̲V̲E̲)̲(̲4̲.̲1̲.̲5̲.̲3̲)̲

                   T̲E̲P̲ ̲R̲E̲T̲U̲R̲N̲ ̲V̲I̲E̲W̲(̲R̲E̲C̲V̲ ̲Q̲E̲L̲)̲(̲4̲.̲2̲.̲2̲.̲6̲.̲1̲2̲)̲

   OBJECT ̲TYPE NE VIEW? D̲I̲S̲M̲A̲N̲T̲ ̲E̲Q̲ ̲T̲R̲U̲E̲?̲ ̲T̲E̲P̲ ̲R̲E̲T̲U̲R̲N̲
   ̲V̲I̲E̲W̲ ̲(̲R̲E̲C̲V̲ ̲Q̲E̲L̲)̲
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 4̲.̲2̲.̲2̲.̲6̲.̲1̲2̲)̲

                                        CC=RECV ̲OK

                                        UPDATE CURRENT
                                        ̲CLASS

   O̲P̲E̲N̲ ̲R̲E̲C̲E̲I̲V̲E̲D̲ ̲V̲I̲E̲W̲ ̲(̲4̲.̲2̲.̲2̲.̲6̲.̲6̲-̲4̲)̲


   END OUTFORMAT ̲ANALYSE
























               Figure 4.2.2.6.6-2


             CONTINUE ̲RECEPTION


   LOOP

         CURRENT ̲SUBQ EQ MAX ̲SUBQUEUE?-CC=Q ̲EMPTY

                                                  
                                         CC EXIT LOOP

         INCREMENT CURRENT ̲SUBQ

         M̲S̲O̲ ̲R̲E̲C̲V̲ ̲F̲I̲R̲S̲T̲ ̲(̲O̲U̲T̲ ̲Q̲E̲L̲,̲R̲E̲C̲V̲ ̲C̲C̲(̲4̲.̲2̲.̲2̲.̲6̲.̲3̲)̲)̲

         CC  NE  Q ̲EMPTY?    EXIT LOOP

   END LOOP

   RECV ̲CC EQ RECV ̲NEXT?     DISMANT=TRUE

   CC=RECV ̲CC                                RECV ̲QEL=OUT
                                        ̲QEL

                                             CC=RECV
                                        ̲NEXT


   END






















               Figure 4.2.2.6.6.-3


             OPEN RECEIVED VIEW

   CASE OPEN ̲VIEW(OUT ̲QEL)(CC):ERROR ̲OK

         ERROR?-   CASE ANALYSE ̲ERROR(CC,2,STOPPED,OPEN
         ̲NOT ̲ACCEPTED):
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 
                                                                 (LA1,LA2)

                    LA1?-CC=RECV ̲NEXT

                                        D̲I̲S̲M̲(̲O̲U̲T̲ ̲Q̲E̲L̲,̲S̲A̲V̲E̲)̲
                                        ̲(̲4̲.̲1̲.̲5̲.̲3̲)̲

                    LA2?-DISMANT EQ TRUE? - T̲E̲P̲ ̲R̲E̲T̲U̲R̲N̲
                 ̲V̲I̲E̲W̲(̲R̲E̲C̲V̲ ̲Q̲E̲L̲)̲

                                        CC=NOT ̲OPENED

                                        T̲E̲P̲ ̲R̲E̲T̲U̲R̲N̲
                                        ̲V̲I̲E̲W̲ ̲(̲O̲U̲T̲ ̲Q̲E̲L̲)̲
                                        ̲(̲4̲.̲2̲.̲2̲.̲6̲.̲1̲2̲)̲

                 END CASE

         OK?-    DISM EQ TRUE? -T̲E̲P̲ ̲R̲E̲T̲U̲R̲N̲ ̲V̲I̲E̲W̲(̲R̲E̲C̲V̲
                 ̲Q̲E̲L̲)̲ ̲(̲4̲.̲2̲.̲2̲.̲6̲.̲1̲2̲)̲

             N̲O̲T̲E̲ ̲T̲O̲ ̲S̲E̲V̲C̲O̲ ̲(̲4̲.̲2̲.̲2̲.̲6̲.̲5̲-̲5̲)̲

             CC=RECV ̲OK

             UPDATE CURRENT CLASS


   END CASE


















               Figure 4.2.2.6.6-4


   NOTE TO SEVCO

   RECV ̲MAIN EQ FALSE?

   CASE CURRENT ̲SUBQ OF PRECEDENCE ̲TYPE

         SUPERFLASH,

         FLASH? MOVE CURRENT ̲SUBQ TO SEVCO ̲OP.PARA1

             MOVE SEFO ̲IDENT TO SEVCO ̲OP ̲IDENT

             MOVE SEND ̲ANTINOTIFICATION TO SEVCO ̲OP.CMD

             SIGNAL ̲OPSEM(MSOS ̲S1,SEVCO ̲OP):OK

         OTHERWISE?

   END CASE


   END

























               Figure 4.2.2.6.6-5


4.2.2.6.7    C̲a̲l̲c̲u̲l̲a̲t̲e̲ ̲F̲o̲r̲m̲a̲t̲


4.2.2.6.7.1 F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲De̲s̲c̲r̲i̲p̲t̲i̲o̲n̲

         The purpose of this procedure is to calculate the format
         into which items received from the INCOMING ̲QUEUE,
         OUTGOING ̲QUEUE and the RESPONSE ̲QUEUE shall be displayed.


4.2.2.6.7.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)  CALCULATE FORMAT (MSO ̲RECV ̲ATTR:QEL ̲ATTRIBUTES
                                        QEL:QEL ̲REFERENCE)
                                        (CC:MSO ̲CC)

         b)  CALCULATE FORMAT(RO,R1,R2,R6)


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

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

             R1   pointer to MSO ̲RECV ̲ATTR     (DEST)

             R2   QEL                          (DEST)

             R6   LINK                         (DEST)


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

             RO  CC

         R1-R7                                 (DEST)


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

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

             TRANS ̲CAT ̲SUBTYPE          ref. CPS/DBD/001
             SYST ̲CAT ̲SUBTYPE           ref. CPS/DBD/001
             MESSAGE ̲SUBTYPE            ref. CPS/DBD/001
             QELEMENT ̲MAIN ̲TYPE         ref. CPS/DBD/001
             MSO ̲CC                     ref. 4.2.2.5
             SAR ̲RETRIEVAL ̲KEY ̲TYPE     ref. CPS/DBD/001
             QEL ̲ATTRIBUTES             ref. CPS/DBD/OO1
             QEL ̲REFERENCE              ref. CPS/DBD/OO1
             QERROR ̲INF ̲TYPE            ref. 4.1.4
             ERROR ̲NO ̲TYPE              ref. 4.2.2.5
             SAR ̲RETRIEVAL ̲KEY ̲TYPE     ref. 4.1.4
             QUEUE ̲ERROR ̲TYPE           ref. 4.1.4
             MSO ̲RECV ̲QUEUE ̲TYPE        ref. 4.1.4
             ACK ̲SUBTYPE                ref. CPS/DBD/001

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

             PROBLEM ̲NO (m)             ref. 4.2.2.5
             QERROR ̲INF (m)             ref. 4.1.4
             MSOS ̲RECV ̲ATTR (m)         ref. 4.1.4
             CURRENT ̲MAINQ              ref. 4.2.2.5
             SEQ ̲REC    (m)             ref. 4.2.2.5
             QERROR ̲INF (m)             ref. 4.1.4
             HEADER ̲TEXT(m)             ref. 4.2.2.5
             CIF ̲BUFFER (m)             ref. 4.1.4
             SEFCO ̲SETR ̲ATTR (m)        ref. 4.1.4

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

             CONST RETR ̲START=SAR ̲RETRIEVAL ̲KEY ̲TYPE ̲SIZE


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

         The maintype, subtype and flag value of the received
         CIF are investigated and a format is calculated.
         The sequence record is updated.


 CALCULATE FORMAT

 SEFCO ̲SETR ̲ATTR=MSO ̲RECV ̲ATTR

 CC=TOK

 CASE CURRENT ̲MAINQ OF MSO ̲RECV ̲QUEUE ̲TYPE
 
     ANSWER ̲Q?   I̲N̲V̲E̲S̲T̲I̲G̲A̲T̲E̲ ̲R̲E̲S̲P̲Q̲(̲4̲.̲2̲.̲2̲.̲6̲.̲7̲-̲2̲)̲

     INCOMING ̲Q? I̲N̲V̲E̲S̲T̲I̲G̲A̲T̲E̲ ̲I̲M̲Q̲ ̲(̲4̲.̲2̲.̲2̲.̲6̲.̲7̲-̲8̲)̲

     OUTGOING ̲Q? I̲N̲V̲E̲S̲T̲I̲G̲A̲T̲E̲ ̲O̲M̲Q̲ ̲(̲4̲.̲2̲.̲2̲.̲6̲.̲7̲-̲9̲)̲

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

 END CASE




























                Figure 4.2.2.6.7-1


 INVESTIGATE ̲RESPQ

 MSO ̲RECV ̲ATTR.HEADER.MAINTYPE EQ TRANSMISSION ̲CATALOG
 ̲DISPLAY?

                                        C̲A̲T̲A̲L̲O̲G̲ ̲1̲ ̲(̲4̲.̲2̲.̲2̲.̲6̲.̲7̲-̲1̲7̲)̲

 MSO ̲RECV ̲ATTR.HEADER.MAINTYPE EQ ACK? S̲A̲R̲ ̲A̲C̲K̲(̲4̲.̲2̲.̲2̲.̲6̲.̲7̲-̲1̲6̲)̲

 MSO ̲RECV ̲ATTR.HEADER.MAINTYPE EQ SYSTEM.CATALOG ̲DISPLAY?

                                        C̲A̲T̲A̲L̲O̲G̲ ̲2̲(̲4̲.̲2̲.̲2̲.̲6̲.̲7̲-̲1̲5̲)̲

 MSO ̲RECV ̲ATTR.HEADER.INFO.RETR ̲FLAG EQ RERUN?

     HEADER ̲TEXT=RERUNNING

     I̲N̲V̲E̲S̲T̲ ̲F̲O̲R̲ ̲R̲E̲R̲U̲N̲(̲4̲.̲2̲.̲2̲.̲6̲.̲7̲-̲3̲)̲

     SEQ ̲REC.NEW ̲FORMAT=RERUN

 MSO ̲RECV ̲ATTR.INFO.RETR ̲FLAG EQ READDRESSAL?

     HEADER ̲TEXT=FOR ̲READDRESS

     I̲N̲V̲E̲S̲T̲ ̲F̲O̲R̲ ̲R̲E̲A̲D̲D̲R̲E̲S̲S̲A̲L̲(̲4̲.̲2̲.̲2̲.̲6̲.̲7̲-̲7̲)̲

 T̲E̲P̲ ̲Q̲U̲E̲U̲E̲ ̲E̲R̲R̲O̲R̲(̲C̲O̲N̲T̲)̲(̲4̲.̲1̲.̲5̲.̲1̲)̲

 CC=NOK

 END INVESTIGATE RESPQ
















                Figure 4.2.2.6.7-2


 INVEST FOR RERUN

 PROBLEM ̲NO=NULL

 CASE MSO ̲RECV ̲ATTR.HEADER.MAINTYPE OF QELEMENT ̲MAIN
 ̲TYPE

     PLAINDRESS,

     PLAINDRESS

     DATA? CASE MSO ̲RECV ̲ATTR.HEADER.SUBTYPE OF MESSAGE
     ̲SUBTYPE

             FOR ̲DISPLAY? MSO ̲RECV ̲ATTR.HEADER.FLAG
             EQ CAMPS?

                            MSO ̲RECV ̲ATTR.HEADER.FLAG
                     EQ
                                               READDRESSED?

                              SEQ ̲REC.SEDIA ̲FORMAT=RE
                     ̲E2

                            SEQ ̲REC.SEDIA ̲FORMAT=E2

                          MSO ̲REC ̲ATTR.HEADER.FLAG EQ
                                            READDRESSED?

                            SEQ ̲REC.SEDIA ̲FORMAT=RE-E1

                          SEQ ̲REC.SEDIA ̲FORMAT=E1

             OTHERWISE? T̲E̲P̲ ̲Q̲U̲E̲U̲E̲ ̲E̲R̲R̲O̲R̲(̲C̲O̲N̲T̲)̲(̲4̲.̲1̲.̲9̲.̲1̲)̲

                        CC=NOK

         END CASE

         CONTINUE(4.2.2.6.7-4)












                Figure 4.2.2.6.7-3


 ABB ̲

 PLAINDRESS,

 ABB ̲

 PLAINDRESS ̲

 DATA?  CASE MSO ̲RECV ̲ATTR.HEADER.SUBTYPE OF MESSAGE
 ̲SUBTYPE

             FOR-

             DISPLAY? MSO ̲RECV ̲ATTR ̲ATTR.HEADER.FLAG
             EQ CAMPS?

                          M̲S̲O̲S̲ ̲Q̲U̲E̲U̲E̲ ̲E̲R̲R̲O̲R̲(̲C̲O̲N̲T̲)̲(̲4̲.̲1̲.̲5̲.̲1̲)̲

                          CC=NOK

                     MSO ̲RECV ̲ATTR.HEADER.FLAG EQ 
                                                READDRESSED?

                          SEC ̲REC.SEDIA ̲FORMAT=RE ̲E1

                     SEC ̲REC.SEDIA ̲FORMAT=E1

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

                        CC=NOK

         END CASE

         CONTINUE(4.2.2.6.7-5)















                Figure 4.2.2.6.7-4


   ABB ̲PLAINDRESS

   SERVICE

   ABB ̲SERVICE? CASE MSO ̲RECV ̲ATTR.HEADER.SUBTYPE OF
   MESSAGE ̲SUBTYPE

            FOR ̲

            DISPLAY? MSO ̲RECV ̲ATTR.HEADER.FLAG EQ CAMPS?

                       MSO ̲RECV ̲ATTR.HEADER.FLAG EQ
                  READDRESSED?

                         M̲S̲O̲S̲ ̲Q̲U̲E̲U̲E̲ ̲E̲R̲R̲O̲R̲(̲C̲O̲N̲T̲)̲(̲4̲.̲1̲.̲5̲.̲1̲)̲

                         CC=NOK

                       SEQ ̲REC.SEDIA ̲FORMAT=ASM

                     MSO ̲RECV ̲ATTR.HEADER.FLAG EQ READDRESSED?

                       SEQ ̲REC.SEDIA ̲FORMAT=RE ̲ASM

                     SEQ ̲REC.SEDIA ̲FORMAT=ASM

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

                       CC=NOK

         END CASE

         CONTINUE(4.2.2.6.7-6)
















               Figure 4.2.2.6.7-5


   PLAINDRESS ̲

   SERVICE? CASE MSO ̲RECV ̲ATTR.HEADER.SUBTYPE OF MESSAGE
   ̲SUBTYPE

               FOR ̲

               DISPLAY? MSO ̲RECV ̲ATTR.HEADER.FLAG EQ
               READDRESSED?

                                          SEQ ̲REC.SEDIA
                                        ̲FORMAT=RE ̲SM

                                        SEQ ̲REC.SEDIA
                                        ̲FORMAT=SM

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

                                          CC=NOK

            END CASE


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

              CC=NOK

   END CASE












               Figure 4.2.2.6.7-6


   INVEST ̲FOR ̲READDRESSAL.

   SEC ̲REC.NEW ̲FORMAT=READ

   CASE ̲MSO ̲RECV ̲ATTR.HEADER.MAINTYPE OF QELEMENT ̲MAIN
   ̲TYPE

      PLAIN ̲

      DRESS? MSO ̲RECV ̲ATTR.HEADER.FLAG EQ CAMPS?

                  SEQ ̲REC.SEDIA ̲FORMAT = E2

             SEQ ̲REC.SEDIA ̲FORMAT = E1

      PLAINDRESS ̲

      SERVICE? MSO ̲RECV.ATTR.HEADER.FLAG EQ CAMPS?

                  SEQ ̲REC.SEDIA ̲FORMAT=SM

               SEQ.REC.SEDIA ̲FORMAT=SM

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

                  CC=NOK

   END CASE




















               Figure 4.2.2.6.7-7


   INVESTIGATE ̲IMQ

   CASE MSO ̲RECV ̲ATTR.HEADER.MAINTYPE OF QELEMENT ̲MAIN
   ̲TYPE
      UNIDENTIFIED - CCIS,
      UNIDENTIFIED - TRC ̲P ̲TO ̲P,
      UNIDENTIFIED - NICS ̲TARE,
      UNIDENTIFIED - SCARS
      UNIDENTIFIED - NORMAL ̲PTR,
      UNIDENTIFIED - DEDICATED ̲PTR?

      CASE MSO ̲RECV ̲ATTR.HEADER.SUBTYPE OF MESSAGE
      ̲SUBTYPE

            FOR ̲GARBLE ̲
            CORRECTION? PROBLEM ̲NO=GARBLED
                                        HEADER ̲TEXT=FOR
                                        ̲GARBLE ̲CORRECT
                                        MSO ̲RECV ̲ATTR.INFO.FLAG
                                        EQ 8O LINES?

                                          SEQ ̲REC.SEDIA
                                        ̲FORMAT=80GA

                                          SEQ ̲REC.NEW
                                        ̲FORMAT=IN80

                                        SEQ ̲REC.SEDIA
                                        ̲FORMAT=69GA

                                        SEQ ̲REC.NEW
                                        ̲FORMAT=GA69

            FOR ̲INSPECTION? PROBLEM ̲NO=FOR ̲INSPECT
                                            HEADER
                                        ̲TEXT=INSPECTION
                                            MSO ̲RECV
                                        ̲ATTR.INFO.FLAG
                                        EQ 8O LINES?

                                              SEQ ̲REC.SEDIA
                                        ̲FORMAT=80IN

                                              SEQ ̲REC.NEW
                                        ̲FORMAT=IN8O

                                            SEQ ̲REC.SEDIA
                                        ̲FORMAT=69IN

                                            SEQ ̲REC.NEW
                                        ̲FORMAT=IN69

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

                       CC=NOK

           END CASE

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

                 CC=NOK

   END CASE
               Figure 4.2.2.6.7-8


   INVESTIGATE ̲OMQ


   CASE MSO ̲RECV ̲ATTR.HEADER.SUBTYPE OF MESSAGE ̲SUBTYPE

      FOR ̲RI ̲ASSIGNMENT? A̲N̲A̲L̲Y̲S̲E̲ ̲(̲4̲.̲2̲.̲2̲.̲6̲.̲7̲-̲1̲0̲)̲

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

                  CC=NOK


   END CASE


































               Figure 4.2.2.6.7-9


   ANALYSE

   HEADER ̲TEXT = FOR ̲RI ̲ASSIGN

   MSO ̲RECV.ATTR.HEADER.FLAG EQ CAMPS?

      MSO ̲RECV ̲ATTR.HEADER.FLAG EQ READDRESSED?

         H̲E̲R̲E̲ ̲R̲E̲(̲4̲.̲2̲.̲2̲.̲6̲.̲7̲-̲1̲O̲)̲

      H̲E̲R̲E̲ ̲N̲O̲ ̲R̲E̲(̲4̲.̲2̲.̲2̲.̲6̲.̲7̲-̲1̲1̲)̲

   MSOS ̲RECV ̲ATTR.HEADER.FLAG EQ READDRESSED?

         T̲H̲E̲R̲E̲ ̲R̲E̲(̲4̲.̲2̲.̲2̲.̲6̲.̲7̲-̲1̲2̲)̲

   T̲H̲E̲R̲E̲ ̲N̲O̲ ̲R̲E̲(̲4̲.̲2̲.̲2̲.̲6̲.̲7̲-̲1̲3̲)̲

   END ANALYSE




























               Figure 4.2.2.6.7-10


   HERE ̲RE

   CASE MSO ̲RECV ̲ATTR.HEADER.MAINTYPE OF QELEMENT ̲MAIN
   ̲TYPE

      PLAINDRESS? SEQ ̲REC.SEDIA ̲FORMAT=RE ̲E2

      PLAINDRESS ̲

      SERVICE? SEQ ̲REC.SEDIA ̲FORMAT=RE ̲SM

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

                 CC=NOK

   END CASE

   SEQ ̲REC.NEW ̲FORMAT = RI ̲ASS

   END HERE ̲RE




























              Figure 4.2.2.6.7.-11


   HERE ̲NO ̲RE

   CASE MSO ̲RECV ̲ATTR.HEADER. MAINTYPE OF QELEMENT
   ̲MAIN ̲TYPE

      SC ̲VDU ̲PAGE,

      SC ̲COMMENT? - SEQ ̲REC.NEW ̲FORMAT = SC ̲RI ̲ASS

      OTHERWISE? - SEQ ̲REC. NEW ̲FORMAT = RI ̲ASS

   END CASE

   CASE MSO ̲RECV ̲ATTR.HEADER.MAINTYPE OF QELEMENT ̲MAIN
   ̲TYPE

      PLAINDRESS? SEQ ̲REC. SEDIA ̲FORMAT = E2

      PLAINDRESS ̲DATA? SEQ ̲REC.SEDIA ̲FORMAT=E2

      PLAINDRESS ̲SERVICE? SEQ ̲REC.SEDIA ̲FORMAT=SM

      ABB ̲PLAINDRESS ̲SERVICE? SEQ ̲REC.SEDIA ̲FORMAT=ASM

      ABB ̲SERVICE? SEQ ̲REQ.SEDIA ̲FORMAT=ASM

      SC ̲VDU ̲PAGE? SEQ ̲REQ.SEDIA ̲FORMAT=SC-VDU

      SC ̲COMMENT? SEQ ̲REQ.SEDIA ̲FORMAT=SC-G2

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

                  CC=NOK

   END CASE


   END HERE ̲NO ̲RE











               Figure 4.2.2.6.7-12


   THERE ̲RE

   SEQ ̲REC.NEW ̲FORMAT = RI ̲ASS

   CASE MSO ̲RECV ̲ATTR.HEADER.MAINTYPE OF QELEMENT ̲MAIN
   ̲TYPE

      PLAINDRESS? SEQ ̲REC.SEDIA ̲FORMAT=RE-E1

      PLAINDRESS ̲DATA? SEQ ̲REC.SEDIA ̲FORMAT=RE-E1

      PLAINDRESS ̲ENCRYPTED? SEQ ̲REC.SEDIA ̲FORMAT=RE-E1

      PLAINDRESS ̲SERVICE ? - SEQ ̲REC. SEDIA ̲FORMAT
      = RE-SM


      ABB ̲PLAINDRESS,

      ABB ̲PLAINDRESS ̲DATA? SEQ ̲REQ.SEDIA ̲FORMAT=RE-E1

      CODRESS? SEQ ̲REC.SEDIA ̲FORMAT=ASM

      ABB ̲PLAINDRESS ̲SERVICE? SEQ ̲REC.SEDIA ̲FORMAT=RE-ASM

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

                  CC=NOK

   END CASE


   END THERE ̲RE
















               Figure 4.2.2.6.7-13


   THERE ̲NO ̲RE

   SEQ ̲REC. NEW ̲FORMAT = RI ̲ASS

   CASE MSO ̲RECV ̲ATTR.HEADER.MAINTYPE OF QELEMENT ̲MAIN
   ̲TYPE

      PLAINDRESS,

      PLAINDRESS ̲SERVICE? - SEQ ̲REC. SEDIA ̲FORMAT =
      SM

      PLAINDRESS DATA?-SEQ ̲REC.SEDIA ̲FORMAT=E1

      PLAINDRESS ̲ENCRYPTED? SEQ ̲REC.SEDIA ̲FORMAT=E1

      ABB ̲PLAINDRESS ̲DATA,

      ABB ̲PLAINDRESS? SEQ ̲REC.SEDIA ̲FORMAT=E1

      CODRESS? SEQ ̲REQ.SEDIA ̲FORMAT=ASM

      ABB ̲PLAINDRESS ̲SERVICE? SEQ ̲REC.SEDIA ̲FORMAT=ASM

      ABB ̲SERVICE? SEQ ̲REC.SEDIA ̲FORMAT=ASM

      SC ̲PLAINDRESS,

      SC ̲PLAINDRESS ̲DATA? SEQ ̲REC.SEDIA ̲FORMAT=SC-E1

      SC ̲PLAINDRESS ̲ENCRYPTED? SEQ ̲REC.SEDIA ̲FORMAT=SC-E1

      SC ̲PLAINDRESS ̲SERVICE? SEQ ̲REC.SEDIA ̲FORMAT=SC-E1

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

                  CC=NOK

   END CASE


   END THERE ̲NO ̲RE







               Figure 4.2.2.6.7-14


   CATALOG ̲2

   MSO ̲RECV ̲ATTR.HEADER.SUBTYPE NE SYS ̲CAT ̲DISPLAY?

                                   CC=NOK

   HEADER ̲TEXT = SYSTEM ̲CATALOGUE

   SEQ ̲REC.SEDIA ̲FORMAT=HSYS

   SEQ ̲REC.NEW ̲FORMAT=OFF ̲CATALOG

   END CATALOG ̲2


































               Figure 4.2.2.6.7-15


   SAR-ACK

   MSO ̲RECV ̲ATTR.HEADER.SUBTYPE NE SAR ̲ERROR ̲ACK? CC=NOK

   MSO ̲RECV ̲ATTR.HEADER.FLAG EQ OFFLINE ̲RETRIEVAL ̲OFF?

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

   MSO ̲RECV ̲ATTR.HEADER.FLAG EQ NOT ̲FOUND?

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

   R̲E̲A̲D̲ ̲B̲U̲F̲F̲E̲R̲(̲I̲N̲P̲U̲T̲ ̲C̲I̲F̲,̲S̲T̲A̲R̲T̲ ̲A̲D̲R̲,̲I̲D̲E̲N̲T̲ ̲L̲E̲N̲G̲T̲H̲,̲C̲I̲F̲
   ̲B̲U̲F̲F̲E̲R̲(̲R̲E̲T̲R̲ ̲S̲T̲A̲R̲T̲)̲
                                                                     
                                                                     
                                                                     
                                                                     
                                                                     
                                                                     
                                                                     
                                                                     
                                                                     
                                                                     (4.2.2.6.18)

   CASE RETRIEVAL ̲IDENT OF SAR ̲RETRIEVAL ̲KEY ̲TYPE

      RETR ̲INC ̲AND ̲TRANS ̲READ ̲MSG ̲ON ̲CHN ̲KEYS? SEQ
      ̲REC.SEDIA ̲FORMAT=SH-A

                                                  
                                               SEQ
                                               ̲REC.NEW
                                               ̲FORMAT=KEYA

      RETR ̲INC ̲AND ̲TRANS ̲READ ̲MSG ̲ON ̲STN ̲KEYS? SEQ
      ̲REC.SEDIA ̲FORMAT=SH-B

                                                  
                                               SEQ
                                               ̲REC.NEW
                                               ̲FORMAT=KEYB

      RETR ̲INC ̲AND ̲READ ̲MSG ̲ON ̲DTG ̲KEYS? SEQ ̲REC.SEDIA
      ̲FORMAT=SH-E

                                                  
                                              SEQ ̲REC.NEW
                                        ̲FORMAT=KEYE

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

                  CC=NOK

   END CASE

   END SAR ̲ACK











               Figure 4.2.2.6.7-16


   CATALOG ̲1

   MSO ̲RECV ̲ATTR.HEADER.SUBTYPE NE TRANS ̲CAT ̲DISPLAY?

                                                  
                                        CC=NOK

   HEADER ̲TEXT = TRANSMISSION ̲CATALOGUE

   SEQ ̲REC.SEDIA ̲FORMAT=HTRA

   SEQ ̲REC.NEW ̲FORMAT=OFF ̲CATALOG

   END CATALOG ̲1




































               Figure 4.2.2.6.7-17


4.2.2.6.8    T̲E̲P̲ ̲C̲R̲E̲A̲T̲E̲ ̲C̲I̲F̲


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

         This procedure creates a CIF and opens it by a call
         to
         Message Monitor.


4.2.2.6.8.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)  TEP ̲CREATE ̲CIF (NEW ̲CIF:VIEW ̲REFERENCE)

         b)  TEP ̲CREATE ̲CIF (R2,R6)


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


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

             R6  LINK                     (DEST)


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

             R2  NEW ̲CIF

         RO-R1,  R3-R7                    (DEST)



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

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

             VIEW ̲REFERENCE               refer CPS/DBD/001
             QUEUE ̲REFERENCE              refer CPS/DBD/001

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

             NEW ̲CIF                      refer 4.2.2.5
             CURRENT ̲MAINQ                refer 4.2.2.5
             CURRENT ̲SUBQ                 refer 4.2.2.5
             Q ̲REFERENCE (m)              refer 4.1.4

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

             None


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

         A call to MMS is issued. If completion code is ERROR
         the processing is stopped. If completion code is OK
         a pointer to the new CIF is returned to caller in Register
         R2.



4.2.2.6.9    T̲E̲P̲ ̲C̲R̲E̲A̲T̲E̲ ̲N̲E̲W̲ ̲C̲I̲F̲



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

         This procedure creates a new version of an existing
         CIF.



4.2.2.6.9.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)  TEP ̲CREATE ̲NEW ̲CIF(INPUT ̲CIF:VIEW REFERENCE)
                              (OUTPUT ̲CIF:VIEW REFERENCE)

         b)  TEP ̲CREATE ̲NEW ̲CIF(R2,R6)

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

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

             R2  INPUT ̲CIF                (DEST)

             R6  LINK                     (DEST)


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

             R2  OUTPUT ̲CIF

         RO-R1,  R3-R7                    (DEST)


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

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

             VIEW ̲REFERENCE               refer CPS/DBD/001
             QUEUE ̲REFERENCE              refer CPS/DBD/001
             VIEW ̲ATTRIBUTES              refer CPS/DBD/001

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

             CURRENT ̲MAINQ                refer 4.2.2.5
             CURRENT ̲SUBQ                 refer 4.2.2.5
             Q ̲REFERENCE                  refer 4.1.4

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

             None


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

         A call to MMS is issued. If completion code is ERROR
         the processing is stopped. If completion code is OK
         a pointer to the new CIF version is returned to caller
         in Register R2



4.2.2.6.10   T̲E̲P̲ ̲N̲E̲W̲ ̲V̲I̲E̲W̲


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

         A new view of an existing CIF is generated. Either
         a new version of field 1-3 or field 4-5 or field 8
         or field 1 to 13 will be generated.


4.2.2.6.10.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)  TEP ̲NEW ̲VIEW(OUTPUT CIF:     VIEW ̲REFERENCE
                     CIF ̲HEADER:          BOOLEAN
                     CIF ̲TEXT:            BOOLEAN 
                     RI ̲FIELD:            BOOLEAN
                     TOTAL:               BOOLEAN)
                     (NEW ̲CIF             :VIEW ̲REFERENCE)

         b)  TEP ̲NEW ̲VIEW(R2,R3,R4,R5,R6,R7)

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

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

             R2  OUTPUT ̲CIF               (DEST)
             R3  CIF ̲HEADER               (DEST)
             R4  CIF ̲TEXT                 (DEST)
             R5  RI ̲FIELD                 (DEST)
             R6  LINK                     (DEST)
             R7  TOTAL                    (DEST)


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

             R2  NEW ̲CIF

         RO-R1,  R3-R7                    (DEST)


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

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

             VIEW ̲REFERENCE               refer CPS/DBD/001
             VIEW ̲ATTRIBUTES              refer CPS/DBD/001
             QUEUE ̲REFERENCE              refer CPS/DBD/001

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

             CIF ̲TEXT                     refer 4.2.2.5
             CURRENT ̲MAINQ                refer 4.2.2.5
             CURRENT ̲SUBQ                 refer 4.2.2.5

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

             None


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

         A call to MMS is issued. If completion code is ERROR
         and the error is Blocked ̲Queue or Profile ̲Check the
         processing is stopped. If the error code VIEW ̲ID ̲OVER-
         FLOW is returned TEP ̲CREATE ̲NEW ̲CIF and COPY ̲CIF ̲FIELD
         are called.…86…1         …02…   …02…   …02…   …02…                    …02…
                              
4.2.2.6.11   T̲E̲P̲ ̲T̲R̲S̲E̲R̲N̲O̲


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

         The next Transaction Serial number is read via TMP.
         Current time is fetched from the VDU ̲HEADER ̲AREA. An
         ITEM REFERENCE IDENTITY is calculated if requested.


4.2.2.6.11.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)  TEP ̲TRSERNO (IT ̲REFER: BOOLEAN)

         b)  TEP ̲TRSERNO(R6, R7)


         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)
             R7  IT ̲REFER                 (DEST)


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

             None

         RO-R7                            (DEST)



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

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

             F ̲DTG ̲TIME                   refer CPS/DBD/001
             GSN ̲ID ̲TYPE                  refer CPS/DBD/001
             GSN ̲TEXT ̲TYPE                refer CPS/DBD/001
             GSN ̲GROUP ̲TYPE               refer CPS/DBD/001

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

             TRANSACTION ̲ID (m)           refer 4.1.4
             VDU ̲HEADER ̲AREA              refer 4.1.4
             IT ̲REF (m)                   refer 4.1.4

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

             None

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

         A GET ̲GLOBAL ̲SERIAL ̲NUMBER call is issued to TMP. In
         order to get the next transaction serial no. TRANSACTION
         ̲ID. SERIAL ̲NO is updated. Time is read from VDU ̲HEADER
         ̲AREA. TIME and TRANSACTION ̲ID.TIMW is updated. If IT
         ̲REFER is true item reference number is calculated and
         the variable IT ̲REF is updated.…86…1         …02…   …02…   …02…   …02…
                            …02…