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

SAS - Temp dataset with DISP=MOD


IBM Mainframe Forums -> All Other Mainframe Topics
Post new topic   Reply to topic
View previous topic :: View next topic  
Author Message
vasanthz

Global Moderator


Joined: 28 Aug 2007
Posts: 1742
Location: Tirupur, India

PostPosted: Tue Jun 24, 2014 2:00 am
Reply with quote

Hi,

There is a JCL DD statement which allocates a TEMP file with DISP=MOD.
Code:
//TEMP     DD DSN=&&TEMP,DISP=(MOD,PASS),SPACE=(TRK,(5,2)),
//       DCB=(RECFM=VB,LRECL=2500,BLKSIZE=27998)
I need to convert this into SAS FILENAME statement.

Tried the below code as given in support.sas.com/documentation/cdl/en/hosto390/61886/HTML/default/viewer.htm#mvs-allexf-ufs.htm
Code:
FILENAME TEMP '&TEMP' DISP=NEW SPACE=(TRK,(3,1))
         LRECL = 2500 RECFM = VB BLKSIZE = 27998;
FILENAME TEMP '&TEMP' DISP=MOD;

But this file is still being written in DISP=OLD.

Test program:
Code:
FILENAME TEMP '&TEMP' DISP=NEW SPACE=(TRK,(3,1))
         LRECL = 2500 RECFM = VB BLKSIZE = 27998;
FILENAME TEMP '&TEMP' DISP=mod;
/* this step writes one record into temp file */
data think;
file temp;
put ' hello';
run;
/* this step writes second record into temp file */
data next;
file temp;
put 'world';
run;
/* this step reads the temp file and wrrites it into log */
data _null_;
infile temp;
input;
put _infile_;
run;


Expected output in SAS log:
Code:
hello
world

Actual output in SAS log:
Code:
world


Could you please let me know how to allocate a TEMP file with DISP=MOD in SAS. I cannot use JCL since there are a lot of TEMP files and the number of temp datasets are dynamic.
Thanks & Regards,
Back to top
View user's profile Send private message
Bill Woodger

Moderator Emeritus


Joined: 09 Mar 2011
Posts: 7309
Location: Inside the Matrix

PostPosted: Tue Jun 24, 2014 2:23 am
Reply with quote

What about coding a disposition for termination? KEEP?
Back to top
View user's profile Send private message
vasanthz

Global Moderator


Joined: 28 Aug 2007
Posts: 1742
Location: Tirupur, India

PostPosted: Tue Jun 24, 2014 11:59 am
Reply with quote

Hello Bill,
Yup tried coding termination parameter as well. Still the same issue.
The file is being treated as disp = old.

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

Global Moderator


Joined: 28 Aug 2007
Posts: 1742
Location: Tirupur, India

PostPosted: Tue Jun 24, 2014 7:19 pm
Reply with quote

Hello,
This method worked.

Mentioning MOD in the FILE statement.

Code:
FILENAME TEMP '&TEMP' DISP=NEW SPACE=(TRK,(3,1))
         LRECL = 2500 RECFM = VB BLKSIZE = 27998;
/* this step writes one record into temp file */
data think;
file temp mod;
put 'hello';
run;
/* this step writes second record into temp file */
data next;
file temp mod;
put 'world';
run;
/* this step reads the temp file and wrrites it into log */
data _null_;
infile temp;
input;
put _infile_;
run;


Regards,
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 -> All Other Mainframe Topics

 


Similar Topics
Topic Forum Replies
No new posts FINDREP - Only first record from give... DFSORT/ICETOOL 3
No new posts Map Vols and Problem Dataset All Other Mainframe Topics 2
No new posts Allocated cylinders of a dataset DB2 12
No new posts Sort First/last record of a subset th... DFSORT/ICETOOL 7
No new posts Reading dataset in Python - New Line ... All Other Mainframe Topics 22
Search our Forums:

Back to Top