[Home] [Help]
PACKAGE BODY: APPS.PAY_PAP_SHD
Source
1 Package Body pay_pap_shd as
2 /* $Header: pypaprhi.pkb 120.0.12020000.3 2013/02/06 10:52:31 srannama ship $ */
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 --
25 -- ----------------------------------------------------------------------------
22 hr_utility.set_location(' Leaving:'||l_proc, 10);
23 End return_api_dml_status;
24 --
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
179 hr_utility.set_location(l_proc, 15);
176 fnd_message.set_name('PAY', 'HR_7155_OBJECT_INVALID');
177 fnd_message.raise_error;
178 End If;
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;