[Home] [Help]
PACKAGE BODY: APPS.ASO_TASK_INT
Source
4 -- Start of Comments
1 PACKAGE BODY ASO_TASK_INT AS
2 /* $Header: asoitskb.pls 120.4 2006/10/25 20:55:31 pkoka ship $ */
3
5 -- Package name : ASO_TASK_INT
6 -- Purpose :
7 -- History :
8 -- NOTE :
9 -- End of Comments
10
11 G_PKG_NAME CONSTANT VARCHAR2(30) := 'ASO_TASK_INT';
12 G_FILE_NAME CONSTANT VARCHAR2(12) := 'asoitskb.pls';
13
14 /*
15 * A quote can have multiple JTF tasks attached to it. When a
16 * new version of quote is created from an existing quote, all the JTF
17 * tasks attached to the existing quote should be attached to the new
18 * version of quote, too.
19 *
20 * This procedure is called when a new version of quote is created from an
21 * existing quote.
22 *
23 * param p_old_quote_header_id: quote header ID of the existing quote.
24 * param p_new_quote_header_id: quote header ID of the new version.
25 * param p_new_quote_name : quote name of the new version.
26 */
27 PROCEDURE Copy_Tasks
28 (
29 p_api_version IN NUMBER,
30 p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE,
31 p_commit IN VARCHAR2 := FND_API.G_FALSE,
32 p_old_object_id IN NUMBER,
33 p_new_object_id IN NUMBER,
34 p_old_object_type_code IN VARCHAR2,
35 p_new_object_type_code IN VARCHAR2,
36 p_new_object_name IN VARCHAR2,
37 p_quote_version_flag IN VARCHAR2 := FND_API.G_FALSE,
38 x_return_status OUT NOCOPY /* file.sql.39 change */ VARCHAR2,
39 x_msg_count OUT NOCOPY /* file.sql.39 change */ NUMBER,
40 x_msg_data OUT NOCOPY /* file.sql.39 change */ VARCHAR2
41 )
42 IS
43
44 L_API_NAME CONSTANT VARCHAR2(30) := 'Copy_Tasks';
45 L_API_VERSION CONSTANT NUMBER := 1.0;
46
47 l_task_id NUMBER;
48 l_task_reference_id NUMBER;
49
50 /*
51 * This cursor gets information about all the JTF tasks attached
52 * to the existing p_object_id for a specific object_type_code.
53 */
54 CURSOR l_task_csr(p_task_id NUMBER) IS
55 SELECT task_id ,
56 task_name ,
57 task_type_id ,
58 description ,
59 task_status_id ,
60 task_priority_id ,
61 owner_type_code ,
62 owner_id ,
63 owner_territory_id ,
64 assigned_by_id ,
65 customer_id ,
66 cust_account_id ,
67 address_id ,
68 planned_start_date ,
69 planned_end_date ,
70 scheduled_start_date ,
71 scheduled_end_date ,
72 actual_start_date ,
73 actual_end_date ,
74 timezone_id ,
75 source_object_type_code,
76 source_object_id ,
77 source_object_name ,
78 duration ,
79 duration_uom ,
80 planned_effort ,
81 planned_effort_uom ,
82 actual_effort ,
83 actual_effort_uom ,
84 percentage_complete ,
85 reason_code ,
86 private_flag ,
87 publish_flag ,
88 restrict_closure_flag ,
89 multi_booked_flag ,
90 milestone_flag ,
91 holiday_flag ,
92 billable_flag ,
93 bound_mode_code ,
94 soft_bound_flag ,
95 workflow_process_id ,
96 notification_flag ,
97 notification_period ,
98 notification_period_uom,
99 parent_task_id ,
100 alarm_start ,
101 alarm_start_uom ,
102 alarm_on ,
103 alarm_count ,
104 alarm_interval ,
105 alarm_interval_uom ,
106 palm_flag ,
107 wince_flag ,
108 laptop_flag ,
109 device1_flag ,
110 device2_flag ,
111 device3_flag ,
112 costs ,
113 currency_code ,
114 escalation_level ,
115 attribute1 ,
116 attribute2 ,
117 attribute3 ,
118 attribute4 ,
119 attribute5 ,
120 attribute6 ,
121 attribute7 ,
122 attribute8 ,
126 attribute12 ,
123 attribute9 ,
124 attribute10 ,
125 attribute11 ,
127 attribute13 ,
128 attribute14 ,
129 attribute15 ,
130 attribute_category
131 FROM jtf_tasks_vl
132 WHERE task_id = p_task_id
133 AND deleted_flag ='N';
134
135 /*
136 * This cursor gets information about all referenced JTF tasks attached
137 * to the existing p_object_id for a specific object_type_code.
138 * This cursor is being introduced for bug 5572819 (Made changes such that
139 * new reference cursor is the driving cursor in the logic for creation of
140 * new version or copy quote).--PKOKA
141 */
142 CURSOR l_reftask_csr(p_object_id NUMBER, p_object_type_code VARCHAR2) IS
143 SELECT task_id
144 FROM jtf_task_references_b
145 WHERE object_id = p_object_id
146 AND object_type_code = p_object_type_code;
147
148 l_task_rec l_task_csr%rowtype;
149
150 BEGIN
151
152 -- Standard Start of API savepoint
153 SAVEPOINT Copy_Tasks_int;
154 aso_debug_pub.g_debug_flag := nvl(fnd_profile.value('ASO_ENABLE_DEBUG'),'N');
155 -- Standard call to check for call compatibility.
156 IF NOT FND_API.Compatible_API_Call(
157 L_API_VERSION,
158 p_api_version,
159 L_API_NAME ,
160 G_PKG_NAME
161 )
162 THEN
163 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
164 END IF;
165
166 -- Initialize message list if p_init_msg_list is set to TRUE.
167 IF FND_API.To_Boolean(p_init_msg_list) THEN
168 FND_Msg_Pub.initialize;
169 END IF;
170
171 -- Initialize API return status to success
172 x_return_status := FND_API.G_RET_STS_SUCCESS;
173 IF aso_debug_pub.g_debug_flag = 'Y' THEN
174 aso_debug_pub.add('ASO_TASK_INT: Copy_Tasks: Begin Copy_Tasks()', 1, 'Y');
175 aso_debug_pub.add('ASO_TASK_INT: Copy_Tasks: old_object_id: ' || p_old_object_id, 1, 'N');
176 aso_debug_pub.add('ASO_TASK_INT: Copy_Tasks: old_object_type_code: ' || p_old_object_type_code, 1, 'N');
177 aso_debug_pub.add('ASO_TASK_INT: Copy_Tasks: new_object_id: ' || p_new_object_id, 1, 'N');
178 aso_debug_pub.add('ASO_TASK_INT: Copy_Tasks: new_object_type_code: ' || p_new_object_type_code, 1, 'N');
179 aso_debug_pub.add('ASO_TASK_INT: Copy_Tasks: new_object_name: ' || p_new_object_name, 1, 'N');
180 aso_debug_pub.add('ASO_TASK_INT: Copy_Tasks: quote_version_flag: ' || p_quote_version_flag, 1, 'N');
181 END IF;
182
183 -- API body
184
185 FOR l_reftask_rec IN l_reftask_csr(p_old_object_id, p_old_object_type_code) LOOP
186
187 IF aso_debug_pub.g_debug_flag = 'Y' THEN
188
189 aso_debug_pub.add('ASO_TASK_INT: Copy_Tasks: l_reftask_rec.task_id: ' || l_reftask_rec.task_id, 1, 'N');
190 END IF;
191 /*Changes for Copy Quote Version We shouldn't create new task for a new version of quote */
192 IF p_quote_version_flag = FND_API.G_TRUE THEN
193 jtf_task_references_pub.create_references (
194 p_api_version => 1.0,
195 p_init_msg_list => fnd_api.g_false,
196 p_commit => fnd_api.g_false,
197 p_task_id => l_reftask_rec.task_id,
198 p_object_type_code => p_new_object_type_code,
199 p_object_name => p_new_object_name,
200 p_object_id => p_new_object_id,
201 x_return_status => x_return_status,
202 x_msg_data => x_msg_data,
203 x_msg_count => x_msg_count,
204 x_task_reference_id => l_task_reference_id
205
206 );
207 IF aso_debug_pub.g_debug_flag = 'Y' THEN
208 aso_debug_pub.add('ASO_TASK_INT: After Copy_Tasks: create_references ref_id' || l_task_reference_id, 1, 'N');
209 END IF;
210
211 IF ( x_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
212 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
213
214 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
215 ELSIF ( x_return_status = FND_API.G_RET_STS_ERROR ) THEN
216 x_return_status := FND_API.G_RET_STS_ERROR;
217 RAISE FND_API.G_EXC_ERROR;
218 END IF;
219
220
221 ELSE
222
223 open l_task_csr(l_reftask_rec.task_id);
224
225 IF aso_debug_pub.g_debug_flag = 'Y' THEN
226 aso_debug_pub.add('ASO_TASK_INT: Copy Task for new quote:', 1, 'N');
227 END IF;
228
229 fetch l_task_csr into l_task_rec;
230
231 IF aso_debug_pub.g_debug_flag = 'Y' THEN
232 aso_debug_pub.add('ASO_TASK_INT: Copy Task for new quote: l_task_rec.task_id' || l_task_rec.task_id, 1, 'N');
233 END IF;
234
235 close l_task_csr;
236
237
238 JTF_Tasks_Pub.Create_Task(
239 p_api_version => 1.0 ,
240 p_init_msg_list => FND_API.G_FALSE ,
241 p_commit => FND_API.G_FALSE ,
242 x_return_status => x_return_status ,
243 x_msg_count => x_msg_count ,
244 x_msg_data => x_msg_data ,
245 p_task_name => l_task_rec.task_name ,
249 p_task_priority_id => l_task_rec.task_priority_id ,
246 p_task_type_id => l_task_rec.task_type_id ,
247 p_description => l_task_rec.description ,
248 p_task_status_id => l_task_rec.task_status_id ,
250 p_owner_type_code => l_task_rec.owner_type_code ,
251 p_owner_id => l_task_rec.owner_id ,
252 p_owner_territory_id => l_task_rec.owner_territory_id ,
253 p_assigned_by_id => l_task_rec.assigned_by_id ,
254 p_customer_id => l_task_rec.customer_id ,
255 p_cust_account_id => l_task_rec.cust_account_id ,
256 p_address_id => l_task_rec.address_id ,
257 p_planned_start_date => l_task_rec.planned_start_date ,
258 p_planned_end_date => l_task_rec.planned_end_date ,
259 p_scheduled_start_date => l_task_rec.scheduled_start_date ,
260 p_scheduled_end_date => l_task_rec.scheduled_end_date ,
261 p_actual_start_date => l_task_rec.actual_start_date ,
262 p_actual_end_date => l_task_rec.actual_end_date ,
263 p_timezone_id => l_task_rec.timezone_id ,
264 p_source_object_type_code => p_new_object_type_code ,
265 p_source_object_id => p_new_object_id ,
266 p_source_object_name => p_new_object_name ,
267 p_duration => l_task_rec.duration ,
268 p_duration_uom => l_task_rec.duration_uom ,
269 p_planned_effort => l_task_rec.planned_effort ,
270 p_planned_effort_uom => l_task_rec.planned_effort_uom ,
271 p_actual_effort => l_task_rec.actual_effort ,
272 p_actual_effort_uom => l_task_rec.actual_effort_uom ,
273 p_percentage_complete => l_task_rec.percentage_complete ,
274 p_reason_code => l_task_rec.reason_code ,
275 p_private_flag => l_task_rec.private_flag ,
276 p_publish_flag => l_task_rec.publish_flag ,
277 p_restrict_closure_flag => l_task_rec.restrict_closure_flag ,
278 p_multi_booked_flag => l_task_rec.multi_booked_flag ,
279 p_milestone_flag => l_task_rec.milestone_flag ,
280 p_holiday_flag => l_task_rec.holiday_flag ,
281 p_billable_flag => l_task_rec.billable_flag ,
282 p_bound_mode_code => l_task_rec.bound_mode_code ,
283 p_soft_bound_flag => l_task_rec.soft_bound_flag ,
284 p_workflow_process_id => l_task_rec.workflow_process_id ,
285 p_notification_flag => l_task_rec.notification_flag ,
286 p_notification_period => l_task_rec.notification_period ,
287 p_notification_period_uom => l_task_rec.notification_period_uom,
288 p_parent_task_id => l_task_rec.parent_task_id ,
289 p_alarm_start => l_task_rec.alarm_start ,
290 p_alarm_start_uom => l_task_rec.alarm_start_uom ,
291 p_alarm_on => l_task_rec.alarm_on ,
292 p_alarm_count => l_task_rec.alarm_count ,
293 p_alarm_interval => l_task_rec.alarm_interval ,
294 p_alarm_interval_uom => l_task_rec.alarm_interval_uom ,
295 p_palm_flag => l_task_rec.palm_flag ,
296 p_wince_flag => l_task_rec.wince_flag ,
297 p_laptop_flag => l_task_rec.laptop_flag ,
298 p_device1_flag => l_task_rec.device1_flag ,
299 p_device2_flag => l_task_rec.device2_flag ,
300 p_device3_flag => l_task_rec.device3_flag ,
301 p_costs => l_task_rec.costs ,
302 p_currency_code => l_task_rec.currency_code ,
303 p_escalation_level => l_task_rec.escalation_level ,
304 p_attribute1 => l_task_rec.attribute1 ,
305 p_attribute2 => l_task_rec.attribute2 ,
306 p_attribute3 => l_task_rec.attribute3 ,
307 p_attribute4 => l_task_rec.attribute4 ,
308 p_attribute5 => l_task_rec.attribute5 ,
309 p_attribute6 => l_task_rec.attribute6 ,
310 p_attribute7 => l_task_rec.attribute7 ,
311 p_attribute8 => l_task_rec.attribute8 ,
312 p_attribute9 => l_task_rec.attribute9 ,
313 p_attribute10 => l_task_rec.attribute10 ,
314 p_attribute11 => l_task_rec.attribute11 ,
315 p_attribute12 => l_task_rec.attribute12 ,
316 p_attribute13 => l_task_rec.attribute13 ,
317 p_attribute14 => l_task_rec.attribute14 ,
318 p_attribute15 => l_task_rec.attribute15 ,
319 p_attribute_category => l_task_rec.attribute_category ,
320 x_task_id => l_task_id
321 );
322
323 IF aso_debug_pub.g_debug_flag = 'Y' THEN
324 aso_debug_pub.add('ASO_TASK_INT: Copy_Tasks: l_task_id: ' || l_task_id, 1, 'N');
325 END IF;
326 END IF;
327 END LOOP;
328
329 -- End of API body.
330 IF aso_debug_pub.g_debug_flag = 'Y' THEN
331 aso_debug_pub.add('ASO_TASK_INT: Copy_Tasks: End Copy_Tasks()', 1, 'Y');
332 END IF;
333
334 -- Standard check of p_commit.
335 IF FND_API.To_Boolean(p_commit) THEN
336 COMMIT WORK;
337 END IF;
338
339 -- Standard call to get message count and if count is 1, get message info.
340 FND_Msg_Pub.Count_And_Get(
341 p_encoded => FND_API.G_FALSE,
342 p_count => x_msg_count ,
343 p_data => x_msg_data
344 );
345
346 EXCEPTION
347 WHEN FND_API.G_EXC_ERROR THEN
348 ASO_UTILITY_PVT.HANDLE_EXCEPTIONS(
349 P_API_NAME => L_API_NAME,
350 P_PKG_NAME => G_PKG_NAME,
351 P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_ERROR,
352 P_PACKAGE_TYPE => ASO_UTILITY_PVT.G_INT,
353 P_SQLCODE => SQLCODE,
354 P_SQLERRM => SQLERRM,
355 X_MSG_COUNT => X_MSG_COUNT,
356 X_MSG_DATA => X_MSG_DATA,
357 X_RETURN_STATUS => X_RETURN_STATUS
358 );
359
360 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
361 ASO_UTILITY_PVT.HANDLE_EXCEPTIONS(
362 P_API_NAME => L_API_NAME,
363 P_PKG_NAME => G_PKG_NAME,
364 P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR,
365 P_PACKAGE_TYPE => ASO_UTILITY_PVT.G_INT,
366 P_SQLCODE => SQLCODE,
367 P_SQLERRM => SQLERRM,
368 X_MSG_COUNT => X_MSG_COUNT,
369 X_MSG_DATA => X_MSG_DATA,
370 X_RETURN_STATUS => X_RETURN_STATUS
371 );
372
373 WHEN OTHERS THEN
374 ASO_UTILITY_PVT.HANDLE_EXCEPTIONS(
375 P_API_NAME => L_API_NAME,
376 P_PKG_NAME => G_PKG_NAME,
377 P_EXCEPTION_LEVEL => ASO_UTILITY_PVT.G_EXC_OTHERS,
378 P_PACKAGE_TYPE => ASO_UTILITY_PVT.G_INT,
379 P_SQLCODE => SQLCODE,
380 P_SQLERRM => SQLERRM,
381 X_MSG_COUNT => X_MSG_COUNT,
382 X_MSG_DATA => X_MSG_DATA,
383 X_RETURN_STATUS => X_RETURN_STATUS
384 );
385
386 END Copy_Tasks;
387
388
389 -- As per the ER 2732010. While creating opportunity to quote in Telesales
390 -- certain types of tasks should NOT be copied over to the quote.
391 -- Those task types are to be visible only in telesales.
392 -- Hence the new Api is needed to accomplish this requirement.
393 -- The types of task that are copied over to quote from an Opportunity are :
394 -- 1. Task types that are not linked to any source objects.
395 -- 2. Task types that are Specifically linked to Quoting.
396
397 -- This procedure is called only when creating a quote from an opportunity.
398
399 PROCEDURE Copy_Opp_Tasks_To_Qte
400 (
401 p_api_version IN NUMBER,
402 p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE,
403 p_commit IN VARCHAR2 := FND_API.G_FALSE,
404 p_old_object_id IN NUMBER,
405 p_new_object_id IN NUMBER,
406 p_old_object_type_code IN VARCHAR2,
407 p_new_object_type_code IN VARCHAR2,
408 p_new_object_name IN VARCHAR2,
409 x_return_status OUT NOCOPY /* file.sql.39 change */ VARCHAR2,
410 x_msg_count OUT NOCOPY /* file.sql.39 change */ NUMBER,
411 x_msg_data OUT NOCOPY /* file.sql.39 change */ VARCHAR2
412 )
413 IS
414
415 L_API_NAME CONSTANT VARCHAR2(30) := 'Copy_Opp_Tasks_To_Qte';
416 L_API_VERSION CONSTANT NUMBER := 1.0;
417
418 l_task_id NUMBER;
419
420 /*
421 * This cursor gets information about all the JTF tasks attached
422 * to the existing p_object_id for a specific object_type_code.
423 */
424 CURSOR l_task_csr(p_object_id NUMBER, p_object_type_code VARCHAR2) IS
425 SELECT task_id ,
426 task_name ,
427 task_type_id ,
428 description ,
429 task_status_id ,
430 task_priority_id ,
431 owner_type_code ,
432 owner_id ,
433 owner_territory_id ,
434 assigned_by_id ,
435 customer_id ,
436 cust_account_id ,
437 address_id ,
438 planned_start_date ,
439 planned_end_date ,
440 scheduled_start_date ,
444 timezone_id ,
441 scheduled_end_date ,
442 actual_start_date ,
443 actual_end_date ,
445 source_object_type_code,
446 source_object_id ,
447 source_object_name ,
448 duration ,
449 duration_uom ,
450 planned_effort ,
451 planned_effort_uom ,
452 actual_effort ,
453 actual_effort_uom ,
454 percentage_complete ,
455 reason_code ,
456 private_flag ,
457 publish_flag ,
458 restrict_closure_flag ,
459 multi_booked_flag ,
460 milestone_flag ,
461 holiday_flag ,
462 billable_flag ,
463 bound_mode_code ,
464 soft_bound_flag ,
465 workflow_process_id ,
466 notification_flag ,
467 notification_period ,
468 notification_period_uom,
469 parent_task_id ,
470 alarm_start ,
471 alarm_start_uom ,
472 alarm_on ,
473 alarm_count ,
474 alarm_interval ,
475 alarm_interval_uom ,
476 palm_flag ,
477 wince_flag ,
478 laptop_flag ,
479 device1_flag ,
480 device2_flag ,
481 device3_flag ,
482 costs ,
483 currency_code ,
484 escalation_level ,
485 attribute1 ,
486 attribute2 ,
487 attribute3 ,
488 attribute4 ,
489 attribute5 ,
490 attribute6 ,
491 attribute7 ,
492 attribute8 ,
493 attribute9 ,
494 attribute10 ,
495 attribute11 ,
496 attribute12 ,
497 attribute13 ,
498 attribute14 ,
499 attribute15 ,
500 attribute_category
501 FROM jtf_tasks_vl tk
502 WHERE tk.source_object_id = p_object_id
503 AND tk.source_object_type_code = p_object_type_code
504 AND tk.deleted_flag ='N'
505 AND (EXISTS (SELECT o.object_id
506 FROM jtf_object_mappings o
507 WHERE o.object_id = TO_CHAR(tk.task_type_id)
508 AND o.source_object_code = 'ASO_QUOTE')
509 OR NOT EXISTS ( SELECT om.object_id
510 FROM JTF_OBJECT_MAPPINGS om
511 WHERE om.object_id = TO_CHAR(tk.task_type_id)));
512
513 BEGIN
514
515 -- Standard Start of API savepoint
516 SAVEPOINT Copy_Opp_Tasks_To_Qte_int;
517 aso_debug_pub.g_debug_flag := nvl(fnd_profile.value('ASO_ENABLE_DEBUG'),'N');
518 -- Standard call to check for call compatibility.
519 IF NOT FND_API.Compatible_API_Call(
520 L_API_VERSION,
521 p_api_version,
522 L_API_NAME ,
523 G_PKG_NAME
524 )
525 THEN
526 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
527 END IF;
528
529 -- Initialize message list if p_init_msg_list is set to TRUE.
530 IF FND_API.To_Boolean(p_init_msg_list) THEN
531 FND_Msg_Pub.initialize;
532 END IF;
533
534 -- Initialize API return status to success
535 x_return_status := FND_API.G_RET_STS_SUCCESS;
536 IF aso_debug_pub.g_debug_flag = 'Y' THEN
537 aso_debug_pub.add('ASO_TASK_INT: Copy_Opp_Tasks_To_Qte: Begin Copy_Opp_Tasks_To_Qte()', 1, 'Y');
538 aso_debug_pub.add('ASO_TASK_INT: Copy_Opp_Tasks_To_Qte: old_object_id: ' || p_old_object_id, 1, 'N');
539 aso_debug_pub.add('ASO_TASK_INT: Copy_Opp_Tasks_To_Qte: old_object_type_code: ' || p_old_object_type_code, 1, 'N');
540 aso_debug_pub.add('ASO_TASK_INT: Copy_Opp_Tasks_To_Qte: new_object_id: ' || p_new_object_id, 1, 'N');
541 aso_debug_pub.add('ASO_TASK_INT: Copy_Opp_Tasks_To_Qte: new_object_type_code: ' || p_new_object_type_code, 1, 'N');
542 aso_debug_pub.add('ASO_TASK_INT: Copy_Opp_Tasks_To_Qte: new_object_name: ' || p_new_object_name, 1, 'N');
543 END IF;
544
545 -- API body
546
547 FOR l_task_rec IN l_task_csr(p_old_object_id, p_old_object_type_code) LOOP
548
549 IF aso_debug_pub.g_debug_flag = 'Y' THEN
550
551 aso_debug_pub.add('ASO_TASK_INT: Copy_Opp_Tasks_To_Qte: l_task_rec.task_id: ' || l_task_rec.task_id, 1, 'N');
552 END IF;
553
554 JTF_Tasks_Pub.Create_Task(
555 p_api_version => 1.0 ,
556 p_init_msg_list => FND_API.G_FALSE ,
557 p_commit => FND_API.G_FALSE ,
558 x_return_status => x_return_status ,
559 x_msg_count => x_msg_count ,
560 x_msg_data => x_msg_data ,
561 p_task_name => l_task_rec.task_name ,
562 p_task_type_id => l_task_rec.task_type_id ,
563 p_description => l_task_rec.description ,
564 p_task_status_id => l_task_rec.task_status_id ,
565 p_task_priority_id => l_task_rec.task_priority_id ,
566 p_owner_type_code => l_task_rec.owner_type_code ,
570 p_customer_id => l_task_rec.customer_id ,
567 p_owner_id => l_task_rec.owner_id ,
568 p_owner_territory_id => l_task_rec.owner_territory_id ,
569 p_assigned_by_id => l_task_rec.assigned_by_id ,
571 p_cust_account_id => l_task_rec.cust_account_id ,
572 p_address_id => l_task_rec.address_id ,
573 p_planned_start_date => l_task_rec.planned_start_date ,
574 p_planned_end_date => l_task_rec.planned_end_date ,
575 p_scheduled_start_date => l_task_rec.scheduled_start_date ,
576 p_scheduled_end_date => l_task_rec.scheduled_end_date ,
577 p_actual_start_date => l_task_rec.actual_start_date ,
578 p_actual_end_date => l_task_rec.actual_end_date ,
579 p_timezone_id => l_task_rec.timezone_id ,
580 p_source_object_type_code => p_new_object_type_code ,
581 p_source_object_id => p_new_object_id ,
582 p_source_object_name => p_new_object_name ,
583 p_duration => l_task_rec.duration ,
584 p_duration_uom => l_task_rec.duration_uom ,
585 p_planned_effort => l_task_rec.planned_effort ,
586 p_planned_effort_uom => l_task_rec.planned_effort_uom ,
587 p_actual_effort => l_task_rec.actual_effort ,
588 p_actual_effort_uom => l_task_rec.actual_effort_uom ,
589 p_percentage_complete => l_task_rec.percentage_complete ,
590 p_reason_code => l_task_rec.reason_code ,
591 p_private_flag => l_task_rec.private_flag ,
592 p_publish_flag => l_task_rec.publish_flag ,
593 p_restrict_closure_flag => l_task_rec.restrict_closure_flag ,
594 p_multi_booked_flag => l_task_rec.multi_booked_flag ,
595 p_milestone_flag => l_task_rec.milestone_flag ,
596 p_holiday_flag => l_task_rec.holiday_flag ,
597 p_billable_flag => l_task_rec.billable_flag ,
598 p_bound_mode_code => l_task_rec.bound_mode_code ,
599 p_soft_bound_flag => l_task_rec.soft_bound_flag ,
600 p_workflow_process_id => l_task_rec.workflow_process_id ,
601 p_notification_flag => l_task_rec.notification_flag ,
602 p_notification_period => l_task_rec.notification_period ,
603 p_notification_period_uom => l_task_rec.notification_period_uom,
604 p_parent_task_id => l_task_rec.parent_task_id ,
605 p_alarm_start => l_task_rec.alarm_start ,
606 p_alarm_start_uom => l_task_rec.alarm_start_uom ,
607 p_alarm_on => l_task_rec.alarm_on ,
608 p_alarm_count => l_task_rec.alarm_count ,
609 p_alarm_interval => l_task_rec.alarm_interval ,
610 p_alarm_interval_uom => l_task_rec.alarm_interval_uom ,
611 p_palm_flag => l_task_rec.palm_flag ,
612 p_wince_flag => l_task_rec.wince_flag ,
613 p_laptop_flag => l_task_rec.laptop_flag ,
614 p_device1_flag => l_task_rec.device1_flag ,
615 p_device2_flag => l_task_rec.device2_flag ,
616 p_device3_flag => l_task_rec.device3_flag ,
617 p_costs => l_task_rec.costs ,
618 p_currency_code => l_task_rec.currency_code ,
619 p_escalation_level => l_task_rec.escalation_level ,
620 p_attribute1 => l_task_rec.attribute1 ,
621 p_attribute2 => l_task_rec.attribute2 ,
622 p_attribute3 => l_task_rec.attribute3 ,
623 p_attribute4 => l_task_rec.attribute4 ,
624 p_attribute5 => l_task_rec.attribute5 ,
625 p_attribute6 => l_task_rec.attribute6 ,
626 p_attribute7 => l_task_rec.attribute7 ,
627 p_attribute8 => l_task_rec.attribute8 ,
628 p_attribute9 => l_task_rec.attribute9 ,
629 p_attribute10 => l_task_rec.attribute10 ,
630 p_attribute11 => l_task_rec.attribute11 ,
631 p_attribute12 => l_task_rec.attribute12 ,
632 p_attribute13 => l_task_rec.attribute13 ,
633 p_attribute14 => l_task_rec.attribute14 ,
634 p_attribute15 => l_task_rec.attribute15 ,
635 p_attribute_category => l_task_rec.attribute_category ,
636 x_task_id => l_task_id
637 );
638
639 IF aso_debug_pub.g_debug_flag = 'Y' THEN
640 aso_debug_pub.add('ASO_TASK_INT: Copy_Opp_Tasks_To_Qte: l_task_id: ' || l_task_id, 1, 'N');
641 END IF;
642
643 END LOOP;
644
645 -- End of API body.
646 IF aso_debug_pub.g_debug_flag = 'Y' THEN
647 aso_debug_pub.add('ASO_TASK_INT: Copy_Opp_Tasks_To_Qte: End Copy_Opp_Tasks_To_Qte()', 1, 'Y');
648 END IF;
649
650 -- Standard check of p_commit.
651 IF FND_API.To_Boolean(p_commit) THEN
652 COMMIT WORK;
653 END IF;
654
655 -- Standard call to get message count and if count is 1, get message info.
656 FND_Msg_Pub.Count_And_Get(
657 p_encoded => FND_API.G_FALSE,
658 p_count => x_msg_count ,
659 p_data => x_msg_data
660 );
661
662 EXCEPTION
663 WHEN FND_API.G_EXC_ERROR THEN
664 ASO_UTILITY_PVT.HANDLE_EXCEPTIONS(
665 P_API_NAME => L_API_NAME,
666 P_PKG_NAME => G_PKG_NAME,
667 P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_ERROR,
668 P_PACKAGE_TYPE => ASO_UTILITY_PVT.G_INT,
669 P_SQLCODE => SQLCODE,
670 P_SQLERRM => SQLERRM,
671 X_MSG_COUNT => X_MSG_COUNT,
672 X_MSG_DATA => X_MSG_DATA,
673 X_RETURN_STATUS => X_RETURN_STATUS
674 );
675
676 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
677 ASO_UTILITY_PVT.HANDLE_EXCEPTIONS(
678 P_API_NAME => L_API_NAME,
679 P_PKG_NAME => G_PKG_NAME,
680 P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR,
681 P_PACKAGE_TYPE => ASO_UTILITY_PVT.G_INT,
682 P_SQLCODE => SQLCODE,
683 P_SQLERRM => SQLERRM,
684 X_MSG_COUNT => X_MSG_COUNT,
685 X_MSG_DATA => X_MSG_DATA,
686 X_RETURN_STATUS => X_RETURN_STATUS
687 );
688
689 WHEN OTHERS THEN
690 ASO_UTILITY_PVT.HANDLE_EXCEPTIONS(
691 P_API_NAME => L_API_NAME,
692 P_PKG_NAME => G_PKG_NAME,
693 P_EXCEPTION_LEVEL => ASO_UTILITY_PVT.G_EXC_OTHERS,
694 P_PACKAGE_TYPE => ASO_UTILITY_PVT.G_INT,
695 P_SQLCODE => SQLCODE,
696 P_SQLERRM => SQLERRM,
697 X_MSG_COUNT => X_MSG_COUNT,
698 X_MSG_DATA => X_MSG_DATA,
699 X_RETURN_STATUS => X_RETURN_STATUS
700 );
701
702 END Copy_Opp_Tasks_To_Qte;
703
704 END ASO_TASK_INT;