Input Processing Output
Notes Module
1 The control file is read from the bottom DMSUPD up. If the control record is valid, the
message
DMSUPD183E INVALID CONTROL FILE CONTROL CARD
is displayed, and control returns to the CMS command environment with a
return code of 32 in register 15. If the PTF or update file is not found,
control returns to the read routine
(CTLREAD). If the file is found and
the update is not being performed in
storage, the message DMSUPD1781 UPDATING 'fn ft fm' I WITH 'fn ft fm'
is displayed and an entry is made in
the UPDATES file. If the update is
being performed in storage, free storage
is acquired to contain the input file.
The message DMSUPD300E INSUFFICIENT STOR- AGE TO BEGIN UPDATE
is displayed if the input file is too
large for the acquired storage. If the STOR option was not specified
explicitly, the message
DMSUPD304E UPDATE PROCESSING WILL BE DONE USING DISK is also displayed. If the STOR option
was specified, control returns to CMS with a return code of 40 in register 15. If processing continues, the input file is read into the acquired storage, the
message DMSUPD1781 UPDATING 'fn ft fm' WITH 'fn ft fm'
is displayed, and an entry is made in
the UPDATES file. If PTF or normal update, update theor UPDATES file, perform single-level 0
update (see Diagram 7-9 for details)
and return to read the control file_ 2 If auxiliary file, update the UPDATES file, perform update (see I Diagram 7-9 for details). and return
to read the next auxiliary record.
At end of auxiliary file, read
control file.
Label Ref Notes
CTLGETM Then a branch to the SINGUPD routine transfers control to the single
CTLREAD update routine. After the update is
BADCTLC
performed, control returns to CTLCONT
2 DMSUPD checks that the auxiliary file
exists. If not, control returns to the
read routine (CTLREAD). If the
auxiliary file is found, it is read from
CTLlPTF
the bottom up.
CTLOCUP If the PTF file within the auxiliary file
is not found, the message
CTLUMSG DMSUPD180W MISSING PTF FILE 'fn ft fm' CTLUMSS is issued. The RETCODE value is set
to 12 if it has not been set higher previ- Processing continues with the
next record from the auxiliary file
(AUXREAD).
When a valid record is read from the
SMALLCOR auxiliary file, the message DMSUPD1781 UPDATING 'fn ft fm' WITH 'fn ft fm'
is displayed and an entry is made in the UPDATES file. Then the SINGUPD routine applies the update. After the
update is performed, control returns IMPLICIT to CTLCONT which retums control to
AUXREAD. This loop continues until
the entire auxiliary file is processed.
At the end of the auxiliary file. the
file is closed and control returns to the
control file read routine (CTLREAD). If an invalid card is found in the
auxiliary file, the message CTLUMSS DMSUPD183E INVALID AUX FILE CONTROL CARD
is displayed and control returns to the CMS command environment with a
return code of 32 in register 15. Diagram 7-8. Control Record processing
138 IB! V!/370 Service Routines Program Logic
UPDATE
Log Module DMSUPD Label Ref AUXFIND NOFILEW CTLUMSG CTLUMSS AUXREAD AUXFINT BADAUXC
I I o Control Statements Notes Module
1 An update card is read and checked. If DMSUPD
an invalid control card is read, the
message
DMSUPD207W INVALID UPDATE FILE CONTROL CARD
is issued. The value of R ETCOD E is set
to i2, if it was not previously set hi 9 hSi'1 I Processing continues ignoring the
invalid card.
2 DMSUPD checks the resequence card. I DMSUPD If the resequence card is not the first
card in the update file, the message
DMSUPD184W './S' NOT FIRST CARD IN UPDATE FILE -IGNORED is issued. The value in RETCODE is set
to 12 if it has not been set higher prev-
iously. The './S' card is ignored and
processing continues. If an invalid character is specified in one
of the sequence fields, the message
DMSUPD185W INVALID CHAR IN SEQUENCE FIELD 'xxxxxxxx'
is issued. The value of RETCODE is set
to 12 if it was not set higher previously.
The' ./S' card is ignored and processing
continues.
if the specified sequence increment is zero, the message
DMSUPD182W SEQUENCE INCRE- MENT IS ZERO is issued. The value of RETCODE is
set to 8 if it has not been set higher previously. Processing continues and
the file is resequenced with a sequence
increment of zero.
Processing Read update control statement.
2 Handle the resequence control
statement.
3 Handle the insert control statement.
(See Diagram 7·11 for details.)
4 Handle the delete control statement. n
5 Exit when all update control cards
are processed.
if singie update. j. t> I Diagram
7-11
!f multiple update. Label Ref SINGUPD FCTRSEQ I RSEQERR I.· ..... Diagram
7-7 Notes If no errors are found, the sequencing
is set to 5 or 8 characters depending
on the options specified (SEQ8 or NOSEOS). The UPDFLAG is set for
resequencing and the next update con-
trol card is read (UPDREAD). 3 See Diagram 7:", 4 The update control card is checked.
The indicated cards are removed. The
control statement and the message DELETING ...
are sent to the UPDLOG file. If the
delete is being performed in storage,
the records in storage are rechained,
eliminating the deleted records.
Updated
Assembler
Source
Program I Update Log
Module
DMSUPD
DMSUPD Label RSEQDEF RSEQFIN FCTINST I ,ELTINE XDELE
5 When all the update control cards are DMSUPD UPDREAD INVCHAR ZERSEQ processed, the UPD READ (read)
routine takes its error exit (UPDFERR)
The UPDFERR routine branches to
the INPUTRD routine on an end-of-file
condition to flush (write out) the rest
of the input source file if the update
was not performed in storage. If the XDELE
update was performed in storage, and
resequencing is requested, a logical
replace is done on each line in the file.
The error exit (lNPFERRris taken
from the INPUTRD routIne. The INPFERR routine closes the updated
file and the input file. If processing a
control file (multiple update). control
returns to CTLCONT. Otherwise, the
single-level update is complete and
control is returned to CMS (RRETURN
exit routine).
Diagra. 7-9. Single Update Procedure Ref
Chapter Procedures for Generating and Updating V8/370 139
Previous Page Next Page