Jump to content

NetBatch:NBEXEC/Starting NBexec: Difference between revisions

From wikiNonStop
Content deleted Content added
No edit summary
No edit summary
Line 11: Line 11:
:or
:or


<div style="width: 80ch">
<div style="width: 80ch; .tpl-terminal {margin-left: 5em;}">
{{terminal|title=TACL|text=
{{terminal|title=TACL|text=
>BATCHCOM;SUBMIT <job-name>, IN <control file> [,OUT <list file>] &
>BATCHCOM;SUBMIT <job-name>, IN <control file> [,OUT <list file>] &
Line 102: Line 102:


The following example shows how to prevent NBEXEC from running more than two hours:
The following example shows how to prevent NBEXEC from running more than two hours:
<div style="width: 80ch">
<div style="width: 80ch;margin-left: 4em;">
{{terminal|title=TACL|text=1> NBEXEC/NAME, IN X, OUT $S/L2:0}}
{{terminal|title=TACL|text=1> NBEXEC/NAME, IN X, OUT $S/L2:0}}
</div>
</div>
or via $ZBAT, the default NetBatch scheduler:
or via $ZBAT, the default NetBatch scheduler:


<div style="width: 80ch">
<div style="width: 80ch;margin-left: 4em;">
{{terminal|title=TACL|text=1> BATCHCOM; SUBMIT REPORT,IN REPORT,OUT $S, STARTUP "L E-O-M,L2:0"}}
{{terminal|title=TACL|text=1> BATCHCOM; SUBMIT REPORT,IN REPORT,OUT $S, STARTUP "L E-O-M,L2:0"}}
</div>
</div>
Line 116: Line 116:
The following example shows how to make NBEXEC emulate a physical terminal for use by the processes created during the job:
The following example shows how to make NBEXEC emulate a physical terminal for use by the processes created during the job:


<div style="width: 80ch">
<div style="width: 80ch;margin-left: 4em;">
{{terminal|title=TACL|text=2> NBEXEC/IN COMP/ID T}}
{{terminal|title=TACL|text=2> NBEXEC/IN COMP/ID T}}
</div>
</div>
The following example shows how to make NBEXEC perform a syntax check on a single control file:
The following example shows how to make NBEXEC perform a syntax check on a single control file:
<div style="width: 80ch">
<div style="width: 80ch;margin-left: 4em;">
{{terminal|title=TACL|text=3> NBEXEC/IN CTRL/SY}}
{{terminal|title=TACL|text=3> NBEXEC/IN CTRL/SY}}
</div>
</div>

Revision as of 13:08, 23 April 2026

STARTING NBEXEC

NBEXEC is invoked by TACL, or specified as a NetBatch EXECUTOR-PROGRAM as follows:

TACL
or
TACL
where:

<control file> Is the control file that NBEXEC will execute. This file must be a TANDEM EDIT format file. <list file> Is a non disk device, process or disk file to which the output listing is directed. <command> Is a string containing one or more NBEXEC startup instructions. <command> is limited by NetBatch to a maximum of forty bytes. If <list file> is a disk file, the following rules apply:

  • If the file does not exist, an entry-sequenced file is created, with a logical record length of 132 characters and with primary and secondary extents set to 10.
  • If the file already exists, it must be either entry-sequenced, relative, or unstructured.
  • If it is entry-sequenced or relative, then the logical record length at creation will be used. This length need not be greater than 132.
  • If unstructured, a logical record length of 132 characters will be presumed.
  • The <list file> extent sizes must be chosen to suit the expected amount of output listing.
If <list file> is left blank, the output is suppressed.
If the whole OUT option is omitted, the normal defaults apply. For TACL this is usually the home terminal. For NetBatch, this is configured for your scheduler.

NBEXEC Startup Commands

NBEXEC startup commands are in the form:

[ name [ value ] ] #, ...
where name is an identifier consisting of one or more alphabetic characters, and value is some text associated with the identifier. Alphabetic values must be separated from the name by at least a single space. Consecutive identifiers may be separated by commas ,, or semicolons ;.
Commands may be abbreviated.
Command Argument(s) Example Description
APPEND N A Specifies that output is to be appended to the current list file if it exists. NBEXEC defaults to overwrite the <list file> if one exists.
BACKUPCPU <cpu> B 15 NBEXEC is able to function as a NonStop process. If the primary CPU running NBEXEC fails, a backup copy can takeover, determine what recovery the job may require, and resume execution from the appropriate place in the input control file. The number <cpu> must be the number of an available CPU, and must not be the CPU allocated to the EXECUTOR under which NBEXEC is started. Use -1 to indicate that NBEXEC should start its backup process in the highest available CPU.
CLASS <cname> C payroll Specifies <cname> of up to eight alphanumeric characters to appear on the <list file> header page and possibly the spooler REPORTNAME. See the SPOOLREP attribute for details.
DPBUG No D Is used to force NBEXEC to call DEBUG. This is only useful for debugging purposes when NBEXEC is run at a terminal rather than as a NetBatch job.
ID <id> ID A2345678 Assigns a name of one alphabetic plus up to seven alpha numeric characters to a job to distinguish it among other jobs on the same <class>. Lower case characters are upshifted. This name appears on the job list file.
ID TERM ID T An <id> of "TERM" or "T" will cause NBEXEC to emulate a physical terminal, rather than a process. Processes compiled using COBOL74 ACCEPT/DISPLAY verbs will run under control of NBEXEC if ID TERM is specified. Before using ID TERM, users should be aware that many programs behave differently when they read commands from a terminal. For example, it is common for a program to request a continuation response when a full screen of output has been displayed.
LABEL <label> L WORK010 Causes NBEXEC processing to begin at the specified label in the control file.
LIMIT <hh:mm> L 02:00 Specifies a maximum time limit for the NBEXEC job. Must be between 00:00 and 99:59, with the default being 01:00 (one hour).


NBEXEC will abort the job once this limit is exceeded logging the fact to <list file>. Jobs will issue a warning message to both the job list file and the supervisor log 15 minutes before timing out.

NAME <mname> N JOB45679 Specifies a name of up to eight alphanumeric characters to appear on the <list file> header page. It will be used by NBEXEC when identifying itself in $MESSAGE commands (rather than the control file name) and it can be used when building a spooler REPORTNAME attribute for the <list file>. See the SPOOLREP attribute for details.
PRGE No P Specifies that the list file will be purged if the job terminates successfully. Therefore, if


$IF #ERROR returned TRUE,

or

$IF NOT #ERROR returned FALSE, or processing errors occurred,

the list file would be created. If the list file is the spooler and the job terminates successfully, the spooler entry is not deleted.

SPOOLREP <c> S U Controls the format of the REPORTNAME spooler attribute when <list file> is a spooler collector.
<c> REPORTNAME
CLASS< <cname> grp usr
USER GROUP USER
JOBNAME <mname> grp usr

where <cname> defaults to <mname> which in turn defaults to the <control file> name. GROUP, grp, and USER, usr correspond to the Guardian90 UserID name and number of the NBEXEC process owner.

SYNTAX No SY Is specified to perform syntax validation of control cfile only.

When NBEXEC begins processing a control file, it first scans the file to locate labels, and validate that there are no obvious syntax errors. If errorsare detected, the job will terminate immediately. If SYNTAX was specified, the job always terminates after the syntax check. SYNTAX would normally beused immediately after altering a control file to verify that no mistakes were made.

XPRI <xpri> X #
Example Example Example Example

Examples

The following example shows how to prevent NBEXEC from running more than two hours:

TACL

or via $ZBAT, the default NetBatch scheduler:

TACL

L is an abbreviation of the command "LIMIT". "LIMIT" is the command used to specify a time limit for a job, while "2:0" is the value accompanying "LIMIT". L is also a valid abbreviation of the command "LABEL".

The following example shows how to make NBEXEC emulate a physical terminal for use by the processes created during the job:

TACL

The following example shows how to make NBEXEC perform a syntax check on a single control file:

TACL

Debug data: