SAS 6.12 for Mac OS for PowerPC

Welcome!

Welcome to the SAS for the Macintosh Resource Page special report on the newly-released SAS version 6.12 for Mac OS for Power PC!

---------------

It's Here!

The Name Game

First of all, notice that it's now named "SAS 6.12 for Mac OS for PowerPC" If you have a 68K machine, you'll need to stay with SAS 6.10; version 6.12 is PowerPC only. The rest of the somewhat unwieldy name reflects Apples' OS naming decisions and the rise of the clone market.

The Brief Evaluation

It seems nice so far; I've been working with the production release for about a week now. There are lots of new features, making the Mac more of a "mainstream" SAS platform. However, there are still a number of "outstanding problems", otherwise known as bugs. If you use SAS/INSIGHT, read the bug report section below carefully.

---------------

New Features

Late features from 6.10

Some of the "new" features of SAS 6.12 were actually released in later copies of SAS 6.10. Most notable are the Invoke SAS AppleScript extension and the SAS System OpenDoc part, which were originally available on the February 1996 Usage Notes CD and which are installed in the "SAS Extras" folder.

New Features

The new features of version 6.12 on the Mac include:

---------------

Help!

Version 6.12 comes with a new approach to providing help, and configuring it can be a bit maddening. What follows is a discussion of how the help is provided, what sorts of problems arise, and how to fix them. I think I've come up with a fairly decent solution, down at the end of this section. I've subsectioned because it got a little long.

  1. Welcome to HTML Help
  2. Configuring HTML Help
  3. What Help is Where?
  4. Help Structure and Loading Problems
  5. Looking Things Up
  6. Printing the Documentation
  7. The Help System and Disk Space
  8. Making Help Work for You (rather than vice versa)

Welcome to HTML Help!

The primary format for help in the new release of SAS is the HTML package and browser. The online documentation, including the new SAS Companion for Mac OS for PowerPC, is readable with your web browser. The good thing about this is that it avoids having to have one more help application to run and one more interface to learn. There are bad things, but the biggest one is probably that search and index capabilities are limited compared to dedicated online programs.

SAS comes with a couple of tools to help you get the help system set up. One is Apple's Cyberdog web browser, and the other is the Internet Config package. If you don't already have Internet Config, you should; this is a great package that lets you keep your Internet-related settings in a central place where all programs know where to look for them. Cyberdog is not as essential; the help system works with Netscape Navigator and Internet Explorer.

Configuring HTML Help

Setting up HTML help is a little tricky. For the HTML help to work properly, you need to check settings both in your config.sas612 file and in Internet Config.

In the config.sas612 file, you need to have the following lines:

-helpenv   html
-helploc   "Hard Drive:SAS612"

The first option tells SAS to use the HTML help system; the second points the folder which contains the file macdoc.html and the folder help, which contains the rest of the HTML and support files for the help system. By default, this is the same as the SASROOT folder.

Once you've told SAS where the help is, you need to make sure it can find your browser. Even if you're already using Internet Config, you will probably need to change your settings. Normally, in the "Helpers" window of Internet Config, you will set your browser to be the "http" helper; if this is all you have, however, when you try to access help from within SAS you will get the older, character-based help system, along with an error message in the log looking something like:

ERROR: Couldn't launch browser, Mac OS err -666.

The reason for this is that SAS usually sends a request to open a "file://" URL rather than a "http://" URL. By default, Internet Config doesn't know about "file://" URLs, so it produces an error; you need to teach it about the "file://" URL to make the SAS HTML help work. In the Internet Config helpers window, click on the "Add" button. In the "Helper for:" box, enter "file". Then click on "Choose Helper", select your browser again, and save your Internet Config settings. (Note that Internet Config settings are not changed until you close the window or specifically select File --> Save from the menu bar.)

If you want to use the older, character-based help menu system, you need to comment out the -helpenv and -helploc lines in your config.sas612 file. The older help system has some things that the HTML help does not; specifically, it has an extensive syntax guide.

What Help is Where?

The choices offered by the SAS Guide menu (or Help menu) are a little confusing. What results you get depend on the settings in your config.sas612 file. Two of the menu items produce the same results no matter what the help environment is: "Online Training" brings up SAS/TUTOR (if it is installed), and "Keys" brings up the standard keys window.

With HTML help turned on, "Extended Help" and "SAS System" both bring up a list of online documentation in your web browser. "Online Documentation" brings up a window with frames, including the list of online documents, links to the SAS web site, and a tabular presentation of the table of contents from the new SAS Companion for MacOS for PowerPC. Entering "Help" in the command box or clicking on the Help icon in the tool palette also brings up the basic list of online documents.

