Rumpi True for the SQL, but specifically avoided for the procedural solution (don't put the call into the collection until after it's been checked against prior calls; don't check against itself). :-) ----- Original Message ---- From: Rumpi Gravenstein <rgravens@xxxxxxxxx> One issue that Nigel hasn't addressed is that you will want to account for a call overlapping with itself. That might be done with something along the lines of: a.ROWID != b.ROWID On 9/20/07, Nigel Thomas <nigel_cl_thomas@xxxxxxxxx> wrote: Gene