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;