Query to get the existing element entries for a person in Fusion
select aaa.person_number,aaa.element_name,aaa.creator_type,aaa.created_by,aaa.creation_Date,aaa.entry_range,aaa.multiple_entry_count,
(select min(date_from)||'~'||max(date_to) from pay_entry_usages where element_entry_id=aaa.element_entry_id) usage_range,
aaa.element_entry_id,
(select --LISTAGG(piv.name, '; ') WITHIN GROUP (ORDER BY piv.display_sequence)
rtrim(xmlserialize(content extract(xmlagg(xmlelement("e", piv.name||'; ') order by piv.display_sequence), '//text()')), ',' )
from PAY_INPUT_VALUES_VL piv
where piv.element_type_id = aaa.element_type_id and aaa.start_Date between piv.effective_start_date and piv.EFFECTIVE_END_DATE) inputs,
(select --LISTAGG(piv.name||'='||peev.screen_entry_value, '; ') WITHIN GROUP (ORDER BY piv.display_sequence)
rtrim(xmlserialize(content extract(xmlagg(xmlelement("e", piv.name||'='||peev.screen_entry_value||'; ') order by piv.display_sequence), '//text()')), ',' )
from PAY_INPUT_VALUES_VL piv,pay_element_entry_values_f peev
where peev.element_entry_id = aaa.element_entry_id and peev.input_value_id = piv.input_value_id
and piv.element_type_id = aaa.element_type_id and aaa.start_Date between piv.effective_start_date and piv.EFFECTIVE_END_DATE
and aaa.start_Date between peev.effective_start_date and peev.EFFECTIVE_END_DATE) input_values,
(select max('PERL:'||prl.payroll_relationship_number||'('||prl.payroll_relationship_id||'); '||'TERM:'||trm.assignment_number||'('||trm.relationship_group_id||'); '||'ASG:'||asg.assignment_number||'('||asg.relationship_group_id||'); ')
from pay_entry_usages peu,
pay_rel_groups_dn asg,
pay_rel_groups_dn trm,
PAY_PAY_RELATIONSHIPS_DN prl
where peu.element_entry_id=aaa.element_entry_id
and peu.payroll_assignment_id=asg.relationship_group_id (+)
and peu.payroll_term_id=trm.relationship_group_id (+)
and peu.payroll_relationship_id = prl.payroll_relationship_id
) Payroll_Employment,
(select max('TERM:'||htrm.assignment_number||'('||htrm.assignment_id||'); '||'ASG:'||hasg.assignment_number||'('||hasg.assignment_id||'); ')
from pay_entry_usages peu,
pay_rel_groups_dn asg,
pay_rel_groups_dn trm,
per_all_assignments_m hasg,
per_all_assignments_m htrm
where peu.element_entry_id=aaa.element_entry_id
and peu.payroll_assignment_id=asg.relationship_group_id (+)
and peu.payroll_assignment_id=trm.relationship_group_id (+)
and hasg.assignment_id (+) = asg.assignment_id
and htrm.assignment_id (+) = trm.term_id
) HR_Employment
from (select peo.person_number,
pet.element_name,
pee.creator_type,
pee.created_by,
pee.creation_Date,
pee.element_entry_id,
pee.element_type_id,
pee.multiple_entry_count,
min(pee.effective_start_date) as start_Date,
min(pee.effective_start_date)||'~'||max(pee.effective_end_date) entry_range
from per_all_people_f peo,
pay_element_entries_f pee,
pay_element_types_vl pet
where peo.person_number = :P_PERSON_NUM
and pee.person_id = peo.person_id
and pee.element_type_id = pet.element_type_id
and pet.element_name = :P_ELE_NAME
group by peo.person_number,
pet.element_name,
pee.element_type_id,
pee.creator_type,
pee.created_by,
pee.creation_Date,
pee.element_entry_id,
pee.multiple_entry_count) aaa
order by aaa.person_number,
aaa.element_name,
aaa.creator_type,
aaa.created_by,
aaa.creation_Date,
aaa.element_entry_id
Comments
Post a Comment