Date: Mon, 5 May 1997 15:09:05 GMT
Reply-To: Mike from Ottawa <mev@TIKA.ON.CA>
Sender: "SAS(r) Discussion" <SAS-L@UGA.CC.UGA.EDU>
From: Mike from Ottawa <mev@TIKA.ON.CA>
Organization: Tika Systems Inc.
Subject: Re: SAS INPUT for PDS directory (MVS)
On Fri, 2 May 1997 14:15:00 -0400, Robert Schechter
<robert_schechter@MERCK.COM> wrote:
>
>I need to be able to read certain information from entries in my PDS
>directory (MVS). I see basically how it's done from the SAS sample
>library member PDSLIST. Can anyone give me the structure, or better yet,
>the INPUT information to also obtain member creation date, change date,
>and ID.
>
>Thanks,
>Bob Schechter
Try this - I adapted it from the notes in the SAS MVS companion
manual:
//INF DD DSN=PROD.MV.CNTL,DISP=SHR
//SYSIN DD *
PROC SOURCE INDD=INF NODATA NOPRINT DIRDD=RAW;
DATA DATA1(KEEP=MEM MOD CREATDT CHANGDT TIME SIZE INIT UID);
LENGTH TIME $ 5;
INFILE RAW;
INPUT MEM $CHAR8.
TTR PIB3.
IND PIB1. @;
L = 2 * MOD(IND,32);
IF L = 30 THEN
DO;
INPUT VER PIB1.
MOD PIB1.
BLANK PIB2.
CREATE PD4.
CHANGED PD4.
HH PK1.
MM PK1.
SIZE PIB2.
INIT PIB2.
MODL PIB2.
UID $CHAR8.;
IF CREATE NE . THEN
CREATDT = DATEJUL(CREATE);
IF CHANGED NE . THEN
CHANGDT = DATEJUL(CHANGED);
TIME = PUT(HH,Z2.) || ":" || PUT(MM,Z2.);
OUTPUT;
END;
PROC PRINT UNIFORM N SPLIT="*";
TITLE "Contents of PDS";
FORMAT CREATDT CHANGDT DATE7.;
ID MEM;
VAR UID CREATDT CHANGDT TIME MOD INIT SIZE;
LABEL MEM="Member*Name"
CREATDT="Creation*Date"
CHANGDT="Date*Changed"
TIME="Time*Changed"
UID="Modifying*Userid"
MOD="# of Times*Modified"
INIT="Initial*# of Lines"
SIZE="# of*Lines";
|