DBA Data[Home] [Help]

PACKAGE BODY: APPS.PAY_US_ISETUP_EARN_DEDN

Source


1 PACKAGE BODY pay_us_iSetup_earn_dedn AS
2 /* $Header: pyusisetup.pkb 120.4 2005/08/25 19:29:56 ndorai noship $ */
3 -----------------------------------------------------------------------------
4 --                       CREATE_ISETUP_EARN_ELEMENT
5 -----------------------------------------------------------------------------
6 FUNCTION create_isetup_earn_element
7          (p_ele_name              in varchar2
8          ,p_ele_reporting_name    in varchar2
9          ,p_ele_description       in varchar2
10          ,p_ele_classification    in varchar2
11          ,p_ele_category          in varchar2
12          ,p_ele_ot_base           in varchar2
13          ,p_flsa_hours            in varchar2
14          ,p_ele_processing_type   in varchar2
15          ,p_ele_priority          in number
16          ,p_ele_standard_link     in varchar2
17          ,p_ele_calc_ff_id        in number
18          ,p_ele_calc_ff_name      in varchar2
19          ,p_sep_check_option      in varchar2
20          ,p_dedn_proc             in varchar2
21          ,p_mix_flag              in varchar2
22          ,p_reduce_regular        in varchar2
23          ,p_ele_eff_start_date    in date
24          ,p_ele_eff_end_date      in date
25          ,p_alien_supp_category   in varchar2
26          ,p_bg_id                 in number
27          ,p_termination_rule      in varchar2 default 'F'
28          ,p_grossup_chk           in varchar2
29          ,p_legislation_code      in varchar2
30          )
31    RETURN NUMBER is
32    --
33    l_ele_type_id   number;
34    l_proc          varchar2(50) := 'pay_iSetup_earn_dedn';
35 
36 BEGIN
37    --
38  IF p_grossup_chk = 'N' THEN
39    IF p_ele_classification = 'Alien/Expat Earnings' THEN
40       --
41       l_ele_type_id := pqp_earnings_template.create_ele_template_objects
42           (p_ele_name            =>  p_ele_name
43           ,p_ele_reporting_name  =>  p_ele_reporting_name
44           ,p_ele_description     =>  p_ele_description
45           ,p_ele_classification  =>  p_ele_classification
46           ,p_ele_category        =>  p_ele_category
47           ,p_ele_processing_type =>  p_ele_processing_type
48           ,p_ele_priority        =>  p_ele_priority
49           ,p_ele_standard_link   =>  p_ele_standard_link
50           ,p_ele_ot_base         =>  p_ele_ot_base
51           ,p_flsa_hours          =>  p_flsa_hours
52           ,p_ele_calc_ff_name    =>  p_ele_calc_ff_name
53           ,p_sep_check_option    =>  p_sep_check_option
54           ,p_dedn_proc           =>  p_dedn_proc
55           ,p_reduce_regular      =>  p_reduce_regular
56           ,p_ele_eff_start_date  =>  p_ele_eff_start_date
57           ,p_ele_eff_end_date    =>  p_ele_eff_end_date
58           ,p_supp_category       =>  p_alien_supp_category
59           ,p_legislation_code    =>  'US'
60           ,p_bg_id               =>  p_bg_id
61           ,p_termination_rule      => p_termination_rule
62           );
63       hr_utility.set_location(l_proc, 10);
64       --
65    ELSE
66       l_ele_type_id := hr_user_init_earn.do_insertions
67          (p_ele_name              => p_ele_name
68          ,p_ele_reporting_name    => p_ele_reporting_name
69          ,p_ele_description       => p_ele_description
70          ,p_ele_classification    => p_ele_classification
71          ,p_ele_category          => p_ele_category
72          ,p_ele_ot_base           => p_ele_ot_base
73          ,p_flsa_hours            => p_flsa_hours
74          ,p_ele_processing_type   => p_ele_processing_type
75          ,p_ele_priority          => p_ele_priority
76          ,p_ele_standard_link     => p_ele_standard_link
77          ,p_ele_calc_ff_id        => p_ele_calc_ff_id
78          ,p_ele_calc_ff_name      => p_ele_calc_ff_name
79          ,p_sep_check_option      => p_sep_check_option
80          ,p_dedn_proc             => p_dedn_proc
81          ,p_mix_flag              => p_mix_flag
82          ,p_reduce_regular        => p_reduce_regular
83          ,p_ele_eff_start_date    => p_ele_eff_start_date
84          ,p_ele_eff_end_date      => p_ele_eff_end_date
85          ,p_bg_id                 => p_bg_id
86          ,p_termination_rule      => p_termination_rule
87          );
88       hr_utility.set_location(l_proc, 30);
89       --
90      END IF;
91  ELSE
92    IF p_grossup_chk = 'Y' THEN
93      l_ele_type_id := ntg_earnings_template.create_ele_ntg_objects
94            ( p_ele_name            => p_ele_name
95             ,p_ele_reporting_name  => p_ele_reporting_name
96             ,p_ele_description     => p_ele_description
97             ,p_ele_classification  => p_ele_classification
98             ,p_ele_processing_type => p_ele_processing_type
99             ,p_sep_check_option    => p_sep_check_option
100             ,p_ele_eff_start_date  => p_ele_eff_start_date
101             ,p_ele_eff_end_date    => p_ele_eff_end_date
102             ,p_supp_category       => p_ele_category
103             ,p_legislation_code    => p_legislation_code
104             ,p_bg_id               => p_bg_id
105             ,p_termination_rule    => p_termination_rule
106            );
107    END IF;
108  END IF;
109    --
110    compile_formula(l_ele_type_id);
111    RETURN (l_ele_type_id);
112    --
113    hr_utility.set_location('Leaving '||l_proc, 50);
114    --
115 END create_isetup_earn_element;
116 ------------------------------------------------------------------------------
117 --                       CREATE_ISETUP_DEDN_ELEMENT
118 ------------------------------------------------------------------------------
119 
120 FUNCTION create_isetup_dedn_element
121          (p_element_name          in varchar2
122          ,p_reporting_name        in varchar2
123          ,p_description           in varchar2     default NULL
124          ,p_classification_name   in varchar2
125          ,p_ben_class_id          in number       default NULL
126          ,p_category              in varchar2
127          ,p_processing_type       in varchar2
128          ,p_processing_priority   in number       default NULL
129          ,p_standard_link_flag    in varchar2     default 'N'
130          ,p_processing_runtype    in varchar2
131          ,p_start_rule            in varchar2
132          ,p_stop_rule             in varchar2
133          ,p_amount_rule           in varchar2
134          ,p_series_ee_bond        in varchar2
135          ,p_payroll_table         in varchar2
136          ,p_paytab_column         in varchar2
137          ,p_rowtype_meaning       in varchar2
138          ,p_arrearage             in varchar2
139          ,p_deduct_partial        in varchar2
140          ,p_employer_match        in varchar2     default 'N'
141          ,p_aftertax_component    in varchar2     default 'N'
142          ,p_ele_eff_start_date    in date         default NULL
143          ,p_ele_eff_end_date      in date         default NULL
144          ,p_business_group_id     in number
145          ,p_srs_plan_type         in varchar2     default 'N'
146          ,p_srs_buy_back          in varchar2     default 'N'
147          ,p_catchup_processing    in varchar2     default 'NONE'
148          ,p_termination_rule      in varchar2     default 'F'
149          )
150    RETURN NUMBER is
151    --
152    l_ele_type_id   number;
153 
154 BEGIN
155 
156  l_ele_type_id :=
157     pay_us_dedn_template_wrapper.create_deduction_element (
158         p_element_name        => p_element_name
159        ,p_reporting_name      => p_reporting_name
160        ,p_description         => p_description
161        ,p_classification_name => p_classification_name
162        ,p_ben_class_id        => p_ben_class_id
163        ,p_category            => p_category
164        ,p_processing_type     => p_processing_type
165        ,p_processing_priority => p_processing_priority
166        ,p_standard_link_flag  => p_standard_link_flag
167        ,p_processing_runtype  => p_processing_runtype
168        ,p_start_rule          => p_start_rule
169        ,p_stop_rule           => p_stop_rule
170        ,p_amount_rule         => p_amount_rule
171        ,p_series_ee_bond      => p_series_ee_bond
172        ,p_payroll_table       => p_payroll_table
173        ,p_paytab_column       => p_paytab_column
174        ,p_rowtype_meaning     => p_rowtype_meaning
175        ,p_arrearage           => p_arrearage
176        ,p_deduct_partial      => p_deduct_partial
177        ,p_employer_match      => p_employer_match
178        ,p_aftertax_component  => p_aftertax_component
179        ,p_ele_eff_start_date  => p_ele_eff_start_date
180        ,p_ele_eff_end_date    => p_ele_eff_end_date
181        ,p_business_group_id   => p_business_group_id
182        ,p_catchup_processing  => p_catchup_processing
183        ,p_termination_rule    => p_termination_rule
184        ,p_srs_plan_type       => p_srs_plan_type
185        ,p_srs_buy_back        => p_srs_buy_back
186      );
187 --
188   compile_formula(l_ele_type_id);
189   RETURN (l_ele_type_id);
190 --
191 END create_isetup_dedn_element;
192 --
193 --
194 PROCEDURE compile_formula
195            (p_element_type_id IN NUMBER) IS
196  CURSOR csr_formula_name IS
197    SELECT ff.formula_name,
198           ft.formula_type_name
199      FROM pay_status_processing_rules_f spr,
200           ff_formulas_f ff,
201           ff_formula_types ft,
202           pay_element_types_f et
203     WHERE et.element_type_id = p_element_type_id
204       AND spr.formula_id = ff.formula_id
205       AND ff.formula_type_id = ft.formula_type_id
206       AND spr.element_type_id = et.element_type_id;
207 --
208   CURSOR csr_bg_name IS
209     SELECT name || ' GRP KF' grp_name
210       FROM per_business_groups bg,
211            pay_element_types_f et
212      WHERE et.business_group_id = p_element_type_id;
213 --
214    l_req_id NUMBER(10);
215 BEGIN
216   FOR csr_formula_name_rec IN csr_formula_name
217   LOOP
218     l_req_id := fnd_request.submit_request(
219                             application    => 'FF',
220                             program        => 'SINGLECOMPILE',
221                             argument1      => csr_formula_name_rec.formula_type_name,
222                             argument2      => csr_formula_name_rec.formula_name);
223   END LOOP;
224 /* update fnd_id_flex_structures
225       set freeze_flex_definition_flag = 'Y'
226     WHERE application_id = 801
227       AND id_flex_structure_code = csr_bg_name_rec.grp_name;
228 
229   l_req_id := fnd_request.submit_request(
230                             application    => 'FND',
231                             program        => 'Compile Key Flexfields',
232                             argument1      => 'Oracle Payroll'
233                             argument2      => 'People Group Flexfield',
234                             arguement3     => csr_bg_name_rec.grp_name); */
235 END compile_formula;
236 --
237 --
238 PROCEDURE compile_mig_formula
239            (p_formula_id IN NUMBER) IS
240  CURSOR csr_formula_name IS
241    SELECT ff.formula_name,
242           ft.formula_type_name
243      FROM ff_formulas_f ff,
244           ff_formula_types ft
245     WHERE ff.formula_type_id = ft.formula_type_id
246       AND ff.formula_id = p_formula_id;
247  --
248    l_req_id NUMBER(10);
249 BEGIN
250    FOR csr_formula_name_rec IN csr_formula_name
251    LOOP
252      l_req_id := fnd_request.submit_request(
253                         application    => 'FF',
254                         program        => 'SINGLECOMPILE',
255                         argument1      => csr_formula_name_rec.formula_type_name,
256                         argument2      => csr_formula_name_rec.formula_name);
257    END LOOP;
258 END compile_mig_formula;
259 --
260 --
261 PROCEDURE bulk_compile_formula IS
262 --
263   l_req_id NUMBER(10);
264 BEGIN
265   l_req_id := fnd_request.submit_request(
266                     application    => 'FF',
267                     program        => 'BULKCOMPILE',
268                     argument1      => '-W',
269                     argument2      => '%',
270                     argument3      => '%');
271 END bulk_compile_formula;
272 --
273 --
274 FUNCTION uncompiled_formula return number IS
275 --PROCEDURE uncompiled_formula IS
276 --
277   l_req_id NUMBER(10);
278   l_resp_id fnd_responsibility.responsibility_id%type;
279 BEGIN
280   SELECT responsibility_id
281     INTO l_resp_id
282     FROM fnd_responsibility
283    WHERE responsibility_key = 'US_HRMS_MANAGER';
284   --
285   --FND_GLOBAL.APPS_INITIALIZE(0,l_resp_id,800);
286   l_req_id := fnd_request.submit_request(
287                     application    => 'FF',
288                     program        => 'FF_UNCOMP',
289                     argument1      => '-U',
290                     argument2      => '%',
291                     argument3      => '%');
292   commit;
293   return l_req_id;
294 END uncompiled_formula;
295 --
296 --
297 END pay_us_iSetup_earn_dedn;