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

⟦ddd24f135⟧ Wang Wps File

    Length: 26062 (0x65ce)
    Types: Wang Wps File
    Notes: CPS/SDS/039               
    Names: »2146A «

Derivation

└─⟦11096526c⟧ Bits:30006108 8" Wang WCS floppy, CR 0171A
    └─ ⟦this⟧ »2146A « 

WangText



,…05…+…08…+…0b…+…0c…+…0e…+…01…+…02…+…06…*…09…*…0a…*…0c…*…0f…*…86…1
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 …02…
 
 
 
 
 
 
 
 
 
 
 …02…
 
 
 …02…
 
 
 
 
 
 
 
 

…02…CPS/SDS/039

…02…840601…02……02…
USER
 VDU
DETAILED
 DESIGN
 SPECIFICATION…02…ISSUE
 1…02…CAMPS









           4.2.3.6.13  READ MMI CTRL TABLE ..........
                           
           4.2.3.6.14  CLEAR SPLIT ..................
                           
           4.2.3.6.15  CREATE DISP REC ..............
                           
           4.2.3.6.16  FIELD REPEAT .................
                           
           4.2.3.6.17  FIELD GROUP REPEAT ...........
                           
           4.2.3.6.18  DISPLAY LINE NOS .............
                           
           4.2.3.6.19                                
                           
           4.2.3.6.20  CHECK FINAL CALL .............
                           
           4.2.3.6.21  EXEC VAL PROC ................
                           
           4.2.3.6.22  EXEC DISP PROC ...............
                           
           4.2.3.6.23  SIGNAL UFCO...................
                           …86…1   …02… …02… …02… …02… …02… …02… …02… …02… …02… …02… …02… …02… …02… …02… …02… …02… …02… …02…     
                                                     
                                                     
                                                     
                                         
4.2.3.6.13 R̲E̲A̲D̲ ̲M̲M̲I̲ ̲C̲T̲R̲L̲ ̲T̲A̲B̲L̲E̲



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

   Sets up parameters and calls TMP (SEARCH ̲PRIMARY ̲KEY)
   to read section of VUS ̲MMI ̲CTONROL ̲TABEL.



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

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

   a)  READ ̲MMI ̲CTRL ̲TABLE

   b)  READ ̲MMI ̲CTRL ̲TABLE (R6)

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

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

   R6  LINK    destr.

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

   R0-R7     destr.

   F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲

   None



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

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

     MMI ̲TMP ̲PARAM 4.2.3.5
     KEY ̲LIST  4.2.3.5
     MMI ̲HEAD ̲REC  4.2.3.5
     MMI ̲HEAD ̲SIZE 4.2.3.5
     MAX ̲SECTION ̲SIZE  4.2.3.5
     CTRL ̲REC ̲SIZE 4.2.3.5
     CURRENT ̲FORMAT  4.2.3.5
     EOMM    4.2.3.5


             MMI ̲REC ̲COUNT    4.2.3.5
             BOFL             4.2.3.5
             BIT ̲0            CPS/DBD/001
             BIT ̲1            CPS/DBD/001

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

             VUS ̲MMI ̲CTRL ̲TABLE Refer CPS/DBD/001

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

             N/A



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

         Refer figure 4.2.3.6.13-1




         R̲E̲A̲D̲ ̲M̲M̲I̲ ̲C̲T̲R̲L̲ ̲T̲A̲B̲L̲E̲

         MMI ̲TMP ̲PARAM.TABLE ̲ID = VUS ̲MMI ̲CONTROL ̲TABLE

         MMI ̲TMP ̲PARAM.FUNCTION = SEARCH ̲PRIMARY ̲KEY

         MMI ̲TMP ̲PARAM.MASK ̲1 = 0

         MMI ̲TMP ̲PARAM.ENTRY = 0

         MMI ̲TMP ̲PARAM.BUFFER ̲1 = KEY ̲LIST

         MMI ̲TMP ̲PARAM.COUNT = 1

         MMI ̲TMP ̲PARAM.BUFFER ̲2 = MMI ̲HEAD ̲REC

         MMI ̲TMP ̲PARAM.BUFFER ̲2 ̲LENGTH = MMI ̲HEAD ̲SIZE +
                              MAX ̲SECTION ̲SIZE * CTRL ̲REC ̲SIZE

         MMI ̲TMP ̲PARAM.MASK ̲2 = BIT ̲0 + BIT ̲1

         KEY ̲LIST.INFO = 0

         KEY ̲LIST.LINK = 0

         KEY ̲LIST.FORMAT ̲ID = CURRENT ̲FORMAT

         CASE SEARCH ̲PRIMARY ̲KEY (MMI ̲TMP ̲PARAM)(CC): ERROR
         ̲OK

             ERROR? ANALYSE ̲ERROR (CC,0)

             OK?

         END CASE

         EOMM = MMI ̲REC ̲COUNT * CTRL ̲REC ̲SIZE + 1

         BOFL = EOMM + 1

         END







                   Figure 4.2.3.6.13-1



