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