libname study '.study1.saslib' disp=(new,catlg); data study.run1; ... run;
//jobname JOB ... // EXEC SAS //STUDY DD DSN-USER489.STUDY1.SASLIB,DISP=(NEW,CATLG), // UNIT=DISK,SPACE=(CYL,(200,50)),DCB=DSORG=PS data study.run1; ... run;
//MYTAPE DD DSN=USER489.TAPE.SASLIB,DISP=(NEW,CATLG,DELETE), // UNIT=CART,LABEL=(1,SL),VOLUME=(PRIVATE,,,7)
libname mytape tape 'user489.tape.saslib' disp=(new,catlg,delete) unit=cart label=(1,sl) volcount=7;
data mytape.member1; /* new member */ ...
//SEQDISK DD DSN=USER489.SEQDISK.SASLIB,DISP=(NEW,CATLG), // UNIT=(3390,3),SPACE=(CYL,(200,200)),BLKSIZE=27998 ... LIBNAME SEQDISK TAPE; /* use TAPE engine */ DATA SEQDISK.MEMB01; ...
libname seqdisk tape 'user489.seqdisk.saslib' disp=(new,catlg) unit=(3390,3) space=(cyl,(200,200)) blksize=27998; data seqdisk.memb01; ...
ERROR: A POINT operation was attempted on sequential library SEQLIB.
A volume switch has occurred on this library since the last NOTE
operation, making the POINT results unpredictable.Should
this situation occur, you can avoid the limitation by copying the
member to a library on disk.//jobname JOB job-accounting-info //* ------------------------------------------------------------------- //* create multiple sequential libs stacked on single tape volume //* ------------------------------------------------------------------- //SAS EXEC SAS //SASLOG DD SYSOUT=* //SASLIST DD SYSOUT=* //TAPLIB01 DD DSN=USERA.TAPELIB1,DISP=(NEW,CATLG,DELETE), // UNIT=(CART,,DEFER), // LABEL=(1,SL),VOLUME=(PRIVATE,RETAIN) //TAPLIB02 DD DSN=USERA,TAPLIB2,DISP=(NEW,CATLG,DELETE), // UNIT=AFF=TAPLIB01, // LABEL=(2.SL),VOLUME=(PRIVATE,RETAIN,REF=*.TAPLIB01) //TAPLIB03 DD DSN=USERA.TAPLIB,DISP=(NEW,CATLG,DELETE), // UNIT=AFF=TAPLIB01, // LABEL=(3,SL),VOLUME=(PRIVATE,RATAIN,REF=*.TAPLIB01) //SYSIN DD * data taplib01,memb01; ... run; data taplib02.memb02; ... run; data taplib03.memb03; ... run; /* //
//jobname JOB job-accounting-info
//*
//SAS EXEC SAS
//SASLOG DD SYSOUT=*
//SASLIST DD SYSOUT=*
//TAPLIB01 DD DSN=USERA.TAPELIB1,DISP=SHR
//TAPLIB02 DD DSN=USERA.TAPELIB2,DISP=SHR
//TAPLIB03 DD DSN=USERA.TAPELIB3,DISP=SHR
//SYSIN DD *
options tapeclose=leave;
data _null_;
set taplib01.memb01;
run;
data _null_;
set taplib02.memb02;
run;
data _null_;
set taplib03.memb03;
run;
/*
// libname myproj '/u/user905/MyProject'; data myproj.member1; ... run;
xlat(n) option
for the NFS mount point on xlat option, see the IBM documentation
for the libname hiperlib '&temp' hip; data hiperlib.memb01; ... run;
// JOB
//* HIPERSPACE LIBRARY BACKED BY VSAM LINEAR DS (DIV)
// EXEC SAS
//DIVLIB DD DSN=USER489.DIV.SASLIB,
// DISP=(NEW,CATLG),SPACE=(CYL,(5,5)),
// RECORG=LS
//SYSIN DD *
LIBNAME DIVLIB '' HIP;
DATA DIVLIB.MEMB01;
...
RUN;
//libname div 'user489.div.saslib' linear disp=(new,catlg) space=(cyl,(5,5)); libname divlib 'USER489.DIV.SASLIB'; proc contents data=divlib._all_; run;
LABEL=(,,,OUT) whether
SAS will send SAS data sets to the pipe library. Specify LABEL=(,,,IN) if
SAS will read SAS data sets from the pipe library.
DSORG=PS, RECFM=F for
both the sending and receiving sides of the pipe library. Specify
an LRECL between 1024 and 32760 for the pipe library. The values
specified for LRECL in the sending and receiving sides of the pipe
library must match exactly.
//jobname JOB
// EXEC SAS
//*--------------------------------------------------
//* This job writes a SAS data set to a pipe.
//*--------------------------------------------------
//PIPESND DD DSN=TEST.SAS.BATCHPIPES,
// LRECL=6144,RECFM=F,DSORG=PS,
// SUBSYS=(BP01,CLOSESYNC,ERC=DUMMY),
// LABEL=(,,,OUT)
//*
//SYSIN DD *
data pipesnd.member1;
...
output;
run;
/*
////jobname JOB
// EXEC SAS
//*-------------------------------------------
//* This job reads a SAS data set from a pipe.
//*-------------------------------------------
//PIPERCV DD DSN=TEST.SAS.BATCHPIPES,
// LRECL=6144,RECFM=F,DSORG=PS,
// SUBSYS=(BP01,CLOSESYNC,EOFREQUIRED=NO),
// LABEL=(,,,IN)
//*
//SYSIN DD *
data ...;
set pipercv.member1;
...
run;
/*
//