ipskey table:MATCHDETAILS field:3 file:teams addmissing:SOCCER|NEWTEAM|\ZK|\ZD table:MATCHDETAILS field:4 file:teams default:BING table:COMPETITIONS field:2 file:comps table:COMPETITIONS field:7 lookup:sels lookup:sels Div*1=D1 Div*2=D2 Div*3=D3 Div*4=D4 file:teams keylen:5 keytype:u table: (tablename) (list of table entries ..) (eoln) subkeywords for 'table' are : field: fieldnumber starting at 3 for the first field as the first two are DATABASE|TABLE eg: database| table| field3 field4 SOCCER|MATCHDETAILS|30-9-95|Stirling|Ayr|GOAL|Taggart|18||| file: name of file in tables/skey containing a list of keys and searches lookup: name of a lookup table specified in this parameter file somewhere There can be either a 'file' or a 'lookup' per table but not both. The following are what to do if the field has no match. If nothing is specified, the original data is left. addmissing: add an extra record a (unique) key is determined an entry is added to the file if there is a subparam, it is used to create a output record before this one. addmissing:SOCCER|TMP_TEAM|\ZK|\ZD where ZK is the key and ZD is the data and ZO is the original remember to add dbl quotes if spaces are to be embedded zap: ignore this whole line ! default: make this the default default:**MissingKey** remember to add dbl quotes if spaces are to be embedded default:"** Missing Key **" again field \ZO is available Note that fields ZK, ZD and ZO must NOT have any HASHES (#) as this chr terminates the field. The 'lookup' keyword is specified by : lookup: (tablename) (list of table entries ..) (eoln) eg lookup:abc 1=a 2=b 3=c 4=d 5=e 6=f The list of lookup table entries are a number of entries delimitied by spaces and/or tabs. If embedded spaces/tabs are needed, double quote the entry. The condition is considered passed (or failed if the "!=" is used) if at least one of the entries is matched. The 'file' keyword is used to specify a maximum size and type of key : file: (name of file) keylen: (size) keytype: (type) file is the name of a file in tables/stat/key and has the format (opt spcs) (key) (spcs) (search text) (opt spcs) LIVER Liv*pool - wild cards can be specified using a '*' or a '?'. - embedded spaces and control chrs - use double quotes and/or FipSeq for both key and text - lines may be commented by a leading ';' - The search is assumed to START with the first chr, but the remainder is wildcarded : ALBI Albion will find : Albion Rovers Albion United Albion City but NOT Perfidious Albion - keys can be sized and typed using 'keylen:' and 'keytype:' - size can be 0 for no checking on size - Valid types are : u - uppercase (any lowercase is forced uppercase) l - lowercase (any uppercase is forced lowercase) a - alphabatic x - alphanumeric n - numbers only p - printables (anything above SPC and NOT accented) b - binary anything goes. Other parameters - all optional - are : sep:| Character to use as a field separator default: '|' before: FipSeq string to add BEFORE any data default: none after: FipSeq string to add AFTER any data default: none befline: FipSeq string to add BEFORE each line default: none aftline: FipSeq string to add AFTER each line default: none script: Script to run on the output file. default: none dest: FIP Destination to sent to for spooled default: 'skey' queues. (not that single shot files stay where they are) doneq: For spooled queues, a done queue def: file deleted for the input file. chrset: Chrset for the output file. filename: New filename for output file default: as input fiphdr: Additional FipHdr information default: none Where sections of FipHdr fields are required or changes to the output style, use keywords : fixed, partial, combie, optional, repeat, newdate 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 Where the data lines have the similar information and often the same key, to make things faster, you can cache the results. Beware however if you have similar data - CHESTER and COLCHESTER for example - in this case we recommend you do NOT cache. The default is NO caching. Input Parameters are : EITHER -i : input queue default: spool/statkey If this does NOT start with a '/', it is assumed under spool. OR -1 : name of a single file (complete path pls) default: spooled queue This will run the program once for that file only The input file is NOT deleted. -o : output or done queue for output file. default: spool/2go If this does NOT start with a '/', it is assumed under spool. Any original file in the output queue is overwritten. -z : default parameter file in tables/stat. def: STAT_KEY -w : file wait for files arriving across a network. def: 0 secs -u : owner if not that of the logon default: logon at start -l : do NOT log files in default: log -C : cache results default: no -x : display results default: no -X : display results and prompt on a missing default: no -v : print version number and exit (copyright) 2019 and previous years FingerPost Ltd.