DBA Data[Home] [Help]

PACKAGE BODY: APPS.OKL_SETUP_TRXPARAMS_PVT

Source


1 PACKAGE BODY OKL_SETUP_TRXPARAMS_PVT AS
2 /* $Header: OKLRTXRB.pls 115.1 2004/07/02 02:56:51 sgorantl noship $ */
3 
4   ---------------------------------------------------------------------------
5   -- PROCEDURE create_trx_parm for: OKL_SIF_TRX_PARMS_V
6   ---------------------------------------------------------------------------
7   PROCEDURE create_trx_parm(	p_api_version                  IN  NUMBER,
8 	                            p_init_msg_list                IN  VARCHAR2 DEFAULT OKC_API.G_FALSE,
9 	 	                       	x_return_status                OUT NOCOPY VARCHAR2,
10  	 	                      	x_msg_count                    OUT NOCOPY NUMBER,
11   	 	                     	x_msg_data                     OUT NOCOPY VARCHAR2,
12    	 	                    	p_sxpv_rec                     IN  sxpv_rec_type,
13       		                  	x_sxpv_rec                     OUT NOCOPY sxpv_rec_type
14                         )
15   IS
16 
17 
18     CURSOR l_okl_sxp_index_csr(p_sxpv_rec sxpv_rec_type)
19     IS
20      SELECT NVL(MAX(INDEX_NUMBER1),0)
21      FROM OKL_SIF_TRX_PARMS TRX
22      WHERE TRX.SIF_ID = p_sxpv_rec.sif_id
23      AND TRX.SPP_ID = p_sxpv_rec.spp_id;
24 
25     l_okl_sxp_index_rec l_okl_sxp_index_csr%ROWTYPE;
26 
27     l_api_version     CONSTANT NUMBER := 1;
28     l_api_name        CONSTANT VARCHAR2(30)  := 'create_trx_parm';
29     l_return_status   VARCHAR2(1)    := G_RET_STS_SUCCESS;
30     l_sxpv_rec		  sxpv_rec_type;
31     l_max_index number := 0;
32 
33 
34   BEGIN
35     l_return_status := G_RET_STS_SUCCESS;
36     l_sxpv_rec := p_sxpv_rec;
37 
38     if(l_sxpv_rec.index_number1 is not null and l_sxpv_rec.index_number1 <> G_MISS_NUM) THEN
39      OPEN l_okl_sxp_index_csr(l_sxpv_rec);
40      FETCH l_okl_sxp_index_csr INTO l_max_index;
41      CLOSE l_okl_sxp_index_csr;
42 
43      l_sxpv_rec.index_number1 := l_max_index + 1;
44     end if;
45 
46 
47 	/* public api to insert streamtype */
48     okl_sif_trx_parms_pub.insert_sif_trx_parms(p_api_version   => p_api_version,
49                               		 p_init_msg_list => p_init_msg_list,
50                               		 x_return_status => l_return_status,
51                               		 x_msg_count     => x_msg_count,
52                               		 x_msg_data      => x_msg_data,
53                               		 p_sxpv_rec      => l_sxpv_rec,
54                               		 x_sxpv_rec      => x_sxpv_rec);
55 
56      IF l_return_status = G_RET_STS_ERROR THEN
57         RAISE G_EXCEPTION_ERROR;
58      ELSIF l_return_status = G_RET_STS_UNEXP_ERROR THEN
59         RAISE G_EXCEPTION_UNEXPECTED_ERROR;
60      END IF;
61 
62 	x_return_status := l_return_status;
63   EXCEPTION
64     WHEN G_EXCEPTION_ERROR THEN
65       x_return_status := G_RET_STS_ERROR;
66 	  if (l_okl_sxp_index_csr%ISOPEN) then
67         CLOSE  l_okl_sxp_index_csr;
68 	  end if;
69     WHEN G_EXCEPTION_UNEXPECTED_ERROR THEN
70       x_return_status := G_RET_STS_UNEXP_ERROR;
71 	  if (l_okl_sxp_index_csr%ISOPEN) then
72         CLOSE  l_okl_sxp_index_csr;
73 	  end if;
74     WHEN OTHERS THEN
75       -- store SQL error message on message stack for caller
76       OKL_API.SET_MESSAGE(p_app_name    => G_APP_NAME,
77                           p_msg_name     => G_UNEXPECTED_ERROR,
78                           p_token1       => G_SQLCODE_TOKEN,
79                           p_token1_value => sqlcode,
80                           p_token2       => G_SQLERRM_TOKEN,
81                           p_token2_value => sqlerrm );
82       -- notify caller of an UNEXPECTED error
83       x_return_status := G_RET_STS_UNEXP_ERROR;
84 	  if (l_okl_sxp_index_csr%ISOPEN) then
85         CLOSE  l_okl_sxp_index_csr;
86 	  end if;
87   END create_trx_parm;
88 
89   ---------------------------------------------------------------------------
90   -- PROCEDURE update_trx_parm for: OKL_SIF_TRX_PARMS_V
91   ---------------------------------------------------------------------------
92   PROCEDURE update_trx_parm(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_sxpv_rec                     IN  sxpv_rec_type,
98                         	x_sxpv_rec                     OUT NOCOPY sxpv_rec_type
99                         ) IS
100     l_api_version     	  	CONSTANT NUMBER := 1;
101     l_api_name        	  	CONSTANT VARCHAR2(30)  := 'update_trx_parm';
102 	l_sxpv_rec	  	 	  	sxpv_rec_type;
103     l_return_status   	  	VARCHAR2(1) := G_RET_STS_SUCCESS;
104 
105   BEGIN
106     l_sxpv_rec := p_sxpv_rec;
107 
108    /* public api to update formulae */
109       okl_sif_trx_parms_pub.update_sif_trx_parms(p_api_version   => p_api_version,
110                            		 	p_init_msg_list => p_init_msg_list,
111                              		 	x_return_status => l_return_status,
112                              		 	x_msg_count     => x_msg_count,
113                              		 	x_msg_data      => x_msg_data,
114                              		 	p_sxpv_rec      => l_sxpv_rec,
115                              		 	x_sxpv_rec      => x_sxpv_rec);
116 
117 
118       IF l_return_status = G_RET_STS_ERROR THEN
119          RAISE G_EXCEPTION_ERROR;
120       ELSIF l_return_status = G_RET_STS_UNEXP_ERROR THEN
121       	  RAISE G_EXCEPTION_UNEXPECTED_ERROR;
122       END IF;
123 
124     x_return_status := l_return_status;
125 
126   EXCEPTION
127     WHEN G_EXCEPTION_ERROR THEN
128       x_return_status := G_RET_STS_ERROR;
129     WHEN G_EXCEPTION_UNEXPECTED_ERROR THEN
130       x_return_status := G_RET_STS_UNEXP_ERROR;
131     WHEN OTHERS THEN
132       -- store SQL error message on message stack for caller
133       OKL_API.SET_MESSAGE(p_app_name    => G_APP_NAME,
134                           p_msg_name     => G_UNEXPECTED_ERROR,
135                           p_token1       => G_SQLCODE_TOKEN,
136                           p_token1_value => sqlcode,
137                           p_token2       => G_SQLERRM_TOKEN,
138                           p_token2_value => sqlerrm );
139       -- notify caller of an UNEXPECTED error
140       x_return_status := G_RET_STS_UNEXP_ERROR;
141 
142   END update_trx_parm;
143 
144   PROCEDURE create_trx_parm(
145          p_api_version                  IN  NUMBER,
146          p_init_msg_list                IN  VARCHAR2 DEFAULT OKC_API.G_FALSE,
147          x_return_status                OUT NOCOPY VARCHAR2,
148          x_msg_count                    OUT NOCOPY NUMBER,
149          x_msg_data                     OUT NOCOPY VARCHAR2,
150          p_sxpv_tbl                     IN  sxpv_tbl_type,
151          x_sxpv_tbl                     OUT NOCOPY sxpv_tbl_type)
152    IS
153 	rec_num		INTEGER	:= 0;
154 	l_sxpv_tbl sxpv_tbl_type;
155    BEGIN
156         l_sxpv_tbl := p_sxpv_tbl;
157 
158  	FOR rec_num IN 1..p_sxpv_tbl.COUNT
159 	LOOP
160            /* Clean Up the index to be in Order */
161            -- pushing this logic to the record level method
162            --l_sxpv_tbl(rec_num).index_number1 := rec_num;
163 
164 
165 		create_trx_parm(
166          p_api_version                  => p_api_version,
167          p_init_msg_list                => p_init_msg_list,
168          x_return_status                => x_return_status,
169          x_msg_count                    => x_msg_count,
170          x_msg_data                     => x_msg_data,
171          p_sxpv_rec                     => l_sxpv_tbl(rec_num),
172          x_sxpv_rec                     => x_sxpv_tbl(rec_num) );
173 	      IF x_return_status = G_RET_STS_ERROR THEN
174 		 RAISE G_EXCEPTION_ERROR;
175 	      ELSIF x_return_status = G_RET_STS_UNEXP_ERROR THEN
176 		  RAISE G_EXCEPTION_UNEXPECTED_ERROR;
177 	      END IF;
178 	END LOOP;
179    EXCEPTION
180     WHEN G_EXCEPTION_ERROR THEN
181       x_return_status := G_RET_STS_ERROR;
182     WHEN G_EXCEPTION_UNEXPECTED_ERROR THEN
183       x_return_status := G_RET_STS_UNEXP_ERROR;
184     WHEN OTHERS THEN
185       -- store SQL error message on message stack for caller
186       OKL_API.SET_MESSAGE(p_app_name    => G_APP_NAME,
187                           p_msg_name     => G_UNEXPECTED_ERROR,
188                           p_token1       => G_SQLCODE_TOKEN,
189                           p_token1_value => sqlcode,
190                           p_token2       => G_SQLERRM_TOKEN,
191                           p_token2_value => sqlerrm );
192       -- notify caller of an UNEXPECTED error
193       x_return_status := G_RET_STS_UNEXP_ERROR;
194   END create_trx_parm;
195 
196 
197   PROCEDURE update_trx_parm(
198          p_api_version                  IN  NUMBER,
199          p_init_msg_list                IN  VARCHAR2 DEFAULT OKC_API.G_FALSE,
200          x_return_status                OUT NOCOPY VARCHAR2,
201          x_msg_count                    OUT NOCOPY NUMBER,
202          x_msg_data                     OUT NOCOPY VARCHAR2,
203          p_sxpv_tbl                     IN  sxpv_tbl_type,
204          x_sxpv_tbl                     OUT NOCOPY sxpv_tbl_type)
205    IS
206 	rec_num		INTEGER	:= 0;
207 	l_sxpv_tbl sxpv_tbl_type;
208    BEGIN
209         l_sxpv_tbl := p_sxpv_tbl;
210 
211         FOR rec_num IN 1..p_sxpv_tbl.COUNT
212 	LOOP
213            /* Clean Up the index to be in Order */
214            l_sxpv_tbl(rec_num).index_number1 := rec_num;
215 
216 		update_trx_parm(
217          p_api_version                  => p_api_version,
218          p_init_msg_list                => p_init_msg_list,
219          x_return_status                => x_return_status,
220          x_msg_count                    => x_msg_count,
221          x_msg_data                     => x_msg_data,
222          p_sxpv_rec                     => l_sxpv_tbl(rec_num),
223          x_sxpv_rec                     => x_sxpv_tbl(rec_num) );
224 	      IF x_return_status = G_RET_STS_ERROR THEN
225 		 RAISE G_EXCEPTION_ERROR;
226 	      ELSIF x_return_status = G_RET_STS_UNEXP_ERROR THEN
227 		  RAISE G_EXCEPTION_UNEXPECTED_ERROR;
228 	      END IF;
229 	END LOOP;
230    EXCEPTION
231     WHEN G_EXCEPTION_ERROR THEN
232       x_return_status := G_RET_STS_ERROR;
233     WHEN G_EXCEPTION_UNEXPECTED_ERROR THEN
234       x_return_status := G_RET_STS_UNEXP_ERROR;
235     WHEN OTHERS THEN
236       -- store SQL error message on message stack for caller
237       OKL_API.SET_MESSAGE(p_app_name    => G_APP_NAME,
238                           p_msg_name     => G_UNEXPECTED_ERROR,
239                           p_token1       => G_SQLCODE_TOKEN,
240                           p_token1_value => sqlcode,
241                           p_token2       => G_SQLERRM_TOKEN,
242                           p_token2_value => sqlerrm );
243 	  -- notify caller of an UNEXPECTED error
244       x_return_status := G_RET_STS_UNEXP_ERROR;
245 
246   END update_trx_parm;
247 
248   ---------------------------------------------------------------------------
249   -- PROCEDURE delete_trx_parm for: OKL_SIF_TRX_PARMS_V
250   ---------------------------------------------------------------------------
251   PROCEDURE delete_trx_parm(p_api_version                  IN  NUMBER,
252                             p_init_msg_list                IN  VARCHAR2 DEFAULT OKC_API.G_FALSE,
253                         	x_return_status                OUT NOCOPY VARCHAR2,
254                         	x_msg_count                    OUT NOCOPY NUMBER,
255                         	x_msg_data                     OUT NOCOPY VARCHAR2,
256                         	p_sxpv_rec                     IN  sxpv_rec_type,
257                         	x_sxpv_rec                     OUT NOCOPY sxpv_rec_type
258                         ) IS
259 
260     CURSOR l_okl_sxp_csr(p_rec sxpv_rec_type)
261 	IS
262 	  SELECT ID
263 	  FROM OKL_SIF_TRX_PARMS
264 	  WHERE SIF_ID = p_rec.sif_id
265 	  AND	SPP_ID = p_rec.spp_id;
266 
267 
268     l_api_version     	  	CONSTANT NUMBER := 1;
269     l_api_name        	  	CONSTANT VARCHAR2(30)  := 'delete_trx_parm';
270 	l_sxpv_rec	  	 	  	sxpv_rec_type;
271 	l_sxpv_tbl	  	 	  	sxpv_tbl_type;
272 	x_sxpv_tbl	  	 	  	sxpv_tbl_type;
273     l_return_status   	  	VARCHAR2(1) := G_RET_STS_SUCCESS;
274     i NUMBER := 1;
275 
276   BEGIN
277 
278     l_sxpv_rec := p_sxpv_rec;
279 
280     IF l_sxpv_rec.sif_id IS NULL THEN
281       OKL_API.SET_MESSAGE(p_app_name    => G_APP_NAME,
282                           p_msg_name     => G_REQUIRED_VALUE,
283                           p_token1       => G_COL_NAME_TOKEN,
284                           p_token1_value => 'SIF_ID'
285                          );
286          RAISE G_EXCEPTION_ERROR;
287     END IF;
288 
289 	IF l_sxpv_rec.spp_id IS NULL THEN
290       OKL_API.SET_MESSAGE(p_app_name    => G_APP_NAME,
291                           p_msg_name     => G_REQUIRED_VALUE,
292                           p_token1       => G_COL_NAME_TOKEN,
293                           p_token1_value => 'SPP_ID'
294                          );
295          RAISE G_EXCEPTION_ERROR;
296     END IF;
297 
298 	FOR l_okl_sxp_rec IN l_okl_sxp_csr(l_sxpv_rec)
299 	LOOP
300 	    l_sxpv_tbl(i).id := l_okl_sxp_rec.id;
301 	    i := i+1;
302 	END LOOP;
303 
304 	IF l_sxpv_tbl.count > 0 THEN
305 	     /* public api to delete trxparms */
306 	    okl_sif_trx_parms_pub.delete_sif_trx_parms(p_api_version   => p_api_version,
307 	                         		 	p_init_msg_list => p_init_msg_list,
308 	                           		 	x_return_status => l_return_status,
309 	                           		 	x_msg_count     => x_msg_count,
310 	                           		 	x_msg_data      => x_msg_data,
311 	                           		 	p_sxpv_tbl      => l_sxpv_tbl,
312 	                           		 	x_sxpv_tbl      => x_sxpv_tbl);
313 
314 	    IF l_return_status = G_RET_STS_ERROR THEN
315 	       RAISE G_EXCEPTION_ERROR;
316 	    ELSIF l_return_status = G_RET_STS_UNEXP_ERROR THEN
317 	    	  RAISE G_EXCEPTION_UNEXPECTED_ERROR;
318 	    END IF;
319 	END IF;
320 
321 	x_return_status := l_return_status;
322 
323   EXCEPTION
324     WHEN G_EXCEPTION_ERROR THEN
325       x_return_status := G_RET_STS_ERROR;
326     WHEN G_EXCEPTION_UNEXPECTED_ERROR THEN
327       x_return_status := G_RET_STS_UNEXP_ERROR;
328     WHEN OTHERS THEN
329       -- store SQL error message on message stack for caller
330       OKL_API.SET_MESSAGE(p_app_name    => G_APP_NAME,
331                           p_msg_name     => G_UNEXPECTED_ERROR,
332                           p_token1       => G_SQLCODE_TOKEN,
333                           p_token1_value => sqlcode,
334                           p_token2       => G_SQLERRM_TOKEN,
335                           p_token2_value => sqlerrm );
336       -- notify caller of an UNEXPECTED error
337       x_return_status := G_RET_STS_UNEXP_ERROR;
338 
339   END delete_trx_parm;
340 
341   PROCEDURE delete_trx_parm(
342          p_api_version                  IN  NUMBER,
343          p_init_msg_list                IN  VARCHAR2 DEFAULT OKC_API.G_FALSE,
344          x_return_status                OUT NOCOPY VARCHAR2,
345          x_msg_count                    OUT NOCOPY NUMBER,
346          x_msg_data                     OUT NOCOPY VARCHAR2,
347          p_sxpv_tbl                     IN  sxpv_tbl_type,
348          x_sxpv_tbl                     OUT NOCOPY sxpv_tbl_type)
349    IS
350 	rec_num		INTEGER	:= 0;
351    BEGIN
352  	FOR rec_num IN 1..p_sxpv_tbl.COUNT
353 	LOOP
354 		delete_trx_parm(
355          p_api_version                  => p_api_version,
356          p_init_msg_list                => p_init_msg_list,
357          x_return_status                => x_return_status,
358          x_msg_count                    => x_msg_count,
359          x_msg_data                     => x_msg_data,
360          p_sxpv_rec                     => p_sxpv_tbl(rec_num),
361          x_sxpv_rec                     => x_sxpv_tbl(rec_num) );
362 	      IF x_return_status = G_RET_STS_ERROR THEN
363 		 RAISE G_EXCEPTION_ERROR;
364 	      ELSIF x_return_status = G_RET_STS_UNEXP_ERROR THEN
365 		  RAISE G_EXCEPTION_UNEXPECTED_ERROR;
366 	      END IF;
367 
368 	END LOOP;
369    EXCEPTION
370     WHEN G_EXCEPTION_ERROR THEN
371       x_return_status := G_RET_STS_ERROR;
372     WHEN G_EXCEPTION_UNEXPECTED_ERROR THEN
373       x_return_status := G_RET_STS_UNEXP_ERROR;
374     WHEN OTHERS THEN
375       -- store SQL error message on message stack for caller
376       OKL_API.SET_MESSAGE(p_app_name    => G_APP_NAME,
377                           p_msg_name     => G_UNEXPECTED_ERROR,
378                           p_token1       => G_SQLCODE_TOKEN,
379                           p_token1_value => sqlcode,
380                           p_token2       => G_SQLERRM_TOKEN,
381                           p_token2_value => sqlerrm );
382       -- notify caller of an UNEXPECTED error
383       x_return_status := G_RET_STS_UNEXP_ERROR;
384   END delete_trx_parm;
385 
386   ---------------------------------------------------------------------------
387   -- PROCEDURE create_trx_asset_parm for: OKL_SIF_TRX_PARMS_V
388   ---------------------------------------------------------------------------
389   PROCEDURE create_trx_asset_parm(	p_api_version                  IN  NUMBER,
390 	                            p_init_msg_list                IN  VARCHAR2 DEFAULT OKC_API.G_FALSE,
391 	 	                       	x_return_status                OUT NOCOPY VARCHAR2,
392  	 	                      	x_msg_count                    OUT NOCOPY NUMBER,
393   	 	                     	x_msg_data                     OUT NOCOPY VARCHAR2,
394    	 	                    	p_sxpv_rec                     IN  sxpv_rec_type,
395       		                  	x_sxpv_rec                     OUT NOCOPY sxpv_rec_type
396                         ) IS
397     l_api_version     CONSTANT NUMBER := 1;
398     l_api_name        CONSTANT VARCHAR2(30)  := 'create_trx_asset_parm';
399     l_return_status   VARCHAR2(1)    := G_RET_STS_SUCCESS;
400 	l_sxpv_rec		  sxpv_rec_type;
401   BEGIN
402 
403     IF p_sxpv_rec.kle_id IS NULL THEN
404       OKL_API.SET_MESSAGE(p_app_name    => G_APP_NAME,
405                           p_msg_name     => G_OKL_LLA_ASSET_REQUIRED);
406       RAISE G_EXCEPTION_ERROR;
407     ELSE
408 		create_trx_parm(
409          p_api_version                  => p_api_version,
410          p_init_msg_list                => p_init_msg_list,
411          x_return_status                => x_return_status,
412          x_msg_count                    => x_msg_count,
413          x_msg_data                     => x_msg_data,
414          p_sxpv_rec                     => p_sxpv_rec,
415          x_sxpv_rec                     => x_sxpv_rec );
416 	      IF x_return_status = G_RET_STS_ERROR THEN
417 		 RAISE G_EXCEPTION_ERROR;
418 	      ELSIF x_return_status = G_RET_STS_UNEXP_ERROR THEN
419 		  RAISE G_EXCEPTION_UNEXPECTED_ERROR;
420 	      END IF;
421 
422     END IF;
423 
424    EXCEPTION
425     WHEN G_EXCEPTION_ERROR THEN
426       x_return_status := G_RET_STS_ERROR;
427     WHEN G_EXCEPTION_UNEXPECTED_ERROR THEN
428       x_return_status := G_RET_STS_UNEXP_ERROR;
429     WHEN OTHERS THEN
430       -- store SQL error message on message stack for caller
431       OKL_API.SET_MESSAGE(p_app_name    => G_APP_NAME,
432                           p_msg_name     => G_UNEXPECTED_ERROR,
433                           p_token1       => G_SQLCODE_TOKEN,
434                           p_token1_value => sqlcode,
435                           p_token2       => G_SQLERRM_TOKEN,
436                           p_token2_value => sqlerrm );
437       -- notify caller of an UNEXPECTED error
438       x_return_status := G_RET_STS_UNEXP_ERROR;
439   END create_trx_asset_parm;
440 
441   ---------------------------------------------------------------------------
442   -- PROCEDURE update_trx_asset_parm for: OKL_SIF_TRX_PARMS_V
443   ---------------------------------------------------------------------------
444   PROCEDURE update_trx_asset_parm(	p_api_version                  IN  NUMBER,
445 	                            p_init_msg_list                IN  VARCHAR2 DEFAULT OKC_API.G_FALSE,
446 	 	                       	x_return_status                OUT NOCOPY VARCHAR2,
447  	 	                      	x_msg_count                    OUT NOCOPY NUMBER,
448   	 	                     	x_msg_data                     OUT NOCOPY VARCHAR2,
449    	 	                    	p_sxpv_rec                     IN  sxpv_rec_type,
450       		                  	x_sxpv_rec                     OUT NOCOPY sxpv_rec_type
451                         ) IS
452     l_api_version     CONSTANT NUMBER := 1;
453     l_api_name        CONSTANT VARCHAR2(30)  := 'update_trx_asset_parm';
454     l_return_status   VARCHAR2(1)    := G_RET_STS_SUCCESS;
455 	l_sxpv_rec		  sxpv_rec_type;
456   BEGIN
457 
458     IF p_sxpv_rec.kle_id IS NULL THEN
459       OKL_API.SET_MESSAGE(p_app_name    => G_APP_NAME,
460                           p_msg_name     => G_OKL_LLA_ASSET_REQUIRED);
461       RAISE G_EXCEPTION_ERROR;
462     ELSE
463 		update_trx_parm(
464          p_api_version                  => p_api_version,
465          p_init_msg_list                => p_init_msg_list,
466          x_return_status                => x_return_status,
467          x_msg_count                    => x_msg_count,
468          x_msg_data                     => x_msg_data,
469          p_sxpv_rec                     => p_sxpv_rec,
470          x_sxpv_rec                     => x_sxpv_rec );
471 	      IF x_return_status = G_RET_STS_ERROR THEN
472 		 RAISE G_EXCEPTION_ERROR;
473 	      ELSIF x_return_status = G_RET_STS_UNEXP_ERROR THEN
474 		  RAISE G_EXCEPTION_UNEXPECTED_ERROR;
475 	      END IF;
476 
477     END IF;
478 
479    EXCEPTION
480     WHEN G_EXCEPTION_ERROR THEN
481       x_return_status := G_RET_STS_ERROR;
482     WHEN G_EXCEPTION_UNEXPECTED_ERROR THEN
483       x_return_status := G_RET_STS_UNEXP_ERROR;
484     WHEN OTHERS THEN
485       -- store SQL error message on message stack for caller
486       OKL_API.SET_MESSAGE(p_app_name    => G_APP_NAME,
487                           p_msg_name     => G_UNEXPECTED_ERROR,
488                           p_token1       => G_SQLCODE_TOKEN,
489                           p_token1_value => sqlcode,
490                           p_token2       => G_SQLERRM_TOKEN,
491                           p_token2_value => sqlerrm );
492       -- notify caller of an UNEXPECTED error
493       x_return_status := G_RET_STS_UNEXP_ERROR;
494   END update_trx_asset_parm;
495 
496   PROCEDURE create_trx_asset_parm(
497          p_api_version                  IN  NUMBER,
498          p_init_msg_list                IN  VARCHAR2 DEFAULT OKC_API.G_FALSE,
499          x_return_status                OUT NOCOPY VARCHAR2,
500          x_msg_count                    OUT NOCOPY NUMBER,
501          x_msg_data                     OUT NOCOPY VARCHAR2,
502          p_sxpv_tbl                     IN  sxpv_tbl_type,
503          x_sxpv_tbl                     OUT NOCOPY sxpv_tbl_type)
504    IS
505 	rec_num		INTEGER	:= 0;
506 	l_sxpv_tbl sxpv_tbl_type;
507    BEGIN
508         l_sxpv_tbl := p_sxpv_tbl;
509 
510  	FOR rec_num IN 1..p_sxpv_tbl.COUNT
511 	LOOP
512            /* Clean Up the index to be in Order */
513            l_sxpv_tbl(rec_num).index_number1 := rec_num;
514 
515 		create_trx_asset_parm(
516          p_api_version                  => p_api_version,
517          p_init_msg_list                => p_init_msg_list,
518          x_return_status                => x_return_status,
519          x_msg_count                    => x_msg_count,
520          x_msg_data                     => x_msg_data,
521          p_sxpv_rec                     => l_sxpv_tbl(rec_num),
522          x_sxpv_rec                     => x_sxpv_tbl(rec_num) );
523 	      IF x_return_status = G_RET_STS_ERROR THEN
524 		 RAISE G_EXCEPTION_ERROR;
525 	      ELSIF x_return_status = G_RET_STS_UNEXP_ERROR THEN
526 		  RAISE G_EXCEPTION_UNEXPECTED_ERROR;
527 	      END IF;
528 	END LOOP;
529    EXCEPTION
530     WHEN G_EXCEPTION_ERROR THEN
531       x_return_status := G_RET_STS_ERROR;
532     WHEN G_EXCEPTION_UNEXPECTED_ERROR THEN
533       x_return_status := G_RET_STS_UNEXP_ERROR;
534     WHEN OTHERS THEN
535       -- store SQL error message on message stack for caller
536       OKL_API.SET_MESSAGE(p_app_name    => G_APP_NAME,
537                           p_msg_name     => G_UNEXPECTED_ERROR,
538                           p_token1       => G_SQLCODE_TOKEN,
539                           p_token1_value => sqlcode,
540                           p_token2       => G_SQLERRM_TOKEN,
541                           p_token2_value => sqlerrm );
542       -- notify caller of an UNEXPECTED error
543       x_return_status := G_RET_STS_UNEXP_ERROR;
544   END create_trx_asset_parm;
545 
546   PROCEDURE update_trx_asset_parm(
547          p_api_version                  IN  NUMBER,
548          p_init_msg_list                IN  VARCHAR2 DEFAULT OKC_API.G_FALSE,
549          x_return_status                OUT NOCOPY VARCHAR2,
550          x_msg_count                    OUT NOCOPY NUMBER,
551          x_msg_data                     OUT NOCOPY VARCHAR2,
552          p_sxpv_tbl                     IN  sxpv_tbl_type,
553          x_sxpv_tbl                     OUT NOCOPY sxpv_tbl_type)
554    IS
555 	rec_num		INTEGER	:= 0;
556 	l_sxpv_tbl sxpv_tbl_type;
557    BEGIN
558         l_sxpv_tbl := p_sxpv_tbl;
559 
560 
561  	FOR rec_num IN 1..p_sxpv_tbl.COUNT
562 	LOOP
563            /* Clean Up the index to be in Order */
564            l_sxpv_tbl(rec_num).index_number1 := rec_num;
565 
566 		update_trx_asset_parm(
567          p_api_version                  => p_api_version,
568          p_init_msg_list                => p_init_msg_list,
569          x_return_status                => x_return_status,
570          x_msg_count                    => x_msg_count,
571          x_msg_data                     => x_msg_data,
572          p_sxpv_rec                     => l_sxpv_tbl(rec_num),
573          x_sxpv_rec                     => x_sxpv_tbl(rec_num) );
574 	      IF x_return_status = G_RET_STS_ERROR THEN
575 		 RAISE G_EXCEPTION_ERROR;
576 	      ELSIF x_return_status = G_RET_STS_UNEXP_ERROR THEN
577 		  RAISE G_EXCEPTION_UNEXPECTED_ERROR;
578 	      END IF;
579 	END LOOP;
580    EXCEPTION
581     WHEN G_EXCEPTION_ERROR THEN
582       x_return_status := G_RET_STS_ERROR;
583     WHEN G_EXCEPTION_UNEXPECTED_ERROR THEN
584       x_return_status := G_RET_STS_UNEXP_ERROR;
585     WHEN OTHERS THEN
586       -- store SQL error message on message stack for caller
587       OKL_API.SET_MESSAGE(p_app_name    => G_APP_NAME,
588                           p_msg_name     => G_UNEXPECTED_ERROR,
589                           p_token1       => G_SQLCODE_TOKEN,
590                           p_token1_value => sqlcode,
591                           p_token2       => G_SQLERRM_TOKEN,
592                           p_token2_value => sqlerrm );
593       -- notify caller of an UNEXPECTED error
594       x_return_status := G_RET_STS_UNEXP_ERROR;
595   END update_trx_asset_parm;
596 
597 END OKL_SETUP_TRXPARAMS_PVT;