You executed the query
SELECT Inv_ID FROM
Invoice WHERE ((((SNUM=:PREDVALUE0) AND
(SBQ=:PREDVALUE1)) AND
(SBV1=:PREDVALUE2)) AND
(STYPE=:PREDVALUE3)) AND
(SReq=:PREDVALUE4)


78273 times and it returned 78273 rows. What it means you are processing one row a time. And it did 600K IOs. Or I can say 6.7 IO per execution which is not bad.

To improve the performance, use bulk collect option. Or change the logic such a way that you process the data in one or two SQL statements.