Temporary Dataset naming within Endevor processors depends on activation of ENCOPTBL options RACF_TEMPDSN_OPTION, DS_INTERNAL_TEMP;
C1DEFLTS setting of MODHLI; and whether the processor runs in a spawned region for Concurrent Action processing(CAP).
Care must be exercised to avoid 970C-42CD and 970C-42CE errors.
Naming rules for Temporary Datasets within Endevor processors.
General:
Temporary Dataset naming within Endevor processors depends on activation of ENCOPTBL options RACF_TEMPDSN_OPTION, DS_INTERNAL_TEMP;
C1DEFLTS setting of MODHLI, and whether the processor runs in a spawned region for Concurrent Action processing (CAP).
Specific consequences of combinations of these conditions are detailed below.
None of the above options, and MODHLI is not specified:
The Dataset takes the form the Operating system generates, which depends on the presence of an &&DSNAME, as described in the the z/OS JCL Reference Manual. For example, when a &&DSNAME is not coded: SYSyyddd.Thhmmss.RA000. jjobname .Rggnnnn.
If this is a CAP spawned task, the dataset name, regardless of the specification of an &&DSNAME, will also be: SYSyyddd.Thhmmss.RA000. jjobname .Rggnnnn. In this case, jjobname will be the value of SPAWNPROC in C1DEFLTS.
RACF_TEMPDSN_OPTION=ON, and MODHLI=modhli:
If CAP is not in use, the resulting name will take the form: modhli .Dyyddd.Thhmmss.RA0. jjobname . xxxxxxxx , where xxxxxxxx is either an Endevor generated unique field, if no &&DSNAME was coded, or the dsname as specified in the DD statement: //ddname DD DSN=&&DSNAME.
If this is a processor running in a spawned CAP region, the resulting name will take this form: modhli .Dyyddd.Thhmmss.RA0. jjobname . xxxxxxxx, where nnnnn is the action request region number, and xxxxxxxx is an Endevor generated unique name if no &&DSNAME is coded.
DS_INTERNAL_TEMP=ON:
If neither MODHLI is present nor the RACF_TEMPDSN_OPTION=ON option activated, then the operating system rules apply.
If MODHLI is activated and DISP=MOD is coded, or RACF_TEMPDSN_OPTION=ON is activated, the name will take this form: modhli .Dyyddd.Thhmmss.RA000. jjobname . xxxxxxxx , where xxxxxxxx is either a Endevor generated unique field if no &&DSNAME was coded, or the dsname as specified in the DD statement: //ddname DD DSN=&&DSNAME.
Limitation:
If the MODHLI HLQ length and/or DS_INTERNAL_TEMP=ON leads to a dsname greater then 44 characters in length the resultant dsname will be truncated to 44 characters which
can result in 970C-42CD allocation errors under SMS.
The following table is an example of possible permutations:
RACF_TEMPDSN_OPTION | MODHLI | CAP REGION | &&DSNAME CODED | DS_INTERNAL_TEMP | Resulting DSN |
Off | No | No | No | Off | SYSyyddd.Thhmmss.RA000.jjobname.Rggnnnn |
Off | No | Yes | No | Off | SYSyyddd.Thhmmss.RA000.spawnproc.Rggnnnn |
Off | No | No | Yes | Off | SYSyyddd.Thhmmss.RA000.jjobbname.dsname...... |
Off | No | Yes | Yes | Off | SYSyyddd.Thhmmss.RA000.spawnproc.Rggnnnn |
Off | Yes | No | No | Off | SYSyyddd.Thhmmss.RA000.jjobname.Rggnnnn |
Off | Yes | Yes | No | Off | SYSyyddd.Thhmmss.RA000.spawnproc.Rggnnnn |
Off | Yes | No | Yes | Off | modhli.Dyyddd.Thhmmss.RA0.jjobname.dsname |
Off | Yes | Yes | Yes | Off | modhli.Dyyddd.Thhmmss.RA0.STCyyyyy.dsname |
On | Yes | No | No | Off | modhli.Dyyddd.Thhmmss.RA0.jjobname.xxxxxxxx |
On | Yes | Yes | No | Off | modhli.Dyyddd.Thhmmss.RA0.STCyyyyy.xxxxxxxx |
On | Yes | No | Yes | Off | modhli.Dyyddd.Thhmmss.RA0.jjobname.dsname |
On | Yes | Yes | Yes | Off | modhli.Dyyddd.Thhmmss.RA0.STCyyyyy.dsname |
On | No | No | No | Off | SYSyyddd.Thhmmss.RA0.jjobname.xxxxxxxx *1 |
On | No | Yes | No | Off | SYSyyddd.Thhmmss.RA0.STCyyyyy.xxxxxxxx *1 |
On | No | No | Yes | Off | SYSyyddd.Thhmmss.RA0.jjobname.dsname *1 |
On | No | Yes | Yes | Off | SYSyyddd.Thhmmss.RA0.STCyyyyy.dsname *1 |
On | Yes | Yes | Yes | On | modhli.Dyyddd.Thhmmss.RA000.STCyyyyy.dsname |
On | Yes | Yes | No | On | modhli.Dyyddd.Thhmmss.RA000.STCyyyyy.xxxxxxxx |
Off | No | No | No | On | SYSyyddd.Thhmmss.RA000.jjobname.Rggnnnn |
Off | No | Yes | No | On | SYSyyddd.Thhmmss.RA000.spawnproc.Rggnnnn |
Off | No | No | Yes | On | SYSyyddd.Thhmmss.RA000.jjobname.dsname...... |
On | No | Yes | No | On | SYSyyddd.Thhmmss.RA000.STCyyyyy.xxxxxxxx *1 |
On | No | No | Yes | On | SYSyyddd.Thhmmss.RA000.jjobname.dsname...... *1 |
On | No | Yes | Yes | On | SYSyyddd.Thhmmss.RA000.STCyyyyy.dsname....... *1 |
On | No | Yes | No | On | SYSyyddd.Thhmmss.RA000.STCyyyyy.xxxxxxxx *1 |
jjobname : Jobname Rggnnnn : Opsys generated dsname ...... : dsname as coded, can be followed by qualifier like eg. H02, determined by Opsys spawnproc : SPAWNPROC from C1DEFLTS xxxxxxxx : Endevor generated unique qualifier yyyyy : Action request region number as in ECAP011I message. *1 : 970C-42CE Catalog error possible if under SMS control