[Home] [Help]
PACKAGE BODY: APPS.PER_ABB_SHD
Source
4 -- ----------------------------------------------------------------------------
1 Package Body per_abb_shd as
2 /* $Header: peabbrhi.pkb 120.3 2006/03/03 06:26 bshukla noship $ */
3 --
5 -- | Private Global Definitions |
6 -- ----------------------------------------------------------------------------
7 --
8 g_package varchar2(33) := ' per_abb_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 = 'PER_ABSENCE_ATTENDANCE_TYP_FK1') 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');
39 fnd_message.set_token('PROCEDURE', l_proc);
36 fnd_message.raise_error;
37 ElsIf (p_constraint_name = 'PER_ABSENCE_ATTENDANCE_TYP_PK') Then
38 fnd_message.set_name('PAY', 'HR_6153_ALL_PROCEDURE_FAIL');
40 fnd_message.set_token('STEP','10');
41 fnd_message.raise_error;
42 Else
43 fnd_message.set_name('PAY', 'HR_7877_API_INVALID_CONSTRAINT');
44 fnd_message.set_token('PROCEDURE', l_proc);
45 fnd_message.set_token('CONSTRAINT_NAME', p_constraint_name);
46 fnd_message.raise_error;
47 End If;
48 --
49 End constraint_error;
50 --
51 -- ----------------------------------------------------------------------------
52 -- |-----------------------------< api_updating >-----------------------------|
53 -- ----------------------------------------------------------------------------
54 Function api_updating
55 (p_absence_attendance_type_id in number
56 ,p_object_version_number in number
57 )
58 Return Boolean Is
59 --
60 --
61 -- Cursor selects the 'current' row from the HR Schema
62 --
63 Cursor C_Sel1 is
64 select
65 absence_attendance_type_id
66 ,business_group_id
67 ,input_value_id
68 ,date_effective
69 ,name
70 ,absence_category
71 ,comments
72 ,date_end
73 ,hours_or_days
74 ,increasing_or_decreasing_flag
75 ,request_id
76 ,program_application_id
77 ,program_id
78 ,program_update_date
79 ,attribute_category
80 ,attribute1
81 ,attribute2
82 ,attribute3
83 ,attribute4
84 ,attribute5
85 ,attribute6
86 ,attribute7
87 ,attribute8
88 ,attribute9
89 ,attribute10
90 ,attribute11
91 ,attribute12
92 ,attribute13
93 ,attribute14
94 ,attribute15
95 ,attribute16
96 ,attribute17
97 ,attribute18
98 ,attribute19
99 ,attribute20
100 ,object_version_number
101 ,information_category
102 ,information1
103 ,information2
104 ,information3
105 ,information4
106 ,information5
107 ,information6
108 ,information7
109 ,information8
110 ,information9
111 ,information10
112 ,information11
113 ,information12
114 ,information13
115 ,information14
116 ,information15
117 ,information16
118 ,information17
119 ,information18
120 ,information19
121 ,information20
122 ,user_role
123 ,assignment_status_type_id
124 ,advance_pay
125 ,absence_overlap_flag
126 from per_absence_attendance_types
127 where absence_attendance_type_id = p_absence_attendance_type_id;
128 --
129 l_fct_ret boolean;
130 --
131 Begin
132 --
133 If (p_absence_attendance_type_id is null and
134 p_object_version_number is null
135 ) Then
136 --
137 -- One of the primary key arguments is null therefore we must
138 -- set the returning function value to false
139 --
140 l_fct_ret := false;
141 Else
142 If (p_absence_attendance_type_id
143 = per_abb_shd.g_old_rec.absence_attendance_type_id and
144 p_object_version_number
145 = per_abb_shd.g_old_rec.object_version_number
146 ) Then
147 --
148 -- The g_old_rec is current therefore we must
149 -- set the returning function to true
150 --
151 l_fct_ret := true;
152 Else
153 --
154 -- Select the current row into g_old_rec
155 --
156 Open C_Sel1;
157 Fetch C_Sel1 Into per_abb_shd.g_old_rec;
158 If C_Sel1%notfound Then
159 Close C_Sel1;
160 --
161 -- The primary key is invalid therefore we must error
162 --
163 fnd_message.set_name('PAY', 'HR_7220_INVALID_PRIMARY_KEY');
164 fnd_message.raise_error;
165 End If;
166 Close C_Sel1;
167 If (p_object_version_number
168 <> per_abb_shd.g_old_rec.object_version_number) Then
169 fnd_message.set_name('PAY', 'HR_7155_OBJECT_INVALID');
170 fnd_message.raise_error;
171 End If;
172 l_fct_ret := true;
173 End If;
174 End If;
175 Return (l_fct_ret);
176 --
177 End api_updating;
178 --
179 -- ----------------------------------------------------------------------------
180 -- |---------------------------------< lck >----------------------------------|
181 -- ----------------------------------------------------------------------------
182 Procedure lck
183 (p_absence_attendance_type_id in number
184 ,p_object_version_number in number
185 ) is
186 --
187 -- Cursor selects the 'current' row from the HR Schema
188 --
189 Cursor C_Sel1 is
190 select
191 absence_attendance_type_id
192 ,business_group_id
193 ,input_value_id
194 ,date_effective
195 ,name
196 ,absence_category
197 ,comments
198 ,date_end
199 ,hours_or_days
200 ,increasing_or_decreasing_flag
201 ,request_id
205 ,attribute_category
202 ,program_application_id
203 ,program_id
204 ,program_update_date
206 ,attribute1
207 ,attribute2
208 ,attribute3
209 ,attribute4
210 ,attribute5
211 ,attribute6
212 ,attribute7
213 ,attribute8
214 ,attribute9
215 ,attribute10
216 ,attribute11
217 ,attribute12
218 ,attribute13
219 ,attribute14
220 ,attribute15
221 ,attribute16
222 ,attribute17
223 ,attribute18
224 ,attribute19
225 ,attribute20
226 ,object_version_number
227 ,information_category
228 ,information1
229 ,information2
230 ,information3
231 ,information4
232 ,information5
233 ,information6
234 ,information7
235 ,information8
236 ,information9
237 ,information10
238 ,information11
239 ,information12
240 ,information13
241 ,information14
242 ,information15
243 ,information16
244 ,information17
245 ,information18
246 ,information19
247 ,information20
248 ,user_role
249 ,assignment_status_type_id
250 ,advance_pay
251 ,absence_overlap_flag
252 from per_absence_attendance_types
253 where absence_attendance_type_id = p_absence_attendance_type_id
254 for update nowait;
255 --
256 l_proc varchar2(72) := g_package||'lck';
257 --
258 Begin
259 hr_utility.set_location('Entering:'||l_proc, 5);
260 --
261 hr_api.mandatory_arg_error
262 (p_api_name => l_proc
263 ,p_argument => 'ABSENCE_ATTENDANCE_TYPE_ID'
264 ,p_argument_value => p_absence_attendance_type_id
265 );
266 hr_utility.set_location(l_proc,6);
267 hr_api.mandatory_arg_error
268 (p_api_name => l_proc
269 ,p_argument => 'OBJECT_VERSION_NUMBER'
270 ,p_argument_value => p_object_version_number
271 );
272 --
273 Open C_Sel1;
274 Fetch C_Sel1 Into per_abb_shd.g_old_rec;
275 If C_Sel1%notfound then
276 Close C_Sel1;
277 --
278 -- The primary key is invalid therefore we must error
279 --
280 fnd_message.set_name('PAY', 'HR_7220_INVALID_PRIMARY_KEY');
281 fnd_message.raise_error;
282 End If;
283 Close C_Sel1;
284 If (p_object_version_number
285 <> per_abb_shd.g_old_rec.object_version_number) Then
286 fnd_message.set_name('PAY', 'HR_7155_OBJECT_INVALID');
287 fnd_message.raise_error;
288 End If;
289 --
290 hr_utility.set_location(' Leaving:'||l_proc, 10);
291 --
292 -- We need to trap the ORA LOCK exception
293 --
294 Exception
295 When HR_Api.Object_Locked then
296 --
297 -- The object is locked therefore we need to supply a meaningful
298 -- error message.
299 --
300 fnd_message.set_name('PAY', 'HR_7165_OBJECT_LOCKED');
301 fnd_message.set_token('TABLE_NAME', 'per_absence_attendance_types');
302 fnd_message.raise_error;
303 End lck;
304 --
305 -- ----------------------------------------------------------------------------
306 -- |-----------------------------< convert_args >-----------------------------|
307 -- ----------------------------------------------------------------------------
308 Function convert_args
309 (p_absence_attendance_type_id in number
310 ,p_business_group_id in number
311 ,p_input_value_id in number
312 ,p_date_effective in date
313 ,p_name in varchar2
314 ,p_absence_category in varchar2
315 ,p_comments in varchar2
316 ,p_date_end in date
317 ,p_hours_or_days in varchar2
318 ,p_inc_or_dec_flag in varchar2
319 ,p_request_id in number
320 ,p_program_application_id in number
321 ,p_program_id in number
322 ,p_program_update_date in date
323 ,p_attribute_category in varchar2
324 ,p_attribute1 in varchar2
325 ,p_attribute2 in varchar2
326 ,p_attribute3 in varchar2
327 ,p_attribute4 in varchar2
328 ,p_attribute5 in varchar2
329 ,p_attribute6 in varchar2
330 ,p_attribute7 in varchar2
331 ,p_attribute8 in varchar2
332 ,p_attribute9 in varchar2
333 ,p_attribute10 in varchar2
334 ,p_attribute11 in varchar2
335 ,p_attribute12 in varchar2
336 ,p_attribute13 in varchar2
337 ,p_attribute14 in varchar2
338 ,p_attribute15 in varchar2
339 ,p_attribute16 in varchar2
340 ,p_attribute17 in varchar2
341 ,p_attribute18 in varchar2
342 ,p_attribute19 in varchar2
343 ,p_attribute20 in varchar2
344 ,p_object_version_number in number
345 ,p_information_category in varchar2
346 ,p_information1 in varchar2
350 ,p_information5 in varchar2
347 ,p_information2 in varchar2
348 ,p_information3 in varchar2
349 ,p_information4 in varchar2
351 ,p_information6 in varchar2
352 ,p_information7 in varchar2
353 ,p_information8 in varchar2
354 ,p_information9 in varchar2
355 ,p_information10 in varchar2
356 ,p_information11 in varchar2
357 ,p_information12 in varchar2
358 ,p_information13 in varchar2
359 ,p_information14 in varchar2
360 ,p_information15 in varchar2
361 ,p_information16 in varchar2
362 ,p_information17 in varchar2
363 ,p_information18 in varchar2
364 ,p_information19 in varchar2
365 ,p_information20 in varchar2
366 ,p_user_role in varchar2
367 ,p_assignment_status_type_id in number
368 ,p_advance_pay in varchar2
369 ,p_absence_overlap_flag in varchar2
370 )
371 Return g_rec_type is
372 --
373 l_rec g_rec_type;
374 --
375 Begin
376 --
377 -- Convert arguments into local l_rec structure.
378 --
379 l_rec.absence_attendance_type_id := p_absence_attendance_type_id;
380 l_rec.business_group_id := p_business_group_id;
381 l_rec.input_value_id := p_input_value_id;
382 l_rec.date_effective := p_date_effective;
383 l_rec.name := p_name;
384 l_rec.absence_category := p_absence_category;
385 l_rec.comments := p_comments;
386 l_rec.date_end := p_date_end;
387 l_rec.hours_or_days := p_hours_or_days;
388 l_rec.increasing_or_decreasing_flag := p_inc_or_dec_flag;
389 l_rec.request_id := p_request_id;
390 l_rec.program_application_id := p_program_application_id;
391 l_rec.program_id := p_program_id;
392 l_rec.program_update_date := p_program_update_date;
393 l_rec.attribute_category := p_attribute_category;
394 l_rec.attribute1 := p_attribute1;
395 l_rec.attribute2 := p_attribute2;
396 l_rec.attribute3 := p_attribute3;
397 l_rec.attribute4 := p_attribute4;
398 l_rec.attribute5 := p_attribute5;
399 l_rec.attribute6 := p_attribute6;
400 l_rec.attribute7 := p_attribute7;
401 l_rec.attribute8 := p_attribute8;
402 l_rec.attribute9 := p_attribute9;
403 l_rec.attribute10 := p_attribute10;
404 l_rec.attribute11 := p_attribute11;
405 l_rec.attribute12 := p_attribute12;
406 l_rec.attribute13 := p_attribute13;
407 l_rec.attribute14 := p_attribute14;
408 l_rec.attribute15 := p_attribute15;
409 l_rec.attribute16 := p_attribute16;
410 l_rec.attribute17 := p_attribute17;
411 l_rec.attribute18 := p_attribute18;
412 l_rec.attribute19 := p_attribute19;
413 l_rec.attribute20 := p_attribute20;
414 l_rec.object_version_number := p_object_version_number;
415 l_rec.information_category := p_information_category;
416 l_rec.information1 := p_information1;
417 l_rec.information2 := p_information2;
418 l_rec.information3 := p_information3;
419 l_rec.information4 := p_information4;
420 l_rec.information5 := p_information5;
421 l_rec.information6 := p_information6;
422 l_rec.information7 := p_information7;
423 l_rec.information8 := p_information8;
424 l_rec.information9 := p_information9;
425 l_rec.information10 := p_information10;
426 l_rec.information11 := p_information11;
427 l_rec.information12 := p_information12;
428 l_rec.information13 := p_information13;
429 l_rec.information14 := p_information14;
430 l_rec.information15 := p_information15;
431 l_rec.information16 := p_information16;
432 l_rec.information17 := p_information17;
433 l_rec.information18 := p_information18;
434 l_rec.information19 := p_information19;
435 l_rec.information20 := p_information20;
436 --
437 l_rec.user_role := p_user_role;
438 l_rec.assignment_status_type_id := p_assignment_status_type_id;
439 l_rec.advance_pay := p_advance_pay;
440 l_rec.absence_overlap_flag := p_absence_overlap_flag ;
441 --
442 -- Return the plsql record structure.
443 --
444 Return(l_rec);
445 --
446 End convert_args;
447 --
448 end per_abb_shd;