DBA Data[Home] [Help]

PACKAGE BODY: APPS.ARP_CUST_ALT_MATCH_PKG

Source


1 PACKAGE BODY arp_cust_alt_match_pkg as
2 /* $Header: ARCUANMB.pls 115.5 2003/10/10 14:23:46 mraymond ship $ */
3 
4 --
5 --
6 PG_DEBUG varchar2(1) := NVL(FND_PROFILE.value('AFLOG_ENABLED'), 'N');
7 
8 PROCEDURE delete_match( p_customer_id in number,
9 	                p_site_use_id in number,
10                         p_alt_name in varchar2
11                        ) IS
12 BEGIN
13 
14  IF p_alt_name is NOT NULL then
15    IF p_site_use_id is null then
16       DELETE ar_customer_alt_names
17       WHERE  customer_id = p_customer_id
18       and alt_name = p_alt_name;
19 
20    ELSE
21       DELETE ar_customer_alt_names
22       WHERE  customer_id = p_customer_id
23       AND    site_use_id = p_site_use_id
24       AND    alt_name = p_alt_name;
25    END IF;
26  ELSE
27    IF p_site_use_id is null then
28       DELETE ar_customer_alt_names
29       WHERE  customer_id = p_customer_id;
30    ELSE
31       DELETE ar_customer_alt_names
32       WHERE  customer_id = p_customer_id
33       AND    site_use_id = p_site_use_id;
34    END IF;
35  END IF;
36 EXCEPTION
37    WHEN OTHERS THEN
38 	IF PG_DEBUG in ('Y', 'C') THEN
39 	   arp_standard.debug('EXCEPTION: arp_cust_alt_match_pkg.delete_match');
40 	END IF;
41 	RAISE;
42 END delete_match;
43 --
44 --
45 PROCEDURE insert_match( p_alt_name in VARCHAR2,
46                         p_customer_id in NUMBER,
47                         p_site_use_id in NUMBER,
48                         p_term_id in NUMBER
49                        ) IS
50 
51 l_alt_name_id   NUMBER;
52 l_dummy         NUMBER;
53 l_user_id       NUMBER;
54 
55 CURSOR c1 IS
56     SELECT 1
57     FROM   ar_customer_alt_names
58     WHERE  customer_id = p_customer_id
59     AND    alt_name = p_alt_name
60     AND    decode(site_use_id,'',-1,site_use_id) = decode(p_site_use_id,'',-1,p_site_use_id);
61 
62 BEGIN
63 
64     l_user_id  := fnd_global.user_id;
65 
66     open c1;
67     fetch c1 into l_dummy;
68 
69     IF not c1%FOUND THEN
70 
71     SELECT ar_customer_alt_names_s.nextval
72     INTO   l_alt_name_id
73     FROM   dual;
74 
75     INSERT INTO ar_customer_alt_names (
76                           alt_name_id,
77                           alt_name,
78                           customer_id,
79                           site_use_id,
80                           term_id,
81                           created_by,
82                           creation_date,
83                           last_update_date,
84                           last_update_login,
85                           last_updated_by
86                         ) values (
87                           l_alt_name_id,
88                           p_alt_name,
89                           p_customer_id,
90                           p_site_use_id,
91                           p_term_id,
92                           l_user_id,
93                           sysdate,
94                           sysdate,
95                           l_user_id,
96                           l_user_id );
97     END IF;
98 
99     close c1;
100 
101 EXCEPTION
102    WHEN OTHERS THEN
103         IF PG_DEBUG in ('Y', 'C') THEN
104            arp_standard.debug('EXCEPTION: arp_cust_alt_match_pkg.insert_match');
105         END IF;
106         RAISE;
107 
108 END insert_match;
109 --
110 --
111 PROCEDURE update_pay_term_id( p_customer_id in number,
112 			      p_site_use_id in number,
113 			      p_term_id in number
114 		   	     ) IS
115 l_alt_name_id    NUMBER;
116 l_user_id        NUMBER;
117 
118 CURSOR c1 IS
119     SELECT alt_name_id
120     FROM   ar_customer_alt_names
121     WHERE  customer_id = p_customer_id
122     AND    decode(site_use_id,'',-1,site_use_id) = decode(p_site_use_id,'',-1,p_site_use_id)
123     FOR UPDATE;
124 
125 BEGIN
126 
127     l_user_id  := fnd_global.user_id;
128 
129     open c1;
130     fetch c1 into l_alt_name_id;
131 
132     IF c1%FOUND THEN
133 
134       UPDATE ar_customer_alt_names
135       SET   term_id = p_term_id,
136             last_update_date = sysdate,
137             last_update_login = l_user_id,
138             last_updated_by = l_user_id
139       WHERE alt_name_id = l_alt_name_id;
140 
141     END IF;
142     close c1;
143 
144 EXCEPTION
145    WHEN OTHERS THEN
146         IF PG_DEBUG in ('Y', 'C') THEN
147            arp_standard.debug('update_pay_term_id: ' || 'EXCEPTION: arp_cust_alt_match_pkg.update_pay_term');
148         END IF;
149 
150 END update_pay_term_id;
151 --
152 PROCEDURE lock_match( p_customer_id in number,
153                       p_site_use_id in number,
154                       p_status out NOCOPY number
155                        ) IS
156 BEGIN
157 
158    p_status := 0;
159 
160    IF p_site_use_id is null then
161       SELECT 1
162       INTO p_status
163       FROM ar_customer_alt_names
164       WHERE customer_id = p_customer_id
165       FOR UPDATE OF alt_name_id NOWAIT;
166 
167    ELSE
168       SELECT 1
169       INTO p_status
170       FROM ar_customer_alt_names
171       WHERE customer_id = p_customer_id
172       AND site_use_id = p_site_use_id
173       FOR UPDATE OF alt_name_id NOWAIT;
174 
175    END IF;
176 
177 EXCEPTION
178    WHEN OTHERS THEN
179         IF PG_DEBUG in ('Y', 'C') THEN
180            arp_standard.debug('EXCEPTION: arp_cust_alt_match_pkg.lock_match');
181         END IF;
182 END lock_match;
183 --
184 --
185 
186 END arp_cust_alt_match_pkg;