top - download
⟦8740face8⟧ Wang Wps File
Length: 32866 (0x8062)
Types: Wang Wps File
Notes: CPS/SDS/037
Names: »1895A «
Derivation
└─⟦3aebbc545⟧ Bits:30006093 8" Wang WCS floppy, CR 0145A
└─ ⟦this⟧ »1895A «
WangText
…0b……00……00……00……00…9…02……00……00…9
9 9…07…8…09…8…0c…8…0f…8…00…8
8…06…8…07…7…0b…7…0e…7…0f…7…01…7 7…05…7…07…6…0a…6…0d…6…0e…6…00…6…05…6…07…5…86…1 …02… …02… …02…
…02…CPS/SDS/037
…02…CGN/820514…02……02…
MDCO VDU
DETAILED DESIGN SPECIFICATION…02……02…CAMPS
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 ̲CONTROL ̲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? SIGNAL ̲DIFCO(MDOS ̲S2,SPLIT ̲ FAILED)(4.2.3.6.23-1)…06…1
…02…
…02…
…02…
…02…
…02…
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̲
4.2.3.6.18.4 P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲D̲e̲s̲i̲g̲n̲
The procedure outputs line nos. by call of Format Handler
(IOC).
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.6
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
Figure 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…86…1 …02… …02… …02… …02… …02… …02… …02… …02… …02…
4.2.3.6.23 S̲I̲G̲N̲A̲L̲ ̲D̲I̲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 MDOS ̲OP and signals specified
semaphore.
4.2.3.6.23.2 I̲n̲t̲e̲r̲f̲a̲c̲e̲ ̲D̲i̲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 ̲DIFCO(SEM: OPERATION ̲SEMAPHORE
CC: DIDIA ̲DIFCO ̲CC ̲TYPE
b) SIGNAL ̲DIFCO (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
F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲
None…86…1 …02… …02… …02… …02… …02… …02… …02… …02… …02…
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̲
MDOS ̲OP refer 4.1.6
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…86…1 …02… …02… …02… …02… …02…
…02… …02… …02… …02…
SIGNAL ̲DIFCO
OPLIST ̲PT = 1
LOOP UNTIL OPLIST ̲PT GT CMD ̲OP ̲CNT
% OPLIST (OPLIST ̲PT).OPT̲ID.ID = DIDIA ̲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 is 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̲
Ro - R7 Destr.
F̲a̲t̲a̲l̲ ̲E̲r̲r̲o̲r̲s̲
None…86…1 …02… …02… …02… …02… …02… …02… …02… …02… …02…
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
NE ̲PT
EQ ̲PT
BNEL
BOEL
ER ̲PT
EQ ̲ER
EOEL
ENEL
ERROR ̲LIST ̲FULL
ERR ̲LIST
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.2.4.4 P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲D̲e̲s̲i̲g̲n̲
Ref. fig. 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̲
4.2.3.7.1 D̲I̲F̲C̲O̲-̲D̲I̲D̲I̲A̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲s̲
DIFCO commands:
CLOSE
CANCEL ̲I ̲O
CLEAR ̲VDU
INPUT ̲DATA
OUTPUT ̲DATA
OUTPUT ̲FORMAT
L ̲INSERT
L ̲DELETE
DISPLAY ̲MENU
4.2.3.7.2 D̲I̲D̲I̲A̲-̲D̲I̲F̲C̲O̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲s̲
DIDIA completions:
CLOSE
CANCEL ̲I ̲O
CLEAR ̲VDU
INPUT ̲DATA
OUTPUT ̲DATA
OUTPUT ̲FORMAT
L ̲INSERT
L ̲DELETE
DISPLAY ̲MENU
VALIDATION ̲RESULT in MDOS ̲COROUTINE IN PARA1:
ERROR
OK
PRINT ̲REQ
4.2.4 R̲e̲t̲r̲i̲e̲v̲e̲ ̲S̲u̲b̲p̲a̲c̲k̲a̲g̲e̲
The Delivery Retrieval Coroutine Subpackage (DIRT)
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
- reception of retrieval error-notification
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.
DIRT will wait on reception of a QEL in the Retrieve
Queue. The QEL will identify one of the following events:
- on-line/off-line notification
- on-line retrieval
- off-line retrieval
- retrieval error notification.
Each of the events will constitute a main function.
A brief description of each function is given below:
a) On-line/Off-line notification:
The received QEL is sent to DIFCO
b) On-line Retrieval:
The received item is sent to DIFCO.
c) Off-line Retrieval:
The received item is sent to the Response Queue.
d) Retrieval ̲error ̲notification:
The received QEL is sent to DIFCO
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̲
4.2.4.3.1 D̲a̲t̲a̲ ̲F̲l̲o̲w̲
The HIPO diagram overleaf show the data flow of DIRT.
4.2.4.3.2 C̲o̲n̲t̲r̲o̲l̲ ̲L̲o̲g̲i̲c̲
The control logic of DIRT is only contained in one
module.
Figure 4.2.4.3-1
Figure 4.2.4.3-2
Figure 4.2.4.2-3
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 D̲I̲R̲T̲ ̲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 retreive queue (MDOS ̲ARR, subqueue 3) and to analyse
the received QEL-attributes (maintype, subtype).
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) DIRT ̲MAIN
b) DIRT ̲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̲
None
The procedure is a submodule which is only called by
the Coroutine Monitor.
4.2.4.4.1.3 M̲o̲d̲u̲l̲e̲ ̲C̲o̲m̲p̲o̲n̲e̲n̲t̲s̲
4.2.4.4.1.3.1 D̲I̲R̲T̲ ̲Q̲E̲L̲ ̲I̲N̲V̲E̲S̲T̲
These procedure analyse the QEL from SAR and selects
the messages whether they are off-line stored or onlined
stored messages within SAR.
4.2.4.4.1.3.2 O̲F̲F̲ ̲L̲I̲N̲E̲ ̲D̲I̲R̲T̲ ̲H̲A̲N̲D̲L̲I̲N̲G̲
Sends the messages original stored off-line at SAR
to the Resp-Queue.
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̲
DIRT ̲OP refer 4.1.4
MDOS ̲COROUTINE ̲OP ̲TYPE refer 4.1.4
QUEUE ̲ATTRIBUTE ̲TYPE refer CPS/DBD/001
QUEUE ̲REFERENCE ̲TYPE refer CPS/DBD/001
QEL ̲REFERENCE ̲TYPE refer CPS/DBD/001
QELEMENT ̲MAIN ̲TYPE refer CPS/DBD/001
SYST ̲CAT ̲SUBTYPE refer CPS/DBD/001
ACK ̲SUBTYPE refer CPS/DBD/001
ERROR ̲NO refer 4.1.4
PROFILE ̲FLAG refer 4.2.4.5
MDOS ̲S2 refer 4.1.4
SENDER ̲ID ̲TYPE refer 4.1.4
b) E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲e̲
DIRT ̲OP (m) refer 4.1.4
MDCO ̲ACTIVE ̲FLAG refer 4.1.4
TRANSACTION ̲ID refer 4.1.4
MDCO ̲SEND ̲PARAMS refer 4.1.4
MDOS ̲QEL refer 4.1.4
MDOS ̲ATTR refer 4.1.4
MDOS ̲QNAME refer 4.1.4
INPUT ̲CIF refer 4.1.4
c) L̲o̲c̲a̲l̲ ̲D̲a̲t̲e̲
None
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.
- Online/Offline/Retrieved-error notifications QEL-types
are signalled to DIFCO.
- Other QEL-types are analysed and distributed to
DIFCO or RESP ̲Q.
System error will be reported by calling the TEP ̲INTERNAL
̲ERROR procedure
DIRT ̲MAIN
DIRT COROUTINE LOOP
CASE RECEIVE ̲FIRST ̲QEL (WAIT, RETR ̲Q)
(MDOS ̲QEL,MDOS ̲ATTR, SUBQUEUE,
CC): ERROR ̲OK
ERROR? CASE ANALYSE ERROR (CC, 1, QEL ̲PROFILE
CHECK): (LI)
LI? SET PROFILE FLAG = TRUE
END CASE
OK?
END CASE
CASE MDOS ̲ATTR.HEADER.MAINTYPE OF QELEMENT ̲MAIN
̲TYPE
PLAINDRESS,
SC ̲PLAINDRESS,
ABB ̲PLAINDRESS? D̲I̲R̲T̲ ̲O̲N̲E̲ ̲I̲N̲S̲P̲E̲C̲
̲(̲ ̲-̲2̲)̲
SYSTEM ̲CATALOGUE ̲DISPLAY? D̲I̲R̲T̲ ̲T̲W̲O̲ ̲I̲N̲S̲P̲E̲C̲
̲(̲-̲3̲)̲
ACKNOWLEDGE? D̲I̲R̲T̲ ̲T̲R̲E̲E̲ ̲I̲N̲S̲P̲E̲C̲
̲(̲-̲4̲)̲
OTHERWISE? T̲E̲P̲ ̲Q̲U̲E̲U̲E̲ ̲E̲R̲R̲O̲R̲
̲(̲C̲O̲N̲T̲I̲N̲U̲E̲)̲(̲4̲.̲1̲.̲5̲.̲1̲)̲
END CASE
END LOOP
END
Figure 4.2.4.4.1.5-1
DIRT ̲ONE ̲INSPEC
CASE MDOS ̲ATTR.HEADER.SUBTYPE OF MESSAGE ̲SUBTYPE
FOR ̲DISPLAY? D̲I̲R̲T̲ ̲Q̲E̲L̲ ̲I̲N̲V̲E̲S̲T̲ ̲(̲4̲.̲2̲.̲4̲.̲4̲.̲1̲.̲3̲.̲1̲)̲
OTHERWISE? T̲E̲P̲ ̲Q̲U̲E̲U̲E̲ ̲E̲R̲R̲O̲R̲(̲C̲O̲N̲T̲I̲N̲U̲E̲)̲(̲4̲.̲1̲.̲5̲.̲1̲)̲
END CASE
Figure 4.2.4.4.1.5-2
DIRT ̲TWO ̲INSPEC
CASE MDOS ̲ATTR.HEADER.SUBTYPE OF SYST ̲CAT ̲SUBTYPE
FOR ̲SYST ̲DISPLAY? D̲I̲R̲T̲ ̲Q̲E̲L̲ ̲I̲N̲V̲E̲S̲T̲ ̲(̲4̲.̲2̲.̲4̲.̲4̲.̲1̲.̲3̲.̲1̲)̲
OTHERWISE? M̲D̲O̲S̲ ̲Q̲U̲E̲U̲E̲ ̲E̲R̲R̲O̲R̲(̲C̲O̲N̲T̲I̲N̲U̲E̲)̲(̲4̲.̲1̲.̲5̲.̲1̲)̲
END CASE
END
Figure 4.2.4.4.1.5-3
RETR ̲THREE ̲INSPEC
CASE MDOS ̲ATTR. SUBTYPE OF ACK ̲SUBTYPE
SAR ̲ONLINE ̲NOTIFICATION ̲ACK? DIRT ̲OP.CMD = ONLINE
NOTIFICATION
SIGNAL ̲OPSEM (MDOS
̲S2,DIRT ̲OP): OK
D̲I̲S̲M̲A̲N̲T̲L̲E̲ ̲Q̲E̲L̲ ̲(̲4̲.̲1̲.̲5̲.̲3̲)̲
SAR ̲OFFLINE NOTIFICATION ̲ACK? DIRT ̲OP.CMD = OFFLINE
NOTIFICATION
SIGNAL ̲OPSEM (MDOS
S2, DIRT ̲OP) :
OK
D̲I̲S̲M̲A̲N̲T̲L̲E̲ ̲Q̲E̲L̲ ̲(̲4̲.̲1̲.̲5̲.̲3̲)̲
SAR ̲ERROR ̲ACK? R̲E̲T̲R̲ ̲F̲O̲U̲R̲ ̲I̲N̲S̲P̲E̲C̲(̲-̲5̲)̲
OTHERWISE? M̲D̲O̲S̲ ̲Q̲U̲E̲U̲E̲ ̲E̲R̲R̲O̲R̲(̲C̲O̲N̲T̲I̲N̲U̲E̲)̲(̲4̲.̲1̲.̲5̲.̲1̲)̲
END CASE
Figure 4.2.4.4.1.5-4…86…1…02… …02… …02… …02… …02… …02… …02… …02… …02… …02…
RETR ̲FOUR ̲INSPEC
MDOS ̲ATTR.HEADER.INF.BIT 0 EQ FALSE?
O̲F̲F̲L̲I̲N̲E̲ ̲D̲I̲R̲T̲ ̲H̲A̲N̲D̲L̲I̲N̲G̲ ̲(̲4̲.̲2̲.̲4̲.̲4̲.̲1̲.̲3̲.̲2̲)̲
MDOS ̲QEL ̲INFO.TRANSACTION ̲SER ̲NO NE TRANSACTION
̲ID. SERIAL ̲NO?
O̲F̲F̲L̲I̲N̲E̲ ̲D̲I̲R̲T̲ ̲H̲A̲N̲D̲L̲I̲N̲G̲
̲(̲4̲.̲2̲.̲4̲.̲4̲.̲1̲.̲3̲.̲2̲)̲
MDOS ̲ACTIVE EQ FALSE? O̲F̲F̲L̲I̲N̲E̲ ̲D̲I̲R̲T̲ ̲H̲A̲N̲D̲L̲I̲N̲G̲ ̲(̲4̲.̲2̲.̲4̲.̲4̲.̲1̲.̲3̲.̲2̲)̲
PROFILE ̲FLAG EQ TRUE? T̲E̲P̲ ̲I̲N̲T̲E̲R̲N̲A̲L̲ ̲E̲R̲R̲O̲R̲ ̲(̲4̲.̲1̲.̲5̲.̲1̲)̲
DIRT ̲OP.CMD = RETRIEVAL ̲ERROR
SIGNAL ̲OPSEM (MDOS ̲S2,DIRT ̲OP):OK
D̲I̲S̲M̲A̲N̲T̲L̲E̲ ̲Q̲E̲L̲ ̲(̲4̲.̲1̲.̲5̲.̲3̲)̲
END
Figure 4.2.4.4.1.5-5
ONLINE DIRT ̲HANDLING
START
MDOS ̲QEL ̲INFO.TRANSACTION ̲SER ̲NO NE TRANSACTION
̲ID.
SERIAL ̲NO?
O̲F̲F̲L̲I̲N̲E̲
̲D̲I̲R̲T̲
̲H̲A̲N̲D̲L̲I̲N̲G̲
̲(̲4̲.̲2̲.̲4̲.̲4̲.̲1̲.̲3̲.̲2̲)̲)̲
MDCO ̲ACTIVE EQ FALSE? O̲F̲F̲L̲I̲N̲E̲ ̲D̲I̲R̲T̲ ̲H̲A̲N̲D̲L̲I̲N̲G̲
̲(̲4̲.̲2̲.̲4̲.̲4̲.̲1̲.̲3̲.̲2̲)̲
PROFILE ̲FLAG EQ TRUE? T̲E̲P̲ ̲Q̲U̲E̲U̲E̲ ̲E̲R̲R̲O̲R̲ ̲(̲G̲I̲V̲E̲
̲U̲P̲)̲ ̲(̲4̲.̲1̲.̲5̲.̲1̲)̲
DIRT ̲OP.CMD = RETR ̲NOTIFICATION
INPUT ̲CIF = MDOS ̲QEL
DIRT ̲OP.PARA1 = MDOS ̲ATTR.HEADER.MAINTYPE
DIRT ̲OP.PARA2 = MDOS ̲ATTR ̲HEADER.FLAGS
SIGNAL ̲OPSEM (MDOS ̲S2, DIRT ̲OP): OK
END
Figure 4.2.4.4.1.5-6
DIRT ̲QEL ̲INVEST
MDOS ̲ATTR.HEADER.INF.BIT 0 EQ TRUE?
O̲F̲F̲L̲I̲N̲E̲ ̲D̲I̲R̲T̲ ̲H̲A̲N̲D̲L̲I̲N̲G̲ ̲
(4.2.4.4.1.3.2)
O̲N̲L̲I̲N̲E̲ ̲D̲I̲R̲T̲ ̲H̲A̲N̲D̲L̲I̲N̲G̲ ̲(̲-̲6̲)̲
END
Figure 4.2.4.4.1.3.1
OFFLINE ̲DIRT ̲HANDLING
MDOS ̲SEND ̲PARAMS.HEADER = MDOS.ATTR.HEADER
MDOS ̲QNAME MAIN = RESPQ
CASE SEND (MDOS ̲SEND ̲PARAMS, MDOS ̲QEL, MDOS ̲QNAME)
(MDOS ̲SEND ̲PARAMS, CC): ERROR ̲OK
ERROR? CASE ANALYZE ̲ERROR (CC, 1,
BLOCKED ̲QUEUE):(LABEL ̲1,
LABEL ̲1?
END CASE
OK?
END CASE
D̲I̲S̲M̲A̲N̲T̲L̲E̲ ̲Q̲E̲L̲ ̲(̲4̲.̲1̲.̲5̲.̲3̲)̲
Figure 4.2.4.4.1.5-6
4.2.4.5 C̲o̲m̲m̲o̲n̲ ̲S̲u̲b̲p̲a̲c̲k̲a̲g̲e̲ ̲D̲a̲t̲a̲
VAR PROFILE ̲FLAG: BOOLEAN
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̲s̲
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 D̲I̲R̲T̲-̲D̲I̲F̲C̲O̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲s̲
The following notificatons are sent from DIRT
to DIFCO via operation semaphore MDOS ̲S2.
ONLINE ̲NOTIFICATION
OFFLINE ̲NOTIFICAITON
RETRIEVAL ̲NOTIFICATION
RETRIEVAL ̲ERROR ̲NOTIFICATION
IN DIRT ̲OP.PARA1 the QEL ̲ATTR.MAINTYPE
and DIRT ̲OP.PARA2 the QEL ̲ATTR.FLAGS
4.3 M̲E̲M̲O̲R̲Y̲ ̲L̲A̲Y̲O̲U̲T̲
As a basis for calculation the following figures
are used:
D̲I̲V̲C̲O̲ ̲C̲O̲R̲O̲U̲T̲I̲N̲E̲
7 MODULES x 0,125K 0,875 K
9 PROCEDURES x 0,025K 0̲,̲2̲2̲5̲ ̲K̲
1,1 K
1,1 K
D̲I̲F̲C̲O̲ ̲C̲O̲R̲O̲U̲T̲I̲N̲E̲
12 MODULES x 0,175K 2,10 K
31 PROCEDURES x 0,050K 1̲,̲5̲5̲ ̲K̲
3,75 K
3,75 K
D̲I̲D̲I̲A̲ ̲C̲O̲R̲O̲U̲T̲I̲N̲E̲
7 MODULES x 0,175K = 1,225 K
24 PROCEDURES 0,050K = 1̲,̲2̲ ̲ ̲ ̲K̲
2.425 K
2,425 K
D̲I̲R̲T̲ ̲C̲O̲R̲O̲U̲T̲I̲N̲E̲
1 MODULE x 0,300K = 0,300 K
0̲,̲3̲ ̲ ̲ ̲K̲
T̲O̲T̲A̲L̲
7,575 K
This 1 Souce statement equal 2Words and Data-Area
is estimated to 3K Words the total Memory turns
to be:
7,575K WORDS x 2 + 3K WORDS = 1̲8̲,̲1̲5̲K̲ ̲W̲O̲R̲D̲S̲
APPENDIX A
This appendix contains the part of the MMI ̲CONTROL
̲TABLE that is specific to the MDCO together with specification
of DISPLAY/VALIDATION procedrues referenced via the
table.
Specification of the remaining part of the MMI ̲CONTROL
̲TABLE relevant to the MDCO can be found in CPS/SDS/039
and CPS/SDS/035 together with specification of referenced
procedures.
O̲U̲T̲P̲U̲T̲ ̲T̲E̲R̲M̲ ̲D̲E̲S̲I̲G̲N̲A̲T̲O̲R̲
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 generates a Terminal designator to be
displayed.
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) OUTPUT ̲TERM ̲DESIGNATOR (READ-ITEM.PT INTEGER
ITEM-LENGTH INTEGER
WHITE-ITEM ̲PT INTEGER)
(ITEM-LENGTH INTEGER):
ERROR
̲OK
b) OUTPUT ̲TERM ̲DESIGNATOR (R0,R1,R2,R6): ERROR
̲OK
C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R0-R1 Pointer to Item to be converted
R2 Length of Item to be converted
R3-R4 Pointer to where item is to be stored
R6 LINK
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R0-R1 Destroyed
R2 Length of converted item
R3-R7 Destroyed
M̲o̲d̲u̲l̲e̲ ̲C̲o̲m̲p̲o̲n̲e̲n̲t̲s̲
N/A
D̲a̲t̲a̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
VAR TABB : TABEL ̲ID TYPE
VAR DESIGNATOR: TERMINAL ̲DESIGNATOR TYPE
TYPE DESIG ̲PARAM: DESIG ̲PARAM TYPE
TYPE TERM RECORD =
RECORD
DEVICE ̲ID:DEVICE ̲ID ̲TYPE
LOGICAL ̲DESIGNATOR:LOCAL DESIGNATOR TYPE
END
DESIG ̲PARAM ̲TYPE=
RECORD
DESIG:LOGICAL DESIGNATOR ̲TYPE
INFO:INTEGER
LINK:POINTER
END
VAR: KEY ̲COUNT=1
TYPE:DESIG ̲PARAM ̲SIZE=SIZE (SCD ̲TYPE)
M̲o̲d̲u̲l̲e̲ ̲D̲e̲s̲i̲g̲n̲
The terminal-designator is given by TMP. The specified
Device-id decides which table to call and the Logical-Designator
is the key to the table.
OUTPUT ̲TERM ̲DESIGNATOR
EQUIVALENCE(READ ̲ITEM ̲PT,TERM ̲RECORD:TERM
̲RECORD TYPE
DESIG ̲PARAM.DESIG=TERMRECORD.LOGICAL ̲DESIGNATOR
CASE DEVICE ̲ID OF DEVICE ̲ID ̲TYPE
TERM? TABB=TERMINAL
̲PROFILE
DEVICE? TABB=DEVICE ̲PROFILE
OTHERWISE? MDOS ̲INTERNAL
̲ERROR(4.1.5.2)
END CASE
CASE SEARCH PRIMARY KEY (TABB,DESIGPARAM,KEYCOUNT
SIZE(DESIGNATOR),BIT
14)
(DESIGNATOR,CC):ERROR
̲OK
ERRORS? ANALYSE ERROR (CC,0)
OK?
END CASE
EQUIVALENCE(WRITE ̲ITEM ̲PT,DESIGNATOR:TERMINAL
̲DESIGNATION ̲
TYPE
END
O̲U̲T̲P̲U̲T̲-̲A̲S̲S̲O̲C̲I̲A̲T̲E̲D̲ ̲S̲C̲D̲
F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
The delivered SCD list from MDP will be displayed one
SCD a time
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) OUTPUT ̲ASSOCIATED ̲SCD (READ-ITEM.PT INTEGER
ITEM-LENGTH INTEGER
WHITE-ITEM ̲PT INTEGER)
(ITEM-LENGTH INTEGER):
ERROR
̲OK
b) OUTPUT ̲ASSOCIATED SCD (R0,R1,R2,R6): ERROR
̲OK
C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R0-R1 Pointer to Item to be converted
R2 Length of Item to be converted
R3-R4 Pointer to where item is to be stored
R6 LINK
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R0-R1 Destroyed
R2 Length of converted item
R3-R7 Destroyed
M̲o̲d̲u̲l̲e̲ ̲C̲o̲m̲p̲o̲n̲e̲n̲t̲s̲
N/A
D̲a̲t̲a̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
M̲o̲d̲u̲l̲e̲ ̲D̲e̲s̲i̲g̲n̲
First the count in Queue list. Queue line. Q ̲SCDc̲NO
is checked. If it is zero the Item length is null and
the procedure is exided. If the count is different
from zero the counter is decremented and the next SCD
is displayed.…86…1…02… …02… …02… …02… …02… …02… …02… …02… …02… …02…
…02…
OUTPUT ASSOCIATED SCD
EQUIVALENCE(MMI ̲CTRL ̲TABLE(MMI ̲PT)
CNT ̲PT:MMI ̲CTRL ̲REC.ITEM ̲COUNT ̲PT)
EQUIVALENCE(MMI ̲CTRL ̲TABLE(MMI ̲PI),
CNT ̲PT:MMI ̲CTRL ̲REC.ITEM ̲COUNT ̲BASE)
EQUIVALENCE((BOCB(I ̲CNT ̲BASE)+CNT ̲PT)%,COUNT:INTEGER)
COUNT EQ 0? ITEM ̲LENGTH=0
DECREMENT ̲COUNT
EQUIVALENCE(READ ̲ITEM ̲PT,INPUT ̲SCD)
OUTPUT SCD=INPUT-̲SCD
EQUIVALENCE(WRITE ̲ITEM ̲PT,OUTPUT ̲SCD)
END
A̲N̲N̲O̲T̲A̲T̲I̲O̲N̲ ̲D̲I̲S̲P̲L̲A̲Y̲
F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
The error ̲codes from MDP with Incoming Distribution
QEL is displayed in the Annotation display line.
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) ANNOTATION ̲DISPLAY (READ-ITEM.PT INTEGER
ITEM-LENGTH INTEGER
WHITE-ITEM ̲PT INTEGER)
(ITEM-LENGTH INTEGER):
ERROR
̲OK
b) ANNOTATION ̲DISPLAY (R0,R1,R2,R6): ERROR
̲OK
C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R0-R1 Pointer to Item to be converted
R2 Length of Item to be converted
R3-R4 Pointer to where item is to be stored
R6 LINK
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R0-R1 Destroyed
R2 Length of converted item
R3-R7 Destroyed
M̲o̲d̲u̲l̲e̲ ̲C̲o̲m̲p̲o̲n̲e̲n̲t̲s̲
N/A
D̲a̲t̲a̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
CONST: ANN1
ANN2
ANN3
ANN4
ANN5
ANN6
ANN7
ANN8
ANN9
M̲o̲d̲u̲l̲e̲ ̲D̲e̲s̲i̲g̲n̲
The MDP error-codes is converted to MDOS annotation
numbers.…86…1…02… …02… …02… …02… …02… …02… …02… …02…
…02…
ANNOTATION
EQUIVALENCE(WRITE ̲ITEM ̲PT,ANNOTATION:ARRAY(1....9
of 4 CHAR)
AN=1
BITT=0
LOOP UNTIL BITT=9
RECV ̲QEL ̲ATTR.HEADER.INF.BIT(BITT)EQ FALSE?
CASE BITT OF
0? CODE = ANN1
1? CODE = ANN2
2? CODE = ANN3
3? CODE = ANN4
4? CODE = ANN5
5? CODE = ANN6
6? CODE = ANN7
7? CODE = ANN8
8? CODE = ANN9
END CASE
ANNOTATION(AN) = CODE
AN = AN+1
BITT = BITT+1
END LOOP
DISPLAY
PRINT ̲REQ
F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
The local print area on VDU is checked. If it is a
Y character, print-flag is set to true so DIFCO will
be informed after all the input has been validated.
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) PRINT ̲REQ (READ-ITEM.PT INTEGER
ITEM-LENGTH INTEGER
WHITE-ITEM ̲PT INTEGER)
(ITEM-LENGTH INTEGER):
ERROR
̲OK
b) PRINT ̲REQ (R0,R1,R2,R6): ERROR
̲OK
C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R0-R1 Pointer to Item to be converted
R2 Length of Item to be converted
R3-R4 Pointer to where item is to be stored
R6 LINK
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R0-R1 Destroyed
R2 Length of converted item
R3-R7 Destroyed
M̲o̲d̲u̲l̲e̲ ̲C̲o̲m̲p̲o̲n̲e̲n̲t̲s̲
N/A
D̲a̲t̲a̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲
PRINT ̲FLAG (m) refer 4.3.2.5.
M̲o̲d̲u̲l̲e̲ ̲D̲e̲s̲i̲g̲n̲
The Print flag will be true when a print-copy is demanded
C̲O̲N̲V̲E̲R̲T̲ ̲T̲O̲ ̲M̲D̲C̲O̲ ̲E̲R̲R̲O̲R̲ ̲N̲O̲
F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
The delivered code from MDP is converted to a known
MDCO ̲ERROR ̲CODE ̲NO.
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) CONVERT TO MDCO ̲ERROR NO (READ-ITEM.PT INTEGER
ITEM-LENGTH INTEGER
WHITE-ITEM ̲PT INTEGER)
(ITEM-LENGTH INTEGER):
ERROR
̲OK
b) CONVERT TO MDCO ̲ERROR NO.(R0,R1,R2,R6): ERROR
̲OK
C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R0-R1 Pointer to Item to be converted
R2 Length of Item to be converted
R3-R4 Pointer to where item is to be stored
R6 LINK
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R0-R1 Destroyed
R2 Length of converted item
R3-R7 Destroyed
M̲o̲d̲u̲l̲e̲ ̲C̲o̲m̲p̲o̲n̲e̲n̲t̲s̲
N/A
D̲a̲t̲a̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
M̲o̲d̲u̲l̲e̲ ̲D̲e̲s̲i̲g̲n̲
The delivered code is analysed and converted to a similar
internal MDCO ̲ERROR ̲CODE ̲NO.
APPENDIX B
This appendix contains the SEC ̲Tables used in procedure
4.2.2.4-11 and the function procedure which the tables
refer to is found in the Function Execution modul 4.2.2.4.12.