The jobname, if provided on the /JOB card, is saved and a message is
issued via SVC to inform the source userid that the job has started.
The spooling devices are closed and respooled for continuous output, a CP QUERY FILES command is issued for information purposes and the
implied CP function under CKS is disabled and the protection feature set
off via SVC calls to SET (DKSSET). The BATPROF EXEC is executed via an SiC to EXEC. The BATHOEX flag, which is set by to suppress user
job execution until the /JOB card is detected, is set off. The BATUSEX flag is set on (for DKSCPF) to signal the start of the actual user job,
and a branch is taken to read the next card from the reader file (user
job).
After reading the /JOB card, DMSBTP continues reading and checks for
a /* card, a /SET card, or a CP command. If a card is none of these, DMSBTP passes control back to the command processor DMSINT for
processing of the command (or data) If a 1* card is read and it is the first card of the new job, it is
assume to te a precautionary measure and thus ignored by DMSBTP Which then reads the next card. If it is not the first card a check is made for the BATMOVE flag. If the flag is on, the /* card indicates an
end-of-file condition for the MOVEFILE operation from the console
(reader) and is consequently translated to a null line for the MOVEFILE command. If the BATMOVE flag is not on, the /* card is and end-of-job
indicator and an immediate branch is taken to the end-of-job routine for
cleanup and reloading of CMS batch. When a CP command is encoutered DMSBTP branches to a routine that
first checks a table of CP commands allowable in batch. If the command is allowed, a check is made for a reader or other spool device in the command line. If the CP command is allowed but would alter the status
of the batch reader or any spooling device or certain disks, or if the
command is not allowed at· all, error message DMSBTP107E is typed, and
the next card is read.
If the CP command is LINK, the device address is stored in a table so
that DMSBTP can detach all user disk devices at the end of the job.
A CP DETACH command is examined for a device address corresponding to
the system disk, the IPL disk, the batCh 195 work disk or any spool
device. If the device to be detached is any of these, error message DMSBTP107E is displayed and the next card is read. Otherwise, DMSBTP returns control to DKSINT (or DMSCPF is the EATCPEX flag is set on) for
processing of the command. When a /SET control card is encountered, the card is checked fer
valid keywords, valid integer values (less than or equal to the
installation default values), and if an error is detected, error message DMSBTP108E is typed. An abnormal termination message is also sent to
the source userid and the job is terminated with normal cleanup
performed. If the control card values are valid, the appropriate fields
are updated in the user job li.it table DMSBTPLM and the next card is
read.
If DMSBTP detects a "not ready" condition at the reader, a message is
typed at the console stating that batch is waiting for reader input. DMSBTP then issues the WAITD macro to wait for a reader interrupt. When first detecting the empty reader, DMSBTP calls the CP accounting
routines via a CP diagnose '4C' to charge the wait time to the hatch userid. CMS Method of Operation and Program organization 2-151
If a hard error is detected at the reader, DMSBTP sends an
"intervention required" message to the system console and branches to
its abnormal terminal routine and waits for an interruption for the
reader by issuing the WA1TD macro. When a /* card is read (with the BATMOVE flag off) or when the
end-of-file condition occurs at the reader, D"SBTP branches to the
cleanup routine which sends the source userid a message stating that the
job ended noraally or abnormally (if cleaning up after an abnormal
termination) and turns off the BATUSEX flag (for DMSCPF) to signal the
end of the user job. CONWAIT (DMSCWT) is called via SVC to allow any
console I/O to finish, the spooling devices are closed (including the console), and all disks that were made available by issuing the CP LINK command are returned by issuing the CP DETACH command. DMSBTP then relinquishes central by issuing the CP 1PL command with
the PARM BATCH option which loads a new CMS nucleus and the next job is
started when CMS attempts its first read to the console.
A branch is made to the CMSBTP routine when DMSBTP itself detects an I/O error at the the 0[ Luutille is
to receive central not only from DMSABN when there is an abnoraal termination during the user job, but also frem DMSITE, DMSPIO, and DMSCIO when a user job exceeds one of the batch job limits (BATXL1M flag
is on). This routine, entry point DMSBTPAB, calls the CP DUMP routine
via SVC and then branches to the cleanup routine which reloads CMS Batch
and treat the remainder of the current job as a new job with no /JOB card. This has the effect of flushing the remainder of the job. This
technique is used because batch must its reader spooled
"continuous." Entry point DMSBTPAB is also used by the CMS commands
that are disabled in CMS batch. In this case (EATDCMS flag set on), an
error message is displayed and control returned to CMS. When a CP coamand is called via an SVC in DMSBTP, the CMS CP module (DMSCPF) is actually called to issue the DIAGNOSE instruction to invoke
the CP coa.and. DMSBTP calls DMSCPF by issuing a direct SVC 202 or by
issuing the LINEDIT macro with the CPCOMM option that generates an SiC 203. Several CMS modules check whether CMS batch is running, and, if so, perform functions associated with batch operation. These are shown in
the following list: DMSINI DMSINS DMSLDR DMSCRD DMSITE DMSPIO DMSCIO DMSABN tMSERR DMSMVE Function Performed for CMS Batch Passes-batch-parameters-to DMS1NS. Uses batch 1PL parameters to reload CMS Batch.
Loads DMSBTP into free storage.
Passes control to DMSBTP to read from the reader rather than
from the console.
Accounts for virtual time used by batch job --ABEND if over
limit.
Accounts for number of lines printed by batch job ABEND if
over limit. Accounts for number of cards punched by batch job ABEND if
over li.it.
Passes control to batch ABEND routine in DMSBTP. Passes control to batch ABEND routine instead of entering
disabled wait state.
Turns the flag on and off -- allows batch to treat
moved blanks as data.
2-152 IBM VM/370 System Logic and Program Determination--Volume 2
Previous Page Next Page