DBA Data[Home] [Help]

PACKAGE BODY: APPS.OKL_CREDIT_MEMO_PUB

Source


1 PACKAGE BODY okl_credit_memo_pub AS
2 /* $Header: OKLPCRMB.pls 120.5 2007/04/20 19:08:18 apaul noship $ */
3 
4   PROCEDURE insert_request(p_api_version     IN          NUMBER,
5                            p_init_msg_list   IN          VARCHAR2 DEFAULT OKL_API.G_FALSE,
6                            --p_lsm_id          IN          NUMBER,
7                            p_tld_id          IN          NUMBER, -- 5897792
8                            p_credit_amount   IN          NUMBER,
9                            p_credit_sty_id   IN          NUMBER   DEFAULT NULL,
10                            p_credit_desc     IN          VARCHAR2 DEFAULT NULL,
11                            p_credit_date     IN          DATE DEFAULT SYSDATE,
12                            p_try_id          IN          NUMBER   DEFAULT NULL,
13                            p_transaction_source IN VARCHAR2 DEFAULT NULL, -- 5897792
14                            p_source_trx_number  IN VARCHAR2 DEFAULT NULL,
15                            x_tai_id          OUT NOCOPY  NUMBER,
16                            x_taiv_rec        OUT NOCOPY  taiv_rec_type,
17                            x_return_status   OUT NOCOPY  VARCHAR2,
18                            x_msg_count       OUT NOCOPY  NUMBER,
19                            x_msg_data        OUT NOCOPY  VARCHAR2) IS
20 
21 
22     lx_tai_id                NUMBER;
23 
24     l_return_status          VARCHAR2(1);
25     l_msg_count              NUMBER;
26     l_msg_data               VARCHAR2(2000);
27 
28   BEGIN
29 
30   SAVEPOINT insert_request;
31 
32 
33 
34 
35 
36   -- PVT API call
37 -- Added p_credit_date as an addtnl parameter. Bug 3816891
38 
39   okl_credit_memo_pvt.insert_request(p_api_version           => p_api_version,
40                         	     p_init_msg_list         => p_init_msg_list,
41 				     --p_lsm_id                => p_lsm_id,
42 				     p_tld_id                => p_tld_id, -- 5897792
43 				     p_credit_amount         => p_credit_amount,
44 				     p_credit_sty_id         => p_credit_sty_id,
45                                      p_credit_desc           => p_credit_desc,
46                                      p_credit_date           => p_credit_date,
47                                      p_try_id                => p_try_id,
48                                    p_transaction_source => p_transaction_source, -- 5897792
49                                    p_source_trx_number => p_source_trx_number,
50 
51                                      x_tai_id                => x_tai_id,
52                                      x_taiv_rec              => x_taiv_rec,
53                                      x_return_status         => l_return_status,
54                                      x_msg_count             => l_msg_count,
55                                      x_msg_data              => l_msg_data);
56 
57   IF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
58     RAISE OKL_API.G_EXCEPTION_ERROR;
59   ELSIF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
60     RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
61   END IF;
62 
63 
64 
65   lx_tai_id := x_tai_id;
66 
67 
68 
69 
70   x_return_status := l_return_status;
71 
72 
73   EXCEPTION
74 
75     WHEN OKL_API.G_EXCEPTION_ERROR THEN
76       ROLLBACK TO insert_request;
77       x_return_status := OKL_API.G_RET_STS_UNEXP_ERROR;
78       FND_MSG_PUB.count_and_get(p_count   => x_msg_count,
79                                  p_data    => x_msg_data);
80 
81     WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
82       ROLLBACK TO insert_request;
83       x_return_status := OKL_API.G_RET_STS_UNEXP_ERROR;
84       FND_MSG_PUB.count_and_get(p_count   => x_msg_count,
85                                  p_data    => x_msg_data);
86 
87     WHEN OTHERS THEN
88       ROLLBACK TO insert_request;
89       x_return_status := OKL_API.G_RET_STS_UNEXP_ERROR;
90       FND_MSG_PUB.ADD_EXC_MSG('OKL_CREDIT_MEMO_PUB','insert_request');
91       FND_MSG_PUB.count_and_get(p_count   => x_msg_count,
92                                  p_data    => x_msg_data);
93 
94   END insert_request;
95 
96 
97   -----------------------------------------------------------------------------------------------
98   -- Procedure insert_request to insert a credit memo request (used by Lease Center)
99   -- Overloaded procedure required as a workaround for the following known FORMS restriction:
100   -- Error 512 Implementation Restriction:  Cannot directly access remote package variable or Cursor
101   -----------------------------------------------------------------------------------------------
102   PROCEDURE insert_request(p_api_version             IN          NUMBER,
103                            p_init_msg_list           IN          VARCHAR2,
104                            --p_lsm_id                  IN          NUMBER,
105                            p_tld_id                  IN          NUMBER, -- 5897792
106                            p_credit_amount           IN          NUMBER,
107                            p_credit_sty_id           IN          NUMBER,
108                            p_credit_desc             IN          VARCHAR2,
109                            p_credit_date             IN          DATE DEFAULT SYSDATE,
110                            p_try_id                  IN          NUMBER,
111                            p_transaction_source IN VARCHAR2 DEFAULT NULL, -- 5897792
112                            p_source_trx_number  IN VARCHAR2 DEFAULT NULL,
113                            x_tai_id                  OUT NOCOPY  NUMBER,
114                            x_return_status           OUT NOCOPY  VARCHAR2,
115                            x_msg_count               OUT NOCOPY  NUMBER,
116                            x_msg_data                OUT NOCOPY  VARCHAR2) IS
117 
118     lx_taiv_rec       taiv_rec_type;
119     l_return_status   VARCHAR2(1);
120 
121   BEGIN
122 
123     --Added p_credit_date as an addtnl parameter to this api.
124     --Bug 3816891
125     insert_request(p_api_version     => p_api_version,
126                    p_init_msg_list   => p_init_msg_list,
127                    --p_lsm_id          => p_lsm_id,
128                    p_tld_id          => p_tld_id, -- 5897792
129                    p_credit_amount   => p_credit_amount,
130                    p_credit_sty_id   => p_credit_sty_id,
131                    p_credit_desc     => p_credit_desc,
132                    p_credit_date     => p_credit_date,
133                    p_try_id          => p_try_id,
134                    p_transaction_source => p_transaction_source, -- 5897792
135                    p_source_trx_number  => p_source_trx_number,
136                    x_tai_id          => x_tai_id,
137                    x_taiv_rec        => lx_taiv_rec,
138                    x_return_status   => l_return_status,
139                    x_msg_count       => x_msg_count,
140                    x_msg_data        => x_msg_data);
141 
142     IF l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR THEN
143       RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
144     ELSIF l_return_status = OKL_API.G_RET_STS_ERROR THEN
145       RAISE OKL_API.G_EXCEPTION_ERROR;
146     END IF;
147 
148     x_return_status      :=     l_return_status;
149 
150   EXCEPTION
151 
152     WHEN OKL_API.G_EXCEPTION_ERROR THEN
153 
154       x_return_status := OKL_API.G_RET_STS_ERROR;
155 
156     WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
157 
158       x_return_status := OKL_API.G_RET_STS_UNEXP_ERROR;
159 
160     WHEN OTHERS THEN
161 
162       OKL_API.SET_MESSAGE (p_app_name     => G_APP_NAME,
163                            p_msg_name     => G_UNEXPECTED_ERROR,
164                            p_token1       => G_SQLCODE_TOKEN,
165                            p_token1_value => sqlcode,
166                            p_token2       => G_SQLERRM_TOKEN,
167                            p_token2_value => sqlerrm);
168 
169       x_return_status := OKL_API.G_RET_STS_UNEXP_ERROR;
170 
171 
172   END insert_request;
173 
174 
175   PROCEDURE insert_request(p_api_version             IN          NUMBER,
176                            p_init_msg_list           IN          VARCHAR2,
177                            p_credit_list             IN          credit_tbl,
178                            p_transaction_source IN VARCHAR2 DEFAULT NULL, -- 5897792
179                            p_source_trx_number  IN VARCHAR2 DEFAULT NULL,
180                            x_taiv_tbl                OUT NOCOPY  taiv_tbl_type,
181                            x_return_status           OUT NOCOPY  VARCHAR2,
182                            x_msg_count               OUT NOCOPY  NUMBER,
183                            x_msg_data                OUT NOCOPY  VARCHAR2) IS
184 
185     l_return_status          VARCHAR2(1);
186     l_msg_count              NUMBER;
187     l_msg_data               VARCHAR2(2000);
188 
189   BEGIN
190 
191     SAVEPOINT insert_request;
192 
193 
194 
195 
196 
197 
198     -- PVT API call
199 
200     okl_credit_memo_pvt.insert_request(p_api_version   => p_api_version,
201                                        p_init_msg_list => p_init_msg_list,
202                                        p_credit_list   => p_credit_list,
203                            p_transaction_source => p_transaction_source, -- 5897792
204                            p_source_trx_number  => p_source_trx_number,
205                                        x_taiv_tbl      => x_taiv_tbl,
206                                        x_return_status => l_return_status,
207                                        x_msg_count     => l_msg_count,
208                                        x_msg_data      => l_msg_data);
209 
210     IF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
211       RAISE OKL_API.G_EXCEPTION_ERROR;
212     ELSIF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
213       RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
214     END IF;
215 
216 
217 
218 
219 
220 
221     x_return_status := l_return_status;
222 
223 
224   EXCEPTION
225 
226     WHEN OKL_API.G_EXCEPTION_ERROR THEN
227 
228       ROLLBACK TO insert_request;
229       x_return_status := OKL_API.G_RET_STS_UNEXP_ERROR;
230       FND_MSG_PUB.count_and_get(p_count   => x_msg_count,
231                                  p_data    => x_msg_data);
232 
233 
234     WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
235 
236       ROLLBACK TO insert_request;
237       x_return_status := OKL_API.G_RET_STS_UNEXP_ERROR;
238       FND_MSG_PUB.count_and_get(p_count   => x_msg_count,
239                                  p_data    => x_msg_data);
240 
241 
242     WHEN OTHERS THEN
243       ROLLBACK TO insert_request;
244       x_return_status := OKL_API.G_RET_STS_UNEXP_ERROR;
245       FND_MSG_PUB.ADD_EXC_MSG('OKL_CREDIT_MEMO_PUB','insert_request');
246       FND_MSG_PUB.count_and_get(p_count   => x_msg_count,
247                                  p_data    => x_msg_data);
248 
249   END insert_request;
250 
251   --rkuttiya added for bug # 4341480
252    PROCEDURE insert_on_acc_cm_request(p_api_version     IN          NUMBER,
253                                       p_init_msg_list   IN          VARCHAR2 DEFAULT OKL_API.G_FALSE,
254                                       --p_lsm_id          IN          NUMBER,
255                                       p_tld_id          IN          NUMBER, -- 5897792
256                                       p_credit_amount   IN          NUMBER,
257                                       p_credit_sty_id   IN          NUMBER   DEFAULT NULL,
258                                       p_credit_desc     IN          VARCHAR2 DEFAULT NULL,
259                                       p_credit_date     IN          DATE DEFAULT SYSDATE,
260                                       p_try_id          IN          NUMBER   DEFAULT NULL,
261                            p_transaction_source IN VARCHAR2 DEFAULT NULL, -- 5897792
262                            p_source_trx_number  IN VARCHAR2 DEFAULT NULL,
263                                       x_tai_id          OUT NOCOPY  NUMBER,
264                                       x_taiv_rec        OUT NOCOPY  taiv_rec_type,
265                                       x_return_status   OUT NOCOPY  VARCHAR2,
266                                       x_msg_count       OUT NOCOPY  NUMBER,
267                                       x_msg_data        OUT NOCOPY  VARCHAR2) IS
268    lx_tai_id                NUMBER;
269 
270     l_return_status          VARCHAR2(1);
271     l_msg_count              NUMBER;
272     l_msg_data               VARCHAR2(2000);
273 
274   BEGIN
275 
276   SAVEPOINT insert_request;
277 
278 -- PVT API call
279 -- Added p_credit_date as an addtnl parameter. Bug 3816891
280 
281   okl_credit_memo_pvt.insert_on_acc_cm_request(p_api_version           => p_api_version,
282                                                    p_init_msg_list         => p_init_msg_list,
283                                                              --p_lsm_id                => p_lsm_id,
284        p_tld_id                => p_tld_id, -- 5897792
285                                                                p_credit_amount         => p_credit_amount,
286                                                                p_credit_sty_id         => p_credit_sty_id,
287                                                p_credit_desc           => p_credit_desc,
288                                                p_credit_date           => p_credit_date,
289                                                p_try_id                => p_try_id,
290        p_transaction_source => p_transaction_source, -- 5897792
291        p_source_trx_number  => p_source_trx_number,
292                                                x_tai_id                => x_tai_id,
293                                                x_taiv_rec              => x_taiv_rec,
294                                                x_return_status         => l_return_status,
295                                                x_msg_count             => l_msg_count,
296                                                x_msg_data              => l_msg_data);
297 
298   IF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
299     RAISE OKL_API.G_EXCEPTION_ERROR;
300   ELSIF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
301     RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
302   END IF;
303 
304   lx_tai_id := x_tai_id;
305 
306   x_return_status := l_return_status;
307 
308   EXCEPTION
309 
310     WHEN OKL_API.G_EXCEPTION_ERROR THEN
311       ROLLBACK TO insert_request;
312       x_return_status := OKL_API.G_RET_STS_UNEXP_ERROR;
313       FND_MSG_PUB.count_and_get(p_count   => x_msg_count,
314                                  p_data    => x_msg_data);
315 
316     WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
317       ROLLBACK TO insert_request;
318       x_return_status := OKL_API.G_RET_STS_UNEXP_ERROR;
319       FND_MSG_PUB.count_and_get(p_count   => x_msg_count,
320                                  p_data    => x_msg_data);
321 
322     WHEN OTHERS THEN
323       ROLLBACK TO insert_request;
324       x_return_status := OKL_API.G_RET_STS_UNEXP_ERROR;
325       FND_MSG_PUB.ADD_EXC_MSG('OKL_CREDIT_MEMO_PUB','insert_request');
326       FND_MSG_PUB.count_and_get(p_count   => x_msg_count,
327                                  p_data    => x_msg_data);
328 
329   END insert_on_acc_cm_request;
330 
331 --end fix for bug #4341480
332 
333 END okl_credit_memo_pub;