DATA Step, Macro, Functions and more

Error using dictionary tables

Reply
Occasional Contributor
Posts: 7

Error using dictionary tables

Good morning,

Since some weeks ago i'm getting errors on SAS programs that use SAS dictionary tables.

The code is really simple and was getting the right results before we get this errors:

 

Code:

proc sql;

      create table contador as

      select nobs as reg from

             dictionary.tables

      where upcase(libname)='FDIFDMDS' and upcase(memname)='DPRTGUNL';

quit;

 

Before 19th August the log returned this:

NOTE: Compression was disabled for data set WORK.CONTADOR because compression overhead would increase the size of the data set.

NOTE: Table WORK.CONTADOR created, with 1 rows and 1 columns.

 

After 19th August:

ERROR: File PTFCSNFC.MST_MEDIS_CONTAB_PAGOS_DET.DATA does not exist.

ERROR: File PTFCSNFC.MST_MEDIS_CONTAB_PAGOS_DET.DATA does not exist.

(the library PTFCSNFC isn't even used in the program itself!).

 

Another note is that before 19th August, when a connection was launched we got the message in log:

NOTE: Remote signon to SASPRD commencing (SAS Release 9.02.02M3P041310).

NOTE: Copyright (c) 2002-2008 by SAS Institute Inc., Cary, NC, USA.

...

...

NOTE: SAS initialization used:

      real time           59.32 seconds

      cpu time            0.08 seconds

 

WARNING: No preassigned object definitions were found on the metadata server.

 

 

After 19th August:

NOTE: Remote signon to SASPRD commencing (SAS Release 9.02.02M3P041310).

NOTE: Copyright (c) 2002-2008 by SAS Institute Inc., Cary, NC, USA.

...

...

NOTE: SAS initialization used:

      real time           59.32 seconds

      cpu time            0.08 seconds

NOTE: Libref FDC2PROB successfully assigned from logical server.

NOTE: Libref FDC2PRCB successfully assigned from logical server.

...

...

 

Which definitions may have been modified, so we started to get messages like these?

 

Thanks in advance.

António Pereira.

Super User
Super User
Posts: 7,401

Re: Error using dictionary tables

Hi,

 

From what you have posted, it doesn't look like your using just Base SAS, but some server based software?  So I can't really tell what the problem is, other than something would have changed at the server end.  I would suggest you first consult with your IT group who installed and maintain that software, and if it continues go via the SAS helpdesk.

Occasional Contributor
Posts: 7

Re: Error using dictionary tables

Hi there,

We already checked with SAS Support this problem and the problem wasn't solved.

Yes you're right about something might have changed at the server end, but what could have been changed in configuration files to start writing the above messages in log?

I've been searching for same issue and there's always a reference to pre-assign libraries. We have our libraries pre-assigned since ever, so nothing changed on that. When the connection is made, it assigns the libraries by metadata resources. Where is this configured? Could we change it so?

 

Thanks.

 

António Pereira.

Super User
Super User
Posts: 7,401

Re: Error using dictionary tables

Am afraid if support can't help you there's not much I can do.  I have no ideas about how your system is setup, what files are used, processes, software installed etc.  

Super User
Posts: 5,256

Re: Error using dictionary tables

Perhaps there are some server side assigned libnames with invalid search paths?

I think I had a similar issue once. Like @RW said, contact your SAS server admin and have them check the startup files on the server (config/autoexec) and metadata settings.

 

What does a

libanme _all_ list;

gives you?

Data never sleeps
Occasional Contributor
Posts: 7

Re: Error using dictionary tables

I'll have to check the startup files on the server like you said.

I've attached the log with the libname _all_ list results.

 

Thank you.

 

António Pereira.

Respected Advisor
Posts: 3,890

Re: Error using dictionary tables

[ Edited ]

"ERROR: File PTFCSNFC.MST_MEDIS_CONTAB_PAGOS_DET.DATA"

 

The log you've attached indicates that libref "PTFCSNFC" exists. I would assume that the error is caused by exactly what it says: The file doesn't exist but is called somewhere during startup of your session (may be withing some macro call as part of autoexec execution).

 

If my theory is correct then I would assume you get this error independent of what code you submit.

 

Super User
Posts: 6,936

Re: Error using dictionary tables

The error message about the non-existing file might be caused by symbolic links in the file system that point to files that are no longer there.

 

1) determine the physical path of library PTFCSNFC

2) log on the server and change to this directory

3) do ls -l mst_medis_contab_pagos_det.sas7bdat

 

This should give you a clue if the directory entry is there at all, and what type it is.

---------------------------------------------------------------------------------------------
Maxims of Maximally Efficient SAS Programmers
Valued Guide
Posts: 3,208

Re: Error using dictionary tables

The error:

Check whether there are Views involved. SAS-views can point to a physical file that is not there.

 

The warning:

Ignore those messages on compressing. It is an advantage to have that active for big datasets. By not fogetting that as generic setting you can get notes on the very tiny datasets. Performance is important wiht thos big ones. Wiht those tiny ones there is no big deal.

 

---->-- ja karman --<-----
Occasional Contributor
Posts: 7

Re: Error using dictionary tables

Hello there,

First want to thank all for the reply.

 

About the issues i've noticed:

- The notes in log "NOTE: Libref FDC2PROB successfully assigned from logical server." is caused by having "-metaautoresources "SASApp"" in sasv9.cfg.

- The errors using dictionary tables i'll check the paths of the libraries and views to correct it. Then i'll try again using the submited code.

 

Kind regards,

António Pereira.

Ask a Question
Discussion stats
  • 9 replies
  • 904 views
  • 4 likes
  • 6 in conversation