|Date: ||Sat, 8 Dec 2001 18:18:15 -0600|
|Reply-To: ||Gilles Moser <email@example.com>|
|Sender: ||"SAS(r) Discussion" <SAS-L@LISTSERV.UGA.EDU>|
|From: ||Gilles Moser <gilles@FUSE.NET>|
|Organization: ||Posted via Supernews, http://www.supernews.com|
|Subject: ||Make SAS wait between execution of X command|
I have a SAS macro looping to generate a Unix file with a single parameter
used to customized SAS programs. I have to loop through approximately
500,000 regression models that I am trying to divide in 50 SAS jobs doing
each 10,000 models. My problem is because Unix takes a while to launch the
SAS job the Unix file is updated before the corresponding job is launched. I
would like to make SAS wait to be sure that the right parameters are passed
from Unix back to the new SAS jobs.
Here is a sample of my code that passes SAS variable to Unix:
%do i=1 %to 2;;
x "echo star > ls";
x "echo &i >> ls";
x "cp clone.sas opt&i..sas";
x "sas opt&i..sas"; /*The SAS jobs is launched to late and uses the
parameters of the second loop creating the LS file*/
Here is a sample of the code OPT&i..SAS that takes the parameter from the
input @1 param $ 1-5; /*I apologize for this approximative input
call symput ('myvar'||left(-n),param);
This first SAS job the macro variable myvar1 resolves to 2 (INSTEAD OF 1).
The second SAS job has the macro variable is also 2.
I wanted to have 1 for the first SAS job and 2 for the second.
Could anyone help me? Anyone to solve this issue would be appreciated.
Information Resources Inc.