Messages

The messages described in this section are written to the OPTLOG DD. In some exceptional cases, it may not be possible to write to the OPTLOG DD in which case the message is written to write to the OPTERR DD otherwise to the JOBLOG. Each message, listed below, has a "Message return code" that is used to determine the return code returned to z/OS® as described in Return codes.

Each ABO message in this section has the form BOZnnnnX where BOZ indicates that the message is an ABO message, nnnn is the message number, X is the severity indicator.

Severity indicators can be any of the following: I, W, E, S, or U.
I
Informational message (RC=0)
W
Warning message (RC=4)
E
Error message (RC=8)
S
Severe error message (RC=12)
U
Unrecoverable error message (RC=16)

BOZ1003U Program caught signal &1, exiting with return code 16.

Explanation

The optimizer was unable to continue because an unexpected condition was encountered during processing.

System action

The optimizer immediately terminates execution and returns to the operating system with a return code of 16.

User response

Unexpected problems could happen due to an earlier problem. Correct any problems reported in the log file and retry the optimization process. If the problem persists, consult IBM service for assistance.

BOZ1031S An error occurred while attempting to open "&1".

Explanation

The optimizer was unable to open the file specified by &1.

System action

If the open failure was associated with one of the required optimizer DDs, such as the SYSIN DD, the optimizer immediately terminates with a return code of 16. Otherwise, if the file is specified on a line in the SYSIN input file (in a global option or BOPT or IEFOPZ directive), processing of the line is terminated and the optimizer proceeds to process the next line of the SYSIN input file.

User response

Ensure that the file name is correct, and that the file has been allocated and with an appropriate record format and with an appropriate record length.

BOZ1145U Insufficient memory in the compiler to continue compilation.

Explanation

The optimizer was unable to continue due to memory being low.

System action

The optimizer immediately terminates execution and returns to the operating system with a return code of 16.

User response

Consider using the JCL MEMLIMIT or JCL REGION parameters to increase the memory used by the optimizer. For more information, see the z/OS MVS™ Initialization and Tuning Reference and the z/OS MVS Initialization and Tuning Guide.

BOZ1400S Directive is missing "&1" specifier.

Explanation

The optimizer encountered a BOPT or IEFOPZ directive that requires an &1 specifier, but the specifier was missing.

System action

The optimizer discards the directive and proceeds to process the next line in the SYSIN input file.

User response

Correct the directive by adding an appropriate &1 specifier.

BOZ1401S "&1" directive must be specified at start of line.

Explanation

An option preceded the &1 directive on a line of the SYSIN input file, or the line is missing the &1 directive.

System action

The optimizer discards the directive and proceeds to process the next line in the SYSIN input file.

User response

Fix the line by specifying &1 directive at the start of the line.

BOZ1402S Invalid specifier in "&1".

Explanation

The &1 option of BOPT or IEFOPZ directive contained an invalid specifier. For example, "H" is an invalid specifier in the option: "SCAN=H".

System action

The optimizer discards the directive with the invalid specifier and proceeds to process the next line in the SYSIN input file.

User response

Change the specifier in the option to one that is valid.

BOZ1403S Invalid option "&1".

Explanation

While processing the SYSIN input file, &1 was encountered such that &1 is not an optimizer directive and &1 is not a valid option.

System action

The optimizer discards the line with the invalid option and proceeds to process the next line in the SYSIN file.

User response

Correct the line of SYSIN by using a properly spelled directive or option.

BOZ1404S "&1" can only be specified on "&2" directive.

Explanation

The &1 option was specified on a directive but it was not the &2 directive. For example, SEL_ARCH cannot be specified on the BOPT directive as SEL_ARCH is only applicable to the IEFOPZ directive.

System action

The optimizer discards the line with the invalid option and proceeds to process the next line in the SYSIN file.

User response

Fix the line with &1, by specifying a proper option or proper directive.

BOZ1405S "&1" not allowed on "&2" directive.

Explanation

The &2 directive contained an option, &1, that is not applicable to the &2 directive. For example, the "IN" option is not applicable and cannot be specified on the IEFOPZ directive.

System action

The optimizer discards the line with the invalid option and proceeds to process the next line in the SYSIN file.

User response

Fix the line by specifying a proper option that applies to the &2 directive.

BOZ1406S Wildcards not supported in member specifier of "&1".

Explanation

A line of SYSIN was encountered with an "IN" option with a member specifier (&1) that included wildcards, and an "OUT" option that included a dataset member specifier. When wildcards are used in an "IN" option, the "OUT" option must not include a member specifier.

System action

The optimizer discards the line with the invalid option and proceeds to process the next line in the SYSIN file.

User response

Change the "IN" option to not specify wildcards or remove the member specifier from the "OUT" option.

BOZ1407S Output specifier "&1" invalid when using wildcards on input.

Explanation

The optimizer detected a BOPT directive with a wildcard specifier on the "IN" option and the "OUT" option specified a USS path of &1. When member wildcards are used on the "IN" option, the "OUT" option must specify a dataset and not a USS path.

System action

The optimizer discards the BOPT option with the invalid "OUT" option and proceeds to process the next line in the SYSIN file.

User response

