DBA Data[Home] [Help]

PACKAGE BODY: APPS.PAY_ETP_SHD_ND

Source


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