DBA Data[Home] [Help]

PACKAGE BODY: APPS.PAY_SET_SHD

Source


1 Package Body pay_set_shd as
2 /* $Header: pysetrhi.pkb 120.0 2005/05/29 08:39:23 appldev noship $ */
3 --
4 -- ----------------------------------------------------------------------------
5 -- |                     Private Global Definitions                           |
6 -- ----------------------------------------------------------------------------
7 --
8 g_package  varchar2(33)	:= '  pay_set_shd.';  -- Global package name
9 --
10 -- ----------------------------------------------------------------------------
11 -- |---------------------------< constraint_error >---------------------------|
12 -- ----------------------------------------------------------------------------
13 Procedure constraint_error
14             (p_constraint_name in all_constraints.constraint_name%TYPE) Is
15 --
16   l_proc 	varchar2(72) := g_package||'constraint_error';
17 --
18 Begin
19   hr_utility.set_location('Entering:'||l_proc, 5);
20   --
21   If (p_constraint_name = 'PAY_SHADOW_ELEMENT_TYPES_FK1') Then
22     hr_utility.set_message(801, 'HR_6153_ALL_PROCEDURE_FAIL');
23     hr_utility.set_message_token('PROCEDURE', l_proc);
24     hr_utility.set_message_token('STEP','5');
25     hr_utility.raise_error;
26   ElsIf (p_constraint_name = 'PAY_SHADOW_ELEMENT_TYPES_FK2') Then
27     hr_utility.set_message(801, 'HR_6153_ALL_PROCEDURE_FAIL');
28     hr_utility.set_message_token('PROCEDURE', l_proc);
29     hr_utility.set_message_token('STEP','10');
30     hr_utility.raise_error;
31   ElsIf (p_constraint_name = 'PAY_SHADOW_ELEMENT_TYPES_FK3') Then
32     hr_utility.set_message(801, 'HR_6153_ALL_PROCEDURE_FAIL');
33     hr_utility.set_message_token('PROCEDURE', l_proc);
34     hr_utility.set_message_token('STEP','15');
35     hr_utility.raise_error;
36   ElsIf (p_constraint_name = 'PAY_SHADOW_ELEMENT_TYPES_PK') Then
37     hr_utility.set_message(801, 'HR_6153_ALL_PROCEDURE_FAIL');
38     hr_utility.set_message_token('PROCEDURE', l_proc);
39     hr_utility.set_message_token('STEP','20');
40     hr_utility.raise_error;
41   Else
42     hr_utility.set_message(801, 'HR_7877_API_INVALID_CONSTRAINT');
43     hr_utility.set_message_token('PROCEDURE', l_proc);
44     hr_utility.set_message_token('CONSTRAINT_NAME', p_constraint_name);
45     hr_utility.raise_error;
46   End If;
47   --
48   hr_utility.set_location(' Leaving:'||l_proc, 10);
49 End constraint_error;
50 --
51 -- ----------------------------------------------------------------------------
52 -- |-----------------------------< api_updating >-----------------------------|
53 -- ----------------------------------------------------------------------------
54 Function api_updating
55   (
56   p_element_type_id                    in number,
57   p_object_version_number              in number
58   )      Return Boolean Is
59 --
60   --
61   -- Cursor selects the 'current' row from the HR Schema
62   --
63   Cursor C_Sel1 is
64     select
65 		element_type_id,
66 	template_id,
67 	classification_name,
68 	additional_entry_allowed_flag,
69 	adjustment_only_flag,
70 	closed_for_entry_flag,
71 	element_name,
72 	indirect_only_flag,
73 	multiple_entries_allowed_flag,
74 	multiply_value_flag,
75 	post_termination_rule,
76 	process_in_run_flag,
77 	relative_processing_priority,
78 	processing_type,
79 	standard_link_flag,
80 	input_currency_code,
81 	output_currency_code,
82 	benefit_classification_name,
83 	description,
84 	qualifying_age,
85 	qualifying_length_of_service,
86 	qualifying_units,
87 	reporting_name,
88 	attribute_category,
89 	attribute1,
90 	attribute2,
91 	attribute3,
92 	attribute4,
93 	attribute5,
94 	attribute6,
95 	attribute7,
96 	attribute8,
97 	attribute9,
98 	attribute10,
99 	attribute11,
100 	attribute12,
101 	attribute13,
102 	attribute14,
103 	attribute15,
104 	attribute16,
105 	attribute17,
106 	attribute18,
107 	attribute19,
108 	attribute20,
109 	element_information_category,
110 	element_information1,
111 	element_information2,
112 	element_information3,
113 	element_information4,
114 	element_information5,
115 	element_information6,
116 	element_information7,
117 	element_information8,
118 	element_information9,
119 	element_information10,
120 	element_information11,
121 	element_information12,
122 	element_information13,
123 	element_information14,
124 	element_information15,
125 	element_information16,
126 	element_information17,
127 	element_information18,
128 	element_information19,
129 	element_information20,
130 	third_party_pay_only_flag,
131 	skip_formula,
132 	payroll_formula_id,
133 	exclusion_rule_id,
134         iterative_flag,
135         iterative_priority,
136         iterative_formula_name,
137         process_mode,
138         grossup_flag,
139         advance_indicator,
140         advance_payable,
141         advance_deduction,
142         process_advance_entry,
143         proration_group,
144         proration_formula,
145         recalc_event_group,
146         once_each_period_flag,
147 	object_version_number
148     from	pay_shadow_element_types
149     where	element_type_id = p_element_type_id;
150 --
151   l_proc	varchar2(72)	:= g_package||'api_updating';
152   l_fct_ret	boolean;
153 --
154 Begin
155   hr_utility.set_location('Entering:'||l_proc, 5);
156   --
157   If (
158 	p_element_type_id is null and
159 	p_object_version_number is null
160      ) Then
161     --
162     -- One of the primary key arguments is null therefore we must
163     -- set the returning function value to false
164     --
165     l_fct_ret := false;
166   Else
167     If (
168 	p_element_type_id = g_old_rec.element_type_id and
169 	p_object_version_number = g_old_rec.object_version_number
170        ) Then
171       hr_utility.set_location(l_proc, 10);
172       --
173       -- The g_old_rec is current therefore we must
174       -- set the returning function to true
175       --
176       l_fct_ret := true;
177     Else
178       --
179       -- Select the current row into g_old_rec
180       --
181       Open C_Sel1;
182       Fetch C_Sel1 Into g_old_rec;
183       If C_Sel1%notfound Then
184         Close C_Sel1;
185         --
186         -- The primary key is invalid therefore we must error
187         --
188         hr_utility.set_message(801, 'HR_7220_INVALID_PRIMARY_KEY');
189         hr_utility.raise_error;
190       End If;
191       Close C_Sel1;
192       If (p_object_version_number <> g_old_rec.object_version_number) Then
193         hr_utility.set_message(801, 'HR_7155_OBJECT_INVALID');
194         hr_utility.raise_error;
195       End If;
196       hr_utility.set_location(l_proc, 15);
197       l_fct_ret := true;
198     End If;
199   End If;
200   hr_utility.set_location(' Leaving:'||l_proc, 20);
201   Return (l_fct_ret);
202 --
203 End api_updating;
204 --
205 -- ----------------------------------------------------------------------------
206 -- |---------------------------------< lck >----------------------------------|
207 -- ----------------------------------------------------------------------------
208 Procedure lck
209   (
210   p_element_type_id                    in number,
211   p_object_version_number              in number
212   ) is
213 --
214 -- Cursor selects the 'current' row from the HR Schema
215 --
216   Cursor C_Sel1 is
217     select 	element_type_id,
218 	template_id,
219 	classification_name,
220 	additional_entry_allowed_flag,
221 	adjustment_only_flag,
222 	closed_for_entry_flag,
223 	element_name,
224 	indirect_only_flag,
225 	multiple_entries_allowed_flag,
226 	multiply_value_flag,
227 	post_termination_rule,
228 	process_in_run_flag,
229 	relative_processing_priority,
230 	processing_type,
231 	standard_link_flag,
232 	input_currency_code,
233 	output_currency_code,
234 	benefit_classification_name,
235 	description,
236 	qualifying_age,
237 	qualifying_length_of_service,
238 	qualifying_units,
239 	reporting_name,
240 	attribute_category,
241 	attribute1,
242 	attribute2,
243 	attribute3,
244 	attribute4,
245 	attribute5,
246 	attribute6,
247 	attribute7,
248 	attribute8,
249 	attribute9,
250 	attribute10,
251 	attribute11,
252 	attribute12,
253 	attribute13,
254 	attribute14,
255 	attribute15,
256 	attribute16,
257 	attribute17,
258 	attribute18,
259 	attribute19,
260 	attribute20,
261 	element_information_category,
262 	element_information1,
263 	element_information2,
264 	element_information3,
265 	element_information4,
266 	element_information5,
267 	element_information6,
268 	element_information7,
269 	element_information8,
270 	element_information9,
271 	element_information10,
272 	element_information11,
273 	element_information12,
274 	element_information13,
275 	element_information14,
276 	element_information15,
277 	element_information16,
278 	element_information17,
279 	element_information18,
280 	element_information19,
281 	element_information20,
282 	third_party_pay_only_flag,
283 	skip_formula,
284 	payroll_formula_id,
285 	exclusion_rule_id,
286         iterative_flag,
287         iterative_priority,
288         iterative_formula_name,
289         process_mode,
290         grossup_flag,
291         advance_indicator,
292         advance_payable,
293         advance_deduction,
294         process_advance_entry,
295         proration_group,
296         proration_formula,
297         recalc_event_group,
298         once_each_period_flag,
299 	object_version_number
300     from	pay_shadow_element_types
301     where	element_type_id = p_element_type_id
302     for	update nowait;
303 --
304   l_proc	varchar2(72) := g_package||'lck';
305 --
306 Begin
307   hr_utility.set_location('Entering:'||l_proc, 5);
308   hr_api.mandatory_arg_error
309     (p_api_name       => l_proc,
310      p_argument       => 'p_element_type_id',
311      p_argument_value => p_element_type_id);
312   hr_api.mandatory_arg_error
313     (p_api_name       => l_proc,
314      p_argument       => 'object_version_number',
315      p_argument_value => p_object_version_number);
316   Open  C_Sel1;
317   Fetch C_Sel1 Into g_old_rec;
318   If C_Sel1%notfound then
322     --
319     Close C_Sel1;
320     --
321     -- The primary key is invalid therefore we must error
323     hr_utility.set_message(801, 'HR_7220_INVALID_PRIMARY_KEY');
324     hr_utility.raise_error;
325   End If;
326   Close C_Sel1;
327   If (p_object_version_number <> g_old_rec.object_version_number) Then
328         hr_utility.set_message(801, 'HR_7155_OBJECT_INVALID');
329         hr_utility.raise_error;
330       End If;
331 --
332   hr_utility.set_location(' Leaving:'||l_proc, 10);
333 --
334 -- We need to trap the ORA LOCK exception
335 --
336 Exception
337   When HR_Api.Object_Locked then
338     --
339     -- The object is locked therefore we need to supply a meaningful
340     -- error message.
341     --
342     hr_utility.set_message(801, 'HR_7165_OBJECT_LOCKED');
343     hr_utility.set_message_token('TABLE_NAME', 'pay_shadow_element_types');
344     hr_utility.raise_error;
345 End lck;
346 --
347 -- ----------------------------------------------------------------------------
348 -- |-----------------------------< convert_args >-----------------------------|
349 -- ----------------------------------------------------------------------------
350 Function convert_args
351 	(
352 	p_element_type_id               in number,
353 	p_template_id                   in number,
354 	p_classification_name           in varchar2,
355 	p_additional_entry_allowed_fla  in varchar2,
356 	p_adjustment_only_flag          in varchar2,
357 	p_closed_for_entry_flag         in varchar2,
358 	p_element_name                  in varchar2,
359 	p_indirect_only_flag            in varchar2,
360 	p_multiple_entries_allowed_fla  in varchar2,
361 	p_multiply_value_flag           in varchar2,
362 	p_post_termination_rule         in varchar2,
363 	p_process_in_run_flag           in varchar2,
364 	p_relative_processing_priority  in number,
365 	p_processing_type               in varchar2,
366 	p_standard_link_flag            in varchar2,
367 	p_input_currency_code           in varchar2,
368 	p_output_currency_code          in varchar2,
369 	p_benefit_classification_name   in varchar2,
370 	p_description                   in varchar2,
371 	p_qualifying_age                in number,
372 	p_qualifying_length_of_service  in number,
373 	p_qualifying_units              in varchar2,
374 	p_reporting_name                in varchar2,
375 	p_attribute_category            in varchar2,
376 	p_attribute1                    in varchar2,
377 	p_attribute2                    in varchar2,
378 	p_attribute3                    in varchar2,
379 	p_attribute4                    in varchar2,
380 	p_attribute5                    in varchar2,
381 	p_attribute6                    in varchar2,
382 	p_attribute7                    in varchar2,
383 	p_attribute8                    in varchar2,
384 	p_attribute9                    in varchar2,
385 	p_attribute10                   in varchar2,
386 	p_attribute11                   in varchar2,
387 	p_attribute12                   in varchar2,
388 	p_attribute13                   in varchar2,
389 	p_attribute14                   in varchar2,
390 	p_attribute15                   in varchar2,
391 	p_attribute16                   in varchar2,
392 	p_attribute17                   in varchar2,
393 	p_attribute18                   in varchar2,
394 	p_attribute19                   in varchar2,
395 	p_attribute20                   in varchar2,
396 	p_element_information_category  in varchar2,
397 	p_element_information1          in varchar2,
398 	p_element_information2          in varchar2,
399 	p_element_information3          in varchar2,
400 	p_element_information4          in varchar2,
401 	p_element_information5          in varchar2,
402 	p_element_information6          in varchar2,
403 	p_element_information7          in varchar2,
404 	p_element_information8          in varchar2,
405 	p_element_information9          in varchar2,
406 	p_element_information10         in varchar2,
407 	p_element_information11         in varchar2,
408 	p_element_information12         in varchar2,
409 	p_element_information13         in varchar2,
410 	p_element_information14         in varchar2,
411 	p_element_information15         in varchar2,
412 	p_element_information16         in varchar2,
413 	p_element_information17         in varchar2,
414 	p_element_information18         in varchar2,
415 	p_element_information19         in varchar2,
416 	p_element_information20         in varchar2,
417 	p_third_party_pay_only_flag     in varchar2,
418 	p_skip_formula                  in varchar2,
419 	p_payroll_formula_id            in number,
420 	p_exclusion_rule_id             in number,
421         p_iterative_flag                in varchar2,
422         p_iterative_priority            in number,
423         p_iterative_formula_name        in varchar2,
424         p_process_mode                  in varchar2,
425         p_grossup_flag                  in varchar2,
426         p_advance_indicator             in varchar2,
427         p_advance_payable               in varchar2,
428         p_advance_deduction             in varchar2,
429         p_process_advance_entry         in varchar2,
430         p_proration_group               in varchar2,
431         p_proration_formula             in varchar2,
432         p_recalc_event_group            in varchar2,
433         p_once_each_period_flag         in varchar2,
434 	p_object_version_number         in number
435 	)
436 	Return g_rec_type is
437 --
438   l_rec	  g_rec_type;
439   l_proc  varchar2(72) := g_package||'convert_args';
440 --
441 Begin
442   --
443   hr_utility.set_location('Entering:'||l_proc, 5);
444   --
448   l_rec.template_id                      := p_template_id;
445   -- Convert arguments into local l_rec structure.
446   --
447   l_rec.element_type_id                  := p_element_type_id;
449   l_rec.classification_name              := p_classification_name;
450   l_rec.additional_entry_allowed_flag    := p_additional_entry_allowed_fla;
451   l_rec.adjustment_only_flag             := p_adjustment_only_flag;
452   l_rec.closed_for_entry_flag            := p_closed_for_entry_flag;
453   l_rec.element_name                     := p_element_name;
454   l_rec.indirect_only_flag               := p_indirect_only_flag;
455   l_rec.multiple_entries_allowed_flag    := p_multiple_entries_allowed_fla;
456   l_rec.multiply_value_flag              := p_multiply_value_flag;
457   l_rec.post_termination_rule            := p_post_termination_rule;
458   l_rec.process_in_run_flag              := p_process_in_run_flag;
459   l_rec.relative_processing_priority     := p_relative_processing_priority;
460   l_rec.processing_type                  := p_processing_type;
461   l_rec.standard_link_flag               := p_standard_link_flag;
462   l_rec.input_currency_code              := p_input_currency_code;
463   l_rec.output_currency_code             := p_output_currency_code;
464   l_rec.benefit_classification_name      := p_benefit_classification_name;
465   l_rec.description                      := p_description;
466   l_rec.qualifying_age                   := p_qualifying_age;
467   l_rec.qualifying_length_of_service     := p_qualifying_length_of_service;
468   l_rec.qualifying_units                 := p_qualifying_units;
469   l_rec.reporting_name                   := p_reporting_name;
470   l_rec.attribute_category               := p_attribute_category;
471   l_rec.attribute1                       := p_attribute1;
472   l_rec.attribute2                       := p_attribute2;
473   l_rec.attribute3                       := p_attribute3;
474   l_rec.attribute4                       := p_attribute4;
475   l_rec.attribute5                       := p_attribute5;
476   l_rec.attribute6                       := p_attribute6;
477   l_rec.attribute7                       := p_attribute7;
478   l_rec.attribute8                       := p_attribute8;
479   l_rec.attribute9                       := p_attribute9;
480   l_rec.attribute10                      := p_attribute10;
481   l_rec.attribute11                      := p_attribute11;
482   l_rec.attribute12                      := p_attribute12;
483   l_rec.attribute13                      := p_attribute13;
484   l_rec.attribute14                      := p_attribute14;
485   l_rec.attribute15                      := p_attribute15;
486   l_rec.attribute16                      := p_attribute16;
487   l_rec.attribute17                      := p_attribute17;
488   l_rec.attribute18                      := p_attribute18;
489   l_rec.attribute19                      := p_attribute19;
490   l_rec.attribute20                      := p_attribute20;
491   l_rec.element_information_category     := p_element_information_category;
492   l_rec.element_information1             := p_element_information1;
493   l_rec.element_information2             := p_element_information2;
494   l_rec.element_information3             := p_element_information3;
495   l_rec.element_information4             := p_element_information4;
496   l_rec.element_information5             := p_element_information5;
497   l_rec.element_information6             := p_element_information6;
498   l_rec.element_information7             := p_element_information7;
499   l_rec.element_information8             := p_element_information8;
500   l_rec.element_information9             := p_element_information9;
501   l_rec.element_information10            := p_element_information10;
502   l_rec.element_information11            := p_element_information11;
503   l_rec.element_information12            := p_element_information12;
504   l_rec.element_information13            := p_element_information13;
505   l_rec.element_information14            := p_element_information14;
506   l_rec.element_information15            := p_element_information15;
507   l_rec.element_information16            := p_element_information16;
508   l_rec.element_information17            := p_element_information17;
509   l_rec.element_information18            := p_element_information18;
510   l_rec.element_information19            := p_element_information19;
511   l_rec.element_information20            := p_element_information20;
512   l_rec.third_party_pay_only_flag        := p_third_party_pay_only_flag;
513   l_rec.skip_formula                     := p_skip_formula;
514   l_rec.payroll_formula_id               := p_payroll_formula_id;
515   l_rec.exclusion_rule_id                := p_exclusion_rule_id;
516   l_rec.iterative_flag                   := p_iterative_flag;
517   l_rec.iterative_priority               := p_iterative_priority;
518   l_rec.iterative_formula_name           := p_iterative_formula_name;
519   l_rec.process_mode                     := p_process_mode;
520   l_rec.grossup_flag                     := p_grossup_flag;
521   l_rec.advance_indicator                := p_advance_indicator;
522   l_rec.advance_payable                  := p_advance_payable;
523   l_rec.advance_deduction                := p_advance_deduction;
524   l_rec.process_advance_entry            := p_process_advance_entry;
525   l_rec.proration_group                  := p_proration_group;
526   l_rec.proration_formula                := p_proration_formula;
527   l_rec.recalc_event_group               := p_recalc_event_group;
528   l_rec.once_each_period_flag            := p_once_each_period_flag;
529   l_rec.object_version_number            := p_object_version_number;
530   --
531   -- Return the plsql record structure.
532   --
533   hr_utility.set_location(' Leaving:'||l_proc, 10);
534   Return(l_rec);
535 --
536 End convert_args;
537 --
538 end pay_set_shd;