[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;