DataMuseum.dk

Presents historical artifacts from the history of:

CR80 Wang WCS documentation floppies

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about CR80 Wang WCS documentation floppies

Excavated with: AutoArchaeologist - Free & Open Source Software.


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