I read that all calls to MQSeries functions (MQCONN, MQOPEN, MQGET, MQPUT, etc.) "must" be STATIC
I have a program PGM1 which is calling subroutine PGM2 dynamically. PGM2 reads the messages from a queue using MQCONN, MQOPEN functions via STATIC calls. Process has been working fine till date.
Recently we made a small enhancement in PGM1 but did not change PGM2. Post installation, we were unable to read the messages from queues & PGM2 failed at MQCONN calls giving S806 abend.
My question here is Do we need to recompile/relink PGM2 & then PGM1 to complete the STATIC call chain from calling program to all called pgms.
Joined: 20 Oct 2006 Posts: 6966 Location: porcelain throne
It is Sunday, so I will give you a break and not rip into you with my normal DBZ style.
an 806 simply means that the loadlibs where scanned for a module name and the module was not found.
Suggest that you insure that the loadlibs contain PGM1, PGM2 and the MQS.loadlib (what ever the name is for your site).
Since you say the CALL to MQCONN failed, I would assume that you have not lib'ed your MQS load library during execution.
If you did not change PGM2, there is no need to recompile/relink PGM2
Quote:
PGM2 & then PGM1 to complete the STATIC call chain from calling program to all called pgms.
this comment scares me (actually, it says you do not know what you are talking about.)
The only CALL chain you will find
is dynamically generated and maintained by the the OPS-SYS
during RUN TIME.