260: to archive_data cursor, so that
261: archive data is only for "Employee"
262: sivanara 25-Apr-2008 115.68 6960481 Added new parameter to event_qualified
263: to filter out applicant event.
264: sivanara 17-Jun-2008 115.70 7185703 Removed fnd_date function from the cursor
265: csr_get_asg_end_date and csr_per_gre.
266: sivanara 20-Aug-2008 115.71 7341327 For the cursor csr_per_gre added condition
267: for applicant.
268: swamukhi 01-Oct-2008 115.72 6451017 For the cursor csr_per_gre added a condition
334:
335: SELECT per.current_applicant_flag
336: FROM per_all_people_f per
337: WHERE per.person_id = p_person_id
338: AND fnd_date.canonical_to_date(p_effective_date)
339: BETWEEN per.effective_start_date AND per.effective_end_date;
340:
341: l_return BOOLEAN;
342: ln_cntr NUMBER;
347: l_proc_name := gv_package || 'event_qualified';
348: hr_utility_trace ('Entering '||l_proc_name);
349: hr_utility_trace ('p_assignment_id = '||p_assignment_id);
350: hr_utility_trace ('p_effective_date = '||
351: fnd_date.date_to_canonical(p_effective_date));
352: hr_utility_trace ('p_gre_id = '||p_gre_id);
353:
354: l_return := FALSE;
355: -- Check if assignment is cached.
400: END IF;
401: END LOOP;
402: END IF;
403: hr_utility_trace('Checking for applicant record');
404: OPEN c_check_per_status(p_person_id, fnd_date.date_to_canonical(p_effective_date));
405: FETCH c_check_per_status INTO lv_chk_emp_status;
406: CLOSE c_check_per_status;
407:
408: IF lv_chk_emp_status = 'Y' THEN
438: ORDER BY ppa.payroll_action_id desc ;
439:
440:
441: CURSOR c_get_imp_date(cp_organization_id IN NUMBER) IS
442: SELECT fnd_date.canonical_to_date(org_information6)
443: FROM hr_organization_information
444: WHERE org_information_context = 'MX_TAX_REGISTRATION'
445: AND organization_id = cp_organization_id ;
446:
485: fetched above is equal to hr_api.g_sot */
486:
487: IF NVL( ld_start_date, hr_api.g_sot ) <> hr_api.g_sot THEN
488:
489: lv_start_date := fnd_date.date_to_canonical( ld_start_date );
490:
491: ELSE
492:
493: IF p_gre_id IS NOT NULL THEN
520: IF c_get_imp_date%NOTFOUND OR ld_report_imp_date is NULL THEN
521:
522: -- defaulting to Report Implementation Date from
523: -- mx pay legislation info table
524: ld_report_imp_date := fnd_date.canonical_to_date(
525: pay_mx_utility.get_default_imp_date) ;
526:
527: END IF;
528:
537:
538: IF c_get_start_date%NOTFOUND THEN
539:
540: -- assign the ld_start_date from rep imp date
541: lv_start_date := fnd_date.date_to_canonical(ld_report_imp_date);
542:
543: END IF;
544:
545: CLOSE c_get_start_date;
545: CLOSE c_get_start_date;
546:
547: hr_utility_trace('lv_start_date '||lv_start_date);
548:
549: ld_start_date := fnd_date.canonical_to_date(lv_start_date) ;
550:
551: hr_utility_trace('ld_start_date '||ld_start_date);
552:
553: ELSE
551: hr_utility_trace('ld_start_date '||ld_start_date);
552:
553: ELSE
554:
555: SELECT fnd_date.date_to_canonical(sysdate)
556: INTO lv_start_date
557: FROM DUAL;
558:
559: END IF; -- p_gre_id IS NOT NULL
574: BEGIN
575:
576: lv_dates := NULL;
577:
578: SELECT fnd_date.date_to_displaydate( ADD_MONTHS (
579: fnd_date.canonical_to_date( p_date ), -1 ) ) || ' - ' ||
580: fnd_date.date_to_displaydate( ADD_MONTHS (
581: fnd_date.canonical_to_date( p_date ), 1 ) -1 )
582: INTO lv_dates
575:
576: lv_dates := NULL;
577:
578: SELECT fnd_date.date_to_displaydate( ADD_MONTHS (
579: fnd_date.canonical_to_date( p_date ), -1 ) ) || ' - ' ||
580: fnd_date.date_to_displaydate( ADD_MONTHS (
581: fnd_date.canonical_to_date( p_date ), 1 ) -1 )
582: INTO lv_dates
583: FROM dual;
576: lv_dates := NULL;
577:
578: SELECT fnd_date.date_to_displaydate( ADD_MONTHS (
579: fnd_date.canonical_to_date( p_date ), -1 ) ) || ' - ' ||
580: fnd_date.date_to_displaydate( ADD_MONTHS (
581: fnd_date.canonical_to_date( p_date ), 1 ) -1 )
582: INTO lv_dates
583: FROM dual;
584:
577:
578: SELECT fnd_date.date_to_displaydate( ADD_MONTHS (
579: fnd_date.canonical_to_date( p_date ), -1 ) ) || ' - ' ||
580: fnd_date.date_to_displaydate( ADD_MONTHS (
581: fnd_date.canonical_to_date( p_date ), 1 ) -1 )
582: INTO lv_dates
583: FROM dual;
584:
585: RETURN lv_dates;
647: hr_utility.set_location(gv_package || lv_procedure_name, 30);
648:
649: IF lv_periodic_end_date IS NOT NULL THEN
650:
651: IF TRUNC(fnd_date.canonical_to_date(lv_end_date)) -
652: TRUNC(fnd_date.canonical_to_date(lv_periodic_end_date)) >= 1 THEN
653:
654: gv_periodic_end_date :=
655: to_char(fnd_date.canonical_to_date(lv_periodic_end_date)
648:
649: IF lv_periodic_end_date IS NOT NULL THEN
650:
651: IF TRUNC(fnd_date.canonical_to_date(lv_end_date)) -
652: TRUNC(fnd_date.canonical_to_date(lv_periodic_end_date)) >= 1 THEN
653:
654: gv_periodic_end_date :=
655: to_char(fnd_date.canonical_to_date(lv_periodic_end_date)
656: , 'YYYY/MM/DD') ||' 23:59:59';
651: IF TRUNC(fnd_date.canonical_to_date(lv_end_date)) -
652: TRUNC(fnd_date.canonical_to_date(lv_periodic_end_date)) >= 1 THEN
653:
654: gv_periodic_end_date :=
655: to_char(fnd_date.canonical_to_date(lv_periodic_end_date)
656: , 'YYYY/MM/DD') ||' 23:59:59';
657:
658: ELSE
659:
657:
658: ELSE
659:
660: gv_periodic_end_date :=
661: to_char(fnd_date.canonical_to_date(lv_periodic_end_date)
662: , 'YYYY/MM/DD') ||' '||
663: to_char(fnd_date.canonical_to_date(lv_end_date)
664: , 'HH24:MI:SS');
665:
659:
660: gv_periodic_end_date :=
661: to_char(fnd_date.canonical_to_date(lv_periodic_end_date)
662: , 'YYYY/MM/DD') ||' '||
663: to_char(fnd_date.canonical_to_date(lv_end_date)
664: , 'HH24:MI:SS');
665:
666: END IF;
667:
682:
683: IF gv_mode = 'P' THEN
684:
685: gv_periodic_start_date :=
686: fnd_date.date_to_canonical(
687: TRUNC(add_months(fnd_date.canonical_to_date(
688: lv_periodic_end_date),-2)+1));
689:
690: ELSE
683: IF gv_mode = 'P' THEN
684:
685: gv_periodic_start_date :=
686: fnd_date.date_to_canonical(
687: TRUNC(add_months(fnd_date.canonical_to_date(
688: lv_periodic_end_date),-2)+1));
689:
690: ELSE
691:
1479: pay_mx_soc_sec_archive.lrr_act_tab(cntr).act_info4);
1480:
1481: IF pay_mx_soc_sec_archive.lrr_act_tab(cntr).action_info_category
1482: = 'MX SS TRANSACTIONS' AND
1483: fnd_date.canonical_to_date(
1484: pay_mx_soc_sec_archive.lrr_act_tab(cntr).act_info2) =
1485: p_effective_date AND
1486: pay_mx_soc_sec_archive.lrr_act_tab(cntr).act_info4 = '08'
1487: THEN
1517: fix_var_idw(ln_count).idw_date := p_effective_date;
1518: END IF;
1519: ELSE
1520: hr_utility_trace('Current person is a new hire. 07 effective '||
1521: 'on '||fnd_date.date_to_canonical(p_effective_date)
1522: ||' will not be archived.');
1523: END IF;
1524: END IF;
1525: END cache_IDW_date;
1558: hr_utility_trace('element entry id '||
1559: ln_element_entry_id||' has following IDW info: -');
1560: hr_utility_trace('IDW type = '||lv_idw_type);
1561: hr_utility_trace('IDW effective date = '||
1562: fnd_date.date_to_canonical(p_effective_date));
1563: ELSE
1564: hr_utility_trace('element entry id '||
1565: ln_element_entry_id||' has no IDW information.');
1566: END IF;
1690: IF p_iv_name = c_infonavit_info_rec.name AND
1691: p_screen_entry_value <> c_infonavit_info_rec.screen_entry_value
1692: THEN
1693: trn(ln_trn_cnt).type := p_tran_type;
1694: trn(ln_trn_cnt).date := fnd_date.date_to_canonical(
1695: p_effective_end_date + 1);
1696: hr_utility_trace('Transaction '|| p_tran_type ||' found.');
1697: lb_tran_found := TRUE;
1698: EXIT;
1734: ln_step := 1;
1735:
1736: fix_var_idw.DELETE;
1737: fix_var_idw_uniq.DELETE;
1738: prev_eff_date := fnd_date.canonical_to_date('0001/01/01');
1739:
1740: hr_utility.set_location(gv_package || lv_procedure_name, 910);
1741: ln_step := 91;
1742:
1756: LOOP
1757: FETCH c_IDW_events INTO ld_effective_date;
1758: EXIT WHEN c_IDW_events%NOTFOUND;
1759: hr_utility_trace('Timestamp of IDW table update event = '||
1760: fnd_date.date_to_canonical(ld_effective_date));
1761: parse_all_ele_entries (ld_effective_date);
1762: END LOOP;
1763: CLOSE c_IDW_events;
1764:
1773: ld_hire_anniversary := hr_mx_utility.get_hire_anniversary(
1774: p_person_id,
1775: p_end_date);
1776: hr_utility_trace ('Hire anniversary date of person '||p_person_id||
1777: ' = '||fnd_date.date_to_canonical(ld_hire_anniversary));
1778:
1779: -- Calculate anniversary date in current year
1780: SELECT ADD_MONTHS (TRUNC (p_end_date, 'Y'),
1781: MONTHS_BETWEEN (ld_hire_anniversary,
1786: FROM dual;
1787:
1788: hr_utility_trace ('Anniversary date of person '||p_person_id||
1789: ' in the year of archiver run = '||
1790: fnd_date.date_to_canonical(ld_anniversary_date));
1791:
1792: parse_all_ele_entries (ld_anniversary_date);
1793: END IF; -- seniority_changed?
1794: END IF; -- gv_IDW_calc_method = 'B'
1906:
1907: trn(ln_trn_cnt).type := '12';
1908: --trn(ln_trn_cnt).dis_insurance_type := lv_disability_type;
1909: trn(ln_trn_cnt).dis_num := lv_disability_id;
1910: trn(ln_trn_cnt).abs_start_date := fnd_date.date_to_canonical(
1911: ld_date_start);
1912: trn(ln_trn_cnt).abs_end_date := fnd_date.date_to_canonical(
1913: ld_date_end);
1914:
1908: --trn(ln_trn_cnt).dis_insurance_type := lv_disability_type;
1909: trn(ln_trn_cnt).dis_num := lv_disability_id;
1910: trn(ln_trn_cnt).abs_start_date := fnd_date.date_to_canonical(
1911: ld_date_start);
1912: trn(ln_trn_cnt).abs_end_date := fnd_date.date_to_canonical(
1913: ld_date_end);
1914:
1915: OPEN c_disabilities_info (lv_disability_id);
1916: FETCH c_disabilities_info
1932: trn(ln_trn_cnt).dis_num := NULL;
1933:
1934: END IF;
1935:
1936: trn(ln_trn_cnt).date := fnd_date.date_to_canonical(ld_date_start);
1937:
1938: trn(ln_trn_cnt).abs_days := ln_absence_days;
1939: trn(ln_trn_cnt).idw_vol_contr := NULL;
1940: trn(ln_trn_cnt).salary_type := NULL;
2043: IF ln_next_element_entry_id = -1 THEN
2044:
2045: ln_trn_cnt := trn.count();
2046: trn (ln_trn_cnt).type := '16';
2047: trn (ln_trn_cnt).date := fnd_date.date_to_canonical (
2048: infonavit.effective_end_date);
2049:
2050: load_infonavit_info (p_assignment_id
2051: ,ln_element_entry_id
2078:
2079: -- gv_credit_start_date is already in canonical date format.
2080:
2081: trn(ln_trn_cnt).date := nvl(gv_credit_start_date,
2082: fnd_date.date_to_canonical(
2083: infonavit.effective_start_date));
2084:
2085: load_infonavit_info (p_assignment_id
2086: ,ln_element_entry_id
2189: ln_trn_cnt := trn.COUNT;
2190:
2191: trn(ln_trn_cnt).type := '07';
2192: trn(ln_trn_cnt).date :=
2193: fnd_date.date_to_canonical(fix_var_idw(i).idw_date);
2194: trn(ln_trn_cnt).dis_num := NULL;
2195: trn(ln_trn_cnt).abs_days := NULL;
2196:
2197: IF fix_var_idw(i).idw_type = 'FIXED' THEN
2214:
2215: ln_idw := get_idw( p_assignment_id => p_assignment_id
2216: ,p_tax_unit_id => p_gre_id
2217: ,p_effective_date =>
2218: fnd_date.canonical_to_date(gv_periodic_end_date) + 1
2219: ,p_fixed_idw => ln_fixed_idw
2220: ,p_variable_idw => ln_variable_idw );
2221:
2222: hr_utility.trace('SS_ARCH other TRN VARIABLE ln_idw: '||ln_idw);
2231: ln_trn_cnt := trn.COUNT;
2232:
2233: trn(ln_trn_cnt).type := '07';
2234: trn(ln_trn_cnt).date :=
2235: fnd_date.date_to_canonical(
2236: trunc(fnd_date.canonical_to_date(gv_periodic_end_date)) + 1);
2237: trn(ln_trn_cnt).dis_num := NULL;
2238: trn(ln_trn_cnt).abs_days := NULL;
2239: trn(ln_trn_cnt).idw_vol_contr := ln_idw;
2232:
2233: trn(ln_trn_cnt).type := '07';
2234: trn(ln_trn_cnt).date :=
2235: fnd_date.date_to_canonical(
2236: trunc(fnd_date.canonical_to_date(gv_periodic_end_date)) + 1);
2237: trn(ln_trn_cnt).dis_num := NULL;
2238: trn(ln_trn_cnt).abs_days := NULL;
2239: trn(ln_trn_cnt).idw_vol_contr := ln_idw;
2240: trn(ln_trn_cnt).salary_type := 'VARIABLE';
2247:
2248: FOR i IN trn.FIRST..trn.LAST LOOP
2249:
2250: OPEN c_person_detail (p_person_id
2251: ,fnd_date.canonical_to_date(trn(i).date));
2252: FETCH c_person_detail INTO lv_employee_ssn;
2253: CLOSE c_person_detail;
2254:
2255: ln_index := pay_mx_soc_sec_archive.lrr_act_tab.COUNT;
2397: SELECT aei_information3
2398: FROM per_assignment_extra_info pae
2399: WHERE pae.assignment_id = cp_assignment_id
2400: AND information_type = 'MX_SS_EMP_TRANS_REASON'
2401: AND fnd_date.canonical_to_date(aei_information1) = cp_effective_date
2402: AND aei_information2 = cp_gre_id ;
2403:
2404: CURSOR c_get_pos_leaving_reason ( cp_assignment_id IN NUMBER
2405: ,cp_effective_date IN DATE ) IS
2465:
2466: SELECT per.current_applicant_flag
2467: FROM per_all_people_f per
2468: WHERE per.person_id = p_person_id
2469: AND fnd_date.canonical_to_date(p_effective_date)
2470: BETWEEN per.effective_start_date AND per.effective_end_date;
2471:
2472: lv_hire VARCHAR2(1);
2473: lv_separation VARCHAR2(1);
2657: ,p_level => 'I');
2658: END IF;
2659:
2660: hr_utility_trace('Checking wherther the person is applicant');
2661: OPEN c_check_per_status(p_person_id, fnd_date.date_to_canonical(p_asg_events(i).effective_date - 1));
2662: FETCH c_check_per_status INTO lv_check_applicant;
2663:
2664: CLOSE c_check_per_status;
2665:
2663:
2664: CLOSE c_check_per_status;
2665:
2666: IF lv_check_applicant = 'Y' THEN
2667: hr_utility_trace('The person is applicant on effective_date ' || fnd_date.date_to_canonical(p_asg_events(i).effective_date - 1));
2668: hr_utility_trace('making -9 for the gre that got by location');
2669: ln_old_gre_id := -9;
2670: END IF;
2671:
2726: hr_utility.set_location(gv_package||lv_procedure_name,120);
2727: ln_step := 12;
2728: hr_utility_trace('Inside get_transaction and sof_coding :');
2729: hr_utility_trace('p_assignment_id :' || p_assignment_id);
2730: hr_utility_trace('p_asg_events(i).effective_date - 1 :' || fnd_date.date_to_canonical(p_asg_events(i).effective_date - 1));
2731: OPEN c_get_asg_loc(p_assignment_id
2732: ,p_asg_events(i).effective_date - 1);
2733:
2734: FETCH c_get_asg_loc
2748: ,p_business_group_id
2749: ,lv_old_value
2750: ,p_asg_events(i).effective_date - 1), -9);
2751: hr_utility_trace('Checking wherther the person is applicant');
2752: OPEN c_check_per_status(p_person_id, fnd_date.date_to_canonical(p_asg_events(i).effective_date - 1));
2753: FETCH c_check_per_status INTO lv_check_applicant;
2754:
2755: CLOSE c_check_per_status;
2756:
2754:
2755: CLOSE c_check_per_status;
2756:
2757: IF lv_check_applicant = 'Y' THEN
2758: hr_utility_trace('The person is applicant on effective_date ' || fnd_date.date_to_canonical(p_asg_events(i).effective_date - 1));
2759: hr_utility_trace('making -9 for the gre that got by location');
2760: ln_old_gre_id := -9;
2761: END IF;
2762:
2777:
2778: hr_utility.set_location(gv_package||lv_procedure_name,140);
2779: ln_step := 14;
2780: hr_utility_trace('p_assignment_id :' || p_assignment_id);
2781: hr_utility_trace('p_asg_events(i).effective_date :' || fnd_date.date_to_canonical(p_asg_events(i).effective_date ));
2782: OPEN c_get_asg_loc(p_assignment_id
2783: ,p_asg_events(i).effective_date);
2784:
2785: FETCH c_get_asg_loc
3068: ln_step := 24;
3069:
3070: lv_transaction_type := '08';
3071: lv_transaction_date :=
3072: fnd_date.date_to_canonical(hire_sep(i).trn_date);
3073: lv_leaving_reason := NULL;
3074: hr_utility.trace('lv_transaction_date is: '||lv_transaction_date);
3075: /* Do not archive this transaction if person-GRE relation
3076: already exists prior to transaction date. */
3110: ln_step := 25;
3111:
3112: lv_transaction_type := '02';
3113: lv_transaction_date :=
3114: fnd_date.date_to_canonical(hire_sep(i).trn_date);
3115:
3116: ld_eff_date := hire_sep(i).trn_date;
3117: lv_idw := NULL;
3118:
3157: hr_utility.set_location(gv_package || lv_procedure_name, 280);
3158: ln_step := 28;
3159: hr_utility_trace('lv_transaction_date :'|| lv_transaction_date);
3160: OPEN c_person_detail (p_person_id
3161: ,fnd_date.canonical_to_date
3162: (lv_transaction_date));
3163: FETCH c_person_detail INTO lv_employee_ssn;
3164: CLOSE c_person_detail;
3165:
3550: ,ppf.per_information4 medical_center
3551: ,ppf.employee_number worker_id
3552: ,ppf.national_identifier curp
3553: ,ppf.per_information2 tax_rfc_id
3554: ,fnd_date.date_to_canonical(ppf.effective_start_date) hire_date
3555: FROM per_all_people_f ppf
3556: WHERE ppf.person_id = cp_person_id
3557: AND ppf.effective_start_date =
3558: ( SELECT max(ppf_in.effective_start_date)
3708: ld_effective_date := ld_asg_start_date;
3709: END IF;
3710: /*ld_effective_date := max (ld_effective_date, p_end_date);
3711: hr_utility_trace('p_end_date = '||
3712: fnd_date.date_to_canonical(p_end_date));*/
3713: hr_utility_trace('ld_asg_start_date = '||
3714: fnd_date.date_to_canonical(ld_asg_start_date));
3715: hr_utility_trace('ld_asg_end_date = '||
3716: fnd_date.date_to_canonical(ld_asg_end_date));
3710: /*ld_effective_date := max (ld_effective_date, p_end_date);
3711: hr_utility_trace('p_end_date = '||
3712: fnd_date.date_to_canonical(p_end_date));*/
3713: hr_utility_trace('ld_asg_start_date = '||
3714: fnd_date.date_to_canonical(ld_asg_start_date));
3715: hr_utility_trace('ld_asg_end_date = '||
3716: fnd_date.date_to_canonical(ld_asg_end_date));
3717: hr_utility_trace('p_end_date = '||
3718: fnd_date.date_to_canonical(p_end_date));
3712: fnd_date.date_to_canonical(p_end_date));*/
3713: hr_utility_trace('ld_asg_start_date = '||
3714: fnd_date.date_to_canonical(ld_asg_start_date));
3715: hr_utility_trace('ld_asg_end_date = '||
3716: fnd_date.date_to_canonical(ld_asg_end_date));
3717: hr_utility_trace('p_end_date = '||
3718: fnd_date.date_to_canonical(p_end_date));
3719: hr_utility_trace('ld_effective_date = '||
3720: fnd_date.date_to_canonical(ld_effective_date));
3714: fnd_date.date_to_canonical(ld_asg_start_date));
3715: hr_utility_trace('ld_asg_end_date = '||
3716: fnd_date.date_to_canonical(ld_asg_end_date));
3717: hr_utility_trace('p_end_date = '||
3718: fnd_date.date_to_canonical(p_end_date));
3719: hr_utility_trace('ld_effective_date = '||
3720: fnd_date.date_to_canonical(ld_effective_date));
3721:
3722: OPEN c_person_detail (p_person_id
3716: fnd_date.date_to_canonical(ld_asg_end_date));
3717: hr_utility_trace('p_end_date = '||
3718: fnd_date.date_to_canonical(p_end_date));
3719: hr_utility_trace('ld_effective_date = '||
3720: fnd_date.date_to_canonical(ld_effective_date));
3721:
3722: OPEN c_person_detail (p_person_id
3723: ,ld_effective_date);
3724: --,p_effective_date);
3793: /*OPEN csr_asg_end_date;
3794: FETCH csr_asg_end_date INTO ld_asg_end_date;
3795: CLOSE csr_asg_end_date;
3796:
3797: lv_end_date := fnd_date.date_to_canonical(
3798: LEAST(ld_asg_end_date,
3799: fnd_date.canonical_to_date(lv_end_date)));*/
3800:
3801: ln_idw := get_idw( p_assignment_id => p_assignment_id
3795: CLOSE csr_asg_end_date;
3796:
3797: lv_end_date := fnd_date.date_to_canonical(
3798: LEAST(ld_asg_end_date,
3799: fnd_date.canonical_to_date(lv_end_date)));*/
3800:
3801: ln_idw := get_idw( p_assignment_id => p_assignment_id
3802: ,p_tax_unit_id => p_gre_id
3803: /*,p_effective_date => fnd_date.canonical_to_date(
3799: fnd_date.canonical_to_date(lv_end_date)));*/
3800:
3801: ln_idw := get_idw( p_assignment_id => p_assignment_id
3802: ,p_tax_unit_id => p_gre_id
3803: /*,p_effective_date => fnd_date.canonical_to_date(
3804: lv_end_date)*/
3805: ,p_effective_date => ld_effective_date
3806: ,p_fixed_idw => ln_fixed_idw
3807: ,p_variable_idw => ln_variable_idw );
4007: END IF;
4008:
4009: gv_IDW_calc_method := get_IDW_calc_method (
4010: ln_gre_id,
4011: fnd_date.canonical_to_date (lv_end_date));
4012:
4013: hr_utility_trace('--> gv_IDW_calc_method : ' || gv_IDW_calc_method );
4014: /*
4015: IF gv_mode = 'P' THEN
4014: /*
4015: IF gv_mode = 'P' THEN
4016:
4017: gv_periodic_start_date :=
4018: fnd_date.date_to_canonical(
4019: TRUNC(add_months(fnd_date.canonical_to_date(lv_end_date),-2)+1));
4020: -- ||' 00:00:00';
4021:
4022: ELSE
4015: IF gv_mode = 'P' THEN
4016:
4017: gv_periodic_start_date :=
4018: fnd_date.date_to_canonical(
4019: TRUNC(add_months(fnd_date.canonical_to_date(lv_end_date),-2)+1));
4020: -- ||' 00:00:00';
4021:
4022: ELSE
4023:
4085: 'AND (EXISTS ( '||
4086: 'SELECT 1 FROM pay_process_events ppe '||
4087: 'WHERE ppe.assignment_id = paf.assignment_id '||
4088: 'AND ppe.creation_date BETWEEN '||
4089: ' fnd_date.canonical_to_date(''' ||lv_start_date||''') AND'||
4090: ' fnd_date.canonical_to_date('''||lv_end_date||''') )';
4091:
4092: IF gv_IDW_calc_method = 'B' THEN
4093: p_sqlstr := p_sqlstr ||
4086: 'SELECT 1 FROM pay_process_events ppe '||
4087: 'WHERE ppe.assignment_id = paf.assignment_id '||
4088: 'AND ppe.creation_date BETWEEN '||
4089: ' fnd_date.canonical_to_date(''' ||lv_start_date||''') AND'||
4090: ' fnd_date.canonical_to_date('''||lv_end_date||''') )';
4091:
4092: IF gv_IDW_calc_method = 'B' THEN
4093: p_sqlstr := p_sqlstr ||
4094: 'OR pay_mx_soc_sec_archive.seniority_changed (paf.person_id,'||
4091:
4092: IF gv_IDW_calc_method = 'B' THEN
4093: p_sqlstr := p_sqlstr ||
4094: 'OR pay_mx_soc_sec_archive.seniority_changed (paf.person_id,'||
4095: 'fnd_date.canonical_to_date('''||lv_end_date||'''),'||
4096: 'fnd_date.canonical_to_date('''||lv_start_date||''')) = ''Y''';
4097: END IF;
4098:
4099: p_sqlstr := p_sqlstr ||
4092: IF gv_IDW_calc_method = 'B' THEN
4093: p_sqlstr := p_sqlstr ||
4094: 'OR pay_mx_soc_sec_archive.seniority_changed (paf.person_id,'||
4095: 'fnd_date.canonical_to_date('''||lv_end_date||'''),'||
4096: 'fnd_date.canonical_to_date('''||lv_start_date||''')) = ''Y''';
4097: END IF;
4098:
4099: p_sqlstr := p_sqlstr ||
4100: ') UNION ALL '||
4114: ,paf.soft_coding_keyflex_id
4115: ,ppa.effective_date) = '||ln_gre_id|| ' '||
4116: 'AND pee.assignment_id = paf.assignment_id '||
4117: 'AND pee.effective_start_date <= '||
4118: 'fnd_date.canonical_to_date('''||gv_periodic_end_date||''') '||
4119: 'AND pee.effective_end_date >= '||
4120: 'fnd_date.canonical_to_date(''' ||gv_periodic_start_date||''') '||
4121: 'AND psc.business_group_id = ppa.business_group_id '||
4122: 'AND psc.element_type_id = pee.element_type_id '||
4116: 'AND pee.assignment_id = paf.assignment_id '||
4117: 'AND pee.effective_start_date <= '||
4118: 'fnd_date.canonical_to_date('''||gv_periodic_end_date||''') '||
4119: 'AND pee.effective_end_date >= '||
4120: 'fnd_date.canonical_to_date(''' ||gv_periodic_start_date||''') '||
4121: 'AND psc.business_group_id = ppa.business_group_id '||
4122: 'AND psc.element_type_id = pee.element_type_id '||
4123: 'AND psc.effective_start_date <= '||
4124: 'fnd_date.canonical_to_date('''||gv_periodic_end_date||''') '||
4120: 'fnd_date.canonical_to_date(''' ||gv_periodic_start_date||''') '||
4121: 'AND psc.business_group_id = ppa.business_group_id '||
4122: 'AND psc.element_type_id = pee.element_type_id '||
4123: 'AND psc.effective_start_date <= '||
4124: 'fnd_date.canonical_to_date('''||gv_periodic_end_date||''') '||
4125: 'AND psc.effective_end_date >= '||
4126: 'fnd_date.canonical_to_date(''' ||gv_periodic_start_date||''') '||
4127: 'AND pec.classification_id = psc.classification_id '||
4128: 'AND pec.classification_name LIKE
4122: 'AND psc.element_type_id = pee.element_type_id '||
4123: 'AND psc.effective_start_date <= '||
4124: 'fnd_date.canonical_to_date('''||gv_periodic_end_date||''') '||
4125: 'AND psc.effective_end_date >= '||
4126: 'fnd_date.canonical_to_date(''' ||gv_periodic_start_date||''') '||
4127: 'AND pec.classification_id = psc.classification_id '||
4128: 'AND pec.classification_name LIKE
4129: ''%Eligible Compensation for IDW (Variable Basis)'' '||
4130: 'AND paa.assignment_id = paf.assignment_id '||
4129: ''%Eligible Compensation for IDW (Variable Basis)'' '||
4130: 'AND paa.assignment_id = paf.assignment_id '||
4131: 'AND ppa2.payroll_action_id = paa.payroll_action_id '||
4132: 'AND ppa2.effective_date BETWEEN '||
4133: 'fnd_date.canonical_to_date(''' ||gv_periodic_start_date||''') '||
4134: 'AND fnd_date.canonical_to_date('''||gv_periodic_end_date||''') '||
4135: 'AND ppa2.action_type in ( ''R'', ''Q'', ''B'', ''V'' ) '||
4136: 'AND EXISTS ( SELECT 1 FROM pay_run_results prr
4137: WHERE prr.assignment_action_id = paa.assignment_action_id
4130: 'AND paa.assignment_id = paf.assignment_id '||
4131: 'AND ppa2.payroll_action_id = paa.payroll_action_id '||
4132: 'AND ppa2.effective_date BETWEEN '||
4133: 'fnd_date.canonical_to_date(''' ||gv_periodic_start_date||''') '||
4134: 'AND fnd_date.canonical_to_date('''||gv_periodic_end_date||''') '||
4135: 'AND ppa2.action_type in ( ''R'', ''Q'', ''B'', ''V'' ) '||
4136: 'AND EXISTS ( SELECT 1 FROM pay_run_results prr
4137: WHERE prr.assignment_action_id = paa.assignment_action_id
4138: AND prr.element_type_id = pee.element_type_id ) '||
4145: AND ppa_prev.report_category = ''RT''
4146: AND pay_mx_utility.get_legi_param_val(''GRE'',
4147: ppa_prev.legislative_parameters) = '||
4148: ln_gre_id|| ' '||
4149: 'AND TRUNC( fnd_date.canonical_to_date (
4150: pay_mx_utility.get_legi_param_val(
4151: ''PERIOD_ENDING_DATE'',
4152: ppa_prev.legislative_parameters) ) ) = ' ||
4153: 'TRUNC(fnd_date.canonical_to_date('''||
4149: 'AND TRUNC( fnd_date.canonical_to_date (
4150: pay_mx_utility.get_legi_param_val(
4151: ''PERIOD_ENDING_DATE'',
4152: ppa_prev.legislative_parameters) ) ) = ' ||
4153: 'TRUNC(fnd_date.canonical_to_date('''||
4154: gv_periodic_end_date|| ''') ) '||
4155: 'AND paa_prev.payroll_action_id = ppa_prev.payroll_action_id
4156: AND paa_prev.assignment_id = paf.assignment_id
4157: AND pay_mx_utility.get_legi_param_val(''MX_IDWV'',
4164:
4165: hr_utility_trace('--> Query formed p_sqlstr : ' || p_sqlstr );
4166:
4167: update pay_payroll_actions
4168: set effective_date = fnd_date.canonical_to_date('4712/12/31')
4169: where payroll_action_id = p_payroll_action_id;
4170:
4171: hr_utility.set_location(gv_package || lv_procedure_name, 30);
4172:
4249: AND ppa_prev.report_qualifier = 'SS_ARCHIVE'
4250: AND ppa_prev.report_category = 'RT'
4251: AND pay_mx_utility.get_legi_param_val('GRE',
4252: ppa_prev.legislative_parameters) = cp_gre_id
4253: AND TRUNC( fnd_date.canonical_to_date (
4254: pay_mx_utility.get_legi_param_val( 'PERIOD_ENDING_DATE',
4255: ppa_prev.legislative_parameters) ) ) =
4256: TRUNC(fnd_date.canonical_to_date(cp_periodic_end_date))
4257: AND paa_prev.payroll_action_id = ppa_prev.payroll_action_id
4252: ppa_prev.legislative_parameters) = cp_gre_id
4253: AND TRUNC( fnd_date.canonical_to_date (
4254: pay_mx_utility.get_legi_param_val( 'PERIOD_ENDING_DATE',
4255: ppa_prev.legislative_parameters) ) ) =
4256: TRUNC(fnd_date.canonical_to_date(cp_periodic_end_date))
4257: AND paa_prev.payroll_action_id = ppa_prev.payroll_action_id
4258: AND paa_prev.assignment_id = paf.assignment_id
4259: AND pay_mx_utility.get_legi_param_val('MX_IDWV',
4260: paa_prev.serial_number) = 'Y' )
4334: AND ppa_prev.report_qualifier = 'SS_ARCHIVE'
4335: AND ppa_prev.report_category = 'RT'
4336: AND pay_mx_utility.get_legi_param_val('GRE',
4337: ppa_prev.legislative_parameters) = cp_gre_id
4338: AND TRUNC( fnd_date.canonical_to_date (
4339: pay_mx_utility.get_legi_param_val( 'PERIOD_ENDING_DATE',
4340: ppa_prev.legislative_parameters) ) ) =
4341: TRUNC(fnd_date.canonical_to_date(cp_periodic_end_date))
4342: AND paa_prev.payroll_action_id = ppa_prev.payroll_action_id
4337: ppa_prev.legislative_parameters) = cp_gre_id
4338: AND TRUNC( fnd_date.canonical_to_date (
4339: pay_mx_utility.get_legi_param_val( 'PERIOD_ENDING_DATE',
4340: ppa_prev.legislative_parameters) ) ) =
4341: TRUNC(fnd_date.canonical_to_date(cp_periodic_end_date))
4342: AND paa_prev.payroll_action_id = ppa_prev.payroll_action_id
4343: AND paa_prev.assignment_id = paf.assignment_id
4344: AND pay_mx_utility.get_legi_param_val('MX_IDWV',
4345: paa_prev.serial_number) = 'Y' )
4390:
4391: IF gv_IDW_calc_method IS NULL THEN
4392: gv_IDW_calc_method := get_IDW_calc_method (
4393: ln_gre_id,
4394: fnd_date.canonical_to_date (lv_end_date));
4395: END IF;
4396:
4397: hr_utility_trace('--> gv_IDW_calc_method ' || gv_IDW_calc_method);
4398:
4410: OPEN c_get_range_emp(p_payroll_action_id
4411: ,p_chunk
4412: ,ln_business_group_id
4413: ,ln_gre_id
4414: ,fnd_date.canonical_to_date(lv_start_date)
4415: ,fnd_date.canonical_to_date(lv_end_date)
4416: ,fnd_date.canonical_to_date(gv_periodic_start_date)
4417: ,fnd_date.canonical_to_date(gv_periodic_end_date)
4418: );
4411: ,p_chunk
4412: ,ln_business_group_id
4413: ,ln_gre_id
4414: ,fnd_date.canonical_to_date(lv_start_date)
4415: ,fnd_date.canonical_to_date(lv_end_date)
4416: ,fnd_date.canonical_to_date(gv_periodic_start_date)
4417: ,fnd_date.canonical_to_date(gv_periodic_end_date)
4418: );
4419:
4412: ,ln_business_group_id
4413: ,ln_gre_id
4414: ,fnd_date.canonical_to_date(lv_start_date)
4415: ,fnd_date.canonical_to_date(lv_end_date)
4416: ,fnd_date.canonical_to_date(gv_periodic_start_date)
4417: ,fnd_date.canonical_to_date(gv_periodic_end_date)
4418: );
4419:
4420: hr_utility_trace('c_get_range_emp');
4413: ,ln_gre_id
4414: ,fnd_date.canonical_to_date(lv_start_date)
4415: ,fnd_date.canonical_to_date(lv_end_date)
4416: ,fnd_date.canonical_to_date(gv_periodic_start_date)
4417: ,fnd_date.canonical_to_date(gv_periodic_end_date)
4418: );
4419:
4420: hr_utility_trace('c_get_range_emp');
4421:
4424: , p_start_person_id
4425: , p_end_person_id
4426: , ln_business_group_id
4427: , ln_gre_id
4428: , fnd_date.canonical_to_date(lv_start_date)
4429: , fnd_date.canonical_to_date(lv_end_date)
4430: , fnd_date.canonical_to_date(gv_periodic_start_date)
4431: , fnd_date.canonical_to_date(gv_periodic_end_date) );
4432:
4425: , p_end_person_id
4426: , ln_business_group_id
4427: , ln_gre_id
4428: , fnd_date.canonical_to_date(lv_start_date)
4429: , fnd_date.canonical_to_date(lv_end_date)
4430: , fnd_date.canonical_to_date(gv_periodic_start_date)
4431: , fnd_date.canonical_to_date(gv_periodic_end_date) );
4432:
4433: hr_utility_trace('c_get_emp');
4426: , ln_business_group_id
4427: , ln_gre_id
4428: , fnd_date.canonical_to_date(lv_start_date)
4429: , fnd_date.canonical_to_date(lv_end_date)
4430: , fnd_date.canonical_to_date(gv_periodic_start_date)
4431: , fnd_date.canonical_to_date(gv_periodic_end_date) );
4432:
4433: hr_utility_trace('c_get_emp');
4434:
4427: , ln_gre_id
4428: , fnd_date.canonical_to_date(lv_start_date)
4429: , fnd_date.canonical_to_date(lv_end_date)
4430: , fnd_date.canonical_to_date(gv_periodic_start_date)
4431: , fnd_date.canonical_to_date(gv_periodic_end_date) );
4432:
4433: hr_utility_trace('c_get_emp');
4434:
4435: END IF;
4542: INTO ln_events_found
4543: FROM pay_process_events
4544: WHERE assignment_id = ln_assignment_id
4545: AND last_update_date
4546: BETWEEN fnd_date.canonical_to_date(lv_start_date)
4547: AND fnd_date.canonical_to_date(lv_end_date);
4548: END IF;
4549:
4550: ln_step := 8;
4543: FROM pay_process_events
4544: WHERE assignment_id = ln_assignment_id
4545: AND last_update_date
4546: BETWEEN fnd_date.canonical_to_date(lv_start_date)
4547: AND fnd_date.canonical_to_date(lv_end_date);
4548: END IF;
4549:
4550: ln_step := 8;
4551: hr_utility_trace('--> In Step 8 ');
4554: IF ln_events_found > 0
4555: OR (gv_IDW_calc_method = 'B' AND
4556: seniority_changed (
4557: ln_person_id,
4558: fnd_date.canonical_to_date(lv_end_date),
4559: fnd_date.canonical_to_date(lv_start_date)) = 'Y') THEN
4560: hr_utility_trace('--> Inside If ' );
4561: SELECT pay_assignment_actions_s.nextval
4562: INTO ln_asg_act_id
4555: OR (gv_IDW_calc_method = 'B' AND
4556: seniority_changed (
4557: ln_person_id,
4558: fnd_date.canonical_to_date(lv_end_date),
4559: fnd_date.canonical_to_date(lv_start_date)) = 'Y') THEN
4560: hr_utility_trace('--> Inside If ' );
4561: SELECT pay_assignment_actions_s.nextval
4562: INTO ln_asg_act_id
4563: FROM dual;
4658:
4659: SELECT 'Y'
4660: FROM per_all_people_f per
4661: WHERE per.person_id = p_person_id
4662: AND fnd_date.canonical_to_date(p_effective_date)
4663: BETWEEN per.effective_start_date AND per.effective_end_date
4664: AND per.current_employee_flag = 'Y';
4665:
4666:
4747:
4748: hr_utility.set_location(gv_package || lv_procedure_name, 30);
4749: ln_step := 3;
4750:
4751: ld_start_date := fnd_date.canonical_to_date(lv_start_date);
4752: ld_end_date := fnd_date.canonical_to_date(lv_end_date);
4753:
4754: hr_utility_trace('--> lv_start_date' || lv_start_date );
4755: hr_utility_trace('--> lv_end_date' || lv_end_date );
4748: hr_utility.set_location(gv_package || lv_procedure_name, 30);
4749: ln_step := 3;
4750:
4751: ld_start_date := fnd_date.canonical_to_date(lv_start_date);
4752: ld_end_date := fnd_date.canonical_to_date(lv_end_date);
4753:
4754: hr_utility_trace('--> lv_start_date' || lv_start_date );
4755: hr_utility_trace('--> lv_end_date' || lv_end_date );
4756: hr_utility_trace('--> ln_business_group_id' || ln_business_group_id );
4759:
4760: IF gv_IDW_calc_method IS NULL THEN
4761: gv_IDW_calc_method := get_IDW_calc_method (
4762: ln_gre_id,
4763: fnd_date.canonical_to_date (lv_end_date));
4764: END IF;
4765: hr_utility_trace('--> gv_IDW_calc_method' || gv_IDW_calc_method );
4766: /****************************************************************
4767: ** Archive all the payroll action level data once only when
4859: hr_utility_trace('Person ID for MX SS Transcations .. ' || pay_mx_soc_sec_archive.lrr_act_tab(i).ACT_INFO1);
4860: hr_utility_trace('Transaction Date for MX SS Transcations .. ' || pay_mx_soc_sec_archive.lrr_act_tab(i).ACT_INFO2);
4861: hr_utility_trace('IS Employee active .. ' || lv_is_employee);
4862:
4863: IF (TRUNC(fnd_date.canonical_to_date(
4864: pay_mx_soc_sec_archive.lrr_act_tab(i).act_info2)) =
4865: TRUNC(fnd_date.canonical_to_date('4712/12/31'))) OR lv_is_employee = 'N' THEN
4866:
4867: NULL;
4861: hr_utility_trace('IS Employee active .. ' || lv_is_employee);
4862:
4863: IF (TRUNC(fnd_date.canonical_to_date(
4864: pay_mx_soc_sec_archive.lrr_act_tab(i).act_info2)) =
4865: TRUNC(fnd_date.canonical_to_date('4712/12/31'))) OR lv_is_employee = 'N' THEN
4866:
4867: NULL;
4868: hr_utility_trace('--> NULL' );
4869: ELSE
4962:
4963: CURSOR c_payroll_Action_info (cp_payroll_action_id IN NUMBER) IS
4964: SELECT pay_mx_utility.get_legi_param_val('GRE',
4965: LEGISLATIVE_PARAMETERS) GRE,
4966: fnd_date.canonical_to_date(
4967: pay_mx_utility.get_legi_param_val(
4968: 'END_DATE',
4969: LEGISLATIVE_PARAMETERS)) END_DATE
4970: FROM pay_payroll_actions
5023: p_attribute19 => NULL,
5024: p_attribute20 => NULL);
5025:
5026: hr_utility_trace ('end_date in legislative_parameters = '||
5027: fnd_date.date_to_canonical(ld_end_date));
5028: hr_utility_trace ('Date stamped in pay_recorded_requests = '||
5029: fnd_date.date_to_canonical(ld_start_date));
5030:
5031: /* We need to stamp the end date in pay_recorded_requests only if
5025:
5026: hr_utility_trace ('end_date in legislative_parameters = '||
5027: fnd_date.date_to_canonical(ld_end_date));
5028: hr_utility_trace ('Date stamped in pay_recorded_requests = '||
5029: fnd_date.date_to_canonical(ld_start_date));
5030:
5031: /* We need to stamp the end date in pay_recorded_requests only if
5032: existing date is less than end date stamped on payroll action. This
5033: is done to prevent invalid stamping of date in pay_recorded_requests
5036: In other words, date stamped in pay_recorded_requests can only be
5037: advanced further; it cannot be updated by a potential retry attempt. */
5038: IF ld_end_date > ld_start_date THEN
5039: hr_utility_trace ('Advancing date in pay_recorded_requests to '||
5040: fnd_date.date_to_canonical(ld_end_date));
5041: pay_recorded_requests_pkg.set_recorded_date(
5042: p_process => 'MX_SOC_SEC_ARCH',
5043: p_recorded_date => ld_end_date,
5044: p_recorded_date_o => ld_old_recorded_date,