DBA Data[Home] [Help]

PACKAGE BODY: APPS.PAY_US_TAX_ETU_PKG

Source


1 PACKAGE BODY pay_us_tax_etu_pkg AS
2 /* $Header: pyusetug.pkb 120.1.12010000.1 2008/07/27 23:50:57 appldev ship $ */
3 
4 g_debug                BOOLEAN;
5 
6 /****************************************************************************
7   Name        : HR_UTILITY_TRACE
8   Description : This function prints debug messages during diagnostics mode.
9 *****************************************************************************/
10 PROCEDURE hr_utility_trace(trc_data VARCHAR2) IS
11 BEGIN
12     IF g_debug THEN
13         hr_utility.trace(trc_data);
14     END IF;
15 END hr_utility_trace;
16 
17 
18 /*****************************************************************************
19  Name      : create_vertex_etu
20  Purpose   : Procedure create element type usages for VERTEX.
21 *****************************************************************************/
22 PROCEDURE create_vertex_etu(p_effective_date        IN     DATE
23                            ,p_element_type_id       IN     NUMBER
24                            ,p_business_group_id     IN     NUMBER
25                            ,p_costable_type         IN     VARCHAR2
26 			    ) AS
27 
28 
29   CURSOR c_run_type IS
30   SELECT prt.* from pay_run_types_f  prt
31    WHERE prt.run_type_name IN ('Regular Standard Run',
32                                'Separate Payment Run',
33                                'Tax Separate Run',
34                                'Supplemental Standard Run',
35                                'Regular',
36                                'Supplemental')
37     AND  prt.business_group_id IS NULL
38     AND  prt.legislation_code = 'US';
39 
40   l_payroll_run_exist       VARCHAR2(10);
41   l_vertex_etu_exist        VARCHAR2(10);
42   l_us_tax_vertex_etu_exist VARCHAR2(10);
43   l_workers_comp_etu_exist  VARCHAR2(10);
44 
45   CURSOR  c_vertex_element(p_element_name IN VARCHAR2) IS
46   SELECT  element_type_id
47     FROM  pay_element_types_f
48    WHERE  element_name = p_element_name
49      AND  legislation_code  = 'US'
50      AND  business_group_id IS NULL;
51 
52   l_element_type_id    pay_element_types_f.element_type_id%TYPE;
53 
54 BEGIN
55 
56   hr_utility_trace('pay_us_tax_etu_pkg.create_vertex_etu ');
57   hr_utility_trace('p_effective_date -> ' || p_effective_date);
58 --  hr_utility_trace('p_organization_id -> ' || p_organization_id);
59 --  hr_utility_trace('p_org_info_type_code -> ' || p_org_info_type_code);
60 
61   l_payroll_run_exist := pay_us_vertex_interface.payroll_run_exist(p_business_group_id);
62   hr_utility_trace('l_payroll_run_exist -> '|| l_payroll_run_exist);
63 
64   l_vertex_etu_exist :=  pay_us_vertex_interface.vertex_eletype_usage_exist('VERTEX',p_business_group_id);
65   hr_utility_trace('l_vertex_etu_exist -> '|| l_vertex_etu_exist);
66 
67   l_us_tax_vertex_etu_exist := pay_us_vertex_interface.vertex_eletype_usage_exist('US_TAX_VERTEX',p_business_group_id);
68   hr_utility_trace('l_us_tax_vertex_etu_exist -> '|| l_us_tax_vertex_etu_exist);
69 
70   l_workers_comp_etu_exist := pay_us_vertex_interface.vertex_eletype_usage_exist('Workers Compensation',p_business_group_id);
71   hr_utility_trace('l_workers_comp_etu_exist -> '|| l_workers_comp_etu_exist);
72 
73   IF l_payroll_run_exist = 'N' THEN
74 
75      IF l_vertex_etu_exist = 'Y' THEN
76         hr_utility.set_location('l_vertex_etu_exist ->'|| l_vertex_etu_exist,2001);
77         pay_us_vertex_interface.delete_ele_type_usages('VERTEX'
78                                                       , p_business_group_id);
79      END IF;
80 
81      IF l_us_tax_vertex_etu_exist = 'Y' THEN
82         hr_utility.set_location('IN HRAMERD, l_us_tax_vertex_etu_exist ->'|| l_us_tax_vertex_etu_exist,2001);
83         pay_us_vertex_interface.delete_ele_type_usages('US_TAX_VERTEX'
84                                                       , p_business_group_id);
85      END IF;
86 
87      IF l_workers_comp_etu_exist = 'Y' THEN
88         pay_us_vertex_interface.delete_ele_type_usages('Workers Compensation'
89                                                       , p_business_group_id);
90      END IF;
91 
92      OPEN c_vertex_element('VERTEX');
93      FETCH c_vertex_element INTO l_element_type_id;
94      CLOSE c_vertex_element;
95      hr_utility_trace('l_element_type_id -> '|| l_element_type_id);
96 
97      FOR run_type IN c_run_type LOOP
98             pay_us_vertex_interface.create_ele_tp_usg(p_element_type_id => l_element_type_id
99                                                      ,p_run_type_id  => run_type.run_type_id
100                                                      ,p_element_name => 'VERTEX'
101                                                      ,p_run_type_name => run_type.run_type_name
102                                                      ,p_inclusion_flag  => 'N'
103                                                      ,p_effective_date  => run_type.effective_start_date
104                                                      ,p_legislation_code => NULL
105                                                      ,p_business_group_id => p_business_group_id);
106      END LOOP;
107 
108      OPEN c_vertex_element('Workers Compensation');
109      FETCH c_vertex_element INTO l_element_type_id;
110      CLOSE c_vertex_element;
111      hr_utility_trace('l_element_type_id -> '|| l_element_type_id);
112 
113      FOR run_type IN c_run_type LOOP
114            pay_us_vertex_interface.create_ele_tp_usg
115              ( p_element_type_id      => l_element_type_id
116               ,p_run_type_id          => run_type.run_type_id
117               ,p_element_name         => 'Workers Compensation'
118               ,p_run_type_name        => run_type.run_type_name
119               ,p_inclusion_flag       => 'N'
120               ,p_effective_date       => run_type.effective_start_date
121               ,p_legislation_code     => NULL
122               ,p_business_group_id    => p_business_group_id);
123 
124 	     hr_utility.trace('2136 -> Workers Compensation element excluded');
125      END LOOP;
126 
127   ELSIF l_payroll_run_exist = 'Y' THEN
128         NULL;
129   END IF; --l_payroll_run_exist = 'N'
130 
131 END create_vertex_etu;
132 
133 --To put the trace just uncomment the below three lines.
134 --BEGIN
135 --  hr_utility.trace_on(null,'VERTEX');
136 --  g_debug := hr_utility.debug_enabled;
137 END pay_us_tax_etu_pkg;