DBA Data[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;