Change the "IN" option to not specify wildcards or change the "OUT" option to specify a dataset.

BOZ1408S Module specifier "&1" is an existing directory.

Explanation

The optimizer detected an HFS directory, &1, specified as the module location on the "IN" or "OUT" option of the BOPT directive. In HFS, a module is an ordinary file and not a directory.

System action

The optimizer discards the directive and proceeds to process the next line in the SYSIN file.

User response

Change the path specifier on the "IN" or "OUT" option to be an ordinary file and not a directory.

BOZ1409S Output specifier "&1" is not an existing PDS(E).

Explanation

The optimizer encountered either:
  • &1 as a NEW dataset from an IEFOPZ configuration
  • &1 as a DD name or dataset name on a file specifier in the SYSIN file where the file specifier included a member name
  • &1 as a dataset specifier for the LOG option
but, the dataset associated with &1 did not exist or the dataset was a sequential dataset and not a PDS(E).

System action

In the IEFOPZ case, the optimizer ignores the NEW dataset and continues on processing the IEFOPZ configuration. Otherwise, the optimizer discards the directive and proceeds to process the next line in the SYSIN file.

User response

Change the dataset location to an existing PDS(E) or allocate the PDS(E) prior to running the optimizer.

BOZ1410I Output module "&1" cannot be replaced as REPLACE=N is in effect.

Explanation

When the REPLACE=Y option is specified, the optimizer issues this informational message when it detects that the output module (&1) of the same name already exists.

System action

The optimizer bypasses optimizing the input module and proceeds to process the next module or next directive.

User response

No action is required by the user.

BOZ1411S Error getting member list from dataset specifier "&1".

Explanation

The optimizer was processing either:
  • a BOPT directive where a PDS(E) (&1) was specified on the "IN" option (that included member wildcards) and the PDS(E) had no members
  • a IEFOPZ directive, and an OLD dataset (&1) in the IEFOPZ configuration was found to have no members

System action

In the case of a BOPT directive, the optimizer discards the directive and proceeds to process the next line of the SYSIN file. In the case of the IEFOPZ directive, the optimizer ignores the OLD dataset and proceeds to process the rest of the IEFOPZ configuration.

User response

Check that the proper dataset was specified on the BOPT directive or that the proper dataset was specified in the IEFOPZ configuration.

BOZ1412S IEFOPZ is not available on this system.

Explanation

The optimizer was processing an IEFOPZ directive on a z/OS system that did not have the IEFOPZ feature

System action

The optimizer discards the IEFOPOZ directive and proceeds to process the next line in the SYSIN file.

User response

The IEFOPZ facility is only available on z/OS V2R2 and above. If the optimizer is run on a z/OS system prior to V2R2, change SYSIN to not specify the IEFOPZ directive. If the optimizer is run on z/OS V2R2 or higher, have your system programmer install the appropriate PTFs required for the IEFOPZ feature.

BOZ1413S Problem with IEFOPZQ system service (return code="&1", reason code="&2"): &3.

Explanation

The optimizer encountered a problem reading an IEFOPZ configuration while processing an IEFOPZ directive. &1 specifies the error return code and &2 specifies the error reason code of the IEFOPZQ system service that is used to read the configuration. &3 gives a short description of the reason code.

System action

The optimizer discards the IEFOPZ directive and proceeds to process the next line in the SYSIN file.

User response

Provide this error message to your system programmer to see if the error is valid If there are no issues with IEFOPZ usage, consult IBM® service providing this optimizer message and any other IEFOPZ configuration information.

BOZ1414S Input specifier "&1" is not an existing PDS(E).

Explanation

The optimizer encountered either:
  • &1 as an OLD dataset from an IEFOPZ configuration
  • &1 as a DD name or dataset name on a file specifier in the SYSIN file where the file specifier included a member name
but, the dataset associated with &1 did not exist or the dataset was a sequential dataset and not a PDS(E).

System action

In the IEFOPZ case, the optimizer ignores the OLD dataset and continues on processing the IEFOPZ configuration. Otherwise, the optimizer discards the directive and proceeds to process the next line in the SYSIN file.

User response

Change the dataset name to an existing PDS(E) or allocate the PDS(E).

BOZ1415S No DD definition is supplied for "&1".

Explanation

The optimizer could not find a DD definition for a mandatory optimizer DD (&1), or no DD definition was specified for a DD (&1) used in the SYSIN file.

System action

If the DD is for a mandatory DD of the optimizer, the optimizer immediately terminates with a return code of 16. Otherwise, the optimizer discards the line of the SYSIN file that included the DD definition and processes the next line of SYSIN.

User response

Provide a DD definition for the DD in error.

BOZ1416S A member name is not specified for PDS(E) specifier "&1".

Explanation

The optimizer encountered an "IN" or "OUT" option that specified a PDS(E) (&1) and requires a member name, but no member was included on the option.

System action

The optimizer discards the directive with the invalid "IN" or "OUT" option and proceeds to process the next line in the SYSIN file.

User response

Change the "IN" or "OUT" option to include a dataset member.

BOZ1417S File "&1" does not exist.

Explanation

Input file &1 could not be located. Two common reasons this can happen are:
  1. A member of an existing input module PDS(E) does not exist
  2. An invalid HFS path was specified

