Does this run? Perhaps there's some cut & paste errors:
--feed_instrm_measr fim, - fin_instrm_measr fim, - (
select fia.secnd_fin_instrm_id, fia.prim_fin_instrm_id,
. . . .
uom u, -- covrg_typ ct,
Does it give the right result? The following will NOT give an outer join since deficient rows in fis will have NULL columns:
where fia.prim_fin_instrm_id = fis.fin_instrm_id(+)
and fis.class_id = c.class_id
. . . .
and fis.actv_in = 'Y'