We recently had a job-abend in our Production Environment. The job runs FILEAID in Batch, to Filter out Records, based on the //SYSIN Control Card. Here's the step.
//FILEVIS EXEC PGM=FILEAID
//DD01 DD DSN=CP81.CPARS.GRAP222.DATA,DISP=SHR
//DD01O DD DSN=CP81.CPARS.GRAP222.DATA,DISP=SHR
//SYSIN DD DSN=CP81.CPARS.PARMFILE.DATA(SELVIST),DISP=SHR
//DD01 DD DSN=CP81.CPARS.GRAP222.DATA,DISP=SHR
//DD01O DD DSN=CP81.CPARS.GRAP222.DATA,DISP=SHR
//SYSIN DD DSN=CP81.CPARS.PARMFILE.DATA(SELVIST),DISP=SHR
FILEAID Abended with a Return-Code 12. The Job Log, showed the following IEC020I messages.
IEC020I 001-3,CPARS22A,FILEVIS,DD01,3189,SMA3T2,
IEC020I CP81.CPARS.GRAP222.DATA
IEC020I NON-ACCEPTABLE ERROR
IEC020I CP81.CPARS.GRAP222.DATA
IEC020I NON-ACCEPTABLE ERROR
When I looked up the System Abend Code S001, Return Code 03, in the IBM MVS Messages Manual, I found the following explanation :
"If the return code is 3, for QSAM, an unacceptable error occurred because of one of the following:
– The caller returned from the SYNAD.
– The caller did not provide a SYNAD.
Look at the input/output block (IOB) to determine why the error was unacceptable to QSAM. "
When I searched for SYNAD, I found that, SYNAD is an Error-Analysis routine. You must supply it.
[b]File-Aid Messages[/b]
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* * * *
* * AN ABEND HAS OCCURRED: S001 U0000 * *
* * * *
* * PSW: 078D1000 00DD2644 RELEASE: 9.2.0 02/07/2010 * *
* * * *
* * LOCATION: IGG019AQ+000000BA EP=00DD2588 * *
* * * *
* * R0 000068D0 R1 000DABC0 R2 80065E2C R3 00000000 * *
* * * *
* * R4 00007B38 R5 80006FFE R6 000DABC0 R7 00000000 * *
* * * *
* * R8 000B0900 R9 00066DF0 RA 00035800 RB 000716D2 * *
* * * *
* * RC 00036800 RD 0003A310 RE 00DD2636 RF 0004DEF0 * *
* * * *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
QSAM GET I/O ERROR "NO RECORD FOUND" ON DD01-SMA3T2 DS BLOCK CCHHR=0047000203!
BLKS-SKIPPED=25,RECORDS-READ=2065,COPIED=2065
2,065 RECORDS WRITTEN TO DD01O-CP81.CPARS.GRAP222.DATA
VOL=SMA3T2
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* * * *
* * AN ABEND HAS OCCURRED: S001 U0000 * *
* * * *
* * PSW: 078D1000 00DD2644 RELEASE: 9.2.0 02/07/2010 * *
* * * *
* * LOCATION: IGG019AQ+000000BA EP=00DD2588 * *
* * * *
* * R0 000068D0 R1 000DABC0 R2 80065E2C R3 00000000 * *
* * * *
* * R4 00007B38 R5 80006FFE R6 000DABC0 R7 00000000 * *
* * * *
* * R8 000B0900 R9 00066DF0 RA 00035800 RB 000716D2 * *
* * * *
* * RC 00036800 RD 0003A310 RE 00DD2636 RF 0004DEF0 * *
* * * *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
QSAM GET I/O ERROR "NO RECORD FOUND" ON DD01-SMA3T2 DS BLOCK CCHHR=0047000203!
BLKS-SKIPPED=25,RECORDS-READ=2065,COPIED=2065
2,065 RECORDS WRITTEN TO DD01O-CP81.CPARS.GRAP222.DATA
VOL=SMA3T2
After trying to re-run this step in Production, it ran fine, and completed Successfully.
My Understanding
My understanding is File-Aid in turn CALLS Qsam Routines - like IGG019* to access the records from the QSAM File, Blocking and Unblocking. Due to an error, some Blocks were skipped by QSAM while fetching the data, into its Buffers.
My Questions
1. How do I access the QSAM Input Output Block, as suggested in the IBM Manual?
2. How do I interprete the PSW, and Register 0-15 contents?
3. What is the exact cause of this abend according to you?
Eagerly awaiting your reply.
Thank you very much.