System action

The optimizer ignores processing the directive (or input module) that used the invalid file specification and proceeds to process the next input module or next directive

User response

Correct the problem by specifying an existing dataset member or correct the path specification to point to an existing HFS file.

BOZ1418S Invalid file specification "&1".

Explanation

The specification of the file &1 is incorrect. Examples of incorrect specifications include:
  1. A member name is specified twice:
    • once, in the definition of a DD
    • second, in an optimizer option or directive that included the DD definition
  2. A HFS path is specified, but a directory in the path is non-existent or the path is not accessible.
  3. The length of a DD name or dataset name is too long.

System action

The optimizer ignores processing the directive (or input module) that used the invalid file specification and proceeds to process the next input module or next directive

User response

Specify a proper format for the file specification (&1).

BOZ1419S Output of load module(s) to "&1" is not supported when input has program object format.

Explanation

An input module has a newer program object format but the optimized module (&1) is targeted to the older load module format. This happens when the input module is a member of a PDSE or a file in a HFS path, but the optimized module is targeted to a member of a PDS or is targeted to a sequential dataset.

System action

The optimizer terminates processing the input module and proceeds to process the next input module or next directive.

User response

Correct the output location (&1) of the optimized module to be a member of a PDSE or to a HFS path.

BOZ1420S Path "&1" must be absolute and begin with a "/".

Explanation

The specification (&1) of an input or output file is to an HFS file, but a full path specification is not provided for &1. A full or absolute file specification must begin with a "/" character. This error can happen, for example, when the optimizer processes an HFS specification of an a input module, output module or listing transform.

System action

The optimizer bypasses optimizing a module when an invalid path is specified and proceeds to process the next input module or next directive.

User response

Correct the specification of the path (&1) to be absolute.

BOZ1421S Binder API "&1" failed: return code=&2 reason code=&3.

Explanation

While processing a module using a binder API (&1), the binder API returned with an unexpected return code (&2) and reason code (&3).

System action

In most cases, the optimizer discontinues processing the input module and proceeds to process the next input module or next directive. In some cases (for example, return code=4, reason code = 0x83000526), the binder is able to recover from the problem (in this case unexpected input) and the optimization of the input module proceeds.

User response

Examine binder documentation for information on the reason code. The reason code information can help determine the cause of the problem. For example, the reason code may indicate that the input file for optimization is not a proper load module or program object file. In this case, correct the JCL or SYSIN file to specify a proper input module. For information about binder API return codes and reason codes, see z/OS MVS Program Management: Advanced Facilities.

This message is normally proceeded by a BOZ4116 binder message that might provide additional information that helps in your response.

BOZ1422S Module cannot be processed as it is not marked executable.

Explanation

The optimizer encountered an input module that was not marked executable. The optimizer requires the module to be marked executable in order for the optimization process to succeed.

System action

The optimizer discontinues processing the input module and proceeds to process the next input module or next directive.

User response

If this problem is expected for the module, then either ignore the message or change the optimizer directives to exclude the module. Otherwise, if the problem is unexpected, correct the bind steps that produced the input module so that the module resulting from the bind is marked executable.

BOZ1423S Module cannot be processed as it was linked EDIT=NO or otherwise cannot be reprocessed.

Explanation

The optimizer encountered an input module that cannot be edited. The most common case where this can happen is when the bind step used to produce the module included the EDIT=NO binder option. Modules that cannot be edited are missing important information required by the optimizer.

System action

The optimizer discontinues processing the input module and proceeds to process the next input module or next directive.

User response

If this problem is expected for the module, then either ignore the message or change the optimizer directives to exclude the module. Otherwise, if the problem is unexpected, remove the EDIT=NO option from the bind steps that produced the input module.

BOZ1424S Module cannot be appropriately processed as program is SIGNed.

Explanation

The optimizer encountered an input module that is marked SIGNed.

System action

The optimizer does not supported SIGNed modules and discontinues processing the input module and proceeds to process the next input module or next directive.

User response

If this problem is expected for the module, then either ignore the message or change the optimizer directives to exclude the module. Otherwise, if the problem is unexpected, correct the bind steps used to produce the module so that the module is not marked SIGNed.

BOZ1426S Link library "SYSLIB" not specified or does not specify a PDS(E).

Explanation

The DD name card allocating link library SYSLIB is missing or doesn’t specify a PDS(E) data set in the optimizer job step JCL.

System action

The optimizer terminates optimizing the input module and proceeds to process the next module.

User response

Specify SYSLIB correctly in your optimizer job step JCL. See New SYSLIB requirement for the JCL used to invoke ABO for more information.

BOZ1428U Insufficient memory encountered during binder API "&1": return code=&2 reason code=&3. Terminating optimizer.

Explanation

While processing a module using a binder API (&1), the binder was unable to proceed due to memory being low. The binder produces the return code (&2) and reason code (&3) indicating the memory problem.

System action

The optimizer immediately terminates execution and returns to the operating system with a return code of 16.

User response

Consider using the JCL MEMLIMIT or JCL REGION parameters to increase the memory used during the optimization process. For more information, see the z/OS MVS Initialization and Tuning Reference and the z/OS MVS Initialization and Tuning Guide.

