An IDMS Access module is continually being recompiled every time the program is called. The CV is getting many error messages like this:
DB005540 Dynamic recompile of am_name because of AM/db definition mismatch
Release : 19.0
If the DDLCATLOD area is not in update mode, then IDMS is unable to store a dynamically recompiled access module. We then have to constantly recompile the access module every time the program is executed.
In this case the DDLCATLOD area is in update mode but the program is doing an OPEN/FETCH/CLOSE and then issues a RELEASE.
Issuing a RELEASE ends the SQL session and any uncommitted work will be rolled out, including the recompiled access module.
So when IDMS encounters a mismatched access module, it will do a dynamic recompile, but because of the RELEASE it does not save the recompiled access module and instead it will be deleted at the end of the transaction. We then will constantly recompile the access module every time the program is called and a mismatch is encountered.
To prevent the constant dynamic recompilation of the access module do one of the following:
See documentation section ALTER ACCESS MODULE, RELEASE and COMMIT.