top - download
⟦486c3f2d3⟧ Wang Wps File
Length: 50029 (0xc36d)
Types: Wang Wps File
Notes: CPS/SDS/039
Names: »4859A «
Derivation
└─⟦27551141f⟧ Bits:30006195 8" Wang WCS floppy, CR 0468A
└─ ⟦this⟧ »4859A «
WangText
<…06…(…00…(
(…06…'…08…'…0a…'…0c…'…0e…'…01…'…05…'…07…&…09…&…0c…&…0e…&
&…06…%…08…%…0b…%…0e…%…00…%
%…06…$…08…$…0b…$…00…$…02…$…06…$…07…#…09…#…0d…#…0f…#…01…# #…06…"…09…"…0b…"…86…1
…02…
…02…
…02…
…02…CPS/SDS/039
…02…841101…02……02…
USER VDU
DETAILED
DESIGN
SPECIFICATION…02…ISSUE
1…02…CAMPS
4.2.5.6.10 S̲T̲O̲R̲E̲ ̲I̲N̲T̲ ̲A̲R̲E̲A̲
4.2.5.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̲
The purpose of this procedure is to write the contents
of the intermediate-buffer (INTA), which is placed
in variable BIG ̲BUF onto file COLLECT ̲AREA.
4.2.5.6.10.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) STORE ̲INT ̲AREA
b) STORE ̲INT ̲AREA (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
R0-R7 (DEST)
4.2.5.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̲
BUFFER ̲LIST ̲ELEMENT
FILE ̲ADDRESS
FDCB ̲INDEX
STATUS ̲FILE ̲NAMES
b) E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲
INT ̲CHANGES (m)
BIG ̲BUF
UMAM ̲FDCB
UMAM ̲BLE (m)
UMAM ̲FILE ̲ADDR (m)
CURRENT ̲INTA ̲NO
INTA ̲LENGTH ̲B
PREP ̲FILE ̲LENGTH ̲B
c) L̲o̲c̲a̲l̲ ̲D̲a̲t̲a̲
VAR
SAVELINK : INTEGER
MULT : LONG
4.2.5.6.10.4 P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲D̲e̲s̲i̲g̲n̲
Refer figure 4.2.5.6.10-1
STORE ̲INT ̲AREA
BUFFER ̲ADDRESS = BIG ̲BUFFER(PREP ̲FILE ̲LENGTH
̲W + 1)
BUFFER ̲SIZE = INTA ̲LENGTH ̲B
UMAM ̲FILE ̲ADDR.FIRST ̲BYTE = (CURRENT ̲INTA
̲NO-1) * INTA ̲LENGTH ̲B
UMAM ̲FILE ̲ADDR.BYTE ̲COUNT = BUFFER ̲SIZE
UMAM ̲BLE.ADDRESS = BUFFER ̲ADDRESS
UMAM ̲BLE.BYTE ̲SIZE = BUFFER ̲SIZE
FILE ̲ID = UMAM ̲FDCB (COLLECT ̲AREA)
CASE MODIFYBYTES(FILE ̲ID,UMAM ̲FILE ̲ADDR,UMAM
̲BLE)
(UMAM ̲FILE ̲ADDR, CC) ERROR ̲OK
ERROR? ANALYZE ̲ERROR(CC, 0)
OK? INT ̲CHANGES = 0
END CASE
Fig. 4.2.5.6.10
4.2.5.6.11 U̲Q̲ ̲E̲R̲R̲O̲R̲
4.2.5.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 purpose of this module is to report queue errors
to the SSC. The referenced QEL will be set to NIL.
4.2.5.6.11.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) UQ ̲ERROR (USER ̲ACTION: USER ̲ACTION ̲TYPE,
QEL: QEL ̲REFERENCE ̲TYPE)
b) UQ ̲ERROR (R1, 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̲
R1 USER ACTION (DEST)
R3 pointer to QEL (DEST)
R6 LINK (DEST)
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
None
R0-R7 (DEST)
4.2.5.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̲
USER ̲ACTION ̲TYPE
QEL ̲REFERENCE
GARBLE ̲PARAMS
b) E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲
INT ̲ERROR (m)
c) L̲o̲c̲a̲l̲ ̲D̲a̲t̲a̲
VAR SAVER6 : INTEGER
4.2.5.6.11.4 P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲D̲e̲s̲i̲g̲n̲
Data are moved to the INT ̲ERROR and reported to the
SSC.
UQ ̲ERROR
INT ̲ERROR.USER ̲ACTION = USER ̲ACTION
INT ̲ERROR.ERROR ̲TYPE = QERROR
QEL ̲REFERENCE = NIL
CASE QMON ̲SEND ̲GARBLE.ADDR(INT ̲ERROR),QEL)
ERROR ̲OK
ERROR? ANALYZE ̲ERROR (CC,0)
OK?
END CASE
FIGURE 4.2.5.6.11-1
4.2.5.6.12 I̲N̲P̲U̲T̲ ̲P̲R̲E̲P̲
4.2.5.6.12.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 reads the contents of the Preparation-
File into the Preparation buffer (BIG ̲BUF).
4.2.5.6.12.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) INPUT ̲PREP
b) INPUT ̲PREP(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
R0-R7 (DEST)
4.2.5.6.12.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̲
FILE ̲ADDRESS
FDCB ̲INDEX
BUFFER ̲LIST ̲ELEMENT
STATUS ̲FILE ̲NAMES
b) E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲
BIG ̲BUF (m)
UMAM ̲FDCB
UMAM ̲BLE (m)
UMAM ̲FILE ̲ADDR (m)
BIG ̲BUF ̲CONTENTS (m)
PREP ̲FILE ̲LENGTH ̲B
c) L̲o̲c̲a̲l̲ ̲D̲a̲t̲a̲
VAR
SAVER6 : INTEGER
4.2.5.6.12.4 P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲D̲e̲s̲i̲g̲n̲
Refer figure 4.2.5.6.12-1
INPUT ̲PREP
BIG ̲BUF ̲CONTENTS EQ PREP?
BUFFER ̲ADDRESS = BIG ̲BUFFER(1)
BUFFER ̲SIZE = PREP ̲FILE ̲LENGTH ̲B
UMAM ̲FILE ̲ADDR.FIRST ̲BYTE = 0
UMAM ̲FILE ̲ADDR.BYTE ̲COUNT = BUFFER ̲SIZE
UMAM ̲BLE.ADDRESS = BUFFER ̲ADDRESS
UMAM ̲BLE.BYTE ̲SIZE = BUFFER ̲SIZE
FILE ̲ID = UMAM ̲FDCB (PREPARATION ̲AREA)
CASE READ ̲BYTES (FILE ̲ID, UMAM ̲FILE ̲ADDR,
UMAM ̲BLE)
(UMAM ̲FILE ̲ADDR, CC): ERROR ̲OK
ERROR? ANALYZE ̲ERROR(CC, 0)
OK? BIG ̲BUF ̲CONTENTS = PREP
END CASE
Fig. 4.2.5.6.12-1
4.2.5.6.13 L̲O̲O̲K̲U̲P̲ ̲P̲A̲S̲S̲I̲V̲E̲ ̲C̲I̲F̲
4.2.5.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̲
The purpose of this module is to change
the state of a CIF from passive to active.
CREATE ̲QEL will be updated with the QEL-reference.
4.2.5.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) LOOKUP ̲PASSIVE ̲CIF (NAME: VIEW ̲NAME
̲TYPE)
(CREATE ̲QEL: QEL
̲REFERENCE)
:ERROR ̲OK
b) LOOKUP ̲PASSIVE ̲CIF (R1, R2, R6): 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̲s̲
R1 pointer to NAME (DEST)
R6 LINK (DEST)
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R2 CREATE ̲QEL
R0-R1 (DEST)
R3-R7 (DEST)
4.2.5.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̲
VIEW ̲ATTRIBUTES
VIEW ̲NAME ̲TYPE
QEL ̲REFERENCE
b) E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲
UMAM ̲COLQ
UMAM ̲VIEW ATTR
CREATE ̲QEL (m)
c) L̲o̲c̲a̲l̲ ̲D̲a̲t̲a̲
CONST
SUB1 = 1
VAR
SAVELINK : INTEGER
4.2.5.6.13.4 P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲D̲e̲s̲i̲g̲n̲
Refer figure 4.2.5.6.13-1
LOOKUP ̲PASSIVE ̲CIF
UMAM ̲CIF ̲ATTR = NAME
CASE LOOKUP(UMAM ̲CIF ̲ATTR,UMAM ̲COLQ)(CREATE
̲QEL,CC): ERROR ̲OK
ERROR? CASE ANALYZE ̲ERROR(CC, 2,
UNKNOWN ̲VIEW ̲NAME, NO ̲MATCHING
LOCK):(LA1,LA2)
LA1?
LA2? RETURN
(ERROR)
END CASE
OK? RETURN (OK)
END CASE
Fig. 4.2.5.6.13-1
4.2.5.6.14 S̲T̲O̲R̲E̲ ̲S̲O̲R̲T̲E̲D̲ ̲D̲A̲T̲A̲
4.2.5.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̲
This procedure writes status records onto a CIF,
which is refered by register r2.
4.2.5.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) STORE ̲SORTED ̲DATA (CREATE QEL: QEL ̲REFERENCE)
b) STORE ̲SORTED ̲DATA (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̲
R2 CREATE ̲QEL (DEST)
R6 LINK (DEST)
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
None
R0-R7 (DEST)
4.2.5.6.14.3 D̲a̲t̲a̲ ̲D̲e̲f̲i̲n̲i̲t̲i̲o̲n̲
a) D̲a̲t̲a̲ ̲R̲e̲f̲e̲r̲e̲n̲c̲e̲s̲
OUTG ̲STA ̲ADM
FIELD ̲LIST ̲TYPE
QEL ̲REFERENCE
b) E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲
STA ̲CIF ̲FIELD ̲LIST
STATUS ̲INFO
UCIF ̲LIST (m)
CREATE ̲QEL
LITTLE ̲BUF
c) L̲o̲c̲a̲l̲ ̲D̲a̲t̲a̲
VAR
SAVER6 : INTEGER
4.2.5.6.14.4 P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲D̲e̲s̲i̲g̲n̲
Refer figure 4.2.5.6.14-1
STORE ̲SORTED ̲DATA
STATUS ̲INFO.SUBTYPE NE OUTGOING ̲MSG ̲STATUS?
STATUS ̲INFO.SUBTYPE NE OUTGOING ̲MSG ̲MIDNIGHT ̲STATUS?
ADDR = ADDR (LITTLE ̲BUF)
ADDR.OUTG ̲STA ̲ADM.NO ̲MSG ̲PREPARED =
ADDR.OUTG ̲STA ̲ADM.NO ̲REL + ADDR.OUTG ̲STA ̲ADM.NO ̲SENT
̲REL +
ADDR.OUTG ̲STA ̲ADM.NO ̲SENT ̲COOR + ADDR.OUTG ̲STA ̲ADM.NO
̲MSG ̲SUSP +
ADDR.OUTG ̲STA ̲ADM.NO ̲AWAIT ̲APPEND + ADDR.OUTG ̲STA ̲ADM.NO
̲MSG ̲REJ ̲REL+
ADDR.OUTG ̲STA ̲ADM.NO ̲MSG ̲DEF ̲REL.
ADDR.OUTG ̲STA ̲ADM.NO ̲COM ̲PREPARED = ADDR.OUT ̲STA ̲ADM.NO
̲COM ̲SENT
STA ̲CIF ̲FIELD ̲LIST.ELEMENT(1).RECORD ̲LENGTH = SIZE(OUTG
̲STA ̲ADM)*2
CASE WRITE ̲VIEW(SIZE(LITTLE ̲BUF),ADDRESS(STA ̲CIF
̲FIELD ̲LIST,
CREATE
̲DEL, ADDRESS
(LITTLE
̲BUF)(CC)):
ERROR ̲OK
ERROR? ANALYZE ̲ERROR (CC,0)
END CASE
STA ̲CIF ̲FIELD ̲LIST.ELEMENTS(2..8).RECORD ̲LENGTH = 0
STA ̲CIF ̲FIELD ̲LIST.ELEMENTS(1).FIELD ̲BYTE ̲ADDRESS =
0
STATUS ̲INFO.LITTLE ̲BUF ̲PTR = ADDRESS(LITTLE ̲BUF) +
SIZE(OUTG ̲STA ̲ADM)
END STORE ̲SORTED ̲DATA.
FIGURE 4.2.5.6.14-1
4.2.5.6.15 C̲O̲N̲V̲E̲R̲T̲/̲S̲T̲O̲R̲E̲ ̲L̲T̲D̲
4.2.5.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̲
The LTD is looked up in the Terminal/Device profile
and converted to ASCII.
The result is moved to the status administration field.
4.2.5.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̲ ̲C̲o̲n̲v̲e̲r̲t̲i̲o̲n̲
a) CONVERT ̲STORE ̲LTD
b) CONVERT ̲STORE ̲LTD (R6)
R̲e̲g̲i̲s̲t̲e̲r̲ ̲C̲o̲n̲v̲e̲n̲t̲i̲o̲n̲
R6 LINK (DEST)
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
None
R0-R7 (DEST)
4.2.5.6.15.3 D̲a̲t̲a̲ ̲D̲e̲f̲i̲n̲i̲t̲i̲o̲n̲
a) D̲a̲t̲a̲ ̲R̲e̲f̲e̲r̲e̲n̲c̲e̲s̲
USER ̲ACTION
TABLE ̲TYPE
DEVICE ̲PROFILE ̲TYPE
TERMINAL ̲PROFILE ̲TYPE
NO ̲OF ̲VDUS
b) E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲
LITTLE ̲BUF (m)
STATUS-̲INFO
c) L̲o̲c̲a̲l̲ ̲D̲a̲t̲a̲
VAR
SAVER6 : INTEGER
LTD ̲PARAM : TMP ̲PARAM
CONST
PROF ̲MASK = BIT ̲1
TD ̲COUNT = 1
INIT
LTD ̲PARAM.COUNT = TD ̲COUNT
LTD ̲PARAM.BUFFER2 ̲LENGTH = SIZE(DESIGNATOR
̲TYPE)
LTD ̲PARAM.MASK = PROF ̲MASK
LTD ̲PARAM.FUNCTION = SEARCH ̲PRIMARY
̲KEY
LTD ̲PARAM.BUFFER1 = ADDRESS(PROFILE
̲KEY ̲LIST)
4.2.5.6.15.4 P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲D̲e̲s̲i̲g̲n̲
Refer figure 4.2.5.6.15-1
CONVERT/STORE ̲LTD
EQUIVALENCE(LITTLE ̲BUF(1), STA ̲ADM: OUTG ̲STA
̲ADM)
LTD = STATUS ̲INFO.LTD
LTD GT NO ̲OF ̲VDUS?
LTD = LTD ̲NO ̲OF ̲VDUs
TAB = TERMINAL ̲PROFILE
TAB = DEVICE ̲PROFILE
DES = STA ̲ADM.LTD
DES = STA ̲ADM.LDD
LTD ̲PARAM.BUFFER 2 = DES
PROFILE ̲KEY ̲LIST.LINK = NIL
PROFILE ̲KEY ̲LIST.INFO = NULL
PROFILE ̲KEY ̲LIST.KEY = LTD
LTD ̲PARAM.TABLE = TAB
CASE TMP ̲REQUEST (LTD ̲PARAM) : ERROR ̲OK
ERROR? ANALYZE ̲ERROR(CC,0)
OK?
END CASE
PROFILE ̲KEY ̲LIST.INFO EQ 0? U̲I̲N̲T̲ ̲E̲R̲R̲O̲R̲
̲(̲C̲O̲N̲T̲)̲(̲4̲.̲2̲.̲5̲.̲6̲.̲3̲0̲)
STA ̲ADM.LTD = '??????'
Fig. 4.2.5.6.15-1
4.2.5.6.16 I̲N̲P̲U̲T̲ ̲D̲I̲R̲
4.2.5.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̲
This procedure reads the File Directory which is specified
by the caller. If the contents of FILE ̲DIR is identical
to the required directory then the procedure will return
immediate.
4.2.5.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) INPUT ̲DIR (REQUIRED ̲DIR:DIR ̲TYPE)
b) INPUT ̲DIR (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̲
R1 REQUIRED ̲DIR (DEST)
R6 LINK (DEST)
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲
None
R0 - R7 (DEST)
4.2.5.6.16.3 D̲a̲t̲a̲ ̲D̲e̲f̲i̲n̲i̲t̲i̲o̲n̲
a) D̲a̲t̲a̲ ̲R̲e̲f̲e̲r̲e̲n̲c̲e̲s̲
FILE ̲ADDRESS
FDCB ̲INDEX
BUFFER ̲LIST ̲ELEMENT
STATUS ̲FILE ̲NAMES
DIR ̲TYPE
b) E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲
UMAM ̲FDCB
UMAM ̲BLE (m)
UMAM ̲FILE ̲ADDR
FILE ̲DIR
CURRENT ̲DIR
UMAM ̲DIR ̲LENGTH ̲B
c) L̲o̲c̲a̲l̲ ̲D̲a̲t̲a̲
VAR
SAVER6 : INTEGER
4.2.5.6.16.4 P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲D̲e̲s̲i̲g̲n̲
Refer figure 4.2.5.6.16-1
INPUT ̲DIR
REQUIRED ̲DIR EQ CURRENT ̲DIR?
CASE REQUIRED ̲DIR OF DIR ̲TYPE
OLD ̲DIR? - FILE ̲ID = UMAM ̲FDCB(UMAM ̲OLD ̲ACCOUNT)
CURRENT ̲DIR = OLD ̲DIR
NEW ̲DIR? - FILE ̲ID = UMAM ̲FDCB(UMAM ̲ACCOUNT)
CURRENT ̲DIR = NEW ̲DIR
END CASE
UMAM ̲FILE ̲ADDR.FIRST ̲BYTE = 0
UMAM ̲FILE ̲ADDR.BYTE ̲COUNT = UMAM ̲DIR ̲LENGTH ̲B
UMAM ̲BLE.ADDRESS = FILE ̲DIR
UMAM ̲BLE.BYTE ̲SIZE = UMAM ̲DIR ̲LENGTH ̲B
CASE READBYTES(FILE ̲ID, UMAM ̲FILE ̲ADDR, UMAM ̲BLE)
(UMAM ̲FILE ̲ADDR, CC) : ERROR ̲OK
ERROR? - ANALYZE ̲ERROR(CC, O)
OK?
END CASE
Figure 4.2.5.6.16-1
4.2.5.6.17 I̲N̲T̲E̲N̲T̲I̲O̲N̲A̲L̲L̲Y̲ ̲L̲E̲F̲T̲ ̲B̲L̲A̲N̲K̲
4.2.5.6.18 S̲T̲O̲R̲E̲ ̲D̲I̲R̲
4.2.5.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̲
This procedure stores the File Directory which is specified
by the caller.
4.2.5.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) STORE ̲DIR (REQUIRED ̲DIR: DIR ̲TYPE)
b) STORE ̲DIR (R7,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)
R7 REQUIRED ̲DIR (DEST)
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
None
R0 - R7 (DEST)
4.2.5.6.18.3 D̲a̲t̲a̲ ̲D̲e̲f̲i̲n̲i̲t̲i̲o̲n̲
a) D̲a̲t̲a̲ ̲R̲e̲f̲e̲r̲e̲n̲c̲e̲s̲
BUFFER ̲LIST ̲ELEMENT
FILE ̲ADDRESS
FDCB ̲INDEX
STATUS ̲FILE ̲NAMES
DIR ̲TYPE
b) E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲
UMAM ̲FDCB
FILE ̲DIR
UMAM ̲BLE (m)
UMAM ̲DIR ̲LENGTH ̲B
UMAM ̲FILE ̲ADDR(m)
c) L̲o̲c̲a̲l̲ ̲D̲a̲t̲a̲
VAR
SAVER6 : INTEGER
4.2.5.6.18.4 P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲D̲e̲s̲i̲g̲n̲
Refer figure 4.2.5.6.18-1
STORE DIR
CASE REQUIRED ̲DIR OF DIR ̲TYPE
OLD ̲DIR? - FILE ̲ID = UMAM ̲FDCB(UMAM ̲OLD ̲ACCOUNT)
NEW ̲DIR? - FILE ̲ID = UMAM ̲FDCB(UMAM ̲ACCOUNT)
END CASE
UMAM ̲FILE ̲ADDR. FIRST ̲BYTE = O
UMAM ̲FILE ̲ADDR.BYTE ̲COUNT = UMAM ̲DIR ̲LENGTH ̲B
UMAM ̲BLE.ADDRESS = FILE ̲DIR
UMAM ̲BLE.BYTE ̲SIZE = UMAM ̲DIR ̲LENGTH ̲B
CASE MODIFYBYTES (FILE ̲ID, UMAM ̲FILE ̲ADDR, UMAM
̲BLE)
(UMAM ̲FILE ̲ADDR, CC): ERROR
̲OK
ERROR? ANALYZE ̲ERROR (CC, 0)
OK?
END CASE
Figure 4.2.5.6.18-1
4.2.5.6.19 I̲N̲T̲ ̲T̲O̲ ̲A̲S̲C̲I̲I̲
4.2.5.6.19.1 F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
INT ̲TO ̲ASCII converts an integer to the corresponding
ASCII format. Only as many characters as needed are
converted. Both input and output are specified through
a pointer and a byte offset. The pointer points the
first word. If the input/output starts on the WORD-BOUNDARY,
byte offset should be 0, otherwise it should be 1.
If byte offset of the source is 1 (across a WORD-BOUNDARY),
the bytes are extracted as:
R1
LSB N/A N/A MSB
4.2.5.6.19.2 I̲n̲t̲e̲r̲f̲a̲c̲e̲ ̲D̲e̲f̲i̲n̲i̲t̲i̲o̲n̲
a) INT ̲TO ̲ASCII (IN ̲FIELD : POINTER
BYTE ̲OFFSET : INTEGER
BYTE ̲LENGTH : INTEGER)
(OUT ̲FIELD : POINTER
BYTE ̲OFFSET : INTEGER)
b) INT ̲TO ̲ASCII (R1,R2,R3,R4,R5,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 ̲IN ̲FIELD (DEST)
R2 BYTE ̲OFFSET (DEST)
R3 BYTE ̲LENGTH (DEST)
R6 LINK (DEST)
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R4 PTR ̲TO ̲OUT ̲FIELD
R5 BYTE ̲OFFSET
R0-R3, R6-R7 (DEST)
4.2.5.6.19.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̲
None.
b) E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲
None.
c) L̲o̲c̲a̲l̲ ̲D̲a̲t̲a̲
TYPE
WORK ̲BUFFER = ARRAY(0...5) OF BYTE
CONST
ZERO = 0
VAR WORK ̲AREA: WORK ̲BUFFER
4.2.5.6.19.4 P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲D̲e̲s̲i̲g̲n̲
The number is extracted from the source array, and
converted into an internal variable. The needed number
of characters are moved to the specified destination.
4.2.5.6.20 S̲E̲N̲D̲ ̲C̲I̲F̲ ̲T̲O̲ ̲M̲D̲C̲O̲
4.2.5.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̲
This procedure sends a nondeliverable CIF to the MDCO.
The CIF is send with the precedence specified by the
caller. The precedence must neither be FLASH nor SUPERFLASH
. The qel-reference is fetched from QEL1, and the attributes
are fetched from UMAM ̲ATTR.
4.2.5.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) SEND ̲CIF ̲TO ̲MDCO (PRECEDENCE : PRECEDENCE ̲TYPE
SUB : MESSAGE ̲SUBTYPE
b) SEND ̲CIF ̲TO MDCO ( R0, R5, 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 PRECEDENCE
R5 SUB (DEST)
R6 LINK (̲D̲E̲S̲T̲)̲
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
None
R0 - R7 (DEST)
4.2.5.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̲
SEND ̲PARAMS
VIEW ̲REFERENCE
QEL ̲ATTRIBUTES
QELEMENT ̲MAINTYPE
MESSAGE ̲SUBTYPE
b) E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲
UMAM ̲ATTR
QEL1
SEND ̲QUEUE (m)
MDCO ̲QUEUE
c) L̲o̲c̲a̲l̲ ̲D̲a̲t̲a̲
VAR
SAVELINK : INTEGER
4.2.5.6.20.4 P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲D̲e̲s̲i̲g̲n̲
Refer figure 4.2.5.6.20-1
SEND CIF TO MDCO
PREC = MDCO ̲QUEUE.SUBQUEUE
SUB = UMAM ̲PARAMS.SUBTYPE
UMAM ̲ATTR.MAINTYPE = UMAM ̲PARAMS.MAINTYPE
UMAM ̲ATTR.FLAGS = UMAM ̲PARAMS.FLAG
CASE SEND (UMAM ̲PARAMS, QEL1, MDCO ̲QUEUE)
(UMAM ̲PARAMS, CC): ERROR ̲OK
ERROR ? ANALYZE ̲ERROR (CC, 0),
OK?
END CASE
U̲M̲A̲M̲ ̲D̲I̲S̲M̲A̲N̲T̲L̲E̲ ̲(̲Q̲E̲L̲1̲)̲(̲4̲.̲2̲.̲5̲.̲6̲.̲1̲)̲
Figure 4.2.5.6.20-1
4.2.5.6.21 L̲O̲O̲K̲U̲P̲ ̲S̲T̲A̲T̲U̲S̲ ̲R̲E̲C̲
4.2.5.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̲
Reads the contents of the Preparation File and searches
the specified record. If not found, then the contents
of the Expand File is read and searched. If a record
fulfilling the search criterias is found then the OK-exit
is used, otherwise the ERROR-exit will be used.
4.2.5.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) LOOKUP ̲STATUS ̲REC (LTD : DESIGNATOR ̲TYPE
ITEM ̲REF : ITEM ̲REF ̲TYPE
TIME ̲STAMP : TIME ̲TYPE
WINDOW : INTEGER)
(PREP ̲REC : PREP ̲REC ̲TYPE)
: ERROR ̲OK
b) LOOKUP ̲STATUS ̲REC (RO,R1,R2,R4,R5,R6): 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̲
R0 LTD (DEST)
R1 ITEM ̲REF (DEST)
R2 WINDOW (DEST)
R4 POINTER TO TIME ̲STAMP (DEST)
R6 LINK (DEST)
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R5 pointer to PREP ̲REC
R0-R4, R6-R7 (DEST)
4.2.5.6.21.3 D̲a̲t̲a̲ ̲D̲e̲f̲i̲n̲i̲t̲i̲o̲n̲
a) D̲a̲t̲a̲ ̲R̲e̲f̲e̲r̲e̲n̲c̲e̲s̲
TIME ̲TYPE
DESIGNATOR ̲TYPE
ITEM ̲REF ̲TYPE
PREP ̲REC ̲TYPE
b) E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲
None
c) L̲o̲c̲a̲l̲ ̲D̲a̲t̲a̲
VAR
SAVELINK,
SAVER0,
SAVER1,
SAVER2,
SAVER4 : INTEGER
4.2.5.6.21.4 P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲D̲e̲s̲i̲g̲n̲
Refer figure 4.2.5.6.21-1
LOOKUP ̲STATUS ̲REC
I̲N̲P̲U̲T̲ ̲P̲R̲E̲P̲ ̲(̲4̲.̲2̲.̲5̲.̲6̲.̲1̲2̲)
CASE S̲E̲A̲R̲C̲H̲ ̲R̲E̲C̲O̲R̲D̲ ̲(̲L̲T̲D̲,̲ ̲I̲T̲E̲M̲ ̲R̲E̲F̲,̲ ̲W̲I̲N̲D̲O̲W̲,̲ ̲T̲I̲M̲E̲
̲S̲T̲A̲M̲P̲)
(P̲R̲E̲P̲ ̲R̲E̲C̲)̲ ̲(̲4̲.̲2̲.̲5̲.̲6̲.̲3̲8̲)
ERROR? I̲N̲P̲U̲T̲ ̲E̲X̲P̲A̲N̲D̲ ̲(̲4̲.̲2̲.̲5̲.̲6̲.̲2̲5̲)̲
CASE S̲E̲A̲R̲C̲H̲ ̲R̲E̲C̲O̲R̲D̲ ̲(̲L̲T̲D̲,̲ ̲I̲T̲E̲M̲ ̲R̲E̲F̲,̲ ̲W̲I̲N̲D̲O̲W̲,
T̲I̲M̲E̲ ̲S̲T̲A̲M̲P̲)̲ ̲(̲P̲R̲E̲P̲ ̲R̲E̲C̲)̲(̲4̲.̲2̲.̲5̲.̲6̲.̲3̲8̲)
ERROR? EXIT (ERROR)
OK?
END CASE
OK?
END CASE
EXIT (OKAY)
END LOOKUP ̲STATUS ̲REC
FIGURE 4.2.5.6.21-1
4.2.5.6.22 I̲N̲P̲U̲T̲ ̲C̲U̲R̲R̲E̲N̲T̲ ̲I̲N̲T̲
4.2.5.6.22.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 current INTA ̲AREA, which is the latest
used sector of file COLLECT ̲AREA, is
read onto variable INTA, which is within
variable BIG ̲BUF with offset = PREP ̲FILE
̲LENGTH + 1
4.2.5.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) INPUT ̲CURRENT ̲INT
b) INPUT ̲CURRENT ̲INT (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
R0-R7 (DEST)
4.2.5.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̲s̲
STATUS ̲FILE-NAMES
FILE ̲ADDRESS
FDCB ̲INDEX
BUFFER ̲LIST ̲ELEMENT
b) E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲
BIG ̲BUF (m)
UMAM ̲FDCB
UMAM FILE ̲ADDR (m)
UMAM ̲BLE (m)
CURRENT ̲INTA ̲NO
INTA ̲LENGTH
INTA ̲CONTENTS (m)
INTA ̲LENGTH ̲B
PREP ̲FILE ̲LENGTH ̲W
c) L̲o̲c̲a̲l̲ ̲D̲a̲t̲a̲
VAR
SAVER6 : INTEGER
MULT : LONG
4.2.5.6.22.4 P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲D̲e̲s̲i̲g̲n̲
Refer figure 4.2.5.6.22-1
INPUT ̲CURRENT ̲INT
INTA ̲CONTENTS EQ INT?
UMAM ̲FILE ̲ADDR.FIRST ̲BYTE = (CURRENT ̲INTA
̲NO - 1)*INTA ̲LENGTH ̲B
UMAM ̲FILE ̲ADDR.BYTE ̲COUNT = INTA ̲LENGTH ̲B
UMAM ̲BLE.ADDRESS = BIG ̲BUFFER (PREP ̲FILE ̲LENGTH
̲W + 1)
UMAM ̲BLE.BYTE ̲SIZE = INTA ̲LENGTH ̲B
FILE ̲ID = UMAM ̲FDCB (COLLECT ̲AREA)
CASE READBYTES (FILE ̲ID, UMAM ̲FILE ̲ADDR, UMAM
̲BLE)
(UMAM ̲FILE ̲ADDR, CC):ERROR ̲OK
ERROR ? ANALYZE ̲ERROR (CC,O)
OK ? INTA ̲CONTENTS = INT
END CASE
Figure 4.2.5.6.22-1
4.2.5.6.23 I̲N̲P̲U̲T̲ ̲E̲X̲P̲A̲N̲D̲
4.2.5.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̲
This procedure reads the contents of the Expand-file
onto the Preparation buffer (BIG ̲BUF).
4.2.3.5.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) INPUT ̲EXPAND
b) INPUT ̲EXPAND (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
R0 - R7 (DEST)
4.2.5.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̲
BUFFER ̲LIST ̲ELEMENT
FILE ̲ADDRESS
FDCB ̲INDEX
STATUS ̲FILE ̲NAMES
b) E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲
EXPAND ̲FILE ̲LENGTH ̲B
UMAM ̲FILE ̲ADDR (m)
UMAM ̲BLE (m)
UMAM ̲FDCB
BIG ̲BUF ̲CONTENTS(m)
BIG ̲BUF (m)
c) L̲o̲c̲a̲l̲ ̲D̲a̲t̲a̲
VAR
SAVER6 : INTEGER
4.2.5.6.23.4 P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲D̲e̲s̲i̲g̲n̲
Refer figure 4.2.5.6.23-1
INPUT ̲EXPAND
BIG ̲BUF ̲CONTENTS EQ EXPAND?
UMAM ̲FILE ̲ADDR.FIRST ̲BYTE = O
UMAM ̲FILE ̲ADDR.BYTE ̲COUNT = EXPAND ̲FILE ̲LENGTH ̲B
UMAM ̲BLE.ADDRESS = BIG ̲BUFFER (1)
UMAM ̲BLE.BYTE ̲SIZE = EXPAND ̲FILE ̲LENGHT ̲B
FILE ̲ID = UMAM ̲FDCB(EXPAND ̲AREA)
CASE READBYTES (FILE ̲ID, UMAM ̲FILE ̲ADDR, UMAM ̲BLE)
(UMAM ̲FILE ̲ADDR, CC): ERROR ̲OK
ERROR ? ANALYZE ̲EROR (CC, 0)
OK ? BIG ̲BUF ̲CONTENTS = EXPAND
END CASE
Figure 4.2.5.6.23-1
4.2.5.6.24 S̲T̲O̲R̲E̲ ̲E̲X̲P̲A̲N̲D̲
4.2.5.6.24.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 write the contents
of BIG ̲BUF (EXPAND ̲AREA) onto the Expand-file.
4.2.5.6.24.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) STORE ̲EXPAND
b) STORE ̲EXPAND (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
R0 - R7 (DEST)
4.2.5.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̲
FILE ̲ADDRESS
BUFFER ̲LIST ̲ELEMENT
FDCB ̲INDEX
STATUS ̲FILE ̲NAMES
b) E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲
UMAM ̲BLE (m)
UMAM ̲FILE ̲ADDR (m)
UMAM ̲FDCB
BIG ̲BUF
EXPAND ̲FILE ̲LENGTH ̲B
c) L̲o̲c̲a̲l̲ ̲D̲a̲t̲a̲
N̲o̲n̲e̲
4.2.5.6.24.4 P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲D̲e̲s̲i̲g̲n̲
Refer figure 4.2.5.6.24-1
STORE ̲EXPAND
UMAM ̲FILE ̲ADDR.FIRST ̲BYTE = 0
UMAM ̲FILE ̲ADDR.BYTE ̲COUNT = EXPAND ̲FILE ̲LENGTH
̲B
UMAM ̲BLE.ADDRESS = BIG ̲BUFFER (1)
UMAM ̲BLE.BYTE ̲SIZE = EXPAND ̲FILE ̲LENGTH ̲B
FILE ̲ID = UMAM ̲FDCB(EXPAND ̲AREA)
CASE MODIFYBYTES (FILE ̲ID, UMAM ̲FILE ̲ADDR,
UMAM ̲BLE)
(UMAM ̲FILE ̲ADDR, CC):ERROR ̲OK
ERROR ? ANALYZE ̲ERROR (CC,O)
OK ?
END CASE
Figure 4.2.5.6.24-1
4.2.5.6.25 T̲H̲R̲E̲S̲H̲O̲L̲D̲ ̲W̲A̲R̲N̲I̲N̲G̲
4.2.5.6.25.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 warning report is sent to the Supervisor
Printer.
4.2.5.6.25.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) THRESHOLD-WARNING (THRESHOLD : THRESHOLD
̲TYPE)
b) THRESHOLD ̲WARNING (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̲
R1 THRESHOLD (DEST)
R6 LINK (DEST)
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
None
R0 - R7 (DEST)
4.2.5.6.25.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̲
QEL ̲REFERENCE
REPORT ̲BUFFER ̲TYPE
BUFFER ̲REFERENCE
THRESHOLD ̲TYPE
b) E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲
CREATE ̲QEL (m)
UMAM ̲CMDQ
c) L̲o̲c̲a̲l̲ ̲D̲a̲t̲a̲
CONST
BUFFER ̲OFFSET = 1
REPORT ̲NO = REP ̲PREP ̲DBD ̲THRS
= 7 IN CPS ̲REPORT
VAR
SAVELINK : INTEGER
THRES ̲100 ̲DATA
THRES ̲90 ̲DATA
THRES ̲75 ̲DATA : LONG
REPORT ̲BUF : REPORT ̲BUFFER ̲TYPE
INIT
THRES ̲100 ̲DATA = 100%
THRES ̲90 ̲DATA = 90%
THRES ̲75 ̲DATA = 75%
REPORT ̲BUF.TEXT ̲REF = REPORT
̲NO
REPORT ̲BUF.REPORT ̲DATA ̲FIELD
= 21 SPACES
4.2.5.6.25.4 P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲D̲e̲s̲i̲g̲n̲
Refer figure 4.2.5.6.25-1
THRESHOLD ̲WARNING
CASE THRESHOLD OF THRESHOLD ̲TYPE
THRES ̲100 ? THRES ̲100 ̲DATA = REPORT ̲BUF.REPORT
̲DATA ̲FIELD
THRES ̲90 ? THRES ̲90 ̲DATA REPORT ̲BUF.REPORT
̲DATA ̲FIELD
THRES ̲75 ? THRES ̲75 ̲DATA REPORT ̲BUF.REPORT
̲DATA ̲FIELD
END CASE
G̲E̲T̲ ̲T̲I̲M̲E̲ ̲(̲R̲E̲P̲O̲R̲T̲ ̲B̲U̲F̲.̲T̲O̲C̲)̲ ̲(̲4̲.̲2̲.̲5̲.̲6̲.̲3̲3̲)
CASE RESERVE ̲BUFFER(SIZE(REPORT ̲BUFFER),UMAM ̲CMDQ)
(CREATE ̲QEL,
CC): ERROR ̲OK
ERROR? - ANALYZE ̲ERROR(CC, 0)
OK?
END CASE
CASE WRITE ̲BUFFER (CREATE ̲QEL, REPORT ̲BUF, REPORT
̲BUF ̲SIZE,1)
(SIZE, CC): ERROR ̲OK
ERROR ? ANALYZE ̲ERROR (CC,0)
OK ?
END CASE
S̲E̲N̲D̲ ̲R̲E̲P̲O̲R̲T̲ ̲(̲C̲R̲E̲A̲T̲E̲ ̲Q̲E̲L̲,̲ ̲U̲M̲A̲M̲ ̲W̲A̲R̲N̲I̲N̲G̲)̲(̲4̲.̲2̲.̲5̲.̲6̲.̲2̲9̲)̲
U̲M̲A̲M̲ ̲D̲I̲S̲M̲A̲N̲T̲L̲E̲ ̲(̲C̲R̲E̲A̲T̲E̲ ̲Q̲E̲L̲)̲(̲4̲.̲2̲.̲5̲.̲6̲.̲1̲)̲
Figure 4.2.5.6.25-1
4.2.5.6.26 L̲O̲O̲K̲U̲P̲ ̲E̲M̲P̲T̲Y̲ ̲P̲R̲E̲P̲ ̲R̲E̲C̲
4.2.5.6.26.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 empty record is searched in the Preparation- and
Expand Files. If no record is found then the ERROR-exit
otherwise the OKAY-exit is used. A warning report is
sent to the Supervisor Printer if one of the threshold
values for the Expand file is reached.
4.2.5.6.26.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) LOOKUP ̲EMPTY ̲PREP ̲REC
(PREP
̲REC
:PREP
̲REC
̲TYPE)
b) LOOKUP ̲EMPTY ̲PREP ̲REC (R0, R6): 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̲s̲
R6 LINK (DEST)
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R0 Pointer to PREP ̲REC
R1 - R7 (DEST)
4.2.5.6.26.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̲
PREP ̲REC ̲TYPE
STATUS ̲TYPE
USER ̲ACTION ̲TYPE
GAQ ̲INFO ̲TYPE
b) E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲
BIG ̲BUF ̲CONTENTS
EXPAND ̲NO (m)
c) L̲o̲c̲a̲l̲ ̲D̲a̲t̲a̲
CONST
NO ̲OF ̲PREP ̲REC = PREP ̲FILE ̲LENGTH ̲W/SIZE(PREP
̲
REC ̲TYPE)
THR ̲75 ̲VALUE = 192
THR ̲90 ̲VALUE = 230
VAR
REC ̲POINTER
SAVELINK : INTEGER
4.2.5.6.26.4 P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲D̲e̲s̲i̲g̲n̲
refer figure 4.2.5.6.26-1
LOOKUP ̲EMPTY ̲PREP ̲REC
EQUIVALENCE(BIG ̲BUF(1), PREP ̲REC: PREP ̲REC ̲TYPE)
START ̲REC = 1
…02…FOUND = FALSE
LOOP
PREP ̲REC(START ̲REC).STATUS EQ DUMMY? - FOUND
= TRUE
INCREMENT START ̲REC
START ̲REC GT NO ̲OF ̲PREP ̲REC?
FOUND EQ TRUE?
EXIT
LOOP
END LOOP
BIG ̲BUF ̲CONTENTS EQ PREP?
INCREMENT EXPAND ̲NO
THR ̲75 EQ TRUE?
EXPAND ̲NO NE THR ̲75 ̲VALUE?
T̲H̲R̲E̲S̲H̲O̲L̲D̲ ̲W̲A̲R̲N̲I̲N̲G̲ ̲(̲4̲.̲2̲.̲5̲.̲6̲.̲2̲5̲)̲
THR ̲75 = TRUE
THR ̲90 EQ TRUE?
EXPAND ̲NO NE THR ̲90 ̲VALUE?
T̲H̲R̲E̲S̲H̲O̲L̲D̲ ̲W̲A̲R̲N̲I̲N̲G̲ ̲(̲4̲.̲2̲.̲5̲.̲6̲.̲2̲5̲)̲
THR ̲90 = TRUE
FOUND EQ TRUE? - RETURN (OK)
RETURN (ERROR)
Figure 4.2.5.6.26-1
4.2.5.6.27 E̲X̲C̲L̲U̲D̲E̲ ̲F̲R̲O̲M̲ ̲P̲R̲E̲P̲
4.2.5.6.27.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 passive CIF is made active and dismantled. PREP ̲
REC.STATUS will be changed to S ̲DUMMY. The contents
of BIG ̲BUF will be written into the EXPAND or PREPARATION
file, depending of the contents of BIG ̲BUF ̲CONTENTS.
4.2.5.6.27.2 I̲n̲t̲e̲r̲f̲a̲c̲e̲ ̲D̲e̲f̲i̲n̲i̲t̲i̲o̲n̲s̲
C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲s̲
a) EXCLUDE ̲FROM ̲PREP (PREP ̲REC : PREP ̲REC ̲TYPE;
b) EXCLUDE ̲FROM ̲PREP (R4,R6)
R̲e̲g̲i̲s̲t̲e̲r̲ ̲C̲o̲n̲v̲e̲n̲t̲i̲o̲n̲
C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲
R4 pointer to PREP ̲REC (DEST)
R6 LINK (DEST)
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲
None
R0-R7 (DEST)
4.2.5.6.27.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̲
USER ̲ACTION ̲TYPE
FILE ̲DIR ̲TYPE
PREP ̲REC ̲TYPE
ARRAY ̲CONTROL ̲BLOCK
b) E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲
FILE ̲DIR ̲ACB
CREATE ̲QEL
FILE ̲DIR (m)
BIG ̲BUF ̲CONTENTS
THR ̲75
THR ̲90
RESET ̲THR ̲75
RESET ̲THR ̲90
c) L̲o̲c̲a̲l̲ ̲D̲a̲t̲a̲
VAR
SAVE ̲PTR
SAVELINK : INTEGER
4.2.5.6.27.4 P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲D̲e̲s̲i̲g̲n̲
Refer figure 4.2.5.6.27-1
EXCLUDE ̲FROM ̲PREP
CASE L̲O̲O̲K̲U̲P̲ ̲P̲A̲S̲S̲I̲V̲E̲ ̲C̲I̲F̲(̲P̲R̲E̲P̲ ̲R̲E̲C̲.̲N̲A̲M̲E̲)̲
(̲C̲R̲E̲A̲T̲E̲ ̲Q̲E̲L̲)̲:̲ ̲E̲R̲R̲O̲R̲ ̲O̲K̲ ̲(̲4̲.̲2̲.̲5̲.̲6̲.̲1̲3̲)̲
ERROR?
OK? U̲N̲L̲O̲C̲K̲ ̲P̲A̲S̲S̲I̲V̲E̲ ̲C̲I̲F̲S̲(̲C̲R̲E̲A̲T̲E̲ ̲Q̲E̲L̲)̲(̲4̲.̲2̲.̲5̲.̲6̲.̲2̲8̲)̲
U̲M̲A̲M̲ ̲Q̲E̲L̲ ̲D̲I̲S̲M̲A̲N̲T̲L̲E̲(̲C̲R̲E̲A̲T̲E̲ ̲Q̲E̲L̲)̲(̲4̲.̲2̲.̲5̲.̲6̲.̲1̲)̲
END CASE
CASE BIG BUF CONTENTS OF
PREP ̲F? - DECREMENT ̲FILE DIR (PREP ̲REC.LTD.PREP)
PREP ̲REC.STATUS = DUMMY
S̲T̲O̲R̲E̲ ̲P̲R̲E̲P̲ ̲(̲4̲.̲2̲.̲5̲.̲6̲.̲8̲)̲
EXPAND ̲F? - DECREMENT
FILE
̲DIR
(PREP
̲RECL.LTD.EXPAND)
DECREMENT EXPAND ̲NO
PREP ̲REC.STATUS = DUMMY
S̲T̲O̲R̲E̲ ̲E̲X̲P̲A̲N̲D̲(̲4̲.̲2̲.̲5̲.̲6̲.̲2̲4̲)̲
RESET ̲THR ̲75 = TRUE? THR ̲75
= 0
RESET ̲THR ̲90 = TRUE? THR ̲90
= 0
END CASE
FIG. 4.2.5.6.27-1
4.2.5.6.28 U̲N̲L̲O̲C̲K̲ ̲P̲A̲S̲S̲I̲V̲E̲ ̲C̲I̲F̲S̲
4.2.5.6.28.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 unlock all locked
versions of a CIF
4.2.5.6.28.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) UNLOCK ̲PASSIVE ̲CIFS (CREATE ̲QEL : VIEW ̲REFERENCE)
b) UNLOCK ̲PASSIVE ̲CIFS (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̲
R2 QEL (DEST)
R6 LINK (DEST)
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
None
R0 - R7 (DEST)
4.2.5.6.28.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 ̲TYPE
b) E̲x̲t̲e̲r̲n̲a̲l̲ ̲R̲e̲f̲e̲r̲e̲n̲c̲e̲s̲
CREATE ̲QEL (m)
c) L̲o̲c̲a̲l̲ ̲D̲a̲t̲a̲
VAR
SAVELINK
QEL ̲SAVE
LOOPEXIT : INTEGER
4.2.5.6.28.4 P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲D̲e̲s̲i̲g̲n̲
Refer figure 4.2.5.6.28-1
UNLOCK ̲PASSIVE ̲CIFS
LOOP
CASE UNLOCK ̲VIEW (CREATE ̲QEL) (CC) : ERROR ̲OK
ERROR ? - CASE ANALYZE ̲ERROR (CC, 1, NO ̲MATCHING
̲LOCK):(LA1)
LA1? EXIT LOOP
END CASE
OK ? HANDLE ̲COUNT EQ O ? EXIT LOOP
END CASE
END LOOP
Figure 4.2.5.6.28-1
4.2.5.6.29 S̲E̲N̲D̲ ̲R̲E̲P̲O̲R̲T̲
4.2.5.6.29.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 report buffer is sent to the Supervisor Printer
4.2.5.6.29.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) SEND ̲REPORT (QEL : QEL ̲REFERENCE,
REP : REP ̲TYPE)
SEND ̲REPORT (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̲
R2 QEL (DEST)
R3 REP (DEST)
R6 LINK (DEST)
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
None
R0 - R7 (DEST)
4.2.5.6.29.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 ̲REFERENCE
SEND ̲PARAMS
USER ̲ACTION ̲TYPE
QELEMENT ̲MAIN ̲TYPE
REPORT ̲SUBTYPE
REP ̲TYPE
b) E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲
UMAM ̲PARAMS (m)
REPORT ̲QUEUE
c) L̲o̲c̲a̲l̲ ̲D̲a̲t̲a̲
VAR
SAVELINK : INTEGER
4.2.5.6.29.4 P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲D̲e̲s̲i̲g̲n̲
Refer figure 4.2.5.6.29-1
SEND ̲REPORT
CASE REP OF REP ̲TYPE
WARNING ? WARNING ̲REPORT = UMAM ̲PARAMS.SUBTYPE
DELETION? DELETION ̲REQUEST ̲REPORT = UMAM
̲PARAMS.SUBTYPE
END CASE
UMAM ̲PARAMS.MAINTYPE = REPORT
CASE SEND (UMAM ̲PARAMS, QEL, REPORT ̲QUEUE)
(UMAM ̲PARAMS, CC) : ERROR ̲OK
ERROR ? ANALYZE ̲ERROR (CC, 0)
OK?
END CASE
Figure 4.2.5.6.29-1
4.2.5.6.30 U̲I̲N̲T̲ ̲E̲R̲R̲O̲R̲
4.2.5.6.30.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 procedurie is to report internal
errors to the SSC. The action taken can either be GIVE
̲
UP or CONTINUE.
4.2.5.6.30.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) UINT ̲ERROR (USER ̲ACTION: USER ̲ACTION ̲TYPE,
MODULE ̲ID: UMAM ̲MODULE ̲ID,
PROCEDURE ̲ID: UMAM ̲PROCEDURE ̲ID,
ERROR ̲CODE ̲ID : UMAM ̲ERROR ̲ID)
b) UINT ̲ERROR (R1, R3, R4, R5, 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 USER ̲ACTION (DEST)
R3 MODULE ̲ID (DEST)
R4 PROCEDURE ̲ID (DEST)
R5 ERROR ̲CODE ̲ID (DEST)
R6 LINK (DEST)
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
None
R0 - R7 (DEST)
4.2.5.6.30.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̲
USER ̲ACTION ̲TYPE
INTERNAL ̲ERROR ̲TYPE
b) E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲
INT ̲ERROR
c) L̲o̲c̲a̲l̲ ̲D̲a̲t̲a̲
VAR
SAVELINK : INTEGER
4.2.5.6.30.4 P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲D̲e̲s̲i̲g̲n̲
This procedure reports internal errors to the SSC by
calling the SEND ̲GARBLE-procedure.
4.2.5.6.31 P̲r̲e̲ ̲S̲t̲a̲t̲u̲s̲
4.2.5.6.31.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 initiates the execution of a status
request.
4.2.5.6.31.2 I̲n̲t̲e̲r̲f̲a̲c̲e̲ ̲D̲e̲f̲i̲n̲i̲t̲i̲o̲n̲
a) PRE ̲STATUS (STATUS : STATUS ̲SUBTYPE)
b) PRE ̲STATUS (R4, R6)
R̲e̲g̲i̲s̲t̲e̲r̲ ̲C̲o̲n̲v̲e̲n̲t̲i̲o̲n̲
C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲
R4 STATUS (DEST)
R6 LINK (DEST)
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲
None
R0-R7 (DEST)
4.2.5.6.31.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̲
OUTG ̲STA ̲ADM
ARRAY ̲CONTROL ̲BLOCK
FIELD ̲LIST ̲ELEMENT
STATUS ̲SUBTYPE
STATUS ̲ATTRIBUTES
b) E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲
LITTLE ̲BUF (m)
STATUS ̲ACB
INT ̲CHANGES
STATUS ̲INFO (m)
OUTG ̲START
RELE ̲START
DELI ̲START
OLD ̲OUTG ̲START
OLD ̲DELI ̲START
OLD ̲RELE ̲START
c) VAR
SAVER6 : INTEGER
4.2.5.6.31.4 P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲D̲e̲s̲i̲g̲n̲
Refer figure 4.2.5.6.31-1
PRE ̲STATUS
UPDATE STATUS ̲INFO.END ̲FILE ̲PT
C̲R̲E̲A̲T̲E̲ ̲O̲P̲E̲N̲ ̲S̲T̲A̲T̲U̲S̲ ̲C̲I̲F̲ ̲(̲4̲.̲2̲.̲5̲.̲6̲.̲5̲)
INT ̲CHANGES GT 0? S̲T̲O̲R̲E̲ ̲I̲N̲T̲ ̲A̲R̲E̲A̲ ̲(̲4̲.̲2̲.̲5̲.̲6̲.̲1̲0̲)
EQUIVALENCE (LITTLE ̲BUF(1), STA ̲ADM : OUTG ̲STA ̲ADM)
STA ̲ADM = 0
STA ̲ADM.MAINTYPE = STATUS
C̲O̲N̲V̲E̲R̲T̲ ̲S̲T̲O̲R̲E̲ ̲L̲T̲D̲ ̲(̲4̲.̲2̲.̲5̲.̲6̲.̲1̲5̲)
STA ̲CIF ̲FIELD ̲LIST.FIELD ̲BYTE ̲ADDRESS = 0
STA ̲CIF ̲FIELD ̲LIST(1).RECORD ̲LENGTH = SIZE (OUTG ̲STA
̲ADM) * 2
RESET STA ̲CIF ̲FIELD ̲LIST(2..8).RECORD ̲LENGTH
FIGURE 4.2.5.6.31-1
4.2.5.6.32 R̲e̲a̲d̲ ̲S̲t̲a̲t̲u̲s̲ ̲F̲i̲l̲e̲
4.2.5.6.32.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 read sequences
of bytes from a file specified by variable STATUS ̲
INFO.FDCB.
4.2.5.6.32.2 I̲n̲t̲e̲r̲f̲a̲c̲e̲ ̲D̲e̲f̲i̲n̲i̲t̲i̲o̲n̲
a) READ ̲STATUS ̲FILE
b) READ ̲STATUS ̲FILE(R6) : 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̲s̲
R6 LINK (DEST)
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
None
R0-R7 (DEST)
4.2.5.6.32.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̲
FILE ̲ADDRESS
BUFFER ̲LIST ̲ELEMENT
b) E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲
UMAM ̲FILE ̲ADDR (m)
STATUS ̲INFO (m)
UMAM ̲BLE (m)
BIG ̲BUF (m)
BIG ̲BUF ̲CONTENTS (m)
c) L̲o̲c̲a̲l̲ ̲D̲a̲t̲a̲
None
4.2.5.6.32.4 P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲D̲e̲s̲i̲g̲n̲
Refer figure 4.2.5.6.32-1
READ ̲STATUS ̲FILE
UMAM ̲FILE ̲ADDR.BYTE ̲SIZE = SIZE (BIG ̲BUF) * 2
UMAM ̲BLE.ADDRESS = ADDRESS(BIG ̲BUF)
UMAM ̲BLE.BYTE ̲SIZE = SIZE(BIG ̲BUF) * 2
BIG ̲BUF ̲CONTENTS = NO ̲CONTENTS
CASE READ ̲BYTES(STATUS.INFO.FDCB, UMAM ̲BLE, UMAM ̲FILE
̲ADDR)
(UMAM ̲FILE ̲ADDR.CC) : ERROR ̲OK
ERROR: CASE ANALYZE ̲ERROR(CC1, EOF) : EXIT ̲1
LA1 : EXIT = ERROR
OKAY: EXIT = OKAY
END CASE
UMAM ̲FILE ̲ADDR.FIRST ̲BYTE = UMAM ̲FILE ̲ADDR.FIRST ̲BYTE
+ UMAM ̲
FILE ̲ADDR.TRANSFERRED ̲BYTES)
UMAM ̲FILE ̲ADDR.BYTE ̲COUNT GT UMAM ̲FILE ̲ADDR.TRANSFERRED
̲BYTES?
EXIT
(ERROR)
STATUS ̲INFO.WORD ̲COUNT = UMAM ̲FILE ̲ADDR.TRANSFERRED
̲BYTES/2
UMAM ̲FILE ̲ADDR.FIRST ̲BYTE GE STATUS ̲INFO.WORD ̲COUNT?
EXIT(ERROR)
EXIT (OKAY)
END READ ̲STATUS ̲FILE
FIGURE 4.2.5.6.32-1
4.2.5.6.33 G̲e̲t̲ ̲T̲i̲m̲e̲
4.2.5.6.33.1 F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
This procedure reads current time by calling Timer
Monitor. The time is returned in internal representation.
4.2.5.6.33.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) GET ̲TIME (TIME: POINTER ̲TO ̲TIME)
b) GET ̲TIME (R5, 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̲
R5 TIME (KEPT)
R6 LINK (DEST)
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R5 TIME
R0-R4, R6, R7 (DEST)
4.2.5.6.33.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 ̲TIME ̲TYPE
b) E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲
None
c) L̲o̲c̲a̲l̲ ̲D̲a̲t̲a̲
None
4.2.5.6.33.4 P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲D̲e̲s̲i̲g̲n̲
A call to Timer Monitor is performed.
4.2.5.6.34 U̲m̲a̲m̲ ̲R̲e̲q̲u̲e̲s̲t̲ ̲T̲i̲m̲e̲o̲u̲t̲
4.2.5.6.34.1 F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
A timeout at 00.00 hour is requested.
4.2.5.6.34.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) UMAM ̲REQUEST ̲TIMEOUT
b) UMAM ̲REQUEST ̲TIMEOUT (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
R0-R7 (DEST)
4.2.5.6.34.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̲
REQUEST ̲TIME ̲ABSOLUTE
REQUEST ̲TIMEOUT
b) E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲
None
c) L̲o̲c̲a̲l̲ ̲D̲a̲t̲a̲
VAR
TIME ̲PARAM.TIME ̲OUT ̲KIND = K ̲ABSOLUTE
TIME ̲PARAM.QUEUE.MAIN ̲QUEUE = UMAM ̲UMAM ̲CMDQ
TIME ̲PARAM.QUEUE.SUB ̲QUEUE = 1
TIME ̲PARAM.TIME.HOUR = 0
TIME ̲PARAM.TIME.MINUTE = 0
TIME ̲PARAM.EVENT ̲ID = 0
4.2.5.6.34.4 P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲D̲e̲s̲i̲g̲n̲
Constants are moved to TIME ̲PARAM and a Reguest-Timeout
call is performed.
4.2.5.6.35 T̲o̲ ̲D̲T̲G̲ ̲T̲i̲m̲e̲
4.2.5.6.35.1 F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
This procedure converts time pointed out by register
2 from internal-representation time to DIG time and
places the result in the area pointed out by register
3.
4.2.5.6.35.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) TO ̲DIG ̲TIME (IN ̲TIME : INTEGER,
OUT ̲TIME : INTEGER)
b) TO ̲DIG ̲TIME (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̲
R2 POINTER TO IN ̲TIME (DEST)
R3 POINTER TO OUT ̲TIME (DEST)
R6 LINK (DEST)
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
None
R0-R7 (DEST)
4.2.5.6.35.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̲
TO ̲DIG ̲TYPE
b) E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲ ̲
None
c) L̲o̲c̲a̲l̲ ̲D̲a̲t̲a̲
None
4.2.5.6.35.4 P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲D̲e̲s̲i̲g̲n̲
A convert time call to Timer Monitor is performed
4.2.5.6.36 M̲o̲v̲e̲ ̲W̲o̲r̲d̲s̲
4.2.5.6.36.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 moves words from one integer-array to
another. The FROM POINTER defines the word-array to
move from and the TO POINTER defines the word-array
to move to. The WORD COUNT is the number of words to
be moved. (Max = 32)
4.2.5.6.36.2 I̲n̲t̲e̲r̲f̲a̲c̲e̲ ̲D̲e̲f̲i̲n̲i̲t̲i̲o̲n̲
a) MOVE ̲WORDS (FROM ̲POINTER : POINTER
TO ̲POINTER : POINTER
WORD ̲COUNT : INTEGER)
b) MOVE ̲WORDS(R4, R5, R7, 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̲ ̲
R4 FROM ̲POINTER (KEPT)
R5 TO ̲POINTER (KEPT)
R7 WORD ̲COUNT (DEST)
R6 LINK (DEST)
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R4, R5
R0-R3, R6-R7 (DEST)
4.2.5.6.36.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̲
None
b) E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲
None
c) L̲o̲c̲a̲l̲ ̲D̲a̲t̲a̲
CONST
MAX ̲WORD ̲NUMBER = 32
TYPE
WORD ̲ARRAY = ARRAY(1..MAX ̲WORD ̲NUMBER) OF INTEGER
4.2.5.6.36.4 P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲D̲e̲s̲i̲g̲n̲
A loop is entered and one by one an integer is moved
and WORD ̲COUNT is decremented. The loop is exited when
WORD ̲COUNT is equal null.
4.2.5.6.37 C̲h̲a̲n̲g̲e̲ ̲S̲t̲a̲t̲u̲s̲ ̲F̲i̲l̲e̲s̲
4.2.5.6.37.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 changes the contents of UMAM ̲FDCB. The
old FILE ̲NAMES and the new FILE ̲NAMES will be interchanged.
4.2.5.6.37.2 I̲n̲t̲e̲r̲f̲a̲c̲e̲ ̲D̲e̲f̲i̲n̲i̲t̲i̲o̲n̲
a) CHANGE ̲STATUS ̲FILES
b) CHANGE ̲STATUS ̲FILES (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
R0-R7 (DEST)
4.2.5.6.37.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̲
STATUS ̲FILE ̲NAMES
b) E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲
UMAM ̲FDCB (m)
OUTG ̲START
OLD ̲OUTG ̲START (m)
RELE ̲START
OLD ̲RELE ̲START (m)
DELI ̲START
OLD ̲DELI ̲START (m)
UMAM ̲FILE ̲NAME ̲PT ̲(m)
c) L̲o̲c̲a̲l̲ ̲D̲a̲t̲a̲
None
4.2.5.6.37.4 P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲D̲e̲s̲i̲g̲n̲
The old FILE ̲NAMES and the new FILE ̲NAMES are interchanged.
The start addresses of the files are stored in old
start addresses.
4.2.5.6.38 S̲e̲a̲r̲c̲h̲ ̲R̲e̲c̲o̲r̲d̲
4.2.5.6.38.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 specified status record is searched in the Preparation-area.
If TIME ̲STAMP is equal to NIL then the time contained
in the status record will not be checked. If TIME ̲STAMP
is unequal NIL then it is checked whether the following
conditions is fulfilled:
TIMESTAMP = PREP ̲REC.TIME = TIMESTAMP + WINDOW
If any record fulfilling the search criterias is found
then the OK-exit is used, otherwise the ERROR-exit
is used.
4.2.5.6.38.2 I̲n̲t̲e̲r̲f̲a̲c̲e̲ ̲D̲e̲f̲i̲n̲i̲t̲i̲o̲n̲
a) SEARCH ̲RECORD (LTD: LOGICAL ̲TERMINAL ̲DESIGNATOR
IT ̲REF: ITEM ̲REFERENCE ̲IDENTITY
WINDOW: INTEGER
TIME ̲STAMP: POINTER TO TIME ̲STAMP)
(PREP ̲REC ̲PTR : POINTER TO PREP ̲REC)
b) SEARCH ̲RECORD (R0, R1, R2, R4, R5, R6) : 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̲s̲
R0 LTD (DEST)
R1 IT ̲REF (DEST)
R2 WINDOW (DEST)
R4 TIME ̲STAMP (DEST)
R6 LINK (DEST)
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R5 PREP ̲REC ̲PTR
R0-R4, R6-R7 (DEST)
4.2.5.6.38.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̲
LOGICAL ̲TERMINAL ̲DESIGNATOR
ITEM ̲REFERENCE ̲ITEM ̲TYPE
PREP ̲REC ̲TYPE
b) E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲
BIG ̲BUF
c) L̲o̲c̲a̲l̲ ̲D̲a̲t̲a̲
VAR
SAVELINK
WINDOW
LOOPCOUNT : INTEGER
CONST
LOOPEXIT = PREP ̲FILE ̲LENGTH ̲W/SIZE(PREP ̲REC
̲TYPE)
4.2.5.6.38.4 P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲D̲e̲s̲i̲g̲n̲
A loop is entered, and the contents of BIG ̲BUF is scanned.
If R4 is equal NIL then the time contained in the status
record will not be checked. If R4 is unequal NIL then
it is checked whether the following condition is fulfilled:
TIME ̲STAMP = PREP ̲REC.TIME = TIME ̲STAMP + WINDOW.
If any record fulfils the search criteria the procedure
exits on OKAY. Else the ERROR-exit is used.
4.2.5.6.39 U̲m̲a̲m̲ ̲L̲o̲c̲k̲ ̲C̲i̲f̲
4.2.5.6.39.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 locks a specified CIF referenced by
QEL1.
4.2.5.6.39.2 I̲n̲t̲e̲r̲f̲a̲c̲e̲ ̲D̲e̲f̲i̲n̲i̲t̲i̲o̲n̲
a) UMAM ̲LOCK ̲CIF
b) UMAM ̲LOCK ̲CIF ( 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
R0-R7 (DEST)
4.2.5.6.39.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 ̲ATTRIBUTES
QEL ̲REFERENCE
b) E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲
UMAM ̲VIEW ̲ATTR
QEL1 (m)
c) L̲o̲c̲a̲l̲ ̲D̲a̲t̲a̲
VAR
SAVER6 : INTEGER
4.2.5.6.39.4 P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲D̲e̲s̲i̲g̲n̲
A MMON ̲LOCK ̲VIEW call is performed.
4.2.5.6.40 U̲p̲d̲a̲t̲e̲ ̲D̲i̲s̲p̲l̲a̲y̲ ̲T̲a̲b̲l̲e̲
4.2.5.6.40.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 update VDU ̲PAGE
̲DISPLAY ̲TABLE
4.2.5.6.40.2 I̲n̲t̲e̲r̲f̲a̲c̲e̲ ̲D̲e̲f̲i̲n̲i̲t̲i̲o̲n̲
a) UPDATE ̲DISPLAY ̲TABLE
b) UPDATE ̲DISPLAY ̲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 (DEST)
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
None
R0-R7 (DEST)
4.2.5.6.40.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̲
TMP ̲PARAM
b) UMAM ̲VIEW ̲ATTR
c) L̲o̲c̲a̲l̲ ̲D̲a̲t̲a̲ ̲
VAR
DISPLAY ̲REQUEST ̲PARAM : TMP ̲PARAM
CONST
DISP ̲MASK = 2
DISP ̲COUNT = 1
VDU ̲PAGE ̲OFFSET = 1
INIT
DISPLAY ̲REQUEST ̲PARAM.TABLE ̲ID = DISPLAY
̲TABLE
DISPLAY ̲REQUEST ̲PARAM.COUNT = DISP ̲COUNT
DISPLAY ̲REQUEST ̲PARAM.BUFFER2 = ADDRESS(DISPLAY
̲
PARAM)
DISPLAY ̲REQUEST ̲PARAM.BUFFER2 ̲LENGTH = SIZE(DISPLAY
̲PARAM)
DISPLAY ̲REQUEST ̲PARAM.MASK2 = DISP ̲MASK
DISPLAY ̲REQUEST ̲PARAM.MASK1 = DISP ̲MASK
DISPLAY ̲REQUEST ̲PARAM.ENTRY = ADDRESS(DISPLAY
̲
KEY ̲LIST
4.2.5.6.40.4 P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲D̲e̲s̲i̲g̲n̲
A SINGLE ̲CHANGE ̲FIELD ̲POSITION call to TMP is executed
with DISPLAY ̲REQUEST ̲PARAM. BUFFER1 set to contain
the address of UMAM ̲VIEW ̲ATTR.NAME.
4.2.5.6.41 R̲e̲a̲d̲ ̲A̲d̲m̲ ̲F̲i̲e̲l̲d̲
4.2.5.6.41.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 reads the administration field of the
CIF referenced by QEL1. The data read will be placed
in LITTLE ̲BUF. Maintype will be moved to IMF ̲MAINTYPE
and Originator-scd will be moved to IMF ̲ORIG ̲SCD.
4.2.5.6.41.2 I̲n̲t̲e̲r̲f̲a̲c̲e̲ ̲D̲e̲f̲i̲n̲i̲t̲i̲o̲n̲
a) READ ̲ADM ̲FIELD
b) READ ̲ADM ̲FIELD (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
R0-R7 (DEST)
4.2.5.6.41.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̲
IMF ̲DESCRIPTOR ̲TYPE
CTS ̲ATOMAL ̲DELETION ̲LOG
PARAMETRE ̲INFO ̲TYPE
b) E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲
DISPLAY ̲KEY ̲LIST (m)
LITTLE ̲BUF (m)
IMF ̲MAINTYPE (m)
IMF ̲ORIG ̲SCD (m)
QEL1
UCIF ̲LIST
c) L̲o̲c̲a̲l̲ ̲D̲a̲t̲a̲
VAR
SAVER6 : INTEGER
4.2.5.6.41.4 P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲D̲e̲s̲i̲g̲n̲
A MMON ̲OPEN ̲VIEW call is followed by a MMON ̲READ ̲VIEW
call. Input to both calls are QEL1, output from READ
̲VIEW is to be placed in LITTLE ̲BUF. The variables IMF
̲
MAINTYPE and IMF ̲ORIG ̲SCD will be updated. DISPLAY
̲KEY ̲
LIST.KEY is updated with PARAMETRE ̲INFO ̲TYPE.DISPLAY
̲
NAME. A MMON ̲CLOSE ̲VIEW is performed.
BEGIN
CASE MMON ̲OPEN ̲VIEW(QEL1)(CC) : ERROR ̲OK
ERROR? ANALYZE ̲ERROR (CC,0)
OK?
END CASE
UCIF ̲LIST.ELEMENTS.FIELD ̲BYTE ̲ADDRESS = 0
CASE MMON ̲READ ̲VIEW (SIZE (LITTLE ̲BUF),
ADDR (UCIF ̲LIST),
QEL1,
ADDR(LITTLE ̲BUF)(CC)) :
ERROR ̲OK
ERROR? ANALYZE ̲ERROR (CC,0)
OK?
END CASE
SAVE = ADDR (LITTLE ̲BUF)
IMF ̲MAINTYPE = SAVE.IMF ̲DESCRIPTOR ̲TYPE.MAINTYPE
SAVE = SAVE + SIZE(IMF ̲DESCRIPTOR ̲TYPE) + SIZE(CTS
̲ATOMAL ̲
DELETION ̲LOG)
SAVE1 = SAVE.PARAMETRE ̲INFO ̲TYPE.ORIGINATOR
̲SCD
DISPLAY ̲KEY ̲LIST.KEY = SAVE.PARAMETRE ̲INFO ̲TYPE.DISPLAY
̲
NAME
CASE MMON ̲CLOSE ̲VIEW (QEL1)(CC) : ERROR ̲OK
ERROR? ANALYZE ̲ERROR (CC,0)
OK?
END CASE
FIGURE 4.2.5.6.41-1
4.2.5.6.42 R̲e̲s̲e̲t̲ ̲F̲i̲l̲e̲
4.2.5.6.42.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 a specified
file.
4.2.5.6.42.2 I̲n̲t̲e̲r̲f̲a̲c̲e̲ ̲D̲e̲f̲i̲n̲i̲t̲i̲o̲n̲
a) RESET ̲FILE (FDCB : FORMAT ̲DESCRIPTOR ̲CONTROL ̲BLOCK)
b) RESET ̲FILE (R4, R6)
R̲e̲g̲i̲s̲t̲e̲r̲ ̲C̲o̲n̲v̲e̲n̲t̲i̲o̲n̲
C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R4 FDCB (DEST)
R6 LINK (DEST)
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
None
R0-R7 (DEST)
4.2.5.6.42.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̲
FDCB ̲INDEX
BUFFER ̲LIST ̲ELEMENT
FILE ̲ADDRESS
USER ̲ACTION ̲TYPE
b) E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲
BIG ̲BUF
UMAM ̲FILE ̲ADDR (m)
UMAM ̲BLE (m)
c) L̲o̲c̲a̲l̲ ̲D̲a̲t̲a̲ ̲
VAR
SAVER6
LOOPCOUNT
SAVE ̲FILE : INTEGER
CONST
MAX ̲IO ̲WRITE = 100
4.2.5.6.42.4 P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲D̲e̲s̲i̲g̲n̲
A loop is entered in which an IO ̲MODIFYBYTE call to
IOC is executed. The call will read the contents of
BIG ̲BUF onto the specified file. The loop, and procedure,
will be executed when the file is full or MAX ̲IO ̲WRITE
has been reached.
4.2.5.6.43 C̲l̲e̲a̲r̲ ̲C̲o̲u̲n̲t̲e̲r̲s̲
4.2.5.6.43.1 F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
All counters in the file directory will be reset.
4.2.5.6.43.2 I̲n̲t̲e̲r̲f̲a̲c̲e̲ ̲D̲e̲f̲i̲n̲i̲t̲i̲o̲n̲
a) CLEAR ̲COUNTERS
b) CLEAR ̲COUNTERS (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
R0-R7 (DEST)
4.2.5.6.43.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̲
None
b) E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲
FILE ̲DIR (m)
c) L̲o̲c̲a̲l̲ ̲D̲a̲t̲a̲
None
4.2.5.6.43.4 P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲D̲e̲s̲i̲g̲n̲
A loop is entered where every entry is reset.
4.2.5.6.44 C̲l̲e̲a̲r̲ ̲B̲i̲g̲ ̲B̲u̲f̲
4.2.5.6.44.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 clear BIG ̲BUF with
0.
4.2.5.6.44.2 I̲n̲t̲e̲r̲f̲a̲c̲e̲ ̲D̲e̲f̲i̲n̲i̲t̲i̲o̲n̲
a) CLEAR ̲BIG ̲BUF
b) CLEAR ̲BIG ̲BUF(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
R0-R7 (DEST)
4.2.5.6.44.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̲
None
b) E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲
INT ̲CHANGES
BIG ̲BUF (m)
BIG ̲BUF ̲CONTENTS (m)
c) L̲o̲c̲a̲l̲ ̲D̲a̲t̲a̲
VAR
SAVER6 : INTEGER
4.2.5.6.44.4 P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲D̲e̲s̲i̲g̲n̲
If INT ̲CHANGES is unequal zero then procedure STORE
̲INT ̲AREA is called upon. Theafter a loop is entered
and every entry in BIG ̲BUF is reset with zero.
4.2.5.6.45 U̲p̲d̲a̲t̲e̲ ̲B̲i̲t̲ ̲M̲a̲p̲
4.2.5.6.45.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 dismantles the file specified by FDCB
pointed out by the contents of R4 and R5, and looks
up the same file.
4.2.5.6.45.2 I̲n̲t̲e̲r̲f̲a̲c̲e̲ ̲D̲e̲f̲i̲n̲i̲t̲i̲o̲n̲
a) UPDATE ̲BIT ̲MAP(DIR ̲STATUS ̲FILE ̲NAME : FDCB-INDEX,
STATUS ̲FILE ̲NAMES)
b) UPDATE ̲BIT ̲MAP (R4, R5, 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̲
R4 DIR (DEST)
R5 STATUS ̲FILE ̲NAME (DEST)
R6 LINK (DEST)
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
None
R0-R7 (DEST)
4.2.5.6.45.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̲
FDCB ̲INDEX
b) E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲
UMAM ̲FDCB (m)
UMAM ̲FILE ̲NAME ̲PT
UMAM ̲DIR ̲FDCB
c) L̲o̲c̲a̲l̲ ̲D̲a̲t̲a̲
SAVERS: INTEGER
4.2.5.6.45.4 P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲D̲e̲s̲i̲g̲n̲
This procedure dismantles the file specified by FILE
̲
NAME in register 5 on directory level specified by
register 4 and looks up the same file. This encloses
2 calls upon IOC, i.e. IO ̲DISMANTLE and IO ̲
LOOKUP where UMAM ̲FDCB is updated.
4.2.5.6.46 R̲e̲s̲e̲t̲ ̲C̲o̲l̲l̲e̲c̲t̲ ̲A̲r̲e̲a̲
4.2.5.6.46.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 clears COLLECT ̲AREA by writing contents
of BIG ̲BUF onto COLLECT ̲AREA. BIG ̲BUF is already cleared
with 0 at the time of calling.
4.2.5.6.46.2 I̲n̲t̲e̲r̲f̲a̲c̲e̲ ̲D̲e̲f̲i̲n̲i̲t̲i̲o̲n̲
a) RESET ̲COLLECT ̲AREA
b) RESET ̲COLLECT ̲AREA (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
R0-R7 (DEST)
4.2.5.6.46.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̲
FILE ̲ADDRESS
BUFFER ̲LIST ̲ELEMENT
FDCB ̲INDEX
b) E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲
INTA ̲FILE ̲LENGTH ̲B
UMAM ̲FILE ̲ADDR (m)
UMAM ̲FDCB
COLLECT ̲AREA (m)
UMAM ̲BLE (m)
BIG ̲BUF
c) L̲o̲c̲a̲l̲ ̲D̲a̲t̲a̲
VAR
SAVELINK : INTEGER
4.2.5.6.46.4 P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲D̲e̲s̲i̲g̲n̲
The contents of BIG ̲BUF, which has been reset before
call of this procedure, is written onto COLLECT ̲AREA
by means of a IO ̲MODIFYBYTE call
4.2.5.7 S̲u̲b̲p̲a̲c̲k̲a̲g̲e̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲s̲
Refer CPS/ICD/009