This message is normally proceeded by a BOZ4116 binder message that might provide additional information that helps in your response.

BOZ1429U "&1" I/O error encountered during binder API "&2": return code=&3 reason code=&4. Terminating optimizer.

Explanation

While processing a module using a binder API (&2), the binder detected an I/O error of type &1. The binder API provided the return code (&3) and reason code (&4).

System action

The optimizer immediately terminates execution and returns to the operating system with a return code of 16.

User response

The type (&1) of I/O problem and the reason code (&4) can help direct the steps of how to diagnose and fix the problem. See binder documentation for an explanation of the reason code. Now, an example is a "WRITE" (&1) error of the optimized module because the output PDS(E) or file system is full. The binder API information (&2) or reason code (&4) can help confirm, or lead to, the cause of the "WRITE" problem. Note that increasing the size of the PDS(E) (or file system) could fix the "WRITE" problem. For information about binder API return codes and reason codes, see z/OS MVS Program Management: Advanced Facilities.

This message is normally proceeded by a BOZ4116 binder message that might provide additional information that helps in your response.

BOZ1430U Unrecoverable "&1" error encountered during binder API "&2": return code=&3 reason code=&4. Terminating optimizer.

Explanation

While processing a module using a binder API (&2), the binder detected an error of type &1. The binder API provided the return code (&3) and reason code (&4).

System action

The binder immediately terminates with a return code of 16.

User response

The type (&1) of problem and the reason code (&4) can help direct the steps of how to diagnose and fix the problem. If you are unable to diagnose the problem, consult IBM service for assistance. For information about binder API return codes and reason codes, see z/OS MVS Program Management: Advanced Facilities.

This message is normally proceeded by a BOZ4116 binder message that might provide additional information that helps in your response.

BOZ1431S Input module with unsupported feature (&1) encountered during binder API "&2": return code=&3 reason code=&4. Module bypassed.

Explanation

While processing a module using a binder API (&2), the binder detected that the module cannot be optimized due to the module contained a feature &1 that is not supported. The binder API provided the return code (&3) and reason code (&4).

One example of an unsupported feature is when the input is an object module (as opposed to the input being a load module or program object). Another example of this problem, is when the input module is not fully bound and contains "UNRESOLVED" references.

System action

User response

Since the input module cannot be supported, the choices are:
  • ignore the message
  • change optimizer input to avoid optimizing the module
  • fix the problem. For example, in the case of a module with "UNRESOLVED" references, change the build steps used to produce the module so that the module is fully bound
For information about binder API return codes and reason codes, see z/OS MVS Program Management: Advanced Facilities.

This message is normally proceeded by a BOZ4116 binder message that might provide additional information that helps in your response.

BOZ1432S Output module size exceeded module format limitations and cannot be saved.

Explanation

The optimizer attempted to write the optimized module but ran into output format restrictions. A load module, saved into a PDS member (or sequential dataset), has the most restrictive format. Far less common is encountering a format limitation with a program objects (written to PDSE or HFS path).

System action

The optimizer terminates optimizing the input module and proceeds to process the next module or next directive.

User response

If the output module is to be saved into a PDS member or sequential dataset, consider changing the output location to be a member of a PDSE. Otherwise, consider splitting the program into multiple modules.

BOZ1433S RTIBIND is not supported for 64-bit module "&1".

Explanation

The optimizer detected that the request to rebind with RTI profiling modules was issued for the AMODE 64 compiled module (&1). AMODE 64 modules are those produced, for example, from using the LP(64) or LP64 options in IBM compilers. RTIBIND is not supported for AMODE 64 compiled modules.

System action

The optimizer stops processing and does not rebind the input module with the RTI profiling modules. The optimizer proceeds to process the next module.

User response

Avoid using RTIBIND for AMODE 64 compiled modules.

BOZ1436S Invalid ARCH specification : &1

Explanation

An invalid or unsupported architecture specification (&1) was detected in one of the following cases:
  1. In an ARCH option or SEL_ARCH option when processing the SYSIN file
  2. When processing a NEW dataset in an IEFOPZ configuration

System action

If the invalid specification was detected on a line of the SYSIN file, the optimizer discards the line with the invalid option and proceeds to process the next line in the SYSIN file. If the invalid specification was detected processing a NEW dataset of an IEFOPZ configuration, the optimizer ignores the NEW dataset and proceeds to process the remainder of the IEFOPZ configuration

User response

Correct the SYSIN file or IEFOPZ configuration by specifying an ARCH level supported by the optimizer.

BOZ1437S No BOPT or IEFOPZ directive found

Explanation

The optimizer can neither find a BOPT nor an IEFOPZ directive.

System action

The optimizer terminates execution and returns to the operating system with a return code of 12.

User response

Check that your JCL includes at least one BOPT or IEFOPZ directive.

BOZ1438U dynfree dyn failed: rc=&1 for DD &2

Explanation

The optimizer detected an error attempting to free an internal input DD name (&2) that the optimizer was using as part of the optimization process.

System action

The optimizer immediately terminates execution and returns to the operating system with a return code of 16.

User response

