IBM Support

IBM Migration Utility (IMU) 4.1 Technical Document

Question & Answer


Question

Is there any unpublished IBM Migration Utility (IMU) 4.1 technical documentation available?

Answer

This technical information supplements the IMU 4.1 User’s Guide and Reference (the Second Edition document SC27-4553-01), Published March 2019.

Last Updated: 2021.03.04


APAR: PH12359 (2019.05.26)

SQLABEND=FSSQLERR/&MODNAME
Specify SQL error handling module.

  FSSQLERR
     Use IMU supplied SQL error handling module.

  &MODNAME
     Use user-supplied SQL error handling module.
     This is convenient when you are generating stand-alone COBOL.
The default is FSSQLERR.

APAR: PH23597 (2020.03.24)

CARDIN=NATIVE/SYSIN
 Determines the DDname of CARD files for linked programs.
  NATIVE
     Use the defined CARD FILE name for DDname.
     (Compatible with Easytrieve Plus V10 and older versions).
 
  SYSIN
     Use SYSIN for DDname.
     (Compatible with Easytrieve Plus V11 and later versions).
 
Note1:
CARDIN=SYSIN is honored for linked programs only. Otherwise, the CARD FILE name is used for the DDname.
 
Note2:
CARD files can be defined in two ways:
  1. Declared as CARD files on the FILE definition in the program. Example: FILE INFILE1 F(80) CARD.
  2. Data can be provided after the Easytrieve Plus program source (after the END statement). This technique is valid for link and go programs only because the supplied data is extracted to a temporary file and allocated to that temporary file at run time. The DINALLOC=YES translator option is required. Programs that run in linked mode and programs generated to run in stand- alone COBOL are not suitable to handle these files.
     
Note3:
The "//SYSIN DD" must be supplied in the JCL when running programs in linked mode (with load module) because the actual file name of CARD file in the program is assigned to SYSIN.
The default is: NATIVE
VLFCALL=NATIVE/EASYT

  NATIVE
     CALL passes variable length field &field-DATA pointer.

  EASYT
     CALL passes variable length field &field-LENGTH pointer (Easytrieve Plus compatible).

The default is: NATIVE

Note: The variable length field format is YL2(&length),CLnn'-data-'. For example:
WS-TEXT3 W 50 A VARYING
Generates the following COBOL statements:
02 WS-TEXT3.                       
   49 WS-TEXT3-LENGTH COMP PIC S9(04) VALUE 0.
   49 WS-TEXT3-DATA   PIC X(48) VALUE SPACES.

APAR: PH26442 (2020.06.24) (Supersedes APAR PH25942)
VIOMOVE=FULL/PART
V/VB/VBS length file data transfer on READ from &FILE-IO-AREA to &FILE-RECORD.
  FULL
     Move data into full defined record area.

  PART
     Move data partially into the &FILE-RECORD, that is, for the length of the sending record.

The default is VIOMOVE=FULL

Note: VIOMOVE=PART moves for the size of the retrieved record (the IO-AREA), thus the tail end of the record is not cleared. Consider this fact when you choose VIOMOVE=PART as the tail end of the record might contain undesired data. The change reduces the CPU utilization when reading variable length records, especially if the average record length is much lower than the actual maximum file record length. The option is applied only when the IOMODE=NODYNAM is in use.

ZSPACES=NO/YES
Option to place zeros in the receiving field when sending display numeric field is all spaces and the receiving field is A, N, B, P, and U field (including BL1, BL3). When ZSPACES=YES is specified, both, signed and unsigned display numeric fields are checked.

  NO
     Do not change spaces to zeros.

  YES
     Change spaces to zeros.

The default is ZSPACES=NO
This option is applied to ASSIGN and MOVE LIKE statements only.

FASTSORT=NO/YES
Specifies COBOL FASTSORT support.

  NO
     Do not build COBOL FASTSORT SORT if Easytrieve Plus SORT statement qualifies for it.

  YES
     Build COBOL SORT that qualifies for the FASTSORT COBOL statement.

The default is FASTSORT=NO.

Note: FASTSORT=YES applies to Easytrieve Plus SORTs that do not contain BEFORE exit on the
Easytrieve Plus SORT statement.

Note: This option is applied only when the IOMODE=NODYNAM is in use.