With HTML help turned off, "Extended Help", "SAS System", entering "help" in the command box, and clicking on the Help icon in the tool palette all bring up the older text-based help system. "Online Documentation" brings up a window with a message telling you to use the HTML documentation instead. Similar messages appear from within the text-based help when you ask for "Host Information" or "Online Documentation".

Help Structure and Loading Problems

The HTML help is structured as a series of online documents, with individual HTML files as large as 750MB (the SAS/EIS tutorial). In the SASROOT directory is a file called macdoc.html, which is a frame-based index of the available online help. The rest of the help files are located in the help folder within the SASROOT folder.

Each piece of documentation except the Mac OS Companion has its own folder inside the help folder. The entire text of the document is in a file called Master.html within that folder, along with supporting files including illustrations (in .gif files) and appendices. The Mac OS Companion files are stored in the help folder itself.

Some of these files are large enough to present browser problems. The MacOS Companion base file is 318K, and would not load properly until I increased Internet Explorer's memory allocation to 6MB (the default is 4MB). Even when the files load properly, links within the main document can present problems; if you click on a link before the anchor it references has been loaded, the link will not work. The Mac OS Companion master file, for example, seems to take about thirty seconds to load completely. Increasing the memory allocation also seems to alleviate this problem somewhat; if you click on a link and are brought to the top of a document rather than to the appropriate spot within, try waiting for the document to finish loading, click on the back button, and then click on the link you just followed. Usually this will shift back to the page you were after and scroll to the correct point.

Looking Things Up

The HTML documentation has no index. There is a clickable table of contents, but sometimes it's not obvious what section contains the information you're after. There are two solutions to this situation for the SAS HTML help. First, because each document is a single HTML file, you can use your browser's "find" command to search for words or phrases within that document. If you want to find out about SAS and AppleScript, for example, load up the Mac OS Companion and search for the string "AppleScript" using cmd-F (to specify the first occurrence) or cmd-G (to find additional occurrences).

The second solution--if you're not even sure which document contains the information--is to use a text-based search program to look through the raw HTML files for a word or phrase. There are shareware searchers (though I can't remember names at present), as well as a directory search capability within Microsoft Word 5.1 and BBEdit 4.0.

Printing the Documentation

As I mention above, SAS has said that there are no plans to make a hard-copy version of the SAS Companion for Mac OS available. While most browsers can print the document you're viewing with no problem, the entire Mac OS Companion is almost 140 pages long, including a ten-page section at the front listing the contents of the other online documentation. Since browsers don't show pagination, it's hard to print out a selected section of the document. Some print drivers (such as the HP DeskWriter driver) let you preview the document; this lets you figure out which pages you need, but can be time-consuming since the computer has to set up the entire document before you can preview it.

One possible solution--which I haven't tried--is to "print" your document into a PDF file, and then use Acrobat Reader to view and print the pages you want. You could even make a copy of the HTML file, remove the extra material from the front end and do other cleanup work, and then create the PDF file from your modified HTML file. If you already have the necessary software to create PDF files, this may be the best solution. (It may also be more useful if you have a large installation, and you can distribute a PDF document to several users.)

The Help System and Disk Space

One of the weaknesses of the Macintosh HFS file system is the storage of small files on large disks. Because there are a limited number of allocation blocks, small files end up "wasting" space--for example, on a 2GB hard drive, files take up space in 32K chunks. Hence, if you have a lot of tiny files, they will be stored inefficiently since each must take up at least 32K. One of the problems with HTML documentation in general is that, because it consists of a large number of small files, it takes up more space than it should on your hard drive. On a 2GB hard drive the SAS 6.12 HTML documentation, which contains 13MB of data, takes up 32MB of disk space.

One solution to this is to use a smaller disk (or create a small partition) to store these small files. In this case, this is a little more complex, because SAS itself will be installed on a larger drive, and SAS expects the help files to be in the SASROOT folder. However, there are two workarounds: you can either put aliases to macdoc.html and the help folder in the SASROOT folder, or change the value of HELPLOC in the config.sas612 file to point to the disk on which you have put the HTML-based help files.

Another solution, if you choose to create a PDF file of the HTML documents for printing purposes, would be to keep the PDF file instead of the HTML and use Acrobat Reader rather than a web browser for access to this documentation. Since a PDF document is a single file, there would be no wasted space. This solution would make it more difficult to invoke the help from within SAS, but not impossible; the toolbar trick discussed below will work just as well for a PDF file.

Making Help Work for You (rather than vice versa)

The big problem as I see it: the traditional text-based help and the new HTML help contain different information--the syntax guide in the traditional help is essential if you need to quickly figure out how to use an option in a complicated PROC--and yet, by default, SAS forces you to choose between the two. However, remember that the HTML help uses (a) files stored on your hard drive and (b) a separate application as your browser. This means that the actual process of viewing this help does not involve SAS at all.

