[Home] [Help]
PACKAGE BODY: APPS.PE_PEI_SHD
Source
1 Package Body pe_pei_shd as
2 /* $Header: pepeirhi.pkb 120.1 2005/07/25 05:01:42 jpthomas noship $ */
3 --
4 -- ----------------------------------------------------------------------------
5 -- | Private Global Definitions |
6 -- ----------------------------------------------------------------------------
7 --
8 g_package varchar2(33) := ' pe_pei_shd.'; -- Global package name
9 --
10 -- ----------------------------------------------------------------------------
11 -- |---------------------------< constraint_error >---------------------------|
12 -- ----------------------------------------------------------------------------
13 Procedure constraint_error
14 (p_constraint_name in all_constraints.constraint_name%TYPE) Is
15 --
16 l_proc varchar2(72) := g_package||'constraint_error';
17 --
18 Begin
19 hr_utility.set_location('Entering:'||l_proc, 5);
20 --
21 If (p_constraint_name = 'PER_PEOPLE_EXTRA_INFO_FK1') Then
22 hr_utility.set_message(800, 'HR_INV_INFO_TYPE');
23 hr_utility.raise_error;
24 ElsIf (p_constraint_name = 'PER_PEOPLE_EXTRA_INFO_PK') Then
25 hr_utility.set_message(801, 'HR_6153_ALL_PROCEDURE_FAIL');
26 hr_utility.set_message_token('PROCEDURE', l_proc);
27 hr_utility.set_message_token('STEP','10');
28 hr_utility.raise_error;
29 Else
30 hr_utility.set_message(801, 'HR_7877_API_INVALID_CONSTRAINT');
31 hr_utility.set_message_token('PROCEDURE', l_proc);
32 hr_utility.set_message_token('CONSTRAINT_NAME', p_constraint_name);
33 hr_utility.raise_error;
34 End If;
35 --
36 hr_utility.set_location(' Leaving:'||l_proc, 10);
37 End constraint_error;
38 --
39 -- ----------------------------------------------------------------------------
40 -- |-----------------------------< api_updating >-----------------------------|
41 -- ----------------------------------------------------------------------------
42 Function api_updating
43 (
44 p_person_extra_info_id in number,
45 p_object_version_number in number
46 ) Return Boolean Is
47 --
48 --
49 -- Cursor selects the 'current' row from the HR Schema
50 --
51 Cursor C_Sel1 is
52 select
53 person_extra_info_id,
54 person_id,
55 information_type,
56 request_id,
57 program_application_id,
58 program_id,
59 program_update_date,
60 pei_attribute_category,
61 pei_attribute1,
62 pei_attribute2,
63 pei_attribute3,
64 pei_attribute4,
65 pei_attribute5,
66 pei_attribute6,
67 pei_attribute7,
68 pei_attribute8,
69 pei_attribute9,
70 pei_attribute10,
71 pei_attribute11,
72 pei_attribute12,
73 pei_attribute13,
74 pei_attribute14,
75 pei_attribute15,
76 pei_attribute16,
77 pei_attribute17,
78 pei_attribute18,
79 pei_attribute19,
80 pei_attribute20,
81 pei_information_category,
82 pei_information1,
83 pei_information2,
84 pei_information3,
85 pei_information4,
86 pei_information5,
87 pei_information6,
88 pei_information7,
89 pei_information8,
90 pei_information9,
91 pei_information10,
92 pei_information11,
93 pei_information12,
94 pei_information13,
95 pei_information14,
96 pei_information15,
97 pei_information16,
98 pei_information17,
99 pei_information18,
100 pei_information19,
101 pei_information20,
102 pei_information21,
103 pei_information22,
104 pei_information23,
105 pei_information24,
106 pei_information25,
107 pei_information26,
108 pei_information27,
109 pei_information28,
110 pei_information29,
111 pei_information30,
112 object_version_number
113 from per_people_extra_info
114 where person_extra_info_id = p_person_extra_info_id;
115 --
116 l_proc varchar2(72) := g_package||'api_updating';
117 l_fct_ret boolean;
118 --
119 Begin
120 hr_utility.set_location('Entering:'||l_proc, 5);
121 --
122 If (
123 p_person_extra_info_id is null and
124 p_object_version_number is null
125 ) Then
126 --
127 -- One of the primary key arguments is null therefore we must
128 -- set the returning function value to false
129 --
130 l_fct_ret := false;
131 Else
132 If (
133 p_person_extra_info_id = g_old_rec.person_extra_info_id and
134 p_object_version_number = g_old_rec.object_version_number
135 ) Then
136 hr_utility.set_location(l_proc, 10);
137 --
138 -- The g_old_rec is current therefore we must
139 -- set the returning function to true
140 --
141 l_fct_ret := true;
142 Else
143 --
144 -- Select the current row into g_old_rec
145 --
146 Open C_Sel1;
147 Fetch C_Sel1 Into g_old_rec;
148 If C_Sel1%notfound Then
149 Close C_Sel1;
150 --
151 -- The primary key is invalid therefore we must error
152 --
153 hr_utility.set_message(801, 'HR_7220_INVALID_PRIMARY_KEY');
154 hr_utility.raise_error;
155 End If;
156 Close C_Sel1;
157 If (p_object_version_number <> g_old_rec.object_version_number) Then
158 hr_utility.set_message(801, 'HR_7155_OBJECT_INVALID');
159 hr_utility.raise_error;
160 End If;
161 hr_utility.set_location(l_proc, 15);
162 l_fct_ret := true;
163 End If;
164 End If;
165 hr_utility.set_location(' Leaving:'||l_proc, 20);
166 Return (l_fct_ret);
167 --
168 End api_updating;
169 --
170 -- ----------------------------------------------------------------------------
171 -- |---------------------------------< lck >----------------------------------|
172 -- ----------------------------------------------------------------------------
173 Procedure lck
174 (
175 p_person_extra_info_id in number,
176 p_object_version_number in number
177 ) is
178 --
179 -- Cursor selects the 'current' row from the HR Schema
180 --
181 Cursor C_Sel1 is
182 select person_extra_info_id,
183 person_id,
184 information_type,
185 request_id,
186 program_application_id,
187 program_id,
188 program_update_date,
189 pei_attribute_category,
190 pei_attribute1,
191 pei_attribute2,
192 pei_attribute3,
193 pei_attribute4,
194 pei_attribute5,
195 pei_attribute6,
196 pei_attribute7,
197 pei_attribute8,
198 pei_attribute9,
199 pei_attribute10,
200 pei_attribute11,
201 pei_attribute12,
202 pei_attribute13,
203 pei_attribute14,
204 pei_attribute15,
205 pei_attribute16,
206 pei_attribute17,
207 pei_attribute18,
208 pei_attribute19,
209 pei_attribute20,
210 pei_information_category,
211 pei_information1,
212 pei_information2,
213 pei_information3,
214 pei_information4,
215 pei_information5,
216 pei_information6,
217 pei_information7,
218 pei_information8,
219 pei_information9,
220 pei_information10,
221 pei_information11,
222 pei_information12,
223 pei_information13,
224 pei_information14,
225 pei_information15,
226 pei_information16,
227 pei_information17,
228 pei_information18,
229 pei_information19,
230 pei_information20,
231 pei_information21,
232 pei_information22,
233 pei_information23,
234 pei_information24,
235 pei_information25,
236 pei_information26,
237 pei_information27,
238 pei_information28,
239 pei_information29,
240 pei_information30,
241 object_version_number
242 from per_people_extra_info
243 where person_extra_info_id = p_person_extra_info_id
244 for update nowait;
245 --
246 l_proc varchar2(72) := g_package||'lck';
247 --
248 Begin
249 hr_utility.set_location('Entering:'||l_proc, 5);
250 --
251 -- Add any mandatory argument checking here:
252 -- Example:
253 -- hr_api.mandatory_arg_error
254 -- (p_api_name => l_proc,
255 -- p_argument => 'object_version_number',
256 -- p_argument_value => p_object_version_number);
257 --
258 Open C_Sel1;
259 Fetch C_Sel1 Into g_old_rec;
260 If C_Sel1%notfound then
261 Close C_Sel1;
262 --
263 -- The primary key is invalid therefore we must error
264 --
265 hr_utility.set_message(801, 'HR_7220_INVALID_PRIMARY_KEY');
266 hr_utility.raise_error;
267 End If;
268 Close C_Sel1;
269 If (p_object_version_number <> g_old_rec.object_version_number) Then
270 hr_utility.set_message(801, 'HR_7155_OBJECT_INVALID');
271 hr_utility.raise_error;
272 End If;
273 --
274 hr_utility.set_location(' Leaving:'||l_proc, 10);
275 --
276 -- We need to trap the ORA LOCK exception
277 --
278 Exception
279 When HR_Api.Object_Locked then
280 --
281 -- The object is locked therefore we need to supply a meaningful
282 -- error message.
283 --
284 hr_utility.set_message(801, 'HR_7165_OBJECT_LOCKED');
285 hr_utility.set_message_token('TABLE_NAME', 'per_people_extra_info');
286 hr_utility.raise_error;
287 End lck;
288 --
289 -- ----------------------------------------------------------------------------
290 -- |-----------------------------< convert_args >-----------------------------|
291 -- ----------------------------------------------------------------------------
292 Function convert_args
293 (
294 p_person_extra_info_id in number,
295 p_person_id in number,
296 p_information_type in varchar2,
297 p_request_id in number,
298 p_program_application_id in number,
299 p_program_id in number,
300 p_program_update_date in date,
301 p_pei_attribute_category in varchar2,
302 p_pei_attribute1 in varchar2,
303 p_pei_attribute2 in varchar2,
304 p_pei_attribute3 in varchar2,
305 p_pei_attribute4 in varchar2,
306 p_pei_attribute5 in varchar2,
307 p_pei_attribute6 in varchar2,
308 p_pei_attribute7 in varchar2,
309 p_pei_attribute8 in varchar2,
310 p_pei_attribute9 in varchar2,
311 p_pei_attribute10 in varchar2,
312 p_pei_attribute11 in varchar2,
313 p_pei_attribute12 in varchar2,
314 p_pei_attribute13 in varchar2,
315 p_pei_attribute14 in varchar2,
316 p_pei_attribute15 in varchar2,
317 p_pei_attribute16 in varchar2,
318 p_pei_attribute17 in varchar2,
319 p_pei_attribute18 in varchar2,
320 p_pei_attribute19 in varchar2,
321 p_pei_attribute20 in varchar2,
322 p_pei_information_category in varchar2,
323 p_pei_information1 in varchar2,
324 p_pei_information2 in varchar2,
325 p_pei_information3 in varchar2,
326 p_pei_information4 in varchar2,
327 p_pei_information5 in varchar2,
328 p_pei_information6 in varchar2,
329 p_pei_information7 in varchar2,
330 p_pei_information8 in varchar2,
331 p_pei_information9 in varchar2,
332 p_pei_information10 in varchar2,
333 p_pei_information11 in varchar2,
334 p_pei_information12 in varchar2,
335 p_pei_information13 in varchar2,
336 p_pei_information14 in varchar2,
337 p_pei_information15 in varchar2,
338 p_pei_information16 in varchar2,
339 p_pei_information17 in varchar2,
340 p_pei_information18 in varchar2,
341 p_pei_information19 in varchar2,
342 p_pei_information20 in varchar2,
343 p_pei_information21 in varchar2,
344 p_pei_information22 in varchar2,
345 p_pei_information23 in varchar2,
346 p_pei_information24 in varchar2,
347 p_pei_information25 in varchar2,
348 p_pei_information26 in varchar2,
349 p_pei_information27 in varchar2,
350 p_pei_information28 in varchar2,
351 p_pei_information29 in varchar2,
352 p_pei_information30 in varchar2,
353 p_object_version_number in number
354 )
355 Return g_rec_type is
356 --
357 l_rec g_rec_type;
358 l_proc varchar2(72) := g_package||'convert_args';
359 --
360 Begin
361 --
362 hr_utility.set_location('Entering:'||l_proc, 5);
363 --
364 -- Convert arguments into local l_rec structure.
365 --
366 l_rec.person_extra_info_id := p_person_extra_info_id;
367 l_rec.person_id := p_person_id;
368 l_rec.information_type := p_information_type;
369 l_rec.request_id := p_request_id;
370 l_rec.program_application_id := p_program_application_id;
371 l_rec.program_id := p_program_id;
372 l_rec.program_update_date := p_program_update_date;
373 l_rec.pei_attribute_category := p_pei_attribute_category;
374 l_rec.pei_attribute1 := p_pei_attribute1;
375 l_rec.pei_attribute2 := p_pei_attribute2;
376 l_rec.pei_attribute3 := p_pei_attribute3;
377 l_rec.pei_attribute4 := p_pei_attribute4;
378 l_rec.pei_attribute5 := p_pei_attribute5;
379 l_rec.pei_attribute6 := p_pei_attribute6;
380 l_rec.pei_attribute7 := p_pei_attribute7;
381 l_rec.pei_attribute8 := p_pei_attribute8;
382 l_rec.pei_attribute9 := p_pei_attribute9;
383 l_rec.pei_attribute10 := p_pei_attribute10;
384 l_rec.pei_attribute11 := p_pei_attribute11;
385 l_rec.pei_attribute12 := p_pei_attribute12;
386 l_rec.pei_attribute13 := p_pei_attribute13;
387 l_rec.pei_attribute14 := p_pei_attribute14;
388 l_rec.pei_attribute15 := p_pei_attribute15;
389 l_rec.pei_attribute16 := p_pei_attribute16;
390 l_rec.pei_attribute17 := p_pei_attribute17;
391 l_rec.pei_attribute18 := p_pei_attribute18;
392 l_rec.pei_attribute19 := p_pei_attribute19;
393 l_rec.pei_attribute20 := p_pei_attribute20;
394 l_rec.pei_information_category := p_pei_information_category;
395 l_rec.pei_information1 := p_pei_information1;
396 l_rec.pei_information2 := p_pei_information2;
397 l_rec.pei_information3 := p_pei_information3;
398 l_rec.pei_information4 := p_pei_information4;
399 l_rec.pei_information5 := p_pei_information5;
400 l_rec.pei_information6 := p_pei_information6;
401 l_rec.pei_information7 := p_pei_information7;
402 l_rec.pei_information8 := p_pei_information8;
403 l_rec.pei_information9 := p_pei_information9;
404 l_rec.pei_information10 := p_pei_information10;
405 l_rec.pei_information11 := p_pei_information11;
406 l_rec.pei_information12 := p_pei_information12;
407 l_rec.pei_information13 := p_pei_information13;
408 l_rec.pei_information14 := p_pei_information14;
409 l_rec.pei_information15 := p_pei_information15;
410 l_rec.pei_information16 := p_pei_information16;
411 l_rec.pei_information17 := p_pei_information17;
412 l_rec.pei_information18 := p_pei_information18;
413 l_rec.pei_information19 := p_pei_information19;
414 l_rec.pei_information20 := p_pei_information20;
415 l_rec.pei_information21 := p_pei_information21;
416 l_rec.pei_information22 := p_pei_information22;
417 l_rec.pei_information23 := p_pei_information23;
418 l_rec.pei_information24 := p_pei_information24;
419 l_rec.pei_information25 := p_pei_information25;
420 l_rec.pei_information26 := p_pei_information26;
421 l_rec.pei_information27 := p_pei_information27;
422 l_rec.pei_information28 := p_pei_information28;
423 l_rec.pei_information29 := p_pei_information29;
424 l_rec.pei_information30 := p_pei_information30;
425 l_rec.object_version_number := p_object_version_number;
426 --
427 -- Return the plsql record structure.
428 --
429 hr_utility.set_location(' Leaving:'||l_proc, 10);
430 Return(l_rec);
431 --
432 End convert_args;
433 --
434 end pe_pei_shd;