What's the explain plan, how many rows is it retrieving, is flnt402 indexed, is the table index-organized?

Also, why is this code being executed so many times? Is it a case of PL/SQL looking up values then joining to another data set through PL/SQL code instead of through SQL?