[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,
52 SELECT importance_level
49 x_return_status OUT NOCOPY varchar2 ) is
50 --
51 cursor c_check_ntf_required is
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';
169 -- AMS_ObjectAttribute_PVT.modify_object_attribute(
166 -- end if;
167
168
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 (
295 p_task_name => l_task_name,
292 p_api_version => l_api_version,
293 p_object_version_number => l_object_version_number,
294 p_task_id => l_task_id,
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,
436 -- x_return_status => l_return_status,
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,
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,
580 x_msg_count => x_msg_count ,
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,
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;