DBA Data[Home] [Help]

PACKAGE BODY: APPS.HR_LEI_UPD

Source


1 Package Body hr_lei_upd as
2 /* $Header: hrleirhi.pkb 120.0.12000000.2 2007/08/13 08:41:45 ghshanka ship $ */
3 --
4 -- ----------------------------------------------------------------------------
5 -- |                     Private Global Definitions                           |
6 -- ----------------------------------------------------------------------------
7 --
8 g_package  varchar2(33)	:= '  hr_lei_upd.';  -- Global package name
9 --
10 -- ----------------------------------------------------------------------------
11 -- |------------------------------< update_dml >------------------------------|
12 -- ----------------------------------------------------------------------------
13 -- {Start Of Comments}
14 --
15 -- Description:
16 --   This procedure controls the actual dml update logic. The processing of
17 --   this procedure is:
18 --   1) Increment the object_version_number by 1 if the object_version_number
19 --      is defined as an attribute for this entity.
20 --   2) To set and unset the g_api_dml status as required (as we are about to
21 --      perform dml).
22 --   3) To update the specified row in the schema using the primary key in
23 --      the predicates.
24 --   4) To trap any constraint violations that may have occurred.
25 --   5) To raise any other errors.
26 --
27 -- Pre Conditions:
28 --   This is an internal private procedure which must be called from the upd
29 --   procedure.
30 --
31 -- In Parameters:
32 --   A Pl/Sql record structre.
33 --
34 -- Post Success:
35 --   The specified row will be updated in the schema.
36 --
37 -- Post Failure:
38 --   On the update dml failure it is important to note that we always reset the
39 --   g_api_dml status to false.
40 --   If a check, unique or parent integrity constraint violation is raised the
41 --   constraint_error procedure will be called.
42 --   If any other error is reported, the error will be raised after the
43 --   g_api_dml status is reset.
44 --
45 -- Developer Implementation Notes:
46 --   The update 'set' attribute list should be modified if any of your
47 --   attributes are not updateable.
48 --
49 -- Access Status:
50 --   Internal Table Handler Use Only.
51 --
52 -- {End Of Comments}
53 -- ----------------------------------------------------------------------------
54 Procedure update_dml(p_rec in out nocopy hr_lei_shd.g_rec_type) is
55 --
56   l_proc  varchar2(72) := g_package||'update_dml';
57 --
58 Begin
59   hr_utility.set_location('Entering:'||l_proc, 5);
60   --
61   -- Increment the object version
62   --
63   p_rec.object_version_number := p_rec.object_version_number + 1;
64   --
65   -- hr_lei_shd.g_api_dml := true;  -- Set the api dml status
66   --
67   -- Update the hr_location_extra_info Row
68   --
69   update hr_location_extra_info
70   set
71   location_extra_info_id            = p_rec.location_extra_info_id,
72   information_type                  = p_rec.information_type,
73   location_id                       = p_rec.location_id,
74   request_id                        = p_rec.request_id,
75   program_application_id            = p_rec.program_application_id,
76   program_id                        = p_rec.program_id,
77   program_update_date               = p_rec.program_update_date,
78   lei_attribute_category            = p_rec.lei_attribute_category,
79   lei_attribute1                    = p_rec.lei_attribute1,
80   lei_attribute2                    = p_rec.lei_attribute2,
81   lei_attribute3                    = p_rec.lei_attribute3,
82   lei_attribute4                    = p_rec.lei_attribute4,
83   lei_attribute5                    = p_rec.lei_attribute5,
84   lei_attribute6                    = p_rec.lei_attribute6,
85   lei_attribute7                    = p_rec.lei_attribute7,
86   lei_attribute8                    = p_rec.lei_attribute8,
87   lei_attribute9                    = p_rec.lei_attribute9,
88   lei_attribute10                   = p_rec.lei_attribute10,
89   lei_attribute11                   = p_rec.lei_attribute11,
90   lei_attribute12                   = p_rec.lei_attribute12,
91   lei_attribute13                   = p_rec.lei_attribute13,
92   lei_attribute14                   = p_rec.lei_attribute14,
93   lei_attribute15                   = p_rec.lei_attribute15,
94   lei_attribute16                   = p_rec.lei_attribute16,
95   lei_attribute17                   = p_rec.lei_attribute17,
96   lei_attribute18                   = p_rec.lei_attribute18,
97   lei_attribute19                   = p_rec.lei_attribute19,
98   lei_attribute20                   = p_rec.lei_attribute20,
99   lei_information_category          = p_rec.lei_information_category,
100   lei_information1                  = p_rec.lei_information1,
101   lei_information2                  = p_rec.lei_information2,
102   lei_information3                  = p_rec.lei_information3,
103   lei_information4                  = p_rec.lei_information4,
104   lei_information5                  = p_rec.lei_information5,
105   lei_information6                  = p_rec.lei_information6,
106   lei_information7                  = p_rec.lei_information7,
107   lei_information8                  = p_rec.lei_information8,
108   lei_information9                  = p_rec.lei_information9,
109   lei_information10                 = p_rec.lei_information10,
110   lei_information11                 = p_rec.lei_information11,
111   lei_information12                 = p_rec.lei_information12,
112   lei_information13                 = p_rec.lei_information13,
113   lei_information14                 = p_rec.lei_information14,
114   lei_information15                 = p_rec.lei_information15,
115   lei_information16                 = p_rec.lei_information16,
116   lei_information17                 = p_rec.lei_information17,
117   lei_information18                 = p_rec.lei_information18,
118   lei_information19                 = p_rec.lei_information19,
119   lei_information20                 = p_rec.lei_information20,
120   lei_information21                 = p_rec.lei_information21,
121   lei_information22                 = p_rec.lei_information22,
122   lei_information23                 = p_rec.lei_information23,
123   lei_information24                 = p_rec.lei_information24,
124   lei_information25                 = p_rec.lei_information25,
125   lei_information26                 = p_rec.lei_information26,
126   lei_information27                 = p_rec.lei_information27,
127   lei_information28                 = p_rec.lei_information28,
128   lei_information29                 = p_rec.lei_information29,
129   lei_information30                 = p_rec.lei_information30,
130   object_version_number             = p_rec.object_version_number
131   where location_extra_info_id = p_rec.location_extra_info_id;
132   --
133   -- hr_lei_shd.g_api_dml := false;   -- Unset the api dml status
134   --
135   hr_utility.set_location(' Leaving:'||l_proc, 10);
136 --
137 Exception
138   When hr_api.check_integrity_violated Then
139     -- A check constraint has been violated
140     -- hr_lei_shd.g_api_dml := false;   -- Unset the api dml status
141     hr_lei_shd.constraint_error
142       (p_constraint_name => hr_api.strip_constraint_name(SQLERRM));
143   When hr_api.parent_integrity_violated Then
144     -- Parent integrity has been violated
145     -- hr_lei_shd.g_api_dml := false;   -- Unset the api dml status
146     hr_lei_shd.constraint_error
147       (p_constraint_name => hr_api.strip_constraint_name(SQLERRM));
148   When hr_api.unique_integrity_violated Then
149     -- Unique integrity has been violated
150     -- hr_lei_shd.g_api_dml := false;   -- Unset the api dml status
151     hr_lei_shd.constraint_error
152       (p_constraint_name => hr_api.strip_constraint_name(SQLERRM));
153   When Others Then
154     -- hr_lei_shd.g_api_dml := false;   -- Unset the api dml status
155     Raise;
156 End update_dml;
157 --
158 -- ----------------------------------------------------------------------------
159 -- |------------------------------< pre_update >------------------------------|
160 -- ----------------------------------------------------------------------------
161 -- {Start Of Comments}
162 --
163 -- Description:
164 --   This private procedure contains any processing which is required before
165 --   the update dml.
166 --
167 -- Pre Conditions:
168 --   This is an internal procedure which is called from the upd procedure.
169 --
170 -- In Parameters:
171 --   A Pl/Sql record structre.
172 --
173 -- Post Success:
174 --   Processing continues.
175 --
176 -- Post Failure:
177 --   If an error has occurred, an error message and exception will be raised
178 --   but not handled.
179 --
180 -- Developer Implementation Notes:
181 --   Any pre-processing required before the update dml is issued should be
182 --   coded within this procedure. It is important to note that any 3rd party
183 --   maintenance should be reviewed before placing in this procedure.
184 --
185 -- Access Status:
186 --   Internal Table Handler Use Only.
187 --
188 -- {End Of Comments}
189 -- ----------------------------------------------------------------------------
190 Procedure pre_update(p_rec in hr_lei_shd.g_rec_type) is
191 --
192   l_proc  varchar2(72) := g_package||'pre_update';
193 --
194 Begin
195   hr_utility.set_location('Entering:'||l_proc, 5);
196   --
197   hr_utility.set_location(' Leaving:'||l_proc, 10);
198 End pre_update;
199 --
200 -- ----------------------------------------------------------------------------
201 -- |-----------------------------< post_update >------------------------------|
202 -- ----------------------------------------------------------------------------
203 -- {Start Of Comments}
204 --
205 -- Description:
206 --   This private procedure contains any processing which is required after the
207 --   update dml.
208 --
209 -- Pre Conditions:
210 --   This is an internal procedure which is called from the upd procedure.
211 --
212 -- In Parameters:
213 --   A Pl/Sql record structre.
214 --
215 -- Post Success:
216 --   Processing continues.
217 --
218 -- Post Failure:
219 --   If an error has occurred, an error message and exception will be raised
220 --   but not handled.
221 --
222 -- Developer Implementation Notes:
223 --   Any post-processing required after the update dml is issued should be
224 --   coded within this procedure. It is important to note that any 3rd party
225 --   maintenance should be reviewed before placing in this procedure.
226 --
227 -- Access Status:
228 --   Internal Table Handler Use Only.
229 --
230 -- {End Of Comments}
231 -- ----------------------------------------------------------------------------
232 Procedure post_update(p_rec in hr_lei_shd.g_rec_type) is
233 --
234   l_proc  varchar2(72) := g_package||'post_update';
235 --
236 Begin
237   hr_utility.set_location('Entering:'||l_proc, 5);
238   --
239   -- This is a hook point and the user hook for post_update is called here.
240   --
241   begin
242      hr_lei_rku.after_update	(
243 	p_location_extra_info_id	=>	p_rec.location_extra_info_id,
244 	p_information_type		=>	p_rec.information_type,
245 	p_location_id			=>	p_rec.location_id,
246 	p_request_id			=>	p_rec.request_id,
247 	p_program_application_id	=>	p_rec.program_application_id,
248 	p_program_id			=>	p_rec.program_id,
249 	p_program_update_date		=>	p_rec.program_update_date,
250 	p_lei_attribute_category	=>	p_rec.lei_attribute_category,
251 	p_lei_attribute1		=>	p_rec.lei_attribute1,
252 	p_lei_attribute2		=>	p_rec.lei_attribute2,
253 	p_lei_attribute3		=>	p_rec.lei_attribute3,
254 	p_lei_attribute4		=>	p_rec.lei_attribute4,
255 	p_lei_attribute5		=>	p_rec.lei_attribute5,
256 	p_lei_attribute6		=>	p_rec.lei_attribute6,
257 	p_lei_attribute7		=>	p_rec.lei_attribute7,
258 	p_lei_attribute8		=>	p_rec.lei_attribute8,
259 	p_lei_attribute9		=>	p_rec.lei_attribute9,
260 	p_lei_attribute10		=>	p_rec.lei_attribute10,
261 	p_lei_attribute11		=>	p_rec.lei_attribute11,
262 	p_lei_attribute12		=>	p_rec.lei_attribute12,
263 	p_lei_attribute13		=>	p_rec.lei_attribute13,
264 	p_lei_attribute14		=>	p_rec.lei_attribute14,
265 	p_lei_attribute15		=>	p_rec.lei_attribute15,
266 	p_lei_attribute16		=>	p_rec.lei_attribute16,
267 	p_lei_attribute17		=>	p_rec.lei_attribute17,
268 	p_lei_attribute18		=>	p_rec.lei_attribute18,
269 	p_lei_attribute19		=>	p_rec.lei_attribute19,
270 	p_lei_attribute20		=>	p_rec.lei_attribute20,
271 	p_lei_information_category	=>	p_rec.lei_information_category,
272 	p_lei_information1		=>	p_rec.lei_information1,
273 	p_lei_information2		=>	p_rec.lei_information2,
274 	p_lei_information3		=>	p_rec.lei_information3,
275 	p_lei_information4		=>	p_rec.lei_information4,
276 	p_lei_information5		=>	p_rec.lei_information5,
277 	p_lei_information6		=>	p_rec.lei_information6,
278 	p_lei_information7		=>	p_rec.lei_information7,
279 	p_lei_information8		=>	p_rec.lei_information8,
280 	p_lei_information9		=>	p_rec.lei_information9,
281 	p_lei_information10		=>	p_rec.lei_information10,
282 	p_lei_information11		=>	p_rec.lei_information11,
283 	p_lei_information12		=>	p_rec.lei_information12,
284 	p_lei_information13		=>	p_rec.lei_information13,
285 	p_lei_information14		=>	p_rec.lei_information14,
286 	p_lei_information15		=>	p_rec.lei_information15,
287 	p_lei_information16		=>	p_rec.lei_information16,
288 	p_lei_information17		=>	p_rec.lei_information17,
289 	p_lei_information18		=>	p_rec.lei_information18,
290 	p_lei_information19		=>	p_rec.lei_information19,
291 	p_lei_information20		=>	p_rec.lei_information20,
292 	p_lei_information21		=>	p_rec.lei_information21,
293 	p_lei_information22		=>	p_rec.lei_information22,
294 	p_lei_information23		=>	p_rec.lei_information23,
295 	p_lei_information24		=>	p_rec.lei_information24,
296 	p_lei_information25		=>	p_rec.lei_information25,
297 	p_lei_information26		=>	p_rec.lei_information26,
298 	p_lei_information27		=>	p_rec.lei_information27,
299 	p_lei_information28		=>	p_rec.lei_information28,
300 	p_lei_information29		=>	p_rec.lei_information29,
301 	p_lei_information30		=>	p_rec.lei_information30,
302 	p_information_type_o		=>	hr_lei_shd.g_old_rec.information_type,
303 	p_location_id_o			=>	hr_lei_shd.g_old_rec.location_id,
304 	p_request_id_o			=>	hr_lei_shd.g_old_rec.request_id,
305 	p_program_application_id_o	=>	hr_lei_shd.g_old_rec.program_application_id,
306 	p_program_id_o			=>	hr_lei_shd.g_old_rec.program_id,
307 	p_program_update_date_o		=>	hr_lei_shd.g_old_rec.program_update_date,
308 	p_lei_attribute_category_o	=>	hr_lei_shd.g_old_rec.lei_attribute_category,
309 	p_lei_attribute1_o		=>	hr_lei_shd.g_old_rec.lei_attribute1,
310 	p_lei_attribute2_o		=>	hr_lei_shd.g_old_rec.lei_attribute2,
311 	p_lei_attribute3_o		=>	hr_lei_shd.g_old_rec.lei_attribute3,
312 	p_lei_attribute4_o		=>	hr_lei_shd.g_old_rec.lei_attribute4,
313 	p_lei_attribute5_o		=>	hr_lei_shd.g_old_rec.lei_attribute5,
314 	p_lei_attribute6_o		=>	hr_lei_shd.g_old_rec.lei_attribute6,
315 	p_lei_attribute7_o		=>	hr_lei_shd.g_old_rec.lei_attribute7,
316 	p_lei_attribute8_o		=>	hr_lei_shd.g_old_rec.lei_attribute8,
317 	p_lei_attribute9_o		=>	hr_lei_shd.g_old_rec.lei_attribute9,
318 	p_lei_attribute10_o		=>	hr_lei_shd.g_old_rec.lei_attribute10,
319 	p_lei_attribute11_o		=>	hr_lei_shd.g_old_rec.lei_attribute11,
320 	p_lei_attribute12_o		=>	hr_lei_shd.g_old_rec.lei_attribute12,
321 	p_lei_attribute13_o		=>	hr_lei_shd.g_old_rec.lei_attribute13,
322 	p_lei_attribute14_o		=>	hr_lei_shd.g_old_rec.lei_attribute14,
323 	p_lei_attribute15_o		=>	hr_lei_shd.g_old_rec.lei_attribute15,
324 	p_lei_attribute16_o		=>	hr_lei_shd.g_old_rec.lei_attribute16,
325 	p_lei_attribute17_o		=>	hr_lei_shd.g_old_rec.lei_attribute17,
326 	p_lei_attribute18_o		=>	hr_lei_shd.g_old_rec.lei_attribute18,
327 	p_lei_attribute19_o		=>	hr_lei_shd.g_old_rec.lei_attribute19,
328 	p_lei_attribute20_o		=>	hr_lei_shd.g_old_rec.lei_attribute20,
329 	p_lei_information_category_o	=>	hr_lei_shd.g_old_rec.lei_information_category,
330 	p_lei_information1_o		=>	hr_lei_shd.g_old_rec.lei_information1,
331 	p_lei_information2_o		=>	hr_lei_shd.g_old_rec.lei_information2,
332 	p_lei_information3_o		=>	hr_lei_shd.g_old_rec.lei_information3,
333 	p_lei_information4_o		=>	hr_lei_shd.g_old_rec.lei_information4,
334 	p_lei_information5_o		=>	hr_lei_shd.g_old_rec.lei_information5,
335 	p_lei_information6_o		=>	hr_lei_shd.g_old_rec.lei_information6,
336 	p_lei_information7_o		=>	hr_lei_shd.g_old_rec.lei_information7,
337 	p_lei_information8_o		=>	hr_lei_shd.g_old_rec.lei_information8,
338 	p_lei_information9_o		=>	hr_lei_shd.g_old_rec.lei_information9,
339 	p_lei_information10_o		=>	hr_lei_shd.g_old_rec.lei_information10,
340 	p_lei_information11_o		=>	hr_lei_shd.g_old_rec.lei_information11,
341 	p_lei_information12_o		=>	hr_lei_shd.g_old_rec.lei_information12,
342 	p_lei_information13_o		=>	hr_lei_shd.g_old_rec.lei_information13,
343 	p_lei_information14_o		=>	hr_lei_shd.g_old_rec.lei_information14,
344 	p_lei_information15_o		=>	hr_lei_shd.g_old_rec.lei_information15,
345 	p_lei_information16_o		=>	hr_lei_shd.g_old_rec.lei_information16,
346 	p_lei_information17_o		=>	hr_lei_shd.g_old_rec.lei_information17,
347 	p_lei_information18_o		=>	hr_lei_shd.g_old_rec.lei_information18,
348 	p_lei_information19_o		=>	hr_lei_shd.g_old_rec.lei_information19,
349 	p_lei_information20_o		=>	hr_lei_shd.g_old_rec.lei_information20,
350 	p_lei_information21_o		=>	hr_lei_shd.g_old_rec.lei_information21,
351 	p_lei_information22_o		=>	hr_lei_shd.g_old_rec.lei_information22,
352 	p_lei_information23_o		=>	hr_lei_shd.g_old_rec.lei_information23,
353 	p_lei_information24_o		=>	hr_lei_shd.g_old_rec.lei_information24,
354 	p_lei_information25_o		=>	hr_lei_shd.g_old_rec.lei_information25,
355 	p_lei_information26_o		=>	hr_lei_shd.g_old_rec.lei_information26,
356 	p_lei_information27_o		=>	hr_lei_shd.g_old_rec.lei_information27,
357 	p_lei_information28_o		=>	hr_lei_shd.g_old_rec.lei_information28,
358 	p_lei_information29_o		=>	hr_lei_shd.g_old_rec.lei_information29,
359 	p_lei_information30_o		=>	hr_lei_shd.g_old_rec.lei_information30
360 	);
361      exception
362         when hr_api.cannot_find_prog_unit then
363              hr_api.cannot_find_prog_unit_error
364 		 (	p_module_name => 'HR_LOCATION_EXTRA_INFO'
365 			,p_hook_type  => 'AU'
366 	        );
367   end;
368   -- End of API User Hook for post_update.
369   --
370   hr_utility.set_location(' Leaving:'||l_proc, 10);
371 End post_update;
372 --
373 -- ----------------------------------------------------------------------------
374 -- |-----------------------------< convert_defs >-----------------------------|
375 -- ----------------------------------------------------------------------------
376 -- {Start Of Comments}
377 --
378 -- Description:
379 --   The Convert_Defs procedure has one very important function:
380 --   It must return the record structure for the row with all system defaulted
381 --   values converted into its corresponding parameter value for update. When
382 --   we attempt to update a row through the Upd process , certain
383 --   parameters can be defaulted which enables flexibility in the calling of
384 --   the upd process (e.g. only attributes which need to be updated need to be
385 --   specified). For the upd process to determine which attributes
386 --   have NOT been specified we need to check if the parameter has a reserved
387 --   system default value. Therefore, for all parameters which have a
388 --   corresponding reserved system default mechanism specified we need to
389 --   check if a system default is being used. If a system default is being
390 --   used then we convert the defaulted value into its corresponding attribute
391 --   value held in the g_old_rec data structure.
392 --
393 -- Pre Conditions:
394 --   This private function can only be called from the upd process.
395 --
396 -- In Parameters:
397 --   A Pl/Sql record structre.
398 --
399 -- Post Success:
400 --   The record structure will be returned with all system defaulted parameter
401 --   values converted into its current row attribute value.
402 --
403 -- Post Failure:
404 --   No direct error handling is required within this function. Any possible
405 --   errors within this procedure will be a PL/SQL value error due to conversion
406 
407 --   of datatypes or data lengths.
408 --
409 -- Developer Implementation Notes:
410 --   None.
411 --
412 -- Access Status:
413 --   Internal Table Handler Use Only.
414 --
415 -- {End Of Comments}
416 -- ----------------------------------------------------------------------------
417 Procedure convert_defs(p_rec in out nocopy hr_lei_shd.g_rec_type) is
418 --
419   l_proc  varchar2(72) := g_package||'convert_defs';
420 --
421 Begin
422   --
423   hr_utility.set_location('Entering:'||l_proc, 5);
424   --
425   -- We must now examine each argument value in the
426   -- p_rec plsql record structure
427   -- to see if a system default is being used. If a system default
428   -- is being used then we must set to the 'current' argument value.
429   --
430   If (p_rec.information_type = hr_api.g_varchar2) then
431     p_rec.information_type :=
432     hr_lei_shd.g_old_rec.information_type;
433   End If;
434   If (p_rec.location_id = hr_api.g_number) then
435     p_rec.location_id :=
436     hr_lei_shd.g_old_rec.location_id;
437   End If;
438   If (p_rec.request_id = hr_api.g_number) then
439     p_rec.request_id :=
440     hr_lei_shd.g_old_rec.request_id;
441   End If;
442   If (p_rec.program_application_id = hr_api.g_number) then
443     p_rec.program_application_id :=
444     hr_lei_shd.g_old_rec.program_application_id;
445   End If;
446   If (p_rec.program_id = hr_api.g_number) then
447     p_rec.program_id :=
448     hr_lei_shd.g_old_rec.program_id;
449   End If;
450   If (p_rec.program_update_date = hr_api.g_date) then
451     p_rec.program_update_date :=
452     hr_lei_shd.g_old_rec.program_update_date;
453   End If;
454   If (p_rec.lei_attribute_category = hr_api.g_varchar2) then
455     p_rec.lei_attribute_category :=
456     hr_lei_shd.g_old_rec.lei_attribute_category;
457   End If;
458   If (p_rec.lei_attribute1 = hr_api.g_varchar2) then
459     p_rec.lei_attribute1 :=
460     hr_lei_shd.g_old_rec.lei_attribute1;
461   End If;
462   If (p_rec.lei_attribute2 = hr_api.g_varchar2) then
463     p_rec.lei_attribute2 :=
464     hr_lei_shd.g_old_rec.lei_attribute2;
465   End If;
466   If (p_rec.lei_attribute3 = hr_api.g_varchar2) then
467     p_rec.lei_attribute3 :=
468     hr_lei_shd.g_old_rec.lei_attribute3;
469   End If;
470   If (p_rec.lei_attribute4 = hr_api.g_varchar2) then
471     p_rec.lei_attribute4 :=
472     hr_lei_shd.g_old_rec.lei_attribute4;
473   End If;
474   If (p_rec.lei_attribute5 = hr_api.g_varchar2) then
475     p_rec.lei_attribute5 :=
476     hr_lei_shd.g_old_rec.lei_attribute5;
477   End If;
478   If (p_rec.lei_attribute6 = hr_api.g_varchar2) then
479     p_rec.lei_attribute6 :=
480     hr_lei_shd.g_old_rec.lei_attribute6;
481   End If;
482   If (p_rec.lei_attribute7 = hr_api.g_varchar2) then
483     p_rec.lei_attribute7 :=
484     hr_lei_shd.g_old_rec.lei_attribute7;
485   End If;
486   If (p_rec.lei_attribute8 = hr_api.g_varchar2) then
487     p_rec.lei_attribute8 :=
488     hr_lei_shd.g_old_rec.lei_attribute8;
489   End If;
490   If (p_rec.lei_attribute9 = hr_api.g_varchar2) then
491     p_rec.lei_attribute9 :=
492     hr_lei_shd.g_old_rec.lei_attribute9;
493   End If;
494   If (p_rec.lei_attribute10 = hr_api.g_varchar2) then
495     p_rec.lei_attribute10 :=
496     hr_lei_shd.g_old_rec.lei_attribute10;
497   End If;
498   If (p_rec.lei_attribute11 = hr_api.g_varchar2) then
499     p_rec.lei_attribute11 :=
500     hr_lei_shd.g_old_rec.lei_attribute11;
501   End If;
502   If (p_rec.lei_attribute12 = hr_api.g_varchar2) then
503     p_rec.lei_attribute12 :=
504     hr_lei_shd.g_old_rec.lei_attribute12;
505   End If;
506   If (p_rec.lei_attribute13 = hr_api.g_varchar2) then
507     p_rec.lei_attribute13 :=
508     hr_lei_shd.g_old_rec.lei_attribute13;
509   End If;
510   If (p_rec.lei_attribute14 = hr_api.g_varchar2) then
511     p_rec.lei_attribute14 :=
512     hr_lei_shd.g_old_rec.lei_attribute14;
513   End If;
514   If (p_rec.lei_attribute15 = hr_api.g_varchar2) then
515     p_rec.lei_attribute15 :=
516     hr_lei_shd.g_old_rec.lei_attribute15;
517   End If;
518   If (p_rec.lei_attribute16 = hr_api.g_varchar2) then
519     p_rec.lei_attribute16 :=
520     hr_lei_shd.g_old_rec.lei_attribute16;
521   End If;
522   If (p_rec.lei_attribute17 = hr_api.g_varchar2) then
523     p_rec.lei_attribute17 :=
524     hr_lei_shd.g_old_rec.lei_attribute17;
525   End If;
526   If (p_rec.lei_attribute18 = hr_api.g_varchar2) then
527     p_rec.lei_attribute18 :=
528     hr_lei_shd.g_old_rec.lei_attribute18;
529   End If;
530   If (p_rec.lei_attribute19 = hr_api.g_varchar2) then
531     p_rec.lei_attribute19 :=
532     hr_lei_shd.g_old_rec.lei_attribute19;
533   End If;
534   If (p_rec.lei_attribute20 = hr_api.g_varchar2) then
535     p_rec.lei_attribute20 :=
536     hr_lei_shd.g_old_rec.lei_attribute20;
537   End If;
538   If (p_rec.lei_information_category = hr_api.g_varchar2) then
539     p_rec.lei_information_category :=
540     hr_lei_shd.g_old_rec.lei_information_category;
541   End If;
542   If (p_rec.lei_information1 = hr_api.g_varchar2) then
543     p_rec.lei_information1 :=
544     hr_lei_shd.g_old_rec.lei_information1;
545   End If;
546   If (p_rec.lei_information2 = hr_api.g_varchar2) then
547     p_rec.lei_information2 :=
548     hr_lei_shd.g_old_rec.lei_information2;
549   End If;
550   If (p_rec.lei_information3 = hr_api.g_varchar2) then
551     p_rec.lei_information3 :=
552     hr_lei_shd.g_old_rec.lei_information3;
553   End If;
554   If (p_rec.lei_information4 = hr_api.g_varchar2) then
555     p_rec.lei_information4 :=
556     hr_lei_shd.g_old_rec.lei_information4;
557   End If;
558   If (p_rec.lei_information5 = hr_api.g_varchar2) then
559     p_rec.lei_information5 :=
560     hr_lei_shd.g_old_rec.lei_information5;
561   End If;
562   If (p_rec.lei_information6 = hr_api.g_varchar2) then
563     p_rec.lei_information6 :=
564     hr_lei_shd.g_old_rec.lei_information6;
565   End If;
566   If (p_rec.lei_information7 = hr_api.g_varchar2) then
567     p_rec.lei_information7 :=
568     hr_lei_shd.g_old_rec.lei_information7;
569   End If;
570   If (p_rec.lei_information8 = hr_api.g_varchar2) then
571     p_rec.lei_information8 :=
572     hr_lei_shd.g_old_rec.lei_information8;
573   End If;
574   If (p_rec.lei_information9 = hr_api.g_varchar2) then
575     p_rec.lei_information9 :=
576     hr_lei_shd.g_old_rec.lei_information9;
577   End If;
578   If (p_rec.lei_information10 = hr_api.g_varchar2) then
579     p_rec.lei_information10 :=
580     hr_lei_shd.g_old_rec.lei_information10;
581   End If;
582   If (p_rec.lei_information11 = hr_api.g_varchar2) then
583     p_rec.lei_information11 :=
584     hr_lei_shd.g_old_rec.lei_information11;
585   End If;
586   If (p_rec.lei_information12 = hr_api.g_varchar2) then
587     p_rec.lei_information12 :=
588     hr_lei_shd.g_old_rec.lei_information12;
589   End If;
590   If (p_rec.lei_information13 = hr_api.g_varchar2) then
591     p_rec.lei_information13 :=
592     hr_lei_shd.g_old_rec.lei_information13;
593   End If;
594   If (p_rec.lei_information14 = hr_api.g_varchar2) then
595     p_rec.lei_information14 :=
596     hr_lei_shd.g_old_rec.lei_information14;
597   End If;
598   If (p_rec.lei_information15 = hr_api.g_varchar2) then
599     p_rec.lei_information15 :=
600     hr_lei_shd.g_old_rec.lei_information15;
601   End If;
602   If (p_rec.lei_information16 = hr_api.g_varchar2) then
603     p_rec.lei_information16 :=
604     hr_lei_shd.g_old_rec.lei_information16;
605   End If;
606   If (p_rec.lei_information17 = hr_api.g_varchar2) then
607     p_rec.lei_information17 :=
608     hr_lei_shd.g_old_rec.lei_information17;
609   End If;
610   If (p_rec.lei_information18 = hr_api.g_varchar2) then
611     p_rec.lei_information18 :=
612     hr_lei_shd.g_old_rec.lei_information18;
613   End If;
614   If (p_rec.lei_information19 = hr_api.g_varchar2) then
615     p_rec.lei_information19 :=
616     hr_lei_shd.g_old_rec.lei_information19;
617   End If;
618   If (p_rec.lei_information20 = hr_api.g_varchar2) then
619     p_rec.lei_information20 :=
620     hr_lei_shd.g_old_rec.lei_information20;
621   End If;
622   If (p_rec.lei_information21 = hr_api.g_varchar2) then
623     p_rec.lei_information21 :=
624     hr_lei_shd.g_old_rec.lei_information21;
625   End If;
626   If (p_rec.lei_information22 = hr_api.g_varchar2) then
627     p_rec.lei_information22 :=
628     hr_lei_shd.g_old_rec.lei_information22;
629   End If;
630   If (p_rec.lei_information23 = hr_api.g_varchar2) then
631     p_rec.lei_information23 :=
632     hr_lei_shd.g_old_rec.lei_information23;
633   End If;
634   If (p_rec.lei_information24 = hr_api.g_varchar2) then
635     p_rec.lei_information24 :=
636     hr_lei_shd.g_old_rec.lei_information24;
637   End If;
638   If (p_rec.lei_information25 = hr_api.g_varchar2) then
639     p_rec.lei_information25 :=
640     hr_lei_shd.g_old_rec.lei_information25;
641   End If;
642   If (p_rec.lei_information26 = hr_api.g_varchar2) then
643     p_rec.lei_information26 :=
644     hr_lei_shd.g_old_rec.lei_information26;
645   End If;
646   If (p_rec.lei_information27 = hr_api.g_varchar2) then
647     p_rec.lei_information27 :=
648     hr_lei_shd.g_old_rec.lei_information27;
649   End If;
650   If (p_rec.lei_information28 = hr_api.g_varchar2) then
651     p_rec.lei_information28 :=
652     hr_lei_shd.g_old_rec.lei_information28;
653   End If;
654   If (p_rec.lei_information29 = hr_api.g_varchar2) then
655     p_rec.lei_information29 :=
656     hr_lei_shd.g_old_rec.lei_information29;
657   End If;
658   If (p_rec.lei_information30 = hr_api.g_varchar2) then
659     p_rec.lei_information30 :=
660     hr_lei_shd.g_old_rec.lei_information30;
661   End If;
662 
663   --
664   hr_utility.set_location(' Leaving:'||l_proc, 10);
665 --
666 End convert_defs;
667 --
668 -- ----------------------------------------------------------------------------
669 -- |---------------------------------< upd >----------------------------------|
670 -- ----------------------------------------------------------------------------
671 Procedure upd
672   (
673   p_rec        in out nocopy hr_lei_shd.g_rec_type,
674   p_validate   in     boolean default false
675   ) is
676 --
677   l_proc  varchar2(72) := g_package||'upd';
678 --
679 Begin
680   hr_utility.set_location('Entering:'||l_proc, 5);
681   --
682   -- Determine if the business process is to be validated.
683   --
684   If p_validate then
685     --
686     -- Issue the savepoint.
687     --
688     SAVEPOINT upd_hr_lei;
689   End If;
690   --
691   -- We must lock the row which we need to update.
692   --
693   hr_lei_shd.lck
694 	(
695 	p_rec.location_extra_info_id,
696 	p_rec.object_version_number
697 	);
698   --
699   -- 1. During an update system defaults are used to determine if
700   --    arguments have been defaulted or not. We must therefore
701   --    derive the full record structure values to be updated.
702   --
703   -- 2. Call the supporting update validate operations.
704   --
705   convert_defs(p_rec);
706   hr_lei_bus.update_validate(p_rec);
707   --
708   -- Call the supporting pre-update operation
709   --
710   pre_update(p_rec);
711   --
712   -- Update the row.
713   --
714   update_dml(p_rec);
715   --
716   -- Call the supporting post-update operation
717   --
718   post_update(p_rec);
719   --
720   -- If we are validating then raise the Validate_Enabled exception
721   --
722   If p_validate then
723     Raise HR_Api.Validate_Enabled;
724   End If;
725   --
726   hr_utility.set_location(' Leaving:'||l_proc, 10);
727 Exception
728   When HR_Api.Validate_Enabled Then
729     --
730     -- As the Validate_Enabled exception has been raised
731     -- we must rollback to the savepoint
732     --
733     ROLLBACK TO upd_hr_lei;
734 End upd;
735 --
736 -- ----------------------------------------------------------------------------
737 -- |---------------------------------< upd >----------------------------------|
738 -- ----------------------------------------------------------------------------
739 Procedure upd
740   (
741   p_location_extra_info_id       in number,
742   p_information_type             in varchar2         default hr_api.g_varchar2,
743   p_location_id                  in number           default hr_api.g_number,
744   p_request_id                   in number           default hr_api.g_number,
745   p_program_application_id       in number           default hr_api.g_number,
746   p_program_id                   in number           default hr_api.g_number,
747   p_program_update_date          in date             default hr_api.g_date,
748   p_lei_attribute_category       in varchar2         default hr_api.g_varchar2,
749   p_lei_attribute1               in varchar2         default hr_api.g_varchar2,
750   p_lei_attribute2               in varchar2         default hr_api.g_varchar2,
751   p_lei_attribute3               in varchar2         default hr_api.g_varchar2,
752   p_lei_attribute4               in varchar2         default hr_api.g_varchar2,
753   p_lei_attribute5               in varchar2         default hr_api.g_varchar2,
754   p_lei_attribute6               in varchar2         default hr_api.g_varchar2,
755   p_lei_attribute7               in varchar2         default hr_api.g_varchar2,
756   p_lei_attribute8               in varchar2         default hr_api.g_varchar2,
757   p_lei_attribute9               in varchar2         default hr_api.g_varchar2,
758   p_lei_attribute10              in varchar2         default hr_api.g_varchar2,
759   p_lei_attribute11              in varchar2         default hr_api.g_varchar2,
760   p_lei_attribute12              in varchar2         default hr_api.g_varchar2,
761   p_lei_attribute13              in varchar2         default hr_api.g_varchar2,
762   p_lei_attribute14              in varchar2         default hr_api.g_varchar2,
763   p_lei_attribute15              in varchar2         default hr_api.g_varchar2,
764   p_lei_attribute16              in varchar2         default hr_api.g_varchar2,
765   p_lei_attribute17              in varchar2         default hr_api.g_varchar2,
766   p_lei_attribute18              in varchar2         default hr_api.g_varchar2,
767   p_lei_attribute19              in varchar2         default hr_api.g_varchar2,
768   p_lei_attribute20              in varchar2         default hr_api.g_varchar2,
769   p_lei_information_category     in varchar2         default hr_api.g_varchar2,
770   p_lei_information1             in varchar2         default hr_api.g_varchar2,
771   p_lei_information2             in varchar2         default hr_api.g_varchar2,
772   p_lei_information3             in varchar2         default hr_api.g_varchar2,
773   p_lei_information4             in varchar2         default hr_api.g_varchar2,
774   p_lei_information5             in varchar2         default hr_api.g_varchar2,
775   p_lei_information6             in varchar2         default hr_api.g_varchar2,
776   p_lei_information7             in varchar2         default hr_api.g_varchar2,
777   p_lei_information8             in varchar2         default hr_api.g_varchar2,
778   p_lei_information9             in varchar2         default hr_api.g_varchar2,
779   p_lei_information10            in varchar2         default hr_api.g_varchar2,
780   p_lei_information11            in varchar2         default hr_api.g_varchar2,
781   p_lei_information12            in varchar2         default hr_api.g_varchar2,
782   p_lei_information13            in varchar2         default hr_api.g_varchar2,
783   p_lei_information14            in varchar2         default hr_api.g_varchar2,
784   p_lei_information15            in varchar2         default hr_api.g_varchar2,
785   p_lei_information16            in varchar2         default hr_api.g_varchar2,
786   p_lei_information17            in varchar2         default hr_api.g_varchar2,
787   p_lei_information18            in varchar2         default hr_api.g_varchar2,
788   p_lei_information19            in varchar2         default hr_api.g_varchar2,
789   p_lei_information20            in varchar2         default hr_api.g_varchar2,
790   p_lei_information21            in varchar2         default hr_api.g_varchar2,
791   p_lei_information22            in varchar2         default hr_api.g_varchar2,
792   p_lei_information23            in varchar2         default hr_api.g_varchar2,
793   p_lei_information24            in varchar2         default hr_api.g_varchar2,
794   p_lei_information25            in varchar2         default hr_api.g_varchar2,
795   p_lei_information26            in varchar2         default hr_api.g_varchar2,
796   p_lei_information27            in varchar2         default hr_api.g_varchar2,
797   p_lei_information28            in varchar2         default hr_api.g_varchar2,
798   p_lei_information29            in varchar2         default hr_api.g_varchar2,
799   p_lei_information30            in varchar2         default hr_api.g_varchar2,
800   p_object_version_number        in out nocopy number,
801   p_validate                     in boolean      default false
802   ) is
803 --
804   l_rec	  hr_lei_shd.g_rec_type;
805   l_proc  varchar2(72) := g_package||'upd';
806 --
807 Begin
808   hr_utility.set_location('Entering:'||l_proc, 5);
809   --
810   -- Call conversion function to turn arguments into the
811   -- l_rec structure.
812   --
813   l_rec :=
814   hr_lei_shd.convert_args
815   (
816   p_location_extra_info_id,
817   p_information_type,
818   p_location_id,
819   p_request_id,
820   p_program_application_id,
821   p_program_id,
822   p_program_update_date,
823   p_lei_attribute_category,
824   p_lei_attribute1,
825   p_lei_attribute2,
826   p_lei_attribute3,
827   p_lei_attribute4,
828   p_lei_attribute5,
829   p_lei_attribute6,
830   p_lei_attribute7,
831   p_lei_attribute8,
832   p_lei_attribute9,
833   p_lei_attribute10,
834   p_lei_attribute11,
835   p_lei_attribute12,
836   p_lei_attribute13,
837   p_lei_attribute14,
838   p_lei_attribute15,
839   p_lei_attribute16,
840   p_lei_attribute17,
841   p_lei_attribute18,
842   p_lei_attribute19,
843   p_lei_attribute20,
844   p_lei_information_category,
845   p_lei_information1,
846   p_lei_information2,
847   p_lei_information3,
848   p_lei_information4,
849   p_lei_information5,
850   p_lei_information6,
851   p_lei_information7,
852   p_lei_information8,
853   p_lei_information9,
854   p_lei_information10,
855   p_lei_information11,
856   p_lei_information12,
857   p_lei_information13,
858   p_lei_information14,
859   p_lei_information15,
860   p_lei_information16,
861   p_lei_information17,
862   p_lei_information18,
863   p_lei_information19,
864   p_lei_information20,
865   p_lei_information21,
866   p_lei_information22,
867   p_lei_information23,
868   p_lei_information24,
869   p_lei_information25,
870   p_lei_information26,
871   p_lei_information27,
872   p_lei_information28,
873   p_lei_information29,
874   p_lei_information30,
875   p_object_version_number
876   );
877   --
878   -- Having converted the arguments into the
879   -- plsql record structure we call the corresponding record
880   -- business process.
881   --
882   upd(l_rec, p_validate);
883   p_object_version_number := l_rec.object_version_number;
884   --
885   hr_utility.set_location(' Leaving:'||l_proc, 10);
886 End upd;
887 --
888 end hr_lei_upd;