This problem could have been caused by an earlier problem. Correct any problems reported in the log file and retry the optimization process. If the problem persists, consult IBM service for assistance.

BOZ1439U dynfree saveDyn failed: rc=&1 for DD &2

Explanation

The optimizer detected an error (the dynfree service returned &1) attempting to free an internal output DD name (&2) that the optimizer was using as part of the optimization process.

System action

The optimizer immediately terminates execution and returns to the operating system with a return code of 16.

User response

This problem could have been caused by an earlier problem. Correct any problems reported in the log file and retry the optimization process. If the problem persists, consult IBM service for assistance.

BOZ1446U An I/O error occurred while writing &1

Explanation

The optimizer detected an I/O error when writing to &1, where &1 could be either 'the Listing transform' or 'the Log file'.

System action

The optimizer immediately terminates execution and returns to the operating system with a return code of 16.

User response

Check whether the PDS(E) or file systems is full and allocate a larger file for the PDS(E) or increase the size of the file system. Also check whether the dataset was allocated with a proper record format and record length.

BOZ1447U An Unexpected I/O error occurred

Explanation

The optimizer detected an I/O error during execution.

System action

The optimizer immediately terminates execution and returns to the operating system with a return code of 16.

User response

Check the definitions of the output files (you should be able to exclude the output modules) to ensure a proper record length and record format is used and check whether the files are full.

BOZ1449U Unhandled out of memory exception

Explanation

The optimizer was unable to continue due to memory being low.

System action

The optimizer immediately terminates execution and returns to the operating system with a return code of 16.

User response

Consider using the JCL MEMLIMIT or JCL REGION parameters to increase the memory used by the optimizer. For more information, see thez/OS MVS Initialization and Tuning Reference and the z/OS MVS Initialization and Tuning Guide.

BOZ1450U Assertion failure, check logs for traceback

Explanation

The optimizer was unable to continue as an unexpected condition was encountered during processing.

System action

The optimizer immediately terminates execution and returns to the operating system with a return code of 16.

User response

Unexpected problems could happen due to an earlier problem. Correct any problems reported in the log file and retry the optimization process. If the problem persists, consult IBM service for assistance.

BOZ1451S dynalloc(): failed for DSN &1 with DD &2, errcode &3, info code &4

Explanation

The optimizer encountered an error allocating an internal DD (&2) for dataset (&1). &3 is the error code returned by the MVS dynamic allocation functions. &4 is the information code returned by the MVS dynamic allocation functions.

System action

The optimizer terminates optimizing the input module and proceeds to process the next module or next directive.

User response

Check that the dataset (&2) exists and is accessible and check that your JCL does NOT include a definition for the same DD (&2). Also, unexpected problems could happen due to an earlier problem. Correct any problems reported in the log file and retry the optimization process. If the problem persists, consult IBM service for assistance.

BOZ1452S dynalloc(): failed for path &1 with DD &2, errcode &3, info code &4

Explanation

&3 is the error code returned by the MVS dynamic allocation functions. &4 is the information code returned by the MVS dynamic allocation functions.

System action

The optimizer terminates optimizing the input module and proceeds to process the next module or next directive.

User response

Check that the path is accessible and can be written to and check that your JCL does NOT include a definition for the same DD (&2). Also, unexpected problems could happen due to an earlier problem. Correct any problems reported in the log file and retry the optimization process. If the problem persists, consult IBM service for assistance.

BOZ1453U dynalloc(): failed for DUMMY DD &1 errcode &2, info code &3

Explanation

The optimizer encountered an error allocating a mandatory DUMMY DD (&1) that is required for the optimization process. &2 is the error code returned by the MVS dynamic allocation functions. &3 is the information code returned by the MVS dynamic allocation functions.

System action

The optimizer immediately terminates execution and returns to the operating system with a return code of 16.

User response

Check that your JCL does NOT include a definition for the same DD (&1). Also, unexpected problems could happen due to an earlier problem. Correct any problems reported in the log file and retry the optimization process. If the problem persists, consult IBM service for assistance.

BOZ1455W Unsupported feature "&1" found

Explanation

This message is issued in one of the following situations:
  1. When ABO encounters a COBOL CSECT (i.e. compiled COBOL program) built by a compiler not eligible for use with ABO or the CSECT contains a COBOL language feature not supported by ABO.
  2. When ABO encounters a CSECT that is too complex to safely optimize.

In the first situation, ABO detected a feature "&1" that it does not support in the CSECT being processed. See COBOL module requirements for the compilers eligible for use with ABO and the COBOL language features not supported by ABO.

In the second situation, ABO has determined that the CSECT is too complex to be safely optimized so it has been skipped. ABO will only optimize a CSECT if it can ensure the optimized program will execute with the same logic as the original compiled program. In cases where the CSECT is so complex that ABO cannot guarantee this, ABO stops the optimization process and skips this CSECT. Any other eligible CSECTs in the module will still be processed.

Note that this message is issued for informational purposes only and does not indicate a functional issue with ABO.

System action

ABO bypasses optimization of the CSECT and proceeds to process the next CSECT.

User response

