[Home] [Help]
PACKAGE BODY: APPS.PAY_KW_PIFSS
Source
1 package body PAY_KW_PIFSS as
2 /* $Header: pykwpifs.pkb 120.1 2006/08/11 12:34:19 spendhar noship $ */
3 g_package varchar2(33) := 'PAY_KW_PIFSS.';
4 --
5 PROCEDURE range_cursor (pactid IN NUMBER,
6 sqlstr OUT nocopy VARCHAR2)
7 IS
8 l_proc VARCHAR2(60);
9 BEGIN
10 --
11 l_proc := g_package||'range_cursor';
12
13 hr_utility.set_location('Entering: '||l_proc,1);
14 --
15 -- Note: There must be one and only one entry of :payroll_action_id in
16 -- the string, and the statement must be, order by person_id
17 --
18 sqlstr := 'select distinct person_id '||
19 'from per_people_f ppf, '||
20 'pay_payroll_actions ppa '||
21 'where ppa.payroll_action_id = :payroll_action_id '||
22 'and ppa.business_group_id = ppf.business_group_id '||
23 'order by ppf.person_id';
24 --
25 hr_utility.set_location(' Leaving: '||l_proc,100);
26 END range_cursor;
27 --
28 procedure assignment_action_code
29 (p_payroll_action_id in pay_payroll_actions.payroll_action_id%type,
30 p_start_person_id in per_all_people_f.person_id%type,
31 p_end_person_id in per_all_people_f.person_id%type,
32 p_chunk in number) is
33 v_next_action_id pay_assignment_actions.assignment_action_id%type;
34 cursor process_assignments
35 (c_payroll_action_id in pay_payroll_actions.payroll_action_id%type,
36 c_start_person_id in per_all_people_f.person_id%type,
37 c_end_person_id in per_all_people_f.person_id%type) is
38 select distinct a.assignment_id,
39 pay_core_utils.get_parameter('ARCHIVE_ID', pa.legislative_parameters) archive_action_id,
40 ppac.assignment_action_id
41 from per_assignments_f a,
42 per_people_f p,
43 pay_payroll_actions pa,
44 pay_payroll_actions ppa,
45 pay_assignment_actions ppac
46 where pa.payroll_action_id = c_payroll_action_id
47 and p.person_id between c_start_person_id and c_end_person_id
48 and p.person_id = a.person_id
49 and p.business_group_id = pa.business_group_id
50 and ppa.payroll_action_id = ppac.payroll_action_id
51 and a.assignment_id = ppac.assignment_id
52 and ppa.payroll_action_id = pay_core_utils.get_parameter('ARCHIVE_ID', pa.legislative_parameters)
53 And ppa.action_type = 'X'
54 and ppa.action_status = 'C'
55 and ppac.assignment_action_id in
56 (select max(ppac1.assignment_action_id)
57 from pay_assignment_actions ppac1,
58 pay_payroll_Actions ppaa
59 where ppaa.action_type ='X'
60 and ppaa.action_status ='C'
61 and ppaa.report_type ='KW_PIFSS_REPORT'
62 and ppaa.payroll_Action_id = ppac1.payroll_action_id
63 group by ppac1.assignment_id)
64 and not exists
65 (select locked_action_id
66 FROM pay_action_interlocks pail
67 WHERE pail.locked_action_id=ppac.assignment_action_id);
68 cursor next_action_id is
69 select pay_assignment_actions_s.nextval
70 from dual;
71 begin
72 hr_utility.set_location('Start of assignment_action_code',3);
73 hr_utility.set_location('The payroll_action_id passed '|| p_payroll_action_id,4);
74 hr_utility.set_location('The p_start_person_id '|| p_start_person_id,5);
75 hr_utility.set_location('The p_end_person_id '|| p_end_person_id,6);
76 hr_utility.set_location('The p_chunk number '|| p_chunk ,7);
77 for process_rec in process_assignments (p_payroll_action_id,
78 p_start_person_id,
79 p_end_person_id)
80 loop
81 hr_utility.set_location('LOOP STARTED '|| process_rec.assignment_id ,14);
82 open next_action_id;
83 fetch next_action_id into v_next_action_id;
84 close next_action_id;
85 hr_utility.set_location('before calling insact '|| v_next_action_id ,14);
86 hr_nonrun_asact.insact(v_next_action_id,
87 process_rec.assignment_id,
88 p_payroll_action_id,
89 p_chunk,
90 null);
91 hr_utility.set_location('inserted assigment action assignment '|| process_rec.assignment_id ,15);
92 hr_utility.set_location('Before calling hr_nonrun_asact.insint archive ' || process_rec.archive_action_id,16);
93 hr_utility.set_location('v_next_action_id' || v_next_action_id,16);
94 hr_nonrun_asact.insint(v_next_action_id,process_rec.assignment_action_id);
95 hr_utility.set_location('After calling hr_nonrun_asact.insint',14);
96 end loop;
97 hr_utility.set_location('End of assignment_action_code',5);
98 exception
99 when others then
100 hr_utility.set_location('error raised in assignment_action_code procedure ',5);
101 raise;
102 end assignment_action_code;
103 --
104 procedure spawn_archive_reports is
105 begin
106 pay_magtape_generic.new_formula;
107 end;
108 --
109 END PAY_KW_PIFSS;