FASTSORT=YES generates straight COBOL SORT without exits (that is, the system takes over and does its work).

When generating stand-alone COBOL, this option might speed up sorting.

APAR: PH30408 (2020.10.12)

REXITOVF=EASYT/EASYT2/ALL
Page overflow handling in report exits.

  NATIVE
     Use PAGE= value for page overflow in report exits. This limit is enforced when REXOVCK macro is in use.

  EASYT
     Use DISPLAY= value for page overflow in report exits. When this option is in use, REXOVCK is automatically turned on, therefore the %REXOVCK ON is not required.

  EASYT2
     Honors page overflow using the DISPLAY page limit.

  ALL
     This option forces the use of REPORT statement DISPLAY nn for the page overflow limit of the exits. It forces the use of RXITOVF=EASYT and generates the page overflow check for the first DISPLAY line by using the 'nn' limit in all REPORT exits.

APAR: PH33371 (2021.01.14)

DLIKEY=NATIVE/EASYT
This provides provide a choice of obtaining IMS Segment keys from the DBD Definition at run time.

  NATIVE
     Use the key(s) defined in the Segment/Record definition in the Easytrieve Plus program.

  EASYT
     Use the key name defined in the DBD.  This option is insensitive to the key name(s) defined in the Easytrieve Plus program.

APAR: PH39471 (2021-08-20)

