by steve-myers » Thu Jul 19, 2012 10:03 am
The IBM definition is something like this. When you open a suspected problem with IBM, it is assigned a PMR (Problem Management Record). After IBM has analyzed the suspected problem - and you better have all your ducks lined up before you open the PMR - it creates an APAR, a formal definition of the problem that is available outside of IBM. Eventually, IBM prepares an APAR fix (your APAR, no doubt), a potential correction for the problem. The person that opened the PMR gets first dibs on the APAR fix, which he is supposed to apply to his system to confirm it corrects the problem and hopefully does not cause additional problems. At this point the APAR fix applies only to the system where the PMR was created. Other people may get the APAR fix, though they, too, must open a PMR. After a while, IBM incorporates the APAR fix into one or more PTFs, one PTF for each currently supported system where the problem can occur.
Back in the days when I did product support for an ISV, we detected what appeared to be a JES2 problem that was kicked off by something our product did. Since JES2 is mostly in source. I located and assembled the JES2 module where it appeared the problem was concurring. Now I'm a pretty good Assembler type, but I couldn't make any sense of their code. The heart of it appeared to be a use of ENQ that I had never seen before or since, and my first thought was a bug there. After a while I gave up on that idea, and hit on the idea of doing a simplified version of what our product was doing when it appeared the problem was occurring. This had several advantages: it was much simpler, the simple version could be given to IBM in place of our product for their testing and prevented IBM from trying to claim the real problem was a bug in our product. When the simple program was readily reproducing the problem I opened the PMR. Sure enough, my simple program reproduced the problem in their environment, and IBM opened an APAR. After a couple of months IBM produced an APAR fix for this problem. The APAR itself had a lot of text I didn't understand about the cause of the problem, and the code was just as mysterious to me after the APAR fix was applied as before the APAR. Working with my little program suggested two different workarounds for our product to avoid the situation that kicked off the problem, and we opened a problem report in our problem management system. I don't think any users of our product actually encountered this problem, but we were ready for it. Later, after IBM produced PTFs our problem record was updated to say that the PTF (iniitially, there were 3 of them, and more followed since it turned out the PTFs were PE'd because there was something wrong with them) that incorporates corrective service for APAR xxxxxx should be applied. By wording it that way we did not have to put the PTF IDs into our problem record.