Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

MODIFY-JOB

&pagelevel(3)&pagelevel

Modify job attributes of a batch job

Component:

BS2000

Functional area:

Job processing

Domain:

JOB                                                                                                          

Privileges:

STD-PROCESSING
OPERATING
SAT-FILE-EVALUATION
SAT-FILE-MANAGEMENT
SECURITY-ADMINISTRATION

Routing code:

J

Function

The MODIFY-JOB command is used to change certain attributes of a batch job. The batch job must have been initiated from the user ID of the user issuing the command, and generally, it must be running under that user ID. In addition, the command may be used to address jobs on the local system which were generated under the issuing user ID but are running under a different user ID (extended access on the local system).

The following attributes can be modified:

  • job class (JOB-CLASS operand)

  • priority (JOB-PRIORITY operand)

  • action to be taken following a system error (RERUN-AFTER-CRASH operand)

  • scheduling attributes for ordinary jobs, scheduled jobs and repeat jobs (SCHEDULING-TIME=*STD / *PARAMETERS(...))

    • start time (START operand)

    • repeat time (REPEAT-JOB operand)

  • scheduling attributes for calendar jobs (SCHEDULING-TIME=*CALENDAR(...) operand)

    • calendar file (CALENDAR-NAME operand)

    • symbolic date (SYMBOLIC-DATE operand)

  • limit on job repeats for a calendar job (LIMIT operand)

  • additional attributes defined by the system administrator (JOB-PARAMETER operand)

  • behavior after shutdown (FLUSH-AFTER-SHUTDOWN operand)

  • logging to SYSLST (LOGGING operand)

  • job name (JOB-NAME operand)

  • protection against unintentional termination (PROTECTION operand)

  • values for run priority, CPU time and the maximum number of SYSLST records (RESOURCES operand)

Values given for job class, priority, logging and the maximum number of SYSLST records, as well as start time and additional attributes, may be changed only if the batch job has not yet been started, i.e. if it is still in the TYPE 1 job queue. This can be checked with the SHOW-JOB-STATUS command. The job status of a monitoring job variable is logged as “$S”.

Wait states can be released for TYPE 1 user jobs (see section "MODIFY-JOB").

In the case of a calendar job, the MODIFY-JOB command applies to the entire calendar job, i.e. including any future repeats.

Only those attributes may be defined that are permitted by the job class definition. A check on the specified job class can be made using the SHOW-JOB-CLASS command. Note also that the combination of some job attributes may produce differing results and that modifying certain attributes also causes the batch job type to change. For details see section "Notes".

The default value *UNCHANGED mean that the existing specification continues to apply.

Privileged functions

Privileged users (OPERATING or TSOS privilege) can modify the attributes of any batch job.

Format

MODIFY-JOB

Alias: MDJ

JOB-IDENTIFICATION = *TSN(...) / *MONJV(...) / <alphanum-name 1..4>


*TSN(...)



|

TSN = <alphanum-name 1..4>


*MONJV(...)



|

MONJV = <filename 1..54 without-gen-vers>

, JOB-CLASS = *UNCHA NGED (...) / *STD(...) / <name 1..8>(...)


*UNCHA NGED(...)



|

JOB-PRIORITY = *UNCHA NGED / *STD / <integer 1..9>



|

, SCHEDULING-TIME = *UNCHA NGED / *STD / *PARAMETERS(...) / *BY-CALENDAR(...)



|


*PARAMETERS(...)



|



|

START = *UNCHA NGED / *STD / *SOON / *IMMEDIATELY / *AT-STREAM-STARTUP /



|



|



*WITHIN(...) / *AT(...) / *EARLIEST(...) / *LATEST(...)



|



|


*WITHIN(...)



|



|



|

HOURS = 0 / <integer 0..23 hours>



|



|



|

, MINUTES = 0 / <integer 0..59 minutes>



|



|


*AT(...)



|



|



|

DATE = *TODAY / <date>



|



|



|

, TIME = <time>



|



|


*EARLIEST(...)



|



|



|

DATE = *TODAY / <date>



|



|



|

, TIME = <time>



|



|


*LATEST(...)



|



|



|

DATE = *TODAY / <date>



|



|



|

, TIME = <time>



|



|

, REPEAT-JOB = *UNCHA NGED / *NO / *STD / *DAILY / *WEEKLY /



|



|



*AT-STREAM-STARTUP / *PERIOD(...)



|



|


*PERIOD(...)



|



|



|

HOURS = 0 / <integer 0..23 hours>



|



|



|

, MINUTES = 0 / <integer 0..59 minutes>



|


*BY-CALENDAR(...)



|



|

CALENDAR-NAME = *UNCHA NGED / <filename 1..54 without-gen-vers>



|



|

, SYMBOLIC-DATE = *UNCHA NGED / <filename 1..20 without-cat-user-vers> /



|



|



<partial-filename 2..20 without-cat-user>



|

, LIMIT = *UNCHA NGED / *STD / <integer 1..32767> / *BY-DATE(...)



|


*BY-DATE(...)



|



