Your Browser is not longer supported

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

{{viewport.spaceProperty.prod}}

ENTER-PROCEDURE

&pagelevel(3)&pagelevel

Start command sequence (procedure file) as batch job

Component:

BS2000

Functional area:

Job processing
Procedures

Domain:

PROCEDURE

Privileges:

STD-PROCESSING
HARDWARE-MAINTENANCE

Function

Using the ENTER-PROCEDURE command, the user can start a procedure as a batch job. In contrast to the ENTER-JOB command, the user does not have to create a separate ENTER file. The procedure parameters are consequently variable at every asynchronous procedure execution (background procedure). ENTER files can only be started with the ENTER-JOB command.

Method
  1. The procedure file is created as a copy under the name S.PROC.tsn.date.time, where date has the format yyyy-mm-dd and time has the format hh.mm.ss.

  2. An ENTER file with the name S.E.tsn.date.time and the following contents is created:

    /SET-LOGON-PARAMETERS
    ...
    /CALL-PROCEDURE FROM-FILE=S.PROC.tsn.date.time, -
    /               PROCEDURE-PARAMETERS=(
    parameter )
    ...
    /EXIT-JOB SYSTEM-OUTPUT=
    option

    The value of parameter corresponds to the entry in the PROCEDURE-PARAMETERS operand. The value of option is set in accordance with the entry in the SYSTEM-OUTPUT operand. After procedure execution, the copy of the procedure file is deleted.

  3. The ENTER file is started with ENTER-JOB. Entries for the operands PROCESSING-ADMISSION, JOB-CLASS, JOB-NAME, MONJV, JV-PASSWORD, JOB-PRIORITY, RERUN-AFTER-CRASH, FLUSH-AFTER-SHUTDOWN, SCHEDULING-TIME, START, REPEAT-JOB, LIMIT, RESOURCES, LISTING, and JOB-PARAMETER are transferred to the ENTER-JOB command. 

Format

ENTER-PROCEDURE                    

Alias: ENP

FROM-FILE = <filename 1..54 without-gen> / *LIBRARY-ELEMENT(...)


*LIBRARY-ELEMENT(...)



|

LIBRARY = <filename 1..51 without-gen-vers>



|

, ELEMENT = <composed-name 1..38>(...)



|


<composed-name 1..38>(...)



|



|

VERSION = *HIGH EST -EXIST ING / <composed-name 1..24>




|

, TYPE = *STD / *BY-LATEST-MODIFICATION / <alphanum-name 1..8>





, PROCEDURE-PARAMETERS = *NO / <text 0..1800 with-low>

, PROCESSING-ADMISSION = *SAME / *PARAMETERS(...)


*PARAMETERS(...)



|

USER-IDENTIFICATION = *NONE / <name 1..8>



|

, ACCOUNT = *NONE / <alphanum-name 1..8>



|

, PASSWORD = *NONE / <c-string 1..8> / <c-string 9..32> / <x-string 1..16> / *SECRET

, PROCEDURE-PASSWORD = *NONE / <x-string 1..8> / <c-string 1..4> /

<integer -2147483648..2147483647> / *SECRET

, CRYPTO-PASSWORD = *NONE / <c-string 1..8> / <x-string 1..16> / *SECRET

, HOST = *STD / <c-string 1..8> / *ANY

, JOB-CLASS = *STD / <name 1..8>

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

, MONJV = *NONE / <filename 1..54 without-gen-vers>

, JV-PASSWORD = *NONE / <c-string 1..4> / <x-string 1..8> / *SECRET /

<integer -2147483648..2147483647>

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

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

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

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


*PARAMETERS(...)



|

START = *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 = *STD / *NO / *DAILY / *WEEKLY / *AT-STREAM-STARTUP / *PERIOD(...)



|


*PERIOD(...)



|



|

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



|



|

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


*BY-CALENDAR(...)



|

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



|

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



|

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

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


*BY-DATE(...)



|

DATE = <date>



|

, TIME = <time>

, RESOURCES = *PAR AMETERS (...)


