Friday, July 3, 2015

Query: People Assignment Salary - History





select
    ppf.employee_number                                                     "Employee Number",
    --
    ppp.change_date                                                         "From" ,
    decode (ppp.date_to,hr_general.end_of_time, to_date (null),ppp.date_to) "To",
    nvl(ppp.proposed_salary_n,0)-(lag(ppp.proposed_salary_n)
        over (order by ppp.change_date))                                    "Change Amount",
    round(((nvl(ppp.proposed_salary_n,0)-(lag(ppp.proposed_salary_n)
        over (order by ppp.change_date)))/ppp.proposed_salary_n)*100,0)     "Change %",
    ppp.proposed_salary_n                                                   "Salary",
    (ppp.proposed_salary_n*12)                                              "Annualized Salary",
    pet.input_currency_code                                                 "Currency",
    ppb.name                                                                "Salary Basis",
    hr_general.decode_lookup ('PER_SAL_PROPOSAL_STATUS',ppp.approved)       "Status",
    --
    ppp.pay_proposal_id
from
    per_pay_proposals ppp,
    per_performance_reviews ppr,
    per_assignments_f2 paa,
    per_people_f ppf,
    per_pay_bases ppb,
    pay_input_values_f piv,
    pay_element_types_f pet,
    fnd_currencies_tl fct,
    fnd_user fu
where  
    1=1
and ppp.performance_review_id = ppr.performance_review_id(+)
and paa.assignment_id = ppp.assignment_id
and paa.person_id = ppf.person_id
and ppp.last_updated_by = fu.user_id(+)
and ppp.change_date between paa.effective_start_date and paa.effective_end_date
and paa.pay_basis_id = ppb.pay_basis_id(+)
and per_saladmin_utility.get_currency (ppp.assignment_id,ppp.change_date) = fct.name
and fct.language = userenv ('LANG')
and fct.currency_code = pet.input_currency_code
and ppb.input_value_id = piv.input_value_id
and piv.element_type_id = pet.element_type_id
and ppp.assignment_id=12951
and ppp.change_date between piv.effective_start_date
and piv.effective_end_date
and ppp.change_date between pet.effective_start_date and pet.effective_end_date
--
and ppf.employee_number = '1309'
order by
    change_date desc;

1 comment: