[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;