Chapter Contents |
Previous |
Next |
FILENAME, CATALOG Access Method |
Valid: | anywhere |
Category: | Data Access |
Syntax |
FILENAME fileref CATALOG 'catalog' <catalog-options>; |
Arguments |
Tip: | This access method makes it possible for you to invoke an autocall macro directly from a SAS catalog. |
Tip: | With this access method you can read any type of catalog entry, but you can write only to entries of type LOG, OUTPUT, SOURCE, and CATAMS. |
Tip: | If you want to access an entire catalog (instead of a single entry), you must specify its two-level name in the catalog parameter. |
Alias: | LIBRARY |
Default: | The default entry type is CATAMS, with one exception. When you reference that fileref with %INCLUDE, the type is assumed to be SOURCE. |
Restriction: | The CATAMS entry type is used only by the CATALOG access method. The CPORT and CIMPORT procedures do not support this entry type. |
Catalog Options |
Catalog-options can be any of the following:
Default: | For input, the actual LRECL value of the file is the default. For output, the default is 132. |
Range: | V (variable), F (fixed), and P (print). |
Default: | V |
Default: | If you omit MOD, the file is replaced. |
Details |
The CATALOG access method in the FILENAME statement enables you to reference a SAS catalog as an external file. You can then use any SAS commands, statements, or procedures that can access external files to access a SAS catalog. As an example, the catalog access method makes it possible for you to invoke an autocall macro directly from a SAS catalog. See Executing an Autocall Macro from a SAS Catalog.
With the CATALOG access method you can read any type of catalog entry, but you can only write to entries of type LOG, OUTPUT, SOURCE, and CATAMS. If you want to access an entire catalog (instead of a single entry), you must specify its two-level name in the catalog argument.
Examples |
This example submits the source program that is contained in SASUSER.PROFILE.SASINP.SOURCE:
filename fileref1 catalog 'sasuser.profile.sasinp.source'; %include fileref1;
This example submits the source code from three entries in the catalog MYLIB.INCLUDE. When no entry type is specified, the default is CATAMS.
filename dir catalog 'mylib.include'; %include dir(mem1); %include dir(mem2); %include dir(mem3);
This example uses a DATA step to write data to a CATAMS entry, and another DATA step to read it back in:
filename mydata catalog 'sasuser.data.update.catams'; /* write data to catalog entry update.catams */ data _null_; file mydata; do i=1 to 10; put i; end; run; /* read data from catalog entry update.catams */ data _null_; infile mydata; input; put _INFILE_; run;
This example writes code to a catalog SOURCE entry and then submits it for processing:
filename incit catalog 'sasuser.profile.sasinp.source'; data _null_; file incit; put 'proc options; run;'; run; %include incit;
If you store an autocall macro in a SOURCE entry in a SAS catalog, you can point to that entry and invoke the macro in a SAS job. Use these steps:
This example points to a SAS catalog named MYSAS.MYCAT. It then invokes a macro named REPORTS, which is stored as a SAS catalog entry named MYSAS.MYCAT.REPORTS.SOURCE:
libname mysas 'SAS-data-library'; filename mymacros catalog 'mysas.mycat'; options sasautos=mymacros mautosource; %reports
See Also |
Statements:
|
Chapter Contents |
Previous |
Next |
Top of Page |
Copyright 1999 by SAS Institute Inc., Cary, NC, USA. All rights reserved.