General
Application area: | Job scheduler (system administration macro); see "Job scheduler" |
Macro type: | 24-bit interface, type S: MF format 1 (standard/E/L form) |
The JSEXPCT macro can only be called under the TSOS (system administration) ID.
When using the 31-bit interface, the DJSIPL macro serves to generate a description (DSECT/data list) of the operand list, of all JSS events, as well as EQUATES for the return code; when using the 24-bit interface, the same function is performed by the DJSI macro.
JMS = Job Management System; JSS = Job Scheduling Supports.
JSS is part of the Job Management System.
Macro description
The next event for the job scheduler is requested from JMS with the JSEXPCT macro. The events refer to a job (job acceptance, job termination, job RELEASE, job CANCEL, etc.) managed by the job scheduler, to the job class (job class in the HOLD state, resetting, reacceptance of jobs) or to the job scheduler (job scheduler in the HOLD state, resetting, modified STREAM-PARAMETER, ...).
Note
The job scheduler is put into a wait state if there is no event for processing. When an event occurs, the job scheduler is removed from the wait state.
Macro format and description of operands
JSEXPCT |
{ EVENT={addr / (r)} [,PARMOD=24] [,MF={L / (E,..)}] / [PARMOD=31] ,PARLIST={addr / (r)} } |
EVENT=
Defines the address of an area where the event is entered. The area must be aligned on a word boundary.
addr
Symbolic address (name) of the area.
(r)
Register containing the address value “addr”.
MF=
For a general description of the MF operand, its operand values and any subsequent operands, see "S-type macros".
The valid MF values and default settings for this macro are given at the start of the macro description.
PARMOD=
Controls macro expansion. Either the 24-bit or the 31-bit interface is generated.
If PARMOD is not specified here, macro expansion is performed according to the specification for the GPARMOD macro or according to the default setting for the assembler (= 24-bit interface).
24
The 24-bit interface is generated. Data lists and instructions use 24-bit addresses. (Address space <= 16 Mb.)
31
The 31-bit interface is generated. Data lists and instructions use 31-bit addresses. (Address space <= 2 Gb.) Data lists start with the standard header.
PARLIST=
Gives the address of the operand list. The list should be aligned on a word boundary and must start with the standard header. The DJSIPL macro generates a description (DSECT/data list) of the operand list; the initialization values for the standard header are entered.
addr
Symbolic address (name) of the operand list.
(r)
Register containing the address value “addr”.
Description of the events (24-bit interface/31-bit interface)
JSIEJINT/JSEXJINT: introduce a job
The job scheduler is requested to introduce the job to the set of jobs it manages. The following information on the job is supplied to the scheduler:
TSN
name of the job class
CPU time
job priority
arrival time
start type (SOON, IMMEDIATE, ...)
start time
hold state
job parameters (J-PAR)
JSIEJTER/JSEXJTER: terminate execution of a job started by the job scheduler.
JSIEJHLD/JSEXJHLD: place a job that is waiting to be started in the hold state.
The job scheduler is requested to ignore the job during scheduling. A job in the hold state is marked as such in the job pool (EQUISAMQ file).
JSIEJREL/JSEXJREL: release a job from the hold state.
The job scheduler is requested to allow for the job again in scheduling.
JSIEJCAN/JSEXJCAN: delete a job that has not yet been started by the job scheduler.
The job scheduler is requested to cancel the job.
JSIEJEXP/JSEXJEXP: introduce a job that is to be started as soon as possible.
JSIEJRES/JSEXJRES: modify the attributes of a job that has not yet been started with the
MODIFY-JOB command.
JSIECHLD/JSEXCHLD: place the specified job class in the hold state.
As in the case of JSIEJHLD/JSEXJHLD, the job scheduler is requested to ignore jobs of this class in future. All the jobs of a job class in the hold state are also marked as such in the job pool (EQUISAMQ file).
JSIECREL/JSEXCREL: release the job class from the hold state.
The job scheduler is requested to allow once again for jobs of this class during scheduling.
JSIECAVA/JSEXCAVA: CLASS-LIMIT has not been reached for the specified job class.
This occurs either when a job running in the class is terminated or by raising the CLASS-LIMIT with the MODIFY-JOB-CLASS command.
JSIESHLD/JSEXSHLD: the specified stream has been placed in the hold state.
The job scheduler is requested not to start any more jobs.
JSIESREL/JSEXSREL: release the hold state for the stream.
The job scheduler is requested to start jobs again.
JSIESCLQ/JSEXSCLQ: indicator that the operating system is in the shutdown state.
This event has the same effect as JSIESHLD/JSEXSHLD, i.e. no more jobs are started.
JSIESCLI/JSEXSCLI: causes the scheduler to terminate immediately (program
termination). This event is initiated with the STOP-JOB-STREAM command. No more events are sent to the stream after this event.
JSIESCHA/JSEXSCHA: information about modified STREAM-PARAMETERs.
JSIETIM/JSEXTIM: event which occurs every minute and which enables the job scheduler
to carry out time functions (e.g. support of the START operand in the SET-LOGON-PARAMETERS command and the REPEAT-JOB operand in the ENTER-JOB command).
Return information and error flags
During macro processing, register R1 contains the operand list address.
R15:
+---------------+ | | | | | |0|0|a|a|a|a|a|a| +---------------+
A return code relating to the execution of the JSEXPCT macro is transferred in register R15.
X'aaaaaa' | Meaning |
X'000000' | Normal execution. |
X'000008' | Operand error. |
X'00000C' | System error. |
X'000010' | Unauthorized caller (not TSOS). |
X'000018' | Macro called before a JSATTCH macro or after a JSDETCH. |
Other return codes which, in accordance with conventions, apply to all macros are given in the table “Standard return codes” (Standard header).