|Date: ||Tue, 23 Oct 2001 14:55:48 -0400|
|Reply-To: ||"Droogendyk, Harry" <Harry.Droogendyk@CIBC.COM>|
|Sender: ||"SAS(r) Discussion" <SAS-L@LISTSERV.UGA.EDU>|
|From: ||"Droogendyk, Harry" <Harry.Droogendyk@CIBC.COM>|
v8.1 - How to create multiple members in a PDS in one da ta step?|
|Content-Type: ||text/plain; charset="iso-8859-1"|
Within the confines of one data step I'm trying to create multiple members
in the same PDS(E). Unfortunately, the filevar = may not be used as the log
2 filename pds 'zybtots.hd69.testpds' dsntype=library
3 dsorg=po disp=(new,catlg);
5 data harry;
6 a = 'A';output;
7 a = 'B';output;
8 a = 'C';output;
11 data _null_;
12 set harry;
13 newfile = a ;
14 file pds(newfile) filevar=newfile;
ERROR: A Physical file reference (i.e. "PHYSICAL FILE REFERENCE" ) or an
aggregate file storage reference (i.e. AGGREGATE(MEMBER) ) reference cannot
be used with the FILEVAR= option.
15 put a;
If I omit the filevar = clause, and simply code: file pds(newfile); a
member named "newfile" is created in the PDSE, not members based on the
values of variable newfile.
SAS Help plainly states multiple members can be written at the same time:
To allocate a Partitioned Data Set Extended (PDSE), specify the appropriate
options in the FILENAME statement or FILENAME function, as shown in the
example in FILENAME Statement Examples <zexf-ufs.htm> .
See Options That Specify SMS Keywords <z1main.htm> for definitions of SMS
You can use a PDSE wherever you can use a PDS, and you can write to multiple
members in a PDSE at the same time.
Question: In a single datastep, how do I create multiple PDS members,
member names being the values of data step variables?