If you see message BOZ1455 issued for a particular unsupported feature while optimizing a large number of your modules, you may open an RFE to indicate that the lack of this feature is inhibiting your ability to use ABO effectively.

BOZ1456S "&1" cannot be both optimizer input and optimizer output.

Explanation

The optimizer does not allow a dataset or file to be used as input to the optimizer as well as output from the optimizer. For example, an optimized module cannot be written to a PDS(E) if that PDS(E) is also a source of input modules. This message is emitted when &1 is used as both a location of input to the optimizer and a location of output from the optimizer.

System action

The optimizer terminates optimizing the input module and proceeds to process the next module.

User response

Correct your JCL or SYSIN file such that the output datasets are separate from input datasets.

BOZ1457S Invalid filter expression "&1".

Explanation

The optimizer cannot process the mem_expr parameter of BOPT optimizer directive or the expr parameter of the CSECT optimizer option. The expression contains invalid syntax or wildcards and cannot be processed as written.

System action

The optimizer terminates optimizing the current directive and proceeds to process the next directive.

User response

Correct the expression. See the description of the mem_expr parameter of BOPT and the expr parameter of the CSECT optimizer option.

BOZ1458W Listing file "&1" has LRECL below recommended &2. Truncation may occur.

Explanation

The listing file &1 has a lower maximum record length than the recommended amount &2 as specified in the recommended allocation parameters. Note that for V record formats, the maximum record length of a file is 4 less than the LRECL.

System action

The optimizer writes the listing transform to the file &1, but the lines will be truncated to the maximum record length of file &1.

User response

Update the allocation parameters for file &1 increasing the LRECL to at least the recommended amount &2. Note that for V type record formats, the amount should be 4 more than &2.

BOZ1490W Warning: AMODE/RMODE conflicts encountered during binder API "&1": return code=&2 reason code=&3. Operation performed and processing continues.

Explanation

During the optimization process, the binder detected a conflict with the AMODE and RMODE settings. This problem was detected by the binder API (&1) for which the binder issued a return code (&2) and reason code (&3). You can use binder reason code documentation along with the reason code (&3) to determine the precise nature of the conflict. Normally, the conflict is already present in the input module and not introduced by the optimization process.

System action

The binder issues this BOZ1490 warning message and continues with the optimization of the input module.

User response

The warning message may be an indicator of a problem with the input module being optimized. Fixing the problem may require fixing the build steps used to produce the input module. For information about binder API return codes and reason codes, see z/OS MVS Program Management: Advanced Facilities.

BOZ1491W Warning: problems encountered adding aliases to directory during binder API "&1": return code=&2 reason code=&3. Module saved and processing continues.

Explanation

During the optimization process, the binder detected an issue adding aliases to a directory. This problem was detected by the binder API (&1) for which the binder issued a return code (&2) and reason code (&3). An alias cannot be added to a PDS(E) directory when the binder finds that there is a member of the PDS(E) directory with the same name as the name of the alias.

System action

The binder issues this BOZ1491 warning message and continues with the optimization of the input module.

User response

To resolve this problem, it is important to understand why there is an existing member in the output PDS(E) with the same name as the name of the alias. For example:
  • Do not specify an alias name on the member specifier of IN option of a BOPT directive. If an alias name was specified, delete this BOPT directive and delete the member from the target dataset.
  • An incorrect member specifier on the OUT option of a BOPT directive could cause a conflict with the name of an alias. Ensure that the OUT option of a BOPT directive has the same member specifier as the member specifier supplied of the IN option.
  • Merging aliases from more than one input datasets could cause conflicts with aliases and member names of the two datasets. It is recommended that a different output dataset be used for each input dataset. For information about binder API return codes and reason codes, see z/OS MVS Program Management: Advanced Facilities.

BOZ1492W Warning: input module "&1" with exported symbols is saved to different named module "&2".

Explanation

The optimizer detected an input module (&1) in a PDS(E) that included exported symbols and the optimized module was being written to a differently named member (&2) in an output PDS(E).

System action

The binder issues this BOZ1492 warning message and continues with the optimization of the input module.

User response

To fix the problem, change your JCL or SYSIN file such that the member name of the optimized module is the same as the member name of the input module. Failing to do so could result in runtime problems with locating the optimized module because of the change in the member name.

BOZ1493S Concatenated DD "&1" encountered and not is allowed for "&2".

Explanation

The optimizer detected an input or output DD definition (&1) that was the concatenation of two or more datasets. &2 provides the context in which the DDs were used. For example, &2 may indicate that the DD was used as an input module location, or as an output module location, or as an output listing transform location.

System action

The optimizer bypasses directives that include concatenated DD definitions and the optimizer proceeds to process the next directive.

User response

Fix your JCL to not include a concatenated DD definition for input modules, output modules and for listing transforms.

BOZ1494S Module not processed as it is not fully bound.

Explanation

During the optimization process, a module was encountered in input that is not fully bound and the ALLOW=NOUNRESEXE option was specified. The optimizer will not process the module that is not fully bound unless the ALLOW=UNRESEXE option is specified.

System action

The optimizer terminates optimizing the input module and proceeds to process the next module or next directive.

User response

