The following lines contain the word 'select', 'insert', 'update' or 'delete':
select decode(sign(to_number(to_Char(trunc(p_date),'MM'))-5),
-1, (select to_date('01/05/'|| to_char(to_number(to_char(p_date,'yyyy'))),'dd/mm/yyyy') from dual),
(select to_date('01/05/'|| to_char(to_number(to_char(p_date,'yyyy'))+1),'dd/mm/yyyy') from dual ))
INTO l_return_val
FROM pay_payroll_actions
WHERE payroll_action_id = p_pactid
AND effective_date = p_date;