Migration Checklist [ HP Transact Reference Manual ] MPE/iX 5.0 Documentation
HP Transact Reference Manual
Migration Checklist
The checklist in this section will help you migrate Transact/V programs
on MPE V to native mode Transact/iX on MPE/iX. There should be few, if
any, changes to make in migrating a program to an MPE/iX-based system if
the PROC verb is not used to access system intrinsics and the CALL verb
is not used to call other Transact/V programs.
1. Use the MPE STORE and RESTORE commands to transfer your Transact/V
source files on MPE V by tape to the MPE/iX-based system.
2. Check each Transact/V program by answering the following
questions. Does the program:
a. Use the PROC verb to call system intrinsics (such as PROC
ASCII)?
b. Use the PROC verb to call option-variable system intrinsics
(such as PROC FOPEN)?
c. Use the PROC verb to call system intrinsics that have
different types of parameters than are expected by the
intrinsic?
d. Use the PROC verb to call subroutines written in other
languages?
e. Use the CALL verb to call a Transact/V program?
f. Access files that contain real numbers?
g. Delay variable definitions until run time?
h. Rely upon the INITIALIZE command to switch programs?
i. Use the FASTRAN compiler?
3. For those questions you answered "yes", take one of the following
corrective actions (these actions are keyed by letter to the
questions in item 2, above):
a. If you have PROC calls to intrinsics, compile with the new
option PROCINTRINSIC. The statement DEFINE(INTRINSIC) is
not recommended.
b. If you use PROC to call option-variable intrinsics, make
sure all value parameters of 32 bits or more are passed.
Alternatively, make sure that only one comma is used to
denote each parameter.
c. If an intrinsic that is called expects a different type of
parameter, write a routine in another language such as
COBOL or Pascal to duplicate the functionality of the
intrinsic or to merely call the intrinsic itself. Place
the routine in an RL or XL to be resolved during linking.
Replace calls to the intrinsic with calls to the new
routine. Continue to pass parameters in the same way.
d. If your program uses PROC to call a routine in another
language, determine how the compiler of the subroutine
generates entry names. There may be differences between
MPE V based compilers and MPE/iX based compilers. If the
entry name has been changed by the compiler, change the
reference to it in the native mode Transact/iX source
program. For example, the MPE/iX based COBOL compiler
converts hyphens to underscores. The MPE V based COBOL
compiler leaves hyphens unchanged.
Also, the libraries to be searched must be named during
linking or running whereas Transact/V automatically
searches SLs.
e. If your program uses the CALL verb to call a Transact/V
program, compile the called Transact/V program with the
native mode Transact/iX compiler using the SUBPROGRAM
option. Place the program in an RL or XL to be resolved
during linking.
f. If your program accesses files that use real numbers, use
the HP3000_16 option to continue processing the file using
the Transact/V storage format, or write a data conversion
program that reads the MPE V format file with the HP3000_16
option and writes to a new file with the HP3000_32 option.
This conversion must not be done until all programs
accessing the data file have been migrated to Transact/iX.
g. If your program delays variable definition until run time,
define all variables at compile time.
h. If your program contains the INITIALIZE option or command,
change user procedures to exit the program and run a second
program (for instance, at the MPE XL command level).
i. If your program was compiled using FASTRAN, recompile it
with Transact/V. Resolve any errors generated by Transact/V
before compiling it with Transact/iX.
4. If you answered "no" to all the questions in #2, or if you made
all the changes suggested in #3, compile your program and try to
run it.
NOTE FASTRAN is owned and developed by Performance Software Group.
MPE/iX 5.0 Documentation