Easytrieve Plus Report Generator 6.x Migration Issues
search cancel

Easytrieve Plus Report Generator 6.x Migration Issues

book

Article ID: 56272

calendar_today

Updated On:

Products

Easytrieve Report Generator

Issue/Introduction

In Easytrieve Plus Report Generator releases prior to 6.4 (and also in Easytrieve Plus 6.4 before APARs QO31814 and QO31766 are applied), the compiler may generate Assembler code that is 24-bit dependent. This 24-bit dependent code may cause an S0C1 or S0C4 ABEND when executing with the Easytrieve 6.4 runtime. The problem occurs in these specific cases in your program:

  1. When the code performs MOVE SPACES (or HIGH-VALUES) to a field whose length is greater than 256-bytes
  2. When the code performs MOVEs where both the FROM and TO fields are greater than 256-bytes in length
  3. When the code equates the value of one field to another field and both fields are greater than 256-bytes long
  4. When the code does a MOVE '' (Note: no space)
  5. When a EBCDIC+DBCS printer is defined to EZTPXRPT and mixed font is used

NOTE: Most Easytrieve programs do not contain this generated 24-bit dependent Assembler code. However, depending on the types of applications at your site, you may find a large number of affected Easytrieve programs.

 

Environment

Easytrieve Plus Report Generator, release 6.4 and earlier

Resolution

To help identify and fix any Easytrieve application load module that may contain the 24-bit dependent code, a utility program, called EZTPX09, is available. EZTPX09 will scan your Easytrieve application load modules and identify the ones where the 24-bit code exists. It will also generate a ZAP job that you can run to fix that code. To get this utility, please download the file X090JCL from this location:

Release 6.4 Migration Utilities

The X090JCL file is a fixed-length, binary file with 80-byte records. It contains an MVS linkedit job (with imbedded object data) and JCL to execute EZTPX09. After you download this file, you will need to upload it the mainframe by using your site's file transfer software. Once this file is on the mainframe, follow the instructions in the JCL. Running EZTPX09 does not modify your load library, rather it generates the ZAP job. Load library modification only occurs when you run the generated ZAP job.

Here is the suggested method to search for, and migrate Easytrieve application load modules when 24-bit dependent code is a possibility:

Easytrieve Plus 6.4

  1. Ensure APARs QO31814 and QO31766 are applied to your Easytrieve Plus 6.4 product.

Easytrieve Plus 6.3

  1. Ensure your production Easytrieve installation is at the latest 6.3 release and genlevel (6.3, 0108).
  2. Ensure APARs QO39095 and QO39094 are applied, (these are the 6.3 version of the 6.4 QO31814 and QO31766 APARs).
  3. Run EZTPX09 against the load library that contains the Easytrieve application load modules
  4. If no programs are identified as containing the 24-bit code problem, then you have completed this process and will not experience this problem.
  5. For any Easytrieve programs identified as containing the problem, there are two options for fixing them. The first is to run the ZAP job generated by EZTPX09. The second is to recompile the identified Easytrieve programs. They can be recompiled using 6.3 or 6.4 as long as the aforementioned APARs are applied. With those APARs applied, the 24-bit dependent Assembler code will no longer be generated. (If recompiled using 6.4, they cannot be executed using the 6.3 runtime).
  6. After the identified modules have been zapped or recompiled, run EZTPX09 again to make sure all modules in the loadlib are fixed.

NOTE: Regarding older Easytrieve Plus releases:

If you are running Easytrieve Plus 6.2 in production, there are no APARs available to you as this release is no longer supported. However, you can still use the scan program to identify programs that have 24-bit dependencies. Once such programs are identified, you can run the generated ZAP job, or recompile them using the 6.4 or 6.3 load library with the fixes applied. Once these programs are recompiled using Easytrieve Plus 6.4 or 6.3, you cannot execute them with the Easytrieve Plus 6.2 runtime library. You will have to use the Easytrieve Plus 6.4 or 6.3 runtime library.