RPG/XL Enhancements [ COMMUNICATOR 3000/XL - REL. 2.0 (A.30.00) ] MPE/iX Communicators
COMMUNICATOR 3000/XL - REL. 2.0 (A.30.00)
RPG/XL Enhancements
by Don Jenkins
Data and Languages Division
With the release of version A.00.03, RPG/XL now supports HELP screens for
the RPG Screen Interface (RSI) applications. Refer to the "SIGEDITOR"
section in the RPG/XL Utilities Reference Manual (P/N 30318-60003) for
information on how to create HELP forms, and the HP RPG/XL Reference
Manual (PN 30318-60002) for information on how to use them in your
application.
Also with this release, the XSORT utility is now running in native mode.
There is NO change to the way this utility is used. However, you should
expect to see some performance improvement when sorting large files.
VPLUS WORKSTATION ENHANCEMENT
Two new actions have been added for VPLUS workstation applications.
These are:
* action 78, "CHMODE"
* action 79, "BLMODE"
Action 78 sets the terminal to character mode from within the program,
without disturbing the screen display. Action 79 resets action 78 (i.e.,
returns the terminal to blockmode).
If you are using VPLUS applications in Compatibility Mode (CM) or Native
Mode (NM) on an HP 3000 Series 900. These new actions may be required to
send escape sequences to the terminal while still in block mode. For
example, you want to send output to a slaved printer while within the
application (depending on the terminal/printer configuration). The
problem here is due to an incompatability in terminal controllers between
a classic HP 3000 and the new HP 3000 Series 900 machines, and not to
changes in RPG or VPLUS.
RPG programs that have run successfully on the HP 3000, and are being
ported to the HP 3000 Series 900 to be run in CM or NM may need to be
modified to use these new actions, if the above situation exists. Prior
to executing the Output spec that transmits the escape sequence, the
programmer executes action 78. Following the desired output, the
programmer executes action 79 to reset the terminal to blockmode. Some
degredation in program execution time will be noted, since the VPLUS
intrinsics called by these actions are special entry points in the
VTERMOPEN and VTERMCLOSE intrinsics, which are quite lengthy. Therefore,
they should be used only if absolutely necessary.
RSI FUNCTION KEY USER LABELS
You are now able to specify your own label for an enabled RPG Screen
Interface (RSI) function key. To use this feature, follow the steps
below:
* Add the line $CONTROL FKEYLBL to your source program.
* Use the SET operator to display the desired labels prior to
displaying the form (refer to the description of the SET operator in
the RPG Reference Manual P/N 30318-60002).
* If a particular function key(s) has been enabled for the form (refer
to the RPG Utilities Reference Manual P/N 30318-60003, "SIGEDITOR"
section), the user label for that key will be displayed.
* If a function key is not enabled, a default label will be displayed.
These are: f2 = *PRINT SCREEN, f6 = *HELP, and f3, f4, f5, f7, and
f8 = the key number (e.g., f3 = f3).
* f1 is ALWAYS the COMMAND key, and will be so labeled. This is the
only function it will ever perform. Keys f2-f7 are available for
your use. f8 is reserved for forms using fields with the DUPL
attribute enabled, and will be so labeled.
When using function keys to control your program, the default escape
sequence definitions for these keys MUST be used (see your terminal
reference manual, user function key menu). These sequences are: ESCp -
ESCw. RPG RSI relies on these values to return a particular number in
the first element of the workstation status array. It is the user's
responsibility to test this number to see which key was pressed (these
numbers are returned only if the key was enabled). They are:
f1 - not available to the user
f2 - 1121
f3 - 1122
f4 - 1123
f5 - 1124
f6 - 1125
f7 - 1126
f8 - not available to the user
When using HELP screens with this new feature, the terminal user function
key menu is momentarily displayed on the first HELP request for an area.
This has no impact on the application (other than a slight performance
degradation), but may surprise you if you have not seen this before.
SIGEDITOR CONSTANT OUTPUT FIELDS
The form-file of the SIGEDITOR has been expanded to hold up to 1024
forms. One of the new features included in this update concerned the
method of handling constant output fields. In past releases of
SIGEDITOR, these items remained as fields, and a special operation was
needed to initialize them. In the new version (A.08.00 and later), the
fields are initialized on the EDIT FORM screen at the time the field is
created, by re-positioning the cursor and typing the desired information
into the field. In addition, it was decided to optimize constant output
fields to "screen-resident constants" (i.e., ordinary labels), if the
field security was off, and none of the attributes were controlled by
indicators. This provides some performance improvement, but also
resulted in the loss of enhancements (e.g. underlining). It has been
decided to perform the optimization now only if all enhancements are "N"
(see the attributes screen of the EDIT FLD ATTRIB. function). (Note:
the protect-field attribute may be "Y" or "N"). Otherwise the constant
will remain a field with the specified attributes. To modify an
optimized constant, simply enter the EDIT FORM screen and type over the
old value. To add enhancements, you must re-create the field using the
START/STOP FIELD keys, and re-enter the constant as noted above. Save
the form, then use the EDIT FLD ATTRIB. and SEE ATTRIB. keys to set the
desired attributes on this new field.
MPE/iX Communicators