/**********************************************************************/
/* Disk Space Management */
/* Read user VSAM catalog and create a SAS data set (VSECPE2) */
/* in WORK that gives the entryname (ENTNAME) and filetype */
/* (FILET) of every file in the catalog. SASVA01X is a free */
/* program in plib(psub) that is used for CPE. */
FILENAME IJSYSUC VSAM 'your.catalog.name' VSAMCAT=NONE;
FILENAME BJSYSUC VSAM 'your.catalog.name' VSAMCAT=IJSYSUC;
/* read catalog/create VSECPE2 */
%INCLUDE plib(psub.SASVA01X.SAS);
/* Use VSECPE2 to create SAS job that when run will create two */
/* datasets: 'SAS' containing physical names of all SAS data libs */
/* and 'NONSAS' containing physical names of all non-SAS files. */
DATA _NULL_;
RETAIN I 0;
FILE vselib(sublib.BACKUP.VSAMCAT) REPLACE;
SET VSECPE2;
I=I+1;
CI=PUT(I,3.);
DO;
LENGTH QT $ 1;
QT="'";
ENTNAME1="'"||ENTNAME||QT;
ENTNAME1=COMPRESS(ENTNAME1);
LENGTH LBN $ 8;
LBN="LBN"||CI;
LBN=COMPRESS(LBN);
PUT ' %MACRO DOIT; ';
PUT " DATA TEMP;";
PUT " LENGTH FNAME $ 30;" ;
PUT " FNAME = '" ENTNAME "';";
PUT " OUTPUT TEMP;";
PUT " RUN;";
PUT " LIBNAME FOO " ENTNAME1 " DISP=SHR CAT=BJSYSUC;";
PUT ' %IF &SYSLIBRC=0 %THEN %DO;';
PUT " PROC APPEND BASE=SAS DATA=TEMP ; RUN;";
PUT " %END;";
PUT " %ELSE %DO;";
PUT " PROC APPEND BASE=NONSAS DATA=TEMP ; RUN;";
PUT " %END;";
PUT " %MEND; %DOIT;";
PUT "RUN;";
END;
RUN;
/* Run job created by step above. */
%INCLUDE vselib(sublib.BACKUP.VSAMCAT);
/* Print list of SAS data libraries and non-SAS files. */
PROC PRINT DATA=SAS;
PROC PRINT DATA=NONSAS;
/**********************************************************************/
/* Backup */
DATA _NULL_;
RETAIN I 0;
HOLDER = ' '; RETAIN HOLDER;
FILE vselib(sublib.BACKUP.SASLIBS) REPLACE ;
SET SAS; /* input data set of filenames */
I=I+1;
CI=PUT(I,3.);
LENGTH QT $ 1;
QT="'";
PNAME1="'"||FNAME||QT;
PNAME1=COMPRESS(PNAME1);
LENGTH LBN $ 8;
LBN="LBN"||CI;
LBN=COMPRESS(LBN);
PUT " LIBNAME " LBN " TAPE ASSGN=SYSxxx; " ;
PUT " LIBNAME FOO " PNAME1 " DISP=SHR CAT=BJSYSUC;";
PUT " PROC COPY IN=FOO OUT=" LBN " MEMTYPE=ALL ;
RUN;";
PUT " ";
RUN;
%INCLUDE vselib(sublib.BACKUP.SASLIBS);
/**********************************************************************/
/* Memory/Performance */
* $$ JOB JNM=SASSVA,CLASS=0,DISP=H
* $$ LST CLASS=A
// JOB SASV6SVA - PLACE SAS V6 PHASE(S) IN SVA
// EXEC PROC=SASIFLE
// SETPARM PLIB=''
// SETPARM PSUB=''
// EXEC PROC=SASIPARM,PLIB,PSUB
// LIBDEF *,SEARCH=(&PLIB..&PSUB)
SET SDL
SASEBL,SVA
SASEBLU,SVA
/*
/&
* $$ EOJ
/**********************************************************************/