4.2.3.6.14   C̲L̲E̲A̲R̲ ̲S̲P̲L̲I̲T̲



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

         Clears format split by call to Format Handler (SEND
         ̲CONTROL).



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

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

         a)  CLEAR ̲SPLIT

         b)  CLEAR ̲SPLIT (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             destr.

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

         R0-R7

         F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲

         None.



4.2.3.6.14.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 ̲IFCB      4.1.4
             VDU ̲SPLIT ̲FAILED CPS/DBD/001
             CLEAR ̲THE ̲SPLIT  CPS/DBD/001

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

             N/A



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

             N/A.



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

         Ref. figure 4.2.3.6.14-1



         C̲L̲E̲A̲R̲ ̲S̲P̲L̲I̲T̲

         CASE SEND ̲CONTROL(FORMAT ̲IFCB, CLEAR ̲THE ̲SPLIT)(CC):
                                                         ERROR
                              ̲OK

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

                        L1?  S̲I̲G̲N̲A̲L̲ ̲U̲F̲C̲O̲(̲V̲U̲S̲ ̲S̲2̲,̲S̲P̲L̲I̲T̲ ̲F̲A̲I̲L̲E̲D̲)
                                              (̲4̲.̲2̲.̲3̲.̲6̲.̲2̲3̲-̲1̲)

                     END CASE


             OK?


         END CASE

         END


























                   Figure 4.2.3.6.14-1


4.2.3.6.15   C̲R̲E̲A̲T̲E̲ ̲D̲I̲S̲P̲ ̲R̲E̲C̲



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

         Creates an IOC record and moves it to IOC ̲BUFFER.



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

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

         a)  CREATE ̲DISP ̲REC

         b)  CREATE ̲DISP ̲REC (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             destr.

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

         R0-R7                destr.

         F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲

         None.



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

             FL ̲PT            4.2.3.5
             EOCF             4.2.3.5
             EOCB             4.2.3.5
             END ̲OF ̲CIF ̲FIELD 4.2.3.5
             END ̲OF ̲CIF ̲BUF   4.2.3.5
             CIF ̲F ̲LIST       4.2.3.5
             IOC ̲PT           4.2.3.5
             F ̲BYTE ̲ADR       4.2.3.5
             FIXED            4.2.3.5



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

             N/A

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

             N/A.



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

         Ref. figure 4.2.3.6.15-1





         C̲R̲E̲A̲T̲E̲ ̲D̲I̲S̲P̲ ̲R̲E̲C̲

         READ ̲ITEM ̲PT = I ̲PT

         FIXED?  ITEM ̲LENGTH = I ̲SIZE

         ITEM ̲LENGTH = BYTE ̲COUNT

         WRITE ̲ITEM ̲PT = IOC ̲PT

         E̲X̲E̲C̲ ̲D̲I̲S̲P̲ ̲P̲R̲O̲C̲ ̲(̲D̲I̲S̲P̲ ̲P̲R̲O̲C̲,̲ ̲R̲E̲A̲D̲ ̲I̲T̲E̲M̲ ̲P̲T̲,̲ ̲I̲T̲E̲M̲ ̲L̲E̲N̲G̲T̲H̲,̲
                     W̲R̲I̲T̲E̲ ̲I̲T̲E̲M̲ ̲P̲T̲)̲(̲I̲T̲E̲M̲ ̲L̲E̲N̲G̲T̲H̲ ̲(̲4̲.̲2̲.̲3̲.̲6̲.̲2̲2̲-̲1̲)̲

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

         IOC ̲L ̲NO = L ̲NO

         IOC ̲INC = C ̲INC

         FG ̲COUNT EQ ZERO? IOC ̲F ̲NO = C ̲F ̲COUNT

         IOC ̲F ̲NO = F ̲NO + F ̲COUNT * C ̲FG ̲COUNT - 1

         INCREMENT FL ̲PT

         FIXED? I ̲PT = I ̲PT + I ̲SIZE

         I ̲PT = I ̲PT + BYTE ̲COUNT

         I ̲PT GE EOCF (I ̲PT ̲BASE)?  END ̲OF ̲CIF ̲FIELD = TRUE

         I ̲PT GE EOCB (I ̲PT ̲BASE)?  END ̲OF ̲CIF ̲BUF = TRUE

                                    CIF ̲F ̲LIST.ELEM (I ̲PT ̲BASE).

                                    F ̲BYTE ̲ADR = CIF ̲F ̲LIST.ELEM
                                                  (I ̲PT ̲BASE).

                                    F ̲BYRE ̲ADR - BYTE ̲COUNT

         IOC ̲PT = IOC ̲PT + ITEM ̲LENGTH

         END



                   Figure 4.2.3.6.15-1


4.2.3.6.16   F̲I̲E̲L̲D̲ ̲R̲E̲P̲E̲A̲T̲



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

         Creates IOC records for a repeated field and moves
         them to IOC ̲BUFFER.



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

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

         a)  FIELD ̲REPEAT

         b)  FIELD ̲REPEAT (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             destr.

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

         R0-R7                destr.

         F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲

         None.



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

             FIXED            4.2.3.5

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

             N/A

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

             N/A


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

         Refer figure 4.2.3.6.16-1


         F̲I̲E̲L̲D̲ ̲R̲E̲P̲E̲A̲T̲

         C ̲F ̲COUNT = 1

         LOOP UNTIL C ̲F ̲COUNT GT F ̲COUNT

             C̲R̲E̲A̲T̲E̲ ̲D̲I̲S̲P̲ ̲R̲E̲C̲ ̲(̲F̲I̲X̲E̲D̲)̲ ̲(̲4̲.̲2̲.̲3̲.̲6̲.̲1̲5̲-̲1̲)̲

             INCREMENT C ̲F ̲COUNT

         END LOOP

         END


































                   Figure 4.2.3.6.16-1


4.2.3.6.17   F̲I̲E̲L̲D̲ ̲G̲R̲O̲U̲P̲ ̲R̲E̲P̲E̲A̲T̲



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

         Creates IOC records for a field group and moves them
         to IOC ̲BUFFERS.



4.2.3.6.17.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)  FIELD ̲GROUP ̲REPEAT

         b)  FIELD ̲GROUP ̲REPEAT (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             destr.

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

         R0-R7                destr.

         F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲

         None.



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

             FIXED            4.2.3.5
             MMI ̲PT           4.2.3.5

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

             N/A

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

             N/A


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

         Refer figure 4.2.3.6.17-1



         F̲I̲E̲L̲D̲ ̲G̲R̲O̲U̲P̲ ̲R̲E̲P̲E̲A̲T̲

         C ̲F ̲COUNT = 1

         LOOP UNTIL C ̲F ̲COUNT GT F ̲COUNT

             C ̲FG ̲COUNT = 1

             LOOP UNTIL C ̲FG ̲COUNT GT FG ̲COUNT

                 C̲R̲E̲A̲T̲E̲ ̲D̲I̲S̲P̲ ̲R̲E̲C̲ ̲(̲F̲I̲X̲E̲D̲)̲ ̲(̲4̲.̲2̲.̲3̲.̲6̲.̲1̲5̲-̲1̲)̲

                 INCREMENT C ̲FG ̲COUNT

             END LOOP

             INCREMENT MMI ̲PT

             S̲E̲T̲ ̲M̲M̲I̲ ̲V̲D̲U̲ ̲A̲D̲D̲R̲E̲S̲S̲E̲S̲ ̲(̲4̲.̲2̲.̲3̲.̲6̲.̲7̲-̲1̲)̲

             S̲E̲T̲ ̲M̲E̲M̲O̲R̲Y̲ ̲A̲D̲D̲R̲E̲S̲S̲E̲S̲ ̲(̲4̲.̲2̲.̲3̲.̲6̲.̲1̲0̲-̲1̲)̲

             INCREMENT C ̲F ̲COUNT

         END LOOP

         END




















                   Figure 4.2.3.6.17-1


4.2.3.6.18   D̲I̲S̲P̲L̲A̲Y̲ ̲L̲I̲N̲E̲ ̲N̲O̲S̲



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

         Displays line numbers in margin of format area.



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

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

         a)  DISPLAY ̲LINE ̲NOS

         b)  DISPLAY ̲LINE ̲NOS (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             destr.

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

         R0-R7                destr.

         F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲

         None.



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

         N/A

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

         Ref. Functional Specification.


4.2.3.6.19    ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲ ̲



4.2.3.6.20   C̲H̲E̲C̲K̲ ̲F̲I̲N̲A̲L̲ ̲C̲A̲L̲L̲



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

         Checks (before call of display procedure) if this is
         the last call of the display procedure.



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

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

         a)  CHECK ̲FINAL ̲CALL

         b)  CHECK ̲FINAL ̲CALL (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             destr.

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

         R0-R7                destr.

         F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲

         None



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

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

             FL ̲PT            4.2.3.5
             L ̲NO             4.2.3.5
             IOC ̲L ̲NO         4.2.3.5
             F ̲NO             4.2.3.5
             IOC ̲F ̲NO         4.2.3.5
             FINAL ̲CALL       4.2.3.5

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

             N/A



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

             N/A



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

         Refer figure 4.2.3.6.20-1.




 C̲H̲E̲C̲K̲ ̲F̲I̲N̲A̲L̲ ̲C̲A̲L̲L̲


 INCREMENT FL ̲PT

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

 L ̲NO EQ IOC ̲L ̲NO? F ̲NO EQ IOC ̲F ̲NO? FINAL ̲CALL = FALSE

 FINAL ̲CALL = TRUE

 DECREMENT FL ̲PT

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

 END































               Figure 4.2.3.6.20-1


4.2.3.6.21   E̲X̲E̲C̲ ̲V̲A̲L̲ ̲P̲R̲O̲C̲



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

         Calls the validation procedure referenced in the VUS
         ̲MMI ̲CONTROL ̲TABLE corresponding to each field in the
         format. The validation procedure performs necessary
         validation, conversion and transfer from BUFFER ̲LIST
         to output buffer.



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

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

         a)  EXEC ̲VAL ̲PROC (VAL ̲PROC: VALIDATION ̲PROCEDURE ̲TYPE
                           READ ̲ITEM ̲PT:  INTEGER,
                           ITEM ̲LENGTH:   INTEGER,
                           WRITE ̲ITEM ̲PT: INTEGER)
                           (ITEM ̲LENGTH:  INTEGER): ERROR ̲OK

         b)  EXEC ̲VAL ̲PROC(R0,R1,R2,R3,R4,R5, R6,R7): ERROR
             ̲OK

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

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

         R1:     VALIDATION ̲PROCEDURE     (Destr.)
         R2,R3:  BYTE POINTER             (Destr.)
         R4:     ITEM ̲LENGTH              (Destr.)
         R5,R7:  BYTE POINTER             (Destr.)
         R6:     LINK                     (Destr.)

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

         R0-R3, R5-R7                     (Destr.)

         R4  ITEM ̲LENGTH

         F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲

         Invalid Procedure