*PARAMETERS(...)



|

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



|

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



|

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

, LOGGING = *STD / *YES / *NO

, LISTING = *NO / *YES

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

, SYSTEM-OUTPUT = *STD / *STDOUT / *PRINT / *MAIL / *DELETE

, ASSIGN-SYSTEM-FILES = *STD / *PARAMETERS(...)


*PARAMETERS(...)



|

SYSLST = *STD / *PRIMARY / *DUMMY / <filename 1..54>



|

, SYSOUT = *STD / *PRIMARY / *DUMMY / <filename 1..54>

, PROTECTION = *NONE / *CANCEL

Operands

FROM-FILE = *LIBRARY-ELEMENT(...) / <filename 1..54 without-gen>
Name of the file or PLAM library element which contains the procedure.

If the file/library name is specified without a catalog/user ID and if it is not cataloged in the user ID, the system tries to access a file or library of the same name in the system default ID. (For information on this “secondary read” function see the “Introductory Guide to DMS” [13].)

The procedure must not begin with the SET-LOGON-PARAMETERS or LOGON command, i.e. it must not be an ENTER file.
If the job submitter is not the file owner (differing user IDs), the file must be accessible (see the operand PROTECTION=PARAMETERS in the CREATE-FILE and MODIFY-FILE-ATTRIBUTES commands).
The job submitter must in any case have at least execution privileges if the file is protected by a basic ACL or GUARDS.
If the file has an execute password, the password must be specified in the PROCEDURE-PASSWORD operand.

FROM-FILE = *LIBRARY-ELEMENT(...)
The procedure is stored in a PLAM library.

LIBRARY = <filename 1..51 without-gen-vers>
Name of the library containing the procedure as an element. The specification of a library list (see the “LMS” manual [21]) instead of a library file is not supported.

ELEMENT = <composed-name 1..38>(...)
Name of the element.
The following applies for the sum of the lengths of the library and member names:

  • Without catalog and user IDs the sum may amount to at most 39 characters.

  • In the case of a multi-character catalog ID, the sum with the full path name of the library including the catalog and user IDs may amount to at most 52 characters.

VERSION = *HIGHEST-EXISTING / <composed-name 1..24>
Version of the library element. The default value is HIGHEST-EXISTING, i.e. the procedure is taken from the element with the highest version.

TYPE = *STD / *BY-LATEST-MODIFICATION / <alphanum-name 1..8> 
Designates the element type the procedure is stored under in the PLAM library.

TYPE = *STD
The procedure can be stored as an element of type SYSJ or J. The specified element is first searched for among the type SYSJ elements. If it is not found there, the search proceeds to the type J elements.

A non-S procedure can only be a type J element. An S procedure may be either a text procedure (original text format) or an object procedure (compiled object format). To simplify maintenance of the two formats in a library, text procedures should be stored as type J elements, object procedures as type SYSJ elements. The COMPILE-PROCEDURE command (part of the chargeable SDF-P subsystem) by default generates an object procedure of type SJ from a text procedure of type J. If this convention is followed, specifying TYPE=*STD (the default value) ensures that object procedures will be given precedence over text procedures.

TYPE = *BY-LATEST-MODIFICATION
The procedure can be stored as an element of type SYSJ or J. If the specified element exists both as type SYSJ and as type J, the element most recently modified will be called. If the time stamp is identical, the type SYSJ element will be called. Specifying TYPE=*BY-LATEST-MODIFICATION ensures that the most up-to-date element will be called, typically during the debugging phase when a procedure is being written or modified.

TYPE = <alphanum-name 1..8>
The procedure will be searched among elements of the specified type only.

Despite the length restrictions specified for the element name, it is possible for the full path name of the library element to exceed 54 characters in length. The SHOW-JOB-STATUS command then displays the name of the original file in abbreviated form. Truncated characters in the names are indicated by a "*". In this case, the SDF-P function PROC-NAME() cannot correctly determine the complete name of the library element.

