HP Data Entry and Forms Management System (VPLUS) Reference Manual (32209-90024)

326 Chapter6
USING VPLUS INTRINSICS
INTRINSIC DESCRIPTIONS
VPRINTSCREEN
Prints the entire contents of a terminal screen to an off-line list device or laser printer
during VPLUS execution.
Syntax
VPRINTSCREEN {
comarea, readsize
}
Parameters
comarea
If not already set, the following
comarea
items must be set before calling
VPRINTSCREEN:
cstatus
Set to zero
comarealen
Set to the total number of two-byte words in
comarea
.
printfilenum
Set to the file number of the list file to which the form is
printed. If set to 0, VPRINTSCREEN opens the device "LP" as
the list file and sets
printfilenum
to the file number of
the opened list file.
VPRINTSCREEN may set the following
comarea
items.
printfilenum
If VPRINTSCREEN opened the list file, set to the file
number of the opened file.
cstatus
Set to a nonzero value if call is unsuccessful.
fileerrnum
Set to the MPE error code if an MPE file error is
encountered.
readsize
Two-byte integer, reserved for system use. Must be set to 0.
Discussion
This intrinsic provides the capability for printing the current screen display with function
keys, line drawing characters and appended forms, as well as the data on the screen. It
differs from VPRINTFORM, which is limited to printing only the data in the form data buffer.
However, VPRINTFORM offers the option of underlining fields, which VPRINTSCREEN in LP
mode does not.
The programmer can produce copies of VPLUS screens in either of two ways: incorporating
VPRINTSCREEN into an application so that screen images can be captured at run-time with
their data, or developing a simple utility that allows data to be entered into the screens
before calling VPRINTSCREEN to reproduce them. The utility has the advantage of removing
the overhead caused by VPRINTSCREEN from the application, while still providing a way to
reproduce screens and data for product literature.
VPRINTSCREEN always uses the Pascal HEAP procedures to perform stack allocation. This
introduces the risk of conflict for programs written in COBOL, FORTRAN/66 or SPL,
because the existing intrinsics would use DLSIZE for stack allocation in these cases.
Applications written in these languages must, therefore, follow two rules when calling
VPRINTSCREEN. They are:
1. The language id in the
comarea
must be set to 5.