DBA Data[Home] [Help]

PACKAGE BODY: APPS.PA_FP_BUDGET_VERSIONS_PKG

Source


1 PACKAGE BODY pa_fp_budget_versions_pkg as
2 /* $Header: PAFPBVTB.pls 120.1 2005/08/19 16:24:16 mwasowic noship $ */
3 -- Start of Comments
4 -- Package name     : PA_FP_BUDGET_VERSIONS_PKG
5 -- Purpose          :
6 -- History          :
7 -- 31-OCT-2002    rravipat   Modified the Insert_Row and Update_Row apis
8 --                           to include the newly added columns
9 --                           for Bug:- 2634900
10 --
11 --   26-JUN-2003 jwhite        - Plannable Task Dev Effort:
12 --                               For the Insert_Row procedure, add the
13 --                               following IN-parameters:
14 --                               1) p_refresh_required_flag
15 --   29-JAN-2003 rravipat      - Bug 2634900 (IDC)
16 --                               Included new columns for FP M Doosan.
17 --   02-APR-2004 dbora           FP.M Added p_est_equip_qty in parameter in
18 --                               Insert_Row and Update_Row
19 -- NOTE             :
20 -- End of Comments
21 
22 
23 G_PKG_NAME CONSTANT VARCHAR2(30):= 'PA_FP_BUDGET_VERSIONS_PKG';
24 G_FILE_NAME CONSTANT VARCHAR2(12) := 'pafpbvtb.pls';
25 
26 PROCEDURE Insert_Row
27 (px_budget_version_id        IN OUT NOCOPY pa_budget_versions.budget_version_id%TYPE  --File.Sql.39 bug 4440895
28  ,p_project_id                   IN pa_budget_versions.project_id%TYPE
29                                     := FND_API.G_MISS_NUM
30  ,p_budget_type_code             IN pa_budget_versions.budget_type_code%TYPE
31                                     := FND_API.G_MISS_CHAR
32  ,p_version_number               IN pa_budget_versions.version_number%TYPE
33                                     := FND_API.G_MISS_NUM
34  ,p_budget_status_code           IN pa_budget_versions.budget_status_code%TYPE
35                                     := FND_API.G_MISS_CHAR
36  ,p_current_flag                 IN pa_budget_versions.current_flag%TYPE
37                                     := FND_API.G_MISS_CHAR
38  ,p_original_flag                IN pa_budget_versions.original_flag%TYPE
39                                     := FND_API.G_MISS_CHAR
40  ,p_current_original_flag        IN pa_budget_versions.current_original_flag%TYPE
41                                     := FND_API.G_MISS_CHAR
42  ,p_resource_accumulated_flag    IN pa_budget_versions.resource_accumulated_flag%TYPE
43                                     := FND_API.G_MISS_CHAR
44  ,p_resource_list_id             IN pa_budget_versions.resource_list_id%TYPE
45                                     := FND_API.G_MISS_NUM
46  ,p_version_name                 IN pa_budget_versions.version_name%TYPE
47                                     := FND_API.G_MISS_CHAR
48  ,p_budget_entry_method_code     IN pa_budget_versions.budget_entry_method_code%TYPE
49                                     := FND_API.G_MISS_CHAR
50  ,p_baselined_by_person_id       IN pa_budget_versions.baselined_by_person_id%TYPE
51                                     := FND_API.G_MISS_NUM
52  ,p_baselined_date               IN pa_budget_versions.baselined_date%TYPE
53                                     := FND_API.G_MISS_DATE
54  ,p_change_reason_code           IN pa_budget_versions.change_reason_code%TYPE
55                                     := FND_API.G_MISS_CHAR
56  ,p_labor_quantity               IN pa_budget_versions.labor_quantity%TYPE
57                                     := FND_API.G_MISS_NUM
58  ,p_labor_unit_of_measure        IN pa_budget_versions.labor_unit_of_measure%TYPE
59                                     := FND_API.G_MISS_CHAR
60  ,p_raw_cost                     IN pa_budget_versions.raw_cost%TYPE
61                                     := FND_API.G_MISS_NUM
62  ,p_burdened_cost                IN pa_budget_versions.burdened_cost%TYPE
63                                     := FND_API.G_MISS_NUM
64  ,p_revenue                      IN pa_budget_versions.revenue%TYPE
65                                     := FND_API.G_MISS_NUM
66  ,p_description                  IN pa_budget_versions.description%TYPE
67                                     := FND_API.G_MISS_CHAR
68  ,p_attribute_category           IN pa_budget_versions.attribute_category%TYPE
69                                     := FND_API.G_MISS_CHAR
70  ,p_attribute1                   IN pa_budget_versions.attribute1%TYPE
71                                     := FND_API.G_MISS_CHAR
72  ,p_attribute2                   IN pa_budget_versions.attribute2%TYPE
73                                     := FND_API.G_MISS_CHAR
74  ,p_attribute3                   IN pa_budget_versions.attribute3%TYPE
75                                     := FND_API.G_MISS_CHAR
76  ,p_attribute4                   IN pa_budget_versions.attribute4%TYPE
77                                     := FND_API.G_MISS_CHAR
78  ,p_attribute5                   IN pa_budget_versions.attribute5%TYPE
79                                     := FND_API.G_MISS_CHAR
80  ,p_attribute6                   IN pa_budget_versions.attribute6%TYPE
81                                     := FND_API.G_MISS_CHAR
82  ,p_attribute7                   IN pa_budget_versions.attribute7%TYPE
83                                     := FND_API.G_MISS_CHAR
84  ,p_attribute8                   IN pa_budget_versions.attribute8%TYPE
85                                     := FND_API.G_MISS_CHAR
86  ,p_attribute9                   IN pa_budget_versions.attribute9%TYPE
87                                     := FND_API.G_MISS_CHAR
88  ,p_attribute10                  IN pa_budget_versions.attribute10%TYPE
89                                     := FND_API.G_MISS_CHAR
90  ,p_attribute11                  IN pa_budget_versions.attribute11%TYPE
91                                     := FND_API.G_MISS_CHAR
92  ,p_attribute12                  IN pa_budget_versions.attribute12%TYPE
93                                     := FND_API.G_MISS_CHAR
94  ,p_attribute13                  IN pa_budget_versions.attribute13%TYPE
95                                     := FND_API.G_MISS_CHAR
96  ,p_attribute14                  IN pa_budget_versions.attribute14%TYPE
97                                     := FND_API.G_MISS_CHAR
98  ,p_attribute15                  IN pa_budget_versions.attribute15%TYPE
99                                     := FND_API.G_MISS_CHAR
100  ,p_first_budget_period          IN pa_budget_versions.first_budget_period%TYPE
101                                     := FND_API.G_MISS_CHAR
102  ,p_pm_product_code              IN pa_budget_versions.pm_product_code%TYPE
103                                     := FND_API.G_MISS_CHAR
104  ,p_pm_budget_reference          IN pa_budget_versions.pm_budget_reference%TYPE
105                                     := FND_API.G_MISS_CHAR
106  ,p_wf_status_code               IN pa_budget_versions.wf_status_code%TYPE
107                                     := FND_API.G_MISS_CHAR
108  ,p_adw_notify_flag              IN pa_budget_versions.adw_notify_flag%TYPE
109                                     := FND_API.G_MISS_CHAR
110  ,p_prc_generated_flag           IN pa_budget_versions.prc_generated_flag%TYPE
111                                     := FND_API.G_MISS_CHAR
112  ,p_plan_run_date                IN pa_budget_versions.plan_run_date%TYPE
113                                     := FND_API.G_MISS_DATE
114  ,p_plan_processing_code         IN pa_budget_versions.plan_processing_code%TYPE
115                                     := FND_API.G_MISS_CHAR
116  ,p_period_profile_id            IN pa_budget_versions.period_profile_id%TYPE
117                                     := FND_API.G_MISS_NUM
118  ,p_fin_plan_type_id             IN pa_budget_versions.fin_plan_type_id%TYPE
119                                     := FND_API.G_MISS_NUM
120  ,p_parent_plan_version_id       IN pa_budget_versions.parent_plan_version_id%TYPE
121                                     := FND_API.G_MISS_NUM
122  ,p_project_structure_version_id IN pa_budget_versions.project_structure_version_id%TYPE
123                                     := FND_API.G_MISS_NUM
124  ,p_current_working_flag         IN pa_budget_versions.current_working_flag%TYPE
125                                     := FND_API.G_MISS_CHAR
126  ,p_total_borrowed_revenue       IN pa_budget_versions.total_borrowed_revenue%TYPE
127                                     := FND_API.G_MISS_NUM
128  ,p_total_tp_revenue_in          IN pa_budget_versions.total_tp_revenue_in%TYPE
129                                     := FND_API.G_MISS_NUM
130  ,p_total_tp_revenue_out         IN pa_budget_versions.total_tp_revenue_out%TYPE
131                                     := FND_API.G_MISS_NUM
132  ,p_total_revenue_adj            IN pa_budget_versions.total_revenue_adj%TYPE
133                                     := FND_API.G_MISS_NUM
134  ,p_total_lent_resource_cost     IN pa_budget_versions.total_lent_resource_cost%TYPE
135                                     := FND_API.G_MISS_NUM
136  ,p_total_tp_cost_in             IN pa_budget_versions.total_tp_cost_in%TYPE
137                                     := FND_API.G_MISS_NUM
138  ,p_total_tp_cost_out            IN pa_budget_versions.total_tp_cost_out%TYPE
139                                     := FND_API.G_MISS_NUM
140  ,p_total_cost_adj               IN pa_budget_versions.total_cost_adj%TYPE
141                                     := FND_API.G_MISS_NUM
142  ,p_total_unassigned_time_cost   IN pa_budget_versions.total_unassigned_time_cost%TYPE
143                                     := FND_API.G_MISS_NUM
144  ,p_total_utilization_percent    IN pa_budget_versions.total_utilization_percent%TYPE
145                                     := FND_API.G_MISS_NUM
146  ,p_total_utilization_hours      IN pa_budget_versions.total_utilization_hours%TYPE
147                                     := FND_API.G_MISS_NUM
148  ,p_total_utilization_adj        IN pa_budget_versions.total_utilization_adj%TYPE
149                                     := FND_API.G_MISS_NUM
150  ,p_total_capacity               IN pa_budget_versions.total_capacity%TYPE
151                                     := FND_API.G_MISS_NUM
152  ,p_total_head_count             IN pa_budget_versions.total_head_count%TYPE
153                                     := FND_API.G_MISS_NUM
154  ,p_total_head_count_adj         IN pa_budget_versions.total_head_count_adj%TYPE
155                                     := FND_API.G_MISS_NUM
156  ,p_version_type                 IN pa_budget_versions.version_type%TYPE
157                                     := FND_API.G_MISS_CHAR
158  ,p_request_id                   IN pa_budget_versions.request_id%TYPE
159                                     := FND_API.G_MISS_NUM
160  ,p_total_project_raw_cost       IN pa_budget_versions.total_project_raw_cost%TYPE
161                                     := FND_API.G_MISS_NUM
162  ,p_total_project_burdened_cost	 IN pa_budget_versions.total_project_burdened_cost%TYPE
163                                     := FND_API.G_MISS_NUM
164  ,p_total_project_revenue	 IN pa_budget_versions.total_project_revenue%TYPE
165                                     := FND_API.G_MISS_NUM
166  ,p_locked_by_person_id 	 IN pa_budget_versions.locked_by_person_id%TYPE
167                                     := FND_API.G_MISS_NUM
168  ,p_approved_cost_plan_type_flag IN pa_budget_versions.approved_cost_plan_type_flag%TYPE
169                                     := FND_API.G_MISS_CHAR
170  ,p_approved_rev_plan_type_flag	 IN pa_budget_versions.approved_rev_plan_type_flag%TYPE
171                                     := FND_API.G_MISS_CHAR
172 -- start of changes of Bug:- 2634900
173  ,p_est_project_raw_cost         IN pa_budget_versions.est_project_raw_cost%TYPE
174                                     := FND_API.G_MISS_NUM
175  ,p_est_project_burdened_cost    IN pa_budget_versions.est_project_burdened_cost%TYPE
176                                     := FND_API.G_MISS_NUM
177  ,p_est_project_revenue          IN pa_budget_versions.est_project_revenue%TYPE
178                                     := FND_API.G_MISS_NUM
179  ,p_est_quantity                 IN pa_budget_versions.est_quantity%TYPE
180                                     := FND_API.G_MISS_NUM
181  ,p_est_equip_qty                IN pa_budget_versions.est_equipment_quantity%TYPE
182                                     := FND_API.G_MISS_NUM
183  ,p_est_projfunc_raw_cost        IN pa_budget_versions.est_projfunc_raw_cost%TYPE
184                                     := FND_API.G_MISS_NUM
185  ,p_est_projfunc_burdened_cost   IN pa_budget_versions.est_projfunc_burdened_cost%TYPE
186                                     := FND_API.G_MISS_NUM
187  ,p_est_projfunc_revenue         IN pa_budget_versions.est_projfunc_revenue%TYPE
188                                     := FND_API.G_MISS_NUM
189  ,p_ci_id                        IN pa_budget_versions.ci_id%TYPE
190                                     := FND_API.G_MISS_NUM
191  ,p_agreement_id                 IN pa_budget_versions.agreement_id%TYPE
192                                     := FND_API.G_MISS_NUM
193  ,p_refresh_required_flag        IN pa_budget_versions.PROCESS_UPDATE_WBS_FLAG%TYPE
194                                     := FND_API.G_MISS_CHAR
195 -- end of changes of Bug:- 2634900
196 -- Bug 3354518: start of new columns for FP-M
197 ,p_object_type_code              IN   pa_budget_versions.object_type_code%TYPE
198                                     := FND_API.G_MISS_CHAR
199 ,p_object_id                     IN   pa_budget_versions.object_id%TYPE
200                                     := FND_API.G_MISS_NUM
201 ,p_primary_cost_forecast_flag    IN   pa_budget_versions.primary_cost_forecast_flag%TYPE
202                                     := FND_API.G_MISS_CHAR
203 ,p_primary_rev_forecast_flag     IN   pa_budget_versions.primary_rev_forecast_flag%TYPE
204                                     := FND_API.G_MISS_CHAR
205 ,p_rev_partially_impl_flag       IN   pa_budget_versions.rev_partially_impl_flag%TYPE
206                                     := FND_API.G_MISS_CHAR
207 ,p_equipment_quantity            IN   pa_budget_versions.equipment_quantity%TYPE
208                                     := FND_API.G_MISS_NUM
209 ,p_pji_summarized_flag           IN   pa_budget_versions.pji_summarized_flag%TYPE
210                                     := FND_API.G_MISS_CHAR
211 ,p_wp_version_flag               IN   pa_budget_versions.wp_version_flag%TYPE
212                                     := FND_API.G_MISS_CHAR
213 ,p_current_planning_period       IN   pa_budget_versions.current_planning_period%TYPE
214                                     := FND_API.G_MISS_CHAR
215 ,p_period_mask_id                IN   pa_budget_versions.period_mask_id%TYPE
216                                     := FND_API.G_MISS_NUM
217 ,p_last_amt_gen_date             IN   pa_budget_versions.last_amt_gen_date%TYPE
218                                     := FND_API.G_MISS_DATE
219 ,p_actual_amts_thru_period       IN   pa_budget_versions.actual_amts_thru_period%TYPE
220                                     := FND_API.G_MISS_CHAR
221 -- Bug 3354518: end of new columns for FP-M
222  ,x_row_id                      OUT NOCOPY ROWID --File.Sql.39 bug 4440895
223  ,x_return_status               OUT NOCOPY VARCHAR2) --File.Sql.39 bug 4440895
224 
225  IS
226    CURSOR C2 IS select pa_budget_versions_s.nextval FROM sys.dual;
227 
228 BEGIN
229 
230    x_return_status := FND_API.G_RET_STS_SUCCESS;
231 
232    IF (px_budget_version_id IS NULL) OR (px_budget_version_id =
233                                         FND_API.G_MISS_NUM) THEN
234        OPEN C2;
235        FETCH C2 INTO px_budget_version_id;
236        CLOSE C2;
237    END IF;
238 
239    INSERT INTO pa_budget_versions(
240            budget_version_id
241           ,record_version_number
242           ,project_id
243           ,budget_type_code
244           ,version_number
245           ,budget_status_code
246           ,last_update_date
247           ,last_updated_by
248           ,creation_date
249           ,created_by
250           ,last_update_login
251           ,current_flag
252           ,original_flag
253           ,current_original_flag
254           ,resource_accumulated_flag
255           ,resource_list_id
256           ,version_name
257           ,budget_entry_method_code
258           ,baselined_by_person_id
259           ,baselined_datE
260           ,change_reason_code
261           ,labor_quantity
262           ,labor_unit_of_measure
263           ,raw_cosT
264           ,burdened_cost
265           ,revenue
266           ,description
267           ,attribute_category
268           ,attribute1
269           ,attribute2
270           ,attribute3
271           ,attribute4
272           ,attribute5
273           ,attribute6
274           ,attribute7
275           ,attribute8
276           ,attribute9
277           ,attribute10
278           ,attribute11
279           ,attribute12
280           ,attribute13
281           ,attribute14
282           ,attribute15
283           ,first_budget_period
284           ,pm_product_code
285           ,pm_budget_reference
286           ,wf_status_code
287           ,adw_notify_flag
288           ,prc_generated_flag
289           ,plan_run_date
290           ,plan_processing_code
291           ,period_profile_id
292           ,fin_plan_type_id
293           ,parent_plan_version_id
294           ,project_structure_version_id
295           ,current_working_flag
296           ,total_borrowed_revenue
297           ,total_tp_revenue_in
298           ,total_tp_revenue_out
299           ,total_revenue_adj
300           ,total_lent_resource_cost
301           ,total_tp_cost_in
302           ,total_tp_cost_out
303           ,total_cost_adj
304           ,total_unassigned_time_cost
305           ,total_utilization_percent
306           ,total_utilization_hours
307           ,total_utilization_adj
308           ,total_capacity
309           ,total_head_count
310           ,total_head_count_adj
311           ,version_type
312           ,request_id
313 	  ,total_project_raw_cost
314   	  ,total_project_burdened_cost
315 	  ,total_project_revenue
316 	  ,locked_by_person_id
317 	  ,approved_cost_plan_type_flag
318 	  ,approved_rev_plan_type_flag
319 -- start of changes of Bug:- 2634900
320           ,est_project_raw_cost
321           ,est_project_burdened_cost
322           ,est_project_revenue
323           ,est_quantity
324           ,est_projfunc_raw_cost
325           ,est_projfunc_burdened_cost
326           ,est_projfunc_revenue
327           ,ci_id
328           ,agreement_id
329           ,process_update_wbs_flag
330 -- end of changes of Bug:- 2634900
331 -- Bug 3354518: start of new columns for FP-M
332          ,object_type_code
333          ,object_id
334          ,primary_cost_forecast_flag
335          ,primary_rev_forecast_flag
336          ,rev_partially_impl_flag
337          ,equipment_quantity
338          ,pji_summarized_flag
339          ,wp_version_flag
340          ,current_planning_period
341          ,period_mask_id
342          ,last_amt_gen_date
343          ,actual_amts_thru_period
344       -- Bug 3354518: end of new columns for FP-M
345          ,est_equipment_quantity --FP.M
346          ) VALUES (
347            px_budget_version_id
348           ,1
349           ,DECODE( p_project_id, FND_API.G_MISS_NUM, NULL, p_project_id)
350           ,DECODE( p_budget_type_code, FND_API.G_MISS_CHAR, NULL,
351                    p_budget_type_code)
352           ,DECODE( p_version_number, FND_API.G_MISS_NUM, NULL, p_version_number)
353           ,DECODE( p_budget_status_code, FND_API.G_MISS_CHAR, NULL,
354                    p_budget_status_code)
355           ,sysdate
356 		,fnd_global.user_id
357 		,sysdate
358 		,fnd_global.user_id
359           ,fnd_global.login_id
360           ,DECODE( p_current_flag, FND_API.G_MISS_CHAR, NULL, p_current_flag)
361           ,DECODE( p_original_flag, FND_API.G_MISS_CHAR, NULL, p_original_flag)
362           ,DECODE( p_current_original_flag, FND_API.G_MISS_CHAR, NULL,
363                    p_current_original_flag)
364           ,DECODE( p_resource_accumulated_flag, FND_API.G_MISS_CHAR, NULL,
365                    p_resource_accumulated_flag)
366           ,DECODE( p_resource_list_id, FND_API.G_MISS_NUM, NULL,
367                    p_resource_list_id)
368           ,DECODE( p_version_name, FND_API.G_MISS_CHAR, NULL, p_version_name)
369           ,DECODE( p_budget_entry_method_code, FND_API.G_MISS_CHAR, NULL,
370                    p_budget_entry_method_code)
371           ,DECODE( p_baselined_by_person_id, FND_API.G_MISS_NUM, NULL,
372                    p_baselined_by_person_id)
373           ,DECODE( p_baselined_date, FND_API.G_MISS_DATE, TO_DATE(null),
374                    p_baselined_date)
375           ,DECODE( p_change_reason_code, FND_API.G_MISS_CHAR, NULL,
376                    p_change_reason_code)
377           ,DECODE( p_labor_quantity, FND_API.G_MISS_NUM, NULL, p_labor_quantity)
378           ,DECODE( p_labor_unit_of_measure, FND_API.G_MISS_CHAR, NULL,
379                    p_labor_unit_of_measure)
380           ,DECODE( p_raw_cost, FND_API.G_MISS_NUM, NULL, p_raw_cost)
381           ,DECODE( p_burdened_cost, FND_API.G_MISS_NUM, NULL, p_burdened_cost)
382           ,DECODE( p_revenue, FND_API.G_MISS_NUM, NULL, p_revenue)
383           ,DECODE( p_description, FND_API.G_MISS_CHAR, NULL, p_description)
384           ,DECODE( p_attribute_category, FND_API.G_MISS_CHAR, NULL,
385                    p_attribute_category)
386           ,DECODE( p_attribute1, FND_API.G_MISS_CHAR, NULL, p_attribute1)
387           ,DECODE( p_attribute2, FND_API.G_MISS_CHAR, NULL, p_attribute2)
388           ,DECODE( p_attribute3, FND_API.G_MISS_CHAR, NULL, p_attribute3)
389           ,DECODE( p_attribute4, FND_API.G_MISS_CHAR, NULL, p_attribute4)
390           ,DECODE( p_attribute5, FND_API.G_MISS_CHAR, NULL, p_attribute5)
391           ,DECODE( p_attribute6, FND_API.G_MISS_CHAR, NULL, p_attribute6)
392           ,DECODE( p_attribute7, FND_API.G_MISS_CHAR, NULL, p_attribute7)
393           ,DECODE( p_attribute8, FND_API.G_MISS_CHAR, NULL, p_attribute8)
394           ,DECODE( p_attribute9, FND_API.G_MISS_CHAR, NULL, p_attribute9)
395           ,DECODE( p_attribute10, FND_API.G_MISS_CHAR, NULL, p_attribute10)
396           ,DECODE( p_attribute11, FND_API.G_MISS_CHAR, NULL, p_attribute11)
397           ,DECODE( p_attribute12, FND_API.G_MISS_CHAR, NULL, p_attribute12)
398           ,DECODE( p_attribute13, FND_API.G_MISS_CHAR, NULL, p_attribute13)
399           ,DECODE( p_attribute14, FND_API.G_MISS_CHAR, NULL, p_attribute14)
400           ,DECODE( p_attribute15, FND_API.G_MISS_CHAR, NULL, p_attribute15)
401           ,DECODE( p_first_budget_period, FND_API.G_MISS_CHAR, NULL,
402                    p_first_budget_period)
403           ,DECODE( p_pm_product_code, FND_API.G_MISS_CHAR, NULL,
404                    p_pm_product_code)
405           ,DECODE( p_pm_budget_reference, FND_API.G_MISS_CHAR, NULL,
406                    p_pm_budget_reference)
407           ,DECODE( p_wf_status_code, FND_API.G_MISS_CHAR, NULL,
408                    p_wf_status_code)
409           ,DECODE( p_adw_notify_flag, FND_API.G_MISS_CHAR, NULL,
410                    p_adw_notify_flag)
411           ,DECODE( p_prc_generated_flag, FND_API.G_MISS_CHAR, NULL,
412                    p_prc_generated_flag)
413           ,DECODE( p_plan_run_DATE, FND_API.G_MISS_DATE, TO_DATE(null),
414                    p_plan_run_DATE)
415           ,DECODE( p_plan_processing_code, FND_API.G_MISS_CHAR, NULL,
416                    p_plan_processing_code)
417           ,DECODE( p_period_profile_id, FND_API.G_MISS_NUM, NULL,
418                    p_period_profile_id)
419           ,DECODE( p_fin_plan_type_id, FND_API.G_MISS_NUM, NULL,
420                    p_fin_plan_type_id)
421           ,DECODE( p_parent_plan_version_id, FND_API.G_MISS_NUM, NULL,
422                    p_parent_plan_version_id)
423           ,DECODE( p_project_structure_version_id, FND_API.G_MISS_NUM, NULL,
424                    p_project_structure_version_id)
425           ,DECODE( p_current_working_flag, FND_API.G_MISS_CHAR, NULL,
426                    p_current_working_flag)
427           ,DECODE( p_total_borrowed_revenue, FND_API.G_MISS_NUM, NULL,
428                    p_total_borrowed_revenue)
429           ,DECODE( p_total_tp_revenue_in, FND_API.G_MISS_NUM, NULL,
430                    p_total_tp_revenue_in)
431           ,DECODE( p_total_tp_revenue_out, FND_API.G_MISS_NUM, NULL,
432                    p_total_tp_revenue_out)
433           ,DECODE( p_total_revenue_adj, FND_API.G_MISS_NUM, NULL,
434                    p_total_revenue_adj)
435           ,DECODE( p_total_lent_resource_cost, FND_API.G_MISS_NUM, NULL,
436                    p_total_lent_resource_cost)
437           ,DECODE( p_total_tp_cost_in, FND_API.G_MISS_NUM, NULL,
438                    p_total_tp_cost_in)
439           ,DECODE( p_total_tp_cost_out, FND_API.G_MISS_NUM, NULL,
440                    p_total_tp_cost_out)
441           ,DECODE( p_total_cost_adj, FND_API.G_MISS_NUM, NULL, p_total_cost_adj)
442           ,DECODE( p_total_unassigned_time_cost, FND_API.G_MISS_NUM, NULL,
443                    p_total_unassigned_time_cost)
444           ,DECODE( p_total_utilization_percent, FND_API.G_MISS_NUM, NULL,
445                    p_total_utilization_percent)
446           ,DECODE( p_total_utilization_hours, FND_API.G_MISS_NUM, NULL,
447                    p_total_utilization_hours)
448           ,DECODE( p_total_utilization_adj, FND_API.G_MISS_NUM, NULL,
449                    p_total_utilization_adj)
450           ,DECODE( p_total_capacity, FND_API.G_MISS_NUM, NULL, p_total_capacity)
451           ,DECODE( p_total_head_count, FND_API.G_MISS_NUM, NULL,
452                    p_total_head_count)
453           ,DECODE( p_total_head_count_adj, FND_API.G_MISS_NUM, NULL,
454                    p_total_head_count_adj)
455           ,DECODE( p_version_type, FND_API.G_MISS_CHAR, NULL, p_version_type)
456           ,DECODE( p_request_id, FND_API.G_MISS_NUM, NULL, p_request_id)
457 	  ,DECODE( p_total_project_raw_cost, FND_API.G_MISS_NUM, NULL, p_total_project_raw_cost)
458 	  ,DECODE( p_total_project_burdened_cost, FND_API.G_MISS_NUM, NULL, p_total_project_burdened_cost)
459 	  ,DECODE( p_total_project_revenue, FND_API.G_MISS_NUM, NULL, p_total_project_revenue)
460 	  ,DECODE( p_locked_by_person_id, FND_API.G_MISS_NUM, NULL, p_locked_by_person_id)
461 	  ,DECODE( p_approved_cost_plan_type_flag, FND_API.G_MISS_CHAR, NULL, p_approved_cost_plan_type_flag)
462 	  ,DECODE( p_approved_rev_plan_type_flag, FND_API.G_MISS_CHAR, NULL, p_approved_rev_plan_type_flag)
463 -- start of changes of Bug:- 2634900
464 	  ,DECODE( p_est_project_raw_cost, FND_API.G_MISS_NUM, NULL, p_est_project_raw_cost)
465 	  ,DECODE( p_est_project_burdened_cost, FND_API.G_MISS_NUM, NULL, p_est_project_burdened_cost)
466 	  ,DECODE( p_est_project_revenue, FND_API.G_MISS_NUM, NULL, p_est_project_revenue)
467 	  ,DECODE( p_est_quantity, FND_API.G_MISS_NUM, NULL, p_est_quantity)
468       ,DECODE( p_est_projfunc_raw_cost, FND_API.G_MISS_NUM, NULL, p_est_projfunc_raw_cost)
469 	  ,DECODE( p_est_projfunc_burdened_cost, FND_API.G_MISS_NUM, NULL, p_est_projfunc_burdened_cost)
470 	  ,DECODE( p_est_projfunc_revenue, FND_API.G_MISS_NUM, NULL, p_est_projfunc_revenue)
471 	  ,DECODE( p_ci_id, FND_API.G_MISS_NUM, NULL, p_ci_id)
472 	  ,DECODE( p_agreement_id, FND_API.G_MISS_NUM, NULL, p_agreement_id)
473       ,DECODE(p_refresh_required_flag, FND_API.G_MISS_CHAR, NULL, p_refresh_required_flag)
474 -- end of changes of Bug:- 2634900
475 -- Bug 3354518: start of new columns for FP-M
476       ,DECODE(p_object_type_code            ,   FND_API.G_MISS_CHAR, null, p_object_type_code           )
477       ,DECODE(p_object_id                   ,   FND_API.G_MISS_NUM , null, p_object_id                  )
478       ,DECODE(p_primary_cost_forecast_flag  ,   FND_API.G_MISS_CHAR, null, p_primary_cost_forecast_flag )
479       ,DECODE(p_primary_rev_forecast_flag   ,   FND_API.G_MISS_CHAR, null, p_primary_rev_forecast_flag  )
480       ,DECODE(p_rev_partially_impl_flag     ,   FND_API.G_MISS_CHAR, null, p_rev_partially_impl_flag    )
481       ,DECODE(p_equipment_quantity          ,   FND_API.G_MISS_NUM , null, p_equipment_quantity         )
482       ,DECODE(p_pji_summarized_flag         ,   FND_API.G_MISS_CHAR, null, p_pji_summarized_flag        )
483       ,DECODE(p_wp_version_flag             ,   FND_API.G_MISS_CHAR, null, p_wp_version_flag            )
484       ,DECODE(p_current_planning_period     ,   FND_API.G_MISS_CHAR, null, p_current_planning_period    )
485       ,DECODE(p_period_mask_id              ,   FND_API.G_MISS_NUM , null, p_period_mask_id             )
486       ,DECODE(p_last_amt_gen_date           ,   FND_API.G_MISS_DATE, null, p_last_amt_gen_date          )
487       ,DECODE(p_actual_amts_thru_period     ,   FND_API.G_MISS_CHAR, null, p_actual_amts_thru_period    )
488 -- Bug 3354518: end of new columns for FP-M
489       ,DECODE( p_est_equip_qty, FND_API.G_MISS_NUM, NULL, p_est_equip_qty) --FP.M
490           );
491 EXCEPTION
492   WHEN OTHERS THEN
493        FND_MSG_PUB.add_exc_msg( p_pkg_name
494                                 => 'PA_FP_BUDGET_VERSIONS_PKG.Insert_Row'
495                                ,p_procedure_name
496                                 => PA_DEBUG.G_Err_Stack);
497        x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
498        RAISE;
499 END Insert_Row;
500 
501 PROCEDURE Update_Row
502 ( p_budget_version_id            IN pa_budget_versions.budget_version_id%TYPE
503  ,p_record_version_number        IN NUMBER
504                                     := NULL
505  ,p_project_id                   IN pa_budget_versions.project_id%TYPE
506                                     := FND_API.G_MISS_NUM
507  ,p_budget_type_code             IN pa_budget_versions.budget_type_code%TYPE
508                                     := FND_API.G_MISS_CHAR
509  ,p_version_number               IN pa_budget_versions.version_number%TYPE
510                                     := FND_API.G_MISS_NUM
511  ,p_budget_status_code           IN pa_budget_versions.budget_status_code%TYPE
512                                     := FND_API.G_MISS_CHAR
513  ,p_current_flag                 IN pa_budget_versions.current_flag%TYPE
514                                     := FND_API.G_MISS_CHAR
515  ,p_original_flag                IN pa_budget_versions.original_flag%TYPE
516                                     := FND_API.G_MISS_CHAR
517  ,p_current_original_flag        IN pa_budget_versions.current_original_flag%TYPE
518                                     := FND_API.G_MISS_CHAR
519  ,p_resource_accumulated_flag    IN pa_budget_versions.resource_accumulated_flag%TYPE
520                                     := FND_API.G_MISS_CHAR
521  ,p_resource_list_id             IN pa_budget_versions.resource_list_id%TYPE
522                                     := FND_API.G_MISS_NUM
523  ,p_version_name                 IN pa_budget_versions.version_name%TYPE
524                                     := FND_API.G_MISS_CHAR
525  ,p_budget_entry_method_code     IN pa_budget_versions.budget_entry_method_code%TYPE
526                                     := FND_API.G_MISS_CHAR
527  ,p_baselined_by_person_id       IN pa_budget_versions.baselined_by_person_id%TYPE
528                                     := FND_API.G_MISS_NUM
529  ,p_baselined_date               IN pa_budget_versions.baselined_date%TYPE
530                                     := FND_API.G_MISS_DATE
531  ,p_change_reason_code           IN pa_budget_versions.change_reason_code%TYPE
532                                     := FND_API.G_MISS_CHAR
533  ,p_labor_quantity               IN pa_budget_versions.labor_quantity%TYPE
534                                     := FND_API.G_MISS_NUM
535  ,p_labor_unit_of_measure        IN pa_budget_versions.labor_unit_of_measure%TYPE
536                                     := FND_API.G_MISS_CHAR
537  ,p_raw_cost                     IN pa_budget_versions.raw_cost%TYPE
538                                     := FND_API.G_MISS_NUM
539  ,p_burdened_cost                IN pa_budget_versions.burdened_cost%TYPE
540                                     := FND_API.G_MISS_NUM
541  ,p_revenue                      IN pa_budget_versions.revenue%TYPE
542                                     := FND_API.G_MISS_NUM
543  ,p_description                  IN pa_budget_versions.description%TYPE
544                                     := FND_API.G_MISS_CHAR
545  ,p_attribute_category           IN pa_budget_versions.attribute_category%TYPE
546                                     := FND_API.G_MISS_CHAR
547  ,p_attribute1                   IN pa_budget_versions.attribute1%TYPE
548                                     := FND_API.G_MISS_CHAR
549  ,p_attribute2                   IN pa_budget_versions.attribute2%TYPE
550                                     := FND_API.G_MISS_CHAR
551  ,p_attribute3                   IN pa_budget_versions.attribute3%TYPE
552                                     := FND_API.G_MISS_CHAR
553  ,p_attribute4                   IN pa_budget_versions.attribute4%TYPE
554                                     := FND_API.G_MISS_CHAR
555  ,p_attribute5                   IN pa_budget_versions.attribute5%TYPE
556                                     := FND_API.G_MISS_CHAR
557  ,p_attribute6                   IN pa_budget_versions.attribute6%TYPE
558                                     := FND_API.G_MISS_CHAR
559  ,p_attribute7                   IN pa_budget_versions.attribute7%TYPE
560                                     := FND_API.G_MISS_CHAR
561  ,p_attribute8                   IN pa_budget_versions.attribute8%TYPE
562                                     := FND_API.G_MISS_CHAR
563  ,p_attribute9                   IN pa_budget_versions.attribute9%TYPE
564                                     := FND_API.G_MISS_CHAR
565  ,p_attribute10                  IN pa_budget_versions.attribute10%TYPE
566                                     := FND_API.G_MISS_CHAR
567  ,p_attribute11                  IN pa_budget_versions.attribute11%TYPE
568                                     := FND_API.G_MISS_CHAR
569  ,p_attribute12                  IN pa_budget_versions.attribute12%TYPE
570                                     := FND_API.G_MISS_CHAR
571  ,p_attribute13                  IN pa_budget_versions.attribute13%TYPE
572                                     := FND_API.G_MISS_CHAR
573  ,p_attribute14                  IN pa_budget_versions.attribute14%TYPE
574                                     := FND_API.G_MISS_CHAR
575  ,p_attribute15                  IN pa_budget_versions.attribute15%TYPE
576                                     := FND_API.G_MISS_CHAR
577  ,p_first_budget_period          IN pa_budget_versions.first_budget_period%TYPE
578                                     := FND_API.G_MISS_CHAR
579  ,p_pm_product_code              IN pa_budget_versions.pm_product_code%TYPE
580                                     := FND_API.G_MISS_CHAR
581  ,p_pm_budget_reference          IN pa_budget_versions.pm_budget_reference%TYPE
582                                     := FND_API.G_MISS_CHAR
583  ,p_wf_status_code               IN pa_budget_versions.wf_status_code%TYPE
584                                     := FND_API.G_MISS_CHAR
585  ,p_adw_notify_flag              IN pa_budget_versions.adw_notify_flag%TYPE
586                                     := FND_API.G_MISS_CHAR
587  ,p_prc_generated_flag           IN pa_budget_versions.prc_generated_flag%TYPE
588                                     := FND_API.G_MISS_CHAR
589  ,p_plan_run_date                IN pa_budget_versions.plan_run_date%TYPE
590                                     := FND_API.G_MISS_DATE
591  ,p_plan_processing_code         IN pa_budget_versions.plan_processing_code%TYPE
592                                     := FND_API.G_MISS_CHAR
593  ,p_period_profile_id            IN pa_budget_versions.period_profile_id%TYPE
594                                     := FND_API.G_MISS_NUM
595  ,p_fin_plan_type_id             IN pa_budget_versions.fin_plan_type_id%TYPE
596                                     := FND_API.G_MISS_NUM
597  ,p_parent_plan_version_id       IN pa_budget_versions.parent_plan_version_id%TYPE
598                                     := FND_API.G_MISS_NUM
599  ,p_project_structure_version_id IN pa_budget_versions.project_structure_version_id%TYPE
600                                     := FND_API.G_MISS_NUM
601  ,p_current_working_flag         IN pa_budget_versions.current_working_flag%TYPE
602                                     := FND_API.G_MISS_CHAR
603  ,p_total_borrowed_revenue       IN pa_budget_versions.total_borrowed_revenue%TYPE
604                                     := FND_API.G_MISS_NUM
605  ,p_total_tp_revenue_in          IN pa_budget_versions.total_tp_revenue_in%TYPE
606                                     := FND_API.G_MISS_NUM
607  ,p_total_tp_revenue_out         IN pa_budget_versions.total_tp_revenue_out%TYPE
608                                     := FND_API.G_MISS_NUM
609  ,p_total_revenue_adj            IN pa_budget_versions.total_revenue_adj%TYPE
610                                     := FND_API.G_MISS_NUM
611  ,p_total_lent_resource_cost     IN pa_budget_versions.total_lent_resource_cost%TYPE
612                                     := FND_API.G_MISS_NUM
613  ,p_total_tp_cost_in             IN pa_budget_versions.total_tp_cost_in%TYPE
614                                     := FND_API.G_MISS_NUM
615  ,p_total_tp_cost_out            IN pa_budget_versions.total_tp_cost_out%TYPE
616                                     := FND_API.G_MISS_NUM
617  ,p_total_cost_adj               IN pa_budget_versions.total_cost_adj%TYPE
618                                     := FND_API.G_MISS_NUM
619  ,p_total_unassigned_time_cost   IN pa_budget_versions.total_unassigned_time_cost%TYPE
620                                     := FND_API.G_MISS_NUM
621  ,p_total_utilization_percent    IN pa_budget_versions.total_utilization_percent%TYPE
622                                     := FND_API.G_MISS_NUM
623  ,p_total_utilization_hours      IN pa_budget_versions.total_utilization_hours%TYPE
624                                     := FND_API.G_MISS_NUM
625  ,p_total_utilization_adj        IN pa_budget_versions.total_utilization_adj%TYPE
626                                     := FND_API.G_MISS_NUM
627  ,p_total_capacity               IN pa_budget_versions.total_capacity%TYPE
628                                     := FND_API.G_MISS_NUM
629  ,p_total_head_count             IN pa_budget_versions.total_head_count%TYPE
630                                     := FND_API.G_MISS_NUM
631  ,p_total_head_count_adj         IN pa_budget_versions.total_head_count_adj%TYPE
632                                     := FND_API.G_MISS_NUM
633  ,p_version_type                 IN pa_budget_versions.version_type%TYPE
634                                     := FND_API.G_MISS_CHAR
635  ,p_request_id                   IN pa_budget_versions.request_id%TYPE
636                                     := FND_API.G_MISS_NUM
637  ,p_total_project_raw_cost       IN pa_budget_versions.total_project_raw_cost%TYPE
638                                     := FND_API.G_MISS_NUM
639  ,p_total_project_burdened_cost	 IN pa_budget_versions.total_project_burdened_cost%TYPE
640                                     := FND_API.G_MISS_NUM
641  ,p_total_project_revenue	 IN pa_budget_versions.total_project_revenue%TYPE
642                                     := FND_API.G_MISS_NUM
643  ,p_locked_by_person_id 	 IN pa_budget_versions.locked_by_person_id%TYPE
644                                     := FND_API.G_MISS_NUM
645  ,p_approved_cost_plan_type_flag IN pa_budget_versions.approved_cost_plan_type_flag%TYPE
646                                     := FND_API.G_MISS_CHAR
647  ,p_approved_rev_plan_type_flag	 IN pa_budget_versions.approved_rev_plan_type_flag%TYPE
648                                     := FND_API.G_MISS_CHAR
649 -- start of changes of Bug:- 2634900
650  ,p_est_project_raw_cost         IN pa_budget_versions.est_project_raw_cost%TYPE
651                                     := FND_API.G_MISS_NUM
652  ,p_est_project_burdened_cost    IN pa_budget_versions.est_project_burdened_cost%TYPE
653                                     := FND_API.G_MISS_NUM
654  ,p_est_project_revenue          IN pa_budget_versions.est_project_revenue%TYPE
655                                     := FND_API.G_MISS_NUM
656  ,p_est_quantity                 IN pa_budget_versions.est_quantity%TYPE
657                                     := FND_API.G_MISS_NUM
658  ,p_est_equip_qty                IN pa_budget_versions.est_equipment_quantity%TYPE
659                                     := FND_API.G_MISS_NUM
660  ,p_est_projfunc_raw_cost        IN pa_budget_versions.est_projfunc_raw_cost%TYPE
661                                     := FND_API.G_MISS_NUM
662  ,p_est_projfunc_burdened_cost   IN pa_budget_versions.est_projfunc_burdened_cost%TYPE
663                                     := FND_API.G_MISS_NUM
664  ,p_est_projfunc_revenue         IN pa_budget_versions.est_projfunc_revenue%TYPE
665                                     := FND_API.G_MISS_NUM
666  ,p_ci_id                        IN pa_budget_versions.ci_id%TYPE
667                                     := FND_API.G_MISS_NUM
668  ,p_agreement_id                 IN pa_budget_versions.agreement_id%TYPE
669                                     := FND_API.G_MISS_NUM
670 -- end of changes of Bug:- 2634900
671 -- Bug 3354518: start of new columns for FP-M
672 ,p_object_type_code              IN   pa_budget_versions.object_type_code%TYPE
673                                     := FND_API.G_MISS_CHAR
674 ,p_object_id                     IN   pa_budget_versions.object_id%TYPE
675                                     := FND_API.G_MISS_NUM
676 ,p_primary_cost_forecast_flag    IN   pa_budget_versions.primary_cost_forecast_flag%TYPE
677                                     := FND_API.G_MISS_CHAR
678 ,p_primary_rev_forecast_flag     IN   pa_budget_versions.primary_rev_forecast_flag%TYPE
679                                     := FND_API.G_MISS_CHAR
680 ,p_rev_partially_impl_flag       IN   pa_budget_versions.rev_partially_impl_flag%TYPE
681                                     := FND_API.G_MISS_CHAR
682 ,p_equipment_quantity            IN   pa_budget_versions.equipment_quantity%TYPE
683                                     := FND_API.G_MISS_NUM
684 ,p_pji_summarized_flag           IN   pa_budget_versions.pji_summarized_flag%TYPE
685                                     := FND_API.G_MISS_CHAR
686 ,p_wp_version_flag               IN   pa_budget_versions.wp_version_flag%TYPE
687                                     := FND_API.G_MISS_CHAR
688 ,p_current_planning_period       IN   pa_budget_versions.current_planning_period%TYPE
689                                     := FND_API.G_MISS_CHAR
690 ,p_period_mask_id                IN   pa_budget_versions.period_mask_id%TYPE
691                                     := FND_API.G_MISS_NUM
692 ,p_last_amt_gen_date             IN   pa_budget_versions.last_amt_gen_date%TYPE
693                                     := FND_API.G_MISS_DATE
694 ,p_actual_amts_thru_period       IN   pa_budget_versions.actual_amts_thru_period%TYPE
695                                     := FND_API.G_MISS_CHAR
696 -- Bug 3354518: end of new columns for FP-M
697  ,p_row_id                       IN ROWID
698                                     := NULL
699  ,x_return_status               OUT NOCOPY VARCHAR2) --File.Sql.39 bug 4440895
700 IS
701 BEGIN
702 
703  x_return_status := FND_API.G_RET_STS_SUCCESS;
704 
705  UPDATE pa_budget_versions
706  SET
707   record_version_number = nvl(record_version_number,0) +1
708  ,project_id = DECODE( p_project_id, FND_API.G_MISS_NUM, project_id,
709                        p_project_id)
710  ,budget_type_code = DECODE( p_budget_type_code, FND_API.G_MISS_CHAR,
711                              budget_type_code, p_budget_type_code)
712  ,version_number = DECODE( p_version_number, FND_API.G_MISS_NUM,
713                            version_number, p_version_number)
714  ,budget_status_code = DECODE( p_budget_status_code, FND_API.G_MISS_CHAR,
715                                budget_status_code, p_budget_status_code)
716  ,last_update_date = sysdate
717  ,last_updated_by = fnd_global.user_id
718  ,last_update_login = fnd_global.login_id
719  ,current_flag = DECODE( p_current_flag, FND_API.G_MISS_CHAR, current_flag,
720                          p_current_flag)
721  ,original_flag = DECODE( p_original_flag, FND_API.G_MISS_CHAR, original_flag,
722                           p_original_flag)
723  ,current_original_flag = DECODE( p_current_original_flag, FND_API.G_MISS_CHAR,
724                                   current_original_flag,
725                                   p_current_original_flag)
726  ,resource_accumulated_flag = DECODE( p_resource_accumulated_flag,
727                                       FND_API.G_MISS_CHAR,
728                                       resource_accumulated_flag,
729                                       p_resource_accumulated_flag)
730  ,resource_list_id = DECODE( p_resource_list_id, FND_API.G_MISS_NUM,
731                              resource_list_id, p_resource_list_id)
732  ,version_name = DECODE( p_version_name, FND_API.G_MISS_CHAR, version_name,
733                          p_version_name)
734  ,budget_entry_method_code = DECODE( p_budget_entry_method_code,
735                                      FND_API.G_MISS_CHAR,
736                                      budget_entry_method_code,
737                                      p_budget_entry_method_code)
738  ,baselined_by_person_id = DECODE( p_baselined_by_person_id, FND_API.G_MISS_NUM,
739                                    baselined_by_person_id,
740                                    p_baselined_by_person_id)
741  ,baselined_date = DECODE( p_baselined_DATE, FND_API.G_MISS_DATE,
742                            baselined_DATE, p_baselined_date)
743  ,change_reason_code = DECODE( p_change_reason_code, FND_API.G_MISS_CHAR,
744                                change_reason_code, p_change_reason_code)
745  ,labor_quantity = DECODE( p_labor_quantity, FND_API.G_MISS_NUM, labor_quantity,
746                            p_labor_quantity)
747  ,labor_unit_of_measure = DECODE( p_labor_unit_of_measure, FND_API.G_MISS_CHAR,
748                                   labor_unit_of_measure,
749                                   p_labor_unit_of_measure)
750  ,raw_cost = DECODE( p_raw_cost, FND_API.G_MISS_NUM, raw_cost, p_raw_cost)
751  ,burdened_cost = DECODE( p_burdened_cost, FND_API.G_MISS_NUM, burdened_cost,
752                           p_burdened_cost)
753  ,revenue = DECODE( p_revenue, FND_API.G_MISS_NUM, revenue, p_revenue)
754  ,description = DECODE( p_description, FND_API.G_MISS_CHAR, description,
755                         p_description)
756  ,attribute_category = DECODE( p_attribute_category, FND_API.G_MISS_CHAR,
757                                attribute_category, p_attribute_category)
758  ,attribute1 = DECODE( p_attribute1, FND_API.G_MISS_CHAR, attribute1,
759                        p_attribute1)
760  ,attribute2 = DECODE( p_attribute2, FND_API.G_MISS_CHAR, attribute2,
761                        p_attribute2)
762  ,attribute3 = DECODE( p_attribute3, FND_API.G_MISS_CHAR, attribute3,
763                        p_attribute3)
764  ,attribute4 = DECODE( p_attribute4, FND_API.G_MISS_CHAR, attribute4,
765                        p_attribute4)
766  ,attribute5 = DECODE( p_attribute5, FND_API.G_MISS_CHAR, attribute5,
767                        p_attribute5)
768  ,attribute6 = DECODE( p_attribute6, FND_API.G_MISS_CHAR, attribute6,
769                        p_attribute6)
770  ,attribute7 = DECODE( p_attribute7, FND_API.G_MISS_CHAR, attribute7,
771                        p_attribute7)
772  ,attribute8 = DECODE( p_attribute8, FND_API.G_MISS_CHAR, attribute8,
773                        p_attribute8)
774  ,attribute9 = DECODE( p_attribute9, FND_API.G_MISS_CHAR, attribute9,
775                        p_attribute9)
776  ,attribute10 = DECODE( p_attribute10, FND_API.G_MISS_CHAR, attribute10,
777                         p_attribute10)
778  ,attribute11 = DECODE( p_attribute11, FND_API.G_MISS_CHAR, attribute11,
779                         p_attribute11)
780  ,attribute12 = DECODE( p_attribute12, FND_API.G_MISS_CHAR, attribute12,
781                         p_attribute12)
782  ,attribute13 = DECODE( p_attribute13, FND_API.G_MISS_CHAR, attribute13,
783                         p_attribute13)
784  ,attribute14 = DECODE( p_attribute14, FND_API.G_MISS_CHAR, attribute14,
785                         p_attribute14)
786  ,attribute15 = DECODE( p_attribute15, FND_API.G_MISS_CHAR, attribute15,
787                         p_attribute15)
788  ,first_budget_period = DECODE( p_first_budget_period, FND_API.G_MISS_CHAR,
789                                 first_budget_period, p_first_budget_period)
790  ,pm_product_code = DECODE( p_pm_product_code, FND_API.G_MISS_CHAR,
791                             pm_product_code, p_pm_product_code)
792  ,pm_budget_reference = DECODE( p_pm_budget_reference, FND_API.G_MISS_CHAR,
793                                 pm_budget_reference, p_pm_budget_reference)
794  ,wf_status_code = DECODE( p_wf_status_code, FND_API.G_MISS_CHAR,
795                            wf_status_code, p_wf_status_code)
796  ,adw_notify_flag = DECODE( p_adw_notify_flag, FND_API.G_MISS_CHAR,
797                             adw_notify_flag, p_adw_notify_flag)
798  ,prc_generated_flag = DECODE( p_prc_generated_flag, FND_API.G_MISS_CHAR,
799                                prc_generated_flag, p_prc_generated_flag)
800  ,plan_run_date = DECODE( p_plan_run_DATE, FND_API.G_MISS_DATE, plan_run_DATE,
801                           p_plan_run_date)
802  ,plan_processing_code = DECODE( p_plan_processing_code, FND_API.G_MISS_CHAR,
803                                  plan_processing_code, p_plan_processing_code)
804  ,period_profile_id = DECODE( p_period_profile_id, FND_API.G_MISS_NUM,
805                               period_profile_id, p_period_profile_id)
806  ,fin_plan_type_id = DECODE( p_fin_plan_type_id, FND_API.G_MISS_NUM,
807                              fin_plan_type_id, p_fin_plan_type_id)
808  ,parent_plan_version_id = DECODE( p_parent_plan_version_id, FND_API.G_MISS_NUM,
809                                    parent_plan_version_id,
810                                    p_parent_plan_version_id)
811  ,project_structure_version_id = DECODE( p_project_structure_version_id,
812                                          FND_API.G_MISS_NUM,
813                                          project_structure_version_id,
814                                          p_project_structure_version_id)
815  ,current_working_flag = DECODE( p_current_working_flag, FND_API.G_MISS_CHAR,
816                                  current_working_flag, p_current_working_flag)
817  ,total_borrowed_revenue = DECODE( p_total_borrowed_revenue, FND_API.G_MISS_NUM,
818                                    total_borrowed_revenue,
819                                    p_total_borrowed_revenue)
820  ,total_tp_revenue_in = DECODE( p_total_tp_revenue_in, FND_API.G_MISS_NUM,
821                                 total_tp_revenue_in, p_total_tp_revenue_in)
822  ,total_tp_revenue_out = DECODE( p_total_tp_revenue_out, FND_API.G_MISS_NUM,
823                                  total_tp_revenue_out, p_total_tp_revenue_out)
824  ,total_revenue_adj = DECODE( p_total_revenue_adj, FND_API.G_MISS_NUM,
825                               total_revenue_adj, p_total_revenue_adj)
826  ,total_lent_resource_cost = DECODE( p_total_lent_resource_cost,
827                                      FND_API.G_MISS_NUM,
828                                      total_lent_resource_cost,
829                                      p_total_lent_resource_cost)
830  ,total_tp_cost_in = DECODE( p_total_tp_cost_in, FND_API.G_MISS_NUM,
831                              total_tp_cost_in, p_total_tp_cost_in)
832  ,total_tp_cost_out = DECODE( p_total_tp_cost_out, FND_API.G_MISS_NUM,
833                               total_tp_cost_out, p_total_tp_cost_out)
834  ,total_cost_adj = DECODE( p_total_cost_adj, FND_API.G_MISS_NUM, total_cost_adj,
835                            p_total_cost_adj)
836  ,total_unassigned_time_cost = DECODE( p_total_unassigned_time_cost,
837                                        FND_API.G_MISS_NUM,
838                                        total_unassigned_time_cost,
839                                        p_total_unassigned_time_cost)
840  ,total_utilization_percent = DECODE( p_total_utilization_percent,
841                                       FND_API.G_MISS_NUM,
842                                       total_utilization_percent,
843                                       p_total_utilization_percent)
844  ,total_utilization_hours = DECODE( p_total_utilization_hours,
845                                     FND_API.G_MISS_NUM, total_utilization_hours,
846                                     p_total_utilization_hours)
847  ,total_utilization_adj = DECODE( p_total_utilization_adj, FND_API.G_MISS_NUM,
848                                   total_utilization_adj,
849                                   p_total_utilization_adj)
850  ,total_capacity = DECODE( p_total_capacity, FND_API.G_MISS_NUM, total_capacity,
851                            p_total_capacity)
852  ,total_head_count = DECODE( p_total_head_count, FND_API.G_MISS_NUM,
853                              total_head_count, p_total_head_count)
854  ,total_head_count_adj = DECODE( p_total_head_count_adj, FND_API.G_MISS_NUM,
855                                  total_head_count_adj, p_total_head_count_adj)
856  ,version_type = DECODE( p_version_type, FND_API.G_MISS_CHAR, version_type,
857                          p_version_type)
858  ,request_id = DECODE( p_request_id, FND_API.G_MISS_CHAR, request_id,p_request_id)
859  ,total_project_raw_cost = DECODE( p_total_project_raw_cost, FND_API.G_MISS_NUM,
860                                 total_project_raw_cost,p_total_project_raw_cost)
861  ,total_project_burdened_cost = DECODE( p_total_project_burdened_cost, FND_API.G_MISS_NUM,
862                                 total_project_burdened_cost,p_total_project_burdened_cost)
863  ,total_project_revenue = DECODE( p_total_project_revenue, FND_API.G_MISS_NUM,
864                                  total_project_revenue,p_total_project_revenue)
865  ,locked_by_person_id = DECODE( p_locked_by_person_id, FND_API.G_MISS_NUM,
866                                  locked_by_person_id,p_locked_by_person_id)
867  ,approved_cost_plan_type_flag = DECODE( p_approved_cost_plan_type_flag, FND_API.G_MISS_CHAR,
868                                  approved_cost_plan_type_flag,p_approved_cost_plan_type_flag)
869  ,approved_rev_plan_type_flag = DECODE(p_approved_rev_plan_type_flag, FND_API.G_MISS_CHAR,
870                                  approved_rev_plan_type_flag,p_approved_rev_plan_type_flag)
871 -- start of changes of Bug:- 2634900
872  ,est_project_raw_cost = DECODE( p_est_project_raw_cost, FND_API.G_MISS_NUM,
873                                 est_project_raw_cost, p_est_project_raw_cost)
874  ,est_project_burdened_cost = DECODE( p_est_project_burdened_cost,FND_API.G_MISS_NUM,
875                                est_project_burdened_cost,p_est_project_burdened_cost)
876  ,est_project_revenue = DECODE( p_est_project_revenue, FND_API.G_MISS_NUM,
877                                est_project_revenue,p_est_project_revenue)
878  ,est_quantity = DECODE( p_est_quantity, FND_API.G_MISS_NUM,est_quantity,p_est_quantity)
879  ,est_projfunc_raw_cost = DECODE( p_est_projfunc_raw_cost, FND_API.G_MISS_NUM,
880                                   est_projfunc_raw_cost,p_est_projfunc_raw_cost)
881  ,est_projfunc_burdened_cost = DECODE( p_est_projfunc_burdened_cost, FND_API.G_MISS_NUM,
882                                   est_projfunc_burdened_cost,p_est_projfunc_burdened_cost)
883  ,est_projfunc_revenue = DECODE( p_est_projfunc_revenue, FND_API.G_MISS_NUM,
884                                  est_projfunc_revenue,p_est_projfunc_revenue)
885  ,ci_id = DECODE( p_ci_id, FND_API.G_MISS_NUM,ci_id,p_ci_id)
886  ,agreement_id = DECODE(p_agreement_id, FND_API.G_MISS_NUM,agreement_id,p_agreement_id)
887  -- Bug 3354518: start of new columns for FP-M
888 ,object_type_code            =  DECODE(p_object_type_code ,   FND_API.G_MISS_CHAR, object_type_code
889                                                           , p_object_type_code)
890 ,object_id                   =  DECODE(p_object_id ,   FND_API.G_MISS_NUM , object_id, p_object_id)
891 ,primary_cost_forecast_flag  =  DECODE(p_primary_cost_forecast_flag  ,   FND_API.G_MISS_CHAR,
892                                            primary_cost_forecast_flag, p_primary_cost_forecast_flag )
893 ,primary_rev_forecast_flag   =  DECODE(p_primary_rev_forecast_flag   ,   FND_API.G_MISS_CHAR,
894                                            primary_rev_forecast_flag , p_primary_rev_forecast_flag  )
895 ,rev_partially_impl_flag     =  DECODE(p_rev_partially_impl_flag     ,   FND_API.G_MISS_CHAR,
896                                            rev_partially_impl_flag   , p_rev_partially_impl_flag    )
897 ,equipment_quantity          =  DECODE(p_equipment_quantity          ,   FND_API.G_MISS_NUM ,
898                                            equipment_quantity        , p_equipment_quantity         )
899 ,pji_summarized_flag         =  DECODE(p_pji_summarized_flag         ,   FND_API.G_MISS_CHAR,
900                                            pji_summarized_flag       , p_pji_summarized_flag        )
901 ,wp_version_flag             =  DECODE(p_wp_version_flag             ,   FND_API.G_MISS_CHAR,
902                                            wp_version_flag           , p_wp_version_flag            )
903 ,current_planning_period     =  DECODE(p_current_planning_period     ,   FND_API.G_MISS_CHAR,
904                                            current_planning_period   , p_current_planning_period    )
905 ,period_mask_id              =  DECODE(p_period_mask_id              ,   FND_API.G_MISS_NUM ,
906                                            period_mask_id            , p_period_mask_id             )
907 ,last_amt_gen_date           =  DECODE(p_last_amt_gen_date           ,   FND_API.G_MISS_DATE,
908                                            last_amt_gen_date         , p_last_amt_gen_date          )
909 ,actual_amts_thru_period     =  DECODE(p_actual_amts_thru_period     ,   FND_API.G_MISS_CHAR,
910                                            actual_amts_thru_period   , p_actual_amts_thru_period    )
911 -- Bug 3354518: end of new columns for FP-M
912 ,est_equipment_quantity      =  DECODE( p_est_equip_qty, FND_API.G_MISS_NUM,est_equipment_quantity,p_est_equip_qty) --FP.M
913 -- end of changes of Bug:- 2634900
914 
915  WHERE budget_version_id = p_budget_version_id
916    AND nvl(p_record_version_number, nvl(record_version_number,0)) =
917                                     nvl(record_version_number,0);
918 
919     IF (SQL%NOTFOUND) THEN
920        PA_UTILS.Add_message ( p_app_short_name => 'PA'
921                              ,p_msg_name => 'PA_XC_RECORD_CHANGED');
922        x_return_status := FND_API.G_RET_STS_ERROR;
923     END IF;
924 
925 EXCEPTION
926   WHEN OTHERS THEN
927        FND_MSG_PUB.add_exc_msg( p_pkg_name
928                                 => 'PA_FP_BUDGET_VERSIONS_PKG.Update_Row'
929                                ,p_procedure_name
930                                 => PA_DEBUG.G_Err_Stack);
931        x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
932        RAISE;
933 END Update_Row;
934 
935 PROCEDURE Lock_Row
936 ( p_budget_version_id            IN pa_budget_versions.budget_version_id%TYPE
937  ,p_record_version_number        IN NUMBER
938                                     := NULL
939  ,p_row_id                       IN ROWID
940                                     := NULL
941  ,x_return_status               OUT NOCOPY VARCHAR2) --File.Sql.39 bug 4440895
942  IS
943    l_row_id ROWID;
944 BEGIN
945        x_return_status := FND_API.G_RET_STS_SUCCESS;
946 
947        SELECT rowid into l_row_id
948        FROM pa_budget_versions
949        WHERE budget_version_id =  p_budget_version_id
950           OR rowid = p_row_id
951        FOR UPDATE NOWAIT;
952 
953     IF (SQL%NOTFOUND) THEN
954        PA_UTILS.Add_message ( p_app_short_name => 'PA'
955                              ,p_msg_name => 'PA_XC_RECORD_CHANGED');
956        x_return_status := FND_API.G_RET_STS_ERROR;
957     END IF;
958 EXCEPTION
959   WHEN OTHERS THEN
960        FND_MSG_PUB.add_exc_msg( p_pkg_name
961                                 => 'PA_FP_BUDGET_VERSIONS_PKG.Lock_Row'
962                                ,p_procedure_name
963                                 => PA_DEBUG.G_Err_Stack);
964        x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
965        RAISE;
966 END Lock_Row;
967 
968 PROCEDURE Delete_Row
969 ( p_budget_version_id            IN pa_budget_versions.budget_version_id%TYPE
970  ,p_record_version_number        IN NUMBER
971                                     := NULL
972  ,p_row_id                       IN ROWID
973                                     := NULL
974  ,x_return_status               OUT NOCOPY VARCHAR2) --File.Sql.39 bug 4440895
975 IS
976 BEGIN
977     x_return_status := FND_API.G_RET_STS_SUCCESS;
978 
979     IF (p_budget_version_id IS NOT NULL AND
980         p_budget_version_id <> FND_API.G_MISS_NUM) THEN
981 
982         DELETE FROM pa_budget_versions
983          WHERE budget_version_id = p_budget_version_id
984            AND nvl(p_record_version_number, nvl(record_version_number,0)) =
985                                             nvl(record_version_number,0);
986     ELSIF (p_row_id IS NOT NULL) THEN
987         DELETE FROM pa_budget_versions
988          WHERE rowid = p_row_id
989            AND nvl(p_record_version_number, nvl(record_version_number,0)) =
990                                             nvl(record_version_number,0);
991     END IF;
992 
993     IF (SQL%NOTFOUND) then
994        PA_UTILS.Add_message ( p_app_short_name => 'PA'
995                              ,p_msg_name => 'PA_XC_RECORD_CHANGED');
996        x_return_status := FND_API.G_RET_STS_ERROR;
997     END IF;
998 
999 EXCEPTION
1000   WHEN OTHERS THEN
1001        FND_MSG_PUB.add_exc_msg( p_pkg_name
1002                                 => 'PA_FP_BUDGET_VERSIONS_PKG.Delete_Row'
1003                                ,p_procedure_name
1004                                 => PA_DEBUG.G_Err_Stack);
1005        x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1006        RAISE;
1007 END Delete_Row;
1008 
1009 END pa_fp_budget_versions_pkg;