DBA Data[Home] [Help]

PACKAGE BODY: APPS.JTF_TASK_ASSIGNMENTS_PUB

Source


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