[Home] [Help]
PACKAGE BODY: APPS.OKL_VERSION_FA_PUB
Source
1 package body OKL_VERSION_FA_PUB as
2 /* $Header: OKLPVFAB.pls 115.3 2004/04/13 11:26:44 rnaik noship $ */
3
4
5 -- Start of comments
6 --
7 -- Procedure Name : CREATE_SUP_INV_DTLS
8 -- Description : creates version FA for contract
9 -- Business Rules :
10 -- Parameters :
11 -- Version : 1.0
12 -- End of comments
13 PROCEDURE create_version_fa(p_api_version IN NUMBER,
14 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
15 x_return_status OUT NOCOPY VARCHAR2,
16 x_msg_count OUT NOCOPY NUMBER,
17 x_msg_data OUT NOCOPY VARCHAR2,
18 p_vfav_rec IN vfav_rec_type,
19 x_vfav_rec OUT NOCOPY vfav_rec_type) IS
20
21 l_vfav_rec vfav_rec_type;
22 l_return_status VARCHAR2(3) := FND_API.G_RET_STS_SUCCESS;
23 l_api_name CONSTANT VARCHAR2(30) := 'CREATE_VERSION_FA';
24 l_api_version CONSTANT NUMBER := 1;
25 BEGIN
26 savepoint create_version_fa_pub;
27 -- Standard call to check for call compatibility.
28 IF NOT (FND_API.Compatible_API_Call (l_api_version,
29 p_api_version,
30 l_api_name,
31 G_PKG_NAME)) THEN
32 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
33 END IF;
34 -- Initialize message list if p_init_msg_list is set to TRUE.
35 IF (FND_API.to_Boolean( p_init_msg_list )) THEN
36 FND_MSG_PUB.initialize;
37 END IF;
38 l_vfav_rec := p_vfav_rec;
39 g_vfav_rec := l_vfav_rec;
40 -- Customer pre processing section
41 -- Verticle industry pre- processing section
42 -- Business API call section
43 l_vfav_rec.id := p_vfav_rec.id;
44 l_vfav_rec.object_version_number := p_vfav_rec.object_version_number;
45 OKL_VERSION_FA_PVT.Create_version_fa(p_api_version => p_api_version,
46 p_init_msg_list => p_init_msg_list,
47 x_return_status => l_return_status,
48 x_msg_count => x_msg_count,
49 x_msg_data => x_msg_data,
50 p_vfav_rec => l_vfav_rec,
51 x_vfav_rec => x_vfav_rec);
52 IF (l_return_status = FND_API.G_RET_STS_ERROR ) THEN
53 RAISE FND_API.G_EXC_ERROR;
54 ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
55 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
56 END IF;
57 l_vfav_rec := x_vfav_rec;
58 g_vfav_rec := l_vfav_rec;
59 -- Verticle industry post- processing section
60 -- Customer post processing section
61 x_return_status := FND_API.G_RET_STS_SUCCESS;
62 EXCEPTION
63 When FND_API.G_EXC_ERROR then
64 ROLLBACK TO create_version_fa_pub;
65 x_return_status := FND_API.G_RET_STS_ERROR;
66 FND_MSG_PUB.count_and_get (p_count => x_msg_count,
67 p_data => x_msg_data);
68 When FND_API.G_EXC_UNEXPECTED_ERROR then
69 ROLLBACK TO create_version_fa_pub;
70 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
71 FND_MSG_PUB.count_and_get (p_count => x_msg_count,
72 p_data => x_msg_data);
73 When OTHERS then
74 ROLLBACK TO create_version_fa_pub;
75 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
76 FND_MSG_PUB.ADD_EXC_MSG( G_PKG_NAME, 'create_version_fa_pub');
77 FND_MSG_PUB.count_and_get (p_encoded => FND_API.G_FALSE,
78 p_count => x_msg_count,
79 p_data => x_msg_data);
80 END create_version_fa;
81
82 -- Start of comments
83 --
84 -- Procedure Name : CREATE_VERSION_FA
85 -- Description : creates txl itm insts for contract
86 -- Business Rules :
87 -- Parameters :
88 -- Version : 1.0
89 -- End of comments
90
91 PROCEDURE create_version_fa(
92 p_api_version IN NUMBER,
93 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
94 x_return_status OUT NOCOPY VARCHAR2,
95 x_msg_count OUT NOCOPY NUMBER,
96 x_msg_data OUT NOCOPY VARCHAR2,
97 p_vfav_tbl IN vfav_tbl_type,
98 x_vfav_tbl OUT NOCOPY vfav_tbl_type) IS
99 i NUMBER := 0;
100 l_return_status VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
101 BEGIN
102 x_return_status := FND_API.G_RET_STS_SUCCESS;
103 IF p_vfav_tbl.COUNT > 0 THEN
104 i := p_vfav_tbl.FIRST;
105 LOOP
106 create_version_fa(p_api_version => p_api_version,
107 p_init_msg_list => p_init_msg_list,
108 x_return_status => l_return_status,
109 x_msg_count => x_msg_count,
110 x_msg_data => x_msg_data,
111 p_vfav_rec => p_vfav_tbl(i),
112 x_vfav_rec => x_vfav_tbl(i));
113 IF (l_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
114 IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
115 x_return_status := l_return_status;
116 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
117 ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
118 x_return_status := l_return_status;
119 RAISE FND_API.G_EXC_ERROR;
120 ELSE
121 x_return_status := l_return_status;
122 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
123 END IF;
124 END IF;
125 EXIT WHEN (i = p_vfav_tbl.LAST);
126 i := p_vfav_tbl.NEXT(i);
127 END LOOP;
128 END IF;
129 EXCEPTION
130 WHEN FND_API.G_EXC_ERROR THEN
131 ROLLBACK TO create_version_fa_pub;
132 x_return_status := FND_API.G_RET_STS_ERROR;
133 FND_MSG_PUB.count_and_get (p_count => x_msg_count,
134 p_data => x_msg_data);
135 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
136 ROLLBACK TO create_version_fa_pub;
137 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
138 FND_MSG_PUB.count_and_get (p_count => x_msg_count,
139 p_data => x_msg_data);
140 WHEN OTHERS then
141 ROLLBACK TO create_version_fa_pub;
142 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
143 FND_MSG_PUB.ADD_EXC_MSG(G_PKG_NAME, 'create_version_fa_pub');
144 FND_MSG_PUB.count_and_get (p_encoded => FND_API.G_FALSE,
145 p_count => x_msg_count,
146 p_data => x_msg_data);
147 END create_version_fa;
148
149 -- Start of comments
150 --
151 -- Procedure Name : UPDATE_VERSION_FA
152 -- Description : updates txl itm insts for contract
153 -- Business Rules :
154 -- Parameters :
155 -- Version : 1.0
156 -- End of comments
157 PROCEDURE update_version_fa(p_api_version IN NUMBER,
158 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
159 x_return_status OUT NOCOPY VARCHAR2,
160 x_msg_count OUT NOCOPY NUMBER,
161 x_msg_data OUT NOCOPY VARCHAR2,
162 p_vfav_rec IN vfav_rec_type,
163 x_vfav_rec OUT NOCOPY vfav_rec_type) IS
164
165 l_vfav_rec vfav_rec_type;
166 l_return_status VARCHAR2(3) := FND_API.G_RET_STS_SUCCESS;
167 l_api_name CONSTANT VARCHAR2(30) := 'UPDATE_VERSION_FA';
168 l_api_version CONSTANT NUMBER := 1;
169 BEGIN
170 savepoint update_version_fa_pub;
171 -- Standard call to check for call compatibility.
172 IF NOT (FND_API.Compatible_API_Call (l_api_version,
173 p_api_version,
174 l_api_name,
175 G_PKG_NAME)) THEN
176 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
177 END IF;
178 -- Initialize message list if p_init_msg_list is set to TRUE.
179 IF (FND_API.to_Boolean( p_init_msg_list )) THEN
180 FND_MSG_PUB.initialize;
181 END IF;
182 l_vfav_rec := p_vfav_rec;
183 g_vfav_rec := l_vfav_rec;
184 -- Customer pre processing section
185 -- Verticle industry pre- processing section
186 -- Business API call section
187 l_vfav_rec.id := p_vfav_rec.id;
188 l_vfav_rec.object_version_number := p_vfav_rec.object_version_number;
189 OKL_VERSION_FA_PVT.update_version_fa(p_api_version => p_api_version,
190 p_init_msg_list => p_init_msg_list,
191 x_return_status => l_return_status,
192 x_msg_count => x_msg_count,
193 x_msg_data => x_msg_data,
194 p_vfav_rec => l_vfav_rec,
195 x_vfav_rec => x_vfav_rec);
196 IF (l_return_status = FND_API.G_RET_STS_ERROR ) THEN
197 RAISE FND_API.G_EXC_ERROR;
198 ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
199 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
200 END IF;
201 l_vfav_rec := x_vfav_rec;
202 g_vfav_rec := l_vfav_rec;
203 -- Verticle industry post- processing section
204 -- Customer post processing section
205 x_return_status := FND_API.G_RET_STS_SUCCESS;
206 EXCEPTION
207 When FND_API.G_EXC_ERROR then
208 ROLLBACK TO update_version_fa_pub;
209 x_return_status := FND_API.G_RET_STS_ERROR;
210 FND_MSG_PUB.count_and_get (p_count => x_msg_count,
211 p_data => x_msg_data);
212 When FND_API.G_EXC_UNEXPECTED_ERROR then
213 ROLLBACK TO update_version_fa_pub;
214 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
215 FND_MSG_PUB.count_and_get (p_count => x_msg_count,
216 p_data => x_msg_data);
217 When OTHERS then
218 ROLLBACK TO update_version_fa_pub;
219 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
220 FND_MSG_PUB.ADD_EXC_MSG( G_PKG_NAME, 'update_version_fa_pub');
221 FND_MSG_PUB.count_and_get (p_encoded => FND_API.G_FALSE,
222 p_count => x_msg_count,
223 p_data => x_msg_data);
224 END update_version_fa;
225
226 -- Start of comments
227 --
228 -- Procedure Name : UPDATE_VERSION_FA
229 -- Description : updates txl itm insts for contract
230 -- Business Rules :
231 -- Parameters :
232 -- Version : 1.0
233 -- End of comments
234
235 PROCEDURE update_version_fa(
236 p_api_version IN NUMBER,
237 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
238 x_return_status OUT NOCOPY VARCHAR2,
239 x_msg_count OUT NOCOPY NUMBER,
240 x_msg_data OUT NOCOPY VARCHAR2,
241 p_vfav_tbl IN vfav_tbl_type,
242 x_vfav_tbl OUT NOCOPY vfav_tbl_type) IS
243 i NUMBER := 0;
244 l_return_status VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
245 BEGIN
246 x_return_status := FND_API.G_RET_STS_SUCCESS;
247 IF p_vfav_tbl.COUNT > 0 THEN
248 i := p_vfav_tbl.FIRST;
249 LOOP
250 update_version_fa(p_api_version => p_api_version,
251 p_init_msg_list => p_init_msg_list,
252 x_return_status => l_return_status,
253 x_msg_count => x_msg_count,
254 x_msg_data => x_msg_data,
255 p_vfav_rec => p_vfav_tbl(i),
256 x_vfav_rec => x_vfav_tbl(i));
257 IF (l_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
258 IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
259 x_return_status := l_return_status;
260 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
261 ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
262 x_return_status := l_return_status;
263 RAISE FND_API.G_EXC_ERROR;
264 ELSE
265 x_return_status := l_return_status;
266 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
267 END IF;
268 END IF;
269 EXIT WHEN (i = p_vfav_tbl.LAST);
270 i := p_vfav_tbl.NEXT(i);
271 END LOOP;
272 END IF;
273 EXCEPTION
274 WHEN FND_API.G_EXC_ERROR THEN
275 ROLLBACK TO update_version_fa_pub;
276 x_return_status := FND_API.G_RET_STS_ERROR;
277 FND_MSG_PUB.count_and_get (p_count => x_msg_count,
278 p_data => x_msg_data);
279 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
280 ROLLBACK TO update_version_fa_pub;
281 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
282 FND_MSG_PUB.count_and_get (p_count => x_msg_count,
283 p_data => x_msg_data);
284 WHEN OTHERS then
285 ROLLBACK TO update_version_fa_pub;
286 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
287 FND_MSG_PUB.ADD_EXC_MSG(G_PKG_NAME, 'update_version_fa_pub');
288 FND_MSG_PUB.count_and_get (p_encoded => FND_API.G_FALSE,
289 p_count => x_msg_count,
290 p_data => x_msg_data);
291 END update_version_fa;
292
293 -- Start of comments
294 --
295 -- Procedure Name : DELETE_VERSION_FA
296 -- Description : deletes txl itm insts for a contract
297 -- Business Rules :
298 -- Parameters :
299 -- Version : 1.0
300 -- End of comments
301 PROCEDURE delete_version_fa(p_api_version IN NUMBER,
302 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
303 x_return_status OUT NOCOPY VARCHAR2,
304 x_msg_count OUT NOCOPY NUMBER,
305 x_msg_data OUT NOCOPY VARCHAR2,
306 p_vfav_rec IN vfav_rec_type) IS
307
308 l_vfav_rec vfav_rec_type;
309 l_return_status VARCHAR2(3) := FND_API.G_RET_STS_SUCCESS;
310 l_api_name CONSTANT VARCHAR2(30) := 'DELETE_VERSION_FA';
311 l_api_version CONSTANT NUMBER := 1;
312 BEGIN
313 savepoint delete_version_fa_pub;
314 -- Standard call to check for call compatibility.
315 IF NOT (FND_API.Compatible_API_Call (l_api_version,
316 p_api_version,
317 l_api_name,
318 G_PKG_NAME)) THEN
319 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
320 END IF;
321 -- Initialize message list if p_init_msg_list is set to TRUE.
322 IF (FND_API.to_Boolean( p_init_msg_list )) THEN
323 FND_MSG_PUB.initialize;
324 END IF;
325 l_vfav_rec := p_vfav_rec;
326 g_vfav_rec := l_vfav_rec;
327 -- Customer pre processing section
328 -- Verticle industry pre- processing section
329 -- Business API call section
330 l_vfav_rec.id := p_vfav_rec.id;
331 l_vfav_rec.object_version_number := p_vfav_rec.object_version_number;
332 OKL_VERSION_FA_PVT.delete_version_fa(p_api_version => p_api_version,
333 p_init_msg_list => p_init_msg_list,
334 x_return_status => l_return_status,
335 x_msg_count => x_msg_count,
336 x_msg_data => x_msg_data,
337 p_vfav_rec => l_vfav_rec);
338 IF (l_return_status = FND_API.G_RET_STS_ERROR ) THEN
339 RAISE FND_API.G_EXC_ERROR;
340 ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
341 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
342 END IF;
343 g_vfav_rec := l_vfav_rec;
344 -- Verticle industry post- processing section
345 -- Customer post processing section
346 x_return_status := FND_API.G_RET_STS_SUCCESS;
347 EXCEPTION
348 When FND_API.G_EXC_ERROR then
349 ROLLBACK TO delete_version_fa_pub;
350 x_return_status := FND_API.G_RET_STS_ERROR;
351 FND_MSG_PUB.count_and_get (p_count => x_msg_count,
352 p_data => x_msg_data);
353 When FND_API.G_EXC_UNEXPECTED_ERROR then
354 ROLLBACK TO delete_version_fa_pub;
355 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
356 FND_MSG_PUB.count_and_get (p_count => x_msg_count,
357 p_data => x_msg_data);
358 When OTHERS then
359 ROLLBACK TO delete_version_fa_pub;
360 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
361 FND_MSG_PUB.ADD_EXC_MSG( G_PKG_NAME, 'delete_version_fa_pub');
362 FND_MSG_PUB.count_and_get (p_encoded => FND_API.G_FALSE,
363 p_count => x_msg_count,
364 p_data => x_msg_data);
365 END delete_version_fa;
366
367 -- Start of comments
368 --
369 -- Procedure Name : DELETE_VERSION_FA
370 -- Description : deletes txl itm insts for a contract
371 -- Business Rules :
372 -- Parameters :
373 -- Version : 1.0
374 -- End of comments
375
376 PROCEDURE delete_version_fa(
377 p_api_version IN NUMBER,
378 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
379 x_return_status OUT NOCOPY VARCHAR2,
380 x_msg_count OUT NOCOPY NUMBER,
381 x_msg_data OUT NOCOPY VARCHAR2,
382 p_vfav_tbl IN vfav_tbl_type) IS
383 i NUMBER := 0;
384 l_return_status VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
385 BEGIN
386 x_return_status := FND_API.G_RET_STS_SUCCESS;
387 IF p_vfav_tbl.COUNT > 0 THEN
388 i := p_vfav_tbl.FIRST;
389 LOOP
390 delete_version_fa(p_api_version => p_api_version,
391 p_init_msg_list => p_init_msg_list,
392 x_return_status => l_return_status,
393 x_msg_count => x_msg_count,
394 x_msg_data => x_msg_data,
395 p_vfav_rec => p_vfav_tbl(i));
396 IF (l_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
397 IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
398 x_return_status := l_return_status;
399 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
400 ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
401 x_return_status := l_return_status;
402 RAISE FND_API.G_EXC_ERROR;
403 ELSE
404 x_return_status := l_return_status;
405 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
406 END IF;
407 END IF;
408 EXIT WHEN (i = p_vfav_tbl.LAST);
409 i := p_vfav_tbl.NEXT(i);
410 END LOOP;
411 END IF;
412 EXCEPTION
413 WHEN FND_API.G_EXC_ERROR THEN
414 ROLLBACK TO delete_version_fa_pub;
415 x_return_status := FND_API.G_RET_STS_ERROR;
416 FND_MSG_PUB.count_and_get (p_count => x_msg_count,
417 p_data => x_msg_data);
418 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
419 ROLLBACK TO delete_version_fa_pub;
420 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
421 FND_MSG_PUB.count_and_get (p_count => x_msg_count,
422 p_data => x_msg_data);
423 WHEN OTHERS then
424 ROLLBACK TO delete_version_fa_pub;
425 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
426 FND_MSG_PUB.ADD_EXC_MSG(G_PKG_NAME, 'delete_version_fa_pub');
427 FND_MSG_PUB.count_and_get (p_encoded => FND_API.G_FALSE,
428 p_count => x_msg_count,
429 p_data => x_msg_data);
430 END delete_version_fa;
431
432
433 -- Start of comments
434 --
435 -- Procedure Name : VALIDATE_VERSION_FA
436 -- Description : validates txl itm insts for a contract
437 -- Business Rules :
438 -- Parameters :
439 -- Version : 1.0
440 -- End of comments
441 PROCEDURE validate_version_fa(p_api_version IN NUMBER,
442 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
443 x_return_status OUT NOCOPY VARCHAR2,
444 x_msg_count OUT NOCOPY NUMBER,
445 x_msg_data OUT NOCOPY VARCHAR2,
446 p_vfav_rec IN vfav_rec_type) IS
447
448 l_vfav_rec vfav_rec_type;
449 l_return_status VARCHAR2(3) := FND_API.G_RET_STS_SUCCESS;
450 l_api_name CONSTANT VARCHAR2(30) := 'VALIDATE_VERSION_FA';
451 l_api_version CONSTANT NUMBER := 1;
452 BEGIN
453 savepoint validate_version_fa_pub;
454 -- Standard call to check for call compatibility.
455 IF NOT (FND_API.Compatible_API_Call (l_api_version,
456 p_api_version,
457 l_api_name,
458 G_PKG_NAME)) THEN
459 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
460 END IF;
461 -- Initialize message list if p_init_msg_list is set to TRUE.
462 IF (FND_API.to_Boolean( p_init_msg_list )) THEN
463 FND_MSG_PUB.initialize;
464 END IF;
465 l_vfav_rec := p_vfav_rec;
466 g_vfav_rec := l_vfav_rec;
467 -- Customer pre processing section
468 -- Verticle industry pre- processing section
469 -- Business API call section
470 l_vfav_rec.id := p_vfav_rec.id;
471 l_vfav_rec.object_version_number := p_vfav_rec.object_version_number;
472 OKL_VERSION_FA_PVT.validate_version_fa(p_api_version => p_api_version,
473 p_init_msg_list => p_init_msg_list,
474 x_return_status => l_return_status,
475 x_msg_count => x_msg_count,
476 x_msg_data => x_msg_data,
477 p_vfav_rec => l_vfav_rec);
478 IF (l_return_status = FND_API.G_RET_STS_ERROR ) THEN
479 RAISE FND_API.G_EXC_ERROR;
480 ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
481 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
482 END IF;
483 g_vfav_rec := l_vfav_rec;
484 -- Verticle industry post- processing section
485 -- Customer post processing section
486 x_return_status := FND_API.G_RET_STS_SUCCESS;
487 EXCEPTION
488 When FND_API.G_EXC_ERROR then
489 ROLLBACK TO validate_version_fa_pub;
490 x_return_status := FND_API.G_RET_STS_ERROR;
491 FND_MSG_PUB.count_and_get (p_count => x_msg_count,
492 p_data => x_msg_data);
493 When FND_API.G_EXC_UNEXPECTED_ERROR then
494 ROLLBACK TO validate_version_fa_pub;
495 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
496 FND_MSG_PUB.count_and_get (p_count => x_msg_count,
497 p_data => x_msg_data);
498 When OTHERS then
499 ROLLBACK TO validate_version_fa_pub;
500 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
501 FND_MSG_PUB.ADD_EXC_MSG( G_PKG_NAME, 'validate_version_fa_pub');
502 FND_MSG_PUB.count_and_get (p_encoded => FND_API.G_FALSE,
503 p_count => x_msg_count,
504 p_data => x_msg_data);
505 END validate_version_fa;
506
507 -- Start of comments
508 --
509 -- Procedure Name : VALIDATE_VERSION_FA
510 -- Description : validates txl itm insts for a contract
511 -- Business Rules :
512 -- Parameters :
513 -- Version : 1.0
514 -- End of comments
515
516 PROCEDURE validate_version_fa(
517 p_api_version IN NUMBER,
518 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
519 x_return_status OUT NOCOPY VARCHAR2,
520 x_msg_count OUT NOCOPY NUMBER,
521 x_msg_data OUT NOCOPY VARCHAR2,
522 p_vfav_tbl IN vfav_tbl_type) IS
523 i NUMBER := 0;
524 l_return_status VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
525 BEGIN
526 x_return_status := FND_API.G_RET_STS_SUCCESS;
527 IF p_vfav_tbl.COUNT > 0 THEN
528 i := p_vfav_tbl.FIRST;
529 LOOP
530 validate_version_fa(p_api_version => p_api_version,
531 p_init_msg_list => p_init_msg_list,
532 x_return_status => l_return_status,
533 x_msg_count => x_msg_count,
534 x_msg_data => x_msg_data,
535 p_vfav_rec => p_vfav_tbl(i));
536 IF (l_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
537 IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
538 x_return_status := l_return_status;
539 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
540 ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
541 x_return_status := l_return_status;
542 RAISE FND_API.G_EXC_ERROR;
543 ELSE
544 x_return_status := l_return_status;
545 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
546 END IF;
547 END IF;
548 EXIT WHEN (i = p_vfav_tbl.LAST);
549 i := p_vfav_tbl.NEXT(i);
550 END LOOP;
551 END IF;
552 EXCEPTION
553 WHEN FND_API.G_EXC_ERROR THEN
554 ROLLBACK TO validate_version_fa_pub;
555 x_return_status := FND_API.G_RET_STS_ERROR;
556 FND_MSG_PUB.count_and_get (p_count => x_msg_count,
557 p_data => x_msg_data);
558 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
559 ROLLBACK TO validate_version_fa_pub;
560 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
561 FND_MSG_PUB.count_and_get (p_count => x_msg_count,
562 p_data => x_msg_data);
563 WHEN OTHERS then
564 ROLLBACK TO validate_version_fa_pub;
565 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
566 FND_MSG_PUB.ADD_EXC_MSG(G_PKG_NAME, 'validate_version_fa_pub');
567 FND_MSG_PUB.count_and_get (p_encoded => FND_API.G_FALSE,
568 p_count => x_msg_count,
569 p_data => x_msg_data);
570 END validate_version_fa;
571
572
573 -- Start of comments
574 --
575 -- Procedure Name : LOCK_VERSION_FA
576 -- Description : locks txl itm insts for a contract
577 -- Business Rules :
578 -- Parameters :
579 -- Version : 1.0
580 -- End of comments
581 PROCEDURE lock_version_fa(p_api_version IN NUMBER,
582 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
583 x_return_status OUT NOCOPY VARCHAR2,
584 x_msg_count OUT NOCOPY NUMBER,
585 x_msg_data OUT NOCOPY VARCHAR2,
586 p_vfav_rec IN vfav_rec_type) IS
587
588 l_vfav_rec vfav_rec_type;
589 l_return_status VARCHAR2(3) := FND_API.G_RET_STS_SUCCESS;
590 l_api_name CONSTANT VARCHAR2(30) := 'LOCK_VERSION_FA';
591 l_api_version CONSTANT NUMBER := 1;
592 BEGIN
593 savepoint lock_version_fa_pub;
594 -- Standard call to check for call compatibility.
595 IF NOT (FND_API.Compatible_API_Call (l_api_version,
596 p_api_version,
597 l_api_name,
598 G_PKG_NAME)) THEN
599 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
600 END IF;
601 -- Initialize message list if p_init_msg_list is set to TRUE.
602 IF (FND_API.to_Boolean( p_init_msg_list )) THEN
603 FND_MSG_PUB.initialize;
604 END IF;
605 l_vfav_rec := p_vfav_rec;
606 -- Business API call section
607 l_vfav_rec.id := p_vfav_rec.id;
608 l_vfav_rec.object_version_number := p_vfav_rec.object_version_number;
609 OKL_VERSION_FA_PVT.lock_version_fa(p_api_version => p_api_version,
610 p_init_msg_list => p_init_msg_list,
611 x_return_status => l_return_status,
612 x_msg_count => x_msg_count,
613 x_msg_data => x_msg_data,
614 p_vfav_rec => l_vfav_rec);
615 IF (l_return_status = FND_API.G_RET_STS_ERROR ) THEN
616 RAISE FND_API.G_EXC_ERROR;
617 ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
618 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
619 END IF;
620 g_vfav_rec := l_vfav_rec;
621 x_return_status := FND_API.G_RET_STS_SUCCESS;
622 EXCEPTION
623 When FND_API.G_EXC_ERROR then
624 ROLLBACK TO lock_version_fa_pub;
625 x_return_status := FND_API.G_RET_STS_ERROR;
626 FND_MSG_PUB.count_and_get (p_count => x_msg_count,
627 p_data => x_msg_data);
628 When FND_API.G_EXC_UNEXPECTED_ERROR then
629 ROLLBACK TO lock_version_fa_pub;
630 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
631 FND_MSG_PUB.count_and_get (p_count => x_msg_count,
632 p_data => x_msg_data);
633 When OTHERS then
634 ROLLBACK TO lock_version_fa_pub;
635 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
636 FND_MSG_PUB.ADD_EXC_MSG( G_PKG_NAME, 'lock_version_fa_pub');
637 FND_MSG_PUB.count_and_get (p_encoded => FND_API.G_FALSE,
638 p_count => x_msg_count,
639 p_data => x_msg_data);
640 END lock_version_fa;
641
642 -- Start of comments
643 --
644 -- Procedure Name : LOCK_VERSION_FA
645 -- Description : locks txl itm insts for a contract
646 -- Business Rules :
647 -- Parameters :
648 -- Version : 1.0
649 -- End of comments
650
651 PROCEDURE lock_version_fa(
652 p_api_version IN NUMBER,
653 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
654 x_return_status OUT NOCOPY VARCHAR2,
655 x_msg_count OUT NOCOPY NUMBER,
656 x_msg_data OUT NOCOPY VARCHAR2,
657 p_vfav_tbl IN vfav_tbl_type) IS
658 i NUMBER := 0;
659 l_return_status VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
660 BEGIN
661 x_return_status := FND_API.G_RET_STS_SUCCESS;
662 IF p_vfav_tbl.COUNT > 0 THEN
663 i := p_vfav_tbl.FIRST;
664 LOOP
665 lock_version_fa(p_api_version => p_api_version,
666 p_init_msg_list => p_init_msg_list,
667 x_return_status => l_return_status,
668 x_msg_count => x_msg_count,
669 x_msg_data => x_msg_data,
670 p_vfav_rec => p_vfav_tbl(i));
671 IF (l_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
672 IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
673 x_return_status := l_return_status;
674 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
675 ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
676 x_return_status := l_return_status;
677 RAISE FND_API.G_EXC_ERROR;
678 ELSE
679 x_return_status := l_return_status;
680 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
681 END IF;
682 END IF;
683 EXIT WHEN (i = p_vfav_tbl.LAST);
684 i := p_vfav_tbl.NEXT(i);
685 END LOOP;
686 END IF;
687 EXCEPTION
688 WHEN FND_API.G_EXC_ERROR THEN
689 ROLLBACK TO lock_version_fa_pub;
690 x_return_status := FND_API.G_RET_STS_ERROR;
691 FND_MSG_PUB.count_and_get (p_count => x_msg_count,
692 p_data => x_msg_data);
693 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
694 ROLLBACK TO lock_version_fa_pub;
695 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
696 FND_MSG_PUB.count_and_get (p_count => x_msg_count,
697 p_data => x_msg_data);
698 WHEN OTHERS then
699 ROLLBACK TO lock_version_fa_pub;
700 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
701 FND_MSG_PUB.ADD_EXC_MSG(G_PKG_NAME, 'lock_version_fa_pub');
702 FND_MSG_PUB.count_and_get (p_encoded => FND_API.G_FALSE,
703 p_count => x_msg_count,
704 p_data => x_msg_data);
705 END lock_version_fa;
706
707 END OKL_VERSION_FA_PUB;
708