4.2.3.6.21.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̲d̲

             VAL ̲ERR           Ref. 4.1.4

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

             N/A

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

             N/A



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

         Refer figure 4.2.3.6.21-1



 E̲X̲E̲C̲ ̲V̲A̲L̲ ̲P̲R̲O̲C̲

 CASE VAL ̲PROC OF VALIDATION ̲PROCEDURE ̲TYPE

 CLASS ̲VAL?  CASE C̲L̲A̲S̲S̲ ̲V̲A̲L̲ ̲(̲R̲E̲A̲D̲ ̲I̲T̲E̲M̲ ̲P̲T̲,̲ ̲I̲T̲E̲M̲ ̲L̲E̲N̲G̲T̲H̲,̲
                                     W̲R̲I̲T̲E̲ ̲I̲T̲E̲M̲ ̲P̲T̲)̲:̲
                                     ̲E̲R̲R̲O̲R̲ ̲O̲K̲

                 ERROR?  VAL ̲ERR = TRUE

                 OK?


             END CASE

 SPH ̲VAL?    CASE S̲P̲H̲ ̲V̲A̲L̲ ̲(̲R̲E̲A̲D̲ ̲I̲T̲E̲M̲ ̲P̲T̲,̲ ̲I̲T̲E̲M̲ ̲L̲E̲N̲G̲T̲H̲,̲
                                     W̲R̲I̲T̲E̲ ̲I̲T̲E̲M̲ ̲P̲T̲)̲:̲
                                     ̲E̲R̲R̲O̲R̲ ̲O̲K̲

                 ERROR?  VAL ̲ERR = TRUE

                 OK?


             END CASE





 END CASE


 END















               Figuer 4.2.3.6.21-1


