Date: Fri, 16 May 1997 08:59:32 PDT
Reply-To: TWB2%Rates%FAR@GO50.COMP.PGE.COM
Sender: "SAS(r) Discussion" <SAS-L@UGA.CC.UGA.EDU>
From: TWB2%Rates%FAR@GO50.COMP.PGE.COM
Subject: Re: stopping a job due to empty datasets
Lydia, If the dataset is actually empty (zero obs), then checking for _N_ EQ 1
would never succeed. One approach, assuming the input dataset is on disk, is
the NOBS option:
DATA MAINSTEP;
IF NOBS EQ 0
THEN STOP;
SET MYINPUT NOBS=NOBS;
..
RUN;
Did you want to stop the datastep (as I showed above), or the job step? To stop
the job I believe you can replace the STOP with ABORT above (or even ABORT ABEND
nn to have the job return step completion code nn).
If the input dataset is on tape, NOBS will not work. Then I suggest:
%let hasinput=NO;
DATA _NULL_;
SET MYINPUT;
CALL SYMPUT("hasinput","YES");
STOP;
RUN;
%macro maystop;
%if &hasinput EQ NO
%then %do;
%* Whatever you want to do about zero input goes here;
%end;
%mend maystop;
%maystop;
Tim Berryhill - Contract Programmer and General Wizard
TWB2@PGE.COM or http://www.aartwolf.com/twb.html
Frequently at Pacific Gas & Electric Co., San Francisco
The correlation coefficient between their views and
my postings is slightly less than 0
----------------------[Reply - Original Message]----------------------
Sent by:Lydia Pettis <LRP@CORNELLC.CIT.CORNELL.EDU>
I have a sas job with multiple data steps. Twice a year the job bombs
because the last data step uses variables that are carried over from
a previous step, and if the set from the previous step is empty we
get error messages which result in a return code of 8 when executing
on the mainframe.
Is there some way to cleanly stop execution of a sas step if the
data sets it is reading are empty? Can you check for missing values
for instance at the beginning of the step? Like 'if _n_ = 1 and
variable = '.' then stop'? (unfortunately my sample dataset got
overwritten before I had a chance to copy it for testing).
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* LYDIA PETTIS INTERNET: lp14@cornell.edu *
* Library Technology Dept. *
* B40 Olin Library *
* Cornell University PHONE: (607) 255-9477 *
* Ithaca, NY 14850 FAX: (607) 255-9346 *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
=====================================================================