The following example contains notes on reconstructing individual job attributes and on problem cases. JMP writes the following commands to the procedure file:
/"REJECTED: TSN: 0EY4 TYPE: 1 DO REASON: NEXT RPT. IMAGE " 1. /SET-JOB-STEP " -------------------------------------------- " 2. /"IMPORTED: TSN: 0EY3 TYPE: 1 DO ORIGIN: USER-ENTER " 3. /" CALLER: TSN: 0EY2 USERID: TSOS HOST: " /" REPETITION: REPCNT: 0 START: <date>.<time>" /ENTER-JOB - 4. / FROM-FILE = :2BV:$TSOS.OS27.E - 5. / ,PROC-ADMI = *PAR( - 6. / USER-ID = TSOS - / ,ACCOUNT = ADMINSTR - / ,PASS = '????????') - 7. / ,FILE-PASS = *NONE - 7. / ,DELETE = *NO - / ,JOB-CLASS = JCBTSOS - / ,JOB-NAME = OS27KF - / ,MONJV = *NONE - / ,JV-PASS = *NONE - / ,JOB-PRIO = 5 - / ,RERUN-AFTER-CRASH = *NO - / ,FLUSH-AFTER-SHUTDOWN = *NO - / ,SCHEDULING-TIME = *PAR( - / START = *AT (DATE = *TODAY , TIME = 11:00) - 8. / ,REP-JOB = *DAILY ) - / ,LIMIT = *STD - / ,RESOURCES = *PAR( - / RUN-PRIO = 210 - / ,CPU-LIMIT = 20000 - / ,SYSLST-LIM = *NO - / ,SYSOPT-LIM = *NO ) - / ,LOGGING = *PAR( - / LISTING = *NO ) - / ,PROTECTION= *NONE /"REJECTED: TSN: 0EYR TYPE: 2 REASON: PRIVILEGED ENTER" /"REJECTED: TSN: 0EYS TYPE: 2 REASON: PRIVILEGED ENTER" /"REJECTED: TSN: 0EYT TYPE: 2 REASON: PRIVILEGED ENTER" /"REJECTED: TSN: 0EYU TYPE: 2 REASON: PRIVILEGED ENTER" /SET-JOB-STEP " -------------------------------------------- " /"IMPORTED: TSN: 0EYZ TYPE: 2 ORIGIN: USER-ENTER " /" CALLER: TSN: 0EYX USERID: TSOS HOST: " /ENTER-JOB - / FROM-FILE = :2BV:$TSOS.SYSENT.TCP-IP-AP.031.FTPD - / ,PROC-ADMI = *PAR( - / USER-ID = TSOS - / ,ACCOUNT = ADMINSTR - / ,PASS = '????????') - / ,FILE-PASS = *NONE - / ,DELETE = *NO - / ,JOB-CLASS = JCBTSOS - / ,JOB-NAME = FTPSR - / ,MONJV = *NONE - / ,JV-PASS = *NONE - / ,JOB-PRIO = 5 - / ,RERUN-AFTER-CRASH = *NO - / ,FLUSH-AFTER-SHUTDOWN = *NO - / ,SCHEDULING-TIME = *PAR( - / START = *IMMEDIATELY - 9. / ,REP-JOB = *NO ) - / ,LIMIT = *STD - / ,RESOURCES = *PAR( - / RUN-PRIO = 120 - / ,CPU-LIMIT = *NO - / ,SYSLST-LIM = *NO - / ,SYSOPT-LIM = *NO ) - / ,LOGGING = *PAR( - / LISTING = *NO ) - / ,PROTECTION= *NONE /SET-JOB-STEP " -------------------------------------------- " /"IMPORTED: TSN: 0EYW TYPE: 1 DO ORIGIN: USER-ENTER " /" CALLER: TSN: 0AAU USERID: TSOS HOST: " /" REPETITION: REPCNT: 51 START: 0000-00-00.0000" /ENTER-JOB - / FROM-FILE = :2BV:$SYSPRIV.SYSENT.HOLD-SAT - / ,PROC-ADMI = *PAR( - / USER-ID = SYSPRIV - / ,ACCOUNT = SYSACC - / ,PASS = '????????') - / ,FILE-PASS = *NONE - / ,DELETE = *NO - / ,JOB-CLASS = JCBSTD - / ,JOB-NAME = HOLDSAT - / ,MONJV = *NONE - / ,JV-PASS = *NONE - / ,JOB-PRIO = 9 - / ,RERUN-AFTER-CRASH = *NO - / ,FLUSH-AFTER-SHUTDOWN = *NO - / ,SCHEDULING-TIME = *PAR( - / START = *AT-STREAM-STARTUP - / ,REP-JOB = *AT-STREAM-STARTUP ) - / ,LIMIT = *STD - / ,RESOURCES = *PAR( - / RUN-PRIO = 220 - / ,CPU-LIMIT = 32000 - / ,SYSLST-LIM = *NO - / ,SYSOPT-LIM = *NO ) - / ,LOGGING = *PAR( - / LISTING = *NO ) - / ,PROTECTION= *NONE /SET-JOB-STEP " -------------------------------------------- " /"IMPORTED: TSN: 0EYY TYPE: 2 ORIGIN: USER-ENTER " /" CALLER: TSN: 0EYX USERID: TSOS HOST: " /ENTER-JOB - / FROM-FILE = :2BV:$TSOS.SYSENT.TCP-IP-AP.031.TELNETD - / ,PROC-ADMI = *PAR( - / USER-ID = TSOS - / ,ACCOUNT = ADMINSTR - / ,PASS = '????????') - / ,FILE-PASS = *NONE - / ,DELETE = *NO - / ,JOB-CLASS = JCBTSOS - / ,JOB-NAME = TELSR - / ,MONJV = *NONE - / ,JV-PASS = *NONE - / ,JOB-PRIO = 5 - / ,RERUN-AFTER-CRASH = *NO - / ,FLUSH-AFTER-SHUTDOWN = *NO - / ,SCHEDULING-TIME = *PAR( - / START = *IMMEDIATELY - / ,REP-JOB = *NO ) - / ,LIMIT = *STD - / ,RESOURCES = *PAR( - / RUN-PRIO = 120 - / ,CPU-LIMIT = *NO - / ,SYSLST-LIM = *NO - / ,SYSOPT-LIM = *NO ) - / ,LOGGING = *PAR( - / LISTING = *NO ) - / ,PROTECTION= *NONE /"REJECTED: TSN: 0EY6 TYPE: 1 DO REASON: NEXT RPT. IMAGE " /SET-JOB-STEP " -------------------------------------------- " /"IMPORTED: TSN: 0EY5 TYPE: 1 DO ORIGIN: USER-ENTER " /" CALLER: TSN: 0EY2 USERID: TSOS HOST: " /" REPETITION: REPCNT: 0 START: <date>.<time>" /ENTER-JOB - / FROM-FILE = :2BV:$TSOS.OS27.E - / ,PROC-ADMI = *PAR( - / USER-ID = TSOS - / ,ACCOUNT = ADMINSTR - / ,PASS = '????????') - / ,FILE-PASS = *NONE - / ,DELETE = *NO - / ,JOB-CLASS = JCBTSOS - / ,JOB-NAME = OS27KF - / ,MONJV = *NONE - / ,JV-PASS = *NONE - / ,JOB-PRIO = 5 - / ,RERUN-AFTER-CRASH = *NO - / ,FLUSH-AFTER-SHUTDOWN = *NO - / ,SCHEDULING-TIME = *PAR( - / START = *AT (DATE = *TODAY , TIME = 11:00) - / ,REP-JOB = *WEEKLY ) - / ,LIMIT = *STD - / ,RESOURCES = *PAR( - / RUN-PRIO = 210 - / ,CPU-LIMIT = 20000 - / ,SYSLST-LIM = *NO - / ,SYSOPT-LIM = *NO ) - / ,LOGGING = *PAR( - / LISTING = *NO ) - / ,PROTECTION= *NONE /"REJECTED: TSN: 0EY8 TYPE: 1 DO REASON: NEXT RPT. IMAGE " /SET-JOB-STEP " -------------------------------------------- " /"IMPORTED: TSN: 0EY7 TYPE: 1 DO ORIGIN: USER-ENTER " /" CALLER: TSN: 0EY2 USERID: TSOS HOST: " /" REPETITION: REPCNT: 0 START: <date>.<time>" /ENTER-JOB - / FROM-FILE = :2BV:$TSOS.OS27.E - / ,PROC-ADMI = *PAR( - / USER-ID = TSOS - / ,ACCOUNT = ADMINSTR - / ,PASS = '????????') - / ,FILE-PASS = *NONE - / ,DELETE = *NO - / ,JOB-CLASS = JCBTSOS - / ,JOB-NAME = OS27KF - / ,MONJV = *NONE - / ,JV-PASS = *NONE - / ,JOB-PRIO = 5 - / ,RERUN-AFTER-CRASH = *NO - / ,FLUSH-AFTER-SHUTDOWN = *NO - / ,SCHEDULING-TIME = *PAR( - / START = *SOON - / ,REP-JOB = *PERIOD (HOURS = 01, MINUTES = 02)) - / ,LIMIT = *STD - / ,RESOURCES = *PAR( - / RUN-PRIO = 210 - / ,CPU-LIMIT = 20000 - / ,SYSLST-LIM = *NO - / ,SYSOPT-LIM = *NO ) - / ,LOGGING = *PAR( - / LISTING = *NO ) - / ,PROTECTION= *NONE /SET-JOB-STEP " -------------------------------------------- " /"IMPORTED: TSN: 0EY9 TYPE: 1 WT ORIGIN: USER-ENTER " /" CALLER: TSN: 0EY2 USERID: TSOS HOST: " /ENTER-JOB - / FROM-FILE = :2BV:$TSOS.OS27.E - / ,PROC-ADMI = *PAR( - / USER-ID = TSOS - / ,ACCOUNT = ADMINSTR - / ,PASS = '????????') - / ,FILE-PASS = *NONE - / ,DELETE = *NO - / ,JOB-CLASS = JCBTSOS - / ,JOB-NAME = OS27KF - / ,MONJV = *NONE - / ,JV-PASS = *NONE - / ,JOB-PRIO = 5 - / ,RERUN-AFTER-CRASH = *NO - / ,FLUSH-AFTER-SHUTDOWN = *NO - / ,SCHEDULING-TIME = *PAR( - / START = *EARLIEST (DATE = <date>, TIME = <time>) - / ,REP-JOB = *NO ) - / ,LIMIT = *STD - / ,RESOURCES = *PAR( - / RUN-PRIO = 210 - / ,CPU-LIMIT = 20000 - / ,SYSLST-LIM = *NO - / ,SYSOPT-LIM = *NO ) - / ,LOGGING = *PAR( - / LISTING = *NO ) - / ,PROTECTION= *NONE /SET-JOB-STEP " -------------------------------------------- " /"IMPORTED: TSN: 0EZA TYPE: 2 ORIGIN: USER-ENTER " /" CALLER: TSN: 0EY2 USERID: TSOS HOST: " /" REPETITION: REPCNT: 0 START: <date>.<time>" /ENTER-JOB - / FROM-FILE = :2BV:$TSOS.OS27.E - / ,PROC-ADMI = *PAR( - / USER-ID = TSOS - / ,ACCOUNT = ADMINSTR - / ,PASS = '????????') - / ,FILE-PASS = *NONE - / ,DELETE = *NO - / ,JOB-CLASS = JCBTSOS - / ,JOB-NAME = OS27KF - / ,MONJV = *NONE - / ,JV-PASS = *NONE - / ,JOB-PRIO = 5 - / ,RERUN-AFTER-CRASH = *NO - / ,FLUSH-AFTER-SHUTDOWN = *NO - / ,SCHEDULING-TIME = *BY-CALENDAR( - / CALENDAR-NAME = :2BV:$TSOS.OS27.CALENDAR - / ,SYMBOLIC-DATE = HEMUL ) - / ,LIMIT = *STD - / ,RESOURCES = *PAR( - / RUN-PRIO = 210 - / ,CPU-LIMIT = 20000 - / ,SYSLST-LIM = *NO - / ,SYSOPT-LIM = *NO ) - / ,LOGGING = *PAR( - / LISTING = *NO ) - / ,PROTECTION= *NONE /SET-JOB-STEP " -------------------------------------------- " /"IMPORTED: TSN: 0EZB TYPE: 1 WT ORIGIN: USER-ENTER " /" CALLER: TSN: 0EY2 USERID: TSOS HOST: " /" REPETITION: REPCNT: 0 START: <date>.<time>" /ENTER-JOB - / FROM-FILE = :2BV:$TSOS.OS27.E - / ,PROC-ADMI = *PAR( - / USER-ID = TSOS - / ,ACCOUNT = ADMINSTR - / ,PASS = '????????') - / ,FILE-PASS = *NONE - / ,DELETE = *NO - / ,JOB-CLASS = JCBTSOS - / ,JOB-NAME = OS27KF - / ,MONJV = *NONE - / ,JV-PASS = *NONE - / ,JOB-PRIO = 5 - / ,RERUN-AFTER-CRASH = *NO - / ,FLUSH-AFTER-SHUTDOWN = *NO - / ,SCHEDULING-TIME = *BY-CALENDAR( - / CALENDAR-NAME = :2BV:$TSOS.OS27.CALENDAR - / ,SYMBOLIC-DATE = ELCH ) - / ,LIMIT = *STD - / ,RESOURCES = *PAR( - / RUN-PRIO = 210 - / ,CPU-LIMIT = 20000 - / ,SYSLST-LIM = *NO - / ,SYSOPT-LIM = *NO ) - / ,LOGGING = *PAR( - / LISTING = *NO ) - / ,PROTECTION= *NONE /SET-JOB-STEP " -------------------------------------------- " /"IMPORTED: TSN: 0EZC TYPE: 2 ORIGIN: USER-ENTER " /" CALLER: TSN: 0EY2 USERID: TSOS HOST: " /ENTER-JOB - / FROM-FILE = :2BV:$TSOS.OS27.E - / ,PROC-ADMI = *PAR( - / USER-ID = TSOS - / ,ACCOUNT = ADMINSTR - / ,PASS = '????????') - / ,FILE-PASS = *NONE - / ,DELETE = *NO - / ,JOB-CLASS = JCB02000 - / ,JOB-NAME = OS27KF - / ,MONJV = :2BV:$TSOS.OS27.JV.1 - / ,JV-PASS = *NONE - / ,JOB-PRIO = 9 - / ,RERUN-AFTER-CRASH = *YES - / ,FLUSH-AFTER-SHUTDOWN = *YES - / ,SCHEDULING-TIME = *PAR( - / START = *SOON - / ,REP-JOB = *NO ) - / ,LIMIT = *STD - / ,RESOURCES = *PAR( - / RUN-PRIO = 210 - / ,CPU-LIMIT = 2000 - / ,SYSLST-LIM = *NO - / ,SYSOPT-LIM = *NO ) - / ,LOGGING = *PAR( - / LISTING = *NO ) - / ,JOB-PAR = - /C'WRTLPRMFT' - / ,PROTECTION= *NONE /SET-JOB-STEP " -------------------------------------------- " /"IMPORTED: TSN: 0EZD TYPE: 2 ORIGIN: USER-ENTER " /" CALLER: TSN: 0EY2 USERID: TSOS HOST: " /ENTER-JOB - / FROM-FILE = :2BV:$HEMUL.S.IN.0EZD.040323.0913.C - 10. / ,PROC-ADMI = *PAR( - / USER-ID = HEMUL - / ,ACCOUNT = HEMUL - / ,PASS = '????????') - / ,FILE-PASS = *NONE - / ,DELETE = *YES - / ,JOB-CLASS = JCB02000 - / ,JOB-NAME = HOPPLA - / ,MONJV = :2BV:$TSOS.OS27.JV.2 - / ,JV-PASS = *NONE - / ,JOB-PRIO = 9 - / ,RERUN-AFTER-CRASH = *YES - / ,FLUSH-AFTER-SHUTDOWN = *YES - / ,SCHEDULING-TIME = *PAR( - / START = *SOON - / ,REP-JOB = *NO ) - / ,LIMIT = *STD - / ,RESOURCES = *PAR( - / RUN-PRIO = 230 - / ,CPU-LIMIT = 2000 - / ,SYSLST-LIM = *NO - / ,SYSOPT-LIM = *NO ) - / ,LOGGING = *PAR( - / LISTING = *NO ) - / ,JOB-PAR = - /C'OCHGOTTCHEN' - / ,PROTECTION= *CANCEL /SET-JOB-STEP " -------------------------------------------- " /"IMPORTED: TSN: 0EZE TYPE: 2 ORIGIN: USER-ENTER " /" CALLER: TSN: 0EY2 USERID: TSOS HOST: " /" WARNING: COPY OF SYSCMD-FILE NOT POSSIBLE; COPY-RC: 0501" 11. /ENTER-JOB - / FROM-FILE = :2BV:$HEMUL.S.IN.0EZE.040323.0929 - / ,PROC-ADMI = *PAR( - / USER-ID = HEMUL - / ,ACCOUNT = HEMUL - / ,PASS = '????????') - / ,FILE-PASS = *NONE - / ,DELETE = *YES - / ,JOB-CLASS = JCB00050 - / ,JOB-NAME = OS27KF - / ,MONJV = *NONE - / ,JV-PASS = *NONE - / ,JOB-PRIO = 9 - / ,RERUN-AFTER-CRASH = *YES - / ,FLUSH-AFTER-SHUTDOWN = *NO - / ,SCHEDULING-TIME = *PAR( - / START = *EARLIEST (DATE = *TODAY , TIME = 08:00) - / ,REP-JOB = *NO ) - / ,LIMIT = *STD - / ,RESOURCES = *PAR( - / RUN-PRIO = 233 - / ,CPU-LIMIT = 100 - / ,SYSLST-LIM = 2222 - / ,SYSOPT-LIM = 3333 ) - / ,LOGGING = *PAR( - / LISTING = *YES) - / ,PROTECTION= *NONE
Explanations
Not all jobs contained in the job pool are reconstructed. The example already contains the 'next image' for a repeat job. If this job were reconstructed to an ENTER command and started, it would result in two repeat job versions. Attention is drawn to such unreconstructed jobs in the form of a command comment with information about the job and a list of the reasons. Example:
Next Repeat Image
Privileged ENTER
Start of a reconstructed batch job.
Notes on the reconstructed batch job and attributes that cannot be specified with ENTER command operands. The information is generally analogous to that of the STATUS command (see the “Commands” manual [1 (Related publications)]).
In this example:
IMPORTED: Indication that the job which was accepted with the TSN
0EY3
has been reconstructed.CALLER: Indicates the initiator of the batch job (TSN, user ID, host name).
REPETITION: Repeat counter and designated start time (only for repeat jobs and calendar jobs).
Scheduled/repeat jobs are reconstructed without regard to the start time. If, for example, the start time is prior to the reconstruction run and the reconstructed ENTER command is activated without modification, the command is considered incorrect and will be rejected when accepted again.The jobs are always reconstructed in the form of the SDF command
/ENTER-JOB
(regardless of whether the job was started with the ISP command/ENTER
or via/ENTER-PROCEDURE).
The command file does not have to be the original file specified by the initiator of the ENTER command. See also note (10).
The access control attributes specified with the PROCESSING-ADMISSION operand (user ID, accounting number, password) are only obligatory if the job submitter ID and runtime user ID are different. If both are the same, specification is optional. The operand always appears in the reconstructed command, regardless of whether or not it was specified.
Note that a reconstructed ENTER-JOB command will be returned by the same user ID as the original one whenever possible. Only in this case will ID-specific default settings continue to be valid. Furthermore, if the job is to run under a different user ID, it can be administered by the same ID as the original one (commands
/CANCEL-JOB
,/CHANGE-TASK-PRIORITY
,/SHOW-JOB-STATUS
).Neither the LOGIN password nor any passwords for the ENTER file or monitoring job variables are transferred to the reconstructed ENTER command. This is not possible for technical reasons, since passwords are not generally stored in the JMS data structures. When restarting the ENTER command, you must insert the passwords in non-encrypted format.
The original values (including *TODAY, for example) are entered without checking. This becomes important when the original contains fixed dates or attributes such as *WITHIN and *LATEST. The reconstructed values may be wrong as far as the intended repeat time is concerned.
With repeat jobs, the start attribute may have changed from the original user specification (see also the descriptions for
/ENTER-JOB
and/ENTER-PROCEDURE
in the “Commands” manual [1 (Related publications)]). In this case, the program attempts to generate a logical start attribute from the repeat attribute and the start time of the next repeat (the start attribute determines only the start of the first run of a repeat job).As described under (8), JMP does not update start times.
S.IN/S.E files: JMS creates auxiliary files with this prefix under the followingcircumstances (see also the description for
/ENTER-JOB
and/ENTER-PROCEDURE
in the “Commands" manual [1 (Related publications)]):When
/ENTER-PROCEDURE
is called, an S.E file is created. When/ENTER-JOB
is called, the original command file is copied to an S.IN intermediate file if the system assumes that the original file will no longer be accessible when the batch job is completed (e.g. if a temporary file was specified as the original command file). This intermediate file created by JMS is protected with a random password. When the reconstructed ENTER command is called again, the intermediate file originally created by JMS can therefore not be accessed. JMP therefore copies the intermediate file into a new intermediate file with no password and the name<original s.in/s.e filename>.C
.If no copy of the S.IN or S.E file can be created (see note (10)), a command line with the DMS return code (COPY) is displayed.