LISTSERV at the University of Georgia
Menubar Imagemap
Home Browse Manage Request Manuals Register
Previous messageNext messagePrevious in topicNext in topicPrevious by same authorNext by same authorPrevious page (November 2005, week 2)Back to main SAS-L pageJoin or leave SAS-L (or change settings)ReplyPost a new messageSearchProportional fontNon-proportional font
Date:         Sun, 13 Nov 2005 08:15:28 -0800
Reply-To:     Gary <GaryWeeks@GMAIL.COM>
Sender:       "SAS(r) Discussion" <SAS-L@LISTSERV.UGA.EDU>
From:         Gary <GaryWeeks@GMAIL.COM>
Organization: http://groups.google.com
Subject:      Data step stopped in a macro
Comments: To: sas-l@uga.edu
Content-Type: text/plain; charset="iso-8859-1"

I have a macro that has been working without problem for 3 years and now I am starting to get an error as described in the log below. The macro is called and executes successfully several times then error below occurs and it fails every time thereafter. All of the macro variables are resolved and if the code is run out side of the program that calls the macro there is no problem. Does anyone have any ideas what could be causing this problem?

I have pasted the macro below and the piece of the log for a failure.

Thanks,

-Gary

%macro progress(step, detail, state, batch,);

%put State=&state Batch=&batch Step=&step Detail=&detail; data progress; length state $ 2 batch $ 3 step $ 80 detail $ 200 ; when=datetime(); state="&state"; batch="&batch"; step=put("&step",$80.); put 'progress step=' step; detail=put("&detail",$200.); put 'progress detail=' detail; run;

proc append base= state.&state._&batch._&numbtime._progress new = progress force; run;

%mend; /* progress */

MLOGIC(KICKOFF.PROGRESS): Beginning execution. NOTE: The macro PROGRESS is executing from memory. SYMBOLGEN: Macro variable STEP resolves to Duplicate check SYMBOLGEN: Macro variable DETAIL resolves to Checking for duplicate bc #s SYMBOLGEN: Macro variable STATE resolves to OK SYMBOLGEN: Macro variable BATCH resolves to 209 MLOGIC(KICKOFF.PROGRESS): Parameter STEP has value Duplicate check MLOGIC(KICKOFF.PROGRESS): Parameter DETAIL has value Checking for duplicate bc #s MLOGIC(KICKOFF.PROGRESS): Parameter STATE has value OK MLOGIC(KICKOFF.PROGRESS): Parameter BATCH has value 209 MLOGIC(KICKOFF.PROGRESS): %PUT State=&state Batch=&batch Step=&step Detail=&detail SYMBOLGEN: Macro variable STATE resolves to OK

The SAS System

SYMBOLGEN: Macro variable BATCH resolves to 209 SYMBOLGEN: Macro variable STEP resolves to Duplicate check SYMBOLGEN: Macro variable DETAIL resolves to Checking for duplicate bc #s State=OK Batch=209 Step=Duplicate check Detail=Checking for duplicate bc #s MPRINT(KICKOFF.PROGRESS): data progress; MPRINT(KICKOFF.PROGRESS): length state $ 2 batch $ 3 step $ 80 detail $ 200 ; MPRINT(KICKOFF.PROGRESS): when=datetime(); SYMBOLGEN: Macro variable STATE resolves to OK MPRINT(KICKOFF.PROGRESS): state="OK"; SYMBOLGEN: Macro variable BATCH resolves to 209 MPRINT(KICKOFF.PROGRESS): batch="209"; SYMBOLGEN: Macro variable STEP resolves to Duplicate check MPRINT(KICKOFF.PROGRESS): step=put("Duplicate check",$80.); MPRINT(KICKOFF.PROGRESS): put 'progress step=' step; SYMBOLGEN: Macro variable DETAIL resolves to Checking for duplicate bc #s MPRINT(KICKOFF.PROGRESS): detail=put("Checking for duplicate bc #s",$200.); MPRINT(KICKOFF.PROGRESS): put 'progress detail=' detail; MPRINT(KICKOFF.PROGRESS): run;

NOTE: The data set WORK.PROGRESS has 0 observations and 5 variables. WARNING: Data set WORK.PROGRESS was not replaced because this step was stopped. NOTE: DATA statement used (Total process time): real time 0.00 seconds cpu time 0.00 seconds


Back to: Top of message | Previous page | Main SAS-L page