|

DATE = <date>



|



|

, TIME = <time>



|

, RESOURCES = *UNCHA NGED / *PARAMETERS (...) / *STD



|


*PARAMETERS(...)



|



|

RUN-PRIORITY = *UNCHA NGED / *STD / <integer 30..255>



|



|

, CPU-LIMIT = *UNCHA NGED / *STD / *NO / <integer 1..32767 seconds>



|



|

, SYSLST-LIMIT = *UNCHA NGED / *STD / *NO / <integer 0..999999>


*STD(...)



|

JOB-PRIORITY = * STD / *UNCHANGED / <integer 1..9>



|

, SCHEDULING-TIME = *STD / *UNCHANGED / *PARAMETERS(...) / *BY-CALENDAR(...)



|


*PARAMETERS(...)



|



|

START = *STD / *UNCHANGED / *SOON / *IMMEDIATELY / *AT-STREAM-STARTUP /



|



|



*WITHIN(...) / *AT(...) / *EARLIEST(...) / *LATEST(...)



|



|


*WITHIN(...)



|



|



|

HOURS = 0 / <integer 0..23 hours>



|



|



|

, MINUTES = 0 / <integer 0..59 minutes>



|



|


*AT(...)



|



|



|

DATE = *TODAY / <date>



|



|



|

, TIME = <time>



|



|


*EARLIEST(...)



|



|



|

DATE = *TODAY / <date>



|



|



|

, TIME = <time>



|



|


*LATEST(...)



|



|



|

DATE = *TODAY / <date>



|



|



|

, TIME = <time>



|



|

, REPEAT-JOB = * STD / *UNCHANGED / *NO / *DAILY / *WEEKLY /



|



|



*AT-STREAM-STARTUP / *PERIOD(...)



|



|


*PERIOD(...)



|



|



|

HOURS = 0 / <integer 0..23 hours>



|



|



|

, MINUTES = 0 / <integer 0..59 minutes>



|


*BY-CALENDAR(...)



|



|

CALENDAR-NAME = *UNCHANGED / <filename 1..54 without-gen-vers>



|



|

, SYMBOLIC-DATE = *UNCHANGED / <filename 1..20 without-cat-user-vers> /



|



|



<partial-filename 2..20 without-cat-user>



|

, LIMIT = *STD / *UNCHANGED / <integer 1..32767> / *BY-DATE(...)



|


*BY-DATE(...)



|



|

DATE = <datel>



|



|

, TIME = <time>



|

, RESOURCES = *STD / *UNCHANGED / *PARAMETERS(...)



|


*PARAMETERS(...)



|



|

RUN-PRIORITY = *STD / *UNCHANGED / <integer 30..255>



|



|

, CPU-LIMIT = *STD / *UNCHANGED / *NO / <integer 1..32767 seconds>



|



|

, SYSLST-LIMIT = *STD / *UNCHANGED / *NO / <integer 0..999999>


<name1..8>(...)



|

JOB-PRIORITY = * STD / *UNCHANGED / <integer 1..9>



|

, SCHEDULING-TIME = *STD / *UNCHANGED / *PARAMETERS(...) / *BY-CALENDAR(...)



|


*PARAMETERS(...)



|



|

START = *STD / *UNCHANGED / *SOON / *IMMEDIATELY / *AT-STREAM-STARTUP /



|



|



*WITHIN(...) / *AT(...) / *EARLIEST(...) / *LATEST(...)



|



|


*WITHIN(...)



|



|



|

HOURS = 0 / <integer 0..23 hours>



|



|



|

, MINUTES = 0 / <integer 0..59 minutes>



|



|


*AT(...)



|



|



|

DATE = TODAY / <date>



|



|



|

, TIME = <time>



|



|


*EARLIEST(...)



|



|



|

DATE = TODAY / <date>



|



|



|

, TIME = <time>



|



|


*LATEST(...)



|



|



|

DATE = TODAY / <date>



|



|



|

, TIME = <time>



|



|

, REPEAT-JOB = * STD / *UNCHANGED / *NO / *DAILY / *WEEKLY /



|



|



*AT-STREAM-STARTUP / *PERIOD(...)



|



|


*PERIOD(...)



|



|



|

HOURS = 0 / <integer 0..23 hours>



|



|



|

, MINUTES = 0 / <integer 0..59 minutes>



|


*BY-CALENDAR(...)



|



|

CALENDAR-NAME = *UNCHANGED / <filename 1..54 without-gen-vers>



|



|

, SYMBOLIC-DATE = *UNCHANGED / <filename 1..20 without-cat-user-vers> /



|



|


<partial-filename 2..20 without-cat-user>



|

, LIMIT = *STD / *UNCHANGED / <integer 1..32767> / *BY-DATE(...)



|


*BY-DATE(...)



|



|

DATE = <date>



|



|

, TIME = <time>



|

, RESOURCES = *STD / *UNCHANGED / *PARAMETERS(...)



|


*PARAMETERS(...)



|



|

RUN-PRIORITY = *STD / *UNCHANGED / <integer 30..255>



