PSMOPT
Sets or examines the PSM options of a physical terminal.
Type
Presentation Space Manager function
Format
PSMOPT(option [flag]) - option
- The option to be examined or set. Available options are:
- APLSUPP
- APL support. During logon processing CL/SuperSession sets the APLSUPP option based on the APL capability of the physical terminal. Use this option to change this default setting only under the guidance of an IBM® support representative.
- CEAB
- Conditional Extended Attribute Block (EAB) Allocation. The default is 1 (true).
- ERASEINP
- Erase input key support. Detects 3270 erase input key use at the terminal and updates the CL/SuperSession copy of the screen image. The default is 0 (false).
- MAXDEF
- Use the default screen size as the maximum for Dialog Manager panels. The default is 0 (false).
- NEAB
- Unconditional bypass of EAB Allocation (No EAB). The default is 0 (false).
- NINVBORD
- Suppress invisible border when physical and virtual screen sizes do not match (virtual screen is larger than physical). The default is 0 (false).
- NORMA
- Inhibition of read-modified-all command. CL/SuperSession solicits modified data from the terminal with a short write command, to reset any pending 3270 aid, followed by a 3270 read-modified command. The default is 0 (false).
- NOUND
- Suppresses underscoring of dialog input fields for sessions which do not allocate an EAB. The default is 0 (false).
- PEN
- Light pen and cursor select support. CL/SuperSession performs additional input processing to recognize pre-modified fields that have been de-selected by a terminal operator using the light pen or cursor select key. PEN should be activated only when selector light pen or cursor select applications are being used. The default is 0 (false).
- SHORTBRK
- Bracket protocol control. The physical terminal session is enclosed by brackets when a message is delivered to the physical terminal and that terminals keyboard is unlocked. The default is 0 (false).
- TERMCASE
- Controls the folding of screen displays to mixed or upper case. If turned On, subsequent panels will be displayed in upper case. The default is 0 (false).
- TRIGCASE
- Deactivate trigger phrase case sensitivity. Translates user-entered trigger phrases and data to upper-case before comparing them to defined trigger phrases. The default is 0 (false).
- TRIGPARM
- If turned On, trigger parameters with embedded blank or null characters are processed. The start of the parameter is the first non-blank or non-null character following the phrase. All remaining 3270 field data is accepted as the trigger parameter, with trailing blanks and null characters removed. The default is 0 (false).
- flag
- An optional parameter. If omitted, PSMOPT examines the specified option and provides a return code indicating the current setting of the option. If specified, it is evaluated as a Boolean expression, either 0 (false) or 1 (true), and the option switch is set to the expression evaluation. PSMOPT then issues a return code indicating the new setting of the option.
Return Codes
- 0
- PSMOPT completed normally and option is not activefor this user.
- 1
- PSMOPT completed normally and option is active for this user.
- 4
- PSMOPT did not complete because of a PSM failure.
- 8
- PSMOPT did not complete because option was not recognized.
Usage Notes®
- PSMOPT options take effect for the next presentation space and stay in effect until explicitly changed with another PSMOPT.
- PSMOPT affects dialog panel displays only; it does not affect the display or storage allocation for individual application sessions.
- If APLSUPP is specified as 0 or null (false), the Presentation Space Manager will use simple EBCDIC graphic characters (for example, plus signs (+) and dashes (-)) to create window borders for the terminal display. Also, the Presentation Space Manager will not send APL characters received from host virtual session applications to the terminal display.
- If APLSUPP is specified as 1 (true), the Presentation Space Manager will use the device APL font to create "smooth" window borders for the terminal display. Also, the Presentation Space Manager will propagate APL characters received from host virtual session applications to the terminal display.
- CL/SuperSession determines the APL capability of the physical terminal by requesting and examining the terminals 3270 query replies during logon processing. The APLSUPP option is set automatically at this time. It is usually appropriate to use the APLSUPP option setting that is determined by CL/SuperSession. The APLSUPP option should be used to change the default setting only at the direction of IBM customer support. Forcing APLSUPP active (1) for terminals that do not support APL will cause 3270 check indications for the user. Forcing APLSUPP inactive (0) for terminals that do support APL will select a more primitive window border display and may cause host application output to appear incorrect at the terminal.
- Dialog KLVAPLCK in the panels library demonstrates the use of APLSUPP.
- The Presentation Space Manager supports the following EAB capabilities:
- Extended color
- Extended highlighting
- APL character set
- Two PSMOPTs allows for the suppression of an EAB allocation (NOEAB, CEAB). Not allocating an EAB provides storage relief in that an additional terminal buffer does not need to be allocated.
- When an EAB is not allocated, dialog panel input fields are filled with the underscore character to distinguish them. Because there is no EAB present, dialog panel attributes indicating whether or not a field is underscored are not carried forward, instead, all input fields are underscored. When the NOUND PSMOPT is specified, this action is suppressed and no input fields are underscored. If you absolutely need to preserve the original dialog panel underscore attributes without regard to storage consumption, do not suppress the allocation of an EAB.
- When PSM suppresses the allocation of an EAB, it fills the dialog panel input fields with a pad character. This pad character is an underscore unless NOUND is specified, in which case it is a NULL. Before the data is transmitted to the application, the field is scanned backwards removing all pad characters until a significant character is encountered. NULLs are not transmitted.
- If the CEAB option is specified as 1 (true), the Presentation Space Manager uses Conditional EAB Allocation for this device. With Conditional EAB Allocation, the Presentation Space Manager does not allocate an EAB for nonqueriable devices or for queriable devices that do not support the EAB capabilities listed above.
- If CEAB is specified as 0 or null (false), the Presentation Space Manager always allocates an EAB for this device.
- The 3270 erase input key is a terminal feature that can be used
to erase all unprotected fields to null characters and reset the modified
data tags associated with those fields. Some customers experience
problems when using the erase input key because CL/SuperSession input
processing was not designed to detect the use of this key and make
the corresponding modifications to the CL/SuperSession copy of the
screen image.
If ERASEINP is specified as 1 (true), additional input processing is provided to detect pre-modified fields that have been erased and altered to an un-modified state by the erase input key action. Such fields can be identified and the corresponding field data is erased from the CL/SuperSession screen image.
Corresponding correction for the erasure of input fields that are not pre-modified is impossible without performing a complete read buffer operation in response to every user input message. Because of this operational limitation, the erase input key support is available only when the end-user is communicating with a host application through a virtual session where the data compression features, both inbound and outbound, are turned off. This provides accurate data transmission while the user is communicating with the application. If the user switches away from such a session, the CL/SuperSession copy of the screen image may not accurately reflect the device buffer contents. When the user returns to the session the device buffer is refreshed with the contents of the current CL/SuperSession copy of the screen image. The contents of previously erased fields may be present on the display screen (these would be unprotected, un-premodified fields that were originally populated with data by the application and subsequently cleared by erase input key action). It is the responsibility of the customer using this support to acknowledge this possibility and to provide remedial or preventive measures that correct this situation, if required. For example, a remedial action would be to instruct end-users to use the clear key or the erase input key if this condition is observed when returning to a session.
- If ERASEINP is specified as 1 (true), product functions that use the screen image (for example, the CL/SuperSession view image feature and transmit screen image feature) will be referencing an image that may possibly be out-of-sync with the true device buffer contents.
- The VSSKEY CLEAR function can be used in trigger dialogs to insure that previously erased data is not present in the CL/SuperSession copy of the screen image.
- The virtual session FULLREAD mode option could be used in conjunction with ERASEINP support. This option causes CL/SuperSession to respond to every user input with a read buffer operation. The subsequent processing of the read buffer datastream insures that the CL/SuperSession screen image is identical to the device buffer. This combination of options eliminates the previously discussed operational limitation of ERASEINP support, however, the network and processing overhead of the FULLREAD mode is significant.
- ERASEINP support require the terminal operator to be in session with a host application with inbound and outbound data compression turned off.
- ERASEINP and PEN options are mutually exclusive. Activating ERASEINP causes automatic deactivation of PEN support.
- ERASEINP support cannot be used with SSPL dialog applications.
- If MAXDEF is specified as 1 (true), the Presentation Space Manager uses the physical device default screen size as the maximum size when allocating and displaying panels that contain or imply a MAXDEPTH or MAXWIDTH size specification in the )OPTION placeholder.
- If MAXDEF is specified as 0 or null (false), the Presentation Space Manager uses the physical device maximum screen size when allocating and displaying panels that contain or imply a MAXDEPTH or MAXWIDTH size specification.
- If NEAB is specified as 0 or null (false), the Presentation Space Manager does not use Unconditional Bypass of EAB allocation. (It either allocates an EAB for all devices or uses CEAB as determined by the CEAB option.)
- If the NEAB option is specified as 1 (true), the Presentation Space Manager unconditionally bypasses EAB allocation, and never allocates an EAB for this device. Panels may still contain EAB-related information (for example, extended color attribute definitions), but this information is not buffered for presentation to the device.
- If NINVBORD is specified as 1 (true), PSM will suppress the null border which is usually present when a foreground virtual session has a presentation space that exceeds the size of the physical display. This invisible border is there to control the wrap-around effect of 3270 attribute characters which apply to the next row (the first row of the display is the 'next' row in relation to the last row) until the next attribute byte is encountered.
- If NINVBORD is specified as 1 (true), the customer should be aware that unexpected and unpredictable results may occur due to input fields appearing in the wrong location on the screen because of attribute spill-over as described above. This is most prevalent when the virtual session is using a model 5 presentation space. Each line of the display could be affected by the wrong attribute byte since 52 columns of output are not present on the physical screen.
- CL/SuperSession solicits modified data from SNA LU2 terminals by issuing the 3270 read-modified-all command. Some terminals and software terminal emulations respond incorrectly to this command. The end-user symptoms include 3270 program checks and "hung" sessions.
- If NORMA is specified as 0 or null (false), CL/SuperSession operates as described above and will issue the 3270 read-modified-all command when it is necessary to solicit modified data from the terminal, if the terminal is an SNA LU2 device. This is the default setting for this option.
- If NORMA is specified as 1 (true), CL/SuperSession uses a less efficient method of soliciting modified data from the device. A short write command to reset any pending 3270 AID followed by a 3270 read-modified command is used for the solicitation.
- If NOUND is specified as 0 or null (false), panel input fields on sessions not allocating an EAB are padded with underscores. This is the default. Specifying NOUND as 1 (true) suppresses this action.
- The 3270 selector light pen and 3270 cursor select key are used
with application screens that are designed specifically for these
terminal features.
The screen design typically is used to send special "pre-modified" fields to the display. Light pen and/or cursor select are then used by the terminal operator to select and/or de-select desired fields before sending the screen back to the application. Customers have experienced problems with these types of applications because CL/SuperSession input processing was not designed to detect pre-modified fields that have been de-selected by a terminal operator using the light pen and/or cursor select key. In some cases, customers have been able to overcome this CL/SuperSession design limitation and achieve acceptable operation by ensuring that data compression is not used with these applications. The PSMOPT PEN option provides proper support for these applications.
- If PEN is specified as 0 or null (false), CL/SuperSession input processing operates as originally designed for non-pen applications. Input processing recognizes only modified data that is received from the device. In particular, pre-modified fields that are de-selected (that is, "un-modified") by the terminal operator will not be recognized and incorrect application output will most likely be the result. This input processing option is the most efficient and is the appropriate choice for non-pen/non-cursor select applications. This is the default setting for this option.
- If PEN is specified as 1 (true), additional input processing is performed to recognize pre-modified fields that have been de-selected by a terminal operator using the light pen/cursor select key. Activate this option only when selector light pen and/or cursor select applications are being used.
- PEN support is activated as an option of the physical terminal input processing. However, the actual supporting logic that makes the feature fully operational will only be exercised when the terminal operator is in session with a host application and the inbound and outbound data compression options are turned off for the application.
- PEN support is fully functional only for host applications being accessed through a virtual session. SSPL dialogs can implement a limited subset of pen usage that allows operators to select fields. SSPL dialogs do not support the de-selection of pre-modified fields.
- The PEN option is mutually exclusive with the ERASEINP option. Activation of PEN support causes automatic deactivation of ERASEINP support. Input operations consisting of a mixture of selector light pen and/or cursor select key activity with erase input key activity are not supported.
- If SHORTBRK is specified as 0 or null (false), physical terminal sessions that use SNA bracket protocol are kept in-brackets for the duration of the physical session. This is the default setting. This setting avoids bracket protocol overhead and makes it possible for CL/SuperSession to smoothly interrupt the device with an asynchronous message.
- If SHORTBRK is specified as 1(true), the physical terminal session is put between-brackets by CL/SuperSession when a message is delivered to the physical terminal and the current state of the physical terminals keyboard is unlocked. This setting avoids SNA signal and CD overhead. However, it does cause difficulty with asynchronous messaging. This setting is primarily intended to provide a performance improvement in communications environments that use satellite links to physical terminals that are interacting with host applications that generate multiple output chains for a single input message (for example, some TSO line mode commands).
- If SHORTBRK is specified as 1 (true), IBM recommends that the logmode for the session specify definite response. Otherwise, a potential data integrity problem exists. Rejected messages by the session partner will be lost.
- Specifying SHORTBRK as 1 (true) will cause asynchronous messaging (e.g. immediate broadcast, timeout lock panels) to function differently. When a terminal user begins keystroking in a "between brackets" state, the control unit/terminal protocol implementation will prevent our display of asynchronous messages by rejecting our attempt to bid or begin a bracket. Once keystroking has begun the asynchronous message will be delayed until the user completes keystroking and transmits the input message. When no keystroking has occurred, asynchronous messaging operates the as if SHORTBRK was specified as 0 or null (false).
- If TERMCASE is specified as 0 or null (false), panels will display in mixed case.
- The TERMCASE option overrides the affects of the global SYSIN parameter UPPERDLG. (Refer to the CL/SuperSession: Customization Reference for a description of UPPERDLG.)
- When a trigger is defined, the case (upper-, lower-, or mixed-)
of the phrase characters is normally significant. Phrases may be defined
in upper-case,
lower-case, or mixed-case. The end-user must enter the phrase exactly as it has been defined.
- If TRIGCASE is specified as 0 or null (false), the case of the defined phrase is significant, as described above. A trigger phrase entered in the wrong case will not be recognized as a trigger and is therefore passed into the application as data. This is the default setting for this option.
- If TRIGCASE is specified as 1 (true), the case of a trigger phrase will not be considered significant. Before comparing a defined phrase to the user-entered data, both phrase and data are translated to upper-case.
- After CL/SuperSession detects a trigger phrase in a 3270 input field, the remainder of the input field is scanned for a user-entered parameter that is passed to the associated trigger dialog. For example, the gotosess trigger, \g, should be followed by a 1 to 8 character session-id parameter, "\gxxxxxxxx" or "\g xxxxxxxx".
- If TRIGPARM is specified as 0 or null (false), the start of the parameter is identified as the first non-blank/non-null character following the phrase. The end of the parameter is identified as the first blank/null character encountered after the start of the parameter data. This is the default setting for this option.
- If TRIGPARM is specified as 1 (true), the start of the parameter is also identified as the first non-blank/non-null character following the phrase. All remaining 3270 field data is then accepted as the trigger parameter, after removing trailing blank and null characters.
- For example, if a user entered the following trigger: "\phrase this is the parameter " where phrase is defined as the trigger phrase, then with TRIGPARM off (0) the parameter is "this" and with TRIGPARM on (1) the parameter is "this is the parameter".
Example
set rc (psmopt(maxdef 1))
)prologue
if ('&substr('&systerm',0,3)' eq 'R15')
set rc (psmopt(shortbrk 1))
)prologue
if ('&substr('&systerm',0,4)' eq 'SUPP')
set rc (psmopt(trigparm 1))
)prologue
if ('&substr('&systerm',0,5)' eq 'ADMIN')
set rc (psmopt(trigcase 1))
)prologue
if ('&substr('&systerm',0,5)' eq 'AMATE')
set rc (psmopt(norma 1))
)prologue
if ('&substr('&systerm',0,3)' eq 'SLP')
set rc (psmopt(pen 1))
)prologue
if ('&substr('&systerm',0,3)' eq 'STG')
set rc (psmopt(eraseinp 1)))prologue
if ! (psmeab())
set rc (psmopt(nound 1))