HP 3000 Manuals

Migration Issues [ Migration Process Guide ] MPE/iX 5.0 Documentation


Migration Process Guide

Migration Issues 

The following headings discuss VPLUS migration issues.

Terminal Configuration 

All terminals must be configured for XON/XOFF handshaking.

Supported Terminals 

The following terminals are supported:

   *   HP 2392A

   *   HP 2394A

   *   HP 150

   *   HP 2393A

   *   HP 2397A

   *   HP 2625A

   *   HP 2628A

   *   HP 7009X

The following terminals are supported if the firmware revision conditions
in parentheses are met:

   *   HP 2622A (rev D 1818-3199)

   *   HP 2623A (rev B 1818-3223)

   *   HP 2624B (rev B 1818-3139)

   *   HP 2627A (rev B 1818-3487)

Unsupported Terminals 

The following terminals are not supported:

   *   HP 2382A

   *   HP 2621A

   *   HP 2621B

   *   HP 2621P

   *   HP 2626A

   *   HP 2626W

   *   HP 264x

   *   HP 3075

   *   HP 3076

   *   HP 3081A

Pascal Integers 

In HP Pascal/iX, all references to integers in the COMAREA must be of
type SHORTINT (a new 2-byte compiler-defined type for the HP Pascal/XL
compiler) as opposed to type INTEGER (-32768...32767) which is
interpreted as 4 bytes.

Data Alignment 

VPLUS intrinsics continue to expect data that is aligned on 16-bit
boundaries.  For example, in a Pascal program, the record structures
declared for the VPLUS INFO intrinsics may need to be packed to ensure
16-bit data alignment.

Real Data Types 

Real data type conversions continue to assume Hewlett-Packard real format
for VGETREAL, VGETLONG, VPUTREAL, and VPUTLONG. New IEEE conversion
intrinsics (VGETIEEEREAL, VGETIEEELONG, VPUTIEEEREAL, and VPUTIEEELONG)
are available.

NM Stubs 

Programs with incorrect parameter values which run successfully in CM may
not run in NM. Many of these incorrect parameters will be detected by the
native mode stubs which have an additional level of parameter checking
not present in the VPLUS intrinsics.

Terminal Refresh 

After a powerfail or hard reset, refresh works differently on an
MPE/iX-based system than it does on an MPE V/E-based system.  On MPE/iX,
the terminal falls into character mode while the driver still expects
block mode transmissions.  A singular pressing of a terminal function key
will not be "heard".  The user must additionally terminate the read by
pressing Shift CTRL 6, the record separator control character.

Vectra With Type Ahead Enabled 

Verify your Vectra's terminal configuration before using it to run block
mode applications.  Ensure that the "Type Ahead" field on the Terminal
Configuration Screen is set to NO. To verify the current value for "Type
Ahead", return to Advancelink Main.  Press the F6 key (the function )
Again press key labeled "Terminal").  Again press the F6 key (now labeled
the "Config Keys").  Press the F5 key to get to the Terminal
Configuration Screen.  If the "Type Ahead" field contains YES, change the
value to NO. Save the new value by pressing the F1 key.

If a block mode application is run on a Vectra while the "Type Ahead"
value is set to YES, a form will be painted.  However, the keyboard will
remain in a locked state.  To clear this terminal hang, press CTRL F10 to
flush the type ahead buffer.  Next, press the F8 key to exit the
application.  Follow the directions above to reconfigure the "Type Ahead"
field on the Terminal Configuration Screen.

Call Intrinsic 

In general, the NM COBOL II/XL compiler requires that intrinsics be
called with the Call Intrinsic mechanism.  The only exceptions to this
are the VPLUS and IMAGE intrinsic calls.  For compatibility reasons the
COBOL II/XL compiler will recognize these calls and assume Call
Intrinsic.  A warning will be issued when using Call Intrinsic on MPE
V/E. While Customers preparing for migration of COBOL applications are
not required to use the Call Intrinsic mechanism for VPLUS and IMAGE
intrinsics, they must still plan to use the Call Intrinsic mechanism for
other intrinsics.


NOTE On MPE V, the Call Intrinsic mechanism examines the SPLINTR file and determines the type of addressing that the intrinsic expects. VPLUS examines the language ID and, if it is 0 (that is, COBOL), VPLUS assumes all the addresses are word addresses. If the Call Intrinsic mechanism is used, this is an invalid assumption and erroneous results are likely. Therefore, the programmer should "fool" VPLUS by using a language ID of 5 (Pascal). On MPE/iX, the COBOL II/XL compiler generates byte addresses and the VPLUS stub will prevent VPLUS from doubling the address (in an attempt to convert from word addresses to byte addresses).
Non-VPLUS I/O Often, application designers resort to using FREAD, FWRITE, and input/output verbs of a programming language to display and retrieve information from the terminal within the VPLUS context. The situation becomes more complex when the application also controls the terminal settings as well as the driver settings. A likely end result is an application which runs in a restricted environment, such as on an ATP, and on one kind of terminal only. The same application may not run in a different environment such as over X.25 or on a different kind of terminal. Two new VPLUS procedures are provided to assist the application designer in producing more portable and more easily maintainable applications. These two procedures are: * VTURNOFF * VTURNON VOPENTERM configures the driver and the terminal for block mode access. VCLOSETERM configures the terminal and driver for character mode access. These procedures initialize the terminal in many ways including clearing the screen image. VTURNON and VTURNOFF reconfigure the terminal and driver but leave the terminal screen image intact. The procedure VTURNOFF allows the application to momentarily switch to character mode from block mode without disturbing the screen. A call to VTURNON will reconfigure the terminal back to block mode. For example, a program which accesses a printer slaved off a terminal while that terminal is using VPLUS should use VTURNON and VTURNOFF. VTURNOFF would be called, followed by the FWRITEs to the printer. Then VTURNON should be called. Refer to the VTURNON and VTURNOFF intrinsics descriptions later in this appendix for further discussion.


MPE/iX 5.0 Documentation