|



|

, CPU-LIMIT = *STD / *UNCHANGED / *NO / <integer 1..32767 seconds>



|



|

, SYSLST-LIMIT = *STD / *UNCHANGED / *NO / <integer 0..999999>

, RERUN-AFTER-CRASH = *UNCHA NGED / *NO / *YES

, JOB-PARAMETER = *UNCHA NGED / *NO / <c-string 1..127>

, FLUSH-AFTER-SHUTDOWN = *UNCHA NGED / *NO / *YES

, LOGGING = *UNCHA NGED / *PARAMETERS(...)


*PARAMETERS(...)



|

LISTING = *UNCHA NGED / *NO / *YES

, PROTECTION = *UNCHA NGED / *NONE / *CANCEL

, JOB-NAME = *UNCHA NGED / *NO / <name 1..8>

Operands

JOB-IDENTIFICATION =
Type of job identification. Jobs may be identified by TSN or by monitoring JV.

JOB-IDENTIFICATION = *TSN(...)

TSN = <alphanum-name 1..4>
Task sequence number of the required job.

JOB-IDENTIFICATION = *MONJV(...)

MONJV = <filename 1..54 without-gen-vers>
Name of the JV monitoring the desired job.

JOB-IDENTIFICATION = <alphanum-name 1..4>
This operand value cannot be specified in guided dialog. Direct specification of the task sequence number of the desired job.

JOB-CLASS = *UNCHANGED(...) / *STD(...) / <name 1..8>(...)
Job class into which the job is to be placed. Authorization for starting jobs in the various job classes is indicated by the user entry, which can be queried by means of the SHOW-USER-ATTRIBUTES command. The attributes of the permissible job classes can be queried using the SHOW-JOB-CLASS command.

JOB-CLASS = *UNCHANGED(...)
The job class remains unchanged. The JOB-PRIORITY, SCHEDULING-TIME (with scheduling attributes for scheduled, repeat and calendar jobs), LIMIT and RESOURCES attributes of the batch job are changed only if values other than *UNCHANGED are explicitly specified:

JOB-PRIORITY = *UNCHANGED / *STD / <integer 1..9>
Job priority to be given to the batch job. The lower the value, the higher the priority. The values can be queried with the SHOW-USER-ATTRIBUTES and SHOW-JOB-CLASS commands. Specifying *STD sets the preset value (default) of the job class definition for JOB-PRIORITY.

SCHEDULING-TIME = *UNCHANGED / *STD / *PARAMETERS(...) / *BY-CALENDAR(...)
Defines how scheduling times are specified for the batch job. Changing the existing setting may cause the batch job type to change (see section "Changing the batch job type").

SCHEDULING-TIME = *STD
The default settings for START and REPEAT-JOB scheduling time specifications for the selected job class apply (see the operands of the SCHEDULING-TIME=
*PARAMETERS(...) structure).

SCHEDULING-TIME = *PARAMETERS(...)
Defines a scheduling time (start time) for the batch job (ordinary job or scheduled job). It is also possible to define job repeats (repeat job). See also the note on section "Combinations of the START and REPEAT-JOB operands".

START =
Starting time for the batch job. Values other than UNCHANGED are appropriate only if they are permitted in accordance with the definition of the job class (see the SHOW-JOB-CLASS command). The date may be given in the form “yymmdd” or “yyyy-mm-dd”.

START = *UNCHANGED
The specification valid previously remains in effect.

START = *STD
The default value for the chosen job class applies.

START = *SOON
The job is to be started as soon as possible, in accordance with its priority.

START = *IMMEDIATELY
The job is to be started immediately.

START = *AT-STREAM-STARTUP
The job is to be started upon startup of the job scheduler.

START = *WITHIN(...)
The job is to be started within the specified time period.

HOURS = 0 / <integer 0..23 hours >
Number of hours.

MINUTES = 0 / <integer 0..59 minutes >
Number of minutes.

START = *AT(...)
The job is to be started exactly at the time specified in the following.

DATE = *TODAY / <date>
Date. This can be specified in the form [yy]yy-mm-dd. Only the last two digits of the year are evaluated, which means that the century is ignored in four-digit year specifications. 20 is automatically prefixed to two-digit year specifications < 80, 19 to two-digit year specifications >= 80.

TIME = <time>
Time of day in the format hh:mm, where hh = hours and mm = minutes.
Seconds are not interpreted.

START = *EARLIEST(...)
The job is to be started no earlier than the time specified.

DATE = *TODAY / <date>
Date. This can be specified in the form [yy]yy-mm-dd. Only the last two digits of the year are evaluated, which means that the century is ignored in four-digit year specifications. 20 is automatically prefixed to two-digit year specifications < 80, 19 to two-digit year specifications >= 80.

TIME = <time>
Time of day in the format hh:mm, where hh = hours and mm = minutes.
Seconds are not interpreted.

START = *LATEST(...) 
The job is to be started no later than the time specified.

