DBA Data[Home] [Help]

PACKAGE BODY: APPS.PA_FP_RESOURCE_ASSIGNMENTS_PKG

Source


1 PACKAGE BODY pa_fp_resource_assignments_pkg as
2 /* $Header: PAFPRATB.pls 120.1 2005/08/19 16:29:15 mwasowic noship $ */
3 -- Start of Comments
4 -- Package name     : PA_FP_RESOURCE_ASSIGNMENTS_PKG
5 -- Purpose          :
6 -- History          :
7 -- 31-OCT-02       rravipat   Modified the insert row and update row
8 --                            apis to include newly added columns for
9 --                            Bug :- 2634900
10 -- NOTE             :
11 -- End of Comments
12 
13 
14 G_PKG_NAME CONSTANT VARCHAR2(30):= 'PA_FP_RESOURCE_ASSIGNMENTS_PKG';
15 G_FILE_NAME CONSTANT VARCHAR2(12) := 'pafpratb.pls';
16 
17 PROCEDURE Insert_Row
18 ( px_resource_assignment_id IN OUT NOCOPY pa_resource_assignments.resource_assignment_id%TYPE  --File.Sql.39 bug 4440895
19  ,p_budget_version_id           IN pa_resource_assignments.budget_version_id%TYPE
20                                    := FND_API.G_MISS_NUM
21  ,p_project_id                  IN pa_resource_assignments.project_id%TYPE
22                                    := FND_API.G_MISS_NUM
23  ,p_task_id                     IN pa_resource_assignments.task_id%TYPE
24                                    := FND_API.G_MISS_NUM
25  ,p_resource_list_member_id     IN pa_resource_assignments.resource_list_member_id%TYPE
26                                    := FND_API.G_MISS_NUM
27  ,p_unit_of_measure             IN pa_resource_assignments.unit_of_measure%TYPE
28                                    := FND_API.G_MISS_CHAR
29  ,p_track_as_labor_flag         IN pa_resource_assignments.track_as_labor_flag%TYPE
30                                    := FND_API.G_MISS_CHAR
31  ,p_standard_bill_rate          IN pa_resource_assignments.standard_bill_rate%TYPE
32                                    := FND_API.G_MISS_NUM
33  ,p_average_bill_rate           IN pa_resource_assignments.average_bill_rate%TYPE
34                                    := FND_API.G_MISS_NUM
35  ,p_average_cost_rate           IN pa_resource_assignments.average_cost_rate%TYPE
36                                    := FND_API.G_MISS_NUM
37  ,p_project_assignment_id       IN pa_resource_assignments.project_assignment_id%TYPE
38                                    := FND_API.G_MISS_NUM
39  ,p_plan_error_code             IN pa_resource_assignments.plan_error_code%TYPE
40                                    := FND_API.G_MISS_CHAR
41  ,p_total_plan_revenue          IN pa_resource_assignments.total_plan_revenue%TYPE
42                                    := FND_API.G_MISS_NUM
43  ,p_total_plan_raw_cost         IN pa_resource_assignments.total_plan_raw_cost%TYPE
44                                    := FND_API.G_MISS_NUM
45  ,p_total_plan_burdened_cost    IN pa_resource_assignments.total_plan_burdened_cost%TYPE
46                                    := FND_API.G_MISS_NUM
47  ,p_total_plan_quantity         IN pa_resource_assignments.total_plan_quantity%TYPE
48                                    := FND_API.G_MISS_NUM
49  ,p_average_discount_percentage IN pa_resource_assignments.average_discount_percentage%TYPE
50                                    := FND_API.G_MISS_NUM
51  ,p_total_borrowed_revenue      IN pa_resource_assignments.total_borrowed_revenue%TYPE
52                                    := FND_API.G_MISS_NUM
53  ,p_total_tp_revenue_in         IN pa_resource_assignments.total_tp_revenue_in%TYPE
54                                    := FND_API.G_MISS_NUM
55  ,p_total_tp_revenue_out        IN pa_resource_assignments.total_tp_revenue_out%TYPE
56                                    := FND_API.G_MISS_NUM
57  ,p_total_revenue_adj           IN pa_resource_assignments.total_revenue_adj%TYPE
58                                    := FND_API.G_MISS_NUM
59  ,p_total_lent_resource_cost    IN pa_resource_assignments.total_lent_resource_cost%TYPE
60                                    := FND_API.G_MISS_NUM
61  ,p_total_tp_cost_in            IN pa_resource_assignments.total_tp_cost_in%TYPE
62                                    := FND_API.G_MISS_NUM
63  ,p_total_tp_cost_out           IN pa_resource_assignments.total_tp_cost_out%TYPE
64                                    := FND_API.G_MISS_NUM
65  ,p_total_cost_adj              IN pa_resource_assignments.total_cost_adj%TYPE
66                                    := FND_API.G_MISS_NUM
67  ,p_total_unassigned_time_cost  IN pa_resource_assignments.total_unassigned_time_cost%TYPE
68                                    := FND_API.G_MISS_NUM
69  ,p_total_utilization_percent   IN pa_resource_assignments.total_utilization_percent%TYPE
70                                    := FND_API.G_MISS_NUM
71  ,p_total_utilization_hours     IN pa_resource_assignments.total_utilization_hours%TYPE
72                                    := FND_API.G_MISS_NUM
73  ,p_total_utilization_adj       IN pa_resource_assignments.total_utilization_adj%TYPE
74                                    := FND_API.G_MISS_NUM
75  ,p_total_capacity              IN pa_resource_assignments.total_capacity%TYPE
76                                    := FND_API.G_MISS_NUM
77  ,p_total_head_count            IN pa_resource_assignments.total_head_count%TYPE
78                                    := FND_API.G_MISS_NUM
79  ,p_total_head_count_adj        IN pa_resource_assignments.total_head_count_adj%TYPE
80                                    := FND_API.G_MISS_NUM
81  ,p_resource_assignment_type    IN pa_resource_assignments.resource_assignment_type%TYPE
82                                    := FND_API.G_MISS_CHAR
83 -- start of changes of Bug:- 2634900
84  ,p_total_project_raw_cost      IN pa_resource_assignments.total_project_raw_cost%TYPE
85                                    := FND_API.G_MISS_NUM
86  ,p_total_project_burdened_cost IN pa_resource_assignments.total_project_burdened_cost%TYPE
87                                    := FND_API.G_MISS_NUM
88  ,p_total_project_revenue       IN pa_resource_assignments.total_project_revenue%TYPE
89                                    := FND_API.G_MISS_NUM
90  ,p_parent_assignment_id        IN pa_resource_assignments.parent_assignment_id%TYPE
91                                    := FND_API.G_MISS_NUM
92 -- end of changes of Bug:- 2634900
93  ,x_row_id                      OUT NOCOPY ROWID --File.Sql.39 bug 4440895
94  ,x_return_status               OUT NOCOPY VARCHAR2) --File.Sql.39 bug 4440895
95  IS
96    CURSOR C2 IS SELECT pa_resource_assignments_s.nextval FROM sys.dual;
97 BEGIN
98    x_return_status := FND_API.G_RET_STS_SUCCESS;
99 
100    IF (px_resource_assignment_id IS NULL) OR
101       (px_resource_assignment_id = FND_API.G_MISS_NUM) then
102        OPEN C2;
103        FETCH C2 INTO px_resource_assignment_id;
104        CLOSE C2;
105    END IF;
106 
107    INSERT INTO pa_resource_assignments(
108     resource_assignment_id
109    ,budget_version_id
110    ,project_id
111    ,task_id
112    ,resource_list_member_id
113    ,last_update_date
114    ,last_updated_by
115    ,creation_date
116    ,created_by
117    ,last_update_login
118    ,unit_of_measure
119    ,track_as_labor_flag
120    ,standard_bill_rate
121    ,average_bill_rate
122    ,average_cost_rate
123    ,project_assignment_id
124    ,plan_error_code
125    ,total_plan_revenue
126    ,total_plan_raw_cost
127    ,total_plan_burdened_cost
128    ,total_plan_quantity
129    ,average_discount_percentage
130    ,total_borrowed_revenue
131    ,total_tp_revenue_in
132    ,total_tp_revenue_out
133    ,total_revenue_adj
134    ,total_lent_resource_cost
135    ,total_tp_cost_in
136    ,total_tp_cost_out
137    ,total_cost_adj
138    ,total_unassigned_time_cost
139    ,total_utilization_percent
140    ,total_utilization_hours
141    ,total_utilization_adj
142    ,total_capacity
143    ,total_head_count
144    ,total_head_count_adj
145    ,resource_assignment_type
146 -- start of changes of Bug:- 2634900
147    ,total_project_raw_cost
148    ,total_project_burdened_cost
149    ,total_project_revenue
150    ,parent_assignment_id
151 -- end of changes of Bug:- 2634900
152    ) values (
153     px_resource_assignment_id
154    ,DECODE( p_budget_version_id, FND_API.G_MISS_NUM, NULL, p_budget_version_id)
155    ,DECODE( p_project_id, FND_API.G_MISS_NUM, NULL, p_project_id)
156    ,DECODE( p_task_id, FND_API.G_MISS_NUM, NULL, p_task_id)
157    ,DECODE( p_resource_list_member_id, FND_API.G_MISS_NUM, NULL,
158             p_resource_list_member_id)
159    ,sysdate
160    ,fnd_global.user_id
161    ,sysdate
162    ,fnd_global.user_id
163    ,fnd_global.login_id
164    ,DECODE( p_unit_of_measure, FND_API.G_MISS_CHAR, NULL, p_unit_of_measure)
165    ,DECODE( p_track_as_labor_flag, FND_API.G_MISS_CHAR, NULL,
166             p_track_as_labor_flag)
167    ,DECODE( p_standard_bill_rate, FND_API.G_MISS_NUM, NULL,
168             p_standard_bill_rate)
169    ,DECODE( p_average_bill_rate, FND_API.G_MISS_NUM, NULL, p_average_bill_rate)
170    ,DECODE( p_average_cost_rate, FND_API.G_MISS_NUM, NULL, p_average_cost_rate)
171    ,DECODE( p_project_assignment_id, FND_API.G_MISS_NUM, NULL,
172             p_project_assignment_id)
173    ,DECODE( p_plan_error_code, FND_API.G_MISS_CHAR, NULL, p_plan_error_code)
174    ,DECODE( p_total_plan_revenue, FND_API.G_MISS_NUM, NULL,
175             p_total_plan_revenue)
176    ,DECODE( p_total_plan_raw_cost, FND_API.G_MISS_NUM, NULL,
177             p_total_plan_raw_cost)
178    ,DECODE( p_total_plan_burdened_cost, FND_API.G_MISS_NUM, NULL,
179             p_total_plan_burdened_cost)
180    ,DECODE( p_total_plan_quantity, FND_API.G_MISS_NUM, NULL,
181             p_total_plan_quantity)
182    ,DECODE( p_average_discount_percentage, FND_API.G_MISS_NUM, NULL,
183             p_average_discount_percentage)
184    ,DECODE( p_total_borrowed_revenue, FND_API.G_MISS_NUM, NULL,
185             p_total_borrowed_revenue)
186    ,DECODE( p_total_tp_revenue_in, FND_API.G_MISS_NUM, NULL,
187             p_total_tp_revenue_in)
188    ,DECODE( p_total_tp_revenue_out, FND_API.G_MISS_NUM, NULL,
189             p_total_tp_revenue_out)
190    ,DECODE( p_total_revenue_adj, FND_API.G_MISS_NUM, NULL, p_total_revenue_adj)
191    ,DECODE( p_total_lent_resource_cost, FND_API.G_MISS_NUM, NULL,
192             p_total_lent_resource_cost)
193    ,DECODE( p_total_tp_cost_in, FND_API.G_MISS_NUM, NULL, p_total_tp_cost_in)
194    ,DECODE( p_total_tp_cost_out, FND_API.G_MISS_NUM, NULL, p_total_tp_cost_out)
195    ,DECODE( p_total_cost_adj, FND_API.G_MISS_NUM, NULL, p_total_cost_adj)
196    ,DECODE( p_total_unassigned_time_cost, FND_API.G_MISS_NUM, NULL,
197             p_total_unassigned_time_cost)
198    ,DECODE( p_total_utilization_percent, FND_API.G_MISS_NUM, NULL,
199             p_total_utilization_percent)
200    ,DECODE( p_total_utilization_hours, FND_API.G_MISS_NUM, NULL,
201             p_total_utilization_hours)
202    ,DECODE( p_total_utilization_adj, FND_API.G_MISS_NUM, NULL,
203             p_total_utilization_adj)
204    ,DECODE( p_total_capacity, FND_API.G_MISS_NUM, NULL, p_total_capacity)
205    ,DECODE( p_total_head_count, FND_API.G_MISS_NUM, NULL, p_total_head_count)
206    ,DECODE( p_total_head_count_adj, FND_API.G_MISS_NUM, NULL,
207             p_total_head_count_adj)
208    ,DECODE( p_resource_assignment_type, FND_API.G_MISS_CHAR, NULL,
209             p_resource_assignment_type)
210 -- start of changes of Bug:- 2634900
211    ,DECODE( p_total_project_raw_cost, FND_API.G_MISS_NUM , NULL,
212             p_total_project_raw_cost)
213    ,DECODE( p_total_project_burdened_cost, FND_API.G_MISS_NUM , NULL,
214             p_total_project_burdened_cost)
215    ,DECODE( p_total_project_revenue, FND_API.G_MISS_NUM , NULL,
216             p_total_project_revenue)
217    ,DECODE( p_parent_assignment_id, FND_API.G_MISS_NUM , NULL,
218             p_parent_assignment_id)
219 -- end of changes of Bug:- 2634900
220             );
221 
222 EXCEPTION
223   WHEN OTHERS THEN
224 	  FND_MSG_PUB.add_exc_msg( p_pkg_name
225                                 => 'PA_FP_RESOURCE_ASSIGNMENTS_PKG.Insert_Row',
226                                 p_procedure_name
227                                 => PA_DEBUG.G_Err_Stack);
228        x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
229 	  RAISE;
230 End Insert_Row;
231 
232 PROCEDURE Update_Row
233 ( p_resource_assignment_id      IN pa_resource_assignments.resource_assignment_id%TYPE
234                                    := FND_API.G_MISS_NUM
235  ,p_budget_version_id           IN pa_resource_assignments.budget_version_id%TYPE
236                                    := FND_API.G_MISS_NUM
237  ,p_project_id                  IN pa_resource_assignments.project_id%TYPE
238                                    := FND_API.G_MISS_NUM
239  ,p_task_id                     IN pa_resource_assignments.task_id%TYPE
240                                    := FND_API.G_MISS_NUM
241  ,p_resource_list_member_id     IN pa_resource_assignments.resource_list_member_id%TYPE
242                                    := FND_API.G_MISS_NUM
243  ,p_unit_of_measure             IN pa_resource_assignments.unit_of_measure%TYPE
244                                    := FND_API.G_MISS_CHAR
245  ,p_track_as_labor_flag         IN pa_resource_assignments.track_as_labor_flag%TYPE
246                                    := FND_API.G_MISS_CHAR
247  ,p_standard_bill_rate          IN pa_resource_assignments.standard_bill_rate%TYPE
248                                    := FND_API.G_MISS_NUM
249  ,p_average_bill_rate           IN pa_resource_assignments.average_bill_rate%TYPE
250                                    := FND_API.G_MISS_NUM
251  ,p_average_cost_rate           IN pa_resource_assignments.average_cost_rate%TYPE
252                                    := FND_API.G_MISS_NUM
253  ,p_project_assignment_id       IN pa_resource_assignments.project_assignment_id%TYPE
254                                    := FND_API.G_MISS_NUM
255  ,p_plan_error_code             IN pa_resource_assignments.plan_error_code%TYPE
256                                    := FND_API.G_MISS_CHAR
257  ,p_total_plan_revenue          IN pa_resource_assignments.total_plan_revenue%TYPE
258                                    := FND_API.G_MISS_NUM
259  ,p_total_plan_raw_cost         IN pa_resource_assignments.total_plan_raw_cost%TYPE
260                                    := FND_API.G_MISS_NUM
261  ,p_total_plan_burdened_cost    IN pa_resource_assignments.total_plan_burdened_cost%TYPE
262                                    := FND_API.G_MISS_NUM
263  ,p_total_plan_quantity         IN pa_resource_assignments.total_plan_quantity%TYPE
264                                    := FND_API.G_MISS_NUM
265  ,p_average_discount_percentage IN pa_resource_assignments.average_discount_percentage%TYPE
266                                    := FND_API.G_MISS_NUM
267  ,p_total_borrowed_revenue      IN pa_resource_assignments.total_borrowed_revenue%TYPE
268                                    := FND_API.G_MISS_NUM
269  ,p_total_tp_revenue_in         IN pa_resource_assignments.total_tp_revenue_in%TYPE
270                                    := FND_API.G_MISS_NUM
271  ,p_total_tp_revenue_out        IN pa_resource_assignments.total_tp_revenue_out%TYPE
272                                    := FND_API.G_MISS_NUM
273  ,p_total_revenue_adj           IN pa_resource_assignments.total_revenue_adj%TYPE
274                                    := FND_API.G_MISS_NUM
275  ,p_total_lent_resource_cost    IN pa_resource_assignments.total_lent_resource_cost%TYPE
276                                    := FND_API.G_MISS_NUM
277  ,p_total_tp_cost_in            IN pa_resource_assignments.total_tp_cost_in%TYPE
278                                    := FND_API.G_MISS_NUM
279  ,p_total_tp_cost_out           IN pa_resource_assignments.total_tp_cost_out%TYPE
280                                    := FND_API.G_MISS_NUM
281  ,p_total_cost_adj              IN pa_resource_assignments.total_cost_adj%TYPE
282                                    := FND_API.G_MISS_NUM
283  ,p_total_unassigned_time_cost  IN pa_resource_assignments.total_unassigned_time_cost%TYPE
284                                    := FND_API.G_MISS_NUM
285  ,p_total_utilization_percent   IN pa_resource_assignments.total_utilization_percent%TYPE
286                                    := FND_API.G_MISS_NUM
287  ,p_total_utilization_hours     IN pa_resource_assignments.total_utilization_hours%TYPE
288                                    := FND_API.G_MISS_NUM
289  ,p_total_utilization_adj       IN pa_resource_assignments.total_utilization_adj%TYPE
290                                    := FND_API.G_MISS_NUM
291  ,p_total_capacity              IN pa_resource_assignments.total_capacity%TYPE
292                                    := FND_API.G_MISS_NUM
293  ,p_total_head_count            IN pa_resource_assignments.total_head_count%TYPE
294                                    := FND_API.G_MISS_NUM
295  ,p_total_head_count_adj        IN pa_resource_assignments.total_head_count_adj%TYPE
296                                    := FND_API.G_MISS_NUM
297  ,p_resource_assignment_type    IN pa_resource_assignments.resource_assignment_type%TYPE
298                                    := FND_API.G_MISS_CHAR
299 -- start of changes of Bug:- 2634900
300  ,p_total_project_raw_cost      IN pa_resource_assignments.total_project_raw_cost%TYPE
301                                    := FND_API.G_MISS_NUM
302  ,p_total_project_burdened_cost IN pa_resource_assignments.total_project_burdened_cost%TYPE
303                                    := FND_API.G_MISS_NUM
304  ,p_total_project_revenue       IN pa_resource_assignments.total_project_revenue%TYPE
305                                    := FND_API.G_MISS_NUM
306  ,p_parent_assignment_id        IN pa_resource_assignments.parent_assignment_id%TYPE
307                                    := FND_API.G_MISS_NUM
308 -- end of changes of Bug:- 2634900
309  ,p_row_id                      IN ROWID
310                                    := NULL
311  ,x_return_status               OUT NOCOPY VARCHAR2) --File.Sql.39 bug 4440895
312 IS
313 BEGIN
314     UPDATE pa_resource_assignments
315     SET
316      budget_version_id = DECODE( p_budget_version_id, FND_API.G_MISS_NUM,
317                                  budget_version_id, p_budget_version_id)
318     ,project_id = DECODE( p_project_id, FND_API.G_MISS_NUM, project_id,
319                           p_project_id)
320     ,task_id = DECODE( p_task_id, FND_API.G_MISS_NUM, task_id, p_task_id)
321     ,resource_list_member_id = DECODE( p_resource_list_member_id,
322                                        FND_API.G_MISS_NUM,
323                                        resource_list_member_id,
324                                        p_resource_list_member_id)
325     ,last_update_date = sysdate
326     ,last_updated_by = fnd_global.user_id
327     ,last_update_login = fnd_global.login_id
328     ,unit_of_measure = DECODE( p_unit_of_measure, FND_API.G_MISS_CHAR,
329                                unit_of_measure, p_unit_of_measure)
330     ,track_as_labor_flag = DECODE( p_track_as_labor_flag, FND_API.G_MISS_CHAR,
331                                    track_as_labor_flag, p_track_as_labor_flag)
332     ,standard_bill_rate = DECODE( p_standard_bill_rate, FND_API.G_MISS_NUM,
333                                   standard_bill_rate, p_standard_bill_rate)
334     ,average_bill_rate = DECODE( p_average_bill_rate, FND_API.G_MISS_NUM,
335                                  average_bill_rate, p_average_bill_rate)
336     ,average_cost_rate = DECODE( p_average_cost_rate, FND_API.G_MISS_NUM,
337                                  average_cost_rate, p_average_cost_rate)
338     ,project_assignment_id = DECODE( p_project_assignment_id,
339                                      FND_API.G_MISS_NUM, project_assignment_id,
340                                      p_project_assignment_id)
341     ,plan_error_code = DECODE( p_plan_error_code, FND_API.G_MISS_CHAR,
342                                plan_error_code, p_plan_error_code)
343     ,total_plan_revenue = DECODE( p_total_plan_revenue, FND_API.G_MISS_NUM,
344                                   total_plan_revenue, p_total_plan_revenue)
345     ,total_plan_raw_cost = DECODE( p_total_plan_raw_cost, FND_API.G_MISS_NUM,
346                                    total_plan_raw_cost, p_total_plan_raw_cost)
347     ,total_plan_burdened_cost = DECODE( p_total_plan_burdened_cost,
348                                         FND_API.G_MISS_NUM,
349                                         total_plan_burdened_cost,
350                                         p_total_plan_burdened_cost)
351     ,total_plan_quantity = DECODE( p_total_plan_quantity, FND_API.G_MISS_NUM,
352                                    total_plan_quantity, p_total_plan_quantity)
353     ,average_discount_percentage = DECODE( p_average_discount_percentage,
354                                            FND_API.G_MISS_NUM,
355                                            average_discount_percentage,
356                                            p_average_discount_percentage)
357     ,total_borrowed_revenue = DECODE( p_total_borrowed_revenue,
358                                       FND_API.G_MISS_NUM,
359                                       total_borrowed_revenue,
360                                       p_total_borrowed_revenue)
361     ,total_tp_revenue_in = DECODE( p_total_tp_revenue_in, FND_API.G_MISS_NUM,
362                                    total_tp_revenue_in, p_total_tp_revenue_in)
363     ,total_tp_revenue_out = DECODE( p_total_tp_revenue_out, FND_API.G_MISS_NUM,
364                                     total_tp_revenue_out,
365                                     p_total_tp_revenue_out)
366     ,total_revenue_adj = DECODE( p_total_revenue_adj, FND_API.G_MISS_NUM,
367                                  total_revenue_adj, p_total_revenue_adj)
368     ,total_lent_resource_cost = DECODE( p_total_lent_resource_cost,
369                                         FND_API.G_MISS_NUM,
370                                         total_lent_resource_cost,
371                                         p_total_lent_resource_cost)
372     ,total_tp_cost_in = DECODE( p_total_tp_cost_in, FND_API.G_MISS_NUM,
373                                 total_tp_cost_in, p_total_tp_cost_in)
374     ,total_tp_cost_out = DECODE( p_total_tp_cost_out, FND_API.G_MISS_NUM,
375                                  total_tp_cost_out, p_total_tp_cost_out)
376     ,total_cost_adj = DECODE( p_total_cost_adj, FND_API.G_MISS_NUM,
377                               total_cost_adj, p_total_cost_adj)
378     ,total_unassigned_time_cost = DECODE( p_total_unassigned_time_cost,
379                                           FND_API.G_MISS_NUM,
380                                           total_unassigned_time_cost,
381                                           p_total_unassigned_time_cost)
382     ,total_utilization_percent = DECODE( p_total_utilization_percent,
383                                          FND_API.G_MISS_NUM,
384                                          total_utilization_percent,
385                                          p_total_utilization_percent)
386     ,total_utilization_hours = DECODE( p_total_utilization_hours,
387                                        FND_API.G_MISS_NUM,
388                                        total_utilization_hours,
389                                        p_total_utilization_hours)
390     ,total_utilization_adj = DECODE( p_total_utilization_adj,
391                                      FND_API.G_MISS_NUM, total_utilization_adj,
392                                      p_total_utilization_adj)
393     ,total_capacity = DECODE( p_total_capacity, FND_API.G_MISS_NUM,
394                               total_capacity, p_total_capacity)
395     ,total_head_count = DECODE( p_total_head_count, FND_API.G_MISS_NUM,
396                                 total_head_count, p_total_head_count)
397     ,total_head_count_adj = DECODE( p_total_head_count_adj, FND_API.G_MISS_NUM,
398                                     total_head_count_adj,
399                                     p_total_head_count_adj)
400     ,resource_assignment_type = DECODE( p_resource_assignment_type,
401                                         FND_API.G_MISS_CHAR,
402                                         resource_assignment_type,
403                                         p_resource_assignment_type)
404 -- start of changes of Bug:- 2634900
405     ,total_project_raw_cost = DECODE( p_total_project_raw_cost,
406                                         FND_API.G_MISS_NUM ,
407                                         total_project_raw_cost,
408                                         p_total_project_raw_cost)
409     ,total_project_burdened_cost = DECODE( p_total_project_burdened_cost,
410                                         FND_API.G_MISS_NUM ,
411                                         total_project_burdened_cost,
412                                         p_total_project_burdened_cost)
413     ,total_project_revenue = DECODE( p_total_project_revenue,
414                                         FND_API.G_MISS_NUM ,
415                                         total_project_revenue,
416                                         p_total_project_revenue)
417     ,parent_assignment_id = DECODE( p_parent_assignment_id,
418                                         FND_API.G_MISS_NUM ,
419                                         parent_assignment_id,
420                                         p_parent_assignment_id)
421 -- end of changes of Bug:- 2634900
422     WHERE resource_assignment_id = p_resource_assignment_id;
423 
424     IF (SQL%NOTFOUND) THEN
425          PA_UTILS.Add_Message ( p_app_short_name => 'PA'
426                                ,p_msg_name       => 'PA_XC_RECORD_CHANGED');
427          x_return_status := FND_API.G_RET_STS_ERROR;
428     END IF;
429 
430 
431 EXCEPTION
432   WHEN OTHERS THEN
433 	  FND_MSG_PUB.add_exc_msg( p_pkg_name
434                                 => 'PA_FP_RESOURCE_ASSIGNMENTS_PKG.Update_Row',
435                                 p_procedure_name
436                                 => PA_DEBUG.G_Err_Stack);
437        x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
438 	  RAISE;
439 END Update_Row;
440 
441 PROCEDURE Lock_Row
442 ( p_resource_assignment_id IN pa_resource_assignments.resource_assignment_id%TYPE
443                               := FND_API.G_MISS_NUM
444  ,p_row_id                 IN ROWID
445                               := NULL
446  ,x_return_status         OUT NOCOPY VARCHAR2) --File.Sql.39 bug 4440895
447 
448  IS
449    l_row_id ROWID;
450 
451 BEGIN
452 
453        SELECT rowid into l_row_id
454        FROM pa_resource_assignments
455        WHERE resource_assignment_id =  p_resource_assignment_id
456 		OR rowid = p_row_id
457        FOR UPDATE NOWAIT;
458 
459 EXCEPTION
460   WHEN OTHERS THEN
461 	  FND_MSG_PUB.add_exc_msg( p_pkg_name
462                                 => 'PA_FP_RESOURCE_ASSIGNMENTS_PKG.Lock_Row',
463                                 p_procedure_name
464                                 => PA_DEBUG.G_Err_Stack);
465        x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
466 	  RAISE;
467 END Lock_Row;
468 
469 PROCEDURE Delete_Row
470 ( p_resource_assignment_id IN pa_resource_assignments.resource_assignment_id%TYPE
471                               := FND_API.G_MISS_NUM
472  ,p_row_id                 IN ROWID
473                               := NULL
474  ,x_return_status         OUT NOCOPY VARCHAR2) --File.Sql.39 bug 4440895
475 IS
476 BEGIN
477     IF (p_resource_assignment_id IS NOT NULL AND p_resource_assignment_id <>
478                                                  FND_API.G_MISS_NUM) THEN
479         DELETE FROM pa_resource_assignments
480          WHERE resource_assignment_id = p_resource_assignment_id;
481     ELSIF (p_row_id IS NOT NULL) THEN
482 	   DELETE FROM pa_resource_assignments
483          WHERE rowid = p_row_id;
484     END IF;
485 
486         IF (SQL%NOTFOUND) THEN
487             PA_UTILS.Add_Message ( p_app_short_name => 'PA'
488                                   ,p_msg_name       => 'PA_XC_RECORD_CHANGED');
489             x_return_status := FND_API.G_RET_STS_ERROR;
490         END IF;
491 
492 EXCEPTION
493   WHEN OTHERS THEN
494 	  FND_MSG_PUB.add_exc_msg( p_pkg_name
495                                 => 'PA_FP_RESOURCE_ASSIGNMENTS_PKG.Delete_Row',
496                                 p_procedure_name
497                                 => PA_DEBUG.G_Err_Stack);
498        x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
499 	  RAISE;
500 END Delete_Row;
501 
502 END pa_fp_resource_assignments_pkg;