Hi,
You should switch from the old style Oracle syntax, i.e. using (+) in where clause, to ANSI standard syntax, i.e. use LEFT OUTER JOIN. The ANSI syntax allows overcomes the limitation.
e.g.
select distinct
p.name
mtlav.title
itla.status,
mdmacty.category
p.labor_category
p.department
itltl.id
itltl.percent_complete
from accreditations itla
LEFT JOIN tasklists itltl ON itla.itl_accreditation_id = itltl.itl_accreditation_id and itla.per_person_id = itltl.per_person_id
JOIN mtl_accred_versions mtlav ON mtlav.mtl_accred_version_id = itla.mtl_accred_version_id
JOIN mdm_accred_types mdmacty ON mtlav.mdm_accred_type_id = mdmacty.mdm_accred_type_id
JOIN personnel_vw p ON itla.per_person_id = p.person_id
LEFT JOIN chk_accred_programs_vw capvw on mtlav.mtl_accreditation_id = capvw.mtl_accreditation_id
LEFT JOIN chk_per_programs_vw cpp ON capvw.mtl_program_id = cpp.mtl_program_id and p.person_id = cpp.per_person_id