DATE = *TODAY / <date>
Date. This can be specified in the form [yy]yy-mm-dd. Only the last two digits of the year are evaluated, which means that the century is ignored in four-digit year specifications. 20 is automatically prefixed to two-digit year specifications < 80, 19 to two-digit year specifications >= 80.

TIME = <time>
Time of day in the format hh:mm, where hh = hours and mm = minutes.
Seconds are not interpreted.

REPEAT-JOB =
Time interval at which the batch job is to be repeated. Values other than the default are appropriate only if permitted in accordance with the job class definition (see the SHOW-JOB-CLASS command). The time interval for the repetitions depends on the specification in the START operand; see the note on section "Combinations of the START and REPEAT-JOB operands". For the repetitions, the following applies:

          • The i-th repetition (i >= 1) of a job is not started until the (i1)th repetition has ended.

          • Cancellation of the currently executing job (i) has no effect on the start of (i+1); (i >= 0).

          • Cancellation of the entire job: Both the currently executing job (i) and the subsequent job (i+1) must be canceled, (i >= 0); (CANCEL-JOB command, or make job (i) the last job in the series using the MODIFY-JOB... command, REPEAT-JOB=*NO).

REPEAT-JOB = *UNCHANGED
The specification valid previously remains in effect.

REPEAT-JOB = *NO
The batch job is not repeated.

REPEAT-JOB = *STD
The default value for the chosen job class applies.

REPEAT-JOB = *DAILY
Daily repetition at the time specified with START.

REPEAT-JOB = *WEEKLY
Weekly repetition at the time specified with START.

REPEAT-JOB = *AT-STREAM-STARTUP
Repetition following each startup of the job scheduler.

REPEAT-JOB = *PERIOD(...)
Repetition after the specified time interval.

HOURS = 0 / <integer 0..23 hours >
Number of hours.

MINUTES = 0 / <integer 0..59 minutes >
Number of minutes.

SCHEDULING-TIME = *BY-CALENDAR(...)
The batch job scheduling time and any repeat jobs are specified in the form of a symbolic date defined in a calendar file (calendar job). The entries in a calendar file can be listed with the SHOW-CALENDAR command. Creation of calendar files with the CALENDAR-EDITOR utility is described in the “Calendar” manual [4].

CALENDAR-NAME = *UNCHANGED / <filename 1..54 without-gen-vers>
Name of the calendar file.

SYMBOLIC-DATE = *UNCHANGED / <filename 1..20 without-cat-user-vers> /
<partial-filename 2..20 without-cat-user>

Symbolic date which defines the scheduling time and any repetition cycles within the calendar file.

LIMIT = *UNCHANGED / *STD / <integer 1..32767> / *BY-DATE(...)
Governs how long a calendar job remains in existence. This limit applies in addition to the limits set by the calendar.

LIMIT = *STD
The duration of the calendar job depends entirely on the symbolic date entry in the calendar. The specification is not evaluated for other batch job types.

LIMIT = <integer 1..32767>
This specification is only permitted for calendar jobs.
Maximum number of repetitions of the calendar job. Whenever a job run is completed, a check is performed to determine whether the run counter has reached or exceeded the maximum number. If this is the case, the entire calendar job is terminated. Otherwise, the run counter is incremented by 1.

LIMIT = *BY-DATE(...)
This specification is only permitted for calendar jobs.
Entries in the calendar file are only taken into account up to the specified limit. No further repeat job is generated for calendar entries after the limit; the calendar job terminates. 

The limit refers solely to the schedule entries in the file, not to the real runtime of the jobs. Repeat jobs with a “permissible” start date are not subject to any further restrictions and are, for example, also started after the specified date if this was not possible earlier because of delays in the job scheduler.
The date specification consists of the day and the time:

DATE = <date>
Date. This can be specified in the form [yy]yy-mm-dd. Only the last two digits of the year are evaluated, which means that the century is ignored in four-digit year specifications. 20 is automatically prefixed to two-digit year specifications < 80, 19 to two-digit year specifications >= 80.

TIME = <time>
Time of day.

RESOURCES = *UNCHANGED / *STD / *PARAMETERS(...)
Values for run priority, CPU time and the maximum number of SYSLST records.

RESOURCES = *UNCHANGED
Values for run priority, CPU time and the maximum number of SYSLST records remain unchanged.

RESOURCES = *STD
Values for run priority, CPU time and the maximum number of SYSLST records remain unchanged.

RESOURCES = *PARAMETERS(...)
The run priority, CPU time and the maximum number of SYSLST records can be changed within the limits permitted for the job class. The operand value *UNCHANGED means that the relevant attribute is not changed.

RUN-PRIORITY = *UNCHANGED / *STD / <integer 30..255>
Run priority which the job is to be assigned. The lower the value, the higher the priority. The maximum permissible priority value is the lesser of the two values (i.e. the more favorable of the values) from the user catalog and the job class definition. If no maximum value is defined for the job class, the default run priority applies. The values can be queried with the SHOW-USER-ATTRIBUTES and SHOW-JOB-CLASS commands.

RUN-PRIORITY = *STD
The standard run priority specified for the job class applies.

