UFC6 dc-cobol program abend under LE/370 runtime

Document ID : KB000026501
Last Modified Date : 14/02/2018
Show Technical Document Details

Problem

A user written DC-COBOL program is abending with code UFC6.

Environment

CA-IDMS/DC, any supported release, using LE run-time.

Cause

A UFC6 abend can occur if you have a DC-COBOL program doing a static call to another DC-COBOL program under LE/370 runtime, and at least one of the programs is not compiled with an LE compliant compiler.

Note - a static call is where the call is coded as CALL 'SUBPROGM' where SUBPROGM is the name of the program being called and it is hard-linked with the calling program.

Solution

With such a configuration, all involved programs must be compiled with an LE compliant compiler, e.g. COBOL for z/OS.

Additional Information

Static calls are seldom used these days. They were not even supported prior to cobol.ii but sometimes programmers were able to get them to work and there are some still existing in applications today. IDMS programmers are encouraged to use an IDMS level TRANSFER CONTROL instead.
If an application does have static COBOL calls, and the COBOL runtime in use is LE/370, then it is absolutely essential that ALL involved programs (the called and calling programs) be compiled with an LE/370 compliant compiler - e.g., COBOL for z/OS.