[Home] [Help]
PACKAGE BODY: APPS.BEN_PLI_SHD
Source
1 Package Body ben_pli_shd as
2 /* $Header: beplirhi.pkb 115.1 2003/09/24 00:02:28 hmani noship $ */
3 --
4 -- ----------------------------------------------------------------------------
5 -- | Private Global Definitions |
6 -- ----------------------------------------------------------------------------
7 --
8 g_package varchar2(33) := ' ben_pli_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 = 'BEN_PL_EXTRA_INFO_FK1') Then
22 hr_utility.set_message(801, 'HR_INV_INFO_TYPE');
23 hr_utility.raise_error;
24 ElsIf (p_constraint_name = 'BEN_PL_EXTRA_INFO_FK2') Then
25 hr_utility.set_message(801, 'HR_INV_pl_ID');
26 hr_utility.raise_error;
27 ElsIf (p_constraint_name = 'BEN_PL_EXTRA_INFO_PK') Then
28 hr_utility.set_message(801, 'HR_6153_ALL_PROCEDURE_FAIL');
29 hr_utility.set_message_token('PROCEDURE', l_proc);
30 hr_utility.set_message_token('STEP','15');
31 hr_utility.raise_error;
32 Else
33 hr_utility.set_message(801, 'HR_7877_API_INVALID_CONSTRAINT');
34 hr_utility.set_message_token('PROCEDURE', l_proc);
35 hr_utility.set_message_token('CONSTRAINT_NAME', p_constraint_name);
36 hr_utility.raise_error;
37 End If;
38 --
39 hr_utility.set_location(' Leaving:'||l_proc, 10);
40 End constraint_error;
41 --
42 -- ----------------------------------------------------------------------------
43 -- |-----------------------------< api_updating >-----------------------------|
44 -- ----------------------------------------------------------------------------
45 Function api_updating
46 (
47 p_pl_extra_info_id in number,
48
49 p_object_version_number in number
50 ) Return Boolean Is
51 --
52 --
53 -- Cursor selects the 'current' row from the HR Schema
54 --
55 Cursor C_Sel1 is
56 select
57 pl_extra_info_id,
58 information_type,
59 pl_id,
60 request_id,
61 program_application_id,
62 program_id,
63 program_update_date,
64 pli_attribute_category,
65 pli_attribute1,
66 pli_attribute2,
67 pli_attribute3,
68 pli_attribute4,
69 pli_attribute5,
70 pli_attribute6,
71 pli_attribute7,
72 pli_attribute8,
73 pli_attribute9,
74 pli_attribute10,
75 pli_attribute11,
76 pli_attribute12,
77 pli_attribute13,
78 pli_attribute14,
79 pli_attribute15,
80 pli_attribute16,
81 pli_attribute17,
82 pli_attribute18,
83 pli_attribute19,
84 pli_attribute20,
85 pli_information_category,
86 pli_information1,
87 pli_information2,
88 pli_information3,
89 pli_information4,
90 pli_information5,
91 pli_information6,
92 pli_information7,
93 pli_information8,
94 pli_information9,
95 pli_information10,
96 pli_information11,
97 pli_information12,
98 pli_information13,
99 pli_information14,
100 pli_information15,
101 pli_information16,
102 pli_information17,
103 pli_information18,
104 pli_information19,
105 pli_information20,
106 pli_information21,
107 pli_information22,
108 pli_information23,
109 pli_information24,
110 pli_information25,
111 pli_information26,
112 pli_information27,
113 pli_information28,
114 pli_information29,
115 pli_information30,
116 object_version_number
117 from BEN_pl_extra_info
118 where pl_extra_info_id = p_pl_extra_info_id;
119 --
120 l_proc varchar2(72) := g_package||'api_updating';
121 l_fct_ret boolean;
122 --
123 Begin
124 hr_utility.set_location('Entering:'||l_proc, 5);
125 --
126 If (
127 p_pl_extra_info_id is null and
128 p_object_version_number is null
129 ) Then
130 --
131 -- One of the primary key arguments is null therefore we must
132 -- set the returning function value to false
133 --
134 l_fct_ret := false;
135 Else
136 If (
137 p_pl_extra_info_id = g_old_rec.pl_extra_info_id and
138 p_object_version_number = g_old_rec.object_version_number
139 ) Then
140 hr_utility.set_location(l_proc, 10);
141 --
142 -- The g_old_rec is current therefore we must
143 -- set the returning function to true
144 --
145 l_fct_ret := true;
146 Else
147 --
148 -- Select the current row into g_old_rec
149 --
150 Open C_Sel1;
151 Fetch C_Sel1 Into g_old_rec;
152 If C_Sel1%notfound Then
153 Close C_Sel1;
154 --
155 -- The primary key is invalid therefore we must error
156 --
157 hr_utility.set_message(801, 'HR_7220_INVALID_PRIMARY_KEY');
158 hr_utility.raise_error;
159 End If;
160 Close C_Sel1;
161 If (p_object_version_number <> g_old_rec.object_version_number) Then
162 hr_utility.set_message(801, 'HR_7155_OBJECT_INVALID');
163 hr_utility.raise_error;
164 End If;
165 hr_utility.set_location(l_proc, 15);
166 l_fct_ret := true;
167 End If;
168 End If;
169 hr_utility.set_location(' Leaving:'||l_proc, 20);
170 Return (l_fct_ret);
171 --
172 End api_updating;
173 --
174 -- ----------------------------------------------------------------------------
175 -- |---------------------------------< lck >----------------------------------|
176 -- ----------------------------------------------------------------------------
177 Procedure lck
178 (
179 p_pl_extra_info_id in number,
180 p_object_version_number in number
181 ) is
182 --
183 -- Cursor selects the 'current' row from the HR Schema
184 --
185 Cursor C_Sel1 is
186 select pl_extra_info_id,
187 information_type,
188 pl_id,
189 request_id,
190 program_application_id,
191 program_id,
192 program_update_date,
193 pli_attribute_category,
194 pli_attribute1,
195 pli_attribute2,
196 pli_attribute3,
197 pli_attribute4,
198 pli_attribute5,
199 pli_attribute6,
200 pli_attribute7,
201 pli_attribute8,
202 pli_attribute9,
203 pli_attribute10,
204 pli_attribute11,
205 pli_attribute12,
206 pli_attribute13,
207 pli_attribute14,
208 pli_attribute15,
209 pli_attribute16,
210 pli_attribute17,
211 pli_attribute18,
212 pli_attribute19,
213 pli_attribute20,
214 pli_information_category,
215 pli_information1,
216 pli_information2,
217 pli_information3,
218 pli_information4,
219 pli_information5,
220 pli_information6,
221 pli_information7,
222 pli_information8,
223 pli_information9,
224 pli_information10,
225 pli_information11,
226 pli_information12,
227 pli_information13,
228 pli_information14,
229 pli_information15,
230 pli_information16,
231 pli_information17,
232 pli_information18,
233 pli_information19,
234 pli_information20,
235 pli_information21,
236 pli_information22,
237 pli_information23,
238 pli_information24,
239 pli_information25,
240 pli_information26,
241 pli_information27,
242 pli_information28,
243 pli_information29,
244 pli_information30,
245 object_version_number
246 from ben_pl_extra_info
247 where pl_extra_info_id = p_pl_extra_info_id
248 for update nowait;
249 --
250 l_proc varchar2(72) := g_package||'lck';
251 --
252 Begin
253 hr_utility.set_location('Entering:'||l_proc, 5);
254 --
255 -- Add any mandatory argument checking here:
256 -- Example:
260 -- p_argument_value => p_object_version_number);
257 -- hr_api.mandatory_arg_error
258 -- (p_api_name => l_proc,
259 -- p_argument => 'object_version_number',
261 --
262 Open C_Sel1;
263 Fetch C_Sel1 Into g_old_rec;
264 If C_Sel1%notfound then
265 Close C_Sel1;
266 --
267 -- The primary key is invalid therefore we must error
268 --
269 hr_utility.set_message(801, 'HR_7220_INVALID_PRIMARY_KEY');
270 hr_utility.raise_error;
271 End If;
272 Close C_Sel1;
273 If (p_object_version_number <> g_old_rec.object_version_number) Then
274 hr_utility.set_message(801, 'HR_7155_OBJECT_INVALID');
275 hr_utility.raise_error;
276 End If;
277 --
278 hr_utility.set_location(' Leaving:'||l_proc, 10);
279 --
280 -- We need to trap the ORA LOCK exception
281 --
282 Exception
283 When HR_Api.Object_Locked then
284 --
285 -- The object is locked therefore we need to supply a meaningful
286 -- error message.
287 --
288 hr_utility.set_message(801, 'HR_7165_OBJECT_LOCKED');
289 hr_utility.set_message_token('TABLE_NAME', 'BEN_PL_EXTRA_INFO');
290 hr_utility.raise_error;
291 End lck;
292 --
293 -- ----------------------------------------------------------------------------
294 -- |-----------------------------< convert_args >-----------------------------|
295 -- ----------------------------------------------------------------------------
296 Function convert_args
297 (
298 p_pl_extra_info_id in number,
299 p_information_type in varchar2,
300 p_pl_id in number,
301 p_request_id in number,
302 p_program_application_id in number,
303 p_program_id in number,
304 p_program_update_date in date,
305 p_pli_attribute_category in varchar2,
306 p_pli_attribute1 in varchar2,
307 p_pli_attribute2 in varchar2,
308 p_pli_attribute3 in varchar2,
309 p_pli_attribute4 in varchar2,
310 p_pli_attribute5 in varchar2,
311 p_pli_attribute6 in varchar2,
312 p_pli_attribute7 in varchar2,
313 p_pli_attribute8 in varchar2,
314 p_pli_attribute9 in varchar2,
315 p_pli_attribute10 in varchar2,
316 p_pli_attribute11 in varchar2,
317 p_pli_attribute12 in varchar2,
318 p_pli_attribute13 in varchar2,
319 p_pli_attribute14 in varchar2,
320 p_pli_attribute15 in varchar2,
321 p_pli_attribute16 in varchar2,
322 p_pli_attribute17 in varchar2,
323 p_pli_attribute18 in varchar2,
324 p_pli_attribute19 in varchar2,
325 p_pli_attribute20 in varchar2,
326 p_pli_information_category in varchar2,
327 p_pli_information1 in varchar2,
328 p_pli_information2 in varchar2,
329 p_pli_information3 in varchar2,
330 p_pli_information4 in varchar2,
331 p_pli_information5 in varchar2,
332 p_pli_information6 in varchar2,
333 p_pli_information7 in varchar2,
334 p_pli_information8 in varchar2,
335 p_pli_information9 in varchar2,
336 p_pli_information10 in varchar2,
337 p_pli_information11 in varchar2,
338 p_pli_information12 in varchar2,
339 p_pli_information13 in varchar2,
340 p_pli_information14 in varchar2,
341 p_pli_information15 in varchar2,
342 p_pli_information16 in varchar2,
343 p_pli_information17 in varchar2,
344 p_pli_information18 in varchar2,
345 p_pli_information19 in varchar2,
346 p_pli_information20 in varchar2,
347 p_pli_information21 in varchar2,
348 p_pli_information22 in varchar2,
349 p_pli_information23 in varchar2,
350 p_pli_information24 in varchar2,
351 p_pli_information25 in varchar2,
352 p_pli_information26 in varchar2,
353 p_pli_information27 in varchar2,
354 p_pli_information28 in varchar2,
358 )
355 p_pli_information29 in varchar2,
356 p_pli_information30 in varchar2,
357 p_object_version_number in number
359 Return g_rec_type is
360 --
361 l_rec g_rec_type;
362 l_proc varchar2(72) := g_package||'convert_args';
363 --
364 Begin
365 --
366 hr_utility.set_location('Entering:'||l_proc, 5);
367 --
368 -- Convert arguments into local l_rec structure.
369 --
370 l_rec.pl_extra_info_id := p_pl_extra_info_id;
371 l_rec.information_type := p_information_type;
372 l_rec.pl_id := p_pl_id;
373 l_rec.request_id := p_request_id;
374 l_rec.program_application_id := p_program_application_id;
375 l_rec.program_id := p_program_id;
376 l_rec.program_update_date := p_program_update_date;
377 l_rec.pli_attribute_category := p_pli_attribute_category;
378 l_rec.pli_attribute1 := p_pli_attribute1;
379 l_rec.pli_attribute2 := p_pli_attribute2;
380 l_rec.pli_attribute3 := p_pli_attribute3;
381 l_rec.pli_attribute4 := p_pli_attribute4;
382 l_rec.pli_attribute5 := p_pli_attribute5;
383 l_rec.pli_attribute6 := p_pli_attribute6;
384 l_rec.pli_attribute7 := p_pli_attribute7;
385 l_rec.pli_attribute8 := p_pli_attribute8;
386 l_rec.pli_attribute9 := p_pli_attribute9;
387 l_rec.pli_attribute10 := p_pli_attribute10;
388 l_rec.pli_attribute11 := p_pli_attribute11;
389 l_rec.pli_attribute12 := p_pli_attribute12;
390 l_rec.pli_attribute13 := p_pli_attribute13;
391 l_rec.pli_attribute14 := p_pli_attribute14;
392 l_rec.pli_attribute15 := p_pli_attribute15;
393 l_rec.pli_attribute16 := p_pli_attribute16;
394 l_rec.pli_attribute17 := p_pli_attribute17;
395 l_rec.pli_attribute18 := p_pli_attribute18;
396 l_rec.pli_attribute19 := p_pli_attribute19;
397 l_rec.pli_attribute20 := p_pli_attribute20;
398 l_rec.pli_information_category := p_pli_information_category;
399 l_rec.pli_information1 := p_pli_information1;
400 l_rec.pli_information2 := p_pli_information2;
401 l_rec.pli_information3 := p_pli_information3;
402 l_rec.pli_information4 := p_pli_information4;
403 l_rec.pli_information5 := p_pli_information5;
404 l_rec.pli_information6 := p_pli_information6;
405 l_rec.pli_information7 := p_pli_information7;
406 l_rec.pli_information8 := p_pli_information8;
407 l_rec.pli_information9 := p_pli_information9;
408 l_rec.pli_information10 := p_pli_information10;
409 l_rec.pli_information11 := p_pli_information11;
410 l_rec.pli_information12 := p_pli_information12;
411 l_rec.pli_information13 := p_pli_information13;
412 l_rec.pli_information14 := p_pli_information14;
413 l_rec.pli_information15 := p_pli_information15;
414 l_rec.pli_information16 := p_pli_information16;
415 l_rec.pli_information17 := p_pli_information17;
416 l_rec.pli_information18 := p_pli_information18;
417 l_rec.pli_information19 := p_pli_information19;
418 l_rec.pli_information20 := p_pli_information20;
419 l_rec.pli_information21 := p_pli_information21;
420 l_rec.pli_information22 := p_pli_information22;
421 l_rec.pli_information23 := p_pli_information23;
422 l_rec.pli_information24 := p_pli_information24;
423 l_rec.pli_information25 := p_pli_information25;
424 l_rec.pli_information26 := p_pli_information26;
425 l_rec.pli_information27 := p_pli_information27;
426 l_rec.pli_information28 := p_pli_information28;
427 l_rec.pli_information29 := p_pli_information29;
428 l_rec.pli_information30 := p_pli_information30;
429 l_rec.object_version_number := p_object_version_number;
430 --
431 -- Return the plsql record structure.
432 --
433 hr_utility.set_location(' Leaving:'||l_proc, 10);
434 Return(l_rec);
435 --
436 End convert_args;
437 --
438 end ben_pli_shd;