PROCEDURE-PARAMETERS = *NO / <text 0..1800 with-low>
Parameter values which are to be set instead of the appropriate symbolic parameters. Parameter values must be enclosed in parentheses. Input is carried out as described in the CALL-PROCEDURE command.

PROCESSING-ADMISSION =
Specifies the user ID under which the batch job is to run.

PROCESSING-ADMISSION = *SAME
The batch job should run under the current user ID (i.e. the one under which ENTER-PROCEDURE was specified).

PROCESSING-ADMISSION = *PARAMETERS(...)
Parameters defining the LOGON authorization of the destination user ID.

USER-IDENTIFICATION = *NONE / <name 1..8>
User ID under which the batch job should run.

ACCOUNT = *NONE / <alphanum-name 1..8>
Account number of the user ID. 

PASSWORD = *NONE / <c-string 1..8> / <c-string 9..32> / <x-string 1..16> / *SECRET
Password for the user ID.
The long password mechanism is supported (<c-string 9..32>). A hash algorithm converts the long password to the internal 8-byte representation. See the MODIFY-USER-PROTECTION command for details of the long password mechanism.
The PASSWORD operand has the following special characteristics:

  • The password entered is not logged.

  • The input field is automatically blanked out in the guided dialog.

  • In unguided dialog and foreground procedures, the entry *SECRET or ^, SDF provides a blanked out input field for inputting the password .

PROCEDURE-PASSWORD = *NONE / <c-string 1..4> / <x-string 1..8> /
<integer -2147483648..2147483647> / *SECRET 

Password protecting the procedure file from being executed. The operand has the following special characteristics:

  • The password entered is not logged.

  • The input field is automatically blanked out in the guided dialog.

  • In unguided dialog and foreground procedures, the entry *SECRET or ^, SDF provides a blanked out input field for inputting the password.

CRYPTO-PASSWORD = *NONE / <c-string 1..8> / <x-string 1..16> / *SECRET
Password used when encrypting the procedure file. The copy of the procedure file (S.PROC file) is decrypted with the aid of the crypto password.
The CRYPTO-PASSWORD operand has the following special characteristics:

  • The password entered is not logged.

  • The input field is automatically blanked out in the guided dialog.

  • In unguided dialog and foreground procedures, the entry *SECRET or ^, SDF provides a blanked out input field for inputting the password.

HOST =
Specifies the host the job is to run on. Operand values other than *STD are available only to users who have the HIPLEX MSCF (multiprocessor systems) software product.

HOST = *STD
The job is to run on the local host.

HOST = <c-string 1..8>
Host name of the host the ENTER job is to run on.

HOST = *ANY
Allowed only on an XCS network. For details see the “HIPLEX MSCF” manual [25].

JOB-CLASS = *STD / <name 1..8>
Job class into which the job is to be placed. The SHOW-USER-ATTRIBUTES or SHOW-JOB-CLASS command can be used to query authorization for the various job classes. 

JOB-NAME = *NO / <name 1..8>
Name for the ENTER job. The ENTER job can be addressed using this name (e.g. with SHOW-JOB-STATUS). The name is also printed on the header page of the printer listing. If *NO is specified, the ENTER job is assigned the name of the job issuing the command, for reasons of compatibility. Only if this job has no name as well, the ENTER job is assigned no name, which is shown in the outputs with *NONE, (NONE) or blanks.

MONJV = *NONE / <filename 1..54 without-gen-vers>
Specifies whether the batch job is to be monitored by a JV.

MONJV = *NONE
The batch job is not monitored.

MONJV = <filename 1..54 without-gen-vers>
Only possible if the chargeable JV subsystem is loaded (see also the "Job Variables" manual [ 20 ]).
Name of the job variable (JV) that is to monitor the batch job. The user can address the batch job via this JV. If the specified JV does not yet exist, it is - if the requisite authorization exists - created and made available for all users (ACCESS=*WRITE and USER-ACCESS=*ALL-USERS). 

The system sets the JV to appropriate values while the batch job is being processed:

$S

Job on queue

$R

Job running

$T

Job terminated

$A

Job aborted

