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

symbolic or temporary


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

New User


Joined: 29 Sep 2004
Posts: 35
Location: bangalore

PostPosted: Tue Oct 12, 2004 8:00 pm
Reply with quote

In a jcl i mentioned both temporay dataset and symbolic parameter.
Ex:
dsn=&&WORK
and in an another jcl statement dsn=&WORK

Then &WORK is teated as temporay dataset or symbolic parameter?
Back to top
View user's profile Send private message
superk

Global Moderator


Joined: 26 Apr 2004
Posts: 4652
Location: Raleigh, NC, USA

PostPosted: Tue Oct 12, 2004 8:22 pm
Reply with quote

It is a temporary dataset in both cases.
Back to top
View user's profile Send private message
anuradha

Active User


Joined: 06 Jan 2004
Posts: 247
Location: Hyderabad

PostPosted: Tue Oct 12, 2004 9:01 pm
Reply with quote

Hi Superk,

I suppose It will not treat as a temporary dataset in both the cases.

&&work alone is treated as a temporary dataset and &work will be treated as a symbolic parameter.

Can u please recheck it again and correct me if iam wrong.

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

Global Moderator


Joined: 26 Apr 2004
Posts: 4652
Location: Raleigh, NC, USA

PostPosted: Wed Oct 13, 2004 12:11 am
Reply with quote

I stand by my original response.

As a matter of fact, both names (DSN=&&WORK and DSN=&WORK) will create the same temporary dataset name.

If you have test results that show a different result, please post them.
Back to top
View user's profile Send private message
superk

Global Moderator


Joined: 26 Apr 2004
Posts: 4652
Location: Raleigh, NC, USA

PostPosted: Wed Oct 13, 2004 2:39 am
Reply with quote

Here is my proof:
Code:

//STEP0001 EXEC PGM=IEFBR14                                     
//FILE1    DD   DSN=&SYSUID..WORK.DATA,DISP=(MOD,DELETE,DELETE),
//         UNIT=SYSDA,SPACE=(CYL,(1,0),RLSE)                   
//*                                                             
//STEP0002 EXEC PGM=ICEGENER                                   
//SYSUT1   DD   DATA                                           
THIS IS THE RECORD FOR &&WORK                                   
/*                                                             
//SYSUT2   DD   DSN=&&WORK,DISP=(NEW,PASS),UNIT=SYSDA,         
//         SPACE=(CYL,(1,1,),RLSE)                             
//SYSPRINT DD   SYSOUT=*                                       
//SYSIN    DD   DUMMY                                           
//*                                                                 
//STEP0003 EXEC PGM=ICEGENER                                         
//SYSUT1   DD   DSN=&&WORK,DISP=(OLD,DELETE)                         
//SYSUT2   DD   DSN=&SYSUID..WORK.DATA,DISP=(,CATLG,DELETE),         
//         UNIT=SYSDA,SPACE=(CYL,(1,1),RLSE)                         
//SYSPRINT DD   SYSOUT=*                                             
//SYSIN    DD   DUMMY                                               
//*                                                                 
//STEP0004 EXEC PGM=ICEGENER                                         
//SYSUT1   DD   DATA                                                 
THIS IS THE RECORD FOR &WORK                                         
/*                                                                   
//SYSUT2   DD   DSN=&WORK,DISP=(NEW,PASS),UNIT=SYSDA,               
//         SPACE=(CYL,(1,1,),RLSE)                                   
//SYSPRINT DD   SYSOUT=*                                             
//SYSIN    DD   DUMMY                                               
//*                                                           
//STEP0005 EXEC PGM=ICEGENER                                   
//SYSUT1   DD   DSN=&WORK,DISP=(OLD,DELETE)                   
//SYSUT2   DD   DSN=&SYSUID..WORK.DATA,DISP=(MOD,CATLG,DELETE),
//         UNIT=SYSDA,SPACE=(CYL,(1,1),RLSE)                   
//SYSPRINT DD   SYSOUT=*                                       
//SYSIN    DD   DUMMY                                         
//*                                                           

which results in this output data:
Code:

****** ***************************** Top of Data *********
=COLS> ----+----1----+----2----+----3----+----4----+----5-
000001 THIS IS THE RECORD FOR &&WORK                     
000002 THIS IS THE RECORD FOR &WORK                       
Back to top
View user's profile Send private message
mmwife

Super Moderator


Joined: 30 May 2003
Posts: 1592

PostPosted: Wed Oct 13, 2004 11:18 am
Reply with quote

Hi Kevin,

If you make steps 4&5 a PROC (proca) and execute it thusly:

// exec proca,work=abc

work becomes a symbolic.
Back to top
View user's profile Send private message
anuradha

Active User


Joined: 06 Jan 2004
Posts: 247
Location: Hyderabad

PostPosted: Wed Oct 13, 2004 2:26 pm
Reply with quote

Hi Kevin,

One more doubt. But please take this in a positive sense. I am not arguing with you.

Have you used Set statement?????

If we are not giving any // SET WORK='MSDV' kind of statement then what you said is right.

Even i tried the same example given by you by keeping the set verb in the JCL.Hope you got my 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 pass data as symbolic parameter from ... CLIST & REXX 2
No new posts passing symbolic parameters through d... JCL & VSAM 3
No new posts Global temporary table DB2 1
No new posts How to force ISPF to allocate ISPF te... TSO/ISPF 9
No new posts Can we pass the value of Symbolic par... JCL & VSAM 5
Search our Forums:

Back to Top