Desktop productivity for business analysts and programmers

fmterr being set "behind the scenes"

Posts: 53

fmterr being set "behind the scenes"

Hi, I discovered recently that if I misassigned (or failed to assign) a format library to previously formatted sas datasets that Enterprise Guide wouldn't complain at all! This is because "option nofmterr" is being set "behind the scenes". My question is, why was it thought that this was a good design decision and how do I explain to my end-users with a straight face that EG behaves exactly as Program Editor would. In this case, it certainly does not. I have already opened an issue with Tech Support and a defect has been entered. Could I add that in my over 15 years of using SAS, I have rarely used NOFMTERR and consider it one of the more dangerous options out there.
Super Contributor
Super Contributor
Posts: 3,176

Re: fmterr being set "behind the scenes"

I also saw a similar "change" once with SAS ITSV (v2.7 maybe?) on z/OS where NOERRORABEND was set so "gallery" queries would not generate a USER abend -- I was baffled how such a significant impact could be made as default setting.

This instance further reinforces the importance of extensive self-testing with a new SAS version, even where it pertains to SAS Base, as well as components, particular SAS/Graph and various ODS "flavors".

Scott Barry
SBBWorks, Inc.
SAS Employee
Posts: 149

Re: fmterr being set "behind the scenes"

I'm glad you got it in as a defect that can hopefully be controlled in a future release of EG. That said, I've actually used NOFMTERR on a number of occasions when someone has sent me a SAS data set without the needed formats. Then at least I can see the underlying values and structure of the data in the offending columns. In an environment where the tables and formats are static and frequently accessed, I can see where having NOFMTERR as the default could be very misleading to folks who don't understand the unformatted values. So, I see where you're coming from.

Tech support probably mentioned this, but I'd imagine in EG 4.2 you could use Tools > Options > SAS Programs > Submit SAS code when server is connected in order to get "OPTIONS FMTERR;" safely running the way you expect.
Community Manager
Posts: 3,466

Re: fmterr being set "behind the scenes"

Posted in reply to RichardH_sas
In EG 4.2, if you want to see exactly what is run when SAS initializes:

* View->Server List
* In the Server list, expand the server you are connecting to (ex: "SASApp" or "Local")
* Right-click on the server name and select Properties.
* Click on the Software tab.
* Click on View Initialization Log.

This will show the startup log, just like you are used to seeing within traditional SAS environments. It includes the additional options/macros that EG submits when SAS starts. The options are set this way to provide a better user experience for most users, but as Richard said, you can override the system options with your own statements in that Tools->Options setting.

See also:

Community Manager
Posts: 3,466

Re: fmterr being set "behind the scenes"

Posted in reply to ChrisHemedinger
Thanks to Frisco for raising the awareness on this. And for providing me with a blog topic:

Trusted Advisor
Posts: 2,127

Re: fmterr being set "behind the scenes"

I disagree with frisco that this is a "defect." (Back to my mainframe days: "It's not a "bug," it's a "feature."). I noticed back in 1.3 that it was implemented and agree with Chris that it is very good for learners. EGuide 4.2 introduces some additonal changes from the defaults (like adding ODS GRAPHICS ON statements. You can look at the code to find them, but I'd sometimes like to see them listed in summary.

As a consulting statistician, I often see datasets where the data and the format library have gotten disconnected and the NOFMTERR is necessary. If is also needed for reading data with V8 format libraries in V9.
Ask a Question
Discussion stats
  • 5 replies
  • 5 in conversation