|
 TS-517
THE SAS WINDOWING ENVIRONMENT ON IBM MAINFRAMES
Abstract
The appearance of screens displayed by the SAS Display Manager System
and other SAS windowing applications on IBM mainframes depends on the
characteristics of the terminal being used. This article explains how
and why the application's appearance differs between types of terminals,
describes how to control the windowing environment, and discusses some
of the problems that may arise.
Introduction
This article provides an overview of Version 6 of the SAS System
windowing environment using IBM terminals and terminal emulators under
the MVS and CMS operating systems. In this article, terminals also
includes terminal emulators. By default, the SAS System uses the
full capabilities of your device when displaying such features as window
borders, icons, and graphics. However, you may want or need to override
defaults used by the SAS System. The article describes some of the
potential problems you may encounter, how you can circumvent them,
and how you can use SAS system options to control the windowing
environment.
The appendix provides details on the SAS windowing system options
presented and describes how to use the display manager TERMSTAT command
to display terminal characteristics.
Non-Extended and Extended Data Stream Devices
For most SAS applications, IBM terminals can be classified into two
major categories: non-Extended Data Stream (non-EDS) and Extended Data
Stream (EDS).
Non-EDS devices are limited to displaying application screens with the
device's hardware character set. Non-EDS devices do not support
graphics, multiple colors, or extended highlighting (reverse video,
blinking, and underlining).
In addition to the hardware character set, EDS terminals can also use
extended attributes to further enhance the display. Extended attributes
are character or field attributes that can define color, the character
set used (such as the APL character and Programmed Symbol sets), and
extended highlighting. For a terminal to use extended attributes,
the following criteria must be met:
- The terminal must support EDS.
- The terminal definition in the host communications software
(VTAM or VM) must support EDS.
- The control unit port must be configured to support EDS.
If any of these criteria are not met, the terminal will function
as a non-EDS terminal.
How the SAS System Determines What Type of Terminal You Are Using
For the SAS System to display its display manager window system, it
needs to know the characteristics of the terminal you are using. Upon
invocation, the SAS System determines whether or not the device supports
EDS by checking the terminal definition in the host communication
software (VTAM or VM). The terminal definition also provides
information on the device's number of rows and columns. If the terminal
definition shows non-EDS support, the SAS System uses a non-EDS
windowing device driver. If the terminal definition shows EDS support,
the SAS System uses an EDS windowing device driver.
The EDS windowing device driver obtains further information about the
device by examining the Read Partition Query reply from the device (the
SAS System does not use the Read Partition Query operation for non-EDS
devices). Information obtained from the Read Partition Query reply
includes the number of colors the device supports, what highlighting
attributes are supported, character cell size, and which character sets
are available (such as APL character and Programmed Symbol sets).
You can see what attributes are supported by your device by issuing the
display manager TERMSTAT command (refer to the Appendix for more
information on TERMSTAT).
How the SAS System Uses Terminal Characteristics
The following sections discuss specific issues that relate to the SAS
windowing environment. These issues include display manager window
borders, SAS/ASSIST and SAS/AF choice block menus, mouse support,
and graphics support. Also included are potential problems you may
encounter and how to circumvent them.
Display Manager Window Borders
The SAS System can draw display manager window borders using either
Programmed Symbols, the APL character set, or the device's hardware
character set. The SAS system option FSBORDER=, which you can specify at
invocation or in a configuration file, controls the method used to
display window borders. Valid values for the FSBORDER= option are BEST,
PS, APL, and NONE. The default value of the FSBORDER= option is BEST.
This means that the SAS System determines the method for displaying the
window borders that is most appropriate for the terminal being used. Not
all devices support each method for displaying the window borders.
Display Manager Window Borders on Non-EDS Devices
Non-EDS devices can draw display manager window borders only with the
hardware character set of the device. Regardless of the value of the
FSBORDER= option, the SAS System uses plus signs (+) for the corners,
dashes (-) for the horizontal borders, and vertical bars (|) for the
vertical borders.
Display Manager Window Borders on EDS Devices
On EDS devices, the SAS System can draw display manager window borders
using Programmed Symbols, the APL character set, or the device's
hardware character set. In order for display manager to use the
Programmed Symbol set or the APL character set, the device must first
support one of these features. If your device supports Programmed
Symbols, then by default the SAS System uses them to define and draw
thin solid window borders. If your device does not support Programmed
Symbols but supports the APL character set, the SAS System by default
uses the APL character set to draw thin window borders. The appearance
of the window borders drawn with Programmed Symbols and the APL character
set is similar. If your device does not support either Programmed Symbols
or the APL character set, the SAS System by default uses the hardware
character set of the device and the reverse video attribute to draw thick
window borders.
On EDS devices, after you invoke display manager, you can change the
appearance of the window borders by using the display manager COLOR
command. For more information on display manager commands, see Chapter
18, "SAS Display Manager Commands," in SAS Language Reference, Version
6, First Edition. You can use this command to control each window
separately. For example, to get thick window borders on devices that
support the APL character set, use the COLOR command and specify the
reverse video attribute as follows:
COLOR BORDER any-valid-color REVERSE
To change the window borders back to thin lines, use the COLOR command
as follows:
COLOR BORDER any-valid-color
The display manager WSAVE command can be used to save the attributes of
the window in your SASUSER.PROFILE catalog. For more information, see
Chapter 18 in SAS Language Reference.
Potential Problems with Display Manager Window Borders
In some cases, when you are using a 3270 emulation package for personal
computers, the display manager window borders may be missing completely
or may be displayed with alphabetical or garbage characters instead of
solid lines. This situation can occur if the 3270 emulation package
erroneously shows support for the APL character set when it actually
does not fully support the APL character set. To see whether or not
your terminal emulation package supprots the APL character set, use the
display manager TERMSTAT command. To circumvent the problem, specify the
SAS system option FSBORDER=NONE when invoking the SAS System, so that the
device's hardware character set is used to draw the window borders. You
should report problems with the APL character set to your 3270 PC emulation
software vendor.
SAS/ASSIST and SAS/AF Choice Block Menus
The SAS System can use Programmed Symbols and the hardware character set
of the device to display choice block menus used in SAS/AF and
SAS/ASSIST software. Starting with Release 6.07TS301 of the SAS System,
Graphic Symbol sets can also be used to display icons in the SAS/ASSIST
choice block menus.
Choice Block Menus on Non-EDS Devices
On non-EDS devices, the SAS/ASSIST and SAS/AF choice block menus can be
displayed only with the device's hardware character set. The SAS System
will use plus signs (+) for the corners, dashes (-) for the horizontal
borders, and vertical bars (|) for the vertical borders for each choice
block.
Choice Block Menus on EDS Devices
Prior to Release 6.07TS301, the SAS System would display the SAS/AF and
SAS/ASSIST choice block menus with a combination of Programmed Symbols
and the hardware character set, or with just the hardware character set
of the device. Starting in Release 6.07TS301, the SAS System can also
display the SAS/ASSIST choice block menus using Graphic Symbol sets on
devices such as the IBM 3179 model G terminal. However, in order to use
Graphic Symbol sets or Programmed Symbols, the device must first have
the corresponding capability. You can see what characteristics are
supported by your device by issuing the display manager TERMSTAT command.
Terminals that use Programmed Symbols and the hardware character set can
display SAS/AF and SAS/ASSIST choice block menus but they will not display
using graphical icons. Shading for the choice block menus is drawn using
Programmed Symbols or the hardware character set for the device. On terminals
that support Programmed Symbols, the FSBORDER= option can be set to NONE so
that the SAS System will use only the hardware character set to display the
choice block menus.
Devices that support Graphic Symbol sets can display the SAS/ASSIST
choice block menus as graphical icons. Graphic Symbol sets are used
to create the icons displayed in the SAS/ASSIST choice block menus. The
SAS system option FSDEVICE= can be used to control whether to use
Graphic Symbol sets to draw choice menu blocks on devices that
support them. Setting FSDEVICE=EM3179 keeps the EDS device driver
from using Graphic Symbol sets to display the SAS/ASSIST choice block
menus. In this case, depending on the capabilities of the device, the
SAS System uses either a combination of Programmed Symbols and hardware
characters or just the hardware characters to display the SAS/ASSIST
choice block menus.
Potential Problems with Windowing Applications
Problems can occur in running SAS windowing applications if the amount
of data sent to the device is more than the device or system can handle.
These problems include locking the terminal, PROGxxx errors, IKT00405I
SCREEN ERASURE messages under MVS, or CONSOLE WRITE I/O errors under
CMS. To correct the problem, use the SAS system option $FSBUFSZ= to decrease
the maximum amount of data sent at one time by the windowing device driver.
For users experiencing this problem, the recommended value for $FSBUFSZ= is
1536.
Mouse Support and the Graphics Cursor
The SAS System supports the use of a mouse with many IBM terminals and
terminal emulation packages for PCs. To use a mouse with the SAS System
under MVS or CMS, the terminal or terminal emulator must provide mouse
support. Non-EDS terminals do not support the use of a mouse. If your
terminal or emulation package supports a mouse, the SAS System
automatically uses it and you should not have to make any modifications
to the SAS System.
Mouse Support for EDS Terminals
Mouse support is provided by way of the graphics cursor. This means
that the terminal must also support graphics. Pressing the left mouse
button has the effect of moving the text cursor to the location of the
graphics cursor and pressing ENTER. The middle button (or second button
on a PS/2 mouse) definition depends on the window being used. For
example, the middle button is defined as "ZOOM OFF; SUBMIT" in the
PROGRAM EDITOR window and "END" in the GREPLAY window. This mouse button
can be redefined by using the display manager KEYDEF command or by
selecting 'MB2' in the display manager KEYS window. For more information
on display manager commands, see Chapter 18 in SAS Language Reference.
Mainframe terminals that support a mouse include the following:
- IBM 3179 model G with the optional IBM 3979 expansion unit and an
optical mouse
- IBM 3192 model G with the optional IBM 3979 expansion unit and an
optical mouse
- IBM 3472 model G with a two-button PS/2 mechanical mouse
- Tektronix CX terminals with a keyboard-attached mouse.
Note that IBM 32xx terminals do not provide support for a mouse or the
graphics cursor. IBM 3179 model G and IBM 3192 model G mainframe
graphics terminals not equipped with an IBM 3979 expansion unit and a
mouse can still use the graphics cursor, moving it around the screen
with keyboard arrow text cursor keys.
3270 Emulation Packages for Personal Computers
A mouse is supported two ways with 3270 emulation packages for PCs: by
the graphics cursor and by the keyboard text cursor. Note that not all
3270 emulation packages provide mouse support and some packages provide
support only with the keyboard text cursor. For information on how to
use a mouse with the graphics cursor, refer to "Mouse Support for EDS
Terminals" earlier in this article.
If the graphics cursor is not supported by the terminal emulation
package, the mouse can be used with the text cursor. The text cursor is
either a block or underscore-style character that moves when you type on
the keyboard. In order for the SAS System to use an emulation package
that provides mouse support with the text cursor, the left mouse button
must be defined in the emulation package configuration menu to function
similarly to the ENTER key. This means that the mouse will function just
as though you moved the text cursor with the keyboard TAB key or the
keyboard text arrow keys and then pressed the ENTER key. For more
information on whether your emulation package provides mouse support,
consult the documentation for the emulation package.
The following terminal emulation packages provide mouse support in
conjunction with the graphics cursor:
VENDOR PACKAGE
---------------- --------------------------------------------
Attachmate Extra! for Windows with HGO (Host
Graphics Option)
Attachmate Extra! Extended for DOS with HGO (Host
Graphics Option)
DCA IRMA Workstation for Windows along with IRMA
Graphics for Windows
DCA IRMAX and APA graphics
IBM OS/2 Communications Manager with
GDDM-OS/2 LINK
IBM PC/3270 for Windows (configured for host
graphics support)
Novell Netware Multisession and APA Graphics
Wall Data Rumba along with Rumba Graphics
Zephyr Development Passport along with Passport Graphics
The following terminal emulation packages provide mouse support in
conjunction with the keyboard text cursor:
VENDOR PACKAGE
---------------- --------------------------------------------
Attachmate Extra! Extended for DOS (without graphics)
Novell Netware Multisession
public domain TN3270
Potential Problems with Graphics Cursor
The display manager GCURSOR command can be used to toggle the graphics
cursor on and off. When using a host multisession software package, such
as Netview, PIE, or MultiTerm, you must toggle off the graphics cursor
when jumping to another host session. If you do not turn off the
graphics cursor, you will not be able to hot key to other host sessions.
Graphics Support
Not all terminals and terminal emulation packages provide graphics
support. For example, non-EDS terminals do not support graphics. EDS
terminals that support graphics can be split into two categories: vector
graphics and Programmed Symbol graphics. Vector graphics terminals use
graphics drawing orders, such as MOVE and DRAW, to display graphics.
Vector graphics terminals include the IBM 3179 model G, IBM 3192 model
G, and IBM 3472 InfoWindow Graphics-5 terminals. Programmed Symbol
graphics terminals allow you to define and use a limited number of
dot-matrix character patterns for graphics. Programmed Symbol graphics
terminals include the IBM 3279 model S3G and IBM 3278-2 terminal. (Note
that IBM 3179-type terminals also have limited Programmed Symbol set
support.) The appearance of the output from both types of graphics
terminals is similar.
3270 Emulation Packages for PCs
Many emulation packages are not shipped with graphics support but do
offer it as an option. For example, Attachmate Corporation markets a
terminal emulation package called Attachmate Extra! for Windows, which by
itself does not provide graphics support. However, Attachmate also
markets Attachmate's HGO (Host Graphics Option), which can be used with Extra!
for Windows to provide graphics support. Note that 3270 emulation packages
that support graphics must also be configured properly to display
graphics. For more information on configuring the emulation software and
whether your emulation package provides graphics support, consult the
documentation for the emulation software or contact your emulation
software vendor.
Potential Problems with Graphics
On terminals that support Programmed Symbol graphics, it is possible for
the device to exhaust Programmed Symbol memory on very complicated
graphs. The first symptom of this problem is the appearance of solid
blocks at the bottom of the screen. This occurs when all of the
triple-plane Programmed Symbols have been exhausted but the
single-plane symbols are still available. When the single-plane symbols
are also exhausted, the rest of the graph is filled out with question
marks. This is a limitation of the device and not the SAS System. To
circumvent the problem, reduce the complexity of the graph. For example,
use empty pattern fills instead of other patterns, and avoid using the
COUTLINE= and CBACK= options.
Problems can occur on devices that use vector graphics when displaying
complicated graphics. These problems include locking the terminal,
PROGxxx errors, IKT00405I SCREEN ERASURE messages under MVS, or CONSOLE
WRITE I/O errors under CMS. These problems can occur if the amount of
data sent to the device is more than the device or system can handle.
To correct the problem, use the SAS system option $GRBUFSZ= to decrease
the maximum amount of data sent at one time. For users experiencing this
problem, the recommended value for $GRBUFSZ= is 1536.
Summary
Since the SAS windowing environment is implemented in different ways
on different terminals, the appearance of SAS windows and choice block
menus may differ. Although you may encounter various problems when
using the SAS System on these terminals, solutions usually exist.
Reference
Herold, P. (1990), "Enhancements to the User Interface in Version 6
of the SAS System under MVS and VM," Proceedings of the Fifteenth Annual
SAS Users Group International Conference, Cary, NC: SAS Institute Inc.
Appendix
Windowing System Options
This section of the appendix includes details on the SAS system
windowing system options presented in the article.
The FSDEVICE= option
This option, used to specify the windowing device driver, must be specified
when the SAS System is invoked. Normally you do not have to specify a
windowing device driver since the SAS System automatically selects the driver
that uses the full capabilities of your device. However, you can use the
option to disable the use of certain features. For example, if you specify
FSDEVICE=EM3179, the windowing device driver does not use the Graphic Symbol
sets to draw SAS/ASSIST menu blocks or fancy field outlining and pushbuttons.
Other windowing device drivers are available for testing purposes. For further
information on windowing device drivers, see Herold (1990).
The $GRBUFSZ= option
This option is used to control the maximum amount of data sent to the device
at one time by the graphics device driver (for example, the IBM3179 device
driver). By default, the maximum amount of data sent at one time by the
native IBM device drivers (for example, the IBM3179 device driver) is 8192.
For more information on when to use this option, refer to "Potential Problems
with Graphics" earlier in this article. This option must be specified when
the SAS System is invoked. The syntax for this option is as follows:
or
The $FSBUFSZ= option
This option is used to lower the maximum amount of data sent to the device
at one time by the windowing device driver. By default, the maximum amount
of data sent at one time by the windowing device driver is 4096. For
information on when to use this option, refer to "Potential Problems with
Windowing Applications" earlier in the article. This option must be specified
when the SAS System is invoked. The syntax for this option is as follows:
or
The FSBORDER= option
This option is used to control the method used to draw display manager window
borders, choice block menus, pull-down menus, pushbuttons, and other widgets.
This option must be specified when the SAS System is invoked. Valid values for
this are BEST (default), PS (Programmed Symbols), APL (APL character set) and
NONE (hardware character set).
The TERMSTAT Command
To see what features and characteristics are supported by your terminal,
issue the TERMSTAT command from any display manager command line. The
TERMSTAT command uses the information that was received in the Read
Partition Query reply (on EDS devices) and the host communication
definition, and writes device-specific information to the SAS log. For
example, the TERMSTAT command can be used to determine whether or not
your terminal supports graphics.
If your terminal does not support EDS, the TERMSTAT command will show
information similar to the following:
Terminal Characteristics
Primary Rows = 24
Primary Columns = 80
Alternate Rows = 32
Alternate Columns = 80
Device Features
Non-Extended Data Stream
If your device supports EDS and vector graphics, the TERMSTAT command
will show information similar to the following partial list:
Terminal Characteristics
Primary Rows = 24
Primary Columns = 80
Alternate Rows = 32
Alternate Columns = 80
Number of Colors = 7
Number of Highlight = 3
Character Cell Width = 9
Character Cell Height = 16
Pixels/in. - X = 74.1
Pixels/in. - Y = 55.5
Loadable Symbols Sets = 6
Device Features
Extended Data Stream
14-bit Addressing
Vector Graphics
APL
Query Reply Structured Fields
.
.
.
SAS, SAS/AF, and SAS/ASSIST are registered trademarks or trademarks
of SAS Institute Inc. in the USA and other countries.
IBM, InfoWindow,
OS/2, PS/2, and VTAM are registered trademarks or trademarks of
International Business Machines Corporation.
Other brand and product names are registered trademarks or trademarks
of their respective companies.
|