$M

Job exported with MOVE-JOBS

JV-PASSWORD = *NONE / <c-string 1..4> / <x-string 1..8> / <integer -2147483648..2147483647> / 
*SECRET
Password for the JV.
The operand has the following special characteristics:

  • The password entered is not logged.

  • The input field is automatically blanked out in the guided dialog.

  • In unguided dialog and foreground procedures, the entry *SECRET or ^, SDF provides a blanked out input field for inputting the password.

JOB-PRIORITY = *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.

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

RERUN-AFTER-CRASH = *NO / *YES
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.


Note

The operand is not evaluated if job repetition is enabled in the REPEAT operand. 

FLUSH-AFTER-SHUTDOWN = *NO / *YES
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.


Note

The operand is not evaluated if job repetition is enabled in the REPEAT operand. The specification FLUSH-AFTER-SHUTDOWN=*YES with the warning JMS0056 is ignored for calendar jobs.

SCHEDULING-TIME = *STD / *PARAMETERS(...) / *BY-CALENDAR(...)
Defines how scheduling times are specified for the batch job.

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

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

START =
Starting time for the batch job. Values other than *STD are ignored unless they are permitted by virtue of the job class definition (see the SHOW-JOB-CLASS command).

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 after the next 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 *STD are ignored unless they are permitted by virtue of 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 in this regard, “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 (i-1)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 command MODIFY-JOB ...,REPEAT-JOB=*NO).

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

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

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 utility is described in the “Calendar” manual [4].

CALENDAR-NAME = <filename 1..54 without-cat-user-gen-vers>
Name of the calendar file.

SYMBOLIC-DATE = <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. The symbolic date may also be given in partially qualified mode. In this way, several scheduling times can be defined for one calendar day with the appropriate definition of SYSDATs.

Example:

Definition of SYMDATs in the calendar file:

  • WORK.DAY.1 (every other day at 06:00 hrs)

  • WORK.DAY.2 (every other day at 6:00 PM hrs)

  • WORK.WEEK.1 (every Friday at 21:00 hrs)

A calendar job considering all three scheduling points is started with SYMBOLIC-DATE=WORK..

LIMIT = *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.

LIMIT = <integer 1..32767>
This specification is only permitted for calendar jobs.
Maximum number of repetitions of the calendar job.
On termination, a check is performed to determine whether the run counter has reached or exceeded the maximum value. 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 = *PARAMETERS(...)
Values for run priority, CPU time and maximum number of SYSLST records.

RUN-PRIORITY = *STD / <integer 30..255>
Run priority the batch job is to be given. 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 following rules apply:

  • If the value specified explicitly is numerically lower than the value in the user entry, the message JMS0045 is issued. The batch job is assigned the higher of the two values (i.e. the less favorable value) for the run priority from the user entry and the default run priority for the job class.

  • If no value is specified or if *STD or *BY-JOB-CLASS is explicitly specified, the batch job is assigned the standard run priority of the job class.

The values can be queried with the SHOW-USER-ATTRIBUTES and SHOW-JOB-CLASS commands.

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

CPU-LIMIT = *STD / *NO / <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" in chapter "Volume 1: General Part ".

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

CPU-LIMIT = *NO
The ENTER job is to run with no time limit (NTL). This operand value is permitted only if the requisite authorization exists in the user entry or the job class definition.

SYSLST-LIMIT = *STD / *NO / <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.

SYSLST-LIMIT = *STD
The default value for the chosen job class applies. If the specified number is exceeded, the batch job is terminated abnormally.

SYSLST-LIMIT = *NO
Sets no limit on the number of records output.

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

LOGGING =
Controls logging of job execution. For non-S procedures the LOGGING operand is ignored because logging is defined in the BEGIN-PROCEDURE in that instance. 

LOGGING = *STD
Logging only takes place if the procedure file is not read-protected.

LOGGING = *YES
Job execution is logged. Execution of a file can only be logged if the correct password has been entered into the password table of the job originator or is specified in the PROCEDURE-PASSWORD operand.

