To accommodate non-standard spoolers such as VM/370 R6 which only output beginning-of-job
separator pages but not any end-of-job separator pages (instead it just stops printing!), the
"(n,TIMEOUT=x)" format is used instead.

The first number 'n' defines how many beginning-of-job separator pages to look for, and the 'x' in "TIME-
OUT=x" defines how many seconds after which no more additional spooled output is received should
indicate that the end of the print job has been reached.

Using a timeout value like this to indicate when the end of the print job has been reached is a somewhat
unreliable way to detect the end of a print job, but without an end-of-job separator page it's the best that
can be done for now.

6.2.8.1.2 Triggers=

The "Triggers=" value defines how many trigger lines there are on your separator page. A trigger line is a
line that exists on a job separator page that, together with other lines (triggers), identifies the page as a
job separator page. The "Triggers=" value defines how many of these lines there are, and thus how many
"[Trigger#]" sections there are following it.

6.2.8.1.3 [Trigger#]

Each "[Trigger#]" section defines one separator page line. The "#" character in each section's name
should of course be replaced with the associated trigger number. That is, if there are three lines on your
job separator page then you would specify "Triggers=3" and define three "[Trigger#]" sections called
"[Trigger1]", "[Trigger2]" and "[Trigger3]".

6.2.8.1.4 Line=, Column=, Value=

The "Line=" value identifies which line of the separator page contains the text defined by the "Value=" va-
lue, and the "Column=" defines at which column of that line the text appears at. All line and column num-
ber values are 1-relative. Thus the first line on the page would be line 1 and the letter 'w' in "Hello world!"
would be at column 7.

The text defined by "Value=" should be the exact text that appears at that line and column. All value com-
parisons are case sensitive and must match exactly. Enclose the value within double quotations if it con-
tains any blanks.

There is no minimum or maximum value for the number of triggers you may define, but you should define
enough of them to uniquely identify the page as a job separator page to prevent normal report pages from
being erroneously detected as job separator pages.

6.2.8.2 [Field Names] section

The [FieldNames] section defines where the job accounting fields appear on your job separator page,
thus allowing you to use them in your spooled report's output filename via the [OutputFile] section.

The individual job accounting field values are extracted directly from the separator page's individual print
lines based on the values defined in the [FieldNames] section.

6.2.8.2.1 Names=, Name#=

The "Names=" value defines how many job accounting fields are being defined and how many "Name#="
entries immediately follow it. The "#" character in each "Name#=" entry should of course be replaced with
the associated field number. For example, if you wish to define three job accounting fields you would spe-
cify "Names=3" followed by "Name1=one", "Name2=two" and "Name3=three", where "one", "two" and
"three" are of course the specific job accounting field's unique name.

You can assign whatever name you wish to your defined job accounting fields as long as the name does
not contain any blanks and does not match any of the following reserved section names: "FieldNames",
"OutputFile", "PDF", "Separator", "Translations" and "Trigger#".

6.2.8.2.2 [fieldname] Line=, Column=, Width=

Each "[fieldname]" sub-section following the primary [FieldNames] section should match one of the field
names defined in one of the "Name#=" entries. Note that it is not considered an error if it does not match
any of your defined "Name#=" entries. Rather, it will simply never be used. The reverse however is not
true. For each field name defined by a "Name#=" entry, a corresponding "[fieldname]" section must exist
or it is considered an error.

The "Line=", "Column=" and "Width=" values define where on the page that particular field is located. Just
like the "Line=" and "Column=" values of the [Separator] section, the line and column number values are
1-relative. A "Width=" value of 0 is invalid, but a width value of -1 means the field extends through to the
end of the print line.

Whenever a job separator page is detected (as defined by the [Separator] section) all job accounting field
values are extracted and saved according to the information contained in your [fieldname] sections. All
defined job accounting field names are case sensitive and all extracted field values have their leading and
trailing blanks removed before being saved.

6.2.8.3 [Output File] section

The [OutputFile] section contains a single "Name=" entry which defines how the job accounting fields
must be used to construct the spooled report's filename. Job accounting fields are defined in the
[FieldNames] section and their values are extracted directly from the job separator page and saved for
use by the [OutputFile] section's "Name=" entry. Each percent sign enclosed string within the "Name="
value is substituted with one of the defined job accounting field values.

If, for example, have the following job accounting field defined in your [FieldNames] section and the con-
tents of the job separator page’s 58th line happens to be a "Name=" setting of "Job %JOBNAME%.txt"
then this would result in the spooled report file being named "Job FOOBAR.txt".

Please note that Windows filenames cannot have any characters in them whose integer representation is
within the range of 0 through 31 (i.e. x'00' to x'1F') nor can they contain any of the following reserved cha-
racters:

< > : " / \ | * ?

Further note that the length of a file’s complete path specification cannot exceed the standard Windows
operating system path length restriction of 260 characters total, so try to limit your output filename to the
minimum needed while still ensuring that the resulting names remain different from one another.

After constructing an initial output filename based on your defined "Name=" value (which should be con-
sidered only a template), HercPrt then applies further string and character translations as defined in the
[Translations] section before attempting to rename the file to its final name.

If during the construction of the output filename it is detected that a file already exists with that name, then
"-2" is appended to the generated name and that is used instead. If a file with that name already exists
then "-3" is appended, and so on, all the way to "-10". If a unique filename still cannot be constructed after
trying "-10", then a warning is issued and the file is left with its original Windows assigned temporary file-
name (e.g. "PRT305.tmp").

The filename extension of your "Name=" value is used to determine what format the spooled file should
be created in. If the "Name=" template ends with ".txt" the output file will be in plain text format (the
default). If it ends with ".html" then it will be in HTML format, etc. Other supported filename extensions are
".rtf" and ".pdf". If the filename does not end with one of the supported filename extensions (txt, html, htm,
rtf or pdf) then the file is created in text format by default.

If the output filename extension is either .rtf or .pdf then additional file formatting options may be specified
via the [PDF] section.

6.2.8.4 [Translations] section

The [Translations] section allows you to further customize your output filename by allowing you to define
character and string substitutions to take place during output filename construction.

Previous Page Next Page