Table 1 presents the conditions under which the open or EOV routines transfer control to your editor routines. Each condition suggests what your routine can do to permit processing of the current volume to continue. The first two conditions (density—type conflicts) arise only when the tape volume is mounted on a dual-density tape device.
Program Specification | Mounted Volume Characteristics | Transfer Conditions | Possible Editor Routine Action |
---|---|---|---|
SL or AL | NSL or NL1 | Label—Type Conflict2 | Write a standard volume label. (See Figure 1: blocks 15, 15A, and 16. If you support protection and retention date checking on NSL volumes, see block 6.) |
NSL or NL | SL3 or AL4 | Label—Type Conflict | Overwrite standard label with tapemark, for example, cancel. (See Figure 1: blocks 15, 15A, and 16.) Depending on whether NL or NSL is specified by the program, open or EOV either positions tape (NL) or transfers control to your nonstandard label routines (NSL). |
AL | SL | Label—Type Conflict | Overwrite an IBM standard label with a Version 3 or Version 4 VOL1 label. |
SL | AL4 | Label—Type Conflict | Overwrite ISO/ANSI label with an IBM standard label. |
AL or SL | AL4 or SL | Density Conflict | Overwrite the existing standard label with the requested standard label. The first write from load point sets the recording density on a dual-density device. (See Figure 1 or Figure 2: blocks 15B, 16, and explanation.) |
NSL | NSL or NL with different density | Density Conflict | Write a tapemark to set density. The program specification NSL gives control to your nonstandard label routines after return to Open or EOV. (See Figure 1: blocks 15, 15B, and 16. If your installation supports protection and retention date checking on NSL volumes, see block 6.) |
AL or SL | AL or SL | Volume Serial Conflict | Overwrite volume label with requested volume serial number. |
AL | AL4 | Version Coexistence Conflict | Overwrite an ASCII label with a Version 3 or Version 4 label (first file output only). |
Compacted or non-compacted mode | Opposite of mode specified | Mode Conflict | No action taken. |
Cartridge | 36-track cartridge mounted on an 18-track drive | Track Conflict | Overwrite existing volume label so that it is compatible with drive. |
Notes:
When you receive control from the EOV routine, general register 2 contains the address of the DCB for the data set, and general register 4 contains the address of the work and control block area associated with the DCB.
The IECDSECT macro instruction (described in Mapping the Common Open, Close, EOV Work Area) symbolically defines the fields of the work and control block area (see Figure 2).
Also, address the UCB for the device on which the tape volume is mounted. You can get the address of the UCB from the DXDEBUCB field of the DEB defined by the IECDSECT macro instruction. The IEFUCBOB macro instruction defines the fields of the unit control block.
Bits | Setting | Meaning |
---|---|---|
0 | 1 | Label—type conflict has occurred. |
1 | 1 | Standard label (SL or AL) specified; no label/nonstandard label
on mounted volume.
If JFCBAL (AL label requested) is set and UCCBBSTR is set in the UCB (ASCII tape is mounted), an ISO/ANSI version conflict has occurred, and a valid Version 3 or Version 4 volume label must be created. |
2 | 1 | No label (NL) or nonstandard label (NSL) specified; standard label (AL or SL) on mounted volume. |
3 | 1 | Density conflict |
4 | 1 | Track conflict. The system has reconstructed a volume label from sense bytes. |
5 | 1 | See step 12 |
6-7 | Reserved for future use |
To check, you must read the first record and determine the label type.
For I/O, move your CCWs into the channel program field of the work and control block area. (The symbolic name for the first entry in this field is DXCCW.) Then, issue an EXCP macro instruction specifying the address of the control program's IOB. (The symbolic name for the IOB is DXIOB.) These fields (DXCCW, DXIOB) are defined by the IECDSECT macro instruction. There are 12 CCW locations in the DXCCW field. There are 12 CCW locations in the DXCCW field. You can only use the first six locations.
You must supply information for the label identifier, the label number, and the volume serial number fields, and record the balance of the label as blanks.
Enter VOL in the label identifier field, a 1 in the label number field, and a 6-character serial number in the volume serial number field. To ensure that two or more tape volumes carrying the same serial number are not produced, write to the operator at this point for assignment of a serial number.
Data set header labels 1 and 2 are constructed by the open or EOV routine after control is returned to them.
MVC 0(L'IDRETURN,6),IDRETURN
XCTL EPLOC=(6),SF=(E,DXCCW12)
IDRETURN DC CL8'nnnnnnnn' Name of return routine
nnnnnnnn is the name of the routine to return
to. In OMODVOL1 the name is IGG0190A. In EMODVOL1 the name is IGG0550P.