CPU-LIMIT = *UNCHANGED / *STD / <integer 1..32767 seconds >
Maximum CPU time, in seconds, that the batch job may consume. The maximum time permitted depends on the job class specified. See also section "Time limits inBS2000".

CPU-LIMIT = *STD
The default value for the chosen job class applies.

SYSLST-LIMIT = *UNCHANGED / *STD / <integer 0..999999>
Specifies the maximum number of records the job is allowed to output to the system files SYSLST, SYSLST01, SYSLST02, ..., SYSLST99 and SYSOUT. The records for SYSOUT are counted separately from the records for SYSLST files. In the case of SYSLST, SYSOUT records are not taken into account, even if the setting LISTING=*YES has been made to ensure that they are also written to SYSLST. This value must not be above the limit set in the job class definition. This limit may be queried using the SHOW-JOB-CLASS command.
If the specified number is exceeded, the batch job is terminated abnormally.

SYSLST-LIMIT = *STD
The default value for the chosen job class applies.

JOB-CLASS = *STD(...)
The batch job is to run in the default job class. If no values other than *STD are explicitly specified for the attributes LIMIT, JOB-PRIORITY, SCHEDULING-TIME, and RESOURCES, these attributes are set in accordance with the default settings of the job class definition. These values are changed even if the job was already queued in the specified job class. The job class definition can be queried with the SHOW-JOB-CLASS command. In nonprivileged job classes, up to 32767 waiting jobs are permissible.

JOB-PRIORITY = *STD / *UNCHANGED / <integer 1..9>
Job priority which the job is to receive.
The default is *STD, i.e. the preset value of the job class definition (otherwise corresponds to PRIORITY under JOB-CLASS=*UNCHANGED(...)).

JOB-PRIORITY = *UNCHANGED
The current job priority is to remain unchanged. If that priority is higher than the current maximum for the job class, the command is rejected.

SCHEDULING-TIME = *STD / *UNCHANGED / *PARAMETERS(...) / *BY-CALENDAR(...)
Defines how scheduling times are specified for the batch job. If the specifications applying until now are changed, this may lead to a change of the batch job type (see section " Changing the batch job type ").

SCHEDULING-TIME = *STD
The default settings for START and REPEAT-JOB scheduling time specifications for the selected job class apply (see the operands of the SCHEDULING-TIME=
*PARAMETERS(...) structure).

SCHEDULING-TIME = *UNCHANGED
The current scheduling time remains unchanged, provided that it is valid according to the job class definition. Scheduled and repeat jobs retain their START-JOB and REPEAT-JOB attribute values, and the values for the CALENDAR and SYMBOLIC-DATE and the relevant starting times and repeat cycles of calendar jobs.

SCHEDULING-TIME = *PARAMETERS(...)
Defines a scheduling time (start time) for the batch job. It is also possible to define job repeats (repeat job).

START = *STD / *UNCHANGED / *SOON / *IMMEDIATELY / *AT-STREAM-STARTUP / *WITHIN(...) / *AT(...) / *EARLIEST(...) / *LATEST(...)
Time when the job is to be started. The default value is *STD, i.e. the value preset in the job class definition (otherwise corresponds to START under JOB-CLASS=*UNCHANGED(...)).

START = *UNCHANGED
Specification permitted only for simple batch jobs, scheduled jobs and repeat jobs. The current start attribute remains unchanged, provided that it is valid according to the job class definition.

REPEAT-JOB = *STD / *UNCHANGED / *NO / *DAILY / *WEEKLY / *AT-STREAM-STARTUP / *PERIOD(...)
Time interval during which the job is to be repeated. The default value is *STD, i.e. the value preset in the job class definition (otherwise corresponds to REPEAT-JOB under JOB-CLASS=*UNCHANGED(...)).

REPEAT-JOB = *UNCHANGED
Specification only permitted for simple batch jobs, scheduled job and repeat jobs together with START=*UNCHANGED. The current repeat cycle remains unchanged, provided that it is valid according to the job class definition.

SCHEDULING-TIME = *BY-CALENDAR(...)
The batch job scheduling time and any repeat jobs are specified in the form of a symbolic date defined in a calendar file (calendar job). The entries in a calendar file can be listed with the SHOW-CALENDAR command. Creation of calendar files with the CALENDAR utility is described in the “Calendar” manual [4].

CALENDAR-NAME = *UNCHANGED / <filename 1..54 without-gen-vers>
Name of the calendar file.

SYMBOLIC-DATE = *UNCHANGED / <filename 1..20 without-cat-user-vers> /
<partial-filename 2..20 without-cat-user>

Symbolic date which defines the scheduling time and any repetition cycles within the calendar file.

LIMIT = *STD / *UNCHANGED / <integer 1..32767> / *BY-DATE(...)
Governs how long a calendar job remains in existence. This limit applies in addition to the limits set by the calendar. The default is *STD, i.e. the calendar job remains in existence for the duration resulting from the symbolic date in the calendar file (or else the LIMIT setting in JOB-CLASS=*UNCHANGED). Values other than *STD are allowed only for calendar jobs.

