MIGRATION ISSUES [ HP Data Entry and Forms Management System (VPLUS/V) ] MPE/iX 5.0 Documentation
HP Data Entry and Forms Management System (VPLUS/V)
MIGRATION ISSUES
Programs that were originally developed on MPE/V must be rewritten to run
in native mode on the MPE/XL. For details, refer to the following
reference manuals:
* Migration Process Guide (Part No. 30367-90007); describes how to
migrate existing applications to MPE/XL.
* Programmers' Skills Migration Guide (Part No. 30367-90005; explains
new program development on MPE/XL and serves as a reference to the
operating system.
* COBOL II/XL Migration Guide (Part No. 31501-90004); explains how to
migrate COBOL II/V programs to MPE/XL.
* FORTRAN 77/XL Migration Guide,(Part No. 31501-90004); details the
migration of FORTRAN 77/V applications to MPE/XL.
* HP Pascal/XL Migration Guide, Part No. 31502-90004): details the
migration of Pascal applications to MPE/XL. Migration of SPL programs
to MPE/XL.
Some points to be noted when applications developed on VPLUS/V are run
MPE/XL are described below.
Terminals. When you run an application on MPE/XL, the terminal must be
configured for the XON/XOFF handshake. If it is not, large or complex
forms will appear to be corrupted when displayed on the screen.
Floating Point Numbers. The type conversion of floating point numbers in
VPLUS/V assumes the HP 3000 floating point format, whereas native mode
applications store floating point values in IEEE format. The type
conversion will work, but the values will be wrong.
Native Mode Pascal Applications. The MPE/XL native mode Pascal compiler
allocates 4 bytes for the integer subrange -32768..32767, compared with
the 2 bytes allocated by the MPE/V pascal compiler. You should use type
SHORTINT in native mode Pascal applications to get a 2-byte allocation
for this subrange.
Record padding in native mode Pascal will cause data misalignment
problems for programmers using the VPLUS/V intrinsics, VGETFIELDINFO,
VGETFORMINFO, and VGETFILEIINFO. The problem can be avoided by packing
the inforbuf records passed as parameters.
Incorrect Parameters. Existing VPLUS/V applications written in COBOL and
recompiled into MPE/XL native mode may fail to function. The application
either fails with VPLUS/V error code of 998 or 999, or it aborts with a
Memory Fault error. The reason for this is that the programmer has coded
the application to pass a display numeric data type as the parameter for
a VPLUS/V intrinsic, instead of a binary numeric data type. That is,
COBOL data type PIC 9 has been coded instead of PIC 9 COMP.
This kind of mistake is not caught when the application is compiled,
because most COBOL VPLUS/V applications do not use the compiler intrinsic
mechanism, "CALL INTRINSIC...USING...". So, the error must be caught at
run-time, if at all. It is possible for the defective program to appear
to work correctly in MPE/V and MPE/XL compatibility mode, because VPLUS/V
is more forgiving when parameters of the wrong type are passed to it.
However, native mode applications on MPE/XL call the VPLUS intrinsics
through switch stubs, which require the correct parameter types. The
wrong parameter causes a run-time error because the VPLUS native mode
access layer does not have the capacity to edit the data passed through
it.
If your application fails with a VPLUS error 998 or 999, or a memory
fault, you can take the following steps:
1. Activate the VPLUS trace facility and examine the trace,
especially the entering and leaving messages from the VPLUS native
mode stub software.
2. Check the parameter content messages of the last VPLUS intrinsic
call before the program failed.
3. Examine and correct VPLUS parameter declarations as needed, both
in native mode code and in compatibility mode code if this is a
migrated application.
Supported Peripherals and Applications
The following are currently supported on MPE/XL.
Printers-HPIB 2565, 2566, 2680, 2688
Terminals 2392, 2393, 2394, 2397,
2622, 2624B, 2627,
HP 150, Vectra, Port+
Native Mode COBOL II/XL, FORTRAN 77/XL
Languages HP Pascal/XL
Compatibility Mode SPL/V RPG/V, Business BASIC/V,
Languages Transact/V
MPE/iX 5.0 Documentation