4.2.3.6.22   E̲X̲E̲C̲ ̲D̲I̲S̲P̲ ̲P̲R̲O̲C̲



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

         Calls the display procedure referred in the VUS ̲MMI
         ̲CONTROL ̲TABLE corresponding to each field in the format.
         The display-procedure performs necessary conversion
         and transfers data from input buffer to Buffer List.



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

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

         a)  EXEC ̲DISP ̲PROC  (DISP ̲PROC:  DISPLAY ̲PROCEDURE
                             ̲TYPE;
                             READ ̲ITEM ̲PT: INTEGER,
                             ITEM ̲LENGTH:  INTEGER,
                             WRITE ̲ITEM ̲PT INTEGER)
                             (ITEM ̲LENGTH: INTEGER)

         b)  EXEC ̲DISP ̲PROC (R0, R1, 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̲

         R1      DISPLAY ̲PROCEDURE        Destr.
         R2,R3   BYTE POINTER             Destr.
         R4      ITEM ̲LENGTH              Destr.
         R5, R7  BYTE POINTER             Destr.
         R6      LINK                     Destr.

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

         R0-R3, R5-R7                     Destr.
         R4:     ITEM ̲LENGTH

         F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲

         Invalid Procedure



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

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

             N/A

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

             N/A

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

             N/A



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

         Ref. Figure 4.2.3.6.22-1



 E̲X̲E̲C̲ ̲D̲I̲S̲P̲ ̲P̲R̲O̲C̲

 CASE DISP ̲PROC OF DISPLAY ̲PROCEDURE ̲TYPE

 DISP ̲TRANS ̲ID?      D̲I̲S̲P̲ ̲T̲R̲A̲N̲S̲ ̲I̲D̲ ̲(̲R̲E̲A̲D̲ ̲I̲T̲E̲M̲ ̲P̲T̲,̲ ̲I̲T̲E̲M̲
                     ̲L̲E̲N̲G̲T̲H̲,̲
                     W̲R̲I̲T̲E̲ ̲I̲T̲E̲M̲ ̲P̲T̲)̲

 INT ̲TO ̲ASCII?       I̲N̲T̲ ̲T̲O̲ ̲A̲S̲C̲I̲I̲ ̲(̲R̲E̲A̲D̲ ̲I̲T̲E̲M̲ ̲P̲T̲,̲ ̲I̲T̲E̲M̲
                     ̲L̲E̲N̲G̲T̲H̲,̲
                     W̲R̲I̲T̲E̲ ̲I̲T̲E̲M̲ ̲P̲T̲)̲










 MOVE ̲DATA?          M̲O̲V̲E̲ ̲D̲A̲T̲A̲ ̲(̲R̲E̲A̲D̲ ̲I̲T̲E̲M̲ ̲P̲T̲,̲ ̲I̲T̲E̲M̲ ̲L̲E̲N̲G̲T̲H̲,̲
                     W̲R̲I̲T̲E̲ ̲I̲T̲E̲M̲ ̲P̲T̲)̲

 END CASE

 END



















               Figure 4.2.3.6.22-1



4.2.3.6.23   S̲I̲G̲N̲A̲L̲ ̲U̲F̲C̲O̲


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

         Sets parameters in VUS ̲OP and signals specified semaphore.


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

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

         a)  SIGNAL ̲UFCO (SEM: OPERATION ̲SEMAPHORE,
                           CC: VDIA ̲UFCO ̲CC ̲TYPE)

         b)  SIGNAL ̲UFCO (R0, R1, R6)

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

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

         R0: SEMAPHORE               (Destr)
         R1: COMPLETION CODE         (Destr)
         R6: LINK                    (Destr)

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

         R0 - R7                     (Destr)

         F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲

         None


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

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

             VUS-S2                  Ref. 4.1.4

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

             N/A

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

             N/A

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

             Ref.fig. 4.2.3.6.23-1.


S̲I̲G̲N̲A̲L̲ ̲U̲F̲C̲O̲

OPLIST ̲PT = 1

