I was noticing some strange phenomena like programs Stowed appeared to be picking up a
wrong version of a DDM (a DDM of a same name but residing in another library).
This is not a problem of two different buffer-pools. We have this strange behavior sometimes with ANY object, because we have up to 8 Steplibs and objects with the same name in different libraries. We have also GDA named COMMON in some of this steplibs.
The search/find-logic of the bufferpool does not care about a library-name, it is looking only for the object-name. Sometimes this leads into the situation, that you call an object from the current library, but this object with the same name (from another library) is already in bufferpool. In this case, natural takes the bufferpool-object, and not from the current library. If this happens with a GDA, your application will immediate terminate with error 933.
I opened in Feb/March this year a support request (#606283). SAG-Support was able to reproduce this and agreed that this is an error, but they changed this request to an Enhancement Proposal (#4404), due to the complexity of such a correction in bufferpool (they said).
To avoid this problem, you have to make sure, that there are no duplicate object-names in the steplib-sequence.
The other opportunity is to set BPSFI=OFF, but this is not acceptable for a production environment.