1138: pa.effective_start_date,
1139: past.per_system_status
1140: FROM per_assignments_f pa,
1141: per_assignment_status_types past,
1142: GHR_PAYROLL gp,
1143: HR_ALL_POSITIONS_F pp,
1144: PER_POSITION_DEFINITIONS ppd,
1145: GHR_DUTY_STATIONS_F hds,
1146: HR_LOCATION_EXTRA_INFO hlei,
2026: AND int.date_from BETWEEN p_pay_from and p_pay_to;
2027:
2028: CURSOR c_numb (l_person_id NUMBER) IS
2029: SELECT count(*)
2030: FROM ghr_payroll
2031: WHERE date_from = p_pay_from
2032: AND person_id = l_person_id;
2033:
2034: BEGIN
2036: OPEN c_numb (to_number(cr_rec.person_id));
2037: FETCH c_numb into l_count;
2038: CLOSE c_numb;
2039: IF l_count = 0 THEN
2040: INSERT INTO ghr_payroll
2041: (PAYROLL_ID, PERSON_ID,
2042: DATE_FROM, DATE_TO,
2043: TOTAL_SALARY_AMOUNT, LUMP_SUM_AMOUNT)
2044: VALUES (ghr_payroll_s.nextval, to_number(cr_rec.person_id),
2040: INSERT INTO ghr_payroll
2041: (PAYROLL_ID, PERSON_ID,
2042: DATE_FROM, DATE_TO,
2043: TOTAL_SALARY_AMOUNT, LUMP_SUM_AMOUNT)
2044: VALUES (ghr_payroll_s.nextval, to_number(cr_rec.person_id),
2045: cr_rec.pay_from, cr_rec.pay_to,
2046: to_number(cr_rec.total_pay), to_number(cr_rec.lump_sum));
2047: ELSE
2048: UPDATE ghr_payroll
2044: VALUES (ghr_payroll_s.nextval, to_number(cr_rec.person_id),
2045: cr_rec.pay_from, cr_rec.pay_to,
2046: to_number(cr_rec.total_pay), to_number(cr_rec.lump_sum));
2047: ELSE
2048: UPDATE ghr_payroll
2049: SET total_salary_amount = to_number(cr_rec.total_pay),
2050: lump_sum_amount = to_number(cr_rec.lump_sum)
2051: WHERE date_from = p_pay_from
2052: AND person_id = to_number(cr_rec.person_id);