|Date: ||Wed, 19 Apr 2000 10:22:24 -0500|
|Reply-To: ||Rob Rohrbough <Rob@ROHRBOUGH-SYSTEMS.COM>|
|Sender: ||"SAS(r) Discussion" <SAS-L@LISTSERV.UGA.EDU>|
|From: ||Rob Rohrbough <Rob@ROHRBOUGH-SYSTEMS.COM>|
|Subject: ||Re: Updating an application to version 8|
> Rob, could you get explicit?
Ian, thanks for the push. (AKA, you asked for it!) Had intended to put
this list together for a number of folks. Guess I've posted enough
yesterday (4/17) that I can't say time is short. Will use HTML for
formatting; let me know if someone needs plain text. Here goes:
1.. -WORK option no longer supports the -USE parameter. Workaround:
Used the PATH function to reference the physical WORK directory. (Reported
and tracked - removed by design in V7.)
2.. ERROR: Command not valid while marked areas exist. Explanation:
Seemed that this message comes up in SAS Explorer when trying to delete or
rename a library. Can't reproduce it now.
3.. Log message, 'Could not fine font "ont" with pointsize 8'. Appears
for no reason at all while generating graphs directly to printer where no
message was before. Workaround: ignore.
4.. There is no WSAVE ALL available from the GUI as there was with V6,
Options|Save Settings Now. Workaround: Type WSAVE ALL in the command bar.
It is nice that the command bar (combo box) now remembers the last dozen or
so commands from session to session. Several other options (which I don't
personally care for): Set your Tools|Options|Preferences (General tab) to
Save Settings on Exit, or set a function key. (Reported and tracked -
5.. SAS now defaults to the Enhanced Editor. Workaround: If you have
toolbars, etc. set up for the Program Editor, you may wish to uncheck Use
Enhanced Editor in the Preferences|Edit tab. Actually I have found the
Enhanced Editor to be quite nice and worth the effort to set up the toolbar
for it. Now, regarding ease of use (or lack thereof) in not being able to
copy a row of tools and cut and paste into the new toolbar...
6.. Multiple Enhanced Editor windows when dragging and dropping a file
from Windows Explorer. Explanation: Confused me at first, but nice to work
on several programs at once. The I have run into none of the problems
reported with the Enhanced Editor in the Developers Release - so far. The
Enhanced Editor is growing on me.
7.. Invalid Bye command syntax when CALL EXECCMD('BYE'); issued from
label SCL behind a Frame. Workaround: Turns out that the command button
this label SCL was behind had its Command Processing set to End. V6 ignored
this "conflict". V8 does not. I had to detect when the user wanted to exit
SAS and set/clear the Command Processing appropriately. Guess I was as
sloppy as V6 would let me be. Still, incompatible. :( (Reported and
tracked - syntax checking tighter by design.)
8.. I had to relearn how to cut and paste custom icons into my toolbars.
Workaround: Turns out that is how you install a custom icon - by pasting it
into the tool. You need a third party icon editor to create them. This is
not a V6/V8 incompatibility but Rob's failing memory.
9.. Quotes now required around each entry name in syntax for the REPLAY
statement in PROC GREPLAY. Workaround: Enclose them in quotes. I used the
following expression to quote each entry returned from a CATLIST function:
'"' || tranwrd(trim(left(ans2)),' ','" "') || '"'
I have no embedded blanks in my entry names. Not sure if this is now
allowed in V8.
10.. Style of some functions like CATLIST and SHOWLIST show different
dialog windows. Workaround: Most of these changes are pretty nice. Had to
modify WREGION in some cases.
11.. Enhanced Editor ignores DMKEYS in some cases. Workaround: DMKEYS
are actually available in the Enhanced Editor, but Enhanced Editor key
definitions take precedence. In may case, I have F2 programmed to zoom in
just about all my apps. Believe it was the Go To the Next Marked Line
function that was defined for F2 in the Enhanced Editor which I moved to
<alt>F2. Now I can toggle zoom all day in the Enhanced Editor.
12.. SCL Window too small. Explanation: Will confess I haven't
reported this one yet. Never sufficiently obnoxious as compared to more
critical problems. Thought it was related to my existing Frame/SCL entries,
but appears to be small for new entries as well. Anyone else seen this?
Fix for it? Using the Enhanced Editor for SCL helps? (How do you do that?)
13.. Mouse wheel break lines in the SCL editor. Explanation: This was
a problem in V6 as well. Never did report it there either. Looks as if the
Enhanced Editor may be used for SCL entries. Maybe fixed there. Otherwise,
I am in danger of the Ian Whitlock rule of long-outstanding bugs becoming
14.. PROC CATALOG/KILL interlock problem. Explanation: I was trying to
forcibly clear GOPTIONs by deleting the WORK.SASGOPT catalog. V6 let me get
away with it; V8 refuses to release the interlock. Just another victim of
sloppy coding. Workaround? Tried the proper syntax of GOPTIONS RESET=ALL,
but gave up since it wiped out my titles, and doing nothing seemed to work.
15.. Long WHERE clauses printed in log. Explanation: <begin soapbox>
My client application demands ultra-long WHERE clauses in many cases. In V8
these monsters magically appear in the log. Turns out this "feature" was a
winning SASware ballot entry. OK, I have a proposal for you yahoos who were
too lazy to log your own: Let's have a separate option for this (as opposed
to a NOTE level log message) that YOU can turn on and leave my application
as it was in V6. <end soapbox> Actually got this one formally logged as
another "enhancement" request.
16.. WARNING 503-185: The format name $DRG2ALOS exceeds 8 characters,
and will be truncated. Workaround/Explanation: Ignore the message - which
appears only in references to the format. The format name I was using is
too long since it is a character format (and perhaps because I am using the
VALIDVARNAME=UPCASE option to address some other compatibility issues like
when I am searching the data dictionary assuming my variable names are still
upper case...). I was blissfully ignorant that the dollar sign counted as a
character in V6. Once again, V8 is showing its tighter syntax checking -
ironically while allowing longer names and I need that old option. Oh,
17.. No Browse function for Frame Entries from SAS Explorer.
Workaround: I would have thought that one of the actions available on a
right-click for these things would be a browse, but no. Got the following
list of options from a very nice Tech Support person:
1. You can use the BUILD command and specify BROWSE=YES such as:
build work.test.one.frame browse=yes
2. You can use PROC BUILD and specify the BROWSE option such as:
proc build c=work.test.one.frame browse;
3. You can add BROWSE to the list of choices when you right click on a
or SCL entry in SAS Explorer by editing the Explorer options and having
them stored in the registry file in your SASUSER directory. I'll give
you the steps for this.
a. Make sure the Explorer window is the active window.
b. Select Tools, Options, Explorer.
c. In the box at the top of the window, change Members to Catalog
d. Under Registered Types, select FRAME and then the Edit button. You'll
see the actual commands being issued when you select each item.
e. Select Add and add an Action of Browse with an Action Command of:
build %8b.%32b.%32b.%8b browse=yes
f. OK out of the Explorer FRAME options window and this should be saved.
Nice to be able to roll your own even if the action is not pre-recorded.
18.. PROC PRINTTO ignores printer orientation and font settings.
Workaround: Think this is the V6 workaround that I didn't know was a
workaround at the time. Perhaps it rather was my ignorance of the system.
I was using the syntax, "PROC PRINTTO PRINT='PRN'; RUN;" in V6. This
recognized the default printer settings in SAS. However, for one of my
client's machines that had no physical printer on LPT1 (but only a virtual
network printer there), it was causing some pretty strange results - the
text and graphic portions of the same job going unexplainably to different
With some help from Tech Support, I was able to assign the
currently-default SAS printer to a fileref and reference that fileref with
PROC PRINTTO. Goes something like, "FILENAME XYZ PRINTER; PROC PRINTTO
PRINT=XYZ; RUN;". Definitely fixes the problem of ignoring the printer
orientation and font settings. (I needed to be printing in LinePrinter 7
point landscape. I was getting the default Courier 12 portrait - not good.)
While I have not tried this on the offending client machine, I have tried it
on my machines with multiple printers and good results.
Haven't tried this at the client site because I am waiting for a copy of
V8.00, M1 which according to Tech Support, fixes some problems relating to
printing. BTW, ODS is supposed to obviate the need for PROC PRINTTO. After
attending SUGI, I can see that and am looking forward to it.
19.. GETOPTION...KEYWORD does not work for the TOPMARGIN option.
Workaround: None. Explanation: Whenever any option returns a null value
(I think when a numeric value normally appear), the KEYWORD parameter does
not produce working code as in the following example:
1 * This works;
2 %let good=%sysfunc(getoption(linesize, keyword));
3 options linesize=80;
4 options &good;
6 * This does not work;
7 %let junk=%sysfunc(getoption(topmargin, keyword));
8 options topmargin=.5;
9 options &junk;
NOTE: Line generated by the macro variable "JUNK".
ERROR 14-12: Invalid option value ; for SAS option TOPMARGIN.
The above example was sent to SASI with a request that all options
retrieved with the KEYWORD parameter produce working code as in the first
part of the example.
20.. No half-point sizes. Explanation: This is not really a SAS
problem but an M$ one; however, one of those little birdies at SUGI kindly
did take this back to the developers to find a workaround. My experience is
with NT4. Somewhere around SP4 NT stopped allowing me to enter half-point
sizes in the font dialog box. With SP5 loaded on my system I also cannot
specify a fractional value programmatically such as "OPTIONS
SYSPRINTFONT=(LinePrinter 7.5);". There have been times when having that
fractional font available has gotten me to where my client wanted to go.
21.. Can't tab out of radio boxes and some other objects such as check
boxes. Workaround: Wait for Version 8.1. Some object, such as Command
Buttons cannot be reached via the tab key no matter what the new Tab Order
dialog window says. Command button could not be tabbed to in V6 either, but
I had hoped that would go away with the new feature and V8. Not sure if all
those problems will go away with V8.1, but the fix I was told about should
at least cover the radio boxes.
22.. SAS ignores the default folder in its calling shortcut for the
working directory. Workaround: Specify the '-SASINITIALFOLDER "."' option
in your SASv8.cfg file.
No, I'm not really competing for Mr. Viergever's (if unwanted) commanding
presence in the top 10 lists! Many of these have been reported to SASI, and
their Tech Support has been typically excellent. Did not include tracking
numbers although some tracks are open for, perhaps, obvious reasons.
HTH all who waded through it,
> -----Original Message-----
> From: WHITLOI1 [mailto:WHITLOI1@westat.com]
> Sent: Tuesday, April 18, 2000 2:41 PM
> To: Rob Rohrbough; SAS-L@LISTSERV.UGA.EDU
> Subject: Re: Updating an application to version 8
> Subject: Re: Updating an application to version 8
> Summary: I would like a list of V8 bug fixes that cause bugs
> in V6.12 programs.
> Respondent: Ian Whitlock <firstname.lastname@example.org>
> Rob Rohrbough <Rob@ROHRBOUGH-SYSTEMS.COM> wrote in part:
> > Personally, I found about 20 issues when converting my first app
> > from V6.12 to V8.00, many of which required code changes. Some
> > issues are resolved with V8.00, M1, some will be addrsssed in
> > V8.01 - mostly involving minor (?) printing changes. While some
> > of these appear to have been introduced with ODS or with general
> > cleanup of some idiosynchrases of V6, V8 does seem to be for the
> > better, and ODS is a good thing. Ironic that I have to re-work
> > around some of my V6 workarounds. (I didn't know they were
> > work-arounds at the time.)
> Rob, could you get explicit? Can other SAS-Lrs provide a list? I
> would like to see a thread where each new bug fix problem gets added
> as found. Some how this list is missing from the changes and
> enhancements documentation. To start off, I offer two.
> 1) The parsing of %MAC&X has changed. In V6.12 &X is used to
> modify the name of the macro called. In V8 the & acts as a
> separator so %MAC generates part of a string and the
> resolution of &X finishes it. Hence the code below either
> does not work because there is no macro %MAC or it produces
> very different results in V8.
> %macro macq(dummy) ; %put q called ; %mend ;
> %let x = q ;
> 2) Obtaining the file name via the FILENAME= option on the INFILE
> statement has changed when reading multiple data sets. This
> code produces different data sets in version 6.12 and version 8.
> The comments tell the story.
> filename q "c:\junk\q*.dat" ;
> DATA w ( keep = b4fn aftfn text eovflg ) ;
> LENGTH b4fn aftfn FN $ 200 ;
> eov = 1 ;
> DO UNTIL ( EOF ) ;
> INFILE q FILENAME=FN END = EOF eov = eov length = len ;
> b4fn = fn ; /* V6.12 must capture filename before input */
> INPUT TEXT $varying132. len ;
> aftfn = fn ; /* V8 must capture filename after input */
> eovflg = eov ;
> output ;
> if eov or firstflg then
> do ;
> eov = 0 ;
> end ;
> end ;
> run ;
> Perhaps there ought to be a time limit on bug fixes. If a bug hasn't been
> fixed for 10 years, perhaps it shouldn't be. At least it should make it
> to the list. Please continue.
> Ian Whitlock <email@example.com>