UFF3 abend in an LE cobol program in IDMS - finding the offending program
search cancel

UFF3 abend in an LE cobol program in IDMS - finding the offending program

book

Article ID: 4024

calendar_today

Updated On:

Products

IDMS IDMS - Database

Issue/Introduction

An online IDMS COBOL program abends with message 

DC027005 Vnn Tnnn TASK:xxxxxxxx PROG:xxxxxxxx ABENDED WITH CODE UFF3 AND REASON CODE 0007

Other reason codes may also appear.

Environment

This abend can occur in any IDMS CV, where LE/370 COBOL is implemented.

Cause

The MULTIPLE ENCLAVE feature is a performance enhancement for the support of LE/370 COBOL programs running in an IDMS address space. It enables multiple programs running under the same IDMS/DC task to share the same LE enclave, thus reducing CPU consumption and storage usage. 

As described in the above appendix, only some programs are eligible for the MULTIPLE ENCLAVE feature. Therefore, when defining a DC-COBOL program to the IDMS System Generation compiler, one of the parameters that must specified is whether the program is to run with MULTIPLE ENCLAVE ON or OFF.

If a program that is not eligible for the MULTIPLE ENCLAVE feature is defined with it ON, then at runtime the task will abend with a UFF3 with reason code 0007. Unfortunately, neither the abend message nor the place at which the task abends will necessarily indicate which program has caused the problem.

Resolution

By looking at a dump from the UFF3 abend, it is possible to determine which program needs to be defined as MULTIPLE ENCLAVE OFF.

In the TCE there is a field at offset x'24C', TCELE370. It points to a chain of LE37DS control blocks. Each LE37DS represents an enclave for a particular program. At offset x'A4', find the name of the program for that enclave. Investigate that program for the attributes that may make it ineligible for MULTIPLE ENCLAVE.

The fullword at offset 0 in the LE37DS points to the next LE37DS. At the end of the chain it will be 0

Additional Information