[Home] [Help]
PACKAGE BODY: APPS.BEN_PGI_SHD
Source
1 Package Body ben_pgi_shd as
2 /* $Header: bepgirhi.pkb 115.0 2003/09/23 10:19:40 hmani noship $ */
3 --
4 -- ----------------------------------------------------------------------------
5 -- | Private Global Definitions |
6 -- ----------------------------------------------------------------------------
7 --
8 g_package varchar2(33) := ' ben_pgi_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_PGM_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_PGM_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_PGM_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_pgm_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 pgm_extra_info_id,
58 information_type,
59 pgm_id,
60 request_id,
61 program_application_id,
62 program_id,
63 program_update_date,
64 pgi_attribute_category,
65 pgi_attribute1,
66 pgi_attribute2,
67 pgi_attribute3,
68 pgi_attribute4,
69 pgi_attribute5,
70 pgi_attribute6,
71 pgi_attribute7,
72 pgi_attribute8,
73 pgi_attribute9,
74 pgi_attribute10,
75 pgi_attribute11,
76 pgi_attribute12,
77 pgi_attribute13,
78 pgi_attribute14,
79 pgi_attribute15,
80 pgi_attribute16,
81 pgi_attribute17,
82 pgi_attribute18,
83 pgi_attribute19,
84 pgi_attribute20,
85 pgi_information_category,
86 pgi_information1,
87 pgi_information2,
88 pgi_information3,
89 pgi_information4,
90 pgi_information5,
91 pgi_information6,
92 pgi_information7,
93 pgi_information8,
94 pgi_information9,
95 pgi_information10,
96 pgi_information11,
97 pgi_information12,
98 pgi_information13,
99 pgi_information14,
100 pgi_information15,
101 pgi_information16,
102 pgi_information17,
103 pgi_information18,
104 pgi_information19,
105 pgi_information20,
106 pgi_information21,
107 pgi_information22,
108 pgi_information23,
109 pgi_information24,
110 pgi_information25,
111 pgi_information26,
112 pgi_information27,
113 pgi_information28,
114 pgi_information29,
115 pgi_information30,
116 object_version_number
117 from BEN_pgm_extra_info
118 where pgm_extra_info_id = p_pgm_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_pgm_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_pgm_extra_info_id = g_old_rec.pgm_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_pgm_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 pgm_extra_info_id,
187 information_type,
188 pgm_id,
189 request_id,
190 program_application_id,
191 program_id,
192 program_update_date,
193 pgi_attribute_category,
194 pgi_attribute1,
195 pgi_attribute2,
196 pgi_attribute3,
197 pgi_attribute4,
198 pgi_attribute5,
199 pgi_attribute6,
200 pgi_attribute7,
201 pgi_attribute8,
202 pgi_attribute9,
203 pgi_attribute10,
204 pgi_attribute11,
205 pgi_attribute12,
206 pgi_attribute13,
207 pgi_attribute14,
208 pgi_attribute15,
209 pgi_attribute16,
210 pgi_attribute17,
211 pgi_attribute18,
212 pgi_attribute19,
213 pgi_attribute20,
214 pgi_information_category,
215 pgi_information1,
216 pgi_information2,
217 pgi_information3,
218 pgi_information4,
219 pgi_information5,
220 pgi_information6,
221 pgi_information7,
222 pgi_information8,
223 pgi_information9,
224 pgi_information10,
225 pgi_information11,
226 pgi_information12,
227 pgi_information13,
228 pgi_information14,
229 pgi_information15,
230 pgi_information16,
231 pgi_information17,
232 pgi_information18,
233 pgi_information19,
234 pgi_information20,
235 pgi_information21,
236 pgi_information22,
237 pgi_information23,
238 pgi_information24,
239 pgi_information25,
240 pgi_information26,
241 pgi_information27,
242 pgi_information28,
243 pgi_information29,
244 pgi_information30,
245 object_version_number
246 from ben_pgm_extra_info
247 where pgm_extra_info_id = p_pgm_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:
257 -- hr_api.mandatory_arg_error
258 -- (p_api_name => l_proc,
259 -- p_argument => 'object_version_number',
260 -- p_argument_value => p_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_PGM_EXTRA_INFO');
290 hr_utility.raise_error;
291 End lck;
292 --
293 -- ----------------------------------------------------------------------------
294 -- |-----------------------------< convert_args >-----------------------------|
295 -- ----------------------------------------------------------------------------
296 Function convert_args
297 (
298 p_pgm_extra_info_id in number,
299 p_information_type in varchar2,
300 p_pgm_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_pgi_attribute_category in varchar2,
306 p_pgi_attribute1 in varchar2,
307 p_pgi_attribute2 in varchar2,
308 p_pgi_attribute3 in varchar2,
309 p_pgi_attribute4 in varchar2,
310 p_pgi_attribute5 in varchar2,
311 p_pgi_attribute6 in varchar2,
312 p_pgi_attribute7 in varchar2,
313 p_pgi_attribute8 in varchar2,
314 p_pgi_attribute9 in varchar2,
315 p_pgi_attribute10 in varchar2,
316 p_pgi_attribute11 in varchar2,
317 p_pgi_attribute12 in varchar2,
318 p_pgi_attribute13 in varchar2,
319 p_pgi_attribute14 in varchar2,
320 p_pgi_attribute15 in varchar2,
321 p_pgi_attribute16 in varchar2,
322 p_pgi_attribute17 in varchar2,
323 p_pgi_attribute18 in varchar2,
324 p_pgi_attribute19 in varchar2,
325 p_pgi_attribute20 in varchar2,
326 p_pgi_information_category in varchar2,
327 p_pgi_information1 in varchar2,
328 p_pgi_information2 in varchar2,
329 p_pgi_information3 in varchar2,
330 p_pgi_information4 in varchar2,
331 p_pgi_information5 in varchar2,
332 p_pgi_information6 in varchar2,
333 p_pgi_information7 in varchar2,
334 p_pgi_information8 in varchar2,
335 p_pgi_information9 in varchar2,
336 p_pgi_information10 in varchar2,
337 p_pgi_information11 in varchar2,
338 p_pgi_information12 in varchar2,
339 p_pgi_information13 in varchar2,
340 p_pgi_information14 in varchar2,
341 p_pgi_information15 in varchar2,
342 p_pgi_information16 in varchar2,
343 p_pgi_information17 in varchar2,
344 p_pgi_information18 in varchar2,
345 p_pgi_information19 in varchar2,
346 p_pgi_information20 in varchar2,
347 p_pgi_information21 in varchar2,
348 p_pgi_information22 in varchar2,
349 p_pgi_information23 in varchar2,
350 p_pgi_information24 in varchar2,
351 p_pgi_information25 in varchar2,
352 p_pgi_information26 in varchar2,
353 p_pgi_information27 in varchar2,
354 p_pgi_information28 in varchar2,
355 p_pgi_information29 in varchar2,
356 p_pgi_information30 in varchar2,
357 p_object_version_number in number
358 )
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.pgm_extra_info_id := p_pgm_extra_info_id;
371 l_rec.information_type := p_information_type;
372 l_rec.pgm_id := p_pgm_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.pgi_attribute_category := p_pgi_attribute_category;
378 l_rec.pgi_attribute1 := p_pgi_attribute1;
379 l_rec.pgi_attribute2 := p_pgi_attribute2;
380 l_rec.pgi_attribute3 := p_pgi_attribute3;
381 l_rec.pgi_attribute4 := p_pgi_attribute4;
382 l_rec.pgi_attribute5 := p_pgi_attribute5;
383 l_rec.pgi_attribute6 := p_pgi_attribute6;
384 l_rec.pgi_attribute7 := p_pgi_attribute7;
385 l_rec.pgi_attribute8 := p_pgi_attribute8;
386 l_rec.pgi_attribute9 := p_pgi_attribute9;
387 l_rec.pgi_attribute10 := p_pgi_attribute10;
388 l_rec.pgi_attribute11 := p_pgi_attribute11;
389 l_rec.pgi_attribute12 := p_pgi_attribute12;
390 l_rec.pgi_attribute13 := p_pgi_attribute13;
391 l_rec.pgi_attribute14 := p_pgi_attribute14;
392 l_rec.pgi_attribute15 := p_pgi_attribute15;
393 l_rec.pgi_attribute16 := p_pgi_attribute16;
394 l_rec.pgi_attribute17 := p_pgi_attribute17;
395 l_rec.pgi_attribute18 := p_pgi_attribute18;
396 l_rec.pgi_attribute19 := p_pgi_attribute19;
397 l_rec.pgi_attribute20 := p_pgi_attribute20;
398 l_rec.pgi_information_category := p_pgi_information_category;
399 l_rec.pgi_information1 := p_pgi_information1;
400 l_rec.pgi_information2 := p_pgi_information2;
401 l_rec.pgi_information3 := p_pgi_information3;
402 l_rec.pgi_information4 := p_pgi_information4;
403 l_rec.pgi_information5 := p_pgi_information5;
404 l_rec.pgi_information6 := p_pgi_information6;
405 l_rec.pgi_information7 := p_pgi_information7;
406 l_rec.pgi_information8 := p_pgi_information8;
407 l_rec.pgi_information9 := p_pgi_information9;
408 l_rec.pgi_information10 := p_pgi_information10;
409 l_rec.pgi_information11 := p_pgi_information11;
410 l_rec.pgi_information12 := p_pgi_information12;
411 l_rec.pgi_information13 := p_pgi_information13;
412 l_rec.pgi_information14 := p_pgi_information14;
413 l_rec.pgi_information15 := p_pgi_information15;
414 l_rec.pgi_information16 := p_pgi_information16;
415 l_rec.pgi_information17 := p_pgi_information17;
416 l_rec.pgi_information18 := p_pgi_information18;
417 l_rec.pgi_information19 := p_pgi_information19;
418 l_rec.pgi_information20 := p_pgi_information20;
419 l_rec.pgi_information21 := p_pgi_information21;
420 l_rec.pgi_information22 := p_pgi_information22;
421 l_rec.pgi_information23 := p_pgi_information23;
422 l_rec.pgi_information24 := p_pgi_information24;
423 l_rec.pgi_information25 := p_pgi_information25;
424 l_rec.pgi_information26 := p_pgi_information26;
425 l_rec.pgi_information27 := p_pgi_information27;
426 l_rec.pgi_information28 := p_pgi_information28;
427 l_rec.pgi_information29 := p_pgi_information29;
428 l_rec.pgi_information30 := p_pgi_information30;
429 l_rec.object_version_number := p_object_version_number;
430 --
431 -- Return the pgmsql 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_pgi_shd;