BookmarkSubscribeRSS Feed
chandler
Fluorite | Level 6

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 = ;
114480    +
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",
                                                                     _
                                                                     159
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.

5 REPLIES 5
ballardw
Super User

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.

Kurt_Bremser
Super User

You do

%LET RNSONFA = ;

That causes the macro variable RNSONFA to be empty.

When you do

divide(Total_n,&RNSONFA.)

this resolves (after macro expansion/interpretation) to

divide(Total_n, )

which is invalid.

chandler
Fluorite | Level 6

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 ?

Kurt_Bremser
Super User

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.

sas-innovate-2024.png

Join us for SAS Innovate April 16-19 at the Aria in Las Vegas. Bring the team and save big with our group pricing for a limited time only.

Pre-conference courses and tutorials are filling up fast and are always a sellout. Register today to reserve your seat.

 

Register now!

How to Concatenate Values

Learn how use the CAT functions in SAS to join values from multiple variables into a single value.

Find more tutorials on the SAS Users YouTube channel.

Click image to register for webinarClick image to register for webinar

Classroom Training Available!

Select SAS Training centers are offering in-person courses. View upcoming courses for:

View all other training opportunities.

Discussion stats
  • 5 replies
  • 3659 views
  • 1 like
  • 4 in conversation