![]() Chapter Contents |
![]() Previous |
![]() Next |
| CALL SYSTEM |
| Windows specifics: | command must be a valid Windows command |
| Syntax | |
| Details | |
| Comparison | |
| Examples | |
| Example 1: Executing Operating System Commands Conditionally | |
| Example 2: Obtaining a Directory Listing | |
| See Also | |
Syntax |
| CALL SYSTEM(command) |
| Details |
If you are running
SAS interactively and the command that you run is a DOS-based command or program,
the command executes in a command prompt window. By default, you must type
exit to return to your SAS session.
| Comparison |
The CALL SYSTEM routine is similar to the X command. However, the CALL SYSTEM routine is callable and can therefore be executed conditionally.
The values of the XSYNC and XWAIT system options affect how the CALL SYSTEM routine works.
| Examples |
If you want to execute operating system commands conditionally, use the CALL SYSTEM routine:
options noxwait;
data _null_;
input flag $ name $8.;
if upcase(flag)='Y' then
do;
command='md c:\'||name;
call system(command);
end;
cards;
Y mydir
Y junk2
N mydir2
Y xyz
;
This example uses the value of the variable FLAG to
conditionally create directories. After the DATA step executes, three directories
have been created: C:\MYDIR, C:\JUNK2, and C:\XYZ. The directory C:\MYDIR2
is not created because the value of FLAG for that observation is not
Y.
The X command is a global SAS statement. Therefore, it is important to realize that you cannot conditionally execute the X command. For example, if you submit the following code, the X statement is executed:
data _null_;
answer='n';
if upcase(answer)='y' then
do;
x 'md c:\extra';
end;
run;
In this case, the directory C:\EXTRA is created regardless
of whether the value of ANSWER is equal to
'n' or
'y'.
You can use the CALL SYSTEM routine to obtain a directory listing:
data _null_;
call system('dir /w');
run;
In this example, the /W option for the DIR command instructs Windows to print the directory in the wide format instead of a vertical list format.
| See Also |
![]() Chapter Contents |
![]() Previous |
![]() Next |
![]() Top of Page |
Copyright 1999 by SAS Institute Inc., Cary, NC, USA. All rights reserved.