[Home] [Help]
PACKAGE BODY: APPS.OKL_QTE_PVT
Source
1 PACKAGE BODY OKL_QTE_PVT AS
2 /* $Header: OKLSQTEB.pls 120.10.12020000.2 2012/08/07 11:46:58 vsgandhi ship $ */
3 G_NO_PARENT_RECORD CONSTANT VARCHAR2(200) := 'OKL_NO_PARENT_RECORD';
4 G_UNEXPECTED_ERROR CONSTANT VARCHAR2(200) := 'OKC_CONTRACTS_UNEXPECTED_ERROR';
5 G_UPPER_CASE_REQUIRED CONSTANT VARCHAR2(200) := 'OKC_UPPER_CASE_REQUIRED';
6 --G_INVALID_END_DATE CONSTANT VARCHAR2(200) := 'INVALID_END_DATE';
7 G_SQLERRM_TOKEN CONSTANT VARCHAR2(200) := 'SQLerrm';
8 G_SQLCODE_TOKEN CONSTANT VARCHAR2(200) := 'SQLcode';
9 G_VIEW CONSTANT VARCHAR2(200) := 'OKL_TRX_QUOTES_V';
10
11 G_EXCEPTION_HALT_VALIDATION EXCEPTION;
12 --------------------------------------------------------------------------------
13 -- Start of comments
14 -- Procedure Name : validate_currency_record
15 -- Description : Used for validation of Currency Code Conversion Coulms
16 -- Business Rules : If transaction currency <> functional currency, then
17 -- conversion columns are mandatory
18 -- Else If transaction currency = functional currency,
19 -- then conversion columns should all be NULL
20 -- Parameters : Record structure of OKL_TRX_QUOTE_B table
21 -- Version : 1.0
22 -- History : 15-DEC-2002 BAKUCHIB :Added new procedure
23 -- End of comments
24
25 PROCEDURE validate_currency_record(p_qtev_rec IN qtev_rec_type,
26 x_return_status OUT NOCOPY VARCHAR2) IS
27 BEGIN
28 x_return_status := OKC_API.G_RET_STS_SUCCESS;
29 -- If transaction currency <> functional currency, then conversion columns
30 -- are mandatory
31 IF (p_qtev_rec.currency_code <> p_qtev_rec.currency_conversion_code) THEN
32 IF (p_qtev_rec.currency_conversion_type = OKC_API.G_MISS_CHAR OR
33 p_qtev_rec.currency_conversion_type IS NULL) THEN
34 --SET MESSAGE
35 OKC_API.set_message(p_app_name => G_APP_NAME,
36 p_msg_name => G_REQUIRED_VALUE,
37 p_token1 => G_COL_NAME_TOKEN,
38 p_token1_value => 'currency_conversion_type');
39 x_return_status := OKC_API.G_RET_STS_ERROR;
40 END IF;
41 IF (p_qtev_rec.currency_conversion_rate = OKC_API.G_MISS_NUM OR
42 p_qtev_rec.currency_conversion_rate IS NULL) THEN
43 --SET MESSAGE
44 OKC_API.set_message(p_app_name => G_APP_NAME,
45 p_msg_name => G_REQUIRED_VALUE,
46 p_token1 => G_COL_NAME_TOKEN,
47 p_token1_value => 'currency_conversion_rate');
48 x_return_status := OKC_API.G_RET_STS_ERROR;
49 END IF;
50 IF (p_qtev_rec.currency_conversion_date = OKC_API.G_MISS_DATE OR
51 p_qtev_rec.currency_conversion_date IS NULL) THEN
52 --SET MESSAGE
53 OKC_API.set_message(p_app_name => G_APP_NAME,
54 p_msg_name => G_REQUIRED_VALUE,
55 p_token1 => G_COL_NAME_TOKEN,
56 p_token1_value => 'currency_conversion_date');
57 x_return_status := OKC_API.G_RET_STS_ERROR;
58 END IF;
59 -- Else If transaction currency = functional currency, then conversion
60 -- columns should all be NULL
61 ELSIF (p_qtev_rec.currency_code = p_qtev_rec.currency_conversion_code) THEN
62 IF (p_qtev_rec.currency_conversion_type IS NOT NULL) OR
63 (p_qtev_rec.currency_conversion_rate IS NOT NULL) OR
64 (p_qtev_rec.currency_conversion_date IS NOT NULL) THEN
65 --SET MESSAGE
66 -- Currency conversion columns should be all null
67 IF p_qtev_rec.currency_conversion_rate IS NOT NULL THEN
68 OKC_API.set_message(p_app_name => G_APP_NAME,
69 p_msg_name => G_INVALID_VALUE,
70 p_token1 => G_COL_NAME_TOKEN,
71 p_token1_value => 'currency_conversion_rate');
72 END IF;
73 IF p_qtev_rec.currency_conversion_date IS NOT NULL THEN
74 OKC_API.set_message(p_app_name => G_APP_NAME,
75 p_msg_name => G_INVALID_VALUE,
76 p_token1 => G_COL_NAME_TOKEN,
77 p_token1_value => 'currency_conversion_date');
78 END IF;
79 IF p_qtev_rec.currency_conversion_type IS NOT NULL THEN
80 OKC_API.set_message(p_app_name => G_APP_NAME,
81 p_msg_name => G_INVALID_VALUE,
82 p_token1 => G_COL_NAME_TOKEN,
83 p_token1_value => 'currency_conversion_type');
84 END IF;
85 x_return_status := OKC_API.G_RET_STS_ERROR;
86 END IF;
87 ELSE
88 x_return_status := OKC_API.G_RET_STS_ERROR;
89 END IF;
90 IF x_return_status <> OKC_API.G_RET_STS_SUCCESS THEN
91 RAISE G_EXCEPTION_HALT_VALIDATION;
92 END IF;
93 EXCEPTION
94 WHEN G_EXCEPTION_HALT_VALIDATION THEN
95 x_return_status := OKC_API.G_RET_STS_ERROR;
96 WHEN OTHERS THEN
97 -- store SQL error message on message stack for caller
98 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
99 p_msg_name => g_unexpected_error,
100 p_token1 => g_sqlcode_token,
101 p_token1_value => sqlcode,
102 p_token2 => g_sqlerrm_token,
103 p_token2_value => sqlerrm);
104 -- notify caller of an UNEXPECTED error
105 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
106 END validate_currency_record;
107 --------------------------------------------------------------------------------
108 -- Start of comments
109 -- Procedure Name : validate_currency_code
110 -- Description : Validation of Currency Code
111 -- Business Rules :
112 -- Parameters : Record structure of OKL_TRX_QUOTE_B table
113 -- Version : 1.0
114 -- History : 15-DEC-2002 BAKUCHIB :Added new procedure
115 -- End of comments
116
117 PROCEDURE validate_currency_code(p_qtev_rec IN qtev_rec_type,
118 x_return_status OUT NOCOPY VARCHAR2) IS
119 l_return_status VARCHAR2(3) := OKC_API.G_TRUE;
120 BEGIN
121 -- initialize return status
122 x_return_status := OKC_API.G_RET_STS_SUCCESS;
123 -- data is required
124 IF (p_qtev_rec.currency_code IS NULL) OR
125 (p_qtev_rec.currency_code = OKC_API.G_MISS_CHAR) THEN
126 OKC_API.SET_MESSAGE( p_app_name => G_APP_NAME
127 ,p_msg_name => G_REQUIRED_VALUE
128 ,p_token1 => G_COL_NAME_TOKEN
129 ,p_token1_value => 'currency_code');
130
131 -- halt further validation of this column
132 RAISE G_EXCEPTION_HALT_VALIDATION;
133 END IF;
134 -- check from currency values using the generic okl_util.validate_currency_code
135 l_return_status := OKL_ACCOUNTING_UTIL.validate_currency_code(p_qtev_rec.currency_code);
136 IF (l_return_status <> OKC_API.G_TRUE) THEN
137 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
138 p_msg_name => g_invalid_value,
139 p_token1 => g_col_name_token,
140 p_token1_value => 'currency_code');
141 -- halt further validation of this column
142 RAISE G_EXCEPTION_HALT_VALIDATION;
143 END IF;
144 EXCEPTION
145 WHEN G_EXCEPTION_HALT_VALIDATION THEN
146 x_return_status := OKC_API.G_RET_STS_ERROR;
147 WHEN OTHERS THEN
148 -- store SQL error message on message stack for caller
149 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
150 p_msg_name => g_unexpected_error,
151 p_token1 => g_sqlcode_token,
152 p_token1_value => sqlcode,
153 p_token2 => g_sqlerrm_token,
154 p_token2_value => sqlerrm);
155 -- notify caller of an UNEXPECTED error
156 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
157 END validate_currency_code;
158 --------------------------------------------------------------------------------
159 -- Start of comments
160 -- Procedure Name : validate_currency_con_code
161 -- Description : Validation of Currency Conversion Code
162 -- Business Rules :
163 -- Parameters : Record structure of OKL_TRX_QUOTE_B table
164 -- Version : 1.0
165 -- History : 15-DEC-2002 BAKUCHIB :Added new procedure
166 -- End of comments
167
168 PROCEDURE validate_currency_con_code(p_qtev_rec IN qtev_rec_type,
169 x_return_status OUT NOCOPY VARCHAR2) IS
170 l_return_status VARCHAR2(3) := OKC_API.G_TRUE;
171 BEGIN
172 -- initialize return status
173 x_return_status := OKC_API.G_RET_STS_SUCCESS;
174 -- data is required
175 IF (p_qtev_rec.currency_conversion_code IS NULL) OR
176 (p_qtev_rec.currency_conversion_code = OKC_API.G_MISS_CHAR) THEN
177 OKC_API.SET_MESSAGE( p_app_name => G_APP_NAME
178 ,p_msg_name => G_REQUIRED_VALUE
179 ,p_token1 => G_COL_NAME_TOKEN
180 ,p_token1_value => 'currency_conversion_code');
181 -- halt further validation of this column
182 RAISE G_EXCEPTION_HALT_VALIDATION;
183 END IF;
184 -- check from currency values using the generic okl_util.validate_currency_code
185 l_return_status := OKL_ACCOUNTING_UTIL.validate_currency_code(p_qtev_rec.currency_conversion_code);
186 IF (l_return_status <> OKC_API.G_TRUE) THEN
187 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
188 p_msg_name => g_invalid_value,
189 p_token1 => g_col_name_token,
190 p_token1_value => 'currency_conversion_code');
191 -- halt further validation of this column
192 RAISE G_EXCEPTION_HALT_VALIDATION;
193 END IF;
194 EXCEPTION
195 WHEN G_EXCEPTION_HALT_VALIDATION THEN
196 x_return_status := OKC_API.G_RET_STS_ERROR;
197 WHEN OTHERS THEN
198 -- store SQL error message on message stack for caller
199 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
200 p_msg_name => g_unexpected_error,
201 p_token1 => g_sqlcode_token,
202 p_token1_value => sqlcode,
203 p_token2 => g_sqlerrm_token,
204 p_token2_value => sqlerrm);
205
206 -- notify caller of an UNEXPECTED error
207 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
208 END validate_currency_con_code;
209 -------------------------------------------------------------------------------
210 -- Start of comments
211 -- Procedure Name : validate_currency_con_type
212 -- Description : Validation of Currency Conversion type
213 -- Business Rules :
214 -- Parameters : Record structure of OKL_TRX_QUOTE_B table
215 -- Version : 1.0
216 -- History : 15-DEC-2002 BAKUCHIB :Added new procedure
217 -- End of comments
218
219 PROCEDURE validate_currency_con_type(p_qtev_rec IN qtev_rec_type,
220 x_return_status OUT NOCOPY VARCHAR2) IS
221 l_return_status VARCHAR2(3) := OKC_API.G_TRUE;
222 BEGIN
223 -- initialize return status
224 x_return_status := OKC_API.G_RET_STS_SUCCESS;
225 IF (p_qtev_rec.currency_conversion_type <> OKL_API.G_MISS_CHAR AND
226 p_qtev_rec.currency_conversion_type IS NOT NULL) THEN
227 -- check from currency values using the generic okl_util.validate_currency_code
228 l_return_status := OKL_ACCOUNTING_UTIL.validate_currency_con_type(p_qtev_rec.currency_conversion_type);
229 IF (l_return_status <> OKC_API.G_TRUE) THEN
230 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
231 p_msg_name => g_invalid_value,
232 p_token1 => g_col_name_token,
233 p_token1_value => 'currency_conversion_type');
234 -- halt further validation of this column
235 RAISE G_EXCEPTION_HALT_VALIDATION;
236 END IF;
237 END IF;
238 EXCEPTION
239 WHEN G_EXCEPTION_HALT_VALIDATION THEN
240 x_return_status := OKC_API.G_RET_STS_ERROR;
241 WHEN OTHERS THEN
242 -- store SQL error message on message stack for caller
243 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
244 p_msg_name => g_unexpected_error,
245 p_token1 => g_sqlcode_token,
246 p_token1_value => sqlcode,
247 p_token2 => g_sqlerrm_token,
248 p_token2_value => sqlerrm);
249 -- notify caller of an UNEXPECTED error
250 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
251 END validate_currency_con_type;
252 --------------------------------------------------------------------------------
253
254 --g_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
255
256 -- Start of comments
257 --
258 -- Procedure Name : validate_id
259 -- Description :
260 -- Business Rules :
261 -- Parameters :
262 -- Version : 1.0
263 -- End of comments
264 PROCEDURE validate_id(p_qtev_rec IN qtev_rec_type
265 ,x_return_status OUT NOCOPY VARCHAR2) IS
266
267 BEGIN
268 -- initialize return status
269 x_return_status := OKC_API.G_RET_STS_SUCCESS;
270
271 -- data is required
272 IF (p_qtev_rec.id IS NULL) OR
273 (p_qtev_rec.id = OKC_API.G_MISS_NUM) THEN
274
275 OKC_API.SET_MESSAGE( p_app_name => G_APP_NAME
276 ,p_msg_name => G_REQUIRED_VALUE
277 ,p_token1 => G_COL_NAME_TOKEN
278 ,p_token1_value => 'id');
279
280 -- notify caller of an error
281 x_return_status := OKC_API.G_RET_STS_ERROR;
282
283 -- halt further validation of this column
284 RAISE G_EXCEPTION_HALT_VALIDATION;
285 END IF;
286
287 EXCEPTION
288 WHEN G_EXCEPTION_HALT_VALIDATION THEN
289 null;
290
291 WHEN OTHERS THEN
292 -- store SQL error message on message stack for caller
293 OKC_API.SET_MESSAGE( p_app_name => G_APP_NAME
294 ,p_msg_name => G_UNEXPECTED_ERROR
295 ,p_token1 => G_SQLCODE_TOKEN
296 ,p_token1_value => sqlcode
297 ,p_token2 => G_SQLERRM_TOKEN
298 ,p_token2_value => sqlerrm);
299
300 -- notify caller of an UNEXPECTED error
301 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
302
303 END validate_id;
304
305 -- Start of comments
306 --
307 -- Procedure Name : validate_object_version_number
308 -- Description :
309 -- Business Rules :
310 -- Parameters :
311 -- Version : 1.0
312 -- End of comments
313 PROCEDURE validate_object_version_number(p_qtev_rec IN qtev_rec_type
314 ,x_return_status OUT NOCOPY VARCHAR2) IS
315
316 BEGIN
317 -- initialize return status
318 x_return_status := OKC_API.G_RET_STS_SUCCESS;
319
320 -- data is required
321 IF (p_qtev_rec.object_version_number IS NULL) OR
322 (p_qtev_rec.object_version_number = OKC_API.G_MISS_NUM) THEN
323
324 OKC_API.SET_MESSAGE( p_app_name => G_APP_NAME
325 ,p_msg_name => G_REQUIRED_VALUE
326 ,p_token1 => G_COL_NAME_TOKEN
327 ,p_token1_value => 'object_version_number');
328
329 -- notify caller of an error
330 x_return_status := OKC_API.G_RET_STS_ERROR;
331
332 -- halt further validation of this column
333 RAISE G_EXCEPTION_HALT_VALIDATION;
334 END IF;
335
336 EXCEPTION
337 WHEN G_EXCEPTION_HALT_VALIDATION THEN
338 null;
339
340 WHEN OTHERS THEN
341 -- store SQL error message on message stack for caller
342 OKC_API.SET_MESSAGE( p_app_name => G_APP_NAME
343 ,p_msg_name => G_UNEXPECTED_ERROR
344 ,p_token1 => G_SQLCODE_TOKEN
345 ,p_token1_value => sqlcode
346 ,p_token2 => G_SQLERRM_TOKEN
347 ,p_token2_value => sqlerrm);
348
349 -- notify caller of an UNEXPECTED error
350 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
351
352 END validate_object_version_number;
353
354 --dkagrawa added following validation for LE uptake
355 -- Start of comments
356 --
357 -- Procedure Name : validate_legal_entity_id(
358 -- Description :
359 -- Business Rules :
360 -- Parameters :
361 -- Version : 1.0
362 -- End of comments
363
364 PROCEDURE validate_legal_entity_id( p_qtev_rec IN qtev_rec_type
365 ,x_return_status OUT NOCOPY VARCHAR2) IS
366 l_exists NUMBER(1);
367 BEGIN
368 -- initialize return status
369 x_return_status := OKC_API.G_RET_STS_SUCCESS;
370 IF (p_qtev_rec.legal_entity_id = OKL_API.G_MISS_NUM OR
371 p_qtev_rec.legal_entity_id IS NULL)
372 THEN
373 OKL_API.set_message(G_APP_NAME, G_REQUIRED_VALUE, G_COL_NAME_TOKEN, 'LEGAL_ENTITY_ID');
374 x_return_status := OKL_API.G_RET_STS_ERROR;
375 -- halt further validation of this column
376 RAISE G_EXCEPTION_HALT_VALIDATION;
377 ELSE
378 l_exists := OKL_LEGAL_ENTITY_UTIL.check_le_id_exists(p_qtev_rec.legal_entity_id);
379 IF (l_exists <> 1) THEN
380 OKL_API.set_message(G_APP_NAME, G_INVALID_VALUE,G_COL_NAME_TOKEN,'LEGAL_ENTITY_ID');
381 x_return_status := OKL_API.G_RET_STS_ERROR;
382 -- halt further validation of this column
383 RAISE G_EXCEPTION_HALT_VALIDATION;
384 END IF;
385 END IF;
386
387 EXCEPTION
388 WHEN G_EXCEPTION_HALT_VALIDATION THEN
389 null;
390 WHEN OTHERS THEN
391 OKL_API.SET_MESSAGE( p_app_name => G_APP_NAME
392 ,p_msg_name => G_UNEXPECTED_ERROR
393 ,p_token1 => G_SQLCODE_TOKEN
394 ,p_token1_value => SQLCODE
395 ,p_token2 => G_SQLERRM_TOKEN
396 ,p_token2_value => SQLERRM);
397 -- notify caller of an UNEXPECTED error
398 x_return_status := OKL_API.G_RET_STS_UNEXP_ERROR;
399 END validate_legal_entity_id;
400
401 --AKP:REPO-QUOTE-START 6599890
402 -- Start of comments
403 --
404 -- Procedure Name : validate_repo_qte_indicator_yn(
405 -- Description :
406 -- Business Rules :
407 -- Parameters :
408 -- Version : 1.0
409 -- End of comments
410
411 PROCEDURE validate_repo_qte_indicator_yn( p_qtev_rec IN qtev_rec_type
412 ,x_return_status OUT NOCOPY VARCHAR2) IS
413 BEGIN
414 -- initialize return status
415 x_return_status := OKC_API.G_RET_STS_SUCCESS;
416 IF (p_qtev_rec.repo_quote_indicator_yn IS NOT NULL AND
417 p_qtev_rec.repo_quote_indicator_yn <> OKL_API.G_MISS_CHAR )
418 THEN
419 IF p_qtev_rec.repo_quote_indicator_yn NOT IN ('Y', 'N') THEN
420 OKL_API.SET_MESSAGE(
421 p_app_name => 'OKL',
422 p_msg_name => 'OKL_LA_VAR_INVALID_PARAM',
423 p_token1 => 'VALUE',
424 p_token1_value => p_qtev_rec.repo_quote_indicator_yn,
425 p_token2 => 'PARAM',
426 p_token2_value => 'REPO_QUOTE_INDICATOR_YN');
427 x_return_status := OKL_API.G_RET_STS_ERROR;
428 -- halt further validation of this column
429 RAISE G_EXCEPTION_HALT_VALIDATION;
430 END IF;
431 END IF;
432
433 EXCEPTION
434 WHEN G_EXCEPTION_HALT_VALIDATION THEN
435 null;
436 WHEN OTHERS THEN
437 OKL_API.SET_MESSAGE( p_app_name => G_APP_NAME
438 ,p_msg_name => G_UNEXPECTED_ERROR
439 ,p_token1 => G_SQLCODE_TOKEN
440 ,p_token1_value => SQLCODE
441 ,p_token2 => G_SQLERRM_TOKEN
442 ,p_token2_value => SQLERRM);
443 -- notify caller of an UNEXPECTED error
444 x_return_status := OKL_API.G_RET_STS_UNEXP_ERROR;
445 END validate_repo_qte_indicator_yn;
446 --AKP:REPO-QUOTE-START
447
448
449 -- Start of comments
450 --
451 -- Procedure Name : validate_sfwt_flag
452 -- Description :
453 -- Business Rules :
454 -- Parameters :
455 -- Version : 1.0
456 -- End of comments
457 PROCEDURE validate_sfwt_flag(p_qtev_rec IN qtev_rec_type
458 ,x_return_status OUT NOCOPY VARCHAR2) IS
459
460 BEGIN
461 -- initialize return status
462 x_return_status := OKC_API.G_RET_STS_SUCCESS;
463
464 -- data is required
465 IF (p_qtev_rec.sfwt_flag IS NULL) OR
466 (p_qtev_rec.sfwt_flag = OKC_API.G_MISS_CHAR) THEN
467
468 OKC_API.SET_MESSAGE( p_app_name => G_APP_NAME
469 ,p_msg_name => G_REQUIRED_VALUE
470 ,p_token1 => G_COL_NAME_TOKEN
471 ,p_token1_value => 'sfwt_flag');
472
473 -- notify caller of an error
474 x_return_status := OKC_API.G_RET_STS_ERROR;
475
476 -- halt further validation of this column
477 RAISE G_EXCEPTION_HALT_VALIDATION;
478 END IF;
479
480 EXCEPTION
481 WHEN G_EXCEPTION_HALT_VALIDATION THEN
482 null;
483
484 WHEN OTHERS THEN
485 -- store SQL error message on message stack for caller
486 OKC_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
493 -- notify caller of an UNEXPECTED error
494 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
495
496 END validate_sfwt_flag;
497
498 -- Start of comments
499 --
500 -- Procedure Name : validate_qrs_code
501 -- Description :
502 -- Business Rules :
503 -- Parameters :
504 -- Version : 1.0
505 -- End of comments
506 PROCEDURE validate_qrs_code(p_qtev_rec IN qtev_rec_type
507 ,x_return_status OUT NOCOPY VARCHAR2) IS
508
509 BEGIN
510 -- initialize return status
511 x_return_status := OKC_API.G_RET_STS_SUCCESS;
512
513 -- data is required
514 IF (p_qtev_rec.qrs_code IS NULL) OR
515 (p_qtev_rec.qrs_code = OKC_API.G_MISS_CHAR) THEN
516
517 OKC_API.SET_MESSAGE( p_app_name => G_APP_NAME
518 ,p_msg_name => G_REQUIRED_VALUE
519 ,p_token1 => G_COL_NAME_TOKEN
520 ,p_token1_value => 'qrs_code');
521
522 -- notify caller of an error
523 x_return_status := OKC_API.G_RET_STS_ERROR;
524
525 -- halt further validation of this column
526 RAISE G_EXCEPTION_HALT_VALIDATION;
527 END IF;
528
529 x_return_status := OKL_UTIL.check_lookup_code(
530 p_lookup_type => 'OKL_QUOTE_REASON'
531 ,p_lookup_code => p_qtev_rec.qrs_code);
532
533 IF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
534 OKC_API.SET_MESSAGE(p_app_name => G_APP_NAME,
535 p_msg_name => G_INVALID_VALUE,
536 p_token1 => G_COL_NAME_TOKEN,
537 p_token1_value => 'qrs_code');
538
539 raise G_EXCEPTION_HALT_VALIDATION;
540
541 ELSIF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
542
543 raise G_EXCEPTION_HALT_VALIDATION;
544
545 end if;
546
547 EXCEPTION
548 WHEN G_EXCEPTION_HALT_VALIDATION THEN
549 null;
550
551 WHEN OTHERS THEN
552 -- store SQL error message on message stack for caller
553 OKC_API.SET_MESSAGE( p_app_name => G_APP_NAME
554 ,p_msg_name => G_UNEXPECTED_ERROR
555 ,p_token1 => G_SQLCODE_TOKEN
556 ,p_token1_value => sqlcode
557 ,p_token2 => G_SQLERRM_TOKEN
558 ,p_token2_value => sqlerrm);
559
560 -- notify caller of an UNEXPECTED error
561 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
562
563 END validate_qrs_code;
564
565 -- Start of comments
566 --
567 -- Procedure Name : validate_qst_code
568 -- Description :
569 -- Business Rules :
570 -- Parameters :
571 -- Version : 1.0
572 -- End of comments
573 PROCEDURE validate_qst_code(p_qtev_rec IN qtev_rec_type
574 ,x_return_status OUT NOCOPY VARCHAR2) IS
575
576 BEGIN
577 -- initialize return status
578 x_return_status := OKC_API.G_RET_STS_SUCCESS;
579
580 -- data is required
581 IF (p_qtev_rec.qst_code IS NULL) OR
582 (p_qtev_rec.qst_code = OKC_API.G_MISS_CHAR) THEN
583
584 OKC_API.SET_MESSAGE( p_app_name => G_APP_NAME
585 ,p_msg_name => G_REQUIRED_VALUE
586 ,p_token1 => G_COL_NAME_TOKEN
587 ,p_token1_value => 'qst_code');
588
589 -- notify caller of an error
590 x_return_status := OKC_API.G_RET_STS_ERROR;
591
592 -- halt further validation of this column
593 RAISE G_EXCEPTION_HALT_VALIDATION;
594 END IF;
595
596 x_return_status := OKL_UTIL.check_lookup_code(
597 p_lookup_type => 'OKL_QUOTE_STATUS'
598 ,p_lookup_code => p_qtev_rec.qst_code);
599
600 IF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
601 OKC_API.SET_MESSAGE(p_app_name => G_APP_NAME,
602 p_msg_name => G_INVALID_VALUE,
603 p_token1 => G_COL_NAME_TOKEN,
604 p_token1_value => 'qst_code');
605
606 raise G_EXCEPTION_HALT_VALIDATION;
607
608 ELSIF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
609
610 raise G_EXCEPTION_HALT_VALIDATION;
611
612 end if;
613
614 EXCEPTION
615 WHEN G_EXCEPTION_HALT_VALIDATION THEN
616 null;
617
618 WHEN OTHERS THEN
619 -- store SQL error message on message stack for caller
620 OKC_API.SET_MESSAGE( p_app_name => G_APP_NAME
621 ,p_msg_name => G_UNEXPECTED_ERROR
622 ,p_token1 => G_SQLCODE_TOKEN
623 ,p_token1_value => sqlcode
624 ,p_token2 => G_SQLERRM_TOKEN
625 ,p_token2_value => sqlerrm);
626
627 -- notify caller of an UNEXPECTED error
628 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
629
630 END validate_qst_code;
631
632 -- Start of comments
633 --
634 -- Procedure Name : validate_qtp_code
635 -- Description :
636 -- Business Rules :
637 -- Parameters :
638 -- Version : 1.0
639 -- End of comments
640 PROCEDURE validate_qtp_code(p_qtev_rec IN qtev_rec_type
641 ,x_return_status OUT NOCOPY VARCHAR2) IS
642
643 BEGIN
644 -- initialize return status
645 x_return_status := OKC_API.G_RET_STS_SUCCESS;
646
647 -- data is required
648 IF (p_qtev_rec.qtp_code IS NULL) OR
649 (p_qtev_rec.qtp_code = OKC_API.G_MISS_CHAR) THEN
650
651 OKC_API.SET_MESSAGE( p_app_name => G_APP_NAME
652 ,p_msg_name => G_REQUIRED_VALUE
653 ,p_token1 => G_COL_NAME_TOKEN
654 ,p_token1_value => 'qtp_code');
655
656 -- notify caller of an error
657 x_return_status := OKC_API.G_RET_STS_ERROR;
658
659 -- halt further validation of this column
660 RAISE G_EXCEPTION_HALT_VALIDATION;
661 END IF;
662
663 x_return_status := OKL_UTIL.check_lookup_code(
664 p_lookup_type => 'OKL_QUOTE_TYPE'
665 ,p_lookup_code => p_qtev_rec.qtp_code);
666
667 IF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
668 OKC_API.SET_MESSAGE(p_app_name => G_APP_NAME,
669 p_msg_name => G_INVALID_VALUE,
670 p_token1 => G_COL_NAME_TOKEN,
671 p_token1_value => 'qtp_code');
672
673 raise G_EXCEPTION_HALT_VALIDATION;
674
675 ELSIF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
676
677 raise G_EXCEPTION_HALT_VALIDATION;
678
679 end if;
680
681 EXCEPTION
682 WHEN G_EXCEPTION_HALT_VALIDATION THEN
683 null;
684
685 WHEN OTHERS THEN
686 -- store SQL error message on message stack for caller
687 OKC_API.SET_MESSAGE( p_app_name => G_APP_NAME
688 ,p_msg_name => G_UNEXPECTED_ERROR
689 ,p_token1 => G_SQLCODE_TOKEN
690 ,p_token1_value => sqlcode
691 ,p_token2 => G_SQLERRM_TOKEN
692 ,p_token2_value => sqlerrm);
693
694 -- notify caller of an UNEXPECTED error
695 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
696
697 END validate_qtp_code;
698
699 -- Start of comments
700 --
701 -- Procedure Name : validate_trn_code
702 -- Description :
703 -- Business Rules :
704 -- Parameters :
705 -- Version : 1.0
706 -- End of comments
707 PROCEDURE validate_trn_code(p_qtev_rec IN qtev_rec_type
708 ,x_return_status OUT NOCOPY VARCHAR2) IS
709
710 BEGIN
711 -- initialize return status
712 x_return_status := OKC_API.G_RET_STS_SUCCESS;
713
714 -- data is not required
715 IF (p_qtev_rec.trn_code IS NOT NULL) AND
716 (p_qtev_rec.trn_code <> OKC_API.G_MISS_CHAR) THEN
717
718 x_return_status := OKL_UTIL.check_lookup_code(
719 p_lookup_type => 'OKC_TERMINATION_REASON'
720 ,p_lookup_code => p_qtev_rec.trn_code);
721
722 IF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
723 OKC_API.SET_MESSAGE(p_app_name => G_APP_NAME,
724 p_msg_name => G_INVALID_VALUE,
725 p_token1 => G_COL_NAME_TOKEN,
726 p_token1_value => 'trn_code');
727
728 RAISE G_EXCEPTION_HALT_VALIDATION;
729
730 ELSIF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
731
732 RAISE G_EXCEPTION_HALT_VALIDATION;
733
734 END IF;
735
736 END IF;
737
738 EXCEPTION
739 WHEN G_EXCEPTION_HALT_VALIDATION THEN
740 null;
741
742 WHEN OTHERS THEN
743 -- store SQL error message on message stack for caller
744 OKC_API.SET_MESSAGE( p_app_name => G_APP_NAME
745 ,p_msg_name => G_UNEXPECTED_ERROR
746 ,p_token1 => G_SQLCODE_TOKEN
747 ,p_token1_value => sqlcode
748 ,p_token2 => G_SQLERRM_TOKEN
749 ,p_token2_value => sqlerrm);
750
751 -- notify caller of an UNEXPECTED error
752 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
753
754 END validate_trn_code;
755
756 -- Start of comments
757 --
758 -- Procedure Name : validate_pop_code_end
759 -- Description :
760 -- Business Rules :
761 -- Parameters :
762 -- Version : 1.0
763 -- End of comments
764 PROCEDURE validate_pop_code_end(p_qtev_rec IN qtev_rec_type
765 ,x_return_status OUT NOCOPY VARCHAR2) IS
766
767 BEGIN
768 -- initialize return status
769 x_return_status := OKC_API.G_RET_STS_SUCCESS;
770
771 IF (p_qtev_rec.pop_code_end IS NOT NULL) AND
772 (p_qtev_rec.pop_code_end <> OKC_API.G_MISS_CHAR) THEN
773
774 x_return_status := OKL_UTIL.check_lookup_code(
775 p_lookup_type => 'OKL_EOT_OPTION'
776 ,p_lookup_code => p_qtev_rec.pop_code_end);
777
778 IF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
779 OKC_API.SET_MESSAGE(p_app_name => G_APP_NAME,
780 p_msg_name => G_INVALID_VALUE,
781 p_token1 => G_COL_NAME_TOKEN,
782 p_token1_value => 'pop_code_end');
783
784 raise G_EXCEPTION_HALT_VALIDATION;
785
786 ELSIF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
787
788 raise G_EXCEPTION_HALT_VALIDATION;
789
790 end if;
791
792 END IF;
793
794 EXCEPTION
795 WHEN G_EXCEPTION_HALT_VALIDATION THEN
796 null;
797
798 WHEN OTHERS THEN
799 -- store SQL error message on message stack for caller
800 OKC_API.SET_MESSAGE( p_app_name => G_APP_NAME
801 ,p_msg_name => G_UNEXPECTED_ERROR
802 ,p_token1 => G_SQLCODE_TOKEN
803 ,p_token1_value => sqlcode
804 ,p_token2 => G_SQLERRM_TOKEN
805 ,p_token2_value => sqlerrm);
806
807 -- notify caller of an UNEXPECTED error
808 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
809
810 END validate_pop_code_end;
811
812 -- Start of comments
813 --
814 -- Procedure Name : validate_pop_code_early
815 -- Description :
816 -- Business Rules :
817 -- Parameters :
818 -- Version : 1.0
819 -- End of comments
820 PROCEDURE validate_pop_code_early(p_qtev_rec IN qtev_rec_type
821 ,x_return_status OUT NOCOPY VARCHAR2) IS
822
823 BEGIN
824 -- initialize return status
825 x_return_status := OKC_API.G_RET_STS_SUCCESS;
826
827 IF (p_qtev_rec.pop_code_early IS NOT NULL) AND
828 (p_qtev_rec.pop_code_early <> OKC_API.G_MISS_CHAR) THEN
829
830 x_return_status := OKL_UTIL.check_lookup_code(
831 p_lookup_type => 'OKL_PURCHASE_OPTION'
832 ,p_lookup_code => p_qtev_rec.pop_code_early);
833
834 IF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
835
836 OKC_API.SET_MESSAGE(p_app_name => G_APP_NAME,
837 p_msg_name => G_INVALID_VALUE,
838 p_token1 => G_COL_NAME_TOKEN,
839 p_token1_value => 'pop_code_early');
840
841 raise G_EXCEPTION_HALT_VALIDATION;
842
843 ELSIF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
844
845 raise G_EXCEPTION_HALT_VALIDATION;
846
847 end if;
848
849 END IF;
850
851 EXCEPTION
852 WHEN G_EXCEPTION_HALT_VALIDATION THEN
853 null;
854
855 WHEN OTHERS THEN
856 -- store SQL error message on message stack for caller
857 OKC_API.SET_MESSAGE( p_app_name => G_APP_NAME
858 ,p_msg_name => G_UNEXPECTED_ERROR
859 ,p_token1 => G_SQLCODE_TOKEN
860 ,p_token1_value => sqlcode
861 ,p_token2 => G_SQLERRM_TOKEN
862 ,p_token2_value => sqlerrm);
863
864 -- notify caller of an UNEXPECTED error
865 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
866
867 END validate_pop_code_early;
868
869 -- Start of comments
870 --
871 -- Procedure Name : validate_consolidated_qte_id
872 -- Description :
873 -- Business Rules :
874 -- Parameters :
875 -- Version : 1.0
876 -- End of comments
877 PROCEDURE validate_consolidated_qte_id(p_qtev_rec IN qtev_rec_type
878 ,x_return_status OUT NOCOPY VARCHAR2) IS
879 -- select the ID of the parent record from the parent
880 CURSOR okl_qtev_csr (p_consolidated_qte_id IN NUMBER) IS
881 SELECT 'x'
882 FROM OKL_TRX_QUOTES_V
883 WHERE ID = p_consolidated_qte_id;
884
885 l_dummy_var VARCHAR2(1) := '?';
886
887 BEGIN
888 -- initialize return status
889 x_return_status := OKC_API.G_RET_STS_SUCCESS;
890
891 IF (p_qtev_rec.consolidated_qte_id IS NOT NULL) AND
892 (p_qtev_rec.consolidated_qte_id <> OKC_API.G_MISS_NUM) THEN
893
894 -- enforce foreign key
895 OPEN okl_qtev_csr(p_qtev_rec.consolidated_qte_id);
896 FETCH okl_qtev_csr INTO l_dummy_var;
897 CLOSE okl_qtev_csr;
898
899 -- if l_dummy_var is still set to default, data was not found
900 IF (l_dummy_var = '?') THEN
901 OKC_API.SET_MESSAGE(p_app_name => G_APP_NAME
902 ,p_msg_name => G_NO_PARENT_RECORD
903 ,p_token1 => G_COL_NAME_TOKEN
904 ,p_token1_value => 'consolidated_qte_id'
905 ,p_token2 => G_CHILD_TABLE_TOKEN
906 ,p_token2_value => 'OKL_TRX_QUOTES_V'
907 ,p_token3 => G_PARENT_TABLE_TOKEN
908 ,p_token3_value => 'OKL_TRX_QUOTES_V');
909
910 -- notify caller of an error
911 x_return_status := OKC_API.G_RET_STS_ERROR;
912
913 -- halt further validation of this column
914 RAISE G_EXCEPTION_HALT_VALIDATION;
915 END IF;
916 END IF;
917
918 EXCEPTION
919 WHEN G_EXCEPTION_HALT_VALIDATION THEN
920 null;
921
922 WHEN OTHERS THEN
923 -- store SQL error message on message stack for caller
924 OKC_API.SET_MESSAGE( p_app_name => G_APP_NAME
925 ,p_msg_name => G_UNEXPECTED_ERROR
926 ,p_token1 => G_SQLCODE_TOKEN
927 ,p_token1_value => sqlcode
928 ,p_token2 => G_SQLERRM_TOKEN
929 ,p_token2_value => sqlerrm);
930
931 -- notify caller of an UNEXPECTED error
932 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
933
934 -- verify that cursor was closed
935 IF okl_qtev_csr%ISOPEN THEN
936 CLOSE okl_qtev_csr;
937 END IF;
938
939 END validate_consolidated_qte_id;
940
941 -- Start of comments
942 --
943 -- Procedure Name : validate_khr_id
944 -- Description :
945 -- Business Rules :
946 -- Parameters :
947 -- Version : 1.0
948 -- End of comments
949 PROCEDURE validate_khr_id(p_qtev_rec IN qtev_rec_type
950 ,x_return_status OUT NOCOPY VARCHAR2) IS
951
952 -- select the ID of the parent record from the parent
953 CURSOR okl_khrv_csr (p_khr_id IN NUMBER) IS
954 SELECT 'x'
955 FROM OKL_K_HEADERS_V
956 WHERE ID = p_khr_id;
957
958 l_dummy_var VARCHAR2(1) := '?';
959
960 BEGIN
961 -- initialize return status
962 x_return_status := OKC_API.G_RET_STS_SUCCESS;
963
964 IF p_qtev_rec.khr_id IS NOT NULL
965 AND p_qtev_rec.khr_id <> OKC_API.G_MISS_NUM THEN
966
967 -- enforce foreign key
968 OPEN okl_khrv_csr(p_qtev_rec.khr_id);
969 FETCH okl_khrv_csr INTO l_dummy_var;
970 CLOSE okl_khrv_csr;
971
972 -- if l_dummy_var is still set to default, data was not found
973 IF (l_dummy_var = '?') THEN
974 OKC_API.SET_MESSAGE(p_app_name => OKL_API.G_APP_NAME
975 ,p_msg_name => 'OKL_NO_PARENT_RECORD'
976 ,p_token1 => 'COL_NAME'
977 ,p_token1_value => 'khr_id'
978 ,p_token2 => 'CHILD_TABLE'
979 ,p_token2_value => 'OKL_K_HEADERS_V'
980 ,p_token3 => 'PARENT_TABLE'
981 ,p_token3_value => 'OKL_TRX_QUOTES_V');
982
983 -- notify caller of an error
984 x_return_status := OKC_API.G_RET_STS_ERROR;
985
986 -- halt further validation of this column
987 RAISE G_EXCEPTION_HALT_VALIDATION;
988 END IF;
989 END IF;
990
991 EXCEPTION
992 WHEN G_EXCEPTION_HALT_VALIDATION THEN
993 null;
994
995 WHEN OTHERS THEN
996 -- store SQL error message on message stack for caller
997 OKC_API.SET_MESSAGE( p_app_name => G_APP_NAME
998 ,p_msg_name => G_UNEXPECTED_ERROR
999 ,p_token1 => G_SQLCODE_TOKEN
1000 ,p_token1_value => sqlcode
1001 ,p_token2 => G_SQLERRM_TOKEN
1002 ,p_token2_value => sqlerrm);
1003
1004 -- notify caller of an UNEXPECTED error
1005 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1006
1007 -- verify that cursor was closed
1008 IF okl_khrv_csr%ISOPEN THEN
1009 CLOSE okl_khrv_csr;
1010 END IF;
1011
1012 END validate_khr_id;
1013
1014 -- Start of comments
1015 --
1016 -- Procedure Name : validate_pdt_id
1017 -- Description :
1018 -- Business Rules :
1019 -- Parameters :
1020 -- Version : 1.0
1021 -- End of comments
1022 PROCEDURE validate_pdt_id(p_qtev_rec IN qtev_rec_type
1023 ,x_return_status OUT NOCOPY VARCHAR2) IS
1024
1025 -- select the ID of the parent record from the parent
1026 CURSOR okl_pdtv_csr (p_pdt_id IN NUMBER) IS
1027 SELECT 'x'
1028 FROM OKL_PRODUCTS_V
1029 WHERE ID = p_pdt_id;
1030
1031 l_dummy_var VARCHAR2(1) := '?';
1032
1033 BEGIN
1034 -- initialize return status
1035 x_return_status := OKC_API.G_RET_STS_SUCCESS;
1036
1037 IF (p_qtev_rec.pdt_id IS NOT NULL) AND
1038 (p_qtev_rec.pdt_id <> OKC_API.G_MISS_NUM) THEN
1039
1040 -- enforce foreign key
1041 OPEN okl_pdtv_csr(p_qtev_rec.pdt_id);
1042 FETCH okl_pdtv_csr INTO l_dummy_var;
1043 CLOSE okl_pdtv_csr;
1044
1045 -- if l_dummy_var is still set to default, data was not found
1046 IF (l_dummy_var = '?') THEN
1047 OKC_API.SET_MESSAGE(p_app_name => G_APP_NAME
1048 ,p_msg_name => G_NO_PARENT_RECORD
1049 ,p_token1 => G_COL_NAME_TOKEN
1050 ,p_token1_value => 'pdt_id'
1051 ,p_token2 => G_CHILD_TABLE_TOKEN
1052 ,p_token2_value => 'OKL_TRX_QUOTES_V'
1053 ,p_token3 => G_PARENT_TABLE_TOKEN
1054 ,p_token3_value => 'OKL_PRODUCTS_V');
1055
1056 -- notify caller of an error
1057 x_return_status := OKC_API.G_RET_STS_ERROR;
1058
1059 -- halt further validation of this column
1060 RAISE G_EXCEPTION_HALT_VALIDATION;
1061 END IF;
1062 END IF;
1063
1064 EXCEPTION
1065 WHEN G_EXCEPTION_HALT_VALIDATION THEN
1066 null;
1067
1068 WHEN OTHERS THEN
1069 -- store SQL error message on message stack for caller
1070 OKC_API.SET_MESSAGE( p_app_name => G_APP_NAME
1071 ,p_msg_name => G_UNEXPECTED_ERROR
1072 ,p_token1 => G_SQLCODE_TOKEN
1073 ,p_token1_value => sqlcode
1074 ,p_token2 => G_SQLERRM_TOKEN
1075 ,p_token2_value => sqlerrm);
1076
1077 -- notify caller of an UNEXPECTED error
1078 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1079
1080 -- verify that cursor was closed
1081 IF okl_pdtv_csr%ISOPEN THEN
1082 CLOSE okl_pdtv_csr;
1083 END IF;
1084
1085 END validate_pdt_id;
1086
1087 -- Start of comments
1088 --
1089 -- Procedure Name : validate_early_termination_yn
1090 -- Description :
1091 -- Business Rules :
1092 -- Parameters :
1093 -- Version : 1.0
1094 -- End of comments
1095 PROCEDURE validate_early_termination_yn(p_qtev_rec IN qtev_rec_type
1096 ,x_return_status OUT NOCOPY VARCHAR2) IS
1097
1098 BEGIN
1099 -- initialize return status
1100 x_return_status := OKC_API.G_RET_STS_SUCCESS;
1101
1102 -- data is required
1103 IF (p_qtev_rec.early_termination_yn IS NULL) OR
1104 (p_qtev_rec.early_termination_yn = OKC_API.G_MISS_CHAR) THEN
1105
1106 OKC_API.SET_MESSAGE( p_app_name => G_APP_NAME
1107 ,p_msg_name => G_REQUIRED_VALUE
1108 ,p_token1 => G_COL_NAME_TOKEN
1109 ,p_token1_value => 'early_termination_yn');
1110
1111 -- notify caller of an error
1112 x_return_status := OKC_API.G_RET_STS_ERROR;
1113
1114 -- halt further validation of this column
1115 RAISE G_EXCEPTION_HALT_VALIDATION;
1116 END IF;
1117
1118 x_return_status := OKL_UTIL.check_domain_yn(
1119 p_col_value => p_qtev_rec.early_termination_yn);
1120
1121 IF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
1122 OKC_API.SET_MESSAGE(p_app_name => G_APP_NAME,
1123 p_msg_name => G_INVALID_VALUE,
1124 p_token1 => G_COL_NAME_TOKEN,
1125 p_token1_value => 'early_termination_yn');
1126
1127 raise G_EXCEPTION_HALT_VALIDATION;
1128
1129 ELSIF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1130
1131 raise G_EXCEPTION_HALT_VALIDATION;
1132
1133 end if;
1134
1135 EXCEPTION
1136 WHEN G_EXCEPTION_HALT_VALIDATION THEN
1137 null;
1138
1139 WHEN OTHERS THEN
1140 -- store SQL error message on message stack for caller
1141 OKC_API.SET_MESSAGE( p_app_name => G_APP_NAME
1142 ,p_msg_name => G_UNEXPECTED_ERROR
1143 ,p_token1 => G_SQLCODE_TOKEN
1144 ,p_token1_value => sqlcode
1145 ,p_token2 => G_SQLERRM_TOKEN
1146 ,p_token2_value => sqlerrm);
1147
1148 -- notify caller of an UNEXPECTED error
1149 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1150
1151 END validate_early_termination_yn;
1152
1153 -- Start of comments
1154 --
1155 -- Procedure Name : validate_partial_yn
1156 -- Description :
1157 -- Business Rules :
1158 -- Parameters :
1159 -- Version : 1.0
1160 -- End of comments
1161 PROCEDURE validate_partial_yn(p_qtev_rec IN qtev_rec_type
1162 ,x_return_status OUT NOCOPY VARCHAR2) IS
1163
1164 BEGIN
1165 -- initialize return status
1166 x_return_status := OKC_API.G_RET_STS_SUCCESS;
1167
1168 -- data is required
1169 IF (p_qtev_rec.partial_yn IS NULL) OR
1170 (p_qtev_rec.partial_yn = OKC_API.G_MISS_CHAR) THEN
1171
1172 OKC_API.SET_MESSAGE( p_app_name => G_APP_NAME
1173 ,p_msg_name => G_REQUIRED_VALUE
1174 ,p_token1 => G_COL_NAME_TOKEN
1175 ,p_token1_value => 'partial_yn');
1176
1177 -- notify caller of an error
1178 x_return_status := OKC_API.G_RET_STS_ERROR;
1179
1180 -- halt further validation of this column
1181 RAISE G_EXCEPTION_HALT_VALIDATION;
1182 END IF;
1183
1184 x_return_status := OKL_UTIL.check_domain_yn(
1185 p_col_value => p_qtev_rec.partial_yn);
1186
1187 IF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
1188 OKC_API.SET_MESSAGE(p_app_name => G_APP_NAME,
1189 p_msg_name => G_INVALID_VALUE,
1190 p_token1 => G_COL_NAME_TOKEN,
1191 p_token1_value => 'partial_yn');
1192
1193 raise G_EXCEPTION_HALT_VALIDATION;
1194
1195 ELSIF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1196
1197 raise G_EXCEPTION_HALT_VALIDATION;
1198
1199 end if;
1200
1201 EXCEPTION
1202 WHEN G_EXCEPTION_HALT_VALIDATION THEN
1203 null;
1204
1205 WHEN OTHERS THEN
1206 -- store SQL error message on message stack for caller
1207 OKC_API.SET_MESSAGE( p_app_name => G_APP_NAME
1208 ,p_msg_name => G_UNEXPECTED_ERROR
1209 ,p_token1 => G_SQLCODE_TOKEN
1210 ,p_token1_value => sqlcode
1211 ,p_token2 => G_SQLERRM_TOKEN
1212 ,p_token2_value => sqlerrm);
1213
1214 -- notify caller of an UNEXPECTED error
1215 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1216
1217 END validate_partial_yn;
1218
1219 -- Start of comments
1220 --
1221 -- Procedure Name : validate_preproceeds_yn
1222 -- Description :
1223 -- Business Rules :
1224 -- Parameters :
1225 -- Version : 1.0
1226 -- End of comments
1227 PROCEDURE validate_preproceeds_yn(p_qtev_rec IN qtev_rec_type
1228 ,x_return_status OUT NOCOPY VARCHAR2) IS
1229
1230 BEGIN
1231 -- initialize return status
1232 x_return_status := OKC_API.G_RET_STS_SUCCESS;
1233
1234 -- data is required
1235 IF (p_qtev_rec.preproceeds_yn IS NULL) OR
1236 (p_qtev_rec.preproceeds_yn = OKC_API.G_MISS_CHAR) THEN
1237
1238 OKC_API.SET_MESSAGE( p_app_name => G_APP_NAME
1239 ,p_msg_name => G_REQUIRED_VALUE
1240 ,p_token1 => G_COL_NAME_TOKEN
1241 ,p_token1_value => 'preproceeds_yn');
1242
1243 -- notify caller of an error
1244 x_return_status := OKC_API.G_RET_STS_ERROR;
1245
1246 -- halt further validation of this column
1247 RAISE G_EXCEPTION_HALT_VALIDATION;
1248 END IF;
1249
1250 x_return_status := OKL_UTIL.check_domain_yn(
1251 p_col_value => p_qtev_rec.preproceeds_yn);
1252
1253 IF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
1254 OKC_API.SET_MESSAGE(p_app_name => G_APP_NAME,
1255 p_msg_name => G_INVALID_VALUE,
1256 p_token1 => G_COL_NAME_TOKEN,
1257 p_token1_value => 'preproceeds_yn');
1258
1259 raise G_EXCEPTION_HALT_VALIDATION;
1260
1261 ELSIF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1262
1263 raise G_EXCEPTION_HALT_VALIDATION;
1264
1265 end if;
1266
1267 EXCEPTION
1268 WHEN G_EXCEPTION_HALT_VALIDATION THEN
1269 null;
1270
1271 WHEN OTHERS THEN
1272 -- store SQL error message on message stack for caller
1273 OKC_API.SET_MESSAGE( p_app_name => G_APP_NAME
1274 ,p_msg_name => G_UNEXPECTED_ERROR
1275 ,p_token1 => G_SQLCODE_TOKEN
1276 ,p_token1_value => sqlcode
1277 ,p_token2 => G_SQLERRM_TOKEN
1278 ,p_token2_value => sqlerrm);
1279
1280 -- notify caller of an UNEXPECTED error
1281 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1282
1283 END validate_preproceeds_yn;
1284
1285 -- Start of comments
1286 --
1287 -- Procedure Name : validate_date_requested
1288 -- Description :
1289 -- Business Rules :
1290 -- Parameters :
1291 -- Version : 1.0
1292 -- End of comments
1293 PROCEDURE validate_date_requested(p_qtev_rec IN qtev_rec_type
1294 ,x_return_status OUT NOCOPY VARCHAR2) IS
1295
1296 BEGIN
1297 -- initialize return status
1298 x_return_status := OKC_API.G_RET_STS_SUCCESS;
1299
1300 -- data is not required
1301 IF (p_qtev_rec.date_requested IS NULL) OR
1302 (p_qtev_rec.date_requested = OKC_API.G_MISS_DATE) THEN
1303
1304 -- halt further validation of this column
1305 RAISE G_EXCEPTION_HALT_VALIDATION;
1306 END IF;
1307
1308 EXCEPTION
1309 WHEN G_EXCEPTION_HALT_VALIDATION THEN
1310 null;
1311
1312 WHEN OTHERS THEN
1313 -- store SQL error message on message stack for caller
1314 OKC_API.SET_MESSAGE( p_app_name => G_APP_NAME
1315 ,p_msg_name => G_UNEXPECTED_ERROR
1316 ,p_token1 => G_SQLCODE_TOKEN
1317 ,p_token1_value => sqlcode
1318 ,p_token2 => G_SQLERRM_TOKEN
1319 ,p_token2_value => sqlerrm);
1320
1321 -- notify caller of an UNEXPECTED error
1322 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1323
1324 END validate_date_requested;
1325
1326 -- Start of comments
1327 --
1328 -- Procedure Name : validate_date_proposal
1329 -- Description :
1330 -- Business Rules :
1331 -- Parameters :
1332 -- Version : 1.0
1333 -- End of comments
1334 PROCEDURE validate_date_proposal(p_qtev_rec IN qtev_rec_type
1335 ,x_return_status OUT NOCOPY VARCHAR2) IS
1336
1337 BEGIN
1338 -- initialize return status
1339 x_return_status := OKC_API.G_RET_STS_SUCCESS;
1340
1341 -- data is required
1342 IF (p_qtev_rec.date_proposal IS NULL) OR
1343 (p_qtev_rec.date_proposal = OKC_API.G_MISS_DATE) THEN
1344
1345 -- halt further validation of this column
1346 RAISE G_EXCEPTION_HALT_VALIDATION;
1347 END IF;
1348
1349 EXCEPTION
1350 WHEN G_EXCEPTION_HALT_VALIDATION THEN
1351 null;
1352
1353 WHEN OTHERS THEN
1354 -- store SQL error message on message stack for caller
1355 OKC_API.SET_MESSAGE( p_app_name => G_APP_NAME
1356 ,p_msg_name => G_UNEXPECTED_ERROR
1357 ,p_token1 => G_SQLCODE_TOKEN
1358 ,p_token1_value => sqlcode
1359 ,p_token2 => G_SQLERRM_TOKEN
1360 ,p_token2_value => sqlerrm);
1361
1362 -- notify caller of an UNEXPECTED error
1363 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1364
1365 END validate_date_proposal;
1366
1367 -- Start of comments
1368 --
1369 -- Procedure Name : validate_date_effective_to
1370 -- Description :
1371 -- Business Rules :
1372 -- Parameters :
1373 -- Version : 1.0
1374 -- End of comments
1375 PROCEDURE validate_date_effective_to(p_qtev_rec IN qtev_rec_type
1376 ,x_return_status OUT NOCOPY VARCHAR2) IS
1377
1378 BEGIN
1379 -- initialize return status
1380 x_return_status := OKC_API.G_RET_STS_SUCCESS;
1381
1382 -- data is required
1383 IF (p_qtev_rec.date_effective_to IS NULL) OR
1384 (p_qtev_rec.date_effective_to = OKC_API.G_MISS_DATE) THEN
1385 -- rmunjulu bug 6674730 -- if Loan Repo Quote then Effective To Can be Null
1386 IF (nvl(p_qtev_rec.repo_quote_indicator_yn,'N') = 'N') THEN
1387 OKC_API.SET_MESSAGE( p_app_name => G_APP_NAME
1388 ,p_msg_name => G_REQUIRED_VALUE
1389 ,p_token1 => G_COL_NAME_TOKEN
1390 ,p_token1_value => 'date_effective_to');
1391
1392 -- notify caller of an error
1393 x_return_status := OKC_API.G_RET_STS_ERROR;
1394
1395 -- halt further validation of this column
1396 RAISE G_EXCEPTION_HALT_VALIDATION;
1397 END IF;
1398 END IF;
1399
1400 EXCEPTION
1401 WHEN G_EXCEPTION_HALT_VALIDATION THEN
1402 null;
1403
1404 WHEN OTHERS THEN
1405 -- store SQL error message on message stack for caller
1406 OKC_API.SET_MESSAGE( p_app_name => G_APP_NAME
1407 ,p_msg_name => G_UNEXPECTED_ERROR
1408 ,p_token1 => G_SQLCODE_TOKEN
1409 ,p_token1_value => sqlcode
1410 ,p_token2 => G_SQLERRM_TOKEN
1411 ,p_token2_value => sqlerrm);
1412
1413 -- notify caller of an UNEXPECTED error
1414 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1415
1416 END validate_date_effective_to;
1417
1418 -- Start of comments
1419 --
1420 -- Procedure Name : validate_date_accepted
1421 -- Description :
1422 -- Business Rules :
1423 -- Parameters :
1424 -- Version : 1.0
1425 -- End of comments
1426 PROCEDURE validate_date_accepted(p_qtev_rec IN qtev_rec_type
1427 ,x_return_status OUT NOCOPY VARCHAR2) IS
1428
1429 BEGIN
1430 -- initialize return status
1431 x_return_status := OKC_API.G_RET_STS_SUCCESS;
1432
1433 EXCEPTION
1434 WHEN G_EXCEPTION_HALT_VALIDATION THEN
1435 null;
1436
1437 WHEN OTHERS THEN
1438 -- store SQL error message on message stack for caller
1439 OKC_API.SET_MESSAGE( p_app_name => G_APP_NAME
1440 ,p_msg_name => G_UNEXPECTED_ERROR
1441 ,p_token1 => G_SQLCODE_TOKEN
1442 ,p_token1_value => sqlcode
1443 ,p_token2 => G_SQLERRM_TOKEN
1444 ,p_token2_value => sqlerrm);
1445
1446 -- notify caller of an UNEXPECTED error
1447 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1448
1449 END validate_date_accepted;
1450
1451 -- Start of comments
1452 --
1453 -- Procedure Name : validate_summary_format_yn
1454 -- Description :
1455 -- Business Rules :
1456 -- Parameters :
1457 -- Version : 1.0
1458 -- End of comments
1459 PROCEDURE validate_summary_format_yn(p_qtev_rec IN qtev_rec_type
1460 ,x_return_status OUT NOCOPY VARCHAR2) IS
1461
1462 BEGIN
1463 -- initialize return status
1464 x_return_status := OKC_API.G_RET_STS_SUCCESS;
1465
1466 -- data is not required
1467 IF (p_qtev_rec.summary_format_yn IS NULL) OR
1468 (p_qtev_rec.summary_format_yn = OKC_API.G_MISS_CHAR) THEN
1469
1470 -- halt further validation of this column
1471 RAISE G_EXCEPTION_HALT_VALIDATION;
1472 END IF;
1473
1474 x_return_status := OKL_UTIL.check_domain_yn(
1475 p_col_value => p_qtev_rec.summary_format_yn);
1476
1477 IF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
1478 OKC_API.SET_MESSAGE(p_app_name => G_APP_NAME,
1479 p_msg_name => G_INVALID_VALUE,
1480 p_token1 => G_COL_NAME_TOKEN,
1481 p_token1_value => 'summary_format_yn');
1482
1483 raise G_EXCEPTION_HALT_VALIDATION;
1484
1485 ELSIF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1486
1487 raise G_EXCEPTION_HALT_VALIDATION;
1488
1489 end if;
1490
1491 EXCEPTION
1492 WHEN G_EXCEPTION_HALT_VALIDATION THEN
1493 null;
1494
1495 WHEN OTHERS THEN
1496 -- store SQL error message on message stack for caller
1497 OKC_API.SET_MESSAGE( p_app_name => G_APP_NAME
1498 ,p_msg_name => G_UNEXPECTED_ERROR
1499 ,p_token1 => G_SQLCODE_TOKEN
1500 ,p_token1_value => sqlcode
1501 ,p_token2 => G_SQLERRM_TOKEN
1502 ,p_token2_value => sqlerrm);
1503
1504 -- notify caller of an UNEXPECTED error
1505 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1506
1507 END validate_summary_format_yn;
1508
1509 -- Start of comments
1510 --
1511 -- Procedure Name : validate_consolidated_yn
1512 -- Description :
1513 -- Business Rules :
1514 -- Parameters :
1515 -- Version : 1.0
1516 -- End of comments
1517 PROCEDURE validate_consolidated_yn(p_qtev_rec IN qtev_rec_type
1518 ,x_return_status OUT NOCOPY VARCHAR2) IS
1519
1520 BEGIN
1521 -- initialize return status
1522 x_return_status := OKC_API.G_RET_STS_SUCCESS;
1523
1524 -- data is not required
1525 IF (p_qtev_rec.consolidated_yn IS NULL) OR
1526 (p_qtev_rec.consolidated_yn = OKC_API.G_MISS_CHAR) THEN
1527
1528 -- halt further validation of this column
1529 RAISE G_EXCEPTION_HALT_VALIDATION;
1530 END IF;
1531
1532 x_return_status := OKL_UTIL.check_domain_yn(
1533 p_col_value => p_qtev_rec.consolidated_yn);
1534
1535 IF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
1536 OKC_API.SET_MESSAGE(p_app_name => G_APP_NAME,
1537 p_msg_name => G_INVALID_VALUE,
1538 p_token1 => G_COL_NAME_TOKEN,
1539 p_token1_value => 'consolidated_yn');
1540
1541 raise G_EXCEPTION_HALT_VALIDATION;
1542
1543 ELSIF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1544
1545 raise G_EXCEPTION_HALT_VALIDATION;
1546
1547 end if;
1548
1549 EXCEPTION
1550 WHEN G_EXCEPTION_HALT_VALIDATION THEN
1551 null;
1552
1553 WHEN OTHERS THEN
1554 -- store SQL error message on message stack for caller
1555 OKC_API.SET_MESSAGE( p_app_name => G_APP_NAME
1556 ,p_msg_name => G_UNEXPECTED_ERROR
1557 ,p_token1 => G_SQLCODE_TOKEN
1558 ,p_token1_value => sqlcode
1559 ,p_token2 => G_SQLERRM_TOKEN
1560 ,p_token2_value => sqlerrm);
1561
1562 -- notify caller of an UNEXPECTED error
1563 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1564
1565 END validate_consolidated_yn;
1566
1567 -- Start of comments
1568 --
1569 -- Procedure Name : validate_principal_paydown_amt
1570 -- Description :
1571 -- Business Rules :
1572 -- Parameters :
1573 -- Version : 1.0
1574 -- End of comments
1575 PROCEDURE validate_principal_paydown_amt(p_qtev_rec IN qtev_rec_type
1576 ,x_return_status OUT NOCOPY VARCHAR2) IS
1577
1578 BEGIN
1579 -- initialize return status
1580 x_return_status := OKC_API.G_RET_STS_SUCCESS;
1581
1582 EXCEPTION
1583 WHEN G_EXCEPTION_HALT_VALIDATION THEN
1584 null;
1585
1586 WHEN OTHERS THEN
1587 -- store SQL error message on message stack for caller
1588 OKC_API.SET_MESSAGE( p_app_name => G_APP_NAME
1589 ,p_msg_name => G_UNEXPECTED_ERROR
1590 ,p_token1 => G_SQLCODE_TOKEN
1591 ,p_token1_value => sqlcode
1592 ,p_token2 => G_SQLERRM_TOKEN
1593 ,p_token2_value => sqlerrm);
1594
1595 -- notify caller of an UNEXPECTED error
1596 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1597
1598 END validate_principal_paydown_amt;
1599
1600 -- Start of comments
1601 --
1602 -- Procedure Name : validate_residual_amount
1603 -- Description :
1604 -- Business Rules :
1605 -- Parameters :
1606 -- Version : 1.0
1607 -- End of comments
1608 PROCEDURE validate_residual_amount(p_qtev_rec IN qtev_rec_type
1609 ,x_return_status OUT NOCOPY VARCHAR2) IS
1610
1611 BEGIN
1612 -- initialize return status
1613 x_return_status := OKC_API.G_RET_STS_SUCCESS;
1614
1615 EXCEPTION
1616 WHEN G_EXCEPTION_HALT_VALIDATION THEN
1617 null;
1618
1619 WHEN OTHERS THEN
1620 -- store SQL error message on message stack for caller
1621 OKC_API.SET_MESSAGE( p_app_name => G_APP_NAME
1622 ,p_msg_name => G_UNEXPECTED_ERROR
1623 ,p_token1 => G_SQLCODE_TOKEN
1624 ,p_token1_value => sqlcode
1625 ,p_token2 => G_SQLERRM_TOKEN
1626 ,p_token2_value => sqlerrm);
1627
1628 -- notify caller of an UNEXPECTED error
1629 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1630
1631 END validate_residual_amount;
1632
1633 -- Start of comments
1634 --
1635 -- Procedure Name : validate_yield
1636 -- Description :
1637 -- Business Rules :
1638 -- Parameters :
1639 -- Version : 1.0
1640 -- End of comments
1641 PROCEDURE validate_yield(p_qtev_rec IN qtev_rec_type
1642 ,x_return_status OUT NOCOPY VARCHAR2) IS
1643
1644 BEGIN
1645 -- initialize return status
1646 x_return_status := OKC_API.G_RET_STS_SUCCESS;
1647
1648 EXCEPTION
1649 WHEN G_EXCEPTION_HALT_VALIDATION THEN
1650 null;
1651
1652 WHEN OTHERS THEN
1653 -- store SQL error message on message stack for caller
1654 OKC_API.SET_MESSAGE( p_app_name => G_APP_NAME
1655 ,p_msg_name => G_UNEXPECTED_ERROR
1656 ,p_token1 => G_SQLCODE_TOKEN
1657 ,p_token1_value => sqlcode
1658 ,p_token2 => G_SQLERRM_TOKEN
1659 ,p_token2_value => sqlerrm);
1660
1661 -- notify caller of an UNEXPECTED error
1662 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1663
1664 END validate_yield;
1665
1666 -- Start of comments
1667 --
1668 -- Procedure Name : validate_rent_amount
1669 -- Description :
1670 -- Business Rules :
1671 -- Parameters :
1672 -- Version : 1.0
1673 -- End of comments
1674 PROCEDURE validate_rent_amount(p_qtev_rec IN qtev_rec_type
1675 ,x_return_status OUT NOCOPY VARCHAR2) IS
1676
1677 BEGIN
1678 -- initialize return status
1679 x_return_status := OKC_API.G_RET_STS_SUCCESS;
1680
1681 EXCEPTION
1682 WHEN G_EXCEPTION_HALT_VALIDATION THEN
1683 null;
1684
1685 WHEN OTHERS THEN
1686 -- store SQL error message on message stack for caller
1687 OKC_API.SET_MESSAGE( p_app_name => G_APP_NAME
1688 ,p_msg_name => G_UNEXPECTED_ERROR
1689 ,p_token1 => G_SQLCODE_TOKEN
1690 ,p_token1_value => sqlcode
1691 ,p_token2 => G_SQLERRM_TOKEN
1692 ,p_token2_value => sqlerrm);
1693
1694 -- notify caller of an UNEXPECTED error
1695 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1696
1697 END validate_rent_amount;
1698
1699 -- Start of comments
1700 --
1701 -- Procedure Name : validate_date_restructure_end
1702 -- Description :
1703 -- Business Rules :
1704 -- Parameters :
1705 -- Version : 1.0
1706 -- End of comments
1707 PROCEDURE validate_date_restructure_end(p_qtev_rec IN qtev_rec_type
1708 ,x_return_status OUT NOCOPY VARCHAR2) IS
1709
1710 BEGIN
1711 -- initialize return status
1712 x_return_status := OKC_API.G_RET_STS_SUCCESS;
1713
1714 EXCEPTION
1715 WHEN G_EXCEPTION_HALT_VALIDATION THEN
1716 null;
1717
1718 WHEN OTHERS THEN
1719 -- store SQL error message on message stack for caller
1720 OKC_API.SET_MESSAGE( p_app_name => G_APP_NAME
1721 ,p_msg_name => G_UNEXPECTED_ERROR
1722 ,p_token1 => G_SQLCODE_TOKEN
1723 ,p_token1_value => sqlcode
1724 ,p_token2 => G_SQLERRM_TOKEN
1725 ,p_token2_value => sqlerrm);
1726
1727 -- notify caller of an UNEXPECTED error
1728 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1729
1730 END validate_date_restructure_end;
1731
1732 -- Start of comments
1733 --
1734 -- Procedure Name : validate_date_restructure_start
1735 -- Description :
1736 -- Business Rules :
1737 -- Parameters :
1738 -- Version : 1.0
1739 -- End of comments
1740 PROCEDURE validate_date_res_start(p_qtev_rec IN qtev_rec_type
1741 ,x_return_status OUT NOCOPY VARCHAR2) IS
1742
1743 BEGIN
1744 -- initialize return status
1745 x_return_status := OKC_API.G_RET_STS_SUCCESS;
1746
1747 EXCEPTION
1748 WHEN G_EXCEPTION_HALT_VALIDATION THEN
1749 null;
1750
1751 WHEN OTHERS THEN
1752 -- store SQL error message on message stack for caller
1753 OKC_API.SET_MESSAGE( p_app_name => G_APP_NAME
1754 ,p_msg_name => G_UNEXPECTED_ERROR
1755 ,p_token1 => G_SQLCODE_TOKEN
1756 ,p_token1_value => sqlcode
1757 ,p_token2 => G_SQLERRM_TOKEN
1758 ,p_token2_value => sqlerrm);
1759
1760 -- notify caller of an UNEXPECTED error
1761 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1762
1763 END validate_date_res_start;
1764
1765 -- Start of comments
1766 --
1767 -- Procedure Name : validate_term
1768 -- Description :
1769 -- Business Rules :
1770 -- Parameters :
1771 -- Version : 1.0
1772 -- End of comments
1773 PROCEDURE validate_term(p_qtev_rec IN qtev_rec_type
1774 ,x_return_status OUT NOCOPY VARCHAR2) IS
1775
1776 BEGIN
1777 -- initialize return status
1778 x_return_status := OKC_API.G_RET_STS_SUCCESS;
1779
1780 EXCEPTION
1781 WHEN G_EXCEPTION_HALT_VALIDATION THEN
1782 null;
1783
1784 WHEN OTHERS THEN
1785 -- store SQL error message on message stack for caller
1786 OKC_API.SET_MESSAGE( p_app_name => G_APP_NAME
1787 ,p_msg_name => G_UNEXPECTED_ERROR
1788 ,p_token1 => G_SQLCODE_TOKEN
1789 ,p_token1_value => sqlcode
1790 ,p_token2 => G_SQLERRM_TOKEN
1791 ,p_token2_value => sqlerrm);
1792
1793 -- notify caller of an UNEXPECTED error
1794 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1795
1796 END validate_term;
1797
1798 -- Start of comments
1799 --
1800 -- Procedure Name : validate_purchase_percent
1801 -- Description :
1802 -- Business Rules :
1803 -- Parameters :
1804 -- Version : 1.0
1805 -- End of comments
1806 PROCEDURE validate_purchase_percent(p_qtev_rec IN qtev_rec_type
1807 ,x_return_status OUT NOCOPY VARCHAR2) IS
1808
1809 BEGIN
1810 -- initialize return status
1811 x_return_status := OKC_API.G_RET_STS_SUCCESS;
1812
1813 EXCEPTION
1814 WHEN G_EXCEPTION_HALT_VALIDATION THEN
1815 null;
1816
1817 WHEN OTHERS THEN
1818 -- store SQL error message on message stack for caller
1819 OKC_API.SET_MESSAGE( p_app_name => G_APP_NAME
1820 ,p_msg_name => G_UNEXPECTED_ERROR
1821 ,p_token1 => G_SQLCODE_TOKEN
1822 ,p_token1_value => sqlcode
1823 ,p_token2 => G_SQLERRM_TOKEN
1824 ,p_token2_value => sqlerrm);
1825
1826 -- notify caller of an UNEXPECTED error
1827 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1828
1829 END validate_purchase_percent;
1830
1831 -- Start of comments
1832 --
1833 -- Procedure Name : validate_comments
1834 -- Description :
1835 -- Business Rules :
1836 -- Parameters :
1837 -- Version : 1.0
1838 -- End of comments
1839 PROCEDURE validate_comments(p_qtev_rec IN qtev_rec_type
1840 ,x_return_status OUT NOCOPY VARCHAR2) IS
1841
1842 BEGIN
1843 -- initialize return status
1844 x_return_status := OKC_API.G_RET_STS_SUCCESS;
1845
1846 EXCEPTION
1847 WHEN G_EXCEPTION_HALT_VALIDATION THEN
1848 null;
1849
1850 WHEN OTHERS THEN
1851 -- store SQL error message on message stack for caller
1852 OKC_API.SET_MESSAGE( p_app_name => G_APP_NAME
1853 ,p_msg_name => G_UNEXPECTED_ERROR
1854 ,p_token1 => G_SQLCODE_TOKEN
1855 ,p_token1_value => sqlcode
1856 ,p_token2 => G_SQLERRM_TOKEN
1857 ,p_token2_value => sqlerrm);
1858
1859 -- notify caller of an UNEXPECTED error
1860 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1861
1862 END validate_comments;
1863
1864 -- Start of comments
1865 --
1866 -- Procedure Name : validate_date_due
1867 -- Description :
1868 -- Business Rules :
1869 -- Parameters :
1870 -- Version : 1.0
1871 -- End of comments
1872 PROCEDURE validate_date_due(p_qtev_rec IN qtev_rec_type
1873 ,x_return_status OUT NOCOPY VARCHAR2) IS
1874
1875 BEGIN
1876 -- initialize return status
1877 x_return_status := OKC_API.G_RET_STS_SUCCESS;
1878
1879 EXCEPTION
1880 WHEN G_EXCEPTION_HALT_VALIDATION THEN
1881 null;
1882
1883 WHEN OTHERS THEN
1884 -- store SQL error message on message stack for caller
1885 OKC_API.SET_MESSAGE( p_app_name => G_APP_NAME
1886 ,p_msg_name => G_UNEXPECTED_ERROR
1887 ,p_token1 => G_SQLCODE_TOKEN
1888 ,p_token1_value => sqlcode
1889 ,p_token2 => G_SQLERRM_TOKEN
1890 ,p_token2_value => sqlerrm);
1891
1892 -- notify caller of an UNEXPECTED error
1893 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1894
1895 END validate_date_due;
1896
1897 -- Start of comments
1898 --
1899 -- Procedure Name : validate_payment_frequency
1900 -- Description :
1901 -- Business Rules :
1902 -- Parameters :
1903 -- Version : 1.0
1904 -- End of comments
1905 PROCEDURE validate_payment_frequency(p_qtev_rec IN qtev_rec_type
1906 ,x_return_status OUT NOCOPY VARCHAR2) IS
1907
1908 BEGIN
1909 -- initialize return status
1910 x_return_status := OKC_API.G_RET_STS_SUCCESS;
1911
1912 EXCEPTION
1913 WHEN G_EXCEPTION_HALT_VALIDATION THEN
1914 null;
1915
1916 WHEN OTHERS THEN
1917 -- store SQL error message on message stack for caller
1918 OKC_API.SET_MESSAGE( p_app_name => G_APP_NAME
1919 ,p_msg_name => G_UNEXPECTED_ERROR
1920 ,p_token1 => G_SQLCODE_TOKEN
1921 ,p_token1_value => sqlcode
1922 ,p_token2 => G_SQLERRM_TOKEN
1923 ,p_token2_value => sqlerrm);
1924
1925 -- notify caller of an UNEXPECTED error
1926 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1927
1928 END validate_payment_frequency;
1929
1930 -- Start of comments
1931 --
1932 -- Procedure Name : validate_remaining_payments
1933 -- Description :
1934 -- Business Rules :
1935 -- Parameters :
1936 -- Version : 1.0
1937 -- End of comments
1938 PROCEDURE validate_remaining_payments(p_qtev_rec IN qtev_rec_type
1939 ,x_return_status OUT NOCOPY VARCHAR2) IS
1940
1941 BEGIN
1942 -- initialize return status
1943 x_return_status := OKC_API.G_RET_STS_SUCCESS;
1944
1945 EXCEPTION
1946 WHEN G_EXCEPTION_HALT_VALIDATION THEN
1947 null;
1948
1949 WHEN OTHERS THEN
1950 -- store SQL error message on message stack for caller
1951 OKC_API.SET_MESSAGE( p_app_name => G_APP_NAME
1952 ,p_msg_name => G_UNEXPECTED_ERROR
1953 ,p_token1 => G_SQLCODE_TOKEN
1954 ,p_token1_value => sqlcode
1955 ,p_token2 => G_SQLERRM_TOKEN
1956 ,p_token2_value => sqlerrm);
1957
1958 -- notify caller of an UNEXPECTED error
1959 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1960
1961 END validate_remaining_payments;
1962
1963 -- Start of comments
1964 --
1965 -- Procedure Name : validate_date_effective_from
1966 -- Description :
1967 -- Business Rules :
1968 -- Parameters :
1969 -- Version : 1.0
1970 -- End of comments
1971 PROCEDURE validate_date_effective_from(p_qtev_rec IN qtev_rec_type
1972 ,x_return_status OUT NOCOPY VARCHAR2) IS
1973
1974 BEGIN
1975 -- initialize return status
1976 x_return_status := OKC_API.G_RET_STS_SUCCESS;
1977
1978 -- data is required
1979 IF (p_qtev_rec.date_effective_from IS NULL) OR
1980 (p_qtev_rec.date_effective_from = OKC_API.G_MISS_DATE) THEN
1981
1982 OKC_API.SET_MESSAGE( p_app_name => G_APP_NAME
1983 ,p_msg_name => G_REQUIRED_VALUE
1984 ,p_token1 => G_COL_NAME_TOKEN
1985 ,p_token1_value => 'date_effective_from');
1986
1987 -- notify caller of an error
1988 x_return_status := OKC_API.G_RET_STS_ERROR;
1989
1990 -- halt further validation of this column
1991 RAISE G_EXCEPTION_HALT_VALIDATION;
1992 END IF;
1993
1994 EXCEPTION
1995 WHEN G_EXCEPTION_HALT_VALIDATION THEN
1996 null;
1997
1998 WHEN OTHERS THEN
1999 -- store SQL error message on message stack for caller
2000 OKC_API.SET_MESSAGE( p_app_name => G_APP_NAME
2001 ,p_msg_name => G_UNEXPECTED_ERROR
2002 ,p_token1 => G_SQLCODE_TOKEN
2003 ,p_token1_value => sqlcode
2004 ,p_token2 => G_SQLERRM_TOKEN
2005 ,p_token2_value => sqlerrm);
2006
2007 -- notify caller of an UNEXPECTED error
2008 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
2009
2010 END validate_date_effective_from;
2011
2012 -- Start of comments
2013 --
2014 -- Procedure Name : validate_quote_number
2015 -- Description :
2016 -- Business Rules :
2017 -- Parameters :
2018 -- Version : 1.0
2019 -- End of comments
2020 PROCEDURE validate_quote_number(p_qtev_rec IN qtev_rec_type
2021 ,x_return_status OUT NOCOPY VARCHAR2) IS
2022
2023 BEGIN
2024 -- initialize return status
2025 x_return_status := OKC_API.G_RET_STS_SUCCESS;
2026
2027 -- data is required
2028 IF (p_qtev_rec.quote_number IS NULL) OR
2029 (p_qtev_rec.quote_number = OKC_API.G_MISS_NUM) THEN
2030
2031 OKC_API.SET_MESSAGE( p_app_name => G_APP_NAME
2032 ,p_msg_name => G_REQUIRED_VALUE
2033 ,p_token1 => G_COL_NAME_TOKEN
2034 ,p_token1_value => 'quote_number');
2035
2036 -- notify caller of an error
2037 x_return_status := OKC_API.G_RET_STS_ERROR;
2038
2039 -- halt further validation of this column
2040 RAISE G_EXCEPTION_HALT_VALIDATION;
2041 END IF;
2042
2043 EXCEPTION
2044 WHEN G_EXCEPTION_HALT_VALIDATION THEN
2045 null;
2046
2047 WHEN OTHERS THEN
2048 -- store SQL error message on message stack for caller
2049 OKC_API.SET_MESSAGE( p_app_name => G_APP_NAME
2050 ,p_msg_name => G_UNEXPECTED_ERROR
2051 ,p_token1 => G_SQLCODE_TOKEN
2052 ,p_token1_value => sqlcode
2053 ,p_token2 => G_SQLERRM_TOKEN
2054 ,p_token2_value => sqlerrm);
2055
2056 -- notify caller of an UNEXPECTED error
2057 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
2058
2059 END validate_quote_number;
2060
2061 -- Start of comments
2062 --
2063 -- Procedure Name : validate_requested_by
2064 -- Description :
2065 -- Business Rules :
2066 -- Parameters :
2067 -- Version : 1.0
2068 -- End of comments
2069 PROCEDURE validate_requested_by(p_qtev_rec IN qtev_rec_type
2070 ,x_return_status OUT NOCOPY VARCHAR2) IS
2071
2072 BEGIN
2073 -- initialize return status
2074 x_return_status := OKC_API.G_RET_STS_SUCCESS;
2075
2076 -- data is not required
2077 IF (p_qtev_rec.requested_by IS NULL) OR
2078 (p_qtev_rec.requested_by = OKC_API.G_MISS_NUM) THEN
2079
2080 -- halt further validation of this column
2081 RAISE G_EXCEPTION_HALT_VALIDATION;
2082 END IF;
2083
2084 EXCEPTION
2085 WHEN G_EXCEPTION_HALT_VALIDATION THEN
2086 null;
2087
2088 WHEN OTHERS THEN
2089 -- store SQL error message on message stack for caller
2090 OKC_API.SET_MESSAGE( p_app_name => G_APP_NAME
2091 ,p_msg_name => G_UNEXPECTED_ERROR
2092 ,p_token1 => G_SQLCODE_TOKEN
2093 ,p_token1_value => sqlcode
2094 ,p_token2 => G_SQLERRM_TOKEN
2095 ,p_token2_value => sqlerrm);
2096
2097 -- notify caller of an UNEXPECTED error
2098 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
2099
2100 END validate_requested_by;
2101
2102 -- Start of comments
2103 --
2104 -- Procedure Name : validate_approved_yn
2105 -- Description :
2106 -- Business Rules :
2107 -- Parameters :
2108 -- Version : 1.0
2109 -- End of comments
2110 PROCEDURE validate_approved_yn(p_qtev_rec IN qtev_rec_type
2111 ,x_return_status OUT NOCOPY VARCHAR2) IS
2112
2113 BEGIN
2114 -- initialize return status
2115 x_return_status := OKC_API.G_RET_STS_SUCCESS;
2116
2117 -- data is not required
2118 IF (p_qtev_rec.approved_yn IS NULL) OR
2119 (p_qtev_rec.approved_yn = OKC_API.G_MISS_CHAR) THEN
2120
2121 -- halt further validation of this column
2122 RAISE G_EXCEPTION_HALT_VALIDATION;
2123 END IF;
2124
2125 x_return_status := OKL_UTIL.check_domain_yn(
2126 p_col_value => p_qtev_rec.approved_yn);
2127
2128 IF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
2129 OKC_API.SET_MESSAGE(p_app_name => G_APP_NAME,
2130 p_msg_name => G_INVALID_VALUE,
2131 p_token1 => G_COL_NAME_TOKEN,
2132 p_token1_value => 'approved_yn');
2133
2134 raise G_EXCEPTION_HALT_VALIDATION;
2135
2136 ELSIF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2137
2138 raise G_EXCEPTION_HALT_VALIDATION;
2139
2140 end if;
2141
2142 EXCEPTION
2143 WHEN G_EXCEPTION_HALT_VALIDATION THEN
2144 null;
2145
2146 WHEN OTHERS THEN
2147 -- store SQL error message on message stack for caller
2148 OKC_API.SET_MESSAGE( p_app_name => G_APP_NAME
2149 ,p_msg_name => G_UNEXPECTED_ERROR
2150 ,p_token1 => G_SQLCODE_TOKEN
2151 ,p_token1_value => sqlcode
2152 ,p_token2 => G_SQLERRM_TOKEN
2153 ,p_token2_value => sqlerrm);
2154
2155 -- notify caller of an UNEXPECTED error
2156 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
2157
2158 END validate_approved_yn;
2159
2160 -- Start of comments
2161 --
2162 -- Procedure Name : validate_accepted_yn
2163 -- Description :
2164 -- Business Rules :
2165 -- Parameters :
2166 -- Version : 1.0
2167 -- End of comments
2168 PROCEDURE validate_accepted_yn(p_qtev_rec IN qtev_rec_type
2169 ,x_return_status OUT NOCOPY VARCHAR2) IS
2170
2171 BEGIN
2172 -- initialize return status
2173 x_return_status := OKC_API.G_RET_STS_SUCCESS;
2174
2175 -- data is not required
2176 IF (p_qtev_rec.accepted_yn IS NULL) OR
2177 (p_qtev_rec.accepted_yn = OKC_API.G_MISS_CHAR) THEN
2178
2179 -- halt further validation of this column
2180 RAISE G_EXCEPTION_HALT_VALIDATION;
2181 END IF;
2182
2183 x_return_status := OKL_UTIL.check_domain_yn(
2184 p_col_value => p_qtev_rec.accepted_yn);
2185
2186 IF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
2187 OKC_API.SET_MESSAGE(p_app_name => G_APP_NAME,
2188 p_msg_name => G_INVALID_VALUE,
2189 p_token1 => G_COL_NAME_TOKEN,
2190 p_token1_value => 'accepted_yn');
2191
2192 raise G_EXCEPTION_HALT_VALIDATION;
2193
2194 ELSIF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2195
2196 raise G_EXCEPTION_HALT_VALIDATION;
2197
2198 end if;
2199
2200 EXCEPTION
2201 WHEN G_EXCEPTION_HALT_VALIDATION THEN
2202 null;
2203
2204 WHEN OTHERS THEN
2205 -- store SQL error message on message stack for caller
2206 OKC_API.SET_MESSAGE( p_app_name => G_APP_NAME
2207 ,p_msg_name => G_UNEXPECTED_ERROR
2208 ,p_token1 => G_SQLCODE_TOKEN
2209 ,p_token1_value => sqlcode
2210 ,p_token2 => G_SQLERRM_TOKEN
2211 ,p_token2_value => sqlerrm);
2212
2213 -- notify caller of an UNEXPECTED error
2214 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
2215
2216 END validate_accepted_yn;
2217
2218 -- Start of comments
2219 --
2220 -- Procedure Name : validate_payment_received_yn
2221 -- Description :
2222 -- Business Rules :
2223 -- Parameters :
2224 -- Version : 1.0
2225 -- End of comments
2226 PROCEDURE validate_payment_received_yn(p_qtev_rec IN qtev_rec_type
2227 ,x_return_status OUT NOCOPY VARCHAR2) IS
2228
2229 BEGIN
2230 -- initialize return status
2231 x_return_status := OKC_API.G_RET_STS_SUCCESS;
2232
2233 -- data is not required
2234 IF (p_qtev_rec.payment_received_yn IS NULL) OR
2235 (p_qtev_rec.payment_received_yn = OKC_API.G_MISS_CHAR) THEN
2236
2237 -- halt further validation of this column
2238 RAISE G_EXCEPTION_HALT_VALIDATION;
2239 END IF;
2240
2241 x_return_status := OKL_UTIL.check_domain_yn(
2242 p_col_value => p_qtev_rec.payment_received_yn);
2243
2244 IF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
2245 OKC_API.SET_MESSAGE(p_app_name => G_APP_NAME,
2246 p_msg_name => G_INVALID_VALUE,
2247 p_token1 => G_COL_NAME_TOKEN,
2248 p_token1_value => 'payment_received_yn');
2249
2250 raise G_EXCEPTION_HALT_VALIDATION;
2251
2252 ELSIF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2253
2254 raise G_EXCEPTION_HALT_VALIDATION;
2255
2256 end if;
2257
2258 EXCEPTION
2259 WHEN G_EXCEPTION_HALT_VALIDATION THEN
2260 null;
2261
2262 WHEN OTHERS THEN
2263 -- store SQL error message on message stack for caller
2264 OKC_API.SET_MESSAGE( p_app_name => G_APP_NAME
2265 ,p_msg_name => G_UNEXPECTED_ERROR
2266 ,p_token1 => G_SQLCODE_TOKEN
2267 ,p_token1_value => sqlcode
2268 ,p_token2 => G_SQLERRM_TOKEN
2269 ,p_token2_value => sqlerrm);
2270
2271 -- notify caller of an UNEXPECTED error
2272 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
2273
2274 END validate_payment_received_yn;
2275
2276 -- Start of comments
2277 --
2278 -- Procedure Name : validate_date_payment_received
2279 -- Description :
2280 -- Business Rules :
2281 -- Parameters :
2282 -- Version : 1.0
2283 -- End of comments
2284 PROCEDURE validate_date_payment_received(p_qtev_rec IN qtev_rec_type
2285 ,x_return_status OUT NOCOPY VARCHAR2) IS
2286
2287 BEGIN
2288 -- initialize return status
2289 x_return_status := OKC_API.G_RET_STS_SUCCESS;
2290
2291 EXCEPTION
2292 WHEN G_EXCEPTION_HALT_VALIDATION THEN
2293 null;
2294
2295 WHEN OTHERS THEN
2296 -- store SQL error message on message stack for caller
2297 OKC_API.SET_MESSAGE( p_app_name => G_APP_NAME
2298 ,p_msg_name => G_UNEXPECTED_ERROR
2299 ,p_token1 => G_SQLCODE_TOKEN
2300 ,p_token1_value => sqlcode
2301 ,p_token2 => G_SQLERRM_TOKEN
2302 ,p_token2_value => sqlerrm);
2303
2304 -- notify caller of an UNEXPECTED error
2305 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
2306
2307 END validate_date_payment_received;
2308
2309 -- Start of comments
2310 --
2311 -- Procedure Name : validate_date_approved
2312 -- Description :
2313 -- Business Rules :
2314 -- Parameters :
2315 -- Version : 1.0
2316 -- End of comments
2317 PROCEDURE validate_date_approved(p_qtev_rec IN qtev_rec_type
2318 ,x_return_status OUT NOCOPY VARCHAR2) IS
2319
2320 BEGIN
2321 -- initialize return status
2322 x_return_status := OKC_API.G_RET_STS_SUCCESS;
2323
2324 EXCEPTION
2325 WHEN G_EXCEPTION_HALT_VALIDATION THEN
2326 null;
2327
2328 WHEN OTHERS THEN
2329 -- store SQL error message on message stack for caller
2330 OKC_API.SET_MESSAGE( p_app_name => G_APP_NAME
2331 ,p_msg_name => G_UNEXPECTED_ERROR
2332 ,p_token1 => G_SQLCODE_TOKEN
2333 ,p_token1_value => sqlcode
2334 ,p_token2 => G_SQLERRM_TOKEN
2335 ,p_token2_value => sqlerrm);
2336
2337 -- notify caller of an UNEXPECTED error
2338 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
2339
2340 END validate_date_approved;
2341
2342 -- Start of comments
2343 --
2344 -- Procedure Name : validate_approved_by
2345 -- Description :
2346 -- Business Rules :
2347 -- Parameters :
2348 -- Version : 1.0
2349 -- End of comments
2350 PROCEDURE validate_approved_by(p_qtev_rec IN qtev_rec_type
2351 ,x_return_status OUT NOCOPY VARCHAR2) IS
2352
2353 BEGIN
2354 -- initialize return status
2355 x_return_status := OKC_API.G_RET_STS_SUCCESS;
2356
2357 EXCEPTION
2358 WHEN G_EXCEPTION_HALT_VALIDATION THEN
2359 null;
2360
2361 WHEN OTHERS THEN
2362 -- store SQL error message on message stack for caller
2363 OKC_API.SET_MESSAGE( p_app_name => G_APP_NAME
2364 ,p_msg_name => G_UNEXPECTED_ERROR
2365 ,p_token1 => G_SQLCODE_TOKEN
2366 ,p_token1_value => sqlcode
2367 ,p_token2 => G_SQLERRM_TOKEN
2368 ,p_token2_value => sqlerrm);
2369
2370 -- notify caller of an UNEXPECTED error
2371 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
2372
2373 END validate_approved_by;
2374
2375 -- Start of comments
2376 --
2377 -- Procedure Name : validate_org_id
2378 -- Description :
2379 -- Business Rules :
2380 -- Parameters :
2381 -- Version : 1.0
2382 -- End of comments
2383 PROCEDURE validate_org_id(p_qtev_rec IN qtev_rec_type
2384 ,x_return_status OUT NOCOPY VARCHAR2) IS
2385
2386 BEGIN
2387 -- initialize return status
2388 x_return_status := OKC_API.G_RET_STS_SUCCESS;
2389
2390 IF (p_qtev_rec.org_id IS NOT NULL) AND
2391 (p_qtev_rec.org_id <> OKC_API.G_MISS_NUM) THEN
2392
2393 x_return_status := OKL_UTIL.check_org_id(p_org_id => p_qtev_rec.org_id);
2394
2395 IF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
2396 OKC_API.SET_MESSAGE(p_app_name => G_APP_NAME,
2397 p_msg_name => G_INVALID_VALUE,
2398 p_token1 => G_COL_NAME_TOKEN,
2399 p_token1_value => 'org_id');
2400
2401 raise G_EXCEPTION_HALT_VALIDATION;
2402
2403 ELSIF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2404
2405 raise G_EXCEPTION_HALT_VALIDATION;
2406
2407 end if;
2408
2409 END IF;
2410
2411 EXCEPTION
2412 WHEN G_EXCEPTION_HALT_VALIDATION THEN
2413 null;
2414
2415 WHEN OTHERS THEN
2416 -- store SQL error message on message stack for caller
2417 OKC_API.SET_MESSAGE( p_app_name => G_APP_NAME
2418 ,p_msg_name => G_UNEXPECTED_ERROR
2419 ,p_token1 => G_SQLCODE_TOKEN
2420 ,p_token1_value => sqlcode
2421 ,p_token2 => G_SQLERRM_TOKEN
2422 ,p_token2_value => sqlerrm);
2423
2424 -- notify caller of an UNEXPECTED error
2425 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
2426
2427 END validate_org_id;
2428
2429 -- Start of comments
2430 --
2431 -- Procedure Name : validate_art_id
2432 -- Description :
2433 -- Business Rules :
2434 -- Parameters :
2435 -- Version : 1.0
2436 -- End of comments
2437 PROCEDURE validate_art_id(p_qtev_rec IN qtev_rec_type
2438 ,x_return_status OUT NOCOPY VARCHAR2) IS
2439
2440 -- select the ID of the parent record from the parent
2441 CURSOR okl_artv_csr (p_art_id IN NUMBER) IS
2442 SELECT 'x'
2443 FROM OKL_ASSET_RETURNS_V
2444 WHERE ID = p_art_id;
2445
2446 l_dummy_var VARCHAR2(1) := '?';
2447
2448 BEGIN
2449 -- initialize return status
2450 x_return_status := OKC_API.G_RET_STS_SUCCESS;
2451
2452 IF (p_qtev_rec.art_id IS NOT NULL) AND
2453 (p_qtev_rec.art_id <> OKC_API.G_MISS_NUM) THEN
2454
2455 -- enforce foreign key
2456 OPEN okl_artv_csr(p_qtev_rec.art_id);
2457 FETCH okl_artv_csr INTO l_dummy_var;
2458 CLOSE okl_artv_csr;
2459
2460 -- if l_dummy_var is still set to default, data was not found
2461 IF (l_dummy_var = '?') THEN
2462 OKC_API.SET_MESSAGE(p_app_name => G_APP_NAME
2463 ,p_msg_name => G_NO_PARENT_RECORD
2464 ,p_token1 => G_COL_NAME_TOKEN
2465 ,p_token1_value => 'art_id'
2466 ,p_token2 => G_CHILD_TABLE_TOKEN
2467 ,p_token2_value => 'OKL_TRX_QUOTES_V'
2468 ,p_token3 => G_PARENT_TABLE_TOKEN
2469 ,p_token3_value => 'OKL_ASSET_RETURNS_V');
2470
2471 -- notify caller of an error
2472 x_return_status := OKC_API.G_RET_STS_ERROR;
2473
2474 -- halt further validation of this column
2475 RAISE G_EXCEPTION_HALT_VALIDATION;
2476 END IF;
2477 END IF;
2478
2479 EXCEPTION
2480 WHEN G_EXCEPTION_HALT_VALIDATION THEN
2481 null;
2482
2483 WHEN OTHERS THEN
2484 -- store SQL error message on message stack for caller
2485 OKC_API.SET_MESSAGE( p_app_name => G_APP_NAME
2486 ,p_msg_name => G_UNEXPECTED_ERROR
2487 ,p_token1 => G_SQLCODE_TOKEN
2488 ,p_token1_value => sqlcode
2489 ,p_token2 => G_SQLERRM_TOKEN
2490 ,p_token2_value => sqlerrm);
2491
2492 -- notify caller of an UNEXPECTED error
2493 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
2494
2495 -- verify that cursor was closed
2496 IF okl_artv_csr%ISOPEN THEN
2497 CLOSE okl_artv_csr;
2498 END IF;
2499
2500 END validate_art_id;
2501
2502 -- Start of comments
2503 --
2504 -- Procedure Name : validate_termination
2505 -- Description :
2506 -- Business Rules :
2507 -- Parameters :
2508 -- Version : 1.0
2509 -- End of comments
2510 PROCEDURE validate_termination(p_qtev_rec IN qtev_rec_type
2511 ,x_return_status OUT NOCOPY VARCHAR2) IS
2512
2513 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
2514
2515 BEGIN
2516 -- initialize return status
2517 x_return_status := OKC_API.G_RET_STS_SUCCESS;
2518
2519 validate_trn_code( p_qtev_rec => p_qtev_rec
2520 ,x_return_status => l_return_status);
2521 -- store the highest degree of error
2522 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2523 IF (x_return_status <> OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2524 x_return_status := l_return_status;
2525 END IF;
2526 END IF;
2527
2528 validate_early_termination_yn( p_qtev_rec => p_qtev_rec
2529 ,x_return_status => l_return_status);
2530 -- store the highest degree of error
2531 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2532 IF (x_return_status <> OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2533 x_return_status := l_return_status;
2534 END IF;
2535 END IF;
2536
2537 validate_partial_yn( p_qtev_rec => p_qtev_rec
2538 ,x_return_status => l_return_status);
2539 -- store the highest degree of error
2540 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2541 IF (x_return_status <> OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2542 x_return_status := l_return_status;
2543 END IF;
2544 END IF;
2545
2546 validate_preproceeds_yn( p_qtev_rec => p_qtev_rec
2547 ,x_return_status => l_return_status);
2548 -- store the highest degree of error
2549 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2550 IF (x_return_status <> OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2551 x_return_status := l_return_status;
2552 END IF;
2553 END IF;
2554
2555 validate_summary_format_yn( p_qtev_rec => p_qtev_rec
2556 ,x_return_status => l_return_status);
2557 -- store the highest degree of error
2558 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2559 IF (x_return_status <> OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2560 x_return_status := l_return_status;
2561 END IF;
2562 END IF;
2563
2564 EXCEPTION
2565 WHEN OTHERS THEN
2566 -- store SQL error message on message stack for caller
2567 OKC_API.SET_MESSAGE( p_app_name => G_APP_NAME
2568 ,p_msg_name => G_UNEXPECTED_ERROR
2569 ,p_token1 => G_SQLCODE_TOKEN
2570 ,p_token1_value => sqlcode
2571 ,p_token2 => G_SQLERRM_TOKEN
2572 ,p_token2_value => sqlerrm);
2573
2574 -- notify caller of an UNEXPECTED error
2575 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
2576
2577 END validate_termination;
2578
2579 -- Start of comments
2580 --
2581 -- Procedure Name : validate_restructure
2582 -- Description :
2583 -- Business Rules :
2584 -- Parameters :
2585 -- Version : 1.0
2586 -- End of comments
2587 PROCEDURE validate_restructure(p_qtev_rec IN qtev_rec_type
2588 ,x_return_status OUT NOCOPY VARCHAR2) IS
2589
2590 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
2591
2592 BEGIN
2593 -- initialize return status
2594 x_return_status := OKC_API.G_RET_STS_SUCCESS;
2595
2596 validate_pop_code_end( p_qtev_rec => p_qtev_rec
2597 ,x_return_status => l_return_status);
2598 -- store the highest degree of error
2599 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2600 IF (x_return_status <> OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2601 x_return_status := l_return_status;
2602 END IF;
2603 END IF;
2604
2605 validate_pop_code_early( p_qtev_rec => p_qtev_rec
2606 ,x_return_status => l_return_status);
2607 -- store the highest degree of error
2608 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2609 IF (x_return_status <> OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2610 x_return_status := l_return_status;
2611 END IF;
2612 END IF;
2613
2614 validate_pdt_id( p_qtev_rec => p_qtev_rec
2615 ,x_return_status => l_return_status);
2616 -- store the highest degree of error
2617 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2618 IF (x_return_status <> OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2619 x_return_status := l_return_status;
2620 END IF;
2621 END IF;
2622
2623 validate_principal_paydown_amt( p_qtev_rec => p_qtev_rec
2624 ,x_return_status => l_return_status);
2625 -- store the highest degree of error
2626 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2627 IF (x_return_status <> OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2628 x_return_status := l_return_status;
2629 END IF;
2630 END IF;
2631
2632 validate_residual_amount( p_qtev_rec => p_qtev_rec
2633 ,x_return_status => l_return_status);
2634 -- store the highest degree of error
2635 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2636 IF (x_return_status <> OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2637 x_return_status := l_return_status;
2638 END IF;
2639 END IF;
2640
2641 validate_yield( p_qtev_rec => p_qtev_rec
2642 ,x_return_status => l_return_status);
2643 -- store the highest degree of error
2644 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2645 IF (x_return_status <> OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2646 x_return_status := l_return_status;
2647 END IF;
2648 END IF;
2649
2650 validate_rent_amount( p_qtev_rec => p_qtev_rec
2651 ,x_return_status => l_return_status);
2652 -- store the highest degree of error
2653 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2654 IF (x_return_status <> OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2655 x_return_status := l_return_status;
2656 END IF;
2657 END IF;
2658
2659 validate_date_restructure_end( p_qtev_rec => p_qtev_rec
2660 ,x_return_status => l_return_status);
2661 -- store the highest degree of error
2662 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2663 IF (x_return_status <> OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2664 x_return_status := l_return_status;
2665 END IF;
2666 END IF;
2667
2668 validate_date_res_start( p_qtev_rec => p_qtev_rec
2669 ,x_return_status => l_return_status);
2670 -- store the highest degree of error
2671 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2672 IF (x_return_status <> OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2673 x_return_status := l_return_status;
2674 END IF;
2675 END IF;
2676
2677 l_return_status := OKL_UTIL.check_from_to_date_range(
2678 p_from_date => p_qtev_rec.date_restructure_start
2679 ,p_to_date => p_qtev_rec.date_restructure_end);
2680
2681 -- Log error message on the error-message-stack
2682 IF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
2683 OKC_API.SET_MESSAGE(p_app_name => G_APP_NAME,
2684 p_msg_name => G_INVALID_VALUE,
2685 p_token1 => G_COL_NAME_TOKEN,
2686 p_token1_value => 'date_restructure_end');
2687
2688 END IF;
2689
2690
2691 -- store the highest degree of error
2692 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2693 IF (x_return_status <> OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2694 x_return_status := l_return_status;
2695 END IF;
2696 END IF;
2697
2698 validate_term( p_qtev_rec => p_qtev_rec
2699 ,x_return_status => l_return_status);
2700 -- store the highest degree of error
2701 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2702 IF (x_return_status <> OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2703 x_return_status := l_return_status;
2704 END IF;
2705 END IF;
2706
2707 validate_purchase_percent( p_qtev_rec => p_qtev_rec
2708 ,x_return_status => l_return_status);
2709 -- store the highest degree of error
2710 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2711 IF (x_return_status <> OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2712 x_return_status := l_return_status;
2713 END IF;
2714 END IF;
2715
2716 validate_date_due( p_qtev_rec => p_qtev_rec
2717 ,x_return_status => l_return_status);
2718 -- store the highest degree of error
2719 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2720 IF (x_return_status <> OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2721 x_return_status := l_return_status;
2722 END IF;
2723 END IF;
2724
2725 validate_payment_frequency( p_qtev_rec => p_qtev_rec
2726 ,x_return_status => l_return_status);
2727 -- store the highest degree of error
2728 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2729 IF (x_return_status <> OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2730 x_return_status := l_return_status;
2731 END IF;
2732 END IF;
2733
2734 validate_remaining_payments( p_qtev_rec => p_qtev_rec
2735 ,x_return_status => l_return_status);
2736 -- store the highest degree of error
2737 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2738 IF (x_return_status <> OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2739 x_return_status := l_return_status;
2740 END IF;
2741 END IF;
2742
2743 EXCEPTION
2744 WHEN OTHERS THEN
2745 -- store SQL error message on message stack for caller
2746 OKC_API.SET_MESSAGE( p_app_name => G_APP_NAME
2747 ,p_msg_name => G_UNEXPECTED_ERROR
2748 ,p_token1 => G_SQLCODE_TOKEN
2749 ,p_token1_value => sqlcode
2750 ,p_token2 => G_SQLERRM_TOKEN
2751 ,p_token2_value => sqlerrm);
2752
2753 -- notify caller of an UNEXPECTED error
2754 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
2755
2756 END validate_restructure;
2757
2758 -- Start of comments
2759 --
2760 -- Procedure Name : validate_repurchase
2761 -- Description :
2762 -- Business Rules :
2763 -- Parameters :
2764 -- Version : 1.0
2765 -- End of comments
2766 PROCEDURE validate_repurchase(p_qtev_rec IN qtev_rec_type
2767 ,x_return_status OUT NOCOPY VARCHAR2) IS
2768
2769 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
2770
2771 BEGIN
2772 -- initialize return status
2773 x_return_status := OKC_API.G_RET_STS_SUCCESS;
2774
2775 validate_art_id( p_qtev_rec => p_qtev_rec
2776 ,x_return_status => l_return_status);
2777 -- store the highest degree of error
2778 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2779 IF (x_return_status <> OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2780 x_return_status := l_return_status;
2781 END IF;
2782 END IF;
2783
2784 EXCEPTION
2785 WHEN OTHERS THEN
2786 -- store SQL error message on message stack for caller
2787 OKC_API.SET_MESSAGE( p_app_name => G_APP_NAME
2788 ,p_msg_name => G_UNEXPECTED_ERROR
2789 ,p_token1 => G_SQLCODE_TOKEN
2790 ,p_token1_value => sqlcode
2791 ,p_token2 => G_SQLERRM_TOKEN
2792 ,p_token2_value => sqlerrm);
2793
2794 -- notify caller of an UNEXPECTED error
2795 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
2796
2797 END validate_repurchase;
2798
2799 -- Start of comments
2800 --
2801 -- Procedure Name : validate_effective_dates
2802 -- Description :
2803 -- Business Rules :
2804 -- Parameters :
2805 -- Version : 1.0
2806 -- End of comments
2807 PROCEDURE validate_effective_dates(p_qtev_rec IN qtev_rec_type
2808 ,x_return_status OUT NOCOPY VARCHAR2) IS
2809
2810 BEGIN
2811 -- initialize return status
2812 x_return_status := OKC_API.G_RET_STS_SUCCESS;
2813
2814 x_return_status := OKL_UTIL.check_from_to_date_range(
2815 p_from_date => p_qtev_rec.date_effective_from
2816 ,p_to_date => p_qtev_rec.date_effective_to);
2817
2818 IF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
2819 OKC_API.SET_MESSAGE(p_app_name => G_APP_NAME,
2820 p_msg_name => G_INVALID_VALUE,
2821 p_token1 => G_COL_NAME_TOKEN,
2822 p_token1_value => 'date_effective_to');
2823
2824 raise G_EXCEPTION_HALT_VALIDATION;
2825
2826 ELSIF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2827 raise G_EXCEPTION_HALT_VALIDATION;
2828 end if;
2829
2830 EXCEPTION
2831 WHEN G_EXCEPTION_HALT_VALIDATION THEN
2832 NULL;
2833 WHEN OTHERS THEN
2834 -- store SQL error message on message stack for caller
2835 OKC_API.SET_MESSAGE( p_app_name => G_APP_NAME
2836 ,p_msg_name => G_UNEXPECTED_ERROR
2837 ,p_token1 => G_SQLCODE_TOKEN
2838 ,p_token1_value => sqlcode
2839 ,p_token2 => G_SQLERRM_TOKEN
2840 ,p_token2_value => sqlerrm);
2841
2842 -- notify caller of an UNEXPECTED error
2843 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
2844
2845 END validate_effective_dates;
2846
2847 ---------------------------------------------------------------------------
2848 -- FUNCTION get_seq_id
2849 ---------------------------------------------------------------------------
2850 FUNCTION get_seq_id RETURN NUMBER IS
2851 BEGIN
2852 RETURN(okc_p_util.raw_to_number(sys_guid()));
2853 END get_seq_id;
2854
2855 ---------------------------------------------------------------------------
2856 -- PROCEDURE qc
2857 ---------------------------------------------------------------------------
2858 PROCEDURE qc IS
2859 BEGIN
2860 null;
2861 END qc;
2862
2863 ---------------------------------------------------------------------------
2864 -- PROCEDURE change_version
2865 ---------------------------------------------------------------------------
2866 PROCEDURE change_version IS
2867 BEGIN
2868 null;
2869 END change_version;
2870
2871 ---------------------------------------------------------------------------
2872 -- PROCEDURE api_copy
2873 ---------------------------------------------------------------------------
2874 PROCEDURE api_copy IS
2875 BEGIN
2876 null;
2877 END api_copy;
2878
2879 ---------------------------------------------------------------------------
2880 -- PROCEDURE add_language
2881 ---------------------------------------------------------------------------
2882 PROCEDURE add_language IS
2883 BEGIN
2884 DELETE FROM OKL_TRX_QUOTES_TL T
2885 WHERE NOT EXISTS (
2886 SELECT NULL
2887 FROM OKL_TRX_QUOTES_ALL_B B
2888 WHERE B.ID = T.ID
2889 );
2890
2891 UPDATE OKL_TRX_QUOTES_TL T SET (
2892 COMMENTS) = (SELECT
2893 B.COMMENTS
2894 FROM OKL_TRX_QUOTES_TL B
2895 WHERE B.ID = T.ID
2896 AND B.LANGUAGE = T.SOURCE_LANG)
2897 WHERE (
2898 T.ID,
2899 T.LANGUAGE)
2900 IN (SELECT
2901 SUBT.ID,
2902 SUBT.LANGUAGE
2903 FROM OKL_TRX_QUOTES_TL SUBB, OKL_TRX_QUOTES_TL SUBT
2904 WHERE SUBB.ID = SUBT.ID
2905 AND SUBB.LANGUAGE = SUBT.SOURCE_LANG
2906 AND (SUBB.COMMENTS <> SUBT.COMMENTS
2907 OR (SUBB.COMMENTS IS NULL AND SUBT.COMMENTS IS NOT NULL)
2908 OR (SUBB.COMMENTS IS NOT NULL AND SUBT.COMMENTS IS NULL)
2909 ));
2910
2911 INSERT INTO OKL_TRX_QUOTES_TL (
2912 ID,
2913 LANGUAGE,
2914 SOURCE_LANG,
2915 SFWT_FLAG,
2916 COMMENTS,
2917 CREATED_BY,
2918 CREATION_DATE,
2919 LAST_UPDATED_BY,
2920 LAST_UPDATE_DATE,
2921 LAST_UPDATE_LOGIN)
2922 SELECT
2923 B.ID,
2924 L.LANGUAGE_CODE,
2925 B.SOURCE_LANG,
2926 B.SFWT_FLAG,
2927 B.COMMENTS,
2928 B.CREATED_BY,
2929 B.CREATION_DATE,
2930 B.LAST_UPDATED_BY,
2931 B.LAST_UPDATE_DATE,
2932 B.LAST_UPDATE_LOGIN
2933 FROM OKL_TRX_QUOTES_TL B, FND_LANGUAGES L
2934 WHERE L.INSTALLED_FLAG IN ('I', 'B')
2935 AND B.LANGUAGE = USERENV('LANG')
2936 AND NOT EXISTS(
2937 SELECT NULL
2938 FROM OKL_TRX_QUOTES_TL T
2939 WHERE T.ID = B.ID
2940 AND T.LANGUAGE = L.LANGUAGE_CODE
2941 );
2942
2943 END add_language;
2944
2945 ---------------------------------------------------------------------------
2946 -- FUNCTION get_rec for: OKL_TRX_QUOTES_B
2947 ---------------------------------------------------------------------------
2948 -- Start of comments
2949 -- Function Name : get_rec
2950 -- Description : get record structure of OKL_TRX_QUOTE_B table
2951 -- Business Rules :
2952 -- Parameters : Record structure of OKL_TRX_QUOTE_B table
2953 -- Version : 1.0
2954 -- History : 18-DEC-2002 BAKUCHIB 2667636 Modified
2955 -- : Added columns Currency code, currency Conversion_code
2956 -- Currency conversion type, currency conversion date
2957 -- currency conversion rate.
2958 -- End of comments
2959 FUNCTION get_rec (
2960 p_qte_rec IN qte_rec_type,
2961 x_no_data_found OUT NOCOPY BOOLEAN
2962 ) RETURN qte_rec_type IS
2963 CURSOR okl_trx_quotes_b_pk_csr (p_id IN NUMBER) IS
2964 SELECT
2965 ID,
2966 QRS_CODE,
2967 QST_CODE,
2968 CONSOLIDATED_QTE_ID,
2969 KHR_ID,
2970 ART_ID,
2971 QTP_CODE,
2972 TRN_CODE,
2973 POP_CODE_END,
2974 POP_CODE_EARLY,
2975 PDT_ID,
2976 DATE_EFFECTIVE_FROM,
2977 QUOTE_NUMBER,
2978 OBJECT_VERSION_NUMBER,
2979 PURCHASE_PERCENT,
2980 TERM,
2981 DATE_RESTRUCTURE_START,
2982 DATE_DUE,
2983 DATE_APPROVED,
2984 DATE_RESTRUCTURE_END,
2985 REMAINING_PAYMENTS,
2986 RENT_AMOUNT,
2987 YIELD,
2988 RESIDUAL_AMOUNT,
2989 PRINCIPAL_PAYDOWN_AMOUNT,
2990 PAYMENT_FREQUENCY,
2991 EARLY_TERMINATION_YN,
2992 PARTIAL_YN,
2993 PREPROCEEDS_YN,
2994 SUMMARY_FORMAT_YN,
2995 CONSOLIDATED_YN,
2996 DATE_REQUESTED,
2997 DATE_PROPOSAL,
2998 DATE_EFFECTIVE_TO,
2999 DATE_ACCEPTED,
3000 PAYMENT_RECEIVED_YN,
3001 REQUESTED_BY,
3002 APPROVED_YN,
3003 ACCEPTED_YN,
3004 DATE_PAYMENT_RECEIVED,
3005 APPROVED_BY,
3006 ORG_ID,
3007 REQUEST_ID,
3008 PROGRAM_APPLICATION_ID,
3009 PROGRAM_ID,
3010 PROGRAM_UPDATE_DATE,
3011 ATTRIBUTE_CATEGORY,
3012 ATTRIBUTE1,
3013 ATTRIBUTE2,
3014 ATTRIBUTE3,
3015 ATTRIBUTE4,
3016 ATTRIBUTE5,
3017 ATTRIBUTE6,
3018 ATTRIBUTE7,
3019 ATTRIBUTE8,
3020 ATTRIBUTE9,
3021 ATTRIBUTE10,
3022 ATTRIBUTE11,
3023 ATTRIBUTE12,
3024 ATTRIBUTE13,
3025 ATTRIBUTE14,
3026 ATTRIBUTE15,
3027 CREATED_BY,
3028 CREATION_DATE,
3029 LAST_UPDATED_BY,
3030 LAST_UPDATE_DATE,
3031 LAST_UPDATE_LOGIN,
3032 PURCHASE_AMOUNT,
3033 PURCHASE_FORMULA,
3034 ASSET_VALUE,
3035 RESIDUAL_VALUE,
3036 UNBILLED_RECEIVABLES,
3037 GAIN_LOSS,
3038 -- BAKUCHIB 2667636 Start
3039 CURRENCY_CODE,
3040 CURRENCY_CONVERSION_CODE,
3041 CURRENCY_CONVERSION_TYPE,
3042 CURRENCY_CONVERSION_RATE,
3043 CURRENCY_CONVERSION_DATE,
3044 PERDIEM_AMOUNT, --SANAHUJA LOANS_ENHACEMENTS
3045 -- BAKUCHIB 2667636 End
3046 LEGAL_ENTITY_ID --DKAGRAWA added for LE update
3047 ,REPO_QUOTE_INDICATOR_YN --AKP:REPO-QUOTE-START-END 6599890
3048 FROM Okl_Trx_Quotes_B
3049 WHERE okl_trx_quotes_b.id = p_id;
3050 l_okl_trx_quotes_b_pk okl_trx_quotes_b_pk_csr%ROWTYPE;
3051 l_qte_rec qte_rec_type;
3052 BEGIN
3053 x_no_data_found := TRUE;
3054 -- Get current database values
3055 OPEN okl_trx_quotes_b_pk_csr (p_qte_rec.id);
3056 FETCH okl_trx_quotes_b_pk_csr INTO
3057 l_qte_rec.ID,
3058 l_qte_rec.QRS_CODE,
3059 l_qte_rec.QST_CODE,
3060 l_qte_rec.CONSOLIDATED_QTE_ID,
3061 l_qte_rec.KHR_ID,
3062 l_qte_rec.ART_ID,
3063 l_qte_rec.QTP_CODE,
3064 l_qte_rec.TRN_CODE,
3065 l_qte_rec.POP_CODE_END,
3066 l_qte_rec.POP_CODE_EARLY,
3067 l_qte_rec.PDT_ID,
3068 l_qte_rec.DATE_EFFECTIVE_FROM,
3069 l_qte_rec.QUOTE_NUMBER,
3070 l_qte_rec.OBJECT_VERSION_NUMBER,
3071 l_qte_rec.PURCHASE_PERCENT,
3072 l_qte_rec.TERM,
3073 l_qte_rec.DATE_RESTRUCTURE_START,
3074 l_qte_rec.DATE_DUE,
3075 l_qte_rec.DATE_APPROVED,
3076 l_qte_rec.DATE_RESTRUCTURE_END,
3077 l_qte_rec.REMAINING_PAYMENTS,
3078 l_qte_rec.RENT_AMOUNT,
3079 l_qte_rec.YIELD,
3080 l_qte_rec.RESIDUAL_AMOUNT,
3081 l_qte_rec.PRINCIPAL_PAYDOWN_AMOUNT,
3082 l_qte_rec.PAYMENT_FREQUENCY,
3083 l_qte_rec.EARLY_TERMINATION_YN,
3084 l_qte_rec.PARTIAL_YN,
3085 l_qte_rec.PREPROCEEDS_YN,
3086 l_qte_rec.SUMMARY_FORMAT_YN,
3087 l_qte_rec.CONSOLIDATED_YN,
3088 l_qte_rec.DATE_REQUESTED,
3089 l_qte_rec.DATE_PROPOSAL,
3090 l_qte_rec.DATE_EFFECTIVE_TO,
3091 l_qte_rec.DATE_ACCEPTED,
3092 l_qte_rec.PAYMENT_RECEIVED_YN,
3093 l_qte_rec.REQUESTED_BY,
3094 l_qte_rec.APPROVED_YN,
3095 l_qte_rec.ACCEPTED_YN,
3096 l_qte_rec.DATE_PAYMENT_RECEIVED,
3097 l_qte_rec.APPROVED_BY,
3098 l_qte_rec.ORG_ID,
3099 l_qte_rec.REQUEST_ID,
3100 l_qte_rec.PROGRAM_APPLICATION_ID,
3101 l_qte_rec.PROGRAM_ID,
3102 l_qte_rec.PROGRAM_UPDATE_DATE,
3103 l_qte_rec.ATTRIBUTE_CATEGORY,
3104 l_qte_rec.ATTRIBUTE1,
3105 l_qte_rec.ATTRIBUTE2,
3106 l_qte_rec.ATTRIBUTE3,
3107 l_qte_rec.ATTRIBUTE4,
3108 l_qte_rec.ATTRIBUTE5,
3109 l_qte_rec.ATTRIBUTE6,
3110 l_qte_rec.ATTRIBUTE7,
3111 l_qte_rec.ATTRIBUTE8,
3112 l_qte_rec.ATTRIBUTE9,
3113 l_qte_rec.ATTRIBUTE10,
3114 l_qte_rec.ATTRIBUTE11,
3115 l_qte_rec.ATTRIBUTE12,
3116 l_qte_rec.ATTRIBUTE13,
3117 l_qte_rec.ATTRIBUTE14,
3118 l_qte_rec.ATTRIBUTE15,
3119 l_qte_rec.CREATED_BY,
3120 l_qte_rec.CREATION_DATE,
3121 l_qte_rec.LAST_UPDATED_BY,
3122 l_qte_rec.LAST_UPDATE_DATE,
3123 l_qte_rec.LAST_UPDATE_LOGIN,
3124 l_qte_rec.PURCHASE_AMOUNT,
3125 l_qte_rec.PURCHASE_FORMULA,
3126 l_qte_rec.ASSET_VALUE,
3127 l_qte_rec.RESIDUAL_VALUE,
3128 l_qte_rec.UNBILLED_RECEIVABLES,
3129 l_qte_rec.GAIN_LOSS,
3130 -- BAKUCHIB 2667636 Start
3131 l_qte_rec.CURRENCY_CODE,
3132 l_qte_rec.CURRENCY_CONVERSION_CODE,
3133 l_qte_rec.CURRENCY_CONVERSION_TYPE,
3134 l_qte_rec.CURRENCY_CONVERSION_RATE,
3135 l_qte_rec.CURRENCY_CONVERSION_DATE,
3136 l_qte_rec.PERDIEM_AMOUNT,--SANAHUJA -- LOANS_ENHACEMENTS
3137 l_qte_rec.LEGAL_ENTITY_ID, --DKAGRAWA added for LE uptake
3138 l_qte_rec.REPO_QUOTE_INDICATOR_YN; --AKP:REPO-QUOTE-START-END 6599890
3139 -- BAKUCHIB 2667636 End
3140 x_no_data_found := okl_trx_quotes_b_pk_csr%NOTFOUND;
3141 CLOSE okl_trx_quotes_b_pk_csr;
3142 RETURN(l_qte_rec);
3143 END get_rec;
3144
3145 FUNCTION get_rec (
3146 p_qte_rec IN qte_rec_type
3147 ) RETURN qte_rec_type IS
3148 l_row_notfound BOOLEAN := TRUE;
3149 BEGIN
3150 RETURN(get_rec(p_qte_rec, l_row_notfound));
3151 END get_rec;
3152 ---------------------------------------------------------------------------
3153 -- FUNCTION get_rec for: OKL_TRX_QUOTES_TL
3154 ---------------------------------------------------------------------------
3155 FUNCTION get_rec (
3156 p_okl_trx_quotes_tl_rec IN okl_trx_quotes_tl_rec_type,
3157 x_no_data_found OUT NOCOPY BOOLEAN
3158 ) RETURN okl_trx_quotes_tl_rec_type IS
3159 CURSOR okl_trx_quotes_tl_pk_csr (p_id IN NUMBER,
3160 p_language IN VARCHAR2) IS
3161 SELECT
3162 ID,
3163 LANGUAGE,
3164 SOURCE_LANG,
3165 SFWT_FLAG,
3166 COMMENTS,
3167 CREATED_BY,
3168 CREATION_DATE,
3169 LAST_UPDATED_BY,
3170 LAST_UPDATE_DATE,
3171 LAST_UPDATE_LOGIN
3172 FROM Okl_Trx_Quotes_Tl
3173 WHERE okl_trx_quotes_tl.id = p_id
3174 AND okl_trx_quotes_tl.language = p_language;
3175 l_okl_trx_quotes_tl_pk okl_trx_quotes_tl_pk_csr%ROWTYPE;
3176 l_okl_trx_quotes_tl_rec okl_trx_quotes_tl_rec_type;
3177 BEGIN
3178 x_no_data_found := TRUE;
3179 -- Get current database values
3180 OPEN okl_trx_quotes_tl_pk_csr (p_okl_trx_quotes_tl_rec.id,
3181 p_okl_trx_quotes_tl_rec.language);
3182 FETCH okl_trx_quotes_tl_pk_csr INTO
3183 l_okl_trx_quotes_tl_rec.ID,
3184 l_okl_trx_quotes_tl_rec.LANGUAGE,
3185 l_okl_trx_quotes_tl_rec.SOURCE_LANG,
3186 l_okl_trx_quotes_tl_rec.SFWT_FLAG,
3187 l_okl_trx_quotes_tl_rec.COMMENTS,
3188 l_okl_trx_quotes_tl_rec.CREATED_BY,
3189 l_okl_trx_quotes_tl_rec.CREATION_DATE,
3190 l_okl_trx_quotes_tl_rec.LAST_UPDATED_BY,
3191 l_okl_trx_quotes_tl_rec.LAST_UPDATE_DATE,
3192 l_okl_trx_quotes_tl_rec.LAST_UPDATE_LOGIN;
3193 x_no_data_found := okl_trx_quotes_tl_pk_csr%NOTFOUND;
3194 CLOSE okl_trx_quotes_tl_pk_csr;
3195 RETURN(l_okl_trx_quotes_tl_rec);
3196 END get_rec;
3197
3198 FUNCTION get_rec (
3199 p_okl_trx_quotes_tl_rec IN okl_trx_quotes_tl_rec_type
3200 ) RETURN okl_trx_quotes_tl_rec_type IS
3201 l_row_notfound BOOLEAN := TRUE;
3202 BEGIN
3203 RETURN(get_rec(p_okl_trx_quotes_tl_rec, l_row_notfound));
3204 END get_rec;
3205 ---------------------------------------------------------------------------
3206 -- FUNCTION get_rec for: OKL_TRX_QUOTES_V
3207 ---------------------------------------------------------------------------
3208 -- Start of comments
3209 -- Function Name : get_rec
3210 -- Description : get record structure of OKL_TRX_QUOTE_V table
3211 -- Business Rules :
3212 -- Parameters : Record structure of OKL_TRX_QUOTE_V table
3213 -- Version : 1.0
3214 -- History : 18-DEC-2002 BAKUCHIB 2667636 Modified
3215 -- : Added columns Currency code, currency Conversion_code
3216 -- Currency conversion type, currency conversion date
3217 -- currency conversion rate.
3218 -- End of comments
3219 FUNCTION get_rec (
3220 p_qtev_rec IN qtev_rec_type,
3221 x_no_data_found OUT NOCOPY BOOLEAN
3222 ) RETURN qtev_rec_type IS
3223 CURSOR okl_qtev_pk_csr (p_id IN NUMBER) IS
3224 SELECT
3225 ID,
3226 OBJECT_VERSION_NUMBER,
3227 SFWT_FLAG,
3228 QRS_CODE,
3229 QST_CODE,
3230 QTP_CODE,
3231 TRN_CODE,
3232 POP_CODE_END,
3233 POP_CODE_EARLY,
3234 CONSOLIDATED_QTE_ID,
3235 KHR_ID,
3236 ART_ID,
3237 PDT_ID,
3238 EARLY_TERMINATION_YN,
3239 PARTIAL_YN,
3240 PREPROCEEDS_YN,
3241 DATE_REQUESTED,
3242 DATE_PROPOSAL,
3243 DATE_EFFECTIVE_TO,
3244 DATE_ACCEPTED,
3245 SUMMARY_FORMAT_YN,
3246 CONSOLIDATED_YN,
3247 PRINCIPAL_PAYDOWN_AMOUNT,
3248 RESIDUAL_AMOUNT,
3249 YIELD,
3250 RENT_AMOUNT,
3251 DATE_RESTRUCTURE_END,
3252 DATE_RESTRUCTURE_START,
3253 TERM,
3254 PURCHASE_PERCENT,
3255 COMMENTS,
3256 DATE_DUE,
3257 PAYMENT_FREQUENCY,
3258 REMAINING_PAYMENTS,
3259 DATE_EFFECTIVE_FROM,
3260 QUOTE_NUMBER,
3261 REQUESTED_BY,
3262 APPROVED_YN,
3263 ACCEPTED_YN,
3264 PAYMENT_RECEIVED_YN,
3265 DATE_PAYMENT_RECEIVED,
3266 ATTRIBUTE_CATEGORY,
3267 ATTRIBUTE1,
3268 ATTRIBUTE2,
3269 ATTRIBUTE3,
3270 ATTRIBUTE4,
3271 ATTRIBUTE5,
3272 ATTRIBUTE6,
3273 ATTRIBUTE7,
3274 ATTRIBUTE8,
3275 ATTRIBUTE9,
3276 ATTRIBUTE10,
3277 ATTRIBUTE11,
3278 ATTRIBUTE12,
3279 ATTRIBUTE13,
3280 ATTRIBUTE14,
3281 ATTRIBUTE15,
3282 DATE_APPROVED,
3283 APPROVED_BY,
3284 ORG_ID,
3285 REQUEST_ID,
3286 PROGRAM_APPLICATION_ID,
3287 PROGRAM_ID,
3288 PROGRAM_UPDATE_DATE,
3289 CREATED_BY,
3290 CREATION_DATE,
3291 LAST_UPDATED_BY,
3292 LAST_UPDATE_DATE,
3293 LAST_UPDATE_LOGIN,
3294 PURCHASE_AMOUNT,
3295 PURCHASE_FORMULA,
3296 ASSET_VALUE,
3297 RESIDUAL_VALUE,
3298 UNBILLED_RECEIVABLES,
3299 GAIN_LOSS,
3300 -- BAKUCHIB 2667636 Start
3301 CURRENCY_CODE,
3302 CURRENCY_CONVERSION_CODE,
3303 CURRENCY_CONVERSION_TYPE,
3304 CURRENCY_CONVERSION_RATE,
3305 CURRENCY_CONVERSION_DATE,
3306 PERDIEM_AMOUNT, --SANAHUJA -- LOANS_ENHACEMENTS
3307 -- BAKUCHIB 2667636 End
3308 LEGAL_ENTITY_ID, --DKAGRAWA added for LE update
3309 REPO_QUOTE_INDICATOR_YN --AKP:REPO-QUOTE-START-END 6599890
3310 FROM Okl_Trx_Quotes_V
3311 WHERE okl_trx_quotes_v.id = p_id;
3312 l_okl_qtev_pk okl_qtev_pk_csr%ROWTYPE;
3313 l_qtev_rec qtev_rec_type;
3314 BEGIN
3315 x_no_data_found := TRUE;
3316 -- Get current database values
3317 OPEN okl_qtev_pk_csr (p_qtev_rec.id);
3318 FETCH okl_qtev_pk_csr INTO
3319 l_qtev_rec.ID,
3320 l_qtev_rec.OBJECT_VERSION_NUMBER,
3321 l_qtev_rec.SFWT_FLAG,
3322 l_qtev_rec.QRS_CODE,
3323 l_qtev_rec.QST_CODE,
3324 l_qtev_rec.QTP_CODE,
3325 l_qtev_rec.TRN_CODE,
3326 l_qtev_rec.POP_CODE_END,
3327 l_qtev_rec.POP_CODE_EARLY,
3328 l_qtev_rec.CONSOLIDATED_QTE_ID,
3329 l_qtev_rec.KHR_ID,
3330 l_qtev_rec.ART_ID,
3331 l_qtev_rec.PDT_ID,
3332 l_qtev_rec.EARLY_TERMINATION_YN,
3333 l_qtev_rec.PARTIAL_YN,
3334 l_qtev_rec.PREPROCEEDS_YN,
3335 l_qtev_rec.DATE_REQUESTED,
3336 l_qtev_rec.DATE_PROPOSAL,
3337 l_qtev_rec.DATE_EFFECTIVE_TO,
3338 l_qtev_rec.DATE_ACCEPTED,
3339 l_qtev_rec.SUMMARY_FORMAT_YN,
3340 l_qtev_rec.CONSOLIDATED_YN,
3341 l_qtev_rec.PRINCIPAL_PAYDOWN_AMOUNT,
3342 l_qtev_rec.RESIDUAL_AMOUNT,
3343 l_qtev_rec.YIELD,
3344 l_qtev_rec.RENT_AMOUNT,
3345 l_qtev_rec.DATE_RESTRUCTURE_END,
3346 l_qtev_rec.DATE_RESTRUCTURE_START,
3347 l_qtev_rec.TERM,
3348 l_qtev_rec.PURCHASE_PERCENT,
3349 l_qtev_rec.COMMENTS,
3350 l_qtev_rec.DATE_DUE,
3351 l_qtev_rec.PAYMENT_FREQUENCY,
3352 l_qtev_rec.REMAINING_PAYMENTS,
3353 l_qtev_rec.DATE_EFFECTIVE_FROM,
3354 l_qtev_rec.QUOTE_NUMBER,
3355 l_qtev_rec.REQUESTED_BY,
3356 l_qtev_rec.APPROVED_YN,
3357 l_qtev_rec.ACCEPTED_YN,
3358 l_qtev_rec.PAYMENT_RECEIVED_YN,
3359 l_qtev_rec.DATE_PAYMENT_RECEIVED,
3360 l_qtev_rec.ATTRIBUTE_CATEGORY,
3361 l_qtev_rec.ATTRIBUTE1,
3362 l_qtev_rec.ATTRIBUTE2,
3363 l_qtev_rec.ATTRIBUTE3,
3364 l_qtev_rec.ATTRIBUTE4,
3365 l_qtev_rec.ATTRIBUTE5,
3366 l_qtev_rec.ATTRIBUTE6,
3367 l_qtev_rec.ATTRIBUTE7,
3368 l_qtev_rec.ATTRIBUTE8,
3369 l_qtev_rec.ATTRIBUTE9,
3370 l_qtev_rec.ATTRIBUTE10,
3371 l_qtev_rec.ATTRIBUTE11,
3372 l_qtev_rec.ATTRIBUTE12,
3373 l_qtev_rec.ATTRIBUTE13,
3374 l_qtev_rec.ATTRIBUTE14,
3375 l_qtev_rec.ATTRIBUTE15,
3376 l_qtev_rec.DATE_APPROVED,
3377 l_qtev_rec.APPROVED_BY,
3378 l_qtev_rec.ORG_ID,
3379 l_qtev_rec.REQUEST_ID,
3380 l_qtev_rec.PROGRAM_APPLICATION_ID,
3381 l_qtev_rec.PROGRAM_ID,
3382 l_qtev_rec.PROGRAM_UPDATE_DATE,
3383 l_qtev_rec.CREATED_BY,
3384 l_qtev_rec.CREATION_DATE,
3385 l_qtev_rec.LAST_UPDATED_BY,
3386 l_qtev_rec.LAST_UPDATE_DATE,
3387 l_qtev_rec.LAST_UPDATE_LOGIN,
3388 l_qtev_rec.PURCHASE_AMOUNT,
3389 l_qtev_rec.PURCHASE_FORMULA,
3390 l_qtev_rec.ASSET_VALUE,
3391 l_qtev_rec.RESIDUAL_VALUE,
3392 l_qtev_rec.UNBILLED_RECEIVABLES,
3393 l_qtev_rec.GAIN_LOSS,
3394 -- BAKUCHIB 2667636 Start
3395 l_qtev_rec.CURRENCY_CODE,
3396 l_qtev_rec.CURRENCY_CONVERSION_CODE,
3397 l_qtev_rec.CURRENCY_CONVERSION_TYPE,
3398 l_qtev_rec.CURRENCY_CONVERSION_RATE,
3399 l_qtev_rec.CURRENCY_CONVERSION_DATE,
3400 l_qtev_rec.PERDIEM_AMOUNT, --SANAHUJA -- LOANS_ENHACEMENTS ;
3401 -- BAKUCHIB 2667636 End
3402 l_qtev_rec.LEGAL_ENTITY_ID, --DKAGRAWA added for LE update
3403 l_qtev_rec.REPO_QUOTE_INDICATOR_YN; --AKP:REPO-QUOTE-START-END 6599890
3404 x_no_data_found := okl_qtev_pk_csr%NOTFOUND;
3405 CLOSE okl_qtev_pk_csr;
3406 RETURN(l_qtev_rec);
3407 END get_rec;
3408
3409 FUNCTION get_rec (
3410 p_qtev_rec IN qtev_rec_type
3411 ) RETURN qtev_rec_type IS
3412 l_row_notfound BOOLEAN := TRUE;
3413 BEGIN
3414 RETURN(get_rec(p_qtev_rec, l_row_notfound));
3415 END get_rec;
3416
3417 ------------------------------------------------------
3418 -- FUNCTION null_out_defaults for: OKL_TRX_QUOTES_V --
3419 ------------------------------------------------------
3420 -- Start of comments
3421 -- Function Name : null_out_defaults
3422 -- Description : Null out record structure of OKL_TRX_QUOTE_V table
3423 -- Business Rules :
3424 -- Parameters : Record structure of OKL_TRX_QUOTE_V table
3425 -- Version : 1.0
3426 -- History : 18-DEC-2002 BAKUCHIB 2667636 Modified
3427 -- : Added columns Currency code, currency Conversion_code
3428 -- Currency conversion type, currency conversion date
3429 -- currency conversion rate.
3430 -- End of comments
3431 FUNCTION null_out_defaults (
3432 p_qtev_rec IN qtev_rec_type
3433 ) RETURN qtev_rec_type IS
3434 l_qtev_rec qtev_rec_type := p_qtev_rec;
3435 BEGIN
3436 IF (l_qtev_rec.object_version_number = OKC_API.G_MISS_NUM) THEN
3437 l_qtev_rec.object_version_number := NULL;
3438 END IF;
3439 IF (l_qtev_rec.sfwt_flag = OKC_API.G_MISS_CHAR) THEN
3440 l_qtev_rec.sfwt_flag := NULL;
3441 END IF;
3442 IF (l_qtev_rec.qrs_code = OKC_API.G_MISS_CHAR) THEN
3443 l_qtev_rec.qrs_code := NULL;
3444 END IF;
3445 IF (l_qtev_rec.qst_code = OKC_API.G_MISS_CHAR) THEN
3446 l_qtev_rec.qst_code := NULL;
3447 END IF;
3448 IF (l_qtev_rec.qtp_code = OKC_API.G_MISS_CHAR) THEN
3449 l_qtev_rec.qtp_code := NULL;
3450 END IF;
3451 IF (l_qtev_rec.trn_code = OKC_API.G_MISS_CHAR) THEN
3452 l_qtev_rec.trn_code := NULL;
3453 END IF;
3454 IF (l_qtev_rec.pop_code_end = OKC_API.G_MISS_CHAR) THEN
3455 l_qtev_rec.pop_code_end := NULL;
3456 END IF;
3457 IF (l_qtev_rec.pop_code_early = OKC_API.G_MISS_CHAR) THEN
3458 l_qtev_rec.pop_code_early := NULL;
3459 END IF;
3460 IF (l_qtev_rec.consolidated_qte_id = OKC_API.G_MISS_NUM) THEN
3461 l_qtev_rec.consolidated_qte_id := NULL;
3462 END IF;
3463 IF (l_qtev_rec.khr_id = OKC_API.G_MISS_NUM) THEN
3464 l_qtev_rec.khr_id := NULL;
3465 END IF;
3466 IF (l_qtev_rec.art_id = OKC_API.G_MISS_NUM) THEN
3467 l_qtev_rec.art_id := NULL;
3468 END IF;
3469 IF (l_qtev_rec.pdt_id = OKC_API.G_MISS_NUM) THEN
3470 l_qtev_rec.pdt_id := NULL;
3471 END IF;
3472 IF (l_qtev_rec.early_termination_yn = OKC_API.G_MISS_CHAR) THEN
3473 l_qtev_rec.early_termination_yn := NULL;
3474 END IF;
3475 IF (l_qtev_rec.partial_yn = OKC_API.G_MISS_CHAR) THEN
3476 l_qtev_rec.partial_yn := NULL;
3477 END IF;
3478 IF (l_qtev_rec.preproceeds_yn = OKC_API.G_MISS_CHAR) THEN
3479 l_qtev_rec.preproceeds_yn := NULL;
3480 END IF;
3481 IF (l_qtev_rec.date_requested = OKC_API.G_MISS_DATE) THEN
3482 l_qtev_rec.date_requested := NULL;
3483 END IF;
3484 IF (l_qtev_rec.date_proposal = OKC_API.G_MISS_DATE) THEN
3485 l_qtev_rec.date_proposal := NULL;
3486 END IF;
3487 IF (l_qtev_rec.date_effective_to = OKC_API.G_MISS_DATE) THEN
3488 l_qtev_rec.date_effective_to := NULL;
3489 END IF;
3490 IF (l_qtev_rec.date_accepted = OKC_API.G_MISS_DATE) THEN
3491 l_qtev_rec.date_accepted := NULL;
3492 END IF;
3493 IF (l_qtev_rec.summary_format_yn = OKC_API.G_MISS_CHAR) THEN
3494 l_qtev_rec.summary_format_yn := NULL;
3495 END IF;
3496 IF (l_qtev_rec.consolidated_yn = OKC_API.G_MISS_CHAR) THEN
3497 l_qtev_rec.consolidated_yn := NULL;
3498 END IF;
3499 IF (l_qtev_rec.principal_paydown_amount = OKC_API.G_MISS_NUM) THEN
3500 l_qtev_rec.principal_paydown_amount := NULL;
3501 END IF;
3502 IF (l_qtev_rec.residual_amount = OKC_API.G_MISS_NUM) THEN
3503 l_qtev_rec.residual_amount := NULL;
3504 END IF;
3505 IF (l_qtev_rec.yield = OKC_API.G_MISS_NUM) THEN
3506 l_qtev_rec.yield := NULL;
3507 END IF;
3508 IF (l_qtev_rec.rent_amount = OKC_API.G_MISS_NUM) THEN
3509 l_qtev_rec.rent_amount := NULL;
3510 END IF;
3511 IF (l_qtev_rec.date_restructure_end = OKC_API.G_MISS_DATE) THEN
3512 l_qtev_rec.date_restructure_end := NULL;
3513 END IF;
3514 IF (l_qtev_rec.date_restructure_start = OKC_API.G_MISS_DATE) THEN
3515 l_qtev_rec.date_restructure_start := NULL;
3516 END IF;
3517 IF (l_qtev_rec.term = OKC_API.G_MISS_NUM) THEN
3518 l_qtev_rec.term := NULL;
3519 END IF;
3520 IF (l_qtev_rec.purchase_percent = OKC_API.G_MISS_NUM) THEN
3521 l_qtev_rec.purchase_percent := NULL;
3522 END IF;
3523 IF (l_qtev_rec.comments = OKC_API.G_MISS_CHAR) THEN
3524 l_qtev_rec.comments := NULL;
3525 END IF;
3526 IF (l_qtev_rec.date_due = OKC_API.G_MISS_DATE) THEN
3527 l_qtev_rec.date_due := NULL;
3528 END IF;
3529 IF (l_qtev_rec.payment_frequency = OKC_API.G_MISS_CHAR) THEN
3530 l_qtev_rec.payment_frequency := NULL;
3531 END IF;
3532 IF (l_qtev_rec.remaining_payments = OKC_API.G_MISS_NUM) THEN
3533 l_qtev_rec.remaining_payments := NULL;
3534 END IF;
3535 IF (l_qtev_rec.date_effective_from = OKC_API.G_MISS_DATE) THEN
3536 l_qtev_rec.date_effective_from := NULL;
3537 END IF;
3538 IF (l_qtev_rec.quote_number = OKC_API.G_MISS_NUM) THEN
3539 l_qtev_rec.quote_number := NULL;
3540 END IF;
3541 IF (l_qtev_rec.requested_by = OKC_API.G_MISS_NUM) THEN
3542 l_qtev_rec.requested_by := NULL;
3543 END IF;
3544 IF (l_qtev_rec.approved_yn = OKC_API.G_MISS_CHAR) THEN
3545 l_qtev_rec.approved_yn := NULL;
3546 END IF;
3547 IF (l_qtev_rec.accepted_yn = OKC_API.G_MISS_CHAR) THEN
3548 l_qtev_rec.accepted_yn := NULL;
3549 END IF;
3550 IF (l_qtev_rec.payment_received_yn = OKC_API.G_MISS_CHAR) THEN
3551 l_qtev_rec.payment_received_yn := NULL;
3552 END IF;
3553 IF (l_qtev_rec.date_payment_received = OKC_API.G_MISS_DATE) THEN
3554 l_qtev_rec.date_payment_received := NULL;
3555 END IF;
3556 IF (l_qtev_rec.attribute_category = OKC_API.G_MISS_CHAR) THEN
3557 l_qtev_rec.attribute_category := NULL;
3558 END IF;
3559 IF (l_qtev_rec.attribute1 = OKC_API.G_MISS_CHAR) THEN
3560 l_qtev_rec.attribute1 := NULL;
3561 END IF;
3562 IF (l_qtev_rec.attribute2 = OKC_API.G_MISS_CHAR) THEN
3563 l_qtev_rec.attribute2 := NULL;
3564 END IF;
3565 IF (l_qtev_rec.attribute3 = OKC_API.G_MISS_CHAR) THEN
3566 l_qtev_rec.attribute3 := NULL;
3567 END IF;
3568 IF (l_qtev_rec.attribute4 = OKC_API.G_MISS_CHAR) THEN
3569 l_qtev_rec.attribute4 := NULL;
3570 END IF;
3571 IF (l_qtev_rec.attribute5 = OKC_API.G_MISS_CHAR) THEN
3572 l_qtev_rec.attribute5 := NULL;
3573 END IF;
3574 IF (l_qtev_rec.attribute6 = OKC_API.G_MISS_CHAR) THEN
3575 l_qtev_rec.attribute6 := NULL;
3576 END IF;
3577 IF (l_qtev_rec.attribute7 = OKC_API.G_MISS_CHAR) THEN
3578 l_qtev_rec.attribute7 := NULL;
3579 END IF;
3580 IF (l_qtev_rec.attribute8 = OKC_API.G_MISS_CHAR) THEN
3581 l_qtev_rec.attribute8 := NULL;
3582 END IF;
3583 IF (l_qtev_rec.attribute9 = OKC_API.G_MISS_CHAR) THEN
3584 l_qtev_rec.attribute9 := NULL;
3585 END IF;
3586 IF (l_qtev_rec.attribute10 = OKC_API.G_MISS_CHAR) THEN
3587 l_qtev_rec.attribute10 := NULL;
3588 END IF;
3589 IF (l_qtev_rec.attribute11 = OKC_API.G_MISS_CHAR) THEN
3590 l_qtev_rec.attribute11 := NULL;
3591 END IF;
3592 IF (l_qtev_rec.attribute12 = OKC_API.G_MISS_CHAR) THEN
3593 l_qtev_rec.attribute12 := NULL;
3594 END IF;
3595 IF (l_qtev_rec.attribute13 = OKC_API.G_MISS_CHAR) THEN
3596 l_qtev_rec.attribute13 := NULL;
3597 END IF;
3598 IF (l_qtev_rec.attribute14 = OKC_API.G_MISS_CHAR) THEN
3599 l_qtev_rec.attribute14 := NULL;
3600 END IF;
3601 IF (l_qtev_rec.attribute15 = OKC_API.G_MISS_CHAR) THEN
3602 l_qtev_rec.attribute15 := NULL;
3603 END IF;
3604 IF (l_qtev_rec.date_approved = OKC_API.G_MISS_DATE) THEN
3605 l_qtev_rec.date_approved := NULL;
3606 END IF;
3607 IF (l_qtev_rec.approved_by = OKC_API.G_MISS_NUM) THEN
3608 l_qtev_rec.approved_by := NULL;
3609 END IF;
3610 IF (l_qtev_rec.org_id = OKC_API.G_MISS_NUM) THEN
3611 l_qtev_rec.org_id := NULL;
3612 END IF;
3613 /*
3614 IF (l_qtev_rec.request_id = OKC_API.G_MISS_NUM) THEN
3615 l_qtev_rec.request_id := NULL;
3616 END IF;
3617 IF (l_qtev_rec.program_application_id = OKC_API.G_MISS_NUM) THEN
3618 l_qtev_rec.program_application_id := NULL;
3619 END IF;
3620 IF (l_qtev_rec.program_id = OKC_API.G_MISS_NUM) THEN
3621 l_qtev_rec.program_id := NULL;
3622 END IF;
3623 IF (l_qtev_rec.program_update_date = OKC_API.G_MISS_DATE) THEN
3624 l_qtev_rec.program_update_date := NULL;
3625 END IF;
3626 */
3627 IF (l_qtev_rec.created_by = OKC_API.G_MISS_NUM) THEN
3628 l_qtev_rec.created_by := NULL;
3629 END IF;
3630 IF (l_qtev_rec.creation_date = OKC_API.G_MISS_DATE) THEN
3631 l_qtev_rec.creation_date := NULL;
3632 END IF;
3633 IF (l_qtev_rec.last_updated_by = OKC_API.G_MISS_NUM) THEN
3634 l_qtev_rec.last_updated_by := NULL;
3635 END IF;
3636 IF (l_qtev_rec.last_update_date = OKC_API.G_MISS_DATE) THEN
3637 l_qtev_rec.last_update_date := NULL;
3638 END IF;
3639 IF (l_qtev_rec.last_update_login = OKC_API.G_MISS_NUM) THEN
3640 l_qtev_rec.last_update_login := NULL;
3641 END IF;
3642 IF (l_qtev_rec.purchase_amount = OKC_API.G_MISS_NUM) THEN
3643 l_qtev_rec.purchase_amount := NULL;
3644 END IF;
3645 IF (l_qtev_rec.purchase_formula = OKC_API.G_MISS_CHAR) THEN
3646 l_qtev_rec.purchase_formula := NULL;
3647 END IF;
3648 IF (l_qtev_rec.asset_value = OKC_API.G_MISS_NUM) THEN
3649 l_qtev_rec.asset_value := NULL;
3650 END IF;
3651 IF (l_qtev_rec.residual_value = OKC_API.G_MISS_NUM) THEN
3652 l_qtev_rec.residual_value := NULL;
3653 END IF;
3654 IF (l_qtev_rec.unbilled_receivables = OKC_API.G_MISS_NUM) THEN
3655 l_qtev_rec.unbilled_receivables := NULL;
3656 END IF;
3657 IF (l_qtev_rec.gain_loss = OKC_API.G_MISS_NUM) THEN
3658 l_qtev_rec.gain_loss := NULL;
3659 END IF;
3660 -- BAKUCHIB 2667636 Start
3661 IF (l_qtev_rec.currency_code = OKC_API.G_MISS_CHAR) THEN
3662 l_qtev_rec.currency_code := NULL;
3663 END IF;
3664 IF (l_qtev_rec.currency_conversion_code = OKC_API.G_MISS_CHAR) THEN
3665 l_qtev_rec.currency_conversion_code := NULL;
3666 END IF;
3667 IF (l_qtev_rec.currency_conversion_type = OKC_API.G_MISS_CHAR) THEN
3668 l_qtev_rec.currency_conversion_type := NULL;
3669 END IF;
3670 IF (l_qtev_rec.currency_conversion_rate = OKC_API.G_MISS_NUM) THEN
3671 l_qtev_rec.currency_conversion_rate := NULL;
3672 END IF;
3673 IF (l_qtev_rec.currency_conversion_date = OKC_API.G_MISS_DATE) THEN
3674 l_qtev_rec.currency_conversion_date := NULL;
3675 END IF;
3676 -- BAKUCHIB 2667636 End
3677 IF (l_qtev_rec.PERDIEM_AMOUNT = OKC_API.G_MISS_NUM) THEN
3678 l_qtev_rec.PERDIEM_AMOUNT := NULL;
3679 END IF; --SANAHUJA -- LOANS_ENHACEMENTS
3680 --dkagrawa LE update start
3681 IF (l_qtev_rec.legal_entity_id = OKC_API.G_MISS_NUM) THEN
3682 l_qtev_rec.legal_entity_id := NULL;
3683 END IF;
3684 --dkagrawa LE update end
3685
3686 RETURN(l_qtev_rec);
3687 END null_out_defaults;
3688
3689 ---------------------------------------------------------------------------
3690 -- PROCEDURE Validate_Attributes
3691 ---------------------------------------------------------------------------
3692 ----------------------------------------------
3693 -- Validate_Attributes for:OKL_TRX_QUOTES_V --
3694 ----------------------------------------------
3695 -- Start of comments
3696 -- Function Name : Validate_Attributes
3697 -- Description : Validate Attributes of record structure of
3698 -- OKL_TRX_QUOTE_V table
3699 -- Business Rules :
3700 -- Parameters : Record structure of OKL_TRX_QUOTE_V table
3701 -- Version : 1.0
3702 -- History : 18-DEC-2002 BAKUCHIB 2667636 Modified
3703 -- : Added Procedure for validation of Currency code,
3704 -- currency Conversion_code and Currency conversion type
3705 -- End of comments
3706 FUNCTION Validate_Attributes (p_qtev_rec IN qtev_rec_type)
3707 RETURN VARCHAR2 IS
3708
3709 x_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
3710 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
3711
3712 BEGIN
3713
3714 validate_id( p_qtev_rec => p_qtev_rec
3715 ,x_return_status => l_return_status);
3716 -- store the highest degree of error
3717 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
3718 IF (x_return_status <> OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3719 x_return_status := l_return_status;
3720 END IF;
3721 END IF;
3722
3723 validate_object_version_number( p_qtev_rec => p_qtev_rec
3724 ,x_return_status => l_return_status);
3725 -- store the highest degree of error
3726 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
3727 IF (x_return_status <> OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3728 x_return_status := l_return_status;
3729 END IF;
3730 END IF;
3731 --dkagrawa LE uptake start
3732 validate_legal_entity_id( p_qtev_rec => p_qtev_rec
3733 ,x_return_status => l_return_status);
3734 -- store the highest degree of error
3735 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
3736 IF (x_return_status <> OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3737 x_return_status := l_return_status;
3738 END IF;
3739 END IF;
3740 --dkagrawa LE uptake end
3741
3742 --AKP:REPO-QUOTE-START 6599890
3743 validate_repo_qte_indicator_yn( p_qtev_rec => p_qtev_rec
3744 ,x_return_status => l_return_status);
3745 -- store the highest degree of error
3746 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
3747 IF (x_return_status <> OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3748 x_return_status := l_return_status;
3749 END IF;
3750 END IF;
3751 --AKP:REPO-QUOTE-START
3752
3753 validate_sfwt_flag( p_qtev_rec => p_qtev_rec
3754 ,x_return_status => l_return_status);
3755 -- store the highest degree of error
3756 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
3757 IF (x_return_status <> OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3758 x_return_status := l_return_status;
3759 END IF;
3760 END IF;
3761
3762 validate_qrs_code( p_qtev_rec => p_qtev_rec
3763 ,x_return_status => l_return_status);
3764 -- store the highest degree of error
3765 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
3766 IF (x_return_status <> OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3767 x_return_status := l_return_status;
3768 END IF;
3769 END IF;
3770
3771 validate_qst_code( p_qtev_rec => p_qtev_rec
3772 ,x_return_status => l_return_status);
3773 -- store the highest degree of error
3774 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
3775 IF (x_return_status <> OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3776 x_return_status := l_return_status;
3777 END IF;
3778 END IF;
3779
3780 validate_qtp_code( p_qtev_rec => p_qtev_rec
3781 ,x_return_status => l_return_status);
3782 -- store the highest degree of error
3783 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
3784 IF (x_return_status <> OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3785 x_return_status := l_return_status;
3786 END IF;
3787 END IF;
3788
3789 validate_khr_id( p_qtev_rec => p_qtev_rec
3790 ,x_return_status => l_return_status);
3791 -- store the highest degree of error
3792 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
3793 IF (x_return_status <> OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3794 x_return_status := l_return_status;
3795 END IF;
3796 END IF;
3797
3798 validate_date_requested( p_qtev_rec => p_qtev_rec
3799 ,x_return_status => l_return_status);
3800 -- store the highest degree of error
3801 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
3802 IF (x_return_status <> OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3803 x_return_status := l_return_status;
3804 END IF;
3805 END IF;
3806
3807 validate_date_proposal( p_qtev_rec => p_qtev_rec
3808 ,x_return_status => l_return_status);
3809 -- store the highest degree of error
3810 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
3811 IF (x_return_status <> OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3812 x_return_status := l_return_status;
3813 END IF;
3814 END IF;
3815
3816 validate_date_accepted( p_qtev_rec => p_qtev_rec
3817 ,x_return_status => l_return_status);
3818 -- store the highest degree of error
3819 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
3820 IF (x_return_status <> OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3821 x_return_status := l_return_status;
3822 END IF;
3823 END IF;
3824
3825 validate_date_effective_from( p_qtev_rec => p_qtev_rec
3826 ,x_return_status => l_return_status);
3827 -- store the highest degree of error
3828 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
3829 IF (x_return_status <> OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3830 x_return_status := l_return_status;
3831 END IF;
3832 END IF;
3833
3834 validate_date_effective_to( p_qtev_rec => p_qtev_rec
3835 ,x_return_status => l_return_status);
3836 -- store the highest degree of error
3837 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
3838 IF (x_return_status <> OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3839 x_return_status := l_return_status;
3840 END IF;
3841 END IF;
3842
3843 validate_date_payment_received( p_qtev_rec => p_qtev_rec
3844 ,x_return_status => l_return_status);
3845 -- store the highest degree of error
3846 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
3847 IF (x_return_status <> OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3848 x_return_status := l_return_status;
3849 END IF;
3850 END IF;
3851
3852 validate_quote_number( p_qtev_rec => p_qtev_rec
3853 ,x_return_status => l_return_status);
3854 -- store the highest degree of error
3855 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
3856 IF (x_return_status <> OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3857 x_return_status := l_return_status;
3858 END IF;
3859 END IF;
3860
3861 validate_accepted_yn( p_qtev_rec => p_qtev_rec
3862 ,x_return_status => l_return_status);
3863 -- store the highest degree of error
3864 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
3865 IF (x_return_status <> OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3866 x_return_status := l_return_status;
3867 END IF;
3868 END IF;
3869
3870 validate_approved_yn( p_qtev_rec => p_qtev_rec
3871 ,x_return_status => l_return_status);
3872 -- store the highest degree of error
3873 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
3874 IF (x_return_status <> OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3875 x_return_status := l_return_status;
3876 END IF;
3877 END IF;
3878
3879 validate_consolidated_yn( p_qtev_rec => p_qtev_rec
3880 ,x_return_status => l_return_status);
3881 -- store the highest degree of error
3882 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
3883 IF (x_return_status <> OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3884 x_return_status := l_return_status;
3885 END IF;
3886 END IF;
3887
3888 validate_comments( p_qtev_rec => p_qtev_rec
3889 ,x_return_status => l_return_status);
3890 -- store the highest degree of error
3891 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
3892 IF (x_return_status <> OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3893 x_return_status := l_return_status;
3894 END IF;
3895 END IF;
3896
3897 validate_payment_received_yn( p_qtev_rec => p_qtev_rec
3898 ,x_return_status => l_return_status);
3899 -- store the highest degree of error
3900 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
3901 IF (x_return_status <> OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3902 x_return_status := l_return_status;
3903 END IF;
3904 END IF;
3905
3906
3907 validate_org_id( p_qtev_rec => p_qtev_rec
3908 ,x_return_status => l_return_status);
3909 -- store the highest degree of error
3910 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
3911 IF (x_return_status <> OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3912 x_return_status := l_return_status;
3913 END IF;
3914 END IF;
3915
3916 validate_consolidated_qte_id( p_qtev_rec => p_qtev_rec
3917 ,x_return_status => l_return_status);
3918 -- store the highest degree of error
3919 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
3920 IF (x_return_status <> OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3921 x_return_status := l_return_status;
3922 END IF;
3923 END IF;
3924
3925 validate_date_approved( p_qtev_rec => p_qtev_rec
3926 ,x_return_status => l_return_status);
3927 -- store the highest degree of error
3928 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
3929 IF (x_return_status <> OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3930 x_return_status := l_return_status;
3931 END IF;
3932 END IF;
3933
3934 validate_approved_by( p_qtev_rec => p_qtev_rec
3935 ,x_return_status => l_return_status);
3936 -- store the highest degree of error
3937 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
3938 IF (x_return_status <> OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3939 x_return_status := l_return_status;
3940 END IF;
3941 END IF;
3942
3943 -- BAKUCHIB 2667636 Start
3944 validate_currency_code(p_qtev_rec => p_qtev_rec,
3945 x_return_status => l_return_status);
3946 -- store the highest degree of error
3947 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
3948 IF (x_return_status <> OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3949 x_return_status := l_return_status;
3950 END IF;
3951 END IF;
3952 validate_currency_con_code(p_qtev_rec => p_qtev_rec,
3953 x_return_status => l_return_status);
3954 -- store the highest degree of error
3955 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
3956 IF (x_return_status <> OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3957 x_return_status := l_return_status;
3958 END IF;
3959 END IF;
3960 validate_currency_con_type(p_qtev_rec => p_qtev_rec,
3961 x_return_status => l_return_status);
3962 -- store the highest degree of error
3963 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
3964 IF (x_return_status <> OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3965 x_return_status := l_return_status;
3966 END IF;
3967 END IF;
3968 -- BAKUCHIB 2667636 End
3969
3970 RETURN x_return_status;
3971
3972 EXCEPTION
3973 WHEN OTHERS THEN
3974 -- store SQL error message on message stack for caller
3975 OKC_API.SET_MESSAGE( p_app_name => G_APP_NAME
3976 ,p_msg_name => G_UNEXPECTED_ERROR
3977 ,p_token1 => G_SQLCODE_TOKEN
3978 ,p_token1_value => sqlcode
3979 ,p_token2 => G_SQLERRM_TOKEN
3980 ,p_token2_value => sqlerrm);
3981
3982 --notify caller of an UNEXPECTED error
3983 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
3984
3985 --return status to caller
3986 RETURN x_return_status;
3987
3988 END Validate_Attributes;
3989
3990 -- Start of comments
3991 --
3992 -- Function Name : is_unique
3993 -- Description :
3994 -- Business Rules :
3995 -- Parameters :
3996 -- Version : 1.0
3997 -- End of comments
3998 FUNCTION IS_UNIQUE (p_qtev_rec IN qtev_rec_type) RETURN VARCHAR2
3999 IS
4000
4001 -- select the quote record matching the unique key value
4002 CURSOR okl_qtev_csr (p_quote_number IN NUMBER, p_id IN NUMBER) IS
4003 SELECT 'x'
4004 FROM OKL_TRX_QUOTES_V
4005 WHERE QUOTE_NUMBER = p_quote_number
4006 AND ID <> nvl(p_id, -99999);
4007
4008 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
4009 l_dummy VARCHAR2(1);
4010 l_found BOOLEAN;
4011
4012 BEGIN
4013 -- initialize return status
4014 l_return_status := OKC_API.G_RET_STS_SUCCESS;
4015
4016 IF (p_qtev_rec.quote_number IS NOT NULL) THEN
4017
4018 -- enforce foreign key
4019 OPEN okl_qtev_csr(p_qtev_rec.quote_number,p_qtev_rec.id);
4020 FETCH okl_qtev_csr INTO l_dummy;
4021 l_found := okl_qtev_csr%FOUND;
4022 CLOSE okl_qtev_csr;
4023
4024 END IF;
4025
4026 IF (l_found) Then
4027 OKC_API.SET_MESSAGE( p_app_name => 'OKL'
4028 ,p_msg_name => 'OKL_UNIQUE_KEY_EXISTS'
4029 ,p_token1 => 'UK_KEY_VALUE'
4030 ,p_token1_value => p_qtev_rec.quote_number
4031 ,p_token2 => 'UK_KEY_VALUE'
4032 ,p_token2_value => nvl(p_qtev_rec.id,' '));
4033 -- notify caller of an error
4034 l_return_status := OKC_API.G_RET_STS_ERROR;
4035 END IF;
4036 RETURN (l_return_status);
4037
4038 EXCEPTION
4039 WHEN OTHERS THEN
4040 -- store SQL error message on message stack for caller
4041 OKC_API.SET_MESSAGE( p_app_name => G_APP_NAME
4042 ,p_msg_name => G_UNEXPECTED_ERROR
4043 ,p_token1 => G_SQLCODE_TOKEN
4044 ,p_token1_value => sqlcode
4045 ,p_token2 => G_SQLERRM_TOKEN
4046 ,p_token2_value => sqlerrm);
4047
4048 -- notify caller of an UNEXPECTED error
4049 l_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
4050
4051 -- verify that cursor was closed
4052 IF okl_qtev_csr%ISOPEN THEN
4053 CLOSE okl_qtev_csr;
4054 END IF;
4055
4056 RETURN (l_return_status);
4057
4058 END IS_UNIQUE;
4059
4060 ---------------------------------------------------------------------------
4061 -- PROCEDURE Validate_Record
4062 ---------------------------------------------------------------------------
4063 ------------------------------------------
4064 -- Validate_Record for:OKL_TRX_QUOTES_V --
4065 ------------------------------------------
4066 -- Start of comments
4067 -- Function Name : Validate_Record
4068 -- Description : Validate Record of record structure of
4069 -- OKL_TRX_QUOTE_V table
4070 -- Business Rules :
4071 -- Parameters : Record structure of OKL_TRX_QUOTE_V table
4072 -- Version : 1.0
4073 -- History : 18-DEC-2002 BAKUCHIB 2667636 Modified
4074 -- Added Procedure to validate Currency conversion Code,type
4075 -- ,rate and Date aganist currency code
4076 -- End of comments
4077 FUNCTION Validate_Record (p_qtev_rec IN qtev_rec_type) RETURN VARCHAR2 IS
4078
4079 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
4080 x_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
4081
4082 BEGIN
4083
4084 --
4085 -- Unique Key validation
4086 --
4087 x_return_status := IS_UNIQUE(p_qtev_rec);
4088 --
4089 -- Subtype column validation
4090 --
4091 IF (p_qtev_rec.qtp_code like 'TER%') THEN
4092 validate_termination(p_qtev_rec => p_qtev_rec
4093 ,x_return_status => l_return_status);
4094
4095 ELSIF (p_qtev_rec.qtp_code like 'RES%') THEN
4096 validate_restructure(p_qtev_rec => p_qtev_rec
4097 ,x_return_status => l_return_status);
4098
4099 ELSIF (p_qtev_rec.qtp_code = 'REP%') THEN
4100 validate_repurchase(p_qtev_rec => p_qtev_rec
4101 ,x_return_status => l_return_status);
4102
4103 END IF;
4104
4105 -- store the highest degree of error
4106 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
4107 IF (x_return_status <> OKC_API.G_RET_STS_UNEXP_ERROR) THEN
4108 x_return_status := l_return_status;
4109 END IF;
4110 END IF;
4111
4112 --
4113 -- Date checks
4114 --
4115 validate_effective_dates(p_qtev_rec => p_qtev_rec
4116 ,x_return_status => l_return_status);
4117
4118 -- store the highest degree of error
4119 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
4120 IF (x_return_status <> OKC_API.G_RET_STS_UNEXP_ERROR) THEN
4121 x_return_status := l_return_status;
4122 END IF;
4123 END IF;
4124 -- BAKUCHIB 2667636 Start
4125 -- Validate Currency conversion Code,type,rate and Date
4126
4127 validate_currency_record(p_qtev_rec => p_qtev_rec,
4128 x_return_status => l_return_status);
4129 -- store the highest degree of error
4130 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
4131 IF (x_return_status <> OKC_API.G_RET_STS_UNEXP_ERROR) THEN
4132 x_return_status := l_return_status;
4133 END IF;
4134 END IF;
4135 -- BAKUCHIB 2667636 End
4136
4137 RETURN (x_return_status);
4138
4139 EXCEPTION
4140 WHEN OTHERS THEN
4141 -- store SQL error message on message stack for caller
4142 OKC_API.SET_MESSAGE( p_app_name => G_APP_NAME
4143 ,p_msg_name => G_UNEXPECTED_ERROR
4144 ,p_token1 => G_SQLCODE_TOKEN
4145 ,p_token1_value => sqlcode
4146 ,p_token2 => G_SQLERRM_TOKEN
4147 ,p_token2_value => sqlerrm);
4148
4149 --notify caller of an UNEXPECTED error
4150 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
4151
4152 --return status to caller
4153 RETURN x_return_status;
4154
4155 END Validate_Record;
4156
4157 /* generated code
4158 ---------------------------------------------------------------------------
4159 -- PROCEDURE Validate_Attributes
4160 ---------------------------------------------------------------------------
4161 ----------------------------------------------
4162 -- Validate_Attributes for:OKL_TRX_QUOTES_V --
4163 ----------------------------------------------
4164 FUNCTION Validate_Attributes (
4165 p_qtev_rec IN qtev_rec_type
4166 ) RETURN VARCHAR2 IS
4167 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
4168 BEGIN
4169 IF p_qtev_rec.id = OKC_API.G_MISS_NUM OR
4170 p_qtev_rec.id IS NULL
4171 THEN
4172 OKC_API.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'id');
4173 l_return_status := OKC_API.G_RET_STS_ERROR;
4174 ELSIF p_qtev_rec.object_version_number = OKC_API.G_MISS_NUM OR
4175 p_qtev_rec.object_version_number IS NULL
4176 THEN
4177 OKC_API.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'object_version_number');
4178 l_return_status := OKC_API.G_RET_STS_ERROR;
4179 ELSIF p_qtev_rec.qrs_code = OKC_API.G_MISS_CHAR OR
4180 p_qtev_rec.qrs_code IS NULL
4181 THEN
4182 OKC_API.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'qrs_code');
4183 l_return_status := OKC_API.G_RET_STS_ERROR;
4184 ELSIF p_qtev_rec.qst_code = OKC_API.G_MISS_CHAR OR
4185 p_qtev_rec.qst_code IS NULL
4186 THEN
4187 OKC_API.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'qst_code');
4188 l_return_status := OKC_API.G_RET_STS_ERROR;
4189 ELSIF p_qtev_rec.qtp_code = OKC_API.G_MISS_CHAR OR
4190 p_qtev_rec.qtp_code IS NULL
4191 THEN
4192 OKC_API.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'qtp_code');
4193 l_return_status := OKC_API.G_RET_STS_ERROR;
4194 ELSIF p_qtev_rec.date_effective_from = OKC_API.G_MISS_DATE OR
4195 p_qtev_rec.date_effective_from IS NULL
4196 THEN
4197 OKC_API.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'date_effective_from');
4198 l_return_status := OKC_API.G_RET_STS_ERROR;
4199 ELSIF p_qtev_rec.quote_number = OKC_API.G_MISS_NUM OR
4200 p_qtev_rec.quote_number IS NULL
4201 THEN
4202 OKC_API.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'quote_number');
4203 l_return_status := OKC_API.G_RET_STS_ERROR;
4204 END IF;
4205 RETURN(l_return_status);
4206 END Validate_Attributes;
4207
4208 ---------------------------------------------------------------------------
4209 -- PROCEDURE Validate_Record
4210 ---------------------------------------------------------------------------
4211 ------------------------------------------
4212 -- Validate_Record for:OKL_TRX_QUOTES_V --
4213 ------------------------------------------
4214 FUNCTION Validate_Record (
4215 p_qtev_rec IN qtev_rec_type
4216 ) RETURN VARCHAR2 IS
4217 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
4218 ------------------------------------
4219 -- FUNCTION validate_foreign_keys --
4220 ------------------------------------
4221 FUNCTION validate_foreign_keys (
4222 p_qtev_rec IN qtev_rec_type
4223 ) RETURN VARCHAR2 IS
4224 item_not_found_error EXCEPTION;
4225 CURSOR okl_artv_pk_csr (p_id IN NUMBER) IS
4226 SELECT
4227 ID,
4228 OBJECT_VERSION_NUMBER,
4229 SFWT_FLAG,
4230 RMR_ID,
4231 IMR_ID,
4232 RNA_ID,
4233 KLE_ID,
4234 ISO_ID,
4235 SECURITY_DEP_TRX_AP_ID,
4236 ARS_CODE,
4237 ART1_CODE,
4238 RRN_CODE,
4239 INSURANCE_AMOUNT,
4240 DATE_RETURNED,
4241 DATE_RETURN_DUE,
4242 DATE_RETURN_NOTIFIED,
4243 RELOCATE_ASSET_YN,
4244 TRANS_OPTION_ACCEPTED_YN,
4245 VOLUNTARY_YN,
4246 DATE_REPOSSESSION_REQUIRED,
4247 DATE_REPOSSESSION_ACTUAL,
4248 DATE_HOLD_UNTIL,
4249 COMMMERCIALLY_REAS_SALE_YN,
4250 COMMENTS,
4251 ATTRIBUTE_CATEGORY,
4252 ATTRIBUTE1,
4253 ATTRIBUTE2,
4254 ATTRIBUTE3,
4255 ATTRIBUTE4,
4256 ATTRIBUTE5,
4257 ATTRIBUTE6,
4258 ATTRIBUTE7,
4259 ATTRIBUTE8,
4260 ATTRIBUTE9,
4261 ATTRIBUTE10,
4262 ATTRIBUTE11,
4263 ATTRIBUTE12,
4264 ATTRIBUTE13,
4265 ATTRIBUTE14,
4266 ATTRIBUTE15,
4267 ORG_ID,
4268 REQUEST_ID,
4269 PROGRAM_APPLICATION_ID,
4270 PROGRAM_ID,
4271 PROGRAM_UPDATE_DATE,
4272 CREATED_BY,
4273 CREATION_DATE,
4274 LAST_UPDATED_BY,
4275 LAST_UPDATE_DATE,
4276 LAST_UPDATE_LOGIN
4277 FROM Okl_Asset_Returns_V
4278 WHERE okl_asset_returns_v.id = p_id;
4279 l_okl_artv_pk okl_artv_pk_csr%ROWTYPE;
4280 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
4281 l_row_notfound BOOLEAN := TRUE;
4282 BEGIN
4283 IF (p_qtev_rec.ART_ID IS NOT NULL)
4284 THEN
4285 OPEN okl_artv_pk_csr(p_qtev_rec.ART_ID);
4286 FETCH okl_artv_pk_csr INTO l_okl_artv_pk;
4287 l_row_notfound := okl_artv_pk_csr%NOTFOUND;
4288 CLOSE okl_artv_pk_csr;
4289 IF (l_row_notfound) THEN
4290 OKC_API.set_message(G_APP_NAME, G_INVALID_VALUE,G_COL_NAME_TOKEN,'ART_ID');
4291 RAISE item_not_found_error;
4292 END IF;
4293 END IF;
4294 RETURN (l_return_status);
4295 EXCEPTION
4296 WHEN item_not_found_error THEN
4297 l_return_status := OKC_API.G_RET_STS_ERROR;
4298 RETURN (l_return_status);
4299 END validate_foreign_keys;
4300 BEGIN
4301 l_return_status := validate_foreign_keys (p_qtev_rec);
4302 RETURN (l_return_status);
4303 END Validate_Record;
4304 */
4305 ---------------------------------------------------------------------------
4306 -- PROCEDURE Migrate
4307 ---------------------------------------------------------------------------
4308 -- Start of comments
4309 -- Procedure Name : Migrate
4310 -- Description : Migrate record structure of OKL_TRX_QUOTE_V table
4311 -- to record structure of OKL_TRX_QUOTE_B table
4312 -- Business Rules :
4313 -- Parameters : IN Record structure of OKL_TRX_QUOTE_V table
4314 -- IN OUT Record structure of OKL_TRX_QUOTE_B table
4315 -- Version : 1.0
4316 -- History : 18-DEC-2002 BAKUCHIB 2667636 Modified
4317 -- : Added columns Currency code, currency Conversion_code
4318 -- Currency conversion type, currency conversion date
4319 -- currency conversion rate.
4320 -- End of comments
4321 PROCEDURE migrate (
4322 p_from IN qtev_rec_type,
4323 p_to IN OUT NOCOPY qte_rec_type
4324 ) IS
4325 BEGIN
4326 p_to.id := p_from.id;
4327 p_to.qrs_code := p_from.qrs_code;
4328 p_to.qst_code := p_from.qst_code;
4329 p_to.consolidated_qte_id := p_from.consolidated_qte_id;
4330 p_to.khr_id := p_from.khr_id;
4331 p_to.art_id := p_from.art_id;
4332 p_to.qtp_code := p_from.qtp_code;
4333 p_to.trn_code := p_from.trn_code;
4334 p_to.pop_code_end := p_from.pop_code_end;
4335 p_to.pop_code_early := p_from.pop_code_early;
4336 p_to.pdt_id := p_from.pdt_id;
4337 p_to.date_effective_from := p_from.date_effective_from;
4338 p_to.quote_number := p_from.quote_number;
4339 p_to.object_version_number := p_from.object_version_number;
4340 p_to.purchase_percent := p_from.purchase_percent;
4341 p_to.term := p_from.term;
4342 p_to.date_restructure_start := p_from.date_restructure_start;
4343 p_to.date_due := p_from.date_due;
4344 p_to.date_approved := p_from.date_approved;
4345 p_to.date_restructure_end := p_from.date_restructure_end;
4346 p_to.remaining_payments := p_from.remaining_payments;
4347 p_to.rent_amount := p_from.rent_amount;
4348 p_to.yield := p_from.yield;
4349 p_to.residual_amount := p_from.residual_amount;
4350 p_to.principal_paydown_amount := p_from.principal_paydown_amount;
4351 p_to.payment_frequency := p_from.payment_frequency;
4352 p_to.early_termination_yn := p_from.early_termination_yn;
4353 p_to.partial_yn := p_from.partial_yn;
4354 p_to.preproceeds_yn := p_from.preproceeds_yn;
4355 p_to.summary_format_yn := p_from.summary_format_yn;
4356 p_to.consolidated_yn := p_from.consolidated_yn;
4357 p_to.date_requested := p_from.date_requested;
4358 p_to.date_proposal := p_from.date_proposal;
4359 p_to.date_effective_to := p_from.date_effective_to;
4360 p_to.date_accepted := p_from.date_accepted;
4361 p_to.payment_received_yn := p_from.payment_received_yn;
4362 p_to.requested_by := p_from.requested_by;
4363 p_to.approved_yn := p_from.approved_yn;
4364 p_to.accepted_yn := p_from.accepted_yn;
4365 p_to.date_payment_received := p_from.date_payment_received;
4366 p_to.approved_by := p_from.approved_by;
4367 p_to.org_id := p_from.org_id;
4368 p_to.request_id := p_from.request_id;
4369 p_to.program_application_id := p_from.program_application_id;
4370 p_to.program_id := p_from.program_id;
4371 p_to.program_update_date := p_from.program_update_date;
4372 p_to.attribute_category := p_from.attribute_category;
4373 p_to.attribute1 := p_from.attribute1;
4374 p_to.attribute2 := p_from.attribute2;
4375 p_to.attribute3 := p_from.attribute3;
4376 p_to.attribute4 := p_from.attribute4;
4377 p_to.attribute5 := p_from.attribute5;
4378 p_to.attribute6 := p_from.attribute6;
4379 p_to.attribute7 := p_from.attribute7;
4380 p_to.attribute8 := p_from.attribute8;
4381 p_to.attribute9 := p_from.attribute9;
4382 p_to.attribute10 := p_from.attribute10;
4383 p_to.attribute11 := p_from.attribute11;
4384 p_to.attribute12 := p_from.attribute12;
4385 p_to.attribute13 := p_from.attribute13;
4386 p_to.attribute14 := p_from.attribute14;
4387 p_to.attribute15 := p_from.attribute15;
4388 p_to.created_by := p_from.created_by;
4389 p_to.creation_date := p_from.creation_date;
4390 p_to.last_updated_by := p_from.last_updated_by;
4391 p_to.last_update_date := p_from.last_update_date;
4392 p_to.last_update_login := p_from.last_update_login;
4393 p_to.purchase_amount := p_from.purchase_amount;
4394 p_to.purchase_formula := p_from.purchase_formula;
4395 p_to.asset_value := p_from.asset_value;
4396 p_to.residual_value := p_from.residual_value;
4397 p_to.unbilled_receivables := p_from.unbilled_receivables;
4398 p_to.gain_loss := p_from.gain_loss;
4399 -- BAKUCHIB 2667636 Start
4400 p_to.currency_code := p_from.currency_code;
4401 p_to.currency_conversion_code := p_from.currency_conversion_code;
4402 p_to.currency_conversion_type := p_from.currency_conversion_type;
4403 p_to.currency_conversion_rate := p_from.currency_conversion_rate;
4404 p_to.currency_conversion_date := p_from.currency_conversion_date;
4405 -- BAKUCHIB 2667636 End
4406 p_to.PERDIEM_AMOUNT := p_from.PERDIEM_AMOUNT; --SANAHUJA -- LOANS_ENHACEMENTS
4407 p_to.legal_entity_id := p_from.legal_entity_id; --DKAGRAWA for LE uptake project
4408 p_to.repo_quote_indicator_yn := p_from.repo_quote_indicator_yn; --AKP:REPO-QUOTE-START-END 6599890
4409
4410 END migrate;
4411 ---------------------------------------------------------------------------
4412 -- Start of comments
4413 -- Procedure Name : Migrate
4414 -- Description : Migrate record structure of OKL_TRX_QUOTE_B table
4415 -- to record structure of OKL_TRX_QUOTE_V table
4416 -- Business Rules :
4417 -- Parameters : IN Record structure of OKL_TRX_QUOTE_B table
4418 -- IN OUT Record structure of OKL_TRX_QUOTE_V table
4419 -- Version : 1.0
4420 -- History : 18-DEC-2002 BAKUCHIB 2667636 Modified
4421 -- : Added columns Currency code, currency Conversion_code
4422 -- Currency conversion type, currency conversion date
4423 -- currency conversion rate.
4424 -- End of comments
4425 PROCEDURE migrate (
4426 p_from IN qte_rec_type,
4427 p_to IN OUT NOCOPY qtev_rec_type
4428 ) IS
4429 BEGIN
4430 p_to.id := p_from.id;
4431 p_to.qrs_code := p_from.qrs_code;
4432 p_to.qst_code := p_from.qst_code;
4433 p_to.consolidated_qte_id := p_from.consolidated_qte_id;
4434 p_to.khr_id := p_from.khr_id;
4435 p_to.art_id := p_from.art_id;
4436 p_to.qtp_code := p_from.qtp_code;
4437 p_to.trn_code := p_from.trn_code;
4438 p_to.pop_code_end := p_from.pop_code_end;
4439 p_to.pop_code_early := p_from.pop_code_early;
4440 p_to.pdt_id := p_from.pdt_id;
4441 p_to.date_effective_from := p_from.date_effective_from;
4442 p_to.quote_number := p_from.quote_number;
4443 p_to.object_version_number := p_from.object_version_number;
4444 p_to.purchase_percent := p_from.purchase_percent;
4445 p_to.term := p_from.term;
4446 p_to.date_restructure_start := p_from.date_restructure_start;
4447 p_to.date_due := p_from.date_due;
4448 p_to.date_approved := p_from.date_approved;
4449 p_to.date_restructure_end := p_from.date_restructure_end;
4450 p_to.remaining_payments := p_from.remaining_payments;
4451 p_to.rent_amount := p_from.rent_amount;
4452 p_to.yield := p_from.yield;
4453 p_to.residual_amount := p_from.residual_amount;
4454 p_to.principal_paydown_amount := p_from.principal_paydown_amount;
4455 p_to.payment_frequency := p_from.payment_frequency;
4456 p_to.early_termination_yn := p_from.early_termination_yn;
4457 p_to.partial_yn := p_from.partial_yn;
4458 p_to.preproceeds_yn := p_from.preproceeds_yn;
4459 p_to.summary_format_yn := p_from.summary_format_yn;
4460 p_to.consolidated_yn := p_from.consolidated_yn;
4461 p_to.date_requested := p_from.date_requested;
4462 p_to.date_proposal := p_from.date_proposal;
4463 p_to.date_effective_to := p_from.date_effective_to;
4464 p_to.date_accepted := p_from.date_accepted;
4465 p_to.payment_received_yn := p_from.payment_received_yn;
4466 p_to.requested_by := p_from.requested_by;
4467 p_to.approved_yn := p_from.approved_yn;
4468 p_to.accepted_yn := p_from.accepted_yn;
4469 p_to.date_payment_received := p_from.date_payment_received;
4470 p_to.approved_by := p_from.approved_by;
4471 p_to.org_id := p_from.org_id;
4472 p_to.request_id := p_from.request_id;
4473 p_to.program_application_id := p_from.program_application_id;
4474 p_to.program_id := p_from.program_id;
4475 p_to.program_update_date := p_from.program_update_date;
4476 p_to.attribute_category := p_from.attribute_category;
4477 p_to.attribute1 := p_from.attribute1;
4478 p_to.attribute2 := p_from.attribute2;
4479 p_to.attribute3 := p_from.attribute3;
4480 p_to.attribute4 := p_from.attribute4;
4481 p_to.attribute5 := p_from.attribute5;
4482 p_to.attribute6 := p_from.attribute6;
4483 p_to.attribute7 := p_from.attribute7;
4484 p_to.attribute8 := p_from.attribute8;
4485 p_to.attribute9 := p_from.attribute9;
4486 p_to.attribute10 := p_from.attribute10;
4487 p_to.attribute11 := p_from.attribute11;
4488 p_to.attribute12 := p_from.attribute12;
4489 p_to.attribute13 := p_from.attribute13;
4490 p_to.attribute14 := p_from.attribute14;
4491 p_to.attribute15 := p_from.attribute15;
4492 p_to.created_by := p_from.created_by;
4493 p_to.creation_date := p_from.creation_date;
4494 p_to.last_updated_by := p_from.last_updated_by;
4495 p_to.last_update_date := p_from.last_update_date;
4496 p_to.last_update_login := p_from.last_update_login;
4497 p_to.purchase_amount := p_from.purchase_amount;
4498 p_to.purchase_formula := p_from.purchase_formula;
4499 p_to.asset_value := p_from.asset_value;
4500 p_to.residual_value := p_from.residual_value;
4501 p_to.unbilled_receivables := p_from.unbilled_receivables;
4502 p_to.gain_loss := p_from.gain_loss;
4503 --BAKUCHIB 2667636 Start
4504 p_to.currency_code := p_from.currency_code;
4505 p_to.currency_conversion_code := p_from.currency_conversion_code;
4506 p_to.currency_conversion_type := p_from.currency_conversion_type;
4507 p_to.currency_conversion_rate := p_from.currency_conversion_rate;
4508 p_to.currency_conversion_date := p_from.currency_conversion_date;
4509 --BAKUCHIB 2667636 End
4510 p_to.PERDIEM_AMOUNT := p_from.PERDIEM_AMOUNT; --SANAHUJA -- LOANS_ENHACEMENTS
4511 p_to.legal_entity_id := p_from.legal_entity_id; --DKAGRAWA for LE uptake project
4512 p_to.repo_quote_indicator_yn := p_from.repo_quote_indicator_yn; --AKP:REPO-QUOTE-START-END 6599890
4513 END migrate;
4514 PROCEDURE migrate (
4515 p_from IN qtev_rec_type,
4516 p_to IN OUT NOCOPY okl_trx_quotes_tl_rec_type
4517 ) IS
4518 BEGIN
4519 p_to.id := p_from.id;
4520 p_to.sfwt_flag := p_from.sfwt_flag;
4521 p_to.comments := p_from.comments;
4522 p_to.created_by := p_from.created_by;
4523 p_to.creation_date := p_from.creation_date;
4524 p_to.last_updated_by := p_from.last_updated_by;
4525 p_to.last_update_date := p_from.last_update_date;
4526 p_to.last_update_login := p_from.last_update_login;
4527 END migrate;
4528 PROCEDURE migrate (
4529 p_from IN okl_trx_quotes_tl_rec_type,
4530 p_to IN OUT NOCOPY qtev_rec_type
4531 ) IS
4532 BEGIN
4533 p_to.id := p_from.id;
4534 p_to.sfwt_flag := p_from.sfwt_flag;
4535 p_to.comments := p_from.comments;
4536 p_to.created_by := p_from.created_by;
4537 p_to.creation_date := p_from.creation_date;
4538 p_to.last_updated_by := p_from.last_updated_by;
4539 p_to.last_update_date := p_from.last_update_date;
4540 p_to.last_update_login := p_from.last_update_login;
4541 END migrate;
4542
4543 ---------------------------------------------------------------------------
4544 -- PROCEDURE validate_row
4545 ---------------------------------------------------------------------------
4546 ---------------------------------------
4547 -- validate_row for:OKL_TRX_QUOTES_V --
4548 ---------------------------------------
4549 PROCEDURE validate_row(
4550 p_api_version IN NUMBER,
4551 p_init_msg_list IN VARCHAR2,
4552 x_return_status OUT NOCOPY VARCHAR2,
4553 x_msg_count OUT NOCOPY NUMBER,
4554 x_msg_data OUT NOCOPY VARCHAR2,
4555 p_qtev_rec IN qtev_rec_type) IS
4556
4557 l_api_version CONSTANT NUMBER := 1;
4558 l_api_name CONSTANT VARCHAR2(30) := 'V_validate_row';
4559 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
4560 l_qtev_rec qtev_rec_type := p_qtev_rec;
4561 l_qte_rec qte_rec_type;
4562 l_okl_trx_quotes_tl_rec okl_trx_quotes_tl_rec_type;
4563 BEGIN
4564 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
4565 G_PKG_NAME,
4566 p_init_msg_list,
4567 l_api_version,
4568 p_api_version,
4569 '_PVT',
4570 x_return_status);
4571 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
4572 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
4573 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
4574 RAISE OKC_API.G_EXCEPTION_ERROR;
4575 END IF;
4576 --- Validate all non-missing attributes (Item Level Validation)
4577 l_return_status := Validate_Attributes(l_qtev_rec);
4578 --- If any errors happen abort API
4579 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
4580 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
4581 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
4582 RAISE OKC_API.G_EXCEPTION_ERROR;
4583 END IF;
4584 l_return_status := Validate_Record(l_qtev_rec);
4585 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
4586 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
4587 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
4588 RAISE OKC_API.G_EXCEPTION_ERROR;
4589 END IF;
4590 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
4591 EXCEPTION
4592 WHEN OKC_API.G_EXCEPTION_ERROR THEN
4593 x_return_status := OKC_API.HANDLE_EXCEPTIONS
4594 (
4595 l_api_name,
4596 G_PKG_NAME,
4597 'OKC_API.G_RET_STS_ERROR',
4598 x_msg_count,
4599 x_msg_data,
4600 '_PVT'
4601 );
4602 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
4603 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
4604 (
4605 l_api_name,
4606 G_PKG_NAME,
4607 'OKC_API.G_RET_STS_UNEXP_ERROR',
4608 x_msg_count,
4609 x_msg_data,
4610 '_PVT'
4611 );
4612 WHEN OTHERS THEN
4613 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
4614 (
4615 l_api_name,
4616 G_PKG_NAME,
4617 'OTHERS',
4618 x_msg_count,
4619 x_msg_data,
4620 '_PVT'
4621 );
4622 END validate_row;
4623 ------------------------------------------
4624 -- PL/SQL TBL validate_row for:QTEV_TBL --
4625 ------------------------------------------
4626 PROCEDURE validate_row(
4627 p_api_version IN NUMBER,
4628 p_init_msg_list IN VARCHAR2,
4629 x_return_status OUT NOCOPY VARCHAR2,
4630 x_msg_count OUT NOCOPY NUMBER,
4631 x_msg_data OUT NOCOPY VARCHAR2,
4632 p_qtev_tbl IN qtev_tbl_type) IS
4633
4634 l_api_version CONSTANT NUMBER := 1;
4635 l_api_name CONSTANT VARCHAR2(30) := 'V_tbl_validate_row';
4636 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
4637 i NUMBER := 0;
4638 BEGIN
4639 OKC_API.init_msg_list(p_init_msg_list);
4640 -- Make sure PL/SQL table has records in it before passing
4641 IF (p_qtev_tbl.COUNT > 0) THEN
4642 i := p_qtev_tbl.FIRST;
4643 LOOP
4644 validate_row (
4645 p_api_version => p_api_version,
4646 p_init_msg_list => OKC_API.G_FALSE,
4647 x_return_status => x_return_status,
4648 x_msg_count => x_msg_count,
4649 x_msg_data => x_msg_data,
4650 p_qtev_rec => p_qtev_tbl(i));
4651 EXIT WHEN (i = p_qtev_tbl.LAST);
4652 i := p_qtev_tbl.NEXT(i);
4653 END LOOP;
4654 END IF;
4655 EXCEPTION
4656 WHEN OKC_API.G_EXCEPTION_ERROR THEN
4657 x_return_status := OKC_API.HANDLE_EXCEPTIONS
4658 (
4659 l_api_name,
4660 G_PKG_NAME,
4661 'OKC_API.G_RET_STS_ERROR',
4662 x_msg_count,
4663 x_msg_data,
4664 '_PVT'
4665 );
4666 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
4667 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
4668 (
4669 l_api_name,
4670 G_PKG_NAME,
4671 'OKC_API.G_RET_STS_UNEXP_ERROR',
4672 x_msg_count,
4673 x_msg_data,
4674 '_PVT'
4675 );
4676 WHEN OTHERS THEN
4677 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
4678 (
4679 l_api_name,
4680 G_PKG_NAME,
4681 'OTHERS',
4682 x_msg_count,
4683 x_msg_data,
4684 '_PVT'
4685 );
4686 END validate_row;
4687
4688 ---------------------------------------------------------------------------
4689 -- PROCEDURE insert_row
4690 ---------------------------------------------------------------------------
4691 -------------------------------------
4692 -- insert_row for:OKL_TRX_QUOTES_B --
4693 -------------------------------------
4694 -- Start of comments
4695 -- Procedure Name : insert_row
4696 -- Description : Insert Row into OKL_TRX_QUOTE_B table
4697 -- Business Rules :
4698 -- Parameters : Record structure of OKL_TRX_QUOTE_B table
4699 -- Version : 1.0
4700 -- History : 18-DEC-2002 BAKUCHIB 2667636 Modified
4701 -- : Added columns Currency code, currency Conversion_code
4702 -- Currency conversion type, currency conversion date
4703 -- currency conversion rate.
4704 -- End of comments
4705 PROCEDURE insert_row(
4706 p_init_msg_list IN VARCHAR2,
4707 x_return_status OUT NOCOPY VARCHAR2,
4708 x_msg_count OUT NOCOPY NUMBER,
4709 x_msg_data OUT NOCOPY VARCHAR2,
4710 p_qte_rec IN qte_rec_type,
4711 x_qte_rec OUT NOCOPY qte_rec_type) IS
4712
4713 l_api_version CONSTANT NUMBER := 1;
4714 l_api_name CONSTANT VARCHAR2(30) := 'B_insert_row';
4715 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
4716 l_qte_rec qte_rec_type := p_qte_rec;
4717 l_def_qte_rec qte_rec_type;
4718 -----------------------------------------
4719 -- Set_Attributes for:OKL_TRX_QUOTES_B --
4720 -----------------------------------------
4721 FUNCTION Set_Attributes (
4722 p_qte_rec IN qte_rec_type,
4723 x_qte_rec OUT NOCOPY qte_rec_type
4724 ) RETURN VARCHAR2 IS
4725 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
4726 BEGIN
4727 x_qte_rec := p_qte_rec;
4728 RETURN(l_return_status);
4729 END Set_Attributes;
4730 BEGIN
4731 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
4732 p_init_msg_list,
4733 '_PVT',
4734 x_return_status);
4735 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
4736 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
4737 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
4738 RAISE OKC_API.G_EXCEPTION_ERROR;
4739 END IF;
4740 --- Setting item attributes
4741 l_return_status := Set_Attributes(
4742 p_qte_rec, -- IN
4743 l_qte_rec); -- OUT
4744 --- If any errors happen abort API
4745 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
4746 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
4747 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
4748 RAISE OKC_API.G_EXCEPTION_ERROR;
4749 END IF;
4750
4751 -- rmunjulu loan repo
4752 IF l_qte_rec.repo_quote_indicator_yn IS NULL
4753 OR l_qte_rec.repo_quote_indicator_yn = OKL_API.G_MISS_CHAR THEN
4754 l_qte_rec.repo_quote_indicator_yn := 'N';
4755 END IF;
4756
4757 INSERT INTO OKL_TRX_QUOTES_B(
4758 id,
4759 qrs_code,
4760 qst_code,
4761 consolidated_qte_id,
4762 khr_id,
4763 art_id,
4764 qtp_code,
4765 trn_code,
4766 pop_code_end,
4767 pop_code_early,
4768 pdt_id,
4769 date_effective_from,
4770 quote_number,
4771 object_version_number,
4772 purchase_percent,
4773 term,
4774 date_restructure_start,
4775 date_due,
4776 date_approved,
4777 date_restructure_end,
4778 remaining_payments,
4779 rent_amount,
4780 yield,
4781 residual_amount,
4782 principal_paydown_amount,
4783 payment_frequency,
4784 early_termination_yn,
4785 partial_yn,
4786 preproceeds_yn,
4787 summary_format_yn,
4788 consolidated_yn,
4789 date_requested,
4790 date_proposal,
4791 date_effective_to,
4792 date_accepted,
4793 payment_received_yn,
4794 requested_by,
4795 approved_yn,
4796 accepted_yn,
4797 date_payment_received,
4798 approved_by,
4799 org_id,
4800 request_id,
4801 program_application_id,
4802 program_id,
4803 program_update_date,
4804 attribute_category,
4805 attribute1,
4806 attribute2,
4807 attribute3,
4808 attribute4,
4809 attribute5,
4810 attribute6,
4811 attribute7,
4812 attribute8,
4813 attribute9,
4814 attribute10,
4815 attribute11,
4816 attribute12,
4817 attribute13,
4818 attribute14,
4819 attribute15,
4820 created_by,
4821 creation_date,
4822 last_updated_by,
4823 last_update_date,
4824 last_update_login,
4825 purchase_amount,
4826 purchase_formula,
4827 asset_value,
4828 residual_value,
4829 unbilled_receivables,
4830 gain_loss,
4831 -- BAKUCHIB 2667636 Start
4832 currency_code,
4833 currency_conversion_code,
4834 currency_conversion_type,
4835 currency_conversion_rate,
4836 currency_conversion_date,
4837 -- BAKUCHIB 2667636 End
4838 PERDIEM_AMOUNT, --SANAHUJA -- LOANS_ENHACEMENTS
4839 LEGAL_ENTITY_ID, --DKAGRAWA for LE Uptake project
4840 REPO_QUOTE_INDICATOR_YN) --AKP:REPO-QUOTE-START-END 6599890
4841
4842 VALUES (
4843 l_qte_rec.id,
4844 l_qte_rec.qrs_code,
4845 l_qte_rec.qst_code,
4846 l_qte_rec.consolidated_qte_id,
4847 l_qte_rec.khr_id,
4848 l_qte_rec.art_id,
4849 l_qte_rec.qtp_code,
4850 l_qte_rec.trn_code,
4851 l_qte_rec.pop_code_end,
4852 l_qte_rec.pop_code_early,
4853 l_qte_rec.pdt_id,
4854 l_qte_rec.date_effective_from,
4855 l_qte_rec.quote_number,
4856 l_qte_rec.object_version_number,
4857 l_qte_rec.purchase_percent,
4858 l_qte_rec.term,
4859 l_qte_rec.date_restructure_start,
4860 l_qte_rec.date_due,
4861 l_qte_rec.date_approved,
4862 l_qte_rec.date_restructure_end,
4863 l_qte_rec.remaining_payments,
4864 l_qte_rec.rent_amount,
4865 l_qte_rec.yield,
4866 l_qte_rec.residual_amount,
4867 l_qte_rec.principal_paydown_amount,
4868 l_qte_rec.payment_frequency,
4869 l_qte_rec.early_termination_yn,
4870 l_qte_rec.partial_yn,
4871 l_qte_rec.preproceeds_yn,
4872 l_qte_rec.summary_format_yn,
4873 l_qte_rec.consolidated_yn,
4874 l_qte_rec.date_requested,
4875 l_qte_rec.date_proposal,
4876 l_qte_rec.date_effective_to,
4877 l_qte_rec.date_accepted,
4878 l_qte_rec.payment_received_yn,
4879 l_qte_rec.requested_by,
4880 l_qte_rec.approved_yn,
4881 l_qte_rec.accepted_yn,
4882 l_qte_rec.date_payment_received,
4883 l_qte_rec.approved_by,
4884 l_qte_rec.org_id,
4885 /*
4886 l_qte_rec.request_id,
4887 l_qte_rec.program_application_id,
4888 l_qte_rec.program_id,
4889 l_qte_rec.program_update_date,
4890 */
4891 decode(FND_GLOBAL.CONC_REQUEST_ID, -1, NULL, FND_GLOBAL.CONC_REQUEST_ID),
4892 decode(FND_GLOBAL.PROG_APPL_ID, -1, NULL, FND_GLOBAL.PROG_APPL_ID),
4893 decode(FND_GLOBAL.CONC_PROGRAM_ID, -1, NULL, FND_GLOBAL.CONC_PROGRAM_ID),
4894 decode(FND_GLOBAL.CONC_REQUEST_ID, -1, NULL, SYSDATE),
4895 l_qte_rec.attribute_category,
4896 l_qte_rec.attribute1,
4897 l_qte_rec.attribute2,
4898 l_qte_rec.attribute3,
4899 l_qte_rec.attribute4,
4900 l_qte_rec.attribute5,
4901 l_qte_rec.attribute6,
4902 l_qte_rec.attribute7,
4903 l_qte_rec.attribute8,
4904 l_qte_rec.attribute9,
4905 l_qte_rec.attribute10,
4906 l_qte_rec.attribute11,
4907 l_qte_rec.attribute12,
4908 l_qte_rec.attribute13,
4909 l_qte_rec.attribute14,
4910 l_qte_rec.attribute15,
4911 l_qte_rec.created_by,
4912 l_qte_rec.creation_date,
4913 l_qte_rec.last_updated_by,
4914 l_qte_rec.last_update_date,
4915 l_qte_rec.last_update_login,
4916 l_qte_rec.purchase_amount,
4917 l_qte_rec.purchase_formula,
4918 l_qte_rec.asset_value,
4919 l_qte_rec.residual_value,
4920 l_qte_rec.unbilled_receivables,
4921 l_qte_rec.gain_loss,
4922 -- BAKUCHIB 2667636 Start
4923 l_qte_rec.currency_code,
4924 l_qte_rec.currency_conversion_code,
4925 l_qte_rec.currency_conversion_type,
4926 l_qte_rec.currency_conversion_rate,
4927 l_qte_rec.currency_conversion_date,
4928 -- BAKUCHIB 2667636 End
4929 l_qte_rec.PERDIEM_AMOUNT, --SANAHUJA -- LOANS_ENHACEMENTS
4930 l_qte_rec.legal_entity_id, --DKAGRAWA for LE Uptake project
4931 l_qte_rec.repo_quote_indicator_yn); --AKP:REPO-QUOTE-START-END 6599890
4932 -- Set OUT values
4933 x_qte_rec := l_qte_rec;
4934 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
4935 EXCEPTION
4936 WHEN OKC_API.G_EXCEPTION_ERROR THEN
4937 x_return_status := OKC_API.HANDLE_EXCEPTIONS
4938 (
4939 l_api_name,
4940 G_PKG_NAME,
4941 'OKC_API.G_RET_STS_ERROR',
4942 x_msg_count,
4943 x_msg_data,
4944 '_PVT'
4945 );
4946 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
4947 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
4948 (
4949 l_api_name,
4950 G_PKG_NAME,
4951 'OKC_API.G_RET_STS_UNEXP_ERROR',
4952 x_msg_count,
4953 x_msg_data,
4954 '_PVT'
4955 );
4956 WHEN OTHERS THEN
4957 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
4958 (
4959 l_api_name,
4960 G_PKG_NAME,
4961 'OTHERS',
4962 x_msg_count,
4963 x_msg_data,
4964 '_PVT'
4965 );
4966 END insert_row;
4967 --------------------------------------
4968 -- insert_row for:OKL_TRX_QUOTES_TL --
4969 --------------------------------------
4970 PROCEDURE insert_row(
4971 p_init_msg_list IN VARCHAR2,
4972 x_return_status OUT NOCOPY VARCHAR2,
4973 x_msg_count OUT NOCOPY NUMBER,
4974 x_msg_data OUT NOCOPY VARCHAR2,
4975 p_okl_trx_quotes_tl_rec IN okl_trx_quotes_tl_rec_type,
4976 x_okl_trx_quotes_tl_rec OUT NOCOPY okl_trx_quotes_tl_rec_type) IS
4977
4978 l_api_version CONSTANT NUMBER := 1;
4979 l_api_name CONSTANT VARCHAR2(30) := 'TL_insert_row';
4980 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
4981 l_okl_trx_quotes_tl_rec okl_trx_quotes_tl_rec_type := p_okl_trx_quotes_tl_rec;
4982 l_def_okl_trx_quotes_tl_rec okl_trx_quotes_tl_rec_type;
4983 CURSOR get_languages IS
4984 SELECT *
4985 FROM FND_LANGUAGES
4986 WHERE INSTALLED_FLAG IN ('I', 'B');
4987 ------------------------------------------
4988 -- Set_Attributes for:OKL_TRX_QUOTES_TL --
4989 ------------------------------------------
4990 FUNCTION Set_Attributes (
4991 p_okl_trx_quotes_tl_rec IN okl_trx_quotes_tl_rec_type,
4992 x_okl_trx_quotes_tl_rec OUT NOCOPY okl_trx_quotes_tl_rec_type
4993 ) RETURN VARCHAR2 IS
4994 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
4995 BEGIN
4996 x_okl_trx_quotes_tl_rec := p_okl_trx_quotes_tl_rec;
4997 x_okl_trx_quotes_tl_rec.LANGUAGE := USERENV('LANG');
4998 x_okl_trx_quotes_tl_rec.SOURCE_LANG := USERENV('LANG');
4999 RETURN(l_return_status);
5000 END Set_Attributes;
5001 BEGIN
5002 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
5003 p_init_msg_list,
5004 '_PVT',
5005 x_return_status);
5006 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
5007 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
5008 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
5009 RAISE OKC_API.G_EXCEPTION_ERROR;
5010 END IF;
5011 --- Setting item attributes
5012 l_return_status := Set_Attributes(
5013 p_okl_trx_quotes_tl_rec, -- IN
5014 l_okl_trx_quotes_tl_rec); -- OUT
5015 --- If any errors happen abort API
5016 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
5017 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
5018 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
5019 RAISE OKC_API.G_EXCEPTION_ERROR;
5020 END IF;
5021 FOR l_lang_rec IN get_languages LOOP
5022 l_okl_trx_quotes_tl_rec.language := l_lang_rec.language_code;
5023 INSERT INTO OKL_TRX_QUOTES_TL(
5024 id,
5025 language,
5026 source_lang,
5027 sfwt_flag,
5028 comments,
5029 created_by,
5030 creation_date,
5031 last_updated_by,
5032 last_update_date,
5033 last_update_login)
5034 VALUES (
5035 l_okl_trx_quotes_tl_rec.id,
5036 l_okl_trx_quotes_tl_rec.language,
5037 l_okl_trx_quotes_tl_rec.source_lang,
5038 l_okl_trx_quotes_tl_rec.sfwt_flag,
5039 l_okl_trx_quotes_tl_rec.comments,
5040 l_okl_trx_quotes_tl_rec.created_by,
5041 l_okl_trx_quotes_tl_rec.creation_date,
5042 l_okl_trx_quotes_tl_rec.last_updated_by,
5043 l_okl_trx_quotes_tl_rec.last_update_date,
5044 l_okl_trx_quotes_tl_rec.last_update_login);
5045 END LOOP;
5046 -- Set OUT values
5047 x_okl_trx_quotes_tl_rec := l_okl_trx_quotes_tl_rec;
5048 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
5049 EXCEPTION
5050 WHEN OKC_API.G_EXCEPTION_ERROR THEN
5051 x_return_status := OKC_API.HANDLE_EXCEPTIONS
5052 (
5053 l_api_name,
5054 G_PKG_NAME,
5055 'OKC_API.G_RET_STS_ERROR',
5056 x_msg_count,
5057 x_msg_data,
5058 '_PVT'
5059 );
5060 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
5061 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
5062 (
5063 l_api_name,
5064 G_PKG_NAME,
5065 'OKC_API.G_RET_STS_UNEXP_ERROR',
5066 x_msg_count,
5067 x_msg_data,
5068 '_PVT'
5069 );
5070 WHEN OTHERS THEN
5071 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
5072 (
5073 l_api_name,
5074 G_PKG_NAME,
5075 'OTHERS',
5076 x_msg_count,
5077 x_msg_data,
5078 '_PVT'
5079 );
5080 END insert_row;
5081 -------------------------------------
5082 -- insert_row for:OKL_TRX_QUOTES_V --
5083 -------------------------------------
5084 -- Start of comments
5085 -- Procedure Name : insert_row
5086 -- Description : Insert Row into OKL_TRX_QUOTE_V View
5087 -- Business Rules :
5088 -- Parameters : Record structure of OKL_TRX_QUOTE_V table
5089 -- Version : 1.0
5090 -- History : 18-DEC-2002 BAKUCHIB 2667636 Modified
5091 -- : In set Attributes function defaulted the
5092 -- currency Conversion_code to Functional Currency Code.
5093 -- Also defaulted to currency code to currency Conversion
5094 -- code if currency code is null.
5095 -- End of comments
5096 PROCEDURE insert_row(
5097 p_api_version IN NUMBER,
5098 p_init_msg_list IN VARCHAR2,
5099 x_return_status OUT NOCOPY VARCHAR2,
5100 x_msg_count OUT NOCOPY NUMBER,
5101 x_msg_data OUT NOCOPY VARCHAR2,
5102 p_qtev_rec IN qtev_rec_type,
5103 x_qtev_rec OUT NOCOPY qtev_rec_type) IS
5104
5105 l_api_version CONSTANT NUMBER := 1;
5106 l_api_name CONSTANT VARCHAR2(30) := 'V_insert_row';
5107 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
5108 l_qtev_rec qtev_rec_type;
5109 l_def_qtev_rec qtev_rec_type;
5110 l_qte_rec qte_rec_type;
5111 lx_qte_rec qte_rec_type;
5112 l_okl_trx_quotes_tl_rec okl_trx_quotes_tl_rec_type;
5113 lx_okl_trx_quotes_tl_rec okl_trx_quotes_tl_rec_type;
5114 -------------------------------
5115 -- FUNCTION fill_who_columns --
5116 -------------------------------
5117 FUNCTION fill_who_columns (
5118 p_qtev_rec IN qtev_rec_type
5119 ) RETURN qtev_rec_type IS
5120 l_qtev_rec qtev_rec_type := p_qtev_rec;
5121 BEGIN
5122 l_qtev_rec.CREATION_DATE := SYSDATE;
5123 l_qtev_rec.CREATED_BY := FND_GLOBAL.USER_ID;
5124 l_qtev_rec.LAST_UPDATE_DATE := SYSDATE;
5125 l_qtev_rec.LAST_UPDATED_BY := FND_GLOBAL.USER_ID;
5126 l_qtev_rec.LAST_UPDATE_LOGIN := FND_GLOBAL.LOGIN_ID;
5127 RETURN(l_qtev_rec);
5128 END fill_who_columns;
5129 -----------------------------------------
5130 -- Set_Attributes for:OKL_TRX_QUOTES_V --
5131 -----------------------------------------
5132 FUNCTION Set_Attributes (
5133 p_qtev_rec IN qtev_rec_type,
5134 x_qtev_rec OUT NOCOPY qtev_rec_type
5135 ) RETURN VARCHAR2 IS
5136 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
5137 BEGIN
5138 x_qtev_rec := p_qtev_rec;
5139 x_qtev_rec.OBJECT_VERSION_NUMBER := 1;
5140 x_qtev_rec.SFWT_FLAG := 'N';
5141
5142 -- Default the YN columns if value not passed
5143 IF p_qtev_rec.early_termination_yn IS NULL
5144 OR p_qtev_rec.early_termination_yn = OKC_API.G_MISS_CHAR THEN
5145 x_qtev_rec.early_termination_yn := 'N';
5146 END IF;
5147 IF p_qtev_rec.partial_yn IS NULL
5148 OR p_qtev_rec.partial_yn = OKC_API.G_MISS_CHAR THEN
5149 x_qtev_rec.partial_yn := 'N';
5150 END IF;
5151 IF p_qtev_rec.preproceeds_yn IS NULL
5152 OR p_qtev_rec.preproceeds_yn = OKC_API.G_MISS_CHAR THEN
5153 x_qtev_rec.preproceeds_yn := 'N';
5154 END IF;
5155 IF p_qtev_rec.summary_format_yn IS NULL
5156 OR p_qtev_rec.summary_format_yn = OKC_API.G_MISS_CHAR THEN
5157 x_qtev_rec.summary_format_yn := 'N';
5158 END IF;
5159 IF p_qtev_rec.consolidated_yn IS NULL
5160 OR p_qtev_rec.consolidated_yn = OKC_API.G_MISS_CHAR THEN
5161 x_qtev_rec.consolidated_yn := 'N';
5162 END IF;
5163 IF p_qtev_rec.approved_yn IS NULL
5164 OR p_qtev_rec.approved_yn = OKC_API.G_MISS_CHAR THEN
5165 x_qtev_rec.approved_yn := 'N';
5166 END IF;
5167 IF p_qtev_rec.accepted_yn IS NULL
5168 OR p_qtev_rec.accepted_yn = OKC_API.G_MISS_CHAR THEN
5169 x_qtev_rec.accepted_yn := 'N';
5170 END IF;
5171 IF p_qtev_rec.payment_received_yn IS NULL
5172 OR p_qtev_rec.payment_received_yn = OKC_API.G_MISS_CHAR THEN
5173 x_qtev_rec.payment_received_yn := 'N';
5174 END IF;
5175
5176 -- Default the ORG ID if a value is not passed
5177 IF p_qtev_rec.org_id IS NULL
5178 OR p_qtev_rec.org_id = OKC_API.G_MISS_NUM THEN
5179 x_qtev_rec.org_id := MO_GLOBAL.GET_CURRENT_ORG_ID();
5180 END IF;
5181 -- BAKUCHIB 2667636 Start
5182 x_qtev_rec.currency_conversion_code := OKL_AM_UTIL_PVT.get_functional_currency;
5183
5184 IF p_qtev_rec.currency_code IS NULL
5185 OR p_qtev_rec.currency_code = OKC_API.G_MISS_CHAR THEN
5186 x_qtev_rec.currency_code := x_qtev_rec.currency_conversion_code;
5187 END IF;
5188 -- BAKUCHIB 2667636 End
5189 --DKAGRAWA for LE uptake, default the LE_id, if not passed, to contract LE_id
5190 IF p_qtev_rec.legal_entity_id IS NULL THEN
5191 x_qtev_rec.legal_entity_id := okl_legal_entity_util.get_khr_le_id(p_qtev_rec.khr_id);
5192 END IF;
5193
5194 RETURN(l_return_status);
5195 END Set_Attributes;
5196 BEGIN
5197 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
5198 G_PKG_NAME,
5199 p_init_msg_list,
5200 l_api_version,
5201 p_api_version,
5202 '_PVT',
5203 x_return_status);
5204 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
5205 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
5206 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
5207 RAISE OKC_API.G_EXCEPTION_ERROR;
5208 END IF;
5209 l_qtev_rec := null_out_defaults(p_qtev_rec);
5210 -- Set primary key value
5211 l_qtev_rec.ID := get_seq_id;
5212 --- Setting item attributes
5213 l_return_status := Set_Attributes(
5214 l_qtev_rec, -- IN
5215 l_def_qtev_rec); -- OUT
5216 --- If any errors happen abort API
5217 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
5218 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
5219 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
5220 RAISE OKC_API.G_EXCEPTION_ERROR;
5221 END IF;
5222 l_def_qtev_rec := fill_who_columns(l_def_qtev_rec);
5223
5224 -- Added the sequence to pick the quote_number
5225 SELECT OKL_QTE_SEQ.NEXTVAL INTO l_def_qtev_rec.quote_number FROM DUAL;
5226
5227 --- Validate all non-missing attributes (Item Level Validation)
5228 l_return_status := Validate_Attributes(l_def_qtev_rec);
5229 --- If any errors happen abort API
5230 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
5231 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
5232 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
5233 RAISE OKC_API.G_EXCEPTION_ERROR;
5234 END IF;
5235 l_return_status := Validate_Record(l_def_qtev_rec);
5236 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
5237 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
5238 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
5239 RAISE OKC_API.G_EXCEPTION_ERROR;
5240 END IF;
5241 --------------------------------------
5242 -- Move VIEW record to "Child" records
5243 --------------------------------------
5244 migrate(l_def_qtev_rec, l_qte_rec);
5245 migrate(l_def_qtev_rec, l_okl_trx_quotes_tl_rec);
5246 --------------------------------------------
5247 -- Call the INSERT_ROW for each child record
5248 --------------------------------------------
5249 insert_row(
5250 p_init_msg_list,
5251 x_return_status,
5252 x_msg_count,
5253 x_msg_data,
5254 l_qte_rec,
5255 lx_qte_rec
5256 );
5257 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
5258 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
5259 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
5260 RAISE OKC_API.G_EXCEPTION_ERROR;
5261 END IF;
5262 migrate(lx_qte_rec, l_def_qtev_rec);
5263 insert_row(
5264 p_init_msg_list,
5265 x_return_status,
5266 x_msg_count,
5267 x_msg_data,
5268 l_okl_trx_quotes_tl_rec,
5269 lx_okl_trx_quotes_tl_rec
5270 );
5271 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
5272 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
5273 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
5274 RAISE OKC_API.G_EXCEPTION_ERROR;
5275 END IF;
5276 migrate(lx_okl_trx_quotes_tl_rec, l_def_qtev_rec);
5277 -- Set OUT values
5278 x_qtev_rec := l_def_qtev_rec;
5279 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
5280 EXCEPTION
5281 WHEN OKC_API.G_EXCEPTION_ERROR THEN
5282 x_return_status := OKC_API.HANDLE_EXCEPTIONS
5283 (
5284 l_api_name,
5285 G_PKG_NAME,
5286 'OKC_API.G_RET_STS_ERROR',
5287 x_msg_count,
5288 x_msg_data,
5289 '_PVT'
5290 );
5291 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
5292 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
5293 (
5294 l_api_name,
5295 G_PKG_NAME,
5296 'OKC_API.G_RET_STS_UNEXP_ERROR',
5297 x_msg_count,
5298 x_msg_data,
5299 '_PVT'
5300 );
5301 WHEN OTHERS THEN
5302 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
5303 (
5304 l_api_name,
5305 G_PKG_NAME,
5306 'OTHERS',
5307 x_msg_count,
5308 x_msg_data,
5309 '_PVT'
5310 );
5311 END insert_row;
5312 ----------------------------------------
5313 -- PL/SQL TBL insert_row for:QTEV_TBL --
5314 ----------------------------------------
5315 PROCEDURE insert_row(
5316 p_api_version IN NUMBER,
5317 p_init_msg_list IN VARCHAR2,
5318 x_return_status OUT NOCOPY VARCHAR2,
5319 x_msg_count OUT NOCOPY NUMBER,
5320 x_msg_data OUT NOCOPY VARCHAR2,
5321 p_qtev_tbl IN qtev_tbl_type,
5322 x_qtev_tbl OUT NOCOPY qtev_tbl_type) IS
5323
5324 l_api_version CONSTANT NUMBER := 1;
5325 l_api_name CONSTANT VARCHAR2(30) := 'V_tbl_insert_row';
5326 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
5327 i NUMBER := 0;
5328
5329 -- Begin Post-Generation Change
5330 -- overall error status
5331 l_overall_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
5332 -- End Post-Generation Change
5333
5334 BEGIN
5335 OKC_API.init_msg_list(p_init_msg_list);
5336 -- Make sure PL/SQL table has records in it before passing
5337 IF (p_qtev_tbl.COUNT > 0) THEN
5338 i := p_qtev_tbl.FIRST;
5339 LOOP
5340 insert_row (
5341 p_api_version => p_api_version,
5342 p_init_msg_list => OKC_API.G_FALSE,
5343 x_return_status => x_return_status,
5344 x_msg_count => x_msg_count,
5345 x_msg_data => x_msg_data,
5346 p_qtev_rec => p_qtev_tbl(i),
5347 x_qtev_rec => x_qtev_tbl(i));
5348 -- Begin Post-Generation Change
5349 -- store the highest degree of error
5350 IF x_return_status <> OKL_API.G_RET_STS_SUCCESS THEN
5351 IF l_overall_status <> OKL_API.G_RET_STS_UNEXP_ERROR THEN
5352 l_overall_status := x_return_status;
5353 END IF;
5354 END IF;
5355 -- End Post-Generation Change
5356 EXIT WHEN (i = p_qtev_tbl.LAST);
5357 i := p_qtev_tbl.NEXT(i);
5358 END LOOP;
5359 -- Begin Post-Generation Change
5360 -- return overall status
5361 x_return_status := l_overall_status;
5362 -- End Post-Generation Change
5363 END IF;
5364 EXCEPTION
5365 WHEN OKC_API.G_EXCEPTION_ERROR THEN
5366 x_return_status := OKC_API.HANDLE_EXCEPTIONS
5367 (
5368 l_api_name,
5369 G_PKG_NAME,
5370 'OKC_API.G_RET_STS_ERROR',
5371 x_msg_count,
5372 x_msg_data,
5373 '_PVT'
5374 );
5375 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
5376 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
5377 (
5378 l_api_name,
5379 G_PKG_NAME,
5380 'OKC_API.G_RET_STS_UNEXP_ERROR',
5381 x_msg_count,
5382 x_msg_data,
5383 '_PVT'
5384 );
5385 WHEN OTHERS THEN
5386 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
5387 (
5388 l_api_name,
5389 G_PKG_NAME,
5390 'OTHERS',
5391 x_msg_count,
5392 x_msg_data,
5393 '_PVT'
5394 );
5395 END insert_row;
5396
5397 ---------------------------------------------------------------------------
5398 -- PROCEDURE lock_row
5399 ---------------------------------------------------------------------------
5400 -----------------------------------
5401 -- lock_row for:OKL_TRX_QUOTES_B --
5402 -----------------------------------
5403 PROCEDURE lock_row(
5404 p_init_msg_list IN VARCHAR2,
5405 x_return_status OUT NOCOPY VARCHAR2,
5406 x_msg_count OUT NOCOPY NUMBER,
5407 x_msg_data OUT NOCOPY VARCHAR2,
5408 p_qte_rec IN qte_rec_type) IS
5409
5410 E_Resource_Busy EXCEPTION;
5411 PRAGMA EXCEPTION_INIT(E_Resource_Busy, -00054);
5412 CURSOR lock_csr (p_qte_rec IN qte_rec_type) IS
5413 SELECT OBJECT_VERSION_NUMBER
5414 FROM OKL_TRX_QUOTES_B
5415 WHERE ID = p_qte_rec.id
5416 AND OBJECT_VERSION_NUMBER = p_qte_rec.object_version_number
5417 FOR UPDATE OF OBJECT_VERSION_NUMBER NOWAIT;
5418
5419 CURSOR lchk_csr (p_qte_rec IN qte_rec_type) IS
5420 SELECT OBJECT_VERSION_NUMBER
5421 FROM OKL_TRX_QUOTES_B
5422 WHERE ID = p_qte_rec.id;
5423 l_api_version CONSTANT NUMBER := 1;
5424 l_api_name CONSTANT VARCHAR2(30) := 'B_lock_row';
5425 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
5426 l_object_version_number OKL_TRX_QUOTES_B.OBJECT_VERSION_NUMBER%TYPE;
5427 lc_object_version_number OKL_TRX_QUOTES_B.OBJECT_VERSION_NUMBER%TYPE;
5428 l_row_notfound BOOLEAN := FALSE;
5429 lc_row_notfound BOOLEAN := FALSE;
5430 BEGIN
5431 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
5432 p_init_msg_list,
5433 '_PVT',
5434 x_return_status);
5435 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
5436 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
5437 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
5438 RAISE OKC_API.G_EXCEPTION_ERROR;
5439 END IF;
5440 BEGIN
5441 OPEN lock_csr(p_qte_rec);
5442 FETCH lock_csr INTO l_object_version_number;
5443 l_row_notfound := lock_csr%NOTFOUND;
5444 CLOSE lock_csr;
5445 EXCEPTION
5446 WHEN E_Resource_Busy THEN
5447 IF (lock_csr%ISOPEN) THEN
5448 CLOSE lock_csr;
5449 END IF;
5450 OKC_API.set_message(G_FND_APP,G_FORM_UNABLE_TO_RESERVE_REC);
5451 RAISE APP_EXCEPTIONS.RECORD_LOCK_EXCEPTION;
5452 END;
5453
5454 IF ( l_row_notfound ) THEN
5455 OPEN lchk_csr(p_qte_rec);
5456 FETCH lchk_csr INTO lc_object_version_number;
5457 lc_row_notfound := lchk_csr%NOTFOUND;
5458 CLOSE lchk_csr;
5459 END IF;
5460 IF (lc_row_notfound) THEN
5461 OKC_API.set_message(G_FND_APP,G_FORM_RECORD_DELETED);
5462 RAISE OKC_API.G_EXCEPTION_ERROR;
5463 ELSIF lc_object_version_number > p_qte_rec.object_version_number THEN
5464 OKC_API.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
5465 RAISE OKC_API.G_EXCEPTION_ERROR;
5466 ELSIF lc_object_version_number <> p_qte_rec.object_version_number THEN
5467 OKC_API.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
5468 RAISE OKC_API.G_EXCEPTION_ERROR;
5469 ELSIF lc_object_version_number = -1 THEN
5470 OKC_API.set_message(G_APP_NAME,G_RECORD_LOGICALLY_DELETED);
5471 RAISE OKC_API.G_EXCEPTION_ERROR;
5472 END IF;
5473 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
5474 EXCEPTION
5475 WHEN OKC_API.G_EXCEPTION_ERROR THEN
5476 x_return_status := OKC_API.HANDLE_EXCEPTIONS
5477 (
5478 l_api_name,
5479 G_PKG_NAME,
5480 'OKC_API.G_RET_STS_ERROR',
5481 x_msg_count,
5482 x_msg_data,
5483 '_PVT'
5484 );
5485 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
5486 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
5487 (
5488 l_api_name,
5489 G_PKG_NAME,
5490 'OKC_API.G_RET_STS_UNEXP_ERROR',
5491 x_msg_count,
5492 x_msg_data,
5493 '_PVT'
5494 );
5495 WHEN OTHERS THEN
5496 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
5497 (
5498 l_api_name,
5499 G_PKG_NAME,
5500 'OTHERS',
5501 x_msg_count,
5502 x_msg_data,
5503 '_PVT'
5504 );
5505 END lock_row;
5506 ------------------------------------
5507 -- lock_row for:OKL_TRX_QUOTES_TL --
5508 ------------------------------------
5509 PROCEDURE lock_row(
5510 p_init_msg_list IN VARCHAR2,
5511 x_return_status OUT NOCOPY VARCHAR2,
5512 x_msg_count OUT NOCOPY NUMBER,
5513 x_msg_data OUT NOCOPY VARCHAR2,
5514 p_okl_trx_quotes_tl_rec IN okl_trx_quotes_tl_rec_type) IS
5515
5516 E_Resource_Busy EXCEPTION;
5517 PRAGMA EXCEPTION_INIT(E_Resource_Busy, -00054);
5518 CURSOR lock_csr (p_okl_trx_quotes_tl_rec IN okl_trx_quotes_tl_rec_type) IS
5519 SELECT *
5520 FROM OKL_TRX_QUOTES_TL
5521 WHERE ID = p_okl_trx_quotes_tl_rec.id
5522 FOR UPDATE NOWAIT;
5523
5524 l_api_version CONSTANT NUMBER := 1;
5525 l_api_name CONSTANT VARCHAR2(30) := 'TL_lock_row';
5526 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
5527 l_lock_var lock_csr%ROWTYPE;
5528 l_row_notfound BOOLEAN := FALSE;
5529 lc_row_notfound BOOLEAN := FALSE;
5530 BEGIN
5531 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
5532 p_init_msg_list,
5533 '_PVT',
5534 x_return_status);
5535 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
5536 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
5537 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
5538 RAISE OKC_API.G_EXCEPTION_ERROR;
5539 END IF;
5540 BEGIN
5541 OPEN lock_csr(p_okl_trx_quotes_tl_rec);
5542 FETCH lock_csr INTO l_lock_var;
5543 l_row_notfound := lock_csr%NOTFOUND;
5544 CLOSE lock_csr;
5545 EXCEPTION
5546 WHEN E_Resource_Busy THEN
5547 IF (lock_csr%ISOPEN) THEN
5548 CLOSE lock_csr;
5549 END IF;
5550 OKC_API.set_message(G_FND_APP,G_FORM_UNABLE_TO_RESERVE_REC);
5551 RAISE APP_EXCEPTIONS.RECORD_LOCK_EXCEPTION;
5552 END;
5553
5554 IF ( l_row_notfound ) THEN
5555 OKC_API.set_message(G_FND_APP,G_FORM_RECORD_DELETED);
5556 RAISE OKC_API.G_EXCEPTION_ERROR;
5557 END IF;
5558 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
5559 EXCEPTION
5560 WHEN OKC_API.G_EXCEPTION_ERROR THEN
5561 x_return_status := OKC_API.HANDLE_EXCEPTIONS
5562 (
5563 l_api_name,
5564 G_PKG_NAME,
5565 'OKC_API.G_RET_STS_ERROR',
5566 x_msg_count,
5567 x_msg_data,
5568 '_PVT'
5569 );
5570 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
5571 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
5572 (
5573 l_api_name,
5574 G_PKG_NAME,
5575 'OKC_API.G_RET_STS_UNEXP_ERROR',
5576 x_msg_count,
5577 x_msg_data,
5578 '_PVT'
5579 );
5580 WHEN OTHERS THEN
5581 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
5582 (
5583 l_api_name,
5584 G_PKG_NAME,
5585 'OTHERS',
5586 x_msg_count,
5587 x_msg_data,
5588 '_PVT'
5589 );
5590 END lock_row;
5591 -----------------------------------
5592 -- lock_row for:OKL_TRX_QUOTES_V --
5593 -----------------------------------
5594 PROCEDURE lock_row(
5595 p_api_version IN NUMBER,
5596 p_init_msg_list IN VARCHAR2,
5597 x_return_status OUT NOCOPY VARCHAR2,
5598 x_msg_count OUT NOCOPY NUMBER,
5599 x_msg_data OUT NOCOPY VARCHAR2,
5600 p_qtev_rec IN qtev_rec_type) IS
5601
5602 l_api_version CONSTANT NUMBER := 1;
5603 l_api_name CONSTANT VARCHAR2(30) := 'V_lock_row';
5604 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
5605 l_qte_rec qte_rec_type;
5606 l_okl_trx_quotes_tl_rec okl_trx_quotes_tl_rec_type;
5607 BEGIN
5608 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
5609 G_PKG_NAME,
5610 p_init_msg_list,
5611 l_api_version,
5612 p_api_version,
5613 '_PVT',
5614 x_return_status);
5615 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
5616 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
5617 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
5618 RAISE OKC_API.G_EXCEPTION_ERROR;
5619 END IF;
5620 --------------------------------------
5621 -- Move VIEW record to "Child" records
5622 --------------------------------------
5623 migrate(p_qtev_rec, l_qte_rec);
5624 migrate(p_qtev_rec, l_okl_trx_quotes_tl_rec);
5625 --------------------------------------------
5626 -- Call the LOCK_ROW for each child record
5627 --------------------------------------------
5628 lock_row(
5629 p_init_msg_list,
5630 x_return_status,
5631 x_msg_count,
5632 x_msg_data,
5633 l_qte_rec
5634 );
5635 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
5636 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
5637 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
5638 RAISE OKC_API.G_EXCEPTION_ERROR;
5639 END IF;
5640 lock_row(
5641 p_init_msg_list,
5642 x_return_status,
5643 x_msg_count,
5644 x_msg_data,
5645 l_okl_trx_quotes_tl_rec
5646 );
5647 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
5648 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
5649 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
5650 RAISE OKC_API.G_EXCEPTION_ERROR;
5651 END IF;
5652 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
5653 EXCEPTION
5654 WHEN OKC_API.G_EXCEPTION_ERROR THEN
5655 x_return_status := OKC_API.HANDLE_EXCEPTIONS
5656 (
5657 l_api_name,
5658 G_PKG_NAME,
5659 'OKC_API.G_RET_STS_ERROR',
5660 x_msg_count,
5661 x_msg_data,
5662 '_PVT'
5663 );
5664 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
5665 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
5666 (
5667 l_api_name,
5668 G_PKG_NAME,
5669 'OKC_API.G_RET_STS_UNEXP_ERROR',
5670 x_msg_count,
5671 x_msg_data,
5672 '_PVT'
5673 );
5674 WHEN OTHERS THEN
5675 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
5676 (
5677 l_api_name,
5678 G_PKG_NAME,
5679 'OTHERS',
5680 x_msg_count,
5681 x_msg_data,
5682 '_PVT'
5683 );
5684 END lock_row;
5685 --------------------------------------
5686 -- PL/SQL TBL lock_row for:QTEV_TBL --
5687 --------------------------------------
5688 PROCEDURE lock_row(
5689 p_api_version IN NUMBER,
5690 p_init_msg_list IN VARCHAR2,
5691 x_return_status OUT NOCOPY VARCHAR2,
5692 x_msg_count OUT NOCOPY NUMBER,
5693 x_msg_data OUT NOCOPY VARCHAR2,
5694 p_qtev_tbl IN qtev_tbl_type) IS
5695
5696 l_api_version CONSTANT NUMBER := 1;
5697 l_api_name CONSTANT VARCHAR2(30) := 'V_tbl_lock_row';
5698 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
5699 i NUMBER := 0;
5700
5701 -- Begin Post-Generation Change
5702 -- overall error status
5703 l_overall_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
5704 -- End Post-Generation Change
5705 BEGIN
5706 OKC_API.init_msg_list(p_init_msg_list);
5707 -- Make sure PL/SQL table has records in it before passing
5708 IF (p_qtev_tbl.COUNT > 0) THEN
5709 i := p_qtev_tbl.FIRST;
5710 LOOP
5711 lock_row (
5712 p_api_version => p_api_version,
5713 p_init_msg_list => OKC_API.G_FALSE,
5714 x_return_status => x_return_status,
5715 x_msg_count => x_msg_count,
5716 x_msg_data => x_msg_data,
5717 p_qtev_rec => p_qtev_tbl(i));
5718 -- Begin Post-Generation Change
5719 -- store the highest degree of error
5720 IF x_return_status <> OKL_API.G_RET_STS_SUCCESS THEN
5721 IF l_overall_status <> OKL_API.G_RET_STS_UNEXP_ERROR THEN
5722 l_overall_status := x_return_status;
5723 END IF;
5724 END IF;
5725 -- End Post-Generation Change
5726 EXIT WHEN (i = p_qtev_tbl.LAST);
5727 i := p_qtev_tbl.NEXT(i);
5728 END LOOP;
5729 -- Begin Post-Generation Change
5730 -- return overall status
5731 x_return_status := l_overall_status;
5732 -- End Post-Generation Change
5733 END IF;
5734 EXCEPTION
5735 WHEN OKC_API.G_EXCEPTION_ERROR THEN
5736 x_return_status := OKC_API.HANDLE_EXCEPTIONS
5737 (
5738 l_api_name,
5739 G_PKG_NAME,
5740 'OKC_API.G_RET_STS_ERROR',
5741 x_msg_count,
5742 x_msg_data,
5743 '_PVT'
5744 );
5745 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
5746 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
5747 (
5748 l_api_name,
5749 G_PKG_NAME,
5750 'OKC_API.G_RET_STS_UNEXP_ERROR',
5751 x_msg_count,
5752 x_msg_data,
5753 '_PVT'
5754 );
5755 WHEN OTHERS THEN
5756 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
5757 (
5758 l_api_name,
5759 G_PKG_NAME,
5760 'OTHERS',
5761 x_msg_count,
5762 x_msg_data,
5763 '_PVT'
5764 );
5765 END lock_row;
5766
5767 ---------------------------------------------------------------------------
5768 -- PROCEDURE update_row
5769 ---------------------------------------------------------------------------
5770 -------------------------------------
5771 -- update_row for:OKL_TRX_QUOTES_B --
5772 -------------------------------------
5773 -- Start of comments
5774 -- Procedure Name : update_row
5775 -- Description : Update Row into OKL_TRX_QUOTE_B table
5776 -- Business Rules :
5777 -- Parameters : Record structure of OKL_TRX_QUOTE_B table
5778 -- Version : 1.0
5779 -- History : 18-DEC-2002 BAKUCHIB 2667636 Modified
5780 -- : Added columns Currency code, currency Conversion_code
5781 -- Currency conversion type, currency conversion date
5782 -- currency conversion rate.
5783 -- End of comments
5784 PROCEDURE update_row(
5785 p_init_msg_list IN VARCHAR2,
5786 x_return_status OUT NOCOPY VARCHAR2,
5787 x_msg_count OUT NOCOPY NUMBER,
5788 x_msg_data OUT NOCOPY VARCHAR2,
5789 p_qte_rec IN qte_rec_type,
5790 x_qte_rec OUT NOCOPY qte_rec_type) IS
5791
5792 l_api_version CONSTANT NUMBER := 1;
5793 l_api_name CONSTANT VARCHAR2(30) := 'B_update_row';
5794 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
5795 l_qte_rec qte_rec_type := p_qte_rec;
5796 l_def_qte_rec qte_rec_type;
5797 l_row_notfound BOOLEAN := TRUE;
5798 ----------------------------------
5799 -- FUNCTION populate_new_record --
5800 ----------------------------------
5801 -- Start of comments
5802 -- Function Name : populate_new_record
5803 -- Description : Populate new record into OKL_TRX_QUOTE_B table
5804 -- Business Rules :
5805 -- Parameters : Record structure of OKL_TRX_QUOTE_B table
5806 -- Version : 1.0
5807 -- History : 18-DEC-2002 BAKUCHIB 2667636
5808 -- : Added columns Currency code, currency Conversion_code
5809 -- Currency conversion type, currency conversion date
5810 -- currency conversion rate.
5811 FUNCTION populate_new_record (
5812 p_qte_rec IN qte_rec_type,
5813 x_qte_rec OUT NOCOPY qte_rec_type
5814 ) RETURN VARCHAR2 IS
5815 l_qte_rec qte_rec_type;
5816 l_row_notfound BOOLEAN := TRUE;
5817 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
5818 BEGIN
5819 x_qte_rec := p_qte_rec;
5820 -- Get current database values
5821 l_qte_rec := get_rec(p_qte_rec, l_row_notfound);
5822 IF (l_row_notfound) THEN
5823 l_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
5824 END IF;
5825 IF (x_qte_rec.id = OKC_API.G_MISS_NUM)
5826 THEN
5827 x_qte_rec.id := l_qte_rec.id;
5828 END IF;
5829 IF (x_qte_rec.qrs_code = OKC_API.G_MISS_CHAR)
5830 THEN
5831 x_qte_rec.qrs_code := l_qte_rec.qrs_code;
5832 END IF;
5833 IF (x_qte_rec.qst_code = OKC_API.G_MISS_CHAR)
5834 THEN
5835 x_qte_rec.qst_code := l_qte_rec.qst_code;
5836 END IF;
5837 IF (x_qte_rec.consolidated_qte_id = OKC_API.G_MISS_NUM)
5838 THEN
5839 x_qte_rec.consolidated_qte_id := l_qte_rec.consolidated_qte_id;
5840 END IF;
5841 IF (x_qte_rec.khr_id = OKC_API.G_MISS_NUM)
5842 THEN
5843 x_qte_rec.khr_id := l_qte_rec.khr_id;
5844 END IF;
5845 IF (x_qte_rec.art_id = OKC_API.G_MISS_NUM)
5846 THEN
5847 x_qte_rec.art_id := l_qte_rec.art_id;
5848 END IF;
5849 IF (x_qte_rec.qtp_code = OKC_API.G_MISS_CHAR)
5850 THEN
5851 x_qte_rec.qtp_code := l_qte_rec.qtp_code;
5852 END IF;
5853 IF (x_qte_rec.trn_code = OKC_API.G_MISS_CHAR)
5854 THEN
5855 x_qte_rec.trn_code := l_qte_rec.trn_code;
5856 END IF;
5857 IF (x_qte_rec.pop_code_end = OKC_API.G_MISS_CHAR)
5858 THEN
5859 x_qte_rec.pop_code_end := l_qte_rec.pop_code_end;
5860 END IF;
5861 IF (x_qte_rec.pop_code_early = OKC_API.G_MISS_CHAR)
5862 THEN
5863 x_qte_rec.pop_code_early := l_qte_rec.pop_code_early;
5864 END IF;
5865 IF (x_qte_rec.pdt_id = OKC_API.G_MISS_NUM)
5866 THEN
5867 x_qte_rec.pdt_id := l_qte_rec.pdt_id;
5868 END IF;
5869 IF (x_qte_rec.date_effective_from = OKC_API.G_MISS_DATE)
5870 THEN
5871 x_qte_rec.date_effective_from := l_qte_rec.date_effective_from;
5872 END IF;
5873 IF (x_qte_rec.quote_number = OKC_API.G_MISS_NUM)
5874 THEN
5875 x_qte_rec.quote_number := l_qte_rec.quote_number;
5876 END IF;
5877 IF (x_qte_rec.object_version_number = OKC_API.G_MISS_NUM)
5878 THEN
5879 x_qte_rec.object_version_number := l_qte_rec.object_version_number;
5880 END IF;
5881 IF (x_qte_rec.purchase_percent = OKC_API.G_MISS_NUM)
5882 THEN
5883 x_qte_rec.purchase_percent := l_qte_rec.purchase_percent;
5884 END IF;
5885 IF (x_qte_rec.term = OKC_API.G_MISS_NUM)
5886 THEN
5887 x_qte_rec.term := l_qte_rec.term;
5888 END IF;
5889 IF (x_qte_rec.date_restructure_start = OKC_API.G_MISS_DATE)
5890 THEN
5891 x_qte_rec.date_restructure_start := l_qte_rec.date_restructure_start;
5892 END IF;
5893 IF (x_qte_rec.date_due = OKC_API.G_MISS_DATE)
5894 THEN
5895 x_qte_rec.date_due := l_qte_rec.date_due;
5896 END IF;
5897 IF (x_qte_rec.date_approved = OKC_API.G_MISS_DATE)
5898 THEN
5899 x_qte_rec.date_approved := l_qte_rec.date_approved;
5900 END IF;
5901 IF (x_qte_rec.date_restructure_end = OKC_API.G_MISS_DATE)
5902 THEN
5903 x_qte_rec.date_restructure_end := l_qte_rec.date_restructure_end;
5904 END IF;
5905 IF (x_qte_rec.remaining_payments = OKC_API.G_MISS_NUM)
5906 THEN
5907 x_qte_rec.remaining_payments := l_qte_rec.remaining_payments;
5908 END IF;
5909 IF (x_qte_rec.rent_amount = OKC_API.G_MISS_NUM)
5910 THEN
5911 x_qte_rec.rent_amount := l_qte_rec.rent_amount;
5912 END IF;
5913 IF (x_qte_rec.yield = OKC_API.G_MISS_NUM)
5914 THEN
5915 x_qte_rec.yield := l_qte_rec.yield;
5916 END IF;
5917 IF (x_qte_rec.residual_amount = OKC_API.G_MISS_NUM)
5918 THEN
5919 x_qte_rec.residual_amount := l_qte_rec.residual_amount;
5920 END IF;
5921 IF (x_qte_rec.principal_paydown_amount = OKC_API.G_MISS_NUM)
5922 THEN
5923 x_qte_rec.principal_paydown_amount := l_qte_rec.principal_paydown_amount;
5924 END IF;
5925 IF (x_qte_rec.payment_frequency = OKC_API.G_MISS_CHAR)
5926 THEN
5927 x_qte_rec.payment_frequency := l_qte_rec.payment_frequency;
5928 END IF;
5929 IF (x_qte_rec.early_termination_yn = OKC_API.G_MISS_CHAR)
5930 THEN
5931 x_qte_rec.early_termination_yn := l_qte_rec.early_termination_yn;
5932 END IF;
5933 IF (x_qte_rec.partial_yn = OKC_API.G_MISS_CHAR)
5934 THEN
5935 x_qte_rec.partial_yn := l_qte_rec.partial_yn;
5936 END IF;
5937 IF (x_qte_rec.preproceeds_yn = OKC_API.G_MISS_CHAR)
5938 THEN
5939 x_qte_rec.preproceeds_yn := l_qte_rec.preproceeds_yn;
5940 END IF;
5941 IF (x_qte_rec.summary_format_yn = OKC_API.G_MISS_CHAR)
5942 THEN
5943 x_qte_rec.summary_format_yn := l_qte_rec.summary_format_yn;
5944 END IF;
5945 IF (x_qte_rec.consolidated_yn = OKC_API.G_MISS_CHAR)
5946 THEN
5947 x_qte_rec.consolidated_yn := l_qte_rec.consolidated_yn;
5948 END IF;
5949 IF (x_qte_rec.date_requested = OKC_API.G_MISS_DATE)
5950 THEN
5951 x_qte_rec.date_requested := l_qte_rec.date_requested;
5952 END IF;
5953 IF (x_qte_rec.date_proposal = OKC_API.G_MISS_DATE)
5954 THEN
5955 x_qte_rec.date_proposal := l_qte_rec.date_proposal;
5956 END IF;
5957 IF (x_qte_rec.date_effective_to = OKC_API.G_MISS_DATE)
5958 THEN
5959 x_qte_rec.date_effective_to := l_qte_rec.date_effective_to;
5960 END IF;
5961 IF (x_qte_rec.date_accepted = OKC_API.G_MISS_DATE)
5962 THEN
5963 x_qte_rec.date_accepted := l_qte_rec.date_accepted;
5964 END IF;
5965 IF (x_qte_rec.payment_received_yn = OKC_API.G_MISS_CHAR)
5966 THEN
5967 x_qte_rec.payment_received_yn := l_qte_rec.payment_received_yn;
5968 END IF;
5969 IF (x_qte_rec.requested_by = OKC_API.G_MISS_NUM)
5970 THEN
5971 x_qte_rec.requested_by := l_qte_rec.requested_by;
5972 END IF;
5973 IF (x_qte_rec.approved_yn = OKC_API.G_MISS_CHAR)
5974 THEN
5975 x_qte_rec.approved_yn := l_qte_rec.approved_yn;
5976 END IF;
5977 IF (x_qte_rec.accepted_yn = OKC_API.G_MISS_CHAR)
5978 THEN
5979 x_qte_rec.accepted_yn := l_qte_rec.accepted_yn;
5980 END IF;
5981 IF (x_qte_rec.date_payment_received = OKC_API.G_MISS_DATE)
5982 THEN
5983 x_qte_rec.date_payment_received := l_qte_rec.date_payment_received;
5984 END IF;
5985 IF (x_qte_rec.approved_by = OKC_API.G_MISS_NUM)
5986 THEN
5987 x_qte_rec.approved_by := l_qte_rec.approved_by;
5988 END IF;
5989 IF (x_qte_rec.org_id = OKC_API.G_MISS_NUM)
5990 THEN
5991 x_qte_rec.org_id := l_qte_rec.org_id;
5992 END IF;
5993 IF (x_qte_rec.request_id = OKC_API.G_MISS_NUM)
5994 THEN
5995 x_qte_rec.request_id := l_qte_rec.request_id;
5996 END IF;
5997 IF (x_qte_rec.program_application_id = OKC_API.G_MISS_NUM)
5998 THEN
5999 x_qte_rec.program_application_id := l_qte_rec.program_application_id;
6000 END IF;
6001 IF (x_qte_rec.program_id = OKC_API.G_MISS_NUM)
6002 THEN
6003 x_qte_rec.program_id := l_qte_rec.program_id;
6004 END IF;
6005 IF (x_qte_rec.program_update_date = OKC_API.G_MISS_DATE)
6006 THEN
6007 x_qte_rec.program_update_date := l_qte_rec.program_update_date;
6008 END IF;
6009 IF (x_qte_rec.attribute_category = OKC_API.G_MISS_CHAR)
6010 THEN
6011 x_qte_rec.attribute_category := l_qte_rec.attribute_category;
6012 END IF;
6013 IF (x_qte_rec.attribute1 = OKC_API.G_MISS_CHAR)
6014 THEN
6015 x_qte_rec.attribute1 := l_qte_rec.attribute1;
6016 END IF;
6017 IF (x_qte_rec.attribute2 = OKC_API.G_MISS_CHAR)
6018 THEN
6019 x_qte_rec.attribute2 := l_qte_rec.attribute2;
6020 END IF;
6021 IF (x_qte_rec.attribute3 = OKC_API.G_MISS_CHAR)
6022 THEN
6023 x_qte_rec.attribute3 := l_qte_rec.attribute3;
6024 END IF;
6025 IF (x_qte_rec.attribute4 = OKC_API.G_MISS_CHAR)
6026 THEN
6027 x_qte_rec.attribute4 := l_qte_rec.attribute4;
6028 END IF;
6029 IF (x_qte_rec.attribute5 = OKC_API.G_MISS_CHAR)
6030 THEN
6031 x_qte_rec.attribute5 := l_qte_rec.attribute5;
6032 END IF;
6033 IF (x_qte_rec.attribute6 = OKC_API.G_MISS_CHAR)
6034 THEN
6035 x_qte_rec.attribute6 := l_qte_rec.attribute6;
6036 END IF;
6037 IF (x_qte_rec.attribute7 = OKC_API.G_MISS_CHAR)
6038 THEN
6039 x_qte_rec.attribute7 := l_qte_rec.attribute7;
6040 END IF;
6041 IF (x_qte_rec.attribute8 = OKC_API.G_MISS_CHAR)
6042 THEN
6043 x_qte_rec.attribute8 := l_qte_rec.attribute8;
6044 END IF;
6045 IF (x_qte_rec.attribute9 = OKC_API.G_MISS_CHAR)
6046 THEN
6047 x_qte_rec.attribute9 := l_qte_rec.attribute9;
6048 END IF;
6049 IF (x_qte_rec.attribute10 = OKC_API.G_MISS_CHAR)
6050 THEN
6051 x_qte_rec.attribute10 := l_qte_rec.attribute10;
6052 END IF;
6053 IF (x_qte_rec.attribute11 = OKC_API.G_MISS_CHAR)
6054 THEN
6055 x_qte_rec.attribute11 := l_qte_rec.attribute11;
6056 END IF;
6057 IF (x_qte_rec.attribute12 = OKC_API.G_MISS_CHAR)
6058 THEN
6059 x_qte_rec.attribute12 := l_qte_rec.attribute12;
6060 END IF;
6061 IF (x_qte_rec.attribute13 = OKC_API.G_MISS_CHAR)
6062 THEN
6063 x_qte_rec.attribute13 := l_qte_rec.attribute13;
6064 END IF;
6065 IF (x_qte_rec.attribute14 = OKC_API.G_MISS_CHAR)
6066 THEN
6067 x_qte_rec.attribute14 := l_qte_rec.attribute14;
6068 END IF;
6069 IF (x_qte_rec.attribute15 = OKC_API.G_MISS_CHAR)
6070 THEN
6071 x_qte_rec.attribute15 := l_qte_rec.attribute15;
6072 END IF;
6073 IF (x_qte_rec.created_by = OKC_API.G_MISS_NUM)
6074 THEN
6075 x_qte_rec.created_by := l_qte_rec.created_by;
6076 END IF;
6077 IF (x_qte_rec.creation_date = OKC_API.G_MISS_DATE)
6078 THEN
6079 x_qte_rec.creation_date := l_qte_rec.creation_date;
6080 END IF;
6081 IF (x_qte_rec.last_updated_by = OKC_API.G_MISS_NUM)
6082 THEN
6083 x_qte_rec.last_updated_by := l_qte_rec.last_updated_by;
6084 END IF;
6085 IF (x_qte_rec.last_update_date = OKC_API.G_MISS_DATE)
6086 THEN
6087 x_qte_rec.last_update_date := l_qte_rec.last_update_date;
6088 END IF;
6089 IF (x_qte_rec.last_update_login = OKC_API.G_MISS_NUM)
6090 THEN
6091 x_qte_rec.last_update_login := l_qte_rec.last_update_login;
6092 END IF;
6093 IF (x_qte_rec.purchase_amount = OKC_API.G_MISS_NUM)
6094 THEN
6095 x_qte_rec.purchase_amount := l_qte_rec.purchase_amount;
6096 END IF;
6097 IF (x_qte_rec.purchase_formula = OKC_API.G_MISS_CHAR)
6098 THEN
6099 x_qte_rec.purchase_formula := l_qte_rec.purchase_formula;
6100 END IF;
6101 IF (x_qte_rec.asset_value = OKC_API.G_MISS_NUM) OR (x_qte_rec.asset_value IS NULL)
6102 THEN
6103 x_qte_rec.asset_value := l_qte_rec.asset_value;
6104 END IF;
6105 IF (x_qte_rec.residual_value = OKC_API.G_MISS_NUM) OR (x_qte_rec.residual_value IS NULL)
6106 THEN
6107 x_qte_rec.residual_value := l_qte_rec.residual_value;
6108 END IF;
6109 IF (x_qte_rec.unbilled_receivables = OKC_API.G_MISS_NUM) OR (x_qte_rec.unbilled_receivables IS NULL)
6110 THEN
6111 x_qte_rec.unbilled_receivables := l_qte_rec.unbilled_receivables;
6112 END IF;
6113 IF (x_qte_rec.gain_loss = OKC_API.G_MISS_NUM) OR (x_qte_rec.gain_loss IS NULL)
6114 THEN
6115 x_qte_rec.gain_loss := l_qte_rec.gain_loss;
6116 END IF;
6117 -- BAKUCHIB 2667636 Start
6118 IF (x_qte_rec.currency_code = OKC_API.G_MISS_CHAR)
6119 THEN
6120 x_qte_rec.currency_code := l_qte_rec.currency_code;
6121 END IF;
6122 IF (x_qte_rec.currency_conversion_code = OKC_API.G_MISS_CHAR)
6123 THEN
6124 x_qte_rec.currency_conversion_code := l_qte_rec.currency_conversion_code;
6125 END IF;
6126 IF (x_qte_rec.currency_conversion_type = OKC_API.G_MISS_CHAR)
6127 THEN
6128 x_qte_rec.currency_conversion_type := l_qte_rec.currency_conversion_type;
6129 END IF;
6130 IF (x_qte_rec.currency_conversion_rate = OKC_API.G_MISS_NUM)
6131 THEN
6132 x_qte_rec.currency_conversion_rate := l_qte_rec.currency_conversion_rate;
6133 END IF;
6134 IF (x_qte_rec.currency_conversion_date = OKC_API.G_MISS_DATE)
6135 THEN
6136 x_qte_rec.currency_conversion_date := l_qte_rec.currency_conversion_date;
6137 END IF;
6138 -- BAKUCHIB 2667636 End
6139 IF (x_qte_rec.PERDIEM_AMOUNT = OKC_API.G_MISS_NUM) OR (x_qte_rec.PERDIEM_AMOUNT IS NULL)
6140 THEN
6141 x_qte_rec.PERDIEM_AMOUNT := l_qte_rec.PERDIEM_AMOUNT;
6142 END IF; --SANAHUJA -- LOANS_ENHACEMENTS
6143 --DKAGRAWA for LE uptake start
6144 IF (x_qte_rec.legal_entity_id = OKC_API.G_MISS_NUM)
6145 THEN
6146 x_qte_rec.legal_entity_id := l_qte_rec.legal_entity_id;
6147 END IF;
6148 --DKAGRAWA for LE uptake end
6149 --AKP:REPO-QUOTE-START 6599890
6150 IF (x_qte_rec.repo_quote_indicator_yn = OKL_API.G_MISS_CHAR)
6151 THEN
6152 x_qte_rec.repo_quote_indicator_yn := l_qte_rec.repo_quote_indicator_yn;
6153 END IF;
6154 --AKP:REPO-QUOTE-END
6155 RETURN(l_return_status);
6156 END populate_new_record;
6157 -----------------------------------------
6158 -- Set_Attributes for:OKL_TRX_QUOTES_B --
6159 -----------------------------------------
6160 FUNCTION Set_Attributes (
6161 p_qte_rec IN qte_rec_type,
6162 x_qte_rec OUT NOCOPY qte_rec_type
6163 ) RETURN VARCHAR2 IS
6164 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
6165 BEGIN
6166 x_qte_rec := p_qte_rec;
6167 RETURN(l_return_status);
6168 END Set_Attributes;
6169 BEGIN
6170 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
6171 p_init_msg_list,
6172 '_PVT',
6173 x_return_status);
6174 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
6175 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
6176 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
6177 RAISE OKC_API.G_EXCEPTION_ERROR;
6178 END IF;
6179 --- Setting item attributes
6180 l_return_status := Set_Attributes(
6181 p_qte_rec, -- IN
6182 l_qte_rec); -- OUT
6183 --- If any errors happen abort API
6184 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
6185 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
6186 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
6187 RAISE OKC_API.G_EXCEPTION_ERROR;
6188 END IF;
6189 l_return_status := populate_new_record(l_qte_rec, l_def_qte_rec);
6190 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
6191 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
6192 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
6193 RAISE OKC_API.G_EXCEPTION_ERROR;
6194 END IF;
6195 UPDATE OKL_TRX_QUOTES_B
6196 SET QRS_CODE = l_def_qte_rec.qrs_code,
6197 QST_CODE = l_def_qte_rec.qst_code,
6198 CONSOLIDATED_QTE_ID = l_def_qte_rec.consolidated_qte_id,
6199 KHR_ID = l_def_qte_rec.khr_id,
6200 ART_ID = l_def_qte_rec.art_id,
6201 QTP_CODE = l_def_qte_rec.qtp_code,
6202 TRN_CODE = l_def_qte_rec.trn_code,
6203 POP_CODE_END = l_def_qte_rec.pop_code_end,
6204 POP_CODE_EARLY = l_def_qte_rec.pop_code_early,
6205 PDT_ID = l_def_qte_rec.pdt_id,
6206 DATE_EFFECTIVE_FROM = l_def_qte_rec.date_effective_from,
6207 QUOTE_NUMBER = l_def_qte_rec.quote_number,
6208 OBJECT_VERSION_NUMBER = l_def_qte_rec.object_version_number,
6209 PURCHASE_PERCENT = l_def_qte_rec.purchase_percent,
6210 TERM = l_def_qte_rec.term,
6211 DATE_RESTRUCTURE_START = l_def_qte_rec.date_restructure_start,
6212 DATE_DUE = l_def_qte_rec.date_due,
6213 DATE_APPROVED = l_def_qte_rec.date_approved,
6214 DATE_RESTRUCTURE_END = l_def_qte_rec.date_restructure_end,
6215 REMAINING_PAYMENTS = l_def_qte_rec.remaining_payments,
6216 RENT_AMOUNT = l_def_qte_rec.rent_amount,
6217 YIELD = l_def_qte_rec.yield,
6218 RESIDUAL_AMOUNT = l_def_qte_rec.residual_amount,
6219 PRINCIPAL_PAYDOWN_AMOUNT = l_def_qte_rec.principal_paydown_amount,
6220 PAYMENT_FREQUENCY = l_def_qte_rec.payment_frequency,
6221 EARLY_TERMINATION_YN = l_def_qte_rec.early_termination_yn,
6222 PARTIAL_YN = l_def_qte_rec.partial_yn,
6223 PREPROCEEDS_YN = l_def_qte_rec.preproceeds_yn,
6224 SUMMARY_FORMAT_YN = l_def_qte_rec.summary_format_yn,
6225 CONSOLIDATED_YN = l_def_qte_rec.consolidated_yn,
6226 DATE_REQUESTED = l_def_qte_rec.date_requested,
6227 DATE_PROPOSAL = l_def_qte_rec.date_proposal,
6228 DATE_EFFECTIVE_TO = l_def_qte_rec.date_effective_to,
6229 DATE_ACCEPTED = l_def_qte_rec.date_accepted,
6230 PAYMENT_RECEIVED_YN = l_def_qte_rec.payment_received_yn,
6231 REQUESTED_BY = l_def_qte_rec.requested_by,
6232 APPROVED_YN = l_def_qte_rec.approved_yn,
6233 ACCEPTED_YN = l_def_qte_rec.accepted_yn,
6234 DATE_PAYMENT_RECEIVED = l_def_qte_rec.date_payment_received,
6235 APPROVED_BY = l_def_qte_rec.approved_by,
6236 ORG_ID = l_def_qte_rec.org_id,
6237 /*
6238 REQUEST_ID = l_def_qte_rec.request_id,
6239 PROGRAM_APPLICATION_ID = l_def_qte_rec.program_application_id,
6240 PROGRAM_ID = l_def_qte_rec.program_id,
6241 PROGRAM_UPDATE_DATE = l_def_qte_rec.program_update_date,
6242 */
6243 REQUEST_ID = NVL(decode(FND_GLOBAL.CONC_REQUEST_ID,-1, NULL,
6244 FND_GLOBAL.CONC_REQUEST_ID),l_def_qte_rec.request_id),
6245 PROGRAM_APPLICATION_ID = NVL(decode(FND_GLOBAL.PROG_APPL_ID,-1,NULL,
6246 FND_GLOBAL.PROG_APPL_ID),l_def_qte_rec.program_application_id),
6247 PROGRAM_ID = NVL(decode(FND_GLOBAL.CONC_PROGRAM_ID,-1,NULL,
6248 FND_GLOBAL.CONC_PROGRAM_ID),l_def_qte_rec.program_id),
6249 PROGRAM_UPDATE_DATE = decode(decode(FND_GLOBAL.CONC_REQUEST_ID,-1,NULL,
6250 SYSDATE),NULL,l_def_qte_rec.program_update_date,SYSDATE),
6251 ATTRIBUTE_CATEGORY = l_def_qte_rec.attribute_category,
6252 ATTRIBUTE1 = l_def_qte_rec.attribute1,
6253 ATTRIBUTE2 = l_def_qte_rec.attribute2,
6254 ATTRIBUTE3 = l_def_qte_rec.attribute3,
6255 ATTRIBUTE4 = l_def_qte_rec.attribute4,
6256 ATTRIBUTE5 = l_def_qte_rec.attribute5,
6257 ATTRIBUTE6 = l_def_qte_rec.attribute6,
6258 ATTRIBUTE7 = l_def_qte_rec.attribute7,
6259 ATTRIBUTE8 = l_def_qte_rec.attribute8,
6260 ATTRIBUTE9 = l_def_qte_rec.attribute9,
6261 ATTRIBUTE10 = l_def_qte_rec.attribute10,
6262 ATTRIBUTE11 = l_def_qte_rec.attribute11,
6263 ATTRIBUTE12 = l_def_qte_rec.attribute12,
6264 ATTRIBUTE13 = l_def_qte_rec.attribute13,
6265 ATTRIBUTE14 = l_def_qte_rec.attribute14,
6266 ATTRIBUTE15 = l_def_qte_rec.attribute15,
6267 CREATED_BY = l_def_qte_rec.created_by,
6268 CREATION_DATE = l_def_qte_rec.creation_date,
6269 LAST_UPDATED_BY = l_def_qte_rec.last_updated_by,
6270 LAST_UPDATE_DATE = l_def_qte_rec.last_update_date,
6271 LAST_UPDATE_LOGIN = l_def_qte_rec.last_update_login,
6272 PURCHASE_AMOUNT = l_def_qte_rec.purchase_amount,
6273 PURCHASE_FORMULA = l_def_qte_rec.purchase_formula,
6274 ASSET_VALUE = l_def_qte_rec.asset_value,
6275 RESIDUAL_VALUE = l_def_qte_rec.residual_value,
6276 UNBILLED_RECEIVABLES = l_def_qte_rec.unbilled_receivables,
6277 GAIN_LOSS = l_def_qte_rec.gain_loss,
6278 -- BAKCUHIUB 2667636 Start
6279 CURRENCY_CODE = l_def_qte_rec.currency_code,
6280 CURRENCY_CONVERSION_CODE = l_def_qte_rec.currency_conversion_code,
6281 CURRENCY_CONVERSION_TYPE = l_def_qte_rec.currency_conversion_type,
6282 CURRENCY_CONVERSION_RATE = l_def_qte_rec.currency_conversion_rate,
6283 CURRENCY_CONVERSION_DATE = l_def_qte_rec.currency_conversion_date,
6284 -- BAKUCHIB 2667636 End
6285 PERDIEM_AMOUNT = l_def_qte_rec.PERDIEM_AMOUNT, --SANAHUJA -- LOANS_ENHACEMENTS
6286 LEGAL_ENTITY_ID = l_def_qte_rec.legal_entity_id,--DKAGRAWA for LE uptake
6287 REPO_QUOTE_INDICATOR_YN = l_def_qte_rec.repo_quote_indicator_yn --AKP:REPO-QUOTE-START-END 6599890
6288 WHERE ID = l_def_qte_rec.id;
6289
6290 x_qte_rec := l_def_qte_rec;
6291 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
6292 EXCEPTION
6293 WHEN OKC_API.G_EXCEPTION_ERROR THEN
6294 x_return_status := OKC_API.HANDLE_EXCEPTIONS
6295 (
6296 l_api_name,
6297 G_PKG_NAME,
6298 'OKC_API.G_RET_STS_ERROR',
6299 x_msg_count,
6300 x_msg_data,
6301 '_PVT'
6302 );
6303 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
6304 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
6305 (
6306 l_api_name,
6307 G_PKG_NAME,
6308 'OKC_API.G_RET_STS_UNEXP_ERROR',
6309 x_msg_count,
6310 x_msg_data,
6311 '_PVT'
6312 );
6313 WHEN OTHERS THEN
6314 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
6315 (
6316 l_api_name,
6317 G_PKG_NAME,
6318 'OTHERS',
6319 x_msg_count,
6320 x_msg_data,
6321 '_PVT'
6322 );
6323 END update_row;
6324 --------------------------------------
6325 -- update_row for:OKL_TRX_QUOTES_TL --
6326 --------------------------------------
6327 PROCEDURE update_row(
6328 p_init_msg_list IN VARCHAR2,
6329 x_return_status OUT NOCOPY VARCHAR2,
6330 x_msg_count OUT NOCOPY NUMBER,
6331 x_msg_data OUT NOCOPY VARCHAR2,
6332 p_okl_trx_quotes_tl_rec IN okl_trx_quotes_tl_rec_type,
6333 x_okl_trx_quotes_tl_rec OUT NOCOPY okl_trx_quotes_tl_rec_type) IS
6334
6335 l_api_version CONSTANT NUMBER := 1;
6336 l_api_name CONSTANT VARCHAR2(30) := 'TL_update_row';
6337 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
6338 l_okl_trx_quotes_tl_rec okl_trx_quotes_tl_rec_type := p_okl_trx_quotes_tl_rec;
6339 l_def_okl_trx_quotes_tl_rec okl_trx_quotes_tl_rec_type;
6340 l_row_notfound BOOLEAN := TRUE;
6341 ----------------------------------
6342 -- FUNCTION populate_new_record --
6343 ----------------------------------
6344 FUNCTION populate_new_record (
6345 p_okl_trx_quotes_tl_rec IN okl_trx_quotes_tl_rec_type,
6346 x_okl_trx_quotes_tl_rec OUT NOCOPY okl_trx_quotes_tl_rec_type
6347 ) RETURN VARCHAR2 IS
6348 l_okl_trx_quotes_tl_rec okl_trx_quotes_tl_rec_type;
6349 l_row_notfound BOOLEAN := TRUE;
6350 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
6351 BEGIN
6352 x_okl_trx_quotes_tl_rec := p_okl_trx_quotes_tl_rec;
6353 -- Get current database values
6354 l_okl_trx_quotes_tl_rec := get_rec(p_okl_trx_quotes_tl_rec, l_row_notfound);
6355 IF (l_row_notfound) THEN
6356 l_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
6357 END IF;
6358 IF (x_okl_trx_quotes_tl_rec.id = OKC_API.G_MISS_NUM)
6359 THEN
6360 x_okl_trx_quotes_tl_rec.id := l_okl_trx_quotes_tl_rec.id;
6361 END IF;
6362 IF (x_okl_trx_quotes_tl_rec.language = OKC_API.G_MISS_CHAR)
6363 THEN
6364 x_okl_trx_quotes_tl_rec.language := l_okl_trx_quotes_tl_rec.language;
6365 END IF;
6366 IF (x_okl_trx_quotes_tl_rec.source_lang = OKC_API.G_MISS_CHAR)
6367 THEN
6368 x_okl_trx_quotes_tl_rec.source_lang := l_okl_trx_quotes_tl_rec.source_lang;
6369 END IF;
6370 IF (x_okl_trx_quotes_tl_rec.sfwt_flag = OKC_API.G_MISS_CHAR)
6371 THEN
6372 x_okl_trx_quotes_tl_rec.sfwt_flag := l_okl_trx_quotes_tl_rec.sfwt_flag;
6373 END IF;
6374 IF (x_okl_trx_quotes_tl_rec.comments = OKC_API.G_MISS_CHAR)
6375 THEN
6376 x_okl_trx_quotes_tl_rec.comments := l_okl_trx_quotes_tl_rec.comments;
6377 END IF;
6378 IF (x_okl_trx_quotes_tl_rec.created_by = OKC_API.G_MISS_NUM)
6379 THEN
6380 x_okl_trx_quotes_tl_rec.created_by := l_okl_trx_quotes_tl_rec.created_by;
6381 END IF;
6382 IF (x_okl_trx_quotes_tl_rec.creation_date = OKC_API.G_MISS_DATE)
6383 THEN
6384 x_okl_trx_quotes_tl_rec.creation_date := l_okl_trx_quotes_tl_rec.creation_date;
6385 END IF;
6386 IF (x_okl_trx_quotes_tl_rec.last_updated_by = OKC_API.G_MISS_NUM)
6387 THEN
6388 x_okl_trx_quotes_tl_rec.last_updated_by := l_okl_trx_quotes_tl_rec.last_updated_by;
6389 END IF;
6390 IF (x_okl_trx_quotes_tl_rec.last_update_date = OKC_API.G_MISS_DATE)
6391 THEN
6392 x_okl_trx_quotes_tl_rec.last_update_date := l_okl_trx_quotes_tl_rec.last_update_date;
6393 END IF;
6394 IF (x_okl_trx_quotes_tl_rec.last_update_login = OKC_API.G_MISS_NUM)
6395 THEN
6396 x_okl_trx_quotes_tl_rec.last_update_login := l_okl_trx_quotes_tl_rec.last_update_login;
6397 END IF;
6398 RETURN(l_return_status);
6399 END populate_new_record;
6400 ------------------------------------------
6401 -- Set_Attributes for:OKL_TRX_QUOTES_TL --
6402 ------------------------------------------
6403 FUNCTION Set_Attributes (
6404 p_okl_trx_quotes_tl_rec IN okl_trx_quotes_tl_rec_type,
6405 x_okl_trx_quotes_tl_rec OUT NOCOPY okl_trx_quotes_tl_rec_type
6406 ) RETURN VARCHAR2 IS
6407 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
6408 BEGIN
6409 x_okl_trx_quotes_tl_rec := p_okl_trx_quotes_tl_rec;
6410 x_okl_trx_quotes_tl_rec.LANGUAGE := USERENV('LANG');
6411 x_okl_trx_quotes_tl_rec.SOURCE_LANG := USERENV('LANG');
6412 RETURN(l_return_status);
6413 END Set_Attributes;
6414 BEGIN
6415 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
6416 p_init_msg_list,
6417 '_PVT',
6418 x_return_status);
6419 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
6420 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
6421 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
6422 RAISE OKC_API.G_EXCEPTION_ERROR;
6423 END IF;
6424 --- Setting item attributes
6425 l_return_status := Set_Attributes(
6426 p_okl_trx_quotes_tl_rec, -- IN
6427 l_okl_trx_quotes_tl_rec); -- OUT
6428 --- If any errors happen abort API
6429 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
6430 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
6431 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
6432 RAISE OKC_API.G_EXCEPTION_ERROR;
6433 END IF;
6434 l_return_status := populate_new_record(l_okl_trx_quotes_tl_rec, l_def_okl_trx_quotes_tl_rec);
6435 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
6436 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
6437 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
6438 RAISE OKC_API.G_EXCEPTION_ERROR;
6439 END IF;
6440 UPDATE OKL_TRX_QUOTES_TL
6441 SET COMMENTS = l_def_okl_trx_quotes_tl_rec.comments,
6442 SOURCE_LANG = l_def_okl_trx_quotes_tl_rec.source_lang,--Fix fro bug 3637102
6443 CREATED_BY = l_def_okl_trx_quotes_tl_rec.created_by,
6444 CREATION_DATE = l_def_okl_trx_quotes_tl_rec.creation_date,
6445 LAST_UPDATED_BY = l_def_okl_trx_quotes_tl_rec.last_updated_by,
6446 LAST_UPDATE_DATE = l_def_okl_trx_quotes_tl_rec.last_update_date,
6447 LAST_UPDATE_LOGIN = l_def_okl_trx_quotes_tl_rec.last_update_login
6448 WHERE ID = l_def_okl_trx_quotes_tl_rec.id
6449 AND USERENV('LANG') in (SOURCE_LANG,LANGUAGE);--Fix for bug 3637102
6450 --AND SOURCE_LANG = USERENV('LANG');
6451
6452 UPDATE OKL_TRX_QUOTES_TL
6453 SET SFWT_FLAG = 'Y'
6454 WHERE ID = l_def_okl_trx_quotes_tl_rec.id
6455 AND SOURCE_LANG <> USERENV('LANG');
6456
6457 x_okl_trx_quotes_tl_rec := l_def_okl_trx_quotes_tl_rec;
6458 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
6459 EXCEPTION
6460 WHEN OKC_API.G_EXCEPTION_ERROR THEN
6461 x_return_status := OKC_API.HANDLE_EXCEPTIONS
6462 (
6463 l_api_name,
6464 G_PKG_NAME,
6465 'OKC_API.G_RET_STS_ERROR',
6466 x_msg_count,
6467 x_msg_data,
6468 '_PVT'
6469 );
6470 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
6471 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
6472 (
6473 l_api_name,
6474 G_PKG_NAME,
6475 'OKC_API.G_RET_STS_UNEXP_ERROR',
6476 x_msg_count,
6477 x_msg_data,
6478 '_PVT'
6479 );
6480 WHEN OTHERS THEN
6481 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
6482 (
6483 l_api_name,
6484 G_PKG_NAME,
6485 'OTHERS',
6486 x_msg_count,
6487 x_msg_data,
6488 '_PVT'
6489 );
6490 END update_row;
6491 -------------------------------------
6492 -- update_row for:OKL_TRX_QUOTES_V --
6493 -------------------------------------
6494 -- Start of comments
6495 -- Procedure Name : update_row
6496 -- Description : Update Row into OKL_TRX_QUOTE_V table
6497 -- Business Rules :
6498 -- Parameters : Record structure of OKL_TRX_QUOTE_V table
6499 -- Version : 1.0
6500 -- History : 18-DEC-2002 BAKUCHIB 2667636 Modified
6501 -- : Added columns Currency code, currency Conversion_code
6502 -- Currency conversion type, currency conversion date
6503 -- currency conversion rate.
6504 -- End of comments
6505 PROCEDURE update_row(
6506 p_api_version IN NUMBER,
6507 p_init_msg_list IN VARCHAR2,
6508 x_return_status OUT NOCOPY VARCHAR2,
6509 x_msg_count OUT NOCOPY NUMBER,
6510 x_msg_data OUT NOCOPY VARCHAR2,
6511 p_qtev_rec IN qtev_rec_type,
6512 x_qtev_rec OUT NOCOPY qtev_rec_type) IS
6513
6514 l_api_version CONSTANT NUMBER := 1;
6515 l_api_name CONSTANT VARCHAR2(30) := 'V_update_row';
6516 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
6517 l_qtev_rec qtev_rec_type := p_qtev_rec;
6518 l_def_qtev_rec qtev_rec_type;
6519 l_okl_trx_quotes_tl_rec okl_trx_quotes_tl_rec_type;
6520 lx_okl_trx_quotes_tl_rec okl_trx_quotes_tl_rec_type;
6521 l_qte_rec qte_rec_type;
6522 lx_qte_rec qte_rec_type;
6523 -------------------------------
6524 -- FUNCTION fill_who_columns --
6525 -------------------------------
6526 FUNCTION fill_who_columns (
6527 p_qtev_rec IN qtev_rec_type
6528 ) RETURN qtev_rec_type IS
6529 l_qtev_rec qtev_rec_type := p_qtev_rec;
6530 BEGIN
6531 l_qtev_rec.LAST_UPDATE_DATE := SYSDATE;
6532 l_qtev_rec.LAST_UPDATED_BY := FND_GLOBAL.USER_ID;
6533 l_qtev_rec.LAST_UPDATE_LOGIN := FND_GLOBAL.LOGIN_ID;
6534 RETURN(l_qtev_rec);
6535 END fill_who_columns;
6536 ----------------------------------
6537 -- FUNCTION populate_new_record --
6538 ----------------------------------
6539 -- Start of comments
6540 -- Function Name : populate_new_record
6541 -- Description : Populate new record into OKL_TRX_QUOTE_V table
6542 -- Business Rules :
6543 -- Parameters : Record structure of OKL_TRX_QUOTE_V table
6544 -- Version : 1.0
6545 -- History : 18-DEC-2002 BAKUCHIB 2667636 Modified
6546 -- : Added columns Currency code, currency Conversion_code
6547 -- Currency conversion type, currency conversion date
6548 -- currency conversion rate.
6549 FUNCTION populate_new_record (
6550 p_qtev_rec IN qtev_rec_type,
6551 x_qtev_rec OUT NOCOPY qtev_rec_type
6552 ) RETURN VARCHAR2 IS
6553 l_qtev_rec qtev_rec_type;
6554 l_row_notfound BOOLEAN := TRUE;
6555 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
6556 BEGIN
6557 x_qtev_rec := p_qtev_rec;
6558 -- Get current database values
6559 l_qtev_rec := get_rec(p_qtev_rec, l_row_notfound);
6560 IF (l_row_notfound) THEN
6561 l_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
6562 END IF;
6563 IF (x_qtev_rec.id = OKC_API.G_MISS_NUM)
6564 THEN
6565 x_qtev_rec.id := l_qtev_rec.id;
6566 END IF;
6567 IF (x_qtev_rec.object_version_number = OKC_API.G_MISS_NUM)
6568 THEN
6569 x_qtev_rec.object_version_number := l_qtev_rec.object_version_number;
6570 END IF;
6571 IF (x_qtev_rec.sfwt_flag = OKC_API.G_MISS_CHAR)
6572 THEN
6573 x_qtev_rec.sfwt_flag := l_qtev_rec.sfwt_flag;
6574 END IF;
6575 IF (x_qtev_rec.qrs_code = OKC_API.G_MISS_CHAR)
6576 THEN
6577 x_qtev_rec.qrs_code := l_qtev_rec.qrs_code;
6578 END IF;
6579 IF (x_qtev_rec.qst_code = OKC_API.G_MISS_CHAR)
6580 THEN
6581 x_qtev_rec.qst_code := l_qtev_rec.qst_code;
6582 END IF;
6583 IF (x_qtev_rec.qtp_code = OKC_API.G_MISS_CHAR)
6584 THEN
6585 x_qtev_rec.qtp_code := l_qtev_rec.qtp_code;
6586 END IF;
6587 IF (x_qtev_rec.trn_code = OKC_API.G_MISS_CHAR)
6588 THEN
6589 x_qtev_rec.trn_code := l_qtev_rec.trn_code;
6590 END IF;
6591 IF (x_qtev_rec.pop_code_end = OKC_API.G_MISS_CHAR)
6592 THEN
6593 x_qtev_rec.pop_code_end := l_qtev_rec.pop_code_end;
6594 END IF;
6595 IF (x_qtev_rec.pop_code_early = OKC_API.G_MISS_CHAR)
6596 THEN
6597 x_qtev_rec.pop_code_early := l_qtev_rec.pop_code_early;
6598 END IF;
6599 IF (x_qtev_rec.consolidated_qte_id = OKC_API.G_MISS_NUM)
6600 THEN
6601 x_qtev_rec.consolidated_qte_id := l_qtev_rec.consolidated_qte_id;
6602 END IF;
6603 IF (x_qtev_rec.khr_id = OKC_API.G_MISS_NUM)
6604 THEN
6605 x_qtev_rec.khr_id := l_qtev_rec.khr_id;
6606 END IF;
6607 IF (x_qtev_rec.art_id = OKC_API.G_MISS_NUM)
6608 THEN
6609 x_qtev_rec.art_id := l_qtev_rec.art_id;
6610 END IF;
6611 IF (x_qtev_rec.pdt_id = OKC_API.G_MISS_NUM)
6612 THEN
6613 x_qtev_rec.pdt_id := l_qtev_rec.pdt_id;
6614 END IF;
6615 IF (x_qtev_rec.early_termination_yn = OKC_API.G_MISS_CHAR)
6616 THEN
6617 x_qtev_rec.early_termination_yn := l_qtev_rec.early_termination_yn;
6618 END IF;
6619 IF (x_qtev_rec.partial_yn = OKC_API.G_MISS_CHAR)
6620 THEN
6621 x_qtev_rec.partial_yn := l_qtev_rec.partial_yn;
6622 END IF;
6623 IF (x_qtev_rec.preproceeds_yn = OKC_API.G_MISS_CHAR)
6624 THEN
6625 x_qtev_rec.preproceeds_yn := l_qtev_rec.preproceeds_yn;
6626 END IF;
6627 IF (x_qtev_rec.date_requested = OKC_API.G_MISS_DATE)
6628 THEN
6629 x_qtev_rec.date_requested := l_qtev_rec.date_requested;
6630 END IF;
6631 IF (x_qtev_rec.date_proposal = OKC_API.G_MISS_DATE)
6632 THEN
6633 x_qtev_rec.date_proposal := l_qtev_rec.date_proposal;
6634 END IF;
6635 IF (x_qtev_rec.date_effective_to = OKC_API.G_MISS_DATE)
6636 THEN
6637 x_qtev_rec.date_effective_to := l_qtev_rec.date_effective_to;
6638 END IF;
6639 IF (x_qtev_rec.date_accepted = OKC_API.G_MISS_DATE)
6640 THEN
6641 x_qtev_rec.date_accepted := l_qtev_rec.date_accepted;
6642 END IF;
6643 IF (x_qtev_rec.summary_format_yn = OKC_API.G_MISS_CHAR)
6644 THEN
6645 x_qtev_rec.summary_format_yn := l_qtev_rec.summary_format_yn;
6646 END IF;
6647 IF (x_qtev_rec.consolidated_yn = OKC_API.G_MISS_CHAR)
6648 THEN
6649 x_qtev_rec.consolidated_yn := l_qtev_rec.consolidated_yn;
6650 END IF;
6651 IF (x_qtev_rec.principal_paydown_amount = OKC_API.G_MISS_NUM)
6652 THEN
6653 x_qtev_rec.principal_paydown_amount := l_qtev_rec.principal_paydown_amount;
6654 END IF;
6655 IF (x_qtev_rec.residual_amount = OKC_API.G_MISS_NUM)
6656 THEN
6657 x_qtev_rec.residual_amount := l_qtev_rec.residual_amount;
6658 END IF;
6659 IF (x_qtev_rec.yield = OKC_API.G_MISS_NUM)
6660 THEN
6661 x_qtev_rec.yield := l_qtev_rec.yield;
6662 END IF;
6663 IF (x_qtev_rec.rent_amount = OKC_API.G_MISS_NUM)
6664 THEN
6665 x_qtev_rec.rent_amount := l_qtev_rec.rent_amount;
6666 END IF;
6667 IF (x_qtev_rec.date_restructure_end = OKC_API.G_MISS_DATE)
6668 THEN
6669 x_qtev_rec.date_restructure_end := l_qtev_rec.date_restructure_end;
6670 END IF;
6671 IF (x_qtev_rec.date_restructure_start = OKC_API.G_MISS_DATE)
6672 THEN
6673 x_qtev_rec.date_restructure_start := l_qtev_rec.date_restructure_start;
6674 END IF;
6675 IF (x_qtev_rec.term = OKC_API.G_MISS_NUM)
6676 THEN
6677 x_qtev_rec.term := l_qtev_rec.term;
6678 END IF;
6679 IF (x_qtev_rec.purchase_percent = OKC_API.G_MISS_NUM)
6680 THEN
6681 x_qtev_rec.purchase_percent := l_qtev_rec.purchase_percent;
6682 END IF;
6683 IF (x_qtev_rec.comments = OKC_API.G_MISS_CHAR)
6684 THEN
6685 x_qtev_rec.comments := l_qtev_rec.comments;
6686 END IF;
6687 IF (x_qtev_rec.date_due = OKC_API.G_MISS_DATE)
6688 THEN
6689 x_qtev_rec.date_due := l_qtev_rec.date_due;
6690 END IF;
6691 IF (x_qtev_rec.payment_frequency = OKC_API.G_MISS_CHAR)
6692 THEN
6693 x_qtev_rec.payment_frequency := l_qtev_rec.payment_frequency;
6694 END IF;
6695 IF (x_qtev_rec.remaining_payments = OKC_API.G_MISS_NUM)
6696 THEN
6697 x_qtev_rec.remaining_payments := l_qtev_rec.remaining_payments;
6698 END IF;
6699 IF (x_qtev_rec.date_effective_from = OKC_API.G_MISS_DATE)
6700 THEN
6701 x_qtev_rec.date_effective_from := l_qtev_rec.date_effective_from;
6702 END IF;
6703 IF (x_qtev_rec.quote_number = OKC_API.G_MISS_NUM)
6704 THEN
6705 x_qtev_rec.quote_number := l_qtev_rec.quote_number;
6706 END IF;
6707 IF (x_qtev_rec.requested_by = OKC_API.G_MISS_NUM)
6708 THEN
6709 x_qtev_rec.requested_by := l_qtev_rec.requested_by;
6710 END IF;
6711 IF (x_qtev_rec.approved_yn = OKC_API.G_MISS_CHAR)
6712 THEN
6713 x_qtev_rec.approved_yn := l_qtev_rec.approved_yn;
6714 END IF;
6715 IF (x_qtev_rec.accepted_yn = OKC_API.G_MISS_CHAR)
6716 THEN
6717 x_qtev_rec.accepted_yn := l_qtev_rec.accepted_yn;
6718 END IF;
6719 IF (x_qtev_rec.payment_received_yn = OKC_API.G_MISS_CHAR)
6720 THEN
6721 x_qtev_rec.payment_received_yn := l_qtev_rec.payment_received_yn;
6722 END IF;
6723 IF (x_qtev_rec.date_payment_received = OKC_API.G_MISS_DATE)
6724 THEN
6725 x_qtev_rec.date_payment_received := l_qtev_rec.date_payment_received;
6726 END IF;
6727 IF (x_qtev_rec.attribute_category = OKC_API.G_MISS_CHAR)
6728 THEN
6729 x_qtev_rec.attribute_category := l_qtev_rec.attribute_category;
6730 END IF;
6731 IF (x_qtev_rec.attribute1 = OKC_API.G_MISS_CHAR)
6732 THEN
6733 x_qtev_rec.attribute1 := l_qtev_rec.attribute1;
6734 END IF;
6735 IF (x_qtev_rec.attribute2 = OKC_API.G_MISS_CHAR)
6736 THEN
6737 x_qtev_rec.attribute2 := l_qtev_rec.attribute2;
6738 END IF;
6739 IF (x_qtev_rec.attribute3 = OKC_API.G_MISS_CHAR)
6740 THEN
6741 x_qtev_rec.attribute3 := l_qtev_rec.attribute3;
6742 END IF;
6743 IF (x_qtev_rec.attribute4 = OKC_API.G_MISS_CHAR)
6744 THEN
6745 x_qtev_rec.attribute4 := l_qtev_rec.attribute4;
6746 END IF;
6747 IF (x_qtev_rec.attribute5 = OKC_API.G_MISS_CHAR)
6748 THEN
6749 x_qtev_rec.attribute5 := l_qtev_rec.attribute5;
6750 END IF;
6751 IF (x_qtev_rec.attribute6 = OKC_API.G_MISS_CHAR)
6752 THEN
6753 x_qtev_rec.attribute6 := l_qtev_rec.attribute6;
6754 END IF;
6755 IF (x_qtev_rec.attribute7 = OKC_API.G_MISS_CHAR)
6756 THEN
6757 x_qtev_rec.attribute7 := l_qtev_rec.attribute7;
6758 END IF;
6759 IF (x_qtev_rec.attribute8 = OKC_API.G_MISS_CHAR)
6760 THEN
6761 x_qtev_rec.attribute8 := l_qtev_rec.attribute8;
6762 END IF;
6763 IF (x_qtev_rec.attribute9 = OKC_API.G_MISS_CHAR)
6764 THEN
6765 x_qtev_rec.attribute9 := l_qtev_rec.attribute9;
6766 END IF;
6767 IF (x_qtev_rec.attribute10 = OKC_API.G_MISS_CHAR)
6768 THEN
6769 x_qtev_rec.attribute10 := l_qtev_rec.attribute10;
6770 END IF;
6771 IF (x_qtev_rec.attribute11 = OKC_API.G_MISS_CHAR)
6772 THEN
6773 x_qtev_rec.attribute11 := l_qtev_rec.attribute11;
6774 END IF;
6775 IF (x_qtev_rec.attribute12 = OKC_API.G_MISS_CHAR)
6776 THEN
6777 x_qtev_rec.attribute12 := l_qtev_rec.attribute12;
6778 END IF;
6779 IF (x_qtev_rec.attribute13 = OKC_API.G_MISS_CHAR)
6780 THEN
6781 x_qtev_rec.attribute13 := l_qtev_rec.attribute13;
6782 END IF;
6783 IF (x_qtev_rec.attribute14 = OKC_API.G_MISS_CHAR)
6784 THEN
6785 x_qtev_rec.attribute14 := l_qtev_rec.attribute14;
6786 END IF;
6787 IF (x_qtev_rec.attribute15 = OKC_API.G_MISS_CHAR)
6788 THEN
6789 x_qtev_rec.attribute15 := l_qtev_rec.attribute15;
6790 END IF;
6791 IF (x_qtev_rec.date_approved = OKC_API.G_MISS_DATE)
6792 THEN
6793 x_qtev_rec.date_approved := l_qtev_rec.date_approved;
6794 END IF;
6795 IF (x_qtev_rec.approved_by = OKC_API.G_MISS_NUM)
6796 THEN
6797 x_qtev_rec.approved_by := l_qtev_rec.approved_by;
6798 END IF;
6799 IF (x_qtev_rec.org_id = OKC_API.G_MISS_NUM)
6800 THEN
6801 x_qtev_rec.org_id := l_qtev_rec.org_id;
6802 END IF;
6803 IF (x_qtev_rec.request_id = OKC_API.G_MISS_NUM)
6804 THEN
6805 x_qtev_rec.request_id := l_qtev_rec.request_id;
6806 END IF;
6807 IF (x_qtev_rec.program_application_id = OKC_API.G_MISS_NUM)
6808 THEN
6809 x_qtev_rec.program_application_id := l_qtev_rec.program_application_id;
6810 END IF;
6811 IF (x_qtev_rec.program_id = OKC_API.G_MISS_NUM)
6812 THEN
6813 x_qtev_rec.program_id := l_qtev_rec.program_id;
6814 END IF;
6815 IF (x_qtev_rec.program_update_date = OKC_API.G_MISS_DATE)
6816 THEN
6817 x_qtev_rec.program_update_date := l_qtev_rec.program_update_date;
6818 END IF;
6819 IF (x_qtev_rec.created_by = OKC_API.G_MISS_NUM)
6820 THEN
6821 x_qtev_rec.created_by := l_qtev_rec.created_by;
6822 END IF;
6823 IF (x_qtev_rec.creation_date = OKC_API.G_MISS_DATE)
6824 THEN
6825 x_qtev_rec.creation_date := l_qtev_rec.creation_date;
6826 END IF;
6827 IF (x_qtev_rec.last_updated_by = OKC_API.G_MISS_NUM)
6828 THEN
6829 x_qtev_rec.last_updated_by := l_qtev_rec.last_updated_by;
6830 END IF;
6831 IF (x_qtev_rec.last_update_date = OKC_API.G_MISS_DATE)
6832 THEN
6833 x_qtev_rec.last_update_date := l_qtev_rec.last_update_date;
6834 END IF;
6835 IF (x_qtev_rec.last_update_login = OKC_API.G_MISS_NUM)
6836 THEN
6837 x_qtev_rec.last_update_login := l_qtev_rec.last_update_login;
6838 END IF;
6839 IF (x_qtev_rec.purchase_amount = OKC_API.G_MISS_NUM)
6840 THEN
6841 x_qtev_rec.purchase_amount := l_qtev_rec.purchase_amount;
6842 END IF;
6843 IF (x_qtev_rec.purchase_formula = OKC_API.G_MISS_CHAR)
6844 THEN
6845 x_qtev_rec.purchase_formula := l_qtev_rec.purchase_formula;
6846 END IF;
6847 IF (x_qtev_rec.asset_value = OKC_API.G_MISS_NUM) OR (x_qtev_rec.asset_value IS NULL)
6848 THEN
6849 x_qtev_rec.asset_value := l_qtev_rec.asset_value ;
6850 END IF;
6851 IF (x_qtev_rec.residual_value = OKC_API.G_MISS_NUM) OR (x_qtev_rec.residual_value IS NULL)
6852 THEN
6853 x_qtev_rec.residual_value := l_qtev_rec.residual_value;
6854 END IF;
6855 IF (x_qtev_rec.unbilled_receivables = OKC_API.G_MISS_NUM) OR (x_qtev_rec.unbilled_receivables IS NULL)
6856 THEN
6857 x_qtev_rec.unbilled_receivables := l_qtev_rec.unbilled_receivables;
6858 END IF;
6859 IF (x_qtev_rec.gain_loss = OKC_API.G_MISS_NUM) OR (x_qtev_rec.gain_loss IS NULL)
6860 THEN
6861 x_qtev_rec.gain_loss:= l_qtev_rec.gain_loss;
6862 END IF;
6863 -- BAKUCHIB 2667636 Start
6864 IF (x_qtev_rec.currency_code = OKC_API.G_MISS_CHAR)
6865 THEN
6866 x_qtev_rec.currency_code := l_qtev_rec.currency_code;
6867 END IF;
6868 IF (x_qtev_rec.currency_conversion_code = OKC_API.G_MISS_CHAR)
6869 THEN
6870 x_qtev_rec.currency_conversion_code := l_qtev_rec.currency_conversion_code;
6871 END IF;
6872 IF (x_qtev_rec.currency_conversion_type = OKC_API.G_MISS_CHAR)
6873 THEN
6874 x_qtev_rec.currency_conversion_type := l_qtev_rec.currency_conversion_type;
6875 END IF;
6876 IF (x_qtev_rec.currency_conversion_rate = OKC_API.G_MISS_NUM)
6877 THEN
6878 x_qtev_rec.currency_conversion_rate := l_qtev_rec.currency_conversion_rate;
6879 END IF;
6880 IF (x_qtev_rec.currency_conversion_date = OKC_API.G_MISS_DATE)
6881 THEN
6882 x_qtev_rec.currency_conversion_date := l_qtev_rec.currency_conversion_date;
6883 END IF;
6884 -- BAKUCHIB 2667636 End
6885 IF (x_qtev_rec.PERDIEM_AMOUNT = OKC_API.G_MISS_NUM) OR (x_qtev_rec.PERDIEM_AMOUNT IS NULL)
6886 THEN
6887 x_qtev_rec.PERDIEM_AMOUNT := l_qtev_rec.PERDIEM_AMOUNT;
6888 END IF; --SANAHUJA -- LOANS_ENHACEMENTS
6889 --DKAGRAWA for LE uptake start
6890 IF (x_qtev_rec.legal_entity_id = OKC_API.G_MISS_NUM)
6891 THEN
6892 x_qtev_rec.legal_entity_id := l_qtev_rec.legal_entity_id;
6893 END IF;
6894 --DKAGRAWA for LE uptake end
6895 --AKP:REPO-QUOTE-START 6599890
6896 IF (x_qtev_rec.repo_quote_indicator_yn = OKC_API.G_MISS_CHAR)
6897 THEN
6898 x_qtev_rec.repo_quote_indicator_yn := l_qtev_rec.repo_quote_indicator_yn;
6899 END IF;
6900 --AKP:REPO-QUOTE-END
6901
6902 RETURN(l_return_status);
6903 END populate_new_record;
6904 -----------------------------------------
6905 -- Set_Attributes for:OKL_TRX_QUOTES_V --
6906 -----------------------------------------
6907 FUNCTION Set_Attributes (
6908 p_qtev_rec IN qtev_rec_type,
6909 x_qtev_rec OUT NOCOPY qtev_rec_type
6910 ) RETURN VARCHAR2 IS
6911 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
6912 BEGIN
6913 x_qtev_rec := p_qtev_rec;
6914 x_qtev_rec.OBJECT_VERSION_NUMBER := NVL(x_qtev_rec.OBJECT_VERSION_NUMBER, 0) + 1;
6915 RETURN(l_return_status);
6916 END Set_Attributes;
6917 BEGIN
6918 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
6919 G_PKG_NAME,
6920 p_init_msg_list,
6921 l_api_version,
6922 p_api_version,
6923 '_PVT',
6924 x_return_status);
6925 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
6926 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
6927 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
6928 RAISE OKC_API.G_EXCEPTION_ERROR;
6929 END IF;
6930 --- Setting item attributes
6931 l_return_status := Set_Attributes(
6932 p_qtev_rec, -- IN
6933 l_qtev_rec); -- OUT
6934 --- If any errors happen abort API
6935 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
6936 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
6937 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
6938 RAISE OKC_API.G_EXCEPTION_ERROR;
6939 END IF;
6940 l_return_status := populate_new_record(l_qtev_rec, l_def_qtev_rec);
6941 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
6942 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
6943 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
6944 RAISE OKC_API.G_EXCEPTION_ERROR;
6945 END IF;
6946 l_def_qtev_rec := fill_who_columns(l_def_qtev_rec);
6947 --- Validate all non-missing attributes (Item Level Validation)
6948 l_return_status := Validate_Attributes(l_def_qtev_rec);
6949 --- If any errors happen abort API
6950 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
6951 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
6952 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
6953 RAISE OKC_API.G_EXCEPTION_ERROR;
6954 END IF;
6955 l_return_status := Validate_Record(l_def_qtev_rec);
6956 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
6957 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
6958 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
6959 RAISE OKC_API.G_EXCEPTION_ERROR;
6960 END IF;
6961
6962 --------------------------------------
6963 -- Move VIEW record to "Child" records
6964 --------------------------------------
6965 migrate(l_def_qtev_rec, l_okl_trx_quotes_tl_rec);
6966 migrate(l_def_qtev_rec, l_qte_rec);
6967 --------------------------------------------
6968 -- Call the UPDATE_ROW for each child record
6969 --------------------------------------------
6970 update_row(
6971 p_init_msg_list,
6972 x_return_status,
6973 x_msg_count,
6974 x_msg_data,
6975 l_okl_trx_quotes_tl_rec,
6976 lx_okl_trx_quotes_tl_rec
6977 );
6978 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
6979 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
6980 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
6981 RAISE OKC_API.G_EXCEPTION_ERROR;
6982 END IF;
6983 migrate(lx_okl_trx_quotes_tl_rec, l_def_qtev_rec);
6984 update_row(
6985 p_init_msg_list,
6986 x_return_status,
6987 x_msg_count,
6988 x_msg_data,
6989 l_qte_rec,
6990 lx_qte_rec
6991 );
6992 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
6993 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
6994 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
6995 RAISE OKC_API.G_EXCEPTION_ERROR;
6996 END IF;
6997 migrate(lx_qte_rec, l_def_qtev_rec);
6998 x_qtev_rec := l_def_qtev_rec;
6999 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
7000 EXCEPTION
7001 WHEN OKC_API.G_EXCEPTION_ERROR THEN
7002 x_return_status := OKC_API.HANDLE_EXCEPTIONS
7003 (
7004 l_api_name,
7005 G_PKG_NAME,
7006 'OKC_API.G_RET_STS_ERROR',
7007 x_msg_count,
7008 x_msg_data,
7009 '_PVT'
7010 );
7011 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
7012 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
7013 (
7014 l_api_name,
7015 G_PKG_NAME,
7016 'OKC_API.G_RET_STS_UNEXP_ERROR',
7017 x_msg_count,
7018 x_msg_data,
7019 '_PVT'
7020 );
7021 WHEN OTHERS THEN
7022 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
7023 (
7024 l_api_name,
7025 G_PKG_NAME,
7026 'OTHERS',
7027 x_msg_count,
7028 x_msg_data,
7029 '_PVT'
7030 );
7031 END update_row;
7032 ----------------------------------------
7033 -- PL/SQL TBL update_row for:QTEV_TBL --
7034 ----------------------------------------
7035 PROCEDURE update_row(
7036 p_api_version IN NUMBER,
7037 p_init_msg_list IN VARCHAR2,
7038 x_return_status OUT NOCOPY VARCHAR2,
7039 x_msg_count OUT NOCOPY NUMBER,
7040 x_msg_data OUT NOCOPY VARCHAR2,
7041 p_qtev_tbl IN qtev_tbl_type,
7042 x_qtev_tbl OUT NOCOPY qtev_tbl_type) IS
7043
7044 l_api_version CONSTANT NUMBER := 1;
7045 l_api_name CONSTANT VARCHAR2(30) := 'V_tbl_update_row';
7046 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
7047 i NUMBER := 0;
7048
7049 -- Begin Post-Generation Change
7050 -- overall error status
7051 l_overall_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
7052 -- End Post-Generation Change
7053
7054 BEGIN
7055 OKC_API.init_msg_list(p_init_msg_list);
7056 -- Make sure PL/SQL table has records in it before passing
7057 IF (p_qtev_tbl.COUNT > 0) THEN
7058 i := p_qtev_tbl.FIRST;
7059 LOOP
7060 update_row (
7061 p_api_version => p_api_version,
7062 p_init_msg_list => OKC_API.G_FALSE,
7063 x_return_status => x_return_status,
7064 x_msg_count => x_msg_count,
7065 x_msg_data => x_msg_data,
7066 p_qtev_rec => p_qtev_tbl(i),
7067 x_qtev_rec => x_qtev_tbl(i));
7068 -- Begin Post-Generation Change
7069 -- store the highest degree of error
7070 IF x_return_status <> OKL_API.G_RET_STS_SUCCESS THEN
7071 IF l_overall_status <> OKL_API.G_RET_STS_UNEXP_ERROR THEN
7072 l_overall_status := x_return_status;
7073 END IF;
7074 END IF;
7075 -- End Post-Generation Change
7076 EXIT WHEN (i = p_qtev_tbl.LAST);
7077 i := p_qtev_tbl.NEXT(i);
7078 END LOOP;
7079 -- Begin Post-Generation Change
7080 -- return overall status
7081 x_return_status := l_overall_status;
7082 -- End Post-Generation Change
7083 END IF;
7084 EXCEPTION
7085 WHEN OKC_API.G_EXCEPTION_ERROR THEN
7086 x_return_status := OKC_API.HANDLE_EXCEPTIONS
7087 (
7088 l_api_name,
7089 G_PKG_NAME,
7090 'OKC_API.G_RET_STS_ERROR',
7091 x_msg_count,
7092 x_msg_data,
7093 '_PVT'
7094 );
7095 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
7096 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
7097 (
7098 l_api_name,
7099 G_PKG_NAME,
7100 'OKC_API.G_RET_STS_UNEXP_ERROR',
7101 x_msg_count,
7102 x_msg_data,
7103 '_PVT'
7104 );
7105 WHEN OTHERS THEN
7106 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
7107 (
7108 l_api_name,
7109 G_PKG_NAME,
7110 'OTHERS',
7111 x_msg_count,
7112 x_msg_data,
7113 '_PVT'
7114 );
7115 END update_row;
7116
7117 ---------------------------------------------------------------------------
7118 -- PROCEDURE delete_row
7119 ---------------------------------------------------------------------------
7120 -------------------------------------
7121 -- delete_row for:OKL_TRX_QUOTES_B --
7122 -------------------------------------
7123 PROCEDURE delete_row(
7124 p_init_msg_list IN VARCHAR2,
7125 x_return_status OUT NOCOPY VARCHAR2,
7126 x_msg_count OUT NOCOPY NUMBER,
7127 x_msg_data OUT NOCOPY VARCHAR2,
7128 p_qte_rec IN qte_rec_type) IS
7129
7130 l_api_version CONSTANT NUMBER := 1;
7131 l_api_name CONSTANT VARCHAR2(30) := 'B_delete_row';
7132 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
7133 l_qte_rec qte_rec_type:= p_qte_rec;
7134 l_row_notfound BOOLEAN := TRUE;
7135 BEGIN
7136 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
7137 p_init_msg_list,
7138 '_PVT',
7139 x_return_status);
7140 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
7141 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
7142 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
7143 RAISE OKC_API.G_EXCEPTION_ERROR;
7144 END IF;
7145 DELETE FROM OKL_TRX_QUOTES_B
7146 WHERE ID = l_qte_rec.id;
7147
7148 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
7149 EXCEPTION
7150 WHEN OKC_API.G_EXCEPTION_ERROR THEN
7151 x_return_status := OKC_API.HANDLE_EXCEPTIONS
7152 (
7153 l_api_name,
7154 G_PKG_NAME,
7155 'OKC_API.G_RET_STS_ERROR',
7156 x_msg_count,
7157 x_msg_data,
7158 '_PVT'
7159 );
7160 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
7161 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
7162 (
7163 l_api_name,
7164 G_PKG_NAME,
7165 'OKC_API.G_RET_STS_UNEXP_ERROR',
7166 x_msg_count,
7167 x_msg_data,
7168 '_PVT'
7169 );
7170 WHEN OTHERS THEN
7171 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
7172 (
7173 l_api_name,
7174 G_PKG_NAME,
7175 'OTHERS',
7176 x_msg_count,
7177 x_msg_data,
7178 '_PVT'
7179 );
7180 END delete_row;
7181 --------------------------------------
7182 -- delete_row for:OKL_TRX_QUOTES_TL --
7183 --------------------------------------
7184 PROCEDURE delete_row(
7185 p_init_msg_list IN VARCHAR2,
7186 x_return_status OUT NOCOPY VARCHAR2,
7187 x_msg_count OUT NOCOPY NUMBER,
7188 x_msg_data OUT NOCOPY VARCHAR2,
7189 p_okl_trx_quotes_tl_rec IN okl_trx_quotes_tl_rec_type) IS
7190
7191 l_api_version CONSTANT NUMBER := 1;
7192 l_api_name CONSTANT VARCHAR2(30) := 'TL_delete_row';
7193 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
7194 l_okl_trx_quotes_tl_rec okl_trx_quotes_tl_rec_type:= p_okl_trx_quotes_tl_rec;
7195 l_row_notfound BOOLEAN := TRUE;
7196 ------------------------------------------
7197 -- Set_Attributes for:OKL_TRX_QUOTES_TL --
7198 ------------------------------------------
7199 FUNCTION Set_Attributes (
7200 p_okl_trx_quotes_tl_rec IN okl_trx_quotes_tl_rec_type,
7201 x_okl_trx_quotes_tl_rec OUT NOCOPY okl_trx_quotes_tl_rec_type
7202 ) RETURN VARCHAR2 IS
7203 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
7204 BEGIN
7205 x_okl_trx_quotes_tl_rec := p_okl_trx_quotes_tl_rec;
7206 x_okl_trx_quotes_tl_rec.LANGUAGE := USERENV('LANG');
7207 RETURN(l_return_status);
7208 END Set_Attributes;
7209 BEGIN
7210 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
7211 p_init_msg_list,
7212 '_PVT',
7213 x_return_status);
7214 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
7215 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
7216 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
7217 RAISE OKC_API.G_EXCEPTION_ERROR;
7218 END IF;
7219 --- Setting item attributes
7220 l_return_status := Set_Attributes(
7221 p_okl_trx_quotes_tl_rec, -- IN
7222 l_okl_trx_quotes_tl_rec); -- OUT
7223 --- If any errors happen abort API
7224 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
7225 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
7226 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
7227 RAISE OKC_API.G_EXCEPTION_ERROR;
7228 END IF;
7229 DELETE FROM OKL_TRX_QUOTES_TL
7230 WHERE ID = l_okl_trx_quotes_tl_rec.id;
7231
7232 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
7233 EXCEPTION
7234 WHEN OKC_API.G_EXCEPTION_ERROR THEN
7235 x_return_status := OKC_API.HANDLE_EXCEPTIONS
7236 (
7237 l_api_name,
7238 G_PKG_NAME,
7239 'OKC_API.G_RET_STS_ERROR',
7240 x_msg_count,
7241 x_msg_data,
7242 '_PVT'
7243 );
7244 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
7245 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
7246 (
7247 l_api_name,
7248 G_PKG_NAME,
7249 'OKC_API.G_RET_STS_UNEXP_ERROR',
7250 x_msg_count,
7251 x_msg_data,
7252 '_PVT'
7253 );
7254 WHEN OTHERS THEN
7255 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
7256 (
7257 l_api_name,
7258 G_PKG_NAME,
7259 'OTHERS',
7260 x_msg_count,
7261 x_msg_data,
7262 '_PVT'
7263 );
7264 END delete_row;
7265 -------------------------------------
7266 -- delete_row for:OKL_TRX_QUOTES_V --
7267 -------------------------------------
7268 PROCEDURE delete_row(
7269 p_api_version IN NUMBER,
7270 p_init_msg_list IN VARCHAR2,
7271 x_return_status OUT NOCOPY VARCHAR2,
7272 x_msg_count OUT NOCOPY NUMBER,
7273 x_msg_data OUT NOCOPY VARCHAR2,
7274 p_qtev_rec IN qtev_rec_type) IS
7275
7276 l_api_version CONSTANT NUMBER := 1;
7277 l_api_name CONSTANT VARCHAR2(30) := 'V_delete_row';
7278 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
7279 l_qtev_rec qtev_rec_type := p_qtev_rec;
7280 l_okl_trx_quotes_tl_rec okl_trx_quotes_tl_rec_type;
7281 l_qte_rec qte_rec_type;
7282 BEGIN
7283 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
7284 G_PKG_NAME,
7285 p_init_msg_list,
7286 l_api_version,
7287 p_api_version,
7288 '_PVT',
7289 x_return_status);
7290 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
7291 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
7292 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
7293 RAISE OKC_API.G_EXCEPTION_ERROR;
7294 END IF;
7295 --------------------------------------
7296 -- Move VIEW record to "Child" records
7297 --------------------------------------
7298 migrate(l_qtev_rec, l_okl_trx_quotes_tl_rec);
7299 migrate(l_qtev_rec, l_qte_rec);
7300 --------------------------------------------
7301 -- Call the DELETE_ROW for each child record
7302 --------------------------------------------
7303 delete_row(
7304 p_init_msg_list,
7305 x_return_status,
7306 x_msg_count,
7307 x_msg_data,
7308 l_okl_trx_quotes_tl_rec
7309 );
7310 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
7311 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
7312 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
7313 RAISE OKC_API.G_EXCEPTION_ERROR;
7314 END IF;
7315 delete_row(
7316 p_init_msg_list,
7317 x_return_status,
7318 x_msg_count,
7319 x_msg_data,
7320 l_qte_rec
7321 );
7322 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
7323 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
7324 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
7325 RAISE OKC_API.G_EXCEPTION_ERROR;
7326 END IF;
7327 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
7328 EXCEPTION
7329 WHEN OKC_API.G_EXCEPTION_ERROR THEN
7330 x_return_status := OKC_API.HANDLE_EXCEPTIONS
7331 (
7332 l_api_name,
7333 G_PKG_NAME,
7334 'OKC_API.G_RET_STS_ERROR',
7335 x_msg_count,
7336 x_msg_data,
7337 '_PVT'
7338 );
7339 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
7340 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
7341 (
7342 l_api_name,
7343 G_PKG_NAME,
7344 'OKC_API.G_RET_STS_UNEXP_ERROR',
7345 x_msg_count,
7346 x_msg_data,
7347 '_PVT'
7348 );
7349 WHEN OTHERS THEN
7350 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
7351 (
7352 l_api_name,
7353 G_PKG_NAME,
7354 'OTHERS',
7355 x_msg_count,
7356 x_msg_data,
7357 '_PVT'
7358 );
7359 END delete_row;
7360 ----------------------------------------
7361 -- PL/SQL TBL delete_row for:QTEV_TBL --
7362 ----------------------------------------
7363 PROCEDURE delete_row(
7364 p_api_version IN NUMBER,
7365 p_init_msg_list IN VARCHAR2,
7366 x_return_status OUT NOCOPY VARCHAR2,
7367 x_msg_count OUT NOCOPY NUMBER,
7368 x_msg_data OUT NOCOPY VARCHAR2,
7369 p_qtev_tbl IN qtev_tbl_type) IS
7370
7371 l_api_version CONSTANT NUMBER := 1;
7372 l_api_name CONSTANT VARCHAR2(30) := 'V_tbl_delete_row';
7373 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
7374 i NUMBER := 0;
7375
7376 -- Begin Post-Generation Change
7377 -- overall error status
7378 l_overall_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
7379 -- End Post-Generation Change
7380 BEGIN
7381 OKC_API.init_msg_list(p_init_msg_list);
7382 -- Make sure PL/SQL table has records in it before passing
7383 IF (p_qtev_tbl.COUNT > 0) THEN
7384 i := p_qtev_tbl.FIRST;
7385 LOOP
7386 delete_row (
7387 p_api_version => p_api_version,
7388 p_init_msg_list => OKC_API.G_FALSE,
7389 x_return_status => x_return_status,
7390 x_msg_count => x_msg_count,
7391 x_msg_data => x_msg_data,
7392 p_qtev_rec => p_qtev_tbl(i));
7393 -- Begin Post-Generation Change
7394 -- store the highest degree of error
7395 IF x_return_status <> OKL_API.G_RET_STS_SUCCESS THEN
7396 IF l_overall_status <> OKL_API.G_RET_STS_UNEXP_ERROR THEN
7397 l_overall_status := x_return_status;
7398 END IF;
7399 END IF;
7400 -- End Post-Generation Change
7401 EXIT WHEN (i = p_qtev_tbl.LAST);
7402 i := p_qtev_tbl.NEXT(i);
7403 END LOOP;
7404 -- Begin Post-Generation Change
7405 -- return overall status
7406 x_return_status := l_overall_status;
7407 -- End Post-Generation Change
7408 END IF;
7409 EXCEPTION
7410 WHEN OKC_API.G_EXCEPTION_ERROR THEN
7411 x_return_status := OKC_API.HANDLE_EXCEPTIONS
7412 (
7413 l_api_name,
7414 G_PKG_NAME,
7415 'OKC_API.G_RET_STS_ERROR',
7416 x_msg_count,
7417 x_msg_data,
7418 '_PVT'
7419 );
7420 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
7421 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
7422 (
7423 l_api_name,
7424 G_PKG_NAME,
7425 'OKC_API.G_RET_STS_UNEXP_ERROR',
7426 x_msg_count,
7427 x_msg_data,
7428 '_PVT'
7429 );
7430 WHEN OTHERS THEN
7431 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
7432 (
7433 l_api_name,
7434 G_PKG_NAME,
7435 'OTHERS',
7436 x_msg_count,
7437 x_msg_data,
7438 '_PVT'
7439 );
7440 END delete_row;
7441 END OKL_QTE_PVT;