LISTSERV at the University of Georgia
Menubar Imagemap
Home Browse Manage Request Manuals Register
Previous messageNext messagePrevious in topicNext in topicPrevious by same authorNext by same authorPrevious page (July 1997, week 2)Back to main SAS-L pageJoin or leave SAS-L (or change settings)ReplyPost a new messageSearchProportional fontNon-proportional font
Date:         Tue, 8 Jul 1997 11:10:00 -0600
Reply-To:     Stan Aughenbaugh <Stan.Aughenbaugh@MCI.COM>
Sender:       "SAS(r) Discussion" <SAS-L@UGA.CC.UGA.EDU>
From:         Stan Aughenbaugh <Stan.Aughenbaugh@MCI.COM>
Subject:      Re: proc DATASETS long update.
Comments: cc: morvang <morvang@MAIL.CLUB-INTERNET.FR>

|Date: Tue, 08 Jul 1997 09:41:56 -0400 (EDT) |From: morvang <morvang@MAIL.CLUB-INTERNET.FR> |Subject: proc DATASETS |Sender: "SAS[r] Discussion" <SAS-L@UGA.CC.UGA.EDU> |To: Multiple recipients of list SAS-L <SAS-L@UGA.CC.UGA.EDU> |Message-id: <97070813415655/0002134384DC4EM@mcimail.com> |Autoforwarded: TRUE |Priority: normal | |Hi, |I have a SAS-library with members ( memtype=DATA) . |the PROC DATASETS gives only an output list of the member-list. |Has someone an idea how to obtain - directly - this list in a table ? |Thanks |Gerard

Gerard,

here's some code that may help. And I don't *anything* to do with SAS and PDSs is direct. I accumulated this from many people on this list, and some that read it and cannot post to it particularly a friend in Frederick MD. I haven't tested it recently, but it did work about 6 months ago..and really saved me some work.

Note: Someone once asked me about this in regard to a UG. Anything that makes the MVS-SAS user's job easier is something I'm in favor of. Regards, Stan Aughenbaugh II Computer Horizons Corp. (719) 535-3637 "90% of all statistics are made up" __________ code follows __________________ So... Make a dataset using Proc Source:

OPTIONS FILESTAT ERRORS=50 ; FILENAME DIN 'MW.TD.Y2K.MWB.GPCNTL.LISTPDS' ; FILENAME DOUT 'MW.TD.Y2K.MWB.GPCNTL.LISTPDS#' ; DATA _NULL_ ; FILE SASLIST ; PROC SOURCE INDD=DIN DIRDD=DOUT ; RUN ;

(DIN is an existing PDS) (DOUT is a created sequential listing output) the process DOUT with the following... OPTIONS NOWORKTERM ; DATA PDSMBRS;

LENGTH MEMBER $ 8 STATS $ 3 VER 2 MOD 2 CREATED 3 LASTMOD 3 MODTIME 4 SIZE 3 BYTES 3 INITSIZE 3 LINESMOD 3 USER $ 7;

FORMAT CREATED LASTMOD MMDDYY8. MODTIME TIME5.; INFORMAT CREATED LASTMOD MMDDYY8. MODTIME TIME5.;

INFILE PDSDIR; *<---------- Fileref of dump file;

INPUT @ 1 MEMBER $8. @12 TEST $1. @;

STATS = 'NO'; IF TEST = '0F'X THEN DO; /*SPF STATS ARE ON*/ STATS = 'YES'; END;

INPUT @13 VER IB1. @14 MOD IB1. @18 ICREATED PD3. @22 ILASTMOD PD3. @25 IMODHOUR PK1. @26 IMODMIN PK1. @27 SIZE IB2. @29 INITSIZE IB2. @31 LINESMOD IB2. @33 USER $7.;

CREATED = DATEJUL(ICREATED); LASTMOD = DATEJUL(ILASTMOD); MODTIME = HMS(IMODHOUR, IMODMIN, 00);

IF STATS EQ "YES" THEN DO; /* BYTES = SIZE * &LRECL */; END;

FILE PDSMBRS ; *OUTPUT PDSMBRS ; PUT @1 MEMBER @10 LASTMOD @20 SIZE ;

PROC PRINT DATA=PDSMBRS ;

RUN; /*


Back to: Top of message | Previous page | Main SAS-L page