DBA Data[Home] [Help]

PACKAGE BODY: APPS.OKL_PROCESS_TMPT_SET_PUB

Source


1 PACKAGE BODY OKL_PROCESS_TMPT_SET_PUB AS
2 /* $Header: OKLPTMSB.pls 115.11 2003/01/28 13:13:20 rabhupat noship $ */
3 -- Start of wraper code generated automatically by Debug code generator
4   L_MODULE VARCHAR2(40) := 'LEASE.ACCOUNTING.TEMPLATE';
5   L_DEBUG_ENABLED CONSTANT VARCHAR2(10) := OKL_DEBUG_PUB.CHECK_LOG_ENABLED;
6   L_LEVEL_PROCEDURE NUMBER;
7   IS_DEBUG_PROCEDURE_ON BOOLEAN;
8 -- End of wraper code generated automatically by Debug code generator
9   PROCEDURE create_tmpt_set(
10      p_api_version                  IN  NUMBER
11     ,p_init_msg_list                IN  VARCHAR2 DEFAULT OKC_API.G_FALSE
12     ,x_return_status                OUT NOCOPY VARCHAR2
13     ,x_msg_count                    OUT NOCOPY NUMBER
14     ,x_msg_data                     OUT NOCOPY VARCHAR2
15     ,p_aesv_rec                     IN  aesv_rec_type
16     ,p_avlv_tbl                     IN  avlv_tbl_type
17     ,p_atlv_tbl                     IN  atlv_tbl_type
18     ,x_aesv_rec                     OUT NOCOPY aesv_rec_type
19     ,x_avlv_tbl                     OUT NOCOPY avlv_tbl_type
20     ,x_atlv_tbl                     OUT NOCOPY atlv_tbl_type
21     ) IS
22     i                               NUMBER;
23     l_api_name                      CONSTANT VARCHAR2(30)  := 'create_tmpt_set';
24     l_aesv_rec                      aesv_rec_type := p_aesv_rec;
25     l_return_status                 VARCHAR2(1)   := OKC_API.G_RET_STS_SUCCESS;
26     l_avlv_tbl                      avlv_tbl_type := p_avlv_tbl;
27     l_atlv_tbl						atlv_tbl_type := p_atlv_tbl;
28   BEGIN
29     SAVEPOINT create_tmpt_set2;
30     x_return_status    := FND_API.G_RET_STS_SUCCESS;
31    -- customer pre-processing
32    -- vertical industry-preprocessing
33    -- call complex entity API
34 -- Start of wraper code generated automatically by Debug code generator for OKL_PROCESS_TMPT_SET_PVT.create_tmpt_set
35   IF(L_DEBUG_ENABLED='Y') THEN
36     L_LEVEL_PROCEDURE :=FND_LOG.LEVEL_PROCEDURE;
37     IS_DEBUG_PROCEDURE_ON := OKL_DEBUG_PUB.Check_Log_On(L_MODULE, L_LEVEL_PROCEDURE);
38   END IF;
39   IF(IS_DEBUG_PROCEDURE_ON) THEN
40     BEGIN
41         OKL_DEBUG_PUB.LOG_DEBUG(L_LEVEL_PROCEDURE,L_MODULE,'Begin Debug OKLPTMSB.pls call OKL_PROCESS_TMPT_SET_PVT.create_tmpt_set ');
42     END;
43   END IF;
44     OKL_PROCESS_TMPT_SET_PVT.create_tmpt_set(
45                          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_aesv_rec      => l_aesv_rec
51                         ,p_avlv_tbl      => l_avlv_tbl
52                         ,p_atlv_tbl      => l_atlv_tbl
53                         ,x_aesv_rec      => x_aesv_rec
54                         ,x_avlv_tbl      => x_avlv_tbl
55 						,x_atlv_tbl => x_atlv_tbl);
56   IF(IS_DEBUG_PROCEDURE_ON) THEN
57     BEGIN
58         OKL_DEBUG_PUB.LOG_DEBUG(L_LEVEL_PROCEDURE,L_MODULE,'End Debug OKLPTMSB.pls call OKL_PROCESS_TMPT_SET_PVT.create_tmpt_set ');
59     END;
60   END IF;
61 -- End of wraper code generated automatically by Debug code generator for OKL_PROCESS_TMPT_SET_PVT.create_tmpt_set
62        IF l_return_status = FND_API.G_RET_STS_ERROR THEN
63              RAISE FND_API.G_EXC_ERROR;
64        ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
65             RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
66        END IF;
67 	   l_aesv_rec := x_aesv_rec;
68 	   l_avlv_tbl := x_avlv_tbl;
69 	   l_atlv_tbl := x_atlv_tbl;
70     -- vertical industry-post-processing
71      -- customer post-processing
72   EXCEPTION
73     WHEN FND_API.G_EXC_ERROR THEN
74       ROLLBACK TO create_tmpt_set2;
75       x_return_status := FND_API.G_RET_STS_ERROR;
76       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
77                                ,p_count   => x_msg_count
78                                ,p_data    => x_msg_data);
79     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
80       ROLLBACK TO create_tmpt_set2;
81       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
82       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
83                                ,p_count   => x_msg_count
84                                ,p_data    => x_msg_data);
85     WHEN OTHERS THEN
86       ROLLBACK TO create_tmpt_set2;
87       FND_MSG_PUB.ADD_EXC_MSG('OKL_PROCESS_TMPT_SET_PUB','create_tmpt_set');
88       -- store SQL error message on message stack for caller
89       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
90                                ,p_count   => x_msg_count
91                                ,p_data    => x_msg_data);
92       -- notify caller of an UNEXPECTED error
93       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
94   END create_tmpt_set;
95 
96   PROCEDURE create_tmpt_set(
97      p_api_version             IN  NUMBER
98     ,p_init_msg_list           IN  VARCHAR2 DEFAULT OKC_API.G_FALSE
99     ,x_return_status           OUT NOCOPY VARCHAR2
100     ,x_msg_count               OUT NOCOPY NUMBER
101     ,x_msg_data                OUT NOCOPY VARCHAR2
102     ,p_aesv_rec                IN  aesv_rec_type
103     ,x_aesv_rec                OUT NOCOPY aesv_rec_type
104     ,p_aes_source_id           IN OKL_AE_TMPT_SETS.id%TYPE DEFAULT NULL)
105 IS
106     l_return_status            VARCHAR2(1)   := OKC_API.G_RET_STS_SUCCESS;
107     l_api_name                 CONSTANT VARCHAR2(30)  := 'create_tmpt_set';
108     l_aesv_rec                      aesv_rec_type := p_aesv_rec;
109   BEGIN
110     SAVEPOINT create_tmpt_set2;
111     x_return_status    := FND_API.G_RET_STS_SUCCESS;
112    -- customer pre-processing
113    -- vertical industry-preprocessing
114    -- call complex entity API
115 -- Start of wraper code generated automatically by Debug code generator for OKL_PROCESS_TMPT_SET_PVT.create_tmpt_set
116   IF(L_DEBUG_ENABLED='Y') THEN
117     L_LEVEL_PROCEDURE :=FND_LOG.LEVEL_PROCEDURE;
118     IS_DEBUG_PROCEDURE_ON := OKL_DEBUG_PUB.Check_Log_On(L_MODULE, L_LEVEL_PROCEDURE);
119   END IF;
120   IF(IS_DEBUG_PROCEDURE_ON) THEN
121     BEGIN
122         OKL_DEBUG_PUB.LOG_DEBUG(L_LEVEL_PROCEDURE,L_MODULE,'Begin Debug OKLPTMSB.pls call OKL_PROCESS_TMPT_SET_PVT.create_tmpt_set ');
123     END;
124   END IF;
125     OKL_PROCESS_TMPT_SET_PVT.create_tmpt_set(
126                            p_api_version   => p_api_version
127                           ,p_init_msg_list => p_init_msg_list
128                           ,x_return_status => l_return_status
129                           ,x_msg_count     => x_msg_count
130                           ,x_msg_data      => x_msg_data
131                           ,p_aesv_rec      => l_aesv_rec
132                           ,x_aesv_rec      => x_aesv_rec
133 			  ,p_aes_source_id => p_aes_source_id
134                           );
135   IF(IS_DEBUG_PROCEDURE_ON) THEN
136     BEGIN
137         OKL_DEBUG_PUB.LOG_DEBUG(L_LEVEL_PROCEDURE,L_MODULE,'End Debug OKLPTMSB.pls call OKL_PROCESS_TMPT_SET_PVT.create_tmpt_set ');
138     END;
139   END IF;
140 -- End of wraper code generated automatically by Debug code generator for OKL_PROCESS_TMPT_SET_PVT.create_tmpt_set
141        IF l_return_status = FND_API.G_RET_STS_ERROR THEN
142              RAISE FND_API.G_EXC_ERROR;
143        ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
144             RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
145        END IF;
146 	   l_aesv_rec := x_aesv_rec;
147     -- vertical industry-post-processing
148      -- customer post-processing
149   EXCEPTION
150     WHEN FND_API.G_EXC_ERROR THEN
151       ROLLBACK TO create_tmpt_set2;
152       x_return_status := FND_API.G_RET_STS_ERROR;
153       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
154                                ,p_count   => x_msg_count
155                                ,p_data    => x_msg_data);
156     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
157       ROLLBACK TO create_tmpt_set2;
158       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
159       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
160                                ,p_count   => x_msg_count
161                                ,p_data    => x_msg_data);
162     WHEN OTHERS THEN
163       ROLLBACK TO create_tmpt_set2;
164       FND_MSG_PUB.ADD_EXC_MSG('OKL_PROCESS_TMPT_SET_PUB','create_tmpt_set');
165       -- store SQL error message on message stack for caller
166       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
167                                ,p_count   => x_msg_count
168                                ,p_data    => x_msg_data);
169       -- notify caller of an UNEXPECTED error
170       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
171   END create_tmpt_set;
172 
173   PROCEDURE create_tmpt_set(
174      p_api_version               IN  NUMBER
175     ,p_init_msg_list             IN  VARCHAR2 DEFAULT OKC_API.G_FALSE
176     ,x_return_status             OUT NOCOPY VARCHAR2
177     ,x_msg_count                 OUT NOCOPY NUMBER
178     ,x_msg_data                  OUT NOCOPY VARCHAR2
179     ,p_aesv_tbl                  IN  aesv_tbl_type
180     ,x_aesv_tbl                  OUT NOCOPY aesv_tbl_type) IS
181     l_return_status              VARCHAR2(1)   := OKC_API.G_RET_STS_SUCCESS;
182     l_api_name                   CONSTANT VARCHAR2(30)  := 'create_tmpt_set';
183     i                            NUMBER;
184     l_aesv_tbl                      aesv_tbl_type := p_aesv_tbl;
185     l_overall_status             VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
186   BEGIN
187   --Initialize the return status
188      SAVEPOINT create_tmpt_set2;
189     x_return_status    := FND_API.G_RET_STS_SUCCESS;
190    -- customer pre-processing
191    -- vertical industry-preprocessing
192     IF (l_aesv_tbl.COUNT > 0) THEN
193       i := l_aesv_tbl.FIRST;
194       LOOP
195         create_tmpt_set(
196                            p_api_version   => p_api_version
197                           ,p_init_msg_list => p_init_msg_list
198                           ,x_return_status => x_return_status
199                           ,x_msg_count     => x_msg_count
200                           ,x_msg_data      => x_msg_data
201                           ,p_aesv_rec      => l_aesv_tbl(i)
202                           ,x_aesv_rec      => x_aesv_tbl(i)
203 			  ,p_aes_source_id => NULL
204                           );
205           IF (x_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
206              IF (l_overall_status <> OKC_API.G_RET_STS_UNEXP_ERROR) THEN
207                  l_overall_status := x_return_status;
208              END IF;
209           END IF;
210           EXIT WHEN (i = l_aesv_tbl.LAST);
211           i := l_aesv_tbl.NEXT(i);
212        END LOOP;
213      END IF;
214      x_return_status := l_overall_status;
215        IF x_return_status = FND_API.G_RET_STS_ERROR THEN
216              RAISE FND_API.G_EXC_ERROR;
217        ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
218             RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
219        END IF;
220 	   l_aesv_tbl := x_aesv_tbl;
221     -- vertical industry-post-processing
222      -- customer post-processing
223   EXCEPTION
224     WHEN FND_API.G_EXC_ERROR THEN
225       ROLLBACK TO create_tmpt_set2;
226       x_return_status := FND_API.G_RET_STS_ERROR;
227       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
228                                ,p_count   => x_msg_count
229                                ,p_data    => x_msg_data);
230     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
231       ROLLBACK TO create_tmpt_set2;
232       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
233       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
234                                ,p_count   => x_msg_count
235                                ,p_data    => x_msg_data);
236     WHEN OTHERS THEN
237       ROLLBACK TO create_tmpt_set2;
238       FND_MSG_PUB.ADD_EXC_MSG('OKL_PROCESS_TMPT_SET_PUB','create_tmpt_set');
239       -- store SQL error message on message stack for caller
240       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
241                                ,p_count   => x_msg_count
242                                ,p_data    => x_msg_data);
243       -- notify caller of an UNEXPECTED error
244       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
245   END create_tmpt_set;
246 
247   -- Object type procedure for update
248   PROCEDURE update_tmpt_set(
249     p_api_version           IN  NUMBER,
250     p_init_msg_list         IN  VARCHAR2 DEFAULT OKC_API.G_FALSE,
251     x_return_status         OUT NOCOPY VARCHAR2,
252     x_msg_count             OUT NOCOPY NUMBER,
253     x_msg_data              OUT NOCOPY VARCHAR2,
254     p_aesv_rec              IN  aesv_rec_type,
255     p_avlv_tbl              IN  avlv_tbl_type,
256 	p_atlv_tbl				IN	atlv_tbl_type,
257     x_aesv_rec              OUT NOCOPY aesv_rec_type,
258     x_avlv_tbl              OUT NOCOPY avlv_tbl_type,
259 	x_atlv_tbl				OUT NOCOPY atlv_tbl_type) IS
260     l_return_status         VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
261     l_api_name              CONSTANT VARCHAR2(30)  := 'update_tmpt_set';
262     l_aesv_rec                      aesv_rec_type := p_aesv_rec;
263     l_avlv_tbl                      avlv_tbl_type := p_avlv_tbl;
264     l_atlv_tbl                      atlv_tbl_type := p_atlv_tbl;
265   BEGIN
266     SAVEPOINT update_tmpt_set2;
267     x_return_status    := FND_API.G_RET_STS_SUCCESS;
268    -- customer pre-processing
269    -- vertical industry-preprocessing
270    -- call complex entity API
271 -- Start of wraper code generated automatically by Debug code generator for OKL_PROCESS_TMPT_SET_PVT.update_tmpt_set
272   IF(L_DEBUG_ENABLED='Y') THEN
273     L_LEVEL_PROCEDURE :=FND_LOG.LEVEL_PROCEDURE;
274     IS_DEBUG_PROCEDURE_ON := OKL_DEBUG_PUB.Check_Log_On(L_MODULE, L_LEVEL_PROCEDURE);
275   END IF;
276   IF(IS_DEBUG_PROCEDURE_ON) THEN
277     BEGIN
278         OKL_DEBUG_PUB.LOG_DEBUG(L_LEVEL_PROCEDURE,L_MODULE,'Begin Debug OKLPTMSB.pls call OKL_PROCESS_TMPT_SET_PVT.update_tmpt_set ');
279     END;
280   END IF;
281     OKL_PROCESS_TMPT_SET_PVT.update_tmpt_set(
282                          p_api_version   => p_api_version
283                         ,p_init_msg_list => p_init_msg_list
284                         ,x_return_status => l_return_status
285                         ,x_msg_count     => x_msg_count
286                         ,x_msg_data      => x_msg_data
287                         ,p_aesv_rec      => l_aesv_rec
288                         ,p_avlv_tbl      => l_avlv_tbl
289                         ,p_atlv_tbl => l_atlv_tbl
290                         ,x_aesv_rec      => x_aesv_rec
291                         ,x_avlv_tbl      => x_avlv_tbl
292 						,x_atlv_tbl       => x_atlv_tbl
293                         );
294   IF(IS_DEBUG_PROCEDURE_ON) THEN
295     BEGIN
296         OKL_DEBUG_PUB.LOG_DEBUG(L_LEVEL_PROCEDURE,L_MODULE,'End Debug OKLPTMSB.pls call OKL_PROCESS_TMPT_SET_PVT.update_tmpt_set ');
297     END;
298   END IF;
299 -- End of wraper code generated automatically by Debug code generator for OKL_PROCESS_TMPT_SET_PVT.update_tmpt_set
300        IF l_return_status = FND_API.G_RET_STS_ERROR THEN
301              RAISE FND_API.G_EXC_ERROR;
302        ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
303             RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
304        END IF;
305 	   l_aesv_rec := x_aesv_rec;
306 	   l_avlv_tbl := x_avlv_tbl;
307 	   l_atlv_tbl := x_atlv_tbl;
308    -- vertical industry-post processing
309    -- customer post-processing
310   EXCEPTION
311     WHEN FND_API.G_EXC_ERROR THEN
312       ROLLBACK TO update_tmpt_set2;
313       x_return_status := FND_API.G_RET_STS_ERROR;
314       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
315                                ,p_count   => x_msg_count
316                                ,p_data    => x_msg_data);
317     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
318       ROLLBACK TO update_tmpt_set2;
319       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
320       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
321                                ,p_count   => x_msg_count
322                                ,p_data    => x_msg_data);
323     WHEN OTHERS THEN
324       ROLLBACK TO update_tmpt_set2;
325       FND_MSG_PUB.ADD_EXC_MSG('OKL_PROCESS_TMPT_SET_PUB','update_tmpt_set');
326       -- store SQL error message on message stack for caller
327       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
328                                ,p_count   => x_msg_count
329                                ,p_data    => x_msg_data);
330       -- notify caller of an UNEXPECTED error
331       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
332   END update_tmpt_set;
333 
334   PROCEDURE update_tmpt_set(
335      p_api_version                IN  NUMBER
336     ,p_init_msg_list              IN  VARCHAR2 DEFAULT OKC_API.G_FALSE
337     ,x_return_status              OUT NOCOPY VARCHAR2
338     ,x_msg_count                  OUT NOCOPY NUMBER
339     ,x_msg_data                   OUT NOCOPY VARCHAR2
340     ,p_aesv_rec                   IN  aesv_rec_type
341     ,x_aesv_rec                   OUT NOCOPY aesv_rec_type) IS
342     l_return_status               VARCHAR2(1)   := OKC_API.G_RET_STS_SUCCESS;
343     l_api_name                    CONSTANT VARCHAR2(30)  := 'update_tmpt_set';
344     l_aesv_rec                      aesv_rec_type := p_aesv_rec;
345   BEGIN
346     SAVEPOINT update_tmpt_set2;
347     x_return_status    := FND_API.G_RET_STS_SUCCESS;
348    -- customer pre-processing
349    -- vertical industry-preprocessing
350    -- call complex entity API
351 -- Start of wraper code generated automatically by Debug code generator for OKL_PROCESS_TMPT_SET_PVT.update_tmpt_set
352   IF(L_DEBUG_ENABLED='Y') THEN
353     L_LEVEL_PROCEDURE :=FND_LOG.LEVEL_PROCEDURE;
354     IS_DEBUG_PROCEDURE_ON := OKL_DEBUG_PUB.Check_Log_On(L_MODULE, L_LEVEL_PROCEDURE);
355   END IF;
356   IF(IS_DEBUG_PROCEDURE_ON) THEN
357     BEGIN
358         OKL_DEBUG_PUB.LOG_DEBUG(L_LEVEL_PROCEDURE,L_MODULE,'Begin Debug OKLPTMSB.pls call OKL_PROCESS_TMPT_SET_PVT.update_tmpt_set ');
359     END;
360   END IF;
361     OKL_PROCESS_TMPT_SET_PVT.update_tmpt_set(
362                            p_api_version   => p_api_version
363                           ,p_init_msg_list => p_init_msg_list
364                           ,x_return_status => l_return_status
365                           ,x_msg_count     => x_msg_count
366                           ,x_msg_data      => x_msg_data
367                           ,p_aesv_rec      => l_aesv_rec
368                           ,x_aesv_rec      => x_aesv_rec
369                           );
370   IF(IS_DEBUG_PROCEDURE_ON) THEN
371     BEGIN
372         OKL_DEBUG_PUB.LOG_DEBUG(L_LEVEL_PROCEDURE,L_MODULE,'End Debug OKLPTMSB.pls call OKL_PROCESS_TMPT_SET_PVT.update_tmpt_set ');
373     END;
374   END IF;
375 -- End of wraper code generated automatically by Debug code generator for OKL_PROCESS_TMPT_SET_PVT.update_tmpt_set
376        IF l_return_status = FND_API.G_RET_STS_ERROR THEN
377              RAISE FND_API.G_EXC_ERROR;
378        ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
379             RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
380        END IF;
381 	   l_aesv_rec := x_aesv_rec;
382     -- vertical industry-post-processing
383     -- customer post-processing
384   EXCEPTION
385    WHEN FND_API.G_EXC_ERROR THEN
386       ROLLBACK TO update_tmpt_set2;
387       x_return_status := FND_API.G_RET_STS_ERROR;
388       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
389                                ,p_count   => x_msg_count
390                                ,p_data    => x_msg_data);
391     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
392       ROLLBACK TO update_tmpt_set2;
393       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
394       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
395                                ,p_count   => x_msg_count
396                                ,p_data    => x_msg_data);
397     WHEN OTHERS THEN
398       ROLLBACK TO update_tmpt_set2;
399       FND_MSG_PUB.ADD_EXC_MSG('OKL_PROCESS_TMPT_SET_PUB','update_tmpt_set');
400       -- store SQL error message on message stack for caller
401       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
402                                ,p_count   => x_msg_count
403                                ,p_data    => x_msg_data);
404       -- notify caller of an UNEXPECTED error
405       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
406   END update_tmpt_set;
407 
408 
409   PROCEDURE update_tmpt_set(
410      p_api_version                IN  NUMBER
411     ,p_init_msg_list              IN  VARCHAR2 DEFAULT OKC_API.G_FALSE
412     ,x_return_status              OUT NOCOPY VARCHAR2
413     ,x_msg_count                  OUT NOCOPY NUMBER
414     ,x_msg_data                   OUT NOCOPY VARCHAR2
415     ,p_aesv_tbl                   IN  aesv_tbl_type
416     ,x_aesv_tbl                   OUT NOCOPY aesv_tbl_type) IS
417     l_return_status               VARCHAR2(1)   := OKC_API.G_RET_STS_SUCCESS;
418     l_overall_status              VARCHAR2(1)   := OKC_API.G_RET_STS_SUCCESS;
419     l_api_name                    CONSTANT VARCHAR2(30)  := 'update_tmpt_set';
420     i                             NUMBER;
421     l_aesv_tbl                    aesv_tbl_type := p_aesv_tbl;
422   BEGIN
423   --Initialize the return status
424     SAVEPOINT update_tmpt_set2;
425     x_return_status    := FND_API.G_RET_STS_SUCCESS;
426    -- customer pre-processing
427    -- vertical industry-preprocessing
428     IF (l_aesv_tbl.COUNT > 0) THEN
429       i := l_aesv_tbl.FIRST;
430       LOOP
431         update_tmpt_set(
432                            p_api_version   => p_api_version
433                           ,p_init_msg_list => p_init_msg_list
434                           ,x_return_status => x_return_status
435                           ,x_msg_count     => x_msg_count
436                           ,x_msg_data      => x_msg_data
437                           ,p_aesv_rec      => l_aesv_tbl(i)
438                           ,x_aesv_rec      => x_aesv_tbl(i)
439                           );
440           IF (x_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
441              IF (l_overall_status <> OKC_API.G_RET_STS_UNEXP_ERROR) THEN
442                  l_overall_status := x_return_status;
443              END IF;
444           END IF;
445           EXIT WHEN (i = l_aesv_tbl.LAST);
446           i := l_aesv_tbl.NEXT(i);
447        END LOOP;
448      END IF;
449      x_return_status := l_overall_Status;
450       IF x_return_status = FND_API.G_RET_STS_ERROR THEN
451              RAISE FND_API.G_EXC_ERROR;
452        ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
453             RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
454        END IF;
455 	   l_aesv_tbl := x_aesv_tbl;
456     -- vertical industry-post-processing
457     -- customer post-processing
458   EXCEPTION
459      WHEN FND_API.G_EXC_ERROR THEN
460       ROLLBACK TO update_tmpt_set2;
461       x_return_status := FND_API.G_RET_STS_ERROR;
462       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
463                                ,p_count   => x_msg_count
464                                ,p_data    => x_msg_data);
465     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
466       ROLLBACK TO update_tmpt_set2;
467       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
468       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
469                                ,p_count   => x_msg_count
470                                ,p_data    => x_msg_data);
471     WHEN OTHERS THEN
472       ROLLBACK TO update_tmpt_set2;
473       FND_MSG_PUB.ADD_EXC_MSG('OKL_PROCESS_TMPT_SET_PUB','update_tmpt_set');
474       -- store SQL error message on message stack for caller
475       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
476                                ,p_count   => x_msg_count
477                                ,p_data    => x_msg_data);
478       -- notify caller of an UNEXPECTED error
479       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
480   END update_tmpt_set;
481 
482        --Put custom code for cascade delete by developer
483   PROCEDURE delete_tmpt_set(
484      p_api_version           IN  NUMBER
485     ,p_init_msg_list         IN  VARCHAR2 DEFAULT OKC_API.G_FALSE
486     ,x_return_status         OUT NOCOPY VARCHAR2
487     ,x_msg_count             OUT NOCOPY NUMBER
488     ,x_msg_data              OUT NOCOPY VARCHAR2
489     ,p_aesv_rec              IN  aesv_rec_type) IS
490     i                        NUMBER :=0;
491     l_return_status          VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
492     l_api_name               CONSTANT VARCHAR2(30)  := 'delete_tmpt_set';
493     l_aesv_rec                      aesv_rec_type := p_aesv_rec;
494   BEGIN
495     SAVEPOINT delete_tmpt_set2;
496     x_return_status    := FND_API.G_RET_STS_SUCCESS;
497    -- customer pre-processing
498    -- vertical industry-preprocessing
499    -- call complex entity API
500 -- Start of wraper code generated automatically by Debug code generator for OKL_PROCESS_TMPT_SET_PVT.delete_tmpt_set
501   IF(L_DEBUG_ENABLED='Y') THEN
502     L_LEVEL_PROCEDURE :=FND_LOG.LEVEL_PROCEDURE;
503     IS_DEBUG_PROCEDURE_ON := OKL_DEBUG_PUB.Check_Log_On(L_MODULE, L_LEVEL_PROCEDURE);
504   END IF;
505   IF(IS_DEBUG_PROCEDURE_ON) THEN
506     BEGIN
507         OKL_DEBUG_PUB.LOG_DEBUG(L_LEVEL_PROCEDURE,L_MODULE,'Begin Debug OKLPTMSB.pls call OKL_PROCESS_TMPT_SET_PVT.delete_tmpt_set ');
508     END;
509   END IF;
510     OKL_PROCESS_TMPT_SET_PVT.delete_tmpt_set(
511                            p_api_version   => p_api_version
512                           ,p_init_msg_list => p_init_msg_list
513                           ,x_return_status => l_return_status
514                           ,x_msg_count     => x_msg_count
515                           ,x_msg_data      => x_msg_data
516                           ,p_aesv_rec      => l_aesv_rec
517                           );
518   IF(IS_DEBUG_PROCEDURE_ON) THEN
519     BEGIN
520         OKL_DEBUG_PUB.LOG_DEBUG(L_LEVEL_PROCEDURE,L_MODULE,'End Debug OKLPTMSB.pls call OKL_PROCESS_TMPT_SET_PVT.delete_tmpt_set ');
521     END;
522   END IF;
523 -- End of wraper code generated automatically by Debug code generator for OKL_PROCESS_TMPT_SET_PVT.delete_tmpt_set
524        IF l_return_status = FND_API.G_RET_STS_ERROR THEN
525              RAISE FND_API.G_EXC_ERROR;
526        ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
527             RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
528        END IF;
529     -- vertical industry-post-processing
530     -- customer post-processing
531   EXCEPTION
532    WHEN FND_API.G_EXC_ERROR THEN
533       ROLLBACK TO delete_tmpt_set2;
534       x_return_status := FND_API.G_RET_STS_ERROR;
535       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
536                                ,p_count   => x_msg_count
537                                ,p_data    => x_msg_data);
538     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
539       ROLLBACK TO delete_tmpt_set2;
540       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
541       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
542                                ,p_count   => x_msg_count
543                                ,p_data    => x_msg_data);
544     WHEN OTHERS THEN
545       ROLLBACK TO delete_tmpt_set2;
546       FND_MSG_PUB.ADD_EXC_MSG('OKL_PROCESS_TMPT_SET_PUB','delete_tmpt_set');
547       -- store SQL error message on message stack for caller
548       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
549                                ,p_count   => x_msg_count
550                                ,p_data    => x_msg_data);
551       -- notify caller of an UNEXPECTED error
552       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
553   END delete_tmpt_set;
554 
555   PROCEDURE delete_tmpt_set(
556      p_api_version           IN  NUMBER
557     ,p_init_msg_list         IN  VARCHAR2 DEFAULT OKC_API.G_FALSE
558     ,x_return_status         OUT NOCOPY VARCHAR2
559     ,x_msg_count             OUT NOCOPY NUMBER
560     ,x_msg_data              OUT NOCOPY VARCHAR2
561     ,p_aesv_tbl              IN  aesv_tbl_type) IS
562     i                        NUMBER :=0;
563     l_return_status          VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
564     l_overall_status         VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
565     l_api_name               CONSTANT VARCHAR2(30)  := 'delete_tmpt_set';
566     l_aesv_tbl                      aesv_tbl_type := p_aesv_tbl;
567   BEGIN
568     --Initialize the return status
569      SAVEPOINT delete_tmpt_set2;
570     x_return_status    := FND_API.G_RET_STS_SUCCESS;
571    -- customer pre-processing
572    -- vertical industry-preprocessing
573     IF (l_aesv_tbl.COUNT > 0) THEN
574       i := l_aesv_tbl.FIRST;
575       LOOP
576         delete_tmpt_set(
577                              p_api_version   => p_api_version
578                             ,p_init_msg_list => p_init_msg_list
579                             ,x_return_status => x_return_status
580                             ,x_msg_count     => x_msg_count
581                             ,x_msg_data      => x_msg_data
582                             ,p_aesv_rec      => l_aesv_tbl(i)
583                             );
584           IF (x_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
585              IF (l_overall_status <> OKC_API.G_RET_STS_UNEXP_ERROR) THEN
586                  l_overall_status := x_return_status;
587              END IF;
588           END IF;
589          EXIT WHEN (i = l_aesv_tbl.LAST);
590          i := l_aesv_tbl.NEXT(i);
591        END LOOP;
592       END IF;
593       x_return_status := l_overall_status;
594        IF x_return_status = FND_API.G_RET_STS_ERROR THEN
595              RAISE FND_API.G_EXC_ERROR;
596        ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
597             RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
598        END IF;
599     -- vertical industry-post-processing
600     -- customer post-processing
601   EXCEPTION
602    WHEN FND_API.G_EXC_ERROR THEN
603       ROLLBACK TO delete_tmpt_set2;
604       x_return_status := FND_API.G_RET_STS_ERROR;
605       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
606                                ,p_count   => x_msg_count
607                                ,p_data    => x_msg_data);
608     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
609       ROLLBACK TO delete_tmpt_set2;
610       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
611       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
612                                ,p_count   => x_msg_count
613                                ,p_data    => x_msg_data);
614     WHEN OTHERS THEN
615       ROLLBACK TO delete_tmpt_set2;
616       FND_MSG_PUB.ADD_EXC_MSG('OKL_PROCESS_TMPT_SET_PUB','delete_tmpt_set');
617       -- store SQL error message on message stack for caller
618       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
619                                ,p_count   => x_msg_count
620                                ,p_data    => x_msg_data);
621       -- notify caller of an UNEXPECTED error
622       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
623   END delete_tmpt_set;
624 
625 PROCEDURE create_template(p_api_version                  IN  NUMBER,
626                           p_init_msg_list                IN  VARCHAR2 DEFAULT OKC_API.G_FALSE,
627                           x_return_status                OUT NOCOPY VARCHAR2,
628                           x_msg_count                    OUT NOCOPY NUMBER,
629                           x_msg_data                     OUT NOCOPY VARCHAR2,
630                           p_avlv_rec                     IN  avlv_rec_type,
631                           x_avlv_rec                     OUT NOCOPY avlv_rec_type)  IS
632  l_return_status                   VARCHAR2(1)   := OKC_API.G_RET_STS_SUCCESS;
633  l_api_name                        CONSTANT VARCHAR2(30)  := 'create_template';
634  l_avlv_rec                      avlv_rec_type := p_avlv_rec;
635   BEGIN
636     SAVEPOINT create_template2;
637     x_return_status    := FND_API.G_RET_STS_SUCCESS;
638    -- customer pre-processing
639    -- vertical industry-preprocessing
640    -- call complex entity API
641 -- Start of wraper code generated automatically by Debug code generator for OKL_PROCESS_TMPT_SET_PVT.create_template
642   IF(L_DEBUG_ENABLED='Y') THEN
643     L_LEVEL_PROCEDURE :=FND_LOG.LEVEL_PROCEDURE;
644     IS_DEBUG_PROCEDURE_ON := OKL_DEBUG_PUB.Check_Log_On(L_MODULE, L_LEVEL_PROCEDURE);
645   END IF;
646   IF(IS_DEBUG_PROCEDURE_ON) THEN
647     BEGIN
648         OKL_DEBUG_PUB.LOG_DEBUG(L_LEVEL_PROCEDURE,L_MODULE,'Begin Debug OKLPTMSB.pls call OKL_PROCESS_TMPT_SET_PVT.create_template ');
649     END;
650   END IF;
651     OKL_PROCESS_TMPT_SET_PVT.create_template(p_api_version   => p_api_version
652                                             ,p_init_msg_list => p_init_msg_list
653                                             ,x_return_status => l_return_status
654                                             ,x_msg_count     => x_msg_count
655                                             ,x_msg_data      => x_msg_data
656                                             ,p_avlv_rec      => l_avlv_rec
657                                             ,x_avlv_rec      => x_avlv_rec );
658   IF(IS_DEBUG_PROCEDURE_ON) THEN
659     BEGIN
660         OKL_DEBUG_PUB.LOG_DEBUG(L_LEVEL_PROCEDURE,L_MODULE,'End Debug OKLPTMSB.pls call OKL_PROCESS_TMPT_SET_PVT.create_template ');
661     END;
662   END IF;
663 -- End of wraper code generated automatically by Debug code generator for OKL_PROCESS_TMPT_SET_PVT.create_template
664        IF l_return_status = FND_API.G_RET_STS_ERROR THEN
665              RAISE FND_API.G_EXC_ERROR;
666        ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
667             RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
668        END IF;
669 	   l_avlv_rec := x_avlv_rec;
670    -- vertical industry-post-processing
671    -- customer post-processing
672   EXCEPTION
673     WHEN FND_API.G_EXC_ERROR THEN
674       ROLLBACK TO create_template2;
675       x_return_status := FND_API.G_RET_STS_ERROR;
676       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
677                                ,p_count   => x_msg_count
678                                ,p_data    => x_msg_data);
679     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
680       ROLLBACK TO create_template2;
681       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
682       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
683                                ,p_count   => x_msg_count
684                                ,p_data    => x_msg_data);
685     WHEN OTHERS THEN
686       ROLLBACK TO create_template2;
687       FND_MSG_PUB.ADD_EXC_MSG('OKL_PROCESS_TMPT_SET_PUB','create_template');
688       -- store SQL error message on message stack for caller
689       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
690                                ,p_count   => x_msg_count
691                                ,p_data    => x_msg_data);
692       -- notify caller of an UNEXPECTED error
693       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
694   END create_template;
695 
696   PROCEDURE create_template(
697      p_api_version                    IN  NUMBER
698     ,p_init_msg_list                  IN  VARCHAR2 DEFAULT OKC_API.G_FALSE
699     ,x_return_status                  OUT NOCOPY VARCHAR2
700     ,x_msg_count                      OUT NOCOPY NUMBER
701     ,x_msg_data                       OUT NOCOPY VARCHAR2
702     ,p_avlv_tbl                       IN  avlv_tbl_type
703     ,x_avlv_tbl                       OUT NOCOPY avlv_tbl_type) IS
704     l_return_status                   VARCHAR2(1)   := OKC_API.G_RET_STS_SUCCESS;
705     l_overall_status                  VARCHAR2(1)   := OKC_API.G_RET_STS_SUCCESS;
706     l_api_name                        CONSTANT VARCHAR2(30)  := 'create_template';
707     i                                 NUMBER;
708 	l_avlv_tbl                      avlv_tbl_type := p_avlv_tbl;
709   BEGIN
710   --Initialize the return status
711     SAVEPOINT create_template2;
712     x_return_status    := FND_API.G_RET_STS_SUCCESS;
713    -- customer pre-processing
714    -- vertical industry-preprocessing
715     IF (l_avlv_tbl.COUNT > 0) THEN
716       i := l_avlv_tbl.FIRST;
717       LOOP
718         create_template(p_api_version   => p_api_version
719                        ,p_init_msg_list => p_init_msg_list
720                        ,x_return_status => x_return_status
721                        ,x_msg_count     => x_msg_count
722                        ,x_msg_data      => x_msg_data
723                        ,p_avlv_rec      => l_avlv_tbl(i)
724                        ,x_avlv_rec      => x_avlv_tbl(i));        -- not possible thru this API
725           IF (x_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
726              IF (l_overall_status <> OKC_API.G_RET_STS_UNEXP_ERROR) THEN
727                  l_overall_status := x_return_status;
728              END IF;
729           END IF;
730           EXIT WHEN (i = l_avlv_tbl.LAST);
731           i := l_avlv_tbl.NEXT(i);
732        END LOOP;
733      END IF;
734      x_return_status := l_overall_status ;
735      IF x_return_status = FND_API.G_RET_STS_ERROR THEN
736              RAISE FND_API.G_EXC_ERROR;
737      ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
738             RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
739      END IF;
740 	   l_avlv_tbl := x_avlv_tbl;
741    -- vertical industry-post-processing
742    -- customer post-processing
743   EXCEPTION
744     WHEN FND_API.G_EXC_ERROR THEN
745       ROLLBACK TO create_template2;
746       x_return_status := FND_API.G_RET_STS_ERROR;
747       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
748                                ,p_count   => x_msg_count
749                                ,p_data    => x_msg_data);
750     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
751       ROLLBACK TO create_template2;
752       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
753       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
754                                ,p_count   => x_msg_count
755                                ,p_data    => x_msg_data);
756     WHEN OTHERS THEN
757       ROLLBACK TO create_template2;
758       FND_MSG_PUB.ADD_EXC_MSG('OKL_PROCESS_TMPT_SET_PUB','create_template');
759       -- store SQL error message on message stack for caller
760       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
761                                ,p_count   => x_msg_count
762                                ,p_data    => x_msg_data);
763       -- notify caller of an UNEXPECTED error
764       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
765   END create_template;
766 
767   PROCEDURE update_template(
768      p_api_version                    IN  NUMBER
769     ,p_init_msg_list                  IN  VARCHAR2 DEFAULT OKC_API.G_FALSE
770     ,x_return_status                  OUT NOCOPY VARCHAR2
771     ,x_msg_count                      OUT NOCOPY NUMBER
772     ,x_msg_data                       OUT NOCOPY VARCHAR2
773     ,p_avlv_rec                       IN  avlv_rec_type
774     ,x_avlv_rec                       OUT NOCOPY avlv_rec_type) IS
775     l_return_status                   VARCHAR2(1)   := OKC_API.G_RET_STS_SUCCESS;
776     l_api_name                        CONSTANT VARCHAR2(30)  := 'update_template';
777     l_avlv_rec                      avlv_rec_type := p_avlv_rec;
778   BEGIN
779     SAVEPOINT update_template2;
780     x_return_status    := FND_API.G_RET_STS_SUCCESS;
781    -- customer pre-processing
782    -- vertical industry-preprocessing
783    -- call complex entity API
784 -- Start of wraper code generated automatically by Debug code generator for OKL_PROCESS_TMPT_SET_PVT.update_template
785   IF(L_DEBUG_ENABLED='Y') THEN
786     L_LEVEL_PROCEDURE :=FND_LOG.LEVEL_PROCEDURE;
787     IS_DEBUG_PROCEDURE_ON := OKL_DEBUG_PUB.Check_Log_On(L_MODULE, L_LEVEL_PROCEDURE);
788   END IF;
789   IF(IS_DEBUG_PROCEDURE_ON) THEN
790     BEGIN
791         OKL_DEBUG_PUB.LOG_DEBUG(L_LEVEL_PROCEDURE,L_MODULE,'Begin Debug OKLPTMSB.pls call OKL_PROCESS_TMPT_SET_PVT.update_template ');
792     END;
793   END IF;
794     OKL_PROCESS_TMPT_SET_PVT.update_template(
795                            p_api_version   => p_api_version
796                           ,p_init_msg_list => p_init_msg_list
797                           ,x_return_status => l_return_status
798                           ,x_msg_count     => x_msg_count
799                           ,x_msg_data      => x_msg_data
800                           ,p_avlv_rec      => l_avlv_rec
801                           ,x_avlv_rec      => x_avlv_rec
802                           );
803   IF(IS_DEBUG_PROCEDURE_ON) THEN
804     BEGIN
805         OKL_DEBUG_PUB.LOG_DEBUG(L_LEVEL_PROCEDURE,L_MODULE,'End Debug OKLPTMSB.pls call OKL_PROCESS_TMPT_SET_PVT.update_template ');
806     END;
807   END IF;
808 -- End of wraper code generated automatically by Debug code generator for OKL_PROCESS_TMPT_SET_PVT.update_template
809        IF l_return_status = FND_API.G_RET_STS_ERROR THEN
810              RAISE FND_API.G_EXC_ERROR;
811        ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
812             RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
813        END IF;
814 	   l_avlv_rec := x_avlv_rec;
815    -- vertical industry-post-processing
816    -- customer post-processing
817   EXCEPTION
818   WHEN FND_API.G_EXC_ERROR THEN
819       ROLLBACK TO update_template2;
820       x_return_status := FND_API.G_RET_STS_ERROR;
821       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
822                                ,p_count   => x_msg_count
823                                ,p_data    => x_msg_data);
824     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
825       ROLLBACK TO update_template2;
826       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
827       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
828                                ,p_count   => x_msg_count
829                                ,p_data    => x_msg_data);
830     WHEN OTHERS THEN
831       ROLLBACK TO update_template2;
832       FND_MSG_PUB.ADD_EXC_MSG('OKL_PROCESS_TMPT_SET_PUB','update_template');
833       -- store SQL error message on message stack for caller
834       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
835                                ,p_count   => x_msg_count
836                                ,p_data    => x_msg_data);
837       -- notify caller of an UNEXPECTED error
838       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
839   END update_template;
840 
841   PROCEDURE update_template(
842      p_api_version                    IN  NUMBER
843     ,p_init_msg_list                  IN  VARCHAR2 DEFAULT OKC_API.G_FALSE
844     ,x_return_status                  OUT NOCOPY VARCHAR2
845     ,x_msg_count                      OUT NOCOPY NUMBER
846     ,x_msg_data                       OUT NOCOPY VARCHAR2
847     ,p_avlv_tbl                       IN  avlv_tbl_type
848     ,x_avlv_tbl                       OUT NOCOPY avlv_tbl_type) IS
849     l_return_status                   VARCHAR2(1)   := OKC_API.G_RET_STS_SUCCESS;
850     l_overall_status                  VARCHAR2(1)   := OKC_API.G_RET_STS_SUCCESS;
851     l_api_name                        CONSTANT VARCHAR2(30)  := 'update_template';
852     i                                 NUMBER;
853     l_avlv_tbl                      avlv_tbl_type := p_avlv_tbl;
854    BEGIN
855   --Initialize the return status
856      SAVEPOINT update_template2;
857     x_return_status    := FND_API.G_RET_STS_SUCCESS;
858    -- customer pre-processing
859    -- vertical industry-preprocessing
860     IF (l_avlv_tbl.COUNT > 0) THEN
861       i := l_avlv_tbl.FIRST;
862       LOOP
863         update_template(
864                            p_api_version   => p_api_version
865                           ,p_init_msg_list => p_init_msg_list
866                           ,x_return_status => x_return_status
867                           ,x_msg_count     => x_msg_count
868                           ,x_msg_data      => x_msg_data
869                           ,p_avlv_rec      => l_avlv_tbl(i)
870                           ,x_avlv_rec      => x_avlv_tbl(i)
871                           );
872           IF (x_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
873              IF (l_overall_status <> OKC_API.G_RET_STS_UNEXP_ERROR) THEN
874                  l_overall_status := x_return_status;
875              END IF;
876           END IF;
877           EXIT WHEN (i = l_avlv_tbl.LAST);
878           i := l_avlv_tbl.NEXT(i);
879        END LOOP;
880      END IF;
881      x_return_status := l_overall_status;
882        IF x_return_status = FND_API.G_RET_STS_ERROR THEN
883              RAISE FND_API.G_EXC_ERROR;
884        ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
885             RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
886        END IF;
887 	   l_avlv_tbl := x_avlv_tbl;
888    -- vertical industry-post-processing
889    -- customer post-processing
890   EXCEPTION
891     WHEN FND_API.G_EXC_ERROR THEN
892       ROLLBACK TO update_template2;
893       x_return_status := FND_API.G_RET_STS_ERROR;
894       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
895                                ,p_count   => x_msg_count
896                                ,p_data    => x_msg_data);
897     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
898       ROLLBACK TO update_template2;
899       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
900       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
901                                ,p_count   => x_msg_count
902                                ,p_data    => x_msg_data);
903     WHEN OTHERS THEN
904       ROLLBACK TO update_template2;
905       FND_MSG_PUB.ADD_EXC_MSG('OKL_PROCESS_TMPT_SET_PUB','update_template');
906       -- store SQL error message on message stack for caller
907       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
908                                ,p_count   => x_msg_count
909                                ,p_data    => x_msg_data);
910       -- notify caller of an UNEXPECTED error
911       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
912   END update_template;
913 
914        --Put custom code for cascade delete by developer
915   PROCEDURE delete_template(
916      p_api_version                    IN  NUMBER
917     ,p_init_msg_list                  IN  VARCHAR2 DEFAULT OKC_API.G_FALSE
918     ,x_return_status                  OUT NOCOPY VARCHAR2
919     ,x_msg_count                      OUT NOCOPY NUMBER
920     ,x_msg_data                       OUT NOCOPY VARCHAR2
921     ,p_avlv_rec                       IN  avlv_rec_type) IS
922     i                                 NUMBER :=0;
923     l_return_status                   VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
924     l_api_name                        CONSTANT VARCHAR2(30)  := 'delete_template';
925     l_avlv_rec                      avlv_rec_type := p_avlv_rec;
926   BEGIN
927     SAVEPOINT delete_template2;
928     x_return_status    := FND_API.G_RET_STS_SUCCESS;
929    -- customer pre-processing
930    -- vertical industry-preprocessing
931    -- call complex entity API
932 -- Start of wraper code generated automatically by Debug code generator for OKL_PROCESS_TMPT_SET_PVT.delete_template
933   IF(L_DEBUG_ENABLED='Y') THEN
934     L_LEVEL_PROCEDURE :=FND_LOG.LEVEL_PROCEDURE;
935     IS_DEBUG_PROCEDURE_ON := OKL_DEBUG_PUB.Check_Log_On(L_MODULE, L_LEVEL_PROCEDURE);
936   END IF;
937   IF(IS_DEBUG_PROCEDURE_ON) THEN
938     BEGIN
939         OKL_DEBUG_PUB.LOG_DEBUG(L_LEVEL_PROCEDURE,L_MODULE,'Begin Debug OKLPTMSB.pls call OKL_PROCESS_TMPT_SET_PVT.delete_template ');
940     END;
941   END IF;
942     OKL_PROCESS_TMPT_SET_PVT.delete_template(
943                            p_api_version   => p_api_version
944                           ,p_init_msg_list => p_init_msg_list
945                           ,x_return_status => l_return_status
946                           ,x_msg_count     => x_msg_count
947                           ,x_msg_data      => x_msg_data
948                           ,p_avlv_rec      => l_avlv_rec);
949   IF(IS_DEBUG_PROCEDURE_ON) THEN
950     BEGIN
951         OKL_DEBUG_PUB.LOG_DEBUG(L_LEVEL_PROCEDURE,L_MODULE,'End Debug OKLPTMSB.pls call OKL_PROCESS_TMPT_SET_PVT.delete_template ');
952     END;
953   END IF;
954 -- End of wraper code generated automatically by Debug code generator for OKL_PROCESS_TMPT_SET_PVT.delete_template
955        IF l_return_status = FND_API.G_RET_STS_ERROR THEN
956              RAISE FND_API.G_EXC_ERROR;
957        ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
958             RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
959        END IF;
960    -- vertical industry-post-processing
961    -- customer post-processing
962   EXCEPTION
963     WHEN FND_API.G_EXC_ERROR THEN
964       ROLLBACK TO delete_template2;
965       x_return_status := FND_API.G_RET_STS_ERROR;
966       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
967                                ,p_count   => x_msg_count
968                                ,p_data    => x_msg_data);
969     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
970       ROLLBACK TO delete_template2;
971       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
972       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
973                                ,p_count   => x_msg_count
974                                ,p_data    => x_msg_data);
975     WHEN OTHERS THEN
976       ROLLBACK TO delete_template2;
977       FND_MSG_PUB.ADD_EXC_MSG('OKL_PROCESS_TMPT_SET_PUB','delete_template');
978       -- store SQL error message on message stack for caller
979       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
980                                ,p_count   => x_msg_count
981                                ,p_data    => x_msg_data);
982       -- notify caller of an UNEXPECTED error
983       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
984   END delete_template;
985 
986   PROCEDURE delete_template(
987      p_api_version                    IN  NUMBER
988     ,p_init_msg_list                  IN  VARCHAR2 DEFAULT OKC_API.G_FALSE
989     ,x_return_status                  OUT NOCOPY VARCHAR2
990     ,x_msg_count                      OUT NOCOPY NUMBER
991     ,x_msg_data                       OUT NOCOPY VARCHAR2
992     ,p_avlv_tbl                       IN  avlv_tbl_type) IS
993     i                                 NUMBER :=0;
994     l_return_status                   VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
995     l_overall_status                  VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
996     l_api_name                        CONSTANT VARCHAR2(30)  := 'delete_template';
997     l_avlv_tbl                      avlv_tbl_type := p_avlv_tbl;
998   BEGIN
999   --Initialize the return status
1000    SAVEPOINT delete_template2;
1001     x_return_status    := FND_API.G_RET_STS_SUCCESS;
1002    -- customer pre-processing
1003    -- vertical industry-preprocessing
1004     IF (l_avlv_tbl.COUNT > 0) THEN
1005       i := l_avlv_tbl.FIRST;
1006       LOOP
1007         delete_template(
1008                                   p_api_version   => p_api_version
1009                                  ,p_init_msg_list => p_init_msg_list
1010                                  ,x_return_status => x_return_status
1011                                  ,x_msg_count     => x_msg_count
1012                                  ,x_msg_data      => x_msg_data
1013                                  ,p_avlv_rec      => l_avlv_tbl(i));
1014           IF (x_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
1015              IF (l_overall_status <> OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1016                  l_overall_status := x_return_status;
1017              END IF;
1018           END IF;
1019           EXIT WHEN (i = l_avlv_tbl.LAST);
1020           i := l_avlv_tbl.NEXT(i);
1021        END LOOP;
1022      END IF;
1023      x_return_status := l_overall_status;
1024       IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1025              RAISE FND_API.G_EXC_ERROR;
1026       ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1027             RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1028       END IF;
1029    -- vertical industry-post-processing
1030    -- customer post-processing
1031   EXCEPTION
1032      WHEN FND_API.G_EXC_ERROR THEN
1033       ROLLBACK TO delete_template2;
1034       x_return_status := FND_API.G_RET_STS_ERROR;
1035       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
1036                                ,p_count   => x_msg_count
1037                                ,p_data    => x_msg_data);
1038     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1039       ROLLBACK TO delete_template2;
1040       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1041       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
1042                                ,p_count   => x_msg_count
1043                                ,p_data    => x_msg_data);
1044     WHEN OTHERS THEN
1045       ROLLBACK TO delete_template2;
1046       FND_MSG_PUB.ADD_EXC_MSG('OKL_PROCESS_TMPT_SET_PUB','delete_template');
1047       -- store SQL error message on message stack for caller
1048       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
1049                                ,p_count   => x_msg_count
1050                                ,p_data    => x_msg_data);
1051       -- notify caller of an UNEXPECTED error
1052       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1053   END delete_template;
1054 
1055   PROCEDURE create_tmpt_lines(
1056      p_api_version                    IN  NUMBER
1057     ,p_init_msg_list                  IN  VARCHAR2 DEFAULT OKC_API.G_FALSE
1058     ,x_return_status                  OUT NOCOPY VARCHAR2
1059     ,x_msg_count                      OUT NOCOPY NUMBER
1060     ,x_msg_data                       OUT NOCOPY VARCHAR2
1061     ,p_atlv_rec                       IN  atlv_rec_type
1062     ,x_atlv_rec                       OUT NOCOPY atlv_rec_type) IS
1063     l_return_status                   VARCHAR2(1)   := OKC_API.G_RET_STS_SUCCESS;
1064     l_api_name                        CONSTANT VARCHAR2(30)  := 'create_tmpt_lines';
1065     l_atlv_rec                      atlv_rec_type := p_atlv_rec;
1066   BEGIN
1067     SAVEPOINT create_tmpt_lines2;
1068     x_return_status    := FND_API.G_RET_STS_SUCCESS;
1069    -- customer pre-processing
1070    -- vertical industry-preprocessing
1071    -- call complex entity API
1072 -- Start of wraper code generated automatically by Debug code generator for OKL_PROCESS_TMPT_SET_PVT.create_tmpt_lines
1073   IF(L_DEBUG_ENABLED='Y') THEN
1074     L_LEVEL_PROCEDURE :=FND_LOG.LEVEL_PROCEDURE;
1075     IS_DEBUG_PROCEDURE_ON := OKL_DEBUG_PUB.Check_Log_On(L_MODULE, L_LEVEL_PROCEDURE);
1076   END IF;
1077   IF(IS_DEBUG_PROCEDURE_ON) THEN
1078     BEGIN
1079         OKL_DEBUG_PUB.LOG_DEBUG(L_LEVEL_PROCEDURE,L_MODULE,'Begin Debug OKLPTMSB.pls call OKL_PROCESS_TMPT_SET_PVT.create_tmpt_lines ');
1080     END;
1081   END IF;
1082     OKL_PROCESS_TMPT_SET_PVT.create_tmpt_lines(
1083                            p_api_version   => p_api_version
1084                           ,p_init_msg_list => p_init_msg_list
1085                           ,x_return_status => l_return_status
1086                           ,x_msg_count     => x_msg_count
1087                           ,x_msg_data      => x_msg_data
1088                           ,p_atlv_rec      => l_atlv_rec
1089                           ,x_atlv_rec      => x_atlv_rec
1090                           );
1091   IF(IS_DEBUG_PROCEDURE_ON) THEN
1092     BEGIN
1093         OKL_DEBUG_PUB.LOG_DEBUG(L_LEVEL_PROCEDURE,L_MODULE,'End Debug OKLPTMSB.pls call OKL_PROCESS_TMPT_SET_PVT.create_tmpt_lines ');
1094     END;
1095   END IF;
1096 -- End of wraper code generated automatically by Debug code generator for OKL_PROCESS_TMPT_SET_PVT.create_tmpt_lines
1097        IF l_return_status = FND_API.G_RET_STS_ERROR THEN
1098              RAISE FND_API.G_EXC_ERROR;
1099        ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1100             RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1101        END IF;
1102 	   l_atlv_rec := x_atlv_rec;
1103    -- vertical industry-post-processing
1104    -- customer post-processing
1105   EXCEPTION
1106     WHEN FND_API.G_EXC_ERROR THEN
1107       ROLLBACK TO create_tmpt_lines2;
1108       x_return_status := FND_API.G_RET_STS_ERROR;
1109       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
1110                                ,p_count   => x_msg_count
1111                                ,p_data    => x_msg_data);
1112     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1113       ROLLBACK TO create_tmpt_lines2;
1114       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1115       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
1116                                ,p_count   => x_msg_count
1117                                ,p_data    => x_msg_data);
1118     WHEN OTHERS THEN
1119       ROLLBACK TO create_tmpt_lines2;
1120       FND_MSG_PUB.ADD_EXC_MSG('OKL_PROCESS_TMPT_SET_PUB','create_tmpt_lines');
1121       -- store SQL error message on message stack for caller
1122       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
1123                                ,p_count   => x_msg_count
1124                                ,p_data    => x_msg_data);
1125       -- notify caller of an UNEXPECTED error
1126       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1127   END create_tmpt_lines;
1128 
1129   PROCEDURE create_tmpt_lines(
1130      p_api_version                    IN  NUMBER
1131     ,p_init_msg_list                  IN  VARCHAR2 DEFAULT OKC_API.G_FALSE
1132     ,x_return_status                  OUT NOCOPY VARCHAR2
1133     ,x_msg_count                      OUT NOCOPY NUMBER
1134     ,x_msg_data                       OUT NOCOPY VARCHAR2
1135     ,p_atlv_tbl                       IN  atlv_tbl_type
1136     ,x_atlv_tbl                       OUT NOCOPY atlv_tbl_type) IS
1137     l_return_status                   VARCHAR2(1)   := OKC_API.G_RET_STS_SUCCESS;
1138     l_overall_status                  VARCHAR2(1)   := OKC_API.G_RET_STS_SUCCESS;
1139     l_api_name                        CONSTANT VARCHAR2(30)  := 'create_tmpt_lines';
1140     i                                 NUMBER;
1141     l_atlv_tbl						atlv_tbl_type := p_atlv_tbl;
1142   BEGIN
1143   --Initialize the return status
1144    SAVEPOINT create_tmpt_lines2;
1145     x_return_status    := FND_API.G_RET_STS_SUCCESS;
1146    -- customer pre-processing
1147    -- vertical industry-preprocessing
1148     IF (l_atlv_tbl.COUNT > 0) THEN
1149       i := l_atlv_tbl.FIRST;
1150       LOOP
1151         create_tmpt_lines(
1152                            p_api_version   => p_api_version
1153                           ,p_init_msg_list => p_init_msg_list
1154                           ,x_return_status => x_return_status
1155                           ,x_msg_count     => x_msg_count
1156                           ,x_msg_data      => x_msg_data
1157                           ,p_atlv_rec      => l_atlv_tbl(i)
1158                           ,x_atlv_rec      => x_atlv_tbl(i)
1159                           );
1160           IF (x_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
1161               l_overall_status := x_return_status;
1162               EXIT;
1163           END IF;
1164           EXIT WHEN (i = l_atlv_tbl.LAST);
1165           i := l_atlv_tbl.NEXT(i);
1166        END LOOP;
1167      END IF;
1168      x_return_status := l_overall_Status;
1169      IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1170              RAISE FND_API.G_EXC_ERROR;
1171      ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1172             RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1173      END IF;
1174 	   l_atlv_tbl := x_atlv_tbl;
1175    -- vertical industry-post-processing
1176    -- customer post-processing
1177   EXCEPTION
1178     WHEN FND_API.G_EXC_ERROR THEN
1179       ROLLBACK TO create_tmpt_lines2;
1180       x_return_status := FND_API.G_RET_STS_ERROR;
1181       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
1182                                ,p_count   => x_msg_count
1183                                ,p_data    => x_msg_data);
1184     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1185       ROLLBACK TO create_tmpt_lines2;
1186       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1187       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
1188                                ,p_count   => x_msg_count
1189                                ,p_data    => x_msg_data);
1190     WHEN OTHERS THEN
1191       ROLLBACK TO create_tmpt_lines2;
1192       FND_MSG_PUB.ADD_EXC_MSG('OKL_PROCESS_TMPT_SET_PUB','create_tmpt_lines');
1193       -- store SQL error message on message stack for caller
1194       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
1195                                ,p_count   => x_msg_count
1196                                ,p_data    => x_msg_data);
1197       -- notify caller of an UNEXPECTED error
1198       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1199   END create_tmpt_lines;
1200 
1201   PROCEDURE update_tmpt_lines(
1202      p_api_version                    IN  NUMBER
1203     ,p_init_msg_list                  IN  VARCHAR2 DEFAULT OKC_API.G_FALSE
1204     ,x_return_status                  OUT NOCOPY VARCHAR2
1205     ,x_msg_count                      OUT NOCOPY NUMBER
1206     ,x_msg_data                       OUT NOCOPY VARCHAR2
1207     ,p_atlv_rec                       IN  atlv_rec_type
1208     ,x_atlv_rec                       OUT NOCOPY atlv_rec_type) IS
1209     l_return_status                   VARCHAR2(1)   := OKC_API.G_RET_STS_SUCCESS;
1210     l_api_name                        CONSTANT VARCHAR2(30)  := 'update_tmpt_lines';
1211     l_atlv_rec                      atlv_rec_type := p_atlv_rec;
1212   BEGIN
1213     SAVEPOINT update_tmpt_lines2;
1214     x_return_status    := FND_API.G_RET_STS_SUCCESS;
1215    -- customer pre-processing
1216    -- vertical industry-preprocessing
1217    -- call complex entity API
1218 -- Start of wraper code generated automatically by Debug code generator for OKL_PROCESS_TMPT_SET_PVT.update_tmpt_lines
1219   IF(L_DEBUG_ENABLED='Y') THEN
1220     L_LEVEL_PROCEDURE :=FND_LOG.LEVEL_PROCEDURE;
1221     IS_DEBUG_PROCEDURE_ON := OKL_DEBUG_PUB.Check_Log_On(L_MODULE, L_LEVEL_PROCEDURE);
1222   END IF;
1223   IF(IS_DEBUG_PROCEDURE_ON) THEN
1224     BEGIN
1225         OKL_DEBUG_PUB.LOG_DEBUG(L_LEVEL_PROCEDURE,L_MODULE,'Begin Debug OKLPTMSB.pls call OKL_PROCESS_TMPT_SET_PVT.update_tmpt_lines ');
1226     END;
1227   END IF;
1228     OKL_PROCESS_TMPT_SET_PVT.update_tmpt_lines(
1229                            p_api_version   => p_api_version
1230                           ,p_init_msg_list => p_init_msg_list
1231                           ,x_return_status => l_return_status
1232                           ,x_msg_count     => x_msg_count
1233                           ,x_msg_data      => x_msg_data
1234                           ,p_atlv_rec      => l_atlv_rec
1235                           ,x_atlv_rec      => x_atlv_rec
1236                           );
1237   IF(IS_DEBUG_PROCEDURE_ON) THEN
1238     BEGIN
1239         OKL_DEBUG_PUB.LOG_DEBUG(L_LEVEL_PROCEDURE,L_MODULE,'End Debug OKLPTMSB.pls call OKL_PROCESS_TMPT_SET_PVT.update_tmpt_lines ');
1240     END;
1241   END IF;
1242 -- End of wraper code generated automatically by Debug code generator for OKL_PROCESS_TMPT_SET_PVT.update_tmpt_lines
1243        IF l_return_status = FND_API.G_RET_STS_ERROR THEN
1244              RAISE FND_API.G_EXC_ERROR;
1245        ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1246             RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1247        END IF;
1248 	   l_atlv_rec := x_atlv_rec;
1249    -- vertical industry-post-processing
1250    -- customer post-processing
1251   EXCEPTION
1252    WHEN FND_API.G_EXC_ERROR THEN
1253       ROLLBACK TO update_tmpt_lines2;
1254       x_return_status := FND_API.G_RET_STS_ERROR;
1255       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
1256                                ,p_count   => x_msg_count
1257                                ,p_data    => x_msg_data);
1258     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1259       ROLLBACK TO update_tmpt_lines2;
1260       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1261       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
1262                                ,p_count   => x_msg_count
1263                                ,p_data    => x_msg_data);
1264     WHEN OTHERS THEN
1265       ROLLBACK TO update_tmpt_lines2;
1266       FND_MSG_PUB.ADD_EXC_MSG('OKL_PROCESS_TMPT_SET_PUB','update_tmpt_lines');
1267       -- store SQL error message on message stack for caller
1268       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
1269                                ,p_count   => x_msg_count
1270                                ,p_data    => x_msg_data);
1271       -- notify caller of an UNEXPECTED error
1272       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1273   END update_tmpt_lines;
1274 
1275   PROCEDURE update_tmpt_lines(
1276      p_api_version                    IN  NUMBER
1277     ,p_init_msg_list                  IN  VARCHAR2 DEFAULT OKC_API.G_FALSE
1278     ,x_return_status                  OUT NOCOPY VARCHAR2
1279     ,x_msg_count                      OUT NOCOPY NUMBER
1280     ,x_msg_data                       OUT NOCOPY VARCHAR2
1281     ,p_atlv_tbl                       IN  atlv_tbl_type
1282     ,x_atlv_tbl                       OUT NOCOPY atlv_tbl_type) IS
1283     l_return_status                   VARCHAR2(1)   := OKC_API.G_RET_STS_SUCCESS;
1284     l_overall_status                  VARCHAR2(1)   := OKC_API.G_RET_STS_SUCCESS;
1285     l_api_name                        CONSTANT VARCHAR2(30)  := 'update_tmpt_lines';
1286     i                                 NUMBER;
1287     l_atlv_tbl						atlv_tbl_type := p_atlv_tbl;
1288   BEGIN
1289   --Initialize the return status
1290     SAVEPOINT update_tmpt_lines2;
1291     x_return_status    := FND_API.G_RET_STS_SUCCESS;
1292    -- customer pre-processing
1293    -- vertical industry-preprocessing
1294     IF (l_atlv_tbl.COUNT > 0) THEN
1295       i := l_atlv_tbl.FIRST;
1296       LOOP
1297         update_tmpt_lines(
1298                            p_api_version   => p_api_version
1299                           ,p_init_msg_list => p_init_msg_list
1300                           ,x_return_status => x_return_status
1301                           ,x_msg_count     => x_msg_count
1302                           ,x_msg_data      => x_msg_data
1303                           ,p_atlv_rec      => l_atlv_tbl(i)
1304                           ,x_atlv_rec      => x_atlv_tbl(i)
1305                           );
1306           IF (x_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
1307              IF (l_overall_status <> OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1308                  l_overall_status := x_return_status;
1309              END IF;
1310           END IF;
1311           EXIT WHEN (i = l_atlv_tbl.LAST);
1312           i := l_atlv_tbl.NEXT(i);
1313        END LOOP;
1314      END IF;
1315      x_return_status := l_overall_status;
1316      IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1317           RAISE FND_API.G_EXC_ERROR;
1318      ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1319           RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1320      END IF;
1321 	   l_atlv_tbl := x_atlv_tbl;
1322    -- vertical industry-post-processing
1323    -- customer post-processing
1324   EXCEPTION
1325    WHEN FND_API.G_EXC_ERROR THEN
1326       ROLLBACK TO update_tmpt_lines2;
1327       x_return_status := FND_API.G_RET_STS_ERROR;
1328       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
1329                                ,p_count   => x_msg_count
1330                                ,p_data    => x_msg_data);
1331     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1332       ROLLBACK TO update_tmpt_lines2;
1333       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1334       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
1335                                ,p_count   => x_msg_count
1336                                ,p_data    => x_msg_data);
1337     WHEN OTHERS THEN
1338       ROLLBACK TO update_tmpt_lines2;
1339       FND_MSG_PUB.ADD_EXC_MSG('OKL_PROCESS_TMPT_SET_PUB','update_tmpt_lines');
1340       -- store SQL error message on message stack for caller
1341       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
1342                                ,p_count   => x_msg_count
1343                                ,p_data    => x_msg_data);
1344       -- notify caller of an UNEXPECTED error
1345       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1346   END update_tmpt_lines;
1347 
1348        --Put custom code for cascade delete by developer
1349   PROCEDURE delete_tmpt_lines(
1350      p_api_version                    IN  NUMBER
1351     ,p_init_msg_list                  IN  VARCHAR2 DEFAULT OKC_API.G_FALSE
1352     ,x_return_status                  OUT NOCOPY VARCHAR2
1353     ,x_msg_count                      OUT NOCOPY NUMBER
1354     ,x_msg_data                       OUT NOCOPY VARCHAR2
1355     ,p_atlv_rec                       IN  atlv_rec_type) IS
1356     i                                 NUMBER :=0;
1357     l_return_status                   VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1358     l_api_name                        CONSTANT VARCHAR2(30)  := 'delete_tmpt_lines';
1359     l_atlv_rec                      atlv_rec_type := p_atlv_rec;
1360   BEGIN
1361     SAVEPOINT delete_tmpt_lines2;
1362     x_return_status    := FND_API.G_RET_STS_SUCCESS;
1363    -- customer pre-processing
1364    -- vertical industry-preprocessing
1365    -- call complex entity API
1366 -- Start of wraper code generated automatically by Debug code generator for OKL_PROCESS_TMPT_SET_PVT.delete_tmpt_lines
1367   IF(L_DEBUG_ENABLED='Y') THEN
1368     L_LEVEL_PROCEDURE :=FND_LOG.LEVEL_PROCEDURE;
1369     IS_DEBUG_PROCEDURE_ON := OKL_DEBUG_PUB.Check_Log_On(L_MODULE, L_LEVEL_PROCEDURE);
1370   END IF;
1371   IF(IS_DEBUG_PROCEDURE_ON) THEN
1372     BEGIN
1373         OKL_DEBUG_PUB.LOG_DEBUG(L_LEVEL_PROCEDURE,L_MODULE,'Begin Debug OKLPTMSB.pls call OKL_PROCESS_TMPT_SET_PVT.delete_tmpt_lines ');
1374     END;
1375   END IF;
1376     OKL_PROCESS_TMPT_SET_PVT.delete_tmpt_lines(
1377                            p_api_version   => p_api_version
1378                           ,p_init_msg_list => p_init_msg_list
1379                           ,x_return_status => l_return_status
1380                           ,x_msg_count     => x_msg_count
1381                           ,x_msg_data      => x_msg_data
1382                           ,p_atlv_rec      => l_atlv_rec);
1383   IF(IS_DEBUG_PROCEDURE_ON) THEN
1384     BEGIN
1385         OKL_DEBUG_PUB.LOG_DEBUG(L_LEVEL_PROCEDURE,L_MODULE,'End Debug OKLPTMSB.pls call OKL_PROCESS_TMPT_SET_PVT.delete_tmpt_lines ');
1386     END;
1387   END IF;
1388 -- End of wraper code generated automatically by Debug code generator for OKL_PROCESS_TMPT_SET_PVT.delete_tmpt_lines
1389        IF l_return_status = FND_API.G_RET_STS_ERROR THEN
1390              RAISE FND_API.G_EXC_ERROR;
1391        ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1392             RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1393        END IF;
1394    -- vertical industry-post-processing
1395    -- customer post-processing
1396   EXCEPTION
1397    WHEN FND_API.G_EXC_ERROR THEN
1398       ROLLBACK TO delete_tmpt_lines2;
1399       x_return_status := FND_API.G_RET_STS_ERROR;
1400       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
1401                                ,p_count   => x_msg_count
1402                                ,p_data    => x_msg_data);
1403     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1404       ROLLBACK TO delete_tmpt_lines2;
1405       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1406       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
1407                                ,p_count   => x_msg_count
1408                                ,p_data    => x_msg_data);
1409     WHEN OTHERS THEN
1410       ROLLBACK TO delete_tmpt_lines2;
1411       FND_MSG_PUB.ADD_EXC_MSG('OKL_PROCESS_TMPT_SET_PUB','delete_tmpt_lines');
1412       -- store SQL error message on message stack for caller
1413       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
1414                                ,p_count   => x_msg_count
1415                                ,p_data    => x_msg_data);
1416       -- notify caller of an UNEXPECTED error
1417       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1418   END delete_tmpt_lines;
1419 
1420   PROCEDURE delete_tmpt_lines(
1421      p_api_version                    IN  NUMBER
1422     ,p_init_msg_list                  IN  VARCHAR2 DEFAULT OKC_API.G_FALSE
1423     ,x_return_status                  OUT NOCOPY VARCHAR2
1424     ,x_msg_count                      OUT NOCOPY NUMBER
1425     ,x_msg_data                       OUT NOCOPY VARCHAR2
1426     ,p_atlv_tbl                       IN  atlv_tbl_type) IS
1427     i                                 NUMBER :=0;
1428     l_return_status                   VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1429     l_overall_status                  VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1430     l_api_name                        CONSTANT VARCHAR2(30)  := 'delete_tmpt_lines';
1431     l_atlv_tbl						atlv_tbl_type := p_atlv_tbl;
1432   BEGIN
1433   --Initialize the return status
1434     SAVEPOINT delete_tmpt_lines2;
1435     x_return_status    := FND_API.G_RET_STS_SUCCESS;
1436    -- customer pre-processing
1437    -- vertical industry-preprocessing
1438     IF (l_atlv_tbl.COUNT > 0) THEN
1439       i := l_atlv_tbl.FIRST;
1440       LOOP
1441         delete_tmpt_lines(
1442                                   p_api_version   => p_api_version
1443                                  ,p_init_msg_list => p_init_msg_list
1444                                  ,x_return_status => x_return_status
1445                                  ,x_msg_count     => x_msg_count
1446                                  ,x_msg_data      => x_msg_data
1447                                  ,p_atlv_rec      => l_atlv_tbl(i));
1448           IF (x_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
1449              IF (l_overall_status <> OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1450                  l_overall_status := x_return_status;
1451              END IF;
1452           END IF;
1453           EXIT WHEN (i = l_atlv_tbl.LAST);
1454           i := l_atlv_tbl.NEXT(i);
1455        END LOOP;
1456      END IF;
1457      x_return_status := l_overall_status;
1458      IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1459           RAISE FND_API.G_EXC_ERROR;
1460      ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1461           RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1462      END IF;
1463    -- vertical industry-post-processing
1464    -- customer post-processing
1465   EXCEPTION
1466     WHEN FND_API.G_EXC_ERROR THEN
1467       ROLLBACK TO delete_tmpt_lines2;
1468       x_return_status := FND_API.G_RET_STS_ERROR;
1469       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
1470                                ,p_count   => x_msg_count
1471                                ,p_data    => x_msg_data);
1472     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1473       ROLLBACK TO delete_tmpt_lines2;
1474       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1475       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
1476                                ,p_count   => x_msg_count
1477                                ,p_data    => x_msg_data);
1478     WHEN OTHERS THEN
1479       ROLLBACK TO delete_tmpt_lines2;
1480       FND_MSG_PUB.ADD_EXC_MSG('OKL_PROCESS_TMPT_SET_PUB','delete_tmpt_lines');
1481       -- store SQL error message on message stack for caller
1482       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE
1483                                ,p_count   => x_msg_count
1484                                ,p_data    => x_msg_data);
1485       -- notify caller of an UNEXPECTED error
1486       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1487   END delete_tmpt_lines;
1488 
1489 /* This API Takes 'From Template Set ID'  and 'To Template Set ID'
1490    as parameters and copies all the templates and Template Line
1491    from 'From Template Set ID' to 'To Template Set ID'. The Template
1492    names in the copied templates is suffixed with '-COPY' so as not
1493    to violate the unique constraint.                                 */
1494 PROCEDURE COPY_TMPL_SET(p_api_version                IN         NUMBER,
1495                         p_init_msg_list              IN         VARCHAR2,
1496                         x_return_status              OUT        NOCOPY VARCHAR2,
1497                         x_msg_count                  OUT        NOCOPY NUMBER,
1498                         x_msg_data                   OUT        NOCOPY VARCHAR2,
1499 		        p_aes_id_from                IN         NUMBER,
1500 		        p_aes_id_to                  IN         NUMBER)
1501 IS
1502   l_api_version NUMBER := 1.0;
1503   l_api_name    VARCHAR2(30) := 'COPY_TMPL_SET';
1504   l_aes_id_from        NUMBER := p_aes_id_from;
1505   l_aes_id_to          NUMBER := p_aes_id_to;
1506   l_return_status       VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
1507 BEGIN
1508   SAVEPOINT COPY_TMPL_SET2;
1509   x_return_status    := FND_API.G_RET_STS_SUCCESS;
1510   -- customer pre-processing
1511 -- Run the MAIN Procedure
1512 -- Start of wraper code generated automatically by Debug code generator for OKL_PROCESS_TMPT_SET_PVT.COPY_TMPL_SET
1513   IF(L_DEBUG_ENABLED='Y') THEN
1514     L_LEVEL_PROCEDURE :=FND_LOG.LEVEL_PROCEDURE;
1515     IS_DEBUG_PROCEDURE_ON := OKL_DEBUG_PUB.Check_Log_On(L_MODULE, L_LEVEL_PROCEDURE);
1516   END IF;
1517   IF(IS_DEBUG_PROCEDURE_ON) THEN
1518     BEGIN
1519         OKL_DEBUG_PUB.LOG_DEBUG(L_LEVEL_PROCEDURE,L_MODULE,'Begin Debug OKLPTMSB.pls call OKL_PROCESS_TMPT_SET_PVT.COPY_TMPL_SET ');
1520     END;
1521   END IF;
1522    OKL_PROCESS_TMPT_SET_PVT.COPY_TMPL_SET(p_api_version      => l_api_version,
1523                                        p_init_msg_list    => p_init_msg_list,
1524                                        x_return_status    => x_return_status,
1525                                        x_msg_count        => x_msg_count,
1526                                        x_msg_data         => x_msg_data,
1527                                        p_aes_id_from      => l_aes_id_from,
1528                                        p_aes_id_to        => l_aes_id_to);
1529   IF(IS_DEBUG_PROCEDURE_ON) THEN
1530     BEGIN
1531         OKL_DEBUG_PUB.LOG_DEBUG(L_LEVEL_PROCEDURE,L_MODULE,'End Debug OKLPTMSB.pls call OKL_PROCESS_TMPT_SET_PVT.COPY_TMPL_SET ');
1532     END;
1533   END IF;
1534 -- End of wraper code generated automatically by Debug code generator for OKL_PROCESS_TMPT_SET_PVT.COPY_TMPL_SET
1535   IF x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR THEN
1536       RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1537   ELSIF x_return_status = OKL_API.G_RET_STS_ERROR THEN
1538       RAISE FND_API.G_EXC_ERROR;
1539   END IF;
1540 EXCEPTION
1541   WHEN FND_API.G_EXC_ERROR THEN
1542       ROLLBACK TO COPY_TMPL_SET2;
1543       x_return_status := FND_API.G_RET_STS_ERROR;
1544       FND_MSG_PUB.Count_and_get(p_encoded => OKL_API.G_FALSE
1545                                ,p_count   => x_msg_count
1546                                ,p_data    => x_msg_data);
1547   WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1548       ROLLBACK TO COPY_TMPL_SET2;
1549       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1550       FND_MSG_PUB.Count_and_get(p_encoded => OKL_API.G_FALSE
1551                                ,p_count   => x_msg_count
1552                                ,p_data    => x_msg_data);
1553   WHEN OTHERS THEN
1554       ROLLBACK TO COPY_TMPL_SET2;
1555       FND_MSG_PUB.ADD_EXC_MSG('OKL_COPY_TEMPLATE_PUB','COPY_TMPL_SET');
1556       FND_MSG_PUB.Count_and_get(p_encoded => OKL_API.G_FALSE
1557                                ,p_count   => x_msg_count
1558                                ,p_data    => x_msg_data);
1559       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1560 END COPY_TMPL_SET;
1561 
1562 
1563 PROCEDURE COPY_TEMPLATE(p_api_version           IN         NUMBER,
1564                         p_init_msg_list         IN         VARCHAR2,
1565                         x_return_status         OUT        NOCOPY VARCHAR2,
1566                         x_msg_count             OUT        NOCOPY NUMBER,
1567                         x_msg_data              OUT        NOCOPY VARCHAR2,
1568                         p_avlv_rec              IN         avlv_rec_type,
1569                         p_source_tmpl_id        IN         NUMBER,
1570                         x_avlv_rec              OUT        NOCOPY avlv_rec_type)
1571 IS
1572   l_api_version       NUMBER := 1.0;
1573   l_api_name          VARCHAR2(30) := 'COPY_TEMPLATES';
1574   l_avlv_rec          avlv_rec_type := p_avlv_rec;
1575   l_source_tmpl_id    NUMBER := p_source_tmpl_id;
1576   l_return_status       VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
1577 BEGIN
1578   SAVEPOINT COPY_TEMPLATE2;
1579   x_return_status    := FND_API.G_RET_STS_SUCCESS;
1580   -- customer pre-processing
1581 -- Run the MAIN Procedure
1582 -- Start of wraper code generated automatically by Debug code generator for OKL_PROCESS_TMPT_SET_PVT.COPY_TEMPLATE
1583   IF(L_DEBUG_ENABLED='Y') THEN
1584     L_LEVEL_PROCEDURE :=FND_LOG.LEVEL_PROCEDURE;
1585     IS_DEBUG_PROCEDURE_ON := OKL_DEBUG_PUB.Check_Log_On(L_MODULE, L_LEVEL_PROCEDURE);
1586   END IF;
1587   IF(IS_DEBUG_PROCEDURE_ON) THEN
1588     BEGIN
1589         OKL_DEBUG_PUB.LOG_DEBUG(L_LEVEL_PROCEDURE,L_MODULE,'Begin Debug OKLPTMSB.pls call OKL_PROCESS_TMPT_SET_PVT.COPY_TEMPLATE ');
1590     END;
1591   END IF;
1592   OKL_PROCESS_TMPT_SET_PVT.COPY_TEMPLATE(p_api_version       => p_api_version,
1593                                       p_init_msg_list     => p_init_msg_list,
1594                                       x_return_status     => x_return_status,
1595                                       x_msg_count         => x_msg_count,
1596                                       x_msg_data          => x_msg_data,
1597                                       p_avlv_rec          => l_avlv_rec,
1598                                       p_source_tmpl_id    => l_source_tmpl_id,
1599                                       x_avlv_rec          => x_avlv_rec);
1600   IF(IS_DEBUG_PROCEDURE_ON) THEN
1601     BEGIN
1602         OKL_DEBUG_PUB.LOG_DEBUG(L_LEVEL_PROCEDURE,L_MODULE,'End Debug OKLPTMSB.pls call OKL_PROCESS_TMPT_SET_PVT.COPY_TEMPLATE ');
1603     END;
1604   END IF;
1605 -- End of wraper code generated automatically by Debug code generator for OKL_PROCESS_TMPT_SET_PVT.COPY_TEMPLATE
1606   IF x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR THEN
1607       RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1608   ELSIF x_return_status = OKL_API.G_RET_STS_ERROR THEN
1609       RAISE FND_API.G_EXC_ERROR;
1610   END IF;
1611 EXCEPTION
1612   WHEN FND_API.G_EXC_ERROR THEN
1613       ROLLBACK TO COPY_TEMPLATE2;
1614       x_return_status := FND_API.G_RET_STS_ERROR;
1615       FND_MSG_PUB.Count_and_get(p_encoded => OKL_API.G_FALSE
1616                                ,p_count   => x_msg_count
1617                                ,p_data    => x_msg_data);
1618   WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1619       ROLLBACK TO COPY_TEMPLATE2;
1620       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1621       FND_MSG_PUB.Count_and_get(p_encoded => OKL_API.G_FALSE
1622                                ,p_count   => x_msg_count
1623                                ,p_data    => x_msg_data);
1624   WHEN OTHERS THEN
1625       ROLLBACK TO COPY_TEMPLATE2;
1626       FND_MSG_PUB.ADD_EXC_MSG('OKL_COPY_TEMPLATE_PUB','COPY_TEMPLATE');
1627       FND_MSG_PUB.Count_and_get(p_encoded => OKL_API.G_FALSE
1628                                ,p_count   => x_msg_count
1629                                ,p_data    => x_msg_data);
1630       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1631 END COPY_TEMPLATE;
1632 
1633 END OKL_PROCESS_TMPT_SET_PUB;
1634 
1635