An obvious solution would be to reset the HELPENV option from within your SAS session. Unfortunately, HELPENV and HELPLOC cannot be changed except at startup. (These options are not documented in the SAS MacOS Companion. Experimentation shows that the the opposite of HELPENV=HTML is HELPENV=SAS, and that trying to set HELPENV with an OPTIONS statement gives an error message.)

The quickest solution to set up is to turn off HTML help (by commenting out the HELPENV and HELPLOC lines in the config.sas612 file) and then, when you want HTML help, drag the Macdoc.html file onto the icon of your browser of choice.

A simple shortcut is to double-click on the macdoc.html file (or an alias of it). This opens the file with the application matching the file's creator code. As shipped, this creator code is "MOSS" for Netscape Navigator. If you prefer Internet Explorer, change the code to "MSIE" using ResEdit, Drop*Attribute, or another utility which can change creator codes.

You can also add a "HTML Help" button to the SAS toolbar thanks to the X command. This command sends an AppleScript statement to the system software for execution. First, set the creator code on macdoc.html as described above, so that the file "knows" what browser to use. Then create a new button on the toolbar with the following command:

x tell application "Finder" to open file "Hard Drive:SAS612:macdoc.html"; run ;

Give this button a descriptive name and icon, and save the changes to the toolbar. This will give you an additional help button that will bring up the HTML-based help while leaving the standard SAS help available through the existing help button, command line, and help menu. The macdoc.html file will bring up the frame-based menu of online documentation, along with the table of contents of the SAS MacOS Companion. If you find that you regularly use one of the other online documents, you can give that document a button by substituting the correct pathname. For that matter, if you create a PDF version of a document, you can point to that document (and thus to Adobe Acrobat) with the same syntax.

I suggest telling the Finder to open the file rather than telling the browser because in my brief bit of experimentation with Internet Explorer, although the document loaded properly, it generated an error message in the SAS log and failed to bring Explorer to the foreground. The "run" command may be unnecessary; in some situations it generates an error message (but otherwise works); in other situations there is no error message. If you find a better or more elegant solution, please let me know.

Note that some parts of SAS (e.g. the SAS Desktop) have specialized help buttons on customized toolbars that don't work when you have text-based help turned on and that bring up a specialized HTML document when you have HTML help enabled. The best solution here is probably to define a new custom button for that specific toolbar which points to the appropriate HTML file.

One final tip: do you remember the Apple Guide format SAS Companion provided with Macintosh SAS 6.10? Well, although it's no longer provided, and in my opinion it's a shame SAS isn't taking advantage of Apple Guide's features, the 6.10 Guide will still work with Mac OS SAS 6.12. Just drag the old Guide file into the same folder as the SAS application, and the "Host Guide" option will show up on the help menu. This works because the Apple Guide display is handled by the system, not by SAS, so SAS doesn't have to know about it for it to run. (Similarly, if future versions of SAS shift away from HTML documentation, you'll still be able to access the old docs with a browser.)

---------------

Bug Report

This section is intended to be a clearinghouse for outstanding problems with SAS 6.12 for Mac OS. If you find a problem that's not listed, let me know and I'll put it on the list and see if there's an explanation. There's a separate section for SAS/INSIGHT problems; I will add other sections as needed.

