DBA Data[Home] [Help]

PACKAGE BODY: APPS.OTA_TAV_UPD

Source


1 PACKAGE BODY ota_tav_upd as
2 /* $Header: ottav01t.pkb 120.2.12010000.3 2009/08/11 13:44:21 smahanka ship $ */
3 --
4 -- ----------------------------------------------------------------------------
5 -- |                     Private Global Definitions                           |
6 -- ----------------------------------------------------------------------------
7 --
8 g_package  varchar2(33)	:= '  ota_tav_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 functions of this
17 --   procedure are as follows:
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 Arguments:
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' arguments list should be modified if any of your
47 --   attributes are not updateable.
48 --
49 -- Access Status:
50 --   Internal Development Use Only.
51 --
52 -- {End Of Comments}
53 -- ----------------------------------------------------------------------------
54 Procedure update_dml(p_rec in out nocopy ota_tav_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   ota_tav_shd.g_api_dml := true;  -- Set the api dml status
66   --
67   -- Update the ota_activity_versions Row
68   --
69   update ota_activity_versions
70   set
71   activity_version_id               = p_rec.activity_version_id,
72   activity_id                       = p_rec.activity_id,
73   superseded_by_act_version_id      = p_rec.superseded_by_act_version_id,
74   developer_organization_id         = p_rec.developer_organization_id,
75   controlling_person_id             = p_rec.controlling_person_id,
76   object_version_number             = p_rec.object_version_number,
77   version_name                      = p_rec.version_name,
78   comments                          = p_rec.comments,
79   description                       = p_rec.description,
80   duration                          = p_rec.duration,
81   duration_units                    = p_rec.duration_units,
82   end_date                          = p_rec.end_date,
83   intended_audience                 = p_rec.intended_audience,
84   language_id                       = p_rec.language_id,
85   maximum_attendees                 = p_rec.maximum_attendees,
86   minimum_attendees                 = p_rec.minimum_attendees,
87   objectives                        = p_rec.objectives,
88   start_date                        = p_rec.start_date,
89   success_criteria                  = p_rec.success_criteria,
90   user_status                       = p_rec.user_status,
91   vendor_id                         = p_rec.vendor_id,
92   actual_cost                       = p_rec.actual_cost,
93   budget_cost                       = p_rec.budget_cost,
94   budget_currency_code              = p_rec.budget_currency_code,
95   expenses_allowed                  = p_rec.expenses_allowed,
96   professional_credit_type          = p_rec.professional_credit_type,
97   professional_credits              = p_rec.professional_credits,
98   maximum_internal_attendees        = p_rec.maximum_internal_attendees,
99   tav_information_category          = p_rec.tav_information_category,
100   tav_information1                  = p_rec.tav_information1,
101   tav_information2                  = p_rec.tav_information2,
102   tav_information3                  = p_rec.tav_information3,
103   tav_information4                  = p_rec.tav_information4,
104   tav_information5                  = p_rec.tav_information5,
105   tav_information6                  = p_rec.tav_information6,
106   tav_information7                  = p_rec.tav_information7,
107   tav_information8                  = p_rec.tav_information8,
108   tav_information9                  = p_rec.tav_information9,
109   tav_information10                 = p_rec.tav_information10,
110   tav_information11                 = p_rec.tav_information11,
111   tav_information12                 = p_rec.tav_information12,
112   tav_information13                 = p_rec.tav_information13,
113   tav_information14                 = p_rec.tav_information14,
114   tav_information15                 = p_rec.tav_information15,
115   tav_information16                 = p_rec.tav_information16,
116   tav_information17                 = p_rec.tav_information17,
117   tav_information18                 = p_rec.tav_information18,
118   tav_information19                 = p_rec.tav_information19,
119   tav_information20                 = p_rec.tav_information20,
120   inventory_item_id			= p_rec.inventory_item_id,
121   organization_id				= p_rec.organization_id,
122   rco_id				      = p_rec.rco_id,
123   version_code                = p_rec.version_code,
124   business_group_id                    = p_rec.business_group_id,
125   data_source                   = p_rec.data_source,
126       competency_update_level          = p_rec.competency_update_level,
127       eres_enabled                  = p_rec.eres_enabled
128 
129   where activity_version_id = p_rec.activity_version_id;
130   --
131   ota_tav_shd.g_api_dml := false;   -- Unset the api dml status
132   --
133   hr_utility.set_location(' Leaving:'||l_proc, 10);
134 --
135 Exception
136   When hr_api.check_integrity_violated Then
137     -- A check constraint has been violated
138     ota_tav_shd.g_api_dml := false;   -- Unset the api dml status
139     ota_tav_shd.constraint_error
140       (p_constraint_name => hr_api.strip_constraint_name(SQLERRM));
141   When hr_api.parent_integrity_violated Then
142     -- Parent integrity has been violated
143     ota_tav_shd.g_api_dml := false;   -- Unset the api dml status
144     ota_tav_shd.constraint_error
145       (p_constraint_name => hr_api.strip_constraint_name(SQLERRM));
146   When hr_api.unique_integrity_violated Then
147     -- Unique integrity has been violated
148     ota_tav_shd.g_api_dml := false;   -- Unset the api dml status
149     ota_tav_shd.constraint_error
150       (p_constraint_name => hr_api.strip_constraint_name(SQLERRM));
151   When Others Then
152     ota_tav_shd.g_api_dml := false;   -- Unset the api dml status
153     Raise;
154 End update_dml;
155 --
156 -- ----------------------------------------------------------------------------
157 -- |------------------------------< pre_update >------------------------------|
158 -- ----------------------------------------------------------------------------
159 -- {Start Of Comments}
160 --
161 -- Description:
162 --   This private procedure contains any processing which is required before
163 --   the update dml.
164 --
165 -- Pre Conditions:
166 --   This is an internal procedure which is called from the upd procedure.
167 --
168 -- In Arguments:
169 --   A Pl/Sql record structre.
170 --
171 -- Post Success:
172 --   Processing continues.
173 --
174 -- Post Failure:
175 --   If an error has occurred, an error message and exception will be raised
176 --   but not handled.
177 --
178 -- Developer Implementation Notes:
179 --   Any pre-processing required before the update dml is issued should be
180 --   coded within this procedure. It is important to note that any 3rd party
181 --   maintenance should be reviewed before placing in this procedure.
182 --
183 -- Access Status:
184 --   Internal Development Use Only.
185 --
186 -- {End Of Comments}
187 -- ----------------------------------------------------------------------------
188 Procedure pre_update(p_rec in ota_tav_shd.g_rec_type) is
189 --
190   l_proc  varchar2(72) := g_package||'pre_update';
191 --
192 Begin
193   hr_utility.set_location('Entering:'||l_proc, 5);
194   --
195   hr_utility.set_location(' Leaving:'||l_proc, 10);
196 End pre_update;
197 --
198 -- ----------------------------------------------------------------------------
199 -- |-----------------------------< post_update >------------------------------|
200 -- ----------------------------------------------------------------------------
201 -- {Start Of Comments}
202 --
203 -- Description:
204 --   This private procedure contains any processing which is required after the
205 --   update dml.
206 --
207 -- Pre Conditions:
208 --   This is an internal procedure which is called from the upd procedure.
209 --
210 -- In Arguments:
211 --   A Pl/Sql record structre.
212 --
213 -- Post Success:
214 --   Processing continues.
215 --
216 -- Post Failure:
217 --   If an error has occurred, an error message and exception will be raised
218 --   but not handled.
219 --
220 -- Developer Implementation Notes:
221 --   Any post-processing required after the update dml is issued should be
222 --   coded within this procedure. It is important to note that any 3rd party
223 --   maintenance should be reviewed before placing in this procedure.
224 --
225 -- Access Status:
226 --   Internal Development Use Only.
227 --
228 -- {End Of Comments}
229 -- ----------------------------------------------------------------------------
230 Procedure post_update(p_rec in ota_tav_shd.g_rec_type) is
231 --
232   l_proc  varchar2(72) := g_package||'post_update';
233   l_start_date_changed boolean := ota_general.value_changed(ota_tav_shd.g_old_rec.start_date, p_rec.start_date);
234  l_end_date_changed boolean := ota_general.value_changed(ota_tav_shd.g_old_rec.end_date, p_rec.end_date);
235 --
236 Begin
237   hr_utility.set_location('Entering:'||l_proc, 5);
238   --
239   If not l_start_date_changed and not l_end_date_changed Then
240      return;
241   Else
242  /*
243      ota_rud_api.update_resource_usage_dates( p_rec.activity_version_id
244                                             ,ota_tav_shd.g_old_rec.start_date
245                                             , p_rec.start_date
246                                              , ota_tav_shd.g_old_rec.end_date
247                                              , p_rec.end_date
248                                              );
249  */
250      hr_competence_element_api.update_delivered_dates
251                                            ( p_rec.activity_version_id
252                                             ,ota_tav_shd.g_old_rec.start_date
253                                             , p_rec.start_date
254                                              , ota_tav_shd.g_old_rec.end_date
255                                              , p_rec.end_date
256                                              );
257   End if;
258   --
259   hr_utility.set_location(' Leaving:'||l_proc, 10);
260 End post_update;
261 --
262 -- ----------------------------------------------------------------------------
263 -- |-----------------------------< convert_defs >-----------------------------|
264 -- ----------------------------------------------------------------------------
265 -- {Start Of Comments}
266 --
267 -- Description:
268 --   The Convert_Defs function has one very important function:
269 --   It must return the record structure for the row with all system defaulted
270 --   values converted into its corresponding argument value for update. When
271 --   we attempt to update a row through the Upd business process , certain
272 --   arguments can be defaulted which enables flexibility in the calling of
273 --   the upd process (e.g. only attributes which need to be updated need to be
274 --   specified). For the upd business process to determine which attributes
275 --   have NOT been specified we need to check if the argument has a reserved
276 --   system default value. Therefore, for all attributes which have a
277 --   corresponding reserved system default mechanism specified we need to
278 --   check if a system default is being used. If a system default is being
279 --   used then we convert the defaulted value into its corresponding attribute
280 --   value held in the g_old_rec data structure.
281 --
282 -- Pre Conditions:
283 --   This private function can only be called from the upd process.
284 --
285 -- In Arguments:
286 --   A Pl/Sql record structre.
287 --
288 -- Post Success:
289 --   The record structure will be returned with all system defaulted argument
290 --   values converted into its current row attribute value.
291 --
292 -- Post Failure:
293 --   No direct error handling is required within this function. Any possible
294 --   errors within this function will be a PL/SQL value error due to conversion
295 --   of datatypes or data lengths.
296 --
297 -- Developer Implementation Notes:
298 --   None.
299 --
300 -- Access Status:
301 --   Internal Development Use Only.
302 --
303 -- {End Of Comments}
304 -- ----------------------------------------------------------------------------
305 Function convert_defs(p_rec in out nocopy ota_tav_shd.g_rec_type)
306          Return ota_tav_shd.g_rec_type is
307 --
308   l_proc  varchar2(72) := g_package||'convert_defs';
309 --
310 Begin
311   --
312   hr_utility.set_location('Entering:'||l_proc, 5);
313   --
314   -- We must now examine each argument value in the
315   -- p_rec plsql record structure
316   -- to see if a system default is being used. If a system default
317   -- is being used then we must set to the 'current' argument value.
318   --
319   If (p_rec.activity_id = hr_api.g_number) then
320     p_rec.activity_id :=
321     ota_tav_shd.g_old_rec.activity_id;
322   End If;
323   If (p_rec.superseded_by_act_version_id = hr_api.g_number) then
324     p_rec.superseded_by_act_version_id :=
325     ota_tav_shd.g_old_rec.superseded_by_act_version_id;
326   End If;
327   If (p_rec.developer_organization_id = hr_api.g_number) then
328     p_rec.developer_organization_id :=
329     ota_tav_shd.g_old_rec.developer_organization_id;
330   End If;
331   If (p_rec.controlling_person_id = hr_api.g_number) then
332     p_rec.controlling_person_id :=
333     ota_tav_shd.g_old_rec.controlling_person_id;
334   End If;
335   If (p_rec.version_name = hr_api.g_varchar2) then
336     p_rec.version_name :=
337     ota_tav_shd.g_old_rec.version_name;
338   End If;
339   If (p_rec.comments = hr_api.g_varchar2) then
340     p_rec.comments :=
341     ota_tav_shd.g_old_rec.comments;
342   End If;
343   If (p_rec.description = hr_api.g_varchar2) then
344     p_rec.description :=
345     ota_tav_shd.g_old_rec.description;
346   End If;
347   If (p_rec.duration = hr_api.g_number) then
348     p_rec.duration :=
349     ota_tav_shd.g_old_rec.duration;
350   End If;
351   If (p_rec.duration_units = hr_api.g_varchar2) then
352     p_rec.duration_units :=
353     ota_tav_shd.g_old_rec.duration_units;
354   End If;
355   If (p_rec.end_date = hr_api.g_date) then
356     p_rec.end_date :=
357     ota_tav_shd.g_old_rec.end_date;
358   End If;
359   If (p_rec.intended_audience = hr_api.g_varchar2) then
360     p_rec.intended_audience :=
361     ota_tav_shd.g_old_rec.intended_audience;
362   End If;
363   If (p_rec.language_id = hr_api.g_number) then
364     p_rec.language_id :=
365     ota_tav_shd.g_old_rec.language_id;
366   End If;
367   If (p_rec.maximum_attendees = hr_api.g_number) then
368     p_rec.maximum_attendees :=
369     ota_tav_shd.g_old_rec.maximum_attendees;
370   End If;
371   If (p_rec.minimum_attendees = hr_api.g_number) then
372     p_rec.minimum_attendees :=
373     ota_tav_shd.g_old_rec.minimum_attendees;
374   End If;
375   If (p_rec.objectives = hr_api.g_varchar2) then
376     p_rec.objectives :=
377     ota_tav_shd.g_old_rec.objectives;
378   End If;
379   If (p_rec.start_date = hr_api.g_date) then
380     p_rec.start_date :=
381     ota_tav_shd.g_old_rec.start_date;
382   End If;
383   If (p_rec.success_criteria = hr_api.g_varchar2) then
384     p_rec.success_criteria :=
385     ota_tav_shd.g_old_rec.success_criteria;
386   End If;
387   If (p_rec.user_status = hr_api.g_varchar2) then
388     p_rec.user_status :=
389     ota_tav_shd.g_old_rec.user_status;
390   End If;
391   If (p_rec.vendor_id = hr_api.g_number) then
392     p_rec.vendor_id :=
393     ota_tav_shd.g_old_rec.vendor_id;
394   End If;
395   If (p_rec.actual_cost = hr_api.g_number) then
396     p_rec.actual_cost :=
397     ota_tav_shd.g_old_rec.actual_cost;
398   End If;
399   If (p_rec.budget_cost = hr_api.g_number) then
400     p_rec.budget_cost :=
401     ota_tav_shd.g_old_rec.budget_cost;
402   End If;
403   If (p_rec.budget_currency_code = hr_api.g_varchar2) then
404     p_rec.budget_currency_code :=
405     ota_tav_shd.g_old_rec.budget_currency_code;
406   End If;
407   If (p_rec.expenses_allowed = hr_api.g_varchar2) then
408     p_rec.expenses_allowed :=
409     ota_tav_shd.g_old_rec.expenses_allowed;
410   End If;
411   If (p_rec.professional_credit_type = hr_api.g_varchar2) then
412     p_rec.professional_credit_type :=
413     ota_tav_shd.g_old_rec.professional_credit_type;
414   End If;
415   If (p_rec.professional_credits = hr_api.g_number) then
416     p_rec.professional_credits :=
417     ota_tav_shd.g_old_rec.professional_credits;
418   End If;
419   If (p_rec.maximum_internal_attendees = hr_api.g_number) then
420     p_rec.maximum_internal_attendees :=
421     ota_tav_shd.g_old_rec.maximum_internal_attendees;
422   End If;
423   If (p_rec.tav_information_category = hr_api.g_varchar2) then
424     p_rec.tav_information_category :=
425     ota_tav_shd.g_old_rec.tav_information_category;
426   End If;
427   If (p_rec.tav_information1 = hr_api.g_varchar2) then
428     p_rec.tav_information1 :=
429     ota_tav_shd.g_old_rec.tav_information1;
430   End If;
431   If (p_rec.tav_information2 = hr_api.g_varchar2) then
432     p_rec.tav_information2 :=
433     ota_tav_shd.g_old_rec.tav_information2;
434   End If;
435   If (p_rec.tav_information3 = hr_api.g_varchar2) then
436     p_rec.tav_information3 :=
437     ota_tav_shd.g_old_rec.tav_information3;
438   End If;
439   If (p_rec.tav_information4 = hr_api.g_varchar2) then
440     p_rec.tav_information4 :=
441     ota_tav_shd.g_old_rec.tav_information4;
442   End If;
443   If (p_rec.tav_information5 = hr_api.g_varchar2) then
444     p_rec.tav_information5 :=
445     ota_tav_shd.g_old_rec.tav_information5;
446   End If;
447   If (p_rec.tav_information6 = hr_api.g_varchar2) then
448     p_rec.tav_information6 :=
449     ota_tav_shd.g_old_rec.tav_information6;
450   End If;
451   If (p_rec.tav_information7 = hr_api.g_varchar2) then
452     p_rec.tav_information7 :=
453     ota_tav_shd.g_old_rec.tav_information7;
454   End If;
455   If (p_rec.tav_information8 = hr_api.g_varchar2) then
456     p_rec.tav_information8 :=
457     ota_tav_shd.g_old_rec.tav_information8;
458   End If;
459   If (p_rec.tav_information9 = hr_api.g_varchar2) then
460     p_rec.tav_information9 :=
461     ota_tav_shd.g_old_rec.tav_information9;
462   End If;
463   If (p_rec.tav_information10 = hr_api.g_varchar2) then
464     p_rec.tav_information10 :=
465     ota_tav_shd.g_old_rec.tav_information10;
466   End If;
467   If (p_rec.tav_information11 = hr_api.g_varchar2) then
468     p_rec.tav_information11 :=
469     ota_tav_shd.g_old_rec.tav_information11;
470   End If;
471   If (p_rec.tav_information12 = hr_api.g_varchar2) then
472     p_rec.tav_information12 :=
473     ota_tav_shd.g_old_rec.tav_information12;
474   End If;
475   If (p_rec.tav_information13 = hr_api.g_varchar2) then
476     p_rec.tav_information13 :=
477     ota_tav_shd.g_old_rec.tav_information13;
478   End If;
479   If (p_rec.tav_information14 = hr_api.g_varchar2) then
480     p_rec.tav_information14 :=
481     ota_tav_shd.g_old_rec.tav_information14;
482   End If;
483   If (p_rec.tav_information15 = hr_api.g_varchar2) then
484     p_rec.tav_information15 :=
485     ota_tav_shd.g_old_rec.tav_information15;
486   End If;
487   If (p_rec.tav_information16 = hr_api.g_varchar2) then
488     p_rec.tav_information16 :=
489     ota_tav_shd.g_old_rec.tav_information16;
490   End If;
491   If (p_rec.tav_information17 = hr_api.g_varchar2) then
492     p_rec.tav_information17 :=
493     ota_tav_shd.g_old_rec.tav_information17;
494   End If;
495   If (p_rec.tav_information18 = hr_api.g_varchar2) then
496     p_rec.tav_information18 :=
497     ota_tav_shd.g_old_rec.tav_information18;
498   End If;
499   If (p_rec.tav_information19 = hr_api.g_varchar2) then
500     p_rec.tav_information19 :=
501     ota_tav_shd.g_old_rec.tav_information19;
502   End If;
503   If (p_rec.tav_information20 = hr_api.g_varchar2) then
504     p_rec.tav_information20 :=
505     ota_tav_shd.g_old_rec.tav_information20;
506   End If;
507   If (p_rec.inventory_item_id = hr_api.g_number) then
508     p_rec.inventory_item_id :=
509     ota_tav_shd.g_old_rec.inventory_item_id;
510   End If;
511    If (p_rec.organization_id = hr_api.g_number) then
512     p_rec.organization_id :=
513     ota_tav_shd.g_old_rec.organization_id;
514   End If;
515    If (p_rec.rco_id = hr_api.g_number) then
516     p_rec.rco_id :=
517     ota_tav_shd.g_old_rec.rco_id;
518   End If;
519    If (p_rec.version_code = hr_api.g_varchar2) then
520     p_rec.version_code :=
521     ota_tav_shd.g_old_rec.version_code;
522   End If;
523   If (p_rec.business_group_id = hr_api.g_number) then
524     p_rec.business_group_id :=
525     ota_tav_shd.g_old_rec.business_group_id;
526   End If;
527   If (p_rec.data_source = hr_api.g_varchar2) then
528     p_rec.data_source  :=
529     ota_tav_shd.g_old_rec.data_source;
530   End If;
531   If (p_rec.competency_update_level = hr_api.g_varchar2) then
532     p_rec.competency_update_level  :=
533     ota_tav_shd.g_old_rec.competency_update_level;
534   End If;
535   If (p_rec.eres_enabled = hr_api.g_varchar2) then
536     p_rec.eres_enabled  :=
537     ota_tav_shd.g_old_rec.eres_enabled;
538   End If;
539   --
540   -- Return the plsql record structure.
541   --
542   hr_utility.set_location(' Leaving:'||l_proc, 10);
543   Return(p_rec);
544 --
545 End convert_defs;
546 --
547 -- ----------------------------------------------------------------------------
548 -- |---------------------------------< upd >----------------------------------|
549 -- ----------------------------------------------------------------------------
550 Procedure upd
551   (
552   p_rec        in out nocopy ota_tav_shd.g_rec_type,
553   p_validate   in     boolean
554   ) is
555 --
556   l_proc  varchar2(72) := g_package||'upd';
557 --
558 Begin
559   hr_utility.set_location('Entering:'||l_proc, 5);
560   --
561   -- Determine if the business process is to be validated.
562   --
563   If p_validate then
564     --
565     -- Issue the savepoint.
566     --
567     SAVEPOINT upd_ota_tav;
568   End If;
569   --
570   -- We must lock the row which we need to update.
571   --
572   ota_tav_shd.lck
573 	(
574 	p_rec.activity_version_id,
575 	p_rec.object_version_number
576 	);
577   --
578   -- 1. During an update system defaults are used to determine if
579   --    arguments have been defaulted or not. We must therefore
580   --    derive the full record structure values to be updated.
581   --
582   -- 2. Call the supporting update validate operations.
583   --
584   ota_tav_bus.update_validate(convert_defs(p_rec));
585   --
586   -- Call to raise any errors on multi-message list
587   hr_multi_message.end_validation_set;
588   --
589   -- Call the supporting pre-update operation
590   --
591   pre_update(p_rec);
592   --
593   -- Update the row.
594   --
595   update_dml(p_rec);
596   --
597   -- Call the supporting post-update operation
598   --
599   post_update(p_rec);
600   --
601   -- Call to raise any errors on multi-message list
602   hr_multi_message.end_validation_set;
603   --
604   -- If we are validating then raise the Validate_Enabled exception
605   --
606   If p_validate then
607     Raise HR_Api.Validate_Enabled;
608   End If;
609   --
610   hr_utility.set_location(' Leaving:'||l_proc, 10);
611 Exception
612   When HR_Api.Validate_Enabled Then
613     --
614     -- As the Validate_Enabled exception has been raised
615     -- we must rollback to the savepoint
616     --
617     ROLLBACK TO upd_ota_tav;
618 End upd;
619 --
620 -- ----------------------------------------------------------------------------
621 -- |---------------------------------< upd >----------------------------------|
622 -- ----------------------------------------------------------------------------
623 Procedure upd
624   (
625   p_activity_version_id          in number,
626   p_activity_id                  in number           ,
627   p_superseded_by_act_version_id in number           ,
628   p_developer_organization_id    in number           ,
629   p_controlling_person_id        in number           ,
630   p_object_version_number        in out nocopy number,
631   p_version_name                 in varchar2         ,
632   p_comments                     in varchar2         ,
633   p_description                  in varchar2         ,
634   p_duration                     in number           ,
635   p_duration_units               in varchar2         ,
636   p_end_date                     in date             ,
637   p_intended_audience            in varchar2         ,
638   p_language_id                  in number           ,
639   p_maximum_attendees            in number           ,
640   p_minimum_attendees            in number           ,
641   p_objectives                   in varchar2         ,
642   p_start_date                   in date             ,
643   p_success_criteria             in varchar2         ,
644   p_user_status                  in varchar2         ,
645   p_vendor_id                  in number            ,
646   p_actual_cost                in number            ,
647   p_budget_cost                in number            ,
648   p_budget_currency_code       in varchar2         ,
649   p_expenses_allowed           in varchar2         ,
650   p_professional_credit_type   in varchar2         ,
651   p_professional_credits       in number           ,
652   p_maximum_internal_attendees in number           ,
653   p_tav_information_category     in varchar2       ,
654   p_tav_information1             in varchar2       ,
655   p_tav_information2             in varchar2       ,
656   p_tav_information3             in varchar2       ,
657   p_tav_information4             in varchar2       ,
658   p_tav_information5             in varchar2       ,
659   p_tav_information6             in varchar2       ,
660   p_tav_information7             in varchar2       ,
661   p_tav_information8             in varchar2       ,
662   p_tav_information9             in varchar2       ,
663   p_tav_information10            in varchar2       ,
664   p_tav_information11            in varchar2       ,
665   p_tav_information12            in varchar2       ,
666   p_tav_information13            in varchar2       ,
667   p_tav_information14            in varchar2       ,
668   p_tav_information15            in varchar2       ,
669   p_tav_information16            in varchar2       ,
670   p_tav_information17            in varchar2       ,
671   p_tav_information18            in varchar2         ,
672   p_tav_information19            in varchar2         ,
673   p_tav_information20            in varchar2         ,
674   p_inventory_item_id		   in number	     ,
675   p_organization_id		   in number 	     ,
676   p_rco_id		   		   in number 	  ,
677  -- p_rco_id		   		   in number 	     default null,
678   p_version_code                 in varchar2,
679   p_business_group_id                     in number,
680   p_validate                     in boolean,
681   p_data_source                  in varchar2
682   ,p_competency_update_level        in     varchar2 ,
683   p_eres_enabled                 in varchar2
684 
685   ) is
686 --
687   l_rec	  ota_tav_shd.g_rec_type;
688   l_proc  varchar2(72) := g_package||'upd';
689 --
690 Begin
691   hr_utility.set_location('Entering:'||l_proc, 5);
692   --
693   -- Call conversion function to turn arguments into the
694   -- l_rec structure.
695   --
696   l_rec :=
697   ota_tav_shd.convert_args
698   (
699   p_activity_version_id,
700   p_activity_id,
701   p_superseded_by_act_version_id,
702   p_developer_organization_id,
703   p_controlling_person_id,
704   p_object_version_number,
705   p_version_name,
706   p_comments,
707   p_description,
708   p_duration,
709   p_duration_units,
710   p_end_date,
711   p_intended_audience,
712   p_language_id,
713   p_maximum_attendees,
714   p_minimum_attendees,
715   p_objectives,
716   p_start_date,
717   p_success_criteria,
718   p_user_status,
719   p_vendor_id,
720   p_actual_cost,
721   p_budget_cost,
722   p_budget_currency_code,
723   p_expenses_allowed,
724   p_professional_credit_type,
725   p_professional_credits,
726   p_maximum_internal_attendees,
727   p_tav_information_category,
728   p_tav_information1,
729   p_tav_information2,
730   p_tav_information3,
731   p_tav_information4,
732   p_tav_information5,
733   p_tav_information6,
734   p_tav_information7,
735   p_tav_information8,
736   p_tav_information9,
737   p_tav_information10,
738   p_tav_information11,
739   p_tav_information12,
740   p_tav_information13,
741   p_tav_information14,
742   p_tav_information15,
743   p_tav_information16,
744   p_tav_information17,
745   p_tav_information18,
746   p_tav_information19,
747   p_tav_information20,
748   p_inventory_item_id,
749   p_organization_id,
750   p_rco_id,
751   p_version_code,
752   p_business_group_id,
753   p_data_source
754   ,p_competency_update_level,
755   p_eres_enabled
756 
757   );
758   --
759   -- Having converted the arguments into the
760   -- plsql record structure we call the corresponding record
761   -- business process.
762   --
763   upd(l_rec, p_validate);
764   p_object_version_number := l_rec.object_version_number;
765   --
766   hr_utility.set_location(' Leaving:'||l_proc, 10);
767 End upd;
768 --
769 end ota_tav_upd;