I have noticed recently when file tayloring an ISPF skeleton that the output is being written to the dataset 'userid.spftemp1.cntl'. I remember at one time that it was written to a system generated dataset similar to the format SYSyyddd.Thhmmss.RA000.jobname.R0000nnn. How is it determined what dataset ZTEMPF is. Is there a way to choose how it is written. Was there a change in subsequent z/OS releases.
I searched the manuals and found only clues (use of VIO etc) but not the direct answer which is it depends on if your logon proc or JCL has ISPCTL1 allocated (where 1 is the number of your split screen). If it is allocated in the logon proc you get that data set which is usually a temp data set or VIO. If it isn't allocated you get a data set with a name like 'userid.spftemp1.cntl'. use DDLIST to look at the allocations and you will see what I mean.
If you use lots of split screens, you may see some use a temp data set and others use a 'userid.spftempx.cntl' because most sites only preallocate ISPCTL1 and 2 and sometimes 0. I don't know what 0 is used for but the same rules seem to apply. Also the name of the dynamically allocated file may not be 'userid.spftempx.cntl' because that can be customized by the ISPF installer.