|
The system calls this exit when it has found one or more certain
unusual conditions on a tape. With the dummy version of this exit
most of these conditions cause OPEN or EOV to go to the label editor
routine or to issue ABEND (possibly after calling the user's DCB abend
exit). The label editor routine is documented in Volume Label Verification and Volume Label Editor Routines. IBM recommends using the label
anomaly exit instead of a label editor routine for the reasons stated
in the label editor sections.
The label anomaly exit will receive a UCB address
from TEPMUCB in IFGTEP, from DEBUCBA and from TIOEFSRT. All three
sources will allow a 31–bit UCB address. TEPMICB will sometimes be
an uncaptured 31–bit address. If the DEB31UCB bit is on, the UCB address
and modeset byte will be different as described in IEZDEB. If they
use the DCBTIOT field to find the TIOT entry address, they should
be changed to use TEPMDSAB to point to the DSAB, which points to the
TIOT entry or XTIOT.
These are the situations under which the system calls a label editor
routine and the label anomaly exit: - Label type conflict. User opening for OUTPUT or OUTIN
and the requested label type (SL, AL, NL, NSL) differs from the actual
label type. If the exit gives return code 4 and turned off this anomaly
bit and the requested type is SL or AL, then the exit has built a
volume label in EBCDIC in the supplied area. OCE will verify that
it begins with VOL1. The requested label type is in the JFCB. The
exit can determine the actual label type by examining the first four
bytes of the area to which TEPMLABEL points. It is in the main parameter
list. The area is from the first block on the tape after load point.
If it is not "VOL1", then the tape is not labeled or it has nonstandard
labels. If it is "VOL1", then the label is SL or AL. To determine
which, the exit can test bit TEPMASCII in the main parameter list.
- Density conflict. User opening for OUTPUT, OUTIN, INOUT,
OUTINX or EXTEND and the existing density differs from the requested
density. The volume is mounted on a dual density drive. Return code
4 with this anomaly bit off means to use the requested density if
writing file 1 or the existing density if writing a later file.
- Volume serial conflict. The user is opening for OUTPUT
or OUTIN and the mounted volume serial differs from the requested
volume serial. With return code 4 and this anomaly bit off this exit
can supply a new volume label.
- Label version conflict. User opened for OUTPUT on an AL
tape and the volume label is not for Version 3 or Version 4.
With return code 4 and this anomaly bit off this exit can supply a
new volume label.
- Track conflict. The tape cannot be read because of incompatibility
between the tape and the drive, not because of some other I/O error.
The exit can test the CSW status bytes and the sense bytes in the
main parameter list. See TEPMSENSE. One case is 36-track tape mounted
on 18-track drive. TEPATRKC on indicates this condition. The volume
serial number might have come from the sense bytes, in which case
TEPMSYNV is on. A PARMLIB option controls what open, close, EOV does.
For example, if DEVSUPxx parameter VOLNSNS=YES is specified, the OPEN
or EOV label editor routines will rewrite the VOL1 label using the
volume serial number obtained from the drive sense bytes. The LABAN
exit can give permission to use the tape, which means that the system
can destroy the labels without reading the labels. This means the
exit is taking responsibility for such things as security and the
files being expired. The exit can provide all the information to
be written in the new volume label. The system will still call RACF
for the volume but without the header label information. The IBM—supplied
Label Editor routine, OMODVOL1 or EMODVOL1 will delete the RACF definition
for the volume. The exit can bypass this delete of the RACF TAPEVOL
profile when the system has set flag bit TEPABYRACF in byte TEPAFLAG3
indicating the bypass option is active. Setting flag bit TEPAEXSKIP
in byte TEPAFLAG3 when TEPABYRACF has been set by the system, and
returning return code 4 results in bypassing the delete of the RACF
TAPEVOL profile.
- I/O error. I/O error while reading volume label for output
tape and RACF tape protection is not active. If the exit gives return
code 4 with this anomaly bit off, the system tries to create a new
label.
Those conflicts can also be handled by OMODVOL1 and EMODVOL1. Any
conflicts you do not handle in the label anomaly exit are passed to
OMODVOL1 or EMODVOL1 to handle. The following are not supported by
OMODVOL1 or EMODVOL1:
- Unsupported cartridge length Cartridge tape length exceeds
IBM's maximum supported length for this drive. This call to the exit
is for information only; the tape will be rejected even if the exit
turns off the bit. This means to reject the tape if it is a nonspecific
request or to issue ABEND if it is a specific volume request.
- Writing unsecure checkpoint Writing a checkpoint to an
unsecure tape, indicated by bit TEPACHKPT in byte TEPAFLAG1. Return
code 8 from the exit means to reject the tape. This means to reject
the tape if it is a nonspecific request or to issue ABEND if it is
a specific volume request. Return code 8 can also mean that the volume
is not secure. This code is like a reply of "NO" to the messages.
Return code 4 from the exit with the bit still on will result
in one of these messages to the operator: - IEC254D SHOULD jjj USE (ddn,uuu,serial) FOR CREATING A NEW CHECKPOINT
DATA SET
- IEC255D jjj IS (ddn,uuu,serial) A SECURE CHECKPOINT VOLUME
Return code 4 and the TEPACHKPT bit set off results
in the system assuming the tape is secure. This is like a reply of "YES" to
the messages. If you write a non-checkpoint data set as the first
data set on a checkpoint secure volume, then bit TEPANOCKPT is set
in the exit's parameter list. When the exit returns a return code
of 4, and when bit TEPANOCKPT is still on and it is not an Automatic
Tape Library (ATL), then the system issues a scratch volume WTOR IEC255D.
The system writes an ATL scratch volume's HDR2 and bypasses WTOR IEC255D.
If the exit resets the bit TEPANOCKPT, then the system assumes that
the volume is not checkpoint secure, does not issue message IEC255D,
and behaves as if the operator had replied "NO" to message IEC255D.
- Overwriting ISO/ANSI user volume labels User volume labels
or ISO/ANSI Version 4 volume labels 2-9 are about to be overwritten.
Return code 4 with the bit on results in message IEC704A.
Return
code 4 with the bit off results in the labels being overwritten.
Return
code 8 means to reject the volume. This means to reject the tape
if it is a nonspecific request or to issue ABEND if it is a specific
volume request.
- Writing volume label Volume label information is needed
to write the label.
Return code 4 with the bit on results in message
IEC704A.
Return code 4 with the bit off means that the exit
has supplied the volume label. For volume serial number conflicts
between the volume mounted and the volume requested, and for label
type conflicts when an NL scratch volume is requested and a labelled
tape is mounted, the volume serial number supplied by the exit will
be used to either rewrite the volume label or to catalog the NL volume.
In the latter case the system will not generate an Lnumber. In order
for the label anomaly exit to supply a volume serial the following
steps are required:
- Reset TEPASERIAL (volume serial conflict)
or TEPALTYPE (label type conflict) in byte TEPAFLAG1.
- Set bit TEPMNEWLAB in byte TEPMFLAG6.
- Provide valid volume serial number in field TEPMVOL.
See Label Anomaly Exit (IFG019LA) Return Codes. Return code 8 means
to reject the volume. This means to reject the tape if it is a nonspecific
request or to issue ABEND if it is a specific volume request.
- Multivolume tape conditions When reading
an unexpected volume sequence number, a missing final volume, or a
missing first volume (reading forward or backward) was encountered
during multivolume tape processing. With return code C and the corresponding
anomaly bit on, this exit issues a message and abends the job.
With DFSMSrmm, the missing or out of sequence conditions
are normally resolved, which results in a complete volume list for
the multivolume being processed. If you want to process only the original
incomplete or out of sequence volume list, you can use a label anomaly
exit to ensure the original volume list is used. The following example
uses IFG019LA to ensure the original volume list is processed unaltered. Figure 1. Example using label anomaly exit
IFG019LAIFG019LA CSECT ,
IFG019LA AMODE 31
IFG019LA RMODE ANY
SPACE 2
SAVE (14,12)
LR 12,15
USING IFG019LA,12 addressibility
SPACE 2
EXIT DS 0H
USING TEPM,1
L 3,TEPMTEP
USING TEPA,3
TM TEPANMLY2,TEPASEQ vol list out of seq
BNO CHKFML no
OI TEPAFLAG3,TEPAOUTSEQ don't alter vollist
B EXITEXIT exit
CHKFML TM TEPANMLY2,TEPAFML missing last volume ?
BNO CHKBML no
OI TEPAFLAG3,TEPARDFMLV don't alter vollist
B EXITEXIT exit
CHKBML TM TEPANMLY2,TEPABML rdback missing last
BNO CHKFMF no
OI TEPAFLAG3,TEPARDBMLV don't alter vollist
B EXITEXIT exit
CHKFMF TM TEPANMLY2,TEPAFMF missing first volume ?
BNO EXITEXIT no
OI TEPAFLAG3,TEPARDFMFV don't alter vollist
EXITEXIT DS 0H
DROP 3
DROP 12
L 14,12(,13) restore return address
LA 15,4 set continue return code
LM 1,12,24(13) restore callers regs
BR 14 return
SPACE 2
IFGTEP MAIN,LABAN
END
For a particular OPEN or EOV this exit can be called more than
once for various reasons.
|