I recompiled a COBOL program that calls Datacom with the DYNAM compile option. The compile job was successful. However, during run time the job abended with:
CEE3501S The module DBNTRY was not found.
From compile unit progname at entry point progname at statement 572 at compile unit offset +00000D6E at
entry offset +00000D6E at address 00007D6E.
USER COMPLETION CODE=4039 REASON CODE=00000000
IEF450I jobname step - ABEND=S806 U0000 REASON=00000004
Release : 15.1
Component : Datacom/DB
The COBOL compiler option DYNAM will cause COBOL LE to do an operating system LOAD of the program at runtime.
See the IBM documentation on the DYNAM option:
Use DYNAM to cause nonnested, separately compiled programs invoked through the CALL literal statement to be loaded for CALL, and deleted for CANCEL, dynamically at run time.
However this fails because there is no load module called DBNTRY.
DBNTRY is an entry point in the URT.
The DYNAM option is not supported with Datacom programs.
It's a requirement for Datacom programs that the NODYNAM compiler option be used.
With this option, the external reference for DBNTRY in the COBOL program will be resolved at runtime to the entry point in the URT linked with the program.