1 package body PV_SQL_UTILITY as
2 /* $Header: pvsqlutb.pls 120.3 2005/12/19 16:19:51 pklin ship $*/
3
4 --=============================================================================+
5 --| Public Procedure |
6 --| pv_lookup |
7 --| |
8 --| Parameters |
9 --| IN |
10 --| OUT |
11 --| |
12 --| |
13 --| NOTES |
14 --| |
15 --| HISTORY |
16 --| |
17 --==============================================================================
18 FUNCTION pv_lookup (
19 p_lookup_code IN VARCHAR2,
20 p_lookup_type IN VARCHAR2
21 )
22 RETURN VARCHAR2
23 IS
24 l_meaning VARCHAR2(80);
25
26 BEGIN
27 FOR x IN (SELECT meaning
28 FROM pv_lookups
29 WHERE lookup_code = p_lookup_code AND
30 lookup_type = p_lookup_type)
31 LOOP
32 l_meaning := x.meaning;
33 END LOOP;
34
35 RETURN l_meaning;
36
37 END pv_lookup;
38
39
40 --=============================================================================+
41 --| Public Procedure |
42 --| as_lookup |
43 --| |
44 --| Parameters |
45 --| IN |
46 --| OUT |
47 --| |
48 --| |
49 --| NOTES |
50 --| |
51 --| HISTORY |
52 --| |
53 --==============================================================================
54 FUNCTION as_lookup (
55 p_lookup_code IN VARCHAR2,
56 p_lookup_type IN VARCHAR2
57 )
58 RETURN VARCHAR2
59 IS
60 l_meaning VARCHAR2(80);
61
62 BEGIN
63 FOR x IN (SELECT meaning
64 FROM as_lookups
65 WHERE lookup_code = p_lookup_code AND
66 lookup_type = p_lookup_type)
67 LOOP
68 l_meaning := x.meaning;
69 END LOOP;
70
71 RETURN l_meaning;
72
73 END as_lookup;
74
75
76 --=============================================================================+
77 --| Public Procedure |
78 --| ar_lookup |
79 --| |
80 --| Parameters |
81 --| IN |
82 --| OUT |
83 --| |
84 --| |
85 --| NOTES |
86 --| |
87 --| HISTORY |
88 --| |
89 --==============================================================================
90 FUNCTION ar_lookup (
91 p_lookup_code IN VARCHAR2,
92 p_lookup_type IN VARCHAR2
93 )
94 RETURN VARCHAR2
95 IS
96 l_meaning VARCHAR2(80);
97
98 BEGIN
99 FOR x IN (SELECT meaning
100 FROM ar_lookups
101 WHERE lookup_code = p_lookup_code AND
102 lookup_type = p_lookup_type)
103 LOOP
104 l_meaning := x.meaning;
105 END LOOP;
106
107 RETURN l_meaning;
108
109 END ar_lookup;
110
111
112 --=============================================================================+
113 --| Public Procedure |
114 --| fnd_lookup_values |
115 --| |
116 --| Parameters |
117 --| IN |
118 --| OUT |
119 --| |
120 --| |
121 --| NOTES |
122 --| |
123 --| HISTORY |
124 --| |
125 --==============================================================================
126 FUNCTION fnd_lookup_values (
127 p_lookup_code IN VARCHAR2,
128 p_lookup_type IN VARCHAR2
129 )
130 RETURN VARCHAR2
131 IS
132 l_meaning VARCHAR2(80);
133
134 BEGIN
135 FOR x IN (SELECT meaning
136 FROM fnd_lookup_values
137 WHERE lookup_code = p_lookup_code AND
138 lookup_type = p_lookup_type AND
139 LANGUAGE(+) = USERENV('LANG'))
140 LOOP
141 l_meaning := x.meaning;
142 END LOOP;
143
144 RETURN l_meaning;
145
146 END fnd_lookup_values;
147
148
149 --=============================================================================+
150 --| Public Procedure |
151 --| as_status |
152 --| |
153 --| Parameters |
154 --| IN |
155 --| OUT |
156 --| |
157 --| |
158 --| NOTES |
159 --| |
160 --| HISTORY |
161 --| |
162 --==============================================================================
163 FUNCTION as_status (
164 p_status_code IN VARCHAR2
165 )
166 RETURN VARCHAR2
167 IS
168 l_meaning VARCHAR2(240);
169
170 BEGIN
171 IF (p_status_code IS NULL) THEN
172 RETURN NULL;
173 END IF;
174
175 FOR x IN (SELECT meaning
176 FROM as_statuses_tl
177 WHERE status_code = p_status_code AND
178 language = USERENV('LANG'))
179 LOOP
180 l_meaning := x.meaning;
181 END LOOP;
182
183 RETURN l_meaning;
184
185 END as_status;
186
187
188 --=============================================================================+
189 --| Public Procedure |
190 --| aso_i_sales_channels |
191 --| |
192 --| Parameters |
193 --| IN |
194 --| OUT |
195 --| |
196 --| |
197 --| NOTES |
198 --| |
199 --| HISTORY |
200 --| |
201 --==============================================================================
202 FUNCTION aso_i_sales_channels (
203 p_sales_channel_code IN VARCHAR2
204 )
205 RETURN VARCHAR2
206 IS
207 l_meaning VARCHAR2(80);
208
209 BEGIN
210 IF (p_sales_channel_code IS NULL) THEN
211 RETURN NULL;
212 END IF;
213
214 FOR x IN (SELECT sales_channel meaning
215 FROM aso_i_sales_channels_v
216 WHERE sales_channel_code = p_sales_channel_code)
217 LOOP
218 l_meaning := x.meaning;
219 END LOOP;
220
221 RETURN l_meaning;
222
223 END aso_i_sales_channels;
224
225
226 --=============================================================================+
227 --| Public Procedure |
228 --| as_sales_methodology |
229 --| |
230 --| Parameters |
231 --| IN |
232 --| OUT |
233 --| |
234 --| |
235 --| NOTES |
236 --| |
237 --| HISTORY |
238 --| |
239 --==============================================================================
240 FUNCTION as_sales_methodology (
241 p_sales_methodology_id IN NUMBER
242 )
243 RETURN VARCHAR2
244 IS
245 l_meaning VARCHAR2(80);
246
247 BEGIN
248 IF (p_sales_methodology_id IS NULL) THEN
249 RETURN NULL;
250 END IF;
251
252 FOR x IN (SELECT name meaning
253 FROM as_sales_methodology_vl
254 WHERE sales_methodology_id = p_sales_methodology_id)
255 LOOP
256 l_meaning := x.meaning;
257 END LOOP;
258
259 RETURN l_meaning;
260
261 END as_sales_methodology;
262
263
264 --=============================================================================+
265 --| Public Procedure |
266 --| as_sales_stages_all |
267 --| |
268 --| Parameters |
269 --| IN |
270 --| OUT |
271 --| |
272 --| |
273 --| NOTES |
274 --| |
275 --| HISTORY |
276 --| |
277 --==============================================================================
278 FUNCTION as_sales_stages_all (
279 p_sales_stage_id IN NUMBER
280 )
281 RETURN VARCHAR2
282 IS
283 l_meaning VARCHAR2(80);
284
285 BEGIN
286 IF (p_sales_stage_id IS NULL) THEN
287 RETURN NULL;
288 END IF;
289
290 FOR x IN (SELECT name meaning
291 FROM as_sales_stages_all_vl
292 WHERE sales_stage_id = p_sales_stage_id)
293 LOOP
294 l_meaning := x.meaning;
295 END LOOP;
296
297 RETURN l_meaning;
298
299 END as_sales_stages_all;
300
301
302 --=============================================================================+
303 --| Public Procedure |
304 --| as_sales_lead_ranks |
305 --| |
306 --| Parameters |
307 --| IN |
308 --| OUT |
309 --| |
310 --| |
311 --| NOTES |
312 --| |
313 --| HISTORY |
314 --| |
315 --==============================================================================
316 FUNCTION as_sales_lead_ranks (
317 p_rank_id IN NUMBER
318 )
319 RETURN VARCHAR2
320 IS
321 l_meaning VARCHAR2(240);
322
323 BEGIN
324 IF (p_rank_id IS NULL) THEN
325 RETURN NULL;
326 END IF;
327
328 FOR x IN (SELECT meaning
329 FROM as_sales_lead_ranks_vl
330 WHERE rank_id = p_rank_id)
331 LOOP
332 l_meaning := x.meaning;
333 END LOOP;
334
335 RETURN l_meaning;
336
337 END as_sales_lead_ranks;
338
339
340 --=============================================================================+
341 --| Public Procedure |
342 --| fnd_territories |
343 --| |
344 --| Parameters |
345 --| IN |
346 --| OUT |
347 --| |
348 --| |
349 --| NOTES |
350 --| |
351 --| HISTORY |
352 --| |
353 --==============================================================================
354 FUNCTION fnd_territories (
355 p_territory_code IN VARCHAR2
356 )
357 RETURN VARCHAR2
358 IS
359 l_meaning VARCHAR2(80);
360
361 BEGIN
362 IF (p_territory_code IS NULL) THEN
363 RETURN NULL;
364 END IF;
365
366 FOR x IN (SELECT territory_short_name meaning
367 FROM fnd_territories_tl
368 WHERE territory_code = p_territory_code AND
369 language = USERENV('LANG'))
370 LOOP
371 l_meaning := x.meaning;
372 END LOOP;
373
374 RETURN l_meaning;
375
376 END fnd_territories;
377
378
379
380 --=============================================================================+
381 --| Public Procedure |
382 --| hz_location_country |
383 --| |
384 --| Parameters |
385 --| IN |
386 --| OUT |
387 --| |
388 --| |
389 --| NOTES |
390 --| |
391 --| HISTORY |
392 --| |
393 --==============================================================================
394 FUNCTION hz_location_country (
395 p_party_site_id IN NUMBER
396 )
397 RETURN VARCHAR2
398 IS
399 l_meaning VARCHAR2(60);
400
401 BEGIN
402 IF (p_party_site_id IS NULL) THEN
403 RETURN NULL;
404 END IF;
405
406 FOR x IN (SELECT country meaning
407 FROM hz_locations a,
408 hz_party_sites b
409 WHERE b.party_site_id = p_party_site_id AND
410 a.location_id = b.location_id)
411 LOOP
412 l_meaning := x.meaning;
413 END LOOP;
414
415 RETURN l_meaning;
416
417 END hz_location_country;
418
419
420 --=============================================================================+
421 --| Public Procedure |
422 --| customer_contact_name |
423 --| |
424 --| Parameters |
425 --| IN |
426 --| OUT |
427 --| |
428 --| |
429 --| NOTES |
430 --| |
431 --| HISTORY |
432 --| |
433 --==============================================================================
434 FUNCTION customer_contact_name (
435 p_party_id IN NUMBER
436 )
437 RETURN VARCHAR2
438 IS
439 l_meaning VARCHAR2(302);
440
441 BEGIN
442 IF (p_party_id IS NULL) THEN
443 RETURN NULL;
444 END IF;
445
446 FOR x IN (SELECT PERSON_LAST_NAME || ' ' || PERSON_FIRST_NAME meaning
447 FROM hz_relationships a,
448 hz_parties b
449 WHERE a.party_id = p_party_id AND
450 a.subject_type = 'PERSON' AND
451 a.subject_id = b.party_id)
452 LOOP
453 l_meaning := x.meaning;
454 END LOOP;
455
456 RETURN l_meaning;
457
458 END customer_contact_name;
459
460 --=============================================================================+
461 --| Public Procedure |
462 --| customer_contact_email |
463 --| |
464 --| Parameters |
465 --| IN |
466 --| OUT |
467 --| |
468 --| |
469 --| NOTES |
470 --| |
471 --| HISTORY |
472 --| |
473 --==============================================================================
474 FUNCTION customer_contact_email (
475 p_party_id IN NUMBER
476 )
477 RETURN VARCHAR2
478 IS
479 l_meaning VARCHAR2(2000);
480
481 BEGIN
482 IF (p_party_id IS NULL) THEN
483 RETURN NULL;
484 END IF;
485
486 FOR x IN (SELECT email_address meaning
487 FROM hz_relationships a,
488 hz_parties b
489 WHERE a.party_id = p_party_id AND
490 a.subject_type = 'PERSON' AND
491 a.subject_id = b.party_id)
492 LOOP
493 l_meaning := x.meaning;
494 END LOOP;
495
496 RETURN l_meaning;
497
498 END customer_contact_email;
499
500
501 --=============================================================================+
502 --| Public Procedure |
503 --| customer_contact_phone |
504 --| |
505 --| Parameters |
506 --| IN |
507 --| OUT |
508 --| |
509 --| |
510 --| NOTES |
511 --| |
512 --| HISTORY |
513 --| |
514 --==============================================================================
515 FUNCTION customer_contact_phone (
516 p_party_id IN NUMBER
517 )
518 RETURN VARCHAR2
519 IS
520 l_meaning VARCHAR2(80);
521
522 BEGIN
523 IF (p_party_id IS NULL) THEN
524 RETURN NULL;
525 END IF;
526
527 FOR x IN (SELECT PHONE_COUNTRY_CODE || PHONE_AREA_CODE || PHONE_NUMBER ||
528 PHONE_EXTENSION meaning
529 FROM hz_contact_points
530 WHERE owner_table_name = 'HZ_PARTIES' AND
531 owner_table_id = p_party_id AND
532 contact_point_type = 'PHONE' AND
533 primary_flag = 'Y' AND
534 status = 'A')
535 LOOP
536 l_meaning := x.meaning;
537 END LOOP;
538
539 RETURN l_meaning;
540
541 END customer_contact_phone;
542
543
544 --=============================================================================+
545 --| Public Procedure |
546 --| customer_contact_name2 |
547 --| |
548 --| Parameters |
549 --| IN |
550 --| OUT |
551 --| |
552 --| |
553 --| NOTES |
554 --| |
555 --| HISTORY |
556 --| |
557 --==============================================================================
558 FUNCTION customer_contact_name2 (
559 p_lead_id IN NUMBER
560 )
561 RETURN VARCHAR2
562 IS
563 l_meaning VARCHAR2(302);
564
565 BEGIN
566
567 IF (p_lead_id IS NULL) THEN
568 RETURN NULL;
569 END IF;
570
571 FOR x IN (SELECT PERSON_LAST_NAME || ' ' || PERSON_FIRST_NAME meaning
572 FROM hz_relationships a,
573 hz_parties b,
574 as_lead_contacts_all aslc
575 WHERE aslc.lead_id = p_lead_id AND
576 aslc.primary_contact_flag = 'Y' AND
577 a.party_id = aslc.contact_party_id AND
578 a.subject_type = 'PERSON' AND
579 a.subject_id = b.party_id)
580 LOOP
581 l_meaning := x.meaning;
582 END LOOP;
583
584 RETURN l_meaning;
585
586 END customer_contact_name2;
587
588
589 --=============================================================================+
590 --| Public Procedure |
591 --| customer_contact_email2 |
592 --| |
593 --| Parameters |
594 --| IN |
595 --| OUT |
596 --| |
597 --| |
598 --| NOTES |
599 --| |
600 --| HISTORY |
601 --| |
602 --==============================================================================
603 FUNCTION customer_contact_email2 (
604 p_lead_id IN NUMBER
605 )
606 RETURN VARCHAR2
607 IS
608 l_meaning VARCHAR2(2000);
609
610 BEGIN
611 IF (p_lead_id IS NULL) THEN
612 RETURN NULL;
613 END IF;
614
615 FOR x IN (SELECT email_address meaning
616 FROM hz_relationships a,
617 hz_parties b,
618 as_lead_contacts_all aslc
619 WHERE aslc.lead_id = p_lead_id AND
620 aslc.primary_contact_flag = 'Y' AND
621 a.party_id = aslc.contact_party_id AND
622 a.subject_type = 'PERSON' AND
623 a.subject_id = b.party_id)
624 LOOP
625 l_meaning := x.meaning;
626 END LOOP;
627
628 RETURN l_meaning;
629
630 END customer_contact_email2;
631
632
633 --=============================================================================+
634 --| Public Procedure |
635 --| customer_contact_phone2 |
636 --| |
637 --| Parameters |
638 --| IN |
639 --| OUT |
640 --| |
641 --| |
642 --| NOTES |
643 --| |
644 --| HISTORY |
645 --| |
646 --==============================================================================
647 FUNCTION customer_contact_phone2 (
648 p_lead_id IN NUMBER
649 )
650 RETURN VARCHAR2
651 IS
652 l_meaning VARCHAR2(80);
653
654 BEGIN
655 IF (p_lead_id IS NULL) THEN
656 RETURN NULL;
657 END IF;
658
659 FOR x IN (SELECT PHONE_COUNTRY_CODE || PHONE_AREA_CODE || PHONE_NUMBER ||
660 PHONE_EXTENSION meaning
661 FROM hz_contact_points,
662 as_lead_contacts_all aslc
663 WHERE aslc.lead_id = p_lead_id AND
664 aslc.primary_contact_flag = 'Y' AND
665 owner_table_name = 'HZ_PARTIES' AND
666 owner_table_id = aslc.contact_party_id AND
667 contact_point_type = 'PHONE')
668 LOOP
669 l_meaning := x.meaning;
670 END LOOP;
671
672 RETURN l_meaning;
673
674 END customer_contact_phone2;
675
676
677 --=============================================================================+
678 --| Public Procedure |
679 --| referral_customer_address |
680 --| |
681 --| Parameters |
682 --| IN |
683 --| OUT |
684 --| |
685 --| |
686 --| NOTES |
687 --| |
688 --| HISTORY |
689 --| |
690 --==============================================================================
691 FUNCTION referral_customer_address (
692 p_referral_id IN NUMBER
693 )
694 RETURN VARCHAR2
695 IS
696 l_formatted_address VARCHAR2(32000);
697
698 BEGIN
699 FOR x IN (SELECT ARP_ADDR_LABEL_PKG.FORMAT_ADDRESS_LABEL(
700 Null,
701 CUSTOMER_ADDRESS1,
702 CUSTOMER_ADDRESS2,
703 CUSTOMER_ADDRESS3,
704 CUSTOMER_ADDRESS4,
705 CUSTOMER_CITY,
706 CUSTOMER_COUNTY,
707 CUSTOMER_STATE,
708 CUSTOMER_PROVINCE,
709 CUSTOMER_POSTAL_CODE,
710 null,
711 CUSTOMER_COUNTRY,
712 Null,
713 Null,
714 Null,
715 Null,
716 Null,
717 NULL,
718 NULL,
719 NULL,
720 2000,
721 1,
722 1) ADDRESS
723 FROM pv_referrals_b
724 WHERE referral_id = p_referral_id)
725 LOOP
726 l_formatted_address := x.address;
727 END LOOP;
728
729 RETURN l_formatted_address;
730
731 END referral_customer_address;
732
733
734 --=============================================================================+
735 --| Public Procedure |
736 --| party_address |
737 --| |
738 --| Parameters |
739 --| IN |
740 --| OUT |
741 --| |
742 --| |
743 --| NOTES |
744 --| |
745 --| HISTORY |
746 --| |
747 --==============================================================================
748 FUNCTION party_address (
749 p_party_site_id IN NUMBER
750 )
751 RETURN VARCHAR2
752 IS
753 l_formatted_address VARCHAR2(32000);
754
755 BEGIN
756 FOR x IN (SELECT ARP_ADDR_LABEL_PKG.FORMAT_ADDRESS_LABEL(
757 Null,
758 a.ADDRESS1,
759 a.ADDRESS2,
760 a.ADDRESS3,
761 a.ADDRESS4,
762 a.CITY,
763 a.COUNTY,
764 a.STATE,
765 a.PROVINCE,
766 a.POSTAL_CODE,
767 null,
768 a.COUNTRY,
769 Null,
770 Null,
771 Null,
772 Null,
773 Null,
774 NULL,
775 NULL,
776 NULL,
777 2000,
778 1,
779 1) ADDRESS
780 FROM hz_locations a,
781 hz_party_sites b
782 WHERE b.party_site_id = p_party_site_id AND
783 a.location_id = b.location_id AND
784 b.status = 'A')
785 LOOP
786 l_formatted_address := x.address;
787 END LOOP;
788
789 RETURN l_formatted_address;
790
791 END party_address;
792
793
794 --=============================================================================+
795 --| Public Procedure |
796 --| party_address2 |
797 --| |
798 --| Parameters |
799 --| IN |
800 --| OUT |
801 --| |
802 --| |
803 --| NOTES |
804 --| |
805 --| HISTORY |
806 --| |
807 --==============================================================================
808 FUNCTION party_address2 (
809 p_location_id IN NUMBER
810 )
811 RETURN VARCHAR2
812 IS
813 l_formatted_address VARCHAR2(32000);
814
815 BEGIN
816 FOR x IN (SELECT ARP_ADDR_LABEL_PKG.FORMAT_ADDRESS_LABEL(
817 Null,
818 ADDRESS1,
819 ADDRESS2,
820 ADDRESS3,
821 ADDRESS4,
822 CITY,
823 COUNTY,
824 STATE,
825 PROVINCE,
826 POSTAL_CODE,
827 null,
828 COUNTRY,
829 Null,
830 Null,
831 Null,
832 Null,
833 Null,
834 NULL,
835 NULL,
836 NULL,
837 2000,
838 1,
839 1) ADDRESS
840 FROM hz_locations
841 WHERE location_id = p_location_id)
842 LOOP
843 l_formatted_address := x.address;
844 END LOOP;
845
846 RETURN l_formatted_address;
847
848 END party_address2;
849
850
851 --=============================================================================+
852 --| Public Procedure |
853 --| jtf_resource |
854 --| |
855 --| Parameters |
856 --| IN |
857 --| OUT |
858 --| |
859 --| |
860 --| NOTES |
861 --| |
862 --| HISTORY |
863 --| |
864 --==============================================================================
865 FUNCTION jtf_resource (
866 p_resource_id IN NUMBER
867 )
868 RETURN VARCHAR2
869 IS
870 l_source_name VARCHAR2(360);
871
872 BEGIN
873 FOR x IN (SELECT source_name
874 FROM jtf_rs_resource_extns
875 WHERE resource_id = p_resource_id)
876 LOOP
877 l_source_name := x.source_name;
878 END LOOP;
879
880 RETURN l_source_name;
881
882 END jtf_resource;
883
884
885 --=============================================================================+
886 --| Public Procedure |
887 --| user_has_permission |
888 --| |
889 --| Parameters |
890 --| IN |
891 --| OUT |
892 --| |
893 --| |
894 --| NOTES |
895 --| |
896 --| HISTORY |
897 --| |
898 --==============================================================================
899 function user_has_permission(p_contact_rel_party_id number, p_permission varchar2)
900 return number is
901 l_exists_flag number := 0;
902 begin
903 for x in ( select 1 exist_flag
904 from jtf_auth_principal_maps jtfpm,
905 jtf_auth_principals_b jtfp1,
906 jtf_auth_domains_b jtfd,
907 jtf_auth_principals_b jtfp2,
908 jtf_auth_role_perms jtfrp,
909 jtf_auth_permissions_b jtfperm,
910 fnd_user FU
911 where jtfp1.principal_name = FU.USER_NAME and
912 FU.CUSTOMER_ID = p_contact_rel_party_id and
913 jtfp1.is_user_flag=1
914 and jtfp1.jtf_auth_principal_id=jtfpm.jtf_auth_principal_id
915 and jtfpm.jtf_auth_parent_principal_id = jtfp2.jtf_auth_principal_id
916 and jtfp2.is_user_flag=0
917 and jtfp2.jtf_auth_principal_id = jtfrp.jtf_auth_principal_id
918 and jtfrp.positive_flag = 1
919 and jtfrp.jtf_auth_permission_id = jtfperm.jtf_auth_permission_id
920 and jtfperm.permission_name = p_permission
921 and jtfd.jtf_auth_domain_id=jtfpm.jtf_auth_domain_id
922 and jtfd.domain_name='CRM_DOMAIN')
923 loop
924 l_exists_flag := x.exist_flag;
925 end loop;
926 return l_exists_flag;
927 end user_has_permission;
928
929 END PV_SQL_UTILITY;
|
|
|