LOOP UNTIL OPLIST ̲PT GT CMD ̲OP ̲CNT

     % OPLIST (OPLIST ̲PT). OP ̲ID.ID = VDIA ̲ID

     % OPLIST (OPLIST ̲PT). PARA1 = CC

     % OPLIST (OPLIST ̲PT). PARA2 = INPUT ̲DATA ̲PT

     SIGNAL ̲OPSEM (SEM), OPLIST (OPLIST ̲PT)): OK

     INCREMENT OPLIST ̲PT

END LOOP

CMD ̲OP ̲CNT = 0

CC EQ SPLIT ̲FAILED ?     D̲I̲A̲L̲O̲G̲U̲E̲ ̲C̲O̲N̲T̲R̲O̲L̲ ̲(̲4̲.̲2̲.̲3̲.̲4̲.̲1̲-̲1̲)̲

END
























                   Figure 4.2.3.6.23-1


4.2.3.6.24   U̲P̲D̲A̲T̲E̲ ̲E̲R̲R̲O̲R̲ ̲L̲I̲S̲T̲


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

         Checks if old or new error list is to be used and enters
         Line no, Incarnation no, Field no and Error code in
         error list.

4.2.3.6.24.1 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)  UPDATE ̲ERROR ̲LIST (LINE:     LINE ̲NUMBER ̲TYPE
                                INC:      INCARNATION ̲NUMBER
                 ̲TYPE
                                FIELD:    FIELD ̲NUMBER ̲TYPE
                                ERROR:    ERROR ̲CODE)

         b)  UPDATE ̲ERROR ̲LIST (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  LINE    (Destr)
         R1  INC     (Destr)
         R2  FIELD   (Destr)
         R3  ERR     (Destr)
         R6  LINK    (Destr)

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

         R0 - R7     (Destr)

         F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲

         None.


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

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

             OLD ̲ERROR ̲LIST                    Ref. 4.2.3.5
             NE ̲PT                             Ref. 4.2.3.5
             OE ̲PT                             Ref. 4.2.3.5
             BNEL                              Ref. 4.2.3.5
             BOEL                              Ref. 4.2.3.5
             ER ̲PT                             Ref. 4.2.3.5
             EOER                              Ref. 4.2.3.5
             EOEL                              Ref. 4.2.3.5
             ENEL                              Ref. 4.2.3.5
             ERROR ̲LIST ̲FULL                   Ref. 4.2.3.5
             ERR ̲LIST                          Ref. 4.2.3.5

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

             N/A

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

             N/A


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

             Ref.figure 4.2.3.6.24-1


U̲P̲D̲A̲T̲E̲ ̲E̲R̲R̲O̲R̲ ̲L̲I̲S̲T̲

OLD ̲ERROR ̲LIST?    INCREMENT OE ̲PT

INCREMENT NE ̲PT    BOER = BOEL

BOER = BNEL        ER ̲PT = OE ̲PT

ER ̲PT = NE ̲PT      EOER = EOEL

EOER = ENEL

ER ̲PT GT EOER?     ERR ̲LIST ̲FULL = TRUE

EQUIVALENCE (ERR ̲LIST(ER ̲PT), LINE ̲NO: ERRL ̲REC.MARGIN ̲LINE
 ̲NO

EQUIVALENCE (ERR ̲LIST(ER ̲PT), INC: ERRL ̲REC. MARGIN ̲INC ̲NO)

EQUIVALENCE (ERR ̲LIST(ER ̲PT), ERROR: ERRL ̲REC. MARGIN ̲ERR ̲CODE)

EQUIVALENCE (ERR ̲LIST(ER ̲PT), FIELD ̲NO: ERRL ̲REC.ERR ̲FIELD ̲NO)

LINE ̲NO = IOC ̲L ̲NO

INC = IOC ̲INC

ERROR = ERR

FIELD ̲NO = IOC ̲F ̲NO


END















                   Figure 4.2.3.6.24-1


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


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

         UFCO commands

         CLOSE
         CANCEL ̲I ̲O
         CLEAR ̲VDU
         SUSP
         INPUT ̲DATA
         OUTPUT ̲DATA
         OUTPUT ̲FORMAT
         DISPLAY ̲MENU
         L ̲INSERT
         L ̲DELETE
         APPEND


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

         VDIA completions:

         CLOSE ̲CC
         CANCEL ̲CC
         CLEAR ̲CC
         SUSP
         INPUT ̲DATA ̲CC
         OUTPUT ̲DATA ̲CC
         OUTPUT ̲FORMAT ̲CC
         DISPLAY ̲MENU
         L ̲INSERT ̲CC
         L ̲DELETE ̲CC
         VALIDATION ̲RESULT
         ERROR
         OK


4.2.4    R̲e̲t̲r̲i̲e̲v̲e̲ ̲S̲u̲b̲p̲a̲c̲k̲a̲g̲e̲

         The Retrieve Subpackage (RETR) is responsible for reception
         and treatment of retrieval answer from SAR.



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

         -   reception of off-line/on-line notification
         -   reception of retrieved items

         The functional breakdown is shown in figure 4.2.4.1-1.
         Retrieved items and off-line/on-line notifications
         are received from SAR in the retrieve queue. After
         analysis, the received item is sent to the destination.

















































                     Figure 4.2.4.1-1



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

         The retrieve subpackage consists of one coroutine containing
         the following modules and procedures:

         M̲o̲d̲u̲l̲e̲s̲:̲

         -RETRIEVAL ̲MAIN

         C̲o̲m̲m̲o̲n̲ ̲P̲r̲o̲c̲e̲d̲u̲r̲e̲s̲:

         None

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

         -RETR SIGNAL
         -VALIDATE ̲RETR ̲MSG



4.2.4.3  D̲a̲t̲a̲ ̲F̲l̲o̲w̲ ̲a̲n̲d̲ ̲C̲o̲n̲t̲r̲o̲l̲ ̲L̲o̲g̲i̲c̲ ̲w̲i̲t̲h̲i̲n̲ ̲R̲E̲T̲R̲



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

         The HIPO diagrams overleaf show the data flow of RETR.



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

         The call structure within RETR is shown on figure 4.2.4.3-5
         identifying all calls between modules and module components.















































           Fra diagr. ID: 4.2.4.3-1 - 4.2.4.3-4















































                     Figure 4.2.4.3-5




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



4.2.4.4.1    R̲E̲T̲R̲I̲E̲V̲A̲L̲ ̲M̲A̲I̲N̲ ̲M̲o̲d̲u̲l̲e̲



4.2.4.4.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 module is to receive input from
         the Retrieve Queue and to analyse the received QEL-attributes.

         The result of the analyse is signalled to SFCO in case
         of on-line retrieval. In case of off-line retrieval,
         then the item received will be sent to the Response
         Queue.In case of off-line append the received item
         will be sent to UMAM.



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

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

         a)  RETR ̲MAIN

         b)  RETR ̲MAIN (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̲

         None

         R0-R7                        DEST


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

         a)  R̲E̲T̲R̲ ̲S̲I̲G̲N̲A̲L̲

         The purpose of this procedure is to signal a notification
         to UFCO. Two operations exist for the interface and
         they will be used alternately. Refer figure 4.2.4.4.1.3-1.

         b) V̲A̲L̲I̲D̲A̲T̲E̲ ̲R̲E̲T̲R̲ ̲M̲S̲G̲

         The purpose of this procedure is to analyze input from
         the Retrieve Queue. Refer figure 4.2.4.4.1.3-2.


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

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

             USER ̲ACTION ̲TYPE      refer CPS/DBD/001
             QUEUE ̲REFERENCE       refer CPS/DBD/001
             QEL ̲ATTRIBUTES        refer CPS/DBD/001
             SEND ̲PARAMS           refer CPS/DBD/001
             QEL ̲REFERENCE         refer CPS/DBD/001
             RETR ̲CMD ̲TYPE         refer 4.1.4
             SENDER ̲ID ̲TYPE        refer 4.1.4
             VUS ̲ARRQ              refer 4.1.4
         b)  E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲

             VUS ̲S2 (m)            refer 4.1.4
             INPUT ̲CIF (m)         refer 4.1.4
             VUS ̲RECV ̲ATTR (m)     refer 4.1.4
             VUS ̲QEL ̲ATTR (m)      refer 4.1.4
             TRANSACTION ̲ID (m)    refer 4.1.4
             VUS ̲QERROR (m)        refer 4.1.4
             VUS ̲INT ERROR (m)     refer 4.1.4
             VUS ̲SEND ̲PARAMS (m)   refer 4.1.4
             USER ̲ACTIVE           refer 4.1.4
             NOT ̲OP (m)            refer 4.1.4
             RETR ̲OP (m)           refer 4.1.4

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

         VAR     NEXT ̲OP           : NEXT ̲OPERATION;
                 S ̲UMAMQ,
                 S ̲RETRQ,
                 S ̲RESPQ           : QUEUE ̲REFERENCE;
                 RETR ̲QEL          : QEL ̲REFERENCE;
                 PROFILE ̲TEST      : BOOLEAN;

         CONST   NOT ̲OP ̲NO         = 1;
                 RETR ̲OP ̲NO        = 2;
                 RETR ̲SUBQUEUE     = 3;
                 RESP ̲SUBQUEUE     = 2;

         TYPE    NEXT ̲OPERATION    = (S ̲NOT ̲OP, S ̲RETR ̲OP);
                 RETR ̲CC           = (S ̲QERROR, S ̲APPEND, S
                                   ̲CIF);
                 RETR ̲NOT          = (S ̲QERROR ̲NOT, S ̲RETR ̲NOT,
                                      S ̲ONLINE ̲NOT, S ̲OFFLINE
                                   ̲NOT,
                                      S ̲RETR ̲ERROR,S ̲APPEND
                                   ̲NOT);

         INIT    NOT ̲OP.OP ̲ID      = NOT ̲OP ̲NO SHIFTLL 8 + SRETR
                                   ̲ID;
                 RETR ̲OP.OP ̲ID     = RETR ̲OP ̲NO SHIFTLL 8 +
                                   SRETR ̲ID;
                 NEXT ̲OP           = S ̲NOT ̲OP;…86…1         …02…   …02…
                                     …02…   …02…             …02…      
                                            …02…               
                                   
         INIT    S ̲RETRQ.MAIN ̲QUEUE = VUS ̲ARRQ                       ;
                 S ̲RETRQ.SUB ̲QUEUE  = RETR ̲SUBQUEUE                  ;
                 S ̲RESPQ.MAIN ̲QUEUE = SVUP ̲ARRQ                      ;
                 S ̲RESPQ.SUB ̲QUEUE  = RESP ̲SUBQUEUE                  ;
                 S ̲UMAMQ.MAIN ̲QUEUE = UMAM ̲COLLECT  ;
                 S ̲UMAMQ.SUB ̲QUEUE  = U ̲APPENDQ     ;



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

         Objects received in the retrieve queue are analysed.
         The following actions are taken:

         -   Unknown QEL-types are sent to SSC and SFCO is informed.

         -   Online/Offline notifications are signalled to SFCO

         For online retrieval it is checked if a new user is
         signed on. If so, the received item is treated as offline
         retrieval.

         Online retrieval results are signalled to UFCO.

         Offline retrieved items are sent to the Response queue.




         RETR ̲MAIN
  MAIN ̲LOOP
         CASE RECEIVE ̲FIRST ̲QEL(WAIT, RETRQ)
                               (VUS ̲QEL ̲ATTR, SUBQUEUE, RETR ̲QEL,
                                                    CC): ERROR ̲OK
             ERROR?  CASE ANALYZE ̲ERROR(CC,1.QEL PROFILE ̲CHECK):(LA1)
                          LA2?  PROFILE ̲TEST = TRUE
                     END CASE
             OK?     PROFILE TEST = FALSE
         END CASE
         SUBQUEUE NE SUB3?         V̲U̲S̲ ̲Q̲U̲E̲U̲E̲ ̲E̲R̲R̲O̲R̲(̲G̲I̲V̲E̲ ̲U̲P̲)̲(̲4̲.̲1̲.̲5̲.̲1̲)̲
         CONT = FALSE
         CASE VUS ̲QEL ̲ATTR.HEADER.MAINTYPE OF QELEMENT ̲MAIN ̲TYPE
             ACK?    A̲C̲K̲N̲O̲W̲L̲E̲D̲G̲E̲ ̲H̲A̲N̲D̲L̲I̲N̲G̲(̲-̲2̲)̲
             OTHERWISE?   CONT = TRUE
         END CASE
         CONT EQ FALSE?   V̲U̲S̲ ̲D̲I̲S̲M̲A̲N̲T̲L̲E̲(̲R̲E̲T̲R̲ ̲Q̲E̲L̲)̲(̲4̲.̲1̲.̲5̲.̲3̲)̲
         ONLINE EQ FALSE?
         USER ̲ACTIVE NE TRUE? 
         RECV TRANS ̲NO NE TRANS ̲ID.NO?         O̲F̲F̲L̲I̲N̲E̲ ̲H̲A̲N̲D̲L̲I̲N̲G̲(̲-̲3̲)̲
         PROFILE ̲TEST EQ TRUE?     V̲U̲S̲ ̲Q̲U̲E̲U̲E̲ ̲E̲R̲R̲O̲R̲(̲G̲I̲V̲E̲ ̲U̲P̲)̲(̲4̲.̲1̲.̲5̲.̲1̲)̲
         CASE V̲A̲L̲I̲D̲A̲T̲E̲ ̲R̲E̲T̲R̲ ̲M̲S̲G̲(̲R̲E̲T̲R̲ ̲Q̲E̲L̲ ̲A̲T̲T̲R̲)̲:̲ ̲R̲E̲T̲R̲ ̲C̲C̲(̲4̲.̲1̲.̲5̲.̲5̲)̲
             S ̲QERROR?    V̲U̲S̲ ̲Q̲U̲E̲U̲E̲ ̲E̲R̲R̲O̲R̲(̲C̲O̲N̲T̲I̲N̲U̲E̲)̲(̲4̲.̲1̲.̲5̲.̲1̲)̲
                          R̲E̲T̲R̲ ̲S̲I̲G̲N̲A̲L̲(̲S̲ ̲Q̲E̲R̲R̲O̲R̲)̲(̲4̲.̲2̲.̲4̲.̲4̲.̲1̲.̲3̲-̲1̲)̲
             S ̲APPEND?    R̲E̲T̲R̲ ̲S̲I̲G̲N̲A̲L̲ ̲(̲S̲ ̲A̲P̲P̲E̲N̲D̲)̲ ̲(̲4̲.̲2̲.̲4̲.̲4̲.̲1̲.̲3̲-̲1̲)̲
             S ̲CIF?       R̲E̲T̲R̲ ̲S̲I̲G̲N̲A̲L̲(̲S̲ ̲R̲E̲T̲R̲ ̲N̲O̲T̲)̲(̲4̲.̲2̲.̲4̲.̲4̲.̲1̲.̲3̲-̲1̲)̲
             OTHERWISE?   V̲U̲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 MAIN ̲LOOP



                                   Figure 4.2.4.4.1-1



         ACKNOWLEDGE ̲HANDLING

  CONT = FALSE

  USER ACTIVE NE TRUE?        V̲U̲S̲ ̲Q̲U̲E̲U̲E̲ ̲E̲R̲R̲O̲R̲(̲C̲O̲N̲T̲I̲N̲U̲E̲)̲(̲4̲.̲1̲.̲5̲.̲1̲)̲

  CASE VUS ̲QEL ̲ATTR.HEADER.SUBTYPE OF ACK ̲SUBTYPE

         SAR ̲ONLINE ̲NOTIFICATION ̲ACK?   R̲E̲T̲R̲ ̲S̲I̲G̲N̲A̲L̲(̲S̲
         ̲O̲N̲L̲I̲N̲E̲ ̲N̲O̲T̲)̲
                                                  (̲4̲.̲2̲.̲4̲.̲4̲.̲1̲.̲3̲-̲1̲)̲


         SAR ̲OFFLINE ̲NOTIFICATION ̲ACK?  R̲E̲T̲R̲ ̲S̲I̲G̲N̲A̲L̲(̲S̲
         ̲O̲F̲F̲L̲I̲N̲E̲ ̲N̲O̲T̲)̲
                                                   (̲4̲.̲2̲.̲4̲.̲4̲.̲1̲.̲3̲-̲1̲)̲


         SAR ̲ERROR ̲ACK ̲RETRIEVALS?      ONLINE EQ FALSE?
                                    CONT = TRUE

                                        R̲E̲T̲R̲ ̲S̲I̲G̲N̲A̲L̲(̲S̲
                                   ̲R̲E̲T̲R̲ ̲E̲R̲R̲O̲R̲)̲
                                                  (̲4̲.̲2̲.̲4̲.̲4̲.̲1̲.̲3̲-̲1̲)̲


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

                     R̲E̲T̲R̲ ̲S̲I̲G̲N̲A̲L̲(̲S̲ ̲Q̲E̲R̲R̲O̲R̲ ̲N̲O̲T̲)̲(̲4̲.̲2̲.̲4̲.̲4̲.̲1̲.̲3̲-̲1̲)̲


  END CASE












                Figure 4.2.4.4.1-2



         OFFLINE ̲HANDLING

  VUS ̲SEND ̲PARAMS.HEADER = VUS ̲QEL ̲ATTR.HEADER

  CASE SEND(VUS ̲SEND ̲PARAMS, RETR ̲QEL, RESPQ)
           (VUS ̲SEND ̲PARAMS, CC): ERROR ̲OK

         ERROR?  CASE ANALYZE ̲ERROR(CC,1, BLOCKED):(LA1)

                     LA1?

                 END CASE

         OK?

  END CASE

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



                         



















                Figure 4.2.4.4.1-3



         RETR ̲SIGNAL

  CASE NEXT ̲OP OF NEXT ̲OPERATION

         S ̲NOT ̲OP?   RETR ̲OP ̲PTR = NOT ̲OP

                     NEXT ̲OP = S ̲RETR ̲OP

         S ̲RETR ̲OP?  RETR ̲OP ̲PTR = RETR ̲OP

                     NEXT ̲OP = S ̲NOT ̲OP

         OTHERWISE?  S̲V̲U̲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

  CASE NOTIFICATION OF RETR ̲NOT

         S ̲QERROR ̲NOT?  RETR ̲OP ̲PTR.CMD = QERROR ̲NOTIFICATION

         S ̲RETR ̲NOT?    VUS ̲RECV ̲ATTR = RETR ̲QEL ̲ATTR
                        INPUT ̲CIF = RETR ̲QEL
                        RETR ̲OP ̲PTR.CMD = RETRIEVAL ̲NOTIFICATION

         S ̲APPEND ̲NOT?  APPEND ̲CIF = RETR ̲QEL

                        RETR ̲OP ̲PTR. CMD = APPEND ̲NOTIFICATION

         S ̲ONLINE ̲NOT?  RETR ̲OP ̲PTR.CMD = ONLINE ̲NOTIFICATION

         S ̲OFFLINE ̲NOT? RETR ̲OP ̲PTR.CMD = OFFLINE ̲NOTIFICATION

         S ̲RETR ̲ERROR?  RETR ̲OP ̲PTR.CMD = RETRIEVAL ̲ERROR

                        RETR ̲OP ̲PTR. PARA1 = RETR ̲ERROR

         OTHERWISE?     S̲V̲U̲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

  SIGNAL OPSEM(VUS ̲S2, RETR ̲OP ̲PTR): OK




               Figure 4.2.4.4.1.3-1



