Chapter Contents

Previous

Next
SAS Companion for the CMS Environment

Solving Problems under CMS

As you use SAS in a CMS environment, you may encounter many different kinds of problems. The problem may actually be with some component of the operating environment or with computer resources other than SAS. The problem may also be caused by operating environment commands being executed or used incorrectly.


Problems Associated with the CMS Operating System

If the problem is operating-system dependent, you will receive messages on the terminal screen. You may need to consult an appropriate IBM manual or your onsite systems staff to actually determine the problem and how to solve it. Much error message information can be found in the CMS HELP system. For example, if you get an DMSSCT120S error on your terminal, key in HELP DMS120S and you will see an explanation as well as a list of possible causes of the error. Consult the appropriate system manual to determine the source of the problem.


Solving Problems within the SAS System

Several resources are available to help you if you determine that your problem is within SAS. These resources are discussed in the following sections.

Examining the SAS Log

The primary source of information for solving problems that occur within SAS is the SAS log. The log lists the SAS source statements along with notes about each step, warning messages, and error messages. Errors are flagged in the code, and a numbered error message is printed in the log. It is often easy to find the incorrect step or statement just by glancing at the SAS log.

Using SAS System Documentation

Sometimes information in the SAS log enables you to identify the source of the problem, but you cannot resolve the problem based on that information. In that case, the next step may be to read the documentation for the particular topic.

Online Help

In the windowing environment, extensive help is available through the online help facility. For host-specific features, issue the PMENU command as needed to display SAS menus, then select:

Help
[arrow]
SAS System Help
[arrow]
Using SAS With Your Operating Environment
Then select help topics of interest at increasing levels of detail.

In the HELP BROWSER window, use (by default) the F17 and F18 keys to move to the previous and next help windows, respectively. Use the F19 and F20 keys to scroll up and down through help files that exceed the length of the SAS help window.

Using User-Defined Help

Your site may provide user-defined help that provides site-specific information via the standard SAS help browser. To access user-defined help via the SAS help browser, you need to allocate a user-defined help library at SAS invocation.

The user-defined help library contains help information in the form of one or more itemstores, which utilize a file format that allows SAS to treat the itemstore as a file system within a file. Each itemstore can contain directories, subdirectories, and individual help topics.

For information on loading user-defined help into itemstores, refer to the next section and to ITEMS.

Developing User-Defined Help

You can develop help for your site or for your SAS programs that can be displayed in the standard SAS help browser. To ensure that your the user-defined help will be displayed as it is written, use only the subset of tags from HTML Version 3.2 that are supported on the SAS help browser. Help information in tags that are not supported by the SAS help browser may be ignored by the SAS help browser.

HTML Tags Supported by the SAS Help Browser describes the HTML tags supported by the SAS help browser. To summarize the contents of the table, the TABLE tag is the only frequently used tag that is not supported at this time. To add tables to your help, use the PRE tag and format the text manually using blank spaces, vertical bars, dashes, and underscores as needed.

For information on loading your help into itemstores, see ITEMS.

HTML Tags Supported by the SAS Help Browser
Tag Type Tag Names Description
heading H1, H2, H3, H4, H5, H6 for hierarchical section headings
paragraph P for text in the body of a help file
list UL, OL, DIR, MENU for unordered ("bullet") lists, ordered (numbered) lists, directory (unordered, no bullets) lists, and menu (unordered) lists
definition list DL, DT, DD for definition list, title of item and definition of item
preformatted text PRE, XMP, LISTING for tables, which must be manually formatted with blank spaces
font specification I, B, U For italic, bold, and underlined text
phrase EM, STRONG, DFN, CODE, SAMP, KBD, VAR, CITE for emphasis, strong emphasis, definitions, code examples, code samples, keyboard key names, variables, citations
link A, LINK for anchors and the links that reference those anchors
document TITLE, BASE, HEAD, HTML for titles in the browser, base URLs, heading sections at the top of a page

For information on the options available for these tags, see any reference for HTML Version 3.2.

Online Documentation (CD-ROM)

The CD-ROM that is supplied with SAS software contains most of the documentation for base SAS, including SAS Language Reference: Dictionary and other titles. If you encounter a problem that cannot be solved based on the information provided in the SAS log or in SAS online help, load the CD-ROM disk into a CD-ROM reader and browse through the contents of the books contained therein.

Hardcopy Documentation

Contact your SAS Support Representative for assistance with ordering hardcopy documentation.

DATA Step Debugger

The DATA step debugger is an interactive tool that helps you find logic errors, and sometimes data errors, in SAS DATA steps. By issuing commands, you can execute DATA step statements one by one or in groups, pausing at any point to display the resulting variable values in a window. You can also bypass the execution of one or more statements.

