[Home] [Help]
PACKAGE BODY: APPS.JTF_TASK_TEMPLATES_UTL
Source
1 PACKAGE BODY jtf_task_templates_utl AS
2 /* $Header: jtfptutb.pls 120.8.12000000.2 2007/06/29 09:40:42 tduggara ship $ */
3
4 PROCEDURE validate_task_template_group (
5 p_task_template_group_id IN NUMBER
6 )
7 IS
8 -- Bug 3374694: modified cursor query for truncating time portion of dates.
9 CURSOR c_task_template_group_id
10 IS
11 SELECT task_template_group_id
12 FROM jtf_task_temp_groups_b
13 WHERE task_template_group_id = p_task_template_group_id
14 AND trunc(NVL (end_date_active, SYSDATE)) >= trunc(SYSDATE)
15 AND trunc(NVL (start_date_active, SYSDATE)) <= trunc(SYSDATE);
16
17 x_task_template_group_id NUMBER;
18 BEGIN
19 IF p_task_template_group_id IS NOT NULL
20 THEN
21 OPEN c_task_template_group_id;
22 FETCH c_task_template_group_id INTO x_task_template_group_id;
23 IF c_task_template_group_id%NOTFOUND
24 THEN
25 CLOSE c_task_template_group_id;
26 fnd_message.set_name ('JTF', 'JTF_TASK_MISSING_TEMP_GRP');
27 fnd_msg_pub.add;
28 RAISE fnd_api.g_exc_unexpected_error;
29 END IF;
30 CLOSE c_task_template_group_id;
31 ELSE
32 fnd_message.set_name ('JTF', 'JTF_TASK_MISSING_TEMP_GRP');
33 fnd_msg_pub.add;
34 RAISE fnd_api.g_exc_unexpected_error;
35 END IF;
36
37 END; -- Procedure End
38
39 PROCEDURE validate_create_template (
40 p_task_template_info IN jtf_task_inst_templates_pub.task_template_info,
41 p_source_object_type_code IN jtf_objects_b.object_code%TYPE,
42 p_task_template_group_info IN jtf_task_inst_templates_pub.task_template_group_info,
43 x_task_id OUT NOCOPY NUMBER,
44 x_msg_count OUT NOCOPY NUMBER,
45 x_msg_data OUT NOCOPY VARCHAR2,
46 x_return_status OUT NOCOPY VARCHAR2
47 )
48 IS
49 CURSOR c_task_template (
50 p_task_template_group_id IN NUMBER,
51 task_template_record IN jtf_task_inst_templates_pub.task_template_info
52 )
53 IS
54 SELECT task_template_id,
55 task_number,
56 DECODE (
57 task_template_record.task_name,
58 NULL, task_name,
59 FND_API.G_MISS_CHAR, NULL,
60 task_template_record.task_name
61 ) task_name,
62 DECODE (
63 task_template_record.description,
64 NULL, description,
65 FND_API.G_MISS_CHAR, NULL,
66 task_template_record.description
67 ) description,
68 DECODE (
69 task_template_record.task_type_id,
70 NULL, task_type_id,
71 FND_API.G_MISS_CHAR, NULL,
72 task_template_record.task_type_id
73 ) task_type_id,
74 DECODE (
75 task_template_record.task_status_id,
76 NULL, task_status_id,
77 FND_API.G_MISS_CHAR, NULL,
78 task_template_record.task_status_id
79 ) task_status_id,
80 DECODE (
81 task_template_record.task_priority_id,
82 NULL, task_priority_id,
83 FND_API.G_MISS_CHAR, NULL,
84 task_template_record.task_priority_id
85 ) task_priority_id,
86 DECODE (
87 task_template_record.duration,
88 NULL, duration,
89 FND_API.G_MISS_CHAR, NULL,
90 task_template_record.duration
91 ) duration,
92 DECODE (
93 task_template_record.duration_uom,
94 NULL, duration_uom,
95 FND_API.G_MISS_CHAR, NULL,
96 task_template_record.duration_uom
97 ) duration_uom,
98 DECODE (
99 task_template_record.planned_effort,
100 NULL, planned_effort,
101 FND_API.G_MISS_CHAR, NULL,
102 task_template_record.planned_effort
103 ) planned_effort,
104 DECODE (
105 task_template_record.planned_effort_uom,
106 NULL, planned_effort_uom,
107 FND_API.G_MISS_CHAR, NULL,
108 task_template_record.planned_effort_uom
109 ) planned_effort_uom,
110 DECODE (
111 task_template_record.private_flag,
112 NULL, private_flag,
113 FND_API.G_MISS_CHAR, NULL,
114 task_template_record.private_flag
115 ) private_flag,
116 publish_flag,
117 DECODE (
118 task_template_record.restrict_closure_flag,
119 NULL, restrict_closure_flag,
120 FND_API.G_MISS_CHAR, NULL,
121 task_template_record.restrict_closure_flag
122 ) restrict_closure_flag,
123 multi_booked_flag,
124 milestone_flag,
125 holiday_flag,
126 billable_flag,
127 notification_flag,
128 notification_period,
129 notification_period_uom,
130 recurrence_rule_id,
131 alarm_start,
132 alarm_start_uom,
133 alarm_on,
134 alarm_count,
135 alarm_interval,
136 alarm_interval_uom,
137 task_template_record.palm_flag palm_flag,
138 task_template_record.wince_flag wince_flag,
139 task_template_record.laptop_flag laptop_flag,
140 task_template_record.device1_flag device1_flag,
141 task_template_record.device2_flag device2_flag,
142 task_template_record.device3_flag device3_flag,
143 task_template_record.timezone_id timezone_id,
144 DECODE (
145 task_template_record.attribute1,
146 NULL, attribute1,
147 FND_API.G_MISS_CHAR, NULL,
148 task_template_record.attribute1
149 ) attribute1,
150 DECODE (
151 task_template_record.attribute2,
152 NULL, attribute2,
153 FND_API.G_MISS_CHAR, NULL,
154 task_template_record.attribute2
155 ) attribute2,
156 DECODE (
157 task_template_record.attribute3,
158 NULL, attribute3,
159 FND_API.G_MISS_CHAR, NULL,
160 task_template_record.attribute3
161 ) attribute3,
162 DECODE (
163 task_template_record.attribute4,
164 NULL, attribute4,
165 FND_API.G_MISS_CHAR, NULL,
166 task_template_record.attribute4
167 ) attribute4,
168 DECODE (
169 task_template_record.attribute5,
170 NULL, attribute5,
171 FND_API.G_MISS_CHAR, NULL,
172 task_template_record.attribute5
173 ) attribute5,
174 DECODE (
175 task_template_record.attribute6,
176 NULL, attribute6,
177 task_template_record.attribute6
178 ) attribute6,
179 DECODE (
180 task_template_record.attribute7,
181 NULL, attribute7,
182 FND_API.G_MISS_CHAR, NULL,
183 task_template_record.attribute7
184 ) attribute7,
185 DECODE (
186 task_template_record.attribute8,
187 NULL, attribute8,
188 FND_API.G_MISS_CHAR, NULL,
189 task_template_record.attribute8
190 ) attribute8,
191 DECODE (
192 task_template_record.attribute9,
193 NULL, attribute9,
194 FND_API.G_MISS_CHAR, NULL,
195 task_template_record.attribute9
196 ) attribute9,
197 DECODE (
198 task_template_record.attribute10,
199 NULL, attribute10,
200 FND_API.G_MISS_CHAR, NULL,
201 task_template_record.attribute10
202 ) attribute10,
203 DECODE (
204 task_template_record.attribute11,
205 NULL, attribute11,
206 FND_API.G_MISS_CHAR, NULL,
207 task_template_record.attribute11
208 ) attribute11,
209 DECODE (
210 task_template_record.attribute12,
211 NULL, attribute12,
212 FND_API.G_MISS_CHAR, NULL,
213 task_template_record.attribute12
214 ) attribute12,
215 DECODE (
216 task_template_record.attribute13,
217 NULL, attribute13,
218 FND_API.G_MISS_CHAR, NULL,
219 task_template_record.attribute13
220 ) attribute13,
221 DECODE (
222 task_template_record.attribute14,
223 NULL, attribute14,
224 FND_API.G_MISS_CHAR, NULL,
225 task_template_record.attribute14
226 ) attribute14,
227 DECODE (
228 task_template_record.attribute15,
229 NULL, attribute15,
230 FND_API.G_MISS_CHAR, NULL,
231 task_template_record.attribute15
232 ) attribute15,
233 DECODE (
234 task_template_record.attribute_category,
235 NULL, attribute_category,
236 FND_API.G_MISS_CHAR, NULL,
237 task_template_record.attribute_category
238 ) attribute_category,
239 DECODE (
240 task_template_record.task_confirmation_status,
241 NULL,task_confirmation_status,
242 jtf_task_utl.G_MISS_CHAR, NULL,
243 task_template_record.task_confirmation_status
244 ) task_confirmation_status
245 FROM jtf_task_templates_vl
246 WHERE task_group_id = p_task_template_group_id
247 AND task_template_id = task_template_record.task_template_id;
248
249 l_task_template_rec c_task_template%ROWTYPE;
250
251 -- Added by SBARAT on 06/01/2005 for bug# 4898434
252 Cursor C_Object_Version_Num(p_task_id NUMBER) Is
253 Select object_version_number From JTF_TASKS_VL
254 Where task_id=p_task_id;
255
256 l_object_version_number NUMBER;
257
258 BEGIN
259 x_return_status := fnd_api.g_ret_sts_success;
260 OPEN c_task_template (p_task_template_group_info.task_template_group_id, p_task_template_info);
261 FETCH c_task_template INTO l_task_template_rec;
262
263 IF c_task_template%NOTFOUND
264 THEN
265 CLOSE c_task_template;
266 fnd_message.set_name ('JTF', 'JTF_TASK_NO_TEMP_FOUND');
267 fnd_message.set_token ('task_template_id', p_task_template_info.task_template_id);
268 fnd_msg_pub.add;
269 RAISE fnd_api.g_exc_unexpected_error;
270 END IF;
271
272 jtf_tasks_pub.create_task (
273 p_api_version => 1.0,
274 p_init_msg_list => fnd_api.g_false,
275 p_commit => fnd_api.g_false,
276 p_task_name => l_task_template_rec.task_name,
277 p_task_type_id => l_task_template_rec.task_type_id,
278 p_description => l_task_template_rec.description,
279 p_task_status_id => l_task_template_rec.task_status_id,
280 p_task_priority_id => l_task_template_rec.task_priority_id,
281 p_owner_type_code => p_task_template_info.owner_type_code,
282 p_owner_id => p_task_template_info.owner_id,
283 p_owner_territory_id => p_task_template_group_info.owner_territory_id, -- Added by SBARAT on 28/10/2005 for bug# 4597321
284 p_duration => l_task_template_rec.duration,
285 p_duration_uom => l_task_template_rec.duration_uom,
286 p_planned_effort => l_task_template_rec.planned_effort,
287 p_planned_effort_uom => l_task_template_rec.planned_effort_uom,
288 p_private_flag => l_task_template_rec.private_flag,
289 p_publish_flag => l_task_template_rec.publish_flag,
290 p_restrict_closure_flag => l_task_template_rec.restrict_closure_flag,
291 p_multi_booked_flag => l_task_template_rec.multi_booked_flag,
292 p_milestone_flag => l_task_template_rec.milestone_flag,
293 p_holiday_flag => l_task_template_rec.holiday_flag,
294 p_billable_flag => l_task_template_rec.billable_flag,
295 p_notification_flag => l_task_template_rec.notification_flag,
296 p_notification_period => l_task_template_rec.notification_period,
297 p_notification_period_uom => l_task_template_rec.notification_period_uom,
298 p_source_object_type_code => p_source_object_type_code,
299 p_source_object_id => p_task_template_group_info.source_object_id,
300 p_source_object_name => p_task_template_group_info.source_object_name,
301 p_alarm_start => l_task_template_rec.alarm_start,
302 p_alarm_start_uom => l_task_template_rec.alarm_start_uom,
303 p_alarm_on => l_task_template_rec.alarm_on,
304 p_alarm_count => l_task_template_rec.alarm_count,
305 p_alarm_interval => l_task_template_rec.alarm_interval,
306 p_alarm_interval_uom => l_task_template_rec.alarm_interval_uom,
307 x_return_status => x_return_status,
308 x_msg_count => x_msg_count,
309 x_msg_data => x_msg_data,
310 x_task_id => x_task_id,
311 p_cust_account_id => p_task_template_group_info.cust_account_id,
312 p_customer_id => p_task_template_group_info.customer_id,
313 p_address_id => p_task_template_group_info.address_id,
314 p_planned_start_date => p_task_template_info.planned_start_date,
315 p_planned_end_date => p_task_template_info.planned_end_date,
316 p_scheduled_start_date => p_task_template_info.scheduled_start_date,
317 p_scheduled_end_date => p_task_template_info.scheduled_end_date,
318 p_actual_start_date => p_task_template_info.actual_start_date,
319 p_actual_end_date => p_task_template_info.actual_end_date,
320 p_palm_flag => l_task_template_rec.palm_flag,
321 p_wince_flag => l_task_template_rec.wince_flag,
322 p_laptop_flag => l_task_template_rec.laptop_flag,
323 p_device1_flag => l_task_template_rec.device1_flag,
324 p_device2_flag => l_task_template_rec.device2_flag,
325 p_device3_flag => l_task_template_rec.device3_flag,
326 p_timezone_id => l_task_template_rec.timezone_id,
327 p_attribute1 => l_task_template_rec.attribute1,
328 p_attribute2 => l_task_template_rec.attribute2,
329 p_attribute3 => l_task_template_rec.attribute3,
330 p_attribute4 => l_task_template_rec.attribute4,
331 p_attribute5 => l_task_template_rec.attribute5,
332 p_attribute6 => l_task_template_rec.attribute6,
333 p_attribute7 => l_task_template_rec.attribute7,
334 p_attribute8 => l_task_template_rec.attribute8,
335 p_attribute9 => l_task_template_rec.attribute9,
336 p_attribute10 => l_task_template_rec.attribute10,
337 p_attribute11 => l_task_template_rec.attribute11,
338 p_attribute12 => l_task_template_rec.attribute12,
339 p_attribute13 => l_task_template_rec.attribute13,
340 p_attribute14 => l_task_template_rec.attribute14,
341 p_attribute15 => l_task_template_rec.attribute15,
342 p_attribute_category => l_task_template_rec.attribute_category,
343 p_date_selected => p_task_template_info.p_date_selected,
344 p_show_on_calendar => p_task_template_info.show_on_calendar,
345 p_template_id => l_task_template_rec.task_template_id,
346 p_template_group_id => p_task_template_group_info.task_template_group_id,
347 p_enable_workflow => fnd_profile.value('JTF_TASK_ENABLE_WORKFLOW'),
348 p_abort_workflow => fnd_profile.value('JTF_TASK_ABORT_PREV_WF'),
349 p_task_split_flag => NULL,
350 p_reference_flag => NULL,
351 p_child_position => NULL,
352 p_child_sequence_num => NULL,
353 p_location_id => p_task_template_group_info.location_id
354 );
355 CLOSE c_task_template;
356
357 /******* Start of modification by SBARAT on 06/01/2005 for bug# 4898434 *******/
358
359 Open C_Object_Version_Num(x_task_id);
360 Fetch C_Object_Version_Num Into l_object_version_number;
361 Close C_Object_Version_Num;
362
363 IF l_object_version_number IS NULL
364 THEN
365 l_object_version_number := 1 ;
366 END IF;
367
368 /******* End of modification by SBARAT on 06/01/2005 for bug# 4898434 *******/
369
370 -- Commented out the call of reset_confirmation_status. Instead, we are now calling
371 -- set_counter_status to set the confirmation_status. Changes done due to bug# 4352360
372 /* jtf_task_confirmation_pub.reset_confirmation_status
373 (
374 p_api_version => 1.0,
375 p_init_msg_list => fnd_api.g_false,
376 p_commit => fnd_api.g_false,
377 p_object_version_number => l_object_version_number,
378 p_task_id => x_task_id,
379 x_return_status => x_return_status,
380 x_msg_count => x_msg_count,
381 x_msg_data => x_msg_data
382 ); */
383
384 jtf_task_confirmation_pub.set_counter_status(
385 p_api_version => 1.0,
386 p_init_msg_list => fnd_api.g_false,
387 p_commit => fnd_api.g_false,
388 x_return_status => x_return_status,
389 x_msg_count => x_msg_count,
390 x_msg_data => x_msg_data,
391 p_object_version_number => l_object_version_number,
392 p_task_id => x_task_id,
393 p_task_confirmation_status => l_task_template_rec.task_confirmation_status,
394 p_task_confirmation_counter => 0);
395
396 END;
397
398 PROCEDURE create_template_group_tasks (
399 p_source_object_type_code IN jtf_objects_b.object_code%TYPE,
400 p_task_template_group_info IN jtf_task_inst_templates_pub.task_template_group_info,
401 x_task_details_tbl OUT NOCOPY jtf_task_inst_templates_pub.task_details_tbl,
402 x_msg_count OUT NOCOPY NUMBER,
403 x_msg_data OUT NOCOPY VARCHAR2,
404 x_return_status OUT NOCOPY VARCHAR2
405 )
406 IS
407 CURSOR c_task_template
408 IS
409 SELECT task_template_id,
410 task_number,
411 task_name,
412 description,
413 task_type_id,
414 task_status_id,
415 task_priority_id,
416 duration,
417 duration_uom,
418 planned_effort,
419 planned_effort_uom,
420 private_flag,
421 publish_flag,
422 restrict_closure_flag,
423 multi_booked_flag,
424 milestone_flag,
425 holiday_flag,
426 billable_flag,
427 notification_flag,
428 notification_period,
429 notification_period_uom,
430 recurrence_rule_id,
431 alarm_start,
432 alarm_start_uom,
433 alarm_on,
434 alarm_count,
435 alarm_interval,
436 alarm_interval_uom,
437 p_task_template_group_info.owner_type_code,
438 p_task_template_group_info.owner_id,
439 p_task_template_group_info.owner_territory_id, -- Added by SBARAT on 28/10/2005 for bug# 4597321
440 p_task_template_group_info.source_object_id,
441 p_task_template_group_info.source_object_name,
442 p_task_template_group_info.cust_account_id,
443 p_task_template_group_info.customer_id,
444 p_task_template_group_info.address_id,
445 p_task_template_group_info.assigned_by_id,
446 p_task_template_group_info.actual_start_date,
447 p_task_template_group_info.actual_end_date,
448 p_task_template_group_info.planned_start_date,
449 p_task_template_group_info.planned_end_date,
450 p_task_template_group_info.scheduled_start_date,
451 p_task_template_group_info.scheduled_end_date,
452 p_task_template_group_info.palm_flag palm_flag,
453 p_task_template_group_info.wince_flag wince_flag,
454 p_task_template_group_info.laptop_flag laptop_flag,
455 p_task_template_group_info.device1_flag device1_flag,
456 p_task_template_group_info.device2_flag device2_flag,
457 p_task_template_group_info.device3_flag device3_flag,
458 p_task_template_group_info.parent_task_id, -- Added by SBARAT on 11/07/2005 for bug# 4376274
459 p_task_template_group_info.timezone_id timezone_id,
460 p_task_template_group_info.percentage_complete,
461 p_task_template_group_info.actual_effort,
462 p_task_template_group_info.actual_effort_uom,
463 p_task_template_group_info.reason_code,
464 p_task_template_group_info.bound_mode_code,
465 p_task_template_group_info.soft_bound_flag,
466 p_task_template_group_info.workflow_process_id,
467 p_task_template_group_info.costs,
468 p_task_template_group_info.currency_code,
469 p_task_template_group_info.date_selected,
470 p_task_template_group_info.show_on_calendar,
471 DECODE (
472 p_task_template_group_info.attribute1,
473 NULL, attribute1,
474 FND_API.G_MISS_CHAR, NULL,
475 p_task_template_group_info.attribute1
476 ) attribute1,
477 DECODE (
478 p_task_template_group_info.attribute2,
479 NULL, attribute2,
480 FND_API.G_MISS_CHAR, NULL,
481 p_task_template_group_info.attribute2
482 ) attribute2,
483 DECODE (
484 p_task_template_group_info.attribute3,
485 NULL, attribute3,
486 FND_API.G_MISS_CHAR, NULL,
487 p_task_template_group_info.attribute3
488 ) attribute3,
489 DECODE (
490 p_task_template_group_info.attribute4,
491 NULL, attribute4,
492 FND_API.G_MISS_CHAR, NULL,
493 p_task_template_group_info.attribute4
494 ) attribute4,
495 DECODE (
496 p_task_template_group_info.attribute5,
497 NULL, attribute5,
498 FND_API.G_MISS_CHAR, NULL,
499 p_task_template_group_info.attribute5
500 ) attribute5,
501 DECODE (
502 p_task_template_group_info.attribute6,
503 NULL, attribute6,
504 p_task_template_group_info.attribute6
505 ) attribute6,
506 DECODE (
507 p_task_template_group_info.attribute7,
508 NULL, attribute7,
509 FND_API.G_MISS_CHAR, NULL,
510 p_task_template_group_info.attribute7
511 ) attribute7,
512 DECODE (
513 p_task_template_group_info.attribute8,
514 NULL, attribute8,
515 FND_API.G_MISS_CHAR, NULL,
516 p_task_template_group_info.attribute8
517 ) attribute8,
518 DECODE (
519 p_task_template_group_info.attribute9,
520 NULL, attribute9,
521 FND_API.G_MISS_CHAR, NULL,
522 p_task_template_group_info.attribute9
523 ) attribute9,
524 DECODE (
525 p_task_template_group_info.attribute10,
526 NULL, attribute10,
527 FND_API.G_MISS_CHAR, NULL,
528 p_task_template_group_info.attribute10
529 ) attribute10,
530 DECODE (
531 p_task_template_group_info.attribute11,
532 NULL, attribute11,
533 FND_API.G_MISS_CHAR, NULL,
534 p_task_template_group_info.attribute11
535 ) attribute11,
536 DECODE (
537 p_task_template_group_info.attribute12,
538 NULL, attribute12,
539 FND_API.G_MISS_CHAR, NULL,
540 p_task_template_group_info.attribute12
541 ) attribute12,
542 DECODE (
543 p_task_template_group_info.attribute13,
544 NULL, attribute13,
545 FND_API.G_MISS_CHAR, NULL,
546 p_task_template_group_info.attribute13
547 ) attribute13,
548 DECODE (
549 p_task_template_group_info.attribute14,
550 NULL, attribute14,
551 FND_API.G_MISS_CHAR, NULL,
552 p_task_template_group_info.attribute14
553 ) attribute14,
554 DECODE (
555 p_task_template_group_info.attribute15,
556 NULL, attribute15,
557 FND_API.G_MISS_CHAR, NULL,
558 p_task_template_group_info.attribute15
559 ) attribute15,
560 DECODE (
561 p_task_template_group_info.attribute_category,
562 NULL, attribute_category,
563 FND_API.G_MISS_CHAR, NULL,
564 p_task_template_group_info.attribute_category
565 ) attribute_category,
566 decode (
567 task_confirmation_status,
568 null, 'N',
569 task_confirmation_status
570 ) task_confirmation_status
571 FROM jtf_task_templates_vl
572 WHERE task_group_id = p_task_template_group_info.task_template_group_id
573 AND nvl(deleted_flag,'N') <> 'Y'
574 ORDER BY task_template_id;
575
576 task_template_rec c_task_template%ROWTYPE;
577 l_task_id NUMBER;
578
579 -- Added by SBARAT on 06/01/2005 for bug# 4898434
580 Cursor C_Object_Version_Num(p_task_id NUMBER) Is
581 Select object_version_number From JTF_TASKS_VL
582 Where task_id=p_task_id;
583
584 l_object_version_number NUMBER;
585 i NUMBER := 1 ;
586 BEGIN
587 x_return_status := fnd_api.g_ret_sts_success;
588 FOR task_template_rec IN c_task_template
589 LOOP
590 jtf_tasks_pub.create_task (
591 p_api_version => 1.0,
592 p_init_msg_list => fnd_api.g_false,
593 p_commit => fnd_api.g_false,
594 p_task_name => task_template_rec.task_name,
595 p_task_type_id => task_template_rec.task_type_id,
596 p_description => task_template_rec.description,
597 p_task_status_id => task_template_rec.task_status_id,
598 p_task_priority_id => task_template_rec.task_priority_id,
599 p_owner_type_code => task_template_rec.owner_type_code,
600 p_owner_id => task_template_rec.owner_id,
601 p_owner_territory_id => task_template_rec.owner_territory_id, -- Added by SBARAT on 28/10/2005 for bug# 4597321
602 p_duration => task_template_rec.duration,
603 p_duration_uom => task_template_rec.duration_uom,
604 p_planned_effort => task_template_rec.planned_effort,
605 p_planned_effort_uom => task_template_rec.planned_effort_uom,
606 p_private_flag => task_template_rec.private_flag,
607 p_publish_flag => task_template_rec.publish_flag,
608 p_restrict_closure_flag => task_template_rec.restrict_closure_flag,
609 p_multi_booked_flag => task_template_rec.multi_booked_flag,
610 p_milestone_flag => task_template_rec.milestone_flag,
611 p_holiday_flag => task_template_rec.holiday_flag,
612 p_billable_flag => task_template_rec.billable_flag,
613 p_notification_flag => task_template_rec.notification_flag,
614 p_notification_period => task_template_rec.notification_period,
615 p_notification_period_uom => task_template_rec.notification_period_uom,
616 p_source_object_type_code => p_source_object_type_code,
617 p_source_object_id => task_template_rec.source_object_id,
618 p_source_object_name => task_template_rec.source_object_name,
619 p_alarm_start => task_template_rec.alarm_start,
620 p_alarm_start_uom => task_template_rec.alarm_start_uom,
621 p_alarm_on => task_template_rec.alarm_on,
622 p_alarm_count => task_template_rec.alarm_count,
623 p_alarm_interval => task_template_rec.alarm_interval,
624 p_alarm_interval_uom => task_template_rec.alarm_interval_uom,
625 x_return_status => x_return_status,
626 x_msg_count => x_msg_count,
627 x_msg_data => x_msg_data,
628 x_task_id => l_task_id,
629 p_cust_account_id => task_template_rec.cust_account_id,
630 p_customer_id => task_template_rec.customer_id,
631 p_address_id => task_template_rec.address_id,
632 p_planned_start_date => task_template_rec.planned_start_date,
633 p_planned_end_date => task_template_rec.planned_end_date,
634 p_scheduled_start_date => task_template_rec.scheduled_start_date,
635 p_scheduled_end_date => task_template_rec.scheduled_end_date,
636 p_actual_start_date => task_template_rec.actual_start_date,
637 p_actual_end_date => task_template_rec.actual_end_date,
638 p_parent_task_id=> task_template_rec.parent_task_id, -- Added by SBARAT on 11/07/2005 for bug# 4376274
639 p_palm_flag => task_template_rec.palm_flag,
640 p_wince_flag => task_template_rec.wince_flag,
641 p_laptop_flag => task_template_rec.laptop_flag,
642 p_device1_flag => task_template_rec.device1_flag,
643 p_device2_flag => task_template_rec.device2_flag,
644 p_device3_flag => task_template_rec.device3_flag,
645 p_timezone_id => task_template_rec.timezone_id,
646 p_attribute1 => task_template_rec.attribute1,
647 p_attribute2 => task_template_rec.attribute2,
648 p_attribute3 => task_template_rec.attribute3,
649 p_attribute4 => task_template_rec.attribute4,
650 p_attribute5 => task_template_rec.attribute5,
651 p_attribute6 => task_template_rec.attribute6,
652 p_attribute7 => task_template_rec.attribute7,
653 p_attribute8 => task_template_rec.attribute8,
654 p_attribute9 => task_template_rec.attribute9,
655 p_attribute10 => task_template_rec.attribute10,
656 p_attribute11 => task_template_rec.attribute11,
657 p_attribute12 => task_template_rec.attribute12,
658 p_attribute13 => task_template_rec.attribute13,
659 p_attribute14 => task_template_rec.attribute14,
660 p_attribute15 => task_template_rec.attribute15,
661 p_attribute_category => task_template_rec.attribute_category,
662 p_date_selected => task_template_rec.date_selected,
663 p_show_on_calendar => task_template_rec.show_on_calendar,
664 p_template_id => task_template_rec.task_template_id,
665 p_template_group_id => p_task_template_group_info.task_template_group_id,
666 p_enable_workflow => fnd_profile.value('JTF_TASK_ENABLE_WORKFLOW'),
667 p_abort_workflow => fnd_profile.value('JTF_TASK_ABORT_PREV_WF'),
668 p_task_split_flag => NULL,
669 p_reference_flag => NULL,
670 p_child_position => NULL,
671 p_child_sequence_num => NULL,
672 p_location_id => p_task_template_group_info.location_id
673 );
674
675 /******* Start of modification by SBARAT on 06/01/2005 for bug# 4898434 *******/
676
677 l_object_version_number := NULL;
678
679 Open C_Object_Version_Num(l_task_id);
680 Fetch C_Object_Version_Num Into l_object_version_number;
681 Close C_Object_Version_Num;
682
683 IF l_object_version_number IS NULL
684 THEN
685 l_object_version_number := 1 ;
686 END IF;
687
688 /******* End of modification by SBARAT on 06/01/2005 for bug# 4898434 *******/
689
690 jtf_task_confirmation_pub.set_counter_status(
691 p_api_version => 1.0,
692 p_init_msg_list => fnd_api.g_false,
693 p_commit => fnd_api.g_false,
694 x_return_status => x_return_status,
695 x_msg_count => x_msg_count,
696 x_msg_data => x_msg_data,
697 p_object_version_number => l_object_version_number,
698 p_task_id => l_task_id,
699 p_task_confirmation_status => task_template_rec.task_confirmation_status,
700 p_task_confirmation_counter => 0);
701
702 x_task_details_tbl (i).task_id := l_task_id;
703 x_task_details_tbl (i).task_template_id := task_template_rec.task_template_id;
704 i := i + 1;
705 END LOOP;
706 END;
707
708 PROCEDURE validate_create_task_resource (
709 p_task_template_id IN NUMBER,
710 p_task_id IN NUMBER,
711 x_resource_req_id OUT NOCOPY jtf_task_rsc_reqs.resource_req_id%TYPE,
712 x_msg_count OUT NOCOPY NUMBER,
713 x_msg_data OUT NOCOPY VARCHAR2,
714 x_return_status OUT NOCOPY VARCHAR2
715 )
716 IS
717 --- Resource for a template
718 CURSOR c_task_resource (
719 p_task_template_id IN NUMBER
720 )
721 IS
722 SELECT resource_type_code,
723 required_units,
724 task_type_id,
725 task_id,
726 enabled_flag,
727 attribute1,
728 attribute2,
729 attribute3,
730 attribute4,
731 attribute5,
732 attribute6,
733 attribute7,
734 attribute8,
735 attribute9,
736 attribute10,
737 attribute11,
738 attribute12,
739 attribute13,
740 attribute14,
741 attribute15,
742 attribute_category
743 FROM jtf_task_rsc_reqs
744 WHERE task_id = p_task_template_id;
745
746 l_task_resource_rec c_task_resource%ROWTYPE;
747 BEGIN
748 x_return_status := fnd_api.g_ret_sts_success;
749
750 -- Bug 3342422 : there might be more than one resource in
751 -- template task needs to be created.
752 -- Comment out the following lines, add a for
753 -- loop instead of.
754 --
755 -- OPEN c_task_resource (p_task_template_id);
756 -- FETCH c_task_resource INTO l_task_resource_rec;
757
758 -- IF c_task_resource%FOUND
759 -- THEN
760
761 -- Add for loop for fixing bug 3342422
762
763 FOR l_task_resource_rec in c_task_resource(p_task_template_id)
764 LOOP
765 jtf_task_resources_pvt.create_task_rsrc_req (
766 p_api_version => 1.0,
767 p_init_msg_list => fnd_api.g_false,
768 p_commit => fnd_api.g_false,
769 p_task_id => p_task_id,
770 p_task_number => NULL,
771 p_task_type_id => l_task_resource_rec.task_type_id,
772 p_task_template_id => l_task_resource_rec.task_id,
773 p_resource_type_code => l_task_resource_rec.resource_type_code,
774 p_required_units => l_task_resource_rec.required_units,
775 p_enabled_flag => l_task_resource_rec.enabled_flag,
776 x_return_status => x_return_status,
777 x_msg_count => x_msg_count,
778 x_msg_data => x_msg_data,
779 x_resource_req_id => x_resource_req_id,
780 p_attribute1 => l_task_resource_rec.attribute1,
781 p_attribute2 => l_task_resource_rec.attribute2,
782 p_attribute3 => l_task_resource_rec.attribute3,
783 p_attribute4 => l_task_resource_rec.attribute4,
784 p_attribute5 => l_task_resource_rec.attribute5,
785 p_attribute6 => l_task_resource_rec.attribute6,
786 p_attribute7 => l_task_resource_rec.attribute7,
787 p_attribute8 => l_task_resource_rec.attribute8,
788 p_attribute9 => l_task_resource_rec.attribute9,
789 p_attribute10 => l_task_resource_rec.attribute10,
790 p_attribute11 => l_task_resource_rec.attribute11,
791 p_attribute12 => l_task_resource_rec.attribute12,
792 p_attribute13 => l_task_resource_rec.attribute13,
793 p_attribute14 => l_task_resource_rec.attribute14,
794 p_attribute15 => l_task_resource_rec.attribute15,
795 p_attribute_category => l_task_resource_rec.attribute_category
796 );
797
798 -- END IF;
799 -- CLOSE c_task_resource;
800
801 END LOOP;
802 END;
803
804 PROCEDURE validate_create_recur (
805 p_recurrence_rule_id IN NUMBER,
806 p_task_id IN NUMBER,
807 x_reccurence_generated OUT NOCOPY NUMBER,
808 x_msg_count OUT NOCOPY NUMBER,
809 x_msg_data OUT NOCOPY VARCHAR2,
810 x_return_status OUT NOCOPY VARCHAR2
811 )
812 IS
813 CURSOR c_task_recurs (
814 p_recurrence_rule_id IN NUMBER
815 )
816 IS
817 SELECT occurs_which,
818 day_of_week,
819 date_of_month,
820 occurs_month,
821 occurs_uom,
822 occurs_every,
823 occurs_number,
824 start_date_active,
825 end_date_active
826 FROM jtf_task_recur_rules
827 WHERE recurrence_rule_id = p_recurrence_rule_id;
828
829 l_task_recur_rec c_task_recurs%ROWTYPE;
830 l_task_rec jtf_task_recurrences_pub.task_details_rec;
831 l_recurrence_rule_id NUMBER;
832 BEGIN
833 x_return_status := fnd_api.g_ret_sts_success;
834 IF p_recurrence_rule_id IS NOT NULL
835 THEN
836 OPEN c_task_recurs (p_recurrence_rule_id);
837 FETCH c_task_recurs INTO l_task_recur_rec;
838
839 IF c_task_recurs%NOTFOUND
840 THEN
841 fnd_message.set_name ('JTF', 'JTF_TASK_INVALID_RECUR_RULE');
842 fnd_message.set_token ('P_TASK_RECURRENCE_RULE_ID', p_recurrence_rule_id);
843 fnd_msg_pub.add;
844 RAISE fnd_api.g_exc_unexpected_error;
845 END IF;
846
847 jtf_task_recurrences_pub.create_task_recurrence (
848 p_api_version => 1.0,
849 p_init_msg_list => fnd_api.g_false,
850 p_commit => fnd_api.g_false,
851 p_task_id => p_task_id,
852 p_occurs_which => l_task_recur_rec.occurs_which,
853 p_template_flag => jtf_task_utl.g_no,
854 p_day_of_week => l_task_recur_rec.day_of_week,
855 p_date_of_month => l_task_recur_rec.date_of_month,
856 p_occurs_month => l_task_recur_rec.occurs_month,
857 p_occurs_uom => l_task_recur_rec.occurs_uom,
858 p_occurs_every => l_task_recur_rec.occurs_every,
859 p_occurs_number => l_task_recur_rec.occurs_number,
860 p_start_date_active => l_task_recur_rec.start_date_active,
861 p_end_date_active => l_task_recur_rec.end_date_active,
862 x_return_status => x_return_status,
863 x_msg_count => x_msg_count,
864 x_msg_data => x_msg_data,
865 x_recurrence_rule_id => l_recurrence_rule_id,
866 x_task_rec => l_task_rec,
867 x_reccurences_generated => x_reccurence_generated
868 );
869 CLOSE c_task_recurs;
870 ELSE
871 fnd_message.set_name ('JTF', 'JTF_TASK_INVALID_RECUR_RULE');
872 fnd_message.set_token ('P_TASK_RECURRENCE_RULE_ID', p_recurrence_rule_id);
873 fnd_msg_pub.add;
874 RAISE fnd_api.g_exc_unexpected_error;
875 END IF;
876 END;
877
878 PROCEDURE create_task_phones (
879 p_task_contact_points_tbl IN jtf_task_inst_templates_pub.task_contact_points_tbl,
880 p_task_template_id IN NUMBER,
881 p_task_contact_id IN NUMBER,
882 x_msg_count OUT NOCOPY NUMBER,
883 x_msg_data OUT NOCOPY VARCHAR2,
884 x_return_status OUT NOCOPY VARCHAR2
885 )
886 IS
887 l_task_phone_id NUMBER;
888 BEGIN
889 x_return_status := fnd_api.g_ret_sts_success;
890
891 FOR i IN 1 .. p_task_contact_points_tbl.COUNT
892 LOOP
893 IF ( p_task_contact_points_tbl (i).task_template_id = p_task_template_id
894 AND x_return_status = fnd_api.g_ret_sts_success)
895 THEN
896 jtf_task_phones_pub.create_task_phones (
897 p_api_version => 1.0,
898 p_init_msg_list => fnd_api.g_false,
899 p_commit => fnd_api.g_false,
900 p_task_contact_id => p_task_contact_id,
901 p_phone_id => p_task_contact_points_tbl (i).phone_id,
902 p_primary_flag => p_task_contact_points_tbl (i).primary_key,
903 p_owner_table_name => 'JTF_TASKS_B',
904 x_return_status => x_return_status,
905 x_msg_count => x_msg_count,
906 x_msg_data => x_msg_data,
907 x_task_phone_id => l_task_phone_id
908 );
909 END IF;
910 END LOOP;
911 END;
912 END;