UFC6 dc-cobol program abend under LE/370 runtime

Document ID : KB000026501
Last Modified Date : 26/09/2018
Show Technical Document Details
Issue:

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

Environment:
CA IDMS, all supported releases.
Cause:

A UFC6 abend can occur if you have a DC-COBOL program executing 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 done when the following are true:
1. 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.
2. the cobol compile option NODYNAM was used.

In a CA-IDMS environment, NODYNAM must be used anyway, DYNAM is not supported.

Resolution:
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.

Considerations for IBM Language Environment