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: [email protected]
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