OFILOPN=NATIVE/(MOD,OLD)
This option gives a choice to open output sequential files in two modes:

  NATIVE
     Initially opens output files in INPUT mode to obtain the file DCB information to be used when the DCB information is not defined on the FILE definition in the program. The DCB errors are handled by z/OS system.
     Example: OFILOPN=NATIVE
     This option is downward compatible. The default is NATIVE.

  MOD/OLD
     Initially opens output files in INPUT mode to obtain the file DCB information to be used when the DCB information is not defined on the FILE definition in the program.
     This option intercepts the following errors: (these errors are ignored for SYSOUT and SUBSYS files.
     ABEND013-20 - Disk files error BLKSIZE not multiple of LRECL .
     ABEND013-34 - Disk files error, no DCB information, or the DCB is incomplete.
     ABEND013-60 - Disk files error, BLKSIZE not multiple of LRECL for RECFM=F/FB.
     The following message is printed to the console when an error is recovered:
     FSDYNIO0: IEC141I 013-nn,&DDname,OPEN ERROR IGNORED.
     Where nn = 20, 34 or 60

The following rules are observed when an open error is ignored:
  1. If there is a DCB specified in the program, the program DCB is used.
    If there is no DCB specified in the program, if there is a DCB specified in the JCL, the JCL DCB is used.
  2. If neither the program nor JCL specifies a DCB, the file will be opened using IMU's default:
    a. RECFM=FB
    b. LRECL=defined record size
    c. BLKSIZE=0. Note that zero uses the z/OS System default block size.
Example:
OFILOPN=(MOD,OLD) or OFILOPN=(MOD) or OFILOPN=(OLD)

Any combination is allowed. OLD and MOD are independent of each other. MOD option is applied SP=MOD or DISP=SHR is in the JCL. This gives the user a choice to choose one option only or both options at the same time.

APAR: PH36157 (2021.04.07)
IOEXIT=NATIVE/EASYT

  NATIVE
     I/O exits are taken as written. No special handling is implemented.

  EASYT
     The following Instructions describe how to handle I/O exits.
     The memory for the I/O area is acquired to reflect the maximum defined record size.
     The I/O area size as follows:
     a. The maximum I/O area size is set to the actual file record length or the maximum defined record length in the program, whichever is greater.
     b. If the work buffer size is greater than the maximum I/O area size computed in (a), the record length is set to the maximum I/O area size computed in (a).
     c. If the work buffer size is less than the maximum I/O area size computed in (a), the record length is set to the size of the work buffer.

This ensures that the modified work buffer is passed on to the EXIT program up to the maximum size that the defined record can hold.
 
APAR: PH43346 (2022.01.14)

LINESIZE=NATIVE/EASYT
Option to choose how the LINESIZE on the REPORT statement is to be handled for reports that use a defined printer.

  NATIVE
     Use PRINTER file record length for the line size if the LINESIZE size is not specified on the REPORT statement and a PRINTER &DDname is in use.

  EASYT
     Use the default LINESIZE size for the line size if the LINESIZE size is not specified on the REPORT statement and a PRINTER &DDname is in use.

The default is LINESIZE=NATIVE.

Notes:
• If the PRINTER &DDname is specified and the LINESIZE is specified on the REPORT statement, the specified LINESIZE from the REPORT statement is used.
• The printer DCB remains unchanged. Multiple reports with different LINESIZE can print to the same printer file.
• The maximum line size cannot exceed the record length of the defined printer file.


PRINTER=(&arg1, &arg2, &arg3)
Default DDname for the REPORT statement printer files. This option controls how PRINTER DDname is generated for those reports that do not have a PRINTER associated with them.

  &arg1

    AUTOGEN
          Generate printer DD name automatically.

    &DDname
          Use &DDname for the printer file.

     Example:
     SYSPRINT means use SYSPRINT as the default printer file.

     The default is AUTOGEN. This default can be overridden in the EZPARAMS table. 
     Note:  IMU is distributed with PRINTER=SYSPRINT in the EZPARAMS table.

Note: Most installations use SYSPRINT for Easytrieve Plus default printer. Using SYSPRINT for
Migration Utility will make migration from Easytrieve Plus parallel testing easier. Any other value
will make the parallel testing impossible.

  &arg2
     Optional printer file record length. This must be a valid number.
     The default is the value defined for &GLINESIZE in the EASYDTAB table.

     Use PRINTER=(&DDname, &lrecl) by means of the EASYTRAN option, locally in your program,
when the &lrecl of your default printer (&GLINESIZE specified in EASYDTAB) needs to be changed. The &lrecl is the actual record length. Migration Utility adds 1 byte to it to compensate for the control character.

     Example:
     * EASYTRAN: PRINTER=(SYSPRINT,140)

  &arg3
     Optional printer statistic option.

    NATIVE
          Uses information defined for the printer &DDname in the COBOL program.

    EASYT
          Uses information from the actual file DCB on disk. This option gives the exact printer file  
information for the file. However, it does add extra COBOL statements that retrieve the DCB.


COMPARE=(NATIVE/EASYT/EASYT2, &WARN)

  NATIVE
     Compares alphanumeric fields by using COBOL rules, and the first and second operand lengths are considered.

  EASYT
     Compares alphanumeric fields by using Easytrieve Plus rules. If first operand length < second
operand length, then compare the first operand length.

  EASYT2
     Compares the first and second operand lengths following these rules:
     • If first operand length < second operand length, use the first operand length.
     • If first operand length > second operand length, use the second operand length.


&WARN

  WARN
     Print warning messages when the length in if arguments do not match.

  NOWARN
     Do not print warning messages when the length in if arguments do not match.

     The default is WARN.
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
APAR: PM02675 (2010-02-19)
 EASYTRAN/EZPARAMS options
     AUTOSIZE=NO/YES
           Determines if the record length for non-fixed record length files should be inherited on PUT/WRITE.
           NO
                 Do not use source file LRECL on PUT/WRITE for variable length files.
           YES
                 Inherit LRECL from the source on PUT/WRITE.
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
APAR: PH43352 (2022-02-02)     
 COPYFILE=NATIVE/EASYT
           COPY Statement rules for file definition.
           NATIVE
                         The record length and the block size length of the target file is replaced by the values of the source file.
           EASYT
                         The record length and the block size length of the target file is retained as defined for the target file.
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
EASYTRAN/EZPARAMS options
 ESPIMSG=LOWER/UPPER
          Designates the way ABEND messages are printed on FJSYABE by the Migration Utility abend analyzer.
          LOWER
                        Print ABEND messages in lower/mixed case.
          UPPER
                        Print ABEND messages in upper case.
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

[{"Type":"MASTER","Line of Business":{"code":"LOB35","label":"Mainframe SW"},"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Product":{"code":"SSY4B9","label":"IBM Migration Utility for z\/OS"},"ARM Category":[{"code":"a8m0z00000008ERAAY","label":"Migration Utility"}],"ARM Case Number":"","Platform":[{"code":"PF035","label":"z\/OS"}],"Version":"4.1.0"}]

Document Information

Modified date:
13 December 2023

UID

ibm17014219