| Date: | Fri, 7 Jan 2005 15:27:34 -0500 |
| Reply-To: | "Schwartz, Robert E." <RES1@CDC.GOV> |
| Sender: | "SAS(r) Discussion" <SAS-L@LISTSERV.UGA.EDU> |
| From: | "Schwartz, Robert E." <RES1@CDC.GOV> |
| Subject: | Re: ODS Path |
| Content-Type: | text/plain; charset="us-ascii" |
Casey,
At first I thought that you had discovered an error in the language
definition for the ODS PATH statement. On closer inspection, it looks
like you left out four small characters. The APPEND, PREPEND, and
REMOVE keywords are not free-standing keywords. For reasons that must
have something to do with compiler theory, these keywords are enclosed
in parentheses. The access mode specifiers (READ, WRITE, and UPDATE)
must also be enclosed in parentheses. Try the following statement and
see if it solves your problem:
ods path (prepend) new(read);
HTH.
Bob Schwartz
National Center for Chronic Disease Prevention
And Health Promotion
National Centers for Disease Control and Prevention
Atlanta, GA. US
-----Original Message-----
From: SAS(r) Discussion [mailto:SAS-L@LISTSERV.UGA.EDU] On Behalf Of
Casey Pierce
Sent: Friday, January 07, 2005 2:17 PM
To: SAS-L@LISTSERV.UGA.EDU
Subject: ODS Path
Hello SAS-Lers,
I have put off becoming comfortable with ODS just long enough
to forget everything I might have learned in the classes two
years ago. Now I am at a complete loss. Unfortunately, we
are on a UNIX system, so most of what was in the classes was
irrelevant anyway.
All I want to do is create a public catalog of styles for all
users here to access, then access them. I believe I succeeded
in the first part, as I have a catalog I simply called "rtf"
for the time being. Within it, I created style "rtf1."
Now, the problem is trying to access it in a public macro.
My path statement seems to be failing. I have:
libname _new '/home/prinf/programs/styles';
ods path prepend _new.rtf read;
Which I thought puts the store, _new.rtf, at the beginning
of the list of stores to search with read permissions.
But my next line is a "ods path show" and I get:
Current ODS PATH list is:
1. WORK.PREPEND(READ)
2. _NEW.RTF(READ)
3. WORK.READ(READ)
Which seems a little bit wrong. The next step is a proc report
that attempts to call the style "rtf1" that should be in
_new.rtf, but SAS can't create it because it can't find the
parent template, styles.default, which is the parent for rtf1.
Somehow, my ods path statement is removing sasuser and sashelp.
Why is this? I didn't have this problem when I created the
rtf1 style using:
libname new '/home/prinf/programs/styles';
ods path prepend new write;
proc template ;
define style rtf1 / store=new.rtf;
parent = styles.default;
etc...
Any insight here would be greatly appreciated.
Thanks.
casey
|