DBA Data[Home] [Help]

PACKAGE BODY: APPS.PAY_PAP_SHD

Source


1 Package Body pay_pap_shd as
2 /* $Header: pypaprhi.pkb 120.0 2005/05/29 07:14:24 appldev noship $ */
3 --
4 -- ----------------------------------------------------------------------------
5 -- |                     Private Global Definitions                           |
6 -- ----------------------------------------------------------------------------
7 --
8 g_package  varchar2(33)	:= '  pay_pap_shd.';  -- Global package name
9 --
10 -- ----------------------------------------------------------------------------
11 -- |------------------------< return_api_dml_status >-------------------------|
12 -- ----------------------------------------------------------------------------
13 Function return_api_dml_status Return Boolean Is
14 --
15   l_proc 	varchar2(72) := g_package||'return_api_dml_status';
16 --
17 Begin
18   hr_utility.set_location('Entering:'||l_proc, 5);
19   --
20   Return (nvl(g_api_dml, false));
21   --
22   hr_utility.set_location(' Leaving:'||l_proc, 10);
23 End return_api_dml_status;
24 --
25 -- ----------------------------------------------------------------------------
26 -- |---------------------------< constraint_error >---------------------------|
27 -- ----------------------------------------------------------------------------
28 Procedure constraint_error
29             (p_constraint_name in all_constraints.constraint_name%TYPE) Is
30 --
31   l_proc 	varchar2(72) := g_package||'constraint_error';
32 --
33 Begin
34   hr_utility.set_location('Entering:'||l_proc, 5);
35   --
36   If (p_constraint_name = 'PAY_ACCRUAL_PLANS_FK1') 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','5');
40     hr_utility.raise_error;
41   ElsIf (p_constraint_name = 'PAY_ACCRUAL_PLANS_PK') Then
42     hr_utility.set_message(801, 'HR_6153_ALL_PROCEDURE_FAIL');
43     hr_utility.set_message_token('PROCEDURE', l_proc);
44     hr_utility.set_message_token('STEP','10');
45     hr_utility.raise_error;
46   ElsIf (p_constraint_name = 'PAY_APN_ACCRUAL_UNITS_OF_M_CHK') Then
47     hr_utility.set_message(801, 'HR_6153_ALL_PROCEDURE_FAIL');
48     hr_utility.set_message_token('PROCEDURE', l_proc);
49     hr_utility.set_message_token('STEP','15');
50     hr_utility.raise_error;
51   Else
52     hr_utility.set_message(801, 'HR_7877_API_INVALID_CONSTRAINT');
53     hr_utility.set_message_token('PROCEDURE', l_proc);
54     hr_utility.set_message_token('CONSTRAINT_NAME', p_constraint_name);
55     hr_utility.raise_error;
56   End If;
57   --
58   hr_utility.set_location(' Leaving:'||l_proc, 10);
59 End constraint_error;
60 --
61 -- ----------------------------------------------------------------------------
62 -- |-----------------------------< api_updating >-----------------------------|
63 -- ----------------------------------------------------------------------------
64 Function api_updating
65   (
66   p_accrual_plan_id                    in number,
67   p_object_version_number              in number
68   )      Return Boolean Is
69 --
70   --
71   -- Cursor selects the 'current' row from the HR Schema
72   --
73   Cursor C_Sel1 is
74     select
75 		accrual_plan_id,
76 	business_group_id,
77 	accrual_plan_element_type_id,
78 	pto_input_value_id,
79 	co_input_value_id,
80 	residual_input_value_id,
81 	accrual_category,
82 	accrual_plan_name,
83 	accrual_start,
84 	accrual_units_of_measure,
85 	ineligible_period_length,
86 	ineligible_period_type,
87 	accrual_formula_id,
88 	co_formula_id,
89 	co_date_input_value_id,
90 	co_exp_date_input_value_id,
91 	residual_date_input_value_id,
92 	description,
93         ineligibility_formula_id,
94         payroll_formula_id,
95         defined_balance_id,
96         tagging_element_type_id,
97         balance_element_type_id,
98 	object_version_number,
99         information_category,
100         information1,
101   	information2,
102   	information3,
103   	information4,
104   	information5,
105   	information6,
106   	information7,
107   	information8,
108   	information9,
109   	information10,
110   	information11,
111   	information12,
112   	information13,
113  	information14,
114 	information15,
115 	information16,
116 	information17,
117   	information18,
118   	information19,
119   	information20,
120   	information21,
121   	information22,
122         information23,
123         information24,
124         information25,
125         information26,
126         information27,
127         information28,
128         information29,
129         information30
130 
131     from	pay_accrual_plans
132     where	accrual_plan_id = p_accrual_plan_id;
133 --
134   l_proc	varchar2(72)	:= g_package||'api_updating';
135   l_fct_ret	boolean;
136 --
137 Begin
138   hr_utility.set_location('Entering:'||l_proc, 5);
139   --
140   If (
141 	p_accrual_plan_id is null and
142 	p_object_version_number is null
143      ) Then
144     --
145     -- One of the primary key arguments is null therefore we must
146     -- set the returning function value to false
147     --
148     l_fct_ret := false;
149   Else
150     If (
151 	p_accrual_plan_id = g_old_rec.accrual_plan_id and
152 	p_object_version_number = g_old_rec.object_version_number
153        ) Then
154       hr_utility.set_location(l_proc, 10);
155       --
156       -- The g_old_rec is current therefore we must
157       -- set the returning function to true
158       --
159       l_fct_ret := true;
160     Else
161       --
162       -- Select the current row into g_old_rec
163       --
164       Open C_Sel1;
165       Fetch C_Sel1 Into g_old_rec;
166       If C_Sel1%notfound Then
167         Close C_Sel1;
168         --
169         -- The primary key is invalid therefore we must error
170         --
171         fnd_message.set_name('PAY', 'HR_7220_INVALID_PRIMARY_KEY');
172         fnd_message.raise_error;
173       End If;
174       Close C_Sel1;
175       If (p_object_version_number <> g_old_rec.object_version_number) Then
176         fnd_message.set_name('PAY', 'HR_7155_OBJECT_INVALID');
177         fnd_message.raise_error;
178       End If;
179       hr_utility.set_location(l_proc, 15);
180       l_fct_ret := true;
181     End If;
182   End If;
183   hr_utility.set_location(' Leaving:'||l_proc, 20);
184   Return (l_fct_ret);
185 --
186 End api_updating;
187 
188 --
189 -- ----------------------------------------------------------------------------
190 -- |---------------------------------< lck >----------------------------------|
191 -- ----------------------------------------------------------------------------
192 Procedure lck
193   (
194   p_accrual_plan_id                    in number,
195   p_object_version_number              in number
196   ) is
197 --
198 -- Cursor selects the 'current' row from the HR Schema
199 --
200   Cursor C_Sel1 is
201     select 	accrual_plan_id,
202 	business_group_id,
203 	accrual_plan_element_type_id,
204 	pto_input_value_id,
205 	co_input_value_id,
206 	residual_input_value_id,
207 	accrual_category,
208 	accrual_plan_name,
209 	accrual_start,
210 	accrual_units_of_measure,
211 	ineligible_period_length,
212 	ineligible_period_type,
213 	accrual_formula_id,
214 	co_formula_id,
215 	co_date_input_value_id,
216 	co_exp_date_input_value_id,
217 	residual_date_input_value_id,
218 	description,
219         ineligibility_formula_id,
220         payroll_formula_id,
221         defined_balance_id,
222         tagging_element_type_id,
223         balance_element_type_id,
224 	object_version_number,
225         information_category,
226         information1,
227         information2,
228         information3,
229         information4,
230         information5,
231         information6,
232         information7,
233         information8,
234         information9,
235         information10,
236         information11,
237         information12,
238         information13,
239         information14,
240         information15,
241         information16,
242         information17,
243         information18,
244         information19,
245         information20,
246         information21,
247         information22,
248         information23,
249         information24,
250         information25,
251         information26,
252         information27,
253         information28,
254         information29,
255         information30
256 
257     from	pay_accrual_plans
258     where	accrual_plan_id = p_accrual_plan_id
259     for	update nowait;
260 --
261   l_proc	varchar2(72) := g_package||'lck';
262 --
263 Begin
264   hr_utility.set_location('Entering:'||l_proc, 5);
265   --
266   hr_api.mandatory_arg_error
267     (p_api_name       => l_proc,
268      p_argument       => 'object_version_number',
269      p_argument_value => p_object_version_number);
270   --
271   Open  C_Sel1;
272   Fetch C_Sel1 Into g_old_rec;
273   If C_Sel1%notfound then
274     Close C_Sel1;
275     --
276     -- The primary key is invalid therefore we must error
277     --
278     fnd_message.set_name('PAY', 'HR_7220_INVALID_PRIMARY_KEY');
279     fnd_message.raise_error;
280   End If;
281   Close C_Sel1;
282   If (p_object_version_number <> g_old_rec.object_version_number) Then
283         fnd_message.set_name('PAY', 'HR_7155_OBJECT_INVALID');
284         fnd_message.raise_error;
285       End If;
286   --
287   hr_utility.set_location(' Leaving:'||l_proc, 10);
288 --
289 -- We need to trap the ORA LOCK exception
290 --
291 Exception
292   When HR_Api.Object_Locked then
293     --
294     -- The object is locked therefore we need to supply a meaningful
295     -- error message.
296     --
297     hr_utility.set_message(801, 'HR_7165_OBJECT_LOCKED');
298     hr_utility.set_message_token('TABLE_NAME', 'pay_accrual_plans');
299     hr_utility.raise_error;
300 End lck;
301 --
302 -- ----------------------------------------------------------------------------
303 -- |-----------------------------< convert_args >-----------------------------|
304 -- ----------------------------------------------------------------------------
305 Function convert_args
306 	(
307 	p_accrual_plan_id               in number,
308 	p_business_group_id             in number,
309 	p_accrual_plan_element_type_id  in number,
310 	p_pto_input_value_id            in number,
311 	p_co_input_value_id             in number,
312 	p_residual_input_value_id       in number,
313 	p_accrual_category              in varchar2,
314 	p_accrual_plan_name             in varchar2,
315 	p_accrual_start                 in varchar2,
316 	p_accrual_units_of_measure      in varchar2,
317 	p_ineligible_period_length      in number,
318 	p_ineligible_period_type        in varchar2,
319 	p_accrual_formula_id            in number,
320 	p_co_formula_id                 in number,
321 	p_co_date_input_value_id        in number,
322 	p_co_exp_date_input_value_id    in number,
323 	p_residual_date_input_value_id  in number,
324 	p_description                   in varchar2,
325         p_ineligibility_formula_id      in number,
326         p_payroll_formula_id            in number,
327         p_defined_balance_id            in number,
328         p_tagging_element_type_id       in number,
329         p_balance_element_type_id       in number,
330 	p_object_version_number         in number,
331         p_information_category          in varchar2,
332         p_information1                  in varchar2,
333   	p_information2                  in varchar2,
334 	p_information3                  in varchar2,
335 	p_information4                  in varchar2,
336 	p_information5                  in varchar2,
337 	p_information6                  in varchar2,
338 	p_information7                  in varchar2,
339 	p_information8                  in varchar2,
340 	p_information9                  in varchar2,
341 	p_information10                 in varchar2,
342 	p_information11                 in varchar2,
343 	p_information12                 in varchar2,
344 	p_information13                 in varchar2,
345 	p_information14                 in varchar2,
346 	p_information15                 in varchar2,
347 	p_information16                 in varchar2,
348 	p_information17                 in varchar2,
349 	p_information18                 in varchar2,
350 	p_information19                 in varchar2,
351 	p_information20                 in varchar2,
352 	p_information21                 in varchar2,
353 	p_information22                 in varchar2,
354 	p_information23                 in varchar2,
355 	p_information24                 in varchar2,
356 	p_information25                 in varchar2,
357 	p_information26                 in varchar2,
358 	p_information27                 in varchar2,
359 	p_information28                 in varchar2,
360 	p_information29                 in varchar2,
361   	p_information30                 in varchar2
362 	)
363 	Return g_rec_type is
364 --
365   l_rec	  g_rec_type;
366   l_proc  varchar2(72) := g_package||'convert_args';
367 --
368 Begin
369   --
370   hr_utility.set_location('Entering:'||l_proc, 5);
371   --
372   -- Convert arguments into local l_rec structure.
373   --
374   l_rec.accrual_plan_id                  := p_accrual_plan_id;
375   l_rec.business_group_id                := p_business_group_id;
376   l_rec.accrual_plan_element_type_id     := p_accrual_plan_element_type_id;
377   l_rec.pto_input_value_id               := p_pto_input_value_id;
378   l_rec.co_input_value_id                := p_co_input_value_id;
379   l_rec.residual_input_value_id          := p_residual_input_value_id;
380   l_rec.accrual_category                 := p_accrual_category;
381   l_rec.accrual_plan_name                := p_accrual_plan_name;
382   l_rec.accrual_start                    := p_accrual_start;
383   l_rec.accrual_units_of_measure         := p_accrual_units_of_measure;
384   l_rec.ineligible_period_length         := p_ineligible_period_length;
385   l_rec.ineligible_period_type           := p_ineligible_period_type;
386   l_rec.accrual_formula_id               := p_accrual_formula_id;
387   l_rec.co_formula_id                    := p_co_formula_id;
388   l_rec.co_date_input_value_id           := p_co_date_input_value_id;
389   l_rec.co_exp_date_input_value_id       := p_co_exp_date_input_value_id;
390   l_rec.residual_date_input_value_id     := p_residual_date_input_value_id;
391   l_rec.description                      := p_description;
392   l_rec.ineligibility_formula_id         := p_ineligibility_formula_id;
393   l_rec.payroll_formula_id               := p_payroll_formula_id;
394   l_rec.defined_balance_id               := p_defined_balance_id;
395   l_rec.tagging_element_type_id          := p_tagging_element_type_id;
396   l_rec.balance_element_type_id          := p_balance_element_type_id;
397   l_rec.object_version_number            := p_object_version_number;
398   l_rec.information_category         	 := p_information_category;
399   l_rec.information1		 	 := p_information1;
400   l_rec.information2                     := p_information2;
401   l_rec.information3                     := p_information3;
402   l_rec.information4                     := p_information4;
403   l_rec.information5                     := p_information5;
404   l_rec.information6                     := p_information6;
405   l_rec.information7                     := p_information7;
406   l_rec.information8                     := p_information8;
407   l_rec.information9                     := p_information9;
408   l_rec.information10                    := p_information10;
409   l_rec.information11                    := p_information11;
410   l_rec.information12                    := p_information12;
411   l_rec.information13                    := p_information13;
412   l_rec.information14                    := p_information14;
413   l_rec.information15                    := p_information15;
414   l_rec.information16                    := p_information16;
415   l_rec.information17                    := p_information17;
416   l_rec.information18                    := p_information18;
417   l_rec.information19                    := p_information19;
418   l_rec.information20                    := p_information20;
419   l_rec.information21                    := p_information21;
420   l_rec.information22                    := p_information22;
421   l_rec.information23                    := p_information23;
422   l_rec.information24                    := p_information24;
423   l_rec.information25                    := p_information25;
424   l_rec.information26                    := p_information26;
425   l_rec.information27                    := p_information27;
426   l_rec.information28                    := p_information28;
427   l_rec.information29                    := p_information29;
428   l_rec.information30                    := p_information30;
429   --
430   -- Return the plsql record structure.
431   --
432   hr_utility.set_location(' Leaving:'||l_proc, 10);
433   Return(l_rec);
434 --
435 End convert_args;
436 --
437 end pay_pap_shd;