Hi,
I have recently inherited a wealth of SAS programs previously established. Most of the programs are run via a nightly job in a master program using a "master macro" to run the programs in batch. However, sometimes a batch of programs does not produce results.
Below is an example one of several subsequent RSUBMIT batch run commands that are being called within the "Master Macro".
----------------------------------------------------------
RSUBMIT connectremote=First CONNECTWAIT=no;
%include 'Open.sas';run;
%include One.sas';run;
%include 'Two.sas';run;
%include 'Three.sas';run;
%include 'Four.sas';run;
%include 'Five.sas';run;
%include 'Six.sas';run;
%include 'Seven.sas';run;
%include 'Eight.sas';run;
%include 'Nine.sas';run;
%include 'Ten.sas';run;
%include 'Eleven.sas';run;
%include 'Twelve.sas';run;
%include 'Thirteen';run;
ENDRSUBMIT;
----------------------------------------------------------
There are probably 5-6 consecutive RSUBMIT statements in the Master Macro that call >10 programs each with a series of run commands.
My first guess would be that too many programs are being called in batch, causing a locking issue.
This First batch above gets the first 3 reports, but then subsequent reports Four-Thirteen do not produce results and the logs appear to bounce quickly through them, logging:
"NOTE: Table WORK.FIVE created, with 0 rows and 4 columns."
"NOTE: The data set WORK.FIVEDATA has 0 observations and 3 variables."
"NOTE: The SAS System stopped processing this step because of errors."
real time 0.00 seconds
cpu time 0.00 seconds
I have found the WAITFOR command, would this possibly help alleviate an overload and provide process control for each RSUBMIT batch to complete before the next one is processed?
Is there any additional block that I could put each of the run calls in to ensure these are processed prior to the next being ran?
Any help or suggestions would be greatly appreciated!
_b