If the intent is to optimize partially bound modules, remove the ALLOW=NOUNRESEXE option. If the intent is to only optimize fully bound modules, ignore the error, or correct your JCL or SYSIN file to only process fully bound modules.

BOZ1495W Rebind of dependent DLL "&1" with RTI bypassed.

Explanation

The optimizer emits this warning message when the RTIBIND=IN | OUT | ALL option was specified for the dependent DLL module &1 it’s processing.

System action

The optimizer bypasses rebinding the dependent DLL module &1 and continues to process the next module if it’s present. It has no impact on the profiling of the main DLL module. As long as the main DLL is successfully rebound with the RTI Profiler modules then profiling information of the main and the dependent DLL modules will be collected.

User response

No action is required by the user. In case the RTI Profiler enabled dependent DLL module is required for some other purpose, you can use the Manual RTI rebinding instructions.

BOZ1496W Rebind of dependent DLL “&1” (“&2”) with RTI bypassed.

Explanation

The optimizer issues this warning message when the RTIBIND=IN | OUT | ALL option was specified for the dependent DLL module &1(&2) it’s processing.

System action

The optimizer bypasses rebinding the dependent DLL module &1(&2) and continues to process the next module if it’s present. It has no impact on the profiling of the main DLL module. As long as the main DLL is successfully rebound with the RTI Profiler modules then profiling information of the main and the dependent DLL modules will be collected.

User response

No action is required by the user. In case the RTI Profiler enabled dependent DLL module is required for some other purpose, you can use the Manual RTI rebinding instructions.

BOZ4089I IEFOPZ: did not get ARCH=&1 match for dataset: '&2' which has ARCH=&3.

Explanation

While processing an IEFOPZ optimizer directive, the optimizer emits this informational message whenever a NEW dataset (&2) is found in an IEFOPZ configuration that has an ARCH specification (&3) that does not match the SEL_ARCH selector (&1) that was specified on the IEFOPZ optimizer directive.

System action

The optimizer bypasses the NEW dataset and processes the next NEW dataset in the configuration.

User response

No action is required by the user.

BOZ4091I IEFOPZ: did not get STATE=&1 match for dataset: '&2' which has STATE=&3.

Explanation

While processing an IEFOPZ optimizer directive, the optimizer emits this informational message whenever a NEW dataset (&2) is found in an IEFOPZ configuration that has a STATE specification (&3) that does not match the SEL_STATE selector (&1) that was specified on the IEFOPZ optimizer directive.

System action

The optimizer bypasses the NEW dataset and processes the next NEW dataset in the configuration.

User response

No action is required by the user.

BOZ4092I IEFOPZ: did not get DSN='&1' match for dataset '&2'.

Explanation

While processing an IEFOPZ optimizer directive, the optimizer emits this informational message whenever an OLD dataset (&2) is found in an IEFOPZ configuration that does not match the SEL_OLD selector value (&1) that was specified on the IEFOPZ optimizer directive.

System action

The optimizer bypasses the OLD dataset and processes the next OLD dataset in the configuration.

User response

No action is required by the user.

BOZ4097I No members in dataset '&1' to process

Explanation

This message is emitted when there are no members in the dataset to process.

System action

The optimizer continues processing the next dataset.

User response

No action is required by the user.

BOZ4101W No applicable COBOL code section found, return code 4

Explanation

This message is emitted in the following cases:
  1. When the optimizer encounters a load module but does not optimize any CSECTs within the load module (note: the message is not printed if the REPLACE=Y option is specified and an optimized module already exists)
  2. After a BOPT directive that has member wildcards in the "IN" option, but no modules in the "IN" dataset were optimized
  3. After an OLD dataset is processed and no modules in an OLD dataset were optimized
  4. After an IEFOPZ directive is processed but no modules were optimized

System action

The optimizer continues processing the next module of input.

User response

No action is required by the user.

BOZ4107I INFO: IDRL record not added to CSECT &1 as load module format does not support three IDRLs. Processing continues.

Explanation

The optimizer issues this informational message when an IDRL record (for the binary optimizer itself) could not be added to an optimized CSECT in a load module because that CSECT already has 2 IDRL records. Note: a maximum of 2 IDRLs per CSECT is a restriction of load modules in PDS (but is not a restriction for program objects in PDSE).

System action

The optimizer continues its processing of the output load module.

User response

No action is required by the user.

BOZ4109I INFO: Adding a third IDRL to load module CSECT "&1".

Explanation

While processing a CSECT (&1) in a load module, the optimizer emits this informational message when the optimizer adds its language record as the third IDRL of the CSECT (&1). Note that an update to the binder is required so that the binder can properly add a third IDRL to a CSECT. If the binder update is not installed on your system, the optimizer will emit a subsequent warning message when attempting to save the optimized load module.

System action

If the optimizer emits a warning message when saving the module, the language record may not have been added to the CSECT and the optimizer continues processing of the CSECT. Otherwise, processing of the CSECT was successfully performed.

User response

If the optimizer emits a warning message when saving the module, you should contact your system programmer to install the binder update and perform the optimization process again. Otherwise, no action is required by the user. The required binder update for this message is under APAR OA50460. See Supported operating systems for more information.

BOZ4110I INFO: performing a second bind to handle private section "&1" in class "&2" referring to ENTRY "&3" at offset &4.

