You cannot prevent all such failures -- if the problem is failing hardware, then the 156 feedback codes will continue (usually intermittently) until the disk drive fails completely.
However, the point about other address spaces (and CICS in particular) is that at least two of the five conditions listed in the manual message could occur if another address space is updating the VSAM file at the same time your program is reading it. If that were the case, there are two reasonably easy solutions and one difficult solution to choose from: (1) close the file in CICS (or whatever the other address space is) while your program is using the file, (2) use DISP=OLD for the VSAM file in your JCL so you have exclusive control when reading the data, or (3) (this is the hard one) implement enqueue / dequeue logic in both the other address space and your program to ensure the VSAM file retains integrity.
One thing that is relevant is the share options for the VSAM file since (1,3) is the only combination that causes VSAM to maintain integrity of the file. (2,3) places the responsibility upon your program to ensure read integrity (in other words, something could update the data while you are reading the file), while (3,3) and (4,3) basically require the third option I listed in the previous paragraph.
- These users thanked the author Robert Sample for the post:
- ashokkumar_rn (Thu Mar 28, 2013 6:12 pm)