fixwire

fixwire

This program has two modes :
    1. Sits on the Broadcast line of a LMIL circuit and pumps data to IPXRNS on
this or another system.
        Any Sequence errors are noted, logged and a file created with FipHdr fields
for
            S1:StartOfMissingDataSeqno
            S2:EndOfMissingDataSeqno
            DU:rnsrpt
        Normally this file is left in 'spool/2go' for IPWHEEL to move to the system
running the Interactive IPRNSD
        Note the Interactive version needs to be logged on before LMIL will send any
data.
    2. Sits on the Interactive port of an LMIL circuit.
        It Logs on, checks for errors on the LMIL side and also checks the
'spool/rnserr' queue for RqstRpts.
        These Rpts can be either 
            - an S1/S2 record from the Broadcast
            - an S9 record for LOGOFF and STOP :    S9:LOGOFF
            - an S9 record for LOGOFF and LOGON :   S9:RESET
            - an S9 record for RESTART :    S9:START or S9:RESTART

FIXWIRE uses a parameter file in tables/wire which defaults to same name as the
-n Input Switch

Syntax for the parameter file are :
    ; comment
    username: (FipSeq)
    password: (FipSeq)
    applcation-id: (FipSeq) Application ID
        defaults to fip.rnz.hostname
    application-version: (FipSeq)   Version (optional)
    fix-version:    5.0, 4.2, 4.4   default: 5.0

    repeat-wait: (secs)     default: 1
        wait for repeat re-re-request where the LSE system is too slow and we get
Q015 messages.
    repeat-retries: (goes)      default: 4
        no of retires for a re-request

    script: Script to run after the file has been received
    timing-stats: (yes/no) geneate timing stats
    extra-fiphdr: (FipSeq)
        Extra information to add to the FipHdr  default: none
        This is the same as '-f'

    data-folder: (folder name)
    bigdata-folder: (folder name)
    dup-folder1: (folder name)
    ..
    dup-folder4: (folder name)
        Folders for multiple copies of the incoming file
        if the folder does NOT start with a '/', it is assumed to be 
        Note these override the default and '-o' input switch..
    dest-data: (Valid destinations)
        default: woops
    bigdata-size: (number)      default; 300000

    xml-folder: (folder)
        Folder for the xml data files (date folders are added under this)
        Remember to purge/age these folders in the nightly maintenance
        default: /fip/data/rns

    dest-Amarker: (Valid destinations)
            This sends a quick FipHdr-only file of an incoming
            RNS story made from the news control information.
            The FipHdr field specified is used to flag it is
            one of these rushes. The whole text file is sent
            only when all the data is available.
            default: do not send.
    amarker-folder: (Folder for Amarkers)
            default is the main output folder
    dest-abstract (Valid destinations)
            This sends a quick FipHdr and first chunk of an
            incoming RNS story made from the news control
            information and first bit of data.
            The FipHdr field specified is used to flag it is
            one of these rushes. The whole text file is sent
            only when all the data is available.
            default: do not send.
    abstract-size: (size in bytes)  default: 10000 bytes
    abstract-small-files:yes/no
            default: no
    add-uid: Add the ID in the HR FipHdr field

Where sections of FipHdr fields are required or changes to the output style,
use keywords : fixed, partial, combie, optional, repeat and/or style. (see The
SysAdmin manual for more information).

    They are normally specified :
        fixed:QZ    1234543
        partial:QT  ST,3,2,U,<,>
        combie:QY   ep|na,(0000000)a 
        option:QE   ep,11,7,s
        repeat:QK   XK,-,3  
    or  repeat:QP   PK,,4,#X
        style:QS    XN,%.03d 

Input Parameters are :
Mandatory
    -s : name/IPaddress of the primary FIX server       default: none
    -p : port number of the primary FIX server      default: none
    -P : port of the (optional) secondary FIX server    default: none
    -n : name of this service               default: none
        This is also the name of a parameter file in tables/wire

Optional :
    -9 : do NOT use Speedy on a speedy system       default: do
    -d : dump incoming data to /usr/fip/dump/(NAME)_(DOY)   default: none
    -i : This is the INTERACTIVE line and will  default BROADCAST line
        scan queue spool/rnserr for errors
    -I : wire Id for multi lines                    default: none
    -N : Mbone (win2k) - no of buffers to use       default: 1
    -O : Mbone (win2k) - do NOT use overlapped io   default: do
    -o : Output Queue for BroadCast Rqst Rpts       default: spool/2go
    -q : Error Input Queue for Interactive Rqst Rpts    default: spool/rnserr
    -X : TESTING flag - use TCP for BD              default: use MCAST
    -v : print version no and exit

    -l : Log items thru
    -L : detailed log thru                  default: no
    -o : Output folder in /fip/spool            default: spool/2brouted
        Note this will be overridden if there are any 'data-folderX:' parameters in
the parameter file.
    -O : Name of output format (DF field)           default: FIXWIRE
    -r : the name of a DIFFERENT routing table to 'name'
        (SR field : used by iproute)            default: name
    -t : timeout with no data               default: 10 secs
    -Z : do NOT archive any incoming files          default: archive
    -v : Print the version number and exit

-----------Parameter file Example------------

-----------Notes---------------
    RNS file have a Fip Header of :
        SN - announcement number (with preceeding 'rns')
        SQ - msgseqno of this Control record.
        RA - ann Date and time
        RB - ann Date and time - in original format
        RC - 3 chrs : Y/Z (resend), Correction, Standby
        RY - Y/Z resend flag only or dot
        RR - previous Announcement Number
        RH - Headline
        RD - Company Description
        RI - ISIN : Tradable Instrument Code
        RJ - ISIN : Country Code
        RP - EPIC or Tradable Instrument Display Mnemonic
        RG - Announcement Group Code
        RT - Category - Security Classification (alpha, beta etc)
no-     RW - For Service Messages/Disaster Recovery/Time Checks - the actual one
line message
        RZ - For Service Messages/Disaster Recovery/Time Checks - the actual record
type
no-     SI - Seaq Intl indicator
        EA,EF,EK,EP Related Headline    1-4
        EB,EG,EL,EQ Related Company Desc 1-4
        EC,EH,EM,ER Related ISIN Code   1-4
        ED,EI,EN,ES Related ISIN Country 1-4
        EE,EJ,EO,ET Related EPIC    1-4

        RU - Service :AMR, Abstract or blank (for main files)
        RF - type of file   S-startheadline, H-chunk, R-replace all
Tracking
        RW - OK or MISSING
        RM - msg

Version Control
;001m7  22apr10 original version
    ;m1-3 14feb11 no AMR and ABS for interactive ;3-4 for speedy AMR and ABS
        ;5-7 5apr12 tidy for bugette in last block (zapping too many spaces)

(copyright) 2017 and previous years FingerPost Ltd.