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