ipxgtw (Sat Oct 25 2014 01:31:01)

ipxgtw

IPXGTW gets a single file via Gateway.

Both Classified (IAS) and Editorial files may be sent over with the header
being processed accordingly.

It is started from an xstart on the j11 as per the example in Appendix A of the
Gateway installation manual.
ie	wrklst	sy:lib-usr,xstart,/d,liberr-usr,,mpb4:<ipxgtw,PRAM,$f-$q-$g

The type of processing is determined by the name of the parameter file before
the $f-$q-$g :
Note that there should be a comma between the PRAM and the f-q-g as the < or >
signs have other meanings to Unix.


IPXGTW can be run manually on the Gateway by running at the unix prompt :
	fip>ipxgtw atx2web,file-queue-grp
where	atx2web is the parameter file
	file	is the atex filename
	queue	is the atex queue name
	grp	is the atex group name.
	(fip> is the unix prompt, not the command by the way!)

If the file is actually a 16 bit Atex file residing NOT on the Atex file system
but on a Unix (or Windows) file syntem, the systax can be :
	fip>ipxgtw param,/data1/exports/filename
ie there is no queue and group added and the path is hard coded.
If using this method for files which have NOT been generated on the Atex - such
as Babble - you may need to use the parameter 'allow-short-header:' to process
files with Header which have not been padded out to the end of a block.

Defining the actual destination can be a one or a two step affair.
First a route is found which is either the contents of a particular J11 field
OR forced to a fixed route using the 'force:' parameter.
IF the parameter 'noroutefile' is flagged, this route is the final destination
- 
IF NOT this route is checked against the tables/gateway/ROUTE routing table and
the match is the final destination. This allows multiple destinations/copies
from a single outbound file.
The resultant destination(s) is the DU field as required for IPWHEEL and the
tables/sys/USERS file.

The two steps allow multiple or group destinations from a single Atex code.

The first step or route is normally the contents of the J11 header field 'TO'.
This field can be any other J11 field if specified with the 'fiphdr:NO'
parameter (see below). However it is more often forced to a specific route
(using the 'force:' parameter)

The name of the file is either the original filename or it can be changed to a
j11 header field (the SLug or CAtch for example where the actual filename may
be a SysGen $xxx type filename) or any FIPseq name. If not the original name,
the 'fiphdr' parameter for SN needs to be present in the parameter file. This
name is forced lowercase.

While the J11 header is stripped, individual J11 header fields can be converted
to those FIP header fields according to the parameter file, PRAM.

IAS files SHOULD be identified correctly from its start-of-header. But you can
force it with the 'ias:' keyword.
IAS files need multiple 'arecord:' keywords to PRECISELY map out the hold A
record (including fillers). Pls confer with whoever has the correct (?) doc on
A record for the IAS field names and sizes.