For complete information about the DATA step debugger, see SAS Language Reference: Dictionary.

Using SAS Statements and Procedures to Identify Problems

If you are having a problem with the logic of your program, there might be no error messages or warning messages to help you. You might not get the results or output that you expect. Using the PUT statement to write messages to the SAS log or to dump the values of all or some of your variables might help. Using PUT statements enables you to follow the flow of the problem and to see what is going on at strategic places in your program.

Some problems may be data related; these can be very hard to trace. Notes that appear in the SAS log following the step that reads and manipulates the data might be very helpful. These notes provide information such as the number of variables and observations that were created. You can also use the CONTENTS and PRINT procedures to look at the data definitions as SAS recorded them or to actually look at all or parts of the data in question.


Recovering Memory Resources

During execution, when SAS cannot acquire sufficient memory or disk space to perform the executable tasks, SAS uses a requestor window or a requestor prompt to ask you how you want to handle the situation. The requestor window displays a list of alternatives from which you are allowed to select an item to be released. The requestor window redisplays until sufficient resources have been released to allow execution to continue. Alternatively, you can select Continuous cleanup or Do nothing.

Requestor Window Selections

The following list explains the choices given in the requestor window plus some other possible selections.

Be prompted to delete files from SAS libraries
allows you to select which SAS files to delete.

Clean up everything
invokes every item shown in the requestor window. This selection applies only for the current resource request.

Clear LOG window
erases the contents of the LOG window.

Clear OUTPUT window
erases the contents of the OUTPUT window.

Clear paste buffers
deletes what is saved in the paste buffers.

Clear PROGRAM EDITOR window
erases the contents of the PROGRAM EDITOR window.

Clear source spooling/DMS recall buffers
erases the recall buffers.

Continuous cleanup
tells SAS to perform automatic continuous cleanup. The SAS System will perform cleanup as much as possible and subsequently not display the requestor window for an out-of-memory condition. This selection applies for the remainder of the SAS session. If you would like SAS to always perform automatic continuous cleanup, specify the CLEANUP system option when you invoke SAS.

Deassign inactive librefs
allows you to select which librefs to deassign.

Delete definitions of all SAS macros and macro variables
deletes all macro definitions and variables.

Do nothing
tells SAS to do nothing and allow the resource request to fail. This selection applies only for the current resource request.

You can select this option at any time. If you have tried all the other selections and still cannot recover enough resources, you should select this option or the 'Continuous cleanup' option.

Execute X command
puts your SAS session into CMS subset mode. This enables you to erase files to free up disk space or release accessed disks to make more memory available. Be careful not to erase temporary SAS files.

Free windows
removes enough windows to get enough space to continue.

Halt data step/proc
tells SAS to stop the current step.

More items to cleanup
means that there are more items to cleanup than can be displayed in this window. Choose this selection to see the additional list.

Terminate SAS
aborts SAS. SAS files that are currently being modified are marked as damaged. The next time you use the file, you receive a message that SAS is recovering as much data as possible from the file.

A requestor window always displays for a disk-full condition during an interactive session.

If your cleanup selection does not satisfy the immediate need, a second message is displayed in the requestor window:


NOT ENOUGH resource WAS CLEANED UP. PLEASE TRY AGAIN.

To determine whether sufficient resources can be recovered so that SAS can continue in a normal fashion, select 'Clean up everything'. If the requestor window returns the TRY AGAIN message, the situation is much more serious. If you have other files that can be erased to free disk space or disks that can be released to make more memory available, select the 'Execute X command' item.

CAUTION:
Be careful not to erase temporary SAS files.   [cautend]
If this last step doesn't work, you must tell SAS to give up by selecting the 'Do nothing' or 'Continuous cleanup' item.

From the requestor window you can stop execution of SAS by selecting the 'Terminate SAS' item.

CAUTION:
This method of stopping SAS may cause a SAS file to lose the data that was last added or modified.   [cautend]

Using the CLEANUP System Option

The default value for the CLEANUP system option is CLEANUP. When CLEANUP is in effect, SAS does automatic continuous cleanup, and you are shown a requestor window or a requestor prompt only for a disk-full condition.

The NOCLEANUP option will display requestor windows during resource constrained situations if there is a terminal attached. However, the requestor windows do not display while SAS is running in a CMS batch machine or a disconnected virtual machine. When a resource-critical situation arises, SAS performs automatic continuous cleanup. If insufficient resources are recovered, SAS responds as if you had specified the CLEANUP system option.


Chapter Contents

Previous

Next

Top of Page

Copyright © 1999 by SAS Institute Inc., Cary, NC, USA. All rights reserved.