top - download
⟦dc218ceee⟧ Wang Wps File
Length: 38850 (0x97c2)
Types: Wang Wps File
Notes: CPS/SDS/034
Names: »1674A «
Derivation
└─⟦c518842e8⟧ Bits:30006081 8" Wang WCS floppy, CR 0125A
└─ ⟦this⟧ »1674A «
WangText
…00……00……00……00…$…0a……00……00…$…0b…$…00…$…01…$…05…#…0a…#…0c…#…00…#…01…#
"…08…"…09…"…0e…"…0f…" "…06…!…0a…!…0e…!…01…!
!…07… …08… …0a……86…1 …02… …02… …02…
…02…CPS/SDS/034
…02…NJ/831101…02……02…
MESSAGE DISTRIBUTION
DETAILED DESIGN SPECIFICATION …02…ISSUE 1…02…CAMPS
4.2.1.4.2 I̲N̲C̲ ̲P̲L̲A̲I̲N̲ ̲M̲S̲G̲ ̲M̲o̲d̲u̲l̲e̲
4.2.1.4.2.1 F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
This module performs distribution of an Incoming Message
received via an external channel. The actual distribution
is performed by use of a set of utility modules and
common procedures.
4.2.1.4.2.2 M̲o̲d̲u̲l̲e̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲
a) INC ̲PLAIN ̲MSG ̲DIST
b) INC ̲PLAIN ̲MSG ̲DIST (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̲
R0 - R7 (Dest.)
4.2.1.4.2.3 M̲o̲d̲u̲l̲e̲ ̲C̲o̲m̲p̲o̲n̲e̲n̲t̲s̲
INC ̲PLAIN ̲MSG ̲DIST (Internal Procedure)
READ ̲VIEW ̲AND ̲GET ̲SYS ̲PARAMS (External Procedure)
SIC ̲CONTROL (External Procedure)
TEST ̲HQ ̲MASK(Internal Procedure)
GET ̲SDLS ̲AND ̲S̲O̲R̲T̲SCDS (External Procedure)
MDP ̲WRITE ̲BUFFER (External Procedure)
TEST ̲MDCO ̲INVOCATION (External Procedure)
MDCO ̲DELIVERY (External Procedure)
PERFORM ̲DISTRIBUTION (External Procedure)
ALTERNATIVE ̲DIST (External Procedure)
STA ̲SAR ̲DELIVERY (External Procedure)
UPDATE ̲MDCO ̲ERROR ̲LIST (External Procedure)
See Figure 4.2.1.4.2.3-1
Fig. 4.2.1.4.2.3-1
4.2.1.4.2.4 D̲a̲t̲a̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
Refer Source Listings
4.2.1.4.2.5 M̲o̲d̲u̲l̲e̲ ̲D̲e̲s̲i̲g̲n̲
This module is a distribution case module, it sets
up call parameters to the utility modules and common
procedures. Special functions for this distribution
case are performed within this module. The Main control
logic for the incoming plaindress message distribution
case is contained in this module too. (see Flowgram
figure 4.2.1.4.2.5-1).
The SIC ̲STATE specifies if distribution shall be performed
(OK) or if the message shall be sent to the MDCO (NO).
The MDCO ̲INV gives the same action as the SIC ̲STATE
but the reason for MDCO assistance is different (ref.
TEST ̲
MDCO ̲INVOCATION). The ALT ̲DIST is TRUE if the message
shall be sent to Duty officer and/or MDCO too.
INC ̲PLAIN ̲MSG ̲DIST
START
READ ̲VIEW ̲AND ̲GET ̲SYS ̲PARAMS (SCD ̲LIST ̲FIELD)
SIC ̲CONTROL ( ) (MDCO ̲ERROR ̲LIST, SIC ̲STATE,
NO ̲OF ̲SIC)
SIC ̲STATE EQ NO ?
TEST ̲HQ ̲MASK (MDCO ̲ERROR ̲LIST) (MDCO ̲ERROR
̲LIST, HQ ̲MASK ̲STATE)
HQ ̲MASK ̲STATE EQ NO ?
GET ̲SDLS ̲AND ̲SORT ̲SCDS (NO ̲OF ̲SIC, MDCO ̲ERROR
̲LIST)
(SDL ̲BUFFER ̲EMPTY,MDCO
̲ERROR ̲LIST)
SDL ̲BUFFER ̲EMPTY EQ TRUE ?
MDP ̲WRITE ̲BUFFER (SCD ̲LIST ̲WRITE)
TEST ̲MDCO ̲INVOCATION (MDCO ̲ERROR ̲LIST)(MDCO
̲ERROR ̲LIST, MDCO ̲INV)
MDCO ̲INV EQ TRUE ? MDCO ̲DELIVERY (MDP ̲PARAM.ACTION
̲PREC,
MDCO
̲INV ̲ASS, MDCO
̲ERROR ̲LIST,
PERFORM ̲DISTRIBUTION (AC ̲INFO ̲SCD ̲OFFSET,MDP
̲PARAM.NUMBER ̲OF ̲ACTION ̲SCD)
(ALT ̲DIST, NO ̲OF ̲AC ̲Q
̲LINES, NO ̲OF ̲INFO ̲Q ̲LINES)
ALT ̲DIST EQ FALSE ? MDP ̲WRITE ̲BUFFER
(QEUEU ̲LIST ̲WRITE)
ALTERNATIVE ̲DIST (NO ̲OF ̲AC ̲Q ̲LINES + NO ̲OF
̲INFO ̲Q ̲LINES)
STA ̲SAR ̲DELIVERY (INC ̲MSG ̲DIST ̲PER ̲DIST,INC
̲MSG ̲DIST ̲PER ̲TERM,
INC ̲MSG ̲AFT ̲SELC ̲OF ̲NOM ̲DIST
̲LIST,
NO ̲OF ̲AC ̲Q ̲LINES + NO ̲OF ̲INFO
̲Q ̲LINES, ALT ̲DIST)
STOP
Fig. 4.2.1.4.2.5-1
TEST ̲HQ ̲MASK (MDCO ̲ERROR ̲LIST) (MDCO ̲ERROR
̲LIST, HQ ̲MASK)
START
MDP ̲QEL ̲ATTR.HEADER.INF AND # OOFF
MDP ̲QEL ̲ATTR.HEADER.INF # ZERO ? - HQ ̲MASK
̲STATE = YES
UPDATE ̲MDLO ̲ERROR ̲LIST (UP ̲ABB ̲MSG ̲FORMAT,
MDCO ̲ERROR ̲LIST)
(MDCO ̲ERROR ̲LIST)
HQ ̲MASK ̲STATE = NO
STOP…86…1…02… …02… …02… …02… …02… …02… …02…
4.2.1.4.3 O̲U̲T̲ ̲P̲L̲A̲I̲N̲ ̲M̲S̲G̲ ̲M̲o̲d̲u̲l̲e̲
4.2.1.4.3.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 module performs distribution of an
outgoing message prepared on this CAMPS.
The distribution is performed by use
of a set of utility modules and common
procedures.
4.2.1.4.3.2 M̲o̲d̲u̲l̲e̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲
a) OUT ̲PLAIN ̲MSG ̲DIST
b) OUT ̲PLAIN ̲MSG ̲DIST (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̲
R0 - R7 (Dest.)
4.2.1.4.3.3 M̲o̲d̲u̲l̲e̲ ̲C̲o̲m̲p̲o̲n̲e̲n̲t̲s̲
READ ̲VIEW ̲AND ̲GET ̲SYS ̲PARAMS (External
Procedure)
SIC ̲CONTROL (External Procedure)
GET ̲SDLS ̲AND ̲SORT ̲SCDS (External Procedure)
MDP ̲WRITE ̲BUFFER (External Procedure)
MDCO ̲DELIVERY (External Procedure)
STA ̲SAR ̲DELIVERY (External Procedure)
PERFORM ̲DISTRIBUTION (External Procedure)
OUT ̲PLAIN ̲MSG ̲DIST (Internal Procedure)
ALTERNATIVE ̲DIST (External Procedure)
See Figure 4.2.1.4.2.3-1
Fig. 4.2.1.4.3.3-1
4.2.1.4.3.4 D̲a̲t̲a̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
Refer Source Listings
4.2.1.4.3.5 M̲o̲d̲u̲l̲e̲ ̲D̲e̲s̲i̲g̲n̲
This module is the control module which
is used when an outgoing message shall
be distributed. It sets up special parameters
for this distribution case and calls a
set of utility modules and common procedures
in which the actual distribution is performed.
(See flowgram figure 4.2.1.4.3.5-1).
OUT ̲PLAIN ̲MSG ̲DIST
START
READ ̲VIEW ̲AND ̲GET ̲SYS ̲PARAMS (SCD ̲LIST ̲FIELD)
TEST ̲LOCAL ̲HQ( ) (LOCAL ̲HQ)
LOCAL ̲HQ EQ TRUE? SIC ̲CONTROL ( ) (MDCO ̲ERROR
̲LIST,SIC ̲STATE,NO ̲OF ̲SIC)
SIC ̲STATE EQ NO ?
GET ̲SDLS ̲AND ̲SORT ̲SCDS(NO ̲OF
̲SIC, MDCO ̲ERROR ̲LIST)
(SDL
̲BUFFER
̲EMPTY,MDCO
̲
ERROR
̲LIST)
SDL ̲BUFFER ̲EMPTY EQ TRUE ?
MDP ̲WRITE ̲BUFFER (SCD ̲LIST ̲WRITE)
PERFORM ̲DISTRIBUTION (MDP ̲DIST ̲SCD ̲OFFSET,MDP
̲PARAM.NUMBER ̲OF ̲DIST ̲SCD
(ALT ̲DIST,NO ̲OF ̲AC ̲Q
̲LINES, NO ̲OF ̲INFO ̲Q ̲LINES)
ALT ̲DIST EQ FALSE ? MDP ̲WRITE ̲BUFFER(QUEUE
̲LIST ̲WRITE)
ALTERNATIVE ̲DIST (NO ̲OF ̲AC ̲Q ̲LINES + NO ̲OF
̲INFO ̲Q ̲LINES)
STA ̲SAR ̲DELIVERY (OUT ̲MSG ̲DIST ̲PER ̲DIST,OUT
̲MSG ̲DIST ̲PER ̲TERM,
SAR ̲RELEASE ̲MSG, NO ̲OF ̲AC ̲Q ̲LINES
+
NO ̲OF ̲INFO ̲Q ̲LINES, ALT ̲DIST)
MDCO ̲DELIVERY (MDP ̲PARAM.ACTION
̲PREC,
MDCO ̲INV ̲ASS,
MDCO ̲ERROR ̲LIST,
MSG ̲DELIVERY)
STOP
Fig. 4.2.1.4.3.5-1
TEST ̲LOCAL ̲HQ () (LOCAL ̲HQ)
START
MDP ̲QEL ̲ATTR.HEADER.INF AND # OOFF
MDP ̲QEL ̲ATTR.HEADER.INF = O ? - LOCAL ̲HQ =
FALSE
LOCAL ̲HQ = TRUE
STOP
4.2.1.4.4 C̲O̲O̲R̲ ̲P̲L̲A̲I̲N̲ ̲M̲S̲G̲ ̲M̲o̲d̲u̲l̲e̲
4.2.1.4.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̲
This module performs distribution of a
message sent for coordination. The distribution
is performed by use of a set of utility
modules and common procedures. After
end distribution, a coordination notification
is created and sent to drafter by this
module.
4.2.1.4.4.2 M̲o̲d̲u̲l̲e̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲
a) COOR ̲PLAIN ̲MSG ̲DIST
b) COOR ̲PLAIN ̲MSG ̲DIST (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̲
R0 - R7 (Dest.)
4.2.1.4.4.3 M̲o̲d̲u̲l̲e̲ ̲C̲o̲m̲p̲o̲n̲e̲n̲t̲s̲
READ ̲VIEW ̲AND ̲GET ̲SYS ̲PARAMS (External
Procedure)
COOR ̲PLAIN ̲MSG ̲DIST (Internal Procedure)
CREATE ̲DELV ̲NOTIF (Internal Procedure)
SEND ̲DELV ̲NOTIF (Internal Procedure)
CREATE ̲QUEUE ̲REF (External Procedure)
CONV ̲SCD ̲LIST ̲TO ̲Q ̲LIST (External Procedure)
DELIVERY (External Procedure)
CREATE ̲COOR ̲REPLY ̲PARAMS (Internal Procedure)
MDP ̲WRITE ̲BUFFER (External Procedure)
INIT ̲COOR ̲DIST (Internal Procedure)
See figure 4.2.1.4.4.3-1
Fig. 4.2.1.4.4.3-1
4.2.1.4.4.4 D̲a̲t̲a̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
Refer Source Listings
4.2.1.4.4.5 M̲o̲d̲u̲l̲e̲ ̲D̲e̲s̲i̲g̲n̲
The main sequence in this module is shown
on figure 4.2.1.4.4.5-1. By the common
procedure READ ̲VIEW ̲AND ̲
GET ̲SYS ̲PARAMS, the coordination SCDs
will be read into the MDP ̲BUFFER.
In the INIT ̲COOR ̲DIST procedure, the actual
coordination distribution list will be
created on basis of the COOR ̲CHECK ̲MARK
̲MASK. (See figure 4.2.1.4.4.5-2). The
actual coordination SCD List will be converted
to a Queue List via the common procedure
CONV ̲SCD ̲LIST ̲TO ̲Q ̲LIST.
Delivery to the terminals is performed
by the common procedure DELIVERY.
A delivery notification to the drafter
is created in the procedure CREATE ̲DELV
̲NOTIF. It contains the SCDS to which
distribution could not be performed (see
figure 4.2.1.4.4.5-3).
The SEND ̲DELV ̲NOTIF procedure reserves
a buffer to the notification, writes in
it, sends it, and dismantle it. (See
figure 4.2.1.4.4.5-4).
COOR ̲PLAIN ̲MSG ̲DIST
START
READ ̲VIEW ̲AND ̲GET ̲SYS ̲PARAMS (SCD ̲LIST ̲FIELD)
INIT ̲COOR ̲DIST
CONV ̲SCD ̲LIST ̲TO ̲Q ̲LIST (MDP ̲COOR ̲SCD ̲OFFSET
MDP ̲PARAM.NUMBER
̲OF ̲COOR ̲SCD,
ZERO)
(DUMMY,
MAX ̲Q ̲ENTRY)
DELIVERY (MDP ̲PARAM.ACTION ̲PREC,
Q ̲LINE ̲START ̲NO,
MAX ̲Q ̲ENTRY
MSG ̲COOR)
(DUMMY)
CREATE ̲DELV ̲NOTIF
SEND ̲DELV ̲NOTIF
STOP
Figure 4.2.1.4.4.5-1
INIT ̲COOR ̲DIST
START
EQUIVALENCE (MDP ̲BUFFER(COOR ̲CHECK ̲MARK ̲OFFSET),
E2-SCD ̲LIST: TYPE ̲E2 ̲SCD ̲LIST);
E2 ̲SCD ̲LIST.DIST ̲SCDS = E2 ̲SCD ̲LIST ̲COOR ̲SCDS
REF ̲ENTRY = 1
CUR ̲ENTRY = 1
COOP ̲CHECK ̲MARK LOOP
E2 ̲SCD ̲LIST.COOR ̲CHECK ̲MARKS (CUR ̲ENTRY)
NE # 20 (SPACE)
E2 ̲SCD ̲LIST.COOR ̲SCDS(REF ̲ENTRY)=E2 ̲SCD
̲LIST.DIST ̲SCDS (CUR ̲ENTRY)
REF ̲ENTRY = REF ̲ENTRY + 1
MDP ̲PARAM.NUMBER ̲OF ̲COOR ̲SCD EQ CUR ̲ENTRY?
EXIT
CUR ̲ENTRY = CUR ̲ENTRY + 1
END COOR ̲CHECK ̲MARK LOOP
REF ̲ENTRY = REF ̲ENTRY-1
MDP ̲PARAM.NUMBER ̲OF ̲COOR SCD = REF ̲ENTRY
STOP
Fig. 4.2.1.4.4.5-2
CREATE ̲DELV ̲NOTIF
START
EQUIVALENCE (MDP ̲BUFFER (Q ̲LIST ̲OFFSET),
Q ̲LIST: QUEUE ̲LIST);
EQUIVALENCE (MDP ̲BUFFER (COOR ̲MARK ̲OFFSET),
COOR ̲NOTIF: COORDINATION ̲NOTIFICATION);
REF ̲ENTRY = 1
NO ̲OF ̲SCD = 1
Q ̲LINE ̲SEARCH LOOP
Q ̲LIST.QUEUE ̲LINE(REF ̲ENTRY).DELIVERY ̲CODE
EQ DELIVERY ̲PERFORMED ?
LINE ̲SCD ̲NO = 1
SCD ̲MOVE LOOP
COOR ̲NOTIF.COOR ̲SCDS (NO ̲OF ̲SCD) =
Q ̲LIST.QUEUE ̲LINE (REF ̲ENTRY).DIST
̲SCDS(LINE ̲SCD ̲NO)
LINE ̲SCD ̲NO EQ Q ̲LIST.Q ̲LINE (REF ̲ENTRY).Q
̲SCD ̲NO? EXIT SCD ̲MOVE
LINE ̲SCD ̲NO = LINE ̲SCD ̲NO + 1
NO ̲OF ̲SCD = NO ̲OF ̲SCD + 1
END SCD ̲MOVE LOOP
REF ̲ENTRY EQ MAX ̲Q ̲ENTRY ? EXIT
REF ̲ENTRY = REF ̲ENTRY + 1
END LINE ̲SEARCH LOOP
COOR ̲NOTIF.NO ̲OF ̲SCDS = NO ̲OF ̲SCD
STOP
Fig. 4.2.1.4.4.5-3
SEND ̲DELV ̲NOTIF
START
CREATE ̲QUEUE ̲REF (SINGLE, MDQ, SUB ̲Q ̲3)(QUEUE
̲REF)
RESERVE ̲BUFFER (MAX ̲BUFFER ̲SIZE,
QUEUE ̲REF)
(MDP ̲BUF ̲REF,
CC): ERROR ̲OK
ERROR ? ANALYZE ̲ERROR (CC, 0)
WRITE ̲BUFFER (MDP ̲BUF ̲REF
MDP ̲BUFFER (COOR ̲CHECK ̲MARK ̲OFFSET),
MAX ̲BUFFER ̲SIZE,
START)
(DUMMY,
CC) ERROR ̲OK
ERROR ? ANALYZE ̲ERROR (CC, 0)
CREATE ̲COOR ̲REPLY ̲PARAMS ( ) (MDP ̲SEND ̲PARAMS)
SEND ̲REPLY (MDP ̲SEND ̲PARAMS,
MDP ̲BUF ̲REF,
MDP ̲VIEW ̲REF ̲1)
MDP ̲SEND ̲PARAMS,
CC): ERROR ̲OK
ERROR ? ANALYZE ̲ERROR (CC, 0)
DISMANTLE ̲BUFFER (MDP ̲BUF ̲REF)
(CC): ERROR ̲OK
STOP
Fig. 4.2.1.4.4.5-4
CREATE ̲COOR ̲REPLY ̲PARAMS () (MDP ̲SEND ̲PARAMS)
START
MDP ̲SEND ̲PARAMS.CHECK P ̲STATUS = FALSE
MDP ̲SEND ̲PARAMS.PROFILE = ZERO
MDP ̲SEND ̲PARAMS.HEADER.MAINTYPE =
COORDINATION ̲NOTIFICATION
MDP ̲SEND ̲PARAMS.HEADER.SUBTYPE = COOR ̲NOT
̲DISPLAY
MDP ̲SEND ̲PARAMS.HEADER.FLAGS = ZERO
MDP ̲SEND ̲PARAMS.HEADER.INF = ZERO
END
…01…Fig. 4.2.1.4.4.5-5
4.2.1.4.5 C̲O̲M̲M̲E̲N̲T̲ ̲D̲I̲S̲T̲ ̲M̲o̲d̲u̲l̲e̲
4.2.1.4.5.1 F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
This module performs distribution of a
CAMPS comment. The distribution is performed
by use of a set of utility modules.
4.2.1.4.5.2 M̲o̲d̲u̲l̲e̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲
a) COMMENT ̲DIST
b) COMMENT ̲DIST (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̲
R0 - R7 (Dest.)
4.2.1.4.5.3 M̲o̲d̲u̲l̲e̲ ̲C̲o̲m̲p̲o̲n̲e̲n̲t̲s̲
READ ̲VIEW ̲AND ̲GET ̲SYS ̲PARAMS (External
Procedure)
MDP ̲WRITE ̲BUFFER (External Procedure)
CONV ̲SCD ̲LIST ̲TO ̲Q ̲LIST (External Procedure)
DELIVERY (External Procedure)
COMMENT ̲DIST (Internal Procedure)
ALTERNATIVE ̲DIST (External Procedure)
See Figure 4.2.1.4.5.3-1
Fig. 4.2.1.4.5.3-1
4.2.1.4.5.4 D̲a̲t̲a̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
Refer Source Listings
4.2.1.4.5.5 M̲o̲d̲u̲l̲e̲ ̲D̲e̲s̲i̲g̲n̲
This is the control module which is used
when a CAMPS comment shall be distributed.
It sets up special parameters for this
distribution case and calls a set of utility
modules and common procedures in which
the actual distribution is performed.
(See flowgram figure 4.2.1.4.3.5-1).
COMMENT ̲DIST
START
READ ̲VIEW ̲AND ̲GET ̲SYS ̲PARAMS (SCD ̲LIST ̲FIELD)
CONV ̲SCD ̲LIST ̲TO ̲Q ̲LIST (MDP ̲DIST ̲SCD ̲OFFSET,
MDP ̲PARAM.NUMBER
̲OF ̲DIST ̲SCD,
ZERO)
(DUMMY,
MAX ̲Q ̲ENTRY)
CAMPS ̲COMMENT = TRUE
DELIVERY (MDP ̲PARAM.ACTION ̲PREC,
Q ̲LINE ̲START ̲NO,
MAX ̲Q ̲ENTRY,
MSG ̲DELIVERY)
(ALT ̲DIST)
CAMPS ̲COMMENT = FALSE
ALT ̲DIST EQ FALSE? MDP ̲WRITE ̲BUFFER (QUEUE
̲LIST ̲WRITE)
ALTERNATIVE ̲DIST(MAX ̲Q ̲ENTRY)
STOP
Fig. 4.2.1.4.3.5-1
4.2.1.4.6 S̲C̲ ̲D̲E̲L̲I̲V̲E̲R̲Y̲ ̲M̲o̲d̲u̲l̲e̲
4.2.1.4.6.1 F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
This module performs delivery of SCARS/CCIS
Messages for Release or coordination,
comments and VDU-pages. Special parameters
are set up in this module. The actual
delivery is performed by use of a set
of utility modules and common procedures.
4.2.1.4.6.2 M̲o̲d̲u̲l̲e̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲
a) SC ̲DELIVERY
b) SC ̲DELIVERY (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̲
R0 - R7 (Dest.)
4.2.1.4.6.3 M̲o̲d̲u̲l̲e̲ ̲C̲o̲m̲p̲o̲n̲e̲n̲t̲s̲ ̲
READ ̲VIEW ̲AND ̲GET ̲SYS ̲PARAMS (External
Procedure)
MDCO ̲DELIVERY (External Procedure)
SC ̲DELIVERY (Internal Procedure)
SC ̲VDU ̲PAGE ̲COM ̲DIST (Internal Procedure)
SC ̲RELEASE ̲DIST (Internal Procedure)
SC ̲COOR ̲DIST (Internal Procedure)
CONV ̲SCD ̲LIST ̲TO ̲Q ̲LIST (External Procedure)
DELIVERY (External Procedure)
See Figure 4.2.1.4.6.3-1
Fig. 4.2.1.4.6.3-1
4.2.1.4.6.4 D̲a̲t̲a̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
Refer Source Listings
4.2.1.4.6.5 M̲o̲d̲u̲l̲e̲ ̲D̲e̲s̲i̲g̲n̲
The main sequence in this module is shown
on figure 4.2.1.4.6.5-1.
By the common procedure READ ̲VIEW ̲AND
̲GET ̲SYS ̲PARAMS the MDP ̲PARAM record is
read into the MDP memory. The SCARS/CCIS
Delivery SCDS are contained in this record.
In the procedures SC ̲VDU ̲PAGE ̲COM ̲DIST,
SC ̲RELEASE ̲DIST, and SC ̲COOR ̲DIST the
delivery SCDs are validated and the system
codes (S, A, C) are checked, only SCDs
with system code C (CAMPS) will be used
for delivery. In these procedures, the
application profile will be set up too.
(see figure 4.2.1.4.6.5-2, 3, 4). A Q
̲LIST will be created from the validated
SCDs by the common procedure CONV ̲SCD
̲LIST ̲TO ̲Q ̲LIST.
Delivery to the terminal is performed
by the common procedure DELIVERY.
SC messages for coordination and release
may only be distributed on basis of one
SCD, whereas VDU pages and comments may
be distributed on basis of both an Action
and an Info SCD.
If the SCD is unknown or if the object
cannot be delivered, the object will be
queued to the MDCO by the common procedure
MDCO ̲DELIVERY.
SC ̲DELIVERY
START
READ ̲VIEW ̲AND ̲GET ̲SYS ̲PARAMS (SCD ̲LIST ̲FIELD)
EQUIVALENCE (MDP ̲BUFFER (MDP ̲DIST ̲SCD ̲OFFSET),
SCD: KEY ̲SCD ̲LIST);
CASE ̲MDP ̲QEL ̲ATTR.HEADER.SUBTYPE OF
FOR ̲DISTRIBUTION ? SC ̲VDU ̲PAGE ̲COM
̲DIST ( ) (NO ̲OF ̲SCD,
APP
̲PROFILE,
SC
̲INFO
̲TYPE)
FOR ̲RELEASE ? SC ̲RELEASE ̲DIST
( ) (NO ̲OF ̲SCD,
APP
̲PROFILE,
SC
̲INFO
̲TYPE)
FOR ̲COORDINATION ? SC ̲COOR ̲DIST (
) (NO ̲OF ̲SCD,
APP
̲PROFILE,
SC
̲INFO
̲TYPE)
END CASE
CONV ̲SCD ̲LIST ̲TO ̲Q ̲LIST (MDP ̲DIST ̲SCD ̲OFFSET,
NO ̲OF ̲SCD,
ZERO)
(DUMMY,
MAX ̲Q ̲ENTRY)
MAX ̲Q ̲ENTRY EQ ZERO OR (APP ̲PROFILE=MSG ̲RELEASE
AND Q ̲LINE.DEVICE()VDU)
DELIVERY (MDP ̲PARAM.ACTION ̲PREC,
Q ̲LINE ̲START ̲NO,
MAX ̲Q ̲ENTRY,
APP ̲PROFILE)
(ALT ̲DIST)
ALT ̲DIST EQ.TRUE ? MDCO ̲DELIVERY(MDP
̲PARAM.ACTION
̲PREC,
MDCO
̲SC
̲ASS,
SC
̲INFO
̲TYPE)
STOP
Fig. 4.2.1.4.6.5-1
SC ̲VDU ̲PAGE ̲COM ̲DIST ( ) (NO ̲OF ̲SCD, APP
̲PROFILE, SC ̲INFO ̲TYPE)
START
NO ̲OF ̲SCD = ZERO
MDP.PARAM.DELIVERY ̲SCD ̲A (CHAR ̲ONE) NE "C"?
NO ̲OF ̲SCD = NO ̲OF ̲SCD + 1
SCD (NO ̲OF ̲SCD) = MDP ̲PARAM.DELIVERY ̲SCD ̲A
MDP.PARAM.DELIVERY ̲SCD ̲B (CHAR ̲ONE) NE "C"
?
NO ̲OF ̲SCD ̲ = NO ̲OF ̲SCD + 1
SCD (NO ̲OF ̲SCD) = MDP ̲PARAM.DELIVERY ̲SCD ̲B
APP ̲PROFILE (BIT ̲0) = MSG ̲DELIVERY
SC ̲INFO ̲TYPE (BIT ̲0) = MDP ̲DELIVERED
STOP
Fig. 4.2.1.4.6.5-2
SC ̲RELEASE ̲DIST ( ) (NO ̲OF ̲SCD, APP ̲PROFILE,
SC ̲INFO ̲TYPE)
START
NO ̲OF ̲SCD = ZERO
MDP ̲PARAM.DELIVERY ̲SCD ̲A (CHAR ̲ONE) NE "C"
?
NO ̲OF ̲SCD = NO ̲OF ̲SCD + 1
SCD (NO ̲OF ̲SCD) = MDP ̲PARAM.DELIVERY ̲SCD ̲A
APP ̲PROFILE (BIT ̲2) = MSG ̲RELEASE
SC ̲INFO ̲TYPE (BIT ̲0) = MDP ̲DELIVERED
STOP
Fig. 4.2.1.4.6.5-3
SC ̲COOR ̲DIST ( ) ( NO ̲OF ̲SCD, APP ̲PROFILE,
SC ̲INFO ̲TYPE)
START
NO ̲OF ̲SCD = 0
MDP ̲PARAM.DELIVERY ̲SCD ̲A (CHAR ̲ONE) NE "C"
?
NO ̲OF ̲SCD = NO ̲OF ̲SCD + 1
SCD (NO ̲OF ̲SCD) = MDP ̲PARAM.DELIVERY ̲SCD ̲A
APP ̲PROFILE (BIT ̲1) = MSG ̲COOR
SC ̲INFO ̲TYPE (BIT ̲0) = MDP ̲DELIVERED
SC ̲INFO ̲TYPE (BIT ̲2) = SC ̲COORDINATION ̲RELEASE
STOP
Fig. 4.2.1.6.5-4
4.2.1.4.7 M̲D̲C̲O̲ ̲I̲N̲V̲ ̲I̲N̲C̲
4.2.1.4.7.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 module performs distribution of non
CAMPS originated messages after they have
been returned from the MDCO after MDCO
invocation. The actual distribution is
performed by a set of utility modules
and common procedures.
4.2.1.4.7.2 M̲o̲d̲u̲l̲e̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲
a) MDCO ̲INV ̲INC
b) MDCO ̲INV ̲INC (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̲
R0 - R7 (Dest.)
4.2.1.4.7.3 M̲o̲d̲u̲l̲e̲ ̲C̲o̲m̲p̲o̲n̲e̲n̲t̲s̲
READ ̲VIEW ̲AND ̲GET ̲SYS ̲PARAMS (External
Procedure)
PERFORM ̲DISTRIBUTION (External Procedure)
STA ̲SAR ̲DELIVERY (External Procedure)
MDCO ̲RESPONSE (External Procedure)
MDCO ̲INV ̲INC (Internal Procedure)
MDP ̲WRITE BUFFER (External Procedure)
See Figure 4.2.1.4.7.3-1.
Fig. 4.2.1.4.4.7.3-1
4.2.1.4.7.4 D̲a̲t̲a̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
Refer Source Listings
4.2.1.4.7.5 M̲o̲d̲u̲l̲e̲ ̲D̲e̲s̲i̲g̲n̲
The main sequence in this module is shown
on Figure 4.2.1.4.7.5-1.
By the utility module READ ̲VIEW ̲AND ̲GET
̲SYS ̲PARAMS, the Action and Info SCD List
is read into the MDP ̲BUFFER area.
In the utility module PERFORM ̲DISTRIBUTION,
the SCD list is converted to a Q ̲LIST
and the actual delivery is performed too.
The utility module STA ̲SAR ̲DELIVERY creates
statistics records, calls the statistics
collect monitor procedure and sends a
copy of the message to the Storage and
Retrieval Package.
In the common procedure, MDCO ̲RESPONSE
the message is returned to the MDCO if
alternative distribution is necessary
else, a finish distribution QEL will be
sent.
MDCO ̲INV ̲INC
START
READ ̲VIEW ̲AND ̲GET ̲SYS ̲PARAMS (SCD ̲LIST ̲FIELD)
SCD ̲POINTER = MDP ̲ACTION ̲SCD ̲OFFSET
NO ̲OF ̲SCD = MDP ̲PARAM.NUMBER ̲OF ̲ACTION ̲SCD
PERFORM ̲DISTRIBUTION (SCD ̲POINTER, NO ̲OF ̲SCD)
(ALT ̲DIST, NO ̲OF ̲AC ̲Q
̲LINES, NO ̲OF ̲INFO ̲Q ̲LINES)
STA ̲SAR ̲DELIVERY (INC ̲MSG ̲DIST ̲PER ̲DIST, INC
̲MSG ̲DIST ̲PER ̲TERM,
SAR ̲INC ̲MSG ̲AFT ̲SELL ̲OF ̲NOM ̲DIST
̲LIST,
NO ̲OF ̲AC ̲Q ̲LINES + NO ̲OF ̲INFO
̲Q ̲LINES, TRUE)
MDP ̲WRITE ̲BUFFER (QUEUE ̲LIST ̲WRITE)
MDCO ̲RESPONSE (ALT ̲DIST)
STOP
Fig. 4.2.1.4.7.5-1
4.2.1.4.8 M̲D̲C̲O̲ ̲I̲N̲V̲ ̲O̲U̲T̲ ̲M̲O̲D̲U̲L̲E̲
4.2.1.4.8.1 F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
This module performs distribution of CAMPS
originated messages after they have been
returned from the MDCO for MDCO invocation.
The actual distribution is performed
by a set of utility modules and common
procedures.
4.2.1.4.8.2 M̲o̲d̲u̲l̲e̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲
a) MDCO ̲INC ̲OUT
b) MDCO ̲INC ̲OUT (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̲
R0 - R7 (Dest.)
4.2.1.4.8.3 M̲o̲d̲u̲l̲e̲ ̲C̲o̲m̲p̲o̲n̲e̲n̲t̲s̲
READ ̲VIEW ̲AND ̲GET ̲SYS ̲PARAMS (External
Procedure)
PERFORM ̲DISTRIBUTION (External Procedure)
STA ̲SAR ̲DELIVERY (External Procedure)
MDCO ̲RESPONSE (External Procedure)
MDCO ̲INV ̲OUT (Internal Procedure)
MDP ̲WRITE ̲BUFFER (External Procedure)
See Figure 4.2.1.4.8.3-1
Fig. 4.2.1.4.8.3-1
4̲.̲2̲.̲1̲.̲4̲.̲8̲.̲4̲ Da̲t̲a̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
Refer Source Listings
4.2.1.4.8.5 M̲o̲d̲u̲l̲e̲ ̲D̲e̲s̲i̲g̲n̲
The main sequence in this module is shown
on figure 4.2.1.4.8.5-1. By the utility
module READ ̲VIEW ̲AND ̲GET ̲SYS ̲
PARAMS, the applicable SCD List is read
into the MDP ̲BUFFER area. In the utility
module PERFORM ̲DISTRIBUTION, the actual
SCD list is converted to a Q ̲LIST. The
actual SCD List is the Local distribution
SCDs and the Action, Info SCDs derived
from the HQ/SIC parameters. The Delivery
is performed in this procedure too.
The utility module STA ̲SAR ̲DELIVERY creates
statistics records, calls the Statistics
collection monitor procedure and sends
a copy of the message to the Storage and
Retrieval Package.
In the common procedure MDCO ̲RESPONSE,
the message is returned to the MDCO if
alternative distribution assistance is
necessary else a finish distribution QEL
will be sent.
MDCO ̲INV ̲OUT
START
READ ̲VIEW ̲AND ̲GET ̲SYS ̲PARAMS (SCD ̲LIST ̲FIELD)
SCD ̲POINTER = MDP ̲DIST ̲SCD ̲OFFSET
NO ̲OF ̲SCD = MDP ̲PARAM.NUMBER ̲OF ̲DIST ̲SCD
PERFORM ̲DISTRIBUTION (SCD ̲POINTER, NO ̲OF ̲SCD)
(ALT ̲DIST, NO ̲OF ̲AC ̲Q ̲LINES,
NO ̲OF ̲INFO ̲Q ̲LINES)
STA ̲SAR ̲DELIVERY (OUT ̲MSG ̲DIST ̲PER ̲DIST, OUT
̲MSG ̲DIST ̲PER ̲TERM,
RELEASE ̲MSG, NO ̲OF ̲AC ̲Q ̲LINES
+ NO ̲OF ̲INFO ̲Q ̲LINES,
TRUE)
MDP ̲WRITE ̲BUFFER (QUEUE ̲LIST ̲WRITE)
MDCO ̲RESPONSE
STOP
Fig. 4.2.1.4.8.5-1
4.2.1.4.9 M̲D̲C̲O̲ ̲A̲L̲T̲ ̲M̲o̲d̲u̲l̲e̲
4.2.1.4.9.1 F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
This module performs alternative distribution
of messages and comments after they have
been returned from the MDCO for alternative
distribution assistance. The actual distribution
is performed by a set of utility modules
and common procedures.
4.2.1.4.9.2 M̲o̲d̲u̲l̲e̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲
a) MDCO ̲ALT
b) MDCO ̲ALT (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̲
R0 - R7 (Dest.)
4.2.1.4.9.3 M̲o̲d̲u̲l̲e̲ ̲C̲o̲m̲p̲o̲n̲e̲n̲t̲s̲
READ ̲VIEW ̲AND ̲GET ̲SYS ̲PARAMS (External
Procedure)
CONV ̲SCD ̲LIST ̲TO ̲Q ̲LIST (External Procedure)
DELIVERY (External Procedure)
MDCO ̲RESPONSE (External Procedure)
CREATE ̲NEW ̲VIEW (External Procedure)
MDCO ̲ALT (Internal Procedure)
MDP ̲WRITE ̲BUFFER (External Procedure)
See Figure 4.2.1.4.9.3-1
Fig. 4.2.1.4.9.3-1
4.2.1.4.9.4 D̲a̲t̲a̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
Refer Source Listings
4.2.1.4.9.5 M̲o̲d̲u̲l̲e̲ ̲D̲e̲s̲i̲g̲n̲
The main sequence in this module is shown
on figure 4.2.1.4.9.5-1. By the utility
module READ ̲VIEW ̲AND ̲GET ̲
SYS ̲PARAMS, the alternative distribution
list is read into the MDP ̲BUFFER. The
common procedure CREATE ̲NEW ̲
VIEW creates a new view which references
all the field from the received view except
the QUEUE ̲LIST ̲FIELD. A new QUEUE ̲LIST
̲FIELD is created.
A Q ̲LIST is created on basis of the alternative
distribution list in the utility module
CONV ̲SCD ̲LIST ̲TO ̲Q ̲LIST.
The delivery to the terminal in the Q
̲LIST is performed by the utility module
DELIVERY.
In the common procedure MDCO ̲RESPONSE
the message or comment is returned to
the MDCO for further assistance if necessary
else a finish distribution QEL will be
sent.
MDCO ̲ALT
START
READ ̲VIEW ̲AND ̲GET ̲SYS ̲PARAMS (QUEUE ̲LIST ̲FIELD)
CREATE ̲NEW ̲VIEW
ERROR? ALT ̲DIST=FALSE
EQUIVALENCE (MDP ̲BUFFER(ALT ̲DIST ̲LIST ̲OFFSET),
ALT ̲DIST ̲LIST: ALT ̲DIST ̲LIST
̲TYPE);
SCD ̲POINTER = % ALT ̲DIST ̲LIST.ALT ̲AC ̲SCD
NO ̲OF ̲SCD = ALT ̲DIST ̲LIST.NO ̲OF ̲ALT ̲SCD +
NO ̲OF ̲ALT ̲INFO ̲SCD
CONV ̲SCD ̲LIST ̲TO ̲Q ̲LIST (SCD ̲POINTER,
NO ̲OF ̲SCD,
ZERO)
(DUMMY,
MAX ̲Q ̲ENTRY)
DELIVERY (MDP ̲PARAM.ACTION ̲PREC,
Q ̲LINE ̲START ̲NO,
MAX ̲Q ̲ENTRY,
MSG ̲DELIVERY)
(ALT ̲DIST)
MDP ̲WRITE ̲BUFFER (QUEUE ̲LIST ̲WRITE)
MDCO ̲RESPONSE
STOP
Fig. 4.2.1.4.9.5-1
4.2.1.4.10 R̲E̲D̲I̲S̲T̲ ̲M̲S̲G̲ ̲M̲o̲d̲u̲l̲e̲
4.2.1.4.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̲
This module performs Redistribution of
incoming and outgoing messages. Special
parameters are set up in this module whereas
the actual distribution is performed by
a set of utility modules.
4.2.1.4.10.2 M̲o̲d̲u̲l̲e̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲
a) REDIST ̲MSG
b) REDIST ̲MSG (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̲
R0 - R7 (Dest.)
4.2.1.4.10.3 M̲o̲d̲u̲l̲e̲ ̲C̲o̲m̲p̲o̲n̲e̲n̲t̲s̲
READ ̲VIEW ̲AND ̲GET ̲SYS ̲PARAMS (External
Procedure)
CREATE ̲NEW ̲VIEW (External Procedure)
PERFORM ̲DISTRIBUTION (External Procedure)
MDCO ̲DELIVERY (External Procedure)
MDP ̲WRITE ̲BUFFER (External Procedure)
REDIST ̲MSG (Internal Procedure)
See Figure 4.2.1.4.10.3-1
Fig. 4.2.1.4.10.3-1
4.2.1.4.10.4 D̲a̲t̲a̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
Refer Source Listings
4.2.1.4.10.5 M̲o̲d̲u̲l̲e̲ ̲D̲e̲s̲i̲g̲n̲
The main sequence in this module is shown
on figure 4.2.1.4.10.5-1. By the utility
module READ ̲VIEW ̲AND ̲GET ̲
SYS ̲PARAMS, the Redistribution List is
read into the MDP ̲
BUFFER.
The common procedure CREATE ̲NEW ̲VIEW creates
a new view which references all the fields
from the received view except the QUEUE
̲LIST ̲FIELD. A new QUEUE ̲LIST ̲FIELD is
created. A Q ̲LIST is created on basis
of the Redistribution SCD list via the
utility module PERFORM ̲DISTRIBUTION.
Via this module the actual delivery to
the terminals is performed too.
The Q ̲LIST is written into the new QUEUE
̲LIST ̲FIELD in the utility module MDP ̲WRITE
̲BUFFER.
If MDCO assistance is necessary, the message
will be sent to the MDCO by the common
procedure MDCO ̲DELIVERY.
REDIST ̲MSG
START
READ ̲VIEW ̲AND ̲GET ̲SYS ̲PARAMS (Q ̲LIST ̲FIELD)
CREATE ̲NEW ̲VIEW
ERROR? ALT ̲DIST=FALSE
EQUIVALENCE (MDP ̲BUFFER (ALT ̲DIST ̲LIST ̲OFFSET),
ALT ̲DIST ̲LIST: ALT ̲DIST ̲LIST ̲TYPE);
SCD ̲POINTER = % ALT ̲DIST ̲LIST.ALT ̲AC ̲SCD
MDP ̲PARAM.NUMBER ̲OF ̲INFO ̲SCD = ALT ̲DIST ̲LIST.NO
̲OF ̲ALT ̲INFO ̲SCD
PERFORM ̲DISTRIBUTION (SCD ̲POINTER,ALT ̲DIST
̲LIST.NO ̲OF ̲ALT ̲AC ̲SCD)(ALT ̲
DIST, NO ̲OF ̲AC ̲Q ̲LINES,
NO ̲OF ̲INFO ̲Q ̲LINES)
MDP ̲WRITE ̲BUFFER (QUEUE ̲LIST ̲WRITE)
ALT ̲DIST EQ TRUE? MDCO ̲DELIVERY (MDP ̲PARAM.ACTION
̲PREC,MDCO ̲ALT ̲ASS,
INFO ̲CONST.MSG
̲DELIVERY)
STOP
Fig. 4.2.1.4.10.5-1
4.2.1.4.11 R̲E̲A̲D̲ ̲V̲I̲E̲W̲ ̲A̲N̲D̲ ̲G̲E̲T̲ ̲S̲Y̲S̲ ̲P̲A̲R̲A̲M̲S̲
4.2.1.4.11.1 F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
This utility module reads the IMF ̲DESCRIPTOR
̲RECORD and the PARAMETER ̲INFO ̲RECORD from
the ADMINISTRATION ̲FIELD. Together with
the ADMINISTRATION ̲FIELD, the CURRENT
̲SCD ̲FIELD is read into the MDP ̲BUFFER.
The CURRENT ̲SCD ̲FIELD is either the SCD
̲LIST ̲FIELD or the QUEUE ̲LIST ̲FIELD which
contains alternative or redistribution
SCDs.
The applicable parameters for MDP is transferred
to the MDP ̲PARAM ̲RECORD. The distribution
parameter record is requested in this
procedure too.
4.2.1.4.11.2 I̲n̲t̲e̲r̲f̲a̲c̲e̲ ̲D̲e̲f̲i̲n̲i̲t̲i̲o̲n̲
a) READ ̲VIEW ̲AND ̲GET ̲SYS ̲PARAMS (CURRENT
̲SCD ̲FIELD)
b) READ ̲VIEW ̲AND ̲GET ̲SYS ̲PARAMS (R4,
R6)
R̲e̲g̲i̲s̲t̲e̲r̲ ̲C̲o̲n̲v̲e̲n̲t̲i̲o̲n̲s̲
C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R4 CURRENT ̲SCD ̲FIELD (Dest)
R6 LINK (Dest)
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R0 - R7 (Dest)
4.2.1.4.11.3 M̲o̲d̲u̲l̲e̲ ̲C̲o̲m̲p̲o̲n̲e̲n̲t̲s̲
READ ̲VIEW ̲AND ̲GET ̲SYS ̲PARAMS (Internal
Procedure)
CREATE ̲MDP ̲READ ̲FIELD ̲LIST (Internal Procedure)
MOVE ̲IMF ̲PARAMS (Internal Procedure)
See Figure 4.2.1.4.11.3-1
Fig. 4.2.1.4.11.3-1
4.2.1.4.11.4 D̲a̲t̲a̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
Refer Source Listings
4.2.1.4.11.5 P̲r̲o̲c̲e̲d̲u̲r̲e̲ ̲D̲e̲s̲i̲g̲n̲
This utility module has three internal
procedures:
- READ ̲VIEW ̲AND ̲GET ̲SYS ̲PARAMS (See
Figure 4.2.1.4.11.5-1)
- CREATE ̲MDP ̲READ ̲FIELD ̲LIST (See Figure
4.2.1.4.11.5-2)
- MOVE ̲IMF ̲PARAMS
Figure 4.2.1.6.1.4-1 shows the structure
of these procedures. The READ ̲VIEW ̲AND
̲GET ̲SYS ̲PARAMS procedure calls the CREATE
̲MDP ̲READ ̲FIELD ̲LIST procedure in which
the actual read FIELD ̲LIST is created.
By the CSF procedure READ ̲VIEW, the IMF
̲DESCRIPTOR ̲TYPE and the PARAMETER ̲INFO
̲TYPE from the ADMINISTRATION FIELD is
read into the MDP ̲BUFFER. By the procedure
MOVE ̲IMF ̲PARAMS, the applicable distribution
parameter is read into the MDP ̲PARAM ̲RECORD
from the two IMF records. It shall be
specified that the SICs are read into
a special MDP SIC variable of type MDP
̲SIC ̲GROUP ̲TYPE.
By the TMP procedure GET ̲SYSTEM ̲PARAMETERS,
the special Distribution system parameter
record is read into the data area MDP
̲SYS ̲PARAMS.
READ ̲VIEW ̲AND ̲GET ̲SYS ̲PARAMS (CURRENT ̲SCD
̲FIELD)
START
CREATE ̲MDP ̲READ ̲FIELD ̲LIST (CURRENT ̲SCD ̲FIELD)(MDP
̲FIELD ̲LIST)
MDP ̲READ ̲SIZE = (MDP ̲BUFFER ̲SIZE-IMF ̲READ
̲OFFSET) x 2
SWITCH READ ̲VIEW (MDP ̲READ ̲SIZE,
MDP ̲FIELD ̲LIST,
MDP ̲VIEW ̲REF ̲1,
IMF ̲READ ̲OFFSET)
(MDP ̲FIELD ̲LIST, CC)
ERROR ? ANALYZE ̲ERROR (CC, O)
END SWITCH
MOVE ̲IMF ̲PARAMS () (MDP ̲PARAM)
SWITCH TMP ̲GET ̲SYSTEM ̲PARAMETER (DISTRIBUTION
̲PARAMETER,
SIZE (DISTRIBUTION
̲PARAMETERS),
MDP ̲SYS ̲PARAM)
(CC)
ERROR ANALYZE ̲ERROR (CC, O)
END SWITCH
STOP
Fig. 4.2.1.4.11.5-1
CREATE ̲MDP ̲READ ̲FIELD ̲LIST(CURRENT ̲SCD
̲FIELD)(MDP ̲FIELD ̲LIST)
START
MDP ̲FIELD ̲LIST.MDP ̲NO ̲OF ̲FIELDS = NO ̲OF ̲READ
̲AREAS
MDP ̲FIELD ̲LIST.FIELD ̲LIST ̲ENTRY(1).FIELD ̲GROUP
̲ID = ADM ̲FIELD
MDP ̲FIELD ̲LIST.FIELD ̲LIST ̲ENTRY(1).FIELD ̲BYTE
̲ADDRESS = ZERO
MDP ̲FIELD ̲LIST.FIELD ̲LIST ̲ENTRY(1).RECORD
̲LENGTH =
(IMF ̲DESCRIPTOR ̲TYPE + PARAMETER ̲INFO ̲TYPE
+ CTS ATOMAL ̲DELETION ̲LOG) *2
MDP ̲FIELD ̲LIST.FIELD ̲LIST ̲ENTRY(2).FIELD ̲GROUP
̲ID = CURRENT ̲SCD ̲FIELD
MDP ̲FIELD ̲LIST.FIELD ̲LIST ̲ENTRY(2).FIELD ̲BYTE
̲ADDRESS = ZERO
MDP ̲FIELD ̲LIST.FIELD ̲LIST ̲ENTRY(2).RECORD
̲LENGTH = MAX ̲SCD ̲FIELD ̲LENGTH
STOP
Fig. 4.2.1.4.11.5-2
4.2.1.4.12 S̲I̲C̲ ̲C̲O̲N̲T̲R̲O̲L̲
4.2.1.4.12.1 I̲n̲t̲e̲r̲f̲a̲c̲e̲ ̲D̲e̲f̲i̲n̲i̲t̲i̲o̲n̲
a) SIC ̲CONTROL ( ) (MDCO ̲ERROR ̲LIST:
INTEGER;
SIC ̲STATE:
BOOLEAN;
NO ̲OF ̲SIC:
COUNTER
̲TYPE)
b) SIC ̲CONTROL (R6)
R̲e̲g̲i̲s̲t̲e̲r̲ ̲C̲o̲n̲v̲e̲n̲t̲i̲o̲n̲s̲
C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R6 LINK (Dest.)
4.2.1.4.12.3 M̲o̲d̲u̲l̲e̲ ̲C̲o̲m̲p̲o̲n̲e̲n̲t̲s̲
SIC ̲CONTROL
SPECIAL ̲SIC
SUBJECT ̲SIC
EXERCISE ̲SIC Internal Procedures
FETCH ̲SIC
MOVE ̲SIC
UPDATE ̲MDCO ̲ERROR ̲LIST External Procedure
See Figure 4.2.1.4.12.3-1
Fig. 4.2.1.4.12.3-1
4.2.1.4.12.4 D̲a̲t̲a̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
Refer Source Listings
4.2.1.4.12.5 M̲o̲d̲u̲l̲e̲ ̲D̲e̲s̲i̲g̲n̲
The SICs are transferred to the SIC ̲BUFFER
and analyzed, and only the SICs which
shall be used in the actual distribution
is returned to the MDP ̲PARAM ̲RECORD. The
module are testing as follow:
SICS: ACTION:
- AAA Accepted
for
distribution
if
AAA
is
the
first
SIC,
a̲n̲d̲
one
of
the
following
conditions
is
fulfilled:
Special
Handling
=
Atomal
Special
Handling
=
Crypto
Specisl
Handling
=
Exclusive
Special
Handling
=
National
Eyes
Only
Classification
=
Cosmic
Top
Secret
a̲n̲d̲
at
least
one
of
the
following
SICs
is
a
subject
SIC
Otherwise
queued
to
MDCO
- ABA, ACA, ADA Queued
to
MDCO
- AAB...ADZ Queued
to
MDCO
(NON
̲EXISTING)
- AEA- -AZZ Use
SUBJECT
̲SIC
with
exercise
distribution
EXCEPTION for AEN..AZN,
AEB..AZB:
Use
EXERCISE
̲SIC
with
EXERCISE
DISTRIBUTION
- BAA..ZZZ SUBJECT
̲SICS
The MDCO error list will be updated in
accordance with the result of the control.
4.2.1.4.13 G̲E̲T̲ ̲S̲D̲L̲S̲ ̲A̲N̲D̲ ̲S̲O̲R̲T̲ ̲S̲C̲D̲S̲
4.2.1.4.13.1 F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
This utility module gets the SDLs from
TMP on basis of HQ and SIC information
when the SDLs are received, the output
is checked and the SCDs within the SDLs
are sorted in action and Info. At the
end of the module the write params are
appended. These are offsets to the action
and info SCDs within the SCD ̲LIST ̲FIELD
and COUNTERS for the SCDs.
4.2.1.4.13.2 I̲n̲t̲e̲r̲f̲a̲c̲e̲ ̲D̲e̲f̲i̲n̲i̲t̲i̲o̲n̲
a) GET ̲SDLS ̲AND ̲SORT ̲SCDS (NO
̲OF
̲SIC:
COUNTER
̲TYPE,
(SDL
̲BUFFER
̲EMPTY:
BOOLEAN,
MDCO
̲ERROR
̲LIST:
BOOLEAN)
b) GET ̲SDLS ̲AND ̲SORT ̲SCDS (R0, R6)
R̲e̲g̲i̲s̲t̲e̲r̲ ̲C̲o̲n̲v̲e̲n̲t̲i̲o̲n̲s̲
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 - R7 (Dest.)
4.2.1.4.13.3 M̲o̲d̲u̲l̲e̲ ̲C̲o̲m̲p̲o̲n̲e̲n̲t̲s̲
GET ̲SDLS ̲AND ̲SORT ̲SCDs (Internal Procedure)
CREATE ̲SEARCH ̲KEYS (Internal Procedure)
CHECK ̲SDL ̲OUTPUT (Internal Procedure)
SORT ̲SCDS (Internal Procedure)
APPEND ̲WRITE ̲PARAMS (Internal Procedure)
COMPARE ̲SCD (Internal Procedure)
CALCULATE ̲NO ̲OF ̲SCDS (Internal Procedure)
UPDATE ̲MDCO ̲ERROR ̲LIST (External Procedure)
See Figure 4.2.1.4.13.3-1
4.2.1.4.13.4 D̲a̲t̲a̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
Refer Source Listings
4.2.1.4.13.5 M̲o̲d̲u̲l̲e̲ ̲D̲e̲s̲i̲g̲n̲
This utility module contains five internal
procedures which are described in the
following.
a) G̲E̲T̲S̲ ̲S̲D̲L̲s̲ ̲A̲N̲D̲ ̲S̲O̲R̲T̲ ̲S̲C̲D̲s̲
This procedure is the main procedure
within the module. It creates the
key list in which the SICs is contained.
Then the internal procedure CREATE
̲HQ ̲MASK is called. The SIC and SDL
tables are then accessed via a call
to TMP. When the output SDLs are
received, it is checked if they are
empty, if so the MDCO ̲ERROR ̲LIST is
updated via a call to the common procedure
UPDATE ̲MDCO ̲ERROR ̲LIST. If the SDL
output was ok, the internal procedures
SORT ̲SCDs and CREATE ̲WRITE ̲PARAM is
called.
b) C̲R̲E̲A̲T̲E̲ ̲S̲E̲A̲R̲C̲H̲ ̲K̲E̲Y̲s̲
This procedure creates the search
keys for TMP by HQ information contained
in the less significant byte of the
second word in the MDP ̲QEL ̲ATTR, the
SICs in the MDP ̲PARAM record, the
crisis switch in the MDP ̲SYS ̲PARAMS
and the exercise information in the
MDP ̲QEL ̲ATTR.
c) C̲H̲E̲C̲K̲ ̲S̲D̲L̲ ̲O̲U̲T̲P̲U̲T̲
This procedure checks the current
output SDLs by check of the return
parameters in the key list. If zeros
are identified in all the Action and
Info fields the SDL ̲BUFFER ̲EMPTY is
set true else it is set false.
d) S̲O̲R̲T̲ ̲S̲C̲D̲s̲
This procedure sorts the SCDs as shown
in figure 4.2.1.4.13.5-1. The SDL
has no fixed length therefore the
procedure first walks through the
output and takes out the action SCDs
and then a second walks through where
it takes out the info SCDs. The walk
through will be based on the counts
in front of each SCD set. This procedure
may be expanded to more than one procedure.
Duplicate SCDs are deleted in this
procedure too.
e) A̲P̲P̲E̲N̲D̲ ̲W̲R̲I̲T̲E̲ ̲P̲A̲R̲A̲M̲
This procedure sets up the SCD List
parameter for the administration field
in the IMF. It contains two counters
which specify the number of Action
and Info SCDs and the offsets which
specify the offset for the action
and info SCDs within the SCD ̲LIST
Field (see Figure 4.2.1.4.13.5-1).
f) C̲O̲M̲P̲A̲R̲E̲ ̲S̲C̲D̲S̲
This procedure are checking for duplicated
SCDs.
g) C̲A̲L̲C̲U̲L̲A̲T̲E̲ ̲N̲O̲ ̲O̲F̲ ̲S̲C̲D̲S̲
This procedure are calculating the
actual number of SCDs in the SD2.
Fig. 4.2.1.4.13.5-1
4.2.1.4.14 M̲D̲P̲ ̲W̲R̲I̲T̲E̲ ̲B̲U̲F̲F̲E̲R̲
4.2.1.4.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 utility module writes the specified
field. This can either be the SCD list
field and counters for these or it can
be the Queue list field.
4.2.1.4.14.2 I̲n̲t̲e̲r̲f̲a̲c̲e̲ ̲D̲e̲f̲i̲n̲i̲t̲i̲o̲n̲
a) MDP ̲WRITE ̲BUFFER (MDP ̲WRITE: MDP
̲WRITE ̲TYPE)
b) MDP ̲WRITE ̲BUFFER (R7, R6)
R̲e̲g̲i̲s̲t̲e̲r̲ ̲C̲o̲n̲v̲e̲n̲t̲i̲o̲n̲s̲
C̲a̲l̲l̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R6 LINK (Dest.)
R7 MDP ̲WRITE ̲TYPE (Dest.)
R̲e̲t̲u̲r̲n̲ ̲R̲e̲g̲i̲s̲t̲e̲r̲s̲
R0 - R7 (Dest.)
4.2.1.4.14.3 M̲o̲d̲u̲l̲e̲ ̲C̲o̲m̲p̲o̲n̲e̲n̲t̲s̲
MDP ̲WRITE ̲BUFFER (Internal Procedure)
CREATE ̲SCD ̲LIST ̲WRITE ̲PARAMS (Internal
Procedure)
CREATE ̲QUEUE ̲LIST ̲WRITE ̲PARAMS (Internal
Procedure)
See Figure 4.2.1.4.14.3-1
Fig. 4.2.1.4.14.3-1