[Home] [Help]
PACKAGE BODY: APPS.AMS_ACTPARTNER_PVT
Source
1 PACKAGE BODY AMS_ActPartner_PVT AS
2 /* $Header: amsvapnb.pls 120.0 2005/05/31 16:39:43 appldev noship $ */
3
4 g_pkg_name CONSTANT VARCHAR2(30):='AMS_ActPartner_PVT';
5
6 ----------- Forward Declarations ---------------------
7 AMS_DEBUG_HIGH_ON boolean := FND_MSG_PUB.CHECK_MSG_LEVEL(FND_MSG_PUB.G_MSG_LVL_DEBUG_HIGH);
8 AMS_DEBUG_LOW_ON boolean := FND_MSG_PUB.CHECK_MSG_LEVEL(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW);
9 AMS_DEBUG_MEDIUM_ON boolean := FND_MSG_PUB.CHECK_MSG_LEVEL(FND_MSG_PUB.G_MSG_LVL_DEBUG_MEDIUM);
10
11 PROCEDURE check_act_partner_uk_items (
12 p_act_partner_rec IN act_partner_rec_type,
13 x_return_status OUT NOCOPY VARCHAR2
14 );
15
16 PROCEDURE check_act_partner_req_items(
17 p_act_partner_rec IN act_partner_rec_type,
18 x_return_status OUT NOCOPY VARCHAR2
19 );
20
21 PROCEDURE check_primary (
22 p_primary_flag IN VARCHAR2,
23 p_act_partner_used_by_id IN NUMBER,
24 p_arc_act_partner_used_by IN VARCHAR2,
25 x_return_status OUT NOCOPY VARCHAR2
26 );
27
28
29 ---------------------------------------------------------------------
30 -- PROCEDURE
31 -- create_act_partner
32 --
33 -- HISTORY
34 -- 04/24/2000 khung@us created
35 -- 07-Nov-2000 choang added call to modify object attr for
36 -- tick to appear on the cue card item.
37 ---------------------------------------------------------------------
38
39 PROCEDURE create_act_partner
40 (
41 p_api_version IN NUMBER,
42 p_init_msg_list IN VARCHAR2 := FND_API.g_false,
43 p_commit IN VARCHAR2 := FND_API.g_false,
44 p_validation_level IN NUMBER := FND_API.g_valid_level_full,
45 x_return_status OUT NOCOPY VARCHAR2,
46 x_msg_count OUT NOCOPY NUMBER,
47 x_msg_data OUT NOCOPY VARCHAR2,
48 p_act_partner_rec IN act_partner_rec_type,
49 x_act_partner_id OUT NOCOPY NUMBER
50 )
51 IS
52 l_partner_attr_code CONSTANT VARCHAR2(30) := 'PTNR';
53 l_api_version CONSTANT NUMBER := 1.0;
54 l_api_name CONSTANT VARCHAR2(30) := 'create_act_partner';
55 l_full_name CONSTANT VARCHAR2(60) := g_pkg_name ||'.'|| l_api_name;
56
57 l_return_status VARCHAR2(1);
58 l_act_partner_count NUMBER;
59 l_act_partner_rec act_partner_rec_type := p_act_partner_rec;
60
61 CURSOR c_act_partner_seq IS
62 SELECT ams_act_partners_s.NEXTVAL
63 FROM DUAL;
64
65 CURSOR c_act_partner_count(act_partner_id IN NUMBER) IS
66 SELECT COUNT(*)
67 FROM ams_act_partners
68 WHERE activity_partner_id = act_partner_id;
69
70 BEGIN
71
72 --------------------- initialize -----------------------
73 SAVEPOINT create_act_partner;
74
75
76 IF FND_API.to_boolean(p_init_msg_list) THEN
77 FND_MSG_PUB.initialize;
78 END IF;
79
80 IF NOT FND_API.compatible_api_call
81 (
82 l_api_version,
83 p_api_version,
84 l_api_name,
85 g_pkg_name
86 ) THEN
87 RAISE FND_API.g_exc_unexpected_error;
88 END IF;
89
90 x_return_status := FND_API.g_ret_sts_success;
91
92 ----------------------- validate -----------------------
93 IF (AMS_DEBUG_HIGH_ON) THEN
94
95 AMS_Utility_PVT.debug_message(l_full_name ||': validate');
96 END IF;
97
98 validate_act_partner
99 (
100 p_api_version => l_api_version,
101 p_init_msg_list => p_init_msg_list,
102 p_validation_level => p_validation_level,
103 x_return_status => l_return_status,
104 x_msg_count => x_msg_count,
105 x_msg_data => x_msg_data,
106 p_act_partner_rec => l_act_partner_rec
107 );
108
109 IF l_return_status = FND_API.g_ret_sts_error THEN
110 RAISE FND_API.g_exc_error;
111 ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
112 RAISE FND_API.g_exc_unexpected_error;
113 END IF;
114
115 -------------------------- insert --------------------------
116 IF (AMS_DEBUG_HIGH_ON) THEN
117
118 AMS_Utility_PVT.debug_message(l_full_name ||': insert');
119 END IF;
120
121 IF l_act_partner_rec.activity_partner_id IS NULL THEN
122 LOOP
123 OPEN c_act_partner_seq;
124 FETCH c_act_partner_seq INTO l_act_partner_rec.activity_partner_id;
125 CLOSE c_act_partner_seq;
126
127 OPEN c_act_partner_count(l_act_partner_rec.activity_partner_id);
128 FETCH c_act_partner_count INTO l_act_partner_count;
129 CLOSE c_act_partner_count;
130
131 EXIT WHEN l_act_partner_count = 0;
132 END LOOP;
133 END IF;
134
135 check_act_partner_req_items(
136 p_act_partner_rec => l_act_partner_rec,
137 x_return_status => l_return_status
138 );
139
140 check_primary(l_act_partner_rec.primary_flag ,l_act_partner_rec.act_partner_used_by_id,l_act_partner_rec.arc_act_partner_used_by,l_return_status);
141 ---------------------- insert --------------------------
142 INSERT INTO ams_act_partners(
143
144 activity_partner_id,
145 last_update_date,
146 last_updated_by,
147 creation_date,
148 created_by,
149 last_update_login,
150 object_version_number,
151 act_partner_used_by_id,
152 arc_act_partner_used_by,
153 primary_flag,
154 partner_id,
155 partner_type,
156 description,
157 attribute_category,
158 preferred_vad_id,
159 partner_address_id,
160 primary_contact_id,
161 attribute1,
162 attribute2,
163 attribute3,
164 attribute4,
165 attribute5,
166 attribute6,
167 attribute7,
168 attribute8,
169 attribute9,
170 attribute10,
171 attribute11,
172 attribute12,
173 attribute13,
174 attribute14,
175 attribute15
176 ) VALUES (
177 l_act_partner_rec.activity_partner_id,
178 SYSDATE,
179 FND_GLOBAL.user_id,
180 SYSDATE,
181 FND_GLOBAL.user_id,
182 FND_GLOBAL.conc_login_id,
183 1,
184 l_act_partner_rec.act_partner_used_by_id,
185 l_act_partner_rec.arc_act_partner_used_by,
186 l_act_partner_rec.primary_flag,
187 l_act_partner_rec.partner_id,
188 l_act_partner_rec.partner_type,
189 l_act_partner_rec.description,
190 l_act_partner_rec.attribute_category,
191 l_act_partner_rec.preferred_vad_id,
192 l_act_partner_rec.partner_address_id,
193 l_act_partner_rec.primary_contact_id,
194 l_act_partner_rec.attribute1,
195 l_act_partner_rec.attribute2,
196 l_act_partner_rec.attribute3,
197 l_act_partner_rec.attribute4,
198 l_act_partner_rec.attribute5,
199 l_act_partner_rec.attribute6,
200 l_act_partner_rec.attribute7,
201 l_act_partner_rec.attribute8,
202 l_act_partner_rec.attribute9,
203 l_act_partner_rec.attribute10,
204 l_act_partner_rec.attribute11,
205 l_act_partner_rec.attribute12,
206 l_act_partner_rec.attribute13,
207 l_act_partner_rec.attribute14,
208 l_act_partner_rec.attribute15
209 );
210
211 IF (AMS_DEBUG_HIGH_ON) THEN
212
213
214
215 AMS_Utility_PVT.debug_message(l_full_name ||': call modify_object_attribute');
216
217 END IF;
218
219 IF l_return_status = FND_API.g_ret_sts_error THEN
220 RAISE FND_API.g_exc_error;
221 ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
222 RAISE FND_API.g_exc_unexpected_error;
223 END IF;
224
225 ------------------------- finish -------------------------------
226 x_act_partner_id := l_act_partner_rec.activity_partner_id;
227
228 IF FND_API.to_boolean(p_commit) THEN
229 COMMIT;
230 END IF;
231
232 FND_MSG_PUB.count_and_get(
233 p_encoded => FND_API.g_false,
234 p_count => x_msg_count,
235 p_data => x_msg_data
236 );
237
238 IF (AMS_DEBUG_HIGH_ON) THEN
239
240
241
242 AMS_Utility_PVT.debug_message(l_full_name ||': end');
243
244 END IF;
245
246 EXCEPTION
247
248 WHEN FND_API.g_exc_error THEN
249 ROLLBACK TO create_act_partner;
250 x_return_status := FND_API.g_ret_sts_error;
251 FND_MSG_PUB.count_and_get(
252 p_encoded => FND_API.g_false,
253 p_count => x_msg_count,
254 p_data => x_msg_data
255 );
256
257 WHEN FND_API.g_exc_unexpected_error THEN
258 ROLLBACK TO create_act_partner;
259 x_return_status := FND_API.g_ret_sts_unexp_error ;
260 FND_MSG_PUB.count_and_get(
261 p_encoded => FND_API.g_false,
262 p_count => x_msg_count,
263 p_data => x_msg_data
264 );
265
266
267 WHEN OTHERS THEN
268 ROLLBACK TO create_act_partner;
269 x_return_status := FND_API.g_ret_sts_unexp_error ;
270
271 IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_unexp_error)
272 THEN
273 FND_MSG_PUB.add_exc_msg(g_pkg_name, l_api_name);
274 END IF;
275
276 FND_MSG_PUB.count_and_get(
277 p_encoded => FND_API.g_false,
278 p_count => x_msg_count,
279 p_data => x_msg_data
280 );
281
282 END create_act_partner;
283
284 ---------------------------------------------------------------------
285 -- PROCEDURE
286 -- update_act_partner
287 --
288 -- HISTORY
289 -- 04/24/2000 khung@us created
290 ----------------------------------------------------------------------
291
292 PROCEDURE update_act_partner
293 (
294 p_api_version IN NUMBER,
295 p_init_msg_list IN VARCHAR2 := FND_API.g_false,
296 p_commit IN VARCHAR2 := FND_API.g_false,
297 p_validation_level IN NUMBER := FND_API.g_valid_level_full,
298 --p_object_version_number IN NUMBER,
299
300 x_return_status OUT NOCOPY VARCHAR2,
301 x_msg_count OUT NOCOPY NUMBER,
302 x_msg_data OUT NOCOPY VARCHAR2,
303
304 p_act_partner_rec IN act_partner_rec_type
305 )
306 IS
307
308 l_api_version CONSTANT NUMBER := 1.0;
309 l_api_name CONSTANT VARCHAR2(30) := 'update_act_partner';
310 l_full_name CONSTANT VARCHAR2(60) := g_pkg_name ||'.'|| l_api_name;
311
312 l_act_partner_rec act_partner_rec_type;
313 l_return_status VARCHAR2(1);
314
315 BEGIN
316
317 -------------------- initialize -------------------------
318
319
320 SAVEPOINT update_act_partner;
321 l_act_partner_rec := p_act_partner_rec;
322 IF FND_API.to_boolean(p_init_msg_list) THEN
323 FND_MSG_PUB.initialize;
324 END IF;
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 ) THEN
332
333 RAISE FND_API.g_exc_unexpected_error;
334 END IF;
335
336 x_return_status := FND_API.G_RET_STS_SUCCESS;
337
338 ----------------------- validate ----------------------
339
340 -- replace g_miss_char/num/date with current column values
341 complete_act_partner_rec(p_act_partner_rec, l_act_partner_rec);
342
343
344 IF p_validation_level >= JTF_PLSQL_API.g_valid_level_item THEN
345
346 IF (AMS_DEBUG_HIGH_ON) THEN
347
348
349
350 AMS_Utility_PVT.debug_message('check_act_partner_items');
351
352 END IF;
353
354 check_act_partner_items(
355 p_act_partner_rec => p_act_partner_rec,
356 p_validation_mode => JTF_PLSQL_API.g_update,
357 x_return_status => l_return_status
358 );
359
360 IF l_return_status = FND_API.g_ret_sts_unexp_error THEN
361 RAISE FND_API.g_exc_unexpected_error;
362 ELSIF l_return_status = FND_API.g_ret_sts_error THEN
363 RAISE FND_API.g_exc_error;
364 END IF;
365 END IF;
366
367
368 IF p_validation_level >= JTF_PLSQL_API.g_valid_level_record THEN
369
370 IF (AMS_DEBUG_HIGH_ON) THEN
371
372
373
374 AMS_Utility_PVT.debug_message('check_act_partner_record');
375
376 END IF;
377
378 check_act_partner_record(
379 p_act_partner_rec => p_act_partner_rec,
380 p_complete_rec => l_act_partner_rec,
381 x_return_status => l_return_status
382 );
383
384 IF l_return_status = FND_API.g_ret_sts_unexp_error THEN
385 RAISE FND_API.g_exc_unexpected_error;
386 ELSIF l_return_status = FND_API.g_ret_sts_error THEN
387 RAISE FND_API.g_exc_error;
388 END IF;
389 END IF;
390
391
392 -------------------------- update --------------------
393
394 UPDATE ams_act_partners SET
395 last_update_date = SYSDATE,
396 last_updated_by = FND_GLOBAL.user_id,
397 last_update_login = FND_GLOBAL.conc_login_id,
398 primary_flag = l_act_partner_rec.primary_flag,
399 object_version_number = l_act_partner_rec.object_version_number + 1,
400 act_partner_used_by_id = l_act_partner_rec.act_partner_used_by_id,
401 arc_act_partner_used_by = l_act_partner_rec.arc_act_partner_used_by,
402 partner_id = l_act_partner_rec.partner_id,
403 partner_type = l_act_partner_rec.partner_type,
404 description = l_act_partner_rec.description,
405 attribute_category = l_act_partner_rec.attribute_category,
406 preferred_vad_id = l_act_partner_rec.preferred_vad_id,
407 partner_address_id = l_act_partner_rec.partner_address_id,
408 primary_contact_id = l_act_partner_rec.primary_contact_id,
409 attribute1 = l_act_partner_rec.attribute1,
410 attribute2 = l_act_partner_rec.attribute2,
411 attribute3 = l_act_partner_rec.attribute3,
412 attribute4 = l_act_partner_rec.attribute4,
413 attribute5 = l_act_partner_rec.attribute5,
414 attribute6 = l_act_partner_rec.attribute6,
415 attribute7 = l_act_partner_rec.attribute7,
416 attribute8 = l_act_partner_rec.attribute8,
417 attribute9 = l_act_partner_rec.attribute9,
418 attribute10 = l_act_partner_rec.attribute10,
419 attribute11 = l_act_partner_rec.attribute11,
420 attribute12 = l_act_partner_rec.attribute12,
421 attribute13 = l_act_partner_rec.attribute13,
422 attribute14 = l_act_partner_rec.attribute14,
423 attribute15 = l_act_partner_rec.attribute15
424 WHERE activity_partner_id = l_act_partner_rec.activity_partner_id
425 AND object_version_number = l_act_partner_rec.object_version_number;
426
427 IF (SQL%NOTFOUND) THEN
428 IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_error) THEN
429 FND_MESSAGE.set_name('AMS', 'AMS_API_RECORD_NOT_FOUND');
430 FND_MSG_PUB.add;
431 END IF;
432 RAISE FND_API.g_exc_error;
433 END IF;
434
435 -------------------- finish --------------------------
436 IF FND_API.to_boolean(p_commit) THEN
437 COMMIT;
438 END IF;
439
440 FND_MSG_PUB.count_and_get(
441 p_encoded => FND_API.g_false,
442 p_count => x_msg_count,
443 p_data => x_msg_data
444 );
445
446 IF (AMS_DEBUG_HIGH_ON) THEN
447
448
449
450 AMS_Utility_PVT.debug_message(l_full_name ||': end');
451
452 END IF;
453
454
455 EXCEPTION
456
457 WHEN FND_API.g_exc_error THEN
458 IF (AMS_DEBUG_HIGH_ON) THEN
459
460 AMS_Utility_PVT.debug_message('into exception block');
461 END IF;
462
463 ROLLBACK TO update_act_partner;
464 x_return_status := FND_API.g_ret_sts_error;
465 FND_MSG_PUB.count_and_get(
466 p_encoded => FND_API.g_false,
467 p_count => x_msg_count,
468 p_data => x_msg_data
469 );
470 --RAISE FND_API.G_EXC_ERROR;
471
472 WHEN FND_API.g_exc_unexpected_error THEN
473
474 ROLLBACK TO update_act_partner;
475 x_return_status := FND_API.g_ret_sts_unexp_error ;
476 FND_MSG_PUB.count_and_get(
477 p_encoded => FND_API.g_false,
478 p_count => x_msg_count,
479 p_data => x_msg_data
480 );
481 --RAISE FND_API.g_exc_unexpected_error;
482
483 WHEN OTHERS THEN
484
485 ROLLBACK TO update_act_partner;
486 x_return_status := FND_API.g_ret_sts_unexp_error ;
487
488 IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_unexp_error)
489 THEN
490 FND_MSG_PUB.add_exc_msg(g_pkg_name, l_api_name);
491 END IF;
492
493 FND_MSG_PUB.count_and_get(
494 p_encoded => FND_API.g_false,
495 p_count => x_msg_count,
496 p_data => x_msg_data
497 );
498 --RAISE FND_API.G_EXC_ERROR;
499
500 END update_act_partner;
501
502 --------------------------------------------------------------------
503 -- PROCEDURE
504 -- delete_act_partner
505 --
506 -- HISTORY
507 -- 04/24/2000 khung@us created
508 -- 07-Nov-2000 choang Added call to modify object attr
509 -- if no more partners associated to
510 -- the object, so the tick on the
511 -- screen goes away.
512 --------------------------------------------------------------------
513
514 PROCEDURE delete_act_partner
515 (
516 p_api_version IN NUMBER,
517 p_init_msg_list IN VARCHAR2 := FND_API.g_false,
518 p_commit IN VARCHAR2 := FND_API.g_false,
519
520 x_return_status OUT NOCOPY VARCHAR2,
521 x_msg_count OUT NOCOPY NUMBER,
522 x_msg_data OUT NOCOPY VARCHAR2,
523
524 p_act_partner_id IN NUMBER,
525 p_object_version IN NUMBER
526 )
527 IS
528 l_partner_attr_code CONSTANT VARCHAR2(30) := 'PTNR';
529 l_api_version CONSTANT NUMBER := 1.0;
530 l_api_name CONSTANT VARCHAR2(30) := 'delete_act_partner';
531 l_full_name CONSTANT VARCHAR2(60) := g_pkg_name ||'.'|| l_api_name;
532
533 l_object_type VARCHAR2(30);
534 l_object_id NUMBER;
535 l_dummy NUMBER;
536 l_return_status VARCHAR2(1);
537 l_primary_flag VARCHAR2(5);
538
539 --
540 -- capture the arc_used_by and used_by_id before
541 -- deleting for post delete validation that a
542 -- partner is still associated to the marketing
543 -- object.
544 --
545 -- c_partner_type: captures the arc_used_by and
546 -- used_by_id
547 -- c_partner_attr: validates that a partner is
548 -- still associated to the marketing
549 -- object.
550 CURSOR c_partner_type (p_act_partner_id IN NUMBER) IS
551 SELECT arc_act_partner_used_by, act_partner_used_by_id
552 FROM ams_act_partners
553 WHERE activity_partner_id = p_act_partner_id;
554
555 CURSOR c_partner_attr (p_object_type IN VARCHAR2, p_object_id IN NUMBER) IS
556 SELECT 1
557 FROM ams_act_partners
558 WHERE arc_act_partner_used_by = p_object_type
559 AND act_partner_used_by_id = p_object_id;
560
561 BEGIN
562
563 --------------------- initialize -----------------------
564 SAVEPOINT delete_act_partner;
565
566 IF (AMS_DEBUG_HIGH_ON) THEN
567
568
569
570 AMS_Utility_PVT.debug_message(l_full_name||': start');
571
572 END IF;
573
574 IF FND_API.to_boolean(p_init_msg_list) THEN
575 FND_MSG_PUB.initialize;
576 END IF;
577
578 IF NOT FND_API.compatible_api_call(
579 l_api_version,
580 p_api_version,
581 l_api_name,
582 g_pkg_name
583 ) THEN
584 RAISE FND_API.g_exc_unexpected_error;
585 END IF;
586
587 x_return_status := FND_API.G_RET_STS_SUCCESS;
588
589 OPEN c_partner_type (p_act_partner_id);
590 FETCH c_partner_type INTO l_object_type, l_object_id;
591 CLOSE c_partner_type;
592
593
594 ------------------------ delete ------------------------
595 IF (AMS_DEBUG_HIGH_ON) THEN
596
597 AMS_Utility_PVT.debug_message(p_act_partner_id ||': p_act_partner_id');
598 END IF;
599 IF (AMS_DEBUG_HIGH_ON) THEN
600
601 AMS_Utility_PVT.debug_message(p_object_version ||': p_object_version');
602 END IF;
603
604 DELETE FROM ams_act_partners
605 WHERE activity_partner_id = p_act_partner_id
606 AND object_version_number = p_object_version;
607
608 IF (SQL%NOTFOUND) THEN
609 IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_error)
610 THEN
611 FND_MESSAGE.set_name('AMS', 'AMS_API_RECORD_NOT_FOUND');
612 FND_MSG_PUB.add;
613 END IF;
614 RAISE FND_API.g_exc_error;
615 END IF;
616
617
618 -------------------- finish --------------------------
619 IF FND_API.to_boolean(p_commit) THEN
620 COMMIT;
621 END IF;
622
623 FND_MSG_PUB.count_and_get(
624 p_encoded => FND_API.g_false,
625 p_count => x_msg_count,
626 p_data => x_msg_data
627 );
628
629 IF (AMS_DEBUG_HIGH_ON) THEN
630
631
632
633 AMS_Utility_PVT.debug_message(l_full_name ||': end');
634
635 END IF;
636
637 EXCEPTION
638
639 WHEN FND_API.g_exc_error THEN
640 ROLLBACK TO delete_act_partner;
641 x_return_status := FND_API.g_ret_sts_error;
642 FND_MSG_PUB.count_and_get(
643 p_encoded => FND_API.g_false,
644 p_count => x_msg_count,
645 p_data => x_msg_data
646 );
647
648 WHEN FND_API.g_exc_unexpected_error THEN
649 ROLLBACK TO delete_act_partner;
650 x_return_status := FND_API.g_ret_sts_unexp_error ;
651 FND_MSG_PUB.count_and_get(
652 p_encoded => FND_API.g_false,
653 p_count => x_msg_count,
654 p_data => x_msg_data
655 );
656
657 WHEN OTHERS THEN
658 ROLLBACK TO delete_deliverable;
659 x_return_status := FND_API.g_ret_sts_unexp_error ;
660
661 IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_unexp_error)
662 THEN
663 FND_MSG_PUB.add_exc_msg(g_pkg_name, l_api_name);
664 END IF;
665
666 FND_MSG_PUB.count_and_get(
667 p_encoded => FND_API.g_false,
668 p_count => x_msg_count,
669 p_data => x_msg_data
670 );
671
672
673 END delete_act_partner;
674
675 -------------------------------------------------------------------
676 -- PROCEDURE
677 -- lock_act_partner
678 --
679 -- HISTORY
680 -- 04/24/2000 khung@us created
681 --------------------------------------------------------------------
682
683 PROCEDURE lock_act_partner
684 (
685 p_api_version IN NUMBER,
686 p_init_msg_list IN VARCHAR2 := FND_API.g_false,
687
688 x_return_status OUT NOCOPY VARCHAR2,
689 x_msg_count OUT NOCOPY NUMBER,
690 x_msg_data OUT NOCOPY VARCHAR2,
691
692 p_act_partner_id IN NUMBER,
693 p_object_version IN NUMBER
694 )
695 IS
696
697 l_api_version CONSTANT NUMBER := 1.0;
698 l_api_name CONSTANT VARCHAR2(30) := 'lock_act_partner';
699 l_full_name CONSTANT VARCHAR2(60) := g_pkg_name ||'.'|| l_api_name;
700
701 l_act_partner_id NUMBER;
702
703 CURSOR c_act_partner IS
704 SELECT activity_partner_id
705 FROM ams_act_partners
706 WHERE activity_partner_id = p_act_partner_id
707 AND object_version_number = p_object_version
708 FOR UPDATE OF activity_partner_id NOWAIT;
709
710 BEGIN
711
712 -------------------- initialize ------------------------
713 IF (AMS_DEBUG_HIGH_ON) THEN
714
715 AMS_Utility_PVT.debug_message(l_full_name||': start');
716 END IF;
717
718 IF FND_API.to_boolean(p_init_msg_list) THEN
719 FND_MSG_PUB.initialize;
720 END IF;
721
722 IF NOT FND_API.compatible_api_call(
723 l_api_version,
724 p_api_version,
725 l_api_name,
726 g_pkg_name
727 ) THEN
728 RAISE FND_API.g_exc_unexpected_error;
729 END IF;
730
731 x_return_status := FND_API.G_RET_STS_SUCCESS;
732
733 ------------------------ lock -------------------------
734 IF (AMS_DEBUG_HIGH_ON) THEN
735
736 AMS_Utility_PVT.debug_message(l_full_name||': lock');
737 END IF;
738
739 OPEN c_act_partner;
740 FETCH c_act_partner INTO l_act_partner_id;
741 IF (c_act_partner%NOTFOUND) THEN
742 CLOSE c_act_partner;
743 IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_error) THEN
744 FND_MESSAGE.set_name('AMS', 'AMS_API_RECORD_NOT_FOUND');
745 FND_MSG_PUB.add;
746 END IF;
747 RAISE FND_API.g_exc_error;
748 END IF;
749 CLOSE c_act_partner;
750
751 -------------------- finish --------------------------
752 FND_MSG_PUB.count_and_get(
753 p_encoded => FND_API.g_false,
754 p_count => x_msg_count,
755 p_data => x_msg_data
756 );
757
758 IF (AMS_DEBUG_HIGH_ON) THEN
759
760
761
762 AMS_Utility_PVT.debug_message(l_full_name ||': end');
763
764 END IF;
765
766 EXCEPTION
767
768 WHEN AMS_Utility_PVT.resource_locked THEN
769 x_return_status := FND_API.g_ret_sts_error;
770 IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_error) THEN
771 FND_MESSAGE.set_name('AMS', 'AMS_API_RESOURCE_LOCKED');
772 FND_MSG_PUB.add;
773 END IF;
774
775 FND_MSG_PUB.count_and_get(
776 p_encoded => FND_API.g_false,
777 p_count => x_msg_count,
778 p_data => x_msg_data
779 );
780
781 WHEN FND_API.g_exc_error THEN
782 x_return_status := FND_API.g_ret_sts_error;
783 FND_MSG_PUB.count_and_get(
784 p_encoded => FND_API.g_false,
785 p_count => x_msg_count,
786 p_data => x_msg_data
787 );
788
789 WHEN FND_API.g_exc_unexpected_error THEN
790 x_return_status := FND_API.g_ret_sts_unexp_error ;
791 FND_MSG_PUB.count_and_get(
792 p_encoded => FND_API.g_false,
793 p_count => x_msg_count,
794 p_data => x_msg_data
795 );
796
797 WHEN OTHERS THEN
798 x_return_status := FND_API.g_ret_sts_unexp_error ;
799 IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_unexp_error)
800 THEN
801 FND_MSG_PUB.add_exc_msg(g_pkg_name, l_api_name);
802 END IF;
803
804 FND_MSG_PUB.count_and_get(
805 p_encoded => FND_API.g_false,
806 p_count => x_msg_count,
807 p_data => x_msg_data
808 );
809
810
811 END lock_act_partner;
812
813
814 ---------------------------------------------------------------------
815 -- PROCEDURE
816 -- validate_act_partner
817 --
818 -- HISTORY
819 -- 04/24/2000 khung@us created
820 ----------------------------------------------------------------------
821
822 PROCEDURE validate_act_partner
823 (
824 p_api_version IN NUMBER,
825 p_init_msg_list IN VARCHAR2 := FND_API.g_false,
826 p_validation_level IN NUMBER := FND_API.g_valid_level_full,
827
828 x_return_status OUT NOCOPY VARCHAR2,
829 x_msg_count OUT NOCOPY NUMBER,
830 x_msg_data OUT NOCOPY VARCHAR2,
831
832 p_act_partner_rec IN act_partner_rec_type
833 )
834 IS
835
836 l_api_version CONSTANT NUMBER := 1.0;
837 l_api_name CONSTANT VARCHAR2(30) := 'validate_act_partner';
838 l_full_name CONSTANT VARCHAR2(60) := g_pkg_name ||'.'|| l_api_name;
839 l_return_status VARCHAR2(1);
840
841 BEGIN
842
843 ----------------------- initialize --------------------
844 IF (AMS_DEBUG_HIGH_ON) THEN
845
846 AMS_Utility_PVT.debug_message(l_full_name||': start');
847 END IF;
848
849 IF FND_API.to_boolean(p_init_msg_list) THEN
850 FND_MSG_PUB.initialize;
851 END IF;
852
853 IF NOT FND_API.compatible_api_call(
854 l_api_version,
855 p_api_version,
856 l_api_name,
857 g_pkg_name
858 ) THEN
859 RAISE FND_API.g_exc_unexpected_error;
860 END IF;
861
862 x_return_status := FND_API.g_ret_sts_success;
863
864 ---------------------- validate ------------------------
865 IF (AMS_DEBUG_HIGH_ON) THEN
866
867 AMS_Utility_PVT.debug_message(l_full_name||': check items');
868 END IF;
869
870 IF p_validation_level >= JTF_PLSQL_API.g_valid_level_item THEN
871 check_act_partner_items(
872 p_act_partner_rec => p_act_partner_rec,
873 p_validation_mode => JTF_PLSQL_API.g_create,
874 x_return_status => l_return_status
875 );
876
877 IF l_return_status = FND_API.g_ret_sts_unexp_error THEN
878 RAISE FND_API.g_exc_unexpected_error;
879 ELSIF l_return_status = FND_API.g_ret_sts_error THEN
880 RAISE FND_API.g_exc_error;
881 END IF;
882 END IF;
883
884 IF (AMS_DEBUG_HIGH_ON) THEN
885
886
887
888 AMS_Utility_PVT.debug_message(l_full_name||': check record');
889
890 END IF;
891
892 IF p_validation_level >= JTF_PLSQL_API.g_valid_level_record THEN
893 check_act_partner_record(
894 p_act_partner_rec => p_act_partner_rec,
895 p_complete_rec => NULL,
896 x_return_status => l_return_status
897 );
898
899 IF l_return_status = FND_API.g_ret_sts_unexp_error THEN
900 RAISE FND_API.g_exc_unexpected_error;
901 ELSIF l_return_status = FND_API.g_ret_sts_error THEN
902 RAISE FND_API.g_exc_error;
903 END IF;
904 END IF;
905
906 -------------------- finish --------------------------
907 FND_MSG_PUB.count_and_get(
908 p_encoded => FND_API.g_false,
909 p_count => x_msg_count,
910 p_data => x_msg_data
911 );
912
913 IF (AMS_DEBUG_HIGH_ON) THEN
914
915
916
917 AMS_Utility_PVT.debug_message(l_full_name ||': end');
918
919 END IF;
920
921 EXCEPTION
922
923 WHEN FND_API.g_exc_error THEN
924 x_return_status := FND_API.g_ret_sts_error;
925 FND_MSG_PUB.count_and_get(
926 p_encoded => FND_API.g_false,
927 p_count => x_msg_count,
928 p_data => x_msg_data
929 );
930
931 WHEN FND_API.g_exc_unexpected_error THEN
932 x_return_status := FND_API.g_ret_sts_unexp_error ;
933 FND_MSG_PUB.count_and_get(
934 p_encoded => FND_API.g_false,
935 p_count => x_msg_count,
936 p_data => x_msg_data
937 );
938
939 WHEN OTHERS THEN
940 x_return_status := FND_API.g_ret_sts_unexp_error;
941 IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_unexp_error)
942 THEN
943 FND_MSG_PUB.add_exc_msg(g_pkg_name, l_api_name);
944 END IF;
945
946 FND_MSG_PUB.count_and_get(
947 p_encoded => FND_API.g_false,
948 p_count => x_msg_count,
949 p_data => x_msg_data
950 );
951
952
953 END validate_act_partner;
954
955 ---------------------------------------------------------------------
956 -- PROCEDURE
957 -- check_act_partner_req_items
958 --
959 -- HISTORY
960 -- 04/24/2000 khung@us created
961 ---------------------------------------------------------------------
962 PROCEDURE check_act_partner_req_items(
963 p_act_partner_rec IN act_partner_rec_type,
964 x_return_status OUT NOCOPY VARCHAR2
965 )
966 IS
967 BEGIN
968
969 x_return_status := FND_API.g_ret_sts_success;
970
971 -------------------- put required items here ---------------------
972
973 IF p_act_partner_rec.act_partner_used_by_id IS NULL THEN
974 IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_error)
975 THEN
976 FND_MESSAGE.set_name('AMS', 'AMS_ACT_PARTNER_NO_USEDBY_ID');
977 FND_MSG_PUB.add;
978 END IF;
979 RAISE FND_API.g_exc_unexpected_error;
980
981 x_return_status := FND_API.g_ret_sts_error;
982 END IF;
983
984 IF p_act_partner_rec.arc_act_partner_used_by IS NULL THEN
985 IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_error)
986 THEN
987 FND_MESSAGE.set_name('AMS', 'AMS_ACT_PARTNER_NO_USEDBY');
988 FND_MSG_PUB.add;
989 END IF;
990 RAISE FND_API.g_exc_unexpected_error;
991 x_return_status := FND_API.g_ret_sts_error;
992 RETURN;
993 END IF;
994
995 IF p_act_partner_rec.partner_id IS NULL THEN
996 IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_error)
997 THEN
998 FND_MESSAGE.set_name('AMS', 'AMS_ACT_PARTNER_NO_PARTNER_ID');
999 FND_MSG_PUB.add;
1000 END IF;
1001 RAISE FND_API.g_exc_unexpected_error;
1002 x_return_status := FND_API.g_ret_sts_error;
1003 RETURN;
1004 END IF;
1005
1006 END check_act_partner_req_items;
1007
1008 ---------------------------------------------------------------------
1009 -- PROCEDURE
1010 -- check_act_partner_items
1011 --
1012 -- HISTORY
1013 -- 04/24/2000 khung@us created
1014 ---------------------------------------------------------------------
1015 PROCEDURE check_act_partner_items
1016 (
1017 p_act_partner_rec IN act_partner_rec_type,
1018 p_validation_mode IN VARCHAR2 := JTF_PLSQL_API.g_create,
1019 x_return_status OUT NOCOPY VARCHAR2
1020 )
1021 IS
1022 l_act_partner_rec act_partner_rec_type;
1023
1024 BEGIN
1025 l_act_partner_rec := p_act_partner_rec;
1026
1027 check_act_partner_req_items
1028 (
1029 p_act_partner_rec => p_act_partner_rec,
1030 x_return_status => x_return_status
1031 );
1032
1033 IF x_return_status <> FND_API.g_ret_sts_success THEN
1034 RETURN;
1035 END IF;
1036
1037 check_act_partner_uk_items (
1038 p_act_partner_rec => p_act_partner_rec,
1039 x_return_status => x_return_status
1040 );
1041 IF x_return_status <> FND_API.g_ret_sts_success THEN
1042 RETURN;
1043 END IF;
1044 END check_act_partner_items;
1045
1046
1047 ---------------------------------------------------------------------
1048 -- PROCEDURE
1049 -- check_act_partner_record
1050 --
1051 -- HISTORY
1052 -- 04/24/2000 khung@us created
1053 ---------------------------------------------------------------------
1054
1055 PROCEDURE check_act_partner_record
1056 (
1057 p_act_partner_rec IN act_partner_rec_type,
1058 p_complete_rec IN act_partner_rec_type := NULL,
1059 x_return_status OUT NOCOPY VARCHAR2
1060 )
1061 IS
1062
1063 BEGIN
1064
1065 x_return_status := FND_API.g_ret_sts_success;
1066
1067 -- do other record level checkings
1068
1069 END check_act_partner_record;
1070
1071
1072 ---------------------------------------------------------------------
1073 -- PROCEDURE
1074 -- init_act_partner_rec
1075 --
1076 -- HISTORY
1077 -- 04/24/2000 khung@us created
1078 ---------------------------------------------------------------------
1079
1080 PROCEDURE init_act_partner_rec
1081 (
1082 x_act_partner_rec OUT NOCOPY act_partner_rec_type
1083 )
1084 IS
1085
1086 BEGIN
1087
1088 x_act_partner_rec.activity_partner_id := FND_API.g_miss_num;
1089 x_act_partner_rec.last_update_date := FND_API.g_miss_date;
1090 x_act_partner_rec.last_updated_by := FND_API.g_miss_num;
1091 x_act_partner_rec.creation_date := FND_API.g_miss_date;
1092 x_act_partner_rec.created_by := FND_API.g_miss_num;
1093 x_act_partner_rec.last_update_login := FND_API.g_miss_num;
1094 x_act_partner_rec.object_version_number := FND_API.g_miss_num;
1095 x_act_partner_rec.act_partner_used_by_id := FND_API.g_miss_num;
1096 x_act_partner_rec.arc_act_partner_used_by := FND_API.g_miss_char;
1097 x_act_partner_rec.partner_id := FND_API.g_miss_num;
1098 x_act_partner_rec.primary_flag := FND_API.g_miss_char;
1099 x_act_partner_rec.partner_type := FND_API.g_miss_char;
1100 x_act_partner_rec.description := FND_API.g_miss_char;
1101 x_act_partner_rec.attribute_category := FND_API.g_miss_char;
1102 x_act_partner_rec.preferred_vad_id := FND_API.g_miss_num;
1103 x_act_partner_rec.partner_address_id := FND_API.g_miss_num;
1104 x_act_partner_rec.primary_contact_id := FND_API.g_miss_num;
1105 x_act_partner_rec.attribute1 := FND_API.g_miss_char;
1106 x_act_partner_rec.attribute2 := FND_API.g_miss_char;
1107 x_act_partner_rec.attribute3 := FND_API.g_miss_char;
1108 x_act_partner_rec.attribute4 := FND_API.g_miss_char;
1109 x_act_partner_rec.attribute5 := FND_API.g_miss_char;
1110 x_act_partner_rec.attribute6 := FND_API.g_miss_char;
1111 x_act_partner_rec.attribute7 := FND_API.g_miss_char;
1112 x_act_partner_rec.attribute8 := FND_API.g_miss_char;
1113 x_act_partner_rec.attribute9 := FND_API.g_miss_char;
1114 x_act_partner_rec.attribute10 := FND_API.g_miss_char;
1115 x_act_partner_rec.attribute11 := FND_API.g_miss_char;
1116 x_act_partner_rec.attribute12 := FND_API.g_miss_char;
1117 x_act_partner_rec.attribute13 := FND_API.g_miss_char;
1118 x_act_partner_rec.attribute14 := FND_API.g_miss_char;
1119 x_act_partner_rec.attribute15 := FND_API.g_miss_char;
1120
1121 END init_act_partner_rec;
1122
1123 ---------------------------------------------------------------------
1124 -- PROCEDURE
1125 -- complete_act_partner_rec
1126 --
1127 -- HISTORY
1128 -- 04/24/2000 khung@us created
1129 ---------------------------------------------------------------------
1130 PROCEDURE complete_act_partner_rec
1131 (
1132 p_act_partner_rec IN act_partner_rec_type,
1133 x_complete_rec OUT NOCOPY act_partner_rec_type
1134 )
1135 IS
1136
1137 CURSOR c_act_partner IS
1138 SELECT *
1139 FROM ams_act_partners
1140 WHERE activity_partner_id = p_act_partner_rec.activity_partner_id;
1141
1142 l_act_partner_rec c_act_partner%ROWTYPE;
1143
1144 BEGIN
1145
1146 x_complete_rec := p_act_partner_rec;
1147
1148 OPEN c_act_partner;
1149 FETCH c_act_partner INTO l_act_partner_rec;
1150 IF c_act_partner%NOTFOUND THEN
1151 CLOSE c_act_partner;
1152 IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_error) THEN
1153 FND_MESSAGE.set_name('AMS', 'AMS_API_RECORD_NOT_FOUND');
1154 FND_MSG_PUB.add;
1155 END IF;
1156 RAISE FND_API.g_exc_error;
1157 END IF;
1158 --CLOSE c_act_partner;
1159 IF (AMS_DEBUG_HIGH_ON) THEN
1160
1161 AMS_Utility_PVT.debug_message('end cursor...');
1162 END IF;
1163
1164 IF p_act_partner_rec.act_partner_used_by_id = FND_API.g_miss_num THEN
1165 x_complete_rec.act_partner_used_by_id := l_act_partner_rec.act_partner_used_by_id;
1166 END IF;
1167
1168 IF p_act_partner_rec.arc_act_partner_used_by = FND_API.g_miss_char THEN
1169 x_complete_rec.arc_act_partner_used_by := l_act_partner_rec.arc_act_partner_used_by;
1170 END IF;
1171
1172 IF p_act_partner_rec.primary_flag = FND_API.g_miss_char THEN
1173 x_complete_rec.primary_flag := l_act_partner_rec.primary_flag;
1174 END IF;
1175
1176 IF p_act_partner_rec.partner_id = FND_API.g_miss_num THEN
1177 x_complete_rec.partner_id := l_act_partner_rec.partner_id;
1178 END IF;
1179
1180 IF p_act_partner_rec.partner_type = FND_API.g_miss_char THEN
1181 x_complete_rec.partner_type := l_act_partner_rec.partner_type;
1182 END IF;
1183
1184 IF p_act_partner_rec.description = FND_API.g_miss_char THEN
1185 x_complete_rec.description := l_act_partner_rec.description;
1186 END IF;
1187
1188 IF p_act_partner_rec.attribute_category = FND_API.g_miss_char THEN
1189 x_complete_rec.attribute_category := l_act_partner_rec.attribute_category;
1190 END IF;
1191
1192 IF p_act_partner_rec.preferred_vad_id = FND_API.g_miss_num THEN
1193 x_complete_rec.preferred_vad_id := l_act_partner_rec.preferred_vad_id;
1194 END IF;
1195
1196 IF p_act_partner_rec.partner_address_id = FND_API.g_miss_num THEN
1197 x_complete_rec.partner_address_id := l_act_partner_rec.partner_address_id;
1198 END IF;
1199
1200 IF p_act_partner_rec.primary_contact_id = FND_API.g_miss_num THEN
1201 x_complete_rec.primary_contact_id := l_act_partner_rec.primary_contact_id;
1202 END IF;
1203
1204 IF p_act_partner_rec.attribute1 = FND_API.g_miss_char THEN
1205 x_complete_rec.attribute1 := l_act_partner_rec.attribute1;
1206 END IF;
1207
1208 IF p_act_partner_rec.attribute2 = FND_API.g_miss_char THEN
1209 x_complete_rec.attribute2 := l_act_partner_rec.attribute2;
1210 END IF;
1211
1212 IF p_act_partner_rec.attribute3 = FND_API.g_miss_char THEN
1213 x_complete_rec.attribute3 := l_act_partner_rec.attribute3;
1214 END IF;
1215
1216 IF p_act_partner_rec.attribute4 = FND_API.g_miss_char THEN
1217 x_complete_rec.attribute4 := l_act_partner_rec.attribute4;
1218 END IF;
1219
1220 IF p_act_partner_rec.attribute5 = FND_API.g_miss_char THEN
1221 x_complete_rec.attribute5 := l_act_partner_rec.attribute5;
1222 END IF;
1223
1224 IF p_act_partner_rec.attribute6 = FND_API.g_miss_char THEN
1225 x_complete_rec.attribute6 := l_act_partner_rec.attribute6;
1226 END IF;
1227
1228 IF p_act_partner_rec.attribute7 = FND_API.g_miss_char THEN
1229 x_complete_rec.attribute7 := l_act_partner_rec.attribute7;
1230 END IF;
1231
1232 IF p_act_partner_rec.attribute8 = FND_API.g_miss_char THEN
1233 x_complete_rec.attribute8 := l_act_partner_rec.attribute8;
1234 END IF;
1235
1236 IF p_act_partner_rec.attribute9 = FND_API.g_miss_char THEN
1237 x_complete_rec.attribute9 := l_act_partner_rec.attribute9;
1238 END IF;
1239
1240 IF p_act_partner_rec.attribute10 = FND_API.g_miss_char THEN
1241 x_complete_rec.attribute10 := l_act_partner_rec.attribute10;
1242 END IF;
1243
1244 IF p_act_partner_rec.attribute11 = FND_API.g_miss_char THEN
1245 x_complete_rec.attribute11 := l_act_partner_rec.attribute11;
1246 END IF;
1247
1248 IF p_act_partner_rec.attribute12 = FND_API.g_miss_char THEN
1249 x_complete_rec.attribute12 := l_act_partner_rec.attribute12;
1250 END IF;
1251
1252 IF p_act_partner_rec.attribute13 = FND_API.g_miss_char THEN
1253 x_complete_rec.attribute13 := l_act_partner_rec.attribute13;
1254 END IF;
1255
1256 IF p_act_partner_rec.attribute14 = FND_API.g_miss_char THEN
1257 x_complete_rec.attribute14 := l_act_partner_rec.attribute14;
1258 END IF;
1259
1260 IF p_act_partner_rec.attribute15 = FND_API.g_miss_char THEN
1261 x_complete_rec.attribute15 := l_act_partner_rec.attribute15;
1262 END IF;
1263 IF (AMS_DEBUG_HIGH_ON) THEN
1264
1265 AMS_Utility_PVT.debug_message('end of complete_act_partner_rec...');
1266 END IF;
1267
1268 END complete_act_partner_rec;
1269
1270 PROCEDURE check_primary (
1271 p_primary_flag IN VARCHAR2,
1272 p_act_partner_used_by_id IN NUMBER,
1273 p_arc_act_partner_used_by IN VARCHAR2,
1274 x_return_status OUT NOCOPY VARCHAR2
1275 )
1276 IS
1277 l_flagStatus NUMBER :=0;
1278 l_flagStatusUpd NUMBER :=0;
1279 l_act_partner_used_by_id NUMBER := 0;
1280 l_arc_act_partner_used_by VARCHAR2(10);
1281 l_flag NUMBER :=0;
1282 l_primary VARCHAR2(10);
1283 l_activity_partner_id NUMBER :=0;
1284
1285 CURSOR c_primary_flag(l_id IN NUMBER , l_used_by IN VARCHAR2) IS
1286 SELECT count(*)
1287 FROM ams_act_partners
1288 WHERE primary_flag = 'Y'
1289 AND act_partner_used_by_id = l_id
1290 AND arc_act_partner_used_by = l_used_by;
1291 BEGIN
1292 l_arc_act_partner_used_by := p_arc_act_partner_used_by;
1293 l_act_partner_used_by_id := p_act_partner_used_by_id;
1294 IF (AMS_DEBUG_HIGH_ON) THEN
1295
1296 AMS_Utility_PVT.debug_message(':error message');
1297 END IF;
1298 OPEN c_primary_flag(l_act_partner_used_by_id,l_arc_act_partner_used_by);
1299 FETCH c_primary_flag INTO l_flag;
1300 CLOSE c_primary_flag;
1301 l_flagStatus := l_flagStatus + l_flag;
1302
1303 IF (p_primary_flag = 'Y') THEN
1304 -- dbms_output.put_line(':p_primary_flag = T');
1305 IF (AMS_DEBUG_HIGH_ON) THEN
1306
1307 AMS_Utility_PVT.debug_message(':p_primary_flag = T');
1308 END IF;
1309 l_flagStatus := l_flagStatus + 1;
1310 END IF;
1311
1312 IF (l_flagStatus >=2) THEN
1313 -- dbms_output.put_line(':error message');
1314 IF (AMS_DEBUG_HIGH_ON) THEN
1315
1316 AMS_Utility_PVT.debug_message(':error message');
1317 END IF;
1318 --AMS_Utility_PVT.error_message ('AMS_ACT_INVALID_PRIMARY', 'PRIMARY_FLAG', p_primary_flag);
1319 IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_error) THEN
1320 FND_MESSAGE.set_name('AMS', 'AMS_ACT_INVALID_PRIMARY');
1321 FND_MSG_PUB.add;
1322 END IF;
1323 x_return_status := FND_API.g_ret_sts_error;
1324 END IF;
1325 END check_primary;
1326
1327 PROCEDURE check_act_partner_uk_items (
1328 p_act_partner_rec IN act_partner_rec_type,
1329 x_return_status OUT NOCOPY VARCHAR2
1330 )
1331 IS
1332 l_partner_name VARCHAR2(360);
1333 CURSOR c_partner_name (p_partner_id IN NUMBER) IS
1334 SELECT partner_party_name
1335 FROM pv_partners_v
1336 WHERE partner_id = p_partner_id; -- instead of partner_party_id; anchaudh changed it to partner_id on 30 Apr-05.
1337 BEGIN
1338 x_return_status := FND_API.g_ret_sts_success;
1339
1340 -- validate uniqueness of arc_used_by, arc_used_by_id, and partner_id
1341 IF AMS_Utility_PVT.check_uniqueness (
1342 'AMS_ACT_PARTNERS',
1343 'arc_act_partner_used_by = ' || p_act_partner_rec.arc_act_partner_used_by ||
1344 ' AND act_partner_used_by_id = ' || p_act_partner_rec.act_partner_used_by_id ||
1345 ' AND partner_id = ' || p_act_partner_rec.partner_id
1346 ) = FND_API.g_false THEN
1347 OPEN c_partner_name (p_act_partner_rec.partner_id);
1348 FETCH c_partner_name INTO l_partner_name;
1349 CLOSE c_partner_name;
1350 AMS_Utility_PVT.error_message ('AMS_ACTPART_DUP_ACTPARTNER', 'PARTNER_NAME', l_partner_name);
1351 x_return_status := FND_API.g_ret_sts_error;
1352 END IF;
1353 END check_act_partner_uk_items;
1354
1355 END AMS_ActPartner_PVT;