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