Problem Note 8573: Libraries may fail to display in the server list of Enterprise Guide and
Enterprise Guide Administrator.
Attempting to view the libraries in Enterprise Guide or Enterprise Guide
Administrator V2.0.0.417 will fail with the following error if a libref
has been defined through code and the physical path of the library does
not exist.
SDS Component Error Diagnostics
10/1/2002 9:56:53 AM
----------------------------------------------------
[SAS.DataService]
Code: 0x80047000
Desc: ERROR: Library TEST1 does not exist.
----------------------------------------------------
[SDS Broker]
Code: 0x80040226
Desc: IOM call to SAS server failed.
Mod: C:\Program Files\SAS\Shared Files\SAS Directory
Services\SDSBrkr.dll
Ver: 9.0.0.417
Src: I:\Build\9.0.417\Products\Public Components\SAS Directory
Services\Broker\SDSServer.cpp(326)
-----------------------------------------------------
[SDS ListView]
Code: 0x80040226
Desc: Call to component SAS Directory Services failed.
Mod: C:\Program Files\SAS\Shared Files\SAS Directory
Services\SDSCL.dll
Ver: 9.0.0.417
Src: I:\Build\9.0.417\Products\Public Components\SAS Directory
Services\SDSListView\BrokerWrappers.cpp(86)
------------------------------------------------------
[Administrator]
The SAS server could not perform the requested action.
------------------------------------------------------
A common method for defining librefs through code is to %include a file
in the server's OPTIONS property.
As a workaround, use the following code in the %included file to define
the librefs. It will check for the existence of the library before
assigning the libref:
/* This macro assigns a library and detects whether it exists */
%macro eglibassign(libtoassign, libpath, libeng, libopt);
%local success;
%if "&libopt" ne "" %then
%let success = %sysfunc(libname(&libtoassign, &libpath, &libeng,
&libopt));
%else %if "&libeng" ne "" %then
%let success = %sysfunc(libname(&libtoassign, &libpath, &libeng));
%else
%let success = %sysfunc(libname(&libtoassign, &libpath));
/* if the library does not exist, CLEAR it */
%if (%sysfunc(libref(&libtoassign)) ne 0) %then
%do;
libname &libtoassign clear;
%put WARNING: Libref &libtoassign could not be assigned;
%end;
%else
%put NOTE: Libref &libtoassign was successfully assigned;
%mend;
/* Example usage */
/* assign desired libraries using this macro */
%eglibassign(test, c:\DoesNotExist);
%eglibassign(test2, u:\VoterData);
A Technical Support hot fix for Enterprise Guide 2.0 for this
issue is available at:
http://www.sas.com/techsup/download/hotfix/ent_guide20.html#008573
Operating System and Release Information
| SAS System | SAS Enterprise Guide | Microsoft Windows 2000 Professional | 2.0 | 2.05 | 9 TS M0 | |
| Microsoft Windows NT Workstation | 2.0 | 2.05 | 9 TS M0 | |
| Microsoft Windows XP Professional | 2.0 | 2.05 | 9 TS M0 | |
*
For software releases that are not yet generally available, the Fixed
Release is the software release in which the problem is planned to be
fixed.
| Type: | Problem Note |
| Priority: | high |
| Date Modified: | 2002-11-20 08:37:58 |
| Date Created: | 2002-10-01 15:06:40 |