DBA Data[Home] [Help]

PACKAGE BODY: APPS.PAY_ETP_SHD

Source


1 Package Body pay_etp_shd as
2 /* $Header: pyetprhi.pkb 120.6.12010000.6 2009/07/30 11:56:55 npannamp ship $ */
3 --
4 -- ----------------------------------------------------------------------------
5 -- |                     Private Global Definitions                           |
6 -- ----------------------------------------------------------------------------
7 --
8 g_package  varchar2(33) := '  pay_etp_shd.';  -- Global package name
9 --
10 -- ----------------------------------------------------------------------------
11 -- |------------------------< return_api_dml_status >-------------------------|
12 -- ----------------------------------------------------------------------------
13 Function return_api_dml_status Return Boolean Is
14 --
15 Begin
16   --
17   Return (nvl(g_api_dml, false));
18   --
19 End return_api_dml_status;
20 --
21 -- ----------------------------------------------------------------------------
22 -- |---------------------------< constraint_error >---------------------------|
23 -- ----------------------------------------------------------------------------
24 Procedure constraint_error
25   (p_constraint_name in all_constraints.constraint_name%TYPE
26   ) Is
27 --
28   l_proc        varchar2(72) := g_package||'constraint_error';
29 --
30 Begin
31   --
32   If (p_constraint_name = 'PAY_ELEMENT_ADDITIONAL_ENT_CHK') Then
33     fnd_message.set_name('PAY', 'HR_6153_ALL_PROCEDURE_FAIL');
34     fnd_message.set_token('PROCEDURE', l_proc);
35     fnd_message.set_token('STEP','5');
36     fnd_message.raise_error;
37   ElsIf (p_constraint_name = 'PAY_ELEMENT_ADJUSTMENT_ONL_CHK') Then
38     fnd_message.set_name('PAY', 'HR_6153_ALL_PROCEDURE_FAIL');
39     fnd_message.set_token('PROCEDURE', l_proc);
40     fnd_message.set_token('STEP','10');
41     fnd_message.raise_error;
42   ElsIf (p_constraint_name = 'PAY_ELEMENT_CLOSED_FOR_ENT_CHK') Then
43     fnd_message.set_name('PAY', 'HR_6153_ALL_PROCEDURE_FAIL');
44     fnd_message.set_token('PROCEDURE', l_proc);
45     fnd_message.set_token('STEP','15');
46     fnd_message.raise_error;
47   ElsIf (p_constraint_name = 'PAY_ELEMENT_INDIRECT_ONLY_CHK') Then
48     fnd_message.set_name('PAY', 'HR_6153_ALL_PROCEDURE_FAIL');
49     fnd_message.set_token('PROCEDURE', l_proc);
50     fnd_message.set_token('STEP','20');
51     fnd_message.raise_error;
52   ElsIf (p_constraint_name = 'PAY_ELEMENT_MULTIPLE_ENTRI_CHK') Then
53     fnd_message.set_name('PAY', 'HR_6153_ALL_PROCEDURE_FAIL');
54     fnd_message.set_token('PROCEDURE', l_proc);
55     fnd_message.set_token('STEP','25');
56     fnd_message.raise_error;
57   ElsIf (p_constraint_name = 'PAY_ELEMENT_MULTIPLY_VALUE_CHK') Then
58     fnd_message.set_name('PAY', 'HR_6153_ALL_PROCEDURE_FAIL');
59     fnd_message.set_token('PROCEDURE', l_proc);
60     fnd_message.set_token('STEP','30');
61     fnd_message.raise_error;
62   ElsIf (p_constraint_name = 'PAY_ELEMENT_POST_TERMINATI_CHK') Then
63     fnd_message.set_name('PAY', 'HR_6153_ALL_PROCEDURE_FAIL');
64     fnd_message.set_token('PROCEDURE', l_proc);
65     fnd_message.set_token('STEP','35');
66     fnd_message.raise_error;
67   ElsIf (p_constraint_name = 'PAY_ELEMENT_PROCESSING_TYP_CHK') Then
68     fnd_message.set_name('PAY', 'HR_6153_ALL_PROCEDURE_FAIL');
69     fnd_message.set_token('PROCEDURE', l_proc);
70     fnd_message.set_token('STEP','40');
71     fnd_message.raise_error;
72   ElsIf (p_constraint_name = 'PAY_ELEMENT_PROCESS_IN_RUN_CHK') Then
73     fnd_message.set_name('PAY', 'HR_6153_ALL_PROCEDURE_FAIL');
74     fnd_message.set_token('PROCEDURE', l_proc);
75     fnd_message.set_token('STEP','45');
76     fnd_message.raise_error;
77   ElsIf (p_constraint_name = 'PAY_ELEMENT_STANDARD_LINK_CHK') Then
78     fnd_message.set_name('PAY', 'HR_6153_ALL_PROCEDURE_FAIL');
79     fnd_message.set_token('PROCEDURE', l_proc);
80     fnd_message.set_token('STEP','50');
81     fnd_message.raise_error;
82   ElsIf (p_constraint_name = 'PAY_ELEMENT_THIRD_PARTY_PA_CHK') Then
83     fnd_message.set_name('PAY', 'HR_6153_ALL_PROCEDURE_FAIL');
84     fnd_message.set_token('PROCEDURE', l_proc);
85     fnd_message.set_token('STEP','55');
86     fnd_message.raise_error;
87   ElsIf (p_constraint_name = 'PAY_ELEMENT_TYPES_F_FK1') Then
88     fnd_message.set_name('PAY', 'HR_6153_ALL_PROCEDURE_FAIL');
89     fnd_message.set_token('PROCEDURE', l_proc);
90     fnd_message.set_token('STEP','60');
91     fnd_message.raise_error;
92   ElsIf (p_constraint_name = 'PAY_ELEMENT_TYPES_F_FK2') Then
93     fnd_message.set_name('PAY', 'HR_6153_ALL_PROCEDURE_FAIL');
94     fnd_message.set_token('PROCEDURE', l_proc);
95     fnd_message.set_token('STEP','65');
96     fnd_message.raise_error;
97   ElsIf (p_constraint_name = 'PAY_ELEMENT_TYPES_F_FK3') Then
98     fnd_message.set_name('PAY', 'HR_6153_ALL_PROCEDURE_FAIL');
99     fnd_message.set_token('PROCEDURE', l_proc);
100     fnd_message.set_token('STEP','70');
101     fnd_message.raise_error;
102   ElsIf (p_constraint_name = 'PAY_ELEMENT_TYPES_F_PK') Then
103     fnd_message.set_name('PAY', 'HR_6153_ALL_PROCEDURE_FAIL');
104     fnd_message.set_token('PROCEDURE', l_proc);
105     fnd_message.set_token('STEP','75');
106     fnd_message.raise_error;
111     fnd_message.raise_error;
107   ElsIf (p_constraint_name = 'PAY_ELEMENT_TYPES_F_UK2') Then
108     fnd_message.set_name('PAY', 'HR_6153_ALL_PROCEDURE_FAIL');
109     fnd_message.set_token('PROCEDURE', l_proc);
110     fnd_message.set_token('STEP','80');
112   Else
113     fnd_message.set_name('PAY', 'HR_7877_API_INVALID_CONSTRAINT');
114     fnd_message.set_token('PROCEDURE', l_proc);
115     fnd_message.set_token('CONSTRAINT_NAME', p_constraint_name);
116     fnd_message.raise_error;
117   End If;
118   --
119 End constraint_error;
120 --
121 -- ----------------------------------------------------------------------------
122 -- |-----------------------------< api_updating >-----------------------------|
123 -- ----------------------------------------------------------------------------
124 Function api_updating
125   (p_effective_date                   in date
126   ,p_element_type_id                  in number
127   ,p_object_version_number            in number
128   ) Return Boolean Is
129   --
130   -- Cursor selects the 'current' row from the HR Schema
131   --
132   Cursor C_Sel1 is
133     select
134      element_type_id
135     ,effective_start_date
136     ,effective_end_date
137     ,business_group_id
138     ,legislation_code
139     ,formula_id
140     ,input_currency_code
141     ,output_currency_code
142     ,classification_id
143     ,benefit_classification_id
144     ,additional_entry_allowed_flag
145     ,adjustment_only_flag
146     ,closed_for_entry_flag
147     ,element_name
148     ,indirect_only_flag
149     ,multiple_entries_allowed_flag
150     ,multiply_value_flag
151     ,post_termination_rule
152     ,process_in_run_flag
153     ,processing_priority
154     ,processing_type
155     ,standard_link_flag
156     ,comment_id
157     ,null
158     ,description
159     ,legislation_subgroup
160     ,qualifying_age
161     ,qualifying_length_of_service
162     ,qualifying_units
163     ,reporting_name
164     ,attribute_category
165     ,attribute1
166     ,attribute2
167     ,attribute3
168     ,attribute4
169     ,attribute5
170     ,attribute6
171     ,attribute7
172     ,attribute8
173     ,attribute9
174     ,attribute10
175     ,attribute11
176     ,attribute12
177     ,attribute13
178     ,attribute14
179     ,attribute15
180     ,attribute16
181     ,attribute17
182     ,attribute18
183     ,attribute19
184     ,attribute20
185     ,element_information_category
186     ,element_information1
187     ,element_information2
188     ,element_information3
189     ,element_information4
190     ,element_information5
191     ,element_information6
192     ,element_information7
193     ,element_information8
194     ,element_information9
195     ,element_information10
196     ,element_information11
197     ,element_information12
198     ,element_information13
199     ,element_information14
200     ,element_information15
201     ,element_information16
202     ,element_information17
203     ,element_information18
204     ,element_information19
205     ,element_information20
206     ,third_party_pay_only_flag
207     ,object_version_number
208     ,iterative_flag
209     ,iterative_formula_id
210     ,iterative_priority
211     ,creator_type
212     ,retro_summ_ele_id
213     ,grossup_flag
214     ,process_mode
215     ,advance_indicator
216     ,advance_payable
217     ,advance_deduction
218     ,process_advance_entry
219     ,proration_group_id
220     ,proration_formula_id
221     ,recalc_event_group_id
222     ,once_each_period_flag
223     ,time_definition_type
224     ,time_definition_id
225     ,advance_element_type_id
226     ,deduction_element_type_id
227     from        pay_element_types_f
228     where       element_type_id = p_element_type_id
229     and         p_effective_date
230     between     effective_start_date and effective_end_date;
231 --
232   l_fct_ret     boolean;
233 --
234 Begin
235   --
236   If (p_effective_date is null or
237       p_element_type_id is null or
238       p_object_version_number is null) Then
239     --
240     -- One of the primary key arguments is null therefore we must
241     -- set the returning function value to false
242     --
243     l_fct_ret := false;
244   Else
245     If (p_element_type_id =
246         pay_etp_shd.g_old_rec.element_type_id and
247         p_object_version_number =
248         pay_etp_shd.g_old_rec.object_version_number
249 ) Then
250       --
251       -- The g_old_rec is current therefore we must
252       -- set the returning function to true
253       --
254       l_fct_ret := true;
255     Else
256       --
257       -- Select the current row
258       --
259       Open C_Sel1;
260       Fetch C_Sel1 Into pay_etp_shd.g_old_rec;
261       If C_Sel1%notfound Then
262         Close C_Sel1;
263         --
264         -- The primary key is invalid therefore we must error
265         --
266         fnd_message.set_name('PAY', 'HR_7220_INVALID_PRIMARY_KEY');
267         fnd_message.raise_error;
268       End If;
269       Close C_Sel1;
270       If (p_object_version_number
271           <> pay_etp_shd.g_old_rec.object_version_number) Then
272         fnd_message.set_name('PAY', 'HR_7155_OBJECT_INVALID');
273         fnd_message.raise_error;
274       End If;
275       l_fct_ret := true;
276     End If;
277   End If;
278   Return (l_fct_ret);
279 --
280 End api_updating;
281 --
282 -- ----------------------------------------------------------------------------
283 -- |---------------------------< find_dt_upd_modes >--------------------------|
284 -- ----------------------------------------------------------------------------
285 Procedure find_dt_upd_modes
286   (p_effective_date         in date
287   ,p_base_key_value         in number
288   ,p_correction             out nocopy boolean
289   ,p_update                 out nocopy boolean
290   ,p_update_override        out nocopy boolean
291   ,p_update_change_insert   out nocopy boolean
292   ) is
293 --
294   l_proc        varchar2(72) := g_package||'find_dt_upd_modes';
295 --
296 Begin
297   hr_utility.set_location('Entering:'||l_proc, 5);
298   --
299   -- Call the corresponding datetrack api
300   --
301   dt_api.find_dt_upd_modes
302     (p_effective_date        => p_effective_date
303     ,p_base_table_name       => 'pay_element_types_f'
304     ,p_base_key_column       => 'element_type_id'
305     ,p_base_key_value        => p_base_key_value
306     ,p_correction            => p_correction
307     ,p_update                => p_update
308     ,p_update_override       => p_update_override
309     ,p_update_change_insert  => p_update_change_insert
310     );
311   --
312   hr_utility.set_location(' Leaving:'||l_proc, 10);
313 End find_dt_upd_modes;
314 --
315 -- ----------------------------------------------------------------------------
316 -- |---------------------------< find_dt_del_modes >--------------------------|
317 -- ----------------------------------------------------------------------------
318 Procedure find_dt_del_modes
319   (p_effective_date        in date
320   ,p_base_key_value        in number
321   ,p_zap                   out nocopy boolean
322   ,p_delete                out nocopy boolean
323   ,p_future_change         out nocopy boolean
324   ,p_delete_next_change    out nocopy boolean
325   ) is
326   --
327   l_proc                varchar2(72)    := g_package||'find_dt_del_modes';
328   --
329   --
330 Begin
331   hr_utility.set_location('Entering:'||l_proc, 5);
332   --
333   -- Call the corresponding datetrack api
334   --
335   dt_api.find_dt_del_modes
336    (p_effective_date                => p_effective_date
337    ,p_base_table_name               => 'pay_element_types_f'
338    ,p_base_key_column               => 'element_type_id'
339    ,p_base_key_value                => p_base_key_value
340    ,p_zap                           => p_zap
341    ,p_delete                        => p_delete
342    ,p_future_change                 => p_future_change
343    ,p_delete_next_change            => p_delete_next_change
344    );
345   --
346   hr_utility.set_location(' Leaving:'||l_proc, 10);
347 End find_dt_del_modes;
348 --
349 -- ----------------------------------------------------------------------------
350 -- |-----------------------< upd_effective_end_date >-------------------------|
351 -- ----------------------------------------------------------------------------
352 Procedure upd_effective_end_date
353   (p_effective_date                   in date
354   ,p_base_key_value                   in number
355   ,p_new_effective_end_date           in date
356   ,p_validation_start_date            in date
357   ,p_validation_end_date              in date
358   ,p_object_version_number            out nocopy number
359   ) is
360 --
361   l_proc                  varchar2(72) := g_package||'upd_effective_end_date';
362   l_object_version_number number;
363 --
364 Begin
365   hr_utility.set_location('Entering:'||l_proc, 5);
366   --
367   -- Because we are updating a row we must get the next object
368   -- version number.
369   --
370   l_object_version_number :=
371     dt_api.get_object_version_number
372       (p_base_table_name    => 'pay_element_types_f'
373       ,p_base_key_column    => 'element_type_id'
374       ,p_base_key_value     => p_base_key_value
375       );
376   --
377   hr_utility.set_location(l_proc, 10);
378   pay_etp_shd.g_api_dml := true;  -- Set the api dml status
379 --
380   -- Update the specified datetrack row setting the effective
381   -- end date to the specified new effective end date.
382   --
383   update  pay_element_types_f t
384   set     t.effective_end_date    = p_new_effective_end_date
385     ,     t.object_version_number = l_object_version_number
386   where   t.element_type_id        = p_base_key_value
387   and     p_effective_date
388   between t.effective_start_date and t.effective_end_date;
389   --
390   pay_etp_shd.g_api_dml := false;   -- Unset the api dml status
391   p_object_version_number := l_object_version_number;
392   hr_utility.set_location(' Leaving:'||l_proc, 15);
393 --
394 Exception
395   When Others Then
396     pay_etp_shd.g_api_dml := false;   -- Unset the api dml status
397     Raise;
398 --
399 End upd_effective_end_date;
400 --
401 -- ----------------------------------------------------------------------------
402 -- |---------------------------------< lck >----------------------------------|
403 -- ----------------------------------------------------------------------------
404 Procedure lck
405   (p_effective_date                   in date
406   ,p_datetrack_mode                   in varchar2
407   ,p_element_type_id                  in number
408   ,p_object_version_number            in number
409   ,p_validation_start_date            out nocopy date
410   ,p_validation_end_date              out nocopy date
411   ) is
412 --
413   l_proc                  varchar2(72) := g_package||'lck';
414   l_validation_start_date date;
415   l_validation_end_date   date;
416   l_argument              varchar2(30);
417   --
418   -- Cursor C_Sel1 selects the current locked row as of session date
419   -- ensuring that the object version numbers match.
420   --
421   Cursor C_Sel1 is
422     select
423      element_type_id
424     ,effective_start_date
425     ,effective_end_date
426     ,business_group_id
427     ,legislation_code
428     ,formula_id
429     ,input_currency_code
430     ,output_currency_code
431     ,classification_id
432     ,benefit_classification_id
433     ,additional_entry_allowed_flag
434     ,adjustment_only_flag
435     ,closed_for_entry_flag
436     ,element_name
437     ,indirect_only_flag
438     ,multiple_entries_allowed_flag
439     ,multiply_value_flag
440     ,post_termination_rule
441     ,process_in_run_flag
442     ,processing_priority
443     ,processing_type
444     ,standard_link_flag
445     ,comment_id
446     ,null
447     ,description
448     ,legislation_subgroup
449     ,qualifying_age
450     ,qualifying_length_of_service
451     ,qualifying_units
452     ,reporting_name
453     ,attribute_category
454     ,attribute1
455     ,attribute2
456     ,attribute3
457     ,attribute4
458     ,attribute5
459     ,attribute6
460     ,attribute7
461     ,attribute8
462     ,attribute9
463     ,attribute10
464     ,attribute11
465     ,attribute12
466     ,attribute13
467     ,attribute14
468     ,attribute15
469     ,attribute16
470     ,attribute17
471     ,attribute18
472     ,attribute19
473     ,attribute20
474     ,element_information_category
475     ,element_information1
476     ,element_information2
477     ,element_information3
478     ,element_information4
479     ,element_information5
480     ,element_information6
481     ,element_information7
482     ,element_information8
483     ,element_information9
484     ,element_information10
485     ,element_information11
486     ,element_information12
487     ,element_information13
488     ,element_information14
489     ,element_information15
490     ,element_information16
491     ,element_information17
492     ,element_information18
493     ,element_information19
494     ,element_information20
495     ,third_party_pay_only_flag
496     ,object_version_number
497     ,iterative_flag
498     ,iterative_formula_id
499     ,iterative_priority
500     ,creator_type
501     ,retro_summ_ele_id
502     ,grossup_flag
503     ,process_mode
504     ,advance_indicator
505     ,advance_payable
506     ,advance_deduction
507     ,process_advance_entry
508     ,proration_group_id
509     ,proration_formula_id
510     ,recalc_event_group_id
511     ,once_each_period_flag
512     ,time_definition_type
513     ,time_definition_id
514     ,advance_element_type_id
515     ,deduction_element_type_id
516     from    pay_element_types_f
517     where   element_type_id = p_element_type_id
518     and     p_effective_date
519     between effective_start_date and effective_end_date
520     for update nowait;
521   --
522   -- Cursor C_Sel3 select comment text
523   --
524   Cursor C_Sel3 is
525     select hc.comment_text
526     from   hr_comments hc
527     where  hc.comment_id = pay_etp_shd.g_old_rec.comment_id;
528   --
529 Begin
530   hr_utility.set_location('Entering:'||l_proc, 5);
531   --
532   -- Ensure that all the mandatory arguments are not null
533   --
534   hr_api.mandatory_arg_error(p_api_name       => l_proc
535                             ,p_argument       => 'effective_date'
536                             ,p_argument_value => p_effective_date
537                             );
538   --
539   hr_api.mandatory_arg_error(p_api_name       => l_proc
540                             ,p_argument       => 'datetrack_mode'
541                             ,p_argument_value => p_datetrack_mode
542                             );
543   --
544   hr_api.mandatory_arg_error(p_api_name       => l_proc
545                             ,p_argument       => 'element_type_id'
546                             ,p_argument_value => p_element_type_id
547                             );
548   --
549     hr_api.mandatory_arg_error(p_api_name       => l_proc
550                             ,p_argument       => 'object_version_number'
551                             ,p_argument_value => p_object_version_number
552                             );
553   --
554   -- Check to ensure the datetrack mode is not INSERT.
555   --
556   If (p_datetrack_mode <> hr_api.g_insert) then
557     --
558     -- We must select and lock the current row.
559     --
560     Open  C_Sel1;
561     Fetch C_Sel1 Into pay_etp_shd.g_old_rec;
562     If C_Sel1%notfound then
563       Close C_Sel1;
564       --
565       -- The primary key is invalid therefore we must error
566       --
567       fnd_message.set_name('PAY', 'HR_7220_INVALID_PRIMARY_KEY');
568       fnd_message.raise_error;
569     End If;
570     Close C_Sel1;
571     If (p_object_version_number
572           <> pay_etp_shd.g_old_rec.object_version_number) Then
573         fnd_message.set_name('PAY', 'HR_7155_OBJECT_INVALID');
574         fnd_message.raise_error;
575     End If;
576     --
577     -- Providing we are doing an update and a comment_id exists then
578     -- we select the comment text.
579     --
580     If ((pay_etp_shd.g_old_rec.comment_id is not null) and
581         (p_datetrack_mode = hr_api.g_update             or
582          p_datetrack_mode = hr_api.g_correction         or
583          p_datetrack_mode = hr_api.g_update_override    or
584          p_datetrack_mode = hr_api.g_update_change_insert)) then
585        Open C_Sel3;
586        Fetch C_Sel3 Into pay_etp_shd.g_old_rec.comments;
587        If C_Sel3%notfound then
588           --
589           -- The comments for the specified comment_id does not exist.
590           -- We must error due to data integrity problems.
591           --
592           Close C_Sel3;
593           fnd_message.set_name('PAY', 'HR_7202_COMMENT_TEXT_NOT_EXIST');
594           fnd_message.raise_error;
595        End If;
596        Close C_Sel3;
597     End If;
598     --
599     -- Validate the datetrack mode mode getting the validation start
600     -- and end dates for the specified datetrack operation.
601     --
602     dt_api.validate_dt_mode
603       (p_effective_date          	=> p_effective_date
604       ,p_datetrack_mode          	=> p_datetrack_mode
605       ,p_base_table_name         	=> 'pay_element_types_f'
606       ,p_base_key_column         	=> 'element_type_id'
607       ,p_base_key_value          	=> p_element_type_id
608       ,p_child_table_name1       	=> 'pay_input_values_f'
609       ,p_child_key_column1         	=> 'input_value_id'
610       ,p_child_alt_base_key_column1 => 'element_type_id'
611       ,p_child_table_name2       	=> 'ben_acty_base_rt_f'
612       ,p_child_key_column2       	=> 'acty_base_rt_id'
613       ,p_child_alt_base_key_column2 => 'element_type_id'
614       ,p_child_table_name3       	=> 'pay_element_links_f'
615       ,p_child_key_column3       	=> 'element_link_id'
616       ,p_child_alt_base_key_column3 => 'element_type_id'
617       ,p_child_table_name4       	=> 'pay_element_type_usages_f'
618       ,p_child_key_column4       	=> 'element_type_usage_id'
619       ,p_child_alt_base_key_column4 => 'element_type_id'
620       ,p_enforce_foreign_locking 	=> true
621       ,p_validation_start_date   	=> l_validation_start_date
622       ,p_validation_end_date     	=> l_validation_end_date
623       );
624   Else
625     --
626     -- We are doing a datetrack 'INSERT' which is illegal within this
627     -- procedure therefore we must error (note: to lck on insert the
628     -- private procedure ins_lck should be called).
629     --
630     fnd_message.set_name('PAY', 'HR_6153_ALL_PROCEDURE_FAIL');
631     fnd_message.set_token('PROCEDURE', l_proc);
632     fnd_message.set_token('STEP','20');
633     fnd_message.raise_error;
634   End If;
635   --
636   -- Set the validation start and end date OUT arguments
637   --
638   p_validation_start_date := l_validation_start_date;
639   p_validation_end_date   := l_validation_end_date;
640   --
641   hr_utility.set_location(' Leaving:'||l_proc, 30);
642 --
643 -- We need to trap the ORA LOCK exception
644 --
645 Exception
646   When HR_Api.Object_Locked then
647     --
648     -- The object is locked therefore we need to supply a meaningful
649     -- error message.
650     --
651     fnd_message.set_name('PAY', 'HR_7165_OBJECT_LOCKED');
652     fnd_message.set_token('TABLE_NAME', 'pay_element_types_f');
653     fnd_message.raise_error;
654 End lck;
655 --
656 -- ----------------------------------------------------------------------------
657 -- |-----------------------------< convert_args >-----------------------------|
658 -- ----------------------------------------------------------------------------
659 Function convert_args
660   (p_element_type_id                in number
661   ,p_effective_start_date           in date
662   ,p_effective_end_date             in date
663   ,p_business_group_id              in number
664   ,p_legislation_code               in varchar2
665   ,p_formula_id                     in number
666   ,p_input_currency_code            in varchar2
667   ,p_output_currency_code           in varchar2
668   ,p_classification_id              in number
669   ,p_benefit_classification_id      in number
670   ,p_additional_entry_allowed_fla   in varchar2
671   ,p_adjustment_only_flag           in varchar2
672   ,p_closed_for_entry_flag          in varchar2
673   ,p_element_name                   in varchar2
674   ,p_indirect_only_flag             in varchar2
675   ,p_multiple_entries_allowed_fla   in varchar2
676   ,p_multiply_value_flag            in varchar2
677   ,p_post_termination_rule          in varchar2
678   ,p_process_in_run_flag            in varchar2
679   ,p_processing_priority            in number
680   ,p_processing_type                in varchar2
681   ,p_standard_link_flag             in varchar2
682   ,p_comment_id                     in number
683   ,p_comments                       in varchar2
684   ,p_description                    in varchar2
685   ,p_legislation_subgroup           in varchar2
686   ,p_qualifying_age                 in number
687   ,p_qualifying_length_of_service   in number
688   ,p_qualifying_units               in varchar2
689   ,p_reporting_name                 in varchar2
690   ,p_attribute_category             in varchar2
691   ,p_attribute1                     in varchar2
692   ,p_attribute2                     in varchar2
693   ,p_attribute3                     in varchar2
694   ,p_attribute4                     in varchar2
695   ,p_attribute5                     in varchar2
696   ,p_attribute6                     in varchar2
697   ,p_attribute7                     in varchar2
698   ,p_attribute8                     in varchar2
699   ,p_attribute9                     in varchar2
700   ,p_attribute10                    in varchar2
701   ,p_attribute11                    in varchar2
702   ,p_attribute12                    in varchar2
703   ,p_attribute13                    in varchar2
704   ,p_attribute14                    in varchar2
705   ,p_attribute15                    in varchar2
706   ,p_attribute16                    in varchar2
707   ,p_attribute17                    in varchar2
708   ,p_attribute18                    in varchar2
709   ,p_attribute19                    in varchar2
710   ,p_attribute20                    in varchar2
711   ,p_element_information_category   in varchar2
712   ,p_element_information1           in varchar2
713   ,p_element_information2           in varchar2
714   ,p_element_information3           in varchar2
715   ,p_element_information4           in varchar2
716   ,p_element_information5           in varchar2
717   ,p_element_information6           in varchar2
718   ,p_element_information7           in varchar2
719   ,p_element_information8           in varchar2
720   ,p_element_information9           in varchar2
721   ,p_element_information10          in varchar2
722   ,p_element_information11          in varchar2
723   ,p_element_information12          in varchar2
724   ,p_element_information13          in varchar2
725   ,p_element_information14          in varchar2
726   ,p_element_information15          in varchar2
727   ,p_element_information16          in varchar2
728   ,p_element_information17          in varchar2
729   ,p_element_information18          in varchar2
730   ,p_element_information19          in varchar2
731   ,p_element_information20          in varchar2
732   ,p_third_party_pay_only_flag      in varchar2
733   ,p_object_version_number          in number
734   ,p_iterative_flag                 in varchar2
735   ,p_iterative_formula_id           in number
736   ,p_iterative_priority             in number
737   ,p_creator_type                   in varchar2
738   ,p_retro_summ_ele_id              in number
742   ,p_advance_payable                in varchar2
739   ,p_grossup_flag                   in varchar2
740   ,p_process_mode                   in varchar2
741   ,p_advance_indicator              in varchar2
743   ,p_advance_deduction              in varchar2
744   ,p_process_advance_entry          in varchar2
745   ,p_proration_group_id             in number
746   ,p_proration_formula_id           in number
747   ,p_recalc_event_group_id          in number
748   ,p_once_each_period_flag          in varchar2
749   ,p_time_definition_type           in varchar2
750   ,p_time_definition_id		    in number
751   ,p_advance_element_type_id	    in number
752   ,p_deduction_element_type_id	    in number
753   )
754   Return g_rec_type is
755 --
756   l_rec   g_rec_type;
757 --
758 Begin
759   --
760   -- Convert arguments into local l_rec structure.
761   --
762   l_rec.element_type_id                  := p_element_type_id;
763   l_rec.effective_start_date             := p_effective_start_date;
764   l_rec.effective_end_date               := p_effective_end_date;
765   l_rec.business_group_id                := p_business_group_id;
766   l_rec.legislation_code                 := p_legislation_code;
767   l_rec.formula_id                       := p_formula_id;
768   l_rec.input_currency_code              := p_input_currency_code;
769   l_rec.output_currency_code             := p_output_currency_code;
770   l_rec.classification_id                := p_classification_id;
771   l_rec.benefit_classification_id        := p_benefit_classification_id;
772   l_rec.additional_entry_allowed_flag    := p_additional_entry_allowed_fla;
773   l_rec.adjustment_only_flag             := p_adjustment_only_flag;
774   l_rec.closed_for_entry_flag            := p_closed_for_entry_flag;
775   l_rec.element_name                     := p_element_name;
776   l_rec.indirect_only_flag               := p_indirect_only_flag;
777   l_rec.multiple_entries_allowed_flag    := p_multiple_entries_allowed_fla;
778   l_rec.multiply_value_flag              := p_multiply_value_flag;
779   l_rec.post_termination_rule            := p_post_termination_rule;
780   l_rec.process_in_run_flag              := p_process_in_run_flag;
781   l_rec.processing_priority              := p_processing_priority;
782   l_rec.processing_type                  := p_processing_type;
783   l_rec.standard_link_flag               := p_standard_link_flag;
784   l_rec.comment_id                       := p_comment_id;
785   l_rec.comments                         := p_comments;
786   l_rec.description                      := p_description;
787   l_rec.legislation_subgroup             := p_legislation_subgroup;
788   l_rec.qualifying_age                   := p_qualifying_age;
789   l_rec.qualifying_length_of_service     := p_qualifying_length_of_service;
790   l_rec.qualifying_units                 := p_qualifying_units;
791   l_rec.reporting_name                   := p_reporting_name;
792   l_rec.attribute_category               := p_attribute_category;
793   l_rec.attribute1                       := p_attribute1;
794   l_rec.attribute2                       := p_attribute2;
795   l_rec.attribute3                       := p_attribute3;
796   l_rec.attribute4                       := p_attribute4;
797   l_rec.attribute5                       := p_attribute5;
798   l_rec.attribute6                       := p_attribute6;
799   l_rec.attribute7                       := p_attribute7;
800   l_rec.attribute8                       := p_attribute8;
801   l_rec.attribute9                       := p_attribute9;
802   l_rec.attribute10                      := p_attribute10;
803   l_rec.attribute11                      := p_attribute11;
804   l_rec.attribute12                      := p_attribute12;
805   l_rec.attribute13                      := p_attribute13;
806   l_rec.attribute14                      := p_attribute14;
807   l_rec.attribute15                      := p_attribute15;
808   l_rec.attribute16                      := p_attribute16;
809   l_rec.attribute17                      := p_attribute17;
810   l_rec.attribute18                      := p_attribute18;
811   l_rec.attribute19                      := p_attribute19;
812   l_rec.attribute20                      := p_attribute20;
813   l_rec.element_information_category     := p_element_information_category;
814   l_rec.element_information1             := p_element_information1;
815   l_rec.element_information2             := p_element_information2;
816   l_rec.element_information3             := p_element_information3;
817   l_rec.element_information4             := p_element_information4;
818   l_rec.element_information5             := p_element_information5;
819   l_rec.element_information6             := p_element_information6;
820   l_rec.element_information7             := p_element_information7;
821   l_rec.element_information8             := p_element_information8;
822   l_rec.element_information9             := p_element_information9;
823   l_rec.element_information10            := p_element_information10;
824   l_rec.element_information11            := p_element_information11;
825   l_rec.element_information12            := p_element_information12;
826   l_rec.element_information13            := p_element_information13;
827   l_rec.element_information14            := p_element_information14;
828   l_rec.element_information15            := p_element_information15;
829   l_rec.element_information16            := p_element_information16;
830   l_rec.element_information17            := p_element_information17;
831   l_rec.element_information18            := p_element_information18;
832   l_rec.element_information19            := p_element_information19;
833   l_rec.element_information20            := p_element_information20;
834   l_rec.third_party_pay_only_flag        := p_third_party_pay_only_flag;
835   l_rec.object_version_number            := p_object_version_number;
836   l_rec.iterative_flag                   := p_iterative_flag;
837   l_rec.iterative_formula_id             := p_iterative_formula_id;
838   l_rec.iterative_priority               := p_iterative_priority;
839   l_rec.creator_type                     := p_creator_type;
840   l_rec.retro_summ_ele_id                := p_retro_summ_ele_id;
841   l_rec.grossup_flag                     := p_grossup_flag;
842   l_rec.process_mode                     := p_process_mode;
843   l_rec.advance_indicator                := p_advance_indicator;
844   l_rec.advance_payable                  := p_advance_payable;
845   l_rec.advance_deduction                := p_advance_deduction;
846   l_rec.process_advance_entry            := p_process_advance_entry;
847   l_rec.proration_group_id               := p_proration_group_id;
848   l_rec.proration_formula_id             := p_proration_formula_id;
849   l_rec.recalc_event_group_id            := p_recalc_event_group_id;
850   l_rec.once_each_period_flag            := p_once_each_period_flag;
851   l_rec.time_definition_type		 := p_time_definition_type;
852   l_rec.time_definition_id		 := p_time_definition_id;
853   l_rec.advance_element_type_id		 := p_advance_element_type_id;
854   l_rec.deduction_element_type_id	 := p_deduction_element_type_id;
855   --
856   -- Return the plsql record structure.
857   --
858   Return(l_rec);
859 --
860 End convert_args;
861 --
862 end pay_etp_shd;