Yeah, there's a way to avoid it but I suspect it is more trouble than what you are doing. Here is the longer version of my too telegraphic post:
You write a program (assembler, C, Rexx?) to dynamically allocate SORTOUT to target.dataset with DISP=OLD and then link to or CALL SORT. BPXWDYN makes dynamic allocation pretty much a piece of cake (unlike the bad old days of multiple control blocks pointing to each other and pointing to "text units"). Your JCL now looks like // EXEC PGM=MYPROGRAM or perhaps PGM=MYPROGRAM,PARM='target.dataset' //SYSIN DD DSN=parmlib(mbr),DISP=SHR //SORTIN DD DSN=*.prev.prev,DISP=(OLD,DELETE) //SYSPRINT DD SYSOUT=* The job does not inherently tie up target.dataset. But your program would have to deal with what to do if target.dataset were not available. Wait a little while and try again? Repeat how many times? Make sense? Charles -----Original Message----- From: IBM Mainframe Discussion List [mailto:[email protected]] On Behalf Of Bob Bridges Sent: Monday, March 30, 2020 3:34 PM To: [email protected] Subject: Re: PARM= vs PARMDD= and symbol substitution It's clear you're trying to offer a solution, but I don't follow. Right, I'm using DISP=OLD. I take it "dynamic allocation" must mean "don't allocate the dataset until I'm ready to write to it", but when I do this: // EXEC PGM=SORT //SYSIN DD DSN=parmlib(mbr),DISP=SHR //SORTIN DD DSN=*.prev.prev,DISP=(OLD,DELETE) //SORTOUT DD DSN=target.dataset,DISP=OLD //SYSPRINT DD SYSOUT=* ...the target dataset is unavailable for Viewing until the job is complete. You're saying there's a way to avoid that? I mean, I did avoid it, but I did it by putting the SORT step in a separate job. --- Bob Bridges, [email protected], cell 336 382-7313 /* Now the best relation to our spiritual home is to be near enough to love it. But the next best is to be far enough away not to hate it.... While the best judge of Christianity is a Christian, the next best judge would be something more like a Confucian. The worst judge of all is the man now most ready with his judgements: the ill-educated Christian turning gradually into the ill-tempered agnostic, entangled in the end of a feud of which he never understood the beginning, blighted with a sort of hereditary boredom with he knows not what, and already weary of hearing what he has never heard. -from the Introduction to _Everlasting Man_ by G K Chesterton */ -----Original Message----- From: IBM Mainframe Discussion List [mailto:[email protected]] On Behalf Of Charles Mills Sent: Monday, March 30, 2020 18:01 Dynamic allocation? Just in time dynamic allocation DISP=OLD of the viewable dataset? -----Original Message----- From: IBM Mainframe Discussion List [mailto:[email protected]] On Behalf Of Bob Bridges Sent: Monday, March 30, 2020 8:51 AM It's beginning to sound like z/VSE is an improvement in several ways on z/OS. I wrote a production job recently that updates a dataset pretty much anyone can View (a list of current Top-Secret ACIDs to see what so-and-so's ACID is, or who belongs to ACID such-and-such). The update has to read a largish-security database. The last step is a SORT that takes less than a second - but I had to put it in a separate job, and have it triggered by the previous job, because otherwise the dataset would be unavailable for Viewing by any user while the long job was running. -----Original Message----- From: IBM Mainframe Discussion List [mailto:[email protected]] On Behalf Of Tony Thigpen Sent: Monday, March 30, 2020 11:38 Actually, there is no 'allocation' of a file by z/VSE during the JCL processing. The file is only 'allocated' once it is opened and 'unalocated' once the program closes the file. For instance, if you have a 5 hour program, that just needs to update a 'totals' VSAM file at the end of the 5 hours, as long as the program does not open the file until it needs the file, any other program can use, including updating, the file until that time. So, basically, you 'own' the file only while you have it opened. One ramification is that you can't create a file simply by having in the jcl, like in z/OS. You have to open it to create it. ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [email protected] with the message: INFO IBM-MAIN ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [email protected] with the message: INFO IBM-MAIN
