Function
Introduces a job description to the system from a basic peripheral or MOP terminal, for running as a background job.
Format
JOB jobname,username,terminator,MODE(mode),PARAM(a1,a2,...an)
The jobname must not coincide with the name of any of the user's files or with the name of any other job that the user currently has in the system. Only the first two parameters are mandatory, and, although they may be in either order, they must be the first two parameters of the command.
The MODE and PARAM parameters are optional and may be written in either order after the jobname and username. If either is omitted, no null parameters (redundant commas) need be included.
If the MODE parameter is included, the mode specified is passed to the internally issued INPUT command without checking.
The PARAM parameter specifies the user's job parameters, a1,a2,...an, which must conform to the rules that govern the formats of all parameters. They wil be substituted in the appropriate places in the job description (denoted %A, %D, etc.), when these places are encountered at the time the job's commands are being obeyed.
Forbidden contexts
USER, OPERATOR
As a result of the command, the context of the new job becomes USER and OFFLINE. A JOB command may be issued only at command processor level zero.
Execution
GEORGE first checks that the user is in the index of permitted users and that he is allowed to start background jobs with the JOB command. When starting a job online, HIGH and NORMAL security users must type in their password, and HIGH security users are not permitted to start background jobs from a reader (see the SECURITY command). The jobname is checked to see that it is a valid jobname and that the user has no other files or jobs of this name. The command is abandoned if any of these requirements is not satisfied.
A monitoring file and a temporary work job description file are opened with the name given in the first parameter of the command. The job description is then read up to the terminator and filed in the working job description file, by means of an internally issued INPUT command.
The job is begun by the command issuing the file name (that is, the jobname) as a macro command with the a1,a2,...an, if any, as parameters.
Once the job is started, commands are read and obeyed from the working job description file until an ENDJOB command is encountered or the end of the file is reached. If an ENDJOB command is found, the job is terminated and the file is erased. If no ENDJOB command is found, the job is first suspended for a length of time determined by the value of the WAITTIME installation parameter (see INSTPARA); then, provided that it is not connected to a MOP terminal during the suspension period, the job is terminated and the file is erased.
Examples
| JOB OFFLINEJOB,:FRED,SENDJ | OFFLINEJOB is the name of that will be given to the job. :FRED is the username. The job description will be terminated by a line beginning ENDJ, which is to be stored. |
| JOB J3,:BILL,MODE(GRAPHIC),PARAM(INFILE,O,OUTFILE) | J3 is the name of that will be given to the job. :BILL is the username. The job description will be terminated by the standard terminator of ****, which will be stored. |
| JOB A,:JAMES,PARAM(47,ABC),MODE(NORMAL),T#### | A is the jobname. :JAMES is the username. The internally issued INPUT command uses NORMAL mode when reading in the job description (from paper tape). The job description will be terminated by a line commencing ####, which will not be stored. 47 and ABC are job parameters. |
| JOB :JOHN,JOBA,PARAM(JA,JB) | JOBA is the jobname. :JOHN is the username. The terminator will be the standard terminator. When reading in the job description, mode NORMAL ALPHA is assumed. JA and JB are job parameters. |
Error Messages
JOB NAME PARAMETER MISSING
JOB NAME z NOT UNIQUE
USER NAME PARAMETER MISSING
THE LIMIT ON THE NUMBER OF JOBS HAS BEEN REACHED
z HAS OVERDRAWN HIS MONEY BUDGET
z IS NOT A CORRECTLY FORMED NAME (job name or user name)
z IS NOT A REAL USER
z IS NOT A VALID JOB NAME
USER z IS EITHER PSEUDO OR ABOUT TO BE ERASED
USER z IS NOT ALLOWED TO START JOB UNLESS LOGGED IN
USER NAME/PASSWORD INVALID
THE SECURITY OF USER z DOES NOT ALLOW THIS COMMAND TO BE OBEYED
IN THIS CONTEXT