top - download
⟦9dcec8abf⟧ Wang Wps File
Length: 85975 (0x14fd7)
Types: Wang Wps File
Notes: CPS/SDS/033
Names: »1780A «
Derivation
└─⟦4e9382203⟧ Bits:30006097 8" Wang WCS floppy, CR 0150A
└─ ⟦this⟧ »1780A «
WangText
:…00……00……00……00…2…02……00……00…2
2…07…1…0b…1…00…1 1…05…0…08…0…0c…0…00…0…05…/…09…/…0a…/…0e…/
/…05….…0a….…0b….…0f….
.…06…-…0a…-…0f…-…02…-
-…07…,…0c…,…01…,…07…+…08…+…0b…+…0f…+…02…+ +…07…*…0b…*…0d…*…01…*…06…)…0a…)…0b…)…0d…)…02…)…05…(…0a…(…0f…(
…02…CPS/SDS/033
…02…KNB/831101…02……02…
TRAFFIC HANDLING
DETAILED DESIGN SPECIFICATION…02…ISSUE 1…02…CAMPS
4.2.2.4.12 S̲e̲l̲e̲c̲t̲i̲v̲e̲ ̲R̲o̲u̲t̲i̲n̲g̲ ̲M̲o̲d̲u̲l̲e̲
4.2.2.4.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̲
The functions of the selective Routing Module are:
- to select an RI associated with a PLA between up
to 4 possibilities under consideration of classification
RI/Message, Circuit/Message and Circuit availability.
- to detect PLA's associated to local HQ
- to detect unknown PLA's or X-PLA's.
The messages entered to conversion for this function
are in principle without RI.
- user prepared PLAINDRESS or PLAINDRESS ̲DATA
- supervisor prepared PLAINDRESS ̲SERVICE
- CCIS Format ̲E1 PLAINDRESS
- Camps prepared Readdressal.
4.2.2.4.12.2 M̲o̲d̲u̲l̲e̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲
Input
Output : R5 = Routing-CC
C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
a) SELECTIVE ̲ROUTING ( ) (ROUTING ̲CC)
b) SELECTIVE ̲ROUTING (R5, R6)
4.2.2.4.12.3 M̲o̲d̲u̲l̲e̲ ̲C̲o̲m̲p̲o̲n̲e̲n̲t̲s̲
See fig. 4.2.2.4-12 for structure selective Routing
Module.
a) C̲o̲l̲l̲e̲c̲t̲ ̲P̲L̲A̲ ̲K̲e̲y̲ ̲P̲r̲o̲c̲e̲d̲u̲r̲e̲
Selects the relevant PLA ̲Refs from the PLA ̲RI ̲Records
for a search in the Global PLA ̲Table.
Ref. 4.2.2.6.4.2 for description.
b) S̲e̲a̲r̲c̲h̲ ̲G̲l̲o̲b̲a̲l̲ ̲P̲L̲A̲ ̲P̲r̲o̲c̲e̲d̲u̲r̲e̲
Ref. 4.2.2.6.4.3 for description.
c) S̲e̲a̲r̲c̲h̲ ̲L̲o̲c̲a̲l̲ ̲P̲L̲A̲ ̲R̲E̲F̲ ̲P̲r̲o̲c̲e̲d̲u̲r̲e̲
Performs a search in the local PLA ̲Table in order
to detect Local-PLA's among the not recognized
PLA ̲Ref's from the Global PLA ̲Table Search.
Ref. 4.2.2.6.4.5 for description.
d) C̲h̲e̲c̲k̲ ̲R̲I̲ ̲S̲t̲a̲t̲u̲s̲ ̲P̲r̲o̲c̲e̲d̲u̲r̲e̲
Ref. 4.2.2.6.2.2 for description.
e) C̲h̲e̲c̲k̲ ̲C̲i̲r̲c̲u̲i̲t̲ ̲S̲t̲a̲t̲u̲s̲ ̲P̲r̲o̲c̲e̲d̲u̲r̲e̲
Ref. 4.2.2.6.2.1 for description.
f) U̲p̲d̲a̲t̲e̲ ̲P̲L̲A̲ ̲R̲I̲ ̲P̲r̲o̲c̲e̲d̲u̲r̲e̲
Ref. 4.2.2.6.2.3 for description.
g) R̲o̲u̲t̲i̲n̲g̲ ̲R̲e̲p̲o̲r̲t̲ ̲M̲o̲d̲u̲l̲e̲
Ref. 4.2.2.4.14 for description
4.2.2.4.12.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̲
Routing Data (4.2.2.5.5)
Formatting Data (4.2.2.5.6)
TMP-Data (4.2.2.5.2)
PLA ̲RI ̲Field (DBD/001 10.1.6)
Channel Tables (DBD/001 5.3.4)
Global PLA ̲Table (DBD/001 6.6)
Local PLA ̲Table (DBD/001 6.1)
b) E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲
PLA ̲RI ̲RECORD (m)
PLA ̲RI ̲DYNAMIC ̲COUNT
ROUTING ̲LIST (m)
ADMINISTRATION.CLASS
PUNCH ̲INSTRUCTION
CLEAR ̲INSTRUCTION
WRITE ̲PLA ̲RI (m)
PLA ̲RI ̲POINTER
c) L̲o̲c̲a̲l̲ ̲D̲a̲t̲a̲
NO ̲OF ̲PLA ̲RI : INTEGER
NO ̲OF ̲PLA : INTEGER
COLOUMN : INTEGER
4.2.2.4.12.5 M̲o̲d̲u̲l̲e̲ ̲D̲e̲s̲i̲g̲n̲
Having selected and collected the PLA ̲Ref's from the
PLA ̲RI ̲Records into the PLA ̲KEY ̲INDEX (ref. via routing-list)
the Global PLA ̲Table is searched; the not global PLA
̲Ref's are then selected and collected into the PLA
̲KEY ̲INDEX (ref. via same routing-list) for a search
in the local PLA ̲Table; the local PLA's are assigned
HQ and the unknown PLA's a routing-code= UNKNOWN ̲PLA.
The global PLA-Ref's now also referencing up to 4 RI
̲Records containing RI, circuit and classification are
then one by one checked for RI-classification, circuit-classification
and circuit-availability
If none of the 4 possible RI ̲Records contains an RI,
the routing-code of the PLA ̲RI ̲Record will be assigned
= NO ̲RI ̲ASSIGNED.
The logic of the RI ̲Selection is to start with the
first RI ̲Record (column = 1) and select the RI if it
passes the following tests in this order:
- test RI ̲Classification
- test Circuit ̲Classification
- test Circuit ̲Block
- test Circuit ̲Availability
If one of the test fails, the RI and the Routing-code
is assigned the PLA ̲RI ̲Record, when the Routing ̲Code
= OK is assigned, the select is completed.
figure 4.2.2.4-12
S̲E̲L̲E̲C̲T̲I̲V̲E̲ ̲R̲O̲U̲T̲I̲N̲G̲ ( ) (ROUTING ̲COUNT, ROUTING ̲CC)
NO ̲OF ̲PLA ̲RI = PLA ̲RI ̲DYNAMIC ̲COUNT
EQUIVALENCE (PLA ̲KEY = KEY ̲AREA)
EQUIVALENCE (PLA ̲RI ̲RESULT = RESULT ̲AREA-1)
EQUIVALENCE (LOCAL ̲PLA ̲RESULT = (RESULT ̲AREA ̲2 -2))
FINISH ̲PLA = FALSE
NO ̲OF ̲PLA = ZERO
SEARCH ̲GLOBAL ̲PLA ̲TABLE (NO ̲OF ̲PLA ̲RI, NO ̲OF ̲PLA)
NO ̲OF ̲PLA, NO ̲OF ̲PLA ̲KEYS, ROUTING ̲CC)
NO ̲OF ̲PLA = ZERO ? ROUTING ̲CC = NOT ̲OK
NO ̲OF ̲PLA ̲KEYS = ZERO ? FINISH ̲PLA = TRUE EXIT LOOP
SEARCH ̲LOCAL ̲PLA ̲TABLE (NO ̲OF ̲PLA,
(ROUTING ̲CC) NO ̲OF ̲PLA
̲KEYS)
CONTINUES
CONTINUED SELECTIVE ̲ROUTING
LOOP NO ̲OF ̲PLA ̲KEYS:
PLA ̲KEY.KEY ̲IDENT.COUNT=ZERO ?
COLUMN = ZERO
LOOP MAX ̲COLUMNS:
RI ̲REC ̲POINTER = PLA ̲KEY.KEY ̲IDENT.ADS(NO ̲OF
̲PLA ̲KEY)
+((COLOUMN-1)*RI ̲REC
̲SIZE)
CHECK ̲RI ̲CLASS (RI ̲REC ̲POINTER)
(CIRCUIT ̲NO, ROUTING ̲CODE)
ROUTING ̲CODE NE 0K ?
CHECK ̲CIRCUIT ̲STATUS (CIRCUIT ̲NO, RI ̲REC ̲POINTER)
(ROUTING ̲CODE)
ASSIGN ̲RI (RI ̲REC ̲POINTER,CIRCUIT ̲NO, NO ̲OF
̲PLA
ROUTING ̲CODE) (CC)
CC = 0K EXIT LOOP
END MAX COLUMN LOOP
PLA ̲RI.ROUTING ̲CODE = 0K
ROUTING ̲CC = NOT ̲OK
NO ̲OF ̲PLA ̲KEYS
END NO ̲OF ̲PLA LOOP
WRITE ̲PLA ̲RI = TRUE
NO ̲OF ̲ROUTING = NO ̲OF ̲PLA
RETURN
4.2.2.4.13 R̲o̲u̲t̲i̲n̲g̲ ̲A̲s̲s̲i̲s̲t̲a̲n̲c̲e̲ ̲M̲o̲d̲u̲l̲e̲
4.2.2.4.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̲
Messages where the routing procedures failed are the
subjects for this module.
Its function is to build an RI ̲Assignment ̲Field for
display at a MSO ̲Position during RI ̲Assignment procedures.
4.2.2.4.13.2 M̲o̲d̲u̲l̲e̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲
INPUT: R4 = RELAY ̲ASSIGN ̲COUNT
OUTPUT:
C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
a) ROUTING ̲ASSISTANCE (RELAY ̲ASSIGN ̲COUNT) ( )
b) ROUTING ̲ASSISTANCE (R4, R6)
4.2.2.4.13.3 M̲o̲d̲u̲l̲e̲ ̲C̲o̲m̲p̲o̲n̲e̲n̲t̲s̲
See fig. 4.2.2.4-13 for structure Routing Assistance
Module.
a) B̲u̲i̲l̲d̲ ̲R̲I̲ ̲A̲s̲s̲i̲g̲n̲ ̲R̲e̲c̲o̲r̲d̲ ̲p̲r̲o̲c̲e̲d̲u̲r̲e̲
Builds up the RI ̲Assignment-Records derived from
the PLA ̲RI ̲Field.
b) B̲u̲i̲l̲d̲ ̲R̲e̲l̲a̲y̲-̲A̲s̲s̲i̲g̲n̲ ̲R̲e̲c̲o̲r̲d̲ ̲p̲r̲o̲c̲e̲d̲u̲r̲e̲
Builds up the Relay-info-records and the Relay-assign-records
derived from the PLA ̲RI ̲Field.
c) I̲n̲s̲e̲r̲t̲ ̲C̲h̲a̲r̲a̲c̲t̲e̲r̲ ̲P̲r̲o̲c̲e̲d̲u̲r̲e̲
Ref. 4.2.2.6.1.4 for description
d) M̲o̲v̲e̲ ̲C̲h̲a̲r̲a̲c̲t̲e̲r̲ ̲P̲r̲o̲c̲e̲d̲u̲r̲e̲
Ref. 4.2.2.6.1.3 for description
e) C̲o̲l̲l̲e̲c̲t̲ ̲P̲L̲A̲ ̲K̲e̲y̲ ̲P̲r̲o̲c̲e̲d̲u̲r̲e̲
Ref. 4.2.2.6.4.1 for description
f) S̲e̲a̲r̲c̲h̲ ̲A̲d̲d̲r̲e̲s̲s̲ ̲P̲r̲o̲c̲e̲d̲u̲r̲e̲
Ref. 4.2.2.6.4.6 for description
4.2.2.4.13.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̲
ROUTING ̲DATA (4.2.2.5.5)
TMP ̲DATA (4.2.2.5.2)
PLA ̲RI ̲FIELD (DBD/001 10.1.6)
RI ̲ASSIGNMENT ̲FIELD (DBD/001 10.1.8)
GLOBAL PLA ̲TABLE (DBD/001 6.6)
VIEW DATA (4.2.2.5.4)
QEL DATA (4.2.2.5.3)
b) E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲
PLA ̲RI ̲DESCRIPTOR
RI ̲ASSIGNMENT ̲DESCRIPTOR(m)
RI ̲ASSIGNMENT ̲RECORD (m)
RELAY ̲INFO ̲RECORD (m)
RELAY ̲ASSIGN ̲RECORD (m)
ROUTING LIST
HQ ̲MASK (m)
RELAY ̲INSTRUCTIONS
ADDRESS ̲RECORD
RECEIVE ̲QEL ̲ATTRIBUTE
WRITE ̲RI ̲ASSIGNMENT (m)
SEND ̲FOR ̲RI ̲ASSIGNMENT (m)
WRITE ̲ADDRESS (m)
PLA ̲RI ̲POINTER
RI ̲ASSIGNMENT ̲POINTER
CAMPS ̲ORIGINATOR
PLAINDRESS ̲TYPE
ASM ̲TYPE
CONVERSION ̲ERROR (m)
c) L̲o̲c̲a̲l̲ ̲D̲a̲t̲a̲
NO ̲OF ̲PLA ̲RI : INTEGER
RI ̲ASSIGNMENT ̲COUNT : INTEGER
4.2.2.4.13.5 M̲o̲d̲u̲l̲e̲ ̲D̲e̲s̲i̲g̲n̲
Scars-CCIS Comments and VDU-pages rejected to this
module are first passed out (No RI's).
In other messages the RI's of the relevant PLA ̲RI ̲Records
are selected and transferred to a
RI ̲Assignment-Record.
If the message had previously been rejected for RI-Assignment
and there had been assigned a relay-instruction resulting
in detection of some RI's these RI's were not removed
but flagged and can now go for another RI-Assignment;
this also includes a Relay-responsible RI, that might
have been inserted into the PLA ̲RI ̲FIELD; this principle
shortly facilitates that the original RI ̲Assignment-Field
can be reconstructed (updated with MSO ̲Assigned RI's
plus new Routing ̲codes).
Finally the Relay-info and the Relay-assign-records
are constructed. The relay-assign-records can only
be constructed on the basis of previously MSO assigned
Relay-instructions.
figure 4.2.2.4-13
R̲O̲U̲T̲I̲N̲G̲ ̲A̲S̲S̲I̲S̲T̲A̲N̲C̲E̲ ̲(̲R̲E̲L̲A̲Y̲ ̲A̲S̲S̲I̲G̲N̲ ̲C̲O̲U̲N̲T̲)̲ ̲(̲ ̲)̲
SC ̲COMMENT
or
VDU ̲PAGE ?
SET-UP RI ̲ASSIGNMENT ̲POINTER
EQUIVALENCE RI ̲ASSIGNMENT ̲STRUCTURE=RI ̲ASSIGNMENT ̲
POINTER
RI ̲ASSIGNMENT ̲COUNT = ZERO
NO-̲OF ̲PLA ̲RI = PLA ̲RI ̲DYNAMIC ̲COUNT
LOOP NO ̲OF ̲PLA ̲RI
BUILD RI ̲ASSIGN ̲RECORD (NO ̲OF ̲PLA ̲RI,
RI ̲ASSIGNMENT ̲COUNT)
(RI ̲ASSIGNMENT ̲COUNT)
END NO ̲OF ̲PLA ̲RI LOOP
QEL ̲FLAG.RELAY
or SET QEL ̲FLAG.RELAY
RELAY ̲ASSIGNMENTS
NE ZERO ? BUILD RELAY ̲ASSIGN ̲RECORD
(RELAY ̲ASSIGNMENTS) ()
WRITE ̲RI ̲ASSIGNMENT = TRUE
TEXT ̲POINTER = END ̲RI ̲ASSIGNMENT ̲ADS
SEND ̲FOR ̲RI ̲ASSIGNMENT = TRUE
RETURN
BUILD RI ̲ASSIGN RECORD(NO ̲OF ̲PLA ̲RI,RI ̲ASSIGNMENT ̲COUNT)
(RI ̲ASSIGNMENT ̲COUNT)
NO ̲OF ̲PLA ̲RI = PLA ̲RI ̲RECORD ̲NUMBER
PLA ̲RI.RI ̲MASK =
SECONDARY ̲RI, MSO ̲INSERT
OR IGNORE ?
PLA ̲RI. RI ̲MASK FINISHED AND DUPLICATE = ZERO
SELECTED ̲RI = SPACE ? PLA ̲MASK=REF ̲AIG? PLA ̲OFFSET=ZERO?
PLA ̲MASK. NE REPLA ?
INCREMENT RI ̲ASSIGNMENT ̲COUNT
RI ̲ASSIGN ̲CODE (RI ̲ASS) = PLA ̲RI.ROUTING ̲CODE
RI ̲ASSIGN = PLA ̲RI.SELECTED ̲RI
ABBREVIATED ̲MSG ?
PLA ̲OFFSET = ZERO ? ASSIGN ̲PLA = SPACE
PLA ̲MASK = REF ̲PLA ? ASSIGN ̲PLA =
ADDRESS ̲RECORD (PLA ̲OFFSET)
EQUIVALENCE ( PLA ̲KEY = KEY ̲BUFFER)
EQUIVALENCE ( PLA ̲RESULT = TMP ̲AREA ̲1)
PLA ̲KEY = PLA ̲RI. PLA ̲REF
SEARCH ̲PRIMARY ̲KEY (GLOBAL ̲PLA ̲TABLE ̲ID;
PRIMARY ̲PLA ̲REF
PLA ̲KEY ̲POINTER, 1,
TMP ̲AREA ̲1 ̲POINTER, 1,
READ ̲KEY = PLA)
(CC) : ERROR ̲OK
ERROR ? PROCESSING ̲ERROR (CC, SEARCH ̲PLA, NO ̲ACCEPT)(
)
ASSIGN ̲PLA = PLA ̲RESULT.PLA
RETURN
B̲U̲I̲L̲D̲ ̲R̲E̲L̲A̲Y̲ ̲A̲S̲S̲I̲G̲N̲ ̲R̲E̲C̲O̲R̲D̲ (RELAY ̲ASSIGNMENTS) ( )
RELAY ̲INFO ̲COUNT = RELAY ̲DYNAMIC ̲COUNT
- RELAY ̲ASSIGNMENTS
LOOP RELAY ̲INFO :
RELAY ̲INFO ̲RECORD = RELAY ̲DYNAMIC ̲RECORD (INFO)
END RELAY ̲INFO LOOP
LOOP RELAY ̲ASSIGNMENTS :
RELAY ̲ASSIGN ̲RECORD = RELAY ̲DYNAMIC ̲RECORD (INFO+ASSIGN)
END RELAY ̲ASSIGNMENTS LOOP
RETURN
4.2.2.4.14 R̲o̲u̲t̲i̲n̲g̲ ̲R̲e̲p̲o̲r̲t̲ ̲M̲o̲d̲u̲l̲e̲
4.2.2.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̲
If a classification check Circuit/Message failed this
indicates an inconsistency in some Routing Table, because
the classification of a RI should not be higher than
the classification of the corresponding circuit.
It is the function of this module to report this incident
to the supervisor.
4.2.2.4.14.2 M̲o̲d̲u̲l̲e̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲
Input: R0 = pointer to RI ̲record
R1 = CIRCUIT ̲NO
R5 = Routing-Code (TOO ̲LOW ̲CIRCUIT ̲CLASS)
Output:
C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
a) ROUTING ̲REPORT (RI ̲POINTER, CIRCUIT ̲NO,ROUTING
̲CC)()
b) ROUTING ̲REPORT (R0, R1, R5, R6)
4.2.2.4.14.3 M̲o̲d̲u̲l̲e̲ ̲C̲o̲m̲p̲o̲n̲e̲n̲t̲s̲
See Fig. 4.2.2.4-14 for Structure Routing Report Module
a) P̲r̲o̲c̲e̲s̲s̲i̲n̲g̲ ̲E̲r̲r̲o̲r̲ ̲P̲r̲o̲c̲e̲d̲u̲r̲e̲
Ref. 4.2.2.6.1.2 for description
b) I̲n̲s̲e̲r̲t̲ ̲C̲h̲a̲r̲a̲c̲t̲e̲r̲ ̲P̲r̲o̲c̲e̲d̲u̲r̲e̲
Ref. 4.2.2.6.1.4 for description
c) B̲i̲n̲a̲r̲y̲ ̲t̲o̲ ̲A̲s̲c̲i̲i̲ ̲P̲r̲o̲c̲e̲d̲u̲r̲e̲
Ref. 4.2.2.6.3.1 for description
Figure 4.2.2.4-14
4.2.2.4.14.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̲
QEL Data (4.2.2.5.3)
View Data (4.2.2.5.4)
b) E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲
SEND ̲QUEUE ̲REF (m)
SEND ̲PARAMS (m)
c) L̲o̲c̲a̲l̲ ̲D̲a̲t̲a̲
REPORT ̲BUFFER: REPORT ̲BUFFER ̲TYPE
BUFFER ̲REF : QEL ̲REFERENCE
4.2.2.4.14.5 M̲o̲d̲u̲l̲e̲ ̲D̲e̲s̲i̲g̲n̲
Having allocated a buffer from CSF, the report is build-up
using the Routing-code (Type) and RI-record-contents.
If the Routing-code = TOO ̲LOW ̲CIRCUIT ̲CLASS, the report-information
relevant besides from the report-text are:
- circuit-number
- routing indicator
The buffer is sent to the Supervisor Report-queue and
dismantled.
The Routing Report module is shared and controlled
from the:
- SCARS ̲CCIS Routing Module
- Completed Routing Module
- Selective Routing Module.
ROUTING REPORT (RI ̲POINTER, CIRCUIT ̲NO, ROUTING ̲CODE)
EQUIVALENCE (REPORT ̲BUFFER ̲TYPE = CONVERSION ̲BUFFER
+ REPORT ̲POSITION)
REPORT ̲TIME = SYSTEM ̲TIME
TEXT ̲REF = CHANNEL ̲CLASS ̲REPORT
REPORT ̲DATA ̲FIELD = CIRCUIT ̲NO, RI
REPORT ̲BUFFER ̲SIZE = MAX ̲REPORT ̲DATA ̲BYTES
EQUIVALENCE (BUFFER,REF,SEND ̲QEL ̲REF)
RESERVE ̲BUFFER (REPORT ̲BUFFER ̲SIZE, QUEUE ̲REF)
(BUFFER ̲REF, CC):ERROR ̲OK
ERROR ? PROCESSING ̲ERROR (CC, RESERVE ̲BUFFER,NO ̲ACCEPT)(
)
WRITE ̲BUFFER (BUFFER ̲REF,REPORT ̲BUFFER ̲POINTER,
REPORT ̲BUFFER ̲SIZE, ZERO)
(SIZE, CC) : ERROR ̲OK
ERROR ? PROCESSING ̲ERROR (CC, WRITE ̲BUFFER, NO ̲ACCEPT)
CONTINUES
CONTINUED ROUTING ̲REPORT
QUEUE ̲REF.MAINQUEUE = SUPV ̲REPQ
QUEUE ̲REF.SUBQUEUE = REPORT ̲QUEUE
SEND ̲QEL ̲HEADER.MAINTYPE = REPORT
SEND ̲QEL ̲HEADER.SUBTYPE = WARNING ̲REPORT
SEND ̲QEL ̲ATTRIBUTES. OBJECT = BUFFER
SEND ̲PARAMS. INFORMATION ̲TYPE = FALSE
SEND ̲PARAMS. CHECKP ̲STATUS = FALSE
SEND ̲QEL (SEND ̲PARAMS, BUFFER ̲REF, QUEUE ̲REF)
(SEND ̲PARAMS, CC) : ERROR ̲OK
ERROR ? PROCESSING ̲ERROR (CC, SEND ̲BUFFER,NO ̲ACCEPT)(
)
DISMANTLE ̲BUFFER (BUFFER ̲REF) (CC) : ERROR ̲OK
ERROR ? PROCESSING ̲ERROR (CC, DISMANTLE ̲BUFFER,NO ̲ACCEPT(
)
RETURN
4.2.2.4.15 F̲o̲r̲m̲a̲t̲t̲i̲n̲g̲ ̲M̲o̲d̲u̲l̲e̲
4.2.2.4.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 functions of the Formatting Module is to control
the following Modules:
- Init Formatting
- Formatting Controle
- Finish Formatting
The subjects for this superior Formatting are not only
messages for conversion from the Internal Message to
an External Message format, but also messages for RI
̲Assignment, Distribution and Storage.
4.2.2.4.15.2 M̲o̲d̲u̲l̲e̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲
Input:
Output: R5 = SEND ̲FUNCTION
C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
a) FORMATTING ( ) (SEND ̲FUNCTION)
b) FORMATTING (R5, R6)
4.2.2.4.15.3 M̲o̲d̲u̲l̲e̲ ̲C̲o̲m̲p̲o̲n̲e̲n̲t̲s̲
See figure 4.2.2.4-15 for structure Formatting Module.
a) I̲n̲i̲t̲ ̲F̲o̲r̲m̲a̲t̲t̲i̲n̲g̲ ̲M̲o̲d̲u̲l̲e̲
Ref. fig. 4.2.2.4.16 for description
b) F̲o̲r̲m̲a̲t̲t̲i̲n̲g̲ ̲C̲o̲n̲t̲r̲o̲l̲ ̲M̲o̲d̲u̲l̲e̲
Ref. fig. 4.2.2.4.18 for description
c) F̲i̲n̲i̲s̲h̲ ̲F̲o̲r̲m̲a̲t̲t̲i̲n̲g̲ ̲M̲o̲d̲u̲l̲e̲
Ref. fig. 4.2.2.4.23 for description
4.2.2.4.15.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̲
FORMATTING DATA (4.2.2.5.6)
ROUTING DATA (4.2.2.5.5)
QEL ̲DATA (4.2.2.5.3)
VIEW ̲DATA (4.2.2.5.4)
b) E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲
WORK ̲QEL ̲REF (m)
RECEIVE ̲QEL ̲REF
NO ̲OF ̲SECTIONS
CONVERSION ̲ERROR
SEND ̲FOR ̲TRANSMISSION (m)
c) L̲o̲c̲a̲l̲ ̲D̲a̲t̲a̲
SEND : BOOLEAN
FIRST ̲TRANSMISSION : BOOLEAN
SEND ̲FUNCTION : SEND ̲FUNCTION ̲TYPE
SECTION ̲NUMBER : INTEGER
CIRCUIT ̲NUMBER : INTEGER
ROUTING ̲INDEX : INTEGER
4.2.2.4.15.5 M̲o̲d̲u̲l̲e̲ ̲D̲e̲s̲i̲g̲n̲
The booleans Send ̲For ̲Type are used as guides during
the Formatting procedures. The module Init Formatting
is always activated at least once - should the message
be predestinated for RI ̲Assignment, all other operations
are cancelled and only this formatting be fulfilled.
If the message shall be sent for distribution or storage,
this is done first by activating the Init Formatting
Module (build up of send-parameters) and next the Finish
Formatting Module (write logic and send procedures).
The Formatting Control Module is activated for transmissions
(or punch) to one circuit per time; all sections (if
any) will be finished during this procedure. If more
circuits the send-loop will be repeated. When all send-for
booleans are false, the send-function variable is initiated
"finish" and the formatting procedure will break.
This also happens if the send-function equals "REPLY"
which is a signal to the Finish Formatting Module not
to send the view, (only write) but leave this job to
the Finish Conversion Module; the message is corrupted
in some way, and shall be returned to the drafter or
for additional RI ̲Assignment.
figure 4.2.2.4-15
F̲O̲R̲M̲A̲T̲T̲I̲N̲G̲ ( ) (SEND ̲FUNCTION)
SEND = TRUE
START ̲FORMATTING = FALSE
WORK ̲QEL ̲REF = RECEIVE ̲QEL ̲REF
NO ̲OF ̲SECTIONS = ZERO
CIRCUIT ̲INDEX = ZERO
LOOP SEND
INIT FORMATTING
CASE SEND ̲FUNCTION OF:
FINISH: SEND = FALSE
RI ̲ASSIGNMENT:
REPLY: FINISH ̲FORMATTING
SEND = FALSE
STORAGE : FINISH ̲FORMATTING
DISTRIBUTION : FINISH ̲FORMATTING
TRANSMISSION : LOOP NO ̲OF ̲SECTIONS:
FORMATTING ̲CONTROL
(SECTION ̲NUMBER) ()
FINISH ̲FORMATTING
END NO ̲OF ̲SECTIONS LOOP
END SEND ̲FUNCTION CASE
END SEND LOOP
RETURN
4.2.2.4.16 I̲n̲i̲t̲ ̲F̲o̲r̲m̲a̲t̲t̲i̲n̲g̲ ̲M̲o̲d̲u̲l̲e̲
4.2.2.4.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̲
Preparation of send-parameters (destination queue and
QEL-information for messages to be sent for RI-
Assignment, Storage, Distribution or Transmission.
Also the Init Formatting Module initiates a preparation
of ACP127-parameters for use during the formatting
for transmission.
4.2.2.4.16.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) INIT ̲FORMATTING
Input : R7 = FIRST ̲TRANSMISSION
Output: R2 = CIRCUIT ̲NUMBER
R3 = ROUTING ̲INDEX
R5 = SEND ̲FUNCTION
b) INIT ̲FORMATTING (R2, R3, R5, R7, R6)
4.2.2.4.16.3 M̲o̲d̲u̲l̲e̲ ̲C̲o̲m̲p̲o̲n̲e̲n̲t̲s̲
See fig. 4.2.2.4-19 for structure Init Formatting Module.
a) S̲e̲n̲d̲ ̲R̲I̲ ̲A̲s̲s̲i̲g̲n̲m̲e̲n̲t̲ ̲p̲r̲o̲c̲e̲d̲u̲r̲e̲
Prepares send-parameters for a message bound for
RI ̲Assignment, and for a message that shall be
returned to the drafter via a send-reply.
(Instead of RI ̲Assignment)
b) S̲e̲n̲d̲ ̲S̲t̲o̲r̲a̲g̲e̲ ̲P̲r̲o̲c̲e̲d̲u̲r̲e̲
Prepares send-parameters for a message that shall
be stored as released (Automatic Released Messages)
c) S̲e̲n̲d̲ ̲D̲i̲s̲t̲r̲i̲b̲u̲t̲i̲o̲n̲ ̲p̲r̲o̲c̲e̲d̲u̲r̲e̲
Prepares send-parameter for a message that shall
be local distributed (on basis of local SCD's or/and
local PLA's.
d) F̲o̲r̲m̲a̲t̲t̲i̲n̲g̲ ̲P̲r̲e̲p̲a̲r̲a̲t̲i̲o̲n̲
Ref. fig. 4.2.2.4.17 for description.
e) S̲e̲n̲d̲ ̲S̲C̲A̲R̲S̲-̲C̲C̲I̲S̲ ̲p̲r̲o̲c̲e̲d̲u̲r̲e̲
Prepares send-parameters for VDU-pages and Comments
bound for SCARS or CCIS.
f) S̲e̲n̲d̲ ̲T̲r̲a̲n̲s̲m̲i̲s̲s̲i̲o̲n̲ ̲p̲r̲o̲c̲e̲d̲u̲r̲e̲
Prepares send parameters for other messages bound
for NICS-TARE, TRC-Point.to.point, SCARS or CCIS.
4.2.2.4.16.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̲
FORMATTING DATA (4.2.2.5.6)
QEL DATA (4.2.2.5.3)
ROUTING DATA (4.2.2.5.5)
VIEW DATA (4.2.2.5.4)
b) E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲
SEND ̲FOR ̲RI ̲ASSIGNMENT (m)
SEND ̲FOR ̲STORAGE (m)
SEND ̲FOR ̲DISTRIBUTION (m)
FOR ̲SCARS (m)
FOR ̲CCIS (m)
SEND ̲FOR ̲TRANSMISSION (m)
CONVERSION ̲ERROR
WRITE ̲BOOLEANS (d)
CAMPS ̲ORIGINATOR
CLEAR ̲INSTRUCTION
PUNCH ̲INSTRUCTION
SEND ̲CLEAR (m)
SEND ̲PUNCH (m)
CCIS ̲CIRCUIT
SCARS ̲CIRCUIT
HQ ̲MASK
ENCRYPTED ̲TYPE
RECEIVE ̲SUBQUEUE
RECEIVE ̲QEL ̲ATTRIBUTES
SEND ̲PARAMETER (m)
SEND ̲QUEUE (m)
WRITE ̲ADMINISTRATION (m)
WRITE ̲ADDRESS (m)
WRITE ̲PLA ̲RI (m)
RI ̲VALIDATION
HQ ̲MASK (m)
ROUTING ̲LIST
L̲o̲c̲a̲l̲ ̲D̲a̲t̲a̲
FINISH : BOOLEAN
MORE : BOOLEAN
4.2.2.4.16.5 M̲o̲d̲u̲l̲e̲ ̲D̲e̲s̲i̲g̲n̲
The "SEND ̲FOR" booleans are initiated during the Init
Conversion procedures and now by the Init Formatting
Procedures cancelled when fulfilled.
A send-function expressing the wanted treatment is
delivered back to the Formatting Module as result of
the activities of this module.
If a message were determined for RI ̲Assignment all
other activities are cancelled. The formatting of messages
for storage, distribution or transmission will thus
not happen before a message is found valid. The Send
Transmission procedure selects the next circuit for
formatting and transmission via the ROUTING-list and
a circuit-index; when the ROUTING-list has been walked
through sequentially once the Formatting stops by assignment
of the send-function to FINISH.
If a message shall be punched or transmitted as CLEAR
a second walk through is performed for select of these
messages.
figure 4.2.2.4-16
I̲N̲I̲T̲ ̲F̲O̲R̲M̲A̲T̲T̲I̲N̲G̲
SEND ̲FOR ̲RI ̲ASSIGNMENT ? SEND ̲RI ̲ASSIGNMENT
( ) (SEND ̲FUNCTION)
FIRST ̲TRANSMISSION ?
FORMATTING ̲PREPARATION
SEND ̲FOR ̲SCARS ?
or SEND ̲SCARS ̲CCIS
SEND ̲FOR ̲CCIS ? ( ) (SEND ̲FUNCTION)
SEND ̲FOR ̲TRANSMISSION ? SEND ̲TRANSMISSION
(CIRCUIT ̲INDEX)
(CIRCUIT ̲INDEX
CIRCUIT ̲NUMBER,
SEND ̲FUNCTION)
SEND ̲FOR ̲STORAGE ? SEND ̲STORAGE
( ) (SEND ̲FUNCTION)
SEND ̲FOR ̲DISTRIBUTION ? SEND ̲DISTRIBUTION
( ) (SEND ̲FUNCTION)
SEND ̲FUNCTION = FINISHED
RETURN
S̲E̲N̲D̲ ̲R̲I̲ ̲A̲S̲S̲I̲G̲N̲M̲E̲N̲T̲ ( ) (SEND ̲FUNCTION)
SEND ̲QEL.MAINTYPE = RECEIVE ̲QEL.MAINTYPE
SEND ̲QEL.FLAG = RECEIVE ̲QEL.FLAG
RECEIVE ̲SUBQUEUE = TRAFFIC?
FROM ̲RI ̲ASSIGNMENT ? WRITE ̲ADMINISTRATION=FALSE
WRITE ̲ADDRESS=FALSE
WRITE ̲PLA ̲RI=FALSE
ABB ̲SERVICE OR
PLAINDRESS ̲SERVICE RI ̲VALIDATION=FALSE
?
SEND ̲FUNCTION = REPLY
SEND ̲QEL.MAINTYPE = RECEIVE ̲QEL.MAINTYPE
SEND ̲QEL.SUBTYPE = SUSPENDED
SEND ̲QEL.FLAG = RECEIVE ̲QEL.FLAG
SEND ̲QEL.INFO = RECEIVE ̲QEL.INFO
SEND ̲FUNCTION = RI ̲ASSIGNEMNT
SEND ̲QEL.MAINTYPE = RECEIVE ̲QEL.MAINTYPE
SEND ̲QEL.SUBTYPE FOR-RI-ASSIGNMENT
SEND ̲QEL.FLAG = RECEIVE ̲QEL.FLAG
SEND ̲QEL.INFO = RECEIVE ̲QEL.INFO
SEND ̲QUEUE = MSOS ̲OMQ
SEND ̲SUBQUEUE = ADMINISTRATION.ACT ̲PREC
SEND ̲FOR ̲RI ̲ASSIGNMENT = FALSE
SEND ̲FOR ̲DISTRIBUTION = FALSE
SEND ̲FOR ̲STORAGE = FALSE
SEND ̲FOR ̲TRANSMISSION = FALSE
SEND ̲FOR ̲SCARS = FALSE
SEND ̲FOR ̲CCIS = FALSE
RETURN
SEND ̲DISTRIBUTION ( ) (SEND ̲FUNCTION)
HQ ̲MASK = ZERO
LOCAL ̲PLA ̲SUBJECT = FALSE ?
NO ̲OF ̲PLA ̲RI = PLA ̲RI ̲DYNAMIC ̲COUNT
LOOP NO ̲OF ̲PLA ̲RI:
USING PLA ̲RI ̲RECORD (NO ̲OF ̲PLA ̲RI):
PLA ̲RI. PLA ̲MASK = LOCAL ? PLA ̲MASK OR HQ ̲MASK
END LOOP NO ̲OF ̲PLA ̲RI
HQ ̲MASK AND HIGH ̲BYTE
SEND ̲QEL.INFO = HQ ̲MASK
SEND ̲QEL.MAINTYPE = RECEIVE ̲QEL.MAINTYPE
SEND ̲QEL.SUBTYPE = FOR ̲DISTRIBUTION
SEND ̲QEL.FLAG = RECEIVE ̲QEL.FLAG
SEND ̲QUEUE = MDQ
SEND ̲SUBQUEUE = TRAFFIC
SEND ̲FUNCTION = DISTRIBUTION
SEND ̲FOR ̲DISTRIBUTION = FALSE
RECEIVE ̲QEL.TFC ̲MASK. DISTRIBUTION = ZERO
SCARS ̲CCIS ̲MSG ̲TYPE ? CHANGE ̲MSG ̲TYPE
RETURN
S̲E̲N̲D̲ ̲S̲T̲O̲R̲A̲G̲E̲ ( ) (SEND ̲FUNCTION)
SEND ̲QEL. MAINTYPE = RECEIVE ̲QEL.MAINTYPE
SEND ̲QEL.SUBTYPE = FOR ̲STORAGE
SEND ̲QEL.FLAG = RECEIVE ̲QEL. FLAG
SEND ̲QUEUE = ISQ
SEND ̲SUBQUEUE = ONE
SEND ̲FUNCTION = STORAGE
SEND ̲FOR ̲STORAGE = FALSE
RECEIVE ̲QEL.TFC ̲MASK.AUTOMATIC ̲RELEASE = ZERO
SCARS ̲CCIS ̲MSG ̲TYPE ? CHANGE ̲MAIN ̲TYPE
RETURN
S̲E̲N̲D̲ ̲S̲C̲A̲R̲S̲ ̲C̲C̲I̲S̲ ( ) (SEND ̲FUNCTION)
SEND ̲QEL.MAINTYPE = RECEIVE ̲QEL.MAINTYPE
SEND ̲QEL.FLAG = RECEIVE ̲QEL.FLAG
SEND ̲QEL.INFO = SEND ̲QEL.INFO
SEND ̲SUBQUEUE = ADMINISTRATION.ACT ̲PREC
SEND ̲FOR ̲SCARS ? SEND ̲QEL.SUBTYPE = FOR ̲SCARS
SEND ̲FOR ̲SCARS = FALSE
SEND ̲QUEUE = CIQ + SCARS ̲CIRCUIT
SEND ̲FOR ̲CCIS ? SEND ̲QEL.SUBTYPE = FOR ̲CCIS
SEND ̲FOR ̲CCIS = FALSE
SEND ̲QUEUE ̲CIQ + CCIS ̲CIRCUIT
SEND ̲FUNCTION = TRANSMISSION
ROUTING ̲COUNT, CIRCUIT ̲INDEX = ZERO
RETURN
S̲E̲N̲D̲ ̲T̲R̲A̲N̲S̲M̲I̲S̲S̲I̲O̲N̲ (CIRCUIT ̲INDEX) (CIRCUIT ̲INDEX,
CIRCUIT ̲NUMBER,
SEND ̲FUNCTION))
FINISH = FALSE
LOOP CIRCUIT ̲INDEX
CIRCUIT ̲INDEX = ROUTING ̲COUNT ? FINISH = TRUE
INCREMENT CIRCUIT ̲INDEX EXIT ̲LOOP
PLA ̲RI ̲RECORD = ROUTING ̲LIST (CIRCUIT ̲INDEX)
PLA ̲RI.PLA ̲MASK = LOCAL ?
PLA ̲RI.RI ̲MASK = IGNORE
OR FINISHED ?
END CIRCUIT ̲INDEX LOOP
FINISH ? SEND ̲FOR ̲TRANSMISSION = FALSE
CIRCUIT ̲NUMBER = PLA ̲RI.CIRCUIT ̲NO
CIRCUIT ̲RESULT.CIRCUIT ̲TYPE = TRANS ̲TYPE
CASE TRANS ̲TYPE OF:
NICS ̲TARE : SEND ̲QEL.SUBTYPE = FOR ̲NICS ̲TARE
TRC ̲P ̲T ̲P : SEND ̲QEL.SUBTYPE = FOR ̲TRC ̲POINT
SCARS : SEND ̲QEL.SUBTYPE = FOR ̲SCARS
CCIS : SEND ̲QEL.SUBTYPE = FOR ̲CCIS
END CASE TRANS ̲TYPE.
continue
continues S̲E̲N̲D̲ ̲T̲R̲A̲N̲S̲M̲I̲S̲S̲I̲O̲N̲
SEND ̲QEL.MAINTYPE = RECEIVE ̲QEL.MAINTYPE
SCARS ̲CCIS ̲MSG ? CHANGE ̲MSG ̲TYPE
SEND ̲QUEUE = CIQ + CIRCUIT ̲RESULT. CIRCUIT
SEND ̲SUBQUEUE = ADMINISTRATION. ACT ̲PREC
SEND ̲QEL ̲FLAGS. = RECEIVE ̲QEL.FLAG
SEND ̲QEL.INFO = RECEIVE ̲QEL.INFO
RETURN
4.2.2.4.17 F̲o̲r̲m̲a̲t̲t̲i̲n̲g̲ ̲P̲r̲e̲p̲a̲r̲a̲t̲i̲o̲n̲
4.2.2.4.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̲
The functions of the Formatting Preparation Module
is to build up the fixed elements of a message in format
ACP127 and to do one-time jobs like:
- calculation of sections
- search in network-table (DE RI)
- search in Global ACP127 parameters (ZGC insert,
Separate R and U FL2, Time-zone and Year insertion)
4.2.2.4.17.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) FORMATTING ̲PREPARATION
b) FORMATTING ̲PREPARATION (R6)
4.2.2.4.17.3 M̲o̲d̲u̲l̲e̲ ̲C̲o̲m̲p̲o̲n̲e̲n̲t̲s̲
See fig. 4.2.2.4-17 for structure Formatting Preparation
Module.
a) C̲a̲l̲c̲u̲l̲a̲t̲e̲-̲s̲e̲c̲t̲i̲o̲n̲s̲ ̲p̲r̲o̲c̲e̲d̲u̲r̲e̲
Determines whether a message shall be sectioned
or
not.
b) C̲r̲e̲a̲t̲e̲ ̲S̲e̲c̲t̲i̲o̲n̲ ̲L̲i̲s̲t̲ ̲P̲r̲o̲c̲e̲d̲u̲r̲e̲
Builds up the text-offsets to be used when
formatting the individual sections.
c) L̲o̲c̲a̲t̲e̲ ̲N̲e̲x̲t̲ ̲L̲i̲n̲e̲ ̲P̲r̲o̲c̲e̲d̲u̲r̲e̲
Ref. 4.2.2.6.3.2 for description.
d) B̲u̲i̲l̲d̲ ̲A̲C̲P̲-̲p̲a̲r̲a̲m̲e̲t̲e̲r̲-̲F̲i̲e̲l̲d̲
Allocates an area in the Conversion Buffer for
an ACP-parameter-Field and fills in all fixed values
like classification and precedence.
e) B̲i̲n̲a̲r̲y̲ ̲t̲o̲ ̲A̲s̲c̲i̲i̲ ̲P̲r̲o̲c̲e̲d̲u̲r̲e̲
Ref. 4.2.2.6.3.1 for description
f) B̲u̲i̲l̲d̲ ̲Q̲E̲L̲ ̲I̲n̲f̲o̲ ̲P̲r̲o̲c̲e̲d̲u̲r̲e̲
Builds up the information to be contained in the
QEL ̲Header in messages for transmission
g) R̲e̲a̲d̲ ̲S̲y̲s̲t̲e̲m̲ ̲P̲a̲r̲a̲m̲e̲t̲e̲r̲s̲
These parameters are the global ACP127 and the
network parameters; their values will be kept during
the remaining formatting.
h) E̲r̲r̲o̲r̲ ̲P̲r̲o̲c̲e̲s̲s̲i̲n̲g̲ ̲P̲r̲o̲c̲e̲d̲u̲r̲e̲
Ref. fig. 4.2.2.6.1.2 for description.
4.2.2.4.17.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̲
ACP127 Parameter Field (DBD/001 10.2.2)
NETWORK ̲TABLE (DND/001 6.9)
ACP127 ̲PARAMETERS (DBD/001 5.1.3)
CONVERSION ̲BUFFER (4.2.2.5.1)
FORMATTING ̲DATA (4.2.2.5.6)
b) E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲
VIEW ̲ATTRIBUTE
FIELD ̲LIST (m)
NO ̲OF ̲SECTIONS (m)
SECTION ̲LIST (m)
SECTION ̲SUBJECT
TEXT ̲LINE ̲LIST (m)
RI ̲ASSIGNMENT POINTER
TEXT ̲POINTER
ACP ̲PARAMS ̲POINTER (m)
WRITE ̲ADMINISTRATION (m)
RECEIVE ̲QEL ̲ATTRIBUTE
RECEIVE ̲QEL ̲REF
SEND ̲FOR ̲RI ̲ASSIGNMENT
KEY ̲RESULT ̲AREA (m)
TRANSMISSION ̲PRECEDENCE (m)
SC ̲TYPE
PLAINDRESS ̲TYPE
CAMPS ̲ORIGINATOR
READDRESSAL
c) L̲o̲c̲a̲l̲ ̲D̲a̲t̲a̲
None
4.2.2.4.17.5 M̲o̲d̲u̲l̲e̲ ̲D̲e̲s̲i̲g̲n̲
The Formatting Preparation Module is activated just
before the first formatting for transmission.
The received view is closed by this module.
Camps originated PLAINDRESS and PLAINDRESS ̲SERVICE
are subjects for sectioning. If the message shall be
sectioned, the text-offsets associated to the sections
are collected into the section-list (see flowgram for
algorithm).
An area to contain the ACP ̲parameter ̲field is allocated
and initiated standard values from the Administration
Field and other sources.
Finally the DE ̲RI's are derived from the network-table,
the ACP127 parameters from the system parameters and
the fixed elements of the ACP127 parameter ̲field build
up.
figure 4.2.2.4-17
F̲O̲R̲M̲A̲T̲T̲I̲N̲G̲ ̲P̲R̲E̲P̲A̲R̲A̲T̲I̲O̲N̲
SEND ̲FOR ̲RE ̲ASSIGNMENT ?
CALCULATE ̲SECTIONS
BUILD ̲ACP ̲PARAMETERS ̲FIELD
BUILD ̲QEL ̲INFO
READ ̲ACP ̲PARAMETERS
CAMPS ̲ORIGINATED ?
READ NETWORK ̲PARAMETERS
CLOSE RECEIVED ̲VIEW
RETURN
C̲A̲L̲C̲U̲L̲A̲T̲E̲ ̲S̲E̲C̲T̲I̲O̲N̲S̲
NO ̲OF ̲SECTIONS, SECTION ̲LIST(1) = ZERO
SECTION ̲SUBJECT = FALSE ?
HEADER ̲LINES = TWO "FL5 + FL6"
HEADER ̲LINES = HEADER ̲LINES
+ ADMINISTRATION. NUMBER ̲OF ̲TO ̲ADD,
ADMINISTRATION. NUMBER ̲OF ̲INFO ̲ADD,
ADMINISTRATION. NUMBER ̲OF ̲XMT ̲ADD
READDRESSAL ̲SUBJECT = FALSE ?
HEADER ̲LINES = HEADER ̲LINES + 2 "FL5 + FL6"
HEADER ̲LINES = HEADER ̲LINES
+ ADMINISTRATION. NUMBER ̲OF ̲READD ̲TO ̲ADD,
ADMINISTRATION. NUMBER ̲OF ̲READD ̲INFO ̲ADD,
ADMINISTRATION. NUMBER ̲OF ̲READD ̲XMT ̲ADD
INCREMENT HEADER ̲LINES "FL 11"
HEADER ̲LINES = HEADERLINES/20
HEADER ̲LINES = REMAINDER
REMAINDER = ZERO ? HEADER ̲LINES = 20
TEXT ̲PREAMBLE ̲LINES = TWO "FL 12a + FL 12b"
INCREMENT TEXT ̲PREAMBLE ̲LINES "FL 12c (section)"
TEXT ̲PREAMBLE ̲LINES = TEXT ̲PREAMBLE ̲LINES
+ ADMINISTRATION.NUMBER ̲OF ̲EXERCISE ̲LINES
ADMINISTRATION.NUMBER ̲OF ̲IHI ̲LINES,
ADMINISTRATION.NUMBER ̲OF ̲SUBJECT ̲LINES
TEXT ̲LINES = 120
TEXT ̲LINES = TEXT ̲LINES - HEADER ̲LINES
TEXT ̲LINES = TEXT ̲LINES - TEXT ̲PREAMBLE ̲LINES
Continues…86…1 …02… …02… …02… …02…
Continued CALCULATE ̲SECTIONS
ADMINISTRATION.NUMBER ̲OF ̲TEXT ̲LINES GT TEXT ̲LINES ?
SECTION ̲LIST (2) = RECEIVE ̲FIELD ̲LIST.USED ̲LENGTH
DECREMENT TEXT ̲LINES "SECTION ̲LINE"
SECTION ̲LINES = ADMINISTRATION.NUMBER ̲OF ̲TEXT ̲LINES
TEXT ̲ADDRESS = TEXT ̲POINTER
LOOP SECTIONS:
INCREMENT NO ̲OF ̲SECTIONS
LOOP TEXT ̲LINES:
DECREMENT SECTION ̲LINES
TEXT ̲ADDRESS = TEXT ̲ADDRESS + IOC ̲BYTE ̲COUNT
SECTION ̲LINES = ZERO ? EXIT LOOP
END TEXT ̲LINES LOOP
SECTION ̲OFFSET = TEXT ̲ADDRESS - TEXT ̲POINTER
SECTION ̲LIST(NO ̲OF ̲SECTIONS + 1) = SECTION ̲OFFSET
SECTION ̲LINES = ZERO ? EXIT LOOP
END SECTION LOOP
RETURN
4.2.2.4.18 F̲o̲r̲m̲a̲t̲t̲i̲n̲g̲ ̲C̲o̲n̲t̲r̲o̲l̲ ̲M̲o̲d̲u̲l̲e̲
4.2.2.4.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̲
The Formatting Control Module is responsible for the
formatting from IMF to EMF; it fulfills its function
by control of the modules:
- SCARS ̲CCIS Formatting
- Header-preamble Formatting
- Header-Formatting
Text-preamble Formatting
4.2.2.4.18.2 M̲o̲d̲u̲l̲e̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲
Input: R2 = CIRCUIT ̲NUMBER
R3 = ROUTING ̲INDEX
R4 = Section Number
"ZERO" if no sections.
Output:
C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲:̲
a) FORMATTING ̲CONTROL (CIRCUIT ̲NUMBER, ROUTING ̲INDEX,
SECTION ̲NUMBER) ( )
b) FORMATTING ̲CONTROL (R2, R3, R4, R6)
4.2.2.4.18.3 M̲o̲d̲u̲l̲e̲ ̲C̲o̲m̲p̲o̲n̲e̲n̲t̲s̲
See fig. 4.2.2.4-18 for structure formatting control
module.
a) S̲C̲A̲R̲S̲ ̲C̲C̲I̲S̲ ̲F̲o̲r̲m̲a̲t̲t̲i̲n̲g̲ ̲M̲o̲d̲u̲l̲e̲
Ref. fig. 4.2.2.4.19 for description.
b) H̲e̲a̲d̲e̲r̲ ̲p̲r̲e̲a̲m̲p̲l̲e̲ ̲F̲o̲r̲m̲a̲t̲t̲i̲n̲g̲ ̲M̲o̲d̲u̲l̲e̲
Ref. fig. 4.2.2.4.20 for description.
c) H̲e̲a̲d̲e̲r̲ ̲F̲o̲r̲m̲a̲t̲t̲i̲n̲g̲ ̲M̲o̲d̲u̲l̲e̲
Ref. fig. 4.2.2.4.21 for description.
d) T̲e̲x̲t̲-̲p̲r̲e̲a̲m̲p̲l̲e̲ ̲F̲o̲r̲m̲a̲t̲t̲i̲n̲g̲ ̲M̲o̲d̲u̲l̲e̲
Ref. fig. 4.2.2.4.22 for description
e) I̲n̲c̲l̲u̲d̲e̲ ̲T̲e̲x̲t̲ ̲p̲r̲o̲c̲e̲d̲u̲r̲e̲
Appends the text ̲part to the alrrady formatted
header ̲part for messages not having the text separated
from the header with "BT" (ASM, VDU ̲pages Comments)
f) M̲o̲v̲e̲ ̲C̲h̲a̲r̲a̲c̲t̲e̲r̲s̲ ̲P̲r̲o̲c̲e̲d̲u̲r̲e̲
Ref. 4.2.2.6.1.3 for description.
4.2.2.4.18.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̲
FORMATTING DATA (4.2.2.5.6)
VIEW DATA (4.2.2.5.4)
b) E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲
SECTION ̲LIST
TEXT ̲LINE ̲LIST
NO ̲OF ̲SECTIONS
WRITE ̲ACP ̲PARAMETER (m)
WRITE ̲ACP ̲HEADER (m)
WRITE ̲ACP ̲TEXT ̲PREAMBLE (m)
CONVERSION ̲ERROR (m)
SEND ̲PARAMETERS
CAMPS ̲ORIGINATOR
READDRESSAL
SUSDUP ̲PILOT
ACP ̲PARAMS ̲POINTER
ACP ̲HEADER ̲POINTER (m)
ACP ̲TEXT ̲PREAMBLE ̲POINTER (m)
ADDRESS ̲POINTER
END ̲BUFFER ̲POINTER (m)
c) L̲o̲c̲a̲l̲ ̲D̲a̲t̲a̲
CIRCUIT ̲NUMBER : INTEGER
ROUTING ̲INDEX : INTEGER
SECTION ̲NUMBER : INTEGER
4.2.2.4.18.5 M̲o̲d̲u̲l̲e̲ ̲D̲e̲s̲i̲g̲n̲
The Formatting Control Module is activated from the
Formatting Module when an External Message Format shall
be formatted; the actual section-number of this transmission
is delivered as Input-parameter.
If a message is bound for SCARS or CCIS the SCARS ̲CCIS
Formatting Module will be activated; next a dynamic
Header-Preamble Module (not Comments or VDU-pages);
if the message were preceeded with a pilot as incoming
a static Header Preamble is next generated.
In a similar manner the Header Formatting Module will
be activated to generate the dynamic set of addresses
and the static set of addresses (readdressal). Finally
an ACP127-text-field is generated via the Text-Preamble
Formatting Module if the message is Camps Originated.
figure 4.2.2.4-18
FORMATTING ̲CONTROL (SECTION ̲NUMBER) ( )
FINAL ̲SECTION = TRUE
SECTION ̲NUMBER GT NO ̲OF ̲SECTIONS ? FINAL ̲SECTION =
FALSE
WRITE ̲ACP ̲TEXT ̲PREAMBLE = FALSE
HEADER ̲POINTER = ACP ̲POINTER + ACP ̲PARAMETER ̲SIZE
SEND ̲QEL.SUBTYPE = SCARS ̲CCIS ̲FORMATTING
FOR ̲SCARS OR FOR ̲CCIS ?
VDU ̲PAGE OR COMMENT? INCLUDE
̲TEXT
(HEADER
̲POINTER)
(HEADER
̲POINTER)
HEADER ̲PREAMBLE ̲FORMATTING (CIRCUIT ̲INDEX,DYNAMIC)
(NO ̲OF POINTERS)
SEND ̲QEL.FLAG = NE PILOT ?
SEND ̲QEL.SUBTYPE = FOR ̲CCIS ?
HEADER ̲PREAMBLE ̲FORMATTING (CIRCUIT ̲INDEX,STATIC)
(NO ̲OF ̲POINTERS)
SEND ̲QEL.MAINTYPE = ABB ̲SERVICE ? INCLUDE ̲TEXT(HEADER
̲POINTER)
(HEADER ̲POINTER)
HEADER ̲FORMATTING (CIRCUIT ̲INDEX, DYNAMIC, NO ̲OF ̲POINTERS)
SEND ̲QEL.FLAG NE READDRESSED ?
HEADER ̲FORMATTING (CIRCUIT ̲INDEX, STATIC, NO ̲OF ̲POINTERS)(
)
SEND ̲QEL.FLAG NE CAMPS ̲ORIGINATED ?
TEXT ̲PREAMBLE ̲FORMATTING (SECTION ̲NUMBER, NO ̲OF ̲SECTIONS)
(TEXT ̲PREAMBLE ̲SIZE)
WRITE ̲ACP ̲PARAMETERS = TRUE
WRITE ̲ACP ̲TEXT ̲PREAMBLE = TRUE
WRITE ̲ACP ̲HEADER = TRUE
RETURN
4.2.2.4.19 S̲C̲A̲R̲S̲ ̲C̲C̲I̲S̲ ̲F̲o̲r̲m̲a̲t̲t̲i̲n̲g̲ ̲M̲o̲d̲u̲l̲e̲
4.2.2.4.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̲
The SCARS ̲CCIS Formatting Module is completely responsible
for the formatting of VDU-pages and SC-Comments.
Also it will format FLC and FLD 1 of messages bound
for CCIS (CCIS E1 Format).
4.2.2.4.19.2 M̲o̲d̲u̲l̲e̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲
Input: R0 = FL ̲INDEX
R1 = NO ̲OF ̲LINES
Output: R0 = NEW FL ̲INDEX
R1 = NEW NO ̲OF ̲LINES
R5 = CC
C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
a) SCARS ̲CCIS ̲FORMATTING (FL ̲INDEX, NO ̲OF ̲LINES)
(FL ̲INDEX, NO ̲OF ̲LINES, CC) ( )
b) SCARS ̲CCIS ̲FORMATTING (R0, R1, R5, R6)
4.2.2.4.19.3 M̲o̲d̲u̲l̲e̲ ̲C̲o̲m̲p̲o̲n̲e̲n̲t̲s̲
See fig. 4.2.2.4.19 for structure SCARS ̲CCIS ̲Formatting
Module.
a) F̲L̲C̲ ̲D̲1̲ ̲F̲o̲r̲m̲a̲t̲t̲i̲n̲g̲ ̲P̲r̲o̲c̲e̲d̲u̲r̲e̲
Build-up of FLC (SPECIAL)
- classification + special handling.
Build-up of FLD 1 (PREC)
- precedence.
Shared Procedures:
- Format Classification (ref. 4.2.2.6.3.7)
- Format Special Handling (ref. 4.2.2.6.3.8)
- Format Precedence (ref. 4.2.2.6.3.6)
- Insert Parameter (ref. 4.2.2.6.3.5)
- Update IOC-record (ref. 4.2.2.6.3.3)
b) F̲L̲D̲2̲ ̲E̲F̲ ̲F̲o̲r̲m̲a̲t̲t̲i̲n̲g̲ ̲p̲r̲o̲c̲e̲d̲u̲r̲e̲
Build-up of FLD2 (ORIG)
- originator SCD
- originator ID
Build-up of FLE (ACT) and FLF (INFO)
- Action SCD
- Info SCD
Shared Procedures
- Insert Parameter (ref. 4.2.2.6.3.5)
- Update IOC ̲Record (ref. 4.2.2.6.3.3)
c) F̲L̲J̲ ̲F̲o̲r̲m̲a̲t̲t̲i̲n̲g̲ ̲p̲r̲o̲c̲e̲d̲u̲r̲e̲
Build-up of FLJ (MSGID)
- message originator
- station serial no.
- month
- display name (DISPN)
Shared Procedures
- Insert Space (ref. 4.2.2.6.3.4)
- Convert DTG (ref. 4.2.2.6.4.9)
- Insert Parameter (ref. 4.2.2.6.3.5)
- Update IOC ̲Record (ref. 4.2.2.6.3.3)
4.2.2.4.19.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̲
ACP ̲PARAMETER ̲FIELD (DBD/001 10.2.2)
ACP ̲HEADER ̲FIELD (DBD/001 10.2.3)
ADMINISTRATION ̲FIELD (DBD/001 10.1.1)
FORMATTING DATA (4.2.2.5.6)
b) E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲
SEND ̲PARAMETERS
TRANSMISSION ̲PRECEDENCE
SEND ̲QEL.HEADER
ACP ̲PARAMS.SC ̲MSG ̲TYPE (m)
ACP ̲PARAMS.SC ̲PRECEDENCE (m)
ADMINISTRATION. CLASS
- . SPEC ̲HAND ̲INST
- . ACTION ̲PREC
- . ORIGINATOR ̲SCD
- . ORIGINATOR ̲ID
- . MSG ̲ID
- . DISPLAY ̲NAME
- . MONTH ̲ID
- . DELIVERY ̲SCD ̲A
- . DELIVERY ̲SCD ̲B
- . SSN
c) L̲o̲c̲a̲l̲ ̲D̲a̲t̲a̲
None
4.2.2.4.19.5 M̲o̲d̲u̲l̲e̲ ̲D̲e̲s̲i̲g̲n̲
Because the message after formatting will be queued
to a SCARS or CCIS circuit-queue for transmission,
the information necessary for framing (X.25) will be
formatted
- precedence
- message type.
Next the FL's of the SCARS ̲CCIS E1 message will be
generated; a narrative message for SCARS will not be
formatted by this module (ACP 127) but a narrative
message for CCIS will be enveloped with FLC and FLD1;
the remaining FL's will be generated by the Header
Formatting Module (from FL 5) VDU-pages and comments
will use all FL-procedures specified.
If the message shall leave camps with a suspected duplicate
pilot, this is already indicated via the QEL.TFC ̲MASK
with an INSERT ̲PILOT command to the Outgoing Transport
Subpackage; that subpackage has the capabilities to
change a SC ̲message-type into the equivalent susdup-type.
figure 4.2.2.4-19
S̲C̲A̲R̲S̲ ̲C̲C̲I̲S̲ ̲F̲O̲R̲M̲A̲T̲T̲I̲N̲G̲
ACP ̲PARAMS.SC ̲PRECEDENCE = ADMINISTRATION.ACT ̲PREC
BUILD ̲SC ̲MESSAGE ̲TYPE
SEND ̲QEL.MAINTYPE NE
SEND ̲QEL.SUBTYPE=FOR ̲SCARS ? SC ̲COMMENT OR
VDU-PAGE ?
FLC ̲FORMATTING (HEADER ̲POINTER) (HEADER ̲POINTER)
FLD1 ̲FORMATTING (HEADER ̲POINTER) (HEADER ̲POINTER)
SEND ̲QEL ̲MAINTYPE NE
SC ̲COMMENT OR
VDU ̲PAGE ?
FLD2 ̲FORMATTING (HEADER ̲POINTER) (HEADER ̲POINTER)
FLEF ̲FORMATTING (HEADER ̲POINTER) (HEADER ̲POINTER)
FL5 ̲FORMATTING (HEADER ̲POINTER) (HEADER ̲POINTER)
RETURN
4.2.2.4.20 H̲e̲a̲d̲e̲r̲ ̲P̲r̲e̲a̲m̲b̲l̲e̲ ̲F̲o̲r̲m̲a̲t̲t̲i̲n̲g̲ ̲M̲o̲d̲u̲l̲e̲
4.2.2.4.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̲
The functions of the Header Preamble Formatting Module
is to format the FL's from FL2 to FL4.
It is able to regenerate a pilot of an incoming message
relayed out again. The format-lines generated are:
- FL1A (if pilot)
- FL2 (dynamic + static)
- FL3
- FL4 (dynamic + static)
- FL4A (if relay-instructions, dynamic + static)
4.2.2.4.20.2 M̲o̲d̲u̲l̲e̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲
Input: RO = FL ̲Index
R1= No of Lines
R2= Circuit Number
R3 = Routing Index
R7 = Formatting Function
Output: RO = New FL ̲Index
R1 = New No of Lines
R5 = CC
C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
a) HEADER ̲PREMABLE ̲FORMATTING (FL ̲INDEX,
NO ̲OF ̲LINES,
CIRCUIT ̲NUMBER,
ROUTING ̲INDEX,
FORMATTING ̲FUNCTION)
(FL ̲INDEX,
NO ̲OF ̲LINES, CC)
b) HEADER ̲PREMABLE FORMATTING (RO, R1, R2, R3,
R5, R7, R6)
4.2.2.4.20.3 M̲o̲d̲u̲l̲e̲ ̲C̲o̲m̲p̲o̲n̲e̲n̲t̲s̲
See fig. 4.2.2.4-20 for structure Header ̲Preamble Formatting
Module.
a) F̲L̲1̲A̲ ̲F̲o̲r̲m̲a̲t̲t̲i̲n̲g̲ ̲p̲r̲o̲c̲e̲d̲u̲r̲e̲
Formatting of the FL1 preceding the static-part
of a message with pilot.
- 5 spaces
- security ̲Prosign (UU/HH)
Shared procedures:
- Insert space (ref. 4.2.2.6.3.4)
- Insert Parameter (ref. 4.2.2.6.3.5)
Update IOC ̲Record (ref. 4.2.2.6.3.3)
b) F̲L̲2̲ ̲F̲o̲r̲m̲a̲t̲t̲i̲n̲g̲ ̲p̲r̲o̲c̲e̲d̲u̲r̲e̲s̲
Formatting of FL2 and additional FL2's
Shared procedures:
- Format precedence (ref. 4.2.2.6.3.6)
- Format RI (ref. 4.2.2.6.3.9)
- Insert space (ref. 4.2.2.6.3.4)
- Insert Parameter (ref. 4.2.2.6.3.5)
- Update IOC ̲Record (ref. 4.2.2.6.3.3)
c) F̲L̲2̲ ̲D̲i̲s̲p̲a̲t̲c̲h̲ ̲p̲r̲o̲c̲e̲d̲u̲r̲e̲
Determine whether the RI's of FL2 shall be separated
in accordance with the first letter of an RI (R
or U).
Determines the transmission precedence mostly the
action-precedence but under certain circumstances
the Info-precedence (only Info addressees in that
transmission).
d) L̲o̲c̲a̲t̲e̲ ̲n̲e̲x̲t̲ ̲R̲I̲ ̲p̲r̲o̲c̲e̲d̲u̲r̲e̲
Selects the next RI (selected-RI) from the PLA
̲RI ̲records via the routing-list, using the Routing-Index
and Circuit ̲number.
e) F̲L̲3̲ ̲F̲o̲r̲m̲a̲t̲t̲i̲n̲g̲ ̲p̲r̲o̲c̲e̲d̲u̲r̲e̲
Derives DE ̲RI via network-indicator or uses the
DE RI of an incoming message (now relayed)
- Station serial number (SSN)
- Filing-time.
Shared prodecures
- Format RI (ref. 4.2.2.6.3.9)
- Convert Filing time (ref. 4.2.2.6.4.8)
Insert space (ref. 4.2.2.6.3.4)
Insert Parameter (ref. 4.2.2.6.3.5)
Update IOC-Record (ref. 4.2.2.6.3.3)
f) F̲L̲4̲ ̲F̲o̲r̲m̲a̲t̲t̲i̲n̲g̲ ̲p̲r̲o̲c̲e̲d̲u̲r̲e̲
-Security warning operating signal ZNR if
unclassified else ZNY (corresponds to the UU/HH
of
FL 1)
-Special handling designators
-Operating signals including ZGC and ZXY
Shared procedures
- Format Classification (ref. 4.2.2.6.3.7)
- Format special Handling (ref. 4.2.2.6.3.8)
- Insert space (ref. 4.2.2.6.3.4)
- Insert Parameter (ref. 4.2.2.6.3.5)
- Update IOC-Record (ref. 4.2.2.6.3.3)
g) F̲L̲4̲A̲ ̲F̲o̲r̲m̲a̲t̲t̲i̲n̲g̲ ̲p̲r̲o̲c̲e̲d̲u̲r̲e̲
formatting of relay-instruction
Shared procedures
- Format RI (ref. 4.2.2.6.3.9)
- Insert Space (ref. 4.2.2.6.3.4)
- Insert Parameter (ref. 4.2.2.6.3.5)
- Update IOC-Record (ref. 4.2.2.6.3.3)
4.2.2.4.20.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̲
ACP ̲PARAMETER ̲FIELD (DBD/001 10.2.2)
ACP ̲HEADER ̲FIELD (DBD/001 10.2.3)
ADMINISTRATION ̲FIELD (DBD/001 10.1.1)
PLA ̲RI ̲FIELD (DBD/001 10.1.6)
FORMATTING DATA (4.2.2.5.6)
b) E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲
SEND ̲PARAMETERS
RELAY ̲INSTRUCTIONS
SUSDUP ̲PILOT
CAMPS ̲ORIGINATOR
ADMINISTRATION. FILE ̲TIME
- . SSN
- . CLASS
- . SPEC ̲HAND ̲INST
- . ACTION ̲PREC
- . INFO ̲PREC
- . ADDRESS ̲OFFSETS
- . MSG ̲HANDL ̲FL 4
PLA ̲RI.SELECTED ̲RI
PLA ̲RI.RI ̲MASK (m)
PLA ̲RI ̲RELAY ̲RECORD (m)
ACP.STATION ̲ID (m)
TRANSMISSION ̲PRECEDENCE
ROUTING ̲LIST
KEY ̲RESULT ̲AREA
c) L̲o̲c̲a̲l̲ ̲D̲a̲t̲a̲
CIRCUIT ̲NUMBER: INTEGER
4.2.2.4.20.5 M̲o̲d̲u̲l̲e̲ ̲D̲e̲s̲i̲g̲n̲
The procedures FL1A, FL2, FL3, FL4 and FL4A are activated
via the main module procedure in accordance with Pilot-indication
or not (QEL.FLAG). The FL2 procedure will format the
precedence if first line or else start the formatting
of the RI's to be inserted
FL2.
Before the formatting of FL2 starts it is tested whether
R-and U-type RI's shall be formatted separately; if
yes, the type found via the circuit-index will be selected
as the initial type (and later swapped with the opposite
type). During the formatting of FL2, the record-numbers
(PLA ̲RI ̲field) associated to the concerning records
with a selected-RI will be removed from the routing-list.
Note that a message for CCIS is included in this procedure.
figure 4.2.2.4-20
HEADER ̲PREAMBLE ̲FORMATTING (CIRCUIT ̲INDEX, PREAMBLE)
(NO ̲OF ̲POINTERS)
CASE PREAMBLE OF:
DYNAMIC: FL2 ̲FORMATTING(HEADER ̲POINTER, CIRCUIT
̲INDEX,
DYNAMIC, NO ̲OF ̲POINTERS)(HEADER.POINTER,
NO
̲OF ̲POINTERS)
SEND ̲QEL.SUBTYPE = FOR ̲CCIS ?
SEND ̲QEL.FLAG NE PILOT ? FL 3 ̲FORMATTING
(HEADER ̲POINTER,
CIRCUIT ̲INDEX, DYNAMIC)
(HEADER ̲POINTER)
SEND ̲QEL.SUBTYPE = FOR:CCIS ?
FL4 ̲FORMATTING (HEADER ̲POINTER,DYNAMIC)
(HEADER ̲POINTER)
SEND ̲QEL.FLAG = RELAY ? FL 4A ̲FORMATTING
(HEADER ̲POINTER,
DYNAMIC)
(HEADER ̲POINTER)
STATIC: FL1A ̲FORMATTING (HEADER ̲POINTER)
(HEADER ̲POINTER)
FL2 ̲FORMATTING (HEADER ̲POINTER)
CIRCUIT ̲INDEX,STATIC)
(HEADER ̲POINTER)
FL3 ̲FORMATTING (HEADER ̲POINTER,CIRCUIT
̲INDEX
NO ̲OF ̲POINTERS, STATIC
(HEADER ̲POINTER)
FL4 ̲FORMATTING (HEADER ̲POINTER, STATIC)
(HEADER ̲POINTER)
SEND ̲QEL.FLAG = RELAY ? FL4A ̲FORMATTING
(HEADER ̲POINTER,
STATIC)
(HEADER ̲POINTER)
END CASE PREAMBLE
RETURN
4.2.2.4.21 H̲e̲a̲d̲e̲r̲ ̲F̲o̲r̲m̲a̲t̲t̲i̲n̲g̲ ̲M̲o̲d̲u̲l̲e̲
4.2.2.4.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̲
The functions of the Header Formatting Module is to
format the FL's from FL 5 to FL 10.
The module is able to generate the readdressed part
of a readdressal also.
The format-lines generated are:
- FL 5
- FL 6
- FL 7
- FL 8
- FL 9
- FL 10
4.2.2.4.21.2 M̲o̲d̲u̲l̲e̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲
Input: R0 = FL ̲Index
R1 = No of Lines
R2 = Circuit Number
R7 = Formatting ̲Function
Output: RO = New FL ̲Index
R1 = New No ̲of ̲Lines
R5 = CC
C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
a) HEADER ̲FORMATTING (FL ̲INDEX, NO ̲OF ̲LINES,
CIRCUIT ̲NUMBER,
FORMATTING ̲FUNCTION)
(FL ̲INDEX, NO ̲OF ̲LINES,
CC)
b) HEADER ̲FORMATTING (R0, R1, R2, R5, R7, R6)
4.2.2.4.21.3 M̲o̲d̲u̲l̲e̲ ̲C̲o̲m̲p̲o̲n̲e̲n̲t̲s̲
See fig. 4.2.2.4-21 for structure Header Formatting
Module.
a) F̲L̲5̲ ̲F̲o̲r̲m̲a̲t̲t̲i̲n̲g̲ ̲p̲r̲o̲c̲e̲d̲u̲r̲e̲
Formatting of FL 5 with the following contents:
- precedence action prosign
- precedence info prosign
- date time group (DTG)
- operating signals
Shared procedures
- Format precedence (ref. 4.2.2.6.3.6)
- Convert DTG (ref. 4.2.2.6.4.9)
- Insert space (ref. 4.2.2.6.3.4)
- Insert Parameter (ref. 4.2.2.6.3.5)
- Update IOC-Record (ref. 4.2.2.6.3.3)
c) F̲L̲6̲ ̲F̲o̲r̲m̲a̲t̲t̲i̲n̲g̲ ̲p̲r̲o̲c̲e̲d̲u̲r̲e̲
Formatting of originator PLA (FM)
Shared procedures
- Move Characters (ref. 4.2.2.6.1.3)
- Insert Parameter (ref. 4.2.2.6.3.5)
- Update IOC ̲Record (ref. 4.2.2.6.3.3)
d) F̲L̲7̲-̲8̲ ̲F̲o̲r̲m̲a̲t̲t̲i̲n̲g̲ ̲p̲r̲o̲c̲e̲d̲u̲r̲e̲
Formatting of FL7 or FL8 PLA and AIG's (TO/INFO)
additional lines
Shared procedures:
- Format RI (ref. 4.2.2.6.3.9
- Move characters (ref. 4.2.2.6.1.3)
- Insert space (ref. 4.2.2.6.3.4)
- Insert parameter (ref. 4.2.2.6.3.5)
- Update IOC ̲Record (ref. 4.2.2.6.3.3)
e) F̲L̲9̲ ̲F̲o̲r̲m̲a̲t̲t̲i̲n̲g̲ ̲p̲r̲o̲c̲e̲d̲u̲r̲e̲
Formatting of XMT PLA's.
Shared procedures
- Locate next line (ref. 4.2.2.6.3.2)
Move characters (ref. 4.2.2.6.1.3)
- Insert Parameter (ref. 4.2.2.6.3.5)
- Update IOC ̲Record (ref. 4.2.2.6.3.3)
f) F̲L̲1̲0̲ ̲F̲o̲r̲m̲a̲t̲t̲i̲n̲g̲ ̲p̲r̲o̲c̲e̲d̲u̲r̲e̲
Formatting of group count - GR (SB) - and accounting
information (none CAMPS originated messsages)
Shared procedures:
- Insert parameter (ref. 4.2.2.6.3.5
- Update IOC ̲Record (ref. 4.2.2.6.3.3)
4.2.2.4.21.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̲
ADMINISTRATION FIELD (DBD/001 10.1.1)
ADDRESS FIELD (DBD/001 10.1.3)
PLA ̲RI FIELD (DBD/001 10.1.6)
ACP ̲PARAMETER FIELD (DBD/001 10.2.2)
ACP ̲HEADER FIELD (DBD/001 10.2.3)
FORMATTING DATA (4.2.2.5.6)
b) E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲
ADMINISTRATION. RELEASE ̲DTG
ADMINISTRATION. READDRESSAL ̲DTG
ADMINISTRATION. MSG ̲HANDL ̲FL 4
ADMINISTRATION. GROUP ̲COUNT
ADMINISTRATION. ACCOUNTING ̲INFO
ADMINISTRATION. NUMBER ̲OF ̲ADD
ADMINISTRATION. NUMBER ̲OF ̲READD ̲ADD
ADMINISTRATION. GROUP ̲OFFSETS
ROUTING ̲LIST
READDRESSAL
ADDRESS POINTER
ENCRYPTED ̲MSG
ABBREVIATED ̲MSG
PLAINDRESS ̲TYPE
PLA ̲RI. DESCRIPTOR
CAMPS ̲ORIGINATOR
PLA ̲RI ̲PLA ̲MASK
PLA ̲RI.PLA ̲RI
PLA ̲RI.RI ̲MASK (m)
KEY ̲RESULT ̲AREA
c) L̲o̲c̲a̲l̲ ̲D̲a̲t̲a̲
CIRCUIT ̲NUMBER: INTEGER
FORMATTING ̲FUNCTION: DYN ̲STA ̲TYPE
4.2.2.4.21.5 M̲o̲d̲u̲l̲e̲ ̲D̲e̲s̲i̲g̲n̲
Messages of type Plaindress will pass all FL procedures
once; twice if the message has been readdressed; the
FL procedures will receive this information as input
(dynamic or static). Note that the FL 10 formatting
procedure is activated once (even if readdressed) -
and only once, as the last procedure; the reason is
that none CAMPS originated messages might have assigned
accounting information. Abbreviated messages shall
not have formatted FL 6,7,8 or 9 but else the same
principles as above described.
When formatting FL 7 or FL 8 the address-records identified
via offsets and counters are used plus the entire PLA
̲RI ̲field; the RI located in subfield PLA ̲RI shall be
placed in front of the PLA (if PLA - not AIG) provided
that the pointerlist contains a pointer to this PLA
̲RI ̲Record; otherwise it shall be ZEN'ed; if the PLA
is a single PLA, nothing shall preceed it at all. When
the Final Section is generated, the PLA ̲RI ̲Record is
marked as finished in order to prevent the Init Formatting
procedure to select this circuit once more (except
if more than 200 RI's to same circuit).
figure 4.2.2.4-21
H̲E̲A̲D̲E̲R̲ ̲F̲O̲R̲M̲A̲T̲T̲I̲N̲G̲(CIRCUIT ̲INDEX,ADDRESSAL,NO ̲OF ̲POINTERS)
( )
CASE ADDRESSAL OF:
DYNAMIC : FL5 ̲FORMATTING (HEADER ̲POINTER,
DYNAMIC)
(HEADER ̲POINTER)
ABBREVIATED ̲MSG ?
FL6 ̲FORMATTING (HEADER ̲POINTER,
DYNAMIC)
(HEADER ̲POINTER)
FL7-8 ̲FORMATTING (HEADER ̲POINTER,
DYNAMIC,NO ̲OF ̲POINTERS)
(HEADER ̲POINTER)
FL9 ̲FORMATTING (HEADER ̲POINTER,
DYNAMIC)
(HEADER ̲POINTER)
SEND ̲QEL.FLAG = readdressal ?
FL10 ̲FORMATTING (HEADER ̲POINTER)
(HEADER ̲POINTER)
STATIC: FL5 ̲FORMATTING (HEADER ̲POINTER,STATIC)
(HEADER ̲POINTER)
ABBREVIATED ̲MSG ?
FL6 ̲FORMATTING (HEADER ̲POINTER,STATIC)
(HEADER ̲POINTER)
FL7-8 ̲FORMATTING (HEADER ̲POINTER,
DYNAMIC,
NO ̲OF ̲POINTERS)
(HEADER ̲POINTER)
ENCRYPTED ̲MSG = FALSE ?
FL10 ̲FORMATTING (HEADER ̲POINTER)
(HEADER ̲POINTER)
END CASE ADDRESSAL
RETURN
4.2.2.4.22 T̲e̲x̲t̲-̲P̲r̲e̲a̲m̲b̲l̲e̲ ̲F̲o̲r̲m̲a̲t̲t̲i̲n̲g̲ ̲M̲o̲d̲u̲l̲e̲
4.2.2.4.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 functions of the Text-preamble Formatting Module
is to format the FL's from FL12A to FL12E of a CAMPS
originated message.
- None CAMPS originated messages contains these format-lines
in the beginning of the text-field.
For PLAINDRESS and PLAINDRESS ̲SERVICE messages section
numbers might also be generated if long message.
4.2.2.4.22.2 M̲o̲d̲u̲l̲e̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲
Input: R0 = FL ̲Index
R1 = No ̲of ̲Lines
R4 = Section Number
Output: R0 = New FL ̲Index
R1 = New No ̲of ̲Lines
R5 = CC
C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
a) TEXT ̲PREAMBLE ̲FORMATTING (FL ̲INDEX, NO ̲OF ̲LINES
SECTION ̲NUMBER)
(FL ̲INDEX, NO ̲OF ̲LINES,
CC)
b) TEXT ̲PREAMBLE ̲FORMATTING (R0, R1, R4, R5, R6)
4.2.2.4.22.3 M̲o̲d̲u̲l̲e̲ ̲C̲o̲m̲p̲o̲n̲e̲n̲t̲s̲
See fig. 4.2.2.4-25 for structure Text-preamble-Formatting
Module.
a) F̲L̲1̲2̲A̲ ̲F̲o̲r̲m̲a̲t̲t̲i̲n̲g̲ ̲p̲r̲o̲c̲e̲d̲u̲r̲e̲
Formatting of FL12A:
- classification word
- special handling word
- national names.
Shared procedures
- Insert space (ref. 4.2.2.6.3.4)
- Insert Parameter (ref. 4.2.2.6.3.5)
- Update IOC ̲Record (ref. 4.2.2.6.3.3)
b) F̲L̲1̲2̲B̲ ̲F̲o̲r̲m̲a̲t̲t̲i̲n̲g̲ ̲p̲r̲o̲c̲e̲d̲u̲r̲e̲
Formatting of FL12B containing SIC's.
Shared procedures
- Insert Parameter (4.2.2.6.3.5)
- Update IOC ̲Record (4.2.2.6.3.3)
c) F̲L̲1̲2̲C̲ ̲F̲o̲r̲m̲a̲t̲t̲i̲n̲g̲ ̲p̲r̲o̲c̲e̲d̲u̲r̲e̲
Formatting of FL12C containing exercise nickname
(if present) and section number (if long message).
Formatting of Exercise nickname.
Formatting of section number:
- SECTION X OF N
- FINAL SECTION OF N
Shared procedures
- Binary to ASCII (ref. 4.2.2.6.3.1)
- Move characters (ref. 4.2.2.6.1.3)
- Locate Next Line (ref. 4.2.2.6.3.2)
- Insert Parameter (ref. 4.2.2.6.3.5)
- Update IOC ̲Record (ref. 4.2.2.6.3.3)
d) F̲L̲1̲2̲D̲E̲ ̲F̲o̲r̲m̲a̲t̲t̲i̲n̲g̲ ̲p̲r̲o̲c̲e̲d̲u̲r̲e̲
Formatting of Internal Handling Instructions.
Formatting of SUBJECT.
C̲o̲m̲m̲o̲n̲ ̲p̲r̲o̲c̲e̲d̲u̲r̲e̲s̲
- Locate Next line (4.2.2.6.3.2)
- Move characters (ref. 4.2.2.6.1.3)
4.2.2.4.22.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̲
ADMINISTRATION FIELD (DBD/001 10.1.1)
TEST PREAMBLE FIELD (DBD/001 10.1.4)
ACP ̲PARAMETER FIELD (DBD/001 10.2.2)
ACP ̲TEXT ̲PREAMBLE FIELD (DBD/001 10.2.4)
FORMATTING DATA (4.2.2.5.6)
b) E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲
ADMINISTRATION. NUMBER ̲OF ̲EXERSIZE ̲LINES
- . NUMBER ̲OF ̲IHI ̲LINES
- . NUMBER ̲OF ̲SUBJECT ̲LINES
- . GROUP ̲EXERSIZE ̲OFFSET
- . GROUP ̲IHI ̲OFFSET
- . GROUP ̲SUBJECT ̲OFFSET
- . CLASS
- . SPEC ̲HAND ̲INSTR
- . NATIONAL ̲NAME
- . SICS
ACP ̲PARAMS.PAGE ̲CLASS
SEND ̲CLEAR
ADDRESS ̲POINTER
NO ̲OF ̲SECTIONS
CLASS ̲WORD
CLASS ̲WORD ̲LENGTH
SPEC ̲WORD
SPEC ̲WORD ̲LENGTH
c) L̲o̲c̲a̲l̲ ̲D̲a̲t̲a̲
SECTION ̲NUMBER: INTEGER
4.2.2.4.22.5 M̲o̲d̲u̲l̲e̲ ̲D̲e̲s̲i̲g̲n̲
FL12A and FL12B will be formatted in all CAMPS originated
messages out from the information contained in the
Administration Field; the Class-word table is used
to convert a Class-prosign and a spec-handl-prosign
into an associated text; this formatting may include
the national name and is the only format line where
this information is kept. If the message has been assigned
CLEAR, nothing else but CLEAR will be in FL12A.
The SIC's of FL12B will be separated with slash Messages
where it is possible to prepare exercise nickname,
International handling instructions and subject will
be further formatted by the formatting procedures FL12C,
FL12D and FL12E.
If a message is too long for one transmission it shall
be sectioned; the section formatting (SECTION X OF
N) is done in FL12C; if this line also includes an
exercise nickname, the section number text will be
formatted in a seperate line.
figure 4.2.2.4-22
TEXT ̲PREAMBLE ̲FORMATTING (SECTION ̲NUMBER, NO ̲OF ̲SECTIONS)
ACP ̲TEXT ̲PREAMBLE ̲SIZE = ZERO
ACP ̲TEXT ̲PREAMBLE ̲POINTER = HEADER ̲POINTER
FL12A ̲FORMATTING (ACP ̲TEXT ̲PREAMBLE ̲POINTER)
(ACP ̲TEXT ̲PREAMBLE ̲POINTER)
FL12B ̲FORMATTING (ACP ̲TEXT ̲PREAMBLE ̲POINTER)
(ACP ̲TEXT ̲PREAMBLE ̲POINTER)
SERVICE ̲MSG ? ABBREVIATED ̲MSG ?
FL12C ̲FORMATTING (ACP ̲TEXT ̲PREAMBLE ̲POINTER,
SECTION ̲NUMBER,
NO ̲OF ̲SECTIONS)
(ACP ̲TEXT ̲PREAMBLE ̲POINTER)
FL12D ̲FORMATTING (ACP ̲TEXT ̲PREAMBLE ̲POINTER)
(ACP ̲TEXT ̲PREAMBLE ̲POINTER)
FL12E ̲FORMATTING (ACP ̲TEXT ̲PREAMBLE ̲POINTER)
(ACP ̲TEXT ̲PREAMBLE ̲POINTER)
RETURN
4.2.2.4.23 F̲i̲n̲i̲s̲h̲ ̲F̲o̲r̲m̲a̲t̲t̲i̲n̲g̲ ̲M̲o̲d̲u̲l̲e̲
4.2.2.4.23.1 F̲u̲n̲c̲t̲i̲o̲n̲a̲l̲ ̲D̲e̲s̲c̲r̲i̲p̲t̲i̲o̲n̲
The functions of the Finish Formatting Module are:
- Creation of a new View or CIF-version
- Write of new fields into the View
- Send View to destination queue
- Send Flash Notification to association command
queue (if flash)
4.2.2.4.23.2 M̲o̲d̲u̲l̲e̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲
INPUT: R2 = Circuit Number
R5 = SEND ̲Function
OUTPUT:
C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
a) FINISH ̲FORMATTING (CIRCUIT ̲NUMBER,
SEND ̲FUNCTION) ( )
b) FINISH ̲FORMATTING (R2, R5, R6)
4.2.2.4.23.3 M̲o̲d̲u̲l̲e̲ ̲C̲o̲m̲p̲o̲n̲e̲n̲t̲s̲
See fig. 4.2.2.4-23 for structure Finish Formatting
Module.
a) C̲h̲e̲c̲k̲ ̲A̲c̲c̲e̲s̲s̲ ̲p̲r̲o̲c̲e̲d̲u̲r̲e̲
Initiates Create of new View or same View
Initiates Create of new CIF-version with
attributes = unclassified, if the message-version
for transmission shall be CLEAR.
b) P̲r̲e̲p̲a̲r̲e̲ ̲v̲i̲e̲w̲ ̲A̲t̲t̲r̲i̲b̲u̲t̲e̲s̲ ̲p̲r̲o̲c̲e̲d̲u̲r̲e̲
Assigns the values INCLUDE ̲FROM PREDECESSOR,
NON ̲EXISTING or NEW ̲FIELD to the Field ̲Information
of the view ̲attributes in accordance with
the wirte ̲booleans and the VIEW ̲TYPE initiated
by the check Access profile procedure.
c) P̲r̲e̲p̲a̲r̲e̲ ̲F̲i̲e̲l̲d̲ ̲L̲i̲s̲t̲ ̲P̲r̲o̲c̲e̲d̲u̲r̲e̲
Build-up of the field-info to be used during Create-View.
The field-info shall contain the standard set of
Fields not flagged for Write; these will then be
included into the new view automatically.
Local procedure: Prepare Field
d) C̲r̲e̲a̲t̲e̲ ̲M̲e̲s̲s̲a̲g̲e̲ ̲P̲r̲o̲c̲e̲d̲u̲r̲e̲
Write fields to the new view.
The administration-field, address-field and the
PLA ̲RI-field shall only be written once.
e) S̲e̲n̲d̲ ̲M̲e̲s̲s̲a̲g̲e̲ ̲p̲r̲o̲c̲e̲d̲u̲r̲e̲
- Send View to destination-queue
- Return the View to own queue if destination-queue
was blocked.
- Dismantle or Save View.
Assignment of QEL-header for Punch and Send-queue
if the transmission is of type Crypto Security
or MSO had assigned a punch-instruction.
f) F̲l̲a̲s̲h̲ ̲N̲o̲t̲i̲f̲i̲c̲a̲t̲i̲o̲n̲ ̲p̲r̲o̲c̲e̲d̲u̲r̲e̲
Build up and send of Flash Notification (if message
of precedence flash) to MSO-Common-Command-queue,
PTP-Command-queue or a Transport Command-queue
(not NICS ̲TARE)
g) E̲r̲r̲o̲r̲ ̲P̲r̲o̲c̲e̲s̲s̲i̲n̲g̲ ̲P̲r̲o̲c̲e̲d̲u̲r̲e̲
Ref. 4.2.2.6.1.2 for description.
4.2.2.4.23.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̲
VIEW DATA (4.2.2.5.4)
QEL DATA (4.2.2.5.3)
FORMATTING DATA (4.2.2.5.6)
CONVERSION BUFFER (4.2.2.5.1)
b) E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲
SEND ̲QUEUE (m)
START ̲BUFFER ̲POINTER
ADDRESS ̲POINTER
ADMINISTRATION ̲POINTER
PLA ̲RI ̲POINTER
RI-ASSIGNMENT ̲POINTER
END ̲BUFFER ̲POINTER
WORK ̲QEL ̲REF (m)
ACP ̲PARAMS ̲POINTER
ACP ̲HEADER ̲POINTER
ACP ̲TEXT ̲PREAMBLE ̲POINTER
VIEW ̲ATTRIBUTES (m)
SEND-QEL ̲REF (m)
SEND ̲FIELD ̲LIST (m)
SEND ̲PARAMETERS (m)
WRITE ̲ADMINISTRATION (m)
WRITE ̲ADDRESS (m)
WRITE ̲PLA ̲RI (m)
WRITE ̲RI ̲ASSIGNMENT (m)
ADMINISTRATION.SPEC ̲HANDL ̲INSTR
TRANSMISSION ̲PRECEDENCE
SEND ̲PUNCH
SEND ̲CLEAR
c) L̲o̲c̲a̲l̲ ̲D̲a̲t̲a̲
VIEW ̲TYPE = (SAME ̲VIEW, NEW ̲VIEW, NEW ̲CIF)
CIRCUIT ̲NUMBER: INTEGER
SEND ̲FUNCTION: SEND ̲FUNCTION ̲TYPE
4.2.2.4.23.5 M̲o̲d̲u̲l̲e̲ ̲D̲e̲s̲i̲g̲n̲
The first activity is to create a new view (or CIF-version
as described in functional specification); before this
may be performed a field-list containing the fields
to be included in the new view shall be prepared; this
field-list shall also include the SCD ̲Field even if
this field is not used by the Conversion Subpackage;
the fields marked for write shall not be included (administration,
address and/or PLA ̲RI ̲Field).
Next the new updates are performed via another field-list
containing references to the new fields.
Now the view is ready for transfer to the destination
queue assigned by the Init Formatting procedures; however
the destination might be changed to the PTP ̲queue if
so decided by MSO or the message is of Spec-Handl-Class
CRYPTO Security.
Finally a selfcontained short QEL is sent to the Command-queues
specified 4.2.2.4.23.3 if the message is of precedence
flash.
The principle flow as illustrated in the following
flograms has been implemented in the structure depicted
in figure 4.2.2.4-23.
figure 4.2.2.4-23
FINISH ̲FORMATTING
SAVE SEND ̲QEL.SUBTYPE, SEND ̲QUEUE, SEND ̲SUBQUEUE
SEND ̲VIEW ̲ATTRIBUTES. ACCESS ̲PROFILE
EQUIVALENCE VIEW ̲REF = SEND ̲QEL ̲REF.
PREPARE ̲NEW ̲VIEW (VIEW ̲REF, SEND ̲VIEW ̲ATTRIBUTES
SEND ̲QEL ̲ATTRIBUTES)
(VIEW ̲REF, SEND ̲VIEW ̲ATTRIBUTES
SEND ̲QEL ̲ATTRIBUTES)
UPDATE ̲VIEW(VIEW ̲REF,SEND ̲VIEW ̲ATTRIBUTES,
SEND ̲FIELD ̲LIST)( )
WRITE ̲ADMINISTRATION = FALSE
WRITE ̲ADDRESS = FALSE
WRITE ̲PLA ̲RI = FALSE
SEND ̲FUNCTION = REPLY?
SEND ̲PARAMS.INFORMATION ̲TYPE = FALSE
SEND ̲PARAMS.CHECK ̲STATUS = TRUE
SEND ̲FUNCTION=RI ̲ASSIGNMENT? SEND ̲PARAMS.CHECK.P ̲STATUS
=
FALSE
SEND ̲VIEW (SEND ̲QEL ̲REF, CHECKPOINT) ( )
PRECEDENCE = FLASH ? FLASH ̲NOTIFICATION (SEND ̲FUNCTION,
CIRCUIT ̲NUMBER,
FINAL ̲SECTION)(
)
UNSAVE SEND ̲SUBQUEUE, SEND ̲QUEUE, SEND ̲QEL.SUBTYPE,
SEND ̲VIEW ̲ATTRIBUTES. ACCESS ̲PROFILE
RETURN
PREPARE ̲NEW ̲VIEW (VIEW ̲REF,SEND ̲VIEW ̲ATTRIBUTES,
SEND-QEL ̲ATTRIBUTES)
(VIEW ̲REF, SEND ̲VIEW ̲ATTRIBUTES,
SEND ̲QEL ̲ATTRIBUTES)
SEND ̲FUNCTION NE TRANSMISSION ?
SEND ̲PUNCH ̲CLEAR ? PUNCH ̲INSTRUCTION? VIEW ̲FUNCTION=CLEAR
ADMINISTRATION.SPEC ̲HAND ̲INST= SEND ̲PUNCH
CRYPTO SECURITY
BUILD.FIELD ̲INFO
CASE VIEW ̲FUNCTION OF:
NORMAL: CREATE ̲VIEW (SEND ̲VIEW ̲ATTRIBUTES, VIEW ̲REF,
RECEIVE ̲QUEUE ̲REF)
(VIEW ̲REF,CC):ERROR ̲OK
LIMIT: CREATE ̲NEW ̲CIF ̲VERSION (SEND ̲VIEW ̲ATTRIBUTES,
VIEW ̲REF,
RECEIVE ̲QUEUE ̲REF)
(VIEW ̲REF,CC):ERROR ̲OK
CLEAR: SEND ̲VIEW ̲ATTRIBUTES.ACCESS ̲PROFILE=UNCLASSIFIED
CREATE ̲NEW ̲CIF ̲VERSION (SEND ̲VIEW ̲ATTRIBUTES,
VIEW ̲REF,
RECEIVE ̲QUEUE ̲REF)
(VIEW ̲REF, CC):ERROR ̲OK
END CASE VIEW ̲FUNCTION
OK ? ERROR ̲PROCESSING (CC, CREATE ̲VIEW/CREATE ̲CIF ̲VERSION,
ACCEPT: LIMIT ̲VIEW,LIMIT ̲FIELDS,
LIMIT ̲FIELD ̲GROUP)
VIEW ̲FUNCTION = LIMIT
REPEAT VIEW ̲FUNCTION CASE
RETURN
B̲U̲I̲L̲D̲ ̲F̲I̲E̲L̲D̲ ̲I̲N̲F̲O̲
SEND ̲VIEW ̲ATTRIBUTES = RECEIVE ̲VIEW ̲ATTRIBUTES
USING SEND ̲VIEW ̲ATTRIBUTES.FIELD ̲INF
USING FIELD ̲INF(ADMINISTRATION)
WRITE ̲ADMINISTRATION = FALSE? FIELD ̲STATUS
=
INCLUDED ̲FROM
PREDECESSOR
FIELD ̲STATUS = NEW ̲FIELD
REFERENCED = TRUE
WRITE ̲ACCESS = TRUE
PERMANENT = TRUE
ALLOCATED ̲LENGTH = 512
RECEIVE ̲FIELD ̲LIST.USED ̲LENGTH(SCD ̲FIELD) = ZERO?
USING FIELD ̲INF(SCD ̲FIELD)
FIELD ̲STATUS = INCLUDED ̲FROM ̲PREDECESSOR
USING FIELD ̲INF(ADDRESS)
RECEIVE ̲FIELD ̲LIST.USED ̲LENGTH(ADDRESS) = ZERO?
WRITE ̲ADDRESS = FALSE? FIELD ̲STATUS =
INCLUDED ̲FROM ̲PREDECESSOR
FIELD ̲STATUS = NEW ̲FIELD
REFERENCED = TRUE
WRITE ̲ACCESS = TRUE
PERMANENT = TRUE
ALLOCATED ̲LENGTH = USED ̲LENGTH
USING FIELD ̲INF(TEXT)
FIELD ̲STATUS = INCLUDED ̲FROM ̲PREDECESSOR
Continues
continued BUILD ̲FIELD ̲INFO(1)
RECEIVE ̲FIELD ̲LIST.USED ̲LENGTH(TEXT ̲PREAMBLE) = ZERO?
USING FIELD ̲INF(TEXT ̲PREAMBLE)
FIELD ̲STATUS = INCLUDED ̲FROM ̲PREDECESSOR
RECEIVE ̲FIELD ̲LIST.USED ̲LENGTH(PLA ̲RI) = ZERO?
USING FIELD ̲INF(PLA ̲RI)
WRITE ̲PLA ̲RI = FALSE? FIELD ̲STATUS =
INCLUDED ̲FROM ̲PREDESSOR
FIELD ̲STATUS = NEW ̲FIELD
REFERENCED = TRUE
WRITE ̲ACCESS = TRUE
PERMANENT = TRUE
ALLOCATED ̲LENGTH =
ACP ̲PARAMS ̲POINTER - PLA ̲RI ̲POINTER
USING FIELD ̲INF(RI ̲ASSIGNMENT)
WRITE ̲RI ̲ASSIGNMENT = FALSE? FIELD ̲STATUS =
NOT ̲EXISTING
FIELD ̲STATUS = NEW ̲FIELD
REFERENCED = TRUE
WRITE ̲ACCESS = TRUE
PERMANENT = FALSE
ALLOCATED ̲LENGTH = 512
USING FIELD ̲INF(ACP ̲PARAMS)
FIELD ̲STATUS = NEW ̲FIELD
REFERENCED = TRUE
WRITE ̲ACCESS = TRUE
PERMANENT = FALSE
ALLOCATED ̲LENGTH = 512
continues
continued PREPARE ̲FIELD ̲INFO(2)
USING FIELD ̲INF(ACP.HEADER)
FIELD ̲STATUS = NEW ̲FIELD
REFERENCED = TRUE
WRITE ̲ACCESS = TRUE
PERMANENT = FALSE
ALLOCATED ̲LENGTH = 512
USING FIELD ̲INF(ACP ̲TEXT ̲PREAMBLE)
FIELD ̲STATUS = NEW ̲FIELD
REFERENCED = TRUE
WRITE ̲ACCESS = TRUE
PERMANENT = FALSE
ALLOCATED ̲LENGTH = 512
RETURN
U̲P̲D̲A̲T̲E̲ ̲V̲I̲E̲W̲ (VIEW ̲REF, SEND ̲VIEW ̲ATTRIBUTES,
SEND ̲FIELD ̲LIST) ( )
OPEN ̲VIEW (VIEW ̲REF)(CC): ERROR ̲OK
ERROR? PROCESSING ̲ERROR(CC, OPEN ̲SEND ̲VIEW,
NO ̲ACCEPT)( )
PREPARE ̲WRITE ̲FIELDS( )(BUFFERSIZE, NO ̲OF ̲FIELDS)
NO ̲OF ̲FIELDS = ZERO?
WRITE = FALSE
LOOP WRITE:
WRITE ̲VIEW(BUFFERSIZE,
SEND ̲FIELD ̲LIST,
VIEW ̲REF,
START ̲BUFFER ̲POINTER)
(SEND ̲FIELD ̲LIST,
CC): ERROR ̲OK
ERROR? PROCESSING ̲ERROR(CC, WRITE ̲VIEW,
ACCEPT ̲LIMIT ̲FIELDS)( )
WRITE = TRUE
CREATE ̲NEW ̲CIF ̲VERSION (SEND ̲VIEW ̲ATTRIBUTES,
VIEW ̲REF,
RECEIVE ̲QUEUE ̲REF)
(VIEW ̲REF,
CC): ERROR ̲OK
ERROR? PROCESSING ̲ERROR(CC, FIELD ̲LIMIT,
NO ̲ACCEPT) ( )
END WRITE LOOP
CLOSE ̲VIEW (VIEW ̲REF)(CC): ERROR ̲OK
ERROR? PROCESSING ̲ERROR(CC, CLOSE ̲SEND ̲VIEW,
NO ̲ACCEPT)( )
RETURN
P̲R̲E̲P̲A̲R̲E̲ ̲W̲R̲I̲T̲E̲ ̲F̲I̲E̲L̲D̲S̲ ̲( )(BUFFERSIZE, NO ̲OF ̲FIELDS)
START ̲BUFFER ̲POINTER, NO ̲OF ̲FIELDS = ZERO
USING SEND ̲VIEW ̲ATTRIBUTES.FIELD ̲INF
WRITE ̲ADDRESS = FALSE?
IMCREMENT NO ̲OF ̲FIELDS
START ̲BUFFER ̲POINTER = ADDRESS ̲POINTER
END ̲BUFFER ̲POINTER = ADMINISTRATION ̲POINTER
USING SEND ̲FIELD ̲LIST (NO ̲OF ̲FIELDS)
FIELD ̲GROUP ̲ID = ADDRESS
FIELD ̲BYTE ̲ADDRESS = ZERO
RECORD ̲LENGTH = ADMINISTRATION ̲POINTER
- ADDRESS ̲POINTER
WRITE ̲ADDRESS = FALSE
WRITE ̲ADMINISTRATION = FALSE?
INCRREMENT NO ̲OF ̲FIELDS
START ̲BUFFER ̲POINTER NE ZERO?
START ̲BUFFER ̲POINTER = ADMINISTRATION ̲POINTER
USING SEND ̲FIELD ̲LIST(NO ̲OF ̲FIELDS)
FIELD ̲GROUP ̲ID = ADMINISTRATION
FIELD ̲BYTE ̲ADDRESS = ZERO
RECORD ̲LENGTH = PLA ̲RI ̲POINTER
- ADMINISTRATION ̲POINTER
WRITE ̲ADMINISTRATION = FALSE
continues
continued PREPARE ̲WRITE ̲FIELDS(1)
WRITE ̲PLA ̲RI = FALSE?
INCREMENT NO ̲OF ̲FIELDS
START ̲BUFFER ̲POINTER NE ZERO?
START ̲BUFFER ̲POINTER = PLA ̲RI ̲POINTER
END ̲BUFFER ̲POINTER = ACP ̲PARAMS ̲POINTER
USING SEND ̲FIELD ̲LIST(PLA ̲RI)
FIELD ̲GROUP ̲ID = PLA ̲RI
FIELD ̲BYTE ̲ADDRESS = ZERO
RECORD ̲LENGTH = ACP ̲PARAMS ̲POINTER
- PLA ̲RI ̲POINTER
WRITE ̲PLA ̲RI = FALSE
WRITE ̲RI ̲ASSIGNMENT = FALSE?
INCREMENT ̲NO ̲OF ̲FIELDS
START ̲BUFFER ̲POINTER NE ZERO?
START ̲BUFFER ̲POINTER = RI ̲ASSIGNMENT ̲POINTER
END ̲BUFFER ̲POINTER = TEXT ̲POINTER
USING SEND ̲FIELD ̲LIST(RI ̲ASSIGNMENT)
FIELD ̲GROUP ̲ID = RI ̲ASSIGNMENT
FIELD ̲BYTE ̲ADDRESS = ZERO
RECORD ̲LENGTH = TEXT ̲POINTER
- RI ̲ASSIGNMENT ̲POINTER
WRITE ̲RI ̲ASSIGNMENT = FALSE
continues
continued PREPARE ̲WRITE ̲FIELDS(2)
WRITE ̲ACP ̲PARAMS = FALSE?
INCREMENT NO ̲OF ̲FIELDS
START ̲BUFFER ̲POINTER NE ZERO?
START ̲BUFFER ̲POINTER = ACP ̲PARAMS ̲POINTER
END ̲BUFFER ̲POINTER = ACP ̲HEADER ̲POINTER
USING SEND ̲FIELD ̲LIST (ACP ̲PARAMS)
FIELD ̲GROUP ̲ID = ACP ̲PARAMS
FIELD ̲BYTE ̲ADDRRESS = ZERO
RECORD ̲LENGTH = ACP ̲HEADER ̲POINTER
- ACP ̲PARAMS ̲POINTER
WRITE ̲ACP ̲PARAMS = FALSE
WRITE ̲ACP ̲HEADER = FALSE?
END ̲BUFFER ̲POINTER = ACP ̲TEXT ̲PREAMBLE ̲POINTER
INCREMENT NO ̲OF ̲FIELDS
USING SEND ̲FIELD ̲LIST(ACP ̲HEADER)
FIELD ̲GROUP ̲ID = ACP ̲HEADER
FIELD ̲BYTE ̲ADDRESS = ZERO
RECORD ̲LENGTH = ACP ̲TEXT ̲PREAMBLE ̲POINTER
- ACP ̲HEADER ̲POINTER
WRITE ̲ACP ̲HEADER = FALSE
continued
continued PREPARE ̲WRITE ̲FIELDS (3)
WRITE ACP ̲TEXT ̲PREAMBLE = FALSE?
END ̲BUFFER ̲POINTER = FL ̲POINTER
INCREMENT NO ̲OF ̲FIELDS
USING SEND ̲FIELD ̲LIST(ACP ̲TEXT ̲PREAMBLE)
FIELD ̲GROUP ̲ID = ACP ̲TEXT ̲PREAMBLE
FIELD ̲BYTE ̲ADDRESS = ZERO
RECORD ̲LENGTH = FL.POINTER
- ACP ̲TEXT ̲PREAMBLE ̲POINTER
WRITE TEXT ̲PREAMBLE = FALSE
BUFFERSIZE = END ̲BUFFER ̲POINTER
- START ̲BUFFER ̲POINTER
RETURN
S̲E̲N̲D̲ ̲P̲U̲N̲C̲H̲
SEND ̲QEL. SUBTYPE = FOR ̲PUNCH
SEND ̲QEL. TFC ̲MASK = INSERT ̲DUMMY ̲FL1
SEND ̲QUEUE = PTP ̲CIQ
SEND ̲SUBQUEUE = ADMINISTRATION.ACT ̲PREC
RETURN
SEND ̲VIEW (SEND ̲QEL ̲REF, CHECKPOINT) ( )
SEND ̲QEL(SEND ̲PARAMS, SEND ̲QEL ̲REF,SEND ̲QUEUE ̲REF)
(SEND ̲PARAMS, CC):ERROR ̲OK
ERROR ? ERROR ̲PROCESSING (CC,SEND ̲FUNCTION,ACCEPT ̲BLOCKED)(
)
BLOCKED ̲QUEUE ? SEND ̲QEL.SUBTYPE NE FOR ̲TRANSMISSION?
SEND ̲QEL.SUBTYPE = FOR ̲REROUTING
SEND ̲QEL.TFC ̲MASK = BLOCKED
SEND ̲QEL.INFO(1) = CIRCUIT
̲NUMBER
SEND ̲PARAMS.INFO ̲TYPE = TRUE
FINAL ̲SECTION = FALSE ?
SEND ̲QUEUE ̲REF.MAINQUEUE =
COQ
SEND ̲QUEUE ̲REF.SUBQUEUE = TRAFFIC
SEND ̲QEL(SEND ̲PARAMS, SEND
̲QEL ̲REF,
SEND ̲QUEUE ̲REF)
(SEND ̲PARAMS,CC): ERROR
̲OK
ERROR ? PROCESSING ̲ERROR (CC,RETURN
̲QEL,
NO
̲ACCEPT)( )
CHECKPOINT = FALSE ? DISMANTLE ̲VIEW(VIEW ̲REF) (CC):ERROR
̲OK
ERROR ? ERROR ̲PROCESSING (CC,
DISMANTLE
̲SENT ̲VIEW,
NO ̲ACCEPT)(
)
DISMANTLE = TRUE
SAVE ̲VIEW (DISMANTLE,VIEW ̲REF) (CC):ERROR ̲OK
ERROR ? PROCESSING ̲ERROR(CC,SAVE ̲SENT ̲VIEW,NO ̲ACCEPT)(
)
RETURN
FLASH ̲NOTIFICATION (SEND ̲FUNCTION,CIRCUIT ̲NUMBER,
FINAL ̲SECTION) ( )
SEND ̲FUNCTION = REPLY,
STORAGE OR DISTRIBUTION ?
SEND ̲FUNCTION = TRANSMISSION
AND SEND ̲QEL.SUBTYPE =
FOR ̲NICS ̲TARE ?
FINAL ̲SECTION = FALSE ?
SAVE SEND ̲QEL ̲REF, SEND ̲QEL.MAINTYPE,
SEND ̲QEL ̲SUBTYPE, SEND ̲QEL.FLAG
SEND ̲QEL.MAINTYPE = FLASH ̲ACKNOWLEDGEMENT
SEND ̲QEL.SUBTYPE = FLASH ̲ITEM ̲ARRIVED
SEND ̲PARAMS.INFORMATION ̲TYPE = FALSE
SEND ̲PARAMS.CHECKP ̲STATUS = FALSE
SEND ̲QEL ̲REF = ZERO
SEND ̲QEL.FLAG = ZERO
CASE SAVE ̲QEL ̲SUBTYPE OF:
FOR ̲RI ̲ASSIGNMENT: SEND ̲QUEUE = MSOS ̲CCMDQ
SEND ̲SUBQUEUE = MAINQUEUE
FOR ̲PUNCH : SEND ̲QUEUE = PTP ̲CCA
SEND ̲SUBQUEUE = 1
FOR ̲TRC ̲POINT, SEND ̲QUEUE = CCQ + CIRCUIT ̲NUMBER
SEND ̲SUBQUEUE = 1
FOR ̲SCARS,
FOR ̲CCIS,
END CASE SAVE ̲QEL ̲SUBTYPE
SEND ̲QEL (SEND ̲PARAMS,SEND ̲QEL ̲REF,SEND ̲QUEUE ̲REF)
(SEND ̲PARAMS,CC):ERROR ̲OK
ERROR ? PROCESSING ̲WRROR (CC,SEND ̲PLASH ̲NOTIFICATION,NO
̲ACCEPT)( )
UNSAVE SEND ̲QEL.FLAG,SEND ̲QEL.SUBTYPE,SEND ̲QEL.MAINTYPE
SEND ̲QEL.REF
RETURN
figure 4.2.2.4-23
4.2.2.4.24 F̲i̲n̲i̲s̲h̲ ̲C̲o̲n̲v̲e̲r̲s̲i̲o̲n̲ ̲M̲o̲d̲u̲l̲e̲
4.2.2.4.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̲
It is the function of the Finish Conversion Module
to send a Reply if a QEL is received with a send Request.
This happens in the following cases:
- second and following times RI ̲Assignment
- VDU-page or Comment for SCARS/CCIS
- Supervisor prepared ASM or Plaindress Service Message.
Also this module dismantles the received QEL from the
Conversion Queue.
4.2.2.4.24.2 M̲o̲d̲u̲l̲e̲ ̲I̲n̲t̲e̲r̲f̲a̲c̲e̲
INPUT: R5 = SEND ̲FUNCTION
OUTPUT:
C̲a̲l̲l̲ ̲S̲p̲e̲c̲i̲f̲i̲c̲a̲t̲i̲o̲n̲
a) FINISH ̲CONVERSION (SEND ̲FUNCTION) ( )
b) FINISH ̲CONVERSION R5, R6)
4.2.2.4.24.3 M̲o̲d̲u̲l̲e̲ ̲C̲o̲m̲p̲o̲n̲e̲n̲t̲s̲
See fig. 4.2.2.4-24 for structure Finish Conversion
procedure.
The module is selfcontained.
4.2.2.4.24.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̲
QEL DATA (4.2.2.5.3)
VIEW DATA (4.2.2.5.4)
FORMATTING DATA (4.2.2.5.6)
b) E̲x̲t̲e̲r̲n̲a̲l̲ ̲D̲a̲t̲a̲
RECEIVE ̲SUBQUEUE
SEND ̲QEL ̲REF (m)
SEND ̲PARAMETERS (m)
RECEIVE ̲QEL ̲REF
SEND ̲QEL ̲REF
SEND ̲FUNCTION
c) L̲o̲c̲a̲l̲ ̲D̲a̲t̲a̲
ACK ̲QEL ̲REF: QEL ̲REFERENCE
4.2.2.4.24.5 M̲o̲d̲u̲l̲e̲ ̲D̲e̲s̲i̲g̲n̲
QEL's received to conversion via the subqueues Command
and Response are forwarded with a SEND ̲REQUEST and
therefore requires a SEND ̲REPLY.
The Item to be returned can either be a positive Acknowledgement,
which is sent in a selfcontained QEL; or it can be
a negative acknowledgement. If negative, this means
that the received message-view did not pass the tests
during Routing procedures, and the QEL referencing
the View (updated with error-codes in the PLA ̲RI ̲Field)
is returned instead.
The send-function indicates the type of Reply to be
sent; if FINISH a positive acknowledgement can be sent,
otherwise negative.
Finally the received QEL is dismantled.…86…1 …02…
…02… …02… …02…
Fig. 4.2.2.4-24
F̲I̲N̲I̲S̲H̲ ̲C̲O̲N̲V̲E̲R̲S̲I̲O̲N̲ (SEND ̲FUNCTION) ( )
RECEIVE ̲SUBQUEUE = TRAFFIC
SEND ̲FUNCTION = FINISH ?
RECEIVE ̲SUBQUEUE = COMMAND? SEND ̲QEL ̲REF = ZERO
SEND ̲QEL.MAINTYPE = ACKNOWLEDGE
SEND ̲QEL.SUBTYPE = THP
̲ACK
SEND ̲QEL.FLAG = COMMAND
̲TYPE
SEND ̲PARAMS.INFO ̲TYPE = FALSE
SEND ̲PARAMS.CHECKP ̲STATUS = FALSE
SEND ̲REPLY (SEND ̲PARAMS,SEND ̲QEL ̲REF,RECEIVE ̲QEL ̲REF)
(SEND ̲PARAMS, CC): ERROR ̲OK
ERROR ? PROCESSING ̲ERROR (CC, SEND ̲REPLY, NO ̲ACCEPT)
( )
RECEIVE ̲SUBQUEUE = COMMAND? DISMANTLE (RECEIVE ̲QEL
̲REF)
(CC):
OK
ERROR ? PROCESSING ̲ERROR(CC,
DISMANTLE ̲COMMAND,
NO ̲ACCEPT) ( )
EQUIVALENCE(VIEW ̲REF = RECEIVE ̲QEL ̲REF)
DISMANTLE = TRUE
SAVE ̲VIEW (DISMANTLE,VIEW ̲REF) (CC, ERROR ̲OK)
ERROR ? PROCESSING ̲ERROR (CC, DISMANTLE ̲VIEW, NO ̲ACCEPT)
( )
RETURN
4.2.2.5 C̲o̲m̲m̲o̲n̲ ̲S̲u̲b̲p̲a̲c̲k̲a̲g̲e̲ ̲D̲a̲t̲a̲
The major common data-element of the Conversion Subpackage
is the Conversion Buffer, which has been designed to
contain all relevant message-fields for input as well
as for output; this design strategy facilities use
of minimum disc-accesses, which are 1 disc-access to
read the message and 1 disc-access to write the converted
message on disk per transmission.
Another major area is the Table-Buffer used in the
interface with TMP (TMP-DATA); the design strategy
is to collect all keys for input and to receive all
output from a search once; this also minimizes the
absolut amount of needed disc-accesses compared with
a one to one search.
The system oriented data-elements will be described
in the following sections:
- TMP DATA
- QEL DATA
- VIEW DATA.
The internal application oriented data-elements will
then be described in the following sections:
- ROUTING DATA
- FORMATTING DATA.
4.2.2.5.1 C̲o̲n̲v̲e̲r̲s̲i̲o̲n̲ ̲B̲u̲f̲f̲e̲r̲
The purpose of the conversion buffer is to contain
the message ̲fields used during routing of a message
and the subsequent formatting of the message.
(Ref. DBD/001 section 10 for structures)
The background for estimation of the conversion buffer
size is illustrated in fig. 4.2.2.5.1-1. The field-organization
of message-fields in the buffer is illustrated in fig.
4.2.2.5.1-2; the example used is a CAMPS originated
Plaindress message which has the most complexed structure
(ref. sec. 4.2.2.3.3 for complete overview of message-fields).
C̲o̲n̲s̲t̲a̲n̲t̲s̲:̲ MAX ̲CONVERSION = 24.000
Variables:
CONVERSION ̲BUFFER :ARRAY(1..MAX ̲CON-
VERSION)OF BYTES;
START ̲BUFFER ̲POINTER : INTEGER
END ̲BUFFER ̲POINTER : INTEGER
TEXT ̲PREAMBLE ̲POINTER : INTEGER
ADDRESS ̲POINTER : INTEGER
ADMINISTRATION ̲POINTER : INTEGER
RI ̲ASSIGNMENT ̲POINTER : INTEGER
TEXT ̲POINTER : INTEGER
ACP ̲PARAMS ̲POINTER : INTEGER
ACP ̲HEADER ̲POINTER : INTEGER
ACP ̲TEXT ̲PREAMBLE ̲POINTER : INTEGER
ADM ̲POSITION : INTEGER
PLA ̲RI ̲POSITION : INTEGER
ACP ̲PARAMS ̲POSITION : INTEGER
RI ̲ASS ̲POSITION : INTEGER
The following data ̲types are associated to the handling
of message fields with an organized structure contained
in the Conversion Buffer.
Type
ADMINISTRATION = RECORD
IMF ̲DESCRIPTOR : IMF ̲DESCRIPTOR ̲TYPE
AUTO ̲DELETE ̲LOG : CTS ̲ATOMAL ̲DELETION
̲LOG
PARAMETER ̲INFO : PARAMETER ̲INFO ̲TYPE
MSG-HANDL ̲INFO : MSG ̲HANDLING
END
ACP ̲PARAMS = RECORD
TEXT ̲INFO : TEXT ̲PARAMS
HEADER ̲INFO : HEADER ̲PARAM
END
RI ̲MASK ̲BITS =
(RELAY ̲RI,
SECONDARY ̲RI,
MSO ̲INSERT,
MSO ̲IGNORE,
DUPLICATE ̲RI,
IGNORE ̲RI,
IGNORE ̲RELAY,
DELETED ̲PLA ̲RI)
figure4.2.2.5.1-1 + -2
The max-size in words calculated via characteristics
and record-length of the associated fields exceeds
the total allowed size of a message (12.000 characters);
therefore the bufferspace needed to include the fields
used permanent during conversion must be 6000 words
(a message with max. PLA's and minimum text).
The non permanent fields used can never exceed 6000
words.
4.2.2.5.2 T̲M̲P̲ ̲D̲a̲t̲a̲
The data-area used during table searchers by TMP is
divided into a key-area and 3 result-areas.
First result-area contains the results from searches
in PLA-table or RI-table (RI selected, the associated
classification and circuit-number); these data results
are referenced via the Routing List.
Second result-area contains the results from searches
in the Circuit table (circuit-number, network, block-indicator
and classification); these data are used during Routing
procedures.
The third and last result-area are used for all other
searches.
The data-segment containing above described areas has
to be declared in the configuration parameters.
Ref. DBD/001 section 5 and 6 for structures.
C̲o̲n̲s̲t̲a̲n̲t̲s̲
MAX ̲KEY ̲LENGTH = 4 + MAX ̲RI ̲LENGTH
MAX ̲KEYS = 75
T̲y̲p̲e̲s̲
RI ̲KEY ̲TYPE = RECORD OF
KEY ̲IDENT : SINGLE ̲PARAMS
RI : RI ̲TYPE
END ;
PLA ̲KEY ̲TYPE = RECORD OF
KEY ̲IDENT : SINGLE ̲PARAMS
PLA ̲REF : PLA ̲REF ̲TYPE
END ;
CIRCUIT ̲KEY = RECORD OF
KEY ̲IDENT : SINGLE ̲PARAMS
CIRCUIT ̲NO : LOGICAL ̲CIRCUIT ̲NO
END ;
RI ̲RESULT ̲TYPE = RECORD
RI : RI ̲TYPE
CLASS : CLASSIFICATION ̲TYPE
CIRCUIT : LOGICAL ̲CIRCUIT ̲NO ̲TYPE
END
PLA ̲RI ̲RESULT ̲TYPE = ARRAY (1 MAX ̲COLUMNS) OF RI ̲RESULT
̲TYPE
PLA ̲RESULT ̲TYPE = RECORD
PLA : PLA ̲TYPE
END
V̲a̲r̲i̲a̲b̲l̲e̲s̲:̲
TMP ̲PARAM : TMP ̲PARAM
KEY ̲RESULT ̲AREA: ARRAY (1 (MAX ̲KEYS * (2 *
((SIZE(PLA ̲KEY ̲TYPE) + SIZE
(PLA ̲RI ̲RESULT ̲TYPE))))) OF BYTE;
RESULT ̲AREA ̲1: ARRAY (1..(SIZE (PLA ̲KEY ̲TYPE)
+ SIZE (INTEGER)) OF INTEGER
RESULT ̲AREA ̲2: ARRAY (1 (MAX ̲CIRCUITS * (2 *
(SIZE (CIRCUIT ̲PROFILE)))) OF BYTE
RESULT ̲AREA ̲3: ARRAY (1 MAX ̲CIRCUITS * (2 * (SIZE
(CIRCUIT ̲OF ̲CONNECTIVITY ̲REC))))
OF BYTE;
4.2.2.5.3 Q̲E̲L̲ ̲D̲a̲t̲a̲
The QEL Data elements are associated to queues and
queue-elements used in the communication with other
subpackages.
Ref. DBD/001 section 7 for structures.
V̲a̲r̲i̲a̲b̲l̲e̲s̲:̲
RECEIVE ̲QUEUE ̲REF : QUEUE ̲REFERENCE
SEND ̲QUEUE ̲REF : QUEUE ̲REFERENCE
RECEIVE ̲QEL ̲REF : QEL ̲REFERENCE
WORK ̲QEL ̲REF : QEL ̲REFERENCE
RECEIVE ̲QEL ̲ATTRIBUTE : QEL ̲ATTRIBUTES
SEND ̲QEL ̲ATTRIBUTE : QEL ATTRIBUTES
RECEIVE ̲SUBQUEUE : TRAFFIC ̲SUBQUEUE ̲TYPE
WAIT ̲QUEUE : TRAFFIC ̲SUBQUEUE ̲TYPE
SEND ̲PARAMETERS : SEND ̲PARAMS
SEND ̲FOR ̲RI ̲ASSIGNMENT : BOOLEAN
SEND ̲FOR ̲STORAGE : BOOLEAN
SEND ̲FOR ̲DISTRIBUTION : BOOLEAN
SEND ̲FOR ̲TRANSMISSION : BOOLEAN
CONVERSION ̲ERROR : BOOLEAN
TRANSMISSION ̲PRECEDENCE : PRECEDENCE ̲TYPE
L̲a̲y̲o̲u̲t̲s̲:̲
Messages received to conversion/sent from conversion
contains instructions in the QEL ̲HEADER.INF (=Traffic
Mask) See layout fig. 4.2.2.5.3-1.
The bit-values can be assigned by the following
packages and subpackages as follow:
INSERT ̲PILOT (TEP = RERUN, OTS = Rerouting; AAS
=
CONVERSION OR RELAYING)
AUTO ̲RELEASE (TEP = Service-msg and readdressal,
AAS = Normal ̲PTR).
PUNCH (TEP = RI ̲Assignment)
CLEAR (TEP = RI ̲Assignment)
FOR ̲SCARS (TEP = VDU ̲page or Comment)
FOR CCIS (TEP = VDU-page or Comment)
INSERT ̲DUMMY ̲FL 1 (ACS to punch)
PAGE ̲MSG (ACS to OTS)
FOR ̲DISTRIBUTION (ACS internal)
FLASH ̲ACK (ACS to OTS)
QUEUE ̲BLOCK (ACS internal)
Messages received for rerouting or with a queue-block
indicator contains in the QEL ̲INFO;
CIRCUIT ̲NUMBER : LOGICAL CIRCUIT ̲TYPE.
TYPE
TRAFFIC ̲MASK ̲BITS = (INSERT ̲PILOT ̲BIT,
AUTO ̲RELEASE ̲BIT
PUNCH ̲MSG ̲BIT
CLEAR ̲MSG ̲BIT
FOR ̲SCARS ̲BIT
FOR ̲CCIS ̲BIT
INSERT ̲DUMMY ̲FL1 ̲BIT
PAGE ̲MSG ̲BIT
DATA ̲MSG ̲BIT
EIGHTY ̲LINES ̲BIT
AUTO ̲TERMINATED ̲BIT
DISTRIBUTION ̲BIT
WAIT ̲FLASH ̲ACK ̲BIT
QUEUE ̲BLOCKED ̲BIT
STORAGE ̲BIT
NO ̲RI ̲ASSIGN ̲BIT)
figure 4.2.2.5.3-1
4.2.2.5.4 V̲i̲e̲w̲ ̲D̲a̲t̲a̲
The View data-elements are associated to input/output
of message-views and message-fields.
Ref. DBD/001 section 4 for structures.
c̲o̲n̲s̲t̲a̲n̲t̲s̲
MAX ̲ACS ̲FIELDS = 6
T̲y̲p̲e̲s̲:
VIEW ̲REF = QEL ̲REFERENCE
BUFFER ̲REF = QEL ̲REFERENCE
ACS ̲FIELD ̲LIST ̲TYPE = RECORD
FIELD COUNT
FIELD ̲ELEMENT: ARRAY
(1 MAX, ACS ̲FIELDS)
OF FIELD ̲LIST ̲ELEMENT
V̲a̲r̲i̲a̲b̲l̲e̲s̲:̲
VIEW ̲ATTRIBUTES : VIEW ̲ATTRIBUTES
MSG ̲FIELD ̲LIST : ACS ̲FIELD ̲LIST ̲TYPE
READ ̲TEXT ̲PREAMBLE : BOOLEAN
READ ̲ADMINISTRATION : BOOLEAN
READ ̲ADDRESS : BOOLEAN
READ ̲PLA ̲RI : BOOLEAN
READ ̲PLA ̲LIST : BOOLEAN
READ ̲RI ̲ASSIGNMENT : BOOLEAN
READ ̲TEXT : BOOLEAN
WRITE ̲ADDRESS : BOOLEAN
WRITE ̲ADMINISTRATION : BOOLEAN
WRITE ̲PLA ̲RI : BOOLEAN
WRITE ̲RI ̲ASSIGNMENT : BOOLEAN
WRITE ̲ACP ̲PARAMS : BOOLEAN
WRITE ̲ACP ̲HEADER : BOOLEAN
WRITE ̲ACP ̲TEXT ̲PREAMBLE : BOOLEAN
4.2.2.5.5 R̲o̲u̲t̲i̲n̲g̲ ̲D̲a̲t̲a̲
The Routing Data-elements are mainly associated to
the routing procedures.
C̲o̲n̲s̲t̲a̲n̲t̲s̲:̲
MAX ̲COLUMN = 4
T̲y̲p̲e̲s̲:̲
ROUTING ̲CODE ̲TYPE = (OK,
UNKNOWN ̲PLA,
X ̲PLA,
UNKNOWN ̲RI,
NO ̲RI ̲ASSIGNED
TOO ̲LOW ̲RI ̲CLASS
TOO ̲LOW ̲CIRCUIT ̲CLASS
CIRCUIT ̲BLOCKED
CIRCUIT ̲UNAVAILABLE)
V̲a̲r̲i̲a̲b̲l̲e̲s̲
ROUTING ̲LIST : ARRAY (1..MAX ̲PLA) OF INTEGER
CLEAR ̲INSTRUCTION: BOOLEAN
PUNCH ̲INSTRUCTION: BOOLEAN
RI ̲VALIDATION : BOOLEAN
FOR ̲AUTO ̲RELEASE : BOOLEAN
FOR ̲CCIS : BOOLEAN
FOR ̲SCARS : BOOLEAN
CCIS ̲CIRCUIT : LOGICAL ̲CIRCUIT ̲NO
SCARS ̲CIRCUIT : LOGICAL ̲CIRCUIT ̲NO
HQ ̲MASK : INTEGER
L̲a̲y̲o̲u̲t̲s̲
During routing procedures the RI ̲MASK contained
in each PLA ̲RI ̲RECORD has a significant role; see
layout fig. 4.2.2.5.5-1
figure 4.2.2.5.5-1