Portal | IBM Manuals | Downloads | Products | Refer | Info | Programs | JCLs | Forum Rules*| Site Map | Mainframe CD 
IBMMAINFRAMES.com - IBM Mainframe Support Forums Index
 
Register
 
IBMMAINFRAMES.com - IBM Mainframe Support Forums Index FAQ Search Memberlist Usergroups Profile Log in to check your private messages Log in
 
Overriding a SAS DDname

 
Post new topic   Reply to topic    IBMMAINFRAMES.com Support Forums -> JCL
Author Message
Ramya A

Active User


Joined: 26 Jul 2004
Posts: 99

PostPosted: Fri May 20, 2005 4:21 am    Post subject: Overriding a SAS DDname
Reply with quote

Hi,

I wanted to override a dataset in the SAS step. I've a proc with STEP010 as the SAS program(STEP010 EXEC K9337SAS). Here there is a DDNAME DD1. In my test job I want to override this DDname with a test dataset name. But I'm not able to do this as we normally do for other steps. i.e, if I use
Quote:
STEP010.DD1 DD DSN=<new dataset name>,
it gives me a JCL error saying STEP010 not found. As a temporary solution, I've changed the proc directly. But I need to do this very often and hence would like to know if there is any solution for this.

Thanks & Regds,
Ramya
Back to top
View user's profile Send private message
References
PostPosted: Fri May 20, 2005 4:21 am    Post subject: Re: Overriding a SAS DDname Reply with quote

superk

Moderator Team Head


Joined: 26 Apr 2004
Posts: 3067
Location: Charlotte,NC USA

PostPosted: Fri May 20, 2005 5:21 am    Post subject: Re: Overriding a SAS DDname
Reply with quote

Changing the proc the way you did IS the only solution. As has been pointed out time and again in other posts, you can't provide an override for a nested proc from the job. The override can only be provided by the caller of the nested proc (K9337SAS) , in your case your proc.
Back to top
View user's profile Send private message
MGIndaco

Moderator


Joined: 10 Mar 2005
Posts: 479
Location: Milan, Italy

PostPosted: Fri May 20, 2005 2:32 pm    Post subject:
Reply with quote

If I well understand, the override you are doing is pointed to the name of the step in your jcl!(STEP010 EXEC K9337SAS)
For a well override you must specify the stepname of your proc and not that in your jcl!
Assume that proc K9337SAS has within one step:
Code:
//K9337SAS PROC
//SAS810 EXEC PGM=SASXA1
//DD01 DD DISP=SHR,DSN=DSNSTD

to override the name of your DD you must use this:
Code:
//STEP010 EXEC K9337SAS
//SAS810.DD01 DD DISP=SHR,DSN=DSNNEW
Back to top
View user's profile Send private message
David P

Active User


Joined: 11 Apr 2005
Posts: 110
Location: Cincinnati Ohio

PostPosted: Tue May 24, 2005 5:41 pm    Post subject:
Reply with quote

Hi Ramya,

I believe in your case the following override in your PROC should work...

//STEP10.K9337SAS.DD1 DD DSN=<new data set name >,DISP=.......

Please check this as now on my system SAS is not installed but I remember doing this long back.

regards,
David.
Back to top
View user's profile Send private message
superk

Moderator Team Head


Joined: 26 Apr 2004
Posts: 3067
Location: Charlotte,NC USA

PostPosted: Tue May 24, 2005 8:56 pm    Post subject: Re: Overriding a SAS DDname
Reply with quote

By the way, in my opinion, I think it's a horribly bad JCL coding standard to use step names like "//STEPxxx" in a PROC. I would imagine that this would make production support of the job(s) more difficult down the road, instead of using a standard like "//STEPxxx" for the jobs and "//PROCxxx" for the proc's.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    IBMMAINFRAMES.com Support Forums -> JCL All times are GMT + 6 Hours
Page 1 of 1