IBM Mainframe Forum Index
 
Log In
 
IBM Mainframe Forum Index Mainframe: Search IBM Mainframe Forum: FAQ Register
 

DISP parameters


IBM Mainframe Forums -> JCL & VSAM
Post new topic   Reply to topic
View previous topic :: View next topic  
Author Message
spoorni

New User


Joined: 29 Nov 2007
Posts: 20
Location: india

PostPosted: Tue Jul 22, 2014 3:42 am
Reply with quote

Recently i had a job that failed in STEP04. There were 3 output files from STEP04 - 10,20,752. The DISP parameters for 20 and 752 was (NEW,CATLG,DELETE). The DISP parameter for 10 was (NEW,PASS,DELETE). Once the job abended with a user abend, the files for 20 and 752 were still existing. But the file for 10 was deleted. As per my understanding, the last DISP parameter is for abnormal termination. Depending on that, the files for 20 and 752 also should have been deleted. Is that correct? Also, do DISP parameters work only for system abends and not user abends?
Back to top
View user's profile Send private message
Akatsukami

Global Moderator


Joined: 03 Oct 2009
Posts: 1788
Location: Bloomington, IL

PostPosted: Tue Jul 22, 2014 4:14 am
Reply with quote

Your account of the JCL is incoherent. Please post it, together with the messages for the step from the JES message log, enclosed in Code tags.
Back to top
View user's profile Send private message
steve-myers

Active Member


Joined: 30 Nov 2013
Posts: 917
Location: The Universe

PostPosted: Tue Jul 22, 2014 4:55 am
Reply with quote

  • In z/OS a “file” is the data on magnetic tape between the beginning of the tape and a “file mark”, or the data between two “file marks.” Period. End of story. There are no “files” on disk storage. z/OS uses “data sets.” A “file” in toy and baby systems is an unstructured stream of bytes, compared to a “data set,” which has a structure.
  • When you specify DISP=(NEW,PASS), the data set will usually be deleted at the end of the job unless a DISP parameter for the same data set in a later step that is executed specifies DISP=(OLD,KEEP) or DISP=(OLD,CATLG).
  • The conditional DISP only applies to the step being executed. It will not apply if a different step abnormally terminates.
  • The conditional DISP applies only if the step terminates with an ABEND. Terminating with a return code that is not 0 is not an ABEND. If the program has some mechanism to recover from an ABEND, the step does not terminate with an ABEND, so the conditional DISP does not apply.
  • It does not happen very often, but if your program damages the address space to the point where the address space fails, conditional DISP is not done.
Back to top
View user's profile Send private message
nevilh

Active User


Joined: 01 Sep 2006
Posts: 262

PostPosted: Tue Jul 22, 2014 4:55 pm
Reply with quote

Quote:
There are no “files” on disk storage. z/OS uses “data sets.”

I would tend to disagree with this. In Europe at least it is quite normal to speak of input files and output files. It makes no difference if they are on tape or disk. The IBM literature makes reference to Disk files so I am happy to go along with this.
Back to top
View user's profile Send private message
steve-myers

Active Member


Joined: 30 Nov 2013
Posts: 917
Location: The Universe

PostPosted: Tue Jul 22, 2014 5:33 pm
Reply with quote

nevilh wrote:
Quote:
There are no “files” on disk storage. z/OS uses “data sets.”

I would tend to disagree with this. In Europe at least it is quite normal to speak of input files and output files. It makes no difference if they are on tape or disk. The IBM literature makes reference to Disk files so I am happy to go along with this.

True, but the use of the terminolgy is incorrect. When you say "IBM literature," please be more precise. I also recall the use of "file" in the formal documentation of control units such as the 2841, but the context usually refers to the disk drive as a whole, not to the data on the disk as recognized by DOS/360 or OS/360.

I will tolerate the use of "disk files" in the context of a "file" in the pseudo Unix environment, where you have the usual disorganized mess of a Unix "file."

IBM went out of its way to avoid a disorganized mess. They fell into this trap with the 14xx and the more character oriented 7000 series computers, and appear to have made a deliberate decision to avoid it with the System/360 mainline operating systems.

I do believe they made a mistake when they pushed fixed length records as more of a default rather than the VB data set format, though it did have the desirable effect (at least from IBM's point of view) selling a lot more disk drives and tape media.

I also believe count-key-data disk drive architecture, at least as implemented in the mainline operating systems, was a goof of historic proportions, though that is a topic that should be discussed elsewhere. I do know when they started in on fixed block architecture disk drives in the 1980s I was hoping they would push it into MVS and perhaps VSE. The rise of RAID and disk caching in the control units ultimately hid the serious performance issues with count-key-data architecture.
Back to top
View user's profile Send private message
nevilh

Active User


Joined: 01 Sep 2006
Posts: 262

PostPosted: Tue Jul 22, 2014 6:09 pm
Reply with quote

Authorised Assembler Services Guide say's
Quote:
The operator can start utility programs to read jobs from disk or tape
files and submit them to the system.
and the DFSMS courses nowadays all refer to VSAM Files .
Back to top
View user's profile Send private message
Ed Goodman

Active Member


Joined: 08 Jun 2011
Posts: 556
Location: USA

PostPosted: Tue Jul 22, 2014 8:35 pm
Reply with quote

To answer the TS's last question, the 'bad result' DISP parm applies to abends, not just bad return codes.

The file for your '10' DD didn't stick around because it was never cataloged in the first place.
Back to top
View user's profile Send private message
steve-myers

Active Member


Joined: 30 Nov 2013
Posts: 917
Location: The Universe

PostPosted: Tue Jul 22, 2014 8:55 pm
Reply with quote

Ed Goodman wrote:
... The file for your '10' DD didn't stick around because it was never cataloged in the first place.
Ed, that's hard to know.

Before SMS,

//A EXEC PGM=...
//xx DD DISP=(NEW,PASS),...,DSN=xx
//B EXEC PGM=...
//xx DD DISP=(OLD,CATLG),DSN=xx

The data set was not cataloged until step B completed.

With SMS, the data set is cataloged when it is allocated. It will be uncatalogued and deleted if step B does not run.
Back to top
View user's profile Send private message
Ed Goodman

Active Member


Joined: 08 Jun 2011
Posts: 556
Location: USA

PostPosted: Tue Jul 22, 2014 10:50 pm
Reply with quote

Good point.
Back to top
View user's profile Send private message
View previous topic :: :: View next topic  
Post new topic   Reply to topic View Bookmarks
All times are GMT + 6 Hours
Forum Index -> JCL & VSAM

 


Similar Topics
Topic Forum Replies
No new posts Passing Parameters to Programs Invoke... PL/I & Assembler 5
No new posts Injecting HTTPHEADER parameters in th... PL/I & Assembler 0
No new posts passing symbolic parameters through d... JCL & VSAM 3
No new posts Trim values of parameters in JCL JCL & VSAM 2
No new posts Alter User LOGON Script Parameters CLIST & REXX 11
Search our Forums:

Back to Top