Just noticed that in 9.4, the shipped default for LRECL is 32,767 (vs. 256 in 9.3).
But interestingly, the docs for LRECL still say "Use a value for the LRECL= system option that is not an arbitrary large value. Large values for this option can result in excessive use of memory, which can degrade performance."
This seems a bit contradictory. SAS ships with LRECL with a default value (the maximum possible) which it recommends not using.
Maybe this was just a concession to the reduce the risk of people accidentally not reading all of their data (and the number of tech support calls about that subject), even at the expense of performance? Curious if most folks have changed this default and sees a performance benefit?
I wouldn't be surprised to find that comment about "arbitrary large" is aimed more at use in the FILENAME, FILE or INFILE statements where you can specify much larger values for LRECL than the system option will accept.
Also note that for files using RECFM=F the default remains 256.
There are several questionable changes in 9.x, a really good one that came up recently is:
validavarname=any
Have whole sections on naming conventions, rules so that programming can be simple and effective. Then as a default standpoint chuck all that out of the window and let users do whatever they like. My face is sore from the number of facepalms over these decisions.
Ugh I didn't realize validvarname=any was a default now.
I always hated that so many of the BI clients set it. I think EG sets it, maybe DI studio. Guess the thought was to make it "easier" to read all those lovely Excel spreadsheets that are floating around.
Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 25. Read more here about why you should contribute and what is in it for you!
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.