DBA Data[Home] [Help]

PACKAGE BODY: APPS.OKL_OVERRIDE_TAX_BASIS_PVT

Source


1 PACKAGE BODY OKL_OVERRIDE_TAX_BASIS_PVT AS
2 /* $Header: OKLROTBB.pls 120.0 2005/08/26 19:58:14 sechawla noship $ */
3 
4   -- Start of comments
5   --
6   -- Procedure Name  : override_tax_basis
7   -- Description     : procedure to create or update rec in OKL_TAX_BASIS_OVERRIDE
8   -- Business Rules  :
9   -- Parameters      :
10   -- Version         : 1.0
11   -- History         : SECHAWLA -  Created
12   --
13   -- End of comments
14   PROCEDURE override_tax_basis(
15     p_api_version                  IN NUMBER,
16     p_init_msg_list                IN VARCHAR2,
17     x_return_status                OUT NOCOPY VARCHAR2,
18     x_msg_count                    OUT NOCOPY NUMBER,
19     x_msg_data                     OUT NOCOPY VARCHAR2,
20     p_tbov_rec                     IN tbov_rec_type,
21     x_tbov_rec                     OUT NOCOPY tbov_rec_type) IS
22 
23         l_api_name VARCHAR2(30) := 'override_tax_basis';
24       	l_api_version CONSTANT NUMBER := G_API_VERSION;
25         l_return_status    VARCHAR2(1) := G_RET_STS_SUCCESS;
26 
27 	-- Check if record already exists in okl_tax_basis_override
28     CURSOR l_taxbasis_csr(cp_try_id IN NUMBER, cp_org_id IN NUMBER) IS
29     SELECT 'x'
30     FROM   okl_tax_basis_override
31     WHERE  try_id = cp_try_id
32     AND    org_id = cp_org_id;
33 
34     l_dummy 				VARCHAR2(1);
35 
36 
37   BEGIN
38 
39        IF( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
40           FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE,
41                          'OKL_OVERRIDE_TAX_BASIS_PVT.override_tax_basis',
42                          'Begin(+)');
43        END IF;
44 
45        -- Check API version, initialize message list and create savepoint
46        l_return_status := OKL_API.start_activity(
47                                        p_api_name      => l_api_name,
48                                        p_pkg_name      => G_PKG_NAME,
49                                        p_init_msg_list => p_init_msg_list,
50                                        l_api_version   => l_api_version,
51                                        p_api_version   => p_api_version,
52                                        p_api_type      => '_PVT',
53                                        x_return_status => x_return_status);
54 
55        -- Rollback if error setting activity for api
56        IF (l_return_status = G_RET_STS_UNEXP_ERROR) THEN
57           RAISE G_EXCEPTION_UNEXPECTED_ERROR;
58        ELSIF (l_return_status = G_RET_STS_ERROR) THEN
59           RAISE G_EXCEPTION_ERROR;
60        END IF;
61 
62 
63        OPEN  l_taxbasis_csr(p_tbov_rec.try_id, p_tbov_rec.org_id);
64        FETCH l_taxbasis_csr INTO l_dummy;
65        IF l_taxbasis_csr%FOUND THEN
66           OKL_TAX_BASIS_OVERRIDE_PUB.update_tax_basis_override
67 		           (p_api_version    => p_api_version,
68                     p_init_msg_list  => G_FALSE,
69                     x_return_status  => l_return_status,
70                     x_msg_count      => x_msg_count,
71                     x_msg_data       => x_msg_data,
72                     p_tbov_rec       => p_tbov_rec,
73                     x_tbov_rec       => x_tbov_rec);
74 
75           -- raise exception if api returns error
76           IF (l_return_status = G_RET_STS_UNEXP_ERROR) THEN
77              RAISE G_EXCEPTION_UNEXPECTED_ERROR;
78           ELSIF (l_return_status = G_RET_STS_ERROR) THEN
79              RAISE G_EXCEPTION_ERROR;
80           END IF;
81 	   ELSE
82 	      -- Call TAPI insert
83           OKL_TAX_BASIS_OVERRIDE_PUB.insert_tax_basis_override
84                     (p_api_version    => p_api_version,
85                     p_init_msg_list  => G_FALSE,
86                     x_return_status  => l_return_status,
87                     x_msg_count      => x_msg_count,
88                     x_msg_data       => x_msg_data,
89                     p_tbov_rec       => p_tbov_rec,
90                     x_tbov_rec       => x_tbov_rec);
91 
92           -- raise exception if api returns error
93           IF (l_return_status = G_RET_STS_UNEXP_ERROR) THEN
94              RAISE G_EXCEPTION_UNEXPECTED_ERROR;
95           ELSIF (l_return_status = G_RET_STS_ERROR) THEN
96              RAISE G_EXCEPTION_ERROR;
97           END IF;
98 	   END IF;
99        CLOSE l_taxbasis_csr;
100 
101 
102        x_return_status := l_return_status;
103 
104        -- End Activity
105        OKL_API.end_activity (x_msg_count, x_msg_data);
106 
107        IF( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
108           FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE,
109                          'OKL_OVERRIDE_TAX_BASIS_PVT.override_tax_basis',
110                          'End(-)');
111        END IF;
112 
113   EXCEPTION
114 
115       WHEN G_EXCEPTION_ERROR THEN
116 			IF l_taxbasis_csr%ISOPEN THEN
117 			   CLOSE l_taxbasis_csr;
118 			END IF;
119             x_return_status := OKL_API.handle_exceptions(
120                                        p_api_name  => l_api_name,
121                                        p_pkg_name  => G_PKG_NAME,
122                                        p_exc_name  => 'OKL_API.G_RET_STS_ERROR',
123                                        x_msg_count => x_msg_count,
124                                        x_msg_data  => x_msg_data,
125                                        p_api_type  => '_PVT');
126 
127            IF( FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
128               FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT,
129                              'OKL_OVERRIDE_TAX_BASIS_PVT.override_tax_basis',
130                              'EXP - G_EXCEPTION_ERROR');
131            END IF;
132 
133       WHEN G_EXCEPTION_UNEXPECTED_ERROR THEN
134 
135             IF l_taxbasis_csr%ISOPEN THEN
136 			   CLOSE l_taxbasis_csr;
137 			END IF;
138 
139             x_return_status := OKL_API.handle_exceptions(
140                                        p_api_name  => l_api_name,
141                                        p_pkg_name  => G_PKG_NAME,
142                                        p_exc_name  => 'OKL_API.G_RET_STS_UNEXP_ERROR',
143                                        x_msg_count => x_msg_count,
144                                        x_msg_data  => x_msg_data,
145                                        p_api_type  => '_PVT');
146 
147            IF( FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
148               FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT,
149                              'OKL_OVERRIDE_TAX_BASIS_PVT.override_tax_basis',
150                              'EXP - G_EXCEPTION_UNEXPECTED_ERROR');
151            END IF;
152 
153       WHEN OTHERS THEN
154 
155             IF l_taxbasis_csr%ISOPEN THEN
156 			   CLOSE l_taxbasis_csr;
157 			END IF;
158 
159             x_return_status := OKL_API.handle_exceptions(
160                                        p_api_name  => l_api_name,
161                                        p_pkg_name  => G_PKG_NAME,
162                                        p_exc_name  => 'OTHERS',
163                                        x_msg_count => x_msg_count,
164                                        x_msg_data  => x_msg_data,
165                                        p_api_type  => '_PVT');
166 
167            IF( FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
168               FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT,
169                              'OKL_OVERRIDE_TAX_BASIS_PVT.override_tax_basis',
170                              'EXP - OTHERS');
171            END IF;
172   END override_tax_basis;
173 
174   -- Start of comments
175   --
176   -- Procedure Name  : override_tax_basis
177   -- Description     : procedure to create or update rec in OKL_TAX_BASIS_OVERRIDE
178   -- Business Rules  :
179   -- Parameters      :
180   -- Version         : 1.0
181   -- History         : SMODUGA -  Created
182   --
183   -- End of comments
184   PROCEDURE override_tax_basis(
185     p_api_version                  IN NUMBER,
186     p_init_msg_list                IN VARCHAR2,
187     x_return_status                OUT NOCOPY VARCHAR2,
188     x_msg_count                    OUT NOCOPY NUMBER,
189     x_msg_data                     OUT NOCOPY VARCHAR2,
190     p_tbov_tbl                    IN tbov_tbl_type,
191     x_tbov_tbl                    OUT NOCOPY tbov_tbl_type) IS
192         l_api_name VARCHAR2(30) := 'override_tax_basis';
193       	l_api_version CONSTANT NUMBER := G_API_VERSION;
194         l_return_status    VARCHAR2(1) := G_RET_STS_SUCCESS;
195         i                              NUMBER := 0;
196   BEGIN
197        IF( FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
198           FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE,
199                          'OKL_OVERRIDE_TAX_BASIS_PVT.override_tax_basis',
200                          'Begin(+)');
201        END IF;
202        OKL_API.init_msg_list(p_init_msg_list);
203        -- Check API version, initialize message list and create savepoint
204        l_return_status := OKL_API.start_activity(
205                                        p_api_name      => l_api_name,
206                                        p_pkg_name      => G_PKG_NAME,
207                                        p_init_msg_list => p_init_msg_list,
208                                        l_api_version   => l_api_version,
209                                        p_api_version   => p_api_version,
210                                        p_api_type      => '_PVT',
211                                        x_return_status => x_return_status);
212        -- Rollback if error setting activity for api
213        IF (l_return_status = G_RET_STS_UNEXP_ERROR) THEN
214           RAISE G_EXCEPTION_UNEXPECTED_ERROR;
215        ELSIF (l_return_status = G_RET_STS_ERROR) THEN
216           RAISE G_EXCEPTION_ERROR;
217        END IF;
218        IF (p_tbov_tbl.COUNT > 0) THEN
219       i := p_tbov_tbl.FIRST;
220       LOOP
221 
222         override_tax_basis(
223           p_api_version                  => p_api_version,
224           p_init_msg_list                => OKL_API.G_FALSE,
225           x_return_status                => x_return_status,
226           x_msg_count                    => x_msg_count,
227           x_msg_data                     => x_msg_data,
228           p_tbov_rec                     => p_tbov_tbl(i),
229           x_tbov_rec                     => x_tbov_tbl(i));
230         EXIT WHEN (i = p_tbov_tbl.LAST);
231         i := p_tbov_tbl.NEXT(i);
232       END LOOP;
233     END IF;
234   EXCEPTION
235     WHEN OKL_API.G_EXCEPTION_ERROR THEN
236       x_return_status := OKL_API.HANDLE_EXCEPTIONS
237       (
238         l_api_name,
239         G_PKG_NAME,
240         'OKL_API.G_RET_STS_ERROR',
241         x_msg_count,
242         x_msg_data,
243         '_PVT'
244       );
245     WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
246       x_return_status :=OKL_API.HANDLE_EXCEPTIONS
247       (
248         l_api_name,
249         G_PKG_NAME,
250         'OKL_API.G_RET_STS_UNEXP_ERROR',
251         x_msg_count,
252         x_msg_data,
253         '_PVT'
254       );
255     WHEN OTHERS THEN
256       x_return_status :=OKL_API.HANDLE_EXCEPTIONS
257       (
258         l_api_name,
259         G_PKG_NAME,
260         'OTHERS',
261         x_msg_count,
262         x_msg_data,
263         '_PVT'
264       );
265            IF( FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
266               FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT,
267                              'OKL_OVERRIDE_TAX_BASIS_PVT.override_tax_basis',
268                              'EXP - OTHERS');
269            END IF;
270   END override_tax_basis;
271 
272 END OKL_OVERRIDE_TAX_BASIS_PVT;