RESOURCES = *STD / *UNCHANGED / *PARAMETERS(...)
Values for run priority, CPU time and the maximum number of SYSLST records.

RESOURCES = *STD
Values for run priority, CPU time and the maximum number of SYSLST records remain unchanged.

RESOURCES = *UNCHANGED
Values for run priority, CPU time and the maximum number of SYSLST records remain unchanged.

RESOURCES = *PARAMETERS(...)
The run priority, CPU time and the maximum number of SYSLST records can be changed within the limits permitted for the job class. The operand value *UNCHANGED means that the relevant attribute is not changed.

RUN-PRIORITY = *STD / *UNCHANGED / <integer 30..255>
Run priority which the job is to be assigned. The lower the value, the higher the priority. The values can be queried with the SHOW-USER-ATTRIBUTES and SHOW-JOB-CLASS commands.

RUN-PRIORITY = *STD
The standard run priority specified for the job class applies.

CPU-LIMIT = *STD / *UNCHANGED / <integer 1..32767 seconds >
Maximum CPU time, in seconds, that the batch job may consume. The maximum time permitted depends on the job class specified. See also section "Time limits inBS2000".

CPU-LIMIT = *STD
The default value for the chosen job class applies.

SYSLST-LIMIT = *STD / *UNCHANGED / <integer 0..999999>
Specifies the maximum number of records the job is allowed to output to the system files SYSLST, SYSLST01, SYSLST02, ..., SYSLST99 and SYSOUT. The records for SYSOUT are counted separately from the records for SYSLST files. In the case of SYSLST, SYSOUT records are not taken into account, even if the setting LISTING=*YES has been made to ensure that they are also written to SYSLST. This value must not be above the limit set in the job class definition. This limit may be queried using the SHOW-JOB-CLASS command. If the specified number is exceeded, the batch job is terminated abnormally.

SYSLST-LIMIT = *STD
The default value for the chosen job class applies.

JOB-CLASS = <name 1..8>(...)
The batch job is to run in the specified job class. If no values other than *STD are explicitly specified for the attributes LIMIT, JOB-PRIORITY, SCHEDULING-TIME and RESOURCES, these attributes are set in accordance with the default settings of the job class definition. These values are changed even if the job was already queued in the specified job class. The job class definition can be queried with the SHOW-JOB-CLASS command. In nonprivileged job classes, up to 32767 waiting jobs are permissible.

JOB-PRIORITY = *STD / *UNCHANGED / <integer 1..9>
Job priority which the job is to receive.
The default value is *STD, i.e. the preset value of the job class definition (otherwise corresponds to PRIORITY under JOB-CLASS=*UNCHANGED(...)).

JOB-PRIORITY = *UNCHANGED
The current job priority is to remain unchanged. If that priority is higher than the current maximum for the job class, the command is rejected.

SCHEDULING-TIME = *STD / *UNCHANGED / *PARAMETERS(...) / *BY-CALENDAR(...)
Defines how scheduling times are specified for the batch job. If the specifications applying until now are changed, this may lead to a change of the batch job type (see section " Changing the batch job type ").

SCHEDULING-TIME = *STD
The default settings for START and REPEAT-JOB scheduling time specifications for the selected job class apply (see the operands of the SCHEDULING-TIME= *PARAMETERS(...) structure).

SCHEDULING-TIME = *UNCHANGED
The current scheduling time remains unchanged, provided that it is valid according to the job class definition. Scheduled and repeat jobs retain their START-JOB and REPEAT-JOB attribute values, and the values for the CALENDAR and SYMBOLIC-DATE and the relevant starting times and repeat cycles of calendar jobs.

SCHEDULING-TIME = *PARAMETERS(...)
Defines a scheduling time (start time) for the batch job. It is also possible to define job repeats (repeat job).

START = *STD / *UNCHANGED / *SOON / *IMMEDIATELY / *AT-STREAM-STARTUP / *WITHIN(...) / *AT(...) / *EARLIEST(...) / *LATEST(...)
Time when the job is to be started. The default value is *STD, i.e. the value preset in the job class definition (otherwise corresponds to START under JOB-CLASS=*UNCHANGED(...)).

START = *UNCHANGED
Specification permitted only for simple batch jobs, scheduled jobs, and repeat jobs.
The current start attribute remains unchanged, provided that it is valid according to the job class definition.

REPEAT-JOB = *STD / *UNCHANGED / *NO / *DAILY / *WEEKLY / *AT-STREAM-STARTUP / *PERIOD(...)
Time interval during which the job is to be repeated. The default value is *STD, i.e. the value preset in the job class definition (otherwise corresponds to REPEAT-JOB under JOB-CLASS=*UNCHANGED(...)).

REPEAT-JOB = *UNCHANGED
Specification permitted only for simple batch jobs, scheduled jobs, and repeat jobs together with START=*UNCHANGED. The current repeat cycle remains unchanged, provided that it is valid according to the job class definition.

