Portal | Manuals | References | Downloads | Info | Programs | JCLs | Master the Mainframes
IBM Mainframe Computers Forums Index
 
Register
 
IBM Mainframe Computers Forums Index Mainframe: Search IBM Mainframe Forum: FAQ Memberlist Usergroups Profile Log in to check your private messages Log in
 

 

JCL DD override

 
Post new topic   Reply to topic    IBMMAINFRAMES.com Support Forums -> JCL & VSAM
View previous topic :: :: View next topic  
Author Message
rohin

New User


Joined: 29 Apr 2005
Posts: 21
Location: Gurgaon, India

PostPosted: Sun Sep 07, 2008 7:29 am    Post subject: JCL DD override
Reply with quote

Hi,

I want to override DD parameter in my proc.

Following is the statement. This statement provides DSN SYSTEM(DB2A), which is DB2 system name and 2nd statement gives program name, plan name and PARMS data.
//SYSTSIN DD DSN=&DWL..PARMLIB(PTSDBSYS),
// DISP=SHR
// DD DSN=&DWL..PARMLIB(PTSSTMIG),
// DISP=SHR

I want to override the PARMS data only. So, in the job, I am using following override statement:
//S010.SYSTSIN DD
// DD *
RUN PROGRAM(PTSSTMIG) PLAN(PTSSTMIG) PARMS('000000000C')
END
/*

When I do JJ (kind of prep), it gives no error. But on submitting, I am get
error:
IEF655I INVALID DSNAME SPECIFIED WHEN SYSIN OR SYSOUT SPECIFIED

Please let me if I am missing out on something.

Thanks,
Rohin
Back to top
View user's profile Send private message

Robert Sample

Global Moderator


Joined: 06 Jun 2008
Posts: 7905
Location: Bellevue, IA

PostPosted: Sun Sep 07, 2008 7:46 am    Post subject:
Reply with quote

You need to post actual data from the job, not just what you think is going on. From the manual:
Quote:
IEF655I
INVALID DSNAME SPECIFIED WHEN SYSIN OR SYSOUT SPECIFIED
Explanation:

In a JCL statement for a job step, the system found a DD statement containing a SYSIN or SYSOUT specification that had a DSNAME parameter value that was not valid.
System action:

The DSNAME parameter is ignored. Processing continues. The system issues messages about the job to the job log.
Application Programmer Response:

If the job is to be run again, correct the statement by either removing the DSNAME or SYSIN or SYSOUT keywords, or modify the DSNAME parameter to a valid name for use with a SYSIN or SYSOUT data set. Resubmit the job.
System programmer response:

Look at the messages in the job log. If the JOB statement did not specify MSGLEVEL=(1,1), specify it and run the job again. If the problem persists, search problem reporting data bases for a fix for the problem. If no fix exists, contact the IBM Support Center. Provide the SYSOUT output for the job.
Source:

Interpreter
If you had posted actual statements it might be possible to identify the SYSIN or SYSOUT statement. Since you didn't, you need to look for them yourself in the actual job output.
Back to top
View user's profile Send private message
genesis786

Active User


Joined: 28 Sep 2005
Posts: 210
Location: St Katherine's Dock London

PostPosted: Sun Sep 07, 2008 1:26 pm    Post subject:
Reply with quote

Not sure, but what's this instream data:

Code:

// DD *
RUN PROGRAM(PTSSTMIG) PLAN(PTSSTMIG) PARMS('000000000C')
END
/*


and how are u calling the PROC. is it an inline PROC or external PROC ? because inline PROC cannot have instream data in it, it must be passed through a member.
Back to top
View user's profile Send private message
dbzTHEdinosauer

Global Moderator


Joined: 20 Oct 2006
Posts: 6966
Location: porcelain throne

PostPosted: Sun Sep 07, 2008 2:12 pm    Post subject:
Reply with quote

possibly it has to do with:

when you override a dd statement, you are replacing the existing.

so, maybe you have to include the concatenation in the override,
otherwise it resolves to only what you provided in the override,
which is only the RUN parms.
Back to top
View user's profile Send private message
dbzTHEdinosauer

Global Moderator


Joined: 20 Oct 2006
Posts: 6966
Location: porcelain throne

PostPosted: Sun Sep 07, 2008 2:17 pm    Post subject:
Reply with quote

sorry, this is more basic than I thought.

you can not override with instream data.

you need to override both dd statements:

DD DSN=&DWL..PARMLIB(PTSDBSYS),
// DISP=SHR
// DD DSN=&DWL..PARMLIB(PTSSTMIG),
// DISP=SHR

with

DD DSN=&DWL..PARMLIB(PTSDBSYS),
// DISP=SHR
// DD DSN=&DWL..PARMLIB(new-parm-member-name),
// DISP=SHR
Back to top
View user's profile Send private message
Arun Raj

Moderator


Joined: 17 Oct 2006
Posts: 2158
Location: @my desk

PostPosted: Sun Sep 07, 2008 3:32 pm    Post subject:
Reply with quote

Quote:
you need to override both dd statements

AFAIK, one override like this will do.
Code:
//SYSTSIN DD
//        DD DSN=&DWL..PARMLIB(PTSSTMIG)


Thanks,
Arun
Back to top
View user's profile Send private message
gcicchet

Senior Member


Joined: 28 Jul 2006
Posts: 1703
Location: Australia

PostPosted: Mon Sep 08, 2008 9:10 am    Post subject:
Reply with quote

Hi,

I disagree that you cannot override with instream data, Rohin's code looks OK to me, I think Rohin should post all of the output in Code format.

You cannot have instream data in a proc but my understanding is Rohin is overriding a proc.

Gerry
Back to top
View user's profile Send private message
Anuj Dhawan

Senior Member


Joined: 22 Apr 2006
Posts: 6258
Location: Mumbai, India

PostPosted: Mon Sep 08, 2008 1:35 pm    Post subject:
Reply with quote

Hello Rohin,

With the discussion so far, I believe, you have two DSNs associated (comcatenate Datasets) to a single DDname (SYSTIN here) and you want to override the second DSN (second, in the hierarchy).

If so, would suggest to "copy" these
Code:
RUN PROGRAM(PTSSTMIG) PLAN(PTSSTMIG) PARMS('000000000C')
END
/*
in a seprate DSN. Give override of "this" DSN in your JCL as shown by Arun, Hopefully that should work.

I can not check the code posted by you just now - not having the access to mainframes..however give a try to the above suggestion.
Back to top
View user's profile Send private message
hemanth.nandas

Active User


Joined: 18 Aug 2007
Posts: 120
Location: Chennai

PostPosted: Mon Sep 08, 2008 4:16 pm    Post subject:
Reply with quote

Hi,

Quote:
//S010.SYSTSIN DD
// DD *
RUN PROGRAM(PTSSTMIG) PLAN(PTSSTMIG) PARMS('000000000C')
END
/*


Above override seems like incorrect.

Try Like this,

//S010.SYSTSIN DD *
RUN PROGRAM(PTSSTMIG) PLAN(PTSSTMIG) PARMS('000000000C')
END
/*
Back to top
View user's profile Send private message
rohin

New User


Joined: 29 Apr 2005
Posts: 21
Location: Gurgaon, India

PostPosted: Mon Sep 08, 2008 8:26 pm    Post subject: Reply to: JCL DD override
Reply with quote

Thanks guys, but there is still no solution to this. Here are some details:

1. I am overriding parameters in a catalogued/external procedure. This is the exact step from my job.
//PPTSMG01 EXEC PPTSRMIG
//S010.SYSTSIN DD
// DD *
RUN PROGRAM(PTSSTMIG) PLAN(PTSSTMIG) PARMS('000000C')
END
/*

2. We can override with instream data. no problems.

Could anyone please share thoughts now?
Back to top
View user's profile Send private message
Robert Sample

Global Moderator


Joined: 06 Jun 2008
Posts: 7905
Location: Bellevue, IA

PostPosted: Mon Sep 08, 2008 8:35 pm    Post subject:
Reply with quote

Can you show the JES substitutions with the XX and X/ to show the overrides? Without this information, we can only guess about your problem.
Back to top
View user's profile Send private message
rohin

New User


Joined: 29 Apr 2005
Posts: 21
Location: Gurgaon, India

PostPosted: Mon Sep 08, 2008 9:04 pm    Post subject: Reply to: JCL DD override
Reply with quote

Hi,

I tried something different and it worked, although I have no explanation for it.

I changed the accounting information in the job card and now it works! I do not know if it is possible to disble overrides based on certain accounts in job card....

Could anyone please give a better explanation on this?

Thanks.
Back to top
View user's profile Send private message
dick scherrer

Site Director


Joined: 23 Nov 2006
Posts: 19270
Location: Inside the Matrix

PostPosted: Mon Sep 08, 2008 9:20 pm    Post subject:
Reply with quote

Hello,

Quote:
Could anyone please give a better explanation on this?
If you had posted the "whole story" as was requested earlier, maybe.

The accounting info change was probably incidental and other changes along the way made the difference.
Back to top
View user's profile Send private message
gcicchet

Senior Member


Joined: 28 Jul 2006
Posts: 1703
Location: Australia

PostPosted: Tue Sep 09, 2008 3:34 am    Post subject:
Reply with quote

Hi Hemantha,


why do you say the below is incorrect.


Quote:
//S010.SYSTSIN DD
// DD *
RUN PROGRAM(PTSSTMIG) PLAN(PTSSTMIG) PARMS('000000000C')
END
/*




If you want to override the second DD name in the concatenation, then the above is quite correct.

If you want to overide only the first DD name then
Code:
//S010.SYSTSIN DD *
is correct.


Gerry
Back to top
View user's profile Send private message
Anuj Dhawan

Senior Member


Joined: 22 Apr 2006
Posts: 6258
Location: Mumbai, India

PostPosted: Tue Sep 09, 2008 8:34 am    Post subject: Re: Reply to: JCL DD override
Reply with quote

rohin wrote:
I tried something different and it worked, although I have no explanation for it.
you tried something it didn't work..you tried something it worked..& the question is why it happens..well, i'm stumped..
Back to top
View user's profile Send private message
View previous topic :: :: View next topic  
Post new topic   Reply to topic    IBMMAINFRAMES.com Support Forums -> JCL & VSAM All times are GMT + 6 Hours
Page 1 of 1

 

Search our Forum:

Similar Topics
Topic Author Forum Replies Posted
No new posts Compiler option for override the exte... muralikrishnan_new COBOL Programming 9 Fri Jul 08, 2016 12:09 pm
No new posts Symbolic OverRide within a 'Include' ... Sysaron JCL & VSAM 7 Thu Aug 27, 2015 10:51 pm
No new posts Help in File Tailoring services ( Ove... thesumitk TSO/ISPF 8 Wed Jun 17, 2015 12:04 pm
No new posts Override Condition code richards12388 JCL & VSAM 3 Sat May 16, 2015 9:47 am
No new posts To Dummy out a PDs through Override Sikkandhar JCL & VSAM 8 Tue Nov 26, 2013 11:18 pm


Facebook
Back to Top
 
Mainframe Wiki | Forum Rules | Bookmarks | Subscriptions | FAQ | Tutorials | Contact Us