DBA Data[Home] [Help]

PACKAGE BODY: APPS.JTF_TASK_ASSIGNMENTS_PVT

Source


1 PACKAGE BODY jtf_task_assignments_pvt AS
2 /* $Header: jtfvtkab.pls 120.3.12000000.2 2007/07/19 08:45:38 lokumar ship $ */
3 
4    g_free_busy_type CONSTANT jtf_task_all_assignments.free_busy_type%TYPE	:= 'FREE';
5 
6    -- Internal procedures used for implicit booking
7    -- It populates booking date by using task calendar date
8    --
9    -- !!! NOTE: any change in this procedure must be in sync with !!!
10    -- !!!       migration script cacbkgmg.sql                     !!!
11    --
12    PROCEDURE populate_owner_booking_dates
13    (
14       p_calendar_start_date     IN	DATE,
15       p_calendar_end_date       IN	DATE,
16       p_actual_travel_duration  IN  NUMBER,
17       p_actual_travel_duration_uom   IN VARCHAR2,
18       p_planned_effort          IN  NUMBER,
19       p_planned_effort_uom      IN   VARCHAR2,
20       x_booking_start_date      OUT NOCOPY DATE,
21       x_booking_end_date        OUT NOCOPY DATE
22    )
23    IS
24    BEGIN
25        x_booking_start_date := NULL;
26        x_booking_end_date   := NULL;
27 
28        IF (p_calendar_start_date IS NULL) OR
29           (p_calendar_start_date > p_calendar_end_date) OR
30           (p_calendar_end_date IS NULL AND NVL(p_planned_effort, -1) < 0)
31        THEN
32           RETURN;
33        END IF;
34 
35        x_booking_start_date := jtf_task_utl_ext.adjust_date
36        (
37           p_calendar_start_date,
38           p_actual_travel_duration * (-1),
39           p_actual_travel_duration_uom
40        );
41 
42 
43        IF (p_calendar_start_date <= p_calendar_end_date)
44        THEN
45            x_booking_end_date := p_calendar_end_date;
46        ELSE
47            x_booking_end_date := jtf_task_utl_ext.adjust_date
48            (
49               p_calendar_start_date,
50               p_planned_effort,
51               p_planned_effort_uom
52            );
53        END IF;
54    END populate_owner_booking_dates;
55 
56    -- Internal procedures used for implicit booking
57    -- It populates booking date by using actual assignment date or
58    -- task calendar date
59    --
60    -- !!! NOTE: any change in this procedure must be in sync with !!!
61    -- !!!       migration script cacbkgmg.sql                     !!!
62    --
63    PROCEDURE populate_booking_dates
64    (
65       p_calendar_start_date     IN	DATE,
66       p_calendar_end_date       IN	DATE,
67       p_actual_start_date       IN	DATE,
68       p_actual_end_date         IN	DATE,
69       p_actual_travel_duration  IN  NUMBER,
70       p_actual_travel_duration_uom   IN VARCHAR2,
71       p_planned_effort          IN  NUMBER,
72       p_planned_effort_uom      IN  VARCHAR2,
73       p_actual_effort           IN  NUMBER,
74       p_actual_effort_uom       IN  VARCHAR2,
75       x_booking_start_date      OUT NOCOPY DATE,
76       x_booking_end_date        OUT NOCOPY DATE
77     )
78     IS
79     BEGIN
80         x_booking_start_date := NULL;
81         x_booking_end_date   := NULL;
82 
83         IF (p_actual_start_date IS NULL) OR
84            (p_actual_start_date > p_actual_end_date) OR
85            (p_actual_end_date IS NULL AND
86             NVL(p_actual_effort, NVL(p_planned_effort, -1)) < 0)
87 
88         THEN
89             -- Populate the booking dates as for owner .
90             populate_owner_booking_dates
91             (
92               p_calendar_start_date     => p_calendar_start_date,
93               p_calendar_end_date       => p_calendar_end_date,
94               p_actual_travel_duration  => p_actual_travel_duration,
95               p_actual_travel_duration_uom => p_actual_travel_duration_uom,
96               p_planned_effort          => p_planned_effort,
97               p_planned_effort_uom      => p_planned_effort_uom,
98               x_booking_start_date      => x_booking_start_date,
99               x_booking_end_date        => x_booking_end_date
100             );
101             RETURN;
102         END IF;
103 
104         x_booking_start_date := jtf_task_utl_ext.adjust_date
105         (
106           p_actual_start_date,
107           p_actual_travel_duration * (-1),
108           p_actual_travel_duration_uom
109         );
110 
111 
112         IF  p_actual_start_date <= p_actual_end_date
113         THEN
114             x_booking_end_date   := p_actual_end_date;
115         ELSIF p_actual_effort >= 0
116         THEN
117            x_booking_end_date := jtf_task_utl_ext.adjust_date
118            (
119               p_actual_start_date,
120               p_actual_effort,
121               p_actual_effort_uom
122            );
123         ELSE
124            x_booking_end_date := jtf_task_utl_ext.adjust_date
125            (
126               p_actual_start_date,
127               p_planned_effort,
128               p_planned_effort_uom
129            );
130         END IF;
131     END populate_booking_dates;
132 
133     -- This procedure updates the free-busy type for an assignee
134     -- Should be call only for tasks for a new assignemnt and
135     -- whenever the assignemnt status is changed
136     --
137     -- !!! NOTE: any change in this procedure must be in sync with !!!
138     -- !!!       migration script cacbkgmg.sql                     !!!
139     --
140     PROCEDURE update_free_busy_type
141     (
142       p_assignment_status_id     IN NUMBER,
143       x_free_busy_type           IN OUT NOCOPY VARCHAR2
144     )
145     IS
146     BEGIN
147        select decode(cancelled_flag, 'Y', 'FREE',
148               decode(rejected_flag,  'Y', 'FREE',
149               decode(working_flag,   'Y', 'BUSY',
150               decode(accepted_flag,  'Y', 'BUSY',
151               decode(assigned_flag,  'Y', 'BUSY', x_free_busy_type )))))
152          into x_free_busy_type
153          from jtf_task_statuses_b
154         where task_status_id = p_assignment_status_id;
155     END update_free_busy_type;
156 
157    PROCEDURE create_task_assignment (
158       p_api_version		     IN       NUMBER,
159       p_init_msg_list		     IN       VARCHAR2 DEFAULT fnd_api.g_false,
160       p_commit			     IN       VARCHAR2 DEFAULT fnd_api.g_false,
161       p_task_assignment_id	     IN       NUMBER DEFAULT NULL,
162       p_task_id 		     IN       NUMBER DEFAULT NULL,
163       p_resource_type_code	     IN       VARCHAR2,
164       p_resource_id		     IN       NUMBER,
165       p_actual_effort		     IN       NUMBER DEFAULT NULL,
166       p_actual_effort_uom	     IN       VARCHAR2 DEFAULT NULL,
167       p_schedule_flag		     IN       VARCHAR2 DEFAULT NULL,
168       p_alarm_type_code 	     IN       VARCHAR2 DEFAULT NULL,
169       p_alarm_contact		     IN       VARCHAR2 DEFAULT NULL,
170       p_sched_travel_distance	     IN       NUMBER DEFAULT NULL,
171       p_sched_travel_duration	     IN       NUMBER DEFAULT NULL,
172       p_sched_travel_duration_uom    IN       VARCHAR2 DEFAULT NULL,
173       p_actual_travel_distance	     IN       NUMBER DEFAULT NULL,
174       p_actual_travel_duration	     IN       NUMBER DEFAULT NULL,
175       p_actual_travel_duration_uom   IN       VARCHAR2 DEFAULT NULL,
176       p_actual_start_date	     IN       DATE DEFAULT NULL,
177       p_actual_end_date 	     IN       DATE DEFAULT NULL,
178       p_palm_flag		     IN       VARCHAR2 DEFAULT NULL,
179       p_wince_flag		     IN       VARCHAR2 DEFAULT NULL,
180       p_laptop_flag		     IN       VARCHAR2 DEFAULT NULL,
181       p_device1_flag		     IN       VARCHAR2 DEFAULT NULL,
182       p_device2_flag		     IN       VARCHAR2 DEFAULT NULL,
183       p_device3_flag		     IN       VARCHAR2 DEFAULT NULL,
184       p_resource_territory_id	     IN       NUMBER DEFAULT NULL,
185       p_assignment_status_id	     IN       NUMBER,
186       p_shift_construct_id	     IN       NUMBER DEFAULT NULL,
187       x_return_status		     OUT NOCOPY      VARCHAR2,
188       x_msg_count		     OUT NOCOPY      NUMBER,
189       x_msg_data		     OUT NOCOPY      VARCHAR2,
190       x_task_assignment_id	     OUT NOCOPY      NUMBER,
191       p_attribute1		     IN       VARCHAR2 DEFAULT NULL,
192       p_attribute2		     IN       VARCHAR2 DEFAULT NULL,
193       p_attribute3		     IN       VARCHAR2 DEFAULT NULL,
194       p_attribute4		     IN       VARCHAR2 DEFAULT NULL,
195       p_attribute5		     IN       VARCHAR2 DEFAULT NULL,
196       p_attribute6		     IN       VARCHAR2 DEFAULT NULL,
197       p_attribute7		     IN       VARCHAR2 DEFAULT NULL,
198       p_attribute8		     IN       VARCHAR2 DEFAULT NULL,
199       p_attribute9		     IN       VARCHAR2 DEFAULT NULL,
200       p_attribute10		     IN       VARCHAR2 DEFAULT NULL,
201       p_attribute11		     IN       VARCHAR2 DEFAULT NULL,
202       p_attribute12		     IN       VARCHAR2 DEFAULT NULL,
203       p_attribute13		     IN       VARCHAR2 DEFAULT NULL,
204       p_attribute14		     IN       VARCHAR2 DEFAULT NULL,
205       p_attribute15		     IN       VARCHAR2 DEFAULT NULL,
206       p_attribute_category	     IN       VARCHAR2 DEFAULT NULL,
207       p_assignee_role		     IN       VARCHAR2 DEFAULT 'ASSIGNEE',
208       p_show_on_calendar	     IN       VARCHAR2 DEFAULT jtf_task_utl.g_yes_char,
209       p_category_id		     IN       NUMBER DEFAULT NULL,
210       p_enable_workflow 	     IN       VARCHAR2,
211       p_abort_workflow		     IN       VARCHAR2,
212       p_add_option		     IN       VARCHAR2,
213       p_free_busy_type		     IN       VARCHAR2,
214       p_object_capacity_id           IN       NUMBER
215    )
216    IS
217       l_api_version	CONSTANT NUMBER
218 	       := 1.0;
219       l_api_name	CONSTANT VARCHAR(30)
220 	       := 'CREATE_TASK_ASSIGNMENTS';
221       l_return_status		 VARCHAR2(1)
222 	       := fnd_api.g_ret_sts_success;
223       l_task_assignment_id	 jtf_task_all_assignments.task_assignment_id%TYPE;
224       l_task_id 		 jtf_tasks_b.task_id%TYPE
225 	       := p_task_id;
226       l_resource_type_code	 jtf_task_all_assignments.resource_type_code%TYPE
227 	       := p_resource_type_code;
228       l_resource_id		 NUMBER
229 	       := p_resource_id;
230       l_act_eff 		 NUMBER
231 	       := p_actual_effort;
232       l_act_eff_uom		 VARCHAR2(3)
233 	       := p_actual_effort_uom;
234       l_schedule_flag		 VARCHAR2(1)
235 	       := p_schedule_flag;
236       l_alarm_type_code 	 jtf_task_all_assignments.alarm_type_code%TYPE
237 	       := p_alarm_type_code;
238       l_alarm_contact		 jtf_task_all_assignments.alarm_contact%TYPE
239 	       := p_alarm_contact;
240       l_sched_travel_distance	 jtf_task_all_assignments.sched_travel_distance%TYPE
241 	       := p_sched_travel_distance;
242       l_sched_travel_duration	 jtf_task_all_assignments.sched_travel_duration%TYPE
243 	       := p_sched_travel_duration;
244       l_sched_travel_dur_uom	 jtf_task_all_assignments.sched_travel_duration_uom%TYPE
245 	       := p_sched_travel_duration_uom;
246       l_actual_travel_distance	 jtf_task_all_assignments.actual_travel_distance%TYPE
247 	       := p_actual_travel_distance;
248       l_actual_travel_duration	 jtf_task_all_assignments.actual_travel_duration%TYPE
249 	       := p_actual_travel_duration;
250       l_actual_travel_dur_uom	 jtf_task_all_assignments.actual_travel_duration_uom%TYPE
251 	       := p_actual_travel_duration_uom;
252       l_actual_start_date	 jtf_task_all_assignments.actual_start_date%TYPE
253 	       := p_actual_start_date;
254       l_actual_end_date 	 jtf_task_all_assignments.actual_end_date%TYPE
255 	       := p_actual_end_date;
256       l_palm_flag		 jtf_task_all_assignments.palm_flag%TYPE
257 	       := p_palm_flag;
258       l_wince_flag		 jtf_task_all_assignments.wince_flag%TYPE
259 	       := p_wince_flag;
260       l_laptop_flag		 jtf_task_all_assignments.laptop_flag%TYPE
261 	       := p_laptop_flag;
262       l_device1_flag		 jtf_task_all_assignments.device1_flag%TYPE
263 	       := p_device1_flag;
264       l_device2_flag		 jtf_task_all_assignments.device2_flag%TYPE
265 	       := p_device2_flag;
266       l_device3_flag		 jtf_task_all_assignments.device3_flag%TYPE
267 	       := p_device3_flag;
268       l_msg_data		 VARCHAR2(2000);
269       l_msg_count		 NUMBER;
270       x 			 CHAR;
271       l_rowid			 ROWID;
272       l_resource_territory_id	 jtf_task_all_assignments.resource_territory_id%TYPE
273 	       := p_resource_territory_id;
274       l_assignment_status_id	 jtf_task_all_assignments.assignment_status_id%TYPE
275 	       := p_assignment_status_id;
276       l_shift_construct_id	 jtf_task_all_assignments.shift_construct_id%TYPE
277 	       := p_shift_construct_id;
278       l_assignee_role		 jtf_task_all_assignments.assignee_role%TYPE
279 	       := p_assignee_role;
280       l_show_on_calendar	 jtf_task_all_assignments.show_on_calendar%TYPE
281 	       := p_show_on_calendar;
282       l_category_id		 jtf_task_all_assignments.category_id%TYPE
283 	       := p_category_id;
284       l_enable_workflow 	 VARCHAR2(1)	:= p_enable_workflow;
285       l_abort_workflow		 VARCHAR2(1)	:= p_abort_workflow;
286 
287       -- Simplex Changes ..
288       l_booking_start_date jtf_task_all_assignments.booking_start_date%TYPE;
289       l_booking_end_date 	 jtf_task_all_assignments.booking_end_date%TYPE;
290 	    l_free_busy_type   	 jtf_task_all_assignments.free_busy_type%TYPE
291 	                         := p_free_busy_type;
292 
293       CURSOR ra_cur1 (l_rowid IN ROWID)
294       IS
295 	 SELECT 1
296 	   FROM jtf_task_all_assignments
297 	  WHERE ROWID = l_rowid;
298 
299       ------------------------------------------
300       -- For XP
301       ------------------------------------------
302       CURSOR c_task (b_task_id NUMBER)IS
303       SELECT source_object_type_code
304 	   , recurrence_rule_id
305 	   , calendar_start_date
306        , calendar_end_date
307        , planned_effort
308        , planned_effort_uom
309        , entity
313 
310        , open_flag
311 	FROM jtf_tasks_b
312        WHERE task_id = b_task_id;
314       rec_task	c_task%ROWTYPE;
315 
316       l_add_assignee_rec  jtf_task_repeat_assignment_pvt.add_assignee_rec;
317 
318        -- Business Event System Enhancement # 2391065
319       l_assignment_rec	  jtf_task_assignments_pvt.task_assignments_rec ;
320       x_event_return_status varchar2(100);
321       ------------------------------------------
322    BEGIN
323       SAVEPOINT create_task_assign_pvt;
324       x_return_status := fnd_api.g_ret_sts_success;
325 
326       ------------------------------------------
327       -- For XP
328       ------------------------------------------
329       OPEN c_task (l_task_id);
330       FETCH c_task INTO rec_task;
331       IF c_task%NOTFOUND
332       THEN
333 	 CLOSE c_task;
334 	 fnd_message.set_name ('JTF', 'JTF_TASK_INVALID_TASK_ID');
335 	 fnd_message.set_token ('P_TASK_ID', l_task_id);
336 	 fnd_msg_pub.add;
337 	 x_return_status := fnd_api.g_ret_sts_unexp_error;
338 	 RAISE fnd_api.g_exc_unexpected_error;
339       END IF;
340       CLOSE c_task;
341 
342       IF rec_task.source_object_type_code = 'APPOINTMENT' AND
343 	 rec_task.recurrence_rule_id IS NOT NULL
344       THEN
345 	 IF p_add_option = JTF_TASK_REPEAT_APPT_PVT.G_FUTURE OR
346 	    p_add_option = JTF_TASK_REPEAT_APPT_PVT.G_ALL OR
347 	    p_add_option = JTF_TASK_REPEAT_APPT_PVT.G_ONE
348 	 THEN
349 	     l_add_assignee_rec.recurrence_rule_id   := rec_task.recurrence_rule_id;
350 	     l_add_assignee_rec.task_id 	     := l_task_id;
351 	     l_add_assignee_rec.calendar_start_date  := rec_task.calendar_start_date;
352 	     l_add_assignee_rec.resource_type_code   := p_resource_type_code;
353 	     l_add_assignee_rec.resource_id	     := p_resource_id;
354 	     l_add_assignee_rec.free_busy_type       := p_free_busy_type;
355 	     l_add_assignee_rec.assignment_status_id := p_assignment_status_id;
356 	     l_add_assignee_rec.add_option	     := p_add_option;
357 	     l_add_assignee_rec.enable_workflow      := p_enable_workflow;
358 	     l_add_assignee_rec.abort_workflow	     := p_abort_workflow;
359 
360 	     jtf_task_repeat_assignment_pvt.add_assignee(
361 		p_api_version	     => 1.0,
362 		p_init_msg_list      => fnd_api.g_false,
363 		p_commit	     => fnd_api.g_false,
364 		p_add_assignee_rec   => l_add_assignee_rec,
365 		x_return_status      => x_return_status,
366 		x_msg_count	     => x_msg_count,
367 		x_msg_data	     => x_msg_data,
368 		x_task_assignment_id => x_task_assignment_id
369 	     );
370 
371 	     RETURN;
372 	  ELSIF p_add_option IS NOT NULL AND
373 		p_add_option <> JTF_TASK_REPEAT_APPT_PVT.G_SKIP
374 	  THEN
375 	     fnd_message.set_name ('JTF', 'JTF_TASK_INVALID_FLAG');
376 	     fnd_message.set_token ('P_FLAG_NAME', 'The parameter p_add_option ');
377 	     fnd_msg_pub.add;
378 
379 	     x_return_status := fnd_api.g_ret_sts_unexp_error;
380 	     RAISE fnd_api.g_exc_unexpected_error;
381 	  END IF;
382       END IF;
383       ------------------------------------------
384 
385       IF p_task_assignment_id IS NOT NULL
386       THEN
387 	 IF p_task_assignment_id > jtf_task_utl_ext.get_last_number('JTF_TASK_ASSIGNMENTS_S') and -- Enh# 2734020
388 	    p_task_assignment_id < 1e+12
389 	 THEN
390 	    fnd_message.set_name ('JTF', 'JTF_TASK_OUT_OF_RANGE');
391 	    fnd_msg_pub.add;
392 	    x_return_status := fnd_api.g_ret_sts_unexp_error;
393 	    RAISE fnd_api.g_exc_unexpected_error;
394 	 ELSE
395 	    l_task_assignment_id := p_task_assignment_id;
396 	 END IF;
397       ELSE
398 	 SELECT jtf_task_assignments_s.nextval
399 	   INTO l_task_assignment_id
400 	   FROM dual;
401       END IF;
402 
403      -- Validate the value in L_RESOURCE_TYPE_CODE
404       IF    l_resource_type_code = 'RS_TEAM'
405 	 OR l_resource_type_code = 'RS_GROUP'
406       THEN
407 	 l_category_id := NULL;
408       END IF;
409 
410       -- Validate the value in ASSIGNEE_ROLE
411     IF NOT jtf_task_utl.validate_lookup(
412        'JTF_TASK_ASSIGNEE_ROLES',
413        NVL (l_assignee_role, 'ASSIGNEE'),
414        'assignment assignee role ( JTF_TK_ASSOGNEE_ROLE )')
415     THEN
416 	      x_return_status := fnd_api.g_ret_sts_unexp_error;
417 	      RAISE fnd_api.g_exc_unexpected_error;
418     END IF;
419 
420 
421     -- Implicit booking for tasks
422     populate_booking_dates
423     (
424        p_calendar_start_date    =>  rec_task.calendar_start_date,
425        p_calendar_end_date      =>  rec_task.calendar_end_date,
426        p_actual_start_date      =>  l_actual_start_date,
427        p_actual_end_date        =>  l_actual_end_date,
428        p_actual_travel_duration =>  l_actual_travel_duration,
429        p_actual_travel_duration_uom  =>  l_actual_travel_dur_uom,
430        p_planned_effort         =>  rec_task.planned_effort,
431        p_planned_effort_uom     =>  rec_task.planned_effort_uom,
432        p_actual_effort          =>  l_act_eff,
433        p_actual_effort_uom      =>  l_act_eff_uom,
434        x_booking_start_date     =>  l_booking_start_date,
435        x_booking_end_date       =>  l_booking_end_date
436     );
437 
438 
439     IF l_free_busy_type IS NULL
440     THEN
441        l_free_busy_type := g_free_busy_type;
442        IF rec_task.entity = 'TASK' AND
446            IF p_assignee_role = 'OWNER' AND p_show_on_calendar = 'Y'
443           l_booking_start_date IS NOT NULL AND
444           l_booking_end_date IS NOT NULL
445        THEN
447            THEN
448                  l_free_busy_type := 'BUSY';
449            ELSIF p_assignee_role = 'ASSIGNEE'
450            THEN
451                update_free_busy_type
452                (
453                 p_assignment_status_id => l_assignment_status_id,
454                 x_free_busy_type       => l_free_busy_type
455                );
456            END IF;
457        END IF;
458     END IF;
459 
460       jtf_task_assignments_pkg.insert_row (
461 	 x_rowid => l_rowid,
462 	 x_task_assignment_id => l_task_assignment_id,
463 	 x_sched_travel_duration_uom => l_sched_travel_dur_uom,
464 	 x_actual_travel_distance => l_actual_travel_distance,
465 	 x_actual_travel_duration => l_actual_travel_duration,
466 	 x_actual_travel_duration_uom => l_actual_travel_dur_uom,
467 	 x_actual_start_date => l_actual_start_date,
468 	 x_actual_end_date => l_actual_end_date,
469 	 x_palm_flag => l_palm_flag,
470 	 x_wince_flag => l_wince_flag,
471 	 x_laptop_flag => l_laptop_flag,
472 	 x_device1_flag => l_device1_flag,
473 	 x_device2_flag => l_device2_flag,
474 	 x_device3_flag => l_device3_flag,
475 	 x_attribute1 => p_attribute1,
476 	 x_attribute2 => p_attribute2,
477 	 x_attribute3 => p_attribute3,
478 	 x_attribute4 => p_attribute4,
479 	 x_attribute5 => p_attribute5,
480 	 x_attribute6 => p_attribute6,
481 	 x_attribute7 => p_attribute7,
482 	 x_attribute8 => p_attribute8,
483 	 x_attribute9 => p_attribute9,
484 	 x_attribute10 => p_attribute10,
485 	 x_attribute11 => p_attribute11,
486 	 x_attribute12 => p_attribute12,
487 	 x_attribute13 => p_attribute13,
488 	 x_attribute14 => p_attribute14,
489 	 x_attribute15 => p_attribute15,
490 	 x_attribute_category => p_attribute_category,
491 	 x_task_id => l_task_id,
492 	 x_resource_id => l_resource_id,
493 	 x_actual_effort => l_act_eff,
494 	 x_actual_effort_uom => l_act_eff_uom,
495 	 x_schedule_flag => l_schedule_flag,
496 	 x_alarm_type_code => l_alarm_type_code,
497 	 x_alarm_contact => l_alarm_contact,
498 	 x_sched_travel_distance => l_sched_travel_distance,
499 	 x_sched_travel_duration => l_sched_travel_duration,
500 	 x_resource_type_code => l_resource_type_code,
501 	 x_creation_date => SYSDATE,
502 	 x_created_by => jtf_task_utl.created_by,
503 	 x_last_update_date => SYSDATE,
504 	 x_last_updated_by => jtf_task_utl.updated_by,
505 	 x_last_update_login => jtf_task_utl.login_id,
506 	 x_resource_territory_id => l_resource_territory_id,
507 	 x_assignment_status_id => l_assignment_status_id,
508 	 x_shift_construct_id => l_shift_construct_id,
509 	 x_assignee_role => l_assignee_role,
510 	 x_show_on_calendar => l_show_on_calendar,
511 	 x_category_id => l_category_id,
512 	 x_free_busy_type => NVL(l_free_busy_type, g_free_busy_type),
513          x_booking_start_date => l_booking_start_date,
514          x_booking_end_date => l_booking_end_date,
515          x_object_capacity_id => p_object_capacity_id
516       );
517 
518       OPEN ra_cur1 (l_rowid);
519       FETCH ra_cur1 INTO x;
520 
521       IF ra_cur1%NOTFOUND
522       THEN
523 	 CLOSE ra_cur1; -- Fix a missing CLOSE on 4/18/2002
524 	 x_return_status := fnd_api.g_ret_sts_unexp_error;
525 	 fnd_message.set_name ('JTF', 'JTF_TASK_INV_TK_ASS');
526 	 fnd_msg_pub.add;
527 	 RAISE fnd_api.g_exc_unexpected_error;
528       ELSE
529 	 x_task_assignment_id := l_task_assignment_id;
530       END IF;
531       CLOSE ra_cur1; -- Fix a missing CLOSE on 4/18/2002
532 
533       ---
534       --- decide the launch of workflow
535       ---
536 
537       -- Business Event System Enhancement # 2391065 and 2797666
538       IF (rec_task.entity = 'TASK')
539       THEN
540       l_assignment_rec.task_assignment_id     := l_task_assignment_id;
541       l_assignment_rec.task_id		      := l_task_id;
542       l_assignment_rec.resource_type_code     := l_resource_type_code;
543       l_assignment_rec.resource_id	      := l_resource_id;
544       l_assignment_rec.assignment_status_id   := l_assignment_status_id;
545       l_assignment_rec.actual_start_date      := l_actual_start_date;
546       l_assignment_rec.actual_end_date	      := l_actual_end_date;
547       l_assignment_rec.assignee_role          := l_assignee_role;
548       l_assignment_rec.show_on_calendar	      := l_show_on_calendar;
549       l_assignment_rec.category_id	      := l_category_id;
550       l_assignment_rec.enable_workflow	      := p_enable_workflow;
551       l_assignment_rec.abort_workflow	      := l_abort_workflow;
552 
553       jtf_task_wf_events_pvt.publish_create_assignment(l_assignment_rec, x_event_return_status);
554 
555       IF (x_event_return_status = 'WARNING')
556       THEN
557 	   fnd_message.set_name ('JTF', 'JTF_TASK_ASS_EVENT_WARNING');
558 	   fnd_message.set_token ('P_ASSIGNMENT_ID', l_task_assignment_id);
559 	   fnd_msg_pub.add;
560 		ELSIF(x_event_return_status = 'ERROR')
561 		THEN
562 		   fnd_message.set_name ('JTF', 'JTF_TASK_ASS_EVENT_ERROR');
563 	   fnd_message.set_token ('P_ASSIGNMENT_ID', l_task_assignment_id);
564 	   fnd_msg_pub.add;
565 		   x_return_status := fnd_api.g_ret_sts_unexp_error;
566 	   RAISE fnd_api.g_exc_unexpected_error;
567 		END IF ;
568 
569        END IF;
570 
574      IF  (rec_task.source_object_type_code <> 'APPOINTMENT')  THEN
571   -- ------------------------------------------------------------------------
572   -- Create reference to resource, fix for enh #1845501
573   -- ------------------------------------------------------------------------
575      --Do not create automatic references for party assignment created for an APPOINTMENT
576      --Check bug 3968128
577       jtf_task_utl.create_party_reference (
578 	 p_reference_from   => 'ASSIGNMENT',
579 	 p_task_id	=> l_task_id,
580 	 p_party_type_code	=> l_resource_type_code,
581 	 p_party_id	=> l_resource_id,
582 	 x_msg_count	    => x_msg_count,
583 	 x_msg_data	=> x_msg_data,
584 	 x_return_status    => x_return_status);
585 
586       IF NOT (x_return_status = fnd_api.g_ret_sts_success)
587       THEN
588 	 x_return_status := fnd_api.g_ret_sts_unexp_error;
589 	 RAISE fnd_api.g_exc_unexpected_error;
590       END IF;
591 
592     END IF; -- for the if statement for (rec_task.source_object_type_code <> 'APPOINTMENT')
593 
594       fnd_msg_pub.count_and_get (p_count => x_msg_count, p_data => x_msg_data);
595    EXCEPTION
596       WHEN fnd_api.g_exc_unexpected_error
597       THEN
598 	 ROLLBACK TO create_task_assign_pvt;
599 	 x_return_status := fnd_api.g_ret_sts_unexp_error;
600 	 fnd_msg_pub.count_and_get (
601 	    p_count => x_msg_count,
602 	    p_data => x_msg_data
603 	 );
604       WHEN OTHERS
605       THEN
606 	 ROLLBACK TO create_task_assign_pvt;
607 	 fnd_message.set_name ('JTF', 'JTF_TASK_UNKNOWN_ERROR');
608 	 fnd_message.set_token ('P_TEXT', SQLCODE || SQLERRM);
609 	 fnd_msg_pub.add;
610 	 x_return_status := fnd_api.g_ret_sts_unexp_error;
611 	 fnd_msg_pub.count_and_get (
612 	    p_count => x_msg_count,
613 	    p_data => x_msg_data
614 	 );
615    END;
616 
617    PROCEDURE create_task_assignment (
618       p_api_version		     IN       NUMBER,
619       p_init_msg_list		     IN       VARCHAR2 DEFAULT fnd_api.g_false,
620       p_commit			     IN       VARCHAR2 DEFAULT fnd_api.g_false,
621       p_task_assignment_id	     IN       NUMBER DEFAULT NULL,
622       p_task_id 		     IN       NUMBER DEFAULT NULL,
623       p_resource_type_code	     IN       VARCHAR2,
624       p_resource_id		     IN       NUMBER,
625       p_actual_effort		     IN       NUMBER DEFAULT NULL,
626       p_actual_effort_uom	     IN       VARCHAR2 DEFAULT NULL,
627       p_schedule_flag		     IN       VARCHAR2 DEFAULT NULL,
628       p_alarm_type_code 	     IN       VARCHAR2 DEFAULT NULL,
629       p_alarm_contact		     IN       VARCHAR2 DEFAULT NULL,
630       p_sched_travel_distance	     IN       NUMBER DEFAULT NULL,
631       p_sched_travel_duration	     IN       NUMBER DEFAULT NULL,
632       p_sched_travel_duration_uom    IN       VARCHAR2 DEFAULT NULL,
633       p_actual_travel_distance	     IN       NUMBER DEFAULT NULL,
634       p_actual_travel_duration	     IN       NUMBER DEFAULT NULL,
635       p_actual_travel_duration_uom   IN       VARCHAR2 DEFAULT NULL,
636       p_actual_start_date	     IN       DATE DEFAULT NULL,
637       p_actual_end_date 	     IN       DATE DEFAULT NULL,
638       p_palm_flag		     IN       VARCHAR2 DEFAULT NULL,
639       p_wince_flag		     IN       VARCHAR2 DEFAULT NULL,
640       p_laptop_flag		     IN       VARCHAR2 DEFAULT NULL,
641       p_device1_flag		     IN       VARCHAR2 DEFAULT NULL,
642       p_device2_flag		     IN       VARCHAR2 DEFAULT NULL,
643       p_device3_flag		     IN       VARCHAR2 DEFAULT NULL,
644       p_resource_territory_id	     IN       NUMBER DEFAULT NULL,
645       p_assignment_status_id	     IN       NUMBER,
646       p_shift_construct_id	     IN       NUMBER DEFAULT NULL,
647       x_return_status		     OUT NOCOPY      VARCHAR2,
648       x_msg_count		     OUT NOCOPY      NUMBER,
649       x_msg_data		     OUT NOCOPY      VARCHAR2,
650       x_task_assignment_id	     OUT NOCOPY      NUMBER,
651       p_attribute1		     IN       VARCHAR2 DEFAULT NULL,
652       p_attribute2		     IN       VARCHAR2 DEFAULT NULL,
653       p_attribute3		     IN       VARCHAR2 DEFAULT NULL,
654       p_attribute4		     IN       VARCHAR2 DEFAULT NULL,
655       p_attribute5		     IN       VARCHAR2 DEFAULT NULL,
656       p_attribute6		     IN       VARCHAR2 DEFAULT NULL,
657       p_attribute7		     IN       VARCHAR2 DEFAULT NULL,
658       p_attribute8		     IN       VARCHAR2 DEFAULT NULL,
659       p_attribute9		     IN       VARCHAR2 DEFAULT NULL,
660       p_attribute10		     IN       VARCHAR2 DEFAULT NULL,
661       p_attribute11		     IN       VARCHAR2 DEFAULT NULL,
662       p_attribute12		     IN       VARCHAR2 DEFAULT NULL,
663       p_attribute13		     IN       VARCHAR2 DEFAULT NULL,
664       p_attribute14		     IN       VARCHAR2 DEFAULT NULL,
665       p_attribute15		     IN       VARCHAR2 DEFAULT NULL,
666       p_attribute_category	     IN       VARCHAR2 DEFAULT NULL,
667       p_assignee_role		     IN       VARCHAR2 DEFAULT 'ASSIGNEE',
668       p_show_on_calendar	     IN       VARCHAR2 DEFAULT jtf_task_utl.g_yes_char,
669       p_category_id		     IN       NUMBER DEFAULT NULL,
670       p_enable_workflow 	     IN       VARCHAR2,
671       p_abort_workflow		     IN       VARCHAR2,
672       p_add_option		     IN       VARCHAR2,
673       p_free_busy_type		     IN       VARCHAR2
674    )
675    IS
676    BEGIN
677 
678       create_task_assignment (
679       p_api_version		     =>       p_api_version,
680       p_init_msg_list		     =>       p_init_msg_list,
681       p_commit			     =>       p_commit,
682       p_task_assignment_id	     =>       p_task_assignment_id,
686       p_actual_effort		     =>       p_actual_effort,
683       p_task_id 		     =>       p_task_id,
684       p_resource_type_code	     =>       p_resource_type_code,
685       p_resource_id		     =>       p_resource_id,
687       p_actual_effort_uom	     =>       p_actual_effort_uom,
688       p_schedule_flag		     =>       p_schedule_flag,
689       p_alarm_type_code 	     =>       p_alarm_type_code,
690       p_alarm_contact		     =>       p_alarm_contact,
691       p_sched_travel_distance	     =>       p_sched_travel_distance,
692       p_sched_travel_duration	     =>       p_sched_travel_duration,
693       p_sched_travel_duration_uom    =>       p_sched_travel_duration_uom,
694       p_actual_travel_distance	     =>       p_actual_travel_distance,
695       p_actual_travel_duration	     =>       p_actual_travel_duration,
696       p_actual_travel_duration_uom   =>       p_actual_travel_duration_uom,
697       p_actual_start_date	     =>       p_actual_start_date,
698       p_actual_end_date 	     =>       p_actual_end_date,
699       p_palm_flag		     =>       p_palm_flag,
700       p_wince_flag		     =>       p_wince_flag,
701       p_laptop_flag		     =>       p_laptop_flag,
702       p_device1_flag		     =>       p_device1_flag,
703       p_device2_flag		     =>       p_device2_flag,
704       p_device3_flag		     =>       p_device3_flag,
705       p_resource_territory_id	     =>       p_resource_territory_id,
706       p_assignment_status_id	     =>       p_assignment_status_id,
707       p_shift_construct_id	     =>       p_shift_construct_id,
708       x_return_status		     =>       x_return_status,
709       x_msg_count		     =>       x_msg_count,
710       x_msg_data		     =>       x_msg_data,
711       x_task_assignment_id	     =>       x_task_assignment_id,
712       p_attribute1		     =>       p_attribute1,
713       p_attribute2		     =>       p_attribute2,
714       p_attribute3		     =>       p_attribute3,
715       p_attribute4		     =>       p_attribute4,
716       p_attribute5		     =>       p_attribute5,
717       p_attribute6		     =>       p_attribute6,
718       p_attribute7		     =>       p_attribute7,
719       p_attribute8		     =>       p_attribute8,
720       p_attribute9		     =>       p_attribute9,
721       p_attribute10		     =>       p_attribute10,
722       p_attribute11		     =>       p_attribute11,
723       p_attribute12		     =>       p_attribute12,
724       p_attribute13		     =>       p_attribute13,
725       p_attribute14		     =>       p_attribute14,
726       p_attribute15		     =>       p_attribute15,
727       p_attribute_category	     =>       p_attribute_category,
728       p_assignee_role		     =>       p_assignee_role,
729       p_show_on_calendar	     =>       p_show_on_calendar,
730       p_category_id		     =>       p_category_id,
731       p_enable_workflow 	     =>       p_enable_workflow,
732       p_abort_workflow		     =>       p_abort_workflow,
733       p_add_option		     =>       p_add_option,
734       p_free_busy_type		     =>       p_free_busy_type,
735       p_object_capacity_id           =>       NULL
736    );
737    END;
738 
739     PROCEDURE create_task_assignment (
740       p_api_version		     IN       NUMBER,
741       p_init_msg_list		     IN       VARCHAR2 DEFAULT fnd_api.g_false,
742       p_commit			     IN       VARCHAR2 DEFAULT fnd_api.g_false,
743       p_task_assignment_id	     IN       NUMBER DEFAULT NULL,
744       p_task_id 		     IN       NUMBER DEFAULT NULL,
745       p_resource_type_code	     IN       VARCHAR2,
746       p_resource_id		     IN       NUMBER,
747       p_actual_effort		     IN       NUMBER DEFAULT NULL,
748       p_actual_effort_uom	     IN       VARCHAR2 DEFAULT NULL,
749       p_schedule_flag		     IN       VARCHAR2 DEFAULT NULL,
750       p_alarm_type_code 	     IN       VARCHAR2 DEFAULT NULL,
751       p_alarm_contact		     IN       VARCHAR2 DEFAULT NULL,
752       p_sched_travel_distance	     IN       NUMBER DEFAULT NULL,
753       p_sched_travel_duration	     IN       NUMBER DEFAULT NULL,
754       p_sched_travel_duration_uom    IN       VARCHAR2 DEFAULT NULL,
755       p_actual_travel_distance	     IN       NUMBER DEFAULT NULL,
756       p_actual_travel_duration	     IN       NUMBER DEFAULT NULL,
757       p_actual_travel_duration_uom   IN       VARCHAR2 DEFAULT NULL,
758       p_actual_start_date	     IN       DATE DEFAULT NULL,
759       p_actual_end_date 	     IN       DATE DEFAULT NULL,
760       p_palm_flag		     IN       VARCHAR2 DEFAULT NULL,
761       p_wince_flag		     IN       VARCHAR2 DEFAULT NULL,
762       p_laptop_flag		     IN       VARCHAR2 DEFAULT NULL,
763       p_device1_flag		     IN       VARCHAR2 DEFAULT NULL,
764       p_device2_flag		     IN       VARCHAR2 DEFAULT NULL,
765       p_device3_flag		     IN       VARCHAR2 DEFAULT NULL,
766       p_resource_territory_id	     IN       NUMBER DEFAULT NULL,
767       p_assignment_status_id	     IN       NUMBER,
768       p_shift_construct_id	     IN       NUMBER DEFAULT NULL,
769       x_return_status		     OUT NOCOPY      VARCHAR2,
770       x_msg_count		     OUT NOCOPY      NUMBER,
771       x_msg_data		     OUT NOCOPY      VARCHAR2,
772       x_task_assignment_id	     OUT NOCOPY      NUMBER,
773       p_attribute1		     IN       VARCHAR2 DEFAULT NULL,
774       p_attribute2		     IN       VARCHAR2 DEFAULT NULL,
775       p_attribute3		     IN       VARCHAR2 DEFAULT NULL,
776       p_attribute4		     IN       VARCHAR2 DEFAULT NULL,
777       p_attribute5		     IN       VARCHAR2 DEFAULT NULL,
778       p_attribute6		     IN       VARCHAR2 DEFAULT NULL,
779       p_attribute7		     IN       VARCHAR2 DEFAULT NULL,
783       p_attribute11		     IN       VARCHAR2 DEFAULT NULL,
780       p_attribute8		     IN       VARCHAR2 DEFAULT NULL,
781       p_attribute9		     IN       VARCHAR2 DEFAULT NULL,
782       p_attribute10		     IN       VARCHAR2 DEFAULT NULL,
784       p_attribute12		     IN       VARCHAR2 DEFAULT NULL,
785       p_attribute13		     IN       VARCHAR2 DEFAULT NULL,
786       p_attribute14		     IN       VARCHAR2 DEFAULT NULL,
787       p_attribute15		     IN       VARCHAR2 DEFAULT NULL,
788       p_attribute_category	     IN       VARCHAR2 DEFAULT NULL,
789       p_assignee_role		     IN       VARCHAR2 DEFAULT 'ASSIGNEE',
790       p_show_on_calendar	     IN       VARCHAR2 DEFAULT jtf_task_utl.g_yes_char,
791       p_category_id		     IN       NUMBER DEFAULT NULL,
792       p_enable_workflow 	     IN       VARCHAR2,
793       p_abort_workflow		     IN       VARCHAR2,
794       p_add_option		     IN       VARCHAR2
795     )
796    IS
797    BEGIN
798       jtf_task_assignments_pvt.create_task_assignment (
799       p_api_version		     => p_api_version,
800       p_init_msg_list		     => p_init_msg_list,
801       p_commit			     => p_commit,
802       p_task_assignment_id	     => p_task_assignment_id,
803       p_task_id 		     => p_task_id,
804       p_resource_type_code	     => p_resource_type_code,
805       p_resource_id		     => p_resource_id,
806       p_actual_effort		     => p_actual_effort,
807       p_actual_effort_uom	     => p_actual_effort_uom,
808       p_schedule_flag		     => p_schedule_flag,
809       p_alarm_type_code 	     => p_alarm_type_code,
810       p_alarm_contact		     => p_alarm_contact,
811       p_sched_travel_distance	     => p_sched_travel_distance,
812       p_sched_travel_duration	     => p_sched_travel_duration,
813       p_sched_travel_duration_uom    => p_sched_travel_duration_uom,
814       p_actual_travel_distance	     => p_actual_travel_distance,
815       p_actual_travel_duration	     => p_actual_travel_duration,
816       p_actual_travel_duration_uom   => p_actual_travel_duration_uom,
817       p_actual_start_date	     => p_actual_start_date,
818       p_actual_end_date 	     => p_actual_end_date,
819       p_palm_flag		     => p_palm_flag,
820       p_wince_flag		     => p_wince_flag,
821       p_laptop_flag		     => p_laptop_flag,
822       p_device1_flag		     => p_device1_flag,
823       p_device2_flag		     => p_device2_flag,
824       p_device3_flag		     => p_device3_flag,
825       p_resource_territory_id	     => p_resource_territory_id,
826       p_assignment_status_id	     => p_assignment_status_id,
827       p_shift_construct_id	     => p_shift_construct_id,
828       x_return_status		     => x_return_status,
829       x_msg_count		     => x_msg_count,
830       x_msg_data		     => x_msg_data,
831       x_task_assignment_id	     => x_task_assignment_id,
832       p_attribute1		     => p_attribute1,
833       p_attribute2		     => p_attribute2,
834       p_attribute3		     => p_attribute3,
835       p_attribute4		     => p_attribute4,
836       p_attribute5		     => p_attribute5,
837       p_attribute6		     => p_attribute6,
838       p_attribute7		     => p_attribute7,
839       p_attribute8		     => p_attribute8,
840       p_attribute9		     => p_attribute9,
841       p_attribute10		     => p_attribute10,
842       p_attribute11		     => p_attribute11,
843       p_attribute12		     => p_attribute12,
844       p_attribute13		     => p_attribute13,
845       p_attribute14		     => p_attribute14,
846       p_attribute15		     => p_attribute15,
847       p_attribute_category	     => p_attribute_category,
848       p_assignee_role		     => p_assignee_role,
849       p_show_on_calendar	     => p_show_on_calendar,
850       p_category_id		     => p_category_id,
851       p_enable_workflow 	     => p_enable_workflow,
852       p_abort_workflow		     => p_abort_workflow,
853       p_add_option		     => p_add_option,
854       p_free_busy_type		     => NULL
855       );
856    END;
857 
858 
859    PROCEDURE create_task_assignment (
860       p_api_version		     IN       NUMBER,
861       p_init_msg_list		     IN       VARCHAR2 DEFAULT fnd_api.g_false,
862       p_commit			     IN       VARCHAR2 DEFAULT fnd_api.g_false,
863       p_task_assignment_id	     IN       NUMBER DEFAULT NULL,
864       p_task_id 		     IN       NUMBER DEFAULT NULL,
865       p_resource_type_code	     IN       VARCHAR2,
866       p_resource_id		     IN       NUMBER,
867       p_actual_effort		     IN       NUMBER DEFAULT NULL,
868       p_actual_effort_uom	     IN       VARCHAR2 DEFAULT NULL,
869       p_schedule_flag		     IN       VARCHAR2 DEFAULT NULL,
870       p_alarm_type_code 	     IN       VARCHAR2 DEFAULT NULL,
871       p_alarm_contact		     IN       VARCHAR2 DEFAULT NULL,
872       p_sched_travel_distance	     IN       NUMBER DEFAULT NULL,
873       p_sched_travel_duration	     IN       NUMBER DEFAULT NULL,
874       p_sched_travel_duration_uom    IN       VARCHAR2 DEFAULT NULL,
875       p_actual_travel_distance	     IN       NUMBER DEFAULT NULL,
876       p_actual_travel_duration	     IN       NUMBER DEFAULT NULL,
877       p_actual_travel_duration_uom   IN       VARCHAR2 DEFAULT NULL,
878       p_actual_start_date	     IN       DATE DEFAULT NULL,
879       p_actual_end_date 	     IN       DATE DEFAULT NULL,
880       p_palm_flag		     IN       VARCHAR2 DEFAULT NULL,
881       p_wince_flag		     IN       VARCHAR2 DEFAULT NULL,
882       p_laptop_flag		     IN       VARCHAR2 DEFAULT NULL,
886       p_resource_territory_id	     IN       NUMBER DEFAULT NULL,
883       p_device1_flag		     IN       VARCHAR2 DEFAULT NULL,
884       p_device2_flag		     IN       VARCHAR2 DEFAULT NULL,
885       p_device3_flag		     IN       VARCHAR2 DEFAULT NULL,
887       p_assignment_status_id	     IN       NUMBER,
888       p_shift_construct_id	     IN       NUMBER DEFAULT NULL,
889       x_return_status		     OUT NOCOPY      VARCHAR2,
890       x_msg_count		     OUT NOCOPY      NUMBER,
891       x_msg_data		     OUT NOCOPY      VARCHAR2,
892       x_task_assignment_id	     OUT NOCOPY      NUMBER,
893       p_attribute1		     IN       VARCHAR2 DEFAULT NULL,
894       p_attribute2		     IN       VARCHAR2 DEFAULT NULL,
895       p_attribute3		     IN       VARCHAR2 DEFAULT NULL,
896       p_attribute4		     IN       VARCHAR2 DEFAULT NULL,
897       p_attribute5		     IN       VARCHAR2 DEFAULT NULL,
898       p_attribute6		     IN       VARCHAR2 DEFAULT NULL,
899       p_attribute7		     IN       VARCHAR2 DEFAULT NULL,
900       p_attribute8		     IN       VARCHAR2 DEFAULT NULL,
901       p_attribute9		     IN       VARCHAR2 DEFAULT NULL,
902       p_attribute10		     IN       VARCHAR2 DEFAULT NULL,
903       p_attribute11		     IN       VARCHAR2 DEFAULT NULL,
904       p_attribute12		     IN       VARCHAR2 DEFAULT NULL,
905       p_attribute13		     IN       VARCHAR2 DEFAULT NULL,
906       p_attribute14		     IN       VARCHAR2 DEFAULT NULL,
907       p_attribute15		     IN       VARCHAR2 DEFAULT NULL,
908       p_attribute_category	     IN       VARCHAR2 DEFAULT NULL,
909       p_assignee_role		     IN       VARCHAR2 DEFAULT 'ASSIGNEE',
910       p_show_on_calendar	     IN       VARCHAR2
911 	    DEFAULT jtf_task_utl.g_yes_char,
912       p_category_id		     IN       NUMBER DEFAULT NULL,
913       p_enable_workflow 	     IN       VARCHAR2,
914       p_abort_workflow		     IN       VARCHAR2
915     )
916    IS
917    BEGIN
918       jtf_task_assignments_pvt.create_task_assignment (
919       p_api_version		     => p_api_version,
920       p_init_msg_list		     => p_init_msg_list,
921       p_commit			     => p_commit,
922       p_task_assignment_id	     => p_task_assignment_id,
923       p_task_id 		     => p_task_id,
924       p_resource_type_code	     => p_resource_type_code,
925       p_resource_id		     => p_resource_id,
926       p_actual_effort		     => p_actual_effort,
927       p_actual_effort_uom	     => p_actual_effort_uom,
928       p_schedule_flag		     => p_schedule_flag,
929       p_alarm_type_code 	     => p_alarm_type_code,
930       p_alarm_contact		     => p_alarm_contact,
931       p_sched_travel_distance	     => p_sched_travel_distance,
932       p_sched_travel_duration	     => p_sched_travel_duration,
933       p_sched_travel_duration_uom    => p_sched_travel_duration_uom,
934       p_actual_travel_distance	     => p_actual_travel_distance,
935       p_actual_travel_duration	     => p_actual_travel_duration,
936       p_actual_travel_duration_uom   => p_actual_travel_duration_uom,
937       p_actual_start_date	     => p_actual_start_date,
938       p_actual_end_date 	     => p_actual_end_date,
939       p_palm_flag		     => p_palm_flag,
940       p_wince_flag		     => p_wince_flag,
941       p_laptop_flag		     => p_laptop_flag,
942       p_device1_flag		     => p_device1_flag,
943       p_device2_flag		     => p_device2_flag,
944       p_device3_flag		     => p_device3_flag,
945       p_resource_territory_id	     => p_resource_territory_id,
946       p_assignment_status_id	     => p_assignment_status_id,
947       p_shift_construct_id	     => p_shift_construct_id,
948       x_return_status		     => x_return_status,
949       x_msg_count		     => x_msg_count,
950       x_msg_data		     => x_msg_data,
951       x_task_assignment_id	     => x_task_assignment_id,
952       p_attribute1		     => p_attribute1,
953       p_attribute2		     => p_attribute2,
954       p_attribute3		     => p_attribute3,
955       p_attribute4		     => p_attribute4,
956       p_attribute5		     => p_attribute5,
957       p_attribute6		     => p_attribute6,
958       p_attribute7		     => p_attribute7,
959       p_attribute8		     => p_attribute8,
960       p_attribute9		     => p_attribute9,
961       p_attribute10		     => p_attribute10,
962       p_attribute11		     => p_attribute11,
963       p_attribute12		     => p_attribute12,
964       p_attribute13		     => p_attribute13,
965       p_attribute14		     => p_attribute14,
966       p_attribute15		     => p_attribute15,
967       p_attribute_category	     => p_attribute_category,
968       p_assignee_role		     => p_assignee_role,
969       p_show_on_calendar	     => p_show_on_calendar,
970       p_category_id		     => p_category_id,
971       p_enable_workflow 	     => p_enable_workflow,
972       p_abort_workflow		     => p_abort_workflow,
973       p_add_option		     => JTF_TASK_REPEAT_APPT_PVT.G_ONE,
974       p_free_busy_type		     => NULL
975       );
976    END;
977 
978    PROCEDURE create_task_assignment (
979       p_api_version		     IN       NUMBER,
980       p_init_msg_list		     IN       VARCHAR2 DEFAULT fnd_api.g_false,
981       p_commit			     IN       VARCHAR2 DEFAULT fnd_api.g_false,
982       p_task_assignment_id	     IN       NUMBER DEFAULT NULL,
983       p_task_id 		     IN       NUMBER DEFAULT NULL,
984       p_resource_type_code	     IN       VARCHAR2,
985       p_resource_id		     IN       NUMBER,
986       p_actual_effort		     IN       NUMBER DEFAULT NULL,
987       p_actual_effort_uom	     IN       VARCHAR2 DEFAULT NULL,
991       p_sched_travel_distance	     IN       NUMBER DEFAULT NULL,
988       p_schedule_flag		     IN       VARCHAR2 DEFAULT NULL,
989       p_alarm_type_code 	     IN       VARCHAR2 DEFAULT NULL,
990       p_alarm_contact		     IN       VARCHAR2 DEFAULT NULL,
992       p_sched_travel_duration	     IN       NUMBER DEFAULT NULL,
993       p_sched_travel_duration_uom    IN       VARCHAR2 DEFAULT NULL,
994       p_actual_travel_distance	     IN       NUMBER DEFAULT NULL,
995       p_actual_travel_duration	     IN       NUMBER DEFAULT NULL,
996       p_actual_travel_duration_uom   IN       VARCHAR2 DEFAULT NULL,
997       p_actual_start_date	     IN       DATE DEFAULT NULL,
998       p_actual_end_date 	     IN       DATE DEFAULT NULL,
999       p_palm_flag		     IN       VARCHAR2 DEFAULT NULL,
1000       p_wince_flag		     IN       VARCHAR2 DEFAULT NULL,
1001       p_laptop_flag		     IN       VARCHAR2 DEFAULT NULL,
1002       p_device1_flag		     IN       VARCHAR2 DEFAULT NULL,
1003       p_device2_flag		     IN       VARCHAR2 DEFAULT NULL,
1004       p_device3_flag		     IN       VARCHAR2 DEFAULT NULL,
1005       p_resource_territory_id	     IN       NUMBER DEFAULT NULL,
1006       p_assignment_status_id	     IN       NUMBER,
1007       p_shift_construct_id	     IN       NUMBER DEFAULT NULL,
1008       x_return_status		     OUT NOCOPY      VARCHAR2,
1009       x_msg_count		     OUT NOCOPY      NUMBER,
1010       x_msg_data		     OUT NOCOPY      VARCHAR2,
1011       x_task_assignment_id	     OUT NOCOPY      NUMBER,
1012       p_attribute1		     IN       VARCHAR2 DEFAULT NULL,
1013       p_attribute2		     IN       VARCHAR2 DEFAULT NULL,
1014       p_attribute3		     IN       VARCHAR2 DEFAULT NULL,
1015       p_attribute4		     IN       VARCHAR2 DEFAULT NULL,
1016       p_attribute5		     IN       VARCHAR2 DEFAULT NULL,
1017       p_attribute6		     IN       VARCHAR2 DEFAULT NULL,
1018       p_attribute7		     IN       VARCHAR2 DEFAULT NULL,
1019       p_attribute8		     IN       VARCHAR2 DEFAULT NULL,
1020       p_attribute9		     IN       VARCHAR2 DEFAULT NULL,
1021       p_attribute10		     IN       VARCHAR2 DEFAULT NULL,
1022       p_attribute11		     IN       VARCHAR2 DEFAULT NULL,
1023       p_attribute12		     IN       VARCHAR2 DEFAULT NULL,
1024       p_attribute13		     IN       VARCHAR2 DEFAULT NULL,
1025       p_attribute14		     IN       VARCHAR2 DEFAULT NULL,
1026       p_attribute15		     IN       VARCHAR2 DEFAULT NULL,
1027       p_attribute_category	     IN       VARCHAR2 DEFAULT NULL,
1028       p_assignee_role		     IN       VARCHAR2 DEFAULT 'ASSIGNEE',
1029       p_show_on_calendar	     IN       VARCHAR2
1030 	    DEFAULT jtf_task_utl.g_yes_char,
1031       p_category_id		     IN       NUMBER DEFAULT NULL
1032    )
1033    IS
1034    BEGIN
1035       jtf_task_assignments_pvt.create_task_assignment (
1036       p_api_version		     => p_api_version,
1037       p_init_msg_list		     => p_init_msg_list,
1038       p_commit			     => p_commit,
1039       p_task_assignment_id	     => p_task_assignment_id,
1040       p_task_id 		     => p_task_id,
1041       p_resource_type_code	     => p_resource_type_code,
1042       p_resource_id		     => p_resource_id,
1043       p_actual_effort		     => p_actual_effort,
1044       p_actual_effort_uom	     => p_actual_effort_uom,
1045       p_schedule_flag		     => p_schedule_flag,
1046       p_alarm_type_code 	     => p_alarm_type_code,
1047       p_alarm_contact		     => p_alarm_contact,
1048       p_sched_travel_distance	     => p_sched_travel_distance,
1049       p_sched_travel_duration	     => p_sched_travel_duration,
1050       p_sched_travel_duration_uom    => p_sched_travel_duration_uom,
1051       p_actual_travel_distance	     => p_actual_travel_distance,
1052       p_actual_travel_duration	     => p_actual_travel_duration,
1053       p_actual_travel_duration_uom   => p_actual_travel_duration_uom,
1054       p_actual_start_date	     => p_actual_start_date,
1055       p_actual_end_date 	     => p_actual_end_date,
1056       p_palm_flag		     => p_palm_flag,
1057       p_wince_flag		     => p_wince_flag,
1058       p_laptop_flag		     => p_laptop_flag,
1059       p_device1_flag		     => p_device1_flag,
1060       p_device2_flag		     => p_device2_flag,
1061       p_device3_flag		     => p_device3_flag,
1062       p_resource_territory_id	     => p_resource_territory_id,
1063       p_assignment_status_id	     => p_assignment_status_id,
1064       p_shift_construct_id	     => p_shift_construct_id,
1065       x_return_status		     => x_return_status,
1066       x_msg_count		     => x_msg_count,
1067       x_msg_data		     => x_msg_data,
1068       x_task_assignment_id	     => x_task_assignment_id,
1069       p_attribute1		     => p_attribute1,
1070       p_attribute2		     => p_attribute2,
1071       p_attribute3		     => p_attribute3,
1072       p_attribute4		     => p_attribute4,
1073       p_attribute5		     => p_attribute5,
1074       p_attribute6		     => p_attribute6,
1075       p_attribute7		     => p_attribute7,
1076       p_attribute8		     => p_attribute8,
1077       p_attribute9		     => p_attribute9,
1078       p_attribute10		     => p_attribute10,
1079       p_attribute11		     => p_attribute11,
1080       p_attribute12		     => p_attribute12,
1081       p_attribute13		     => p_attribute13,
1082       p_attribute14		     => p_attribute14,
1083       p_attribute15		     => p_attribute15,
1084       p_attribute_category	     => p_attribute_category,
1085       p_assignee_role		     => p_assignee_role,
1086       p_show_on_calendar	     => p_show_on_calendar,
1090 	  p_add_option		         => JTF_TASK_REPEAT_APPT_PVT.G_ONE,
1087       p_category_id		     => p_category_id,
1088       p_enable_workflow 	     => fnd_profile.value('JTF_TASK_ENABLE_WORKFLOW'),
1089       p_abort_workflow		     => fnd_profile.value('JTF_TASK_ABORT_PREV_WF'),
1091       p_free_busy_type		     => NULL
1092       );
1093    END;
1094 
1095 --Procedure to Update the Task Assignment
1096    PROCEDURE update_task_assignment (
1097       p_api_version		     IN       NUMBER,
1098       p_object_version_number	     IN       OUT NOCOPY   NUMBER,
1099       p_init_msg_list		     IN       VARCHAR2 DEFAULT fnd_api.g_false,
1100       p_commit			     IN       VARCHAR2 DEFAULT fnd_api.g_false,
1101       p_task_assignment_id	     IN       NUMBER DEFAULT fnd_api.g_miss_num,
1102       p_resource_type_code	     IN       VARCHAR2 DEFAULT fnd_api.g_miss_char,
1103       p_resource_id		     IN       NUMBER DEFAULT fnd_api.g_miss_num,
1104       p_actual_effort		     IN       NUMBER DEFAULT fnd_api.g_miss_num,
1105       p_actual_effort_uom	     IN       VARCHAR2 DEFAULT fnd_api.g_miss_char,
1106       p_schedule_flag		     IN       VARCHAR2 DEFAULT fnd_api.g_miss_char,
1107       p_alarm_type_code 	     IN       VARCHAR2 DEFAULT fnd_api.g_miss_char,
1108       p_alarm_contact		     IN       VARCHAR2 DEFAULT fnd_api.g_miss_char,
1109       p_sched_travel_distance	     IN       NUMBER DEFAULT fnd_api.g_miss_num,
1110       p_sched_travel_duration	     IN       NUMBER DEFAULT fnd_api.g_miss_num,
1111       p_sched_travel_duration_uom    IN       VARCHAR2 DEFAULT fnd_api.g_miss_char,
1112       p_actual_travel_distance	     IN       NUMBER DEFAULT fnd_api.g_miss_num,
1113       p_actual_travel_duration	     IN       NUMBER DEFAULT fnd_api.g_miss_num,
1114       p_actual_travel_duration_uom   IN       VARCHAR2 DEFAULT fnd_api.g_miss_char,
1115       p_actual_start_date	     IN       DATE DEFAULT fnd_api.g_miss_date,
1116       p_actual_end_date 	     IN       DATE DEFAULT fnd_api.g_miss_date,
1117       p_palm_flag		     IN       VARCHAR2 DEFAULT fnd_api.g_miss_char,
1118       p_wince_flag		     IN       VARCHAR2 DEFAULT fnd_api.g_miss_char,
1119       p_laptop_flag		     IN       VARCHAR2 DEFAULT fnd_api.g_miss_char,
1120       p_device1_flag		     IN       VARCHAR2 DEFAULT fnd_api.g_miss_char,
1121       p_device2_flag		     IN       VARCHAR2 DEFAULT fnd_api.g_miss_char,
1122       p_device3_flag		     IN       VARCHAR2 DEFAULT fnd_api.g_miss_char,
1123       p_resource_territory_id	     IN       NUMBER DEFAULT fnd_api.g_miss_num,
1124       p_assignment_status_id	     IN       NUMBER DEFAULT fnd_api.g_miss_num,
1125       p_shift_construct_id	     IN       NUMBER DEFAULT fnd_api.g_miss_num,
1126       x_return_status		     OUT      NOCOPY      VARCHAR2,
1127       x_msg_count		     OUT      NOCOPY      NUMBER,
1128       x_msg_data		     OUT      NOCOPY      VARCHAR2,
1129       p_attribute1		     IN       VARCHAR2 DEFAULT jtf_task_utl.g_miss_char,
1130       p_attribute2		     IN       VARCHAR2 DEFAULT jtf_task_utl.g_miss_char,
1131       p_attribute3		     IN       VARCHAR2 DEFAULT jtf_task_utl.g_miss_char,
1132       p_attribute4		     IN       VARCHAR2 DEFAULT jtf_task_utl.g_miss_char,
1133       p_attribute5		     IN       VARCHAR2 DEFAULT jtf_task_utl.g_miss_char,
1134       p_attribute6		     IN       VARCHAR2 DEFAULT jtf_task_utl.g_miss_char,
1135       p_attribute7		     IN       VARCHAR2 DEFAULT jtf_task_utl.g_miss_char,
1136       p_attribute8		     IN       VARCHAR2 DEFAULT jtf_task_utl.g_miss_char,
1137       p_attribute9		     IN       VARCHAR2 DEFAULT jtf_task_utl.g_miss_char,
1138       p_attribute10		     IN       VARCHAR2 DEFAULT jtf_task_utl.g_miss_char,
1139       p_attribute11		     IN       VARCHAR2 DEFAULT jtf_task_utl.g_miss_char,
1140       p_attribute12		     IN       VARCHAR2 DEFAULT jtf_task_utl.g_miss_char,
1141       p_attribute13		     IN       VARCHAR2 DEFAULT jtf_task_utl.g_miss_char,
1142       p_attribute14		     IN       VARCHAR2 DEFAULT jtf_task_utl.g_miss_char,
1143       p_attribute15		     IN       VARCHAR2 DEFAULT jtf_task_utl.g_miss_char,
1144       p_attribute_category	     IN       VARCHAR2 DEFAULT jtf_task_utl.g_miss_char,
1145       p_assignee_role		     IN       VARCHAR2 DEFAULT jtf_task_utl.g_miss_char,
1146       p_show_on_calendar	     IN       VARCHAR2 DEFAULT jtf_task_utl.g_miss_char,
1147       p_category_id		     IN       NUMBER DEFAULT jtf_task_utl.g_miss_number,
1148       p_enable_workflow 	     IN       VARCHAR2,
1149       p_abort_workflow		     IN       VARCHAR2,
1150       p_free_busy_type		     IN       VARCHAR2
1151    )
1152    IS
1153    BEGIN
1154       jtf_task_assignments_pvt.update_task_assignment (
1155       p_api_version		     => p_api_version,
1156       p_object_version_number	     => p_object_version_number,
1157       p_init_msg_list		     => p_init_msg_list,
1158       p_commit			     => p_commit,
1159       p_task_assignment_id	     => p_task_assignment_id,
1160       p_resource_type_code	     => p_resource_type_code,
1161       p_resource_id		     => p_resource_id,
1162       p_actual_effort		     => p_actual_effort,
1163       p_actual_effort_uom	     => p_actual_effort_uom,
1164       p_schedule_flag		     => p_schedule_flag,
1165       p_alarm_type_code 	     => p_alarm_type_code,
1166       p_alarm_contact		     => p_alarm_contact,
1167       p_sched_travel_distance	     => p_sched_travel_distance,
1168       p_sched_travel_duration	     => p_sched_travel_duration,
1169       p_sched_travel_duration_uom    => p_sched_travel_duration_uom,
1170       p_actual_travel_distance	     => p_actual_travel_distance,
1171       p_actual_travel_duration	     => p_actual_travel_duration,
1175       p_palm_flag		     => p_palm_flag,
1172       p_actual_travel_duration_uom   => p_actual_travel_duration_uom,
1173       p_actual_start_date	     => p_actual_start_date,
1174       p_actual_end_date 	     => p_actual_end_date,
1176       p_wince_flag		     => p_wince_flag,
1177       p_laptop_flag		     => p_laptop_flag,
1178       p_device1_flag		     => p_device1_flag,
1179       p_device2_flag		     => p_device2_flag,
1180       p_device3_flag		     => p_device3_flag,
1181       p_resource_territory_id	     => p_resource_territory_id,
1182       p_assignment_status_id	     => p_assignment_status_id,
1183       p_shift_construct_id	     => p_shift_construct_id,
1184       x_return_status		     => x_return_status,
1185       x_msg_count		     => x_msg_count,
1186       x_msg_data		     => x_msg_data,
1187       p_attribute1		     => p_attribute1,
1188       p_attribute2		     => p_attribute2,
1189       p_attribute3		     => p_attribute3,
1190       p_attribute4		     => p_attribute4,
1191       p_attribute5		     => p_attribute5,
1192       p_attribute6		     => p_attribute6,
1193       p_attribute7		     => p_attribute7,
1194       p_attribute8		     => p_attribute8,
1195       p_attribute9		     => p_attribute9,
1196       p_attribute10		     => p_attribute10,
1197       p_attribute11		     => p_attribute11,
1198       p_attribute12		     => p_attribute12,
1199       p_attribute13		     => p_attribute13,
1200       p_attribute14		     => p_attribute14,
1201       p_attribute15		     => p_attribute15,
1202       p_attribute_category	     => p_attribute_category,
1203       p_assignee_role		     => p_assignee_role,
1204       p_show_on_calendar	     => p_show_on_calendar,
1205       p_category_id		     => p_category_id,
1206       p_enable_workflow 	     => p_enable_workflow,
1207       p_abort_workflow		     => p_abort_workflow,
1208       p_free_busy_type		     => p_free_busy_type,
1209       p_object_capacity_id           => fnd_api.g_miss_num
1210       );
1211    END;
1212 
1213 --Procedure to Update the Task Assignment
1214    PROCEDURE update_task_assignment (
1215       p_api_version		     IN       NUMBER,
1216       p_object_version_number	     IN OUT NOCOPY   NUMBER,
1217       p_init_msg_list		     IN       VARCHAR2 DEFAULT fnd_api.g_false,
1218       p_commit			     IN       VARCHAR2 DEFAULT fnd_api.g_false,
1219       p_task_assignment_id	     IN       NUMBER
1220 	    DEFAULT fnd_api.g_miss_num,
1221       p_resource_type_code	     IN       VARCHAR2
1222 	    DEFAULT fnd_api.g_miss_char,
1223       p_resource_id		     IN       NUMBER
1224 	    DEFAULT fnd_api.g_miss_num,
1225       p_actual_effort		     IN       NUMBER
1226 	    DEFAULT fnd_api.g_miss_num,
1227       p_actual_effort_uom	     IN       VARCHAR2
1228 	    DEFAULT fnd_api.g_miss_char,
1229       p_schedule_flag		     IN       VARCHAR2
1230 	    DEFAULT fnd_api.g_miss_char,
1231       p_alarm_type_code 	     IN       VARCHAR2
1232 	    DEFAULT fnd_api.g_miss_char,
1233       p_alarm_contact		     IN       VARCHAR2
1234 	    DEFAULT fnd_api.g_miss_char,
1235       p_sched_travel_distance	     IN       NUMBER
1236 	    DEFAULT fnd_api.g_miss_num,
1237       p_sched_travel_duration	     IN       NUMBER
1238 	    DEFAULT fnd_api.g_miss_num,
1239       p_sched_travel_duration_uom    IN       VARCHAR2
1240 	    DEFAULT fnd_api.g_miss_char,
1241       p_actual_travel_distance	     IN       NUMBER
1242 	    DEFAULT fnd_api.g_miss_num,
1243       p_actual_travel_duration	     IN       NUMBER
1244 	    DEFAULT fnd_api.g_miss_num,
1245       p_actual_travel_duration_uom   IN       VARCHAR2
1246 	    DEFAULT fnd_api.g_miss_char,
1247       p_actual_start_date	     IN       DATE DEFAULT fnd_api.g_miss_date,
1248       p_actual_end_date 	     IN       DATE DEFAULT fnd_api.g_miss_date,
1249       p_palm_flag		     IN       VARCHAR2
1250 	    DEFAULT fnd_api.g_miss_char,
1251       p_wince_flag		     IN       VARCHAR2
1252 	    DEFAULT fnd_api.g_miss_char,
1253       p_laptop_flag		     IN       VARCHAR2
1254 	    DEFAULT fnd_api.g_miss_char,
1255       p_device1_flag		     IN       VARCHAR2
1256 	    DEFAULT fnd_api.g_miss_char,
1257       p_device2_flag		     IN       VARCHAR2
1258 	    DEFAULT fnd_api.g_miss_char,
1259       p_device3_flag		     IN       VARCHAR2
1260 	    DEFAULT fnd_api.g_miss_char,
1261       p_resource_territory_id	     IN       NUMBER
1262 	    DEFAULT fnd_api.g_miss_num,
1263       p_assignment_status_id	     IN       NUMBER
1264 	    DEFAULT fnd_api.g_miss_num,
1265       p_shift_construct_id	     IN       NUMBER
1266 	    DEFAULT fnd_api.g_miss_num,
1267       x_return_status		     OUT NOCOPY      VARCHAR2,
1268       x_msg_count		     OUT NOCOPY      NUMBER,
1269       x_msg_data		     OUT NOCOPY      VARCHAR2,
1270       p_attribute1		     IN       VARCHAR2
1271 	    DEFAULT jtf_task_utl.g_miss_char,
1272       p_attribute2		     IN       VARCHAR2
1273 	    DEFAULT jtf_task_utl.g_miss_char,
1274       p_attribute3		     IN       VARCHAR2
1275 	    DEFAULT jtf_task_utl.g_miss_char,
1276       p_attribute4		     IN       VARCHAR2
1277 	    DEFAULT jtf_task_utl.g_miss_char,
1278       p_attribute5		     IN       VARCHAR2
1279 	    DEFAULT jtf_task_utl.g_miss_char,
1280       p_attribute6		     IN       VARCHAR2
1281 	    DEFAULT jtf_task_utl.g_miss_char,
1282       p_attribute7		     IN       VARCHAR2
1283 	    DEFAULT jtf_task_utl.g_miss_char,
1284       p_attribute8		     IN       VARCHAR2
1285 	    DEFAULT jtf_task_utl.g_miss_char,
1286       p_attribute9		     IN       VARCHAR2
1287 	    DEFAULT jtf_task_utl.g_miss_char,
1291 	    DEFAULT jtf_task_utl.g_miss_char,
1288       p_attribute10		     IN       VARCHAR2
1289 	    DEFAULT jtf_task_utl.g_miss_char,
1290       p_attribute11		     IN       VARCHAR2
1292       p_attribute12		     IN       VARCHAR2
1293 	    DEFAULT jtf_task_utl.g_miss_char,
1294       p_attribute13		     IN       VARCHAR2
1295 	    DEFAULT jtf_task_utl.g_miss_char,
1296       p_attribute14		     IN       VARCHAR2
1297 	    DEFAULT jtf_task_utl.g_miss_char,
1298       p_attribute15		     IN       VARCHAR2
1299 	    DEFAULT jtf_task_utl.g_miss_char,
1300       p_attribute_category	     IN       VARCHAR2
1301 	    DEFAULT jtf_task_utl.g_miss_char,
1302       p_assignee_role		     IN       VARCHAR2
1303 	    DEFAULT jtf_task_utl.g_miss_char,
1304       p_show_on_calendar	     IN       VARCHAR2
1305 	    DEFAULT jtf_task_utl.g_miss_char,
1306       p_category_id		     IN       NUMBER
1307 	    DEFAULT jtf_task_utl.g_miss_number,
1308       p_enable_workflow 	     IN       VARCHAR2,
1309       p_abort_workflow		     IN       VARCHAR2,
1310       p_free_busy_type		     IN       VARCHAR2,
1311       p_object_capacity_id           IN       NUMBER
1312    )
1313    IS
1314       l_api_version	CONSTANT NUMBER
1315 	       := 1.0;
1316       l_api_name	CONSTANT VARCHAR(30)
1317 	       := 'Update_Task_Assignment';
1318       l_return_status		 VARCHAR2(1)
1319 	       := fnd_api.g_ret_sts_success;
1320       l_task_assignment_id	 jtf_task_all_assignments.task_assignment_id%TYPE
1321 	       := p_task_assignment_id;
1322       l_task_id 		 jtf_task_all_assignments.task_id%TYPE;
1323       l_resource_type_code	 jtf_task_all_assignments.resource_type_code%TYPE
1324 	       := p_resource_type_code;
1325       l_resource_id		 jtf_task_all_assignments.resource_id%TYPE
1326 	       := p_resource_id;
1327       l_act_eff 		 jtf_task_all_assignments.actual_effort%TYPE
1328 	       := p_actual_effort;
1329       l_act_eff_uom		 jtf_task_all_assignments.actual_effort_uom%TYPE
1330 	       := p_actual_effort_uom;
1331       l_schedule_flag		 jtf_task_all_assignments.schedule_flag%TYPE
1332 	       := p_schedule_flag;
1333       l_alarm_type_code 	 jtf_task_all_assignments.alarm_type_code%TYPE
1334 	       := p_alarm_type_code;
1335       l_alarm_contact		 jtf_task_all_assignments.alarm_contact%TYPE
1336 	       := p_alarm_contact;
1337       l_sched_travel_distance	 jtf_task_all_assignments.sched_travel_distance%TYPE
1338 	       := p_sched_travel_distance;
1339       l_sched_travel_duration	 jtf_task_all_assignments.sched_travel_duration%TYPE
1340 	       := p_sched_travel_duration;
1341       l_sched_travel_dur_uom	 jtf_task_all_assignments.sched_travel_duration_uom%TYPE
1342 	       := p_sched_travel_duration_uom;
1343       l_actual_travel_distance	 jtf_task_all_assignments.actual_travel_distance%TYPE
1344 	       := p_actual_travel_distance;
1345       l_actual_travel_duration	 jtf_task_all_assignments.actual_travel_duration%TYPE
1346 	       := p_actual_travel_duration;
1347       l_actual_travel_dur_uom	 jtf_task_all_assignments.actual_travel_duration_uom%TYPE
1348 	       := p_actual_travel_duration_uom;
1349       l_actual_start_date	 jtf_task_all_assignments.actual_start_date%TYPE
1350 	       := p_actual_start_date;
1351       l_actual_end_date 	 jtf_task_all_assignments.actual_end_date%TYPE
1352 	       := p_actual_end_date;
1353       l_palm_flag		 jtf_task_all_assignments.palm_flag%TYPE
1354 	       := p_palm_flag;
1355       l_wince_flag		 jtf_task_all_assignments.wince_flag%TYPE
1356 	       := p_wince_flag;
1357       l_laptop_flag		 jtf_task_all_assignments.laptop_flag%TYPE
1358 	       := p_laptop_flag;
1359       l_device1_flag		 jtf_task_all_assignments.device1_flag%TYPE
1360 	       := p_device1_flag;
1361       l_device2_flag		 jtf_task_all_assignments.device2_flag%TYPE
1362 	       := p_device2_flag;
1363       l_device3_flag		 jtf_task_all_assignments.device3_flag%TYPE
1364 	       := p_device3_flag;
1365       l_msg_data		 VARCHAR2(2000);
1366       l_msg_count		 NUMBER;
1367       x 			 CHAR;
1368       l_rowid			 ROWID;
1369       l_assignment_status_id	 jtf_task_all_assignments.assignment_status_id%TYPE
1370 	       := p_assignment_status_id;
1371       l_resource_territory_id	 jtf_task_all_assignments.resource_territory_id%TYPE
1372 	       := p_resource_territory_id;
1373       l_shift_construct_id	 jtf_task_all_assignments.shift_construct_id%TYPE
1374 	       := p_shift_construct_id;
1375       l_assignee_role		 jtf_task_all_assignments.assignee_role%TYPE
1376 	       := p_assignee_role;
1377       l_show_on_calendar	 jtf_task_all_assignments.show_on_calendar%TYPE
1378 	       := p_show_on_calendar;
1379       l_category_id		 jtf_task_all_assignments.category_id%TYPE
1380 	       := p_category_id;
1381       l_assignee_role_db	 jtf_task_all_assignments.assignee_role%TYPE;
1382       l_session 		 VARCHAR2(10) := 'UPDATE';
1383       l_enable_workflow 	 VARCHAR2(1)  := p_enable_workflow;
1384       l_abort_workflow		 VARCHAR2(1)  := p_abort_workflow;
1385       l_free_busy_type		 jtf_task_all_assignments.free_busy_type%TYPE
1386 	       := p_free_busy_type;
1387       l_object_capacity_id	 jtf_task_all_assignments.object_capacity_id%TYPE
1388 	       := p_object_capacity_id;
1389       l_booking_start_date	 jtf_task_all_assignments.booking_start_date%TYPE;
1390       l_booking_end_date 	 jtf_task_all_assignments.booking_end_date%TYPE;
1391 
1392       -- Added for bug# 5514013 on 11/09/2006
1393       l_old_assignment_status_id   jtf_task_all_assignments.assignment_status_id%TYPE;
1394 
1395       CURSOR task_ass_u
1396       IS
1397 	 SELECT task_id,
1398 		assignment_status_id   old_assignment_status_id,
1399 		DECODE (
1403 		) resource_id,
1400 		   p_resource_id,
1401 		   fnd_api.g_miss_num, resource_id,
1402 		   p_resource_id
1404 		DECODE (
1405 		   p_resource_type_code,
1406 		   fnd_api.g_miss_char, resource_type_code,
1407 		   p_resource_type_code
1408 		) resource_type_code,
1409 		DECODE (
1410 		   p_assignment_status_id,
1411 		   fnd_api.g_miss_num, assignment_status_id,
1412 		   p_assignment_status_id
1413 		) assignment_status_id,
1414 		DECODE (
1415 		   p_actual_effort,
1416 		   fnd_api.g_miss_num, actual_effort,
1417 		   p_actual_effort
1418 		) actual_effort,
1419 		DECODE (
1420 		   p_actual_effort_uom,
1421 		   fnd_api.g_miss_char, actual_effort_uom,
1422 		   p_actual_effort_uom
1423 		) actual_effort_uom,
1424 		DECODE (
1425 		   p_alarm_type_code,
1426 		   fnd_api.g_miss_char, alarm_type_code,
1427 		   p_alarm_type_code
1428 		) alarm_type_code,
1429 		DECODE (
1430 		   p_alarm_contact,
1431 		   fnd_api.g_miss_char, alarm_contact,
1432 		   p_alarm_contact
1433 		) alarm_contact,
1434 		DECODE (
1435 		   p_sched_travel_distance,
1436 		   fnd_api.g_miss_num, sched_travel_distance,
1437 		   p_sched_travel_distance
1438 		) sched_travel_distance,
1439 		DECODE (
1440 		   p_sched_travel_duration,
1441 		   fnd_api.g_miss_num, sched_travel_duration,
1442 		   p_sched_travel_duration
1443 		) sched_travel_duration,
1444 		DECODE (
1445 		   p_sched_travel_duration_uom,
1446 		   fnd_api.g_miss_char, sched_travel_duration_uom,
1447 		   p_sched_travel_duration_uom
1448 		) sched_travel_dur_uom,
1449 		DECODE (
1450 		   p_actual_travel_distance,
1451 		   fnd_api.g_miss_num, actual_travel_distance,
1452 		   p_actual_travel_distance
1453 		) actual_travel_distance,
1454 		DECODE (
1455 		   p_actual_travel_duration,
1456 		   fnd_api.g_miss_num, actual_travel_duration,
1457 		   p_actual_travel_duration
1458 		) actual_travel_duration,
1459 		DECODE (
1460 		   p_resource_territory_id,
1461 		   fnd_api.g_miss_num, resource_territory_id,
1462 		   p_resource_territory_id
1463 		) resource_territory_id,
1464 		DECODE (
1465 		   p_shift_construct_id,
1466 		   fnd_api.g_miss_num, shift_construct_id,
1467 		   p_shift_construct_id
1468 		) shift_construct_id,
1469 		DECODE (
1470 		   p_actual_travel_duration_uom,
1471 		   fnd_api.g_miss_char, actual_travel_duration_uom,
1472 		   p_actual_travel_duration_uom
1473 		) actual_travel_dur_uom,
1474 		DECODE (
1475 		   p_schedule_flag,
1476 		   fnd_api.g_miss_char, schedule_flag,
1477 		   p_schedule_flag
1478 		) schedule_flag,
1479 		DECODE (
1480 		   p_actual_start_date,
1481 		   fnd_api.g_miss_date, actual_start_date,
1482 		   p_actual_start_date
1483 		) actual_start_date,
1484 		DECODE (
1485 		   p_actual_end_date,
1486 		   fnd_api.g_miss_date, actual_end_date,
1487 		   p_actual_end_date
1488 		) actual_end_date,
1489 		DECODE (
1490 		   p_palm_flag,
1491 		   fnd_api.g_miss_char, palm_flag,
1492 		   p_palm_flag
1493 		) palm_flag,
1494 		DECODE (
1495 		   p_wince_flag,
1496 		   fnd_api.g_miss_char, wince_flag,
1497 		   p_wince_flag
1498 		) wince_flag,
1499 		DECODE (
1500 		   p_laptop_flag,
1501 		   fnd_api.g_miss_char, laptop_flag,
1502 		   p_laptop_flag
1503 		) laptop_flag,
1504 		DECODE (
1505 		   p_device1_flag,
1506 		   fnd_api.g_miss_char, device1_flag,
1507 		   p_device1_flag
1508 		) device1_flag,
1509 		DECODE (
1510 		   p_device2_flag,
1511 		   fnd_api.g_miss_char, device2_flag,
1512 		   p_device2_flag
1513 		) device2_flag,
1514 		DECODE (
1515 		   p_device3_flag,
1516 		   fnd_api.g_miss_char, device3_flag,
1517 		   p_device3_flag
1518 		) device3_flag,
1519 		DECODE (
1520 		   p_assignee_role,
1521 		   fnd_api.g_miss_char, assignee_role,
1522 		   p_assignee_role
1523 		) assignee_role,
1524 		DECODE (
1525 		   p_show_on_calendar,
1526 		   fnd_api.g_miss_char, show_on_calendar,
1527 		   p_show_on_calendar
1528 		) show_on_calendar,
1529 		DECODE (
1530 		   p_category_id,
1531 		   jtf_task_utl.g_miss_number, category_id,
1532 		   p_category_id
1533 		) category_id,
1534 		DECODE (
1535 		   p_attribute1,
1536 		   fnd_api.g_miss_char, attribute1,
1537 		   p_attribute1
1538 		) attribute1,
1539 		DECODE (
1540 		   p_attribute2,
1541 		   fnd_api.g_miss_char, attribute2,
1542 		   p_attribute2
1543 		) attribute2,
1544 		DECODE (
1545 		   p_attribute3,
1546 		   fnd_api.g_miss_char, attribute3,
1547 		   p_attribute3
1548 		) attribute3,
1549 		DECODE (
1550 		   p_attribute4,
1551 		   fnd_api.g_miss_char, attribute4,
1552 		   p_attribute4
1553 		) attribute4,
1554 		DECODE (
1555 		   p_attribute5,
1556 		   fnd_api.g_miss_char, attribute5,
1557 		   p_attribute5
1558 		) attribute5,
1559 		DECODE (
1560 		   p_attribute6,
1561 		   fnd_api.g_miss_char, attribute6,
1562 		   p_attribute6
1563 		) attribute6,
1564 		DECODE (
1565 		   p_attribute7,
1566 		   fnd_api.g_miss_char, attribute7,
1567 		   p_attribute7
1568 		) attribute7,
1569 		DECODE (
1570 		   p_attribute8,
1571 		   fnd_api.g_miss_char, attribute8,
1572 		   p_attribute8
1573 		) attribute8,
1574 		DECODE (
1575 		   p_attribute9,
1576 		   fnd_api.g_miss_char, attribute9,
1580 		   p_attribute10,
1577 		   p_attribute9
1578 		) attribute9,
1579 		DECODE (
1581 		   fnd_api.g_miss_char, attribute10,
1582 		   p_attribute10
1583 		) attribute10,
1584 		DECODE (
1585 		   p_attribute11,
1586 		   fnd_api.g_miss_char, attribute11,
1587 		   p_attribute11
1588 		) attribute11,
1589 		DECODE (
1590 		   p_attribute12,
1591 		   fnd_api.g_miss_char, attribute12,
1592 		   p_attribute12
1593 		) attribute12,
1594 		DECODE (
1595 		   p_attribute13,
1596 		   fnd_api.g_miss_char, attribute13,
1597 		   p_attribute13
1598 		) attribute13,
1599 		DECODE (
1600 		   p_attribute14,
1601 		   fnd_api.g_miss_char, attribute14,
1602 		   p_attribute14
1603 		) attribute14,
1604 		DECODE (
1605 		   p_attribute15,
1606 		   fnd_api.g_miss_char, attribute15,
1607 		   p_attribute15
1608 		) attribute15,
1609 		DECODE (
1610 		   p_attribute_category,
1611 		   fnd_api.g_miss_char, attribute_category,
1612 		   p_attribute_category
1613 		) attribute_category,
1614 		DECODE (
1615 		   p_free_busy_type,
1616 		   jtf_task_utl.g_miss_char, free_busy_type,
1617 		   p_free_busy_type
1618 		) free_busy_type,
1619 		DECODE (
1620 		   p_object_capacity_id,
1621 		   fnd_api.g_miss_num, object_capacity_id,
1622 		   p_object_capacity_id
1623 		) object_capacity_id
1624 	   FROM jtf_task_all_assignments
1625 	  WHERE task_assignment_id = l_task_assignment_id;
1626 
1627       x 			 CHAR;
1628       task_ass			 task_ass_u%ROWTYPE;
1629 
1630 --      CURSOR ass_res_orig (b_task_assignment_id IN NUMBER)
1631 --      IS
1632 --	 SELECT resource_id, resource_type_code, free_busy_type,assignment_status_id, object_capacity_id
1633 --	   FROM jtf_task_all_assignments
1634 --	  WHERE task_assignment_id = b_task_assignment_id;
1635 
1636       l_orig_res_id           jtf_task_all_assignments.resource_id%type;
1637       l_orig_res_type_code    jtf_task_all_assignments.resource_type_code%type;
1638       l_orig_object_capacity_id   jtf_task_all_assignments.object_capacity_id%type;
1639 
1640        -- Business Event System Enhancement # 2391065
1641       l_assignment_rec_old	  jtf_task_assignments_pvt.task_assignments_rec ;
1642 	  l_assignment_rec_new	  jtf_task_assignments_pvt.task_assignments_rec ;
1643       ass_orig		      jtf_task_utl.c_ass_orig%ROWTYPE;
1644       x_event_return_status   varchar2(100);
1645 
1646       CURSOR c_task (b_task_id NUMBER) IS
1647       SELECT source_object_type_code
1648 	   , recurrence_rule_id
1649 	   , calendar_start_date
1650        , calendar_end_date
1651        , planned_effort
1652        , planned_effort_uom
1653        , open_flag
1654        , entity
1655 	   FROM jtf_tasks_b
1656        WHERE task_id = b_task_id;
1657 
1658       l_source_object_type_code   jtf_tasks_b.source_object_type_code%TYPE;
1659       l_recurrence_rule_id	  NUMBER;
1660       l_calendar_start_date	  DATE;
1661       l_calendar_end_date     DATE;
1662       l_planned_effort        NUMBER;
1663       l_planned_effort_uom    jtf_tasks_b.planned_effort_uom%TYPE;
1664       l_entity               jtf_tasks_b.entity%TYPE;
1665       l_open_flag            jtf_tasks_b.open_flag%TYPE;
1666       l_response_invitation_rec  jtf_task_repeat_assignment_pvt.response_invitation_rec;
1667    BEGIN
1668       SAVEPOINT update_task_assign_pvt;
1669       x_return_status := fnd_api.g_ret_sts_success;
1670 
1671       OPEN task_ass_u;
1672       FETCH task_ass_u INTO task_ass;
1673 
1674       IF task_ass_u%NOTFOUND
1675       THEN
1676 	 CLOSE task_ass_u;
1677 	 fnd_message.set_name ('JTF', 'JTF_TASK_INS_TK_ASS');
1678 	 fnd_message.set_token ('TASK_ASSIGNMENT', p_task_assignment_id);
1679 	 fnd_msg_pub.add;
1680 	 x_return_status := fnd_api.g_ret_sts_unexp_error;
1681 	 RAISE fnd_api.g_exc_unexpected_error;
1682       END IF;
1683       CLOSE task_ass_u;
1684 
1685       -- Business Event System Enhancement # 2391065
1686 	  OPEN jtf_task_utl.c_ass_orig(p_task_assignment_id);
1687       FETCH jtf_task_utl.c_ass_orig INTO ass_orig;
1688 
1689       IF jtf_task_utl.c_ass_orig%NOTFOUND
1690       THEN
1691 	 CLOSE jtf_task_utl.c_ass_orig;
1692 	 fnd_message.set_name ('JTF', 'JTF_TASK_INS_TK_ASS');
1693 	 fnd_message.set_token ('TASK_ASSIGNMENT', p_task_assignment_id);
1694 	 fnd_msg_pub.add;
1695 	 x_return_status := fnd_api.g_ret_sts_unexp_error;
1696 	 RAISE fnd_api.g_exc_unexpected_error;
1697       END IF;
1698       CLOSE jtf_task_utl.c_ass_orig;
1699 
1700       l_task_assignment_id := p_task_assignment_id;
1701       l_task_id := task_ass.task_id;
1702       l_resource_id := task_ass.resource_id;
1703       l_resource_type_code := task_ass.resource_type_code;
1704       l_old_assignment_status_id := task_ass.old_assignment_status_id; -- Added for bug#5514013 on 11/09/2006
1705       l_assignment_status_id := task_ass.assignment_status_id;
1706       l_act_eff := task_ass.actual_effort;
1707       l_act_eff_uom := task_ass.actual_effort_uom;
1708       l_alarm_type_code := task_ass.alarm_type_code;
1709       l_alarm_contact := task_ass.alarm_contact;
1710       l_sched_travel_distance := task_ass.sched_travel_distance;
1711       l_sched_travel_duration := task_ass.sched_travel_duration;
1712       l_sched_travel_dur_uom := task_ass.sched_travel_dur_uom;
1713       -- Bug 3467524
1714       -- l_actual_travel_distance := task_ass.actual_travel_duration;
1715       l_actual_travel_distance := task_ass.actual_travel_distance;
1719       l_actual_end_date := task_ass.actual_end_date;
1716       l_actual_travel_duration := task_ass.actual_travel_duration;
1717       l_actual_travel_dur_uom := task_ass.actual_travel_dur_uom;
1718       l_actual_start_date := task_ass.actual_start_date;
1720       l_palm_flag := task_ass.palm_flag;
1721       l_wince_flag := task_ass.wince_flag;
1722       l_laptop_flag := task_ass.laptop_flag;
1723       l_device1_flag := task_ass.device1_flag;
1724       l_device2_flag := task_ass.device2_flag;
1725       l_device3_flag := task_ass.device3_flag;
1726       l_resource_territory_id := task_ass.resource_territory_id;
1727       l_shift_construct_id := task_ass.shift_construct_id;
1728       l_assignee_role	:= task_ass.assignee_role;
1729       l_show_on_calendar   := task_ass.show_on_calendar;
1730       l_category_id	   := task_ass.category_id;
1731       --add schedule_flag
1732       l_schedule_flag := task_ass.schedule_flag;
1733       l_free_busy_type := task_ass.free_busy_type;
1734       l_object_capacity_id := task_ass.object_capacity_id;
1735 
1736       --------------------------------------------------
1737       -- For XP Sync: Story# 140
1738       --------------------------------------------------
1739       OPEN c_task (l_task_id);
1740       FETCH c_task
1741        INTO l_source_object_type_code
1742 	  , l_recurrence_rule_id
1743 	  , l_calendar_start_date
1744       , l_calendar_end_date
1745       , l_planned_effort
1746       , l_planned_effort_uom
1747       , l_open_flag
1748       , l_entity;
1749       IF c_task%NOTFOUND
1750       THEN
1751 	 CLOSE c_task;
1752 	 fnd_message.set_name ('JTF', 'JTF_TASK_INVALID_TASK_ID');
1753 	 fnd_message.set_token ('P_TASK_ID', l_task_id);
1754 	 fnd_msg_pub.add;
1755 	 x_return_status := fnd_api.g_ret_sts_unexp_error;
1756 	 RAISE fnd_api.g_exc_unexpected_error;
1757       END IF;
1758       CLOSE c_task;
1759 
1760       IF l_recurrence_rule_id IS NOT NULL AND
1761 	 l_source_object_type_code = 'APPOINTMENT' AND
1762 	 task_ass.old_assignment_status_id  in ( 18 , 3 ) -- Invited
1763       THEN
1764 	 IF g_response_flag = jtf_task_utl.g_no_char
1765 	 THEN
1766 	     l_response_invitation_rec.task_assignment_id   := p_task_assignment_id;
1767 	     l_response_invitation_rec.assignment_status_id := l_assignment_status_id;
1768 	     l_response_invitation_rec.task_id		    := l_task_id;
1769 	     l_response_invitation_rec.recurrence_rule_id   := l_recurrence_rule_id;
1770 
1771 	     jtf_task_repeat_assignment_pvt.response_invitation(
1772 		p_api_version		  => 1.0,
1773 		p_init_msg_list 	  => fnd_api.g_false,
1774 		p_commit		  => fnd_api.g_false,
1775 		p_object_version_number   => p_object_version_number,
1776 		p_response_invitation_rec => l_response_invitation_rec,
1777 		x_return_status 	  => x_return_status,
1778 		x_msg_count		  => x_msg_count,
1779 		x_msg_data		  => x_msg_data
1780 	     );
1781 
1782 	     g_response_flag := jtf_task_utl.g_no_char;
1783 
1784 	     ----------------------------------------------------------------
1785 	     -- response_invitation() will call this procedure again
1786 	     --    to update the assignment status with accepted or rejected.
1787 	     -- So this procedure must return right after the call because
1788 	     --    the remaining process has already been processed
1789 	     --    by response_invitation().
1790 	     ----------------------------------------------------------------
1791 	     RETURN;
1792 	  END IF;
1793       END IF;
1794       ------------------------------------------------------------------------
1795 
1796       jtf_task_assignments_pub.lock_task_assignment (
1797 	 p_api_version => 1.0,
1798 	 p_init_msg_list => fnd_api.g_false,
1799 	 p_commit => fnd_api.g_false,
1800 	 p_task_assignment_id => l_task_assignment_id,
1801 	 p_object_version_number => p_object_version_number,
1802 	 x_return_status => x_return_status,
1803 	 x_msg_data => x_msg_data,
1804 	 x_msg_count => x_msg_count
1805       );
1806 
1807       IF NOT (x_return_status = fnd_api.g_ret_sts_success)
1808       THEN
1809 	 x_return_status := fnd_api.g_ret_sts_unexp_error;
1810 	 RAISE fnd_api.g_exc_unexpected_error;
1811       END IF;
1812 
1813 
1814       -- Validate the user_id
1815 	 jtf_task_utl.check_security_privilege(
1816 		    p_task_id => l_task_id,
1817 		    p_session => l_session,
1818 		    x_return_status => x_return_status
1819 		    );
1820 
1821 	 IF NOT (x_return_status = fnd_api.g_ret_sts_success)
1822 	 THEN
1823 	    x_return_status := fnd_api.g_ret_sts_unexp_error;
1824 	    RAISE fnd_api.g_exc_unexpected_error;
1825 	 END IF;
1826 
1827       --Bug 2467222  for assignee category update
1828       IF (p_category_id <> jtf_task_utl.g_miss_number) OR (p_category_id IS NULL)
1829       THEN
1830       UPDATE jtf_task_all_assignments
1831 	 SET category_id = p_category_id
1832        WHERE task_id = l_task_id
1833 	 AND resource_id = (SELECT resource_id
1834 			    FROM jtf_rs_resource_extns
1835 			    WHERE user_id = fnd_global.user_id)
1836 	 AND resource_type_code not in ('RS_GROUP','RS_TEAM');
1837       END IF;
1838 
1839       -- Validate the value in L_RESOURCE_TYPE_CODE
1840       IF    l_resource_type_code = 'RS_TEAM'
1841 	 OR l_resource_type_code = 'RS_GROUP'
1842       THEN
1843 	 l_category_id := NULL;
1844       END IF;
1845 
1846       -- bug# 1947303
1847       IF l_assignee_role IS NULL
1848       THEN
1849 	 l_assignee_role := 'ASSIGNEE';
1850       END IF;
1851 
1855 		l_assignee_role,
1852      -- Validate the value in ASSIGNEE_ROLE
1853       IF NOT jtf_task_utl.validate_lookup (
1854 		'JTF_TASK_ASSIGNEE_ROLES',
1856 		'assignment assignee role ( JTF_TK_ASSOGNEE_ROLE )'
1857 	     )
1858       THEN
1859 	 x_return_status := fnd_api.g_ret_sts_unexp_error;
1860 	 RAISE fnd_api.g_exc_unexpected_error;
1861       END IF;
1862 
1863       -- Update the values based on ASSIGNEE_ROLE
1864       select assignee_role
1865       into l_assignee_role_db
1866       from jtf_task_all_assignments
1867       where task_assignment_id = l_task_assignment_id;
1868       IF l_assignee_role_db = 'OWNER'
1869       THEN
1870 	 UPDATE jtf_tasks_b
1871 	    SET owner_id = l_resource_id,
1872 		owner_type_code = l_resource_type_code
1873 	  WHERE task_id = l_task_id;
1874       END IF;
1875 
1876 	 l_assignee_role := l_assignee_role_db;
1877 
1878       -- ------------------------------------------------------------------------
1879       -- Get the original resource_id so we can update the reference details if
1880       -- necessary
1881       -- ------------------------------------------------------------------------
1882 
1883 --	OPEN ass_res_orig (l_task_assignment_id);
1884 --	FETCH ass_res_orig INTO l_orig_res_id, l_orig_res_type_code, l_orig_free_busy_type, l_orig_assig_status_id, l_object_capacity_id;
1885 
1886 --        IF (p_object_capacity_id <> fnd_api.g_miss_num and p_object_capacity_id is not null)
1887 --        then
1888 --          l_object_capacity_id := p_object_capacity_id;
1889 --        end if;
1890 
1891 --	IF ass_res_orig%NOTFOUND
1892 --	THEN
1893 --	   CLOSE ass_res_orig; -- Fix a missing CLOSE on 4/18/2002
1894 --	   RAISE fnd_api.g_exc_unexpected_error;
1895 --	END IF;
1896 --	CLOSE ass_res_orig; -- Fix a missing CLOSE on 4/18/2002
1897 
1898       -- Booking Changes for Simplex ..
1899           populate_booking_dates
1900           (
1901            p_calendar_start_date    =>  l_calendar_start_date,
1902            p_calendar_end_date      =>  l_calendar_end_date,
1903            p_actual_start_date      =>  l_actual_start_date,
1904            p_actual_end_date        =>  l_actual_end_date,
1905            p_actual_travel_duration =>  l_actual_travel_duration,
1906            p_actual_travel_duration_uom  =>  l_actual_travel_dur_uom,
1907            p_planned_effort         =>  l_planned_effort,
1908            p_planned_effort_uom     =>  l_planned_effort_uom,
1909            p_actual_effort          =>  l_act_eff,
1910            p_actual_effort_uom      =>  l_act_eff_uom,
1911            x_booking_start_date     =>  l_booking_start_date,
1912            x_booking_end_date       =>  l_booking_end_date
1913           );
1914 
1915      IF l_entity = 'TASK' AND
1916         p_free_busy_type = jtf_task_utl.g_miss_char AND -- no explicit value
1917         nvl(p_assignment_status_id, 0) <> fnd_api.g_miss_num AND
1918         nvl(l_old_assignment_status_id, 0) <> nvl(l_assignment_status_id, 0)         -- Modified for bug# 5514013 on 11/09/2006
1919      THEN
1920          update_free_busy_type(
1921             p_assignment_status_id => l_assignment_status_id,
1922             x_free_busy_type       => l_free_busy_type
1923          );
1924      END IF;
1925 
1926       p_object_version_number := p_object_version_number + 1;
1927       jtf_task_assignments_pkg.update_row (
1928 	 x_task_assignment_id => l_task_assignment_id,
1929 	 x_object_version_number => p_object_version_number,
1930 	 x_sched_travel_duration_uom => l_sched_travel_dur_uom,
1931 	 x_actual_travel_distance => l_actual_travel_distance,
1932 	 x_actual_travel_duration => l_actual_travel_duration,
1933 	 x_actual_travel_duration_uom => l_actual_travel_dur_uom,
1934 	 x_actual_start_date => l_actual_start_date,
1935 	 x_actual_end_date => l_actual_end_date,
1936 	 x_palm_flag => l_palm_flag,
1937 	 x_wince_flag => l_wince_flag,
1938 	 x_laptop_flag => l_laptop_flag,
1939 	 x_device1_flag => l_device1_flag,
1940 	 x_device2_flag => l_device2_flag,
1941 	 x_device3_flag => l_device3_flag,
1942 	 x_attribute1 => task_ass.attribute1,
1943 	 x_attribute2 => task_ass.attribute2,
1944 	 x_attribute3 => task_ass.attribute3,
1945 	 x_attribute4 => task_ass.attribute4,
1946 	 x_attribute5 => task_ass.attribute5,
1947 	 x_attribute6 => task_ass.attribute6,
1948 	 x_attribute7 => task_ass.attribute7,
1949 	 x_attribute8 => task_ass.attribute8,
1950 	 x_attribute9 => task_ass.attribute9,
1951 	 x_attribute10 => task_ass.attribute10,
1952 	 x_attribute11 => task_ass.attribute11,
1953 	 x_attribute12 => task_ass.attribute12,
1954 	 x_attribute13 => task_ass.attribute13,
1955 	 x_attribute14 => task_ass.attribute14,
1956 	 x_attribute15 => task_ass.attribute15,
1957 	 x_attribute_category => task_ass.attribute_category,
1958 	 x_task_id => l_task_id,
1959 	 x_resource_id => l_resource_id,
1960 	 x_actual_effort => l_act_eff,
1961 	 x_actual_effort_uom => l_act_eff_uom,
1962 	 x_schedule_flag => l_schedule_flag,
1963 	 x_alarm_type_code => l_alarm_type_code,
1964 	 x_alarm_contact => l_alarm_contact,
1965 	 x_sched_travel_distance => l_sched_travel_distance,
1966 	 x_sched_travel_duration => l_sched_travel_duration,
1967 	 x_resource_type_code => l_resource_type_code,
1968 	 x_last_update_date => SYSDATE,
1969 	 x_last_updated_by => jtf_task_utl.updated_by,
1970 	 x_last_update_login => jtf_task_utl.login_id,
1971 	 x_resource_territory_id => l_resource_territory_id,
1972 	 x_assignment_status_id => l_assignment_status_id,
1973 	 x_shift_construct_id => l_shift_construct_id,
1974 	 x_assignee_role => l_assignee_role,
1978    x_booking_start_date => l_booking_start_date,
1975 	 x_show_on_calendar => l_show_on_calendar,
1976        --x_category_id => l_category_id
1977 	 x_free_busy_type => NVL(l_free_busy_type, g_free_busy_type),
1979 	 x_booking_end_date => l_booking_end_date,
1980    x_object_capacity_id => l_object_capacity_id
1981       );
1982 
1983       IF task_ass_u%ISOPEN
1984       THEN
1985 	 CLOSE task_ass_u;
1986       END IF;
1987 
1988   -- ------------------------------------------------------------------------
1989   -- Update reference to resource if changed, fix enh #1845501
1990   -- ------------------------------------------------------------------------
1991       if (nvl(l_resource_id, 0) <> fnd_api.g_miss_num and
1992 	  nvl(l_resource_id, 0) <> nvl(l_orig_res_id, 0))
1993 	 or (nvl(l_resource_type_code, fnd_api.g_miss_char) <> nvl(l_orig_res_type_code, fnd_api.g_miss_char)) then
1994       -- delete the old one
1995 	 jtf_task_utl.delete_party_reference(
1996 	    p_reference_from	=> 'ASSIGNMENT',
1997 	    p_task_id	    => l_task_id,
1998 	    p_party_type_code	=> l_orig_res_type_code,
1999 	    p_party_id	    => l_orig_res_id,
2000 	    x_msg_count     => x_msg_count,
2001 	    x_msg_data	    => x_msg_data,
2002 	    x_return_status	=> x_return_status);
2003 
2004 	 IF NOT (x_return_status = fnd_api.g_ret_sts_success)
2005 	 THEN
2006 	    x_return_status := fnd_api.g_ret_sts_unexp_error;
2007 	    RAISE fnd_api.g_exc_unexpected_error;
2008 	 END IF;
2009 	 -- create a new one
2010 	 jtf_task_utl.create_party_reference(
2011 	    p_reference_from	=> 'ASSIGNMENT',
2012 	    p_task_id	    => l_task_id,
2013 	    p_party_type_code	=> l_resource_type_code,
2014 	    p_party_id	    => l_resource_id,
2015 	    x_msg_count     => x_msg_count,
2016 	    x_msg_data	    => x_msg_data,
2017 	    x_return_status	=> x_return_status);
2018 
2019 	 IF NOT (x_return_status = fnd_api.g_ret_sts_success)
2020 	 THEN
2021 	    x_return_status := fnd_api.g_ret_sts_unexp_error;
2022 	    RAISE fnd_api.g_exc_unexpected_error;
2023 	 END IF;
2024       end if;
2025 
2026       ---
2027       --- decide to lunch workflow
2028       ---
2029        -- Business Event System Enhancement # 2391065 and 2797666
2030       IF (l_entity = 'TASK')
2031       THEN
2032 	  l_assignment_rec_old.task_assignment_id     := l_task_assignment_id;
2033 	  l_assignment_rec_old.task_id		      := l_task_id;
2034       l_assignment_rec_old.resource_type_code	  := ass_orig.resource_type_code;
2035       l_assignment_rec_old.resource_id		  := ass_orig.resource_id;
2036       l_assignment_rec_old.assignment_status_id   := ass_orig.assignment_status_id;
2037       l_assignment_rec_old.actual_start_date	  := ass_orig.actual_start_date;
2038       l_assignment_rec_old.actual_end_date	  := ass_orig.actual_end_date;
2039 	  l_assignment_rec_old.assignee_role	      := ass_orig.assignee_role;
2040 	  l_assignment_rec_old.show_on_calendar       := ass_orig.show_on_calendar;
2041       l_assignment_rec_old.category_id		  := ass_orig.category_id;
2042 	  l_assignment_rec_old.object_version_number  := ass_orig.object_version_number;
2043       l_assignment_rec_old.enable_workflow	   := p_enable_workflow;
2044       l_assignment_rec_old.abort_workflow	   := l_abort_workflow;
2045 
2046 	  l_assignment_rec_new.task_assignment_id     := l_task_assignment_id;
2047 	  l_assignment_rec_new.task_id	   := l_task_id;
2048       l_assignment_rec_new.resource_type_code	  := l_resource_type_code;
2049       l_assignment_rec_new.resource_id		  := l_resource_id;
2050       l_assignment_rec_new.assignment_status_id   := l_assignment_status_id;
2051       l_assignment_rec_new.actual_start_date	  := l_actual_start_date;
2052       l_assignment_rec_new.actual_end_date	  := l_actual_end_date;
2053 	  l_assignment_rec_new.assignee_role	      := l_assignee_role;
2054 	  l_assignment_rec_new.show_on_calendar       := l_show_on_calendar;
2055       l_assignment_rec_new.category_id		  := l_category_id;
2056 	  l_assignment_rec_new.object_version_number  := p_object_version_number;
2057 	  l_assignment_rec_new.enable_workflow	       := p_enable_workflow;
2058       l_assignment_rec_new.abort_workflow	   := l_abort_workflow;
2059 
2060      jtf_task_wf_events_pvt.publish_update_assignment(l_assignment_rec_new,l_assignment_rec_old,x_event_return_status);
2061 
2062 		IF (x_event_return_status = 'WARNING')
2063 		THEN
2064 		   fnd_message.set_name ('JTF', 'JTF_TASK_ASS_EVENT_WARNING');
2065 	   fnd_message.set_token ('P_ASSIGNMENT_ID', l_task_assignment_id);
2066 	   fnd_msg_pub.add;
2067 		ELSIF(x_event_return_status = 'ERROR')
2068 		THEN
2069 		   fnd_message.set_name ('JTF', 'JTF_TASK_ASS_EVENT_ERROR');
2070 	   fnd_message.set_token ('P_ASSIGNMENT_ID', l_task_assignment_id);
2071 	   fnd_msg_pub.add;
2072 		   x_return_status := fnd_api.g_ret_sts_unexp_error;
2073 	   RAISE fnd_api.g_exc_unexpected_error;
2074 		END IF ;
2075 
2076      END IF;
2077 
2078 --      IF ass_res_orig%ISOPEN
2079 --      THEN
2080 --	 CLOSE ass_res_orig;
2081 --      END IF;
2082 
2083       IF fnd_api.to_boolean (p_commit)
2084       THEN
2085 	 COMMIT WORK;
2086       END IF;
2087 
2088       fnd_msg_pub.count_and_get (p_count => x_msg_count, p_data => x_msg_data);
2089    EXCEPTION
2090       WHEN fnd_api.g_exc_unexpected_error
2091       THEN
2092 	 IF task_ass_u%ISOPEN
2093 	 THEN
2094 	    CLOSE task_ass_u;
2095 	 END IF;
2096 
2097 	 ROLLBACK TO update_task_assign_pvt;
2098 	 x_return_status := fnd_api.g_ret_sts_unexp_error;
2099 	 fnd_msg_pub.count_and_get (
2100 	    p_count => x_msg_count,
2104       THEN
2101 	    p_data => x_msg_data
2102 	 );
2103       WHEN OTHERS
2105 	 IF task_ass_u%ISOPEN
2106 	 THEN
2107 	    CLOSE task_ass_u;
2108 	 END IF;
2109 
2110 	 ROLLBACK TO update_task_assign_pvt;
2111 
2112        -- Added by SBARAT on 23/05/2006 for bug# 5176073
2113 	 fnd_message.set_name ('JTF', 'JTF_TASK_UNKNOWN_ERROR');
2114 	 fnd_message.set_token ('P_TEXT', SQLCODE || SQLERRM);
2115 	 fnd_msg_pub.add;
2116 
2117 	 x_return_status := fnd_api.g_ret_sts_unexp_error;
2118 	 fnd_msg_pub.count_and_get (
2119 	    p_count => x_msg_count,
2120 	    p_data => x_msg_data
2121 	 );
2122    END;
2123 
2124    PROCEDURE update_task_assignment (
2125       p_api_version		     IN       NUMBER,
2126       p_object_version_number	     IN OUT NOCOPY   NUMBER,
2127       p_init_msg_list		     IN       VARCHAR2 DEFAULT fnd_api.g_false,
2128       p_commit			     IN       VARCHAR2 DEFAULT fnd_api.g_false,
2129       p_task_assignment_id	     IN       NUMBER
2130 	    DEFAULT fnd_api.g_miss_num,
2131       p_resource_type_code	     IN       VARCHAR2
2132 	    DEFAULT fnd_api.g_miss_char,
2133       p_resource_id		     IN       NUMBER
2134 	    DEFAULT fnd_api.g_miss_num,
2135       p_actual_effort		     IN       NUMBER
2136 	    DEFAULT fnd_api.g_miss_num,
2137       p_actual_effort_uom	     IN       VARCHAR2
2138 	    DEFAULT fnd_api.g_miss_char,
2139       p_schedule_flag		     IN       VARCHAR2
2140 	    DEFAULT fnd_api.g_miss_char,
2141       p_alarm_type_code 	     IN       VARCHAR2
2142 	    DEFAULT fnd_api.g_miss_char,
2143       p_alarm_contact		     IN       VARCHAR2
2144 	    DEFAULT fnd_api.g_miss_char,
2145       p_sched_travel_distance	     IN       NUMBER
2146 	    DEFAULT fnd_api.g_miss_num,
2147       p_sched_travel_duration	     IN       NUMBER
2148 	    DEFAULT fnd_api.g_miss_num,
2149       p_sched_travel_duration_uom    IN       VARCHAR2
2150 	    DEFAULT fnd_api.g_miss_char,
2151       p_actual_travel_distance	     IN       NUMBER
2152 	    DEFAULT fnd_api.g_miss_num,
2153       p_actual_travel_duration	     IN       NUMBER
2154 	    DEFAULT fnd_api.g_miss_num,
2155       p_actual_travel_duration_uom   IN       VARCHAR2
2156 	    DEFAULT fnd_api.g_miss_char,
2157       p_actual_start_date	     IN       DATE DEFAULT fnd_api.g_miss_date,
2158       p_actual_end_date 	     IN       DATE DEFAULT fnd_api.g_miss_date,
2159       p_palm_flag		     IN       VARCHAR2
2160 	    DEFAULT fnd_api.g_miss_char,
2161       p_wince_flag		     IN       VARCHAR2
2162 	    DEFAULT fnd_api.g_miss_char,
2163       p_laptop_flag		     IN       VARCHAR2
2164 	    DEFAULT fnd_api.g_miss_char,
2165       p_device1_flag		     IN       VARCHAR2
2166 	    DEFAULT fnd_api.g_miss_char,
2167       p_device2_flag		     IN       VARCHAR2
2168 	    DEFAULT fnd_api.g_miss_char,
2169       p_device3_flag		     IN       VARCHAR2
2170 	    DEFAULT fnd_api.g_miss_char,
2171       p_resource_territory_id	     IN       NUMBER
2172 	    DEFAULT fnd_api.g_miss_num,
2173       p_assignment_status_id	     IN       NUMBER
2174 	    DEFAULT fnd_api.g_miss_num,
2175       p_shift_construct_id	     IN       NUMBER
2176 	    DEFAULT fnd_api.g_miss_num,
2177       x_return_status		     OUT NOCOPY      VARCHAR2,
2178       x_msg_count		     OUT NOCOPY      NUMBER,
2179       x_msg_data		     OUT NOCOPY      VARCHAR2,
2180       p_attribute1		     IN       VARCHAR2
2181 	    DEFAULT jtf_task_utl.g_miss_char,
2182       p_attribute2		     IN       VARCHAR2
2183 	    DEFAULT jtf_task_utl.g_miss_char,
2184       p_attribute3		     IN       VARCHAR2
2185 	    DEFAULT jtf_task_utl.g_miss_char,
2186       p_attribute4		     IN       VARCHAR2
2187 	    DEFAULT jtf_task_utl.g_miss_char,
2188       p_attribute5		     IN       VARCHAR2
2189 	    DEFAULT jtf_task_utl.g_miss_char,
2190       p_attribute6		     IN       VARCHAR2
2191 	    DEFAULT jtf_task_utl.g_miss_char,
2192       p_attribute7		     IN       VARCHAR2
2193 	    DEFAULT jtf_task_utl.g_miss_char,
2194       p_attribute8		     IN       VARCHAR2
2195 	    DEFAULT jtf_task_utl.g_miss_char,
2196       p_attribute9		     IN       VARCHAR2
2197 	    DEFAULT jtf_task_utl.g_miss_char,
2198       p_attribute10		     IN       VARCHAR2
2199 	    DEFAULT jtf_task_utl.g_miss_char,
2200       p_attribute11		     IN       VARCHAR2
2201 	    DEFAULT jtf_task_utl.g_miss_char,
2202       p_attribute12		     IN       VARCHAR2
2203 	    DEFAULT jtf_task_utl.g_miss_char,
2204       p_attribute13		     IN       VARCHAR2
2205 	    DEFAULT jtf_task_utl.g_miss_char,
2206       p_attribute14		     IN       VARCHAR2
2207 	    DEFAULT jtf_task_utl.g_miss_char,
2208       p_attribute15		     IN       VARCHAR2
2209 	    DEFAULT jtf_task_utl.g_miss_char,
2210       p_attribute_category	     IN       VARCHAR2
2211 	    DEFAULT jtf_task_utl.g_miss_char,
2212       p_assignee_role		     IN       VARCHAR2
2213 	    DEFAULT jtf_task_utl.g_miss_char,
2214       p_show_on_calendar	     IN       VARCHAR2
2215 	    DEFAULT jtf_task_utl.g_miss_char,
2216       p_category_id		     IN       NUMBER
2217 	    DEFAULT jtf_task_utl.g_miss_number
2218    )
2219    IS
2220    BEGIN
2221       jtf_task_assignments_pvt.update_task_assignment (
2222       p_api_version		     => p_api_version,
2223       p_object_version_number	     => p_object_version_number,
2224       p_init_msg_list		     => p_init_msg_list,
2225       p_commit			     => p_commit,
2226       p_task_assignment_id	     => p_task_assignment_id,
2227       p_resource_type_code	     => p_resource_type_code,
2231       p_schedule_flag		     => p_schedule_flag,
2228       p_resource_id		     => p_resource_id,
2229       p_actual_effort		     => p_actual_effort,
2230       p_actual_effort_uom	     => p_actual_effort_uom,
2232       p_alarm_type_code 	     => p_alarm_type_code,
2233       p_alarm_contact		     => p_alarm_contact,
2234       p_sched_travel_distance	     => p_sched_travel_distance,
2235       p_sched_travel_duration	     => p_sched_travel_duration,
2236       p_sched_travel_duration_uom    => p_sched_travel_duration_uom,
2237       p_actual_travel_distance	     => p_actual_travel_distance,
2238       p_actual_travel_duration	     => p_actual_travel_duration,
2239       p_actual_travel_duration_uom   => p_actual_travel_duration_uom,
2240       p_actual_start_date	     => p_actual_start_date,
2241       p_actual_end_date 	     => p_actual_end_date,
2242       p_palm_flag		     => p_palm_flag,
2243       p_wince_flag		     => p_wince_flag,
2244       p_laptop_flag		     => p_laptop_flag,
2245       p_device1_flag		     => p_device1_flag,
2246       p_device2_flag		     => p_device2_flag,
2247       p_device3_flag		     => p_device3_flag,
2248       p_resource_territory_id	     => p_resource_territory_id,
2249       p_assignment_status_id	     => p_assignment_status_id,
2250       p_shift_construct_id	     => p_shift_construct_id,
2251       x_return_status		     => x_return_status,
2252       x_msg_count		     => x_msg_count,
2253       x_msg_data		     => x_msg_data,
2254       p_attribute1		     => p_attribute1,
2255       p_attribute2		     => p_attribute2,
2256       p_attribute3		     => p_attribute3,
2257       p_attribute4		     => p_attribute4,
2258       p_attribute5		     => p_attribute5,
2259       p_attribute6		     => p_attribute6,
2260       p_attribute7		     => p_attribute7,
2261       p_attribute8		     => p_attribute8,
2262       p_attribute9		     => p_attribute9,
2263       p_attribute10		     => p_attribute10,
2264       p_attribute11		     => p_attribute11,
2265       p_attribute12		     => p_attribute12,
2266       p_attribute13		     => p_attribute13,
2267       p_attribute14		     => p_attribute14,
2268       p_attribute15		     => p_attribute15,
2269       p_attribute_category	     => p_attribute_category,
2270       p_assignee_role		     => p_assignee_role,
2271       p_show_on_calendar	     => p_show_on_calendar,
2272       p_category_id		     => p_category_id,
2273       p_enable_workflow 	     => fnd_profile.value('JTF_TASK_ENABLE_WORKFLOW'),
2274       p_abort_workflow		     => fnd_profile.value('JTF_TASK_ABORT_PREV_WF'),
2275       p_free_busy_type		     => fnd_api.g_miss_char
2276       );
2277    END;
2278 
2279     PROCEDURE update_task_assignment (
2280       p_api_version		     IN       NUMBER,
2281       p_object_version_number	     IN OUT NOCOPY   NUMBER,
2282       p_init_msg_list		     IN       VARCHAR2 DEFAULT fnd_api.g_false,
2283       p_commit			     IN       VARCHAR2 DEFAULT fnd_api.g_false,
2284       p_task_assignment_id	     IN       NUMBER
2285 	    DEFAULT fnd_api.g_miss_num,
2286       p_resource_type_code	     IN       VARCHAR2
2287 	    DEFAULT fnd_api.g_miss_char,
2288       p_resource_id		     IN       NUMBER
2289 	    DEFAULT fnd_api.g_miss_num,
2290       p_actual_effort		     IN       NUMBER
2291 	    DEFAULT fnd_api.g_miss_num,
2292       p_actual_effort_uom	     IN       VARCHAR2
2293 	    DEFAULT fnd_api.g_miss_char,
2294       p_schedule_flag		     IN       VARCHAR2
2295 	    DEFAULT fnd_api.g_miss_char,
2296       p_alarm_type_code 	     IN       VARCHAR2
2297 	    DEFAULT fnd_api.g_miss_char,
2298       p_alarm_contact		     IN       VARCHAR2
2299 	    DEFAULT fnd_api.g_miss_char,
2300       p_sched_travel_distance	     IN       NUMBER
2301 	    DEFAULT fnd_api.g_miss_num,
2302       p_sched_travel_duration	     IN       NUMBER
2303 	    DEFAULT fnd_api.g_miss_num,
2304       p_sched_travel_duration_uom    IN       VARCHAR2
2305 	    DEFAULT fnd_api.g_miss_char,
2306       p_actual_travel_distance	     IN       NUMBER
2307 	    DEFAULT fnd_api.g_miss_num,
2308       p_actual_travel_duration	     IN       NUMBER
2309 	    DEFAULT fnd_api.g_miss_num,
2310       p_actual_travel_duration_uom   IN       VARCHAR2
2311 	    DEFAULT fnd_api.g_miss_char,
2312       p_actual_start_date	     IN       DATE DEFAULT fnd_api.g_miss_date,
2313       p_actual_end_date 	     IN       DATE DEFAULT fnd_api.g_miss_date,
2314       p_palm_flag		     IN       VARCHAR2
2315 	    DEFAULT fnd_api.g_miss_char,
2316       p_wince_flag		     IN       VARCHAR2
2317 	    DEFAULT fnd_api.g_miss_char,
2318       p_laptop_flag		     IN       VARCHAR2
2319 	    DEFAULT fnd_api.g_miss_char,
2320       p_device1_flag		     IN       VARCHAR2
2321 	    DEFAULT fnd_api.g_miss_char,
2322       p_device2_flag		     IN       VARCHAR2
2323 	    DEFAULT fnd_api.g_miss_char,
2324       p_device3_flag		     IN       VARCHAR2
2325 	    DEFAULT fnd_api.g_miss_char,
2326       p_resource_territory_id	     IN       NUMBER
2327 	    DEFAULT fnd_api.g_miss_num,
2328       p_assignment_status_id	     IN       NUMBER
2329 	    DEFAULT fnd_api.g_miss_num,
2330       p_shift_construct_id	     IN       NUMBER
2331 	    DEFAULT fnd_api.g_miss_num,
2332       x_return_status		     OUT NOCOPY      VARCHAR2,
2333       x_msg_count		     OUT NOCOPY      NUMBER,
2334       x_msg_data		     OUT NOCOPY      VARCHAR2,
2335       p_attribute1		     IN       VARCHAR2
2336 	    DEFAULT jtf_task_utl.g_miss_char,
2337       p_attribute2		     IN       VARCHAR2
2338 	    DEFAULT jtf_task_utl.g_miss_char,
2342 	    DEFAULT jtf_task_utl.g_miss_char,
2339       p_attribute3		     IN       VARCHAR2
2340 	    DEFAULT jtf_task_utl.g_miss_char,
2341       p_attribute4		     IN       VARCHAR2
2343       p_attribute5		     IN       VARCHAR2
2344 	    DEFAULT jtf_task_utl.g_miss_char,
2345       p_attribute6		     IN       VARCHAR2
2346 	    DEFAULT jtf_task_utl.g_miss_char,
2347       p_attribute7		     IN       VARCHAR2
2348 	    DEFAULT jtf_task_utl.g_miss_char,
2349       p_attribute8		     IN       VARCHAR2
2350 	    DEFAULT jtf_task_utl.g_miss_char,
2351       p_attribute9		     IN       VARCHAR2
2352 	    DEFAULT jtf_task_utl.g_miss_char,
2353       p_attribute10		     IN       VARCHAR2
2354 	    DEFAULT jtf_task_utl.g_miss_char,
2355       p_attribute11		     IN       VARCHAR2
2356 	    DEFAULT jtf_task_utl.g_miss_char,
2357       p_attribute12		     IN       VARCHAR2
2358 	    DEFAULT jtf_task_utl.g_miss_char,
2359       p_attribute13		     IN       VARCHAR2
2360 	    DEFAULT jtf_task_utl.g_miss_char,
2361       p_attribute14		     IN       VARCHAR2
2362 	    DEFAULT jtf_task_utl.g_miss_char,
2363       p_attribute15		     IN       VARCHAR2
2364 	    DEFAULT jtf_task_utl.g_miss_char,
2365       p_attribute_category	     IN       VARCHAR2
2366 	    DEFAULT jtf_task_utl.g_miss_char,
2367       p_assignee_role		     IN       VARCHAR2
2368 	    DEFAULT jtf_task_utl.g_miss_char,
2369       p_show_on_calendar	     IN       VARCHAR2
2370 	    DEFAULT jtf_task_utl.g_miss_char,
2371       p_category_id		     IN       NUMBER
2372 	    DEFAULT jtf_task_utl.g_miss_number,
2373 	  p_enable_workflow 	     IN       VARCHAR2,
2374       p_abort_workflow		     IN       VARCHAR2
2375    )
2376    IS
2377    BEGIN
2378       jtf_task_assignments_pvt.update_task_assignment (
2379       p_api_version		     => p_api_version,
2380       p_object_version_number	     => p_object_version_number,
2381       p_init_msg_list		     => p_init_msg_list,
2382       p_commit			     => p_commit,
2383       p_task_assignment_id	     => p_task_assignment_id,
2384       p_resource_type_code	     => p_resource_type_code,
2385       p_resource_id		     => p_resource_id,
2386       p_actual_effort		     => p_actual_effort,
2387       p_actual_effort_uom	     => p_actual_effort_uom,
2388       p_schedule_flag		     => p_schedule_flag,
2389       p_alarm_type_code 	     => p_alarm_type_code,
2390       p_alarm_contact		     => p_alarm_contact,
2391       p_sched_travel_distance	     => p_sched_travel_distance,
2392       p_sched_travel_duration	     => p_sched_travel_duration,
2393       p_sched_travel_duration_uom    => p_sched_travel_duration_uom,
2394       p_actual_travel_distance	     => p_actual_travel_distance,
2395       p_actual_travel_duration	     => p_actual_travel_duration,
2396       p_actual_travel_duration_uom   => p_actual_travel_duration_uom,
2397       p_actual_start_date	     => p_actual_start_date,
2398       p_actual_end_date 	     => p_actual_end_date,
2399       p_palm_flag		     => p_palm_flag,
2400       p_wince_flag		     => p_wince_flag,
2401       p_laptop_flag		     => p_laptop_flag,
2402       p_device1_flag		     => p_device1_flag,
2403       p_device2_flag		     => p_device2_flag,
2404       p_device3_flag		     => p_device3_flag,
2405       p_resource_territory_id	     => p_resource_territory_id,
2406       p_assignment_status_id	     => p_assignment_status_id,
2407       p_shift_construct_id	     => p_shift_construct_id,
2408       x_return_status		     => x_return_status,
2409       x_msg_count		     => x_msg_count,
2410       x_msg_data		     => x_msg_data,
2411       p_attribute1		     => p_attribute1,
2412       p_attribute2		     => p_attribute2,
2413       p_attribute3		     => p_attribute3,
2414       p_attribute4		     => p_attribute4,
2415       p_attribute5		     => p_attribute5,
2416       p_attribute6		     => p_attribute6,
2417       p_attribute7		     => p_attribute7,
2418       p_attribute8		     => p_attribute8,
2419       p_attribute9		     => p_attribute9,
2420       p_attribute10		     => p_attribute10,
2421       p_attribute11		     => p_attribute11,
2422       p_attribute12		     => p_attribute12,
2423       p_attribute13		     => p_attribute13,
2424       p_attribute14		     => p_attribute14,
2425       p_attribute15		     => p_attribute15,
2426       p_attribute_category	     => p_attribute_category,
2427       p_assignee_role		     => p_assignee_role,
2428       p_show_on_calendar	     => p_show_on_calendar,
2429       p_category_id		     => p_category_id,
2430       p_enable_workflow 	     => fnd_profile.value('JTF_TASK_ENABLE_WORKFLOW'),
2431       p_abort_workflow		     => fnd_profile.value('JTF_TASK_ABORT_PREV_WF'),
2432       p_free_busy_type		     => fnd_api.g_miss_char
2433       );
2434    END;
2435 
2436    PROCEDURE delete_task_assignment (
2437       p_api_version		IN	 NUMBER,
2438       p_object_version_number	IN	 NUMBER,
2439       p_init_msg_list		IN	 VARCHAR2 DEFAULT fnd_api.g_false,
2440       p_commit			IN	 VARCHAR2 DEFAULT fnd_api.g_false,
2441       p_task_assignment_id	IN	 NUMBER,
2442       x_return_status		OUT NOCOPY	VARCHAR2,
2443       x_msg_count		OUT NOCOPY	NUMBER,
2444       x_msg_data		OUT NOCOPY	VARCHAR2,
2445       p_enable_workflow 	IN	 VARCHAR2,
2446       p_abort_workflow		IN	 VARCHAR2,
2447       p_delete_option	      IN       VARCHAR2
2448    )
2449    IS
2450       --Declare the variables
2451       l_task_assignment_id   jtf_task_all_assignments.task_assignment_id%TYPE
2452 	       := p_task_assignment_id;
2453       x 		     CHAR;
2454 
2458 	   FROM jtf_task_all_assignments
2455       CURSOR c_res_ass
2456       IS
2457 	 SELECT 1
2459 	  WHERE task_assignment_id = l_task_assignment_id;
2460 
2461       l_session VARCHAR2(10) := 'DELETE';
2462       l_task_id jtf_task_all_assignments.task_id%TYPE;
2463       l_resource_id jtf_task_all_assignments.resource_id%TYPE;
2464       l_resource_type_code jtf_task_all_assignments.resource_type_code%TYPE;
2465       l_assignee_role jtf_task_all_assignments.assignee_role%TYPE;
2466 
2467       -- Business Event System Enhancement # 2391065
2468       l_assignment_status_id jtf_task_all_assignments.assignment_status_id%TYPE;
2469       CURSOR ass_res_orig (b_task_assignment_id IN NUMBER)
2470       IS
2471 	 SELECT task_id, resource_id, resource_type_code, assignee_role, assignment_status_id
2472 	   FROM jtf_task_all_assignments
2473 	  WHERE task_assignment_id = b_task_assignment_id;
2474 
2475       l_enable_workflow 	 VARCHAR2(1)  := p_enable_workflow;
2476       l_abort_workflow		 VARCHAR2(1)  := p_abort_workflow;
2477 
2478       ------------------------------------------
2479       -- For XP
2480       ------------------------------------------
2481       CURSOR c_task (b_task_assignment_id NUMBER)IS
2482       SELECT jtb.source_object_type_code
2483 	   , jtb.recurrence_rule_id
2484 	   , jtb.calendar_start_date
2485 	   , jtb.task_id
2486 	   , jtaa.resource_id
2487        , jtb.entity
2488 	FROM jtf_tasks_b jtb
2489 	   , jtf_task_all_assignments jtaa
2490        WHERE jtaa.task_assignment_id = b_task_assignment_id
2491 	 AND jtb.task_id = jtaa.task_id;
2492 
2493       rec_task	c_task%ROWTYPE;
2494 
2495       l_delete_assignee_rec  jtf_task_repeat_assignment_pvt.delete_assignee_rec;
2496 
2497       -- Business Event System Enhancement # 2391065
2498 	  l_assignment_rec	  jtf_task_assignments_pvt.task_assignments_rec ;
2499       x_event_return_status  varchar2(100);
2500       ------------------------------------------
2501    BEGIN
2502       SAVEPOINT delete_task_ass_pvt;
2503       x_return_status := fnd_api.g_ret_sts_success;
2504 
2505       ------------------------------------------
2506       -- For XP
2507       ------------------------------------------
2508       OPEN c_task (p_task_assignment_id);
2509       FETCH c_task INTO rec_task;
2510       IF c_task%NOTFOUND
2511       THEN
2512 	 CLOSE c_task;
2513 	 fnd_message.set_name ('JTF', 'JTF_TASK_INV_TK_ASS');
2514 	 fnd_message.set_token ('P_TASK_ASSIGNMENT_ID', p_task_assignment_id);
2515 	 fnd_msg_pub.add;
2516 	 x_return_status := fnd_api.g_ret_sts_unexp_error;
2517 	 RAISE fnd_api.g_exc_unexpected_error;
2518       END IF;
2519       CLOSE c_task;
2520 
2521       l_task_id := rec_task.task_id;
2522 
2523       IF rec_task.source_object_type_code = 'APPOINTMENT' AND
2524 	 rec_task.recurrence_rule_id IS NOT NULL
2525       THEN
2526 	 IF p_delete_option = JTF_TASK_REPEAT_APPT_PVT.G_ONE OR
2527 	    p_delete_option = JTF_TASK_REPEAT_APPT_PVT.G_FUTURE OR
2528 	    p_delete_option = JTF_TASK_REPEAT_APPT_PVT.G_ALL
2529 	 THEN
2530 	     l_delete_assignee_rec.recurrence_rule_id	 := rec_task.recurrence_rule_id;
2531 	     l_delete_assignee_rec.task_id		 := l_task_id;
2532 	     l_delete_assignee_rec.calendar_start_date	 := rec_task.calendar_start_date;
2533 	     l_delete_assignee_rec.resource_id		 := rec_task.resource_id;
2534 	     l_delete_assignee_rec.delete_option	 := p_delete_option;
2535 	     l_delete_assignee_rec.enable_workflow	 := p_enable_workflow;
2536 	     l_delete_assignee_rec.abort_workflow	 := p_abort_workflow;
2537 
2538 	     jtf_task_repeat_assignment_pvt.delete_assignee(
2539 		p_api_version	      => 1.0,
2540 		p_init_msg_list       => fnd_api.g_false,
2541 		p_commit	      => fnd_api.g_false,
2542 		p_delete_assignee_rec => l_delete_assignee_rec,
2543 		x_return_status       => x_return_status,
2544 		x_msg_count	      => x_msg_count,
2545 		x_msg_data	      => x_msg_data
2546 	     );
2547 
2548 	     RETURN;
2549 	  ELSIF p_delete_option IS NOT NULL AND
2550 		p_delete_option <> JTF_TASK_REPEAT_APPT_PVT.G_SKIP
2551 	  THEN
2552 	     fnd_message.set_name ('JTF', 'JTF_TASK_INVALID_FLAG');
2553 	     fnd_message.set_token ('P_FLAG_NAME', 'The parameter p_delete_option ');
2554 	     fnd_msg_pub.add;
2555 
2556 	     x_return_status := fnd_api.g_ret_sts_unexp_error;
2557 	     RAISE fnd_api.g_exc_unexpected_error;
2558 	  END IF;
2559       END IF;
2560       ------------------------------------------
2561 
2562       ---call the table handler to delete the resource req
2563       jtf_task_assignments_pub.lock_task_assignment (
2564 	 p_api_version => 1.0,
2565 	 p_init_msg_list => fnd_api.g_false,
2566 	 p_commit => fnd_api.g_false,
2567 	 p_task_assignment_id => l_task_assignment_id,
2568 	 p_object_version_number => p_object_version_number,
2569 	 x_return_status => x_return_status,
2570 	 x_msg_data => x_msg_data,
2571 	 x_msg_count => x_msg_count
2572       );
2573 
2574       IF NOT (x_return_status = fnd_api.g_ret_sts_success)
2575       THEN
2576 	 x_return_status := fnd_api.g_ret_sts_unexp_error;
2577 	 RAISE fnd_api.g_exc_unexpected_error;
2578       END IF;
2579 
2580       -- ------------------------------------------------------------------------
2581       -- Get the original resource_id so we can delete the reference details
2582       -- ------------------------------------------------------------------------
2583 
2584        -- Validate the user_id
2585 	OPEN ass_res_orig (p_task_assignment_id);
2589 	 IF ass_res_orig%NOTFOUND
2586 	FETCH ass_res_orig INTO l_task_id, l_resource_id, l_resource_type_code, l_assignee_role, l_assignment_status_id;
2587 
2588 
2590 	 THEN
2591 	    CLOSE ass_res_orig; -- Fix a missing CLOSE on 4/18/2002
2592 	    fnd_message.set_name ('JTF', 'JTF_TASK_INV_TK_ASS');
2593 	    fnd_message.set_token ('P_TASK_ASSIGNMENT_ID', p_task_assignment_id);
2594 	    fnd_msg_pub.add;
2595 	    x_return_status := fnd_api.g_ret_sts_unexp_error;
2596 	    RAISE fnd_api.g_exc_unexpected_error;
2597 	 END IF;
2598 	 CLOSE ass_res_orig; -- Fix a missing CLOSE on 4/18/2002
2599 
2600 	 jtf_task_utl.check_security_privilege(
2601 		    p_task_id => l_task_id,
2602 		    p_session => l_session,
2603 		    x_return_status => x_return_status
2604 		    );
2605 
2606 	 IF NOT (x_return_status = fnd_api.g_ret_sts_success)
2607 	 THEN
2608 	    x_return_status := fnd_api.g_ret_sts_unexp_error;
2609 	    RAISE fnd_api.g_exc_unexpected_error;
2610 	 END IF;
2611 
2612 
2613       jtf_task_assignments_pkg.delete_row (
2614 	 x_task_assignment_id => l_task_assignment_id
2615       );
2616       OPEN c_res_ass;
2617       FETCH c_res_ass INTO x;
2618 
2619       IF c_res_ass%FOUND
2620       THEN
2621 	 CLOSE c_res_ass; -- Fix a missing CLOSE on 4/18/2002
2622 	 fnd_message.set_name ('JTF', 'JTF_TASK_DELETING_TK_ASS');
2623 	 fnd_msg_pub.add;
2624 	 x_return_status := fnd_api.g_ret_sts_unexp_error;
2625 	 RAISE fnd_api.g_exc_unexpected_error;
2626 	 --CLOSE c_res_ass; -- Incorrect position for CLOSE
2627       ELSE
2628 	 CLOSE c_res_ass;
2629       END IF;
2630 
2631       IF c_res_ass%ISOPEN
2632       THEN
2633 	 CLOSE c_res_ass;
2634       END IF;
2635 
2636   -- ------------------------------------------------------------------------
2637   -- Delete reference to resource, fix enh #1845501
2638   -- ------------------------------------------------------------------------
2639 	    jtf_task_utl.delete_party_reference(
2640 	       p_reference_from     => 'ASSIGNMENT',
2641 	       p_task_id	=> l_task_id,
2642 	       p_party_type_code	=> l_resource_type_code,
2643 	       p_party_id	=> l_resource_id,
2644 	       x_msg_count	=> x_msg_count,
2645 	       x_msg_data	=> x_msg_data,
2646 	       x_return_status	    => x_return_status);
2647 
2648 	    IF NOT (x_return_status = fnd_api.g_ret_sts_success)
2649 	    THEN
2650 	       x_return_status := fnd_api.g_ret_sts_unexp_error;
2651 	       RAISE fnd_api.g_exc_unexpected_error;
2652 	    END IF;
2653 
2654       ---
2655       --- decide the launch of workflow
2656       ---
2657 
2658       -- Business Event System Enhancement # 2391065 and 2797666
2659       IF (rec_task.entity = 'TASK')
2660       THEN
2661 	  l_assignment_rec.task_assignment_id	      := l_task_assignment_id;
2662 	  l_assignment_rec.task_id		      := l_task_id;
2663 	  l_assignment_rec.resource_type_code	      := l_resource_type_code;
2664       l_assignment_rec.resource_id		  := l_resource_id;
2665       l_assignment_rec.assignment_status_id	  := l_assignment_status_id;
2666       l_assignment_rec.assignee_role		  := l_assignee_role;
2667 	  l_assignment_rec.enable_workflow	      := p_enable_workflow;
2668       l_assignment_rec.abort_workflow		  := l_abort_workflow;
2669 
2670       jtf_task_wf_events_pvt.publish_delete_assignment(l_assignment_rec, x_event_return_status);
2671 
2672 		IF (x_event_return_status = 'WARNING')
2673 		THEN
2674 		   fnd_message.set_name ('JTF', 'JTF_TASK_ASS_EVENT_WARNING');
2675 	   fnd_message.set_token ('P_ASSIGNMENT_ID', l_task_assignment_id);
2676 	   fnd_msg_pub.add;
2677 		ELSIF(x_event_return_status = 'ERROR')
2678 		THEN
2679 		   fnd_message.set_name ('JTF', 'JTF_TASK_ASS_EVENT_ERROR');
2680 	   fnd_message.set_token ('P_ASSIGNMENT_ID', l_task_assignment_id);
2681 	   fnd_msg_pub.add;
2682 		   x_return_status := fnd_api.g_ret_sts_unexp_error;
2683 	   RAISE fnd_api.g_exc_unexpected_error;
2684 		END IF ;
2685 
2686       END IF;
2687 
2688       IF ass_res_orig%ISOPEN
2689       THEN
2690 	 CLOSE ass_res_orig;
2691       END IF;
2692 
2693       IF fnd_api.to_boolean (p_commit)
2694       THEN
2695 	 COMMIT WORK;
2696       END IF;
2697 
2698       fnd_msg_pub.count_and_get (p_count => x_msg_count, p_data => x_msg_data);
2699    EXCEPTION
2700       WHEN fnd_api.g_exc_unexpected_error
2701       THEN
2702 	 ROLLBACK TO delete_task_ass_pvt;
2703 	 x_return_status := fnd_api.g_ret_sts_unexp_error;
2704 	 fnd_msg_pub.count_and_get (
2705 	    p_count => x_msg_count,
2706 	    p_data => x_msg_data
2707 	 );
2708       WHEN OTHERS
2709       THEN
2710 	 ROLLBACK TO delete_task_ass_pvt;
2711 
2712        -- Added by SBARAT on 23/05/2006 for bug# 5176073
2713 	 fnd_message.set_name ('JTF', 'JTF_TASK_UNKNOWN_ERROR');
2714 	 fnd_message.set_token ('P_TEXT', SQLCODE || SQLERRM);
2715 	 fnd_msg_pub.add;
2716 
2717 	 x_return_status := fnd_api.g_ret_sts_unexp_error;
2718 	 fnd_msg_pub.count_and_get (
2719 	    p_count => x_msg_count,
2720 	    p_data => x_msg_data
2721 	 );
2722    END;
2723 
2724    PROCEDURE delete_task_assignment (
2725       p_api_version		IN	 NUMBER,
2726       p_object_version_number	IN	 NUMBER,
2727       p_init_msg_list		IN	 VARCHAR2 DEFAULT fnd_api.g_false,
2728       p_commit			IN	 VARCHAR2 DEFAULT fnd_api.g_false,
2729       p_task_assignment_id	IN	 NUMBER,
2730       x_return_status		OUT NOCOPY	VARCHAR2,
2731       x_msg_count		OUT NOCOPY	NUMBER,
2732       x_msg_data		OUT NOCOPY	VARCHAR2,
2736    IS
2733       p_enable_workflow 	IN	 VARCHAR2,
2734       p_abort_workflow		IN	 VARCHAR2
2735    )
2737    BEGIN
2738       jtf_task_assignments_pvt.delete_task_assignment (
2739       p_api_version		=> p_api_version,
2740       p_object_version_number	=> p_object_version_number,
2741       p_init_msg_list		=> p_init_msg_list,
2742       p_commit			=> p_commit,
2743       p_task_assignment_id	=> p_task_assignment_id,
2744       x_return_status		=> x_return_status,
2745       x_msg_count		=> x_msg_count,
2746       x_msg_data		=> x_msg_data,
2747       p_enable_workflow 	=> p_enable_workflow,
2748       p_abort_workflow		=> p_abort_workflow,
2749       p_delete_option		=> JTF_TASK_REPEAT_APPT_PVT.G_ONE
2750       );
2751   END;
2752 
2753    PROCEDURE delete_task_assignment (
2754       p_api_version		IN	 NUMBER,
2755       p_object_version_number	IN	 NUMBER,
2756       p_init_msg_list		IN	 VARCHAR2 DEFAULT fnd_api.g_false,
2757       p_commit			IN	 VARCHAR2 DEFAULT fnd_api.g_false,
2758       p_task_assignment_id	IN	 NUMBER,
2759       x_return_status		OUT NOCOPY	VARCHAR2,
2760       x_msg_count		OUT NOCOPY	NUMBER,
2761       x_msg_data		OUT NOCOPY	VARCHAR2
2762    )
2763    IS
2764    BEGIN
2765       jtf_task_assignments_pvt.delete_task_assignment (
2766       p_api_version		=> p_api_version,
2767       p_object_version_number	=> p_object_version_number,
2768       p_init_msg_list		=> p_init_msg_list,
2769       p_commit			=> p_commit,
2770       p_task_assignment_id	=> p_task_assignment_id,
2771       x_return_status		=> x_return_status,
2772       x_msg_count		=> x_msg_count,
2773       x_msg_data		=> x_msg_data,
2774       p_enable_workflow 	=> fnd_profile.value('JTF_TASK_ENABLE_WORKFLOW'),
2775       p_abort_workflow		=> fnd_profile.value('JTF_TASK_ABORT_PREV_WF')
2776       );
2777   END;
2778 END;