General Problems

  1. Copy Deselects Text. Selecting a block of text and choosing Copy from the menu (or by using cmd-C) copies to the clipboard and deselects the text. It should leave the selection highlighted.
  2. Paste Misplaces Cursor. When you paste text, the insertion point ends up before the inserted text. It should be after the pasted text (Macintosh Human Interface Guidelines, p. 115).
  3. Batch Job Output Type Codes. The file creator code for .log and .lst files created in batch mode (via the Invoke SAS scripting extension) is incorrect. It is " " (four spaces) and should be SaS6 or--even better--should be user-configurable, since users may want to open these files with an editor rather than with SAS.
  4. SAS/CONNECT Password Prompt. The userid and password prompt dialogs during a SAS/CONNECT signon are too narrow to show the prompt message in its entirety.
  5. Library Browser Problems. The experimental library browser is Not Ready For Prime Time. On opening some kinds of catalog entries, it crashes. This may or may not be a problem with memory availability. As the release notes document, the "New Library" function is not implemented; you must still use the old-style library browser if you want all the functions.
  6. Highly Mobile Toolbar. The toolbar behaves badly when you move it; if you move it partially off-screen, it jumps back on-screen the next time you move it. If you move it onto a second monitor, it jumps back onto the main monitor almost immediately. I have not tested this with the command box, but it probably has the same problem. On the plus side, under Mac OS 8, the window roll-up boxes work properly for the toolbars; earlier versions of Windowshade did not work on horizontal windoids like these.
  7. Misplaced Quit Dialog. The "Are you sure you really want to terminate the SAS Session?" dialog appears centered across all open windows, including those partially off-screen, even if this means that the dialog itself is wholly or partly off-screen. In addition, the quit dialog does not recognize the escape key as a shortcut for "Cancel", so if the Cancel button is hidden there is no way to cancel the quit command.
  8. Help System. In addition to the configuration problems designed above, some things qualify as bugs. Most notably, the following:
    1. There are two help systems (character-based menu and HTML), with two different sets of information, and with no obvious way to be able to access both at the same time. While the programmable toolbar provides a work-around, it's not a solution.
    2. The menu items are unclear and redundant. No matter which help system you choose, there are at least two menu items which give you the same result. The names of the menu items (aside from "Online Training" and "Keys") give very little hint as to what will come up when you choose them.
    3. The new help options are undocumented. Specifically, there is no mention in the SAS MacOS Companion of the HELPENV and HELPLOC options.
    4. The close box on the character-based help window acts as a "back" button rather than as a window close box.
    5. While clicking around in the character-based menu, I have had help exit with an "UNMAPPED MEMORY captured in task 'HELP'. Generic critical error." message. I can replicate it by starting SAS, bringing up the text-based help, and clicking on all the items starting with the first; when I click on INDEX, help exits with the error message.
  9. Detecting Changes. If you bring up the Global Options or Keys windows, and scroll to see the window contents, when you close the window SAS will ask if you want to save changes whether you actually made changes or not.
  10. Superfluous Scrollbars. If you bring up the Options or Keys windows, or the SAS Desktop, you will have horizontal and vertical scrollbars even if the entire contents of the window fit without scrolling.
  11. Inconsistent Menu Items. The item to save window size and position is called "Save attributes" most of the time, but with the Options window or Keys window in front it becomes "Change display Save attributes", although it apparently does the same thing.
  12. Forward and Back Keys. SAS will tell you to press Forward (or Back) to navigate through the help--but it's not obvious that this means F7 (back) and F8 (forward) unless you check with the Keys window. What's not clearly documented is that the "page up" and "page down" keys are perfect substitutes for "forward" and "back".
  13. Problems with .log and .lst Files. When you use the AppleScript extension to invoke SAS, the output files have extraneous form feed characters (which print as squares in most fonts). In addition, the .log and .lst files have no creator code, so they do not automatically open in any application.
  14. Shift-down-arrow in Program Editor. If you hold down shift and use the down arrow to try to select multiple lines in the program editor, the window scrolls horizontally all the way to the right. In most cases, this hides the left end of the lines, often to the degree that you can't see what's on them.
  15. Jumpy Tool Palette. The tool palette doesn't go where it's told all the time, especially if you try to put it partly off-screen. It will jump back on-screen when it gets a chance.
  16. The SAS Desktop. As mentioned above, it's slow to the point of being unusable.
  17. Misleading Menus. SAS does not keep track of what products you install. Thus, menu items are not greyed out when an option is unavailable. If you select a menu item and get an error message in the SAS log, this probably means the menu item you've picked points to a product which is not installed on your system.

SAS/INSIGHT Problems

  1. Paste Unavailable in Data Window. In the data window, you cannot paste values into a cell.
  2. Color Blends. The color blend button does not work for interval variables. Instead of producing a blend, the first 1/3 of observations get the left-hand color, the last 1/3 of observations get the right-hand color, and the middle 1/3 are colored black. This worked correctly in version 6.10.
  3. Tool Indicator. The tool palette does not indicate which tool (hand, arrow, or magnifying glass) is selected.
  4. Variable Name Window. In most dialogs, the box containing the list of variable names truncates the last character of each name.
  5. Variable Selection. If you click to highlight a variable name in most analyze dialogs, clicking on a second variable name selects both variables rather than only the second one. Once you've clicked on a variable, the only way to deselect it is to command-click.
  6. Exit SAS/INSIGHT Dialog. The "Exit SAS/INSIGHT?" dialog only appears intermittently. It does not have a default button selected, and has a nonfunctional close box. Oddly enough, it appears when you hit Cancel from the SAS/INSIGHT Open dialog box (at which point you have no work to lose) but often does not appear when you close the data window (at which point you may well have done something you wanted to save).

---------------

Feedback

Let me know what you think of SAS 6.12 for Mac OS for PowerPC via email (scocca@email.unc.edu)--other opinions would be welcomed!

---------------

Return to SAS for the Macintosh.

---------------