DBA Data[Home] [Help]

PACKAGE BODY: APPS.OKL_TRX_ASSETS_PUB

Source


1 package body OKL_TRX_ASSETS_PUB as
2 /* $Header: OKLPTASB.pls 115.8 2004/04/13 11:24:13 rnaik noship $ */
3 
4 
5 -- Start of comments
6 --
7 -- Procedure Name  : CREATE_TRX_ASSET_HEADER
8 -- Description     : creates trx_ass_h for a contract
9 -- Business Rules  :
10 -- Parameters      :
11 -- Version         : 1.0
12 -- End of comments
13   PROCEDURE create_trx_ass_h_Def(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_thpv_rec      IN         thpv_rec_type,
19                                  x_thpv_rec      OUT NOCOPY thpv_rec_type) IS
20 
21     l_thpv_rec                           thpv_rec_type;
22     l_return_status                      VARCHAR2(3)  := FND_API.G_RET_STS_SUCCESS;
23     l_api_name                  CONSTANT VARCHAR2(30) := 'CREATE_TRX_ASSET_HEADER';
24     l_api_version	              CONSTANT NUMBER := 1;
25   BEGIN
26     savepoint create_trx_ass_h_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_thpv_rec := p_thpv_rec;
39     g_thpv_rec := l_thpv_rec;
40     --  Customer pre processing  section
41     -- 	Verticle industry pre- processing section
42     -- Business API call  section
43     l_thpv_rec.id := p_thpv_rec.id;
44     l_thpv_rec.object_version_number := p_thpv_rec.object_version_number;
45     OKL_TRX_ASSETS_PVT.Create_trx_ass_h_def(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_tasv_rec      => l_thpv_rec,
51                                             x_tasv_rec      => x_thpv_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_thpv_rec := x_thpv_rec;
58     g_thpv_rec := l_thpv_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_trx_ass_h_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_trx_ass_h_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_trx_ass_h_pub;
75 		x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
76 		FND_MSG_PUB.ADD_EXC_MSG( G_PKG_NAME, 'create_trx_ass_h_Def_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_trx_ass_h_Def;
81 
82 -- Start of comments
83 --
84 -- Procedure Name  : CREATE_TRX_ASSET_HEADER
85 -- Description     : creates selected product option value for a contract
86 -- Business Rules  :
87 -- Parameters      :
88 -- Version         : 1.0
89 -- End of comments
90 
91   PROCEDURE create_trx_ass_h_Def(
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_thpv_tbl                     IN thpv_tbl_type,
98     x_thpv_tbl                     OUT NOCOPY thpv_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_thpv_tbl.COUNT > 0 THEN
104       i := p_thpv_tbl.FIRST;
105       LOOP
106         create_trx_ass_h_Def(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_thpv_rec      => p_thpv_tbl(i),
112                              x_thpv_rec      => x_thpv_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_thpv_tbl.LAST);
126         i := p_thpv_tbl.NEXT(i);
127       END LOOP;
128     END IF;
129   EXCEPTION
130     WHEN  FND_API.G_EXC_ERROR  THEN
131     ROLLBACK  TO create_trx_ass_h_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_trx_ass_h_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_trx_ass_h_pub;
142     x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
143     FND_MSG_PUB.ADD_EXC_MSG(G_PKG_NAME, 'create_trx_ass_h_Def_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_trx_ass_h_Def;
148 
149 -- Start of comments
150 --
151 -- Procedure Name  : UPDATE_TRX_ASSET_HEADER
152 -- Description     : updates trx_ass_h for a contract
153 -- Business Rules  :
154 -- Parameters      :
155 -- Version         : 1.0
156 -- End of comments
157   PROCEDURE update_trx_ass_h_Def(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_thpv_rec      IN         thpv_rec_type,
163                                  x_thpv_rec      OUT NOCOPY thpv_rec_type) IS
164 
165     l_thpv_rec                           thpv_rec_type;
166     l_return_status                      VARCHAR2(3)  := FND_API.G_RET_STS_SUCCESS;
167     l_api_name                  CONSTANT VARCHAR2(30) := 'UPDATE_TRX_ASSET_HEADER';
168     l_api_version	              CONSTANT NUMBER := 1;
169   BEGIN
170     savepoint update_trx_ass_h_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_thpv_rec := p_thpv_rec;
183     g_thpv_rec := l_thpv_rec;
184     --  Customer pre processing  section
185     -- 	Verticle industry pre- processing section
186     -- Business API call  section
187     l_thpv_rec.id := p_thpv_rec.id;
188     l_thpv_rec.object_version_number := p_thpv_rec.object_version_number;
189     OKL_TRX_ASSETS_PVT.Update_trx_ass_h_def(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_tasv_rec      => p_thpv_rec,
195                                             x_tasv_rec      => x_thpv_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_thpv_rec := x_thpv_rec;
202     g_thpv_rec := l_thpv_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_trx_ass_h_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_trx_ass_h_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_trx_ass_h_pub;
219 		x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
220 		FND_MSG_PUB.ADD_EXC_MSG( G_PKG_NAME, 'update_trx_ass_h_Def_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_trx_ass_h_Def;
225 
226 -- Start of comments
227 --
228 -- Procedure Name  : UPDATE_TRX_ASSET_HEADER
229 -- Description     : updates selected product option value for a contract
230 -- Business Rules  :
231 -- Parameters      :
232 -- Version         : 1.0
233 -- End of comments
234 
235   PROCEDURE update_trx_ass_h_Def(
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_thpv_tbl                     IN thpv_tbl_type,
242     x_thpv_tbl                     OUT NOCOPY thpv_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_thpv_tbl.COUNT > 0 THEN
248       i := p_thpv_tbl.FIRST;
249       LOOP
250         update_trx_ass_h_Def(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_thpv_rec      => p_thpv_tbl(i),
256                              x_thpv_rec      => x_thpv_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_thpv_tbl.LAST);
270         i := p_thpv_tbl.NEXT(i);
271       END LOOP;
272     END IF;
273   EXCEPTION
274     WHEN  FND_API.G_EXC_ERROR  THEN
275     ROLLBACK  TO update_trx_ass_h_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_trx_ass_h_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_trx_ass_h_pub;
286     x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
287     FND_MSG_PUB.ADD_EXC_MSG(G_PKG_NAME, 'update_trx_ass_h_Def_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_trx_ass_h_Def;
292 
293 -- Start of comments
294 --
295 -- Procedure Name  : DELETE_TRX_ASSET_HEADER
296 -- Description     : deletes trx_ass_h for a contract
297 -- Business Rules  :
298 -- Parameters      :
299 -- Version         : 1.0
300 -- End of comments
301   PROCEDURE delete_trx_ass_h_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_thpv_rec      IN         thpv_rec_type) IS
307 
308     l_thpv_rec                           thpv_rec_type;
309     l_return_status                      VARCHAR2(3)  := FND_API.G_RET_STS_SUCCESS;
310     l_api_name                  CONSTANT VARCHAR2(30) := 'DELETE_TRX_ASSET_HEADER';
311     l_api_version	              CONSTANT NUMBER := 1;
312   BEGIN
313     savepoint delete_trx_ass_h_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_thpv_rec := p_thpv_rec;
326     g_thpv_rec := l_thpv_rec;
327     --  Customer pre processing  section
328     -- 	Verticle industry pre- processing section
329     -- Business API call  section
330     l_thpv_rec.id := p_thpv_rec.id;
331     l_thpv_rec.object_version_number := p_thpv_rec.object_version_number;
332     OKL_TRX_ASSETS_PVT.Delete_trx_ass_h_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_tasv_rec      => l_thpv_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_thpv_rec := l_thpv_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_trx_ass_h_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_trx_ass_h_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_trx_ass_h_pub;
360 		x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
361 		FND_MSG_PUB.ADD_EXC_MSG( G_PKG_NAME, 'delete_trx_ass_h_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_trx_ass_h_Def;
366 
367 -- Start of comments
368 --
369 -- Procedure Name  : DELETE_TRX_ASSET_HEADER
370 -- Description     : deletes selected product option value for a contract
371 -- Business Rules  :
372 -- Parameters      :
373 -- Version         : 1.0
374 -- End of comments
375 
376   PROCEDURE delete_trx_ass_h_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_thpv_tbl                     IN thpv_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_thpv_tbl.COUNT > 0 THEN
388       i := p_thpv_tbl.FIRST;
389       LOOP
390         delete_trx_ass_h_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_thpv_rec      => p_thpv_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_thpv_tbl.LAST);
409         i := p_thpv_tbl.NEXT(i);
410       END LOOP;
411     END IF;
412   EXCEPTION
413     WHEN  FND_API.G_EXC_ERROR  THEN
414     ROLLBACK  TO delete_trx_ass_h_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_trx_ass_h_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_trx_ass_h_pub;
425     x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
426     FND_MSG_PUB.ADD_EXC_MSG(G_PKG_NAME, 'delete_trx_ass_h_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_trx_ass_h_Def;
431 
432 -- Start of comments
433 --
434 -- Procedure Name  : LOCK_TRX_ASSET_HEADER
435 -- Description     : locks trx_ass_h for a contract
436 -- Business Rules  :
437 -- Parameters      :
438 -- Version         : 1.0
439 -- End of comments
440   PROCEDURE lock_trx_ass_h_Def(p_api_version   IN         NUMBER,
441                                  p_init_msg_list IN         VARCHAR2 DEFAULT OKC_API.G_FALSE,
442                                  x_return_status OUT NOCOPY VARCHAR2,
443                                  x_msg_count     OUT NOCOPY NUMBER,
444                                  x_msg_data      OUT NOCOPY VARCHAR2,
445                                  p_thpv_rec      IN         thpv_rec_type) IS
446 
447     l_thpv_rec                           thpv_rec_type;
448     l_return_status                      VARCHAR2(3)  := FND_API.G_RET_STS_SUCCESS;
449     l_api_name                  CONSTANT VARCHAR2(30) := 'LOCK_TRX_ASSET_HEADER';
450     l_api_version	              CONSTANT NUMBER := 1;
451   BEGIN
452     savepoint lock_trx_ass_h_pub;
453     -- Standard call to check for call compatibility.
454     IF NOT (FND_API.Compatible_API_Call (l_api_version,
455 	                                 p_api_version,
456 			                 l_api_name,
457 		                         G_PKG_NAME)) THEN
458        RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
459     END IF;
460     -- Initialize message list if p_init_msg_list is set to TRUE.
461     IF (FND_API.to_Boolean( p_init_msg_list )) THEN
462        FND_MSG_PUB.initialize;
463     END IF;
464     -- Business API call  section
465     l_thpv_rec.id := p_thpv_rec.id;
466     l_thpv_rec.object_version_number := p_thpv_rec.object_version_number;
467     OKL_TRX_ASSETS_PVT.Lock_trx_ass_h_def(p_api_version   => p_api_version,
468                                             p_init_msg_list => p_init_msg_list,
469                                             x_return_status => l_return_status,
470                                             x_msg_count     => x_msg_count,
471                                             x_msg_data      => x_msg_data,
472                                             p_tasv_rec      => l_thpv_rec);
473     IF (l_return_status = FND_API.G_RET_STS_ERROR )  THEN
474        RAISE FND_API.G_EXC_ERROR;
475     ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
476        RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
477     END IF;
478     g_thpv_rec := l_thpv_rec;
479     x_return_status :=  FND_API.G_RET_STS_SUCCESS;
480   EXCEPTION
481 	When  FND_API.G_EXC_ERROR  then
482 		ROLLBACK  TO lock_trx_ass_h_pub;
483 		x_return_status := FND_API.G_RET_STS_ERROR;
484                              FND_MSG_PUB.count_and_get (p_count => x_msg_count,
485                                                         p_data  => x_msg_data);
486 	When  FND_API.G_EXC_UNEXPECTED_ERROR  then
487 		ROLLBACK  TO lock_trx_ass_h_pub;
488 		x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
489                              FND_MSG_PUB.count_and_get (p_count => x_msg_count,
490                                                         p_data  => x_msg_data);
491 	When  OTHERS  then
492 		ROLLBACK  TO lock_trx_ass_h_pub;
493 		x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
494 		FND_MSG_PUB.ADD_EXC_MSG( G_PKG_NAME, 'lock_trx_ass_h_Def_pub');
495                              FND_MSG_PUB.count_and_get (p_encoded => FND_API.G_FALSE,
496                                                         p_count   => x_msg_count,
497                                                         p_data    => x_msg_data);
498   END lock_trx_ass_h_Def;
499 
500 -- Start of comments
501 --
502 -- Procedure Name  : LOCK_TRX_ASSET_HEADER
503 -- Description     : locks selected product option value for a contract
504 -- Business Rules  :
505 -- Parameters      :
506 -- Version         : 1.0
507 -- End of comments
508 
509   PROCEDURE lock_trx_ass_h_Def(
510     p_api_version                  IN NUMBER,
511     p_init_msg_list                IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
512     x_return_status                OUT NOCOPY VARCHAR2,
513     x_msg_count                    OUT NOCOPY NUMBER,
514     x_msg_data                     OUT NOCOPY VARCHAR2,
515     p_thpv_tbl                     IN thpv_tbl_type) IS
516     i                              NUMBER := 0;
517     l_return_status                VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
518   BEGIN
519     x_return_status := FND_API.G_RET_STS_SUCCESS;
520     IF p_thpv_tbl.COUNT > 0 THEN
521       i := p_thpv_tbl.FIRST;
522       LOOP
523         lock_trx_ass_h_Def(p_api_version   => p_api_version,
524                              p_init_msg_list => p_init_msg_list,
525                              x_return_status => l_return_status,
526                              x_msg_count     => x_msg_count,
527                              x_msg_data      => x_msg_data,
528                              p_thpv_rec      => p_thpv_tbl(i));
529         IF (l_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
530            IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
531               x_return_status := l_return_status;
532               RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
533            ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
534               x_return_status := l_return_status;
535               RAISE FND_API.G_EXC_ERROR;
536            ELSE
537               x_return_status := l_return_status;
538               RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
539            END IF;
540         END IF;
541         EXIT WHEN (i = p_thpv_tbl.LAST);
542         i := p_thpv_tbl.NEXT(i);
543       END LOOP;
544     END IF;
545   EXCEPTION
546     WHEN  FND_API.G_EXC_ERROR  THEN
547     ROLLBACK  TO lock_trx_ass_h_pub;
548     x_return_status := FND_API.G_RET_STS_ERROR;
549     FND_MSG_PUB.count_and_get (p_count => x_msg_count,
550                                p_data  => x_msg_data);
551     WHEN  FND_API.G_EXC_UNEXPECTED_ERROR  THEN
552     ROLLBACK  TO lock_trx_ass_h_pub;
553     x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
554     FND_MSG_PUB.count_and_get (p_count => x_msg_count,
555                                p_data  => x_msg_data);
556     WHEN  OTHERS  then
557     ROLLBACK  TO lock_trx_ass_h_pub;
558     x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
559     FND_MSG_PUB.ADD_EXC_MSG(G_PKG_NAME, 'lock_trx_ass_h_Def_pub');
560     FND_MSG_PUB.count_and_get (p_encoded => FND_API.G_FALSE,
561                                p_count   => x_msg_count,
562                                p_data    => x_msg_data);
563   END lock_trx_ass_h_Def;
564 
565 -- Start of comments
566 --
567 -- Procedure Name  : VALIDATE_TRX_ASSET_HEADER
568 -- Description     : validates trx_ass_h for a contract
569 -- Business Rules  :
570 -- Parameters      :
571 -- Version         : 1.0
572 -- End of comments
573   PROCEDURE validate_trx_ass_h_Def(p_api_version   IN         NUMBER,
574                                  p_init_msg_list IN         VARCHAR2 DEFAULT OKC_API.G_FALSE,
575                                  x_return_status OUT NOCOPY VARCHAR2,
576                                  x_msg_count     OUT NOCOPY NUMBER,
577                                  x_msg_data      OUT NOCOPY VARCHAR2,
578                                  p_thpv_rec      IN         thpv_rec_type) IS
579 
580     l_thpv_rec                           thpv_rec_type;
581     l_return_status                      VARCHAR2(3)  := FND_API.G_RET_STS_SUCCESS;
582     l_api_name                  CONSTANT VARCHAR2(30) := 'VALIDATE_TRX_ASSET_HEADER';
583     l_api_version	              CONSTANT NUMBER := 1;
584   BEGIN
585     savepoint validate_trx_ass_h_pub;
586     -- Standard call to check for call compatibility.
587     IF NOT (FND_API.Compatible_API_Call (l_api_version,
588 	                                 p_api_version,
589 			                 l_api_name,
590 		                         G_PKG_NAME)) THEN
591        RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
592     END IF;
593     -- Initialize message list if p_init_msg_list is set to TRUE.
594     IF (FND_API.to_Boolean( p_init_msg_list )) THEN
595        FND_MSG_PUB.initialize;
596     END IF;
597     l_thpv_rec := p_thpv_rec;
598     g_thpv_rec := l_thpv_rec;
599     --  Customer pre processing  section
600     -- 	Verticle industry pre- processing section
601     -- Business API call  section
602     l_thpv_rec.id := p_thpv_rec.id;
603     l_thpv_rec.object_version_number := p_thpv_rec.object_version_number;
604     OKL_TRX_ASSETS_PVT.Validate_trx_ass_h_def(p_api_version   => p_api_version,
605                                             p_init_msg_list => p_init_msg_list,
606                                             x_return_status => l_return_status,
607                                             x_msg_count     => x_msg_count,
608                                             x_msg_data      => x_msg_data,
609                                             p_tasv_rec      => l_thpv_rec);
610     IF (l_return_status = FND_API.G_RET_STS_ERROR )  THEN
611        RAISE FND_API.G_EXC_ERROR;
612     ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
613        RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
614     END IF;
615     g_thpv_rec := l_thpv_rec;
616     --	Verticle industry post- processing section
617     --  Customer post processing  section
618     x_return_status :=  FND_API.G_RET_STS_SUCCESS;
619   EXCEPTION
620 	When  FND_API.G_EXC_ERROR  then
621 		ROLLBACK  TO validate_trx_ass_h_pub;
622 		x_return_status := FND_API.G_RET_STS_ERROR;
623                              FND_MSG_PUB.count_and_get (p_count => x_msg_count,
624                                                         p_data  => x_msg_data);
625 	When  FND_API.G_EXC_UNEXPECTED_ERROR  then
626 		ROLLBACK  TO validate_trx_ass_h_pub;
627 		x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
628                              FND_MSG_PUB.count_and_get (p_count => x_msg_count,
629                                                         p_data  => x_msg_data);
630 	When  OTHERS  then
631 		ROLLBACK  TO validate_trx_ass_h_pub;
632 		x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
633 		FND_MSG_PUB.ADD_EXC_MSG( G_PKG_NAME, 'validate_trx_ass_h_Def_pub');
634                              FND_MSG_PUB.count_and_get (p_encoded => FND_API.G_FALSE,
635                                                         p_count   => x_msg_count,
636                                                         p_data    => x_msg_data);
637   END validate_trx_ass_h_Def;
638 
639 -- Start of comments
640 --
641 -- Procedure Name  : VALIDATE_TRX_ASSET_HEADER
642 -- Description     : validates selected product option value for a contract
643 -- Business Rules  :
644 -- Parameters      :
645 -- Version         : 1.0
646 -- End of comments
647 
648   PROCEDURE validate_trx_ass_h_Def(
649     p_api_version                  IN NUMBER,
650     p_init_msg_list                IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
651     x_return_status                OUT NOCOPY VARCHAR2,
652     x_msg_count                    OUT NOCOPY NUMBER,
653     x_msg_data                     OUT NOCOPY VARCHAR2,
654     p_thpv_tbl                     IN thpv_tbl_type) IS
655     i                              NUMBER := 0;
656     l_return_status                VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
657   BEGIN
658     x_return_status := FND_API.G_RET_STS_SUCCESS;
659     IF p_thpv_tbl.COUNT > 0 THEN
660       i := p_thpv_tbl.FIRST;
661       LOOP
662         validate_trx_ass_h_Def(p_api_version   => p_api_version,
663                              p_init_msg_list => p_init_msg_list,
664                              x_return_status => l_return_status,
665                              x_msg_count     => x_msg_count,
666                              x_msg_data      => x_msg_data,
667                              p_thpv_rec      => p_thpv_tbl(i));
668         IF (l_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
669            IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
670               x_return_status := l_return_status;
671               RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
672            ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
673               x_return_status := l_return_status;
674               RAISE FND_API.G_EXC_ERROR;
675            ELSE
676               x_return_status := l_return_status;
677               RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
678            END IF;
679         END IF;
680         EXIT WHEN (i = p_thpv_tbl.LAST);
681         i := p_thpv_tbl.NEXT(i);
682       END LOOP;
683     END IF;
684   EXCEPTION
685     WHEN  FND_API.G_EXC_ERROR  THEN
686     ROLLBACK  TO validate_trx_ass_h_pub;
687     x_return_status := FND_API.G_RET_STS_ERROR;
688     FND_MSG_PUB.count_and_get (p_count => x_msg_count,
689                                p_data  => x_msg_data);
690     WHEN  FND_API.G_EXC_UNEXPECTED_ERROR  THEN
691     ROLLBACK  TO validate_trx_ass_h_pub;
692     x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
693     FND_MSG_PUB.count_and_get (p_count => x_msg_count,
694                                p_data  => x_msg_data);
695     WHEN  OTHERS  then
696     ROLLBACK  TO validate_trx_ass_h_pub;
697     x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
698     FND_MSG_PUB.ADD_EXC_MSG(G_PKG_NAME, 'validate_trx_ass_h_Def_pub');
699     FND_MSG_PUB.count_and_get (p_encoded => FND_API.G_FALSE,
700                                p_count   => x_msg_count,
701                                p_data    => x_msg_data);
702   END validate_trx_ass_h_Def;
703 
704 END OKL_TRX_ASSETS_PUB;
705