DBA Data[Home] [Help]

PACKAGE BODY: APPS.OKL_TXL_ASSETS_PUB

Source


1 package body OKL_TXL_ASSETS_PUB as
2 /* $Header: OKLPTALB.pls 115.8 2004/04/13 11:23:34 rnaik noship $ */
3 
4 -- Start of comments
5 --
6 -- Procedure Name  : CREATE_TXL_ASSET_LINE
7 -- Description     : creates txl ass h for a contract
8 -- Business Rules  :
9 -- Parameters      :
10 -- Version         : 1.0
11 -- End of comments
12   PROCEDURE create_txl_asset_Def(p_api_version   IN         NUMBER,
13                                  p_init_msg_list IN         VARCHAR2 DEFAULT OKC_API.G_FALSE,
14                                  x_return_status OUT NOCOPY VARCHAR2,
15                                  x_msg_count     OUT NOCOPY NUMBER,
16                                  x_msg_data      OUT NOCOPY VARCHAR2,
17                                  p_tlpv_rec      IN         tlpv_rec_type,
18                                  x_tlpv_rec      OUT NOCOPY tlpv_rec_type) IS
19 
20     l_tlpv_rec                           tlpv_rec_type;
21     l_return_status                      VARCHAR2(3)  := FND_API.G_RET_STS_SUCCESS;
22     l_api_name                  CONSTANT VARCHAR2(30) := 'CREATE_TXL_ASSET_LINE';
23     l_api_version	        CONSTANT NUMBER := 1;
24   BEGIN
25     savepoint create_txl_asset_Def_pub;
26     -- Standard call to check for call compatibility.
27     IF NOT (FND_API.Compatible_API_Call (l_api_version,
28 	                                 p_api_version,
29 			                 l_api_name,
30 		                         G_PKG_NAME)) THEN
31        RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
32     END IF;
33     -- Initialize message list if p_init_msg_list is set to TRUE.
34     IF (FND_API.to_Boolean( p_init_msg_list )) THEN
35        FND_MSG_PUB.initialize;
36     END IF;
37     l_tlpv_rec := p_tlpv_rec;
38     g_tlpv_rec := l_tlpv_rec;
39     --  Customer pre processing  section
40     -- 	Verticle industry pre- processing section
41     -- Business API call  section
42     l_tlpv_rec.id := p_tlpv_rec.id;
43     l_tlpv_rec.object_version_number := p_tlpv_rec.object_version_number;
44     OKL_TXL_ASSETS_PVT.create_txl_asset_Def(p_api_version   => p_api_version,
45                                             p_init_msg_list => p_init_msg_list,
46                                             x_return_status => l_return_status,
47                                             x_msg_count     => x_msg_count,
48                                             x_msg_data      => x_msg_data,
49                                             p_talv_rec      => l_tlpv_rec,
50                                             x_talv_rec      => x_tlpv_rec);
51     IF (l_return_status = FND_API.G_RET_STS_ERROR )  THEN
52        RAISE FND_API.G_EXC_ERROR;
53     ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
54        RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
55     END IF;
56     l_tlpv_rec := x_tlpv_rec;
57     g_tlpv_rec := l_tlpv_rec;
58     --	Verticle industry post- processing section
59     --  Customer post processing  section
60     x_return_status :=  FND_API.G_RET_STS_SUCCESS;
61   EXCEPTION
62 	When  FND_API.G_EXC_ERROR  then
63 		ROLLBACK  TO create_txl_asset_Def_pub;
64 		x_return_status := FND_API.G_RET_STS_ERROR;
65                              FND_MSG_PUB.count_and_get (p_count => x_msg_count,
66                                                         p_data  => x_msg_data);
67 	When  FND_API.G_EXC_UNEXPECTED_ERROR  then
68 		ROLLBACK  TO create_txl_asset_Def_pub;
69 		x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
70                              FND_MSG_PUB.count_and_get (p_count => x_msg_count,
71                                                         p_data  => x_msg_data);
72 	When  OTHERS  then
73 		ROLLBACK  TO create_txl_asset_Def_pub;
74 		x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
75 		FND_MSG_PUB.ADD_EXC_MSG( G_PKG_NAME, 'create_txl_asset_Def_pub');
76                              FND_MSG_PUB.count_and_get (p_encoded => FND_API.G_FALSE,
77                                                         p_count   => x_msg_count,
78                                                         p_data    => x_msg_data);
79   END create_txl_asset_Def;
80 
81 -- Start of comments
82 --
83 -- Procedure Name  : CREATE_TXL_ASSET_LINE
84 -- Description     : creates selected product option value for a contract
85 -- Business Rules  :
86 -- Parameters      :
87 -- Version         : 1.0
88 -- End of comments
89 
90   PROCEDURE create_txl_asset_Def(
91     p_api_version                  IN NUMBER,
92     p_init_msg_list                IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
93     x_return_status                OUT NOCOPY VARCHAR2,
94     x_msg_count                    OUT NOCOPY NUMBER,
95     x_msg_data                     OUT NOCOPY VARCHAR2,
96     p_tlpv_tbl                     IN tlpv_tbl_type,
97     x_tlpv_tbl                     OUT NOCOPY tlpv_tbl_type) IS
98     i                              NUMBER := 0;
99     l_return_status                VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
100   BEGIN
101     x_return_status := FND_API.G_RET_STS_SUCCESS;
102     IF p_tlpv_tbl.COUNT > 0 THEN
103       i := p_tlpv_tbl.FIRST;
104       LOOP
105         create_txl_asset_Def(p_api_version   => p_api_version,
106                              p_init_msg_list => p_init_msg_list,
107                              x_return_status => l_return_status,
108                              x_msg_count     => x_msg_count,
109                              x_msg_data      => x_msg_data,
110                              p_tlpv_rec      => p_tlpv_tbl(i),
111                              x_tlpv_rec      => x_tlpv_tbl(i));
112         IF (l_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
113            IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
114               x_return_status := l_return_status;
115               RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
116            ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
117               x_return_status := l_return_status;
118               RAISE FND_API.G_EXC_ERROR;
119            ELSE
120               x_return_status := l_return_status;
121               RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
122            END IF;
123         END IF;
124         EXIT WHEN (i = p_tlpv_tbl.LAST);
125         i := p_tlpv_tbl.NEXT(i);
126       END LOOP;
127     END IF;
128   EXCEPTION
129     WHEN  FND_API.G_EXC_ERROR  THEN
130     ROLLBACK  TO create_txl_asset_Def_pub;
131     x_return_status := FND_API.G_RET_STS_ERROR;
132     FND_MSG_PUB.count_and_get (p_count => x_msg_count,
133                                p_data  => x_msg_data);
134     WHEN  FND_API.G_EXC_UNEXPECTED_ERROR  THEN
135     ROLLBACK  TO create_txl_asset_Def_pub;
136     x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
137     FND_MSG_PUB.count_and_get (p_count => x_msg_count,
138                                p_data  => x_msg_data);
139     WHEN  OTHERS  then
140     ROLLBACK  TO create_txl_asset_Def_pub;
141     x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
142     FND_MSG_PUB.ADD_EXC_MSG(G_PKG_NAME, 'create_txl_asset_Def_pub');
143     FND_MSG_PUB.count_and_get (p_encoded => FND_API.G_FALSE,
144                                p_count   => x_msg_count,
145                                p_data    => x_msg_data);
146   END create_txl_asset_Def;
147 
148 -- Start of comments
149 --
150 -- Procedure Name  : UPDATE_TXL_ASSET_LINE
151 -- Description     : updates txl ass h for a contract
152 -- Business Rules  :
153 -- Parameters      :
154 -- Version         : 1.0
155 -- End of comments
156   PROCEDURE update_txl_asset_Def(p_api_version   IN         NUMBER,
157                                  p_init_msg_list IN         VARCHAR2 DEFAULT OKC_API.G_FALSE,
158                                  x_return_status OUT NOCOPY VARCHAR2,
159                                  x_msg_count     OUT NOCOPY NUMBER,
160                                  x_msg_data      OUT NOCOPY VARCHAR2,
161                                  p_tlpv_rec      IN         tlpv_rec_type,
162                                  x_tlpv_rec      OUT NOCOPY tlpv_rec_type) IS
163 
164     l_tlpv_rec                           tlpv_rec_type;
165     l_return_status                      VARCHAR2(3)  := FND_API.G_RET_STS_SUCCESS;
166     l_api_name                  CONSTANT VARCHAR2(30) := 'UPDATE_TXL_ASSET_LINE';
167     l_api_version	        CONSTANT NUMBER := 1;
168   BEGIN
169     savepoint update_txl_asset_Def_pub;
170     -- Standard call to check for call compatibility.
171     IF NOT (FND_API.Compatible_API_Call (l_api_version,
172 	                                 p_api_version,
173 			                 l_api_name,
174 		                         G_PKG_NAME)) THEN
175        RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
176     END IF;
177     -- Initialize message list if p_init_msg_list is set to TRUE.
178     IF (FND_API.to_Boolean( p_init_msg_list )) THEN
179        FND_MSG_PUB.initialize;
180     END IF;
181     l_tlpv_rec := p_tlpv_rec;
182     g_tlpv_rec := l_tlpv_rec;
183     --  Customer pre processing  section
184     -- 	Verticle industry pre- processing section
185     -- Business API call  section
186     l_tlpv_rec.id := p_tlpv_rec.id;
187     l_tlpv_rec.object_version_number := p_tlpv_rec.object_version_number;
188     OKL_TXL_ASSETS_PVT.update_txl_asset_Def(p_api_version   => p_api_version,
189                                             p_init_msg_list => p_init_msg_list,
190                                             x_return_status => l_return_status,
191                                             x_msg_count     => x_msg_count,
192                                             x_msg_data      => x_msg_data,
193                                             p_talv_rec      => l_tlpv_rec,
194                                             x_talv_rec      => x_tlpv_rec);
195     IF (l_return_status = FND_API.G_RET_STS_ERROR )  THEN
196        RAISE FND_API.G_EXC_ERROR;
197     ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
198        RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
199     END IF;
200     l_tlpv_rec := x_tlpv_rec;
201     g_tlpv_rec := l_tlpv_rec;
202     --	Verticle industry post- processing section
203     --  Customer post processing  section
204     x_return_status :=  FND_API.G_RET_STS_SUCCESS;
205   EXCEPTION
206 	When  FND_API.G_EXC_ERROR  then
207 		ROLLBACK  TO update_txl_asset_Def_pub;
208 		x_return_status := FND_API.G_RET_STS_ERROR;
209                              FND_MSG_PUB.count_and_get (p_count => x_msg_count,
210                                                         p_data  => x_msg_data);
211 	When  FND_API.G_EXC_UNEXPECTED_ERROR  then
212 		ROLLBACK  TO update_txl_asset_Def_pub;
213 		x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
214                              FND_MSG_PUB.count_and_get (p_count => x_msg_count,
215                                                         p_data  => x_msg_data);
216 	When  OTHERS  then
217 		ROLLBACK  TO update_txl_asset_Def_pub;
218 		x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
219 		FND_MSG_PUB.ADD_EXC_MSG( G_PKG_NAME, 'update_txl_asset_Def_pub');
220                              FND_MSG_PUB.count_and_get (p_encoded => FND_API.G_FALSE,
221                                                         p_count   => x_msg_count,
222                                                         p_data    => x_msg_data);
223   END update_txl_asset_Def;
224 
225 -- Start of comments
226 --
227 -- Procedure Name  : UPDATE_TXL_ASSET_LINE
228 -- Description     : updates selected product option value for a contract
229 -- Business Rules  :
230 -- Parameters      :
231 -- Version         : 1.0
232 -- End of comments
233 
234   PROCEDURE update_txl_asset_Def(
235     p_api_version                  IN NUMBER,
236     p_init_msg_list                IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
237     x_return_status                OUT NOCOPY VARCHAR2,
238     x_msg_count                    OUT NOCOPY NUMBER,
239     x_msg_data                     OUT NOCOPY VARCHAR2,
240     p_tlpv_tbl                     IN tlpv_tbl_type,
241     x_tlpv_tbl                     OUT NOCOPY tlpv_tbl_type) IS
242     i                              NUMBER := 0;
243     l_return_status                VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
244   BEGIN
245     x_return_status := FND_API.G_RET_STS_SUCCESS;
246     IF p_tlpv_tbl.COUNT > 0 THEN
247       i := p_tlpv_tbl.FIRST;
248       LOOP
249         update_txl_asset_Def(p_api_version   => p_api_version,
250                              p_init_msg_list => p_init_msg_list,
251                              x_return_status => l_return_status,
252                              x_msg_count     => x_msg_count,
253                              x_msg_data      => x_msg_data,
254                              p_tlpv_rec      => p_tlpv_tbl(i),
255                              x_tlpv_rec      => x_tlpv_tbl(i));
256         IF (l_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
257            IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
258               x_return_status := l_return_status;
259               RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
260            ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
261               x_return_status := l_return_status;
262               RAISE FND_API.G_EXC_ERROR;
263            ELSE
264               x_return_status := l_return_status;
265               RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
266            END IF;
267         END IF;
268         EXIT WHEN (i = p_tlpv_tbl.LAST);
269         i := p_tlpv_tbl.NEXT(i);
270       END LOOP;
271     END IF;
272   EXCEPTION
273     WHEN  FND_API.G_EXC_ERROR  THEN
274     ROLLBACK  TO update_txl_asset_Def_pub;
275     x_return_status := FND_API.G_RET_STS_ERROR;
276     FND_MSG_PUB.count_and_get (p_count => x_msg_count,
277                                p_data  => x_msg_data);
278     WHEN  FND_API.G_EXC_UNEXPECTED_ERROR  THEN
279     ROLLBACK  TO update_txl_asset_Def_pub;
280     x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
281     FND_MSG_PUB.count_and_get (p_count => x_msg_count,
282                                p_data  => x_msg_data);
283     WHEN  OTHERS  then
284     ROLLBACK  TO update_txl_asset_Def_pub;
285     x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
286     FND_MSG_PUB.ADD_EXC_MSG(G_PKG_NAME, 'update_txl_asset_Def_pub');
287     FND_MSG_PUB.count_and_get (p_encoded => FND_API.G_FALSE,
288                                p_count   => x_msg_count,
289                                p_data    => x_msg_data);
290   END update_txl_asset_Def;
291 
292 
293 -- Start of comments
294 --
295 -- Procedure Name  : DELETE_TXL_ASSET_LINES
296 -- Description     : deletes txl asset lines for a contract
297 -- Business Rules  :
298 -- Parameters      :
299 -- Version         : 1.0
300 -- End of comments
301   PROCEDURE delete_txl_asset_Def(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_tlpv_rec      IN         tlpv_rec_type) IS
307 
308     l_tlpv_rec                           tlpv_rec_type;
309     l_return_status                      VARCHAR2(3)  := FND_API.G_RET_STS_SUCCESS;
310     l_api_name                  CONSTANT VARCHAR2(30) := 'DELETE_TXL_ASSET_LINES';
311     l_api_version	              CONSTANT NUMBER := 1;
312   BEGIN
313     savepoint delete_txl_asset_Def_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_tlpv_rec := p_tlpv_rec;
326     g_tlpv_rec := l_tlpv_rec;
327     --  Customer pre processing  section
328     -- 	Verticle industry pre- processing section
329     -- Business API call  section
330     l_tlpv_rec.id := p_tlpv_rec.id;
331     l_tlpv_rec.object_version_number := p_tlpv_rec.object_version_number;
332     OKL_TXL_ASSETS_PVT.delete_txl_asset_def(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_talv_rec      => l_tlpv_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_tlpv_rec := l_tlpv_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_txl_asset_Def_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_txl_asset_Def_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_txl_asset_Def_pub;
360 		x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
361 		FND_MSG_PUB.ADD_EXC_MSG( G_PKG_NAME, 'delete_txl_asset_Def_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_txl_asset_Def;
366 
367 -- Start of comments
368 --
369 -- Procedure Name  : DELETE_TXL_ASSET_LINES
370 -- Description     : deletes txl asset lines for a contract
371 -- Business Rules  :
372 -- Parameters      :
373 -- Version         : 1.0
374 -- End of comments
375 
376   PROCEDURE delete_txl_asset_Def(
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_tlpv_tbl                     IN tlpv_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_tlpv_tbl.COUNT > 0 THEN
388       i := p_tlpv_tbl.FIRST;
389       LOOP
390         delete_txl_asset_Def(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_tlpv_rec      => p_tlpv_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_tlpv_tbl.LAST);
409         i := p_tlpv_tbl.NEXT(i);
410       END LOOP;
411     END IF;
412   EXCEPTION
413     WHEN  FND_API.G_EXC_ERROR  THEN
414     ROLLBACK  TO delete_txl_asset_Def_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_txl_asset_Def_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_txl_asset_Def_pub;
425     x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
426     FND_MSG_PUB.ADD_EXC_MSG(G_PKG_NAME, 'delete_txl_asset_Def_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_txl_asset_Def;
431 
432 
433 -- Start of comments
434 --
435 -- Procedure Name  : VALIDATE_TXL_ASSET_LINES
436 -- Description     : validates txl asset lines for a contract
437 -- Business Rules  :
438 -- Parameters      :
439 -- Version         : 1.0
440 -- End of comments
441   PROCEDURE validate_txl_asset_Def(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_tlpv_rec      IN         tlpv_rec_type) IS
447 
448     l_tlpv_rec                           tlpv_rec_type;
449     l_return_status                      VARCHAR2(3)  := FND_API.G_RET_STS_SUCCESS;
450     l_api_name                  CONSTANT VARCHAR2(30) := 'VALIDATE_TXL_ASSET_LINES';
451     l_api_version	              CONSTANT NUMBER := 1;
452   BEGIN
453     savepoint validate_txl_asset_Def_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_tlpv_rec := p_tlpv_rec;
466     g_tlpv_rec := l_tlpv_rec;
467     --  Customer pre processing  section
468     -- 	Verticle industry pre- processing section
469     -- Business API call  section
470     l_tlpv_rec.id := p_tlpv_rec.id;
471     l_tlpv_rec.object_version_number := p_tlpv_rec.object_version_number;
472     OKL_TXL_ASSETS_PVT.validate_txl_asset_def(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_talv_rec      => l_tlpv_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_tlpv_rec := l_tlpv_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_txl_asset_Def_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_txl_asset_Def_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_txl_asset_Def_pub;
500 		x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
501 		FND_MSG_PUB.ADD_EXC_MSG( G_PKG_NAME, 'validate_txl_asset_Def_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_txl_asset_Def;
506 
507 -- Start of comments
508 --
509 -- Procedure Name  : VALIDATE_TXL_ASSET_LINES
510 -- Description     : validates txl asset lines for a contract
511 -- Business Rules  :
512 -- Parameters      :
513 -- Version         : 1.0
514 -- End of comments
515 
516   PROCEDURE validate_txl_asset_Def(
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_tlpv_tbl                     IN tlpv_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_tlpv_tbl.COUNT > 0 THEN
528       i := p_tlpv_tbl.FIRST;
529       LOOP
530         validate_txl_asset_Def(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_tlpv_rec      => p_tlpv_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_tlpv_tbl.LAST);
549         i := p_tlpv_tbl.NEXT(i);
550       END LOOP;
551     END IF;
552   EXCEPTION
553     WHEN  FND_API.G_EXC_ERROR  THEN
554     ROLLBACK  TO validate_txl_asset_Def_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_txl_asset_Def_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_txl_asset_Def_pub;
565     x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
566     FND_MSG_PUB.ADD_EXC_MSG(G_PKG_NAME, 'validate_txl_asset_Def_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_txl_asset_Def;
571 
572 
573 -- Start of comments
574 --
575 -- Procedure Name  : LOCK_TXL_ASSET_LINE
576 -- Description     : locks txl asset Lines for a contract
577 -- Business Rules  :
578 -- Parameters      :
579 -- Version         : 1.0
580 -- End of comments
581   PROCEDURE lock_txl_asset_Def(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_tlpv_rec      IN         tlpv_rec_type) IS
587 
588     l_tlpv_rec                           tlpv_rec_type;
589     l_return_status                      VARCHAR2(3)  := FND_API.G_RET_STS_SUCCESS;
590     l_api_name                  CONSTANT VARCHAR2(30) := 'LOCK_TXL_ASSET_LINE';
591     l_api_version	              CONSTANT NUMBER := 1;
592   BEGIN
593     savepoint lock_txl_ass_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     -- Business API call  section
606     l_tlpv_rec.id := p_tlpv_rec.id;
607     l_tlpv_rec.object_version_number := p_tlpv_rec.object_version_number;
608     OKL_TXL_ASSETS_PVT.lock_txl_asset_def(p_api_version   => p_api_version,
609                                             p_init_msg_list => p_init_msg_list,
610                                             x_return_status => l_return_status,
611                                             x_msg_count     => x_msg_count,
612                                             x_msg_data      => x_msg_data,
613                                             p_talv_rec      => l_tlpv_rec);
614     IF (l_return_status = FND_API.G_RET_STS_ERROR )  THEN
615        RAISE FND_API.G_EXC_ERROR;
616     ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
617        RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
618     END IF;
619     g_tlpv_rec := l_tlpv_rec;
620     x_return_status :=  FND_API.G_RET_STS_SUCCESS;
621   EXCEPTION
622 	When  FND_API.G_EXC_ERROR  then
623 		ROLLBACK  TO lock_txl_ass_pub;
624 		x_return_status := FND_API.G_RET_STS_ERROR;
625                              FND_MSG_PUB.count_and_get (p_count => x_msg_count,
626                                                         p_data  => x_msg_data);
627 	When  FND_API.G_EXC_UNEXPECTED_ERROR  then
628 		ROLLBACK  TO lock_txl_ass_pub;
629 		x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
630                              FND_MSG_PUB.count_and_get (p_count => x_msg_count,
631                                                         p_data  => x_msg_data);
632 	When  OTHERS  then
633 		ROLLBACK  TO lock_txl_ass_pub;
634 		x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
635 		FND_MSG_PUB.ADD_EXC_MSG( G_PKG_NAME, 'lock_txl_asset_Def_pub');
636                              FND_MSG_PUB.count_and_get (p_encoded => FND_API.G_FALSE,
637                                                         p_count   => x_msg_count,
638                                                         p_data    => x_msg_data);
639   END lock_txl_asset_Def;
640 
641 -- Start of comments
642 --
643 -- Procedure Name  : LOCK_TXL_ASSET_LINE
644 -- Description     : locks selected product option value for a contract
645 -- Business Rules  :
646 -- Parameters      :
647 -- Version         : 1.0
648 -- End of comments
649 
650   PROCEDURE lock_txl_asset_Def(
651     p_api_version                  IN NUMBER,
652     p_init_msg_list                IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
653     x_return_status                OUT NOCOPY VARCHAR2,
654     x_msg_count                    OUT NOCOPY NUMBER,
655     x_msg_data                     OUT NOCOPY VARCHAR2,
656     p_tlpv_tbl                     IN tlpv_tbl_type) IS
657     i                              NUMBER := 0;
658     l_return_status                VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
659   BEGIN
660     x_return_status := FND_API.G_RET_STS_SUCCESS;
661     IF p_tlpv_tbl.COUNT > 0 THEN
662       i := p_tlpv_tbl.FIRST;
663       LOOP
664         lock_txl_asset_Def(p_api_version   => p_api_version,
665                              p_init_msg_list => p_init_msg_list,
666                              x_return_status => l_return_status,
667                              x_msg_count     => x_msg_count,
668                              x_msg_data      => x_msg_data,
669                              p_tlpv_rec      => p_tlpv_tbl(i));
670         IF (l_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
671            IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
672               x_return_status := l_return_status;
673               RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
674            ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
675               x_return_status := l_return_status;
676               RAISE FND_API.G_EXC_ERROR;
677            ELSE
678               x_return_status := l_return_status;
679               RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
680            END IF;
681         END IF;
682         EXIT WHEN (i = p_tlpv_tbl.LAST);
683         i := p_tlpv_tbl.NEXT(i);
684       END LOOP;
685     END IF;
686   EXCEPTION
687     WHEN  FND_API.G_EXC_ERROR  THEN
688     ROLLBACK  TO lock_txl_ass_pub;
689     x_return_status := FND_API.G_RET_STS_ERROR;
690     FND_MSG_PUB.count_and_get (p_count => x_msg_count,
691                                p_data  => x_msg_data);
692     WHEN  FND_API.G_EXC_UNEXPECTED_ERROR  THEN
693     ROLLBACK  TO lock_txl_ass_pub;
694     x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
695     FND_MSG_PUB.count_and_get (p_count => x_msg_count,
696                                p_data  => x_msg_data);
697     WHEN  OTHERS  then
698     ROLLBACK  TO lock_txl_ass_pub;
699     x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
700     FND_MSG_PUB.ADD_EXC_MSG(G_PKG_NAME, 'lock_txl_asset_Def_pub');
701     FND_MSG_PUB.count_and_get (p_encoded => FND_API.G_FALSE,
702                                p_count   => x_msg_count,
703                                p_data    => x_msg_data);
704   END lock_txl_asset_Def;
705 
706 END OKL_TXL_ASSETS_PUB;
707