02-18-2016 05:05 PM
This is SAS log excerpt:
%LET RNSOBKA = ; %LET RNSOBKD = ; %LET RNSOHSOD = ; %LET RNSOBKP = ; %LET RNSONFA = ;
114478 +%LET RNESBKA = ; %LET RNESBKD = ; %LET RNESHHOD = ; %LET RNESBKP = ; %LET RNESNFA = ;
114479 +%LET RNCUBKA = ; %LET RNCUBKD = ; %LET RNCUHSOD = ; %LET RNCUBKP = ; %LET RNCUNFA = ;
114481 +%ren_exc(bp=PWM) ;
114481 region1_n region2_n region3_n SO_HSO_pct_nf; SO_HSO_dollars = left(trim(put(Total_n,dollar14.))); call symput("RNSOHSOD",trim(SO_HSO_dollars)) ;
114481 ! SO_HSO_pct_nf = left(trim(put(divide(Total_n,&RNSONFA.),percent7.2))) ; call symput("RNSOHSOP",
ERROR 159-185: Null parameters for DIVIDE are invalid.
WARNING: The data set WORK.TOTAL_HS_OVERRIDES may be incomplete. When this step was stopped there were 0 observations and 7 variables.
WARNING: Data set WORK.TOTAL_HS_OVERRIDES was not replaced because this step was stopped.
02-18-2016 11:28 PM
I recommend considering using the function STRIP to reduce the number of parantheses involved. You find a lot of code with trim(left(<value>)) because a long time ago there was no single function to do that. Strip was introduced as an alternative to trim(left because we used that so frequently.
02-19-2016 01:55 AM
%LET RNSONFA = ;
That causes the macro variable RNSONFA to be empty.
When you do
this resolves (after macro expansion/interpretation) to
which is invalid.
02-19-2016 09:56 AM
I inherited this program from a programmer that left the company 3 months ago. This report has been running on scheduler since then, without error. Why is something that has been working all along, now causing an error ?
02-22-2016 01:39 AM
To really determine that, one would need a holistic view.
Complete code, everything concerning the scheduling, code of the system batch scripts, etc
Take a look at the revision history.
Something has changed, or the problem would have been there from the beginning.