6.2.8 Job Separator Control File

The “Job Separator Control File” describes the layout of the guest’s job separator page as well as other
spooler options. HercPrt uses this control file to be able to decide when the end of the spooled report has
been reached as well as how to name the resulting file.

Additionally the control file also contains various options related to how you want your spooled output to
look like for those file types whose appearance can be customized (currently limited to Portable
Document Files (PDF) and to a limited degree to Rich Text Format (RTF) files).

HercPrt provides sample control files already configured for three of the most popular Hercules guest
operating systems:

Control File Name

Operating System

DOSVSR23.INI

DOS/VS Release 34

VM370R6.INI

VM/370 Release 6

MVSJES2.INI

MVS V3.8J

Table 6: Sample Control Files

The provided samples can either be used as is or can be customized to suit your needs.

6.2.8.1 [Separator] section

The [Separator] section contains the information which defines what your guest's end-of-job or beginning-
of-job separator page looks like. Each "trigger" defines one line of the separator page, and all of them
must match together as a group in order for the page to be considered a job separator page.

For most systems these lines would be those which appear on your guest's end-of-job separator page,
not the beginning-of-job separator page, since it is the end-of-job separator page which defines where the
current print job ends and thus where the next one begins.

Some operating systems however use a spooler which only outputs beginning-of-job separator pages,
making it impossible to know with any degree of certainty when the current print job has ended (except in
the special case where another print job immediately follows it; the next print job's beginning-of-job sepa-
rator would thus also serve to define the end of the previous job). Nevertheless a special format is
supported to try and accommodate these unusual spoolers.

6.2.8.1.1 Pages=

The first 'n' value of the "Pages=(n,m)" string specifies the number of consecutively identical end-of-job
separator pages there are and defines the number of consecutive times in a row that all triggers must
match.

The 'm' value defines the number of additional end-of-job separator pages there are following the identical
pages. This parameter is needed to accommodate spoolers such as DOS/VS's POWER/VS spooler those
separator pages are not all the same.

For MVS's JES2 spooler (whose separator pages are all the same) you should specify "(2,0)", whereas
for DOS/VS's POWER/VS spooler (whose separator pages are not) the value "(2,1)" should be used
instead. Both values of course presume the usual two page default. If your guest uses only one separator
page then you should of course use (1,0) or (1,1) instead.

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#".

Previous Page Next Page