Syntax of the parameter file is :
	; comment
	force	: force the route to this parameter which is then compared to
		the tables/gateway/ROUTE file. Normally EITHER the TO field
		OR force is used to define the route.	default: use TO field.
	default	: default route if the TO field is blank or has not been
		specified or is not in the header. default: no default ROUTE
	type	: type of text processing (see below)	default: blank
	modes	: if the type of processing included mode strip, these
			are the modes to strip		default: 2678
	pchr	: (mode precedent chr)			default: {
	end-modes: use this flag to end modes with (pchr) E (mode). default: no
		For conversions to XML/HTML/NITF, this allows end tags to be added
		before the start of the next mode.
	noshowmodes: do not insert the mode change string - eg {M0. default: do
	noroutefile : do NOT use the tables/gateway/ROUTE file.	def: use ROUTE
		In this case the 'force' or the 'TO' hdr field contains the
		destination to use (DU Fip Header field) which needs to be in
		the parameter file tables/sys/USERS.

For the type of processing for the TEXT - If type is NOT specified then the
modes, hnj and markup are stripped. Type is one or more single letter flags
which can be b=bin, t=typsetter file, m=pass modes, k=pass markup, h=leave hnj
chrs. 
There is also a type:a for all-modes (ie up to mode 14 rather than to mode 8).
Do NOT specify both type:m and type:a.

	For each header field that needs filling in :

	fiphdr: (2 letter FIP header field) (space/tab) (Atex sequence field)
		The Atex sequence field is any fixed text and/or 2letter Atex
		hdr fields (must be uppercase with preceeding Backslash) and/or 
		Unix escape chrs (r, n etc) or Escaped Numbers (03)
		Note that Atex header fields are stripped of leading and 
		trailing spaces.

	Certain FIP header fields are used to control the routing/processing.
		SN - slugname -> FIP header field SN
		TO - to field - checked against entries in the ROUTE file
			To force ALL traffic to a destination, do NOT specify TO
			and set 'force:' to force the destination to the same
			as the parameter file name.
		PR - Priority (if necessary)
		DI - Msg line for Mailbox (only)
		SY - Atex Sys and Terminal number for logging purposes
		DE - delay until time/date
		DL - limit until time/date (Broadcast only)
eg: 
	; use the CATCH j11 field for SN, the FIP filename
	fiphdr:SN  CA
	; use the TO j11 field for TO, the FIP routing field
	fiphdr:TO  TO
	fiphdr:PR  PR
	fiphdr:DI  MS
	fiphdr:SY  SY
	: for the DELAY FIP header field, DE, use the j11 TIME (spc) (plus) DATE
	fiphdr:DE  TI +DA

Pseudo J11 header field '$$' may be used to put the first line of the J11 text
into a FIP header field. Eg:
	fiphdr:DI $$
This allows only text in the chosen modes, strips leading quads, strips leading
and multiple spaces up to a quad or characters up to the line size (default 80
chrs or environment variable FIP_GTWY_LINE).

In addition FipHdr field SJ is always filled in with the actual j11 filename -
while SsG will have the queue and group.

The two FIP header fields DE and DL are flagged for DELAY and LIMIT fields and
hold the date/time for when the file should be delayed before sending OR by
which the file must be sent.
Delay and Limit are converted to a time in seconds from a header field of
format :
	 hh:mm +d	where d is no of days relative from now
If the parameter 'date:abs' is set the format is :
	 hh:mm dd/mm	where dd/mm is the day/month
If the parameter 'date:abs' and 'usadate:' is set the format is :
	 hh:mm mm/dd	where mm/dd is the month/day if parameter usadate is set

There are a number of further Optional parameters which normally do not need to
be changed.
	queue	: queue to put output file in. 		default: spool/2go
		This is a queue under 'spool' unless the parameter starts with
		a '/' when it is considered the full pathname.
		For example, specify 'queue:hdrchk' when you want all files
		to be routed via iphdrchk.
	private	: queuename. If specified, this parameter creates a file
		named the same as the J11 in that queue. Only the text is
		placed in (the header is ignored) and all IPXGTW routing
		parameters, like 'queue', 'force' 'route', are ignored.
		There is neither an Atex J11 header nor a FIP header on the
		new file.
	privname: For private sessions, replace the filename with the following
FipSeq.
		Normally the original Atex filename is used but this can be used
		to replace or add information.
		privname:SN.$Z	will add an extention with a sequence number
	nolog	: do NOT log incoming files		default: log
	chrset	: source chrset				default: atex
	usadate	: Delay and/or Limit dates are in USA Date format
							default: no
	before	: FIP sequence of text to go at the top of the text
	after	: FIP sequence of text to go after the text
				default for both before and after is none
	noj11hdr:	The j11 file is headerless	default: file has hdr
		This will also use the mount point /Atex/commgr/noh by default
		rather than /Atex/commgr/x11. This can be overridden by the 
		keyword 'j11path'.
	nofiphdr: do NOT place a FIP header at the top of the data. ie the data
		part of the file contains TEXT only.	default: do
	atex012 : The 1st non-space character of the parameter is that used for
			any Octal 12 atex chrs. The octal 12 chr is a NL which
			is what we normally use for any Quad. This defaults to
			octal 220. The parameter can be a chr, unix escape or
			octal number.
	softquad: Where non-quad end-of-lines need to be preserved, this is the
			string, which can be one or more fipseq chrs, to flag
			such a being. A non-quad eoln is, for example, an hnj
			loose line. A quad is QL to QM (2, 3, 4, 5) unless
			changed by the FIP_GTWY_EOLN environment variable.
	date	: Delay and/or Limit dates are in absolute
			ie actual days/month like 16/03 for 16th March
			The default is relative dates : +1 for tomorrow
	maxdelay : Maximum number of days for Delay and Limit.
			This logs a message in the Item Log if the delay is
			longer. Without this parameter, files are NEVER delayed.
						default: no delay
	olddelay :(no of days) If the Delay or Limit field is BEFORE the current
			date/time and within this period, send it immediately.
			default: ignored if no maxdelay, 60 days otherwise.
	j11path : Gateway Unix path name	default: /Atex/commgr/x11
	route	: routing file in tables/gateway	default: ROUTE
	preserve-dishy:	allow te discretionatry hyphen (034) thru.	default: strip it.
		If dishy is NOT 034, there can be an optional chr (in FipSeq) to use as the
Dishy
		preserve-dishy:37

IAS A record fields are specified with :
	arecord: 2 letter code and length of an IAS Classified Arecord field.
		These are in sequential order or use; any fillers - use a junk
		code (often the same junk code will do). While it is good
		practise to use the same codes as for IAS, Be careful NOT to
		reuse Fields that FIP uses for programs downstream.
		eg:	arecord:AB	10
			arecord:AD	4
			arecord:ZZ	7	; filler
			arecord:CC	12	.. etc

Extra FIP header fields can also be specified on the j11 by specifying on the
wrklst line:

wrklst	sy:lib-usr,xstart,/d,liberr-usr,,mpb4:<ipxgtw,PRAM,$f-$q-$g/QP:212777121

As per normal, take care to choose a hdr field that does not conflict with any
other FIP hdr field - we advise using ones starting with Q.

IPXGTW is also in /atx/prgms as UPPERCASE as required by gateway. This should
be a symbolic link to the program in /fip/bin

For checking the version number, type :
	ipxgtw -v 
to print version number and exit

Version Control
;014l	19oct98	ias better
	;a/b 17aug01 allow modes up to 13 with type:a for allmodes
	;c 24may02 allmodes now even leaves flashing....
	;d 14jun02 added end-modes
	;e 19sep02 allow unix files as is /fip/spool/xbabble/thision
	;f 28sep02 added 'allow-short-header:'
	;g-h 05feb03 added preserve-dishy:
	;i 18jul03 added -F to allow for a FipHdr in the incoming file
	;j-l 21aug03 flashing L for Loose line MAY be mode 8 or 9

(copyright) 2014 and previous years FingerPost Ltd.