The DB may have lost a secondary index - happens often enough. Maybe the folks on the IMS list could offer up some additional speculation.
On 3/27/07, GAVIN Darren * OPS EAS <[EMAIL PROTECTED]> wrote:
Actually you are right, it was (and wasn't a coding error) What happened is this, once I split the program into two and did an external sort. What used to be the output phase was the portion that was accruing the 800K I/O trying to update the 181 extracted records (segments). I went back to what I had done a few weeks ago and the timings there were fine. But were bad running now. However I fixed the issue by changing how the Top most (parent) segment was read from DLI. The DLI Statement which was working a few weeks ago (the SSN and Agency both make up the top level segment key) EXEC DLI GU USING PCB(2) SEGMENT (OS0201) WHERE (OS201NSS=DW-SSN AND OS201NAP=DW-AGENCY) FIELDLENGTH (9,5) INTO (OSPS-AGCY-PAY-SEG) SEGLENGTH (LENGTH OF OSPS-AGCY-PAY-SEG) END-EXEC. Something changed however as it is now serially searching the OS0201 segments for a match, instead of recognizing the two fields being part of the key and doing a keyed read. I changed the logic to this and it fixed the Output program right up. MOVE DW-SSN TO AP-NMBR-SOC-SECR-SG MOVE DW-AGENCY TO AP-NMBR-AGCY-PAY-SG * GET PARENT SEGMENT EXEC DLI GU USING PCB(2) SEGMENT (OS0201) WHERE (OS201APK=AP-CODE-AGCY-PAY-KEY-SG) FIELDLENGTH (14) INTO (OSPS-AGCY-PAY-SEG) SEGLENGTH (LENGTH OF OSPS-AGCY-PAY-SEG) END-EXEC. At this point going to leave the program split into the extract/external sort/update pieces. As to why the first form was working a few weeks ago, and isn't now, I'm not too clear on that. Thanks for all your input and suggestions on it. -----Original Message----- From: IBM Mainframe Discussion List [mailto:[EMAIL PROTECTED] On Behalf Of Rich Tabor Sent: Tuesday, March 27, 2007 2:17 PM To: IBM-MAIN@BAMA.UA.EDU Subject: Re: Cobol Internal sort and DLI Databases Sorry - I have to believe this is a coding error. My guess is that many of the 60000 segments were re-read after every success selection (RELEASE) because the logic in the input procedure probably started retrieving over at the beginning of the database. Post the code. ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html