sffparse - Extract and display FipSeq

From an input file containing a FipHdr, sffparse can display a string.

Input switches (Mandatory)
Either  -s output style - in dbl quotes
or  -S name of a file containing FipSeq to parse and output
Either  -i input data file with a FipHdr
Or  -1 input data file with a FipHdr
And/Or  -h or -I a FipHdr String

(All including Mandatory)
    -1 (filename) input data file with a FipHdr (-1 and -i are identical)
    -append Append the output to the output file.  This is only used with the '-o
        If the output file exists, the new data is added to the end.
        If it does NOT, a new file is created.
    -A Add the data of the input file onto the output; Normally the data of the
file is ignored as only information in the FipHdr fields are required
    -b (name) balance group to balance seqno generated with -m
    -B o/d/h  Output the seqno as octal, decimal (default) or hex (used with -m)
    -e (parameter file) same as '-z' qv
    -E (locale) set the locale; default is the system locale (or none!)
    -h (extra FipHdr strings) (-h and -I are identical)
    -H Preserve the FipHdr of the -S file; normally it is stripped
    -i (filename) input data file with a FipHdr (-1 and -i are identical)
    -I (extra FipHdr strings) (-h and -I are identical)
    -m (key) output only a sequence number unique from 1st Jan 2006; using this
name as the key eg -m NEWSLINES
    -o (Output file name) if the name does not start with a '/', it is assumed to
be in the current folder.
    -s (Output syle in FipSeq) output style - in dbl quotes
    -S (filename) name of a file containing FipSeq to parse and output
    -t (style) style to output AFTER the data part
    -T (filename) file containing FipSeq to parse and output AFTER the data part
    -x (filename) name of an xml file template to output
        this uses 'filltag' keywords to extract FipHdr fields from
        the input file (-i) or header fields (-h)
    -X Run the Output file
        this assumes that the output file is a script !!
    -v version number and exit
    -V show the input and output strings in more detail
    -z (parameter file) containing items that FipSeq loves especially 'fixed',
'partial', 'repeat', 'combie', 'style' 'replace' and 'newdate'
        this file is by default in /fip/sfftables but can be under /fip/tables such
as edsys, form/text setup etc
        allow prefix with the queue if NOT /fip/sfftables
        (sffparse will cope with the different syntax for ipxchg (z:combie) etc and
ipformat (fiphdr-combie etc)

    sffparse  -s "\YR.pdf" -i bigfip.file

    sffparse -S "/fip/customer/folios/BARCODE-\$d.fip" -e NewDate

    sffparse -s '\$V-\DU-\$V-\SN-\$V' -i AFP.FRS0503.

    sffparse -m WEB     this just generates a unique seqno

Use the -V switch if you are uncertain as to what it is processing...

Note that if running from a script - especially a csh script - you will need to
dbl the backslashes OR surround in single quotes so the script does not
interpret the FipSeq first!

An additional FipSeq item is \%T which is all the text !

An optional file in sfftables (-e name) can have any of the following :
    ; comment

    Any normal FipSeq parameter - fixed, parse, replace, recode etc]

    abstract-size: (FipSeq number)
        no of chrs for first \$T
    hash-in-fiphdr: (FipSeq character)
        Map this character back to a Hash '#'

    // InDesign fill in the tag ....

Version control
;09f7   16jan05 added -x and 'fill-tag' etc
    ;c 28nov06 added -H preserve FipHdr
    ;d 17sep07 added -m
    ;e1-6 19may08 added -1 and allow param files from anywhere ;3 parse -o ;4 tune
balance ;5 filter: ;6 added -Q 7 31may15 added -E locale
    ;f1  7jul17 added recode:
    ;2  27sep17 allow param file to be the current folder and allow xchg and DF
fipseq to be tested too (z:fixed fiphdr-fixed)
    ;3 added abstract-size ;456 cleanup ;7 added -z and bugette in lookup/rpt-sep
;008b   25jul02 added -t/-T for extra style string/file AFTER data
    ;b 08may03 ffilsiz for \$c

(copyright) 2018 and previous years FingerPost Ltd.