SUPRAMXW is not just an amalgam of super-acronyms-it's the newest migration solution available for SUPRTOOL customers. Developed between Speedware and Robelle, SUPRAMXW resolves migration obstacles for HP e3000 companies that have SUPRTOOL.
The challenges
Hundreds of sites have already migrated their Suprtool tasks from MPE to HP-UX, but there are hundreds more that need help.
Suprtool for HP-UX has the same commands as Suprtool for MPE, but an MPE job stream is more than just Suprtool commands - it is also MPE :File commands and :Build commands and :IF-Endif JCL logic. In fact, to migrate an MPE task to HP-UX may require you to find an HP-UX equivalent for any of hundreds of MPE commands and functions.
For customers who have made extensive use of MPE features, or who are short of qualified staff resources and/or time, this conversion can be a major challenge.
The solution
Robelle concluded that the solution was to link SUPRTOOL for HP-UX with Speedware AMXW, renowned MPE-enabling migration software for non-MPE platforms. SUPRAMXW, is a unique hybrid MPE/HP-UX version of the SUPRTOOL software. Speedware and Robelle agreed to work collaboratively to solve this migration challenge for HP e3000 customers.
The strength of SUPRAMXW is that much of the SUPRTOOL code or intrinsics found in application environments can remain untouched and continue to rely on MPE concepts and access MPE files on Unix/Windows. Less code to change translates into less risk, quicker start-up time, increased productivity and significant cost savings!
Two technologies combined
From a migration point of view, a SUPRTOOL customer requires two components installed: AMXW for HP-UX and SUPRTOOL for AMXW. AMXW will easily migrate 3GL applications and SUPRAMXW can be used as the new SUPRTOOL on HP-UX that will support the existing SUPRTOOL code.
MPE-enabling on non-MPE platforms
The real power of AMXW comes from its outstanding ability to keep MPE functionality on non-MPE platforms while maintaining a high-performance. Since most of the application code, MPE commands and MPE file types does not need to be modified to be usable on other platforms, this reduces the time and cost of migrations.
SUPRTOOL on HP-UX supports MPE concepts
SUPRAMXW is a hybrid product, which runs on HP-UX and calls "MPE" intrinsics, the "MPE" being a reference to the intrinsics provided by AMXW. Essentially, it is a special version of the SUPRTOOL for HP-UX product linked with AMXW libraries.
With SUPRAMXW, "MPE"-isms are re-integrated back into portions of Suprtool for HP-UX allowing concepts such as record size, foptions, aoptions, device class and the like, so that Suprtool would be able to read, write and understand all of the MPE attributes of MPE files. This is possible because SUPRTOOL for HP-UX now has calls to MPE intrinsics like FOPEN, FREAD, FWRITE, FGETINFO and FCLOSE courtesy of AMXW.
JCL migration: Sustain your MPE and SUPRTOOL code
MPE scripts containing a mixture of SUPRTOOL commands and MPE commands such as JCL batch jobs, command files, etc. can remain untouched on HP-UX. In addition, SUPRTOOL can now support any of the MPE commands supported by AMXW. This is possible because SUPRAMXW simply calls AMXW's HPCICOMMAND intrinsic in the case where the command is not a Suprtool command and/or it is preceded by a colon.
Suprtool for AMXW, also knows when it is being run from inside AMXW's MPE shell (nlsh) for various internal reasons and startup command processing. As such, MPE concepts like file equations, session variables can remain in the code and continue to be used in a SUPRTOOL environment.
For the SUPRTOOL Techies
Popular data-reading commands like "Input" and "Table" continue to access MPE-type files by opening via FOPEN, getting specific information using FGETINFO and finally FREAD to read the data.
Similarly, data-writing commands like "Output" and "List, at the lowest level Suprtool again uses the typical standard MPE/AMXW intrinsics to write to MPE-type files. p> Reading and writing of MPE-type files is accomplished using AMXW's MPE intrinsics and by making sure that AMXW's MPE-properties file (.NL file) is kept up to date using AMXW's FWRITELABEL/FREADLABEL intrinsics.
Efficiency maintained
SUPRTOOL is known for its efficiency to process data at remarkable speed. With AMXW, SUPRTOOL continues to provide a high-efficiency in data access since native Unix functions continue to be used for data access.
Key features:
Technical Details
Suprtool for AMXW is a hybrid product, which runs on HP-UX and calls "MPE" intrinsics. The "MPE" being a reference to the intrinsics provided by AMXW.
Suprtool for MPE, reads Image databases, files and Allbase database files on the HP 3000 and has done so for over 25 years.
Suprtool for HP-UX, reads Allbase, Oracle and Eloquence and all manner of flat files on HP-UX. The Eloquence interface operates at both the "Image" intrinsic level and also a lower overhead higher speed mode via Eloquence internal API's. This mode is invoked by the setting set fastread on.
We initially investigated the linking in of AMXW to the Suprtool for MPE object files, in order to resolve all of the MPE intrinsics, and then writing some C code to call the AMXW version of the MPE intrinsics. In studying what was supported and what was not, we came to the conclusion that the best method to have Suprtool work with AMXW was to use the AMXW intrinsics for all "external" files that are read by, written to. The main reasons for this is that two major key types of file access (MR NOBUF and MAPPED long) were not supported by AMXW, and since we had already solved the majority of these problems in Suprtool for HP-UX, it did not seem reasonable to re-invent the wheel.
We had already modularized all of the external file references and we could implement them one at a time and test each one as we went and build a series of tests, which fits in with our Step by Step development methodology.
The main key issue was to re-integrate the "MPE"-isms back into portions of Suprtool for HP-UX, such as Record size, foptions, aoptions, device class and the like, such that Suprtool would be able to read, write and understand all of the MPE attributes of the files.
So the two main "reading" commands Input and Table read their respective files by opening via FOPEN, getting specific information using FGETINFO and finally FREAD to read the data.
In regard to the files that are written to, we are looking at the Output command and the List command. These files are not opened until the task is actually run as many of the attributes of the file being created or appended to cannot be determined until all the options and commands have been entered. Again however, at the lowest level Suprtool uses the typical standard MPE/AMXW intrinsics.
Many Suprtool customers make use of Self-Describing files found on MPE. These files contain mini-dictionaries, describing the attributes of each field within the file and the attributes of each field. This information on MPE is kept in the file label. Since their is no file label on MPE, this information was kept in an external ".sd" file in the HP-UX version. For Suprtool for AMXW, we use the same MPE intrinsics to keep this information up to date in the .NL file using FWRITELABEL/FREADLABEL. p> In terms of OS commands, command files etc, Suprtool for AMXW simply calls HPCICOMMAND in the case where the command is not a Suprtool command and/or the command is preceded by a colon.
Suprtool for AMXW, also knows when it is being run from inside the nlsh for various internal reasons and startup command processing.
In terms of debugging issues, most problems during the course of development were fixed by getting a listing of intrinsic calls and details on foptions etc, by using:
export TRACE=Por F. Most issues have been related to getting the foptions/aoptions correct for all cases and manner of files. If dealing with mutual customers this information is a great first start to diagnosing any problems.
Suprtool on MPE and HP-UX, consists of more than one program, it is actually a suite of programs. There is the core of Suprtool, which is called :
SUPRTOOL.PUB.ROBELLE on mpe. /opt/robelle/bin/suprtool on hp-uxand currently we are shipping Suprtool for AMXW as supramxw.
The other products in the suite are Suprlink/STExport and Suprcall.
Suprlink, is a program that links two self-describing files by a common key, in a typical "detail" record(s) and "master" record relationship. Suprlink is also capable of "joining" many records to many. The AMXW version of Suprlink is called linkamxw.
STExport, is a program that can take a self-describing file and generates files in PRN format, but allowing control over the delimiters, format of numbers etc.
Finally, Suprcall, is a shared library, which allows for Cobol, C and Pascal programs on HP-UX to send commands to Suprtool and have Suprtool perform an extract for us. This is available on MPE and is quite prevalent in many Cobol shops.
This is currently shipped as suprcall.sl, in /opt/robelle/lib.
So that is a basic primer for Suprtool for AMXW, on how it was developed the basic differences between the HP-UX version and the AMXW version and a bit about the types of things that it does.