CASE VUS ̲QEL ̲ATTR. MAINTYPE OF QELEMENT ̲MAIN ̲TYPE

     SC ̲PLAINDRESS,

     ABB ̲PLAINDRESS,

     PLAINDRESS?  CASE VUS ̲QEL ̲ATTR. SUBTYPE OF MESSAGE ̲SUBTYPE

                     FOR ̲DISPLAY? - CASE VUS ̲QEL ̲ATTR.RETR ̲FLAG

                                      RETRIEVAL? - CC=S ̲CIF

                                      APPEND? -CC=S ̲APPEND

                                    END CASE

                     OTHERWISE?  - CC=S ̲QERROR

                 END CASE

     SC ̲COMMENT,

     COMMENT? - CASE VUS ̲QEL ̲ATTR.SUBTYPE OF MESSAGE ̲SUBTYPE

                 FOR ̲DISPLAY? - CC=S ̲CIF

                 OTHERWISE?   - CC=S ̲QERROR

              END CASE

     SYS ̲CATALOGUE? CASE VUS ̲QEL ̲ATTR. SUBTYPE OF SYS ̲CAT ̲SUBTYPE

                     SYS ̲CAT ̲DISPLAY? - CC= S ̲CIF

                     OTHERWISE? - CC= S ̲QERROR

                  END CASE

     RELEASE ̲NOTIFICATION?-CASE VUS ̲QEL ̲ATTR.SUBTYPE OF
                                            RELEASE ̲NOTIF ̲SUBTYPE

                             REL ̲NOT ̲DISPLAY?  CC= S ̲CIF

                             OTHERWISE?        CC= S ̲QERROR

                         END CASE

     OTHERWISE? - CC = S ̲QERROR

END CASE

RETURN (CC)…01…Figure 4.2.4.4.1.3-2


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

         Refer 4.2.4.4.1.4



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

         None.



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



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

         The following notifications are sent from RETR to UFCO
         via operation semaphore VUS ̲S2:

         QERROR NOTIFICATION
         RETRIEVAL NOTIFICATION
         APPEND ̲NOTIFICATION
         ONLINE NOTIFICATION
         OFFLINE NOTIFICATION
         RETRIEVAL ERROR


4.2.4.7.2    R̲E̲T̲R̲ ̲U̲M̲A̲M̲

         Refer CPS/ICD/009