1: package body pycadar_pkg as
2: /* $Header: pycadar.pkb 120.2.12020000.6 2013/03/04 06:14:57 sbachu ship $ */
3: /*
4: --
5: rem +======================================================================+
166: ld_deposit_start_date,
167: ld_deposit_end_date;
168: close c_get_payroll_action;
169:
170: ln_assignment_set_id := pycadar_pkg.get_parameter(
171: 'ASG_SET_ID',
172: lv_legislative_parameters);
173: ln_payroll_id := pycadar_pkg.get_parameter(
174: 'PAYROLL_ID',
169:
170: ln_assignment_set_id := pycadar_pkg.get_parameter(
171: 'ASG_SET_ID',
172: lv_legislative_parameters);
173: ln_payroll_id := pycadar_pkg.get_parameter(
174: 'PAYROLL_ID',
175: lv_legislative_parameters);
176: ln_consolidation_set_id := pycadar_pkg.get_parameter(
177: 'CONSOLIDATION_SET_ID',
172: lv_legislative_parameters);
173: ln_payroll_id := pycadar_pkg.get_parameter(
174: 'PAYROLL_ID',
175: lv_legislative_parameters);
176: ln_consolidation_set_id := pycadar_pkg.get_parameter(
177: 'CONSOLIDATION_SET_ID',
178: lv_legislative_parameters);
179:
180: p_deposit_start_date := ld_deposit_start_date;
250: pay_payroll_actions pa2,
251: pay_payroll_actions pa1,
252: pay_all_payrolls_f ppf
253: where pa1.payroll_action_id = :payroll_action_id
254: and ppf.payroll_id = pycadar_pkg.get_parameter(''PAYROLL_ID'',
255: pa1.legislative_parameters)
256: and pa2.consolidation_set_id =
257: pycadar_pkg.get_parameter(''CONSOLIDATION_SET_ID'',
258: pa1.legislative_parameters)
253: where pa1.payroll_action_id = :payroll_action_id
254: and ppf.payroll_id = pycadar_pkg.get_parameter(''PAYROLL_ID'',
255: pa1.legislative_parameters)
256: and pa2.consolidation_set_id =
257: pycadar_pkg.get_parameter(''CONSOLIDATION_SET_ID'',
258: pa1.legislative_parameters)
259: and pa2.payroll_id = ppf.payroll_id
260: and pa2.effective_date between
261: pa1.start_date and pa1.effective_date
279: pay_payroll_actions pa1,
280: pay_all_payrolls_f ppf
281: where pa1.payroll_action_id = :payroll_action_id
282: and pa2.consolidation_set_id =
283: pycadar_pkg.get_parameter(''CONSOLIDATION_SET_ID'',
284: pa1.legislative_parameters)
285: and pa2.payroll_id = ppf.payroll_id
286: and pa2.effective_date between
287: pa1.start_date and pa1.effective_date
428: pay_payroll_actions ppa_mag_pmts,
429: pay_all_payrolls_f ppf
430: where ( ppa_dar.payroll_action_id = pactid
431: and ppa_mag_pmts.consolidation_set_id =
432: pycadar_pkg.get_parameter('CONSOLIDATION_SET_ID',
433: ppa_dar.legislative_parameters)
434: and ppa_mag_pmts.payroll_id = ppf.payroll_id
435: and ppa_mag_pmts.effective_date between ppa_dar.start_date
436: and ppa_dar.effective_date
444: paf1.effective_start_date and paf1.effective_end_date
445: and pos.period_of_service_id = paf1.period_of_service_id
446: and pos.person_id between stperson and endperson
447: and (paf1.payroll_id =
448: pycadar_pkg.get_parameter('PAYROLL_ID',
449: ppa_dar.legislative_parameters)
450: or pycadar_pkg.get_parameter('PAYROLL_ID',
451: ppa_dar.legislative_parameters)
452: is null)
446: and pos.person_id between stperson and endperson
447: and (paf1.payroll_id =
448: pycadar_pkg.get_parameter('PAYROLL_ID',
449: ppa_dar.legislative_parameters)
450: or pycadar_pkg.get_parameter('PAYROLL_ID',
451: ppa_dar.legislative_parameters)
452: is null)
453: -- No run results.
454: AND NOT EXISTS (SELECT ' '
507: and has.assignment_set_id = p_assignment_set_id
508: and ppa_mag.effective_date between
509: ppa_dar.start_date and ppa_dar.effective_date
510: and ppa_mag.consolidation_set_id =
511: pycadar_pkg.get_parameter('CONSOLIDATION_SET_ID',ppa_dar.legislative_parameters)
512:
513: and (( has.payroll_id is null
514: and nvl(ppa_mag.payroll_id,ppf.payroll_id) =
515: nvl(pycadar_pkg.get_parameter('PAYROLL_ID',ppa_dar.legislative_parameters),
511: pycadar_pkg.get_parameter('CONSOLIDATION_SET_ID',ppa_dar.legislative_parameters)
512:
513: and (( has.payroll_id is null
514: and nvl(ppa_mag.payroll_id,ppf.payroll_id) =
515: nvl(pycadar_pkg.get_parameter('PAYROLL_ID',ppa_dar.legislative_parameters),
516: nvl(ppa_mag.payroll_id,ppf.payroll_id))
517: ) or
518:
519: nvl(ppa_mag.payroll_id,has.payroll_id) = has.payroll_id
653: pay_payroll_actions ppa_mag,
654: pay_all_payrolls_f ppf
655: where ppa_dar.payroll_action_id = :pactid
656: and nvl(ppa_mag.payroll_id,ppf.payroll_id) =
657: NVL(pycadar_pkg.get_parameter(''PAYROLL_ID'',
658: ppa_dar.legislative_parameters),
659: nvl(ppa_mag.payroll_id,ppf.payroll_id))
660: and nvl(ppa_mag.payroll_id,ppf.payroll_id) = ppf.payroll_id
661: and ppa_mag.effective_date between
661: and ppa_mag.effective_date between
662: ppf.effective_start_date and ppf.effective_end_date
663: and nvl(ppf.multi_assignments_flag,''N'') = ''N''
664: and ppa_mag.consolidation_set_id + 0 =
665: pycadar_pkg.get_parameter(''CONSOLIDATION_SET_ID'',
666: ppa_dar.legislative_parameters)
667: and ppa_mag.effective_date between
668: ppa_dar.start_date and ppa_dar.effective_date
669: and act.payroll_action_id = ppa_mag.payroll_action_id
677: paf2.effective_start_date and paf2.effective_end_date
678: and paf2.payroll_id + 0 = paf1.payroll_id + 0
679: and pos.period_of_service_id = paf1.period_of_service_id
680: and pos.person_id between :stperson and :endperson
681: and (( paf1.payroll_id = pycadar_pkg.get_parameter(''PAYROLL_ID'',
682: ppa_dar.legislative_parameters) )
683: or
684: ( pycadar_pkg.get_parameter(''PAYROLL_ID'',
685: ppa_dar.legislative_parameters) is null )
680: and pos.person_id between :stperson and :endperson
681: and (( paf1.payroll_id = pycadar_pkg.get_parameter(''PAYROLL_ID'',
682: ppa_dar.legislative_parameters) )
683: or
684: ( pycadar_pkg.get_parameter(''PAYROLL_ID'',
685: ppa_dar.legislative_parameters) is null )
686: )
687: and not exists
688: (
939: and ppa_pyarch.effective_date between cp_deposit_start_date
940: and cp_deposit_end_date
941: and cp_deposit_end_date between paf.effective_start_date
942: and paf.effective_end_date
943: and pycadar_pkg.get_parameter('CONSOLIDATION_SET_ID',
944: ppa_pyarch.legislative_parameters)
945: = cp_consolidation_set_id
946: and paa_pyarch.payroll_action_id = ppa_pyarch.payroll_action_id
947: -- the statement below will make sure only Pre Payment Archive
952: and paf.effective_end_date
953: and pai_pre.locking_Action_id = paa_pyarch.assignment_action_id
954: and (cp_payroll_id is null
955: or
956: pycadar_pkg.get_parameter('PAYROLL_ID',
957: ppa_pyarch.legislative_parameters)
958: = cp_payroll_id
959: )
960: and paf.person_id between cp_start_person and cp_end_person
962: 'PAYSLIP','PRINT',
963: 'ASSIGNMENT',paf.assignment_id,
964: cp_deposit_end_date
965: ) = 'Y'
966: and pycadar_pkg.check_if_assignment_paid(
967: pai_pre.locked_action_id,
968: cp_deposit_start_date,
969: cp_deposit_end_date,
970: cp_consolidation_set_id) = 'Y'
1365: ln_curr_payroll_act_id := l_actid;
1366: hr_utility.trace('In QualProc l_actid := ' || l_actid);
1367: hr_utility.trace('p_assignment_id := ' || p_assignment_id);
1368:
1369: IF pycadar_pkg.g_payroll_act_id <> ln_curr_payroll_act_id THEN
1370: pycadar_pkg.g_payroll_act_id := ln_curr_payroll_act_id;
1371:
1372: pay_payslip_report.get_all_parameters(l_actid
1373: ,l_payroll_id
1366: hr_utility.trace('In QualProc l_actid := ' || l_actid);
1367: hr_utility.trace('p_assignment_id := ' || p_assignment_id);
1368:
1369: IF pycadar_pkg.g_payroll_act_id <> ln_curr_payroll_act_id THEN
1370: pycadar_pkg.g_payroll_act_id := ln_curr_payroll_act_id;
1371:
1372: pay_payslip_report.get_all_parameters(l_actid
1373: ,l_payroll_id
1374: ,l_consolidation_set_id
1400: --
1401: -- Fetching legislative prameters for the very first time
1402: -- And caching them into global variables.
1403:
1404: pycadar_pkg.g_payroll_id := l_payroll_id;
1405: pycadar_pkg.g_consolidation_set_id := l_consolidation_set_id;
1406: pycadar_pkg.g_start_dt := l_start_dt;
1407: pycadar_pkg.g_end_dt := l_end_dt;
1408: pycadar_pkg.g_rep_group := l_rep_group;
1401: -- Fetching legislative prameters for the very first time
1402: -- And caching them into global variables.
1403:
1404: pycadar_pkg.g_payroll_id := l_payroll_id;
1405: pycadar_pkg.g_consolidation_set_id := l_consolidation_set_id;
1406: pycadar_pkg.g_start_dt := l_start_dt;
1407: pycadar_pkg.g_end_dt := l_end_dt;
1408: pycadar_pkg.g_rep_group := l_rep_group;
1409: pycadar_pkg.g_rep_category := l_rep_category;
1402: -- And caching them into global variables.
1403:
1404: pycadar_pkg.g_payroll_id := l_payroll_id;
1405: pycadar_pkg.g_consolidation_set_id := l_consolidation_set_id;
1406: pycadar_pkg.g_start_dt := l_start_dt;
1407: pycadar_pkg.g_end_dt := l_end_dt;
1408: pycadar_pkg.g_rep_group := l_rep_group;
1409: pycadar_pkg.g_rep_category := l_rep_category;
1410: pycadar_pkg.g_assignment_set_id := l_assignment_set_id;
1403:
1404: pycadar_pkg.g_payroll_id := l_payroll_id;
1405: pycadar_pkg.g_consolidation_set_id := l_consolidation_set_id;
1406: pycadar_pkg.g_start_dt := l_start_dt;
1407: pycadar_pkg.g_end_dt := l_end_dt;
1408: pycadar_pkg.g_rep_group := l_rep_group;
1409: pycadar_pkg.g_rep_category := l_rep_category;
1410: pycadar_pkg.g_assignment_set_id := l_assignment_set_id;
1411: pycadar_pkg.g_assignment_id := l_assignment_id;
1404: pycadar_pkg.g_payroll_id := l_payroll_id;
1405: pycadar_pkg.g_consolidation_set_id := l_consolidation_set_id;
1406: pycadar_pkg.g_start_dt := l_start_dt;
1407: pycadar_pkg.g_end_dt := l_end_dt;
1408: pycadar_pkg.g_rep_group := l_rep_group;
1409: pycadar_pkg.g_rep_category := l_rep_category;
1410: pycadar_pkg.g_assignment_set_id := l_assignment_set_id;
1411: pycadar_pkg.g_assignment_id := l_assignment_id;
1412: pycadar_pkg.g_effective_date := l_effective_date;
1405: pycadar_pkg.g_consolidation_set_id := l_consolidation_set_id;
1406: pycadar_pkg.g_start_dt := l_start_dt;
1407: pycadar_pkg.g_end_dt := l_end_dt;
1408: pycadar_pkg.g_rep_group := l_rep_group;
1409: pycadar_pkg.g_rep_category := l_rep_category;
1410: pycadar_pkg.g_assignment_set_id := l_assignment_set_id;
1411: pycadar_pkg.g_assignment_id := l_assignment_id;
1412: pycadar_pkg.g_effective_date := l_effective_date;
1413: pycadar_pkg.g_business_group_id := l_business_group_id;
1406: pycadar_pkg.g_start_dt := l_start_dt;
1407: pycadar_pkg.g_end_dt := l_end_dt;
1408: pycadar_pkg.g_rep_group := l_rep_group;
1409: pycadar_pkg.g_rep_category := l_rep_category;
1410: pycadar_pkg.g_assignment_set_id := l_assignment_set_id;
1411: pycadar_pkg.g_assignment_id := l_assignment_id;
1412: pycadar_pkg.g_effective_date := l_effective_date;
1413: pycadar_pkg.g_business_group_id := l_business_group_id;
1414: pycadar_pkg.g_legislation_code := l_legislation_code;
1407: pycadar_pkg.g_end_dt := l_end_dt;
1408: pycadar_pkg.g_rep_group := l_rep_group;
1409: pycadar_pkg.g_rep_category := l_rep_category;
1410: pycadar_pkg.g_assignment_set_id := l_assignment_set_id;
1411: pycadar_pkg.g_assignment_id := l_assignment_id;
1412: pycadar_pkg.g_effective_date := l_effective_date;
1413: pycadar_pkg.g_business_group_id := l_business_group_id;
1414: pycadar_pkg.g_legislation_code := l_legislation_code;
1415:
1408: pycadar_pkg.g_rep_group := l_rep_group;
1409: pycadar_pkg.g_rep_category := l_rep_category;
1410: pycadar_pkg.g_assignment_set_id := l_assignment_set_id;
1411: pycadar_pkg.g_assignment_id := l_assignment_id;
1412: pycadar_pkg.g_effective_date := l_effective_date;
1413: pycadar_pkg.g_business_group_id := l_business_group_id;
1414: pycadar_pkg.g_legislation_code := l_legislation_code;
1415:
1416: --
1409: pycadar_pkg.g_rep_category := l_rep_category;
1410: pycadar_pkg.g_assignment_set_id := l_assignment_set_id;
1411: pycadar_pkg.g_assignment_id := l_assignment_id;
1412: pycadar_pkg.g_effective_date := l_effective_date;
1413: pycadar_pkg.g_business_group_id := l_business_group_id;
1414: pycadar_pkg.g_legislation_code := l_legislation_code;
1415:
1416: --
1417: DECLARE
1410: pycadar_pkg.g_assignment_set_id := l_assignment_set_id;
1411: pycadar_pkg.g_assignment_id := l_assignment_id;
1412: pycadar_pkg.g_effective_date := l_effective_date;
1413: pycadar_pkg.g_business_group_id := l_business_group_id;
1414: pycadar_pkg.g_legislation_code := l_legislation_code;
1415:
1416: --
1417: DECLARE
1418: BEGIN
1441: --
1442: --hr_utility.trace('pay_payslip_report.g_pa_token :='||pay_payslip_report.g_pa_token);
1443: --hr_utility.trace('pay_payslip_report.g_cs_token :='||pay_payslip_report.g_cs_token);
1444:
1445: IF pycadar_pkg.g_assignment_set_id IS NULL THEN
1446: OPEN csr_asg(pycadar_pkg.g_payroll_id
1447: ,pycadar_pkg.g_consolidation_set_id
1448: ,pycadar_pkg.g_start_dt
1449: ,pycadar_pkg.g_end_dt
1442: --hr_utility.trace('pay_payslip_report.g_pa_token :='||pay_payslip_report.g_pa_token);
1443: --hr_utility.trace('pay_payslip_report.g_cs_token :='||pay_payslip_report.g_cs_token);
1444:
1445: IF pycadar_pkg.g_assignment_set_id IS NULL THEN
1446: OPEN csr_asg(pycadar_pkg.g_payroll_id
1447: ,pycadar_pkg.g_consolidation_set_id
1448: ,pycadar_pkg.g_start_dt
1449: ,pycadar_pkg.g_end_dt
1450: ,pay_payslip_report.g_pa_token
1443: --hr_utility.trace('pay_payslip_report.g_cs_token :='||pay_payslip_report.g_cs_token);
1444:
1445: IF pycadar_pkg.g_assignment_set_id IS NULL THEN
1446: OPEN csr_asg(pycadar_pkg.g_payroll_id
1447: ,pycadar_pkg.g_consolidation_set_id
1448: ,pycadar_pkg.g_start_dt
1449: ,pycadar_pkg.g_end_dt
1450: ,pay_payslip_report.g_pa_token
1451: ,pay_payslip_report.g_cs_token
1444:
1445: IF pycadar_pkg.g_assignment_set_id IS NULL THEN
1446: OPEN csr_asg(pycadar_pkg.g_payroll_id
1447: ,pycadar_pkg.g_consolidation_set_id
1448: ,pycadar_pkg.g_start_dt
1449: ,pycadar_pkg.g_end_dt
1450: ,pay_payslip_report.g_pa_token
1451: ,pay_payslip_report.g_cs_token
1452: ,pycadar_pkg.g_legislation_code);
1445: IF pycadar_pkg.g_assignment_set_id IS NULL THEN
1446: OPEN csr_asg(pycadar_pkg.g_payroll_id
1447: ,pycadar_pkg.g_consolidation_set_id
1448: ,pycadar_pkg.g_start_dt
1449: ,pycadar_pkg.g_end_dt
1450: ,pay_payslip_report.g_pa_token
1451: ,pay_payslip_report.g_cs_token
1452: ,pycadar_pkg.g_legislation_code);
1453: LOOP
1448: ,pycadar_pkg.g_start_dt
1449: ,pycadar_pkg.g_end_dt
1450: ,pay_payslip_report.g_pa_token
1451: ,pay_payslip_report.g_cs_token
1452: ,pycadar_pkg.g_legislation_code);
1453: LOOP
1454:
1455: ln_assignment_id := -1;
1456: ln_action_ctx_id := -1;
1463: EXIT;
1464: ELSE
1465: IF check_if_qualified_for_CA(ln_action_ctx_id
1466: ,ln_assignment_id
1467: ,pycadar_pkg.g_start_dt
1468: ,pycadar_pkg.g_end_dt
1469: ,pycadar_pkg.g_consolidation_set_id) = 'Y' THEN
1470:
1471: g_tmp_tbl(ln_assignment_id) := ln_assignment_id;
1464: ELSE
1465: IF check_if_qualified_for_CA(ln_action_ctx_id
1466: ,ln_assignment_id
1467: ,pycadar_pkg.g_start_dt
1468: ,pycadar_pkg.g_end_dt
1469: ,pycadar_pkg.g_consolidation_set_id) = 'Y' THEN
1470:
1471: g_tmp_tbl(ln_assignment_id) := ln_assignment_id;
1472: hr_utility.trace('g_tmp_tbl(' || ln_assignment_id || ') := ' || ln_assignment_id);
1465: IF check_if_qualified_for_CA(ln_action_ctx_id
1466: ,ln_assignment_id
1467: ,pycadar_pkg.g_start_dt
1468: ,pycadar_pkg.g_end_dt
1469: ,pycadar_pkg.g_consolidation_set_id) = 'Y' THEN
1470:
1471: g_tmp_tbl(ln_assignment_id) := ln_assignment_id;
1472: hr_utility.trace('g_tmp_tbl(' || ln_assignment_id || ') := ' || ln_assignment_id);
1473:
1477: END LOOP;
1478: CLOSE csr_asg;
1479: --
1480: ELSE
1481: OPEN csr_inc_asg(pycadar_pkg.g_payroll_id
1482: ,pycadar_pkg.g_consolidation_set_id
1483: ,pycadar_pkg.g_start_dt
1484: ,pycadar_pkg.g_end_dt
1485: ,pay_payslip_report.g_pa_token
1478: CLOSE csr_asg;
1479: --
1480: ELSE
1481: OPEN csr_inc_asg(pycadar_pkg.g_payroll_id
1482: ,pycadar_pkg.g_consolidation_set_id
1483: ,pycadar_pkg.g_start_dt
1484: ,pycadar_pkg.g_end_dt
1485: ,pay_payslip_report.g_pa_token
1486: ,pay_payslip_report.g_cs_token
1479: --
1480: ELSE
1481: OPEN csr_inc_asg(pycadar_pkg.g_payroll_id
1482: ,pycadar_pkg.g_consolidation_set_id
1483: ,pycadar_pkg.g_start_dt
1484: ,pycadar_pkg.g_end_dt
1485: ,pay_payslip_report.g_pa_token
1486: ,pay_payslip_report.g_cs_token
1487: ,pycadar_pkg.g_legislation_code
1480: ELSE
1481: OPEN csr_inc_asg(pycadar_pkg.g_payroll_id
1482: ,pycadar_pkg.g_consolidation_set_id
1483: ,pycadar_pkg.g_start_dt
1484: ,pycadar_pkg.g_end_dt
1485: ,pay_payslip_report.g_pa_token
1486: ,pay_payslip_report.g_cs_token
1487: ,pycadar_pkg.g_legislation_code
1488: ,pycadar_pkg.g_assignment_set_id);
1483: ,pycadar_pkg.g_start_dt
1484: ,pycadar_pkg.g_end_dt
1485: ,pay_payslip_report.g_pa_token
1486: ,pay_payslip_report.g_cs_token
1487: ,pycadar_pkg.g_legislation_code
1488: ,pycadar_pkg.g_assignment_set_id);
1489: LOOP
1490:
1491: ln_assignment_id := -1;
1484: ,pycadar_pkg.g_end_dt
1485: ,pay_payslip_report.g_pa_token
1486: ,pay_payslip_report.g_cs_token
1487: ,pycadar_pkg.g_legislation_code
1488: ,pycadar_pkg.g_assignment_set_id);
1489: LOOP
1490:
1491: ln_assignment_id := -1;
1492: ln_action_ctx_id := -1;
1497: EXIT;
1498: ELSE
1499: IF check_if_qualified_for_CA(ln_action_ctx_id
1500: ,ln_assignment_id
1501: ,pycadar_pkg.g_start_dt
1502: ,pycadar_pkg.g_end_dt
1503: ,pycadar_pkg.g_consolidation_set_id) = 'Y' THEN
1504:
1505: g_tmp_tbl(ln_assignment_id) := ln_assignment_id;
1498: ELSE
1499: IF check_if_qualified_for_CA(ln_action_ctx_id
1500: ,ln_assignment_id
1501: ,pycadar_pkg.g_start_dt
1502: ,pycadar_pkg.g_end_dt
1503: ,pycadar_pkg.g_consolidation_set_id) = 'Y' THEN
1504:
1505: g_tmp_tbl(ln_assignment_id) := ln_assignment_id;
1506: hr_utility.trace('g_tmp_tbl(' || ln_assignment_id || ') := ' || ln_assignment_id);
1499: IF check_if_qualified_for_CA(ln_action_ctx_id
1500: ,ln_assignment_id
1501: ,pycadar_pkg.g_start_dt
1502: ,pycadar_pkg.g_end_dt
1503: ,pycadar_pkg.g_consolidation_set_id) = 'Y' THEN
1504:
1505: g_tmp_tbl(ln_assignment_id) := ln_assignment_id;
1506: hr_utility.trace('g_tmp_tbl(' || ln_assignment_id || ') := ' || ln_assignment_id);
1507: END IF;
1599: ,'PRINT'
1600: ,'ASSIGNMENT'
1601: ,p_assignment_id
1602: ,p_deposit_end_date) = 'Y'
1603: AND pycadar_pkg.check_if_assignment_paid(
1604: ln_prepay_action_id
1605: ,p_deposit_start_date
1606: ,p_deposit_end_date
1607: ,p_consolidation_set_id) = 'Y' --Bug 3512116
1639: RETURN 'N';
1640: END IF;
1641: END check_if_qualified_for_CA;
1642:
1643: end pycadar_pkg;