SCHEDULING-TIME = *BY-CALENDAR(...)
The batch job scheduling time and any repeat jobs are specified in the form of a symbolic date defined in a calendar file (calendar job). The entries in a calendar file can be listed with the SHOW-CALENDAR command. Creation of calendar files with the CALENDAR utility is described in the “Calendar” manual [4].

CALENDAR-NAME = *UNCHANGED / <filename 1..54 without-gen-vers>
Name of the calendar file.

SYMBOLIC-DATE = *UNCHANGED / <filename 1..20 without-cat-user-vers> /
<partial-filename 2..20 without-cat-user>

Symbolic date which defines the scheduling time and any repetition cycles within the calendar file.

LIMIT = *STD / *UNCHANGED / <integer 1..32767> / *BY-DATE(...)
Governs how long a calendar job remains in existence. This limit applies in addition to the limits set by the calendar. The default is *STD, i.e. the calendar job remains in existence for the duration resulting from the symbolic date in the calendar file (or else the LIMIT setting in JOB-CLASS=*UNCHANGED). Values other than *STD are allowed only for calendar jobs.

RESOURCES = *STD / *UNCHANGED / *PARAMETERS(...)
Values for run priority, CPU time and the maximum number of SYSLST records.

RESOURCES = *STD
Values for run priority, CPU time and the maximum number of SYSLST records remain unchanged.

RESOURCES = *UNCHANGED
The job is assigned the default values for run priority, CPU time and the maximum number of SYSLST records for its job class.

RESOURCES = *PARAMETERS(...)
The run priority, CPU time and the maximum number of SYSLST records can be changed within the limits permitted for the job class. The operand value *UNCHANGED means that the relevant attribute is not changed.

RUN-PRIORITY = *STD / *UNCHANGED / <integer 30..255>
Run priority which the job is to be assigned. The lower the value, the higher the priority. The values can be queried with the SHOW-USER-ATTRIBUTES and SHOW-JOB-CLASS commands.

RUN-PRIORITY = *STD
The standard run priority specified for the job class applies.

CPU-LIMIT = *STD / *UNCHANGED / <integer 1..32767 seconds >
Maximum CPU time, in seconds, that the batch job may consume. The maximum time permitted depends on the job class specified. See also section "Time limits in BS2000".

CPU-LIMIT = *STD
The default value for the chosen job class applies.

SYSLST-LIMIT = *STD / *UNCHANGED / <integer 0..999999>
Specifies the maximum number of records the job is allowed to output to the system files SYSLST, SYSLST01, SYSLST02, ..., SYSLST99 and SYSOUT. The records for SYSOUT are counted separately from the records for SYSLST files. In the case of SYSLST, SYSOUT records are not taken into account, even if the setting LISTING=*YES has been made to ensure that they are also written to SYSLST. This value must not be above the limit set in the job class definition. This limit may be queried using the SHOW-JOB-CLASS command.
If the specified number is exceeded, the batch job is terminated abnormally.

SYSLST-LIMIT = *STD
The default value for the chosen job class applies.

RERUN-AFTER-CRASH = *UNCHANGED / *NO / *YES
The operand is not evaluated for repeat jobs. Specifies whether the batch job is to be restarted during the next system session if processing has been aborted as the result of a system error or termination of the system session.

JOB-PARAMETER = *UNCHANGED / *NO / <c-string 1..127>
Specifies additional attributes for the selected job class-assuming that systems support has defined some and made them known.

JOB-PARAMETER = *NO
No additional attributes.

JOB-PARAMETER = <c-string 1..127>
String of freely selectable characters issued by the system administrator to identify further job class attributes.

FLUSH-AFTER-SHUTDOWN = *UNCHANGED / *NO / *YES
This operand is ignored for calendar jobs. Specifies whether the batch job is to be removed from the job queue if it has not been processed by the end of the session.

LOGGING = *UNCHANGED / *PARAMETERS(...)
Controls the logging of job progress.

LOGGING = *PARAMETERS(...)

LISTING = *UNCHANGED / *NO / *YES
Specifies whether the job run is also to be logged on SYSLST.

PROTECTION = *UNCHANGED / *NONE / *CANCEL
Specifies whether a job is to be protected against being canceled unintentionally with the CANCEL-JOB command.

PROTECTION = *NONE
The job is not protected against unintentional cancellation.

PROTECTION = *CANCEL
The job is protected against unintentional cancellation. When an interactive job is terminated with the CANCEL-JOB command, the system demands an additional confirmation from the user. This is to avoid unintentional cancellation of a job, for instance through incorrect entry of the job number.

JOB-NAME = *UNCHANGED / *NO / <name 1..8>
The name of the job. The job can be accessed using this name (e.g. using SHOW-JOB-STATUS). Jobs that are started without a name being specified are also given this name.

Return codes

(SC2)

SC1

Maincode

Meaning


0

CMD0001

No error

2

0

CMD0002

Warning: job in wait state due to lack of resources


1

CMD0202

Syntax error


32

CMD0221

system error


64

JMS0630

Semantic error (see SYSOUT message)


