[Home] [Help]
PACKAGE BODY: APPS.PER_PJO_SHD
Source
1 Package Body per_pjo_shd as
2 /* $Header: pepjorhi.pkb 120.0.12010000.2 2008/08/06 09:28:19 ubhat ship $ */
3 --
4 -- ----------------------------------------------------------------------------
5 -- | Private Global Definitions |
6 -- ----------------------------------------------------------------------------
7 --
8 g_package varchar2(33) := ' per_pjo_shd.'; -- Global package name
9 --
10 -- ----------------------------------------------------------------------------
11 -- |---------------------------< constraint_error >---------------------------|
12 -- ----------------------------------------------------------------------------
13 Procedure constraint_error
14 (p_constraint_name in all_constraints.constraint_name%TYPE
15 ) Is
16 --
17 l_proc varchar2(72) := g_package||'constraint_error';
18 --
19 Begin
20 --
21 If (p_constraint_name = 'PER_PREVIOUS_JOBS_FK') Then
22 fnd_message.set_name('PAY', 'HR_6153_ALL_PROCEDURE_FAIL');
23 fnd_message.set_token('PROCEDURE', l_proc);
24 fnd_message.set_token('STEP','5');
25 fnd_message.raise_error;
26 ElsIf (p_constraint_name = 'PER_PREVIOUS_JOBS_PK') Then
27 fnd_message.set_name('PAY', 'HR_6153_ALL_PROCEDURE_FAIL');
28 fnd_message.set_token('PROCEDURE', l_proc);
29 fnd_message.set_token('STEP','10');
30 fnd_message.raise_error;
31 Else
32 fnd_message.set_name('PAY', 'HR_7877_API_INVALID_CONSTRAINT');
33 fnd_message.set_token('PROCEDURE', l_proc);
34 fnd_message.set_token('CONSTRAINT_NAME', p_constraint_name);
35 fnd_message.raise_error;
36 End If;
37 --
38 End constraint_error;
39 --
40 -- ----------------------------------------------------------------------------
41 -- |-----------------------------< api_updating >-----------------------------|
42 -- ----------------------------------------------------------------------------
43 Function api_updating
44 (p_previous_job_id in number
45 ,p_object_version_number in number
46 )
47 Return Boolean Is
48 --
49 --
50 -- Cursor selects the 'current' row from the HR Schema
51 --
52 Cursor C_Sel1 is
53 select
54 previous_job_id
55 ,previous_employer_id
56 ,start_date
57 ,end_date
58 ,period_years
59 ,period_days
60 ,job_name
61 ,employment_category
62 ,description
63 ,pjo_attribute_category
64 ,pjo_attribute1
65 ,pjo_attribute2
66 ,pjo_attribute3
67 ,pjo_attribute4
68 ,pjo_attribute5
69 ,pjo_attribute6
70 ,pjo_attribute7
71 ,pjo_attribute8
72 ,pjo_attribute9
73 ,pjo_attribute10
74 ,pjo_attribute11
75 ,pjo_attribute12
76 ,pjo_attribute13
77 ,pjo_attribute14
78 ,pjo_attribute15
79 ,pjo_attribute16
80 ,pjo_attribute17
81 ,pjo_attribute18
82 ,pjo_attribute19
83 ,pjo_attribute20
84 ,pjo_attribute21
85 ,pjo_attribute22
86 ,pjo_attribute23
87 ,pjo_attribute24
88 ,pjo_attribute25
89 ,pjo_attribute26
90 ,pjo_attribute27
91 ,pjo_attribute28
92 ,pjo_attribute29
93 ,pjo_attribute30
94 ,pjo_information_category
95 ,pjo_information1
96 ,pjo_information2
97 ,pjo_information3
98 ,pjo_information4
99 ,pjo_information5
100 ,pjo_information6
101 ,pjo_information7
102 ,pjo_information8
103 ,pjo_information9
104 ,pjo_information10
105 ,pjo_information11
106 ,pjo_information12
107 ,pjo_information13
108 ,pjo_information14
109 ,pjo_information15
110 ,pjo_information16
111 ,pjo_information17
112 ,pjo_information18
113 ,pjo_information19
114 ,pjo_information20
115 ,pjo_information21
116 ,pjo_information22
117 ,pjo_information23
118 ,pjo_information24
119 ,pjo_information25
120 ,pjo_information26
121 ,pjo_information27
122 ,pjo_information28
123 ,pjo_information29
124 ,pjo_information30
125 ,object_version_number
126 ,all_assignments
127 ,period_months
128 from per_previous_jobs
129 where previous_job_id = p_previous_job_id;
130 --
131 l_fct_ret boolean;
132 --
133 Begin
134 --
135 If (p_previous_job_id is null and
136 p_object_version_number is null
137 ) Then
138 --
139 -- One of the primary key arguments is null therefore we must
140 -- set the returning function value to false
141 --
142 l_fct_ret := false;
143 Else
144 If (p_previous_job_id
145 = per_pjo_shd.g_old_rec.previous_job_id and
146 p_object_version_number
147 = per_pjo_shd.g_old_rec.object_version_number
148 ) Then
149 --
150 -- The g_old_rec is current therefore we must
151 -- set the returning function to true
152 --
153 l_fct_ret := true;
154 Else
155 --
156 -- Select the current row into g_old_rec
157 --
158 Open C_Sel1;
159 Fetch C_Sel1 Into per_pjo_shd.g_old_rec;
160 If C_Sel1%notfound Then
161 Close C_Sel1;
162 --
163 -- The primary key is invalid therefore we must error
164 --
165 fnd_message.set_name('PAY', 'HR_7220_INVALID_PRIMARY_KEY');
166 fnd_message.raise_error;
167 End If;
168 Close C_Sel1;
169 If (p_object_version_number
170 <> per_pjo_shd.g_old_rec.object_version_number) Then
171 fnd_message.set_name('PAY', 'HR_7155_OBJECT_INVALID');
172 fnd_message.raise_error;
173 End If;
174 l_fct_ret := true;
175 End If;
176 End If;
177 Return (l_fct_ret);
178 --
179 End api_updating;
180 --
181 -- ----------------------------------------------------------------------------
182 -- |---------------------------------< lck >----------------------------------|
183 -- ----------------------------------------------------------------------------
184 Procedure lck
185 (p_previous_job_id in number
186 ,p_object_version_number in number
187 ) is
188 --
189 -- Cursor selects the 'current' row from the HR Schema
190 --
191 Cursor C_Sel1 is
192 select
193 previous_job_id
194 ,previous_employer_id
195 ,start_date
196 ,end_date
197 ,period_years
198 ,period_days
199 ,job_name
200 ,employment_category
201 ,description
202 ,pjo_attribute_category
203 ,pjo_attribute1
204 ,pjo_attribute2
205 ,pjo_attribute3
206 ,pjo_attribute4
207 ,pjo_attribute5
208 ,pjo_attribute6
209 ,pjo_attribute7
210 ,pjo_attribute8
211 ,pjo_attribute9
212 ,pjo_attribute10
213 ,pjo_attribute11
214 ,pjo_attribute12
215 ,pjo_attribute13
216 ,pjo_attribute14
217 ,pjo_attribute15
218 ,pjo_attribute16
219 ,pjo_attribute17
220 ,pjo_attribute18
221 ,pjo_attribute19
222 ,pjo_attribute20
223 ,pjo_attribute21
224 ,pjo_attribute22
225 ,pjo_attribute23
226 ,pjo_attribute24
227 ,pjo_attribute25
228 ,pjo_attribute26
229 ,pjo_attribute27
230 ,pjo_attribute28
231 ,pjo_attribute29
232 ,pjo_attribute30
233 ,pjo_information_category
234 ,pjo_information1
235 ,pjo_information2
236 ,pjo_information3
237 ,pjo_information4
238 ,pjo_information5
239 ,pjo_information6
240 ,pjo_information7
241 ,pjo_information8
242 ,pjo_information9
243 ,pjo_information10
244 ,pjo_information11
245 ,pjo_information12
246 ,pjo_information13
247 ,pjo_information14
248 ,pjo_information15
249 ,pjo_information16
250 ,pjo_information17
251 ,pjo_information18
252 ,pjo_information19
253 ,pjo_information20
254 ,pjo_information21
255 ,pjo_information22
256 ,pjo_information23
257 ,pjo_information24
258 ,pjo_information25
259 ,pjo_information26
260 ,pjo_information27
261 ,pjo_information28
262 ,pjo_information29
263 ,pjo_information30
264 ,object_version_number
265 ,all_assignments
266 ,period_months
267 from per_previous_jobs
268 where previous_job_id = p_previous_job_id
269 for update nowait;
270 --
271 l_proc varchar2(72) := g_package||'lck';
272 --
273 Begin
274 hr_utility.set_location('Entering:'||l_proc, 5);
275 --
276 hr_api.mandatory_arg_error
277 (p_api_name => l_proc
278 ,p_argument => 'PREVIOUS_JOB_ID'
279 ,p_argument_value => p_previous_job_id
280 );
281 hr_utility.set_location(l_proc,6);
282 hr_api.mandatory_arg_error
283 (p_api_name => l_proc
284 ,p_argument => 'OBJECT_VERSION_NUMBER'
285 ,p_argument_value => p_object_version_number
286 );
287 --
288 Open C_Sel1;
289 Fetch C_Sel1 Into per_pjo_shd.g_old_rec;
290 If C_Sel1%notfound then
291 Close C_Sel1;
292 --
293 -- The primary key is invalid therefore we must error
294 --
295 fnd_message.set_name('PAY', 'HR_7220_INVALID_PRIMARY_KEY');
296 fnd_message.raise_error;
297 End If;
298 Close C_Sel1;
299 If (p_object_version_number
300 <> per_pjo_shd.g_old_rec.object_version_number) Then
301 fnd_message.set_name('PAY', 'HR_7155_OBJECT_INVALID');
302 fnd_message.raise_error;
303 End If;
304 --
305 hr_utility.set_location(' Leaving:'||l_proc, 10);
306 --
307 -- We need to trap the ORA LOCK exception
308 --
309 Exception
310 When HR_Api.Object_Locked then
311 --
312 -- The object is locked therefore we need to supply a meaningful
313 -- error message.
314 --
315 fnd_message.set_name('PAY', 'HR_7165_OBJECT_LOCKED');
316 fnd_message.set_token('TABLE_NAME', 'per_previous_jobs');
317 fnd_message.raise_error;
318 End lck;
319 --
320 -- ----------------------------------------------------------------------------
321 -- |-----------------------------< convert_args >-----------------------------|
322 -- ----------------------------------------------------------------------------
323 Function convert_args
324 (p_previous_job_id in number
325 ,p_previous_employer_id in number
326 ,p_start_date in date
327 ,p_end_date in date
328 ,p_period_years in number
329 ,p_period_days in number
330 ,p_job_name in varchar2
331 ,p_employment_category in varchar2
332 ,p_description in varchar2
333 ,p_pjo_attribute_category in varchar2
334 ,p_pjo_attribute1 in varchar2
335 ,p_pjo_attribute2 in varchar2
336 ,p_pjo_attribute3 in varchar2
337 ,p_pjo_attribute4 in varchar2
338 ,p_pjo_attribute5 in varchar2
339 ,p_pjo_attribute6 in varchar2
340 ,p_pjo_attribute7 in varchar2
341 ,p_pjo_attribute8 in varchar2
342 ,p_pjo_attribute9 in varchar2
343 ,p_pjo_attribute10 in varchar2
344 ,p_pjo_attribute11 in varchar2
345 ,p_pjo_attribute12 in varchar2
346 ,p_pjo_attribute13 in varchar2
347 ,p_pjo_attribute14 in varchar2
348 ,p_pjo_attribute15 in varchar2
349 ,p_pjo_attribute16 in varchar2
350 ,p_pjo_attribute17 in varchar2
351 ,p_pjo_attribute18 in varchar2
352 ,p_pjo_attribute19 in varchar2
353 ,p_pjo_attribute20 in varchar2
354 ,p_pjo_attribute21 in varchar2
355 ,p_pjo_attribute22 in varchar2
356 ,p_pjo_attribute23 in varchar2
357 ,p_pjo_attribute24 in varchar2
358 ,p_pjo_attribute25 in varchar2
359 ,p_pjo_attribute26 in varchar2
360 ,p_pjo_attribute27 in varchar2
361 ,p_pjo_attribute28 in varchar2
362 ,p_pjo_attribute29 in varchar2
363 ,p_pjo_attribute30 in varchar2
364 ,p_pjo_information_category in varchar2
365 ,p_pjo_information1 in varchar2
366 ,p_pjo_information2 in varchar2
367 ,p_pjo_information3 in varchar2
368 ,p_pjo_information4 in varchar2
369 ,p_pjo_information5 in varchar2
370 ,p_pjo_information6 in varchar2
371 ,p_pjo_information7 in varchar2
372 ,p_pjo_information8 in varchar2
373 ,p_pjo_information9 in varchar2
374 ,p_pjo_information10 in varchar2
375 ,p_pjo_information11 in varchar2
376 ,p_pjo_information12 in varchar2
377 ,p_pjo_information13 in varchar2
378 ,p_pjo_information14 in varchar2
379 ,p_pjo_information15 in varchar2
380 ,p_pjo_information16 in varchar2
381 ,p_pjo_information17 in varchar2
382 ,p_pjo_information18 in varchar2
383 ,p_pjo_information19 in varchar2
384 ,p_pjo_information20 in varchar2
385 ,p_pjo_information21 in varchar2
386 ,p_pjo_information22 in varchar2
387 ,p_pjo_information23 in varchar2
388 ,p_pjo_information24 in varchar2
389 ,p_pjo_information25 in varchar2
390 ,p_pjo_information26 in varchar2
391 ,p_pjo_information27 in varchar2
392 ,p_pjo_information28 in varchar2
393 ,p_pjo_information29 in varchar2
394 ,p_pjo_information30 in varchar2
395 ,p_object_version_number in number
396 ,p_all_assignments in varchar2
397 ,p_period_months in number
398 )
399 Return g_rec_type is
400 --
401 l_rec g_rec_type;
402 --
403 Begin
404 --
405 -- Convert arguments into local l_rec structure.
406 --
407 l_rec.previous_job_id := p_previous_job_id;
408 l_rec.previous_employer_id := p_previous_employer_id;
409 l_rec.start_date := p_start_date;
410 l_rec.end_date := p_end_date;
411 l_rec.period_years := p_period_years;
412 l_rec.period_days := p_period_days;
413 l_rec.job_name := p_job_name;
414 l_rec.employment_category := p_employment_category;
415 l_rec.description := p_description;
416 l_rec.pjo_attribute_category := p_pjo_attribute_category;
417 l_rec.pjo_attribute1 := p_pjo_attribute1;
418 l_rec.pjo_attribute2 := p_pjo_attribute2;
419 l_rec.pjo_attribute3 := p_pjo_attribute3;
420 l_rec.pjo_attribute4 := p_pjo_attribute4;
421 l_rec.pjo_attribute5 := p_pjo_attribute5;
422 l_rec.pjo_attribute6 := p_pjo_attribute6;
423 l_rec.pjo_attribute7 := p_pjo_attribute7;
424 l_rec.pjo_attribute8 := p_pjo_attribute8;
425 l_rec.pjo_attribute9 := p_pjo_attribute9;
426 l_rec.pjo_attribute10 := p_pjo_attribute10;
427 l_rec.pjo_attribute11 := p_pjo_attribute11;
431 l_rec.pjo_attribute15 := p_pjo_attribute15;
428 l_rec.pjo_attribute12 := p_pjo_attribute12;
429 l_rec.pjo_attribute13 := p_pjo_attribute13;
430 l_rec.pjo_attribute14 := p_pjo_attribute14;
432 l_rec.pjo_attribute16 := p_pjo_attribute16;
433 l_rec.pjo_attribute17 := p_pjo_attribute17;
434 l_rec.pjo_attribute18 := p_pjo_attribute18;
435 l_rec.pjo_attribute19 := p_pjo_attribute19;
436 l_rec.pjo_attribute20 := p_pjo_attribute20;
437 l_rec.pjo_attribute21 := p_pjo_attribute21;
438 l_rec.pjo_attribute22 := p_pjo_attribute22;
439 l_rec.pjo_attribute23 := p_pjo_attribute23;
440 l_rec.pjo_attribute24 := p_pjo_attribute24;
441 l_rec.pjo_attribute25 := p_pjo_attribute25;
442 l_rec.pjo_attribute26 := p_pjo_attribute26;
443 l_rec.pjo_attribute27 := p_pjo_attribute27;
444 l_rec.pjo_attribute28 := p_pjo_attribute28;
445 l_rec.pjo_attribute29 := p_pjo_attribute29;
446 l_rec.pjo_attribute30 := p_pjo_attribute30;
447 l_rec.pjo_information_category := p_pjo_information_category;
448 l_rec.pjo_information1 := p_pjo_information1;
449 l_rec.pjo_information2 := p_pjo_information2;
450 l_rec.pjo_information3 := p_pjo_information3;
451 l_rec.pjo_information4 := p_pjo_information4;
452 l_rec.pjo_information5 := p_pjo_information5;
453 l_rec.pjo_information6 := p_pjo_information6;
454 l_rec.pjo_information7 := p_pjo_information7;
455 l_rec.pjo_information8 := p_pjo_information8;
456 l_rec.pjo_information9 := p_pjo_information9;
457 l_rec.pjo_information10 := p_pjo_information10;
458 l_rec.pjo_information11 := p_pjo_information11;
459 l_rec.pjo_information12 := p_pjo_information12;
460 l_rec.pjo_information13 := p_pjo_information13;
461 l_rec.pjo_information14 := p_pjo_information14;
462 l_rec.pjo_information15 := p_pjo_information15;
463 l_rec.pjo_information16 := p_pjo_information16;
464 l_rec.pjo_information17 := p_pjo_information17;
465 l_rec.pjo_information18 := p_pjo_information18;
466 l_rec.pjo_information19 := p_pjo_information19;
467 l_rec.pjo_information20 := p_pjo_information20;
468 l_rec.pjo_information21 := p_pjo_information21;
469 l_rec.pjo_information22 := p_pjo_information22;
470 l_rec.pjo_information23 := p_pjo_information23;
471 l_rec.pjo_information24 := p_pjo_information24;
472 l_rec.pjo_information25 := p_pjo_information25;
473 l_rec.pjo_information26 := p_pjo_information26;
474 l_rec.pjo_information27 := p_pjo_information27;
475 l_rec.pjo_information28 := p_pjo_information28;
476 l_rec.pjo_information29 := p_pjo_information29;
477 l_rec.pjo_information30 := p_pjo_information30;
478 l_rec.object_version_number := p_object_version_number;
479 l_rec.all_assignments := p_all_assignments;
480 l_rec.period_months := p_period_months;
481 --
482 -- Return the plsql record structure.
483 --
484 Return(l_rec);
485 --
486 End convert_args;
487 --
488 end per_pjo_shd;