LOGGING = *NO
Job execution is not logged.

JOB-PARAMETER =
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>
Arbitrary sequence of characters defined by the system administrator to identify additional job class attributes.

SYSTEM-OUTPUT =
Controls output of the system files SYSLST and SYSOUT on job termination (see also the EXIT-JOB command, SYSTEM-OUTPUT operand).

SYSTEM-OUTPUT = *STD
Outputs the system files SYSLST and SYSOUT to printer or in an email (see *STDOUT) in the event of errored execution.

SYSTEM-OUTPUT = *STDOUT
Depending on the setting of the system parameter SSMOUT, the system files SYSLST and SYSOUT are output to printer (see *PRINT) or sent by email (see *MAIL). In the case of cross-system command processing, the system parameter of the target system is evaluated.

SYSTEM-OUTPUT = *PRINT
Outputs the system files SYSLST and SYSOUT to printer.

SYSTEM-OUTPUT = *MAIL
The system files SYSLST and SYSOUT are sent by email. The receiver address(es) is/are taken over from the user entry of the user ID of the terminated job. How the receiver address is selected from an address list in accordance with the job name is described under the MAIL-FILE command.
If transfer by email is not possible (e.g. no email address in the user ID), the system files are output to printer.

SYSTEM-OUTPUT = *DELETE
Output of the system files SYSLST and SYSOUT is suppressed. 

ASSIGN-SYSTEM-FILES =
Specifies which allocation should apply to the system files SYSLST and SYSOUT at the start of the batch job. The operand supports the assignment of cataloged files to the two system files during an asynchronous procedure run. Consequently, the procedure file can, for instance, continue output to SYSOUT in interactive mode while directing output to a cataloged file in batch mode. The assignment to dummy files (*DUMMY) is also supported (see also FILE-NAME=*DUMMY in the ADD-FILE-LINK command).

ASSIGN-SYSTEM-FILES = *STD
The primary allocation for SYSLST and SYSOUT is preset, i.e. output on printer at the end of the task (dependent on SYSTEM-OUTPUT), if there has been no change in allocation within the procedure. 

ASSIGN-SYSTEM-FILES = *PARAMETERS(...)
Specifies which allocation should apply to SYSLST and SYSOUT at the start of the batch job.

SYSLST = *STD / *PRIMARY / *DUMMY / <filename 1..54>
Output destination to which the system file SYSLST is to be assigned. The default value is *STD, i.e. the existing assignment is unchanged.

SYSOUT = *STD / *PRIMARY / *DUMMY / <filename 1..54>
Output destination to which the system file SYSOUT is to be assigned. The default value is *STD, i.e. the existing assignment is unchanged.

PROTECTION = *NONE / *CANCEL
Specifies whether the batch job is to be protected against accidental termination with the CANCEL-JOB command.

PROTECTION = *NONE
The batch job is not protected against accidental termination.

PROTECTION = *CANCEL
The batch job is not protected against accidental termination. In interactive jobs and on consoles which wish to terminate this batch job with the CANCEL-JOB command, the system additionally requests confirmation. Accidental termination of the batch job due to incorrect specification of the job number should thus be prevented. 

Return codes

(SC2)

SC1

Maincode

Meaning


0

CMD0001

Command executed

2

0

CMD0002

Command executed with warning, e.g. DELETE=*YES ignored for repeat job or when a library member is specified


1

CMD0202

Syntax error in command


32

CMD0221

system error


64

JMS0630

Semantic or privilege error, e.g. host, catalog ID, job class unknown; MONJV not accessible, maximum number of jobs reached


64

JMS0640

Error when accessing the procedure file, e.g. not a SAM or ISAM file, file empty, no access right


64

JMS0670

Error in a remote job


130

JMS0620

No further storage space or TSN available, or specified MONJV already monitoring a job


130

JMS0650

