DBA Data[Home] [Help]

PACKAGE BODY: APPS.PER_EQT_UPD

Source


1 Package Body per_eqt_upd as
2 /* $Header: peeqtrhi.pkb 115.15 2004/03/30 18:11:30 ynegoro ship $ */
3 --
4 -- ----------------------------------------------------------------------------
5 -- |                     Private Global Definitions                           |
6 -- ----------------------------------------------------------------------------
7 --
8 g_package  varchar2(33)	:= '  per_eqt_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 per_eqt_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   per_eqt_shd.g_api_dml := true;  -- Set the api dml status
66   --
67   -- Update the per_qualification_types Row
68 
69   -- mvankada
70   -- Added  Developer DF columns to the update statement
71 
72   update per_qualification_types
73   set
74   qualification_type_id       = p_rec.qualification_type_id,
75   name                        = p_rec.name,
76   category                    = p_rec.category,
77   rank                        = p_rec.rank,
78   attribute_category          = p_rec.attribute_category,
79   attribute1                  = p_rec.attribute1,
80   attribute2                  = p_rec.attribute2,
81   attribute3                  = p_rec.attribute3,
82   attribute4                  = p_rec.attribute4,
83   attribute5                  = p_rec.attribute5,
84   attribute6                  = p_rec.attribute6,
85   attribute7                  = p_rec.attribute7,
86   attribute8                  = p_rec.attribute8,
87   attribute9                  = p_rec.attribute9,
88   attribute10                 = p_rec.attribute10,
89   attribute11                 = p_rec.attribute11,
90   attribute12                 = p_rec.attribute12,
91   attribute13                 = p_rec.attribute13,
92   attribute14                 = p_rec.attribute14,
93   attribute15                 = p_rec.attribute15,
94   attribute16                 = p_rec.attribute16,
95   attribute17                 = p_rec.attribute17,
96   attribute18                 = p_rec.attribute18,
97   attribute19                 = p_rec.attribute19,
98   attribute20                 = p_rec.attribute20,
99   object_version_number       = p_rec.object_version_number,
100   information_category        = p_rec.information_category,
101   information1	              = p_rec.information1,
102   information2	              = p_rec.information2,
103   information3	    	      = p_rec.information3,
104   information4	     	      = p_rec.information4,
105   information5	     	      = p_rec.information5,
106   information6	      	      = p_rec.information6,
107   information7	    	      = p_rec.information7,
108   information8	     	      = p_rec.information8,
109   information9	     	      = p_rec.information9,
110   information10	     	      = p_rec.information10,
111   information11	     	      = p_rec.information11,
112   information12	    	      = p_rec.information12,
113   information13	    	      = p_rec.information13,
114   information14	    	      = p_rec.information14,
115   information15	   	      = p_rec.information15,
116   information16	   	      = p_rec.information16,
117   information17	   	      = p_rec.information17,
118   information18	     	      = p_rec.information18,
119   information19	    	      = p_rec.information19,
120   information20	     	      = p_rec.information20,
121   information21	     	      = p_rec.information21,
122   information22	    	      = p_rec.information22,
123   information23	    	      = p_rec.information23,
124   information24	    	      = p_rec.information24,
125   information25	   	      = p_rec.information25,
126   information26	   	      = p_rec.information26,
127   information27	   	      = p_rec.information27,
128   information28	     	      = p_rec.information28,
129   information29	    	      = p_rec.information29,
130   information30	     	      = p_rec.information30
131  ,qual_framework_id           = p_rec.qual_framework_id
132  ,qualification_type          = p_rec.qualification_type
133  ,credit_type                 = p_rec.credit_type
134  ,credits                     = p_rec.credits
135  ,level_type                  = p_rec.level_type
136  ,level_number                = p_rec.level_number
137  ,field                       = p_rec.field
138  ,sub_field                   = p_rec.sub_field
139  ,provider                    = p_rec.provider
140  ,qa_organization             = p_rec.qa_organization
141   where qualification_type_id = p_rec.qualification_type_id;
142   --
143   per_eqt_shd.g_api_dml := false;   -- Unset the api dml status
144   --
145   hr_utility.set_location(' Leaving:'||l_proc, 10);
146 --
147 Exception
148   When hr_api.check_integrity_violated Then
149     -- A check constraint has been violated
150     per_eqt_shd.g_api_dml := false;   -- Unset the api dml status
151     per_eqt_shd.constraint_error
152       (p_constraint_name => hr_api.strip_constraint_name(SQLERRM));
153   When hr_api.parent_integrity_violated Then
154     -- Parent integrity has been violated
155     per_eqt_shd.g_api_dml := false;   -- Unset the api dml status
156     per_eqt_shd.constraint_error
157       (p_constraint_name => hr_api.strip_constraint_name(SQLERRM));
158   When hr_api.unique_integrity_violated Then
159     -- Unique integrity has been violated
160     per_eqt_shd.g_api_dml := false;   -- Unset the api dml status
161     per_eqt_shd.constraint_error
162       (p_constraint_name => hr_api.strip_constraint_name(SQLERRM));
163   When Others Then
164     per_eqt_shd.g_api_dml := false;   -- Unset the api dml status
165     Raise;
166 End update_dml;
167 --
168 -- ----------------------------------------------------------------------------
169 -- |------------------------------< pre_update >------------------------------|
170 -- ----------------------------------------------------------------------------
171 -- {Start Of Comments}
172 --
173 -- Description:
174 --   This private procedure contains any processing which is required before
175 --   the update dml.
176 --
177 -- Pre Conditions:
178 --   This is an internal procedure which is called from the upd procedure.
179 --
180 -- In Parameters:
181 --   A Pl/Sql record structre.
182 --
183 -- Post Success:
184 --   Processing continues.
185 --
186 -- Post Failure:
187 --   If an error has occurred, an error message and exception will be raised
188 --   but not handled.
189 --
190 -- Developer Implementation Notes:
191 --   Any pre-processing required before the update dml is issued should be
192 --   coded within this procedure. It is important to note that any 3rd party
193 --   maintenance should be reviewed before placing in this procedure.
194 --
195 -- Access Status:
196 --   Internal Table Handler Use Only.
197 --
198 -- {End Of Comments}
199 -- ----------------------------------------------------------------------------
200 Procedure pre_update(p_rec in per_eqt_shd.g_rec_type) is
201 --
202   l_proc  varchar2(72) := g_package||'pre_update';
203 --
204 Begin
205   hr_utility.set_location('Entering:'||l_proc, 5);
206   --
207   hr_utility.set_location(' Leaving:'||l_proc, 10);
208 End pre_update;
209 --
210 -- ----------------------------------------------------------------------------
211 -- |-----------------------------< post_update >------------------------------|
212 -- ----------------------------------------------------------------------------
213 -- {Start Of Comments}
214 --
215 -- Description:
216 --   This private procedure contains any processing which is required after the
217 --   update dml.
218 --
219 -- Pre Conditions:
220 --   This is an internal procedure which is called from the upd procedure.
221 --
222 -- In Parameters:
223 --   A Pl/Sql record structre.
224 --
225 -- Post Success:
226 --   Processing continues.
227 --
228 -- Post Failure:
229 --   If an error has occurred, an error message and exception will be raised
230 --   but not handled.
231 --
232 -- Developer Implementation Notes:
233 --   Any post-processing required after the update dml is issued should be
234 --   coded within this procedure. It is important to note that any 3rd party
235 --   maintenance should be reviewed before placing in this procedure.
236 --
237 -- Access Status:
238 --   Internal Table Handler Use Only.
239 --
240 -- {End Of Comments}
241 -- ----------------------------------------------------------------------------
242 Procedure post_update(p_rec in per_eqt_shd.g_rec_type
243                      ,p_effective_date in date
244                       ) is
245 --
246   l_proc  varchar2(72) := g_package||'post_update';
247 --
248 Begin
249   hr_utility.set_location('Entering:'||l_proc, 5);
250   --
251   -- Start of API User Hook for post_insert.
252 
253   -- mvankada
254   -- Added   Developer DF columns to the procedure after_update
255 
256   Begin
257     per_eqt_rku.after_update
258     (p_qualification_type_id  => p_rec.qualification_type_id
259     ,p_name                   => p_rec.name
260     ,p_category               => p_rec.category
261     ,p_rank                   => p_rec.rank
262     ,p_attribute_category     => p_rec.attribute_category
263     ,p_attribute1             => p_rec.attribute1
264     ,p_attribute2             => p_rec.attribute2
265     ,p_attribute3             => p_rec.attribute3
266     ,p_attribute4             => p_rec.attribute4
267     ,p_attribute5             => p_rec.attribute5
268     ,p_attribute6             => p_rec.attribute6
269     ,p_attribute7             => p_rec.attribute7
270     ,p_attribute8             => p_rec.attribute8
271     ,p_attribute9             => p_rec.attribute9
272     ,p_attribute10            => p_rec.attribute10
273     ,p_attribute11            => p_rec.attribute11
274     ,p_attribute12            => p_rec.attribute12
275     ,p_attribute13            => p_rec.attribute13
276     ,p_attribute14            => p_rec.attribute14
277     ,p_attribute15            => p_rec.attribute15
278     ,p_attribute16            => p_rec.attribute16
279     ,p_attribute17            => p_rec.attribute17
280     ,p_attribute18            => p_rec.attribute18
281     ,p_attribute19            => p_rec.attribute19
282     ,p_attribute20            => p_rec.attribute20
283     ,p_object_version_number  => p_rec.object_version_number
284     ,p_effective_date         => p_effective_date
285     ,p_information_category   => p_rec.information_category
286     ,p_information1	      => p_rec.information1
287     ,p_information2	      => p_rec.information2
288     ,p_information3	      => p_rec.information3
289     ,p_information4	      => p_rec.information4
290     ,p_information5	      => p_rec.information5
291     ,p_information6	      => p_rec.information6
292     ,p_information7	      => p_rec.information7
293     ,p_information8	      => p_rec.information8
294     ,p_information9	      => p_rec.information9
295     ,p_information10          => p_rec.information10
296     ,p_information11          => p_rec.information11
297     ,p_information12          => p_rec.information12
298     ,p_information13          => p_rec.information13
299     ,p_information14          => p_rec.information14
300     ,p_information15          => p_rec.information15
301     ,p_information16          => p_rec.information16
302     ,p_information17          => p_rec.information17
303     ,p_information18          => p_rec.information18
304     ,p_information19          => p_rec.information19
305     ,p_information20          => p_rec.information20
306     ,p_information21          => p_rec.information21
307     ,p_information22          => p_rec.information22
308     ,p_information23          => p_rec.information23
309     ,p_information24          => p_rec.information24
310     ,p_information25          => p_rec.information25
311     ,p_information26          => p_rec.information26
312     ,p_information27          => p_rec.information27
313     ,p_information28          => p_rec.information28
314     ,p_information29          => p_rec.information29
315     ,p_information30          => p_rec.information30
316     -- BUG3356369
317     ,p_qual_framework_id      => p_rec.qual_framework_id
318     ,p_qualification_type     => p_rec.qualification_type
319     ,p_credit_type            => p_rec.credit_type
320     ,p_credits                => p_rec.credits
321     ,p_level_type             => p_rec.level_type
322     ,p_level_number           => p_rec.level_number
323     ,p_field                  => p_rec.field
324     ,p_sub_field              => p_rec.sub_field
325     ,p_provider               => p_rec.provider
326     ,p_qa_organization        => p_rec.qa_organization
327     ,p_name_o                 => per_eqt_shd.g_old_rec.name
328     ,p_category_o             => per_eqt_shd.g_old_rec.category
329     ,p_rank_o                 => per_eqt_shd.g_old_rec.rank
330     ,p_attribute_category_o   => per_eqt_shd.g_old_rec.attribute_category
331     ,p_attribute1_o           => per_eqt_shd.g_old_rec.attribute1
332     ,p_attribute2_o           => per_eqt_shd.g_old_rec.attribute2
333     ,p_attribute3_o           => per_eqt_shd.g_old_rec.attribute3
334     ,p_attribute4_o           => per_eqt_shd.g_old_rec.attribute4
335     ,p_attribute5_o           => per_eqt_shd.g_old_rec.attribute5
336     ,p_attribute6_o           => per_eqt_shd.g_old_rec.attribute6
337     ,p_attribute7_o           => per_eqt_shd.g_old_rec.attribute7
338     ,p_attribute8_o           => per_eqt_shd.g_old_rec.attribute8
339     ,p_attribute9_o           => per_eqt_shd.g_old_rec.attribute9
340     ,p_attribute10_o          => per_eqt_shd.g_old_rec.attribute10
341     ,p_attribute11_o          => per_eqt_shd.g_old_rec.attribute11
342     ,p_attribute12_o          => per_eqt_shd.g_old_rec.attribute12
343     ,p_attribute13_o          => per_eqt_shd.g_old_rec.attribute13
344     ,p_attribute14_o          => per_eqt_shd.g_old_rec.attribute14
345     ,p_attribute15_o          => per_eqt_shd.g_old_rec.attribute15
346     ,p_attribute16_o          => per_eqt_shd.g_old_rec.attribute16
347     ,p_attribute17_o          => per_eqt_shd.g_old_rec.attribute17
348     ,p_attribute18_o          => per_eqt_shd.g_old_rec.attribute18
349     ,p_attribute19_o          => per_eqt_shd.g_old_rec.attribute19
350     ,p_attribute20_o          => per_eqt_shd.g_old_rec.attribute20
351     ,p_object_version_number_o => per_eqt_shd.g_old_rec.object_version_number
352     ,p_information_category_o => per_eqt_shd.g_old_rec.information_category
353     ,p_information1_o	      => per_eqt_shd.g_old_rec.information1
354     ,p_information2_o	      => per_eqt_shd.g_old_rec.information2
355     ,p_information3_o	      => per_eqt_shd.g_old_rec.information3
356     ,p_information4_o	      => per_eqt_shd.g_old_rec.information4
357     ,p_information5_o	      => per_eqt_shd.g_old_rec.information5
358     ,p_information6_o	      => per_eqt_shd.g_old_rec.information6
359     ,p_information7_o	      => per_eqt_shd.g_old_rec.information7
360     ,p_information8_o	      => per_eqt_shd.g_old_rec.information8
361     ,p_information9_o	      => per_eqt_shd.g_old_rec.information9
362     ,p_information10_o	      => per_eqt_shd.g_old_rec.information10
363     ,p_information11_o	      => per_eqt_shd.g_old_rec.information11
364     ,p_information12_o	      => per_eqt_shd.g_old_rec.information12
365     ,p_information13_o	      => per_eqt_shd.g_old_rec.information13
366     ,p_information14_o	      => per_eqt_shd.g_old_rec.information14
367     ,p_information15_o	      => per_eqt_shd.g_old_rec.information15
368     ,p_information16_o	      => per_eqt_shd.g_old_rec.information16
369     ,p_information17_o	      => per_eqt_shd.g_old_rec.information17
370     ,p_information18_o	      => per_eqt_shd.g_old_rec.information18
371     ,p_information19_o	      => per_eqt_shd.g_old_rec.information19
372     ,p_information20_o	      => per_eqt_shd.g_old_rec.information20
373     ,p_information21_o	      => per_eqt_shd.g_old_rec.information21
374     ,p_information22_o	      => per_eqt_shd.g_old_rec.information22
375     ,p_information23_o	      => per_eqt_shd.g_old_rec.information23
376     ,p_information24_o	      => per_eqt_shd.g_old_rec.information24
377     ,p_information25_o	      => per_eqt_shd.g_old_rec.information25
378     ,p_information26_o	      => per_eqt_shd.g_old_rec.information26
379     ,p_information27_o	      => per_eqt_shd.g_old_rec.information27
380     ,p_information28_o	      => per_eqt_shd.g_old_rec.information28
381     ,p_information29_o	      => per_eqt_shd.g_old_rec.information29
382     ,p_information30_o	      => per_eqt_shd.g_old_rec.information30
383     ,p_qual_framework_id_o    => per_eqt_shd.g_old_rec.qual_framework_id
384     ,p_qualification_type_o   => per_eqt_shd.g_old_rec.qualification_type
385     ,p_credit_type_o          => per_eqt_shd.g_old_rec.credit_type
386     ,p_credits_o              => per_eqt_shd.g_old_rec.credits
387     ,p_level_type_o           => per_eqt_shd.g_old_rec.level_type
388     ,p_level_number_o         => per_eqt_shd.g_old_rec.level_number
389     ,p_field_o                => per_eqt_shd.g_old_rec.field
390     ,p_sub_field_o            => per_eqt_shd.g_old_rec.sub_field
391     ,p_provider_o             => per_eqt_shd.g_old_rec.provider
392     ,p_qa_organization_o      => per_eqt_shd.g_old_rec.qa_organization
393      );
394        exception
395         when hr_api.cannot_find_prog_unit then
396              hr_api.cannot_find_prog_unit_error
397                  (p_module_name => 'PER_QUALIFICATION_TYPES'
398                  ,p_hook_type   => 'AU'
399                  );
400      end;
401 --   End of API User Hook for post_insert.
402   hr_utility.set_location(' Leaving:'||l_proc, 10);
403 End post_update;
404 --
405 -- ----------------------------------------------------------------------------
406 -- |-----------------------------< convert_defs >-----------------------------|
407 -- ----------------------------------------------------------------------------
408 -- {Start Of Comments}
409 --
410 -- Description:
411 --   The Convert_Defs procedure has one very important function:
412 --   It must return the record structure for the row with all system defaulted
413 --   values converted into its corresponding parameter value for update. When
414 --   we attempt to update a row through the Upd process , certain
415 --   parameters can be defaulted which enables flexibility in the calling of
416 --   the upd process (e.g. only attributes which need to be updated need to be
417 --   specified). For the upd process to determine which attributes
418 --   have NOT been specified we need to check if the parameter has a reserved
419 --   system default value. Therefore, for all parameters which have a
420 --   corresponding reserved system default mechanism specified we need to
421 --   check if a system default is being used. If a system default is being
422 --   used then we convert the defaulted value into its corresponding attribute
423 --   value held in the g_old_rec data structure.
424 --
425 -- Pre Conditions:
426 --   This private function can only be called from the upd process.
427 --
428 -- In Parameters:
429 --   A Pl/Sql record structre.
430 --
431 -- Post Success:
432 --   The record structure will be returned with all system defaulted parameter
433 --   values converted into its current row attribute value.
434 --
435 -- Post Failure:
436 --   No direct error handling is required within this function. Any possible
437 --   errors within this procedure will be a PL/SQL value error due to conversion
438 
439 --   of datatypes or data lengths.
440 --
441 -- Developer Implementation Notes:
442 --   None.
443 --
444 -- Access Status:
445 --   Internal Table Handler Use Only.
446 --
447 -- {End Of Comments}
448 -- ----------------------------------------------------------------------------
449 Procedure convert_defs(p_rec in out nocopy per_eqt_shd.g_rec_type) is
450 --
451   l_proc  varchar2(72) := g_package||'convert_defs';
452 --
453 Begin
454   --
455   hr_utility.set_location('Entering:'||l_proc, 5);
456   --
457   -- We must now examine each argument value in the
458   -- p_rec plsql record structure
459   -- to see if a system default is being used. If a system default
460   -- is being used then we must set to the 'current' argument value.
461   --
462   If (p_rec.name = hr_api.g_varchar2) then
463     p_rec.name :=
464     per_eqt_shd.g_old_rec.name;
465   End If;
466   If (p_rec.category = hr_api.g_varchar2) then
467     p_rec.category :=
468     per_eqt_shd.g_old_rec.category;
469   End If;
470   If (p_rec.rank = hr_api.g_number) then
471     p_rec.rank :=
472     per_eqt_shd.g_old_rec.rank;
473   End If;
474   If (p_rec.attribute_category = hr_api.g_varchar2) then
475     p_rec.attribute_category :=
476     per_eqt_shd.g_old_rec.attribute_category;
477   End If;
478   If (p_rec.attribute1 = hr_api.g_varchar2) then
479     p_rec.attribute1 :=
480     per_eqt_shd.g_old_rec.attribute1;
481   End If;
482   If (p_rec.attribute2 = hr_api.g_varchar2) then
483     p_rec.attribute2 :=
484     per_eqt_shd.g_old_rec.attribute2;
485   End If;
486   If (p_rec.attribute3 = hr_api.g_varchar2) then
487     p_rec.attribute3 :=
488     per_eqt_shd.g_old_rec.attribute3;
489   End If;
490   If (p_rec.attribute4 = hr_api.g_varchar2) then
491     p_rec.attribute4 :=
492     per_eqt_shd.g_old_rec.attribute4;
493   End If;
494   If (p_rec.attribute5 = hr_api.g_varchar2) then
495     p_rec.attribute5 :=
496     per_eqt_shd.g_old_rec.attribute5;
497   End If;
498   If (p_rec.attribute6 = hr_api.g_varchar2) then
499     p_rec.attribute6 :=
500     per_eqt_shd.g_old_rec.attribute6;
501   End If;
502   If (p_rec.attribute7 = hr_api.g_varchar2) then
503     p_rec.attribute7 :=
504     per_eqt_shd.g_old_rec.attribute7;
505   End If;
506   If (p_rec.attribute8 = hr_api.g_varchar2) then
507     p_rec.attribute8 :=
508     per_eqt_shd.g_old_rec.attribute8;
509   End If;
510   If (p_rec.attribute9 = hr_api.g_varchar2) then
511     p_rec.attribute9 :=
512     per_eqt_shd.g_old_rec.attribute9;
513   End If;
514   If (p_rec.attribute10 = hr_api.g_varchar2) then
515     p_rec.attribute10 :=
516     per_eqt_shd.g_old_rec.attribute10;
517   End If;
518   If (p_rec.attribute11 = hr_api.g_varchar2) then
519     p_rec.attribute11 :=
520     per_eqt_shd.g_old_rec.attribute11;
521   End If;
522   If (p_rec.attribute12 = hr_api.g_varchar2) then
523     p_rec.attribute12 :=
524     per_eqt_shd.g_old_rec.attribute12;
525   End If;
526   If (p_rec.attribute13 = hr_api.g_varchar2) then
527     p_rec.attribute13 :=
528     per_eqt_shd.g_old_rec.attribute13;
529   End If;
530   If (p_rec.attribute14 = hr_api.g_varchar2) then
531     p_rec.attribute14 :=
532     per_eqt_shd.g_old_rec.attribute14;
533   End If;
534   If (p_rec.attribute15 = hr_api.g_varchar2) then
535     p_rec.attribute15 :=
536     per_eqt_shd.g_old_rec.attribute15;
537   End If;
538   If (p_rec.attribute16 = hr_api.g_varchar2) then
539     p_rec.attribute16 :=
540     per_eqt_shd.g_old_rec.attribute16;
541   End If;
542   If (p_rec.attribute17 = hr_api.g_varchar2) then
543     p_rec.attribute17 :=
544     per_eqt_shd.g_old_rec.attribute17;
545   End If;
546   If (p_rec.attribute18 = hr_api.g_varchar2) then
547     p_rec.attribute18 :=
548     per_eqt_shd.g_old_rec.attribute18;
549   End If;
550   If (p_rec.attribute19 = hr_api.g_varchar2) then
551     p_rec.attribute19 :=
552     per_eqt_shd.g_old_rec.attribute19;
553   End If;
554   If (p_rec.attribute20 = hr_api.g_varchar2) then
555     p_rec.attribute20 :=
556     per_eqt_shd.g_old_rec.attribute20;
557   End If;
558 
559   -- mvankada
560   -- For Developer DF columns
561 
562   If (p_rec.information_category = hr_api.g_varchar2) then
563     p_rec.information_category :=
564     per_eqt_shd.g_old_rec.information_category;
565   End If;
566   If (p_rec.information1 = hr_api.g_varchar2) then
567     p_rec.information1 :=
568     per_eqt_shd.g_old_rec.information1;
569   End If;
570   If (p_rec.information2 = hr_api.g_varchar2) then
571     p_rec.information2 :=
572     per_eqt_shd.g_old_rec.information2;
573   End If;
574   If (p_rec.information3 = hr_api.g_varchar2) then
575     p_rec.information3 :=
576     per_eqt_shd.g_old_rec.information3;
577   End If;
578   If (p_rec.information4 = hr_api.g_varchar2) then
579     p_rec.information4 :=
580     per_eqt_shd.g_old_rec.information4;
581   End If;
582   If (p_rec.information5 = hr_api.g_varchar2) then
583     p_rec.information5 :=
584     per_eqt_shd.g_old_rec.information5;
585   End If;
586   If (p_rec.information6 = hr_api.g_varchar2) then
587     p_rec.information6 :=
588     per_eqt_shd.g_old_rec.information6;
589   End If;
590   If (p_rec.information7 = hr_api.g_varchar2) then
591     p_rec.information7 :=
592     per_eqt_shd.g_old_rec.information7;
593   End If;
594   If (p_rec.information8 = hr_api.g_varchar2) then
595     p_rec.information8 :=
596     per_eqt_shd.g_old_rec.information8;
597   End If;
598   If (p_rec.information9 = hr_api.g_varchar2) then
599     p_rec.information9 :=
600     per_eqt_shd.g_old_rec.information9;
601   End If;
602   If (p_rec.information10 = hr_api.g_varchar2) then
603     p_rec.information10 :=
604     per_eqt_shd.g_old_rec.information10;
605   End If;
606   If (p_rec.information11 = hr_api.g_varchar2) then
607     p_rec.information11 :=
608     per_eqt_shd.g_old_rec.information11;
609   End If;
610   If (p_rec.information12 = hr_api.g_varchar2) then
611     p_rec.information12 :=
612     per_eqt_shd.g_old_rec.information12;
613   End If;
614   If (p_rec.information13 = hr_api.g_varchar2) then
615     p_rec.information13 :=
616     per_eqt_shd.g_old_rec.information13;
617   End If;
618   If (p_rec.information14 = hr_api.g_varchar2) then
619     p_rec.information14 :=
620     per_eqt_shd.g_old_rec.information14;
621   End If;
622   If (p_rec.information15 = hr_api.g_varchar2) then
623     p_rec.information15 :=
624     per_eqt_shd.g_old_rec.information15;
625   End If;
626   If (p_rec.information16 = hr_api.g_varchar2) then
627     p_rec.information16 :=
628     per_eqt_shd.g_old_rec.information16;
629   End If;
630   If (p_rec.information17 = hr_api.g_varchar2) then
631     p_rec.information17 :=
632     per_eqt_shd.g_old_rec.information17;
633   End If;
634   If (p_rec.information18 = hr_api.g_varchar2) then
635     p_rec.information18 :=
636     per_eqt_shd.g_old_rec.information18;
637   End If;
638   If (p_rec.information19 = hr_api.g_varchar2) then
639     p_rec.information19 :=
640     per_eqt_shd.g_old_rec.information19;
641   End If;
642   If (p_rec.information20 = hr_api.g_varchar2) then
643     p_rec.information20 :=
644     per_eqt_shd.g_old_rec.information20;
645   End If;
646   If (p_rec.information21 = hr_api.g_varchar2) then
647     p_rec.information21 :=
648     per_eqt_shd.g_old_rec.information21;
649   End If;
650   If (p_rec.information22 = hr_api.g_varchar2) then
651     p_rec.information22 :=
652     per_eqt_shd.g_old_rec.information22;
653   End If;
654   If (p_rec.information23 = hr_api.g_varchar2) then
655     p_rec.information23 :=
656     per_eqt_shd.g_old_rec.information23;
657   End If;
658   If (p_rec.information24 = hr_api.g_varchar2) then
659     p_rec.information24 :=
660     per_eqt_shd.g_old_rec.information24;
661   End If;
662   If (p_rec.information25 = hr_api.g_varchar2) then
663     p_rec.information25 :=
664     per_eqt_shd.g_old_rec.information25;
665   End If;
666   If (p_rec.information26 = hr_api.g_varchar2) then
667     p_rec.information26 :=
668     per_eqt_shd.g_old_rec.information26;
669   End If;
670   If (p_rec.information27 = hr_api.g_varchar2) then
671     p_rec.information27 :=
672     per_eqt_shd.g_old_rec.information27;
673   End If;
674   If (p_rec.information28 = hr_api.g_varchar2) then
675     p_rec.information28 :=
676     per_eqt_shd.g_old_rec.information28;
677   End If;
678   If (p_rec.information29 = hr_api.g_varchar2) then
679     p_rec.information29 :=
680     per_eqt_shd.g_old_rec.information29;
681   End If;
682   If (p_rec.information30 = hr_api.g_varchar2) then
683     p_rec.information30 :=
684     per_eqt_shd.g_old_rec.information30;
685   End If;
686  --
687   -- BUG3356369
688   --
689   If (p_rec.qual_framework_id = hr_api.g_number) then
690     p_rec.qual_framework_id :=
691     per_eqt_shd.g_old_rec.qual_framework_id;
692   End If;
693   If (p_rec.qualification_type = hr_api.g_varchar2) then
694     p_rec.qualification_type :=
695     per_eqt_shd.g_old_rec.qualification_type;
696   End If;
697   If (p_rec.credit_type = hr_api.g_varchar2) then
698     p_rec.credit_type :=
699     per_eqt_shd.g_old_rec.credit_type;
700   End If;
701   If (p_rec.credits = hr_api.g_number) then
702     p_rec.credits :=
703     per_eqt_shd.g_old_rec.credits;
704   End If;
705   If (p_rec.level_type = hr_api.g_varchar2) then
706     p_rec.level_type :=
707     per_eqt_shd.g_old_rec.level_type;
708   End If;
709   If (p_rec.level_number = hr_api.g_number) then
710     p_rec.level_number :=
711     per_eqt_shd.g_old_rec.level_number;
712   End If;
713   If (p_rec.field      = hr_api.g_varchar2) then
714     p_rec.field      :=
715     per_eqt_shd.g_old_rec.field     ;
716   End If;
717   If (p_rec.sub_field = hr_api.g_varchar2) then
718     p_rec.sub_field :=
719     per_eqt_shd.g_old_rec.sub_field;
720   End If;
721   If (p_rec.provider = hr_api.g_varchar2) then
722     p_rec.provider :=
723     per_eqt_shd.g_old_rec.provider;
724   End If;
725   If (p_rec.qa_organization = hr_api.g_varchar2) then
726     p_rec.qa_organization :=
727     per_eqt_shd.g_old_rec.qa_organization;
728   End If;
729 
730   --
731   hr_utility.set_location(' Leaving:'||l_proc, 10);
732 --
733 End convert_defs;
734 --
735 -- ----------------------------------------------------------------------------
736 -- |---------------------------------< upd >----------------------------------|
737 -- ----------------------------------------------------------------------------
738 Procedure upd
739   (
740   p_rec            in out nocopy per_eqt_shd.g_rec_type,
741   p_effective_date in     date,
742   p_validate       in     boolean default false
743   ) is
744 --
745   l_proc  varchar2(72) := g_package||'upd';
746 --
747 Begin
748   hr_utility.set_location('Entering:'||l_proc, 5);
749   --
750   -- Determine if the business process is to be validated.
751   --
752   If p_validate then
753     --
754     -- Issue the savepoint.
755     --
756     SAVEPOINT upd_per_eqt;
757   End If;
758   --
759   -- We must lock the row which we need to update.
760   --
761   per_eqt_shd.lck
762 	(
763 	p_rec.qualification_type_id,
764 	p_rec.object_version_number
765 	);
766   --
767   -- 1. During an update system defaults are used to determine if
768   --    arguments have been defaulted or not. We must therefore
769   --    derive the full record structure values to be updated.
770   --
771   -- 2. Call the supporting update validate operations.
772   --
773   convert_defs(p_rec);
774   per_eqt_bus.update_validate(p_rec, p_effective_date);
775   --
776   -- Call the supporting pre-update operation
777   --
778   pre_update(p_rec);
779   --
780   -- Update the row.
781   --
782   update_dml(p_rec);
783   --
784   -- Call the supporting post-update operation
785   --
786   post_update(p_rec
787              ,p_effective_date
788               );
789   --
790   -- If we are validating then raise the Validate_Enabled exception
791   --
792   If p_validate then
793     Raise HR_Api.Validate_Enabled;
794   End If;
795   --
796   hr_utility.set_location(' Leaving:'||l_proc, 10);
797 Exception
798   When HR_Api.Validate_Enabled Then
799     --
800     -- As the Validate_Enabled exception has been raised
801     -- we must rollback to the savepoint
802     --
803     ROLLBACK TO upd_per_eqt;
804 End upd;
805 --
806 -- ----------------------------------------------------------------------------
807 -- |---------------------------------< upd >----------------------------------|
808 -- ----------------------------------------------------------------------------
809 
810 -- mvankada
811 -- Passed  Developer DF columns as arguments for upd procedure
812 
813 Procedure upd
814   (
815   p_qualification_type_id  in number,
816   p_name                   in varchar2         default hr_api.g_varchar2,
817   p_category               in varchar2         default hr_api.g_varchar2,
818   p_rank                   in number           default hr_api.g_number,
819   p_attribute_category     in varchar2         default hr_api.g_varchar2,
820   p_attribute1             in varchar2         default hr_api.g_varchar2,
821   p_attribute2             in varchar2         default hr_api.g_varchar2,
822   p_attribute3             in varchar2         default hr_api.g_varchar2,
823   p_attribute4             in varchar2         default hr_api.g_varchar2,
824   p_attribute5             in varchar2         default hr_api.g_varchar2,
825   p_attribute6             in varchar2         default hr_api.g_varchar2,
826   p_attribute7             in varchar2         default hr_api.g_varchar2,
827   p_attribute8             in varchar2         default hr_api.g_varchar2,
828   p_attribute9             in varchar2         default hr_api.g_varchar2,
829   p_attribute10            in varchar2         default hr_api.g_varchar2,
830   p_attribute11            in varchar2         default hr_api.g_varchar2,
831   p_attribute12            in varchar2         default hr_api.g_varchar2,
832   p_attribute13            in varchar2         default hr_api.g_varchar2,
833   p_attribute14            in varchar2         default hr_api.g_varchar2,
834   p_attribute15            in varchar2         default hr_api.g_varchar2,
835   p_attribute16            in varchar2         default hr_api.g_varchar2,
836   p_attribute17            in varchar2         default hr_api.g_varchar2,
837   p_attribute18            in varchar2         default hr_api.g_varchar2,
838   p_attribute19            in varchar2         default hr_api.g_varchar2,
839   p_attribute20            in varchar2         default hr_api.g_varchar2,
840   p_object_version_number  in out nocopy number,
841   p_effective_date         in date,
842   p_validate               in boolean          default false,
843   p_information_category   in varchar2         default hr_api.g_varchar2,
844   p_information1           in varchar2         default hr_api.g_varchar2,
845   p_information2           in varchar2         default hr_api.g_varchar2,
846   p_information3           in varchar2         default hr_api.g_varchar2,
847   p_information4           in varchar2         default hr_api.g_varchar2,
848   p_information5           in varchar2         default hr_api.g_varchar2,
849   p_information6           in varchar2         default hr_api.g_varchar2,
850   p_information7           in varchar2         default hr_api.g_varchar2,
851   p_information8           in varchar2         default hr_api.g_varchar2,
852   p_information9           in varchar2         default hr_api.g_varchar2,
853   p_information10          in varchar2         default hr_api.g_varchar2,
854   p_information11          in varchar2         default hr_api.g_varchar2,
855   p_information12          in varchar2         default hr_api.g_varchar2,
856   p_information13          in varchar2         default hr_api.g_varchar2,
857   p_information14          in varchar2         default hr_api.g_varchar2,
858   p_information15          in varchar2         default hr_api.g_varchar2,
859   p_information16          in varchar2         default hr_api.g_varchar2,
860   p_information17          in varchar2         default hr_api.g_varchar2,
861   p_information18          in varchar2         default hr_api.g_varchar2,
862   p_information19          in varchar2         default hr_api.g_varchar2,
863   p_information20          in varchar2         default hr_api.g_varchar2,
864   p_information21          in varchar2         default hr_api.g_varchar2,
865   p_information22          in varchar2         default hr_api.g_varchar2,
866   p_information23          in varchar2         default hr_api.g_varchar2,
867   p_information24          in varchar2         default hr_api.g_varchar2,
868   p_information25          in varchar2         default hr_api.g_varchar2,
869   p_information26          in varchar2         default hr_api.g_varchar2,
870   p_information27          in varchar2         default hr_api.g_varchar2,
871   p_information28          in varchar2         default hr_api.g_varchar2,
872   p_information29          in varchar2         default hr_api.g_varchar2,
873   p_information30          in varchar2         default hr_api.g_varchar2
874 -- BUG3356369
875  ,p_qual_framework_id      in number      default hr_api.g_number
876  ,p_qualification_type     in varchar2         default hr_api.g_varchar2
877  ,p_credit_type            in varchar2         default hr_api.g_varchar2
878  ,p_credits                in number           default hr_api.g_number
879  ,p_level_type             in varchar2         default hr_api.g_varchar2
880  ,p_level_number           in number           default hr_api.g_number
881  ,p_field                  in varchar2         default hr_api.g_varchar2
882  ,p_sub_field              in varchar2         default hr_api.g_varchar2
883  ,p_provider               in varchar2         default hr_api.g_varchar2
884  ,p_qa_organization        in varchar2         default hr_api.g_varchar2
885   ) is
886 --
887   l_rec	  per_eqt_shd.g_rec_type;
888   l_proc  varchar2(72) := g_package||'upd';
889 --
890 Begin
891   hr_utility.set_location('Entering:'||l_proc, 5);
892   --
893   -- Call conversion function to turn arguments into the
894   -- l_rec structure.
895   --
896   l_rec :=
897   per_eqt_shd.convert_args
898   (
899   p_qualification_type_id,
900   p_name,
901   p_category,
902   p_rank,
903   p_attribute_category,
904   p_attribute1,
905   p_attribute2,
906   p_attribute3,
907   p_attribute4,
908   p_attribute5,
909   p_attribute6,
910   p_attribute7,
911   p_attribute8,
912   p_attribute9,
913   p_attribute10,
914   p_attribute11,
915   p_attribute12,
916   p_attribute13,
917   p_attribute14,
918   p_attribute15,
919   p_attribute16,
920   p_attribute17,
921   p_attribute18,
922   p_attribute19,
923   p_attribute20,
924   p_object_version_number,
925   p_information_category,
926   p_information1,
927   p_information2,
928   p_information3,
929   p_information4,
930   p_information5,
931   p_information6,
932   p_information7,
933   p_information8,
934   p_information9,
935   p_information10,
936   p_information11,
937   p_information12,
938   p_information13,
939   p_information14,
940   p_information15,
941   p_information16,
942   p_information17,
943   p_information18,
944   p_information19,
945   p_information20,
946   p_information21,
947   p_information22,
948   p_information23,
949   p_information24,
950   p_information25,
951   p_information26,
952   p_information27,
953   p_information28,
954   p_information29,
955   p_information30
956  ,p_qual_framework_id              -- BUG3356369
957  ,p_qualification_type
958  ,p_credit_type
959  ,p_credits
960  ,p_level_type
961  ,p_level_number
962  ,p_field
963  ,p_sub_field
964  ,p_provider
965  ,p_qa_organization
966   );
967   --
968   -- Having converted the arguments into the
969   -- plsql record structure we call the corresponding record
970   -- business process.
971   --
972   upd(l_rec, p_effective_date, p_validate);
973   p_object_version_number := l_rec.object_version_number;
974   --
975   hr_utility.set_location(' Leaving:'||l_proc, 10);
976 End upd;
977 --
978 end per_eqt_upd;