Sie sind auf Seite 1von 3

select Employee_Number "Employee Number",

Employee_Name "Employee Name",


Pre_Salary_Basis "Pre Salary Basis",
Pre_Change_Date "Pre Change Date",
Pre_Curr "Pre Curr",
Last_Value "Last Value",
Pre_Bases_Year "Pre Bases/Year",
Pre_Annual_Salary "Pre Annual Salary",
Conversion_Rate "Conversion Rate",
converted_Salary "converted Salary",
CHANGE_DATE "Change Date",
currency_code "Currency Code",
New_Value "New Value",
Change_Value "Change Value",
--change_factor,
--change_divide,
(case when change_divide=0 then 0 else round((change_factor/change_divide)*100,
3) end ) "Change %",
Annual_Salary "Annual Salary",
Salary_Basis "Salary Basis",
Pay_Basis "Pay Basis",
Bases_Year "Bases/Year",
Reason "Reason",
Reason2 "Reason2",
Performance_Review "Performance Review",
Next_Review "Next Review",
Approved "Approved",
Grade,
MIN_SAL "Min Sal",
MAX_SAL "Max Sal",
(case when cvalue=0 then 0 else round((factor/cvalue),3) end ) "Compare ratio"
from(select PER.EMPLOYEE_NUMBER Employee_Number,
PER.FULL_NAME Employee_Name,
PRE_YEAR.PRE_SALARY_BASIS Pre_Salary_Basis,
PRE_YEAR.CHANGE_DATE Pre_Change_Date,
PRE_YEAR.PRE_CURR Pre_Curr,
PRE_YEAR.PREVIOUS_SAL Last_Value,
PRE_YEAR.PRE_ANN Pre_Bases_Year,
(PRE_YEAR.PREVIOUS_SAL*PRE_YEAR.PRE_ANN) Pre_Annual_Salary,
decode(PRE_YEAR.PREVIOUS_SAL,null,null,1) Conversion_Rate,
(PRE_YEAR.PREVIOUS_SAL*PRE_YEAR.PRE_ANN*1) converted_Salary,
PPP.CHANGE_DATE,
PET.INPUT_CURRENCY_CODE currency_code,
PPP.PROPOSED_SALARY_N New_Value,
(PPP.PROPOSED_SALARY_N-PRE_YEAR.PREVIOUS_SAL) Change_Value,
--(PRE_YEAR.PREVIOUS_SAL*PRE_YEAR.Pre_Ann) zero,
(ppp.proposed_salary_N-PRE_YEAR.PREVIOUS_SAL)*PPB.PAY_ANNUALIZATION_FACTOR chang
e_factor,
PRE_YEAR.PREVIOUS_SAL*PRE_YEAR.Pre_Ann change_divide,
--round(((ppp.proposed_salary_N-PRE_YEAR.PREVIOUS_SAL)*PPB.PAY_ANNUALIZATION_FAC
TOR/(PRE_YEAR.PREVIOUS_SAL*PRE_YEAR.Pre_Ann)*100),3) "Change %",
(PPP.PROPOSED_SALARY_N*PPB.PAY_ANNUALIZATION_FACTOR) Annual_Salary,
PPB.name Salary_Basis,
PPB.PAY_BASIS Pay_Basis,
PPB.PAY_ANNUALIZATION_FACTOR Bases_Year,
HL1.MEANING Reason,HL2.MEANING Reason2,
PRV.REVIEW_DATE Performance_Review,
PPP.NEXT_SAL_REVIEW_DATE Next_Review,
PPP.APPROVED Approved,
(SELECT distinct GRA.NAME
FROM PER_GRADES_VL GRA
, PER_ALL_ASSIGNMENTS_F ASG
WHERE ASG.ASSIGNMENT_ID=PF.ASSIGNMENT_ID
AND ASG.GRADE_ID=GRA.GRADE_ID
AND PPP.change_date BETWEEN asg.effective_start_date
AND asg.effective_end_date) Grade,
( SELECT PGR.MINIMUM from PER_PAY_BASES PPB
, PAY_GRADE_RULES_F PGR
, PAY_RATES_V PRV
, PER_ALL_ASSIGNMENTS_F ASG
WHERE ASG.ASSIGNMENT_ID=PF.ASSIGNMENT_ID
AND PPB.PAY_BASIS_ID=ASG.PAY_BASIS_ID
AND PPB.RATE_ID=PGR.RATE_ID
AND PPB.RATE_ID=PRV.RATE_ID
AND ASG.GRADE_ID=PGR.GRADE_OR_SPINAL_POINT_ID
AND PPP.change_date BETWEEN asg.effective_start_date
AND asg.effective_end_date
AND PPP.change_date BETWEEN pgr.effective_start_date
AND pgr.effective_end_date)*PPB.GRADE_ANNUALIZATION_FACTOR
MIN_SAL,
( SELECT PGR.MAXIMUM from PER_PAY_BASES PPB
, PAY_GRADE_RULES_F PGR
, PAY_RATES_V PRV
, PER_ALL_ASSIGNMENTS_F ASG
WHERE ASG.ASSIGNMENT_ID=PF.ASSIGNMENT_ID
AND PPB.PAY_BASIS_ID=ASG.PAY_BASIS_ID
AND PPB.RATE_ID=PGR.RATE_ID
AND PPB.RATE_ID=PRV.RATE_ID
AND ASG.GRADE_ID=PGR.GRADE_OR_SPINAL_POINT_ID
AND PPP.change_date BETWEEN asg.effective_start_date
AND asg.effective_end_date
AND PPP.change_date BETWEEN pgr.effective_start_date
AND pgr.effective_end_date)*PPB.GRADE_ANNUALIZATION_FACTOR
MAX_SAL,
(100*PPP.PROPOSED_SALARY_N*PPB.PAY_ANNUALIZATION_FACTOR) factor,
( SELECT PGR.MID_VALUE from PER_PAY_BASES PPB
, PAY_GRADE_RULES_F PGR
, PAY_RATES_V PRV
, PER_ALL_ASSIGNMENTS_F ASG
WHERE ASG.ASSIGNMENT_ID=PF.ASSIGNMENT_ID
AND PPB.PAY_BASIS_ID=ASG.PAY_BASIS_ID
AND PPB.RATE_ID=PGR.RATE_ID
AND PPB.RATE_ID=PRV.RATE_ID
AND ASG.GRADE_ID=PGR.GRADE_OR_SPINAL_POINT_ID
AND PPP.change_date BETWEEN asg.effective_start_date
AND asg.effective_end_date
AND PPP.change_date BETWEEN pgr.effective_start_date
AND pgr.effective_end_date) cvalue
from PER_ALL_PEOPLE_F PER,
PER_ALL_ASSIGNMENTS_F PF,
PER_PAY_PROPOSALS PPP,
PER_PAY_BASES ppb,
HR_LOOKUPS HL1,
HR_LOOKUPS HL2,
PER_PERFORMANCE_REVIEWS PRV,
PAY_INPUT_VALUES_F PIV,
PAY_ELEMENT_TYPES_F PET,
(
select PROPOSED_SALARY_N PREVIOUS_SAL,P.ASSIGNMENT_ID,CHANGE_DATE,PPB2.name PRE_
SALARY_BASIS,
PPB2.PAY_ANNUALIZATION_FACTOR Pre_Ann,PET2.INPUT_CURRENCY_CODE Pre_curr
from PER_PAY_PROPOSALS P,PER_ALL_ASSIGNMENTS_F PF2,PER_PAY_BASES PPB2,PAY_INPUT_
VALUES_F PIV2,
PAY_ELEMENT_TYPES_F PET2
where 2=(select COUNT(distinct TRUNC(CHANGE_DATE)) from PER_PAY_PROPOSALS E
where trunc(p.change_date)<=trunc(e.change_date)
and P.ASSIGNMENT_ID=E.ASSIGNMENT_ID
)
and NVL(PF2.EFFECTIVE_END_DATE,sysdate+1)>sysdate
and PF2.ASSIGNMENT_ID=P.ASSIGNMENT_ID
and PPB2.PAY_BASIS_ID=PF2.PAY_BASIS_ID
and PIV2.INPUT_VALUE_ID=PPB2.INPUT_VALUE_ID
and PET2.ELEMENT_TYPE_ID=PIV2.ELEMENT_TYPE_ID
) pre_year
where PER.PERSON_ID=PF.PERSON_ID
and NVL(PER.EFFECTIVE_END_DATE,sysdate+1)>sysdate
and NVL(PF.EFFECTIVE_END_DATE,sysdate+1)>sysdate
and PF.BUSINESS_GROUP_ID=81
and PPP.ASSIGNMENT_ID=PF.ASSIGNMENT_ID
and ppb.PAY_BASIS_ID=pf.PAY_BASIS_ID
and PPP.PAY_PROPOSAL_ID =(select max(PAY_PROPOSAL_ID) from PER_PAY_PROPOSALS
where ASSIGNMENT_ID=PF.ASSIGNMENT_ID)
and PPP.PERFORMANCE_REVIEW_ID=PRV.PERFORMANCE_REVIEW_ID(+)
and HL2.LOOKUP_CODE(+)=PRV.PERFORMANCE_RATING
and HL2.LOOKUP_TYPE(+)='PERFORMANCE_RATING'
and HL1.LOOKUP_CODE(+)=PPP.PROPOSAL_REASON
and HL1.LOOKUP_TYPE(+)='PROPOSAL_REASON'
and PIV.INPUT_VALUE_ID=PPB.INPUT_VALUE_ID
and PET.ELEMENT_TYPE_ID=PIV.ELEMENT_TYPE_ID
and PRE_YEAR.ASSIGNMENT_ID(+)=PF.ASSIGNMENT_ID);

Das könnte Ihnen auch gefallen