HPlogo HP Data Entry and Forms Management System (VPLUS) Reference Manual: HP 3000 MPE/iX Computer Systems > Appendix J HP PRECISION ARCHITECTURE

MIGRATION ISSUES

» 

Technical documentation

Complete book in PDF
» Feedback

 » Table of Contents

 » Index

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 describes how to migrate existing applications to MPE/XL.

  • Programmers' Skills Migration Guide explains new program development on MPE/XL and serves as a reference to the operating system.

  • COBOL II/XL Migration Guide explains how to migrate COBOL II/V programs to MPE/XL.

  • FORTRAN 77/XL Migration Guide, details the migration of FORTRAN 77/V applications to MPE/XL.

  • HP Pascal/XL Migration Guide 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 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 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 intrinsics, VGETFIELDINFO, VGETFORMINFO, and VGETFILEIINFO. The problem can be avoided by packing the inforbuf records passed as parameters.

Incorrect Parameters. Existing VPLUS applications written in COBOL and recompiled into MPE/XL native mode may fail to function. The application either fails with VPLUS 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 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 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 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
Feedback to webmaster