Previous Page | Next Page

Functions and CALL Routines

DOPEN Function



Opens a directory, and returns a directory identifier value.
Category: External Files
See: DOPEN Function under Windows UNIX OpenVMS z/OS

Syntax
Argument
Details
Examples
Example 1: Using DOPEN to Open a Directory
Example 2: Using DOPEN within a DATA Step
See Also

Syntax

DOPEN(fileref)


Argument

fileref

is a character constant, variable, or expression that specifies the fileref assigned to the directory.

Restriction: You must associate a fileref with the directory before calling DOPEN.

Details

DOPEN opens a directory and returns a directory identifier value (a number greater than 0) that is used to identify the open directory in other SAS external file access functions. If the directory could not be opened, DOPEN returns 0, and you can obtain the error message by calling the SYSMSG function. The directory to be opened must be identified by a fileref. You can assign filerefs using the FILENAME statement or the FILENAME external file access function. Under some operating environments, you can also assign filerefs using system commands.

If you call the DOPEN function from a macro, then the result of the call is valid only when the result is passed to functions in a macro. If you call the DOPEN function from the DATA step, then the result is valid only when the result is passed to functions in the same DATA step.

Operating Environment Information:   The term directory that is used in the description of this function and related SAS external file access functions refers to an aggregate grouping of files managed by the operating environment. Different operating environments identify such groupings with different names, such as directory, subdirectory, folder, MACLIB, or partitioned data set. For details, see the SAS documentation for your operating environment.  [cautionend]


Examples


Example 1: Using DOPEN to Open a Directory

This example assigns the fileref MYDIR to a directory. It uses DOPEN to open the directory. DOPTNUM determines the number of system-dependent directory information items available, and DCLOSE closes the directory:

%let filrf=MYDIR;
%let rc=%sysfunc(filename(filrf,physical-name));
%let did=%sysfunc(dopen(&filrf));
%let infocnt=%sysfunc(doptnum(&did));
%let rc=%sysfunc(dclose(&did));


Example 2: Using DOPEN within a DATA Step

This example opens a directory for processing within a DATA step.

data _null_;
   drop rc did;
   rc=filename("mydir","physical-name");
   did=dopen("mydir");
   if did > 0 then do;
      ...more statements...
   end;
   else do;
      msg=sysmsg();
      put msg;
   end;
run;


See Also

Functions:

DCLOSE Function

DOPTNUM Function

FOPEN Function

MOPEN Function

SYSMSG Function

Previous Page | Next Page | Top of Page