Greg, I think you'll find that whether SVC 99 checks that a data set exists on disk or not depends on the text units used.
If I want the 'does data set exist' check made I usually include the text unit to return data set organisation (DALRTORG). This ensures that the DSCB for the data set is read, thus generating an error if it does not exist. However, if I leave this text unit off the dynamic allocation then I can allocate the equivalent of the DD statement you quoted, and subsequently generate a 213-04 abend at OPEN time. However, I think standard TSO ALLOCATE does perform that check, so perhaps it too uses that same text unit. In my understanding step allocation performs the same checks, based on the DD statement keywords you specify. However, some of the text units used in dynamic allocation have no equivalent in the DD statement. See Table 87 on page 692 in MVS Programming: Authorized Assembler Services Guide - SA23-1371-30 for the z/OS 2.3 version. Lennie Dymoke-Bradshaw | Security Lead | RSM Partners Ltd Web: www.rsmpartners.com ‘Dance like no one is watching. Encrypt like everyone is.’ -----Original Message----- From: IBM Mainframe Discussion List <IBM-MAIN@LISTSERV.UA.EDU> On Behalf Of Greg Price Sent: 07 August 2019 03:00 To: IBM-MAIN@LISTSERV.UA.EDU Subject: Re: [IBM-MAIN] CPU time cost of dynamic allocation On 2019-08-07 5:08 AM, Carmen Vitullo wrote: > I suspect dynamic allocation may be doing more that the IEFBR14 possibly? Well, DYNALLOC is certainly doing more that the job step initiation when it comes to allocation. Device allocation at step-start time is a largely CPU-bound affair with the only I/O usually being for catalog look-ups. That is why something like //MY DD DD DSN=FRED,DISP=OLD,UNIT=3390,VOL=SER=MYVOL1 will get a S213-04 at OPEN time when FRED does not exist. DYNALLOC will check that FRED exists on the volume - yes! it does "lots" of I/O to the data set's volume which batch device allocation does not perform. Data set name enqueue is done before device allocation, and most of it is done at job start time for data sets mentioned in JCL. DYNALLOC has to do the ENQ when it is called before looking at devices. Cheers, Greg ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN