185: ,p_consolidation_set_id => ln_consolidation_set_id);
186:
187: /* Removed old code to use get_payroll_action bug#3438254 */
188:
189: hr_utility.trace('l_payroll_id = ' || to_char(l_payroll_id));
190: hr_utility.trace('l_asg_set_id = ' || to_char(l_asg_set_id));
191:
192: --Database Version --Bug 3331023
193:
186:
187: /* Removed old code to use get_payroll_action bug#3438254 */
188:
189: hr_utility.trace('l_payroll_id = ' || to_char(l_payroll_id));
190: hr_utility.trace('l_asg_set_id = ' || to_char(l_asg_set_id));
191:
192: --Database Version --Bug 3331023
193:
194: if (nvl(hr_general2.get_oracle_db_version, 0) < 10.0) then
328:
329: lc_return_flag VARCHAR2(1);
330:
331: BEGIN
332: hr_utility.trace(' p_prepayment_action_id '|| to_char(p_prepayment_action_id));
333: hr_utility.trace(' p_deposit_start_date ' || to_char(p_deposit_start_date)); hr_utility.trace(' p_deposit_end_date ' || to_char(p_deposit_end_date));
334: hr_utility.trace(' p_consolidation_set_id '|| to_char(p_consolidation_set_id));
335:
336: lc_return_flag := 'N';
329: lc_return_flag VARCHAR2(1);
330:
331: BEGIN
332: hr_utility.trace(' p_prepayment_action_id '|| to_char(p_prepayment_action_id));
333: hr_utility.trace(' p_deposit_start_date ' || to_char(p_deposit_start_date)); hr_utility.trace(' p_deposit_end_date ' || to_char(p_deposit_end_date));
334: hr_utility.trace(' p_consolidation_set_id '|| to_char(p_consolidation_set_id));
335:
336: lc_return_flag := 'N';
337: open c_direct_deposit_run(p_prepayment_action_id,
330:
331: BEGIN
332: hr_utility.trace(' p_prepayment_action_id '|| to_char(p_prepayment_action_id));
333: hr_utility.trace(' p_deposit_start_date ' || to_char(p_deposit_start_date)); hr_utility.trace(' p_deposit_end_date ' || to_char(p_deposit_end_date));
334: hr_utility.trace(' p_consolidation_set_id '|| to_char(p_consolidation_set_id));
335:
336: lc_return_flag := 'N';
337: open c_direct_deposit_run(p_prepayment_action_id,
338: p_deposit_start_date,
340: p_consolidation_set_id);
341: fetch c_direct_deposit_run into lc_dd_flag;
342: if c_direct_deposit_run%found then
343: lc_return_flag := 'Y';
344: hr_utility.trace('c_direct_deposit_run%found lc_return_flag: '|| lc_return_flag);
345:
346: else
347: open c_no_prepayments(p_prepayment_action_id);
348: fetch c_no_prepayments into lc_no_prepayment_flag;
347: open c_no_prepayments(p_prepayment_action_id);
348: fetch c_no_prepayments into lc_no_prepayment_flag;
349: if c_no_prepayments%found then
350: lc_return_flag := 'Y';
351: hr_utility.trace('c_no_prepayments%found lc_return_flag: '|| lc_return_flag);
352: end if;
353: close c_no_prepayments;
354: end if;
355: close c_direct_deposit_run;
587: -- algorithm is quite similar to the other process cases,
588: -- but we have to take into account assignments and
589: -- personal payment methods.
590: begin
591: -- hr_utility.trace_on('Y','CAASGSET');
592: hr_utility.set_location('pycadar.action_creation',1);
593: -- Initialising local variables here to avoid GSCC warnings
594: ln_prev_pre_pymt_action_id := null;
595: ln_prev_source_action_id := null;
588: -- but we have to take into account assignments and
589: -- personal payment methods.
590: begin
591: -- hr_utility.trace_on('Y','CAASGSET');
592: hr_utility.set_location('pycadar.action_creation',1);
593: -- Initialising local variables here to avoid GSCC warnings
594: ln_prev_pre_pymt_action_id := null;
595: ln_prev_source_action_id := null;
596: ln_prev_asg_act_id := -999999;
678: ,p_consolidation_set_id => ln_consolidation_set_id);
679:
680: /* removed old code to use get_payroll_action bug#3438254 */
681:
682: hr_utility.set_location('pycadar.action_creation l_asg_set_id = '
683: ,l_asg_set_id);
684:
685: IF l_asg_set_id IS NOT NULL THEN
686: open c_actions_asg_set(pactid,stperson,endperson,l_asg_set_id);
691: END IF;
692:
693: num := 0;
694: loop
695: hr_utility.set_location('pycadar.action_creation',2);
696: IF l_asg_set_id IS NOT NULL THEN
697: fetch c_actions_asg_set into lockedactid,assignid,greid;
698: if c_actions_asg_set%found then num := num + 1; end if;
699: exit when c_actions_asg_set%notfound;
706: END IF;
707: --
708: IF lockedactid <> ln_prev_asg_act_id THEN
709:
710: hr_utility.trace(' c_actions.lockedactid is '||to_char(lockedactid));
711: open c_pre_payments (lockedactid);
712: fetch c_pre_payments into ln_pre_pymt_action_id;
713: hr_utility.trace(' c_pre_payments.ln_pre_pymt_action_id is'
714: ||to_char(ln_pre_pymt_action_id));
709:
710: hr_utility.trace(' c_actions.lockedactid is '||to_char(lockedactid));
711: open c_pre_payments (lockedactid);
712: fetch c_pre_payments into ln_pre_pymt_action_id;
713: hr_utility.trace(' c_pre_payments.ln_pre_pymt_action_id is'
714: ||to_char(ln_pre_pymt_action_id));
715: close c_pre_payments;
716:
717: -- we need to insert one action for each of the
717: -- we need to insert one action for each of the
718: -- rows that we return from the cursor (i.e. one
719: -- for each assignment/pre-payment).
720:
721: hr_utility.trace(' ln_prev_pre_pymt_action_id is'
722: ||to_char(ln_prev_pre_pymt_action_id));
723: if (ln_prev_pre_pymt_action_id is null or
724: ln_prev_pre_pymt_action_id <> ln_pre_pymt_action_id) then
725: open c_payments (ln_pre_pymt_action_id);
723: if (ln_prev_pre_pymt_action_id is null or
724: ln_prev_pre_pymt_action_id <> ln_pre_pymt_action_id) then
725: open c_payments (ln_pre_pymt_action_id);
726: loop
727: hr_utility.set_location('procdar',99);
728: fetch c_payments into ln_source_action_id;
729: hr_utility.trace(' ln_source_action_id is'
730: ||to_char(ln_source_action_id));
731:
725: open c_payments (ln_pre_pymt_action_id);
726: loop
727: hr_utility.set_location('procdar',99);
728: fetch c_payments into ln_source_action_id;
729: hr_utility.trace(' ln_source_action_id is'
730: ||to_char(ln_source_action_id));
731:
732: hr_utility.set_location('procdar',98);
733: if c_payments%notfound then
728: fetch c_payments into ln_source_action_id;
729: hr_utility.trace(' ln_source_action_id is'
730: ||to_char(ln_source_action_id));
731:
732: hr_utility.set_location('procdar',98);
733: if c_payments%notfound then
734: exit;
735: end if;
736: hr_utility.set_location('procdar',97);
732: hr_utility.set_location('procdar',98);
733: if c_payments%notfound then
734: exit;
735: end if;
736: hr_utility.set_location('procdar',97);
737: /**************************************************************
738: ** we need to insert one action for each of the rows that we
739: ** return from the cursor (i.e. one for each
740: ** assignment/pre-payment source).
738: ** we need to insert one action for each of the rows that we
739: ** return from the cursor (i.e. one for each
740: ** assignment/pre-payment source).
741: **************************************************************/
742: hr_utility.trace(' ln_prev_source_action_id is'
743: ||to_char(ln_prev_source_action_id));
744: if (ln_prev_source_action_id is null or
745: ln_source_action_id <> ln_prev_source_action_id or
746: ln_source_action_id is null) then
744: if (ln_prev_source_action_id is null or
745: ln_source_action_id <> ln_prev_source_action_id or
746: ln_source_action_id is null) then
747:
748: hr_utility.set_location('procdar',3);
749: select pay_assignment_actions_s.nextval
750: into lockingactid
751: from dual;
752:
752:
753: -- insert the action record.
754: hr_nonrun_asact.insact(lockingactid,assignid,
755: pactid,chunk,greid);
756: hr_utility.trace('Inserted into paa');
757: hr_utility.trace(' assignment_id is ' ||to_char(assignid));
758: -- insert an interlock to this action.
759: hr_nonrun_asact.insint(lockingactid,lockedactid);
760: hr_utility.trace('Inserted into interlock');
753: -- insert the action record.
754: hr_nonrun_asact.insact(lockingactid,assignid,
755: pactid,chunk,greid);
756: hr_utility.trace('Inserted into paa');
757: hr_utility.trace(' assignment_id is ' ||to_char(assignid));
758: -- insert an interlock to this action.
759: hr_nonrun_asact.insint(lockingactid,lockedactid);
760: hr_utility.trace('Inserted into interlock');
761:
756: hr_utility.trace('Inserted into paa');
757: hr_utility.trace(' assignment_id is ' ||to_char(assignid));
758: -- insert an interlock to this action.
759: hr_nonrun_asact.insint(lockingactid,lockedactid);
760: hr_utility.trace('Inserted into interlock');
761:
762: if ln_source_action_id is not null then
763:
764: hr_utility.trace('serial number updated if loop ');
760: hr_utility.trace('Inserted into interlock');
761:
762: if ln_source_action_id is not null then
763:
764: hr_utility.trace('serial number updated if loop ');
765: hr_utility.trace('serial number is '||ln_source_action_id);
766: update pay_assignment_Actions
767: set serial_number = 'P'||ln_source_action_id
768: --set serial_number = ln_source_action_id
761:
762: if ln_source_action_id is not null then
763:
764: hr_utility.trace('serial number updated if loop ');
765: hr_utility.trace('serial number is '||ln_source_action_id);
766: update pay_assignment_Actions
767: set serial_number = 'P'||ln_source_action_id
768: --set serial_number = ln_source_action_id
769: where assignment_action_id = lockingactid;
767: set serial_number = 'P'||ln_source_action_id
768: --set serial_number = ln_source_action_id
769: where assignment_action_id = lockingactid;
770: else
771: hr_utility.trace('serial number else ');
772: open c_payroll_run (ln_pre_pymt_action_id);
773: fetch c_payroll_run into ln_master_action_id;
774: close c_payroll_run;
775: hr_utility.trace(' ln_master_action_id is'
771: hr_utility.trace('serial number else ');
772: open c_payroll_run (ln_pre_pymt_action_id);
773: fetch c_payroll_run into ln_master_action_id;
774: close c_payroll_run;
775: hr_utility.trace(' ln_master_action_id is'
776: ||to_char(ln_master_action_id));
777:
778: update pay_assignment_Actions
779: set serial_number = 'M'||ln_master_action_id
802: end if;
803:
804: /* removed the commented code bug#3438254 */
805:
806: hr_utility.set_location('procdar',4);
807: ln_prev_pre_pymt_action_id := null;
808: open c_actions_zero_pay(pactid,stperson,endperson);
809:
810: loop
807: ln_prev_pre_pymt_action_id := null;
808: open c_actions_zero_pay(pactid,stperson,endperson);
809:
810: loop
811: hr_utility.set_location('procdar',5);
812: lv_ass_set_on := 'N';
813: hr_utility.trace('Start of c_actions_zero_pay ');
814: fetch c_actions_zero_pay INTO ln_direct_dep_act_id, --gives P,U
815: ln_assignment_id,
809:
810: loop
811: hr_utility.set_location('procdar',5);
812: lv_ass_set_on := 'N';
813: hr_utility.trace('Start of c_actions_zero_pay ');
814: fetch c_actions_zero_pay INTO ln_direct_dep_act_id, --gives P,U
815: ln_assignment_id,
816: ln_tax_unit_id;
817: exit WHEN c_actions_zero_pay%NOTFOUND;
814: fetch c_actions_zero_pay INTO ln_direct_dep_act_id, --gives P,U
815: ln_assignment_id,
816: ln_tax_unit_id;
817: exit WHEN c_actions_zero_pay%NOTFOUND;
818: hr_utility.trace(' NZ PrePayment Id is' ||ln_direct_dep_act_id);
819:
820: /* Added this code for Assignment set validation bug#3438254,
821: Otherwise it was displaying all the assignments that are
822: not in the given Assignment Set.
823: */
824: lv_ass_set_on := hr_assignment_set.assignment_in_set(
825: l_asg_set_id,
826: ln_assignment_id);
827: hr_utility.trace('lv_ass_set_on : '||lv_ass_set_on);
828:
829: If lv_ass_set_on = 'Y' then
830:
831: open c_pre_payments (ln_direct_dep_act_id); --gives me R,Q
831: open c_pre_payments (ln_direct_dep_act_id); --gives me R,Q
832: fetch c_pre_payments into ln_pre_pymt_action_id;
833: close c_pre_payments;
834:
835: hr_utility.trace(' NZ Run ActionId is' ||to_char(ln_pre_pymt_action_id));
836: hr_utility.trace(' NZ ln_prev_pre_pymt_action_id is' ||to_char(ln_prev_pre_pymt_action_id));
837:
838: if (ln_prev_pre_pymt_action_id is null or
839: ln_prev_pre_pymt_action_id <> ln_pre_pymt_action_id) then
832: fetch c_pre_payments into ln_pre_pymt_action_id;
833: close c_pre_payments;
834:
835: hr_utility.trace(' NZ Run ActionId is' ||to_char(ln_pre_pymt_action_id));
836: hr_utility.trace(' NZ ln_prev_pre_pymt_action_id is' ||to_char(ln_prev_pre_pymt_action_id));
837:
838: if (ln_prev_pre_pymt_action_id is null or
839: ln_prev_pre_pymt_action_id <> ln_pre_pymt_action_id) then
840:
837:
838: if (ln_prev_pre_pymt_action_id is null or
839: ln_prev_pre_pymt_action_id <> ln_pre_pymt_action_id) then
840:
841: hr_utility.set_location('procdar',6);
842: select pay_assignment_actions_s.nextval
843: into ln_deposit_action_id
844: from dual;
845:
849: pactid, chunk, ln_tax_unit_id);
850:
851: -- insert an interlock to this action.
852: hr_nonrun_asact.insint(ln_deposit_action_id,ln_direct_dep_act_id);
853: hr_utility.trace(' NZ Inserted into paa');
854: hr_utility.trace(' Asg id: '||to_char(ln_assignment_id));
855:
856: /* removed the commented code bug#3438254 */
857:
850:
851: -- insert an interlock to this action.
852: hr_nonrun_asact.insint(ln_deposit_action_id,ln_direct_dep_act_id);
853: hr_utility.trace(' NZ Inserted into paa');
854: hr_utility.trace(' Asg id: '||to_char(ln_assignment_id));
855:
856: /* removed the commented code bug#3438254 */
857:
858: update pay_assignment_Actions
867: End if; -- lv_ass_set_on = 'Y'
868:
869: end loop;
870: close c_actions_zero_pay;
871: -- hr_utility.trace_off;
872:
873: commit;
874: end action_creation;
875: --------------------- archive_action_creation ----------------------------
972: ,p_assignment_set_id => ln_asg_set_id
973: ,p_payroll_id => ln_payroll_id
974: ,p_consolidation_set_id => ln_consolidation_set_id);
975:
976: -- hr_utility.trace_on(null, 'ARCH_DEPADV');
977: hr_utility.set_location('pycadar archive_action_creation',1);
978: open c_paid_actions(stperson, endperson,
979: ln_payroll_id,
980: ln_consolidation_set_id,
973: ,p_payroll_id => ln_payroll_id
974: ,p_consolidation_set_id => ln_consolidation_set_id);
975:
976: -- hr_utility.trace_on(null, 'ARCH_DEPADV');
977: hr_utility.set_location('pycadar archive_action_creation',1);
978: open c_paid_actions(stperson, endperson,
979: ln_payroll_id,
980: ln_consolidation_set_id,
981: ld_deposit_start_date,
980: ln_consolidation_set_id,
981: ld_deposit_start_date,
982: ld_deposit_end_date);
983: loop
984: hr_utility.set_location('pycadar archive_action_creation',2);
985:
986: lv_ass_set_on := 'N';
987:
988: fetch c_paid_actions into ln_dd_action_id,
992:
993: lv_ass_set_on := hr_assignment_set.assignment_in_set(
994: ln_asg_set_id,
995: ln_assignment_id);
996: hr_utility.trace('lv_ass_set_on : '||lv_ass_set_on);
997:
998: IF lv_ass_set_on = 'Y' THEN
999: hr_utility.trace('c_paid_actions.ln_dd_action_id is' ||to_char(ln_dd_action_id));
1000: hr_utility.trace(' ln_assignment_id is' ||to_char(ln_assignment_id));
995: ln_assignment_id);
996: hr_utility.trace('lv_ass_set_on : '||lv_ass_set_on);
997:
998: IF lv_ass_set_on = 'Y' THEN
999: hr_utility.trace('c_paid_actions.ln_dd_action_id is' ||to_char(ln_dd_action_id));
1000: hr_utility.trace(' ln_assignment_id is' ||to_char(ln_assignment_id));
1001: hr_utility.trace(' ln_tax_unit_id is' ||to_char(ln_tax_unit_id));
1002:
1003: hr_utility.set_location('pycadar archive_action_creation',3);
996: hr_utility.trace('lv_ass_set_on : '||lv_ass_set_on);
997:
998: IF lv_ass_set_on = 'Y' THEN
999: hr_utility.trace('c_paid_actions.ln_dd_action_id is' ||to_char(ln_dd_action_id));
1000: hr_utility.trace(' ln_assignment_id is' ||to_char(ln_assignment_id));
1001: hr_utility.trace(' ln_tax_unit_id is' ||to_char(ln_tax_unit_id));
1002:
1003: hr_utility.set_location('pycadar archive_action_creation',3);
1004: select pay_assignment_actions_s.nextval
997:
998: IF lv_ass_set_on = 'Y' THEN
999: hr_utility.trace('c_paid_actions.ln_dd_action_id is' ||to_char(ln_dd_action_id));
1000: hr_utility.trace(' ln_assignment_id is' ||to_char(ln_assignment_id));
1001: hr_utility.trace(' ln_tax_unit_id is' ||to_char(ln_tax_unit_id));
1002:
1003: hr_utility.set_location('pycadar archive_action_creation',3);
1004: select pay_assignment_actions_s.nextval
1005: into ln_deposit_action_id
999: hr_utility.trace('c_paid_actions.ln_dd_action_id is' ||to_char(ln_dd_action_id));
1000: hr_utility.trace(' ln_assignment_id is' ||to_char(ln_assignment_id));
1001: hr_utility.trace(' ln_tax_unit_id is' ||to_char(ln_tax_unit_id));
1002:
1003: hr_utility.set_location('pycadar archive_action_creation',3);
1004: select pay_assignment_actions_s.nextval
1005: into ln_deposit_action_id
1006: from dual;
1007:
1008: -- insert the action record.
1009: hr_nonrun_asact.insact(ln_deposit_action_id,
1010: ln_assignment_id,
1011: pactid, chunk, ln_tax_unit_id);
1012: hr_utility.trace('Inserted into paa, New Asg_act_id:'||to_char(ln_deposit_action_id));
1013: -- insert an interlock to this action.
1014: hr_nonrun_asact.insint(ln_deposit_action_id, ln_dd_action_id);
1015:
1016: update pay_assignment_Actions
1021:
1022: end loop;
1023: close c_paid_actions;
1024:
1025: hr_utility.set_location('pycadar archive_action_creation',4);
1026:
1027: END archive_action_creation;
1028:
1029: ---------------------------------- sort_action -------------------------------