DBA Data[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