Sandra, Is the column "incoid" defined the same as "mi.boid"? I'm thinking maybe you have a column type mismatch? Tom ________________________________ From: oracle-l-bounce@xxxxxxxxxxxxx [mailto:oracle-l-bounce@xxxxxxxxxxxxx] On Behalf Of Sandra Becker Sent: Friday, October 10, 2008 1:13 PM To: guillermo.bort@xxxxxxx Cc: oracle-l Subject: Re: Executing wrong sql CURSOR_SHARING is set to EXACT. Here is a sanitized version of the section of code we're having problems with: . . . DECLARE CURSOR pvi1 IS SELECT DISTINCT mi.docid, mi.invnumber, mi.datereceived FROM invpayment ip, mbinv mi WHERE ip.invnumber = mi.invnumber AND mi.boid = incoid AND substr(mi.soid, 0, 12) = substr(vndr.partnerid, 0, 12) AND mi.ISDELETED != '1' AND mi.state = 'Imported' AND mi.datereceived BETWEEN inStartDate AND nvl(inEndDate, add_months(inStartDate, 6)); BEGIN IF (invpdcnt != 0) . . . The line that is bold/italic seems to be getting changed to AND substr(mi.boid,0,12) = substr(incoid,0,12) The script is very lengthy so I didn't want to put all of it in the thread. Sandy