MSCF non available or no connection to the specified host

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 47: START and REPEAT-JOB operand combinations in the ENTER-PROCEDURE command
    a)The first and all subsequent starts of the job take place as specified.
    b)The first start of the job is effected 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. All 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.
  • The following applies to the *WITHIN, *AT and *LATEST entries in the START operand: After the specified point in time or period of time, jobs that have not been started are treated in the same way as jobs started with START=*SOON and highest job priority.


    Example

    A job with START=*LATEST(...) could not be started by the desired time because the job scheduler was not active. It will then be started (within the same session) as soon as possible after the next startup of the job scheduler.

  • Determining the scheduling time of a calendar job:

  • In the first version of the calendar job, the symbolic date (SYMDAT) specified in the SYMBOLIC-DATE operand is passed on to the CALENDAR component in the evaluation of the job attributes. The CALENDAR component returns the next point in time (date and time), with regard to the current point in time, specified by the SYMDATs defined in the calendar file. In the case of partially qualified SYMDATs, scheduling time is returned for each SYMDAT beginning with the character string, and the calendar job is started at each of these scheduling times.

  • The scheduling times of the following versions are determined according to the same procedure while the previous jobs are processed. 

As a consequence, any modifications made to the calendar file only take effect on calendar job versions whose scheduling time is determined after the update of the calendar file. In particular, the number of calendar job versions started by means of a partially qualified SYMDAT can be extended (by defining new SYMDATs) or reduced (by deleting SYMDATs).

  • A batch job which is to run on a remote system can be accessed via a MONJV only when the catalog ID of the partner system’s home pubset is entered to the MRSCAT of the systems concerned.

  • Access to procedure files via RFA is not possible.

  • To ensure availability of the procedure file at execution time (start of the batch job), a copy of the file with the prefix S.PROC. is always created.

  • Essentially the operands are identical with those of the ENTER-JOB command. Only the following operands of the ENTER-JOB command are not supported:

    FILE-PASSWORD

    The generated ENTER file is assigned a random password with which the FILE-PASSWORD is supplied.

    DELETE                   

    DELETE=*YES always applies

  • The ENTER file created is always started with DELETE=*YES. The ENTER file and the copy of the procedure file (S.PROC file) are not automatically deleted if the job is to be repeated (REPEAT operand).

  • The copy of the procedure file (S.PROC file) is password-protected, but may be deleted by the owner without entry of the password. The user can thus delete S.PROC files that were not deleted on account of a system error. The user may not delete S.PROC files for repeat jobs. The same applies to password protection on the S.E file.

  • The S.PROC and S.E files are set up with DESTROY-BY-DELETE=*YES depending on the system parameter DESTLEV.

  • Procedure files can be protected by means of read, write and execute passwords. The execute password or a higher-ranking password must be specified in the PROCEDURE-PASSWORD operand. A read password must be specified if job execution is to be logged. The passwords are validated on processing the ENTER-PROCEDURE command. If the passwords are subsequently changed, the successful validation during ENTER-PROCEDURE processing remains in force and the procedure file can be executed. If the procedure to be executed is a PLAM library element, a password specified in the PROCEDURE-PASSWORD operand is interpreted as a password only for accessing the PLAM library.

  • S. files are always unencrypted. It must, therefore, be possible to encrypt the procedure file when the command is processed, i.e. the crypto password must be specified in the CRYPTO-PASSWORD operand.

  • When the batch job is started on a remote host (HOST not equal to *STD), all the passwords used (CRYPTO-PASSWORD, PROCEDURE-PASSWORD and JV-PASSWORD) must be specified directly in the ENTER-PROCEDURE command. Passwords which were entered in the job submitting task's password list with the ADD-PASSWORD, and ADD-CRYPTO-PASSWORD commands apply only when the job is started locally (HOST = *STD).

  • The S.PROC and the S.E files are protected by a file lock for the duration of the batch job. Note the following: the file locks are set when the pubset is imported on which the files are located. The file locks only consider files to which batch jobs from the current job pool (on the home pubset) refer. If the files are located on a shared pubset, the file locks are coordinated from the master computer. 

  • In nonprivileged job classes, up to 32767 waiting jobs are permissible. Any ENTER jobs in excess of this number are rejected.