DBA Data[Home] [Help]

PACKAGE BODY: APPS.OKL_POPULATE_PRCENG_RESULT_PVT

Source


1 PACKAGE BODY OKL_POPULATE_PRCENG_RESULT_PVT AS
2 /* $Header: OKLRPERB.pls 120.3 2005/10/30 04:35:42 appldev noship $ */
3 
4   FUNCTION get_rec (
5     p_sirv_rec                     IN sirv_rec_type,
6     x_no_data_found                OUT NOCOPY BOOLEAN
7   ) RETURN sirv_rec_type IS
8     CURSOR sirv_pk_csr (p_id                 IN NUMBER) IS
9     SELECT
10             ID,
11             TRANSACTION_NUMBER,
12             SRT_CODE,
13             EFFECTIVE_PRE_TAX_YIELD,
14             YIELD_NAME,
15             INDEX_NUMBER,
16             EFFECTIVE_AFTER_TAX_YIELD,
17             NOMINAL_PRE_TAX_YIELD,
18             NOMINAL_AFTER_TAX_YIELD,
19 			STREAM_INTERFACE_ATTRIBUTE01,
20 			STREAM_INTERFACE_ATTRIBUTE02,
21 			STREAM_INTERFACE_ATTRIBUTE03,
22 			STREAM_INTERFACE_ATTRIBUTE04,
23 			STREAM_INTERFACE_ATTRIBUTE05,
24 			STREAM_INTERFACE_ATTRIBUTE06,
25 			STREAM_INTERFACE_ATTRIBUTE07,
26 			STREAM_INTERFACE_ATTRIBUTE08,
27 			STREAM_INTERFACE_ATTRIBUTE09,
28 			STREAM_INTERFACE_ATTRIBUTE10,
29 			STREAM_INTERFACE_ATTRIBUTE11,
30 			STREAM_INTERFACE_ATTRIBUTE12,
31 			STREAM_INTERFACE_ATTRIBUTE13,
32 			STREAM_INTERFACE_ATTRIBUTE14,
33    			STREAM_INTERFACE_ATTRIBUTE15,
34             OBJECT_VERSION_NUMBER,
35             CREATED_BY,
36             LAST_UPDATED_BY,
37             CREATION_DATE,
38             LAST_UPDATE_DATE,
39             LAST_UPDATE_LOGIN,
40             IMPLICIT_INTEREST_RATE,
41             DATE_PROCESSED,
42             -- mvasudev -- 02/21/2002
43             -- new columns added for concurrent program manager
44             REQUEST_ID,
45             PROGRAM_APPLICATION_ID,
46             PROGRAM_ID,
47             PROGRAM_UPDATE_DATE
48             -- end,mvasudev -- 02/21/2002
49       FROM Okl_Sif_Rets_V
50      WHERE okl_sif_rets_v.id    = p_id;
51     l_sirv_pk                      sirv_pk_csr%ROWTYPE;
52     l_sirv_rec                     sirv_rec_type;
53   BEGIN
54     x_no_data_found := TRUE;
55     -- Get current database values
56     OPEN sirv_pk_csr (p_sirv_rec.id);
57     FETCH sirv_pk_csr INTO
58               l_sirv_rec.ID,
59               l_sirv_rec.TRANSACTION_NUMBER,
60               l_sirv_rec.SRT_CODE,
61               l_sirv_rec.EFFECTIVE_PRE_TAX_YIELD,
62               l_sirv_rec.YIELD_NAME,
63               l_sirv_rec.INDEX_NUMBER,
64               l_sirv_rec.EFFECTIVE_AFTER_TAX_YIELD,
65               l_sirv_rec.NOMINAL_PRE_TAX_YIELD,
66               l_sirv_rec.NOMINAL_AFTER_TAX_YIELD,
67 			  l_sirv_rec.STREAM_INTERFACE_ATTRIBUTE01,
68 			  l_sirv_rec.STREAM_INTERFACE_ATTRIBUTE02,
69 			  l_sirv_rec.STREAM_INTERFACE_ATTRIBUTE03,
70 			  l_sirv_rec.STREAM_INTERFACE_ATTRIBUTE04,
71 			  l_sirv_rec.STREAM_INTERFACE_ATTRIBUTE05,
72 			  l_sirv_rec.STREAM_INTERFACE_ATTRIBUTE06,
73 			  l_sirv_rec.STREAM_INTERFACE_ATTRIBUTE07,
74 			  l_sirv_rec.STREAM_INTERFACE_ATTRIBUTE08,
75 			  l_sirv_rec.STREAM_INTERFACE_ATTRIBUTE09,
76 			  l_sirv_rec.STREAM_INTERFACE_ATTRIBUTE10,
77 			  l_sirv_rec.STREAM_INTERFACE_ATTRIBUTE11,
78 			  l_sirv_rec.STREAM_INTERFACE_ATTRIBUTE12,
79 			  l_sirv_rec.STREAM_INTERFACE_ATTRIBUTE13,
80 			  l_sirv_rec.STREAM_INTERFACE_ATTRIBUTE14,
81    			  l_sirv_rec.STREAM_INTERFACE_ATTRIBUTE15,
82               l_sirv_rec.OBJECT_VERSION_NUMBER,
83               l_sirv_rec.CREATED_BY,
84               l_sirv_rec.LAST_UPDATED_BY,
85               l_sirv_rec.CREATION_DATE,
86               l_sirv_rec.LAST_UPDATE_DATE,
87               l_sirv_rec.LAST_UPDATE_LOGIN,
88               l_sirv_rec.IMPLICIT_INTEREST_RATE,
89               l_sirv_rec.DATE_PROCESSED,
90             -- mvasudev -- 02/21/2002
91             -- new columns added for concurrent program manager
92             l_sirv_rec.REQUEST_ID,
93             l_sirv_rec.PROGRAM_APPLICATION_ID,
94             l_sirv_rec.PROGRAM_ID,
95             l_sirv_rec.PROGRAM_UPDATE_DATE;
96             -- end,mvasudev -- 02/21/2002
97 
98     x_no_data_found := sirv_pk_csr%NOTFOUND;
99     CLOSE sirv_pk_csr;
100     RETURN(l_sirv_rec);
101   END get_rec;
102 
103   ---------------------------------------------------------------------------
104   -- PROCEDURE populate_sif_rets for: OKL_SIF_RETS
105   ---------------------------------------------------------------------------
106   PROCEDURE populate_sif_rets(p_api_version                  IN  NUMBER,
107                               p_init_msg_list                IN  VARCHAR2 DEFAULT OKC_API.G_FALSE,
108                               x_return_status                OUT NOCOPY VARCHAR2,
109                               x_msg_count                    OUT NOCOPY NUMBER,
110                               x_msg_data                     OUT NOCOPY VARCHAR2,
111                               p_sirv_rec                     IN  sirv_rec_type,
112                               x_sirv_rec                     OUT NOCOPY sirv_rec_type
113   ) IS
114     l_api_name  CONSTANT VARCHAR2(30) := 'populate_sif_rets';
115     l_return_status  VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
116 
117   BEGIN
118     OKL_SIF_RETS_PUB.insert_sif_rets(p_api_version   => p_api_version,
119                                      p_init_msg_list => p_init_msg_list,
120                                      x_return_status => l_return_status,
121                                      x_msg_count     => x_msg_count,
122                                      x_msg_data      => x_msg_data,
123                                      p_sirv_rec      => p_sirv_rec,
124                                      x_sirv_rec      => x_sirv_rec);
125 
126     IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
127       RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
128     ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
129       RAISE OKL_API.G_EXCEPTION_ERROR;
130     END IF;
131 
132     x_return_status := l_return_status;
133 
134   EXCEPTION
135     WHEN G_EXCEPTION_ERROR THEN
136       x_return_status := G_RET_STS_ERROR;
137     WHEN G_EXCEPTION_UNEXPECTED_ERROR THEN
138       x_return_status := G_RET_STS_UNEXP_ERROR;
139     WHEN OTHERS THEN
140       -- store SQL error message on message stack for caller
141       OKL_API.SET_MESSAGE(p_app_name    => G_APP_NAME,
142                           p_msg_name     => G_UNEXPECTED_ERROR,
143                           p_token1       => G_SQLCODE_TOKEN,
144                           p_token1_value => sqlcode,
145                           p_token2       => G_SQLERRM_TOKEN,
146                           p_token2_value => sqlerrm );
147       -- notify caller of an UNEXPECTED error
148       x_return_status := G_RET_STS_UNEXP_ERROR;
149 
150   END populate_sif_rets;
151 
152 -- Update Added by Saran
153 
154   PROCEDURE update_sif_rets(p_api_version                  IN  NUMBER,
155                               p_init_msg_list                IN  VARCHAR2 DEFAULT OKC_API.G_FALSE,
156                               x_return_status                OUT NOCOPY VARCHAR2,
157                               x_msg_count                    OUT NOCOPY NUMBER,
158                               x_msg_data                     OUT NOCOPY VARCHAR2,
159                               p_sirv_rec                     IN  sirv_rec_type,
160                               x_sirv_rec                     OUT NOCOPY sirv_rec_type
161   ) IS
162     l_api_name  CONSTANT VARCHAR2(30) := 'update_sif_rets';
163     l_return_status  VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
164 	l_sirv_rec  sirv_rec_type;
165 	l_no_data_found BOOLEAN := FALSE;
166 
167   BEGIN
168     l_sirv_rec := get_rec (p_sirv_rec, l_no_data_found);
169 
170 	IF(p_sirv_rec.transaction_number <> G_MISS_NUM)
171 	THEN
172 	  l_sirv_rec.transaction_number := p_sirv_rec.transaction_number;
173 	END IF;
174 	IF(p_sirv_rec.index_number <> G_MISS_NUM)
175 	THEN
176 	  l_sirv_rec.index_number := p_sirv_rec.index_number;
177 	END IF;
178 	IF(p_sirv_rec.implicit_interest_rate <> G_MISS_NUM)
179 	THEN
180 	  l_sirv_rec.implicit_interest_rate := p_sirv_rec.implicit_interest_rate;
181 	END IF;
182 	IF(p_sirv_rec.yield_name <> G_MISS_CHAR)
183 	THEN
184 	  l_sirv_rec.yield_name := p_sirv_rec.yield_name;
185 	END IF;
186 	IF(p_sirv_rec.srt_code <> G_MISS_CHAR)
187 	THEN
188 	  l_sirv_rec.srt_code := p_sirv_rec.srt_code;
189 	END IF;
190 	IF(p_sirv_rec.date_processed <> G_MISS_DATE)
191 	THEN
192 	  l_sirv_rec.date_processed := p_sirv_rec.date_processed;
193 	END IF;
194 	IF(p_sirv_rec.effective_pre_tax_yield <> G_MISS_NUM)
195 	THEN
196 	  l_sirv_rec.effective_pre_tax_yield := p_sirv_rec.effective_pre_tax_yield;
197 	END IF;
198 	IF(p_sirv_rec.effective_after_tax_yield <> G_MISS_NUM)
199 	THEN
200 	  l_sirv_rec.effective_after_tax_yield := p_sirv_rec.effective_after_tax_yield;
201 	END IF;
202 	IF(p_sirv_rec.nominal_pre_tax_yield <> G_MISS_NUM)
203 	THEN
204 	  l_sirv_rec.nominal_pre_tax_yield := p_sirv_rec.nominal_pre_tax_yield;
205 	END IF;
206 	IF(p_sirv_rec.nominal_after_tax_yield <> G_MISS_NUM)
207 	THEN
208 	  l_sirv_rec.nominal_after_tax_yield := p_sirv_rec.nominal_after_tax_yield;
209 	END IF;
210 	IF(p_sirv_rec.stream_interface_attribute01 <> G_MISS_CHAR)
211 	THEN
212 	  l_sirv_rec.stream_interface_attribute01 := p_sirv_rec.stream_interface_attribute01;
213 	END IF;
214 	IF(p_sirv_rec.stream_interface_attribute02 <> G_MISS_CHAR)
215 	THEN
216 	  l_sirv_rec.stream_interface_attribute02 := p_sirv_rec.stream_interface_attribute02;
217 	END IF;
218 	IF(p_sirv_rec.stream_interface_attribute03 <> G_MISS_CHAR)
219 	THEN
220 	  l_sirv_rec.stream_interface_attribute03 := p_sirv_rec.stream_interface_attribute03;
221 	END IF;
222 	IF(p_sirv_rec.stream_interface_attribute04 <> G_MISS_CHAR)
223 	THEN
224 	  l_sirv_rec.stream_interface_attribute04 := p_sirv_rec.stream_interface_attribute04;
225 	END IF;
226 	IF(p_sirv_rec.stream_interface_attribute05 <> G_MISS_CHAR)
227 	THEN
228 	  l_sirv_rec.stream_interface_attribute05 := p_sirv_rec.stream_interface_attribute05;
229 	END IF;
230 	IF(p_sirv_rec.stream_interface_attribute06 <> G_MISS_CHAR)
231 	THEN
232 	  l_sirv_rec.stream_interface_attribute06 := p_sirv_rec.stream_interface_attribute06;
233 	END IF;
234 	IF(p_sirv_rec.stream_interface_attribute07 <> G_MISS_CHAR)
235 	THEN
236 	  l_sirv_rec.stream_interface_attribute07 := p_sirv_rec.stream_interface_attribute07;
237 	END IF;
238 	IF(p_sirv_rec.stream_interface_attribute08 <> G_MISS_CHAR)
239 	THEN
240 	  l_sirv_rec.stream_interface_attribute08 := p_sirv_rec.stream_interface_attribute08;
241 	END IF;
242 	IF(p_sirv_rec.stream_interface_attribute09 <> G_MISS_CHAR)
243 	THEN
244 	  l_sirv_rec.stream_interface_attribute09 := p_sirv_rec.stream_interface_attribute09;
245 	END IF;
246 	IF(p_sirv_rec.stream_interface_attribute10 <> G_MISS_CHAR)
247 	THEN
248 	  l_sirv_rec.stream_interface_attribute10 := p_sirv_rec.stream_interface_attribute10;
249 	END IF;
250 	IF(p_sirv_rec.stream_interface_attribute11 <> G_MISS_CHAR)
251 	THEN
252 	  l_sirv_rec.stream_interface_attribute11 := p_sirv_rec.stream_interface_attribute11;
253 	END IF;
254 	IF(p_sirv_rec.stream_interface_attribute12 <> G_MISS_CHAR)
255 	THEN
256 	  l_sirv_rec.stream_interface_attribute12 := p_sirv_rec.stream_interface_attribute12;
257 	END IF;
258 	IF(p_sirv_rec.stream_interface_attribute13 <> G_MISS_CHAR)
259 	THEN
260 	  l_sirv_rec.stream_interface_attribute13 := p_sirv_rec.stream_interface_attribute13;
261 	END IF;
262 	IF(p_sirv_rec.stream_interface_attribute14 <> G_MISS_CHAR)
263 	THEN
264 	  l_sirv_rec.stream_interface_attribute14 := p_sirv_rec.stream_interface_attribute14;
265 	END IF;
266 	IF(p_sirv_rec.stream_interface_attribute15 <> G_MISS_CHAR)
267 	THEN
268 	  l_sirv_rec.stream_interface_attribute15 := p_sirv_rec.stream_interface_attribute15;
269 	END IF;
270 	IF(p_sirv_rec.request_id <> G_MISS_NUM)
271 	THEN
272 	  l_sirv_rec.request_id := p_sirv_rec.request_id;
273 	END IF;
274 	IF(p_sirv_rec.program_application_id <> G_MISS_NUM)
275 	THEN
276 	  l_sirv_rec.program_application_id := p_sirv_rec.program_application_id;
277 	END IF;
278 	IF(p_sirv_rec.program_id <> G_MISS_NUM)
279 	THEN
280 	  l_sirv_rec.program_id := p_sirv_rec.program_id;
281 	END IF;
282 	IF(p_sirv_rec.program_update_date <> G_MISS_DATE)
283 	THEN
284 	  l_sirv_rec.program_update_date := p_sirv_rec.program_update_date;
285 	END IF;
286 
287     OKL_SIF_RETS_PUB.update_sif_rets(p_api_version   => p_api_version,
288                                      p_init_msg_list => p_init_msg_list,
289                                      x_return_status => l_return_status,
290                                      x_msg_count     => x_msg_count,
291                                      x_msg_data      => x_msg_data,
292                                      p_sirv_rec      => l_sirv_rec,
293                                      x_sirv_rec      => x_sirv_rec);
294 
295     IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
296       RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
297     ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
298       RAISE OKL_API.G_EXCEPTION_ERROR;
299     END IF;
300 
301     x_return_status := l_return_status;
302 
303   EXCEPTION
304     WHEN G_EXCEPTION_ERROR THEN
305       x_return_status := G_RET_STS_ERROR;
306     WHEN G_EXCEPTION_UNEXPECTED_ERROR THEN
307       x_return_status := G_RET_STS_UNEXP_ERROR;
308     WHEN OTHERS THEN
309       -- store SQL error message on message stack for caller
310       OKL_API.SET_MESSAGE(p_app_name    => G_APP_NAME,
311                           p_msg_name     => G_UNEXPECTED_ERROR,
312                           p_token1       => G_SQLCODE_TOKEN,
313                           p_token1_value => sqlcode,
314                           p_token2       => G_SQLERRM_TOKEN,
315                           p_token2_value => sqlerrm );
316       -- notify caller of an UNEXPECTED error
317       x_return_status := G_RET_STS_UNEXP_ERROR;
318 
319   END update_sif_rets;
320 
321   ---------------------------------------------------------------------------
322   -- PROCEDURE populate_sif_ret_strms for: OKL_SIF_RET_STREAMS
323   ---------------------------------------------------------------------------
324 
325   PROCEDURE populate_sif_ret_strms (p_api_version                  IN  NUMBER,
326                                     p_init_msg_list                IN  VARCHAR2 DEFAULT OKC_API.G_FALSE,
327                                     x_return_status                OUT NOCOPY VARCHAR2,
328                                     x_msg_count                    OUT NOCOPY NUMBER,
329                                     x_msg_data                     OUT NOCOPY VARCHAR2,
330                                     p_srsv_rec                     IN  srsv_rec_type,
331                                     x_srsv_rec                     OUT NOCOPY srsv_rec_type
332   ) IS
333     l_api_name  CONSTANT VARCHAR2(30) := 'populate_sif_ret_strms';
334     l_return_status  VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
335 
336   BEGIN
337   	--dbms_output.PUT_LINE('populate_sif_ret_strms pvt');
338 --BAKUCHIB Bug#2807737 start
339     OKL_SIF_RET_STRMS_PUB.insert_sif_ret_strms_per(
340                           p_api_version   => p_api_version,
341                           p_init_msg_list => p_init_msg_list,
342                           x_return_status => l_return_status,
343                           x_msg_count     => x_msg_count,
344                           x_msg_data      => x_msg_data,
345                           p_srsv_rec      => p_srsv_rec,
346                           x_srsv_rec      => x_srsv_rec);
347     G_COUNTER := G_COUNTER + 1;
348     G_SRSV_TBL(G_COUNTER) := x_srsv_rec;
349 --BAKUCHIB Bug#2807737 end
350     IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
351       RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
352     ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
353       RAISE OKL_API.G_EXCEPTION_ERROR;
354     END IF;
355 
356     x_return_status := l_return_status;
357 
358   EXCEPTION
359     WHEN G_EXCEPTION_ERROR THEN
360       x_return_status := G_RET_STS_ERROR;
361     WHEN G_EXCEPTION_UNEXPECTED_ERROR THEN
362       x_return_status := G_RET_STS_UNEXP_ERROR;
363     WHEN OTHERS THEN
364       -- store SQL error message on message stack for caller
365       OKL_API.SET_MESSAGE(p_app_name    => G_APP_NAME,
366                           p_msg_name     => G_UNEXPECTED_ERROR,
367                           p_token1       => G_SQLCODE_TOKEN,
368                           p_token1_value => sqlcode,
369                           p_token2       => G_SQLERRM_TOKEN,
370                           p_token2_value => sqlerrm );
371       -- notify caller of an UNEXPECTED error
372       x_return_status := G_RET_STS_UNEXP_ERROR;
373 
374   END populate_sif_ret_strms;
375 
376 
377   ---------------------------------------------------------------------------
378   -- PROCEDURE populate_sif_ret_errors for: OKL_SIF_RET_ERRORS
379   ---------------------------------------------------------------------------
380 
381   PROCEDURE populate_sif_ret_errors (p_api_version                  IN  NUMBER,
382                                      p_init_msg_list                IN  VARCHAR2 DEFAULT OKC_API.G_FALSE,
383                                      x_return_status                OUT NOCOPY VARCHAR2,
384                                      x_msg_count                    OUT NOCOPY NUMBER,
385                                      x_msg_data                     OUT NOCOPY VARCHAR2,
386                                      p_srmv_rec                     IN  srmv_rec_type,
387                                      x_srmv_rec                     OUT NOCOPY srmv_rec_type
388   ) IS
389     l_api_name  CONSTANT VARCHAR2(30) := 'populate_sif_ret_errors';
390     l_return_status  VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
391 
392   BEGIN
393     OKL_SIF_RET_ERRORS_PUB.insert_sif_ret_errors(p_api_version   => p_api_version,
394                                                  p_init_msg_list => p_init_msg_list,
395                                                  x_return_status => l_return_status,
396                                                  x_msg_count     => x_msg_count,
397                                                  x_msg_data      => x_msg_data,
398                                                  p_srmv_rec      => p_srmv_rec,
399                                                  x_srmv_rec      => x_srmv_rec);
400     IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
401       RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
402     ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
403       RAISE OKL_API.G_EXCEPTION_ERROR;
404     END IF;
405 
406     x_return_status := l_return_status;
407 
408   EXCEPTION
409     WHEN G_EXCEPTION_ERROR THEN
410       x_return_status := G_RET_STS_ERROR;
411     WHEN G_EXCEPTION_UNEXPECTED_ERROR THEN
412       x_return_status := G_RET_STS_UNEXP_ERROR;
413     WHEN OTHERS THEN
414       -- store SQL error message on message stack for caller
415       OKL_API.SET_MESSAGE(p_app_name    => G_APP_NAME,
416                           p_msg_name     => G_UNEXPECTED_ERROR,
417                           p_token1       => G_SQLCODE_TOKEN,
418                           p_token1_value => sqlcode,
419                           p_token2       => G_SQLERRM_TOKEN,
420                           p_token2_value => sqlerrm );
421       -- notify caller of an UNEXPECTED error
422       x_return_status := G_RET_STS_UNEXP_ERROR;
423 
424   END populate_sif_ret_errors;
425 
426   ---------------------------------------------------------------------------
427   -- PROCEDURE populate_sif_ret_errors for: OKL_SIF_RET_ERRORS
428   ---------------------------------------------------------------------------
429 
430   PROCEDURE populate_sif_ret_levels (
431     p_api_version                  IN  NUMBER,
432     p_init_msg_list                IN  VARCHAR2 DEFAULT OKC_API.G_FALSE,
433     p_srlv_rec                     IN  srlv_rec_type,
434     x_srlv_rec                     OUT NOCOPY srlv_rec_type,
435     x_return_status                OUT NOCOPY VARCHAR2,
436     x_msg_count                    OUT NOCOPY NUMBER,
437     x_msg_data                     OUT NOCOPY VARCHAR2
438   ) IS
439     l_api_name  CONSTANT VARCHAR2(30) := 'populate_sif_ret_levels';
440     l_return_status  VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
441 
442   BEGIN
443     OKL_SIF_RET_LEVELS_PUB.insert_sif_ret_levels(p_api_version   => p_api_version,
444                                                  p_init_msg_list => p_init_msg_list,
445                                                  x_return_status => l_return_status,
446                                                  x_msg_count     => x_msg_count,
447                                                  x_msg_data      => x_msg_data,
448                                                  p_srlv_rec      => p_srlv_rec,
449                                                  x_srlv_rec      => x_srlv_rec);
450     IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
451       RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
452     ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
453       RAISE OKL_API.G_EXCEPTION_ERROR;
454     END IF;
455 
456     x_return_status := l_return_status;
457 
458   EXCEPTION
459     WHEN G_EXCEPTION_ERROR THEN
460       x_return_status := G_RET_STS_ERROR;
461     WHEN G_EXCEPTION_UNEXPECTED_ERROR THEN
462       x_return_status := G_RET_STS_UNEXP_ERROR;
463     WHEN OTHERS THEN
464       -- store SQL error message on message stack for caller
465       OKL_API.SET_MESSAGE(p_app_name    => G_APP_NAME,
466                           p_msg_name     => G_UNEXPECTED_ERROR,
467                           p_token1       => G_SQLCODE_TOKEN,
468                           p_token1_value => sqlcode,
469                           p_token2       => G_SQLERRM_TOKEN,
470                           p_token2_value => sqlerrm );
471       -- notify caller of an UNEXPECTED error
472       x_return_status := G_RET_STS_UNEXP_ERROR;
473 
474   END populate_sif_ret_levels;
475 
476   ---------------------------------------------------------------------------
477   -- PROCEDURE update_status
478   -- Directly updates the status at the contrat header level
479   -- For outbound
480   ---------------------------------------------------------------------------
481   PROCEDURE update_outbound_status (
482     p_api_version    IN NUMBER,
483     p_init_msg_list  IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
484     p_sifv_rec       IN sifv_rec_type,
485     x_sifv_rec       OUT NOCOPY sifv_rec_type,
486     x_msg_count      OUT NOCOPY NUMBER,
487     x_msg_data       OUT NOCOPY VARCHAR2,
488     x_return_status  OUT NOCOPY VARCHAR2) IS
489     l_return_status  VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
490     l_api_name  CONSTANT VARCHAR2(30) := 'update_outbound_status';
491   BEGIN
492 --BAKUCHIB Bug#2807737 start
493   --Added by BKATRAGA.
494   --Bug 4302322 -Start of changes
495    IF(G_COUNTER > 0) THEN
496     OKL_SIF_RET_STRMS_PUB.MASS_INSERT_SIF_RET(p_srsv_tbl=>  G_SRSV_TBL);
497    END IF;
498   --Bug - End of Changes
499 --sgorantl Bug#3777084 start
500     G_COUNTER := 0;
501 --sgorantl Bug#3777084 end
502 --BAKUCHIB Bug#2807737 End
503     OKL_STREAM_INTERFACES_PUB.update_stream_interfaces(
504                        p_api_version => p_api_version
505 	 	       ,p_init_msg_list => p_init_msg_list
506 	 	       ,x_return_status => l_return_status
507 	 	       ,x_msg_count => x_msg_count
508 	 	       ,x_msg_data => x_msg_data
509 	 	       ,p_sifv_rec => p_sifv_rec
510 	 	       ,x_sifv_rec => x_sifv_rec);
511 
512     IF l_return_status = G_RET_STS_ERROR THEN
513 	  RAISE G_EXCEPTION_ERROR;
514 	ELSIF l_return_status = G_RET_STS_UNEXP_ERROR THEN
515 	  RAISE G_EXCEPTION_UNEXPECTED_ERROR;
516 	END IF;
517 
518 	x_return_status := l_return_status;
519   EXCEPTION
520     WHEN G_EXCEPTION_ERROR THEN
521       x_return_status := G_RET_STS_ERROR;
522     WHEN G_EXCEPTION_UNEXPECTED_ERROR THEN
523       x_return_status := G_RET_STS_UNEXP_ERROR;
524     WHEN OTHERS THEN
525       x_return_status := G_RET_STS_UNEXP_ERROR;
526 
527   END update_outbound_status;
528 
529 END OKL_POPULATE_PRCENG_RESULT_PVT;