DBA Data[Home] [Help]

PACKAGE BODY: APPS.PQH_BGT_UPD

Source


1 Package Body pqh_bgt_upd as
2 /* $Header: pqbgtrhi.pkb 120.1 2005/09/21 03:11:10 hmehta noship $ */
3 --
4 -- ----------------------------------------------------------------------------
5 -- |                     Private Global Definitions                           |
6 -- ----------------------------------------------------------------------------
7 --
8 g_package  varchar2(33)	:= '  pqh_bgt_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 pqh_bgt_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   --
60   -- Update the pqh_budgets Row
61   --
62   update pqh_budgets
63   set
64   budget_id                         = p_rec.budget_id,
65   business_group_id                 = p_rec.business_group_id,
66   start_organization_id             = p_rec.start_organization_id,
67   org_structure_version_id          = p_rec.org_structure_version_id,
68   budgeted_entity_cd                = p_rec.budgeted_entity_cd,
69   budget_style_cd                   = p_rec.budget_style_cd,
70   budget_name                       = p_rec.budget_name,
71   period_set_name                   = p_rec.period_set_name,
72   budget_start_date                 = p_rec.budget_start_date,
73   budget_end_date                   = p_rec.budget_end_date,
74   gl_budget_name                    = p_rec.gl_budget_name,
75   psb_budget_flag                   = p_rec.psb_budget_flag,
76   transfer_to_gl_flag               = p_rec.transfer_to_gl_flag,
77   transfer_to_grants_flag           = p_rec.transfer_to_grants_flag,
78   status                            = p_rec.status,
79   object_version_number             = p_rec.object_version_number,
80   budget_unit1_id                   = p_rec.budget_unit1_id,
81   budget_unit2_id                   = p_rec.budget_unit2_id,
82   budget_unit3_id                   = p_rec.budget_unit3_id,
83   gl_set_of_books_id                = p_rec.gl_set_of_books_id,
84   budget_unit1_aggregate            = p_rec.budget_unit1_aggregate,
85   budget_unit2_aggregate            = p_rec.budget_unit2_aggregate,
86   budget_unit3_aggregate            = p_rec.budget_unit3_aggregate,
87   position_control_flag             = p_rec.position_control_flag ,
88   valid_grade_reqd_flag             = p_rec.valid_grade_reqd_flag ,
89   currency_code                     = p_rec.currency_code,
90   dflt_budget_set_id                = p_rec.dflt_budget_set_id
91   where budget_id = p_rec.budget_id;
92   --
93   --
94   hr_utility.set_location(' Leaving:'||l_proc, 10);
95 --
96 Exception
97   When hr_api.check_integrity_violated Then
98     -- A check constraint has been violated
99     pqh_bgt_shd.constraint_error
100       (p_constraint_name => hr_api.strip_constraint_name(SQLERRM));
101   When hr_api.parent_integrity_violated Then
102     -- Parent integrity has been violated
103     pqh_bgt_shd.constraint_error
104       (p_constraint_name => hr_api.strip_constraint_name(SQLERRM));
105   When hr_api.unique_integrity_violated Then
106     -- Unique integrity has been violated
107     pqh_bgt_shd.constraint_error
108       (p_constraint_name => hr_api.strip_constraint_name(SQLERRM));
109   When Others Then
110     Raise;
111 End update_dml;
112 --
113 -- ----------------------------------------------------------------------------
114 -- |------------------------------< pre_update >------------------------------|
115 -- ----------------------------------------------------------------------------
116 -- {Start Of Comments}
117 --
118 -- Description:
119 --   This private procedure contains any processing which is required before
120 --   the update dml.
121 --
122 -- Prerequisites:
123 --   This is an internal procedure which is called from the upd procedure.
124 --
125 -- In Parameters:
126 --   A Pl/Sql record structre.
127 --
128 -- Post Success:
129 --   Processing continues.
130 --
131 -- Post Failure:
132 --   If an error has occurred, an error message and exception will be raised
133 --   but not handled.
134 --
135 -- Developer Implementation Notes:
136 --   Any pre-processing required before the update dml is issued should be
137 --   coded within this procedure. It is important to note that any 3rd party
138 --   maintenance should be reviewed before placing in this procedure.
139 --
140 -- Access Status:
141 --   Internal Row Handler Use Only.
142 --
143 -- {End Of Comments}
144 -- ----------------------------------------------------------------------------
145 Procedure pre_update(p_rec in pqh_bgt_shd.g_rec_type) is
146 --
147   l_proc  varchar2(72) := g_package||'pre_update';
148 --
149  l_budgets_rec   pqh_budgets%ROWTYPE;
150 --
151  cursor csr_budget(p_budget_id IN number) is
152  select *
153  from pqh_budgets
154  where budget_id = p_budget_id;
155 
156 Begin
157   hr_utility.set_location('Entering:'||l_proc, 5);
158   --
159 /*
160     --
161       OPEN csr_budget(p_budget_id =>  p_rec.budget_id);
162         FETCH csr_budget INTO l_budgets_rec;
163       CLOSE csr_budget;
164 
165 
166   hr_utility.set_location('Transfer to GL :'||l_budgets_rec.transfer_to_gl_flag, 6);
167 
168        IF NVL(l_budgets_rec.transfer_to_gl_flag,'N') = 'N' THEN
169          -- delete from pqh_budget_gl_flex_maps
170             delete from pqh_budget_gl_flex_maps
171             where budget_id = l_budgets_rec.budget_id;
172          --
173        END IF;
174 
175 */
176 
177   hr_utility.set_location(' Leaving:'||l_proc, 10);
178 End pre_update;
179 --
180 -- ----------------------------------------------------------------------------
181 -- |-----------------------------< post_update >------------------------------|
182 -- ----------------------------------------------------------------------------
183 -- {Start Of Comments}
184 --
185 -- Description:
186 --   This private procedure contains any processing which is required after the
187 --   update dml.
188 --
189 -- Prerequisites:
190 --   This is an internal procedure which is called from the upd procedure.
191 --
192 -- In Parameters:
193 --   A Pl/Sql record structre.
194 --
195 -- Post Success:
196 --   Processing continues.
197 --
198 -- Post Failure:
199 --   If an error has occurred, an error message and exception will be raised
200 --   but not handled.
201 --
202 -- Developer Implementation Notes:
203 --   Any post-processing required after the update dml is issued should be
204 --   coded within this procedure. It is important to note that any 3rd party
205 --   maintenance should be reviewed before placing in this procedure.
206 --
207 -- Access Status:
208 --   Internal Row Handler Use Only.
209 --
210 -- {End Of Comments}
211 -- ----------------------------------------------------------------------------
212 Procedure post_update(
213 p_effective_date in date,p_rec in pqh_bgt_shd.g_rec_type) is
214 --
215   l_proc  varchar2(72) := g_package||'post_update';
216 --
217 Begin
218   hr_utility.set_location('Entering:'||l_proc, 5);
219 --
220   --
221   -- Start of API User Hook for post_update.
222   --
223   begin
224     --
225     pqh_bgt_rku.after_update
226       (
227   p_budget_id                     =>p_rec.budget_id
228  ,p_business_group_id             =>p_rec.business_group_id
229  ,p_start_organization_id         =>p_rec.start_organization_id
230  ,p_org_structure_version_id      =>p_rec.org_structure_version_id
231  ,p_budgeted_entity_cd            =>p_rec.budgeted_entity_cd
232  ,p_budget_style_cd               =>p_rec.budget_style_cd
233  ,p_budget_name                   =>p_rec.budget_name
234  ,p_period_set_name               =>p_rec.period_set_name
235  ,p_budget_start_date             =>p_rec.budget_start_date
236  ,p_budget_end_date               =>p_rec.budget_end_date
237  ,p_gl_budget_name                =>p_rec.gl_budget_name
238  ,p_psb_budget_flag               =>p_rec.psb_budget_flag
239  ,p_transfer_to_gl_flag           =>p_rec.transfer_to_gl_flag
240  ,p_transfer_to_grants_flag       =>p_rec.transfer_to_grants_flag
241  ,p_status                        =>p_rec.status
242  ,p_object_version_number         =>p_rec.object_version_number
243  ,p_budget_unit1_id               =>p_rec.budget_unit1_id
244  ,p_budget_unit2_id               =>p_rec.budget_unit2_id
245  ,p_budget_unit3_id               =>p_rec.budget_unit3_id
246  ,p_gl_set_of_books_id            =>p_rec.gl_set_of_books_id
247  ,p_budget_unit1_aggregate        =>p_rec.budget_unit1_aggregate
248  ,p_budget_unit2_aggregate        =>p_rec.budget_unit2_aggregate
249  ,p_budget_unit3_aggregate        =>p_rec.budget_unit3_aggregate
250  ,p_position_control_flag         =>p_rec.position_control_flag
251  ,p_valid_grade_reqd_flag         =>p_rec.valid_grade_reqd_flag
252  ,p_currency_code                 =>p_rec.currency_code
253  ,p_dflt_budget_set_id            =>p_rec.dflt_budget_set_id
254  ,p_effective_date                =>p_effective_date
255  ,p_business_group_id_o           =>pqh_bgt_shd.g_old_rec.business_group_id
256  ,p_start_organization_id_o       =>pqh_bgt_shd.g_old_rec.start_organization_id
257  ,p_org_structure_version_id_o    =>pqh_bgt_shd.g_old_rec.org_structure_version_id
258  ,p_budgeted_entity_cd_o          =>pqh_bgt_shd.g_old_rec.budgeted_entity_cd
259  ,p_budget_style_cd_o             =>pqh_bgt_shd.g_old_rec.budget_style_cd
260  ,p_budget_name_o                 =>pqh_bgt_shd.g_old_rec.budget_name
261  ,p_period_set_name_o             =>pqh_bgt_shd.g_old_rec.period_set_name
262  ,p_budget_start_date_o           =>pqh_bgt_shd.g_old_rec.budget_start_date
263  ,p_budget_end_date_o             =>pqh_bgt_shd.g_old_rec.budget_end_date
264  ,p_gl_budget_name_o              =>pqh_bgt_shd.g_old_rec.gl_budget_name
265  ,p_psb_budget_flag_o             =>pqh_bgt_shd.g_old_rec.psb_budget_flag
266  ,p_transfer_to_gl_flag_o         =>pqh_bgt_shd.g_old_rec.transfer_to_gl_flag
267  ,p_transfer_to_grants_flag_o     =>pqh_bgt_shd.g_old_rec.transfer_to_grants_flag
268  ,p_status_o                      =>pqh_bgt_shd.g_old_rec.status
269  ,p_object_version_number_o       =>pqh_bgt_shd.g_old_rec.object_version_number
270  ,p_budget_unit1_id_o             =>pqh_bgt_shd.g_old_rec.budget_unit1_id
271  ,p_budget_unit2_id_o             =>pqh_bgt_shd.g_old_rec.budget_unit2_id
272  ,p_budget_unit3_id_o             =>pqh_bgt_shd.g_old_rec.budget_unit3_id
273  ,p_gl_set_of_books_id_o          =>pqh_bgt_shd.g_old_rec.gl_set_of_books_id
274  ,p_budget_unit1_aggregate_o      =>pqh_bgt_shd.g_old_rec.budget_unit1_aggregate
275  ,p_budget_unit2_aggregate_o      =>pqh_bgt_shd.g_old_rec.budget_unit2_aggregate
276  ,p_budget_unit3_aggregate_o      =>pqh_bgt_shd.g_old_rec.budget_unit3_aggregate
277  ,p_position_control_flag_o       =>pqh_bgt_shd.g_old_rec.position_control_flag
278  ,p_valid_grade_reqd_flag_o       =>pqh_bgt_shd.g_old_rec.valid_grade_reqd_flag
279  ,p_currency_code_o               =>pqh_bgt_shd.g_old_rec.currency_code
280  ,p_dflt_budget_set_id_o          =>pqh_bgt_shd.g_old_rec.dflt_budget_set_id
281       );
282     --
283   exception
284     --
285     when hr_api.cannot_find_prog_unit then
286       --
287       hr_api.cannot_find_prog_unit_error
288         (p_module_name => 'pqh_budgets'
289         ,p_hook_type   => 'AU');
290       --
291   end;
292   --
293   -- End of API User Hook for post_update.
294   --
295   --
296   hr_utility.set_location(' Leaving:'||l_proc, 10);
297 End post_update;
298 --
299 -- ----------------------------------------------------------------------------
300 -- |-----------------------------< convert_defs >-----------------------------|
301 -- ----------------------------------------------------------------------------
302 -- {Start Of Comments}
303 --
304 -- Description:
305 --   The Convert_Defs procedure has one very important function:
306 --   It must return the record structure for the row with all system defaulted
307 --   values converted into its corresponding parameter value for update. When
308 --   we attempt to update a row through the Upd process , certain
309 --   parameters can be defaulted which enables flexibility in the calling of
310 --   the upd process (e.g. only attributes which need to be updated need to be
311 --   specified). For the upd process to determine which attributes
312 --   have NOT been specified we need to check if the parameter has a reserved
313 --   system default value. Therefore, for all parameters which have a
314 --   corresponding reserved system default mechanism specified we need to
315 --   check if a system default is being used. If a system default is being
316 --   used then we convert the defaulted value into its corresponding attribute
317 --   value held in the g_old_rec data structure.
318 --
319 -- Prerequisites:
320 --   This private function can only be called from the upd process.
321 --
322 -- In Parameters:
323 --   A Pl/Sql record structre.
324 --
325 -- Post Success:
326 --   The record structure will be returned with all system defaulted parameter
327 --   values converted into its current row attribute value.
328 --
329 -- Post Failure:
330 --   No direct error handling is required within this function. Any possible
331 --   errors within this procedure will be a PL/SQL value error due to conversion
332 --   of datatypes or data lengths.
333 --
334 -- Developer Implementation Notes:
335 --   None.
336 --
337 -- Access Status:
338 --   Internal Row Handler Use Only.
339 --
340 -- {End Of Comments}
341 -- ----------------------------------------------------------------------------
342 Procedure convert_defs(p_rec in out nocopy pqh_bgt_shd.g_rec_type) is
343 --
344   l_proc  varchar2(72) := g_package||'convert_defs';
345 --
346 Begin
347   --
348   hr_utility.set_location('Entering:'||l_proc, 5);
349   --
350   -- We must now examine each argument value in the
351   -- p_rec plsql record structure
352   -- to see if a system default is being used. If a system default
353   -- is being used then we must set to the 'current' argument value.
354   --
355   If (p_rec.business_group_id = hr_api.g_number) then
356     p_rec.business_group_id :=
357     pqh_bgt_shd.g_old_rec.business_group_id;
358   End If;
359   If (p_rec.start_organization_id = hr_api.g_number) then
360     p_rec.start_organization_id :=
361     pqh_bgt_shd.g_old_rec.start_organization_id;
362   End If;
363   If (p_rec.org_structure_version_id = hr_api.g_number) then
364     p_rec.org_structure_version_id :=
365     pqh_bgt_shd.g_old_rec.org_structure_version_id;
366   End If;
367   If (p_rec.budgeted_entity_cd = hr_api.g_varchar2) then
368     p_rec.budgeted_entity_cd :=
369     pqh_bgt_shd.g_old_rec.budgeted_entity_cd;
370   End If;
371   If (p_rec.budget_style_cd = hr_api.g_varchar2) then
372     p_rec.budget_style_cd :=
373     pqh_bgt_shd.g_old_rec.budget_style_cd;
374   End If;
375   If (p_rec.budget_name = hr_api.g_varchar2) then
376     p_rec.budget_name :=
377     pqh_bgt_shd.g_old_rec.budget_name;
378   End If;
379   If (p_rec.period_set_name = hr_api.g_varchar2) then
380     p_rec.period_set_name :=
381     pqh_bgt_shd.g_old_rec.period_set_name;
382   End If;
383   If (p_rec.budget_start_date = hr_api.g_date) then
384     p_rec.budget_start_date :=
385     pqh_bgt_shd.g_old_rec.budget_start_date;
386   End If;
387   If (p_rec.budget_end_date = hr_api.g_date) then
388     p_rec.budget_end_date :=
389     pqh_bgt_shd.g_old_rec.budget_end_date;
390   End If;
391   If (p_rec.gl_budget_name = hr_api.g_varchar2) then
392     p_rec.gl_budget_name :=
393     pqh_bgt_shd.g_old_rec.gl_budget_name;
394   End If;
395   If (p_rec.psb_budget_flag = hr_api.g_varchar2) then
396       p_rec.psb_budget_flag :=
397       pqh_bgt_shd.g_old_rec.psb_budget_flag;
398   End If;
399   If (p_rec.transfer_to_gl_flag = hr_api.g_varchar2) then
400     p_rec.transfer_to_gl_flag :=
401     pqh_bgt_shd.g_old_rec.transfer_to_gl_flag;
402   End If;
403   If (p_rec.transfer_to_grants_flag = hr_api.g_varchar2) then
404     p_rec.transfer_to_grants_flag :=
405     pqh_bgt_shd.g_old_rec.transfer_to_grants_flag;
406   End If;
407   If (p_rec.status = hr_api.g_varchar2) then
408     p_rec.status :=
409     pqh_bgt_shd.g_old_rec.status;
410   End If;
411   If (p_rec.budget_unit1_id = hr_api.g_number) then
412     p_rec.budget_unit1_id :=
413     pqh_bgt_shd.g_old_rec.budget_unit1_id;
414   End If;
415   If (p_rec.budget_unit2_id = hr_api.g_number) then
416     p_rec.budget_unit2_id :=
417     pqh_bgt_shd.g_old_rec.budget_unit2_id;
418   End If;
419   If (p_rec.budget_unit3_id = hr_api.g_number) then
420     p_rec.budget_unit3_id :=
421     pqh_bgt_shd.g_old_rec.budget_unit3_id;
422   End If;
423   If (p_rec.gl_set_of_books_id = hr_api.g_number) then
424     p_rec.gl_set_of_books_id :=
425     pqh_bgt_shd.g_old_rec.gl_set_of_books_id;
426   End If;
427   If (p_rec.budget_unit1_aggregate = hr_api.g_varchar2) then
428     p_rec.budget_unit1_aggregate :=
429     pqh_bgt_shd.g_old_rec.budget_unit1_aggregate;
430   End If;
431   If (p_rec.budget_unit2_aggregate = hr_api.g_varchar2) then
432     p_rec.budget_unit2_aggregate :=
433     pqh_bgt_shd.g_old_rec.budget_unit2_aggregate;
434   End If;
435   If (p_rec.budget_unit3_aggregate = hr_api.g_varchar2) then
436     p_rec.budget_unit3_aggregate :=
437     pqh_bgt_shd.g_old_rec.budget_unit3_aggregate;
438   End If;
439   If (p_rec.position_control_flag = hr_api.g_varchar2) then
440     p_rec.position_control_flag :=
441     pqh_bgt_shd.g_old_rec.position_control_flag;
442   End If;
443   If (p_rec.valid_grade_reqd_flag = hr_api.g_varchar2) then
444     p_rec.valid_grade_reqd_flag :=
445     pqh_bgt_shd.g_old_rec.valid_grade_reqd_flag;
446   End If;
447   If (p_rec.currency_code = hr_api.g_varchar2) then
448     p_rec.currency_code :=
449     pqh_bgt_shd.g_old_rec.currency_code;
450   End If;
451   If (p_rec.dflt_budget_set_id = hr_api.g_number) then
452     p_rec.dflt_budget_set_id :=
453     pqh_bgt_shd.g_old_rec.dflt_budget_set_id;
454   End If;
455 
456   --
457   hr_utility.set_location(' Leaving:'||l_proc, 10);
458 --
459 End convert_defs;
460 --
461 -- ----------------------------------------------------------------------------
462 -- |---------------------------------< upd >----------------------------------|
463 -- ----------------------------------------------------------------------------
464 Procedure upd
465   (
466   p_effective_date in date,
467   p_rec        in out nocopy pqh_bgt_shd.g_rec_type
468   ) is
469 --
470   l_proc  varchar2(72) := g_package||'upd';
471 --
472 Begin
473   hr_utility.set_location('Entering:'||l_proc, 5);
474   --
475   -- We must lock the row which we need to update.
476   --
477   pqh_bgt_shd.lck
478 	(
479 	p_rec.budget_id,
480 	p_rec.object_version_number
481 	);
482   --
483   -- 1. During an update system defaults are used to determine if
484   --    arguments have been defaulted or not. We must therefore
485   --    derive the full record structure values to be updated.
486   --
487   -- 2. Call the supporting update validate operations.
488   --
489   convert_defs(p_rec);
490   pqh_bgt_bus.update_validate(p_rec
491   ,p_effective_date);
492   --
493   -- Call the supporting pre-update operation
494   --
495   pre_update(p_rec);
496   --
497   -- Update the row.
498   --
499   update_dml(p_rec);
500   --
501   -- Call the supporting post-update operation
502   --
503   post_update(
504 p_effective_date,p_rec);
505 End upd;
506 --
507 -- ----------------------------------------------------------------------------
508 -- |---------------------------------< upd >----------------------------------|
509 -- ----------------------------------------------------------------------------
510 Procedure upd
511   (
512   p_effective_date in date,
513   p_budget_id                    in number,
514   p_business_group_id            in number           default hr_api.g_number,
515   p_start_organization_id        in number           default hr_api.g_number,
516   p_org_structure_version_id     in number           default hr_api.g_number,
517   p_budgeted_entity_cd           in varchar2         default hr_api.g_varchar2,
518   p_budget_style_cd              in varchar2         default hr_api.g_varchar2,
519   p_budget_name                  in varchar2         default hr_api.g_varchar2,
520   p_period_set_name              in varchar2         default hr_api.g_varchar2,
521   p_budget_start_date            in date             default hr_api.g_date,
522   p_budget_end_date              in date             default hr_api.g_date,
523   p_gl_budget_name               in varchar2         default hr_api.g_varchar2,
524   p_psb_budget_flag              in varchar2         default hr_api.g_varchar2,
525   p_transfer_to_gl_flag          in varchar2         default hr_api.g_varchar2,
526   p_transfer_to_grants_flag      in varchar2         default hr_api.g_varchar2,
527   p_status                       in varchar2         default hr_api.g_varchar2,
528   p_object_version_number        in out nocopy number,
529   p_budget_unit1_id              in number           default hr_api.g_number,
530   p_budget_unit2_id              in number           default hr_api.g_number,
531   p_budget_unit3_id              in number           default hr_api.g_number,
532   p_gl_set_of_books_id           in number           default hr_api.g_number,
533   p_budget_unit1_aggregate       in varchar2         default hr_api.g_varchar2,
534   p_budget_unit2_aggregate       in varchar2         default hr_api.g_varchar2,
535   p_budget_unit3_aggregate       in varchar2         default hr_api.g_varchar2,
536   p_position_control_flag        in varchar2         default hr_api.g_varchar2,
537   p_valid_grade_reqd_flag        in varchar2         default hr_api.g_varchar2,
538   p_currency_code                in varchar2         default hr_api.g_varchar2,
539   p_dflt_budget_set_id           in number           default hr_api.g_number
540   ) is
541 --
542   l_rec	  pqh_bgt_shd.g_rec_type;
543   l_proc  varchar2(72) := g_package||'upd';
544 --
545 Begin
546   hr_utility.set_location('Entering:'||l_proc, 5);
547   --
548   -- Call conversion function to turn arguments into the
549   -- l_rec structure.
550   --
551   l_rec :=
552   pqh_bgt_shd.convert_args
553   (
554   p_budget_id,
555   p_business_group_id,
556   p_start_organization_id,
557   p_org_structure_version_id,
558   p_budgeted_entity_cd,
559   p_budget_style_cd,
560   p_budget_name,
561   p_period_set_name,
562   p_budget_start_date,
563   p_budget_end_date,
564   p_gl_budget_name,
565   p_psb_budget_flag,
566   p_transfer_to_gl_flag,
567   p_transfer_to_grants_flag,
568   p_status,
569   p_object_version_number,
570   p_budget_unit1_id,
571   p_budget_unit2_id,
572   p_budget_unit3_id,
573   p_gl_set_of_books_id,
574   p_budget_unit1_aggregate,
575   p_budget_unit2_aggregate,
576   p_budget_unit3_aggregate,
577   p_position_control_flag,
578   p_valid_grade_reqd_flag     ,
579   p_currency_code,
580   p_dflt_budget_set_id
581   );
582   --
583   -- Having converted the arguments into the
584   -- plsql record structure we call the corresponding record
585   -- business process.
586   --
587   upd(
588     p_effective_date,l_rec);
589   p_object_version_number := l_rec.object_version_number;
590   --
591   hr_utility.set_location(' Leaving:'||l_proc, 10);
592 End upd;
593 --
594 end pqh_bgt_upd;