• Print  |
  • Feedback  |

Knowledge Base


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:

        $GRBUFSZ=1536

      or

        $GRBUFSZ=2K

    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:

        $FSBUFSZ=1536

      or

        $FSBUFSZ=2K

    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.