Explanation

The optimizer emits this message when processing a CSECT that had a COBOL ENTRY statement (&3) and there was a reference to the ENTRY (&3) from a private section (&1) from within a class (&2, which is normally C_WSA) at an offset (&4). Note that an update to the binder is required so that the second bind works successfully. Without the binder update, the optimized program could experience problems.

System action

If the binder update is available, processing completes successfully. But, if the binder update is not available, the second bind may appear to complete successfully, but, runtime errors may happen.

User response

If the binder update is installed on your system, no action is required. Otherwise, have your system programmer install the binder update and perform the optimization process again. The required binder update for this message is under APAR OA50460. See Supported operating systems for more information.

BOZ4111I INFO: performing update to private section "&1" in class "&2" referring to ENTRY "&3" at offset &4.

Explanation

The optimizer emits this message when processing a CSECT that had a COBOL ENTRY statement (&3) and there was a reference to the ENTRY (&3) from a private section (&1) from within a class (&2) at an offset (&4). Note that an update to the binder is required so that the second bind works successfully. Without the binder update, the optmized program will emit an error message when processing the reference.

System action

If the binder update is not available, the optimizer emits an error processing the reference. Otherwise, the binder processes the reference successfully.

User response

If the optimizer emitted an error processing the reference, have your system programmer install the binder update and perform the optimization process again. Otherwise, no action is required. The required binder update for this message is under APAR OA50460. See Supported operating systems for more information.

BOZ4113I CSECT &1 was excluded by filter - skip

Explanation

This message is emitted when a CSECT is excluded by the optimizer due to the expression in the CSECT optimizer option.

System action

The optimizer continues processing the next CSECT.

User response

No action is required by the user.

BOZ4114I INFO: processing module that is not fully bound with ALLOW=UNRESEXE option in effect.

Explanation

When the ALLOW=UNRESEXE option is specified, the optimizer issues this informational message when it encounters a module in input that is not fully bound.

This message is not issued if the module is fully bound.

This message can be used to determine which partially bound modules were processed by the optimizer.

System action

If the binder update is not available, the optimizer emits an error processing the reference. Otherwise, the binder processes the reference successfully.

User response

The optimizer processes the partially bound module and outputs an optimized partially bound module.

BOZ4116I Binder message "&1"

Explanation

The optimizer uses binder services and a service might fail which prevents a module from being optimized. In response to a binder service that fails, ABO produces a message such as BOZ1429 and terminates processing in some manner. The BOZ1429 message might lack detailed information as to why the binder service failed. For example, the BOZ1429 message indicates that the binder found some problem with the input module but BOZ1429 does not include the precise input problem that the binder found. To provide more information about binder services that fail, the optimizer captures severe binder messages and includes the text of a binder message within &1 of the BOZ4116 informational message. This means that, when a binder service fails, ABO normally emits two messages:
  1. The BOZ4116 message with &1 holding the text of a severe binder message. The BOZ4116 message is followed by
  2. A summary message such as BOZ1429, indicating the general nature of binder failure.

System action

See the "System action" section of the summary message to determine the actions of the optimizer.

User response

See the "User response" section of the summary message to determine what to do. The BOZ4116 message might provide information that helps guide your response.

BOZ4117I Member "&1" was excluded by filter - skip

Explanation

This message is emitted when a module is excluded by the optimizer due to the expression in the IN option of the BOPT directive.

System action

The optimizer continues processing the next module.

User response

No action is required by the user.

BOZ4119S Continuation indicated on SYSIN line &1. Unable to read SYSIN line &2.

Explanation

Continuation was indicated on line &1 of SYSIN with the last non-blank character of line &1 being a continuation char (either '+' or '-'). While reading SYSIN, the optimizer was unable to read line &2.

System action

The optimizer discards the line.

User response

Either remove the continuation character at the end of line &1 of SYSIN, or add a new line &2 to the SYSIN that will continue line &1.

BOZ4120S Cannot have more than one IN= or OUT= specifier.

Explanation

This message is emitted when more than one IN or OUT specifier is detected in a BOPT directive.

System action

The optimizer continues processing the next BOPT directive.

User response

Remove IN or OUT specifiers from the BOPT directive until there is no more than one of each per directive.

BOZ4121S Invalid log specification. '&1' is not a directory.

Explanation

Only directories are valid specifiers for the LOG option. &1 is not a directory.

System action

The LOG option is ignored.

User response

Correct the LOG specification to a supported format, see the LOG option for supported specifications.

BOZ4124I The HANDLERS option is now deprecated and no longer necessary; the previously default HANDLERS=Y behaviour now always applies.

Explanation

The optimizer option HANDLERS is now deprecated and is no longer supported nor required.

System action

Regardless of the HANDLERS option specified, the optimizer will always behave as if the previously default and conservative HANDLERS=Y option is in effect.

User response

No action is required by the user.

BOZ4128W Optimization bypassed for not LE enabled member "&1"

Explanation

The optimizer detected a not LE enabled module (&1). These types of modules are not eligible for optimization.

System action

The optimizer bypasses optimizing the input module and proceeds to process the next module.

User response

No action is required by the user.