ipicvd This program connects to the TGT server, Logons on, tells the server which Magazines text files to send when they arrive (called adding Magazines to the Watchlist) and does the occasional dump of all or certain fields of particular exchanges (called Snapshotting Financial Instruments). Note from from version 6 (ie GlobalTopic) these are called SOURCES not exchanges/ Incoming files are dumped into spool/2brouted for 'iproute' to decide where to send and process. Generally Magazine text file are sent to the editorial box while financial data is reprocessed and stuffed in a database. For a list of magazines available plus details of fields, exchanges etc, please refer to the TGT documentation. That is a polite way of saying you need the book! ipicvd will run timed snapshots for any data (that is permissioned of course). These are setup in the parameter file. It will also allow manual snapshots - either by short form if specified in the parameter file - or adhoc using a certain fiphdrs : CB - snapshot this blob CL - snapshot this fininst using the restricted list CM - snapshot this fininst short form CF - snapshot this finist for all fields CH - snapshot history for this finist also CN - used for name of the snapshot if timed or manual touch /fip/spool/tgtsnap/#SN:okboys#CB:701\~KQ touch /fip/spool/tgtsnap/#SN:okboys#CF:FOREXINDEX touch /fip/spool/tgtsnap/#SN:okboys#CF:GOOG.NQ touch /fip/spool/tgtsnap/#SN:okboys#CF:BA.N OR a fiphdr in a file For multiple symbols (tgt6 allows up to 20), separate with a one and ONLY one space. (Note that gt6 is not over effusive with error details, so a single error will result in all being rejected - use trial and error to find which synbol is wrongly specified ~ CF:=UKX.FT =DJIA.CT =INX.CM Z/F.LI* =HSI.HK =IEQP.EI =DAX.XE =PX1.P =SMI.Z =SPMIB.MI ~ It uses a parameter file, tables/setup/TGT, to describe which Magazines to watch for and when to run timed snapshots : Syntax are : ; comment line mag:(number) (name) snap:(name) time:(time) symbol:(symbol/query) dest:(dest) [allfields:] manual:(name) symbol:(symbol/query) [allfields:] logon:(logonname) password:(logonname) For MAGs, the number (decimal) is that defined by TGT. The name should start with 3 uppercase chrs which are unique to describe the service. eg: Pre Version 6 - use the Mag Number, after - use the actual name mag:^AFX AFX News mag:^RNA RNS Snapshots of Financial Instruments are either Manual (hopefully valid) times. name is used for manuals only; for snaps it is for your use. time is 4 digit, 24 hour format (ie no dots, colons etc). Not used for Manuals. symbol is any valid TGT symbol or query. allfields: (optional) is to extract ALL data for each stox requested. You are NOT advised to do that too often. fields: (optional) is a series of 2 letter TGT field names. Normally the defaults are reasonable which are : fields:CV,ED,II,MA,MD,ST,YC,CL redun:(primaryHost), (secondaryHost) allow source redundancy (FipHdr field SZ) manual:lse contract:S*EX manual:liffe contract:L*EX manual:p707 page:707A ; big one of ALL data at 6am snap:lse.check time:0600 contract:S*EX allfields: snap:lse.noon time:1200 contract:S*EX snap:forex.noon time:1200 page:702A Input Parameters (all optional) : -s : TGT Server hostname default: "icv" -p : TGT Server port number default: 1000 -P : Local or source port number default: 9222 -q : Snapshot NOW queue default: spool/icvsnap -o : Output queue default: spool/2brouted -V : version number if connection to an old version of topic valid numbers are 1,3,6 default: latest (version 6 as at nov07) -v : Print the version number and exit ----------Notes----------- --The parameter file is read once on startup. --Only if we are connected, logged on and have finished setup, will we snapshot !! --If the TGT server logs us off - like at 2am every morning - we wait and try to reconnect automatically. --Magazines data files are sent to a DU (destination) of TGTmagABC where ABC is the first 3 letters of the magazine. --To trigger manuals, a file with a FILENAME containing a header field of CM:(name) is stuffed in the icvsnap queue where name is the same as the manual name. Eg: touch /fip/spool/icvsnap/#SN:okboys#CM:lse will trigger a manual of "lse" if one exists in the parameter file. --Pre Version 6 used Contracts and Pages contract is any valid TGT contract. Generally this is a all stox for an exchange ("S*EX" is S for LSE, *EX meaning all stox) If more than one contract is required, use a comma to separate contract:S*EX,U*EX page-fields: (optional) is a series of 2 letter TGT Page field names. The default is all relevent Page fields. snap:(name) time:(time) contract:(contract) dest:(dest) [allfields:] snap:(name) time:(time) page:(pageno) dest:(dest) manual:(name) contract:(contract) manual:(name) page:(pageno) manual:lse contract:S*EX manual:liffe contract:L*EX manual:p707 page:707A ; big one of ALL data at 6am snap:lse.check time:0600 contract:S*EX allfields: snap:lse.noon time:1200 contract:S*EX snap:forex.noon time:1200 page:702A --Normal Startup sequence is as follows : 1. Connect to TGT server 2. Logon 3. wait for TGT system quality messages 4. Load which fields we want for our snap shots 5. Load the magazine numbers we want to sample The FIP log will show: Thu May 9 02:07:10 ipicvd !s : Logon ok - Starting Setup Thu May 9 02:07:10 ipicvd !z : TGT System Message Thu May 9 02:07:10 ipicvd !z : TGT System Message C3 Thu May 9 02:07:10 ipicvd !z : Status Feed Status : 0 : Ok Thu May 9 02:07:11 ipicvd !z : Status Database Quality : 0 : all Ok Thu May 9 02:07:13 iproute !i : TGT TGT7679 CTL : TGTsysmsg SYS.INFO Thu May 9 02:07:13 iproute !i : TGT TGT7680 CTL : TGTsysmsg SYS.INFO Thu May 9 02:07:13 iproute !i : TGT TGT7681 CTL : TGTsysmsg STATUS Thu May 9 02:07:23 ipicvd !z : Load Fields for Shares Thu May 9 02:07:23 ipicvd !z : Command Succeeded Thu May 9 02:07:26 ipicvd !z : Load Magazines requested Thu May 9 02:07:26 ipicvd !z : Command Succeeded Thu May 9 02:07:28 ipicvd !z : Setup Completed successfully --Installation On the Fip server, we need queues spool/icvsnap for manual snaps plus tables/setup/TGT for parameter file plus tables/route/TGT for routings plus correct destinations in tables/sys/USERS For Magazines, check tables/xchg/TGT2XXX For FinInst, check 'ipxicv' is also running / in SYSTEM On the TGT server, change the hostname, IP address, Port number for the Server plus an entry for each Fip server - IP address and Port number. -- General Notes (from the GlobalTopic doc) Although both exchange and magazine control packet ids are equal in functionality and are both able to watch sources of any kind, by convention the magazines packet id is used for monitoring news stories and the exchanges packet id for monitoring financial instruments. Version Control ;5f5 30aug08 added history ;e14 06nov07 Global topic v6 ;f4 20sep08 added history/CH ;004c 18may00 sorted out page stuff ;b 13jul00 bugette in page ;c 23jun05 mod for TGT change to Class in Magazines (copyright) 2018 and previous years FingerPost Ltd.