DBA Data[Home] [Help]

PACKAGE BODY: APPS.HZ_PAYMENT_METHOD_PKG

Source


1 PACKAGE BODY HZ_PAYMENT_METHOD_PKG AS
2 /*$Header: ARHPYMTB.pls 120.0 2005/07/06 21:12:55 acng noship $ */
3 
4   PROCEDURE Insert_Row(
5     x_cust_receipt_method_id         IN OUT NOCOPY NUMBER,
6     x_customer_id                    IN NUMBER,
7     x_receipt_method_id              IN NUMBER,
8     x_primary_flag                   IN VARCHAR2,
9     x_site_use_id                    IN NUMBER,
10     x_start_date                     IN DATE,
11     x_end_date                       IN DATE,
12     x_attribute_category             IN VARCHAR2,
13     x_attribute1                     IN VARCHAR2,
14     x_attribute2                     IN VARCHAR2,
15     x_attribute3                     IN VARCHAR2,
16     x_attribute4                     IN VARCHAR2,
17     x_attribute5                     IN VARCHAR2,
18     x_attribute6                     IN VARCHAR2,
19     x_attribute7                     IN VARCHAR2,
20     x_attribute8                     IN VARCHAR2,
21     x_attribute9                     IN VARCHAR2,
22     x_attribute10                    IN VARCHAR2,
23     x_attribute11                    IN VARCHAR2,
24     x_attribute12                    IN VARCHAR2,
25     x_attribute13                    IN VARCHAR2,
26     x_attribute14                    IN VARCHAR2,
27     x_attribute15                    IN VARCHAR2
28   ) IS
29     l_success                               VARCHAR2(1) := 'N';
30     l_primary_key_passed                    BOOLEAN := FALSE;
31   BEGIN
32     IF x_cust_receipt_method_id IS NOT NULL AND
33        x_cust_receipt_method_id <> fnd_api.g_miss_num
34     THEN
35         l_primary_key_passed := TRUE;
36     END IF;
37 
38     WHILE l_success = 'N' LOOP
39       BEGIN
40         INSERT INTO RA_CUST_RECEIPT_METHODS(
41           cust_receipt_method_id,
42           customer_id,
43           receipt_method_id,
44           primary_flag,
45           site_use_id,
46           start_date,
47           end_date,
48           attribute_category,
49           attribute1,
50           attribute2,
51           attribute3,
52           attribute4,
53           attribute5,
54           attribute6,
55           attribute7,
56           attribute8,
57           attribute9,
58           attribute10,
59           attribute11,
60           attribute12,
61           attribute13,
62           attribute14,
63           attribute15,
64           last_update_date,
65           last_updated_by,
66           creation_date,
67           created_by,
68           last_update_login,
69           request_id,
70           program_application_id,
71           program_id,
72           program_update_date
73         ) VALUES (
74           DECODE(x_cust_receipt_method_id, fnd_api.g_miss_num,
75                  ra_cust_receipt_methods_s.NEXTVAL,
76                  NULL, ra_cust_receipt_methods_s.NEXTVAL, x_cust_receipt_method_id),
77           DECODE(x_customer_id, fnd_api.g_miss_num, NULL, x_customer_id),
78           DECODE(x_receipt_method_id, fnd_api.g_miss_num, NULL, x_receipt_method_id),
79           DECODE(x_primary_flag, fnd_api.g_miss_char, NULL, x_primary_flag),
80           DECODE(x_site_use_id, fnd_api.g_miss_num, NULL, x_site_use_id),
81           DECODE(x_start_date, fnd_api.g_miss_date, NULL, x_start_date),
82           DECODE(x_end_date, fnd_api.g_miss_date, NULL, x_end_date),
83           DECODE(x_attribute_category, fnd_api.g_miss_char, NULL, x_attribute_category),
84           DECODE(x_attribute1, fnd_api.g_miss_char, NULL, x_attribute1),
85           DECODE(x_attribute2, fnd_api.g_miss_char, NULL, x_attribute2),
86           DECODE(x_attribute3, fnd_api.g_miss_char, NULL, x_attribute3),
87           DECODE(x_attribute4, fnd_api.g_miss_char, NULL, x_attribute4),
88           DECODE(x_attribute5, fnd_api.g_miss_char, NULL, x_attribute5),
89           DECODE(x_attribute6, fnd_api.g_miss_char, NULL, x_attribute6),
90           DECODE(x_attribute7, fnd_api.g_miss_char, NULL, x_attribute7),
91           DECODE(x_attribute8, fnd_api.g_miss_char, NULL, x_attribute8),
92           DECODE(x_attribute9, fnd_api.g_miss_char, NULL, x_attribute9),
93           DECODE(x_attribute10, fnd_api.g_miss_char, NULL, x_attribute10),
94           DECODE(x_attribute11, fnd_api.g_miss_char, NULL, x_attribute11),
95           DECODE(x_attribute12, fnd_api.g_miss_char, NULL, x_attribute12),
96           DECODE(x_attribute13, fnd_api.g_miss_char, NULL, x_attribute13),
97           DECODE(x_attribute14, fnd_api.g_miss_char, NULL, x_attribute14),
98           DECODE(x_attribute15, fnd_api.g_miss_char, NULL, x_attribute15),
99           hz_utility_v2pub.last_update_date,
100           hz_utility_v2pub.last_updated_by,
101           hz_utility_v2pub.creation_date,
102           hz_utility_v2pub.created_by,
103           hz_utility_v2pub.last_update_login,
104           hz_utility_v2pub.request_id,
105           hz_utility_v2pub.program_application_id,
106           hz_utility_v2pub.program_id,
107           hz_utility_v2pub.program_update_date
108        ) RETURNING
109          cust_receipt_method_id
110        INTO
111          x_cust_receipt_method_id;
112 
113        l_success := 'Y';
114 
115      EXCEPTION
116        WHEN DUP_VAL_ON_INDEX THEN
117          IF INSTRB(SQLERRM, 'RA_CUST_RECEIPT_METHODS_U1') <> 0 OR
118             INSTRB(SQLERRM, 'RA_CUST_RECEIPT_METHODS_PK') <> 0
119          THEN
120            IF l_primary_key_passed THEN
121              fnd_message.set_name('AR', 'HZ_API_DUPLICATE_COLUMN');
122              fnd_message.set_token('COLUMN', 'cust_receipt_method_id');
123              fnd_msg_pub.add;
124              RAISE fnd_api.g_exc_error;
125            END IF;
126 
127            DECLARE
128              l_temp_crm_id   NUMBER;
129              l_max_crm_id   NUMBER;
130            BEGIN
131              l_temp_crm_id := 0;
132              SELECT max(cust_receipt_method_id) INTO l_max_crm_id
133              FROM RA_CUST_RECEIPT_METHODS;
134              WHILE l_temp_crm_id <= l_max_crm_id LOOP
135                SELECT RA_CUST_RECEIPT_METHODS_S.NEXTVAL
136                INTO l_temp_crm_id FROM dual;
137              END LOOP;
138            END;
139          ELSE
140              RAISE;
141          END IF;
142       END;
143     END LOOP;
144   End Insert_Row;
145 
146   PROCEDURE Update_Row(
147     x_rowid                          IN OUT NOCOPY VARCHAR2,
148     x_cust_receipt_method_id         IN NUMBER,
149     x_customer_id                    IN NUMBER,
150     x_receipt_method_id              IN NUMBER,
151     x_primary_flag                   IN VARCHAR2,
152     x_site_use_id                    IN NUMBER,
153     x_start_date                     IN DATE,
154     x_end_date                       IN DATE,
155     x_attribute_category             IN VARCHAR2,
156     x_attribute1                     IN VARCHAR2,
157     x_attribute2                     IN VARCHAR2,
158     x_attribute3                     IN VARCHAR2,
159     x_attribute4                     IN VARCHAR2,
160     x_attribute5                     IN VARCHAR2,
161     x_attribute6                     IN VARCHAR2,
162     x_attribute7                     IN VARCHAR2,
163     x_attribute8                     IN VARCHAR2,
164     x_attribute9                     IN VARCHAR2,
165     x_attribute10                    IN VARCHAR2,
166     x_attribute11                    IN VARCHAR2,
167     x_attribute12                    IN VARCHAR2,
168     x_attribute13                    IN VARCHAR2,
169     x_attribute14                    IN VARCHAR2,
170     x_attribute15                    IN VARCHAR2
171   ) IS
172 
173   BEGIN
174 
175     UPDATE ra_cust_receipt_methods
176     SET   cust_receipt_method_id = DECODE(x_cust_receipt_method_id, NULL,
177                             cust_receipt_method_id, fnd_api.g_miss_num, NULL,
178                             x_cust_receipt_method_id),
179           customer_id = DECODE(x_customer_id, NULL, customer_id, fnd_api.g_miss_num,
180                             NULL, x_customer_id),
181           receipt_method_id = DECODE(x_receipt_method_id, NULL, receipt_method_id,
182                             fnd_api.g_miss_num, NULL, x_receipt_method_id),
183           primary_flag = DECODE(x_primary_flag, NULL, primary_flag,
184                             fnd_api.g_miss_char, NULL, x_primary_flag),
185           site_use_id = DECODE(x_site_use_id, NULL, site_use_id,
186                             fnd_api.g_miss_num, NULL, x_site_use_id),
187           start_date = DECODE(x_start_date, NULL, start_date,
188                             fnd_api.g_miss_date, NULL, x_start_date),
189           end_date = DECODE(x_end_date, NULL, end_date,
190                             fnd_api.g_miss_date, NULL, x_end_date),
191           attribute_category = DECODE(x_attribute_category, NULL, attribute_category,
192                             fnd_api.g_miss_char, NULL, x_attribute_category),
193           attribute1 = DECODE(x_attribute1, NULL, attribute1, fnd_api.g_miss_char,
194                               NULL, x_attribute1),
195           attribute2 = DECODE(x_attribute2, NULL, attribute2, fnd_api.g_miss_char,
196                               NULL, x_attribute2),
197           attribute3 = DECODE(x_attribute3, NULL, attribute3, fnd_api.g_miss_char,
198                               NULL, x_attribute3),
199           attribute4 = DECODE(x_attribute4, NULL, attribute4, fnd_api.g_miss_char,
200                               NULL, x_attribute4),
201           attribute5 = DECODE(x_attribute5, NULL, attribute5, fnd_api.g_miss_char,
202                               NULL, x_attribute5),
203           attribute6 = DECODE(x_attribute6, NULL, attribute6, fnd_api.g_miss_char,
204                               NULL, x_attribute6),
205           attribute7 = DECODE(x_attribute7, NULL, attribute7, fnd_api.g_miss_char,
206                               NULL, x_attribute7),
207           attribute8 = DECODE(x_attribute8, NULL, attribute8, fnd_api.g_miss_char,
208                               NULL, x_attribute8),
209           attribute9 = DECODE(x_attribute9, NULL, attribute9, fnd_api.g_miss_char,
210                               NULL, x_attribute9),
211           attribute10 = DECODE(x_attribute10, NULL, attribute10, fnd_api.g_miss_char,
212                               NULL, x_attribute10),
213           last_update_date = hz_utility_v2pub.last_update_date,
214           last_updated_by = hz_utility_v2pub.last_updated_by,
215           creation_date = creation_date,
216           created_by = created_by,
217           last_update_login = hz_utility_v2pub.last_update_login,
218           request_id = hz_utility_v2pub.request_id,
219           program_application_id = hz_utility_v2pub.program_application_id,
220           program_id = hz_utility_v2pub.program_id,
221           program_update_date = hz_utility_v2pub.program_update_date
222     WHERE rowid = x_rowid;
223 
224     If (SQL%NOTFOUND) then
225         RAISE NO_DATA_FOUND;
226     End If;
227   END Update_Row;
228 
229   PROCEDURE Lock_Row(
230     x_rowid                          IN OUT NOCOPY VARCHAR2,
231     x_cust_receipt_method_id         IN NUMBER,
232     x_customer_id                    IN NUMBER,
233     x_receipt_method_id              IN NUMBER,
234     x_primary_flag                   IN VARCHAR2,
235     x_site_use_id                    IN NUMBER,
236     x_start_date                     IN DATE,
237     x_end_date                       IN DATE,
238     x_attribute_category             IN VARCHAR2,
239     x_attribute1                     IN VARCHAR2,
240     x_attribute2                     IN VARCHAR2,
241     x_attribute3                     IN VARCHAR2,
242     x_attribute4                     IN VARCHAR2,
243     x_attribute5                     IN VARCHAR2,
244     x_attribute6                     IN VARCHAR2,
245     x_attribute7                     IN VARCHAR2,
246     x_attribute8                     IN VARCHAR2,
247     x_attribute9                     IN VARCHAR2,
248     x_attribute10                    IN VARCHAR2,
249     x_attribute11                    IN VARCHAR2,
250     x_attribute12                    IN VARCHAR2,
251     x_attribute13                    IN VARCHAR2,
252     x_attribute14                    IN VARCHAR2,
253     x_attribute15                    IN VARCHAR2,
254     x_last_update_date               IN DATE,
255     x_last_updated_by                IN NUMBER,
256     x_creation_date                  IN DATE,
257     x_created_by                     IN NUMBER,
258     x_last_update_login              IN NUMBER,
259     x_request_id                     IN NUMBER,
260     x_program_application_id         IN NUMBER,
261     x_program_id                     IN NUMBER,
262     x_program_update_date            IN DATE
263   ) IS
264 
265     CURSOR c IS
266       SELECT *
267       FROM   ra_cust_receipt_methods
268       WHERE  ROWID = x_rowid
269       FOR UPDATE NOWAIT;
270 
271     recinfo c%ROWTYPE;
272   BEGIN
273     OPEN c;
274     FETCH c INTO recinfo;
275     IF (C%NOTFOUND) THEN
276       CLOSE c;
277       fnd_message.set_name('FND', 'FORM_RECORD_DELETED');
278       app_exception.raise_exception;
279     END IF;
280     CLOSE c;
281 
282     IF (((recinfo.cust_receipt_method_id = x_cust_receipt_method_id)
283          OR ((recinfo.cust_receipt_method_id IS NULL)
284               AND (x_cust_receipt_method_id IS NULL)))
285         AND ((recinfo.customer_id = x_customer_id)
286             OR ((recinfo.customer_id IS NULL)
287                  AND (x_customer_id IS NULL)))
288         AND ((recinfo.receipt_method_id = x_receipt_method_id)
289             OR ((recinfo.receipt_method_id IS NULL)
290                  AND (x_receipt_method_id IS NULL)))
291         AND ((recinfo.primary_flag = x_primary_flag)
292             OR ((recinfo.primary_flag IS NULL)
293                  AND (x_primary_flag IS NULL)))
294         AND ((recinfo.site_use_id = x_site_use_id)
295             OR ((recinfo.site_use_id IS NULL)
296                  AND (x_site_use_id IS NULL)))
297         AND ((recinfo.start_date = x_start_date)
298             OR ((recinfo.start_date IS NULL)
299                  AND (x_start_date IS NULL)))
300         AND ((recinfo.end_date = x_end_date)
301             OR ((recinfo.end_date IS NULL)
302                  AND (x_start_date IS NULL)))
303         AND ((recinfo.attribute_category = x_attribute_category)
304             OR ((recinfo.attribute_category IS NULL)
305                  AND (x_attribute_category IS NULL)))
306         AND ((recinfo.attribute1 = x_attribute1)
307             OR ((recinfo.attribute1 IS NULL)
308                  AND (x_attribute1 IS NULL)))
309         AND ((recinfo.attribute2 = x_attribute2)
310             OR ((recinfo.attribute2 IS NULL)
311                  AND (x_attribute2 IS NULL)))
312         AND ((recinfo.attribute3 = x_attribute3)
313             OR ((recinfo.attribute3 IS NULL)
314                  AND (x_attribute3 IS NULL)))
315         AND ((recinfo.attribute4 = x_attribute4)
316             OR ((recinfo.attribute4 IS NULL)
317                  AND (x_attribute4 IS NULL)))
318         AND ((recinfo.attribute5 = x_attribute5)
319             OR ((recinfo.attribute5 IS NULL)
320                  AND (x_attribute5 IS NULL)))
321         AND ((recinfo.attribute6 = x_attribute6)
322             OR ((recinfo.attribute6 IS NULL)
323                  AND (x_attribute6 IS NULL)))
324         AND ((recinfo.attribute7 = x_attribute7)
325             OR ((recinfo.attribute7 IS NULL)
326                  AND (x_attribute7 IS NULL)))
327         AND ((recinfo.attribute8 = x_attribute8)
328             OR ((recinfo.attribute8 IS NULL)
329                  AND (x_attribute8 IS NULL)))
330         AND ((recinfo.attribute9 = x_attribute9)
331             OR ((recinfo.attribute9 IS NULL)
332                  AND (x_attribute9 IS NULL)))
333         AND ((recinfo.attribute10 = x_attribute10)
334             OR ((recinfo.attribute10 IS NULL)
335                  AND (x_attribute10 IS NULL)))
336         AND ((recinfo.attribute11 = x_attribute11)
337             OR ((recinfo.attribute11 IS NULL)
338                  AND (x_attribute11 IS NULL)))
339         AND ((recinfo.attribute12 = x_attribute12)
340             OR ((recinfo.attribute12 IS NULL)
341                  AND (x_attribute12 IS NULL)))
342         AND ((recinfo.attribute13 = x_attribute13)
343             OR ((recinfo.attribute13 IS NULL)
344                  AND (x_attribute13 IS NULL)))
345         AND ((recinfo.attribute14 = x_attribute14)
346             OR ((recinfo.attribute14 IS NULL)
347                  AND (x_attribute14 IS NULL)))
348         AND ((recinfo.attribute15 = x_attribute15)
349             OR ((recinfo.attribute15 IS NULL)
350                  AND (x_attribute15 IS NULL)))
351         AND ((recinfo.last_update_date = x_last_update_date)
352              OR ((recinfo.last_update_date IS NULL)
353                  AND (x_last_update_date IS NULL)))
354         AND ((recinfo.last_updated_by = x_last_updated_by)
355              OR ((recinfo.last_updated_by IS NULL)
356                  AND (x_last_updated_by IS NULL)))
357         AND ((recinfo.creation_date = x_creation_date)
358              OR ((recinfo.creation_date IS NULL)
359                  AND (x_creation_date IS NULL)))
360         AND ((recinfo.created_by = x_created_by)
361              OR ((recinfo.created_by IS NULL)
362                  AND (x_created_by IS NULL)))
363         AND ((recinfo.last_update_login = x_last_update_login)
364              OR ((recinfo.last_update_login IS NULL)
365                  AND (x_last_update_login IS NULL)))
366         AND ((recinfo.request_id = x_request_id)
367              OR ((recinfo.request_id IS NULL)
368                  AND (x_request_id IS NULL)))
369         AND ((recinfo.program_application_id = x_program_application_id)
370              OR ((recinfo.program_application_id IS NULL)
371                  AND (x_program_application_id IS NULL)))
372         AND ((recinfo.program_id = x_program_id)
373              OR ((recinfo.program_id IS NULL)
374                  AND (x_program_id IS NULL)))
375         AND ((recinfo.program_update_date = x_program_update_date)
376              OR ((recinfo.program_update_date IS NULL)
377                  AND (x_program_update_date IS NULL)))
378     )
379     THEN
380       RETURN;
381     ELSE
382       fnd_message.set_name('FND', 'FORM_RECORD_DELETED');
383       app_exception.raise_exception;
384     END IF;
385   END lock_row;
386 
387 
388   PROCEDURE delete_row (x_cust_receipt_method_id IN NUMBER) IS
389   BEGIN
390     DELETE FROM ra_cust_receipt_methods
391     WHERE cust_receipt_method_id = x_cust_receipt_method_id;
392 
393     IF (SQL%NOTFOUND) THEN
394       RAISE NO_DATA_FOUND;
395     END IF;
396   END delete_row;
397 
398 END HZ_PAYMENT_METHOD_PKG;