[Home] [Help]
PACKAGE BODY: APPS.IEU_SH_PVT
Source
1 PACKAGE BODY IEU_SH_PVT AS
2 /* $Header: IEUSHVB.pls 115.19 2004/07/23 10:19:31 nveerara ship $ */
3 PROCEDURE UWQ_BEGIN_SESSION
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_RESOURCE_ID IN NUMBER,
8 P_USER_ID IN NUMBER,
9 P_LOGIN_ID IN NUMBER DEFAULT NULL,
10 P_EXTENSION IN VARCHAR2 DEFAULT NULL,
11 P_APPLICATION_ID IN NUMBER,
12 X_SESSION_ID OUT NOCOPY NUMBER,
13 X_MSG_COUNT OUT NOCOPY NUMBER,
14 X_MSG_DATA OUT NOCOPY VARCHAR2,
15 X_RETURN_STATUS OUT NOCOPY VARCHAR2) IS
16
17 PRAGMA AUTONOMOUS_TRANSACTION;
18
19 l_api_version CONSTANT NUMBER := 1.0;
20 l_api_name CONSTANT VARCHAR2(30) := 'UWQ_BEGIN_SESSION';
21
22 l_token_str VARCHAR2(4000) := '';
23
24 l_end_date_time DATE;
25
26 l_object_version_number NUMBER;
27 l_active_flag VARCHAR2(1);
28 BEGIN
29 l_object_version_number := 1;
30 l_active_flag := 'T';
31
32 x_return_status := fnd_api.g_ret_sts_success;
33
34 -- Check for API Version
35
36 IF NOT fnd_api.compatible_api_call (
37 l_api_version,
38 p_api_version,
39 l_api_name,
40 g_pkg_name
41 )
42 THEN
43 RAISE fnd_api.g_exc_unexpected_error;
44 END IF;
45
46 -- Initialize Message list
47
48 IF fnd_api.to_boolean(p_init_msg_list)
49 THEN
50 FND_MSG_PUB.INITIALIZE;
51 END IF;
52
53 INSERT INTO IEU_SH_SESSIONS (
54 SESSION_ID,
55 OBJECT_VERSION_NUMBER,
56 CREATED_BY,
57 CREATION_DATE,
58 LAST_UPDATED_BY,
59 LAST_UPDATE_DATE,
60 LAST_UPDATE_LOGIN,
61 RESOURCE_ID,
62 BEGIN_DATE_TIME,
63 END_DATE_TIME,
64 ACTIVE_FLAG,
65 EXTENSION,
66 APPLICATION_ID
67 ) values
68 (
69 IEU_SH_SESSIONS_S1.NEXTVAL,
70 l_object_version_number,
71 P_USER_ID,
72 SYSDATE,
73 P_USER_ID,
74 SYSDATE,
75 P_LOGIN_ID,
76 P_RESOURCE_ID,
77 SYSDATE,
78 NULL,
79 l_active_flag,
80 P_EXTENSION,
81 P_APPLICATION_ID)
82 RETURNING SESSION_ID INTO X_SESSION_ID;
83
84 if (sql%notfound) then
85 x_return_status := fnd_api.g_ret_sts_error;
86 end if;
87
88 IF (x_return_status <> fnd_api.g_ret_sts_success)
89 THEN
90
91 x_return_status := fnd_api.g_ret_sts_error;
92
93 l_token_str := 'USER_ID : '||p_user_id||
94 ' RESOURCE_ID : '||p_resource_id;
95
96 FND_MESSAGE.SET_NAME('IEU', 'IEU_CREATE_SESSION_FAILED');
97 FND_MESSAGE.SET_TOKEN('PACKAGE_NAME','IEU_SH_PVT.UWQ_BEGIN_SESSION');
98 FND_MESSAGE.SET_TOKEN('DETAILS', l_token_str);
99
100 fnd_msg_pub.ADD;
101 fnd_msg_pub.Count_and_Get
102 (
103 p_count => x_msg_count,
104 p_data => x_msg_data
105 );
106
107 RAISE fnd_api.g_exc_error;
108 END IF;
109
110 COMMIT;
111
112 EXCEPTION
113
114 WHEN fnd_api.g_exc_error THEN
115
116 ROLLBACK;
117 x_return_status := fnd_api.g_ret_sts_error;
118
119 fnd_msg_pub.Count_and_Get
120 (
121 p_count => x_msg_count,
122 p_data => x_msg_data
123 );
124
125 WHEN fnd_api.g_exc_unexpected_error THEN
126
127 ROLLBACK;
128 x_return_status := fnd_api.g_ret_sts_unexp_error;
129
130 fnd_msg_pub.Count_and_Get
131 (
132 p_count => x_msg_count,
133 p_data => x_msg_data
134 );
135
136
137 WHEN OTHERS THEN
138
139 ROLLBACK;
140 x_return_status := fnd_api.g_ret_sts_unexp_error;
141
142 IF FND_MSG_PUB.Check_msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
143 THEN
144
145 fnd_msg_pub.Count_and_Get
146 (
147 p_count => x_msg_count,
148 p_data => x_msg_data
149 );
150
151 END IF;
152
153 END UWQ_BEGIN_SESSION;
154
155 PROCEDURE UWQ_END_SESSION
156 ( P_API_VERSION IN NUMBER,
157 P_INIT_MSG_LIST IN VARCHAR2 DEFAULT fnd_api.g_false,
158 P_COMMIT IN VARCHAR2 DEFAULT fnd_api.g_false,
159 P_SESSION_ID IN NUMBER,
160 P_END_REASON_CODE IN VARCHAR2 DEFAULT NULL,
161 X_MSG_COUNT OUT NOCOPY NUMBER,
162 X_MSG_DATA OUT NOCOPY VARCHAR2,
163 X_RETURN_STATUS OUT NOCOPY VARCHAR2 ) IS
164
165 PRAGMA AUTONOMOUS_TRANSACTION;
166
167 l_api_version CONSTANT NUMBER := 1.0;
168 l_api_name CONSTANT VARCHAR2(30) := 'UWQ_END_SESSION';
169
170 l_token_str VARCHAR2(4000) := '';
171
172 BEGIN
173
174 x_return_status := fnd_api.g_ret_sts_success;
175
176 -- Check for API Version
177
178 IF NOT fnd_api.compatible_api_call (
179 l_api_version,
180 p_api_version,
181 l_api_name,
182 g_pkg_name
183 )
184 THEN
185 RAISE fnd_api.g_exc_unexpected_error;
186 END IF;
187
188 -- Initialize Message list
189
190 IF fnd_api.to_boolean(p_init_msg_list)
191 THEN
192 FND_MSG_PUB.INITIALIZE;
193 END IF;
194
195 update IEU_SH_SESSIONS set
196 OBJECT_VERSION_NUMBER = OBJECT_VERSION_NUMBER + 1,
197 END_DATE_TIME = SYSDATE,
198 ACTIVE_FLAG = NULL,
199 END_REASON_CODE = P_END_REASON_CODE,
200 FORCE_CLOSED_BY_UWQ_FLAG = 'N',
201 LAST_UPDATE_DATE = SYSDATE
202 WHERE SESSION_ID = P_SESSION_ID;
203
204 if (sql%notfound) then
205 x_return_status := fnd_api.g_ret_sts_error;
206 end if;
207
208
209 IF (x_return_status <> fnd_api.g_ret_sts_success)
210 THEN
211
212 x_return_status := fnd_api.g_ret_sts_error;
213
214 l_token_str := 'SESSION_ID : '||p_session_id;
215
216 FND_MESSAGE.SET_NAME('IEU', 'IEU_END_SESSION_FAILED');
217 FND_MESSAGE.SET_TOKEN('PACKAGE_NAME','IEU_SH_PVT.UWQ_END_SESSION');
218 FND_MESSAGE.SET_TOKEN('DETAILS', l_token_str);
219
220 fnd_msg_pub.ADD;
221 fnd_msg_pub.Count_and_Get
222 (
223 p_count => x_msg_count,
224 p_data => x_msg_data
225 );
226
227 RAISE fnd_api.g_exc_error;
228 END IF;
229
230 COMMIT;
231
232 EXCEPTION
233
234 WHEN fnd_api.g_exc_error THEN
235
236 ROLLBACK;
237 x_return_status := fnd_api.g_ret_sts_error;
238
239 fnd_msg_pub.Count_and_Get
240 (
241 p_count => x_msg_count,
242 p_data => x_msg_data
243 );
244
245 WHEN fnd_api.g_exc_unexpected_error THEN
246
247 ROLLBACK;
248 x_return_status := fnd_api.g_ret_sts_unexp_error;
249
250 fnd_msg_pub.Count_and_Get
251 (
252 p_count => x_msg_count,
253 p_data => x_msg_data
254 );
255
256
257 WHEN OTHERS THEN
258
259 ROLLBACK;
260 x_return_status := fnd_api.g_ret_sts_unexp_error;
261
262 IF FND_MSG_PUB.Check_msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
263 THEN
264
265 fnd_msg_pub.Count_and_Get
266 (
267 p_count => x_msg_count,
268 p_data => x_msg_data
269 );
270
271 END IF;
272 END UWQ_END_SESSION;
273
274 PROCEDURE UWQ_BEGIN_ACTIVITY
275 ( P_API_VERSION IN NUMBER,
276 P_INIT_MSG_LIST IN VARCHAR2 DEFAULT fnd_api.g_false,
277 P_COMMIT IN VARCHAR2 DEFAULT fnd_api.g_false,
278 P_SESSION_ID IN NUMBER,
279 -- P_ACTIVITY_TYPE_ID IN NUMBER,
280 P_ACTIVITY_TYPE_CODE IN VARCHAR2,
281 P_LAST_ACTIVITY_ID IN NUMBER DEFAULT NULL,
282 P_BEGIN_TIME_FLAG IN NUMBER DEFAULT NULL,
283 P_MEDIA_TYPE_ID IN NUMBER DEFAULT NULL,
284 P_MEDIA_ID IN NUMBER DEFAULT NULL,
285 P_USER_ID IN NUMBER,
286 P_LOGIN_ID IN NUMBER DEFAULT NULL,
287 P_REASON_CODE IN VARCHAR2 DEFAULT NULL,
288 P_REQUEST_METHOD IN VARCHAR2 DEFAULT NULL,
289 P_REQUESTED_MEDIA_TYPE_ID IN NUMBER DEFAULT NULL,
290 P_WORK_ITEM_TYPE_CODE IN VARCHAR2 DEFAULT NULL,
291 P_WORK_ITEM_PK_ID IN NUMBER DEFAULT NULL,
292 P_END_ACTIVITY_FLAG IN VARCHAR2 DEFAULT NULL,
293 P_PARENT_CYCLE_ID IN NUMBER DEFAULT NULL,
294 P_CATEGORY_TYPE IN VARCHAR2 DEFAULT NULL,
295 P_CATEGORY_VALUE IN VARCHAR2 DEFAULT NULL,
296 X_ACTIVITY_ID OUT NOCOPY NUMBER,
297 X_MSG_COUNT OUT NOCOPY NUMBER,
298 X_MSG_DATA OUT NOCOPY VARCHAR2,
299 X_RETURN_STATUS OUT NOCOPY VARCHAR2) IS
300
301 PRAGMA AUTONOMOUS_TRANSACTION;
302
303 l_api_version CONSTANT NUMBER := 1.0;
304 l_api_name CONSTANT VARCHAR2(30) := 'UWQ_BEGIN_ACTIVITY';
305
306 l_token_str VARCHAR2(4000) := '';
307
308 l_return_status varchar2(5);
309 l_msg_count number;
310 l_msg_data varchar2(1000);
311
312 l_begin_date_time DATE;
313 l_last_activity_id NUMBER;
314
315 l_end_date_time DATE;
316 l_active_flag VARCHAR2(1);
317
318 l_activity_type_id NUMBER;
319
320 BEGIN
321
322 x_return_status := fnd_api.g_ret_sts_success;
323
324 -- Check for API Version
325
326 IF NOT fnd_api.compatible_api_call (
327 l_api_version,
328 p_api_version,
329 l_api_name,
330 g_pkg_name
331 )
332 THEN
333 RAISE fnd_api.g_exc_unexpected_error;
334 END IF;
335
336 -- Initialize Message list
337
338 IF fnd_api.to_boolean(p_init_msg_list)
339 THEN
340 FND_MSG_PUB.INITIALIZE;
341 END IF;
342
343 UPDATE ieu_sh_sessions
344 SET active_flag = 'Y',
345 end_date_time = NULL
346 WHERE session_id = p_session_id
347 AND end_date_time is not null
348 AND active_flag <> 'Y';
349
350 BEGIN
351
352 SELECT activity_type_id
353 INTO l_activity_type_id
354 FROM ieu_sh_act_types_b
355 WHERE activity_type_code = p_activity_type_code;
356
357 EXCEPTION
358 WHEN OTHERS THEN
359 NULL;
360 END;
361
362 -- changes for correcting reports..
363 -- 0 OR NULL means we have to use db native time
364 -- 1 means we have to use previous activity time
365 -- 2 means we have to use previous cycle time
366 IF ( P_BEGIN_TIME_FLAG = 1 )
367 THEN
368 l_last_activity_id := P_LAST_ACTIVITY_ID;
369 ELSIF ( P_BEGIN_TIME_FLAG = 2 )
370 THEN
371 l_last_activity_id := P_PARENT_CYCLE_ID;
372 END IF;
373
374 -- the default begin_date_time is the current systime
375 SELECT SYSDATE INTO l_begin_date_time FROM DUAL;
376
377 -- if this is the first activity in the cycle then get the begin_date_time
378 -- for the cycle
379 -- if this is an intermediate activity get the end_date_time of the
380 -- previous activity if there is an error default to the current time
381 if ( l_last_activity_id IS NOT NULL )
382 THEN
383 IF ( P_BEGIN_TIME_FLAG = 1 )
384 THEN
385 SELECT END_DATE_TIME INTO l_begin_date_time FROM IEU_SH_ACTIVITIES
386 WHERE ACTIVITY_ID = l_last_activity_id;
387 ELSIF ( P_BEGIN_TIME_FLAG = 2 )
388 THEN
389 SELECT BEGIN_DATE_TIME INTO l_begin_date_time FROM IEU_SH_ACTIVITIES
390 WHERE ACTIVITY_ID = l_last_activity_id;
391 END IF;
392 END IF;
393
394 -- end changes for correcting reports
395
396 INSERT INTO IEU_SH_ACTIVITIES (
397 ACTIVITY_ID,
398 SESSION_ID,
399 ACTIVITY_TYPE_ID,
400 ACTIVITY_TYPE_CODE,
401 MEDIA_TYPE_ID,
402 MEDIA_ID,
403 OBJECT_VERSION_NUMBER,
404 CREATED_BY,
405 CREATION_DATE,
406 LAST_UPDATED_BY,
407 LAST_UPDATE_DATE,
408 LAST_UPDATE_LOGIN,
409 BEGIN_DATE_TIME,
410 END_DATE_TIME,
411 ACTIVE_FLAG,
412 REASON_CODE,
413 REQUEST_METHOD,
414 REQUESTED_MEDIA_TYPE_ID,
415 WORK_ITEM_TYPE_CODE,
416 WORK_ITEM_PK_ID,
417 STATE_CODE,
418 PARENT_CYCLE_ID,
419 CATEGORY_TYPE,
420 CATEGORY_VALUE
421 ) values
422 (
423 IEU_SH_ACTIVITIES_S1.NEXTVAL,
424 P_SESSION_ID,
425 L_ACTIVITY_TYPE_ID,
426 P_ACTIVITY_TYPE_CODE,
427 P_MEDIA_TYPE_ID,
428 P_MEDIA_ID,
429 1,
430 P_USER_ID,
431 l_begin_date_time,
432 P_USER_ID,
433 l_begin_date_time,
434 P_LOGIN_ID,
435 l_begin_date_time,
436 NULL,
437 'T',
438 P_REASON_CODE,
439 P_REQUEST_METHOD,
440 P_REQUESTED_MEDIA_TYPE_ID,
441 P_WORK_ITEM_TYPE_CODE,
442 P_WORK_ITEM_PK_ID,
443 'BEGIN',
444 P_PARENT_CYCLE_ID,
445 P_CATEGORY_TYPE,
446 P_CATEGORY_VALUE)
447 RETURNING ACTIVITY_ID INTO X_ACTIVITY_ID;
448
449 if (sql%notfound) then
450 x_return_status := fnd_api.g_ret_sts_error;
451 l_token_str := 'USER_ID : '|| p_user_id ||
452 ' SESSION_ID : '||p_session_id;
453
454 FND_MESSAGE.SET_NAME('IEU', 'IEU_CREATE_ACTIVITY_FAILED');
455 FND_MESSAGE.SET_TOKEN('PACKAGE_NAME','IEU_SH_PVT.UWQ_BEGIN_ACTIVITY');
456 FND_MESSAGE.SET_TOKEN('DETAILS', l_token_str);
457
458 fnd_msg_pub.ADD;
459 fnd_msg_pub.Count_and_Get
460 (
461 p_count => x_msg_count,
462 p_data => x_msg_data
463 );
464
465 RAISE fnd_api.g_exc_error;
466 end if;
467
468 COMMIT;
469
470 -- A NON_MEDIA activity has only one state, so
471 -- we will just end it right away.
472
473
474 -- IF (P_ACTIVITY_TYPE_CODE = 'NON_MEDIA') THEN
475 IF (nvl(P_END_ACTIVITY_FLAG, 'N') = 'Y') THEN
476 IEU_SH_PVT.UWQ_END_ACTIVITY
477 ( P_API_VERSION => l_api_version,
478 P_INIT_MSG_LIST => 'T',
479 P_COMMIT => 'T',
483 X_MSG_COUNT => l_msg_count,
480 P_ACTIVITY_ID => x_activity_id,
481 P_MEDIA_TYPE_ID => NULL,
482 P_MEDIA_ID => NULL,
484 X_MSG_DATA => l_msg_data,
485 X_RETURN_STATUS => l_return_status);
486 END IF;
487
488
489 if (l_return_status <> 'S') then
490 x_return_status := fnd_api.g_ret_sts_error;
491 end if;
492
493 IF (x_return_status <> fnd_api.g_ret_sts_success)
494 THEN
495
496 x_return_status := fnd_api.g_ret_sts_error;
497
498 l_token_str := 'USER_ID : '|| p_user_id ||
499 ' SESSION_ID : '||p_session_id;
500
501 FND_MESSAGE.SET_NAME('IEU', 'IEU_CREATE_ACTIVITY_FAILED');
502 FND_MESSAGE.SET_TOKEN('PACKAGE_NAME','IEU_SH_PVT.UWQ_BEGIN_ACTIVITY');
503 FND_MESSAGE.SET_TOKEN('DETAILS', l_token_str);
504
505 fnd_msg_pub.ADD;
506 fnd_msg_pub.Count_and_Get
507 (
508 p_count => x_msg_count,
509 p_data => x_msg_data
510 );
511
512 RAISE fnd_api.g_exc_error;
513 END IF;
514
515 -- In any Autonomous Transaction, COMMIT and ROLLBACK end the active autonomous transaction but do not exit the autonomous routine.
516 -- when one transaction ends, the next SQL statement begins another transaction. So we have to COMMIT this transaction again.
517
518 COMMIT;
519
520 EXCEPTION
521
522 WHEN fnd_api.g_exc_error THEN
523
524 ROLLBACK;
525 x_return_status := fnd_api.g_ret_sts_error;
526
527 fnd_msg_pub.Count_and_Get
528 (
529 p_count => x_msg_count,
530 p_data => x_msg_data
531 );
532
533 WHEN fnd_api.g_exc_unexpected_error THEN
534
535 ROLLBACK;
536 x_return_status := fnd_api.g_ret_sts_unexp_error;
537
538 fnd_msg_pub.Count_and_Get
539 (
540 p_count => x_msg_count,
541 p_data => x_msg_data
542 );
543
544
545 WHEN OTHERS THEN
546
547 ROLLBACK;
548 x_return_status := fnd_api.g_ret_sts_unexp_error;
549
550 IF FND_MSG_PUB.Check_msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
551 THEN
552
553 fnd_msg_pub.Count_and_Get
554 (
555 p_count => x_msg_count,
556 p_data => x_msg_data
557 );
558
559 END IF;
560
561 END UWQ_BEGIN_ACTIVITY;
562
563
564 PROCEDURE UWQ_UPDATE_ACTIVITY
565 ( P_API_VERSION IN NUMBER,
566 P_INIT_MSG_LIST IN VARCHAR2 DEFAULT fnd_api.g_false,
567 P_COMMIT IN VARCHAR2 DEFAULT fnd_api.g_false,
568 P_ACTIVITY_ID IN NUMBER,
569 P_INTERMEDIATE_STATE_CODE IN VARCHAR2 DEFAULT NULL,
570 P_MEDIA_TYPE_ID IN NUMBER DEFAULT NULL,
571 P_MEDIA_ID IN NUMBER DEFAULT NULL,
572 P_REASON_CODE IN VARCHAR2 DEFAULT NULL,
573 X_MSG_COUNT OUT NOCOPY NUMBER,
574 X_MSG_DATA OUT NOCOPY VARCHAR2,
575 X_RETURN_STATUS OUT NOCOPY VARCHAR2) IS
576
577 PRAGMA AUTONOMOUS_TRANSACTION;
578
579 l_api_version CONSTANT NUMBER := 1.0;
580 l_api_name CONSTANT VARCHAR2(30) := 'UWQ_UPDATE_ACTIVITY';
581
582 l_token_str VARCHAR2(4000) := '';
583
584 BEGIN
585
586 x_return_status := fnd_api.g_ret_sts_success;
587
588 -- Check for API Version
589
590 IF NOT fnd_api.compatible_api_call (
591 l_api_version,
592 p_api_version,
593 l_api_name,
594 g_pkg_name
595 )
596 THEN
597 RAISE fnd_api.g_exc_unexpected_error;
598 END IF;
599
600 -- Initialize Message list
601
602 IF fnd_api.to_boolean(p_init_msg_list)
603 THEN
604 FND_MSG_PUB.INITIALIZE;
605 END IF;
606
607 IF (P_INTERMEDIATE_STATE_CODE = 'ACTIVE') THEN
608
609 update IEU_SH_ACTIVITIES set
610 OBJECT_VERSION_NUMBER = OBJECT_VERSION_NUMBER + 1,
611 DELIVER_DATE_TIME = SYSDATE,
612 STATE_CODE = P_INTERMEDIATE_STATE_CODE
613 WHERE ACTIVITY_ID = P_ACTIVITY_ID;
614
615 if (sql%notfound) then
616 x_return_status := fnd_api.g_ret_sts_error;
617 end if;
618
619 END IF;
620
621 IF (P_MEDIA_ID IS NOT NULL)
622 THEN
623
624 UPDATE IEU_SH_ACTIVITIES SET
625 MEDIA_ID = P_MEDIA_ID,
626 LAST_UPDATE_DATE = SYSDATE
627 WHERE ACTIVITY_ID = P_ACTIVITY_ID;
628
629 END IF;
630
631 IF (P_MEDIA_TYPE_ID IS NOT NULL)
632 THEN
633
634 UPDATE IEU_SH_ACTIVITIES SET
635 MEDIA_TYPE_ID = P_MEDIA_TYPE_ID,
636 LAST_UPDATE_DATE = SYSDATE
637 WHERE ACTIVITY_ID = P_ACTIVITY_ID;
638
639 END IF;
640
641 IF (P_MEDIA_TYPE_ID IS NOT NULL)
642 THEN
643
647 WHERE ACTIVITY_ID = P_ACTIVITY_ID;
644 UPDATE IEU_SH_ACTIVITIES SET
645 REASON_CODE = P_REASON_CODE,
646 LAST_UPDATE_DATE = SYSDATE
648
649 END IF;
650
651 IF (x_return_status <> fnd_api.g_ret_sts_success)
652 THEN
653
654 x_return_status := fnd_api.g_ret_sts_error;
655
656 l_token_str := 'ACTIVITY_ID : '||p_activity_id;
657
658 FND_MESSAGE.SET_NAME('IEU', 'IEU_UPDATE_ACTIVITY_FAILED');
659 FND_MESSAGE.SET_TOKEN('PACKAGE_NAME','IEU_SH_PVT.UWQ_UPDATE_ACTIVITY');
660 FND_MESSAGE.SET_TOKEN('DETAILS', l_token_str);
661
662 fnd_msg_pub.ADD;
663 fnd_msg_pub.Count_and_Get
664 (
665 p_count => x_msg_count,
666 p_data => x_msg_data
667 );
668
669 RAISE fnd_api.g_exc_error;
670 END IF;
671
672 COMMIT;
673
674 EXCEPTION
675
676 WHEN fnd_api.g_exc_error THEN
677
678 ROLLBACK;
679 x_return_status := fnd_api.g_ret_sts_error;
680
681 fnd_msg_pub.Count_and_Get
682 (
683 p_count => x_msg_count,
684 p_data => x_msg_data
685 );
686
687 WHEN fnd_api.g_exc_unexpected_error THEN
688
689 ROLLBACK;
690 x_return_status := fnd_api.g_ret_sts_unexp_error;
691
692 fnd_msg_pub.Count_and_Get
693 (
694 p_count => x_msg_count,
695 p_data => x_msg_data
696 );
697
698
699 WHEN OTHERS THEN
700
701 ROLLBACK;
702 x_return_status := fnd_api.g_ret_sts_unexp_error;
703
704 IF FND_MSG_PUB.Check_msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
705 THEN
706
707 fnd_msg_pub.Count_and_Get
708 (
709 p_count => x_msg_count,
710 p_data => x_msg_data
711 );
712
713 END IF;
714
715 END UWQ_UPDATE_ACTIVITY;
716
717
718 PROCEDURE UWQ_END_ACTIVITY
719 ( P_API_VERSION IN NUMBER,
720 P_INIT_MSG_LIST IN VARCHAR2 DEFAULT fnd_api.g_false,
721 P_COMMIT IN VARCHAR2 DEFAULT fnd_api.g_false,
722 P_ACTIVITY_ID IN NUMBER,
723 P_LAST_ACTIVITY_ID IN NUMBER DEFAULT NULL,
724 P_MEDIA_TYPE_ID IN NUMBER DEFAULT NULL,
725 P_MEDIA_ID IN NUMBER DEFAULT NULL,
726 P_COMPLETION_CODE IN VARCHAR2 DEFAULT NULL,
727 X_MSG_COUNT OUT NOCOPY NUMBER,
728 X_MSG_DATA OUT NOCOPY VARCHAR2,
729 X_RETURN_STATUS OUT NOCOPY VARCHAR2) IS
730
731 PRAGMA AUTONOMOUS_TRANSACTION;
732
733 l_api_version CONSTANT NUMBER := 1.0;
734 l_api_name CONSTANT VARCHAR2(30) := 'UWQ_END_ACTIVITY';
735
736 l_token_str VARCHAR2(4000) := '';
737 l_end_date_time DATE;
738
739 -- l_session_id NUMBER;
740
741 BEGIN
742
743 x_return_status := fnd_api.g_ret_sts_success;
744
745 -- Check for API Version
746
747 IF NOT fnd_api.compatible_api_call (
748 l_api_version,
749 p_api_version,
750 l_api_name,
751 g_pkg_name
752 )
753 THEN
754 RAISE fnd_api.g_exc_unexpected_error;
755 END IF;
756
757 -- Initialize Message list
758
759 IF fnd_api.to_boolean(p_init_msg_list)
760 THEN
761 FND_MSG_PUB.INITIALIZE;
762 END IF;
763
764 -- begin changes for correcting reports
765 -- the default end_date_time is the current time
766 -- if the last activity id is passed this is a MEDIA_CYCLE ending..
767 -- set the end_date_time as the end time of the last activity
768
769 SELECT SYSDATE INTO l_end_date_time FROM DUAL;
770
771 IF ( P_LAST_ACTIVITY_ID IS NOT NULL )
772 THEN
773 SELECT END_DATE_TIME INTO l_end_date_time FROM IEU_SH_ACTIVITIES WHERE
774 ACTIVITY_ID = P_LAST_ACTIVITY_ID;
775 END IF;
776
777 -- end changes for correcting reports
778
779 update IEU_SH_ACTIVITIES set
780 OBJECT_VERSION_NUMBER = OBJECT_VERSION_NUMBER + 1,
781 END_DATE_TIME = l_end_date_time,
782 MEDIA_ID = P_MEDIA_ID,
783 MEDIA_TYPE_ID = P_MEDIA_TYPE_ID,
784 ACTIVE_FLAG = NULL,
785 COMPLETION_CODE = P_COMPLETION_CODE,
786 STATE_CODE = 'END',
787 FORCE_CLOSED_BY_UWQ_FLAG = 'N',
788 LAST_UPDATE_DATE = l_end_date_time
789 WHERE ACTIVITY_ID = P_ACTIVITY_ID;
790
791 if (sql%notfound) then
792 x_return_status := fnd_api.g_ret_sts_error;
793 end if;
794
795 IF (x_return_status <> fnd_api.g_ret_sts_success)
796 THEN
797
798 x_return_status := fnd_api.g_ret_sts_error;
799
800 l_token_str := 'ACTIVITY_ID : '||p_activity_id;
801
802 FND_MESSAGE.SET_NAME('IEU', 'IEU_END_ACTIVITY_FAILED');
803 FND_MESSAGE.SET_TOKEN('PACKAGE_NAME','IEU_SH_PVT.UWQ_END_ACTIVITY');
804 FND_MESSAGE.SET_TOKEN('DETAILS', l_token_str);
805
806 fnd_msg_pub.ADD;
807 fnd_msg_pub.Count_and_Get
808 (
809 p_count => x_msg_count,
810 p_data => x_msg_data
811 );
812
813 RAISE fnd_api.g_exc_error;
814 END IF;
815
816 COMMIT;
817
818
819 EXCEPTION
820
821 WHEN fnd_api.g_exc_error THEN
822
823 ROLLBACK;
824 x_return_status := fnd_api.g_ret_sts_error;
825
826 fnd_msg_pub.Count_and_Get
827 (
828 p_count => x_msg_count,
829 p_data => x_msg_data
830 );
831
832 WHEN fnd_api.g_exc_unexpected_error THEN
833
834 ROLLBACK;
835 x_return_status := fnd_api.g_ret_sts_unexp_error;
836
837 fnd_msg_pub.Count_and_Get
838 (
839 p_count => x_msg_count,
840 p_data => x_msg_data
841 );
842
843
844 WHEN OTHERS THEN
845
846 ROLLBACK;
847 x_return_status := fnd_api.g_ret_sts_unexp_error;
848
849 IF FND_MSG_PUB.Check_msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
850 THEN
851
852 fnd_msg_pub.Count_and_Get
853 (
854 p_count => x_msg_count,
855 p_data => x_msg_data
856 );
857
861
858 END IF;
859
860 END UWQ_END_ACTIVITY;
862 PROCEDURE UWQ_BREAK_TRANSITION
863 ( P_API_VERSION IN NUMBER,
864 P_INIT_MSG_LIST IN VARCHAR2 DEFAULT fnd_api.g_false,
865 P_COMMIT IN VARCHAR2 DEFAULT fnd_api.g_false,
866 P_SESSION_ID IN NUMBER,
867 P_ACTIVITY_ID IN NUMBER,
868 -- P_ACTIVITY_TYPE_ID IN NUMBER,
869 P_ACTIVITY_TYPE_CODE IN VARCHAR2,
870 P_LAST_ACTIVITY_ID IN NUMBER DEFAULT NULL,
871 P_BEGIN_TIME_FLAG IN NUMBER DEFAULT NULL,
872 P_MEDIA_TYPE_ID IN NUMBER DEFAULT NULL,
873 P_MEDIA_ID IN NUMBER DEFAULT NULL,
874 P_USER_ID IN NUMBER,
875 P_LOGIN_ID IN NUMBER DEFAULT NULL,
876 -- P_PRV_REASON_CODE IN VARCHAR2 DEFAULT NULL
877 P_COMPLETION_CODE IN VARCHAR2 DEFAULT NULL,
878 P_REASON_CODE IN VARCHAR2 DEFAULT NULL,
879 P_REQUEST_METHOD IN VARCHAR2 DEFAULT NULL,
880 P_REQUESTED_MEDIA_TYPE_ID IN NUMBER DEFAULT NULL,
881 P_WORK_ITEM_TYPE_CODE IN VARCHAR2 DEFAULT NULL,
882 P_WORK_ITEM_PK_ID IN NUMBER DEFAULT NULL,
883 P_END_ACTIVITY_FLAG IN VARCHAR2 DEFAULT NULL,
884 P_PARENT_CYCLE_ID IN NUMBER DEFAULT NULL,
885 P_CATEGORY_TYPE IN VARCHAR2 DEFAULT NULL,
886 P_CATEGORY_VALUE IN VARCHAR2 DEFAULT NULL,
887 X_ACTIVITY_ID OUT NOCOPY NUMBER,
888 X_MSG_COUNT OUT NOCOPY NUMBER,
889 X_MSG_DATA OUT NOCOPY VARCHAR2,
890 X_RETURN_STATUS OUT NOCOPY VARCHAR2) AS
891
892 BEGIN
893 UWQ_END_ACTIVITY(
894 P_API_VERSION ,
895 P_INIT_MSG_LIST ,
896 P_COMMIT ,
897 P_ACTIVITY_ID ,
898 P_LAST_ACTIVITY_ID,
899 P_MEDIA_TYPE_ID ,
900 P_MEDIA_ID ,
901 P_COMPLETION_CODE ,
902 X_MSG_COUNT ,
903 X_MSG_DATA ,
904 X_RETURN_STATUS );
905
906 UWQ_BEGIN_ACTIVITY(
907 P_API_VERSION ,
908 P_INIT_MSG_LIST ,
909 P_COMMIT ,
910 P_SESSION_ID ,
911 -- P_ACTIVITY_TYPE_ID IN NUMBER,
912 P_ACTIVITY_TYPE_CODE,
913 P_LAST_ACTIVITY_ID,
914 P_BEGIN_TIME_FLAG ,
915 P_MEDIA_TYPE_ID ,
916 P_MEDIA_ID ,
917 P_USER_ID ,
918 P_LOGIN_ID ,
919 -- P_PRV_REASON_CODE IN VARCHAR2 DEFAULT NULL
920 P_REASON_CODE ,
921 P_REQUEST_METHOD ,
922 P_REQUESTED_MEDIA_TYPE_ID,
923 P_WORK_ITEM_TYPE_CODE,
924 P_WORK_ITEM_PK_ID ,
925 P_END_ACTIVITY_FLAG,
926 P_PARENT_CYCLE_ID ,
927 P_CATEGORY_TYPE ,
928 P_CATEGORY_VALUE ,
929 X_ACTIVITY_ID ,
930 X_MSG_COUNT ,
931 X_MSG_DATA ,
932 X_RETURN_STATUS);
933
934 END UWQ_BREAK_TRANSITION;
935
936 END IEU_SH_PVT;