DBA Data[Home] [Help]

PACKAGE BODY: APPS.PER_SHT_UPD

Source


1 Package Body per_sht_upd as
2 /* $Header: peshtrhi.pkb 120.0 2005/05/31 21:06:23 appldev noship $ */
3 --
4 -- ----------------------------------------------------------------------------
5 -- |                     Private Global Definitions                           |
6 -- ----------------------------------------------------------------------------
7 --
8 g_package  varchar2(33)	:= '  per_sht_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 --   3) To update the specified row in the schema using the primary key in
21 --      the predicates.
22 --   4) To trap any constraint violations that may have occurred.
23 --   5) To raise any other errors.
24 --
25 -- Prerequisites:
26 --   This is an internal private procedure which must be called from the upd
27 --   procedure.
28 --
29 -- In Parameters:
30 --   A Pl/Sql record structre.
31 --
32 -- Post Success:
33 --   The specified row will be updated in the schema.
34 --
35 -- Post Failure:
36 --   If a check, unique or parent integrity constraint violation is raised the
37 --   constraint_error procedure will be called.
38 --
39 -- Developer Implementation Notes:
40 --   The update 'set' attribute list should be modified if any of your
41 --   attributes are not updateable.
42 --
43 -- Access Status:
44 --   Internal Row Handler Use Only.
45 --
46 -- {End Of Comments}
47 -- ----------------------------------------------------------------------------
48 Procedure update_dml(p_rec in out nocopy per_sht_shd.g_rec_type) is
49 --
50   l_proc  varchar2(72) := g_package||'update_dml';
51 --
52 Begin
53   hr_utility.set_location('Entering:'||l_proc, 5);
54   --
55   -- Increment the object version
56   --
57   p_rec.object_version_number := p_rec.object_version_number + 1;
58   --
59   -- Update the per_shared_types Row
60   --
61   update per_shared_types
62   set
63   shared_type_id                    = p_rec.shared_type_id,
64   business_group_id                 = p_rec.business_group_id,
65   shared_type_name                  = p_rec.shared_type_name,
66   shared_type_code                  = p_rec.shared_type_code,
67   system_type_cd                    = p_rec.system_type_cd,
68   information1                      = p_rec.information1,
69   information2                      = p_rec.information2,
70   information3                      = p_rec.information3,
71   information4                      = p_rec.information4,
72   information5                      = p_rec.information5,
73   information6                      = p_rec.information6,
74   information7                      = p_rec.information7,
75   information8                      = p_rec.information8,
76   information9                      = p_rec.information9,
77   information10                     = p_rec.information10,
78   information11                     = p_rec.information11,
79   information12                     = p_rec.information12,
80   information13                     = p_rec.information13,
81   information14                     = p_rec.information14,
82   information15                     = p_rec.information15,
83   information16                     = p_rec.information16,
84   information17                     = p_rec.information17,
85   information18                     = p_rec.information18,
86   information19                     = p_rec.information19,
87   information20                     = p_rec.information20,
88   information21                     = p_rec.information21,
89   information22                     = p_rec.information22,
90   information23                     = p_rec.information23,
91   information24                     = p_rec.information24,
92   information25                     = p_rec.information25,
93   information26                     = p_rec.information26,
94   information27                     = p_rec.information27,
95   information28                     = p_rec.information28,
96   information29                     = p_rec.information29,
97   information30                     = p_rec.information30,
98   information_category              = p_rec.information_category,
99   object_version_number             = p_rec.object_version_number,
100   lookup_type                       = p_rec.lookup_type
101   where shared_type_id = p_rec.shared_type_id;
102   --
103   hr_utility.set_location(' Leaving:'||l_proc, 10);
104 --
105 Exception
106   When hr_api.check_integrity_violated Then
107     -- A check constraint has been violated
108     per_sht_shd.constraint_error
109       (p_constraint_name => hr_api.strip_constraint_name(SQLERRM));
110   When hr_api.parent_integrity_violated Then
111     -- Parent integrity has been violated
112     per_sht_shd.constraint_error
113       (p_constraint_name => hr_api.strip_constraint_name(SQLERRM));
114   When hr_api.unique_integrity_violated Then
115     -- Unique integrity has been violated
116     per_sht_shd.constraint_error
117       (p_constraint_name => hr_api.strip_constraint_name(SQLERRM));
118   When Others Then
119     Raise;
120 End update_dml;
121 --
122 -- ----------------------------------------------------------------------------
123 -- |------------------------------< pre_update >------------------------------|
124 -- ----------------------------------------------------------------------------
125 -- {Start Of Comments}
126 --
127 -- Description:
128 --   This private procedure contains any processing which is required before
129 --   the update dml.
130 --
131 -- Prerequisites:
132 --   This is an internal procedure which is called from the upd procedure.
133 --
134 -- In Parameters:
135 --   A Pl/Sql record structre.
136 --
137 -- Post Success:
138 --   Processing continues.
139 --
140 -- Post Failure:
141 --   If an error has occurred, an error message and exception will be raised
142 --   but not handled.
143 --
144 -- Developer Implementation Notes:
145 --   Any pre-processing required before the update dml is issued should be
146 --   coded within this procedure. It is important to note that any 3rd party
147 --   maintenance should be reviewed before placing in this procedure.
148 --
149 -- Access Status:
150 --   Internal Row Handler Use Only.
151 --
152 -- {End Of Comments}
153 -- ----------------------------------------------------------------------------
154 Procedure pre_update(p_rec in per_sht_shd.g_rec_type) is
155 --
156   l_proc  varchar2(72) := g_package||'pre_update';
157 --
158 Begin
159   hr_utility.set_location('Entering:'||l_proc, 5);
160   --
161   hr_utility.set_location(' Leaving:'||l_proc, 10);
162 End pre_update;
163 --
164 -- ----------------------------------------------------------------------------
165 -- |-----------------------------< post_update >------------------------------|
166 -- ----------------------------------------------------------------------------
167 -- {Start Of Comments}
168 --
169 -- Description:
170 --   This private procedure contains any processing which is required after the
171 --   update dml.
172 --
173 -- Prerequisites:
174 --   This is an internal procedure which is called from the upd procedure.
175 --
176 -- In Parameters:
177 --   A Pl/Sql record structre.
178 --
179 -- Post Success:
180 --   Processing continues.
181 --
182 -- Post Failure:
183 --   If an error has occurred, an error message and exception will be raised
184 --   but not handled.
185 --
186 -- Developer Implementation Notes:
187 --   Any post-processing required after the update dml is issued should be
188 --   coded within this procedure. It is important to note that any 3rd party
189 --   maintenance should be reviewed before placing in this procedure.
190 --
191 -- Access Status:
192 --   Internal Row Handler Use Only.
193 --
194 -- {End Of Comments}
195 -- ----------------------------------------------------------------------------
196 Procedure post_update(
197 p_effective_date in date,p_rec in per_sht_shd.g_rec_type) is
198 --
199   l_proc  varchar2(72) := g_package||'post_update';
200 --
201 Begin
202   hr_utility.set_location('Entering:'||l_proc, 5);
203 --
204   --
205   -- Start of API User Hook for post_update.
206   --
207   begin
208     --
209     per_sht_rku.after_update
210       (
211   p_shared_type_id                =>p_rec.shared_type_id
212  ,p_business_group_id             =>p_rec.business_group_id
213  ,p_shared_type_name              =>p_rec.shared_type_name
214  ,p_shared_type_code              =>p_rec.shared_type_code
215  ,p_system_type_cd                =>p_rec.system_type_cd
216  ,p_information1                  =>p_rec.information1
217  ,p_information2                  =>p_rec.information2
218  ,p_information3                  =>p_rec.information3
219  ,p_information4                  =>p_rec.information4
220  ,p_information5                  =>p_rec.information5
221  ,p_information6                  =>p_rec.information6
222  ,p_information7                  =>p_rec.information7
223  ,p_information8                  =>p_rec.information8
224  ,p_information9                  =>p_rec.information9
225  ,p_information10                 =>p_rec.information10
226  ,p_information11                 =>p_rec.information11
227  ,p_information12                 =>p_rec.information12
228  ,p_information13                 =>p_rec.information13
229  ,p_information14                 =>p_rec.information14
230  ,p_information15                 =>p_rec.information15
231  ,p_information16                 =>p_rec.information16
232  ,p_information17                 =>p_rec.information17
233  ,p_information18                 =>p_rec.information18
234  ,p_information19                 =>p_rec.information19
235  ,p_information20                 =>p_rec.information20
236  ,p_information21                 =>p_rec.information21
237  ,p_information22                 =>p_rec.information22
238  ,p_information23                 =>p_rec.information23
239  ,p_information24                 =>p_rec.information24
240  ,p_information25                 =>p_rec.information25
241  ,p_information26                 =>p_rec.information26
242  ,p_information27                 =>p_rec.information27
243  ,p_information28                 =>p_rec.information28
244  ,p_information29                 =>p_rec.information29
245  ,p_information30                 =>p_rec.information30
246  ,p_information_category          =>p_rec.information_category
247  ,p_object_version_number         =>p_rec.object_version_number
248  ,p_lookup_type                   =>p_rec.lookup_type
249  ,p_effective_date                =>p_effective_date
250  ,p_business_group_id_o           =>per_sht_shd.g_old_rec.business_group_id
251  ,p_shared_type_name_o            =>per_sht_shd.g_old_rec.shared_type_name
252  ,p_shared_type_code_o            =>per_sht_shd.g_old_rec.shared_type_code
253  ,p_system_type_cd_o              =>per_sht_shd.g_old_rec.system_type_cd
254  ,p_information1_o                =>per_sht_shd.g_old_rec.information1
255  ,p_information2_o                =>per_sht_shd.g_old_rec.information2
256  ,p_information3_o                =>per_sht_shd.g_old_rec.information3
257  ,p_information4_o                =>per_sht_shd.g_old_rec.information4
258  ,p_information5_o                =>per_sht_shd.g_old_rec.information5
259  ,p_information6_o                =>per_sht_shd.g_old_rec.information6
260  ,p_information7_o                =>per_sht_shd.g_old_rec.information7
261  ,p_information8_o                =>per_sht_shd.g_old_rec.information8
262  ,p_information9_o                =>per_sht_shd.g_old_rec.information9
263  ,p_information10_o               =>per_sht_shd.g_old_rec.information10
264  ,p_information11_o               =>per_sht_shd.g_old_rec.information11
265  ,p_information12_o               =>per_sht_shd.g_old_rec.information12
266  ,p_information13_o               =>per_sht_shd.g_old_rec.information13
267  ,p_information14_o               =>per_sht_shd.g_old_rec.information14
268  ,p_information15_o               =>per_sht_shd.g_old_rec.information15
269  ,p_information16_o               =>per_sht_shd.g_old_rec.information16
270  ,p_information17_o               =>per_sht_shd.g_old_rec.information17
271  ,p_information18_o               =>per_sht_shd.g_old_rec.information18
272  ,p_information19_o               =>per_sht_shd.g_old_rec.information19
273  ,p_information20_o               =>per_sht_shd.g_old_rec.information20
274  ,p_information21_o               =>per_sht_shd.g_old_rec.information21
275  ,p_information22_o               =>per_sht_shd.g_old_rec.information22
276  ,p_information23_o               =>per_sht_shd.g_old_rec.information23
277  ,p_information24_o               =>per_sht_shd.g_old_rec.information24
278  ,p_information25_o               =>per_sht_shd.g_old_rec.information25
279  ,p_information26_o               =>per_sht_shd.g_old_rec.information26
280  ,p_information27_o               =>per_sht_shd.g_old_rec.information27
281  ,p_information28_o               =>per_sht_shd.g_old_rec.information28
282  ,p_information29_o               =>per_sht_shd.g_old_rec.information29
283  ,p_information30_o               =>per_sht_shd.g_old_rec.information30
284  ,p_information_category_o        =>per_sht_shd.g_old_rec.information_category
285  ,p_object_version_number_o       =>per_sht_shd.g_old_rec.object_version_number
286  ,p_lookup_type_o                 =>per_sht_shd.g_old_rec.lookup_type
287       );
288     --
289   exception
290     --
291     when hr_api.cannot_find_prog_unit then
292       --
293       hr_api.cannot_find_prog_unit_error
294         (p_module_name => 'per_shared_types'
295         ,p_hook_type   => 'AU');
296       --
297   end;
298   --
299   -- End of API User Hook for post_update.
300   --
301   --
302   hr_utility.set_location(' Leaving:'||l_proc, 10);
303 End post_update;
304 --
305 -- ----------------------------------------------------------------------------
306 -- |-----------------------------< convert_defs >-----------------------------|
307 -- ----------------------------------------------------------------------------
308 -- {Start Of Comments}
309 --
310 -- Description:
311 --   The Convert_Defs procedure has one very important function:
312 --   It must return the record structure for the row with all system defaulted
313 --   values converted into its corresponding parameter value for update. When
314 --   we attempt to update a row through the Upd process , certain
315 --   parameters can be defaulted which enables flexibility in the calling of
316 --   the upd process (e.g. only attributes which need to be updated need to be
317 --   specified). For the upd process to determine which attributes
318 --   have NOT been specified we need to check if the parameter has a reserved
319 --   system default value. Therefore, for all parameters which have a
320 --   corresponding reserved system default mechanism specified we need to
321 --   check if a system default is being used. If a system default is being
322 --   used then we convert the defaulted value into its corresponding attribute
323 --   value held in the g_old_rec data structure.
324 --
325 -- Prerequisites:
326 --   This private function can only be called from the upd process.
327 --
328 -- In Parameters:
329 --   A Pl/Sql record structre.
330 --
331 -- Post Success:
332 --   The record structure will be returned with all system defaulted parameter
333 --   values converted into its current row attribute value.
334 --
335 -- Post Failure:
336 --   No direct error handling is required within this function. Any possible
337 --   errors within this procedure will be a PL/SQL value error due to conversion
338 --   of datatypes or data lengths.
339 --
340 -- Developer Implementation Notes:
341 --   None.
342 --
343 -- Access Status:
344 --   Internal Row Handler Use Only.
345 --
346 -- {End Of Comments}
347 -- ----------------------------------------------------------------------------
348 Procedure convert_defs(p_rec in out nocopy per_sht_shd.g_rec_type) is
349 --
350   l_proc  varchar2(72) := g_package||'convert_defs';
351 --
352 Begin
353   --
354   hr_utility.set_location('Entering:'||l_proc, 5);
355   --
356   -- We must now examine each argument value in the
357   -- p_rec plsql record structure
358   -- to see if a system default is being used. If a system default
359   -- is being used then we must set to the 'current' argument value.
360   --
361   If (p_rec.business_group_id = hr_api.g_number) then
362     p_rec.business_group_id :=
363     per_sht_shd.g_old_rec.business_group_id;
364   End If;
365   If (p_rec.shared_type_name = hr_api.g_varchar2) then
366     p_rec.shared_type_name :=
367     per_sht_shd.g_old_rec.shared_type_name;
368   End If;
369   If (p_rec.shared_type_code = hr_api.g_varchar2) then
370     p_rec.shared_type_code :=
371     per_sht_shd.g_old_rec.shared_type_code;
372   End If;
373   If (p_rec.system_type_cd = hr_api.g_varchar2) then
374     p_rec.system_type_cd :=
375     per_sht_shd.g_old_rec.system_type_cd;
376   End If;
377   If (p_rec.information1 = hr_api.g_varchar2) then
378     p_rec.information1 :=
379     per_sht_shd.g_old_rec.information1;
380   End If;
381   If (p_rec.information2 = hr_api.g_varchar2) then
382     p_rec.information2 :=
383     per_sht_shd.g_old_rec.information2;
384   End If;
385   If (p_rec.information3 = hr_api.g_varchar2) then
386     p_rec.information3 :=
387     per_sht_shd.g_old_rec.information3;
388   End If;
389   If (p_rec.information4 = hr_api.g_varchar2) then
390     p_rec.information4 :=
391     per_sht_shd.g_old_rec.information4;
392   End If;
393   If (p_rec.information5 = hr_api.g_varchar2) then
394     p_rec.information5 :=
395     per_sht_shd.g_old_rec.information5;
396   End If;
397   If (p_rec.information6 = hr_api.g_varchar2) then
398     p_rec.information6 :=
399     per_sht_shd.g_old_rec.information6;
400   End If;
401   If (p_rec.information7 = hr_api.g_varchar2) then
402     p_rec.information7 :=
403     per_sht_shd.g_old_rec.information7;
404   End If;
405   If (p_rec.information8 = hr_api.g_varchar2) then
406     p_rec.information8 :=
407     per_sht_shd.g_old_rec.information8;
408   End If;
409   If (p_rec.information9 = hr_api.g_varchar2) then
410     p_rec.information9 :=
411     per_sht_shd.g_old_rec.information9;
412   End If;
413   If (p_rec.information10 = hr_api.g_varchar2) then
414     p_rec.information10 :=
415     per_sht_shd.g_old_rec.information10;
416   End If;
417   If (p_rec.information11 = hr_api.g_varchar2) then
418     p_rec.information11 :=
419     per_sht_shd.g_old_rec.information11;
420   End If;
421   If (p_rec.information12 = hr_api.g_varchar2) then
422     p_rec.information12 :=
423     per_sht_shd.g_old_rec.information12;
424   End If;
425   If (p_rec.information13 = hr_api.g_varchar2) then
426     p_rec.information13 :=
427     per_sht_shd.g_old_rec.information13;
428   End If;
429   If (p_rec.information14 = hr_api.g_varchar2) then
430     p_rec.information14 :=
431     per_sht_shd.g_old_rec.information14;
432   End If;
433   If (p_rec.information15 = hr_api.g_varchar2) then
434     p_rec.information15 :=
435     per_sht_shd.g_old_rec.information15;
436   End If;
437   If (p_rec.information16 = hr_api.g_varchar2) then
438     p_rec.information16 :=
439     per_sht_shd.g_old_rec.information16;
440   End If;
441   If (p_rec.information17 = hr_api.g_varchar2) then
442     p_rec.information17 :=
443     per_sht_shd.g_old_rec.information17;
444   End If;
445   If (p_rec.information18 = hr_api.g_varchar2) then
446     p_rec.information18 :=
447     per_sht_shd.g_old_rec.information18;
448   End If;
449   If (p_rec.information19 = hr_api.g_varchar2) then
450     p_rec.information19 :=
451     per_sht_shd.g_old_rec.information19;
452   End If;
453   If (p_rec.information20 = hr_api.g_varchar2) then
454     p_rec.information20 :=
455     per_sht_shd.g_old_rec.information20;
456   End If;
457   If (p_rec.information21 = hr_api.g_varchar2) then
458     p_rec.information21 :=
459     per_sht_shd.g_old_rec.information21;
460   End If;
461   If (p_rec.information22 = hr_api.g_varchar2) then
462     p_rec.information22 :=
463     per_sht_shd.g_old_rec.information22;
464   End If;
465   If (p_rec.information23 = hr_api.g_varchar2) then
466     p_rec.information23 :=
467     per_sht_shd.g_old_rec.information23;
468   End If;
469   If (p_rec.information24 = hr_api.g_varchar2) then
470     p_rec.information24 :=
471     per_sht_shd.g_old_rec.information24;
472   End If;
473   If (p_rec.information25 = hr_api.g_varchar2) then
474     p_rec.information25 :=
475     per_sht_shd.g_old_rec.information25;
476   End If;
477   If (p_rec.information26 = hr_api.g_varchar2) then
478     p_rec.information26 :=
479     per_sht_shd.g_old_rec.information26;
480   End If;
481   If (p_rec.information27 = hr_api.g_varchar2) then
482     p_rec.information27 :=
483     per_sht_shd.g_old_rec.information27;
484   End If;
485   If (p_rec.information28 = hr_api.g_varchar2) then
486     p_rec.information28 :=
487     per_sht_shd.g_old_rec.information28;
488   End If;
489   If (p_rec.information29 = hr_api.g_varchar2) then
490     p_rec.information29 :=
491     per_sht_shd.g_old_rec.information29;
492   End If;
493   If (p_rec.information30 = hr_api.g_varchar2) then
494     p_rec.information30 :=
495     per_sht_shd.g_old_rec.information30;
496   End If;
497   If (p_rec.information_category = hr_api.g_varchar2) then
498     p_rec.information_category :=
499     per_sht_shd.g_old_rec.information_category;
500   End If;
501   If (p_rec.lookup_type = hr_api.g_varchar2) then
502     p_rec.lookup_type :=
503     per_sht_shd.g_old_rec.lookup_type;
504   End If;
505   --
506   hr_utility.set_location(' Leaving:'||l_proc, 10);
507 --
508 End convert_defs;
509 --
510 -- ----------------------------------------------------------------------------
511 -- |---------------------------------< upd >----------------------------------|
512 -- ----------------------------------------------------------------------------
513 Procedure upd
514   (
515   p_effective_date in date,
516   p_rec        in out nocopy per_sht_shd.g_rec_type
517   ) is
518 --
519   l_proc  varchar2(72) := g_package||'upd';
520 --
521 Begin
522   hr_utility.set_location('Entering:'||l_proc, 5);
523   --
524   -- We must lock the row which we need to update.
525   --
526   per_sht_shd.lck
527 	(
528 	p_rec.shared_type_id,
529 	p_rec.object_version_number
530 	);
531   --
532   -- 1. During an update system defaults are used to determine if
533   --    arguments have been defaulted or not. We must therefore
534   --    derive the full record structure values to be updated.
535   --
536   -- 2. Call the supporting update validate operations.
537   --
538   convert_defs(p_rec);
539   per_sht_bus.update_validate(p_rec
540   ,p_effective_date);
541   --
542   -- Call the supporting pre-update operation
543   --
544   pre_update(p_rec);
545   --
546   -- Update the row.
547   --
548   update_dml(p_rec);
549   --
550   -- Call the supporting post-update operation
551   --
552   post_update(
553 p_effective_date,p_rec);
554 End upd;
555 --
556 -- ----------------------------------------------------------------------------
557 -- |---------------------------------< upd >----------------------------------|
558 -- ----------------------------------------------------------------------------
559 Procedure upd
560   (
561   p_effective_date in date,
562   p_shared_type_id               in number,
563   p_business_group_id            in number           default hr_api.g_number,
564   p_shared_type_name             in varchar2         default hr_api.g_varchar2,
565   p_shared_type_code             in varchar2         default hr_api.g_varchar2,
566   p_system_type_cd               in varchar2         default hr_api.g_varchar2,
567   p_information1                 in varchar2         default hr_api.g_varchar2,
568   p_information2                 in varchar2         default hr_api.g_varchar2,
569   p_information3                 in varchar2         default hr_api.g_varchar2,
570   p_information4                 in varchar2         default hr_api.g_varchar2,
571   p_information5                 in varchar2         default hr_api.g_varchar2,
572   p_information6                 in varchar2         default hr_api.g_varchar2,
573   p_information7                 in varchar2         default hr_api.g_varchar2,
574   p_information8                 in varchar2         default hr_api.g_varchar2,
575   p_information9                 in varchar2         default hr_api.g_varchar2,
576   p_information10                in varchar2         default hr_api.g_varchar2,
577   p_information11                in varchar2         default hr_api.g_varchar2,
578   p_information12                in varchar2         default hr_api.g_varchar2,
579   p_information13                in varchar2         default hr_api.g_varchar2,
580   p_information14                in varchar2         default hr_api.g_varchar2,
581   p_information15                in varchar2         default hr_api.g_varchar2,
582   p_information16                in varchar2         default hr_api.g_varchar2,
583   p_information17                in varchar2         default hr_api.g_varchar2,
584   p_information18                in varchar2         default hr_api.g_varchar2,
585   p_information19                in varchar2         default hr_api.g_varchar2,
586   p_information20                in varchar2         default hr_api.g_varchar2,
587   p_information21                in varchar2         default hr_api.g_varchar2,
588   p_information22                in varchar2         default hr_api.g_varchar2,
589   p_information23                in varchar2         default hr_api.g_varchar2,
590   p_information24                in varchar2         default hr_api.g_varchar2,
591   p_information25                in varchar2         default hr_api.g_varchar2,
592   p_information26                in varchar2         default hr_api.g_varchar2,
593   p_information27                in varchar2         default hr_api.g_varchar2,
594   p_information28                in varchar2         default hr_api.g_varchar2,
595   p_information29                in varchar2         default hr_api.g_varchar2,
596   p_information30                in varchar2         default hr_api.g_varchar2,
597   p_information_category         in varchar2         default hr_api.g_varchar2,
598   p_object_version_number        in out nocopy number,
599   p_lookup_type                  in varchar2         default hr_api.g_varchar2
600   ) is
601 --
602   l_rec	  per_sht_shd.g_rec_type;
603   l_proc  varchar2(72) := g_package||'upd';
604 --
605 Begin
606   hr_utility.set_location('Entering:'||l_proc, 5);
607   --
608   -- Call conversion function to turn arguments into the
609   -- l_rec structure.
610   --
611   l_rec :=
612   per_sht_shd.convert_args
613   (
614   p_shared_type_id,
615   p_business_group_id,
616   p_shared_type_name,
617   p_shared_type_code,
618   p_system_type_cd,
619   p_information1,
620   p_information2,
621   p_information3,
622   p_information4,
623   p_information5,
624   p_information6,
625   p_information7,
626   p_information8,
627   p_information9,
628   p_information10,
629   p_information11,
630   p_information12,
631   p_information13,
632   p_information14,
633   p_information15,
634   p_information16,
635   p_information17,
636   p_information18,
637   p_information19,
638   p_information20,
639   p_information21,
640   p_information22,
641   p_information23,
642   p_information24,
643   p_information25,
644   p_information26,
645   p_information27,
646   p_information28,
647   p_information29,
648   p_information30,
649   p_information_category,
650   p_object_version_number,
651   p_lookup_type
652   );
653   --
654   -- Having converted the arguments into the
655   -- plsql record structure we call the corresponding record
656   -- business process.
657   --
658   upd(
659     p_effective_date,l_rec);
660   p_object_version_number := l_rec.object_version_number;
661   --
662   hr_utility.set_location(' Leaving:'||l_proc, 10);
663 End upd;
664 --
665 end per_sht_upd;