DBA Data[Home] [Help]

PACKAGE BODY: APPS.AMS_TASK_PVT

Source


1 PACKAGE BODY AMS_TASK_PVT AS
2 /* $Header: amsvtskb.pls 115.37 2004/05/12 08:12:24 vmodur ship $ */
3 
4 --------------------------------------------------------------
5 -- PROCEDURE
6 --    create_task
7 --
8 -- HISTORY
9 --    10/12/99  abhola  Create.
10 --    09/15/00  gjoby   Modified to add workfow
11 --    09/21/00  gjoby   Modified to close thee cursor in delete tasks procedure
12 --    04/15/01  musman  commented out the call to the ams_object_attribute.
13 --    05/12/04  vmodur  Changed query to use wf_item_activity_statuses instead
14 --                      of wf_item_activity_statuses_v for SQL Repository Perf Fix
15 ---------------------------------------------------------------------
16 --
17 AMS_DEBUG_HIGH_ON boolean := FND_MSG_PUB.CHECK_MSG_LEVEL(FND_MSG_PUB.G_MSG_LVL_DEBUG_HIGH);
18 AMS_DEBUG_LOW_ON boolean := FND_MSG_PUB.CHECK_MSG_LEVEL(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW);
19 AMS_DEBUG_MEDIUM_ON boolean := FND_MSG_PUB.CHECK_MSG_LEVEL(FND_MSG_PUB.G_MSG_LVL_DEBUG_MEDIUM);
20 
21 PROCEDURE validate_task (
22      p_actual_start_date       IN       DATE ,--DEFAULT NULL,
23      p_actual_end_date         IN       DATE ,--DEFAULT NULL,
24      x_return_status           OUT NOCOPY      VARCHAR2,
25      x_msg_count               OUT NOCOPY      NUMBER,
26      x_msg_data                OUT NOCOPY      VARCHAR2 )
27 IS
28 l_api_version             CONSTANT NUMBER       := 1.0;
29 BEGIN
30   if p_actual_start_date is not null AND p_actual_end_date is not null  then
31     if p_actual_start_date > p_actual_end_date then
32 	 x_return_status := FND_API.G_RET_STS_ERROR;
33 	 FND_MESSAGE.SET_NAME('AMS','AMS_TASK_INVALID_DATE');
34 	 FND_MSG_PUB.Add;
35 	 x_return_status := FND_API.G_RET_STS_ERROR;
36 	 FND_MSG_PUB.Count_and_Get
37 	 (
38 	    p_count => x_msg_count,
39 	    p_data => x_msg_data
40 	 );
41 	 return;
42    END IF;
43   END IF;
44 	 x_return_status := FND_API.G_RET_STS_SUCCESS;
45 END;
46 
47 
48 procedure check_ntf_required  (p_task_id 	in number,
49 			                x_return_status OUT NOCOPY varchar2	) is
50 --
51 cursor c_check_ntf_required is
52 SELECT importance_level
53  FROM  jtf_tasks_vl jtv, JTF_TASK_PRIORITIES_VL jtp
54 where jtv.task_id = p_task_id
55   and jtp.task_priority_id = jtv.task_priority_id;
56 p_flag number;
57 p_prof_flag number;
58 begin
59         open c_check_ntf_required ;
60         fetch c_check_ntf_required into p_flag;
61         close c_check_ntf_required;
62         fnd_profile.get('AMS_LOWEST_NOTFICATION_LEVEL',p_prof_flag);
63         if (p_flag >  p_prof_flag )then
64 		    x_return_status := 'N';
65         else
66 		    x_return_status := 'Y';
67         end if;
68 end check_ntf_required;
69 
70 PROCEDURE create_task (
71      p_api_version             IN       NUMBER,
72      p_init_msg_list           IN       VARCHAR2 ,--DEFAULT fnd_api.g_false,
73      p_commit                  IN       VARCHAR2 ,--DEFAULT fnd_api.g_false,
74      p_task_id                 IN       NUMBER ,--DEFAULT NULL,
75      p_task_name               IN       VARCHAR2,
76      p_task_type_id            IN       NUMBER ,--DEFAULT NULL,
77      p_task_status_id          IN       NUMBER ,--DEFAULT NULL,
78      p_task_priority_id        IN       NUMBER ,--DEFAULT NULL,
79      p_owner_id                IN       NUMBER ,--DEFAULT NULL,
80      p_owner_type_code         IN       VARCHAR2 ,--DEFAULT NULL,
81      p_private_flag            IN       VARCHAR2 ,--DEFAULT NULL,
82      p_planned_start_date      IN       DATE ,--DEFAULT NULL,
83      p_planned_end_date        IN       DATE ,--DEFAULT NULL,
84      p_actual_start_date       IN       DATE ,--DEFAULT NULL,
85      p_actual_end_date         IN       DATE ,--DEFAULT NULL,
86      p_source_object_type_code IN       VARCHAR2 ,--DEFAULT NULL,
87      p_source_object_id        IN       NUMBER ,--DEFAULT NULL,
88      p_source_object_name      IN       VARCHAR2 ,--DEFAULT NULL,
89      x_return_status           OUT NOCOPY      VARCHAR2,
90      x_msg_count               OUT NOCOPY      NUMBER,
91      x_msg_data                OUT NOCOPY      VARCHAR2,
92      x_task_id                 OUT NOCOPY      NUMBER
93      )
94 IS
95 
96    l_api_version             CONSTANT NUMBER       := 1.0;
97    l_task_type_id            NUMBER := p_task_type_id;
98    l_task_status_id          NUMBER := p_task_status_id;
99    l_task_priority_id        NUMBER := p_task_priority_id;
100    l_task_name               VARCHAR2(80) := p_task_name  ;
101    l_owner_id                NUMBER := p_owner_id  ;
102    l_actual_start_date       DATE  := p_actual_start_date;
103    l_actual_end_date         DATE  := p_actual_end_date;
104    l_source_object_type_code VARCHAR2(80)  :=  p_source_object_type_code ;
105    l_source_object_id        NUMBER  := p_source_object_id ;
106    l_source_object_name      VARCHAR2(80) := p_source_object_name ;
107    l_owner_type_code         VARCHAR2(90) := p_owner_type_code;
108    l_return_status           VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
109    l_private_flag            VARCHAR2(1) := p_private_flag    ;
110    l_planned_start_date      DATE := p_planned_start_date ;
111    l_planned_end_date        DATE := p_planned_end_date ;
112 
113    BEGIN
114 
115       IF fnd_api.to_boolean (p_init_msg_list) THEN
116          fnd_msg_pub.initialize;
117       END IF;
118 
119      validate_task (
120           p_actual_start_date    =>p_actual_start_date,
121           p_actual_end_date      =>p_actual_start_date,
122           x_return_status        =>l_return_status,
123           x_msg_count            =>x_msg_count,
124           x_msg_data             =>x_msg_data)  ;
125    if l_return_status = FND_API.G_RET_STS_ERROR THEN
126 	 RAISE FND_API.G_EXC_ERROR ;
127    elsif l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
128 	 RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
129    end if;
130    if (l_source_object_id = 0 ) then
131       l_source_object_id := NULL;
132    end if;
133 
134    JTF_TASKS_PUB.create_task (
135       p_api_version             => l_api_version,
136       p_task_name               => l_task_name,
137       p_task_type_id            => l_task_type_id,
138       p_task_status_id          => l_task_status_id,
139       p_task_priority_id        => l_task_priority_id,
140       p_owner_id                => l_owner_id,
141       p_owner_type_code         => l_owner_type_code,
142       p_private_flag            => l_private_flag,
143       p_planned_start_date      => l_planned_start_date,
144       p_planned_end_date        => l_planned_end_date,
145       p_actual_start_date       => l_actual_start_date,
146       p_actual_end_date         => l_actual_end_date ,
147       p_source_object_type_code => l_source_object_type_code,
148       p_source_object_id        => l_source_object_id ,
149       p_source_object_name      => l_source_object_name ,
150       x_return_status           =>  x_return_status,
151       x_msg_count               =>  x_msg_count ,
152       x_msg_data                =>  x_msg_data ,
153       x_task_id                 =>  x_task_id   );
154 
155 /*************  Modify Attribute ******************************/
156 -- Commenting the call to the ams_object_attribute
157 --      if (x_return_status = 'S') then
158 --         if (l_source_object_type_code = 'AMS_CAMP') then
159 --            l_source_object_type_code := 'CAMP';
160 --         elsif (l_source_object_type_code = 'AMS_EVEO') then
161 --            l_source_object_type_code := 'EVEO';
162 --         elsif (l_source_object_type_code = 'AMS_EVEH') then
163 --            l_source_object_type_code := 'EVEH';
164 --         elsif (l_source_object_type_code = 'AMS_DELV') then
165 --            l_source_object_type_code := 'DELV';
166 --         end if;
167 
168 
169 --      AMS_ObjectAttribute_PVT.modify_object_attribute(
170 --          p_api_version        => l_api_version,
171 --          p_init_msg_list      => FND_API.g_false,
172 --          p_commit             => FND_API.g_false,
173 --          p_validation_level   => FND_API.g_valid_level_full,
174 --          x_return_status      => l_return_status,
175 --          x_msg_count          => x_msg_count,
176 --          x_msg_data           => x_msg_data,
177 --          p_object_type        => l_source_object_type_code,
178 --          p_object_id          => l_source_object_id ,
179 --          p_attr               => 'TASK',
180 --          p_attr_defined_flag  => 'Y'
181 --          );
182 
183 --      end if;
184 
185 	  /**** ADDED BY ABHOLA ****/
186 
187 	  IF FND_API.to_boolean(p_commit) THEN
188 		 COMMIT;
189 	  END IF;
190 
191 EXCEPTION
192   WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
193       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
194       FND_MSG_PUB.count_And_Get
195        ( p_count => x_msg_count,
196 	    p_data => x_msg_data);
197   WHEN FND_API.G_EXC_ERROR THEN
198       x_return_status := FND_API.G_RET_STS_ERROR;
199       FND_MSG_PUB.count_And_Get
200        ( p_count => x_msg_count,
201 	    p_data => x_msg_data);
202 /*****************************************************************/
203 END create_task;
204 ---------------------------------------------------------------
205 
206 PROCEDURE update_task (
207     p_api_version             IN   NUMBER,
208     p_init_msg_list           IN   VARCHAR2 ,--DEFAULT fnd_api.g_false,
209     p_commit                  IN   VARCHAR2 ,--DEFAULT fnd_api.g_false,
210     p_object_version_number   IN   NUMBER ,
211     p_task_id                 IN   NUMBER ,--DEFAULT fnd_api.g_miss_num,
212     p_task_name               IN   VARCHAR2 ,--DEFAULT fnd_api.g_miss_char,
213     p_task_type_id            IN   NUMBER ,--DEFAULT NULL,
214     p_task_status_id          IN   NUMBER ,--DEFAULT NULL,
215     p_task_priority_id        IN   NUMBER ,--DEFAULT NULL,
216     p_owner_id                IN   NUMBER ,--DEFAULT NULL,
217     p_private_flag            IN   VARCHAR2 ,--DEFAULT NULL,
218     p_planned_start_date      IN   DATE ,--DEFAULT NULL,
219     p_planned_end_date        IN   DATE ,--DEFAULT NULL,
220     p_actual_start_date       IN   DATE ,--DEFAULT fnd_api.g_miss_date,
221     p_actual_end_date         IN   DATE ,--DEFAULT fnd_api.g_miss_date,
222     p_source_object_type_code IN   VARCHAR2 ,--DEFAULT fnd_api.g_miss_char,
223     p_source_object_id        IN   NUMBER ,--DEFAULT fnd_api.g_miss_num,
224     p_source_object_name      IN   VARCHAR2 ,--DEFAULT fnd_api.g_miss_char,
225     x_return_status           OUT NOCOPY  VARCHAR2,
226     x_msg_count               OUT NOCOPY  NUMBER,
227     x_msg_data                OUT NOCOPY  VARCHAR2 )
228 IS
229 
230     l_init_msg_list           VARCHAR2(1) := fnd_api.g_true;
231     l_api_version             CONSTANT NUMBER       := 1.0;
232     l_task_name               VARCHAR2(80) := p_task_name  ;
233     l_owner_id                NUMBER := p_owner_id  ;
234     l_actual_start_date       DATE  := p_actual_start_date;
235     l_actual_end_date         DATE  := p_actual_end_date;
236     l_source_object_type_code VARCHAR2(80)  :=  p_source_object_type_code ;
237     l_source_object_id        NUMBER  := p_source_object_id ;
238     l_source_object_name      VARCHAR2(80) := p_source_object_name ;
239     l_object_version_number   NUMBER := p_object_version_number ;
240     l_task_id                 NUMBER := p_task_id;
241     l_task_type_id            NUMBER := p_task_type_id;
242     l_task_status_id          NUMBER := p_task_status_id;
243     l_task_priority_id        NUMBER := p_task_priority_id;
244     l_private_flag            VARCHAR2(1) := p_private_flag    ;
245     l_planned_start_date      DATE := p_planned_start_date ;
246     l_planned_end_date        DATE := p_planned_end_date ;
247     l_return_status           VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
248 
249     -- For checking if workflow exists for this task
250     -- Workflow is with item_key as task_id || object_version_number
251     CURSOR c_check_wfprocess is
252     SELECT 'x'
253       FROM wf_item_activity_statuses
254      WHERE item_type = 'AMSTASK'
255        AND item_key like l_task_id || '%'
256        AND activity_status = 'ACTIVE';
257     CURSOR c_check_status is
258     SELECT task_status_id
259 	 FROM jtf_task_statuses_vl
260     -- WHERE name = 'Assigned';
261     WHERE task_status_id  = 14 ;-- 'Assigned';
262     l_status_id number;
263     l_return_flag varchar2(1);
264     l_item_type varchar2(100) := FND_API.G_MISS_CHAR;
265 
266 BEGIN
267       IF fnd_api.to_boolean (p_init_msg_list) THEN
268          fnd_msg_pub.initialize;
269       END IF;
270 
271      validate_task (
272           p_actual_start_date    =>p_actual_start_date,
273           p_actual_end_date      =>p_actual_end_date,
274           x_return_status        =>x_return_status,
275           x_msg_count            =>x_msg_count,
276           x_msg_data             =>x_msg_data)  ;
277    if x_return_status = FND_API.G_RET_STS_ERROR THEN
278 	 RAISE FND_API.G_EXC_ERROR ;
279    elsif x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
280 	 RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
281    end if;
282 
283    if (l_owner_id = 0) then
284       l_owner_id := null;
285    end if;
286    if (l_source_object_id = 0) then
287       l_source_object_id := null;
288    end if;
289 
290 
291    JTF_TASKS_PUB.update_task (
292       p_api_version             => l_api_version,
293       p_object_version_number   => l_object_version_number,
294       p_task_id                 => l_task_id,
295       p_task_name               => l_task_name,
296       p_task_type_id            => l_task_type_id,
297       p_task_status_id          => l_task_status_id,
298       p_task_priority_id        => l_task_priority_id,
299       p_owner_id                => l_owner_id,
300       p_private_flag            => l_private_flag,
301       p_planned_start_date      => l_planned_start_date,
302       p_planned_end_date        => l_planned_end_date,
303       p_actual_start_date       => l_actual_start_date,
304       p_actual_end_date         => l_actual_end_date ,
305       p_source_object_type_code => l_source_object_type_code,
306       p_source_object_id        => l_source_object_id ,
307       p_source_object_name      => l_source_object_name ,
308       x_return_status           =>  x_return_status,
309       x_msg_count               =>  x_msg_count ,
310       x_msg_data                =>  x_msg_data );
311 
312 /*  no longer required  -- gjoby */
313 /*
314     check_ntf_required  (p_task_id,
315 			      l_return_flag );
316  if l_return_flag  = 'Y' then
317     OPEN  c_check_status;
318         FETCH c_check_status
319          into l_status_id;
320     CLOSE  c_check_status;
321     if l_status_id = l_task_status_id  then
322        OPEN c_check_wfprocess;
323            FETCH c_check_wfprocess into l_item_type ;
324        CLOSE  c_check_wfprocess;
325        if ( l_item_type = FND_API.G_MISS_CHAR
326 	       and l_source_object_type_code is not null )then
327             AMS_TASKS_WF.AmsStartWorkflow(
328                p_api_version => l_api_version,
329                --p_init_msg_list     IN  VARCHAR2  := FND_API.g_false,
330                --p_commit            IN  VARCHAR2  := FND_API.g_false,
331                p_task_id           => l_task_id,
332                p_object_version    => l_object_version_number,
333                x_return_status      =>  l_return_status
334                --x_msg_count         OUT NOCOPY NUMBER,
335                --x_msg_data          OUT NOCOPY VARCHAR2
336                ) ;
337 
338       end if;
339    end if;
340  end if;
341 */
342 
343  /**** ADDED BY ABHOLA ****/
344 
345   IF FND_API.to_boolean(p_commit) THEN
346     COMMIT;
347    END IF;
348 
349 EXCEPTION
350   WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
351       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
352       FND_MSG_PUB.count_And_Get
353        ( p_count => x_msg_count,
354 	    p_data => x_msg_data);
355   WHEN FND_API.G_EXC_ERROR THEN
356       x_return_status := FND_API.G_RET_STS_ERROR;
357       FND_MSG_PUB.count_And_Get
358        ( p_count => x_msg_count,
359 	    p_data => x_msg_data);
360 END update_task;
361 
362 -----------------------------------------------------------
363 
364 PROCEDURE delete_task (
365     p_api_version             IN       NUMBER,
366     p_init_msg_list           IN       VARCHAR2 ,--DEFAULT fnd_api.g_false,
367     p_commit                  IN       VARCHAR2 ,--DEFAULT fnd_api.g_false,
368     p_object_version_number   IN       NUMBER ,
369     p_task_id                 IN       NUMBER ,--DEFAULT NULL,
370     x_return_status           OUT NOCOPY      VARCHAR2,
371     x_msg_count               OUT NOCOPY      NUMBER,
372     x_msg_data                OUT NOCOPY      VARCHAR2
373     )
374     IS
375   l_api_version CONSTANT    NUMBER       := 1.0;
376   l_object_version_number   NUMBER := p_object_version_number ;
377   l_task_id                 NUMBER := p_task_id;
378 
379   CURSOR  c_task_type_id(l_task_id IN NUMBER)  IS
380   SELECT source_object_type_code,
381          source_object_id
382     FROM jtf_tasks_b
383    WHERE task_id = l_task_id;
384 
385   CURSOR  c_task_attr ( p_obj_id in NUMBER, p_obj_type IN VARCHAR2) IS
386   SELECT 'x'
387     FROM jtf_tasks_b
388    WHERE source_object_type_code = p_obj_type
389      AND source_object_id = p_obj_id
390      AND deleted_flag <> 'Y'   ;
391 
392   l_object_id       NUMBER;
393   l_object_type     VARCHAR2(100);
394   l_dummy           VARCHAR2(1);
395   l_return_status   VARCHAR2(1);
396 
397 BEGIN
398 -----  Get the object type and obj id for this access id ----
399 
400    OPEN   c_task_type_id(p_task_id);
401    FETCH c_task_type_id into
402 	    l_object_type,
403          l_object_id;
404    CLOSE c_task_type_id;
405 
406 --------------------------------------------------------------
407 
408    JTF_TASKS_PUB.delete_task (
409        p_api_version             => l_api_version,
410        p_object_version_number   => l_object_version_number,
411        p_task_id                 => l_task_id,
412        x_return_status           => x_return_status,
413        x_msg_count               => x_msg_count ,
414        x_msg_data                => x_msg_data );
415 
416 -----          Modify Object Attribute ---------------
417 -- commenting the call to create ams_object_attribute
418 --   OPEN   c_task_attr( l_object_id, l_object_type);
419 --   FETCH  c_task_attr into l_dummy;
420 --   if (c_task_attr%NOTFOUND) then
421 --      if (l_object_type = 'AMS_CAMP') then
422 --         l_object_type := 'CAMP';
423 --      elsif (l_object_type = 'AMS_EVEO') then
424 --         l_object_type := 'EVEO';
425 --      elsif (l_object_type = 'AMS_EVEH') then
426 --         l_object_type := 'EVEH';
427 --      elsif (l_object_type = 'AMS_DELV') then
428 --         l_object_type := 'DELV';
429 --      end if;
430 
431 --   AMS_ObjectAttribute_PVT.modify_object_attribute(
432 --      p_api_version        => l_api_version,
433 --      p_init_msg_list      => FND_API.g_false,
434 --      p_commit             => FND_API.g_false,
435 --      p_validation_level   => FND_API.g_valid_level_full,
436 --      x_return_status      => l_return_status,
437 --      x_msg_count          => x_msg_count,
438 --      x_msg_data           => x_msg_data,
439 --      p_object_type        => l_object_type,
440 --      p_object_id          => l_object_id ,
441 --      p_attr               => 'TASK',
442 --      p_attr_defined_flag  => 'N'
443 --   );
444 
445 --   end if;
446 -- CLOSE c_task_attr;
447 ------------------------------------------------------
448 
449  /**** ADDED BY ABHOLA ****/
450 
451   IF FND_API.to_boolean(p_commit) THEN
452     COMMIT;
453    END IF;
454 
455 END delete_task;
456 
457 ---------------------------------------------------------
458 
459 Procedure  Create_Task_Assignment (
460     P_API_VERSION          IN   NUMBER       ,
461     P_INIT_MSG_LIST        IN   VARCHAR2     ,--DEFAULT FND_API.G_FALSE ,
462     P_COMMIT               IN   VARCHAR2     ,--DEFAULT FND_API.G_FALSE ,
463     P_TASK_ID              IN   NUMBER       ,
464     P_RESOURCE_TYPE_CODE   IN   VARCHAR2     ,
465     P_RESOURCE_ID          IN   NUMBER       ,
466     P_ASSIGNMENT_STATUS_ID IN   NUMBER       ,
467     X_RETURN_STATUS        OUT NOCOPY  VARCHAR2     ,
468     X_MSG_COUNT            OUT NOCOPY  NUMBER       ,
469     X_MSG_DATA             OUT NOCOPY  VARCHAR2     ,
470     X_TASK_ASSIGNMENT_ID   OUT NOCOPY  NUMBER )
471 IS
472   l_api_version CONSTANT    NUMBER       := 1.0;
473   l_task_id                 NUMBER       := p_task_id;
474   l_resource_type_code      VARCHAR2(50) := p_resource_type_code;
475   l_resource_id             NUMBER       := p_resource_id;
476   l_assignment_status_id    NUMBER := p_assignment_status_id;
477 
478     -- For checking if workflow exists for this task
479     -- Workflow is with item_key as task_id || object_version_number
480     CURSOR c_check_wfprocess is
481     SELECT 'x'
482       FROM wf_item_activity_statuses
483      WHERE item_type = 'AMSTASK'
484        AND item_key like l_task_id || '%'
485        AND activity_status = 'ACTIVE';
486 
487     CURSOR c_check_status is
488     SELECT task_status_id
489 	 FROM jtf_task_statuses_vl
490     -- WHERE name = 'Assigned';
491     WHERE task_status_id  = 14 ;-- 'Assigned';
492     CURSOR c_get_status is
493     SELECT task_status_id  ,source_object_type_code,object_version_number
494 	 FROM jtf_tasks_b
495      WHERE task_id  = l_task_id;
496     l_object_version_number   number;
497     l_source_object_type_code   varchar2(80);
498     l_return_status varchar2(1);
499     l_status_id number;
500     l_task_status_id number;
501     l_item_type varchar2(100) := FND_API.G_MISS_CHAR;
502     l_return_flag varchar2(1);
503 
504 BEGIN
505 
506   JTF_TASK_ASSIGNMENTS_PUB.create_task_assignment (
507     p_api_version             => l_api_version,
508     p_task_id                 => l_task_id,
509     P_RESOURCE_TYPE_CODE      => l_resource_type_code,
510     P_RESOURCE_ID             => l_resource_id ,
511     p_assignment_status_id    => l_assignment_status_id,
512     x_return_status             =>  x_return_status,
513     x_msg_count                  =>  x_msg_count ,
514     x_msg_data                       =>  x_msg_data,
515     X_TASK_ASSIGNMENT_ID      =>  X_TASK_ASSIGNMENT_ID );
516 
517 /* No longer required gjoby */
518 /*
519     check_ntf_required  (p_task_id,
520 			      l_return_flag );
521  if l_return_flag  = 'Y' then
522     -- Added code for notification
523     OPEN  c_check_status;
524         FETCH c_check_status
525          into l_status_id;
526     CLOSE  c_check_status;
527     OPEN  c_get_status;
528         FETCH c_get_status
529          into l_task_status_id,
530 		    l_source_object_type_code, l_object_version_number;
531     CLOSE  c_get_status;
532     if l_status_id = l_task_status_id  then
533        OPEN c_check_wfprocess;
534            FETCH c_check_wfprocess into l_item_type ;
535        CLOSE  c_check_wfprocess;
536        if ( l_item_type = FND_API.G_MISS_CHAR
537 	       and l_source_object_type_code is not null )then
538             AMS_TASKS_WF.AmsStartWorkflow(
539                p_api_version => l_api_version,
540                p_task_id           => l_task_id,
541                p_object_version    => l_object_version_number,
542                x_return_status      =>  l_return_status
543                ) ;
544 
545       end if;
546    end if;
547  end if;
548 */
549 
550 END;
551 
552 --Procedure to Delete Task Assignment
553 
554 Procedure  Delete_Task_Assignment
555      (P_API_VERSION               IN     NUMBER     ,
556       P_INIT_MSG_LIST               IN     VARCHAR2 ,
557       P_COMMIT                   IN     VARCHAR2 ,
558       p_object_version_number IN     NUMBER     ,
559       P_TASK_ASSIGNMENT_ID     IN     NUMBER      ,
560       X_RETURN_STATUS               OUT NOCOPY     VARCHAR2,
561       X_MSG_COUNT                   OUT NOCOPY     NUMBER      ,
562       X_MSG_DATA                   OUT NOCOPY     VARCHAR2 )
563 
564 IS
565 
566    l_api_version CONSTANT    NUMBER  := 1.0;
567    l_task_assignment_id  NUMBER := p_task_assignment_id;
568    l_object_version_number NUMBER := p_object_version_number;
569    l_INIT_MSG_LIST VARCHAR2(100) := P_INIT_MSG_LIST;
570    l_commit VARCHAR2(100) := p_commit;
571 BEGIN
572 
573    JTF_TASK_ASSIGNMENTS_PUB.delete_task_assignment (
574       p_api_version             => l_api_version,
575       P_INIT_MSG_LIST               => l_init_msg_list,
576       p_commit                  => l_commit,
577       p_object_version_number   => l_object_version_number,
578       p_task_assignment_id      => l_task_assignment_id ,
579       x_return_status             =>  x_return_status,
580       x_msg_count                  =>  x_msg_count ,
581       x_msg_data                  =>  x_msg_data );
582 END;
583 
584 
585 --Procedure to Update Task Assignment
586 
587 Procedure  Update_Task_Assignment(
588     P_API_VERSION           IN   NUMBER,
589     p_object_version_number IN   NUMBER,
590     P_INIT_MSG_LIST         IN   VARCHAR2   ,--DEFAULT G_FALSE ,
591     P_COMMIT                IN   VARCHAR2   ,--DEFAULT G_FALSE ,
592     P_TASK_ASSIGNMENT_ID    IN   NUMBER ,
593     P_TASK_ID               IN   NUMBER     ,--default fnd_api.g_miss_num ,
594     P_RESOURCE_TYPE_CODE    IN   VARCHAR2   ,--DEFAULT NULL,
595     P_RESOURCE_ID           IN   NUMBER,
596     P_ASSIGNMENT_STATUS_ID  IN   NUMBER,
597     X_RETURN_STATUS         OUT NOCOPY  VARCHAR2 ,
598     X_MSG_COUNT             OUT NOCOPY  NUMBER ,
599     X_MSG_DATA              OUT NOCOPY  VARCHAR2)
600 
601 IS
602    l_api_version CONSTANT    NUMBER  := 1.0;
603    l_task_assignment_id  NUMBER := p_task_assignment_id;
604    l_task_id             NUMBER := p_task_id;
605    l_object_version_number NUMBER := p_object_version_number;
606    l_resource_territory_id   NUMBER;
607    l_assignment_status_id    NUMBER := P_ASSIGNMENT_STATUS_ID;
608    l_resource_id NUMBER := p_resource_id;
609    l_resource_type_code VARCHAR2(20)  := p_resource_type_code;
610 
611 BEGIN
612 
613    JTF_TASK_ASSIGNMENTS_PUB.update_task_assignment (
614       p_api_version           => l_api_version,
615       p_object_version_number => l_object_version_number,
616       p_task_assignment_id    => l_task_assignment_id ,
617       P_TASK_ID               => l_task_id,
618       p_resource_id           => l_resource_id,
619       p_resource_type_code    => l_resource_type_code,
620       p_assignment_status_id  => l_assignment_status_id,
621       x_return_status         =>  x_return_status,
622       x_msg_count             =>  x_msg_count ,
623       x_msg_data              =>  x_msg_data );
624 END;
625 
626 
627 
628 -- Wrapper on JTF Workflow API
629 
630 PROCEDURE start_task_workflow (
631    p_api_version         IN       NUMBER,
632    p_init_msg_list       IN       VARCHAR2 ,--DEFAULT fnd_api.g_false,
633    p_commit              IN       VARCHAR2 ,--DEFAULT fnd_api.g_false,
634    p_task_id             IN       NUMBER,
635    p_old_assignee_code   IN       VARCHAR2 ,--DEFAULT NULL,
636    p_old_assignee_id     IN       NUMBER ,--DEFAULT NULL,
637    p_new_assignee_code   IN       VARCHAR2 ,--DEFAULT NULL,
638    p_new_assignee_id     IN       NUMBER ,--DEFAULT NULL,
639    p_old_owner_code      IN       VARCHAR2 ,--DEFAULT NULL,
640    p_old_owner_id        IN       NUMBER ,--DEFAULT NULL,
641    p_new_owner_code      IN       VARCHAR2 ,--DEFAULT NULL,
642    p_new_owner_id        IN       NUMBER ,--DEFAULT NULL,
643    p_task_attribute      IN       VARCHAR2 ,--DEFAULT NULL,
644    p_old_value           IN       VARCHAR2 ,--DEFAULT NULL,
645    p_new_value           IN       VARCHAR2 ,--DEFAULT NULL,
646    p_event               IN       VARCHAR2,
647    p_wf_display_name     IN       VARCHAR2 ,--DEFAULT NULL,
648    p_wf_process          IN       VARCHAR2
649                   ,--DEFAULT jtf_task_workflow_pkg.jtf_task_default_process,
650    p_wf_item_type        IN       VARCHAR2
651                   ,--DEFAULT jtf_task_workflow_pkg.jtf_task_item_type,
652    x_return_status       OUT NOCOPY      VARCHAR2,
653    x_msg_count           OUT NOCOPY      NUMBER,
654    x_msg_data            OUT NOCOPY      VARCHAR2  ) is
655 
656 
657    l_api_version             CONSTANT NUMBER := 1.0;
658    l_init_msg_list           VARCHAR2(1000) := p_init_msg_list;
659    l_commit                  VARCHAR2(100) := p_commit;
660    l_task_id                 NUMBER := p_task_id;
661    l_old_assignee_code       VARCHAR2(100) := p_old_assignee_code;
662    l_old_assignee_id         NUMBER := p_old_assignee_id;
663    l_new_assignee_code       VARCHAR2(100) := p_new_assignee_code;
664    l_new_assignee_id         NUMBER := p_new_assignee_id;
665    l_old_owner_code          VARCHAR2(100) := p_old_owner_code;
666    l_old_owner_id            NUMBER := p_old_owner_id;
667    l_new_owner_code          VARCHAR2(100)  := p_new_owner_code;
668    l_new_owner_id            NUMBER := p_new_owner_id;
669 
670    l_task_details_tbl        JTF_TASK_WORKFLOW_PKG.task_details_tbl;
671    l_event                   VARCHAR2(100) := p_event;
672    l_wf_display_name         VARCHAR2(100) := p_wf_display_name;
673    l_wf_process              VARCHAR2(100) := p_wf_process ;
674    l_wf_item_type            VARCHAR2(100) := p_wf_item_type;
675 
676 Begin
677 
678    l_task_details_tbl(1).old_value := p_old_value;
679    l_task_details_tbl(1).new_value := p_new_value;
680 
681    JTF_TASK_WORKFLOW_PKG.start_task_workflow (
682       p_api_version         =>    l_api_version,
683       p_init_msg_list       =>    l_init_msg_list,
684       p_commit              =>    l_commit,
685       p_task_id             =>    l_task_id,
686       p_old_assignee_code   =>    l_old_assignee_code,
687       p_old_assignee_id     =>    l_old_assignee_id,
688       p_new_assignee_code   =>    l_new_assignee_code,
689       p_new_assignee_id     =>    l_new_assignee_id,
690       p_old_owner_code      =>    l_old_owner_code,
691       p_old_owner_id        =>    l_old_owner_id,
692       p_new_owner_code      =>    l_new_owner_code,
693       p_new_owner_id        =>    l_new_owner_id,
694       p_task_details_tbl    =>    l_task_details_tbl,
695       p_event               =>    l_event,
696       p_wf_display_name     =>    l_wf_display_name,
697       p_wf_process          =>    l_wf_process,
698       p_wf_item_type        =>    l_wf_item_type,
699       x_return_status       =>    x_return_status,
700       x_msg_count           =>    x_msg_count,
701       x_msg_data            =>    x_msg_data
702       );
703 end;
704 
705 END AMS_TASK_PVT;