DBA Data[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;