64

JMS0640

MONJV error, illegal access or invalid time of call


130

JMS0620

Memory saturation

Notes

Combinations of the START and REPEAT-JOB operands

START=

REPEAT-JOB=

*AT-STREAM-STARTUP

*DAILY or *WEEKLY

*PERIOD

*IMMEDIATELY or *SOON

a)

c)

c)

*AT or *EARLIEST

a)

d)

f)

*LATEST or *WITHIN

a)

c)

g)

*AT-STREAM-STARTUP

b)

e)

e)

Table 62: START and REPEAT-JOB operand combinations in the MODIFY-JOB command

Explanation:

a)The first and all subsequent starts of the job take place as specified.
b)The first start of the job is made with START=*AT-STREAM-STARTUP. All further starts take place after the startup of the job scheduler with START=*SOON.
c)The base time for the repetition cycle is the time the job is accepted.
d)The specified point in time (START=...., TIME=....) is the base time for the repetition cycle.
e)The first start of the job follows startup of the job scheduler. This point in time is the base time for the repetition cycle. Further starts take place with START=*SOON.
f)The specified point in time (START=...., TIME=....) is the base time for the repetition cycle. The second and all further starts take place with START=*SOON.
g)The base time for the repetition cycle is the time the job is accepted. All further starts take place with START=*SOON.
Validity of operand combinations depending on job status and batch job type

Regardless of batch job type, all job attributes can be modified for TYPE 1 queued jobs (job status = waiting), with the following exceptions:

  • The START and RERUN-AFTER-CRASH attributes must not be modified for repeat jobs.

  • Modification of the LIMIT attribute is allowed for calendar jobs only. 

With running jobs (TYPE 2; job status = running), the valid job attribute combinations depend on the batch job type. The following table shows which combinations are allowed: 


Batch job type

Job attribute                                               

Ordinary job/
scheduled job

Repeat job

Calendar job

JOB-CLASS

-

-

-

JOB-PRIORITY

-

-

X

JOB-PARAMETER

-

-

X

SCHEDULING-TIME=*PARAMETERS(...)




- START

-

-

-

- REPEAT

X

X


SCHEDULING-TIME=*BY-CALENDAR(...)

X

-

X

RERUN-AFTER-CRASH

X

I

X

LIMIT

I

I

X

RESOURCES=*PARAMETERS(...)




- RUN-PRIORITY

X

X

X

- CPU-LIMIT

X

X

X

- SYSLST-LIMIT

-

-

-

FLUSH-AFTER-SHUTDOWN

X

X

|

LOGGING=*PARAMETERS(...)




- LISTING

-

-

-

PROTECTION

X

X

X

JOB-NAME

X

X

X

X: allowed
I: ignored
–: rejected with error message



Table 63: Valid changes to job attributes using MODIFY-JOB depending on batch job type

Changing the batch job type

Modifying job attributes with the MODIFY-JOB command may also cause the batch job type to change:

a)Specifying SCHEDULING-TIME=*BY-CALENDAR(...) turns the job into a calendar job.
b)A calendar job is turned into an ordinary job, a scheduled job or a repeat job by one of the following specifications:

- SCHEDULING-TIME=*PARAMETERS(...), with the new batch job type being governed by the START and REPEAT operands

- JOB-CLASS=*STD or <name>, but without SCHEDULING-TIME=*CALENDAR(...); the new batch job type then depends on the default values for the START and REPEAT job attributes as defined in the job class

As there are interrelationships between individual job attributes, changing the batch job type may also have consequences for job attributes which are not explicitly modified with the MODIFY-JOB command. The following job attributes lose their significance for the new batch job type and are reset to the associated default value, accompanied by a message to that effect: 

New batch job type

Implicitly modified job attributes

Calendar job

FLUSH-AFTER-SHUTDOWN=*NO

Repeat job

RERUN-AFTER-CRASH=*NO

LIMIT=*STD

Scheduled job

LIMIT=*STD

Ordinary job

LIMIT=*STD

Table 64: Job attributes modified implicitly when the batch job type is changed with MODIFY-JOB

Releasing wait states

The following wait states applying to TYPE 1 user jobs can be released using the MODIFY-JOB command:

  • HELD-BY-COMMAND (see the HOLD-JOB command)
    This wait state can be released by changing the start attributes to
    START=*IMMEDIATELY. Any wait state that applies simultaneously due to a lack of resources (waiting for pubset import or TSN release) is retained and a corresponding warning is issued.

  • HELD-BY-CALENDAR
    This wait state can be released by specifying a new calendar file (CALENDAR-NAME) which is located on an accessible pubset. The wait state is also released if the calendar job is converted into a different batch job type by specifying SCHEDULING-TIME= *PARAMETERS(START=*IMMEDIATE, ...) (see also section " Changing the batch job type ").

  • HELD-BY-PUBSET and HELD-BY-TSN
    These wait states are released by changing the start attributes to START=*AT(...) or *EARLIEST(...) and specifying a start time in the future. The availability of the resources is not checked until the currently set start time is reached.