DBA Data[Home] [Help]

PACKAGE BODY: APPS.OKL_PAYMENT_PUB

Source


1 PACKAGE BODY OKL_PAYMENT_PUB AS
2 /* $Header: OKLPPAYB.pls 120.10 2007/09/07 12:28:18 nikshah noship $ */
3 
4   ------------------------------------------------------------------------------
5   -- FUNCTION get_ar_receipt_number
6   ------------------------------------------------------------------------------
7   FUNCTION get_ar_receipt_number(p_cash_receipt_id IN NUMBER) RETURN VARCHAR2 IS
8 
9   l_receipt_number AR_CASH_RECEIPTS_ALL.RECEIPT_NUMBER%TYPE;
10 
11   CURSOR C1 (p_cash_receipt_id IN NUMBER) IS
12   SELECT  RECEIPT_NUMBER
13   FROM    AR_CASH_RECEIPTS_ALL
14   WHERE   CASH_RECEIPT_ID = p_cash_receipt_id;
15 
16   BEGIN
17 
18     OPEN  C1(p_cash_receipt_id);
19     FETCH C1 INTO l_receipt_number;
20     CLOSE C1;
21 
22     RETURN l_receipt_number;
23 
24   EXCEPTION
25 
26     WHEN OTHERS THEN
27 
28         l_receipt_number := NULL;
29 
30   END get_ar_receipt_number;
31 
32   ----------------------------------------------------------------------
33   -- PROCEDURE CREATE_INTERNAL_TRANS
34   ----------------------------------------------------------------------
35   PROCEDURE CREATE_INTERNAL_TRANS(
36      p_api_version                  IN NUMBER,
37      p_init_msg_list                IN VARCHAR2 DEFAULT okl_api.G_FALSE,
38      p_customer_id                  IN NUMBER,
39      p_contract_id			IN NUMBER,
40      p_payment_method_id            IN NUMBER,
41      p_payment_ref_number           IN VARCHAR2,
42      p_payment_amount               IN NUMBER,
43      p_currency_code                IN VARCHAR2,
44      p_payment_date                 IN DATE,
45      x_payment_id                   OUT NOCOPY NUMBER,
46      x_return_status                OUT NOCOPY VARCHAR2,
47      x_msg_count                    OUT NOCOPY NUMBER,
48      x_msg_data                     OUT NOCOPY VARCHAR2
49   )
50   IS
51 
52   l_api_version     NUMBER ;
53   l_init_msg_list   VARCHAR2(1) ;
54   l_return_status   VARCHAR2(1);
55   l_msg_count       NUMBER ;
56   l_msg_data        VARCHAR2(2000);
57   l_customer_id     NUMBER;
58   l_contract_id     NUMBER;
59   l_payment_amount  NUMBER;
60   l_currency_code   VARCHAR2(15);
61   l_payment_date    DATE;
62   l_payment_id      NUMBER;
63   l_payment_method_id  NUMBER;
64   l_payment_ref_number okl_trx_csh_receipt_v.check_number%TYPE;
65 
66   BEGIN
67 
68     SAVEPOINT CREATE_INTERNAL_TRANS;
69 
70     l_api_version    := p_api_version ;
71     l_init_msg_list  := p_init_msg_list ;
72     l_return_status  := x_return_status ;
73     l_msg_count      := x_msg_count ;
74     l_msg_data       := x_msg_data ;
75 
76     l_customer_id := p_customer_id;
77     l_contract_id := p_contract_id;
78     l_payment_amount := p_payment_amount;
79     l_currency_code := p_currency_code;
80     l_payment_date := p_payment_date;
81     l_payment_method_id  := p_payment_method_id;
82     l_payment_ref_number := p_payment_ref_number;
83 
84 
85     -- Private API Call start
86     OKL_PAYMENT_PVT.CREATE_INTERNAL_TRANS
87                (
88                p_api_version    => l_api_version,
89                p_init_msg_list  => l_init_msg_list,
90                p_customer_id    => l_customer_id,
91                p_contract_id    => l_contract_id,
92                p_payment_method_id  => l_payment_method_id,
93                p_payment_ref_number => l_payment_ref_number,
94                p_payment_amount => l_payment_amount,
95                p_currency_code  => l_currency_code,
96                p_payment_date   => l_payment_date,
97                x_payment_id     => l_payment_id,
98                x_return_status  => l_return_status,
99                x_msg_count      => l_msg_count,
100                x_msg_data       => l_msg_data
101                );
102 
103     IF ( l_return_status = FND_API.G_RET_STS_ERROR )  THEN
104 	RAISE FND_API.G_EXC_ERROR;
105     ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
106 	RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
107     END IF;
108     -- Public API Call end
109 
110 
111 
112     --Assign value to OUT variables
113     x_payment_id    := l_payment_id;
114     x_return_status := l_return_status ;
115     x_msg_count     := l_msg_count ;
116     x_msg_data      := l_msg_data ;
117 
118     EXCEPTION
119 
120       WHEN FND_API.G_EXC_ERROR THEN
121         SAVEPOINT CREATE_INTERNAL_TRANS;
122         x_return_status := FND_API.G_RET_STS_ERROR;
123         x_msg_count := l_msg_count ;
124         x_msg_data := l_msg_data ;
125         FND_MSG_PUB.ADD_EXC_MSG('OKL_PAYMENT_PUB','CREATE_INTERNAL_TRANS');
126         FND_MSG_PUB.count_and_get( p_count    => x_msg_count
127 				           ,p_data    => x_msg_data);
128 
129       WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
130         SAVEPOINT CREATE_INTERNAL_TRANS;
131         x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
132         x_msg_count := l_msg_count ;
133         x_msg_data := l_msg_data ;
134         FND_MSG_PUB.ADD_EXC_MSG('OKL_PAYMENT_PUB','CREATE_INTERNAL_TRANS');
135         FND_MSG_PUB.count_and_get( p_count    => x_msg_count
136                                    ,p_data    => x_msg_data);
137 
138       WHEN OTHERS THEN
139         SAVEPOINT CREATE_INTERNAL_TRANS;
140         x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
141         x_msg_count := l_msg_count ;
142         x_msg_data := l_msg_data ;
143         FND_MSG_PUB.ADD_EXC_MSG('OKL_PAYMENT_PUB','CREATE_INTERNAL_TRANS');
144         FND_MSG_PUB.count_and_get( p_count    => x_msg_count
145                                    ,p_data    => x_msg_data);
146 
147   END CREATE_INTERNAL_TRANS;
148 
149   ----------------------------------------------------------------------
150   -- PROCEDURE CREATE_INTERNAL_TRANS
151   ----------------------------------------------------------------------
152   PROCEDURE CREATE_INTERNAL_TRANS(
153      p_api_version                  IN NUMBER,
154      p_init_msg_list                IN VARCHAR2 DEFAULT okl_api.G_FALSE,
155      p_customer_id                  IN NUMBER,
156      p_invoice_id 			IN NUMBER,
157      p_payment_method_id            IN NUMBER,
158      p_payment_ref_number           IN VARCHAR2,
159      p_payment_amount               IN NUMBER,
160      p_currency_code                IN VARCHAR2,
161      p_payment_date                 IN DATE,
162      x_payment_id                   OUT NOCOPY NUMBER,
163      x_return_status                OUT NOCOPY VARCHAR2,
164      x_msg_count                    OUT NOCOPY NUMBER,
165      x_msg_data                     OUT NOCOPY VARCHAR2
166   )
167   IS
168 
169   l_api_version     NUMBER ;
170   l_init_msg_list   VARCHAR2(1) ;
171   l_return_status   VARCHAR2(1);
172   l_msg_count       NUMBER ;
173   l_msg_data        VARCHAR2(2000);
174   l_customer_id     NUMBER;
175   l_invoice_id      NUMBER;
176   l_payment_amount  NUMBER;
177   l_currency_code   VARCHAR2(15);
178   l_payment_date    DATE;
179   l_payment_id      NUMBER;
180   l_payment_method_id  NUMBER;
181   l_payment_ref_number okl_trx_csh_receipt_v.check_number%TYPE;
182 
183   BEGIN
184 
185     SAVEPOINT CREATE_INTERNAL_TRANS;
186 
187     l_api_version    := p_api_version ;
188     l_init_msg_list  := p_init_msg_list ;
189     l_return_status  := x_return_status ;
190     l_msg_count      := x_msg_count ;
191     l_msg_data       := x_msg_data ;
192 
193     l_customer_id := p_customer_id;
194     l_invoice_id := p_invoice_id;
195     l_payment_amount := p_payment_amount;
196     l_currency_code := p_currency_code;
197     l_payment_date := p_payment_date;
198     l_payment_method_id  := p_payment_method_id;
199     l_payment_ref_number := p_payment_ref_number;
200 
201 
202 
203     -- Private API Call start
204     OKL_PAYMENT_PVT.CREATE_INTERNAL_TRANS
205                (
206                p_api_version    => l_api_version,
207                p_init_msg_list  => l_init_msg_list,
208                p_customer_id    => l_customer_id,
209                p_invoice_id     => l_invoice_id,
210                p_payment_method_id  => l_payment_method_id,
211                p_payment_ref_number => l_payment_ref_number,
212                p_payment_amount => l_payment_amount,
213                p_currency_code  => l_currency_code,
214                p_payment_date   => l_payment_date,
215                x_payment_id     => l_payment_id,
216                x_return_status  => l_return_status,
217                x_msg_count      => l_msg_count,
218                x_msg_data       => l_msg_data
219                );
220 
221     IF ( l_return_status = FND_API.G_RET_STS_ERROR )  THEN
222 	RAISE FND_API.G_EXC_ERROR;
223     ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
224 	RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
225     END IF;
226     -- Public API Call end
227 
228 
229 
230     --Assign value to OUT variables
231     x_payment_id    := l_payment_id;
232     x_return_status := l_return_status ;
233     x_msg_count     := l_msg_count ;
234     x_msg_data      := l_msg_data ;
235 
236 
237 
238     EXCEPTION
239 
240       WHEN FND_API.G_EXC_ERROR THEN
241         SAVEPOINT CREATE_INTERNAL_TRANS;
242         x_return_status := FND_API.G_RET_STS_ERROR;
243         x_msg_count := l_msg_count ;
244         x_msg_data := l_msg_data ;
245         FND_MSG_PUB.ADD_EXC_MSG('OKL_PAYMENT_PUB','CREATE_INTERNAL_TRANS');
246         FND_MSG_PUB.count_and_get( p_count    => x_msg_count
247 				           ,p_data    => x_msg_data);
248 
249       WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
250         SAVEPOINT CREATE_INTERNAL_TRANS;
251         x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
252         x_msg_count := l_msg_count ;
253         x_msg_data := l_msg_data ;
254         FND_MSG_PUB.ADD_EXC_MSG('OKL_PAYMENT_PUB','CREATE_INTERNAL_TRANS');
255         FND_MSG_PUB.count_and_get( p_count    => x_msg_count
256                                    ,p_data    => x_msg_data);
257 
258       WHEN OTHERS THEN
259         SAVEPOINT CREATE_INTERNAL_TRANS;
260         x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
261         x_msg_count := l_msg_count ;
262         x_msg_data := l_msg_data ;
263         FND_MSG_PUB.ADD_EXC_MSG('OKL_PAYMENT_PUB','CREATE_INTERNAL_TRANS');
264         FND_MSG_PUB.count_and_get( p_count    => x_msg_count
265                                    ,p_data    => x_msg_data);
266 
267   END CREATE_INTERNAL_TRANS;
268 
269   ----------------------------------------------------------------------
270   -- PROCEDURE CREATE_PAYMENTS
271   ----------------------------------------------------------------------
272   PROCEDURE CREATE_PAYMENTS(
273      p_api_version                  IN  NUMBER,
274      p_init_msg_list                IN  VARCHAR2 DEFAULT okl_api.G_FALSE,
275      p_commit                       IN  VARCHAR2 DEFAULT FND_API.G_FALSE,
276      p_validation_level             IN  NUMBER DEFAULT FND_API.G_VALID_LEVEL_FULL,
277      x_return_status                OUT NOCOPY VARCHAR2,
278      x_msg_count                    OUT NOCOPY NUMBER,
279      x_msg_data                     OUT NOCOPY VARCHAR2,
280      p_receipt_rec                  IN  receipt_rec_type,
281      p_payment_tbl                  IN  payment_tbl_type,
282      x_payment_ref_number           OUT NOCOPY AR_CASH_RECEIPTS_ALL.RECEIPT_NUMBER%TYPE,
283      x_cash_receipt_id              OUT NOCOPY NUMBER
284   )
285   IS
286 
287   l_api_version             CONSTANT NUMBER := 1.0;
288   l_api_name                CONSTANT VARCHAR2(30) := 'OKL_PAYMENT_PUB';
289   l_return_status           VARCHAR2(1) := Okl_Api.G_RET_STS_SUCCESS;
290 
291   l_init_msg_list		    VARCHAR2(1) := Okc_Api.g_false;
292   l_msg_count			    NUMBER;
293   l_msg_data			    VARCHAR2(2000);
294 
295   l_commit                  VARCHAR2(1) := p_commit;
296   l_validation_level        NUMBER := p_validation_level;
297 
298   l_receipt_rec             receipt_rec_type := p_receipt_rec;
299   l_payment_tbl             payment_tbl_type := p_payment_tbl;
300 
301   l_payment_ref_number      AR_CASH_RECEIPTS_ALL.RECEIPT_NUMBER%TYPE DEFAULT NULL;
302   l_cash_receipt_id          NUMBER;
303   BEGIN
304 
305     SAVEPOINT CREATE_PAYMENTS;
306 
307  -- Begin - Make Payment Update - Varangan
308 
309 OKL_PAYMENT_PVT.CREATE_PAYMENTS(
310      p_api_version          => l_api_version,
311      p_init_msg_list        => l_init_msg_list,
312      p_commit               => l_commit,
313      p_validation_level     => l_validation_level,
314      x_return_status        => l_return_status,
315      x_msg_count            => l_msg_count,
316      x_msg_data             => l_msg_data,
317      p_receipt_rec          => l_receipt_rec,
318      p_payment_tbl          => l_payment_tbl,
319      x_payment_ref_number   => l_payment_ref_number,
320      x_cash_receipt_id      => l_cash_receipt_id
321   );
322 
323 -- End - Make Payment Update - Varangan
324 
325 
326     IF ( l_return_status = FND_API.G_RET_STS_ERROR )  THEN
327 	RAISE FND_API.G_EXC_ERROR;
328     ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
329 	RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
330     END IF;
331     -- Public API Call end
332 
333     --Assign value to OUT variables
334     x_return_status := l_return_status ;
335     x_msg_count     := l_msg_count ;
336     x_msg_data      := l_msg_data ;
337     x_cash_receipt_id  := l_cash_receipt_id;
338     x_payment_ref_number := l_payment_ref_number;
339 
340     EXCEPTION
341 
342       WHEN FND_API.G_EXC_ERROR THEN
343         ROLLBACK TO CREATE_PAYMENTS;
344         x_return_status := FND_API.G_RET_STS_ERROR;
345         x_msg_count := l_msg_count ;
346         x_msg_data := l_msg_data ;
347         FND_MSG_PUB.count_and_get(
348              p_count   => x_msg_count
349             ,p_data    => x_msg_data);
350 
351       WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
352         ROLLBACK TO CREATE_PAYMENTS;
353         x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
354         x_msg_count := l_msg_count ;
355         x_msg_data := l_msg_data ;
356         FND_MSG_PUB.count_and_get(
357              p_count   => x_msg_count
358             ,p_data    => x_msg_data);
359 
360 
361       WHEN OTHERS THEN
362         ROLLBACK TO CREATE_PAYMENTS;
363         x_return_status := Okl_Api.G_RET_STS_UNEXP_ERROR;
364         x_msg_count := l_msg_count ;
365         x_msg_data := l_msg_data ;
366         Fnd_Msg_Pub.ADD_EXC_MSG('OKL_PAYMENT_PUB','unexpected error');
367         Fnd_Msg_Pub.count_and_get(
368              p_count   => x_msg_count
369             ,p_data    => x_msg_data);
370 
371   END CREATE_PAYMENTS;
372 
373 END OKL_PAYMENT_PUB;