[Home] [Help]
PACKAGE BODY: APPS.OKL_IPY_PVT
Source
1 PACKAGE BODY OKL_IPY_PVT AS
2 /* $Header: OKLSIPYB.pls 120.12 2007/10/10 11:19:41 zrehman noship $ */
3 ---------------------------------------------------------------------------
4 -- PROCEDURE load_error_tbl
5 ---------------------------------------------------------------------------
6 PROCEDURE load_error_tbl (
7 px_error_rec IN OUT NOCOPY OKL_API.ERROR_REC_TYPE,
8 px_error_tbl IN OUT NOCOPY OKL_API.ERROR_TBL_TYPE) IS
9 j INTEGER := NVL(px_error_tbl.LAST, 0) + 1;
10 last_msg_idx INTEGER := FND_MSG_PUB.COUNT_MSG;
11 l_msg_idx INTEGER := FND_MSG_PUB.G_NEXT;
12 BEGIN
13 -- FND_MSG_PUB has a small error in it. If we call FND_MSG_PUB.COUNT_AND_GET before
14 -- we call FND_MSG_PUB.GET, the variable FND_MSG_PUB uses to control the index of the
15 -- message stack gets set to 1. This makes sense until we call FND_MSG_PUB.GET which
16 -- automatically increments the index by 1, (making it 2), however, when the GET function
17 -- attempts to pull message 2, we get a NO_DATA_FOUND exception because there isn't any
18 -- message 2. To circumvent this problem, check the amount of messages and compensate.
19 -- Again, this error only occurs when 1 message is on the stack because COUNT_AND_GET
20 -- will only update the index variable when 1 and only 1 message is on the stack.
21 IF (last_msg_idx = 1) THEN
22 l_msg_idx := FND_MSG_PUB.G_FIRST;
23 END IF;
24 LOOP
25 fnd_msg_pub.get(
26 p_msg_index => l_msg_idx,
27 p_encoded => fnd_api.g_false,
28 p_data => px_error_rec.msg_data,
29 p_msg_index_out => px_error_rec.msg_count);
30 px_error_tbl(j) := px_error_rec;
31 j := j + 1;
32 EXIT WHEN (px_error_rec.msg_count = last_msg_idx);
33 END LOOP;
34 END load_error_tbl;
35 ---------------------------------------------------------------------------
36 -- FUNCTION find_highest_exception
37 ---------------------------------------------------------------------------
38 -- Finds the highest exception (G_RET_STS_UNEXP_ERROR)
39 -- in a OKL_API.ERROR_TBL_TYPE, and returns it.
40 FUNCTION find_highest_exception(
41 p_error_tbl IN OKL_API.ERROR_TBL_TYPE
42 ) RETURN VARCHAR2 IS
43 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
44 i INTEGER := 1;
45 BEGIN
46 IF (p_error_tbl.COUNT > 0) THEN
47 i := p_error_tbl.FIRST;
48 LOOP
49 IF (p_error_tbl(i).error_type <> OKC_API.G_RET_STS_SUCCESS) THEN
50 IF (l_return_status <> OKC_API.G_RET_STS_UNEXP_ERROR) THEN
51 l_return_status := p_error_tbl(i).error_type;
52 END IF;
53 END IF;
54 EXIT WHEN (i = p_error_tbl.LAST);
55 i := p_error_tbl.NEXT(i);
56 END LOOP;
57 END IF;
58 RETURN(l_return_status);
59 END find_highest_exception;
60 ---------------------------------------------------------------------------
61 -- FUNCTION get_seq_id
62 ---------------------------------------------------------------------------
63 FUNCTION get_seq_id RETURN NUMBER IS
64 BEGIN
65 RETURN(okc_p_util.raw_to_number(sys_guid()));
66 END get_seq_id;
67 ---------------------------------------------------------------------------
68 -- PROCEDURE qc
69 ---------------------------------------------------------------------------
70 PROCEDURE qc IS
71 BEGIN
72 null;
73 END qc;
74 ---------------------------------------------------------------------------
75 -- PROCEDURE change_version
76 ---------------------------------------------------------------------------
77 PROCEDURE change_version IS
78 BEGIN
79 null;
80 END change_version;
81 ---------------------------------------------------------------------------
82 -- PROCEDURE api_copy
83 ---------------------------------------------------------------------------
84 PROCEDURE api_copy IS
85 BEGIN
86 null;
87 END api_copy;
88 ---------------------------------------------------------------------------
89 -- PROCEDURE add_language
90 ---------------------------------------------------------------------------
91 PROCEDURE add_language IS
92 BEGIN
93 DELETE FROM OKL_INS_POLICIES_TL T
94 WHERE NOT EXISTS (
95 SELECT NULL
96 FROM OKL_INS_POLICIES_ALL_B B
97 WHERE B.ID =T.ID
98 );
99 UPDATE OKL_INS_POLICIES_TL T SET(
100 DESCRIPTION,
101 ENDORSEMENT,
102 COMMENTS,
103 CANCELLATION_COMMENT) = (SELECT
104 B.DESCRIPTION,
105 B.ENDORSEMENT,
106 B.COMMENTS,
107 B.CANCELLATION_COMMENT
108 FROM OKL_INS_POLICIES_TL B
109 WHERE B.ID = T.ID
110 AND B.LANGUAGE = T.SOURCE_LANG)
111 WHERE ( T.ID, T.LANGUAGE)
112 IN (SELECT
113 SUBT.ID
114 ,SUBT.LANGUAGE
115 FROM OKL_INS_POLICIES_TL SUBB, OKL_INS_POLICIES_TL SUBT
116 WHERE SUBB.ID = SUBT.ID
117 AND SUBB.LANGUAGE = SUBT.LANGUAGE
118 AND (SUBB.DESCRIPTION <> SUBT.DESCRIPTION
119 OR SUBB.ENDORSEMENT <> SUBT.ENDORSEMENT
120 OR SUBB.COMMENTS <> SUBT.COMMENTS
121 OR SUBB.CANCELLATION_COMMENT <> SUBT.CANCELLATION_COMMENT
122 OR (SUBB.LANGUAGE IS NOT NULL AND SUBT.LANGUAGE IS NULL)
123 OR (SUBB.DESCRIPTION IS NULL AND SUBT.DESCRIPTION IS NOT NULL)
124 OR (SUBB.ENDORSEMENT IS NULL AND SUBT.ENDORSEMENT IS NOT NULL)
125 OR (SUBB.COMMENTS IS NULL AND SUBT.COMMENTS IS NOT NULL)
126 OR (SUBB.CANCELLATION_COMMENT IS NULL AND SUBT.CANCELLATION_COMMENT IS NOT NULL)
127 ));
128 INSERT INTO OKL_INS_POLICIES_TL (
129 ID,
130 LANGUAGE,
131 SOURCE_LANG,
132 SFWT_FLAG,
133 DESCRIPTION,
134 ENDORSEMENT,
135 COMMENTS,
136 CANCELLATION_COMMENT,
137 CREATED_BY,
138 CREATION_DATE,
139 LAST_UPDATED_BY,
140 LAST_UPDATE_DATE,
141 LAST_UPDATE_LOGIN)
142 SELECT
143 B.ID,
144 L.LANGUAGE_CODE,
145 B.SOURCE_LANG,
146 B.SFWT_FLAG,
147 B.DESCRIPTION,
148 B.ENDORSEMENT,
149 B.COMMENTS,
150 B.CANCELLATION_COMMENT,
151 B.CREATED_BY,
152 B.CREATION_DATE,
153 B.LAST_UPDATED_BY,
154 B.LAST_UPDATE_DATE,
155 B.LAST_UPDATE_LOGIN
156 FROM OKL_INS_POLICIES_TL B, FND_LANGUAGES L
157 WHERE L.INSTALLED_FLAG IN ('I', 'B')
158 AND B.LANGUAGE = USERENV('LANG')
159 AND NOT EXISTS (
160 SELECT NULL
161 FROM OKL_INS_POLICIES_TL T
162 WHERE T.ID = B.ID
163 AND T.LANGUAGE = L.LANGUAGE_CODE
164 );
165 END add_language;
166
167 ---------------------------------------------------------------------------
168 -- PROCEDURE Validate_Duplicates
169 ---------------------------------------------------------------------------
170 PROCEDURE validate_thirdparty_duplicates(
171 p_ipyv_rec IN ipyv_rec_type,
172 x_return_status OUT NOCOPY VARCHAR2) IS
173 l_return_status VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
174 l_dummy_var VARCHAR2(1) := '?';
175 CURSOR l_ipyv_csr IS
176 SELECT 'x'
177 FROM okl_ins_policies_v
178 WHERE ipy_type = 'THIRD_PARTY_POLICY'
179 AND ipy_type = p_ipyv_rec.ipy_type
180 AND policy_number = p_ipyv_rec.policy_number
181 AND ID <> p_ipyv_rec.id
182 AND ISU_ID = p_ipyv_rec.isu_id;
183 BEGIN
184 OPEN l_ipyv_csr;
185 FETCH l_ipyv_csr INTO l_dummy_var;
186 CLOSE l_ipyv_csr;
187 -- if l_dummy_var is still set to default, data was not found
188 IF (l_dummy_var = 'x') THEN
189 OKC_API.set_message(p_app_name => G_APP_NAME,
190 p_msg_name => 'OKL_UNIQUE'
191 );
192 l_return_status := Okc_Api.G_RET_STS_ERROR;
193 END IF;
194 x_return_status := l_return_status;
195 EXCEPTION
196 WHEN OTHERS THEN
197 -- store SQL error message on message stack for caller
198 Okc_Api.set_message(G_APP_NAME, G_UNEXPECTED_ERROR,G_SQLCODE_TOKEN,SQLCODE,G_SQLERRM_TOKEN,SQLERRM);
199 -- notify caller of an UNEXPECTED error
200 x_return_status := Okc_Api.G_RET_STS_UNEXP_ERROR;
201 END validate_thirdparty_duplicates;
202
203
204 ---------------------------------------------------------------------------
205 -- FUNCTION get_rec for: OKL_INS_POLICIES_V
206 ---------------------------------------------------------------------------
207 FUNCTION get_rec (
208 p_ipyv_rec IN ipyv_rec_type,
209 x_no_data_found OUT NOCOPY BOOLEAN
210 ) RETURN ipyv_rec_type IS
211 CURSOR okl_ipyv_pk_csr (p_id IN NUMBER) IS
212 SELECT
213 ID,
214 IPY_TYPE,
215 DESCRIPTION,
216 ENDORSEMENT,
217 SFWT_FLAG,
218 CANCELLATION_COMMENT,
219 COMMENTS,
220 NAME_OF_INSURED,
221 POLICY_NUMBER,
222 CALCULATED_PREMIUM,
223 PREMIUM,
224 COVERED_AMOUNT,
225 DEDUCTIBLE,
226 ADJUSTMENT,
227 PAYMENT_FREQUENCY,
228 CRX_CODE,
229 IPF_CODE,
230 ISS_CODE,
231 IPE_CODE,
232 DATE_TO,
233 DATE_FROM,
234 DATE_QUOTED,
235 DATE_PROOF_PROVIDED,
236 DATE_PROOF_REQUIRED,
237 CANCELLATION_DATE,
238 DATE_QUOTE_EXPIRY,
239 ACTIVATION_DATE,
240 QUOTE_YN,
241 ON_FILE_YN,
242 PRIVATE_LABEL_YN,
243 AGENT_YN,
244 LESSOR_INSURED_YN,
245 LESSOR_PAYEE_YN,
246 KHR_ID,
247 KLE_ID,
248 IPT_ID,
249 IPY_ID,
250 INT_ID,
251 ISU_ID,
252 INSURANCE_FACTOR,
253 FACTOR_CODE,
254 FACTOR_VALUE,
255 AGENCY_NUMBER,
256 AGENCY_SITE_ID,
257 SALES_REP_ID,
258 AGENT_SITE_ID,
259 ADJUSTED_BY_ID,
260 TERRITORY_CODE,
261 ATTRIBUTE_CATEGORY,
262 ATTRIBUTE1,
263 ATTRIBUTE2,
264 ATTRIBUTE3,
265 ATTRIBUTE4,
266 ATTRIBUTE5,
267 ATTRIBUTE6,
268 ATTRIBUTE7,
269 ATTRIBUTE8,
270 ATTRIBUTE9,
271 ATTRIBUTE10,
272 ATTRIBUTE11,
273 ATTRIBUTE12,
274 ATTRIBUTE13,
275 ATTRIBUTE14,
276 ATTRIBUTE15,
277 PROGRAM_ID,
278 ORG_ID,
279 PROGRAM_UPDATE_DATE,
280 PROGRAM_APPLICATION_ID,
281 REQUEST_ID,
282 OBJECT_VERSION_NUMBER,
283 CREATED_BY,
284 CREATION_DATE,
285 LAST_UPDATED_BY,
286 LAST_UPDATE_DATE,
287 LAST_UPDATE_LOGIN,
288 -- Bug: 4567777 PAGARG new column for Lease Application Functionality impact
289 LEASE_APPLICATION_ID,
290 LEGAL_ENTITY_ID
291 FROM Okl_Ins_Policies_V
292 WHERE okl_ins_policies_v.id = p_id;
293 l_okl_ipyv_pk okl_ipyv_pk_csr%ROWTYPE;
294 l_ipyv_rec ipyv_rec_type;
295 BEGIN
296 x_no_data_found := TRUE;
297 -- Get current database values
298 OPEN okl_ipyv_pk_csr (p_ipyv_rec.id);
299 FETCH okl_ipyv_pk_csr INTO
300 l_ipyv_rec.id,
301 l_ipyv_rec.ipy_type,
302 l_ipyv_rec.description,
303 l_ipyv_rec.endorsement,
304 l_ipyv_rec.sfwt_flag,
305 l_ipyv_rec.cancellation_comment,
306 l_ipyv_rec.comments,
307 l_ipyv_rec.name_of_insured,
308 l_ipyv_rec.policy_number,
309 l_ipyv_rec.calculated_premium,
310 l_ipyv_rec.premium,
311 l_ipyv_rec.covered_amount,
312 l_ipyv_rec.deductible,
313 l_ipyv_rec.adjustment,
314 l_ipyv_rec.payment_frequency,
315 l_ipyv_rec.crx_code,
316 l_ipyv_rec.ipf_code,
317 l_ipyv_rec.iss_code,
318 l_ipyv_rec.ipe_code,
319 l_ipyv_rec.date_to,
320 l_ipyv_rec.date_from,
321 l_ipyv_rec.date_quoted,
322 l_ipyv_rec.date_proof_provided,
323 l_ipyv_rec.date_proof_required,
324 l_ipyv_rec.cancellation_date,
325 l_ipyv_rec.date_quote_expiry,
326 l_ipyv_rec.activation_date,
327 l_ipyv_rec.quote_yn,
328 l_ipyv_rec.on_file_yn,
329 l_ipyv_rec.private_label_yn,
330 l_ipyv_rec.agent_yn,
331 l_ipyv_rec.lessor_insured_yn,
332 l_ipyv_rec.lessor_payee_yn,
333 l_ipyv_rec.khr_id,
334 l_ipyv_rec.kle_id,
335 l_ipyv_rec.ipt_id,
336 l_ipyv_rec.ipy_id,
337 l_ipyv_rec.int_id,
338 l_ipyv_rec.isu_id,
339 l_ipyv_rec.insurance_factor,
340 l_ipyv_rec.factor_code,
341 l_ipyv_rec.factor_value,
342 l_ipyv_rec.agency_number,
343 l_ipyv_rec.agency_site_id,
344 l_ipyv_rec.sales_rep_id,
345 l_ipyv_rec.agent_site_id,
346 l_ipyv_rec.adjusted_by_id,
347 l_ipyv_rec.territory_code,
348 l_ipyv_rec.attribute_category,
349 l_ipyv_rec.attribute1,
350 l_ipyv_rec.attribute2,
351 l_ipyv_rec.attribute3,
352 l_ipyv_rec.attribute4,
353 l_ipyv_rec.attribute5,
354 l_ipyv_rec.attribute6,
355 l_ipyv_rec.attribute7,
356 l_ipyv_rec.attribute8,
357 l_ipyv_rec.attribute9,
358 l_ipyv_rec.attribute10,
359 l_ipyv_rec.attribute11,
360 l_ipyv_rec.attribute12,
361 l_ipyv_rec.attribute13,
362 l_ipyv_rec.attribute14,
363 l_ipyv_rec.attribute15,
364 l_ipyv_rec.program_id,
365 l_ipyv_rec.org_id,
366 l_ipyv_rec.program_update_date,
367 l_ipyv_rec.program_application_id,
368 l_ipyv_rec.request_id,
369 l_ipyv_rec.object_version_number,
370 l_ipyv_rec.created_by,
371 l_ipyv_rec.creation_date,
372 l_ipyv_rec.last_updated_by,
373 l_ipyv_rec.last_update_date,
374 l_ipyv_rec.last_update_login,
375 -- Bug: 4567777 PAGARG new column for Lease Application Functionality impact
376 l_ipyv_rec.lease_application_id,
377 l_ipyv_rec.legal_entity_id;
378 x_no_data_found := okl_ipyv_pk_csr%NOTFOUND;
379 CLOSE okl_ipyv_pk_csr;
380 RETURN(l_ipyv_rec);
381 END get_rec;
382 ------------------------------------------------------------------
383 -- This version of get_rec sets error messages if no data found --
384 ------------------------------------------------------------------
385 FUNCTION get_rec (
386 p_ipyv_rec IN ipyv_rec_type,
387 x_return_status OUT NOCOPY VARCHAR2
388 ) RETURN ipyv_rec_type IS
389 l_ipyv_rec ipyv_rec_type;
390 l_row_notfound BOOLEAN := TRUE;
391 BEGIN
392 x_return_status := OKC_API.G_RET_STS_SUCCESS;
393 l_ipyv_rec := get_rec(p_ipyv_rec, l_row_notfound);
394 IF (l_row_notfound) THEN
395 OKC_API.set_message(G_APP_NAME,G_INVALID_VALUE,G_COL_NAME_TOKEN,'ID');
396 x_return_status := OKC_API.G_RET_STS_ERROR;
397 END IF;
398 RETURN(l_ipyv_rec);
399 END get_rec;
400 -----------------------------------------------------------
401 -- So we don't have to pass an "l_row_notfound" variable --
402 -----------------------------------------------------------
403 FUNCTION get_rec (
404 p_ipyv_rec IN ipyv_rec_type
405 ) RETURN ipyv_rec_type IS
406 l_row_not_found BOOLEAN := TRUE;
407 BEGIN
408 RETURN(get_rec(p_ipyv_rec, l_row_not_found));
409 END get_rec;
410 ---------------------------------------------------------------------------
411 -- FUNCTION get_rec for: OKL_INS_POLICIES_B
412 ---------------------------------------------------------------------------
413 FUNCTION get_rec (
414 p_ipy_rec IN ipy_rec_type,
415 x_no_data_found OUT NOCOPY BOOLEAN
416 ) RETURN ipy_rec_type IS
417 CURSOR ipy_pk_csr (p_id IN NUMBER) IS
418 SELECT
419 ID,
420 IPY_TYPE,
421 NAME_OF_INSURED,
422 POLICY_NUMBER,
423 INSURANCE_FACTOR,
424 FACTOR_CODE,
425 CALCULATED_PREMIUM,
426 PREMIUM,
427 COVERED_AMOUNT,
428 DEDUCTIBLE,
429 ADJUSTMENT,
430 PAYMENT_FREQUENCY,
431 CRX_CODE,
432 IPF_CODE,
433 ISS_CODE,
434 IPE_CODE,
435 DATE_TO,
436 DATE_FROM,
437 DATE_QUOTED,
438 DATE_PROOF_PROVIDED,
439 DATE_PROOF_REQUIRED,
440 CANCELLATION_DATE,
441 DATE_QUOTE_EXPIRY,
442 ACTIVATION_DATE,
443 QUOTE_YN,
444 ON_FILE_YN,
445 PRIVATE_LABEL_YN,
446 AGENT_YN,
447 LESSOR_INSURED_YN,
448 LESSOR_PAYEE_YN,
449 KHR_ID,
450 KLE_ID,
451 IPT_ID,
452 IPY_ID,
453 INT_ID,
454 ISU_ID,
455 FACTOR_VALUE,
456 AGENCY_NUMBER,
457 AGENCY_SITE_ID,
458 SALES_REP_ID,
459 AGENT_SITE_ID,
460 ADJUSTED_BY_ID,
461 TERRITORY_CODE,
462 ATTRIBUTE_CATEGORY,
463 ATTRIBUTE1,
464 ATTRIBUTE2,
465 ATTRIBUTE3,
466 ATTRIBUTE4,
467 ATTRIBUTE5,
468 ATTRIBUTE6,
469 ATTRIBUTE7,
470 ATTRIBUTE8,
471 ATTRIBUTE9,
472 ATTRIBUTE10,
473 ATTRIBUTE11,
474 ATTRIBUTE12,
475 ATTRIBUTE13,
476 ATTRIBUTE14,
477 ATTRIBUTE15,
478 PROGRAM_ID,
479 ORG_ID,
480 PROGRAM_UPDATE_DATE,
481 PROGRAM_APPLICATION_ID,
482 REQUEST_ID,
483 OBJECT_VERSION_NUMBER,
484 CREATED_BY,
485 CREATION_DATE,
486 LAST_UPDATED_BY,
487 LAST_UPDATE_DATE,
488 LAST_UPDATE_LOGIN,
489 -- Bug: 4567777 PAGARG new column for Lease Application Functionality impact
490 LEASE_APPLICATION_ID,
491 LEGAL_ENTITY_ID
492 FROM Okl_Ins_Policies_B
493 WHERE okl_ins_policies_b.id = p_id;
494 l_ipy_pk ipy_pk_csr%ROWTYPE;
495 l_ipy_rec ipy_rec_type;
496 BEGIN
497 x_no_data_found := TRUE;
498 -- Get current database values
499 OPEN ipy_pk_csr (p_ipy_rec.id);
500 FETCH ipy_pk_csr INTO
501 l_ipy_rec.id,
502 l_ipy_rec.ipy_type,
503 l_ipy_rec.name_of_insured,
504 l_ipy_rec.policy_number,
505 l_ipy_rec.insurance_factor,
506 l_ipy_rec.factor_code,
507 l_ipy_rec.calculated_premium,
508 l_ipy_rec.premium,
509 l_ipy_rec.covered_amount,
510 l_ipy_rec.deductible,
511 l_ipy_rec.adjustment,
512 l_ipy_rec.payment_frequency,
513 l_ipy_rec.crx_code,
514 l_ipy_rec.ipf_code,
515 l_ipy_rec.iss_code,
516 l_ipy_rec.ipe_code,
517 l_ipy_rec.date_to,
518 l_ipy_rec.date_from,
519 l_ipy_rec.date_quoted,
520 l_ipy_rec.date_proof_provided,
521 l_ipy_rec.date_proof_required,
522 l_ipy_rec.cancellation_date,
523 l_ipy_rec.date_quote_expiry,
524 l_ipy_rec.activation_date,
525 l_ipy_rec.quote_yn,
526 l_ipy_rec.on_file_yn,
527 l_ipy_rec.private_label_yn,
528 l_ipy_rec.agent_yn,
529 l_ipy_rec.lessor_insured_yn,
530 l_ipy_rec.lessor_payee_yn,
531 l_ipy_rec.khr_id,
532 l_ipy_rec.kle_id,
533 l_ipy_rec.ipt_id,
534 l_ipy_rec.ipy_id,
535 l_ipy_rec.int_id,
536 l_ipy_rec.isu_id,
537 l_ipy_rec.factor_value,
538 l_ipy_rec.agency_number,
539 l_ipy_rec.agency_site_id,
540 l_ipy_rec.sales_rep_id,
541 l_ipy_rec.agent_site_id,
542 l_ipy_rec.adjusted_by_id,
543 l_ipy_rec.territory_code,
544 l_ipy_rec.attribute_category,
545 l_ipy_rec.attribute1,
546 l_ipy_rec.attribute2,
547 l_ipy_rec.attribute3,
548 l_ipy_rec.attribute4,
549 l_ipy_rec.attribute5,
550 l_ipy_rec.attribute6,
551 l_ipy_rec.attribute7,
552 l_ipy_rec.attribute8,
553 l_ipy_rec.attribute9,
554 l_ipy_rec.attribute10,
555 l_ipy_rec.attribute11,
556 l_ipy_rec.attribute12,
557 l_ipy_rec.attribute13,
558 l_ipy_rec.attribute14,
559 l_ipy_rec.attribute15,
560 l_ipy_rec.program_id,
561 l_ipy_rec.org_id,
562 l_ipy_rec.program_update_date,
563 l_ipy_rec.program_application_id,
564 l_ipy_rec.request_id,
565 l_ipy_rec.object_version_number,
566 l_ipy_rec.created_by,
567 l_ipy_rec.creation_date,
568 l_ipy_rec.last_updated_by,
569 l_ipy_rec.last_update_date,
570 l_ipy_rec.last_update_login,
571 -- Bug: 4567777 PAGARG new column for Lease Application Functionality impact
572 l_ipy_rec.lease_application_id,
573 l_ipy_rec.legal_entity_id;
574 x_no_data_found := ipy_pk_csr%NOTFOUND;
575 CLOSE ipy_pk_csr;
576 RETURN(l_ipy_rec);
577 END get_rec;
578 ------------------------------------------------------------------
579 -- This version of get_rec sets error messages if no data found --
580 ------------------------------------------------------------------
581 FUNCTION get_rec (
582 p_ipy_rec IN ipy_rec_type,
583 x_return_status OUT NOCOPY VARCHAR2
584 ) RETURN ipy_rec_type IS
585 l_ipy_rec ipy_rec_type;
586 l_row_notfound BOOLEAN := TRUE;
587 BEGIN
588 x_return_status := OKC_API.G_RET_STS_SUCCESS;
589 l_ipy_rec := get_rec(p_ipy_rec, l_row_notfound);
590 IF (l_row_notfound) THEN
591 OKC_API.set_message(G_APP_NAME,G_INVALID_VALUE,G_COL_NAME_TOKEN,'ID');
592 x_return_status := OKC_API.G_RET_STS_ERROR;
593 END IF;
594 RETURN(l_ipy_rec);
595 END get_rec;
596 -----------------------------------------------------------
597 -- So we don't have to pass an "l_row_notfound" variable --
598 -----------------------------------------------------------
599 FUNCTION get_rec (
600 p_ipy_rec IN ipy_rec_type
601 ) RETURN ipy_rec_type IS
602 l_row_not_found BOOLEAN := TRUE;
603 BEGIN
604 RETURN(get_rec(p_ipy_rec, l_row_not_found));
605 END get_rec;
606 ---------------------------------------------------------------------------
607 -- FUNCTION get_rec for: OKL_INS_POLICIES_TL
608 ---------------------------------------------------------------------------
609 FUNCTION get_rec (
610 p_okl_ins_policies_tl_rec IN okl_ins_policies_tl_rec_type,
611 x_no_data_found OUT NOCOPY BOOLEAN
612 ) RETURN okl_ins_policies_tl_rec_type IS
613 CURSOR ipy_tl_pk_csr (p_id IN NUMBER) IS
614 SELECT
615 ID,
616 LANGUAGE,
617 SOURCE_LANG,
618 SFWT_FLAG,
619 DESCRIPTION,
620 ENDORSEMENT,
621 COMMENTS,
622 CANCELLATION_COMMENT,
623 CREATED_BY,
624 CREATION_DATE,
625 LAST_UPDATED_BY,
626 LAST_UPDATE_DATE,
627 LAST_UPDATE_LOGIN
628 FROM Okl_Ins_Policies_Tl
629 WHERE okl_ins_policies_tl.id = p_id;
630 l_ipy_tl_pk ipy_tl_pk_csr%ROWTYPE;
631 l_okl_ins_policies_tl_rec okl_ins_policies_tl_rec_type;
632 BEGIN
633 x_no_data_found := TRUE;
634 -- Get current database values
635 OPEN ipy_tl_pk_csr (p_okl_ins_policies_tl_rec.id);
636 FETCH ipy_tl_pk_csr INTO
637 l_okl_ins_policies_tl_rec.id,
638 l_okl_ins_policies_tl_rec.language,
639 l_okl_ins_policies_tl_rec.source_lang,
640 l_okl_ins_policies_tl_rec.sfwt_flag,
641 l_okl_ins_policies_tl_rec.description,
642 l_okl_ins_policies_tl_rec.endorsement,
643 l_okl_ins_policies_tl_rec.comments,
644 l_okl_ins_policies_tl_rec.cancellation_comment,
645 l_okl_ins_policies_tl_rec.created_by,
646 l_okl_ins_policies_tl_rec.creation_date,
647 l_okl_ins_policies_tl_rec.last_updated_by,
648 l_okl_ins_policies_tl_rec.last_update_date,
649 l_okl_ins_policies_tl_rec.last_update_login;
650 x_no_data_found := ipy_tl_pk_csr%NOTFOUND;
651 CLOSE ipy_tl_pk_csr;
652 RETURN(l_okl_ins_policies_tl_rec);
653 END get_rec;
654 ------------------------------------------------------------------
655 -- This version of get_rec sets error messages if no data found --
656 ------------------------------------------------------------------
657 FUNCTION get_rec (
658 p_okl_ins_policies_tl_rec IN okl_ins_policies_tl_rec_type,
659 x_return_status OUT NOCOPY VARCHAR2
660 ) RETURN okl_ins_policies_tl_rec_type IS
661 l_okl_ins_policies_tl_rec okl_ins_policies_tl_rec_type;
662 l_row_notfound BOOLEAN := TRUE;
663 BEGIN
664 x_return_status := OKC_API.G_RET_STS_SUCCESS;
665 l_okl_ins_policies_tl_rec := get_rec(p_okl_ins_policies_tl_rec, l_row_notfound);
666 IF (l_row_notfound) THEN
667 OKC_API.set_message(G_APP_NAME,G_INVALID_VALUE,G_COL_NAME_TOKEN,'ID');
668 x_return_status := OKC_API.G_RET_STS_ERROR;
669 END IF;
670 RETURN(l_okl_ins_policies_tl_rec);
671 END get_rec;
672 -----------------------------------------------------------
673 -- So we don't have to pass an "l_row_notfound" variable --
674 -----------------------------------------------------------
675 FUNCTION get_rec (
676 p_okl_ins_policies_tl_rec IN okl_ins_policies_tl_rec_type
677 ) RETURN okl_ins_policies_tl_rec_type IS
678 l_row_not_found BOOLEAN := TRUE;
679 BEGIN
680 RETURN(get_rec(p_okl_ins_policies_tl_rec, l_row_not_found));
681 END get_rec;
682 ---------------------------------------------------------------------------
683 -- FUNCTION null_out_defaults for: OKL_INS_POLICIES_V
684 ---------------------------------------------------------------------------
685 FUNCTION null_out_defaults (
686 p_ipyv_rec IN ipyv_rec_type
687 ) RETURN ipyv_rec_type IS
688 l_ipyv_rec ipyv_rec_type := p_ipyv_rec;
689 BEGIN
690 IF (l_ipyv_rec.id = OKC_API.G_MISS_NUM ) THEN
691 l_ipyv_rec.id := NULL;
692 END IF;
693 IF (l_ipyv_rec.ipy_type = OKC_API.G_MISS_CHAR ) THEN
694 l_ipyv_rec.ipy_type := NULL;
695 END IF;
696 IF (l_ipyv_rec.description = OKC_API.G_MISS_CHAR ) THEN
697 l_ipyv_rec.description := NULL;
698 END IF;
699 IF (l_ipyv_rec.endorsement = OKC_API.G_MISS_CHAR ) THEN
700 l_ipyv_rec.endorsement := NULL;
701 END IF;
702 IF (l_ipyv_rec.sfwt_flag = OKC_API.G_MISS_CHAR ) THEN
703 l_ipyv_rec.sfwt_flag := NULL;
704 END IF;
705 IF (l_ipyv_rec.cancellation_comment = OKC_API.G_MISS_CHAR ) THEN
706 l_ipyv_rec.cancellation_comment := NULL;
707 END IF;
708 IF (l_ipyv_rec.comments = OKC_API.G_MISS_CHAR ) THEN
709 l_ipyv_rec.comments := NULL;
710 END IF;
711 IF (l_ipyv_rec.name_of_insured = OKC_API.G_MISS_CHAR ) THEN
712 l_ipyv_rec.name_of_insured := NULL;
713 END IF;
714 IF (l_ipyv_rec.policy_number = OKC_API.G_MISS_CHAR ) THEN
715 l_ipyv_rec.policy_number := NULL;
716 END IF;
717 IF (l_ipyv_rec.calculated_premium = OKC_API.G_MISS_NUM ) THEN
718 l_ipyv_rec.calculated_premium := NULL;
719 END IF;
720 IF (l_ipyv_rec.premium = OKC_API.G_MISS_NUM ) THEN
721 l_ipyv_rec.premium := NULL;
722 END IF;
723 IF (l_ipyv_rec.covered_amount = OKC_API.G_MISS_NUM ) THEN
724 l_ipyv_rec.covered_amount := NULL;
725 END IF;
726 IF (l_ipyv_rec.deductible = OKC_API.G_MISS_NUM ) THEN
727 l_ipyv_rec.deductible := NULL;
728 END IF;
729 IF (l_ipyv_rec.adjustment = OKC_API.G_MISS_NUM ) THEN
730 l_ipyv_rec.adjustment := NULL;
731 END IF;
732 IF (l_ipyv_rec.payment_frequency = OKC_API.G_MISS_CHAR ) THEN
733 l_ipyv_rec.payment_frequency := NULL;
734 END IF;
735 IF (l_ipyv_rec.crx_code = OKC_API.G_MISS_CHAR ) THEN
736 l_ipyv_rec.crx_code := NULL;
737 END IF;
738 IF (l_ipyv_rec.ipf_code = OKC_API.G_MISS_CHAR ) THEN
739 l_ipyv_rec.ipf_code := NULL;
740 END IF;
741 IF (l_ipyv_rec.iss_code = OKC_API.G_MISS_CHAR ) THEN
742 l_ipyv_rec.iss_code := NULL;
743 END IF;
744 IF (l_ipyv_rec.ipe_code = OKC_API.G_MISS_CHAR ) THEN
745 l_ipyv_rec.ipe_code := NULL;
746 END IF;
747 IF (l_ipyv_rec.date_to = OKC_API.G_MISS_DATE ) THEN
748 l_ipyv_rec.date_to := NULL;
749 END IF;
750 IF (l_ipyv_rec.date_from = OKC_API.G_MISS_DATE ) THEN
751 l_ipyv_rec.date_from := NULL;
752 END IF;
753 IF (l_ipyv_rec.date_quoted = OKC_API.G_MISS_DATE ) THEN
754 l_ipyv_rec.date_quoted := NULL;
755 END IF;
756 IF (l_ipyv_rec.date_proof_provided = OKC_API.G_MISS_DATE ) THEN
757 l_ipyv_rec.date_proof_provided := NULL;
758 END IF;
759 IF (l_ipyv_rec.date_proof_required = OKC_API.G_MISS_DATE ) THEN
760 l_ipyv_rec.date_proof_required := NULL;
761 END IF;
762 IF (l_ipyv_rec.cancellation_date = OKC_API.G_MISS_DATE ) THEN
763 l_ipyv_rec.cancellation_date := NULL;
764 END IF;
765 IF (l_ipyv_rec.date_quote_expiry = OKC_API.G_MISS_DATE ) THEN
766 l_ipyv_rec.date_quote_expiry := NULL;
767 END IF;
768 IF (l_ipyv_rec.activation_date = OKC_API.G_MISS_DATE ) THEN
769 l_ipyv_rec.activation_date := NULL;
770 END IF;
771 IF (l_ipyv_rec.quote_yn = OKC_API.G_MISS_CHAR ) THEN
772 l_ipyv_rec.quote_yn := NULL;
773 END IF;
774 IF (l_ipyv_rec.on_file_yn = OKC_API.G_MISS_CHAR ) THEN
775 l_ipyv_rec.on_file_yn := NULL;
776 END IF;
777 IF (l_ipyv_rec.private_label_yn = OKC_API.G_MISS_CHAR ) THEN
778 l_ipyv_rec.private_label_yn := NULL;
779 END IF;
780 IF (l_ipyv_rec.agent_yn = OKC_API.G_MISS_CHAR ) THEN
781 l_ipyv_rec.agent_yn := NULL;
782 END IF;
783 IF (l_ipyv_rec.lessor_insured_yn = OKC_API.G_MISS_CHAR ) THEN
784 l_ipyv_rec.lessor_insured_yn := NULL;
785 END IF;
786 IF (l_ipyv_rec.lessor_payee_yn = OKC_API.G_MISS_CHAR ) THEN
787 l_ipyv_rec.lessor_payee_yn := NULL;
788 END IF;
789 IF (l_ipyv_rec.khr_id = OKC_API.G_MISS_NUM ) THEN
790 l_ipyv_rec.khr_id := NULL;
791 END IF;
792 IF (l_ipyv_rec.kle_id = OKC_API.G_MISS_NUM ) THEN
793 l_ipyv_rec.kle_id := NULL;
794 END IF;
795 IF (l_ipyv_rec.ipt_id = OKC_API.G_MISS_NUM ) THEN
796 l_ipyv_rec.ipt_id := NULL;
797 END IF;
798 IF (l_ipyv_rec.ipy_id = OKC_API.G_MISS_NUM ) THEN
799 l_ipyv_rec.ipy_id := NULL;
800 END IF;
801 IF (l_ipyv_rec.int_id = OKC_API.G_MISS_NUM ) THEN
802 l_ipyv_rec.int_id := NULL;
803 END IF;
804 IF (l_ipyv_rec.isu_id = OKC_API.G_MISS_NUM ) THEN
805 l_ipyv_rec.isu_id := NULL;
806 END IF;
807 IF (l_ipyv_rec.insurance_factor = OKC_API.G_MISS_CHAR ) THEN
808 l_ipyv_rec.insurance_factor := NULL;
809 END IF;
810 IF (l_ipyv_rec.factor_code = OKC_API.G_MISS_CHAR) THEN
811 l_ipyv_rec.factor_code := NULL;
812 END IF;
813 IF (l_ipyv_rec.factor_value = OKC_API.G_MISS_NUM ) THEN
814 l_ipyv_rec.factor_value := NULL;
815 END IF;
816 IF (l_ipyv_rec.agency_number = OKC_API.G_MISS_CHAR ) THEN
817 l_ipyv_rec.agency_number := NULL;
818 END IF;
819 IF (l_ipyv_rec.agency_site_id = OKC_API.G_MISS_NUM ) THEN
820 l_ipyv_rec.agency_site_id := NULL;
821 END IF;
822 IF (l_ipyv_rec.sales_rep_id = OKC_API.G_MISS_NUM ) THEN
823 l_ipyv_rec.sales_rep_id := NULL;
824 END IF;
825 IF (l_ipyv_rec.agent_site_id = OKC_API.G_MISS_NUM ) THEN
826 l_ipyv_rec.agent_site_id := NULL;
827 END IF;
828 IF (l_ipyv_rec.adjusted_by_id = OKC_API.G_MISS_NUM ) THEN
829 l_ipyv_rec.adjusted_by_id := NULL;
830 END IF;
831 IF (l_ipyv_rec.territory_code = OKC_API.G_MISS_CHAR ) THEN
832 l_ipyv_rec.territory_code := NULL;
833 END IF;
834 IF (l_ipyv_rec.attribute_category = OKC_API.G_MISS_CHAR ) THEN
835 l_ipyv_rec.attribute_category := NULL;
836 END IF;
837 IF (l_ipyv_rec.attribute1 = OKC_API.G_MISS_CHAR ) THEN
838 l_ipyv_rec.attribute1 := NULL;
839 END IF;
840 IF (l_ipyv_rec.attribute2 = OKC_API.G_MISS_CHAR ) THEN
841 l_ipyv_rec.attribute2 := NULL;
842 END IF;
843 IF (l_ipyv_rec.attribute3 = OKC_API.G_MISS_CHAR ) THEN
844 l_ipyv_rec.attribute3 := NULL;
845 END IF;
846 IF (l_ipyv_rec.attribute4 = OKC_API.G_MISS_CHAR ) THEN
847 l_ipyv_rec.attribute4 := NULL;
848 END IF;
849 IF (l_ipyv_rec.attribute5 = OKC_API.G_MISS_CHAR ) THEN
850 l_ipyv_rec.attribute5 := NULL;
851 END IF;
852 IF (l_ipyv_rec.attribute6 = OKC_API.G_MISS_CHAR ) THEN
853 l_ipyv_rec.attribute6 := NULL;
854 END IF;
855 IF (l_ipyv_rec.attribute7 = OKC_API.G_MISS_CHAR ) THEN
856 l_ipyv_rec.attribute7 := NULL;
857 END IF;
858 IF (l_ipyv_rec.attribute8 = OKC_API.G_MISS_CHAR ) THEN
859 l_ipyv_rec.attribute8 := NULL;
860 END IF;
861 IF (l_ipyv_rec.attribute9 = OKC_API.G_MISS_CHAR ) THEN
862 l_ipyv_rec.attribute9 := NULL;
863 END IF;
864 IF (l_ipyv_rec.attribute10 = OKC_API.G_MISS_CHAR ) THEN
865 l_ipyv_rec.attribute10 := NULL;
866 END IF;
867 IF (l_ipyv_rec.attribute11 = OKC_API.G_MISS_CHAR ) THEN
868 l_ipyv_rec.attribute11 := NULL;
869 END IF;
870 IF (l_ipyv_rec.attribute12 = OKC_API.G_MISS_CHAR ) THEN
871 l_ipyv_rec.attribute12 := NULL;
872 END IF;
873 IF (l_ipyv_rec.attribute13 = OKC_API.G_MISS_CHAR ) THEN
874 l_ipyv_rec.attribute13 := NULL;
875 END IF;
876 IF (l_ipyv_rec.attribute14 = OKC_API.G_MISS_CHAR ) THEN
877 l_ipyv_rec.attribute14 := NULL;
878 END IF;
879 IF (l_ipyv_rec.attribute15 = OKC_API.G_MISS_CHAR ) THEN
880 l_ipyv_rec.attribute15 := NULL;
881 END IF;
882 IF (l_ipyv_rec.object_version_number = OKC_API.G_MISS_NUM ) THEN
883 l_ipyv_rec.object_version_number := NULL;
884 END IF;
885 IF (l_ipyv_rec.created_by = OKC_API.G_MISS_NUM ) THEN
886 l_ipyv_rec.created_by := NULL;
887 END IF;
888 IF (l_ipyv_rec.creation_date = OKC_API.G_MISS_DATE ) THEN
889 l_ipyv_rec.creation_date := NULL;
890 END IF;
891 IF (l_ipyv_rec.last_updated_by = OKC_API.G_MISS_NUM ) THEN
892 l_ipyv_rec.last_updated_by := NULL;
893 END IF;
894 IF (l_ipyv_rec.last_update_date = OKC_API.G_MISS_DATE ) THEN
895 l_ipyv_rec.last_update_date := NULL;
896 END IF;
897 IF (l_ipyv_rec.last_update_login = OKC_API.G_MISS_NUM ) THEN
898 l_ipyv_rec.last_update_login := NULL;
899 END IF;
900 -- Bug: 4567777 PAGARG new column for Lease Application Functionality impact
901 IF (l_ipyv_rec.lease_application_id = OKC_API.G_MISS_NUM ) THEN
902 l_ipyv_rec.lease_application_id := NULL;
903 END IF;
904 IF (l_ipyv_rec.legal_entity_id = OKC_API.G_MISS_NUM ) THEN
905 l_ipyv_rec.legal_entity_id := NULL;
906 END IF;
907 RETURN(l_ipyv_rec);
908 RETURN(l_ipyv_rec);
909 END null_out_defaults;
910 ---------------------------------------------------------------------------
911 -- PROCEDURE Validate_Attributes
912 ---------------------------------------------------------------------------
913 ---------------------------------------------
914 -- Validate_Attributes for: ID --
915 ---------------------------------------------
916 PROCEDURE validate_id (p_ipyv_rec IN ipyv_rec_type, x_return_status OUT NOCOPY VARCHAR2 ) IS
917 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
918 BEGIN
919 -- initialize return status
920 x_return_status := OKC_API.G_RET_STS_SUCCESS;
921 -- data is required
922 IF ( ( p_ipyv_rec.id IS NULL) OR (p_ipyv_rec.id = OKC_API.G_MISS_NUM)) THEN
923 OKC_API.set_message(G_APP_NAME, 'OKL_REQUIRED_VALUE',G_COL_NAME_TOKEN,'ID');
924 -- notify caller of an error
925 x_return_status := OKC_API.G_RET_STS_ERROR;
926 END IF;
927 EXCEPTION
928 WHEN OTHERS THEN
929 -- store SQL error message on message stack for caller
930 OKC_API.set_message(G_APP_NAME, G_UNEXPECTED_ERROR,G_SQLCODE_TOKEN,SQLCODE, G_SQLERRM_TOKEN, SQLERRM);
931 -- notify caller of an UNEXPECTED error
932 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
933 END validate_id ;
934 -- End validate_id
935 ---------------------------------------------------------------------------
936 -- PROCEDURE validate_legal_entity_id
937 ---------------------------------------------------------------------------
938 PROCEDURE validate_legal_entity_id (p_ipyv_rec IN ipyv_rec_type, x_return_status OUT NOCOPY VARCHAR2) IS
939 l_exists NUMBER(1);
940 le_not_found_error EXCEPTION;
941 BEGIN
942 x_return_status := Okl_Api.G_RET_STS_SUCCESS;
943 IF (p_ipyv_rec.legal_entity_id IS NOT NULL) THEN
944 l_exists := OKL_LEGAL_ENTITY_UTIL.check_le_id_exists(p_ipyv_rec.legal_entity_id);
945 IF(l_exists <> 1) THEN
946 Okc_Api.set_message(G_APP_NAME, G_INVALID_VALUE,G_COL_NAME_TOKEN,'LEGAL_ENTITY_ID');
947 RAISE le_not_found_error;
948 END IF;
949 END IF;
950 EXCEPTION
951 WHEN le_not_found_error THEN
952 x_return_status := OKC_API.G_RET_STS_ERROR;
953 WHEN OTHERS THEN
954 -- store SQL error message on message stack for caller
955 OKC_API.set_message(G_APP_NAME, G_UNEXPECTED_ERROR,G_SQLCODE_TOKEN,SQLCODE, G_SQLERRM_TOKEN, SQLERRM);
956 -- notify caller of an UNEXPECTED error
957 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
958 END validate_legal_entity_id;
959 ---------------------------------------------
960 -- Validate_Attributes for: OBJECT_VERSION_NUMBER --
961 ---------------------------------------------
962 PROCEDURE validate_object_version_number ( p_ipyv_rec IN ipyv_rec_type, x_return_status OUT NOCOPY VARCHAR2) IS
963 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
964 BEGIN
965 -- initialize return status
966 x_return_status := OKC_API.G_RET_STS_SUCCESS;
967 -- data is required
968 IF ( ( p_ipyv_rec.object_version_number IS NULL) OR (p_ipyv_rec.object_version_number = OKC_API.G_MISS_NUM)) THEN
969 OKC_API.set_message(G_APP_NAME, 'OKL_REQUIRED_VALUE',G_COL_NAME_TOKEN,'Object Version Number');
970 -- notify caller of an error
971 x_return_status := OKC_API.G_RET_STS_ERROR;
972 END IF;
973 EXCEPTION
974 WHEN OTHERS THEN
975 -- store SQL error message on message stack for caller
976 OKC_API.set_message(G_APP_NAME, G_UNEXPECTED_ERROR,G_SQLCODE_TOKEN,SQLCODE, G_SQLERRM_TOKEN, SQLERRM);
977 -- notify caller of an UNEXPECTED error
978 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
979 END validate_object_version_number ;
980 -- End validate_object_version_number
981 ---------------------------------------------
982 -- Validate_Attributes for: SFWT_FLAG --
983 ---------------------------------------------
984 PROCEDURE validate_sfwt_flag ( p_ipyv_rec IN ipyv_rec_type, x_return_status OUT NOCOPY VARCHAR2) IS
985 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
986 BEGIN
987 -- initialize return status
988 x_return_status := OKC_API.G_RET_STS_SUCCESS;
989 -- data is required
990 IF ( ( p_ipyv_rec.sfwt_flag IS NULL) OR (p_ipyv_rec.sfwt_flag = OKC_API.G_MISS_CHAR)) THEN
991 OKC_API.set_message(G_APP_NAME, 'OKL_REQUIRED_VALUE',G_COL_NAME_TOKEN,'Sfwt Flag');
992 -- notify caller of an error
993 x_return_status := OKC_API.G_RET_STS_ERROR;
994 END IF;
995 EXCEPTION
996 WHEN OTHERS THEN
997 -- store SQL error message on message stack for caller
998 OKC_API.set_message(G_APP_NAME, G_UNEXPECTED_ERROR,G_SQLCODE_TOKEN,SQLCODE, G_SQLERRM_TOKEN, SQLERRM);
999 -- notify caller of an UNEXPECTED error
1000 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1001 END validate_sfwt_flag ;
1002 -- End validate_sfwt_flag
1003 ---------------------------------------------
1004 -- Validate_Attributes for: TERRITORY_CODE --
1005 ---------------------------------------------
1006 PROCEDURE validate_territory_code( p_ipyv_rec IN ipyv_rec_type, x_return_status OUT NOCOPY VARCHAR2) IS
1007 l_dummy_var VARCHAR2(1) :='?';
1008 l_return_status VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
1009 -- select the ID of the parent record from the parent table
1010 CURSOR l_terr_csr IS
1011 SELECT 'x'
1012 FROM FND_TERRITORIES_VL
1013 WHERE territory_code = p_ipyv_rec.territory_code;
1014 BEGIN
1015 --data is required
1016 IF (p_ipyv_rec.territory_code = OKC_API.G_MISS_CHAR) THEN
1017 OKC_API.set_message(G_APP_NAME, 'OKL_REQUIRED_VALUE',G_COL_NAME_TOKEN,'Territory Code');
1018 -- Notify caller of an error
1019 l_return_status := Okc_Api.G_RET_STS_ERROR;
1020 x_return_status := l_return_status;
1021 END IF;
1022 -- enforce foreign key
1023 OPEN l_terr_csr ;
1024 FETCH l_terr_csr INTO l_dummy_var ;
1025 CLOSE l_terr_csr ;
1026 -- if l_dummy_var is still set to default ,data was not found
1027 IF (l_dummy_var ='?') THEN
1028 OKC_API.set_message(G_APP_NAME,G_NO_PARENT_RECORD,G_COL_NAME_TOKEN,'Territory Code',g_child_table_token,'OKL_INS_POLICIES_V',g_parent_table_token,'FND_TERRITORIES_VL');
1029 --notify caller of an error
1030 x_return_status := OKC_API.G_RET_STS_ERROR;
1031 END IF;
1032 EXCEPTION
1033 WHEN OTHERS THEN
1034 -- store SQL error message on message stack for caller
1035 Okc_Api.set_message(G_APP_NAME, G_UNEXPECTED_ERROR,G_SQLCODE_TOKEN,SQLCODE,G_SQLERRM_TOKEN,SQLERRM);
1036 -- Notify the caller of an unexpected error
1037 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1038 -- Verify that cursor was closed
1039 IF l_terr_csr%ISOPEN THEN
1040 CLOSE l_terr_csr;
1041 END IF;
1042 END validate_territory_code;
1043 ---------------------------------------------
1044 -- Validate_Attributes for: IPF_CODE --
1045 ---------------------------------------------
1046 PROCEDURE validate_ipf_code ( p_ipyv_rec IN ipyv_rec_type, x_return_status OUT NOCOPY VARCHAR2) IS
1047 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1048 l_dummy_var VARCHAR2(1) := '?' ;
1049 l_system_date DATE := SYSDATE ;
1050 CURSOR l_ipf_csr IS
1051 SELECT 'x'
1052 FROM FND_LOOKUPS
1053 WHERE LOOKUP_code = p_ipyv_rec.ipf_code
1054 AND LOOKUP_TYPE = G_FND_LOOKUP_PAYMENT_FREQ
1055 AND l_system_date BETWEEN NVL(start_date_active,l_system_date)
1056 AND NVL(end_date_active,l_system_date);
1057 BEGIN
1058 -- initialize return status
1059 x_return_status := OKC_API.G_RET_STS_SUCCESS;
1060 -- data is required
1061 IF (p_ipyv_rec.ipf_code = OKC_API.G_MISS_CHAR) THEN
1062 OKC_API.set_message(G_APP_NAME, 'OKL_REQUIRED_VALUE',G_COL_NAME_TOKEN,'Payment Frequency');
1063 -- notify caller of an error
1064 x_return_status := OKC_API.G_RET_STS_ERROR;
1065 ELSE
1066 -- enforce foreign key
1067 OPEN l_ipf_csr ;
1068 FETCH l_ipf_csr INTO l_dummy_var ;
1069 CLOSE l_ipf_csr ;
1070 -- still set to default means data was not found
1071 IF ( l_dummy_var = '?' ) THEN
1072 OKC_API.set_message(g_app_name,
1073 G_NO_PARENT_RECORD,
1074 g_col_name_token,
1075 'Payment Frequency',
1076 g_child_table_token ,
1077 'OKL_INS_POLICIES_V' ,
1078 g_parent_table_token ,
1079 'FND_LOOKUPS');
1080 x_return_status := OKC_API.G_RET_STS_ERROR;
1081 END IF;
1082 END IF;
1083 EXCEPTION
1084 WHEN OTHERS THEN
1085 -- store SQL error message on message stack for caller
1086 OKC_API.set_message(G_APP_NAME, G_UNEXPECTED_ERROR,G_SQLCODE_TOKEN,SQLCODE, G_SQLERRM_TOKEN, SQLERRM);
1087 -- notify caller of an UNEXPECTED error
1088 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1089 -- verify that cursor was closed
1090 IF l_ipf_csr%ISOPEN THEN
1091 CLOSE l_ipf_csr;
1092 END IF;
1093 END validate_ipf_code ;
1094 -- End validate_ipf_code
1095 ---------------------------------------------
1096 -- Validate_Attributes for: AGENT_SITE_ID --
1097 ---------------------------------------------
1098 PROCEDURE validate_agent_site_id ( p_ipyv_rec IN ipyv_rec_type, x_return_status OUT NOCOPY VARCHAR2) IS
1099 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1100 l_dummy_var VARCHAR2(1) := '?' ;
1101 --foriegn check for agent site id
1102 CURSOR l_agnt_csr IS
1103 SELECT 'x'
1104 FROM OKL_INS_PARTYSITES_V
1105 WHERE site_id = p_ipyv_rec.agent_site_id ;
1106 BEGIN
1107 -- initialize return status
1108 x_return_status := OKC_API.G_RET_STS_SUCCESS;
1109 IF ( p_ipyv_rec.agent_site_id = OKC_API.G_MISS_NUM) THEN
1110 OKC_API.set_message(G_APP_NAME, 'OKL_REQUIRED_VALUE',G_COL_NAME_TOKEN,'Agent Address');
1111 -- notify caller of an error
1112 x_return_status := OKC_API.G_RET_STS_ERROR;
1113 ELSE
1114 -- smoduga added as part of LLA calling create third party
1115 IF ( p_ipyv_rec.agent_site_id IS NOT NULL) THEN
1116 --
1117 -- enforce foreign key
1118 OPEN l_agnt_csr ;
1119 FETCH l_agnt_csr INTO l_dummy_var ;
1120 CLOSE l_agnt_csr ;
1121 -- still set to default means data was not found
1122 IF ( l_dummy_var = '?' ) THEN
1123 OKC_API.set_message(g_app_name,
1124 g_no_parent_record,
1125 g_col_name_token,
1126 'Agent Address',
1127 g_child_table_token ,
1128 'OKL_INS_POLICIES_V' ,
1129 g_parent_table_token ,
1130 'OKL_INS_PARTYSITES_V');
1131 x_return_status := OKC_API.G_RET_STS_ERROR;
1132 END IF;
1133 END IF;
1134 END IF;
1135 EXCEPTION
1136 WHEN OTHERS THEN
1137 -- store SQL error message on message stack for caller
1138 OKC_API.set_message(G_APP_NAME, G_UNEXPECTED_ERROR,G_SQLCODE_TOKEN,SQLCODE, G_SQLERRM_TOKEN, SQLERRM);
1139 -- notify caller of an UNEXPECTED error
1140 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1141 -- verify that cursor was closed
1142 IF l_agnt_csr%ISOPEN THEN
1143 CLOSE l_agnt_csr;
1144 END IF;
1145 END validate_agent_site_id ;
1146 ---------------------------------------------
1147 -- Validate_Attributes for: AGENCY_SITE_ID --
1148 ---------------------------------------------
1149 PROCEDURE validate_agency_site_id ( p_ipyv_rec IN ipyv_rec_type, x_return_status OUT NOCOPY VARCHAR2) IS
1150 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1151 l_dummy_var VARCHAR2(1) := '?' ;
1152 -- "WARNING : Cannot implement until OKX View OKX_xxxxxx_V defined"
1153 CURSOR l_agncy_csr IS
1154 SELECT 'x'
1155 FROM OKL_INS_PARTYSITES_V
1156 WHERE SITE_ID = p_ipyv_rec.agency_site_id
1157 AND PARTY_ID = p_ipyv_rec.isu_id;
1158 BEGIN
1159 -- initialize return status
1160 x_return_status := OKC_API.G_RET_STS_SUCCESS;
1161 -- data is required
1162 IF ( ( p_ipyv_rec.agency_site_id IS NULL) OR (p_ipyv_rec.agency_site_id = OKC_API.G_MISS_NUM)) THEN
1163 OKC_API.set_message(G_APP_NAME, 'OKL_REQUIRED_VALUE',G_COL_NAME_TOKEN,'Agency Address');
1164 -- notify caller of an error
1165 x_return_status := OKC_API.G_RET_STS_ERROR;
1166 ELSE
1167 -- enforce foreign key
1168 -- "WARNING : Cannot implement until OKX View OKX_xxxxxx_V defined"
1169 OPEN l_agncy_csr ;
1170 FETCH l_agncy_csr INTO l_dummy_var ;
1171 CLOSE l_agncy_csr ;
1172 -- still set to default means data was not found
1173 IF ( l_dummy_var = '?' ) THEN
1174 OKC_API.set_message(g_app_name,
1175 g_no_parent_record,
1176 g_col_name_token,
1177 'Agency Address',
1178 g_child_table_token ,
1179 'OKL_INS_POLICIES_V' ,
1180 g_parent_table_token ,
1181 'OKL_INS_PARTYSITES_V');
1182 x_return_status := OKC_API.G_RET_STS_ERROR;
1183 END IF;
1184 END IF;
1185 EXCEPTION
1186 WHEN OTHERS THEN
1187 -- store SQL error message on message stack for caller
1188 OKC_API.set_message(G_APP_NAME, G_UNEXPECTED_ERROR,G_SQLCODE_TOKEN,SQLCODE, G_SQLERRM_TOKEN, SQLERRM);
1189 -- notify caller of an UNEXPECTED error
1190 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1191 -- verify that cursor was closed
1192 IF l_agncy_csr%ISOPEN THEN
1193 CLOSE l_agncy_csr;
1194 END IF;
1195 END validate_agency_site_id ;
1196 -- End validate_agency_site_id
1197 ---------------------------------------------
1198 -- Validate_Attributes for: INT_ID --
1199 ---------------------------------------------
1200 PROCEDURE validate_int_id ( p_ipyv_rec IN ipyv_rec_type, x_return_status OUT NOCOPY VARCHAR2) IS
1201 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1202 l_dummy_var VARCHAR2(1) := '?' ;
1203 CURSOR l_int_csr IS
1204 SELECT 'x' --Bug:3825159
1205 FROM HZ_PARTIES PRT
1206 WHERE PRT.CATEGORY_CODE = 'INSURANCE_AGENT'
1207 AND PRT.party_id = p_ipyv_rec.int_id ;
1208 BEGIN
1209 -- initialize return status
1210 x_return_status := OKC_API.G_RET_STS_SUCCESS;
1211 IF ( p_ipyv_rec.int_id = OKC_API.G_MISS_NUM) THEN
1212 OKC_API.set_message(G_APP_NAME, 'OKL_REQUIRED_VALUE',G_COL_NAME_TOKEN,'Insurance Agent');
1213 -- notify caller of an error
1214 x_return_status := OKC_API.G_RET_STS_ERROR;
1215 ELSE
1216 -- smoduga added as part of LLA calling create third party
1217 IF ( p_ipyv_rec.int_id IS NOT NULL ) THEN
1218 --
1219 -- enforce foreign key
1220 OPEN l_int_csr ;
1221 FETCH l_int_csr INTO l_dummy_var ;
1222 CLOSE l_int_csr ;
1223 -- still set to default means data was not found
1224 IF ( l_dummy_var = '?' ) THEN
1225 OKC_API.set_message(g_app_name,
1226 g_no_parent_record,
1227 g_col_name_token,
1228 'Insurance Agent',
1229 g_child_table_token ,
1230 'OKL_INS_POLICIES_V' ,
1231 g_parent_table_token ,
1232 'HZ_PARTIES'); --Bug:3825159
1233 x_return_status := OKC_API.G_RET_STS_ERROR;
1234 END IF;
1235 END IF;
1236 END IF;
1237 EXCEPTION
1238 WHEN OTHERS THEN
1239 -- store SQL error message on message stack for caller
1240 OKC_API.set_message(G_APP_NAME, G_UNEXPECTED_ERROR,G_SQLCODE_TOKEN,SQLCODE, G_SQLERRM_TOKEN, SQLERRM);
1241 -- notify caller of an UNEXPECTED error
1242 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1243 -- verify that cursor was closed
1244 IF l_int_csr%ISOPEN THEN
1245 CLOSE l_int_csr;
1246 END IF;
1247 END validate_int_id ;
1248 -- End validate_int_id
1249 ---------------------------------------------
1250 -- Validate_Attributes for: ISU_ID --
1251 ---------------------------------------------
1252 PROCEDURE validate_isu_id ( p_ipyv_rec IN ipyv_rec_type, x_return_status OUT NOCOPY VARCHAR2) IS
1253 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1254 l_dummy_var VARCHAR2(1) := '?' ;
1255 -- "WARNING : Cannot implement until OKX View OKX_xxxxxx_V defined"
1256 CURSOR l_isu_csr IS
1257 SELECT 'x' --Bug:3825159
1258 FROM HZ_PARTIES PRT
1259 WHERE PRT.CATEGORY_CODE = 'INSURER'
1260 AND PRT.PARTY_ID = p_ipyv_rec.isu_id ;
1261 CURSOR l_isu_csr1 IS
1262 SELECT 'x'
1263 FROM OKX_INS_PROVIDER_V
1264 WHERE PARTY_ID = p_ipyv_rec.isu_id ;
1265 BEGIN
1266 -- initialize return status
1267 x_return_status := OKC_API.G_RET_STS_SUCCESS;
1268 -- data is required
1269 IF ( ( p_ipyv_rec.isu_id IS NULL) OR (p_ipyv_rec.isu_id = OKC_API.G_MISS_NUM)) THEN
1270 OKC_API.set_message(G_APP_NAME, 'OKL_REQUIRED_VALUE',G_COL_NAME_TOKEN,'Insurance Provider');
1271 -- notify caller of an error
1272 x_return_status := OKC_API.G_RET_STS_ERROR;
1273 ELSE
1274 -- enforce foreign key
1275 -- "WARNING : Cannot implement until OKX View OKX_xxxxxx_V defined"
1276 OPEN l_isu_csr ;
1277 FETCH l_isu_csr INTO l_dummy_var ;
1278 IF l_isu_csr%NOTFOUND THEN
1279 OPEN l_isu_csr1 ;
1280 FETCH l_isu_csr1 INTO l_dummy_var ;
1281 CLOSE l_isu_csr1 ;
1282 END IF;
1283 CLOSE l_isu_csr ;
1284 -- still set to default means data was not found
1285 IF ( l_dummy_var = '?' ) THEN
1286 OKC_API.set_message(g_app_name,
1287 g_no_parent_record,
1288 g_col_name_token,
1289 'Insurance Provider',
1290 g_child_table_token ,
1291 'OKL_INS_POLICIES_V' ,
1292 g_parent_table_token ,
1293 'HZ_PARTIES'); --Bug:3825159
1294 x_return_status := OKC_API.G_RET_STS_ERROR;
1295 END IF;
1296 END IF;
1297 EXCEPTION
1298 WHEN OTHERS THEN
1299 -- store SQL error message on message stack for caller
1300 OKC_API.set_message(G_APP_NAME, G_UNEXPECTED_ERROR,G_SQLCODE_TOKEN,SQLCODE, G_SQLERRM_TOKEN, SQLERRM);
1301 -- notify caller of an UNEXPECTED error
1302 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1303 -- verify that cursor was closed
1304 IF l_isu_csr%ISOPEN THEN
1305 CLOSE l_isu_csr;
1306 END IF;
1307 -- verify that cursor was closed
1308 IF l_isu_csr1%ISOPEN THEN
1309 CLOSE l_isu_csr1;
1310 END IF;
1311 END validate_isu_id ;
1312 -- End validate_isu_code
1313 ---------------------------------------------
1314 -- Validate_Attributes for: IPT_ID --
1315 ---------------------------------------------
1316 PROCEDURE validate_ipt_id ( p_ipyv_rec IN ipyv_rec_type, x_return_status OUT NOCOPY VARCHAR2) IS
1317 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1318 l_dummy_var VARCHAR2(1) := '?' ;
1319 CURSOR l_ipt_csr IS
1320 SELECT 'x'
1321 FROM OKL_INS_PRODUCTS_V
1322 WHERE ID = p_ipyv_rec.ipt_id ;
1323 BEGIN
1324 -- initialize return status
1325 x_return_status := OKC_API.G_RET_STS_SUCCESS;
1326 -- data is required
1327 IF ( ( p_ipyv_rec.ipt_id IS NULL) OR (p_ipyv_rec.ipt_id = OKC_API.G_MISS_NUM)) THEN
1328 OKC_API.set_message(G_APP_NAME, 'OKL_REQUIRED_VALUE',G_COL_NAME_TOKEN,'Insurance Product');
1329 -- notify caller of an error
1330 x_return_status := OKC_API.G_RET_STS_ERROR;
1331 ELSE
1332 -- enforce foreign key
1333 OPEN l_ipt_csr ;
1334 FETCH l_ipt_csr INTO l_dummy_var ;
1335 CLOSE l_ipt_csr ;
1336 -- still set to default means data was not found
1337 IF ( l_dummy_var = '?' ) THEN
1338 OKC_API.set_message(g_app_name,
1339 g_no_parent_record,
1340 g_col_name_token,
1341 'Insurance Product',
1342 g_child_table_token ,
1343 'OKL_INS_POLICIES_V' ,
1344 g_parent_table_token ,
1345 'OKL_INS_PRODUCTS_V');
1346 x_return_status := OKC_API.G_RET_STS_ERROR;
1347 END IF;
1348 END IF;
1349 EXCEPTION
1350 WHEN OTHERS THEN
1351 -- store SQL error message on message stack for caller
1352 OKC_API.set_message(G_APP_NAME, G_UNEXPECTED_ERROR,G_SQLCODE_TOKEN,SQLCODE, G_SQLERRM_TOKEN, SQLERRM);
1353 -- notify caller of an UNEXPECTED error
1354 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1355 -- verify that cursor was closed
1356 IF l_ipt_csr%ISOPEN THEN
1357 CLOSE l_ipt_csr;
1358 END IF;
1359 END validate_ipt_id ;
1360 -- End validate_ipt_code
1361 ---------------------------------------------
1362 -- Validate_Attributes for: IPY_ID --
1363 ---------------------------------------------
1364 PROCEDURE validate_ipy_id ( p_ipyv_rec IN ipyv_rec_type, x_return_status OUT NOCOPY VARCHAR2) IS
1365 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1366 l_dummy_var VARCHAR2(1) := '?' ;
1367 CURSOR l_ipy_csr IS
1368 SELECT 'x'
1369 FROM OKL_INS_POLICIES_V
1370 WHERE id = p_ipyv_rec.ipy_id ;
1371 BEGIN
1372 -- initialize return status
1373 x_return_status := OKC_API.G_RET_STS_SUCCESS;
1374 IF ( ( p_ipyv_rec.ipy_id IS NOT NULL) OR (p_ipyv_rec.ipy_id <> OKC_API.G_MISS_NUM)) THEN
1375 -- enforce foreign key
1376 OPEN l_ipy_csr ;
1377 FETCH l_ipy_csr INTO l_dummy_var ;
1378 CLOSE l_ipy_csr ;
1379 -- still set to default means data was not found
1380 IF ( l_dummy_var = '?' ) THEN
1381 OKC_API.set_message(g_app_name,
1382 g_no_parent_record,
1383 g_col_name_token,
1384 'Policy Number',
1385 g_child_table_token ,
1386 'OKL_INS_POLICIES_V' ,
1387 g_parent_table_token ,
1388 'OKL_INS_POLICIES_V');
1389 x_return_status := OKC_API.G_RET_STS_ERROR;
1390 END IF;
1391 END IF;
1392 EXCEPTION
1393 WHEN OTHERS THEN
1394 -- store SQL error message on message stack for caller
1395 OKC_API.set_message(G_APP_NAME, G_UNEXPECTED_ERROR,G_SQLCODE_TOKEN,SQLCODE, G_SQLERRM_TOKEN, SQLERRM);
1396 -- notify caller of an UNEXPECTED error
1397 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1398 -- verify that cursor was closed
1399 IF l_ipy_csr%ISOPEN THEN
1400 CLOSE l_ipy_csr;
1401 END IF;
1402 END validate_ipy_id ;
1403 -- End validate_ipy_id
1404 ---------------------------------------------
1405 -- Validate_Attributes for: IPE_CODE --
1406 ---------------------------------------------
1407 PROCEDURE validate_ipe_code ( p_ipyv_rec IN ipyv_rec_type, x_return_status OUT NOCOPY VARCHAR2) IS
1408 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1409 l_dummy_var VARCHAR2(1) := '?' ;
1410 l_system_date DATE := SYSDATE ;
1411 CURSOR l_ipe_csr IS
1412 SELECT 'x'
1413 FROM FND_LOOKUPS
1414 WHERE LOOKUP_CODE = p_ipyv_rec.ipe_code
1415 AND LOOKUP_TYPE = G_FND_LOOKUP_INS_POLICY_TYPE
1416 AND l_system_date BETWEEN NVL(start_date_active,l_system_date)
1417 AND NVL(end_date_active,l_system_date);
1418 BEGIN
1419 -- initialize return status
1420 x_return_status := OKC_API.G_RET_STS_SUCCESS;
1421 -- data is required
1422 IF ( ( p_ipyv_rec.ipe_code IS NULL) OR (p_ipyv_rec.ipe_code = OKC_API.G_MISS_CHAR)) THEN
1423 OKC_API.set_message(G_APP_NAME, 'OKL_REQUIRED_VALUE',G_COL_NAME_TOKEN,'Policy Type');
1424 -- notify caller of an error
1425 x_return_status := OKC_API.G_RET_STS_ERROR;
1426 ELSE
1427 -- enforce foreign key
1428 OPEN l_ipe_csr ;
1429 FETCH l_ipe_csr INTO l_dummy_var ;
1430 CLOSE l_ipe_csr ;
1431 -- still set to default means data was not found
1432 IF ( l_dummy_var = '?' ) THEN
1433 OKC_API.set_message(g_app_name,
1434 g_no_parent_record,
1435 g_col_name_token,
1436 'Policy Type',
1437 g_child_table_token ,
1438 'OKL_INS_POLICIES_V' ,
1439 g_parent_table_token ,
1440 'FND_LOOKUPS');
1441 x_return_status := OKC_API.G_RET_STS_ERROR;
1442 END IF;
1443 END IF;
1444 EXCEPTION
1445 WHEN OTHERS THEN
1446 -- store SQL error message on message stack for caller
1447 OKC_API.set_message(G_APP_NAME, G_UNEXPECTED_ERROR,G_SQLCODE_TOKEN,SQLCODE, G_SQLERRM_TOKEN, SQLERRM);
1448 -- notify caller of an UNEXPECTED error
1449 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1450 -- verify that cursor was closed
1451 IF l_ipe_csr%ISOPEN THEN
1452 CLOSE l_ipe_csr;
1453 END IF;
1454 END validate_ipe_code ;
1455 -- End validate_ipe_code
1456 ---------------------------------------------
1457 -- Validate_Attributes for: CRX_CODE --
1458 ---------------------------------------------
1459 PROCEDURE validate_crx_code ( p_ipyv_rec IN ipyv_rec_type, x_return_status OUT NOCOPY VARCHAR2) IS
1460 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1461 l_dummy_var VARCHAR2(1) := '?' ;
1462 l_system_date DATE := SYSDATE ;
1463 CURSOR l_crx_csr IS
1464 SELECT 'x'
1465 FROM FND_LOOKUPS
1466 WHERE LOOKUP_CODE = p_ipyv_rec.crx_code
1467 AND LOOKUP_TYPE = G_FND_LOOKUP_INS_CANCEL_REASON
1468 AND l_system_date BETWEEN NVL(start_date_active,l_system_date)
1469 AND NVL(end_date_active,l_system_date);
1470 BEGIN
1471 -- initialize return status
1472 x_return_status := OKC_API.G_RET_STS_SUCCESS;
1473 IF ( ( p_ipyv_rec.crx_code IS NOT NULL) OR (p_ipyv_rec.crx_code <> OKC_API.G_MISS_CHAR)) THEN
1474 -- enforce foreign key
1475 OPEN l_crx_csr ;
1476 FETCH l_crx_csr INTO l_dummy_var ;
1477 CLOSE l_crx_csr ;
1478 -- still set to default means data was not found
1479 IF ( l_dummy_var = '?' ) THEN
1480 OKC_API.set_message(g_app_name,
1481 g_no_parent_record,
1482 g_col_name_token,
1483 'Cancellation Reason',
1484 g_child_table_token ,
1485 'OKL_INS_POLICIES_V' ,
1486 g_parent_table_token ,
1487 'FND_LOOKUPS');
1488 x_return_status := OKC_API.G_RET_STS_ERROR;
1489 END IF;
1490 END IF;
1491 EXCEPTION
1492 WHEN OTHERS THEN
1493 -- store SQL error message on message stack for caller
1494 OKC_API.set_message(G_APP_NAME, G_UNEXPECTED_ERROR,G_SQLCODE_TOKEN,SQLCODE, G_SQLERRM_TOKEN, SQLERRM);
1495 -- notify caller of an UNEXPECTED error
1496 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1497 -- verify that cursor was closed
1498 IF l_crx_csr%ISOPEN THEN
1499 CLOSE l_crx_csr;
1500 END IF;
1501 END validate_crx_code;
1502 -- End validate_crx_code
1503 ---------------------------------------------
1504 -- Validate_Attributes for: ISS_CODE --
1505 ---------------------------------------------
1506 PROCEDURE validate_iss_code ( p_ipyv_rec IN ipyv_rec_type, x_return_status OUT NOCOPY VARCHAR2) IS
1507 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1508 l_dummy_var VARCHAR2(1) := '?' ;
1509 l_system_date DATE := SYSDATE ;
1510 CURSOR l_iss_csr IS
1511 SELECT 'x'
1512 FROM FND_LOOKUPS
1513 WHERE LOOKUP_code = p_ipyv_rec.iss_code
1514 AND LOOKUP_TYPE = G_FND_LOOKUP_INS_STATUS
1515 AND l_system_date BETWEEN NVL(start_date_active,l_system_date)
1516 AND NVL(end_date_active,l_system_date);
1517 BEGIN
1518 -- initialize return status
1519 x_return_status := OKC_API.G_RET_STS_SUCCESS;
1520 -- data is required
1521 IF ( ( p_ipyv_rec.iss_code IS NULL) OR (p_ipyv_rec.iss_code = OKC_API.G_MISS_CHAR)) THEN
1522 OKC_API.set_message(G_APP_NAME, 'OKL_REQUIRED_VALUE',G_COL_NAME_TOKEN,'Status');
1523 -- notify caller of an error
1524 x_return_status := OKC_API.G_RET_STS_ERROR;
1525 ELSE
1526 -- enforce foreign key
1527 OPEN l_iss_csr ;
1528 FETCH l_iss_csr INTO l_dummy_var ;
1529 CLOSE l_iss_csr ;
1530 -- still set to default means data was not found
1531 IF ( l_dummy_var = '?' ) THEN
1532 OKC_API.set_message(g_app_name,
1533 g_no_parent_record,
1534 g_col_name_token,
1535 'Status',
1536 g_child_table_token ,
1537 'OKL_INS_POLICIES_V' ,
1538 g_parent_table_token ,
1539 'FND_LOOKUPS');
1540 x_return_status := OKC_API.G_RET_STS_ERROR;
1541 END IF;
1542 END IF;
1543 EXCEPTION
1544 WHEN OTHERS THEN
1545 -- store SQL error message on message stack for caller
1546 OKC_API.set_message(G_APP_NAME, G_UNEXPECTED_ERROR,G_SQLCODE_TOKEN,SQLCODE, G_SQLERRM_TOKEN, SQLERRM);
1547 -- notify caller of an UNEXPECTED error
1548 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1549 -- verify that cursor was closed
1550 IF l_iss_csr%ISOPEN THEN
1551 CLOSE l_iss_csr;
1552 END IF;
1553 END validate_iss_code ;
1554 -- End validate_iss_code
1555 ---------------------------------------------
1556 -- Validate_Attributes for: KLE_ID --
1557 ---------------------------------------------
1558 PROCEDURE validate_kle_id ( p_ipyv_rec IN ipyv_rec_type, x_return_status OUT NOCOPY VARCHAR2) IS
1559 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1560 l_dummy_var VARCHAR2(1) := '?' ;
1561 CURSOR l_kle_csr IS
1562 SELECT 'x'
1563 FROM OKL_K_LINES_V
1564 WHERE id = p_ipyv_rec.kle_id ;
1565 BEGIN
1566 -- initialize return status
1567 x_return_status := OKC_API.G_RET_STS_SUCCESS;
1568 IF (p_ipyv_rec.kle_id = OKC_API.G_MISS_NUM) THEN
1569 OKC_API.set_message(G_APP_NAME, 'OKL_REQUIRED_VALUE',
1570 G_COL_NAME_TOKEN,'Contract Line ID');
1571 -- notify caller of an error
1572 x_return_status := OKC_API.G_RET_STS_ERROR;
1573 ELSE
1574 -- enforce foreign key
1575 OPEN l_kle_csr ;
1576 FETCH l_kle_csr INTO l_dummy_var ;
1577 CLOSE l_kle_csr ;
1578 -- still set to default means data was not found
1579 IF ( l_dummy_var = '?' ) THEN
1580 OKC_API.set_message(g_app_name,
1581 g_no_parent_record,
1582 g_col_name_token,
1583 'Contract Line ID',
1584 g_child_table_token ,
1585 'OKL_INS_POLICIES_V' ,
1586 g_parent_table_token ,
1587 'OKL_K_LINES_V');
1588 x_return_status := OKC_API.G_RET_STS_ERROR;
1589 END IF;
1590 END IF;
1591 EXCEPTION
1592 WHEN OTHERS THEN
1593 -- store SQL error message on message stack for caller
1594 OKC_API.set_message(G_APP_NAME, G_UNEXPECTED_ERROR,G_SQLCODE_TOKEN,SQLCODE, G_SQLERRM_TOKEN, SQLERRM);
1595 -- notify caller of an UNEXPECTED error
1596 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1597 -- verify that cursor was closed
1598 IF l_kle_csr%ISOPEN THEN
1599 CLOSE l_kle_csr;
1600 END IF;
1601 END validate_kle_id ;
1602 -- End validate_kle_id
1603 ---------------------------------------------
1604 -- Validate_Attributes for: KHR_ID --
1605 ---------------------------------------------
1606 PROCEDURE validate_khr_id ( p_ipyv_rec IN ipyv_rec_type, x_return_status OUT NOCOPY VARCHAR2) IS
1607 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1608 l_dummy_var VARCHAR2(1) := '?' ;
1609 CURSOR l_khr_csr IS
1610 SELECT 'x'
1611 FROM OKL_K_HEADERS_V
1612 WHERE id = p_ipyv_rec.khr_id ;
1613 BEGIN
1614 -- initialize return status
1615 x_return_status := OKC_API.G_RET_STS_SUCCESS;
1616 IF ( ( p_ipyv_rec.khr_id IS NULL) OR (p_ipyv_rec.khr_id = OKC_API.G_MISS_NUM)) THEN
1617 OKC_API.set_message(G_APP_NAME, 'OKL_REQUIRED_VALUE',G_COL_NAME_TOKEN,'Contract Id');
1618 -- notify caller of an error
1619 x_return_status := OKC_API.G_RET_STS_ERROR;
1620 ELSE
1621 --IF ( ( p_ipyv_rec.khr_id IS NOT NULL) OR (p_ipyv_rec.khr_id <> OKC_API.G_MISS_NUM)) THEN
1622 -- enforce foreign key
1623 OPEN l_khr_csr ;
1624 FETCH l_khr_csr INTO l_dummy_var ;
1625 CLOSE l_khr_csr ;
1626 -- still set to default means data was not found
1627 IF ( l_dummy_var = '?' ) THEN
1628 OKC_API.set_message(g_app_name,
1629 g_no_parent_record,
1630 g_col_name_token,
1631 'Contract Id',
1632 g_child_table_token ,
1633 'OKL_INS_POLICIES_V' ,
1634 g_parent_table_token ,
1635 'OKL_K_HEADERS_V');
1636 x_return_status := OKC_API.G_RET_STS_ERROR;
1637 END IF;
1638 END IF;
1639 EXCEPTION
1640 WHEN OTHERS THEN
1641 -- store SQL error message on message stack for caller
1642 OKC_API.set_message(G_APP_NAME, G_UNEXPECTED_ERROR,G_SQLCODE_TOKEN,SQLCODE, G_SQLERRM_TOKEN, SQLERRM);
1643 -- notify caller of an UNEXPECTED error
1644 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1645 -- verify that cursor was closed
1646 IF l_khr_csr%ISOPEN THEN
1647 CLOSE l_khr_csr;
1648 END IF;
1649 END validate_khr_id ;
1650 -- Bug: 4567777 PAGARG new column for Lease Application Functionality impact
1651 ---------------------------------------------
1652 -- Validate_Attributes for: LEASE_APPLICATION_ID --
1653 ---------------------------------------------
1654 PROCEDURE validate_lease_application_id ( p_ipyv_rec IN ipyv_rec_type, x_return_status OUT NOCOPY VARCHAR2) IS
1655 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1656 l_dummy_var VARCHAR2(1) := '?' ;
1657 CURSOR l_lease_application_csr IS
1658 SELECT 'x'
1659 FROM OKL_LEASE_APPLICATIONS_V
1660 WHERE id = p_ipyv_rec.lease_application_id ;
1661 BEGIN
1662 -- initialize return status
1663 x_return_status := OKC_API.G_RET_STS_SUCCESS;
1664 IF (p_ipyv_rec.lease_application_id = OKC_API.G_MISS_NUM) THEN
1665 OKC_API.set_message(G_APP_NAME, 'OKL_REQUIRED_VALUE',G_COL_NAME_TOKEN,'lease application Id');
1666 -- notify caller of an error
1667 x_return_status := OKC_API.G_RET_STS_ERROR;
1668 ELSE
1669 -- enforce foreign key
1670 OPEN l_lease_application_csr ;
1671 FETCH l_lease_application_csr INTO l_dummy_var ;
1672 CLOSE l_lease_application_csr ;
1673 -- still set to default means data was not found
1674 IF ( l_dummy_var = '?' ) THEN
1675 OKC_API.set_message(g_app_name,
1676 g_no_parent_record,
1677 g_col_name_token,
1678 'Contract Id',
1679 g_child_table_token ,
1680 'OKL_INS_POLICIES_V' ,
1681 g_parent_table_token ,
1682 'OKL_LEASE_APPLICATIONS_V');
1683 x_return_status := OKC_API.G_RET_STS_ERROR;
1684 END IF;
1685 END IF;
1686 EXCEPTION
1687 WHEN OTHERS THEN
1688 -- store SQL error message on message stack for caller
1689 OKC_API.set_message(G_APP_NAME, G_UNEXPECTED_ERROR,G_SQLCODE_TOKEN,SQLCODE, G_SQLERRM_TOKEN, SQLERRM);
1690 -- notify caller of an UNEXPECTED error
1691 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1692 -- verify that cursor was closed
1693 IF l_lease_application_csr%ISOPEN THEN
1694 CLOSE l_lease_application_csr;
1695 END IF;
1696 END validate_lease_application_id ;
1697 -- End validate_lease_applications_id
1698 ---------------------------------------------
1699 -- Validate_Attributes for: IPY_TYPE --
1700 ---------------------------------------------
1701 PROCEDURE validate_ipy_type ( p_ipyv_rec IN ipyv_rec_type, x_return_status OUT NOCOPY VARCHAR2) IS
1702 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1703 l_dummy_var VARCHAR2(1) := '?' ;
1704 l_system_date DATE := SYSDATE ;
1705 CURSOR l_ipy_csr IS
1706 SELECT 'x'
1707 FROM FND_LOOKUPS
1708 WHERE LOOKUP_code = p_ipyv_rec.ipy_type
1709 AND LOOKUP_TYPE = G_FND_LOOKUP_POLICY_TYPE;
1710 BEGIN
1711 -- initialize return status
1712 x_return_status := OKC_API.G_RET_STS_SUCCESS;
1713 -- data is required
1714 IF ( ( p_ipyv_rec.ipy_type IS NULL) OR (p_ipyv_rec.ipy_type = OKC_API.G_MISS_CHAR)) THEN
1715 -- halt validation as it is a optional field
1716 --RAISE G_EXCEPTION_STOP_VALIDATION;
1717 OKC_API.set_message(G_APP_NAME, 'OKL_REQUIRED_VALUE',G_COL_NAME_TOKEN,'Policy Type');
1718 -- notify caller of an error
1719 x_return_status := OKC_API.G_RET_STS_ERROR;
1720 END IF;
1721 --ELSE
1722 -- enforce foreign key
1723 OPEN l_ipy_csr ;
1724 FETCH l_ipy_csr INTO l_dummy_var ;
1725 CLOSE l_ipy_csr ;
1726 -- still set to default means data was not found
1727 IF ( l_dummy_var = '?' ) THEN
1728 -- halt validation as it has no parent record
1729 RAISE G_EXCEPTION_HALT_VALIDATION;
1730 x_return_status := OKC_API.G_RET_STS_ERROR;
1731 END IF;
1732 --END IF;
1733 EXCEPTION
1734 --WHEN G_EXCEPTION_STOP_VALIDATION then
1735 -- We are here since the field is not optional
1736 --OKC_API.set_message(G_APP_NAME, 'OKL_REQUIRED_VALUE',G_COL_NAME_TOKEN,'Policy Type');
1737 WHEN G_EXCEPTION_HALT_VALIDATION then
1738 -- We are here b'cause we have no parent record
1739 -- store SQL error message on message stack
1740 OKC_API.set_message(g_app_name,
1741 g_no_parent_record,
1742 g_col_name_token,
1743 'Policy Type',
1744 g_child_table_token ,
1745 'OKL_INS_POLICIES_V' ,
1746 g_parent_table_token ,
1747 'FND_LOOKUPS');
1748 WHEN OTHERS THEN
1749 -- store SQL error message on message stack for caller
1750 OKC_API.set_message(G_APP_NAME, G_UNEXPECTED_ERROR,G_SQLCODE_TOKEN,SQLCODE, G_SQLERRM_TOKEN, SQLERRM);
1751 -- notify caller of an UNEXPECTED error
1752 --x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1753 -- verify that cursor was closed
1754 IF l_ipy_csr%ISOPEN THEN
1755 CLOSE l_ipy_csr;
1756 END IF;
1757 -- notify caller of an error as UNEXPETED error
1758 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1759 END validate_ipy_type ;
1760 -- End validate_ipy_type
1761 ---------------------------------------------
1762 -- Validate_Attributes for: POLICY_NUMBER --
1763 ---------------------------------------------
1764 PROCEDURE validate_policy_number ( p_ipyv_rec IN ipyv_rec_type, x_return_status OUT NOCOPY VARCHAR2) IS
1765 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1766 BEGIN
1767 -- initialize return status
1768 x_return_status := OKC_API.G_RET_STS_SUCCESS;
1769 -- data is required
1770 IF ( ( p_ipyv_rec.policy_number IS NULL) OR (p_ipyv_rec.policy_number = OKC_API.G_MISS_CHAR)) THEN
1771 OKC_API.set_message(G_APP_NAME, 'OKL_REQUIRED_VALUE',
1772 G_COL_NAME_TOKEN,'Policy Number');
1773 -- notify caller of an error
1774 x_return_status := OKC_API.G_RET_STS_ERROR;
1775 END IF;
1776 EXCEPTION
1777 WHEN OTHERS THEN
1778 -- store SQL error message on message stack for caller
1779 OKC_API.set_message(G_APP_NAME, G_UNEXPECTED_ERROR,G_SQLCODE_TOKEN,SQLCODE, G_SQLERRM_TOKEN, SQLERRM);
1780 -- notify caller of an UNEXPECTED error
1781 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1782 END validate_policy_number ;
1783 -- End validate_policy_number
1784 -- Start of Comments
1785 --
1786 -- Procedure Name : validate_endorsement
1787 -- Description : It validates for null value for endorsement
1788 -- Business Rules :
1789 -- Parameter :
1790 -- Version : 1.0
1791 -- End of comments
1792 PROCEDURE validate_endorsement ( p_ipyv_rec IN ipyv_rec_type, x_return_status OUT NOCOPY VARCHAR2) IS
1793 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1794 BEGIN
1795 -- initialize return status
1796 x_return_status := OKC_API.G_RET_STS_SUCCESS;
1797 -- data is required
1798 IF ( ( p_ipyv_rec.endorsement IS NULL) OR (p_ipyv_rec.endorsement = OKC_API.G_MISS_CHAR)) THEN
1799 OKC_API.set_message(G_APP_NAME, 'OKL_REQUIRED_VALUE',G_COL_NAME_TOKEN,'Endorsement');
1800 -- notify caller of an error
1801 x_return_status := OKC_API.G_RET_STS_ERROR;
1802 END IF;
1803 EXCEPTION
1804 WHEN OTHERS THEN
1805 -- store SQL error message on message stack for caller
1806 OKC_API.set_message(G_APP_NAME, G_UNEXPECTED_ERROR,G_SQLCODE_TOKEN,SQLCODE, G_SQLERRM_TOKEN, SQLERRM);
1807 -- notify caller of an UNEXPECTED error
1808 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1809 END validate_endorsement ;
1810 -- End validate_endorsement
1811 ---------------------------------------------
1812 -- Validate_Attributes for: PREMIUM --
1813 ---------------------------------------------
1814 PROCEDURE validate_premium ( p_ipyv_rec IN ipyv_rec_type, x_return_status OUT NOCOPY VARCHAR2) IS
1815 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1816 BEGIN
1817 -- initialize return status
1818 x_return_status := OKC_API.G_RET_STS_SUCCESS;
1819 -- data is required
1820 IF ( ( p_ipyv_rec.premium IS NULL) OR (p_ipyv_rec.premium = OKC_API.G_MISS_NUM)) THEN
1821 OKC_API.set_message(G_APP_NAME, 'OKL_REQUIRED_VALUE',G_COL_NAME_TOKEN,'Premium');
1822 -- notify caller of an error
1823 x_return_status := OKC_API.G_RET_STS_ERROR;
1824 END IF;
1825 EXCEPTION
1826 WHEN OTHERS THEN
1827 -- store SQL error message on message stack for caller
1828 OKC_API.set_message(G_APP_NAME, G_UNEXPECTED_ERROR,G_SQLCODE_TOKEN,SQLCODE, G_SQLERRM_TOKEN, SQLERRM);
1829 -- notify caller of an UNEXPECTED error
1830 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1831 END validate_premium ;
1832 -- End validate_premium
1833 PROCEDURE validate_name_of_insured ( p_ipyv_rec IN ipyv_rec_type, x_return_status OUT NOCOPY VARCHAR2) IS
1834 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1835 BEGIN
1836 -- initialize return status
1837 x_return_status := OKC_API.G_RET_STS_SUCCESS;
1838 -- data is required
1839 IF ( ( p_ipyv_rec.name_of_insured IS NULL) OR (p_ipyv_rec.name_of_insured = OKC_API.G_MISS_CHAR)) THEN
1840 OKC_API.set_message(G_APP_NAME, 'OKL_REQUIRED_VALUE',G_COL_NAME_TOKEN,'Name of Insured');
1841 -- notify caller of an error
1842 x_return_status := OKC_API.G_RET_STS_ERROR;
1843 END IF;
1844 EXCEPTION
1845 WHEN OTHERS THEN
1846 -- store SQL error message on message stack for caller
1847 OKC_API.set_message(G_APP_NAME, G_UNEXPECTED_ERROR,G_SQLCODE_TOKEN,SQLCODE, G_SQLERRM_TOKEN, SQLERRM);
1848 -- notify caller of an UNEXPECTED error
1849 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1850 END validate_name_of_insured ;
1851 -- End validate_name_of_insured
1852 ---------------------------------------------
1853 -- Validate_Attributes for: QUOTE_YN --
1854 ---------------------------------------------
1855 PROCEDURE validate_quote_yn ( p_ipyv_rec IN ipyv_rec_type, x_return_status OUT NOCOPY VARCHAR2) IS
1856 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1857 BEGIN
1858 -- initialize return status
1859 x_return_status := OKC_API.G_RET_STS_SUCCESS;
1860 -- x_return_status := OKL_UTIL.check_domain_yn(p_ipyv_rec.quote_yn);
1861 -- data is required
1862 IF ( ( p_ipyv_rec.quote_yn IS NOT NULL) OR (p_ipyv_rec.quote_yn = OKC_API.G_MISS_CHAR)) THEN
1863 IF UPPER(p_ipyv_rec.quote_yn) NOT IN ('Y','N') THEN
1864 x_return_status:=OKC_API.G_RET_STS_ERROR;
1865 --set error message in message stack
1866 OKC_API.SET_MESSAGE(p_app_name => G_APP_NAME,
1867 p_msg_name => G_INVALID_VALUE,
1868 p_token1 => G_COL_NAME_TOKEN,
1869 p_token1_value => 'Quote Flag');
1870 x_return_status := OKC_API.G_RET_STS_ERROR;
1871 END IF;
1872 END IF;
1873 EXCEPTION
1874 WHEN OTHERS THEN
1875 -- store SQL error message on message stack for caller
1876 OKC_API.set_message(G_APP_NAME, G_UNEXPECTED_ERROR,G_SQLCODE_TOKEN,SQLCODE, G_SQLERRM_TOKEN, SQLERRM);
1877 -- notify caller of an UNEXPECTED error
1878 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1879 END validate_quote_yn ;
1880 -- End validate_quote_yn
1881 ---------------------------------------------
1882 -- Validate_Attributes for: QUOTE_N --
1883 ---------------------------------------------
1884 PROCEDURE validate_quote_n ( p_ipyv_rec IN ipyv_rec_type, x_return_status OUT NOCOPY VARCHAR2) IS
1885 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1886 BEGIN
1887 -- initialize return status
1888 x_return_status := OKC_API.G_RET_STS_SUCCESS;
1889 -- x_return_status := OKL_UTIL.check_domain_yn(p_ipyv_rec.quote_yn);
1890 -- data is required
1891 IF (p_ipyv_rec.quote_yn = OKC_API.G_MISS_CHAR)THEN
1892 IF UPPER(p_ipyv_rec.quote_yn) NOT IN ('NO') THEN
1893 x_return_status:=OKC_API.G_RET_STS_ERROR;
1894 --set error message in message stack
1895 OKC_API.SET_MESSAGE(p_app_name => G_APP_NAME,
1896 p_msg_name => G_INVALID_VALUE,
1897 p_token1 => G_COL_NAME_TOKEN,
1898 p_token1_value => 'Quote Flag');
1899 x_return_status := OKC_API.G_RET_STS_ERROR;
1900 END IF;
1901 END IF;
1902 EXCEPTION
1903 WHEN OTHERS THEN
1904 -- store SQL error message on message stack for caller
1905 OKC_API.set_message(G_APP_NAME, G_UNEXPECTED_ERROR,G_SQLCODE_TOKEN,SQLCODE, G_SQLERRM_TOKEN, SQLERRM);
1906 -- notify caller of an UNEXPECTED error
1907 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1908 END validate_quote_n ;
1909 -- End validate_quote_yn
1910 ---------------------------------------------
1911 -- Validate_Attributes for: ON_FILE_YN --
1912 ---------------------------------------------
1913 PROCEDURE validate_on_file_yn ( p_ipyv_rec IN ipyv_rec_type, x_return_status OUT NOCOPY VARCHAR2) IS
1914 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1915 BEGIN
1916 -- initialize return status
1917 x_return_status := OKC_API.G_RET_STS_SUCCESS;
1918 --x_return_status := OKL_UTIL.check_domain_yn(p_ipyv_rec.on_file_yn);
1919 -- data is required
1920 IF UPPER(p_ipyv_rec.private_label_yn) NOT IN ('Y','N') THEN
1921 x_return_status:=OKC_API.G_RET_STS_ERROR;
1922 --set error message in message stack
1923 OKC_API.SET_MESSAGE(p_app_name => G_APP_NAME,
1924 p_msg_name => G_INVALID_VALUE,
1925 p_token1 => G_COL_NAME_TOKEN,
1926 p_token1_value => 'private_label_yn');
1927 x_return_status := OKC_API.G_RET_STS_ERROR;
1928 END IF;
1929 EXCEPTION
1930 WHEN OTHERS THEN
1931 -- store SQL error message on message stack for caller
1932 OKC_API.set_message(G_APP_NAME, G_UNEXPECTED_ERROR,G_SQLCODE_TOKEN,SQLCODE, G_SQLERRM_TOKEN, SQLERRM);
1933 -- notify caller of an UNEXPECTED error
1934 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1935 END validate_on_file_yn ;
1936 -- End validate_on_file_yn
1937 ---------------------------------------------------------------------------
1938 -- Start of comments
1939 --
1940 -- Procedure Name : validate_covered_amount
1941 -- Description :
1942 -- Business Rules :
1943 -- Parameters :
1944 -- Version : 1.0
1945 -- End of Comments
1946 ---------------------------------------------------------------------------
1947 PROCEDURE validate_covered_amount(p_ipyv_rec IN ipyv_rec_type,x_return_status OUT NOCOPY VARCHAR2 ) IS
1948 BEGIN
1949 --initialize the return status
1950 x_return_status := Okc_Api.G_RET_STS_SUCCESS;
1951 --data is required
1952 IF p_ipyv_rec.covered_amount = Okc_Api.G_MISS_NUM OR
1953 p_ipyv_rec.covered_amount IS NULL
1954 THEN
1955 Okc_Api.set_message(p_app_name => G_APP_NAME,
1956 p_msg_name => 'OKL_REQUIRED_VALUE',
1957 p_token1 => G_COL_NAME_TOKEN,
1958 p_token1_value => 'Covered Amount');
1959 -- Notify caller of an error
1960 x_return_status := Okc_Api.G_RET_STS_ERROR;
1961 ELSE
1962 x_return_status := Okl_Util.check_domain_amount(p_ipyv_rec.covered_amount);
1963 IF (x_return_status = Okc_Api.G_RET_STS_ERROR) THEN
1964 Okc_Api.set_message(p_app_name => G_APP_NAME,
1965 p_msg_name => 'OKL_POSITIVE_NUMBER',
1966 p_token1 => G_COL_NAME_TOKEN,
1967 p_token1_value => 'Covered Amount'
1968 );
1969 ELSIF (x_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
1970 RAISE G_EXCEPTION_HALT_VALIDATION;
1971 END IF;
1972 END IF;
1973 EXCEPTION
1974 WHEN OTHERS THEN
1975 -- store SQL error message on message stack for caller
1976 Okc_Api.set_message(p_app_name => G_APP_NAME,
1977 p_msg_name => G_UNEXPECTED_ERROR,
1978 p_token1 => G_SQLCODE_TOKEN,
1979 p_token1_value => SQLCODE,
1980 p_token2 => G_SQLERRM_TOKEN,
1981 p_token2_value => SQLERRM
1982 );
1983 -- Notify the caller of an unexpected error
1984 x_return_status := Okc_Api.G_RET_STS_UNEXP_ERROR;
1985 END validate_covered_amount;
1986 ---------------------------------------------------------------------------
1987 -- Start of comments
1988 --
1989 -- Procedure Name : validate_deductible
1990 -- Description :
1991 -- Business Rules :
1992 -- Parameters :
1993 -- Version : 1.0
1994 -- End of Comments
1995 ---------------------------------------------------------------------------
1996 PROCEDURE validate_deductible(p_ipyv_rec IN ipyv_rec_type,x_return_status OUT NOCOPY VARCHAR2 ) IS
1997 BEGIN
1998 --initialize the return status
1999 x_return_status := Okc_Api.G_RET_STS_SUCCESS;
2000 --data is required
2001 IF p_ipyv_rec.deductible = Okc_Api.G_MISS_NUM
2002 THEN
2003 Okc_Api.set_message(p_app_name => G_APP_NAME,
2004 p_msg_name => 'OKL_REQUIRED_VALUE',
2005 p_token1 => G_COL_NAME_TOKEN,
2006 p_token1_value => 'Deductible');
2007 -- Notify caller of an error
2008 x_return_status := Okc_Api.G_RET_STS_ERROR;
2009 ELSE
2010 x_return_status := Okl_Util.check_domain_amount(p_ipyv_rec.deductible);
2011 IF (x_return_status = Okc_Api.G_RET_STS_ERROR) THEN
2012 Okc_Api.set_message(p_app_name => G_APP_NAME,
2013 p_msg_name => 'OKL_POSITIVE_NUMBER',
2014 p_token1 => G_COL_NAME_TOKEN,
2015 p_token1_value => 'Deductible'
2016 );
2017 ELSIF (x_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
2018 RAISE G_EXCEPTION_HALT_VALIDATION;
2019 END IF;
2020 END IF;
2021 EXCEPTION
2022 WHEN OTHERS THEN
2023 -- store SQL error message on message stack for caller
2024 Okc_Api.set_message(p_app_name => G_APP_NAME,
2025 p_msg_name => G_UNEXPECTED_ERROR,
2026 p_token1 => G_SQLCODE_TOKEN,
2027 p_token1_value => SQLCODE,
2028 p_token2 => G_SQLERRM_TOKEN,
2029 p_token2_value => SQLERRM
2030 );
2031 -- Notify the caller of an unexpected error
2032 x_return_status := Okc_Api.G_RET_STS_UNEXP_ERROR;
2033 END validate_deductible;
2034
2035 ---------------------------------------------------------------------------
2036 -- Start of comments
2037 --
2038 -- Procedure Name : validate_adjustment
2039 -- Description :
2040 -- Business Rules :
2041 -- Parameters :
2042 -- Version : 1.0
2043 -- End of Comments
2044 ---------------------------------------------------------------------------
2045 PROCEDURE validate_adjustment(p_ipyv_rec IN ipyv_rec_type,x_return_status OUT NOCOPY VARCHAR2 ) IS
2046 BEGIN
2047 --initialize the return status
2048 x_return_status := Okc_Api.G_RET_STS_SUCCESS;
2049 END validate_adjustment;
2050
2051 -- Start of Comments
2052 --
2053 -- Procedure Name : validate_private_label_yn
2054 -- Description : It validates for null value for private_label_yn
2055 -- Business Rules :
2056 -- Parameter :
2057 -- Version : 1.0
2058 -- End of comments
2059 PROCEDURE validate_private_label_yn ( p_ipyv_rec IN ipyv_rec_type, x_return_status OUT NOCOPY VARCHAR2) IS
2060 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
2061 BEGIN
2062 -- initialize return status
2063 x_return_status := OKC_API.G_RET_STS_SUCCESS;
2064 --x_return_status := OKL_UTIL.check_domain_yn(p_ipyv_rec.private_label_yn );
2065 -- data is required
2066 IF ( ( p_ipyv_rec.private_label_yn IS NULL) OR (p_ipyv_rec.private_label_yn = OKC_API.G_MISS_CHAR)) THEN
2067 OKC_API.set_message(G_APP_NAME, 'OKL_REQUIRED_VALUE',G_COL_NAME_TOKEN,
2068 'Private Label Flag');
2069 -- notify caller of an error
2070 x_return_status := OKC_API.G_RET_STS_ERROR;
2071 ELSE
2072 IF UPPER(p_ipyv_rec.private_label_yn) NOT IN ('Y','N') THEN
2073 x_return_status:=OKC_API.G_RET_STS_ERROR;
2074 --set error message in message stack
2075 OKC_API.SET_MESSAGE(p_app_name => G_APP_NAME,
2076 p_msg_name => G_INVALID_VALUE,
2077 p_token1 => G_COL_NAME_TOKEN,
2078 p_token1_value => 'Private Label Flag');
2079 x_return_status := OKC_API.G_RET_STS_ERROR;
2080 END IF;
2081 END IF;
2082 EXCEPTION
2083 WHEN OTHERS THEN
2084 -- store SQL error message on message stack for caller
2085 OKC_API.set_message(G_APP_NAME, G_UNEXPECTED_ERROR,G_SQLCODE_TOKEN,SQLCODE, G_SQLERRM_TOKEN, SQLERRM);
2086 -- notify caller of an UNEXPECTED error
2087 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
2088 END validate_private_label_yn ;
2089 -- End validate_private_label_yn
2090 -- Start of Comments
2091 --
2092 -- Procedure Name : validate_lessor_insured_yn
2093 -- Description : It validates for null value for polcicy id
2094 -- Business Rules :
2095 -- Parameter :
2096 -- Version : 1.0
2097 -- End of comments
2098 PROCEDURE validate_lessor_insured_yn ( p_ipyv_rec IN ipyv_rec_type, x_return_status OUT NOCOPY VARCHAR2) IS
2099 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
2100 BEGIN
2101 -- initialize return status
2102 x_return_status := OKC_API.G_RET_STS_SUCCESS;
2103 -- data is required
2104 IF ( p_ipyv_rec.lessor_insured_yn = OKC_API.G_MISS_CHAR) THEN
2105 OKC_API.set_message(G_APP_NAME, 'OKL_REQUIRED_VALUE',G_COL_NAME_TOKEN,
2106 'Lessor Insured Flag');
2107 -- notify caller of an error
2108 x_return_status := OKC_API.G_RET_STS_ERROR;
2109 ELSE
2110 IF UPPER(p_ipyv_rec.lessor_insured_yn) NOT IN ('Y','N') THEN
2111 x_return_status:=OKC_API.G_RET_STS_ERROR;
2112 --set error message in message stack
2113 OKC_API.SET_MESSAGE(p_app_name => G_APP_NAME,
2114 p_msg_name => G_INVALID_VALUE,
2115 p_token1 => G_COL_NAME_TOKEN,
2116 p_token1_value => 'Lessor Insured Flag');
2117 x_return_status := OKC_API.G_RET_STS_ERROR;
2118 END IF;
2119 END IF;
2120 EXCEPTION
2121 WHEN OTHERS THEN
2122 -- store SQL error message on message stack for caller
2123 OKC_API.set_message(G_APP_NAME, G_UNEXPECTED_ERROR,G_SQLCODE_TOKEN,SQLCODE, G_SQLERRM_TOKEN, SQLERRM);
2124 -- notify caller of an UNEXPECTED error
2125 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
2126 END validate_lessor_insured_yn ;
2127 -- End validate_lessor_insured_yn
2128 -- Start of Comments
2129 --
2130 -- Procedure Name : validate_lessor_payee_yn
2131 -- Description : It validates for null value for lessor_payee_yn
2132 -- Business Rules :
2133 -- Parameter :
2134 -- Version : 1.0
2135 -- End of comments
2136 PROCEDURE validate_lessor_payee_yn ( p_ipyv_rec IN ipyv_rec_type, x_return_status OUT NOCOPY VARCHAR2) IS
2137 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
2138 BEGIN
2139 -- initialize return status
2140 x_return_status := OKC_API.G_RET_STS_SUCCESS;
2141 -- data is required
2142 IF ( p_ipyv_rec.lessor_payee_yn = OKC_API.G_MISS_CHAR) THEN
2143 OKC_API.set_message(G_APP_NAME, 'OKL_REQUIRED_VALUE',G_COL_NAME_TOKEN,
2144 'Lessor Payee Flag');
2145 -- notify caller of an error
2146 x_return_status := OKC_API.G_RET_STS_ERROR;
2147 ELSE
2148 IF UPPER(p_ipyv_rec.lessor_payee_yn) NOT IN ('Y','N') THEN
2149 x_return_status:=OKC_API.G_RET_STS_ERROR;
2150 --set error message in message stack
2151 OKC_API.SET_MESSAGE(p_app_name => G_APP_NAME,
2152 p_msg_name => G_INVALID_VALUE,
2153 p_token1 => G_COL_NAME_TOKEN,
2154 p_token1_value => 'Lessor Payee Flag');
2155 x_return_status := OKC_API.G_RET_STS_ERROR;
2156 END IF;
2157 END IF;
2158 EXCEPTION
2159 WHEN OTHERS THEN
2160 -- store SQL error message on message stack for caller
2161 OKC_API.set_message(G_APP_NAME, G_UNEXPECTED_ERROR,G_SQLCODE_TOKEN,SQLCODE, G_SQLERRM_TOKEN, SQLERRM);
2162 -- notify caller of an UNEXPECTED error
2163 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
2164 END validate_lessor_payee_yn ;
2165 -- End validate_lessor_payee_yn
2166 -- Start of Comments
2167 --
2168 -- Procedure Name : validate_agent_yn
2169 -- Description : It validates for null value for agent_yn
2170 -- Business Rules :
2171 -- Parameter :
2172 -- Version : 1.0
2173 -- End of comments
2174 PROCEDURE validate_agent_yn ( p_ipyv_rec IN ipyv_rec_type, x_return_status OUT NOCOPY VARCHAR2) IS
2175 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
2176 BEGIN
2177 -- initialize return status
2178 x_return_status := OKC_API.G_RET_STS_SUCCESS;
2179 --x_return_status := OKL_UTIL.check_domain_yn(p_ipyv_rec.agent_yn );
2180 -- data is required
2181 IF ( p_ipyv_rec.agent_yn = OKC_API.G_MISS_CHAR) THEN
2182 OKC_API.set_message(G_APP_NAME, 'OKL_REQUIRED_VALUE',G_COL_NAME_TOKEN,
2183 'Agent Flag');
2184 -- notify caller of an error
2185 x_return_status := OKC_API.G_RET_STS_ERROR;
2186 ELSE
2187 IF UPPER(p_ipyv_rec.agent_yn) NOT IN('Y','N') THEN
2188 x_return_status:=OKC_API.G_RET_STS_ERROR;
2189 --set error message in message stack
2190 OKC_API.SET_MESSAGE(p_app_name => G_APP_NAME,
2191 p_msg_name => G_INVALID_VALUE,
2192 p_token1 => G_COL_NAME_TOKEN,
2193 p_token1_value => 'Agent Flag');
2194 x_return_status := OKC_API.G_RET_STS_ERROR;
2195 END IF;
2196 END IF;
2197 EXCEPTION
2198 WHEN OTHERS THEN
2199 -- store SQL error message on message stack for caller
2200 OKC_API.set_message(G_APP_NAME, G_UNEXPECTED_ERROR,G_SQLCODE_TOKEN,SQLCODE, G_SQLERRM_TOKEN, SQLERRM);
2201 -- notify caller of an UNEXPECTED error
2202 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
2203 END validate_agent_yn ;
2204 -- End validate_agent_yn
2205 ---------------------------------------------------------------------------
2206 -- Start of comments
2207 --
2208 -- Procedure Name : validate_date_from
2209 -- Description :
2210 -- Business Rules :
2211 -- Parameters :
2212 -- Version : 1.0
2213 -- End of Comments
2214 ---------------------------------------------------------------------------
2215 PROCEDURE validate_date_from(x_return_status OUT NOCOPY VARCHAR2,p_ipyv_rec IN ipyv_rec_type ) IS
2216 l_return_status VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
2217 BEGIN
2218 --data is required
2219 IF (p_ipyv_rec.date_from = OKC_API.G_MISS_DATE) OR (p_ipyv_rec.date_from IS NULL)
2220 THEN
2221 OKC_API.set_message(G_APP_NAME,'OKL_REQUIRED_VALUE',G_COL_NAME_TOKEN,'Date Effective From');
2222 --Notify caller of an error
2223 l_return_status := Okc_Api.G_RET_STS_ERROR;
2224 END IF;
2225 x_return_status := l_return_status;
2226 EXCEPTION
2227 WHEN OTHERS THEN
2228 --store SQL error message on message stack for caller
2229 Okc_Api.set_message(G_APP_NAME, G_UNEXPECTED_ERROR,G_SQLCODE_TOKEN,SQLCODE,G_SQLERRM_TOKEN,SQLERRM);
2230 --Notify the caller of an unexpected error
2231 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
2232 END validate_date_from;
2233 ---------------------------------------------------------------------------
2234 -- Start of comments
2235 --
2236 -- Procedure Name : validate_date_to
2237 -- Description :
2238 -- Business Rules :
2239 -- Parameters :
2240 -- Version : 1.0
2241 -- End of Comments
2242 ---------------------------------------------------------------------------
2243 PROCEDURE validate_date_to(x_return_status OUT NOCOPY VARCHAR2,p_ipyv_rec IN ipyv_rec_type ) IS
2244 l_return_status VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
2245 BEGIN
2246 --data is required
2247 IF (p_ipyv_rec.date_to = OKC_API.G_MISS_DATE) OR (p_ipyv_rec.date_to IS NULL)
2248 THEN
2249 OKC_API.set_message(G_APP_NAME,'OKL_REQUIRED_VALUE',G_COL_NAME_TOKEN,'Date Effective To');
2250 --Notify caller of an error
2251 l_return_status := Okc_Api.G_RET_STS_ERROR;
2252 END IF;
2253 x_return_status := l_return_status;
2254 EXCEPTION
2255 WHEN OTHERS THEN
2256 --store SQL error message on message stack for caller
2257 Okc_Api.set_message(G_APP_NAME, G_UNEXPECTED_ERROR,G_SQLCODE_TOKEN,SQLCODE,G_SQLERRM_TOKEN,SQLERRM);
2258 --Notify the caller of an unexpected error
2259 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
2260 END validate_date_to;
2261 ---------------------------------------------------------------------------
2262 -- Start of comments
2263 --
2264 -- Procedure Name : validate_date_proof_required
2265 -- Description :
2266 -- Business Rules :
2267 -- Parameters :
2268 -- Version : 1.0
2269 -- End of Comments
2270 ---------------------------------------------------------------------------
2271 PROCEDURE validate_date_proof_required(x_return_status OUT NOCOPY VARCHAR2,p_ipyv_rec IN ipyv_rec_type ) IS
2272 l_return_status VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
2273 BEGIN
2274 --data is required
2275 IF (p_ipyv_rec.date_proof_required = OKC_API.G_MISS_DATE) THEN
2276 OKC_API.set_message(G_APP_NAME,'OKL_REQUIRED_VALUE',G_COL_NAME_TOKEN,
2277 'Date Proof Required');
2278 --Notify caller of an error
2279 l_return_status := Okc_Api.G_RET_STS_ERROR;
2280 END IF;
2281 x_return_status := l_return_status;
2282 EXCEPTION
2283 WHEN OTHERS THEN
2284 --store SQL error message on message stack for caller
2285 Okc_Api.set_message(G_APP_NAME, G_UNEXPECTED_ERROR,G_SQLCODE_TOKEN,SQLCODE,G_SQLERRM_TOKEN,SQLERRM);
2286 --Notify the caller of an unexpected error
2287 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
2288 END validate_date_proof_required;
2289 ---------------------------------------------------------------------------
2290 -- Start of comments
2291 --
2292 -- Procedure Name : validate_date_proof_provided
2293 -- Description :
2294 -- Business Rules :
2295 -- Parameters :
2296 -- Version : 1.0
2297 -- End of Comments
2298 ---------------------------------------------------------------------------
2299 PROCEDURE validate_date_proof_provided(x_return_status OUT NOCOPY VARCHAR2,p_ipyv_rec IN ipyv_rec_type ) IS
2300 l_return_status VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
2301 BEGIN
2302 --data is required
2303 IF p_ipyv_rec.date_proof_provided = OKC_API.G_MISS_DATE
2304 THEN
2305 OKC_API.set_message(G_APP_NAME,G_INVALID_VALUE,G_COL_NAME_TOKEN,'Proof Provided Date');
2306 --Notify caller of an error
2307 l_return_status := Okc_Api.G_RET_STS_ERROR;
2308 END IF;
2309 x_return_status := l_return_status;
2310 EXCEPTION
2311 WHEN OTHERS THEN
2312 --store SQL error message on message stack for caller
2313 Okc_Api.set_message(G_APP_NAME, G_UNEXPECTED_ERROR,G_SQLCODE_TOKEN,SQLCODE,G_SQLERRM_TOKEN,SQLERRM);
2314 --Notify the caller of an unexpected error
2315 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
2316 END validate_date_proof_provided;
2317 ---------------------------------------------------------------------------
2318 -- Start of comments
2319 --
2320 -- Procedure Name : validate_created_by
2321 -- Description :
2322 -- Business Rules :
2323 -- Parameters :
2324 -- Version : 1.0
2325 -- End of Comments
2326 ---------------------------------------------------------------------------
2327 PROCEDURE validate_created_by(x_return_status OUT NOCOPY VARCHAR2,p_ipyv_rec IN ipyv_rec_type ) IS
2328 l_return_status VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
2329 BEGIN
2330 --data is required
2331 IF p_ipyv_rec.created_by = OKC_API.G_MISS_NUM OR p_ipyv_rec.created_by IS NULL
2332 THEN
2333 --OKC_API.set_message(G_APP_NAME,G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'created_by');
2334 OKC_API.set_message(p_app_name => G_APP_NAME,
2335 p_msg_name => G_REQUIRED_VALUE,
2336 p_token1 => G_COL_NAME_TOKEN,
2337 p_token1_value => 'created_by');
2338 --Notify caller of an error
2339 l_return_status := Okc_Api.G_RET_STS_ERROR;
2340 END IF;
2341 x_return_status := l_return_status;
2342 EXCEPTION
2343 WHEN OTHERS THEN
2344 --store SQL error message on message stack for caller
2345 Okc_Api.set_message(G_APP_NAME, G_UNEXPECTED_ERROR,G_SQLCODE_TOKEN,SQLCODE,G_SQLERRM_TOKEN,SQLERRM);
2346 --Notify the caller of an unexpected error
2347 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
2348 END validate_created_by;
2349 ---------------------------------------------------------------------------
2350 -- Start of comments
2351 --
2352 -- Procedure Name : validate_creation_date
2353 -- Description :
2354 -- Business Rules :
2355 -- Parameters :
2356 -- Version : 1.0
2357 -- End of Comments
2358 ---------------------------------------------------------------------------
2359 PROCEDURE validate_creation_date(x_return_status OUT NOCOPY VARCHAR2,p_ipyv_rec IN ipyv_rec_type ) IS
2360 l_return_status VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
2361 BEGIN
2362 --data is required
2363 IF p_ipyv_rec.creation_date = OKC_API.G_MISS_DATE OR p_ipyv_rec.creation_date IS NULL
2364 THEN
2365 OKC_API.set_message(G_APP_NAME,G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'creation_date');
2366 --Notify caller of an error
2367 l_return_status := Okc_Api.G_RET_STS_ERROR;
2368 END IF;
2369 x_return_status := l_return_status;
2370 EXCEPTION
2371 WHEN OTHERS THEN
2372 --store SQL error message on message stack for caller
2373 Okc_Api.set_message(G_APP_NAME, G_UNEXPECTED_ERROR,G_SQLCODE_TOKEN,SQLCODE,G_SQLERRM_TOKEN,SQLERRM);
2374 --Notify the caller of an unexpected error
2375 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
2376 END validate_creation_date;
2377 ---------------------------------------------------------------------------
2378 -- Start of comments
2379 --
2380 -- Procedure Name : validate_ipt_last_updated_by
2381 -- Description :
2382 -- Business Rules :
2383 -- Parameters :
2384 -- Version : 1.0
2385 -- End of Comments
2386 ---------------------------------------------------------------------------
2387 PROCEDURE validate_last_updated_by(x_return_status OUT NOCOPY VARCHAR2,p_ipyv_rec IN ipyv_rec_type ) IS
2388 l_return_status VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
2389 BEGIN
2390 --data is required
2391 IF p_ipyv_rec.last_updated_by = OKC_API.G_MISS_NUM OR p_ipyv_rec.last_updated_by IS NULL
2392 THEN
2393 OKC_API.set_message(G_APP_NAME,G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'last_updated_by');
2394 --Notify caller of an error
2395 l_return_status := Okc_Api.G_RET_STS_ERROR;
2396 END IF;
2397 x_return_status := l_return_status;
2398 EXCEPTION
2399 WHEN OTHERS THEN
2400 --store SQL error message on message stack for caller
2401 Okc_Api.set_message(G_APP_NAME, G_UNEXPECTED_ERROR,G_SQLCODE_TOKEN,SQLCODE,G_SQLERRM_TOKEN,SQLERRM);
2402 --Notify the caller of an unexpected error
2403 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
2404 END validate_last_updated_by;
2405 ---------------------------------------------------------------------------
2406 -- Start of comments
2407 --
2408 -- Procedure Name : validate_ipt_last_update_date
2409 -- Description :
2410 -- Business Rules :
2411 -- Parameters :
2412 -- Version : 1.0
2413 -- End of Comments
2414 ---------------------------------------------------------------------------
2415 PROCEDURE validate_last_update_date(x_return_status OUT NOCOPY VARCHAR2,p_ipyv_rec IN ipyv_rec_type ) IS
2416 l_return_status VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
2417 BEGIN
2418 --data is required
2419 IF p_ipyv_rec.last_update_date = OKC_API.G_MISS_DATE OR p_ipyv_rec.last_update_date IS NULL
2420 THEN
2421 OKC_API.set_message(G_APP_NAME,G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'last_update_date');
2422 --Notify caller of an error
2423 l_return_status := Okc_Api.G_RET_STS_ERROR;
2424 END IF;
2425 x_return_status := l_return_status;
2426 EXCEPTION
2427 WHEN OTHERS THEN
2428 --store SQL error message on message stack for caller
2429 Okc_Api.set_message(G_APP_NAME, G_UNEXPECTED_ERROR,G_SQLCODE_TOKEN,SQLCODE,G_SQLERRM_TOKEN,SQLERRM);
2430 --Notify the caller of an unexpected error
2431 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
2432 END validate_last_update_date;
2433 ---------------------------------------------------------------------------
2434 -- FUNCTION Validate_Attributes
2435 ---------------------------------------------------------------------------
2436 ------------------------------------------------
2437 -- Validate_Attributes for:OKL_INS_POLICIES_V --
2438 ------------------------------------------------
2439 FUNCTION Validate_Attributes (
2440 p_ipyv_rec IN ipyv_rec_type
2441 ) RETURN VARCHAR2 IS
2442 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
2443 x_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
2444 BEGIN
2445 -----------------------------
2446 -- Column Level Validation --
2447 -----------------------------
2448 -- ***
2449 -- id
2450 -- ***
2451 Validate_id(p_ipyv_rec, l_return_status);
2452 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2453 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN -- need to leave
2454 x_return_status := l_return_status;
2455 RAISE G_EXCEPTION_HALT_VALIDATION;
2456 ELSE
2457 x_return_status := l_return_status; -- record that there was an error
2458 END IF;
2459 END IF;
2460 -- ***
2461 -- legal_entity_id
2462 -- ***
2463 Validate_legal_entity_id(p_ipyv_rec, l_return_status);
2464 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2465 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN -- need to leave
2466 x_return_status := l_return_status;
2467 RAISE G_EXCEPTION_HALT_VALIDATION;
2468 ELSE
2469 x_return_status := l_return_status; -- record that there was an error
2470 END IF;
2471 END IF;
2472 -- ***
2473 -- ipy_type
2474 -- ***
2475 VALIDATE_ipy_type(p_ipyv_rec, l_return_status);
2476 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2477 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN -- need to leave
2478 x_return_status := l_return_status;
2479 RAISE G_EXCEPTION_HALT_VALIDATION;
2480 ELSE
2481 x_return_status := l_return_status; -- record that there was an error
2482 END IF;
2483 END IF;
2484 -- ***
2485 -- sfwt_flag
2486 -- ***
2487 VALIDATE_sfwt_flag(p_ipyv_rec, l_return_status);
2488 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2489 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN -- need to leave
2490 x_return_status := l_return_status;
2491 RAISE G_EXCEPTION_HALT_VALIDATION;
2492 ELSE
2493 x_return_status := l_return_status; -- record that there was an error
2494 END IF;
2495 END IF;
2496 -- ***
2497 -- object_version_number
2498 -- ***
2499 VALIDATE_object_version_number(p_ipyv_rec, l_return_status);
2500 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2501 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN -- need to leave
2502 x_return_status := l_return_status;
2503 RAISE G_EXCEPTION_HALT_VALIDATION;
2504 ELSE
2505 x_return_status := l_return_status; -- record that there was an error
2506 END IF;
2507 END IF;
2508 -- ***
2509 -- created_by
2510 -- ***
2511 validate_created_by(x_return_status => l_return_status,
2512 p_ipyv_rec => p_ipyv_rec);
2513 -- store the highest degree of error
2514 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2515 IF(l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2516 x_return_status :=l_return_status;
2517 RAISE G_EXCEPTION_HALT_VALIDATION;
2518 ELSE
2519 x_return_status := l_return_status; -- Record that there was an error
2520 END IF;
2521 END IF;
2522 -- ***
2523 -- creation_date
2524 -- ***
2525 validate_creation_date(x_return_status => l_return_status,
2526 p_ipyv_rec => p_ipyv_rec);
2527 -- store the highest degree of error
2528 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2529 IF(l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2530 x_return_status :=l_return_status;
2531 RAISE G_EXCEPTION_HALT_VALIDATION;
2532 ELSE
2533 x_return_status := l_return_status; -- Record that there was an error
2534 END IF;
2535 END IF;
2536 -- ***
2537 -- last_updated_by
2538 -- ***
2539 validate_last_updated_by(x_return_status => l_return_status,
2540 p_ipyv_rec => p_ipyv_rec);
2541 -- store the highest degree of error
2542 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2543 IF(l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2544 x_return_status :=l_return_status;
2545 RAISE G_EXCEPTION_HALT_VALIDATION;
2546 ELSE
2547 x_return_status := l_return_status; -- Record that there was an error
2548 END IF;
2549 END IF;
2550 -- ***
2551 -- last_update_date
2552 -- ***
2553 validate_last_update_date(x_return_status => l_return_status,
2554 p_ipyv_rec => p_ipyv_rec);
2555 -- store the highest degree of error
2556 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2557 IF(l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2558 x_return_status :=l_return_status;
2559 RAISE G_EXCEPTION_HALT_VALIDATION;
2560 ELSE
2561 x_return_status := l_return_status; -- Record that there was an error
2562 END IF;
2563 END IF;
2564 -- ***
2565 -- date_from
2566 -- ***
2567 validate_date_from(x_return_status => l_return_status,
2568 p_ipyv_rec => p_ipyv_rec);
2569 -- store the highest degree of error
2570 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2571 IF(l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2572 x_return_status :=l_return_status;
2573 RAISE G_EXCEPTION_HALT_VALIDATION;
2574 ELSE
2575 x_return_status := l_return_status; -- Record that there was an error
2576 END IF;
2577 END IF;
2578 -- ***
2579 -- date_to
2580 -- ***
2581 validate_date_to(x_return_status => l_return_status,
2582 p_ipyv_rec => p_ipyv_rec);
2583 -- store the highest degree of error
2584 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2585 IF(l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2586 x_return_status :=l_return_status;
2587 RAISE G_EXCEPTION_HALT_VALIDATION;
2588 ELSE
2589 x_return_status := l_return_status; -- Record that there was an error
2590 END IF;
2591 END IF;
2592 -- ***
2593 -- isu_id
2594 -- ***
2595 VALIDATE_isu_id(p_ipyv_rec, l_return_status);
2596 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2597 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN -- need to leave
2598 x_return_status := l_return_status;
2599 RAISE G_EXCEPTION_HALT_VALIDATION;
2600 ELSE
2601 x_return_status := l_return_status; -- record that there was an error
2602 END IF;
2603 END IF;
2604 -- ***
2605 -- lessor_insured_yn
2606 -- ***
2607 validate_lessor_insured_yn(p_ipyv_rec , l_return_status );
2608 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2609 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN -- need to leave
2610 x_return_status := l_return_status;
2611 RAISE G_EXCEPTION_HALT_VALIDATION;
2612 ELSE
2613 x_return_status := l_return_status; -- record that there was an error
2614 END IF;
2615 END IF;
2616 -- ***
2617 -- lessor_payee_yn
2618 -- ***
2619 validate_lessor_payee_yn(p_ipyv_rec , l_return_status );
2620 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2621 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN -- need to leave
2622 x_return_status := l_return_status;
2623 RAISE G_EXCEPTION_HALT_VALIDATION;
2624 ELSE
2625 x_return_status := l_return_status; -- record that there was an error
2626 END IF;
2627 END IF;
2628 ----------------------------------------- ***---------------------------------
2629 ------------------ Additional validations for Third Party Policy -------------
2630 ----------------------------------------- *** --------------------------------
2631 IF(p_ipyv_rec.IPY_TYPE = 'THIRD_PARTY_POLICY') THEN
2632 -- ***
2633 -- agency_site_id
2634 -- ***
2635 VALIDATE_agency_site_id(p_ipyv_rec, l_return_status);
2636 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2637 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN -- need to leave
2638 x_return_status := l_return_status;
2639 RAISE G_EXCEPTION_HALT_VALIDATION;
2640 ELSE
2641 x_return_status := l_return_status; -- record that there was an error
2642 END IF;
2643 END IF;
2644 -- ***
2645 -- date_proof_required
2646 -- ***
2647 validate_date_proof_required(x_return_status => l_return_status,
2648 p_ipyv_rec => p_ipyv_rec);
2649 -- store the highest degree of error
2650 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2651 IF(l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2652 x_return_status :=l_return_status;
2653 RAISE G_EXCEPTION_HALT_VALIDATION;
2654 ELSE
2655 x_return_status := l_return_status; -- Record that there was an error
2656 END IF;
2657 END IF;
2658 -- ***
2659 -- date_proof_provided
2660 -- ***
2661 validate_date_proof_provided(x_return_status => l_return_status,
2662 p_ipyv_rec => p_ipyv_rec);
2663 -- store the highest degree of error
2664 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2665 IF(l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2666 x_return_status :=l_return_status;
2667 RAISE G_EXCEPTION_HALT_VALIDATION;
2668 ELSE
2669 x_return_status := l_return_status; -- Record that there was an error
2670 END IF;
2671 END IF;
2672 -- ***
2673 -- covered_amount
2674 -- ***
2675 VALIDATE_covered_amount(p_ipyv_rec, l_return_status);
2676 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2677 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN -- need to leave
2678 x_return_status := l_return_status;
2679 RAISE G_EXCEPTION_HALT_VALIDATION;
2680 ELSE
2681 x_return_status := l_return_status; -- record that there was an error
2682 END IF;
2683 END IF;
2684 -- ***
2685 -- policy_number
2686 -- ***
2687 VALIDATE_policy_number(p_ipyv_rec, l_return_status);
2688 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2689 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN -- need to leave
2690 x_return_status := l_return_status;
2691 RAISE G_EXCEPTION_HALT_VALIDATION;
2692 ELSE
2693 x_return_status := l_return_status; -- record that there was an error
2694 END IF;
2695 END IF;
2696 -- ***
2697 -- quote_n
2698 -- ***
2699 validate_quote_n(p_ipyv_rec , l_return_status );
2700 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2701 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN -- need to leave
2702 x_return_status := l_return_status;
2703 RAISE G_EXCEPTION_HALT_VALIDATION;
2704 ELSE
2705 x_return_status := l_return_status; -- record that there was an error
2706 END IF;
2707 END IF;
2708 -- smoduga added as part of LLA calling create third party
2709 -- ***
2710 -- int_id
2711 -- ***
2712 VALIDATE_int_id(p_ipyv_rec, l_return_status);
2713 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2714 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN -- need to leave
2715 x_return_status := l_return_status;
2716 RAISE G_EXCEPTION_HALT_VALIDATION;
2717 ELSE
2718 x_return_status := l_return_status; -- record that there was an error
2719 END IF;
2720 END IF;
2721 -- ***
2722 -- agent_site_id
2723 -- ***
2724 VALIDATE_agent_site_id(p_ipyv_rec, l_return_status);
2725 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2726 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN -- need to leave
2727 x_return_status := l_return_status;
2728 RAISE G_EXCEPTION_HALT_VALIDATION;
2729 ELSE
2730 x_return_status := l_return_status; -- record that there was an error
2731 END IF;
2732 END IF;
2733 -- ***
2734 -- on_file_yn
2735 -- ***
2736 validate_on_file_yn(p_ipyv_rec , l_return_status );
2737 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2738 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN -- need to leave
2739 x_return_status := l_return_status;
2740 RAISE G_EXCEPTION_HALT_VALIDATION;
2741 ELSE
2742 x_return_status := l_return_status; -- record that there was an error
2743 END IF;
2744 END IF;
2745 -- Bug: 4567777 PAGARG new column for Lease Application Functionality impact
2746 IF ( ( p_ipyv_rec.khr_id IS NOT NULL) OR (p_ipyv_rec.khr_id <> OKC_API.G_MISS_NUM))THEN
2747 -- ***
2748 -- khr_id
2749 -- ***
2750 validate_khr_id(x_return_status => l_return_status,
2751 p_ipyv_rec => p_ipyv_rec);
2752 -- store the highest degree of error
2753 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2754 IF(l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2755 x_return_status :=l_return_status;
2756 RAISE G_EXCEPTION_HALT_VALIDATION;
2757 ELSE
2758 x_return_status := l_return_status; -- Record that there was an error
2759 END IF;
2760 END IF;
2761 ELSIF ( ((p_ipyv_rec.lease_application_id is not null)OR (p_ipyv_rec.lease_application_id <> OKC_API.G_MISS_NUM ))
2762 and ((p_ipyv_rec.khr_id is null)OR (p_ipyv_rec.khr_id = OKC_API.G_MISS_NUM))) then
2763 -- ***
2764 -- lease_application_id
2765 -- ***
2766 validate_lease_application_id(p_ipyv_rec , l_return_status );
2767 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2768 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN -- need to leave
2769 x_return_status := l_return_status;
2770 RAISE G_EXCEPTION_HALT_VALIDATION;
2771 ELSE
2772 x_return_status := l_return_status; -- record that there was an error
2773 END IF;
2774 END IF;
2775 END IF;
2776 End if;
2777 ----------------------------------------- *** ------------------------------------------------
2778 --------------------------------- End of THIRD PARTY validation ------------------------------
2779 ----------------------------------------- *** ------------------------------------------------
2780
2781 IF(p_ipyv_rec.ipy_type <> 'THIRD_PARTY_POLICY') THEN
2782 -- ***
2783 -- ipt_id
2784 -- ***
2785 VALIDATE_ipt_id(p_ipyv_rec, l_return_status);
2786 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2787 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN -- need to leave
2788 x_return_status := l_return_status;
2789 RAISE G_EXCEPTION_HALT_VALIDATION;
2790 ELSE
2791 x_return_status := l_return_status; -- record that there was an error
2792 END IF;
2793 END IF;
2794 -- ***
2795 -- premium
2796 -- ***
2797 VALIDATE_premium(p_ipyv_rec, l_return_status);
2798 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2799 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN -- need to leave
2800 x_return_status := l_return_status;
2801 RAISE G_EXCEPTION_HALT_VALIDATION;
2802 ELSE
2803 x_return_status := l_return_status; -- record that there was an error
2804 END IF;
2805 END IF;
2806 -- ***
2807 -- adjustment
2808 -- ***
2809 VALIDATE_adjustment(p_ipyv_rec, l_return_status);
2810 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2811 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN -- need to leave
2812 x_return_status := l_return_status;
2813 RAISE G_EXCEPTION_HALT_VALIDATION;
2814 ELSE
2815 x_return_status := l_return_status; -- record that there was an error
2816 END IF;
2817 END IF;
2818 -- ***
2819 -- ipf_code
2820 -- ***
2821 VALIDATE_ipf_code(p_ipyv_rec, l_return_status);
2822 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2823 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN -- need to leave
2824 x_return_status := l_return_status;
2825 RAISE G_EXCEPTION_HALT_VALIDATION;
2826 ELSE
2827 x_return_status := l_return_status; -- record that there was an error
2828 END IF;
2829 END IF;
2830 -- ***
2831 -- iss_code
2832 -- ***
2833 VALIDATE_iss_code(p_ipyv_rec, l_return_status);
2834 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2835 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN -- need to leave
2836 x_return_status := l_return_status;
2837 RAISE G_EXCEPTION_HALT_VALIDATION;
2838 ELSE
2839 x_return_status := l_return_status; -- record that there was an error
2840 END IF;
2841 END IF;
2842 -- ***
2843 -- khr_id
2844 -- ***
2845 validate_khr_id(x_return_status => l_return_status,
2846 p_ipyv_rec => p_ipyv_rec);
2847 -- store the highest degree of error
2848 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2849 IF(l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2850 x_return_status :=l_return_status;
2851 RAISE G_EXCEPTION_HALT_VALIDATION;
2852 ELSE
2853 x_return_status := l_return_status; -- Record that there was an error
2854 END IF;
2855 END IF;
2856 -- ***
2857 -- territory_code
2858 -- ***
2859 VALIDATE_territory_code(p_ipyv_rec , l_return_status);
2860 -- store the highest degree of error
2861 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2862 IF(l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2863 x_return_status :=l_return_status;
2864 RAISE G_EXCEPTION_HALT_VALIDATION;
2865 ELSE
2866 x_return_status := l_return_status; -- Record that there was an error
2867 END IF;
2868 END IF;
2869 END IF;
2870 RETURN(x_return_status);
2871 EXCEPTION
2872 WHEN G_EXCEPTION_HALT_VALIDATION THEN
2873 RETURN(x_return_status);
2874 WHEN OTHERS THEN
2875 OKC_API.SET_MESSAGE( p_app_name => G_APP_NAME
2876 ,p_msg_name => G_UNEXPECTED_ERROR
2877 ,p_token1 => G_SQLCODE_TOKEN
2878 ,p_token1_value => SQLCODE
2879 ,p_token2 => G_SQLERRM_TOKEN
2880 ,p_token2_value => SQLERRM);
2881 l_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
2882 RETURN(x_return_status);
2883 END Validate_Attributes;
2884 ---------------------------------------------------------------------------
2885 -- PROCEDURE Validate_contract_header
2886 ---------------------------------------------------------------------------
2887 PROCEDURE validate_contract_header(
2888 p_ipyv_rec IN ipyv_rec_type,
2889 x_return_status OUT NOCOPY VARCHAR2) IS
2890 l_return_status VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
2891 l_dummy_var VARCHAR2(1) := '?';
2892 CURSOR l_ipyv_csr IS
2893 SELECT 'x'
2894 FROM okl_ins_policies_v
2895 WHERE khr_id = p_ipyv_rec.khr_id
2896 AND ID <> p_ipyv_rec.ID
2897 AND IPY_TYPE ='THIRD_PARTY_POLICY';
2898 BEGIN
2899 OPEN l_ipyv_csr;
2900 FETCH l_ipyv_csr INTO l_dummy_var;
2901 CLOSE l_ipyv_csr;
2902 -- if l_dummy_var is still set to default, data was not found
2903 IF (l_dummy_var = 'x') THEN
2904 OKC_API.set_message(p_app_name => G_APP_NAME,
2905 p_msg_name => 'OKL_UNIQUE'
2906 );
2907 l_return_status := Okc_Api.G_RET_STS_ERROR;
2908 END IF;
2909 x_return_status := l_return_status;
2910 EXCEPTION
2911 WHEN OTHERS THEN
2912 -- store SQL error message on message stack for caller
2913 Okc_Api.set_message(G_APP_NAME, G_UNEXPECTED_ERROR,G_SQLCODE_TOKEN,SQLCODE,G_SQLERRM_TOKEN,SQLERRM);
2914 -- notify caller of an UNEXPECTED error
2915 x_return_status := Okc_Api.G_RET_STS_UNEXP_ERROR;
2916 END validate_contract_header;
2917 ---------------------------------------------------------------------------
2918 -- PROCEDURE Validate_Record
2919 ---------------------------------------------------------------------------
2920 --------------------------------------------
2921 -- Validate Record for:OKL_INS_POLICIES_V --
2922 --------------------------------------------
2923 ------------------------------------
2924 -- FUNCTION validate_foreign_keys --
2925 ------------------------------------
2926 FUNCTION validate_foreign_keys (
2927 p_ipyv_rec IN ipyv_rec_type,
2928 p_db_ipyv_rec IN ipyv_rec_type
2929 ) RETURN VARCHAR2 IS
2930 --item_not_found_error EXCEPTION;
2931 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
2932 BEGIN
2933 null;
2934 --l_return_status := validate_foreign_keys(p_ipyv_rec, p_db_ipyv_rec);
2935 RETURN (l_return_status);
2936 END Validate_foreign_keys;
2937 FUNCTION Validate_Record (
2938 p_ipyv_rec IN ipyv_rec_type,
2939 p_db_ipyv_rec IN ipyv_rec_type
2940 ) RETURN VARCHAR2 IS
2941 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
2942 ------------------------------------
2943 -- FUNCTION validate_foreign_keys --
2944 ------------------------------------
2945 BEGIN
2946 l_return_status := validate_foreign_keys(p_ipyv_rec, p_db_ipyv_rec);
2947 RETURN (l_return_status);
2948 END Validate_Record;
2949 FUNCTION Validate_Record (
2950 p_ipyv_rec IN ipyv_rec_type
2951 ) RETURN VARCHAR2 IS
2952 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
2953 x_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
2954 l_db_ipyv_rec ipyv_rec_type := get_rec(p_ipyv_rec);
2955 BEGIN
2956 --Validate Duplicate records
2957 validate_thirdparty_duplicates(p_ipyv_rec,l_return_status);
2958 IF (l_return_status <> Okc_Api.G_RET_STS_SUCCESS) THEN
2959 OKC_API.set_message(p_app_name => G_APP_NAME,
2960 p_msg_name => 'OKL_UNIQUE'
2961 );
2962 IF(l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
2963 x_return_status :=l_return_status;
2964 RAISE G_EXCEPTION_HALT_VALIDATION;
2965 ELSE
2966 x_return_status := l_return_status; -- record that there was an error
2967 END IF;
2968 END IF;
2969 --Validate whether start date is less than the end date
2970 IF (l_return_status = Okc_Api.G_RET_STS_SUCCESS) THEN
2971 l_return_status:= OKL_UTIL.check_from_to_date_range(p_from_date => p_ipyv_rec.date_from
2972 ,p_to_date => p_ipyv_rec.date_to );
2973 IF (l_return_status <> Okc_Api.G_RET_STS_SUCCESS) THEN
2974 Okc_Api.set_message(
2975 p_app_name => g_app_name,
2976 p_msg_name => 'OKL_GREATER_THAN',
2977 p_token1 => 'COL_NAME1',
2978 p_token1_value => 'End Date',
2979 p_token2 => 'COL_NAME2',
2980 p_token2_value => 'Start Date'
2981 );
2982 IF(l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
2983 x_return_status :=l_return_status;
2984 RAISE G_EXCEPTION_HALT_VALIDATION;
2985 ELSE
2986 x_return_status := l_return_status; -- record that there was an error
2987 END IF;
2988 END IF;
2989 END IF;
2990 RETURN (l_return_status);
2991 END Validate_Record;
2992 ---------------------------------------------------------------------------
2993 -- PROCEDURE Migrate
2994 ---------------------------------------------------------------------------
2995 PROCEDURE migrate (
2996 p_from IN ipyv_rec_type,
2997 p_to IN OUT NOCOPY ipy_rec_type
2998 ) IS
2999 BEGIN
3000 p_to.id := p_from.id;
3001 p_to.ipy_type := p_from.ipy_type;
3002 p_to.name_of_insured := p_from.name_of_insured;
3003 p_to.policy_number := p_from.policy_number;
3004 p_to.insurance_factor := p_from.insurance_factor;
3005 p_to.factor_code := p_from.factor_code;
3006 p_to.calculated_premium := p_from.calculated_premium;
3007 p_to.premium := p_from.premium;
3008 p_to.covered_amount := p_from.covered_amount;
3009 p_to.deductible := p_from.deductible;
3010 p_to.adjustment := p_from.adjustment;
3011 p_to.payment_frequency := p_from.payment_frequency;
3012 p_to.crx_code := p_from.crx_code;
3013 p_to.ipf_code := p_from.ipf_code;
3014 p_to.iss_code := p_from.iss_code;
3015 p_to.ipe_code := p_from.ipe_code;
3016 p_to.date_to := p_from.date_to;
3017 p_to.date_from := p_from.date_from;
3018 p_to.date_quoted := p_from.date_quoted;
3019 p_to.date_proof_provided := p_from.date_proof_provided;
3020 p_to.date_proof_required := p_from.date_proof_required;
3021 p_to.cancellation_date := p_from.cancellation_date;
3022 p_to.date_quote_expiry := p_from.date_quote_expiry;
3023 p_to.activation_date := p_from.activation_date;
3024 p_to.quote_yn := p_from.quote_yn;
3025 p_to.on_file_yn := p_from.on_file_yn;
3026 p_to.private_label_yn := p_from.private_label_yn;
3027 p_to.agent_yn := p_from.agent_yn;
3028 p_to.lessor_insured_yn := p_from.lessor_insured_yn;
3029 p_to.lessor_payee_yn := p_from.lessor_payee_yn;
3030 p_to.khr_id := p_from.khr_id;
3031 p_to.kle_id := p_from.kle_id;
3032 p_to.ipt_id := p_from.ipt_id;
3033 p_to.ipy_id := p_from.ipy_id;
3034 p_to.int_id := p_from.int_id;
3035 p_to.isu_id := p_from.isu_id;
3036 p_to.factor_value := p_from.factor_value;
3037 p_to.agency_number := p_from.agency_number;
3038 p_to.agency_site_id := p_from.agency_site_id;
3039 p_to.sales_rep_id := p_from.sales_rep_id;
3040 p_to.agent_site_id := p_from.agent_site_id;
3041 p_to.adjusted_by_id := p_from.adjusted_by_id;
3042 p_to.territory_code := p_from.territory_code;
3043 p_to.attribute_category := p_from.attribute_category;
3044 p_to.attribute1 := p_from.attribute1;
3045 p_to.attribute2 := p_from.attribute2;
3046 p_to.attribute3 := p_from.attribute3;
3047 p_to.attribute4 := p_from.attribute4;
3048 p_to.attribute5 := p_from.attribute5;
3049 p_to.attribute6 := p_from.attribute6;
3050 p_to.attribute7 := p_from.attribute7;
3051 p_to.attribute8 := p_from.attribute8;
3052 p_to.attribute9 := p_from.attribute9;
3053 p_to.attribute10 := p_from.attribute10;
3054 p_to.attribute11 := p_from.attribute11;
3055 p_to.attribute12 := p_from.attribute12;
3056 p_to.attribute13 := p_from.attribute13;
3057 p_to.attribute14 := p_from.attribute14;
3058 p_to.attribute15 := p_from.attribute15;
3059 p_to.program_id := p_from.program_id;
3060 p_to.org_id := p_from.org_id;
3061 p_to.program_update_date := p_from.program_update_date;
3062 p_to.program_application_id := p_from.program_application_id;
3063 p_to.request_id := p_from.request_id;
3064 p_to.object_version_number := p_from.object_version_number;
3065 p_to.created_by := p_from.created_by;
3066 p_to.creation_date := p_from.creation_date;
3067 p_to.last_updated_by := p_from.last_updated_by;
3068 p_to.last_update_date := p_from.last_update_date;
3069 p_to.last_update_login := p_from.last_update_login;
3070 -- Bug: 4567777 PAGARG new column for Lease Application Functionality impact
3071 p_to.lease_application_id := p_from.lease_application_id;
3072 p_to.legal_entity_id := p_from.legal_entity_id;
3073 END migrate;
3074 PROCEDURE migrate (
3075 p_from IN ipy_rec_type,
3076 p_to IN OUT NOCOPY ipyv_rec_type
3077 ) IS
3078 BEGIN
3079 p_to.id := p_from.id;
3080 p_to.ipy_type := p_from.ipy_type;
3081 p_to.name_of_insured := p_from.name_of_insured;
3082 p_to.policy_number := p_from.policy_number;
3083 p_to.calculated_premium := p_from.calculated_premium;
3084 p_to.premium := p_from.premium;
3085 p_to.covered_amount := p_from.covered_amount;
3086 p_to.deductible := p_from.deductible;
3087 p_to.adjustment := p_from.adjustment;
3088 p_to.payment_frequency := p_from.payment_frequency;
3089 p_to.crx_code := p_from.crx_code;
3090 p_to.ipf_code := p_from.ipf_code;
3091 p_to.iss_code := p_from.iss_code;
3092 p_to.ipe_code := p_from.ipe_code;
3093 p_to.date_to := p_from.date_to;
3094 p_to.date_from := p_from.date_from;
3095 p_to.date_quoted := p_from.date_quoted;
3096 p_to.date_proof_provided := p_from.date_proof_provided;
3097 p_to.date_proof_required := p_from.date_proof_required;
3098 p_to.cancellation_date := p_from.cancellation_date;
3099 p_to.date_quote_expiry := p_from.date_quote_expiry;
3100 p_to.activation_date := p_from.activation_date;
3101 p_to.quote_yn := p_from.quote_yn;
3102 p_to.on_file_yn := p_from.on_file_yn;
3103 p_to.private_label_yn := p_from.private_label_yn;
3104 p_to.agent_yn := p_from.agent_yn;
3105 p_to.lessor_insured_yn := p_from.lessor_insured_yn;
3106 p_to.lessor_payee_yn := p_from.lessor_payee_yn;
3107 p_to.khr_id := p_from.khr_id;
3108 p_to.kle_id := p_from.kle_id;
3109 p_to.ipt_id := p_from.ipt_id;
3110 p_to.ipy_id := p_from.ipy_id;
3111 p_to.int_id := p_from.int_id;
3112 p_to.isu_id := p_from.isu_id;
3113 p_to.insurance_factor := p_from.insurance_factor;
3114 p_to.factor_code := p_from.factor_code;
3115 p_to.factor_value := p_from.factor_value;
3116 p_to.agency_number := p_from.agency_number;
3117 p_to.agency_site_id := p_from.agency_site_id;
3118 p_to.sales_rep_id := p_from.sales_rep_id;
3119 p_to.agent_site_id := p_from.agent_site_id;
3120 p_to.adjusted_by_id := p_from.adjusted_by_id;
3121 p_to.territory_code := p_from.territory_code;
3122 p_to.attribute_category := p_from.attribute_category;
3123 p_to.attribute1 := p_from.attribute1;
3124 p_to.attribute2 := p_from.attribute2;
3125 p_to.attribute3 := p_from.attribute3;
3126 p_to.attribute4 := p_from.attribute4;
3127 p_to.attribute5 := p_from.attribute5;
3128 p_to.attribute6 := p_from.attribute6;
3129 p_to.attribute7 := p_from.attribute7;
3130 p_to.attribute8 := p_from.attribute8;
3131 p_to.attribute9 := p_from.attribute9;
3132 p_to.attribute10 := p_from.attribute10;
3133 p_to.attribute11 := p_from.attribute11;
3134 p_to.attribute12 := p_from.attribute12;
3135 p_to.attribute13 := p_from.attribute13;
3136 p_to.attribute14 := p_from.attribute14;
3137 p_to.attribute15 := p_from.attribute15;
3138 p_to.program_id := p_from.program_id;
3139 p_to.org_id := p_from.org_id;
3140 p_to.program_update_date := p_from.program_update_date;
3141 p_to.program_application_id := p_from.program_application_id;
3142 p_to.request_id := p_from.request_id;
3143 p_to.object_version_number := p_from.object_version_number;
3144 p_to.created_by := p_from.created_by;
3145 p_to.creation_date := p_from.creation_date;
3146 p_to.last_updated_by := p_from.last_updated_by;
3147 p_to.last_update_date := p_from.last_update_date;
3148 p_to.last_update_login := p_from.last_update_login;
3149 -- Bug: 4567777 PAGARG new column for Lease Application Functionality impact
3150 p_to.lease_application_id := p_from.lease_application_id;
3151 p_to.legal_entity_id := p_from.legal_entity_id;
3152 END migrate;
3153 PROCEDURE migrate (
3154 p_from IN ipyv_rec_type,
3155 p_to IN OUT NOCOPY okl_ins_policies_tl_rec_type
3156 ) IS
3157 BEGIN
3158 p_to.id := p_from.id;
3159 p_to.sfwt_flag := p_from.sfwt_flag;
3160 p_to.description := p_from.description;
3161 p_to.endorsement := p_from.endorsement;
3162 p_to.comments := p_from.comments;
3163 p_to.cancellation_comment := p_from.cancellation_comment;
3164 p_to.created_by := p_from.created_by;
3165 p_to.creation_date := p_from.creation_date;
3166 p_to.last_updated_by := p_from.last_updated_by;
3167 p_to.last_update_date := p_from.last_update_date;
3168 p_to.last_update_login := p_from.last_update_login;
3169 END migrate;
3170 PROCEDURE migrate (
3171 p_from IN okl_ins_policies_tl_rec_type,
3172 p_to IN OUT NOCOPY ipyv_rec_type
3173 ) IS
3174 BEGIN
3175 p_to.id := p_from.id;
3176 p_to.description := p_from.description;
3177 p_to.endorsement := p_from.endorsement;
3178 p_to.sfwt_flag := p_from.sfwt_flag;
3179 p_to.cancellation_comment := p_from.cancellation_comment;
3180 p_to.comments := p_from.comments;
3181 p_to.created_by := p_from.created_by;
3182 p_to.creation_date := p_from.creation_date;
3183 p_to.last_updated_by := p_from.last_updated_by;
3184 p_to.last_update_date := p_from.last_update_date;
3185 p_to.last_update_login := p_from.last_update_login;
3186 END migrate;
3187 ---------------------------------------------------------------------------
3188 -- PROCEDURE validate_row
3189 ---------------------------------------------------------------------------
3190 -----------------------------------------
3191 -- validate_row for:OKL_INS_POLICIES_V --
3192 -----------------------------------------
3193 PROCEDURE validate_row(
3194 p_api_version IN NUMBER,
3195 p_init_msg_list IN VARCHAR2 ,
3196 x_return_status OUT NOCOPY VARCHAR2,
3197 x_msg_count OUT NOCOPY NUMBER,
3198 x_msg_data OUT NOCOPY VARCHAR2,
3199 p_ipyv_rec IN ipyv_rec_type) IS
3200 l_api_version CONSTANT NUMBER := 1;
3201 l_api_name CONSTANT VARCHAR2(30) := 'V_validate_row';
3202 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
3203 l_ipyv_rec ipyv_rec_type := p_ipyv_rec;
3204 l_ipy_rec ipy_rec_type;
3205 l_okl_ins_policies_tl_rec okl_ins_policies_tl_rec_type;
3206 BEGIN
3207 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
3208 G_PKG_NAME,
3209 p_init_msg_list,
3210 l_api_version,
3211 p_api_version,
3212 '_PVT',
3213 x_return_status);
3214 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3215 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
3216 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
3217 RAISE OKC_API.G_EXCEPTION_ERROR;
3218 END IF;
3219 --- Validate all non-missing attributes (Item Level Validation)
3220 l_return_status := Validate_Attributes(l_ipyv_rec);
3221 --- If any errors happen abort API
3222 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3223 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
3224 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
3225 RAISE OKC_API.G_EXCEPTION_ERROR;
3226 END IF;
3227 l_return_status := Validate_Record(l_ipyv_rec);
3228 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3229 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
3230 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
3231 RAISE OKC_API.G_EXCEPTION_ERROR;
3232 END IF;
3233 x_return_status := l_return_status;
3234 EXCEPTION
3235 WHEN OKC_API.G_EXCEPTION_ERROR THEN
3236 x_return_status := OKC_API.HANDLE_EXCEPTIONS
3237 (
3238 l_api_name,
3239 G_PKG_NAME,
3240 'OKC_API.G_RET_STS_ERROR',
3241 x_msg_count,
3242 x_msg_data,
3243 '_PVT'
3244 );
3245 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
3246 x_return_status := OKC_API.HANDLE_EXCEPTIONS
3247 (
3248 l_api_name,
3249 G_PKG_NAME,
3250 'OKC_API.G_RET_STS_UNEXP_ERROR',
3251 x_msg_count,
3252 x_msg_data,
3253 '_PVT'
3254 );
3255 WHEN OTHERS THEN
3256 x_return_status := OKC_API.HANDLE_EXCEPTIONS
3257 (
3258 l_api_name,
3259 G_PKG_NAME,
3260 'OTHERS',
3261 x_msg_count,
3262 x_msg_data,
3263 '_PVT'
3264 );
3265 END validate_row;
3266 ----------------------------------------------------
3267 -- PL/SQL TBL validate_row for:OKL_INS_POLICIES_V --
3268 ----------------------------------------------------
3269 PROCEDURE validate_row(
3270 p_api_version IN NUMBER,
3271 p_init_msg_list IN VARCHAR2 ,
3272 x_return_status OUT NOCOPY VARCHAR2,
3273 x_msg_count OUT NOCOPY NUMBER,
3274 x_msg_data OUT NOCOPY VARCHAR2,
3275 p_ipyv_tbl IN ipyv_tbl_type,
3276 px_error_tbl IN OUT NOCOPY OKL_API.ERROR_TBL_TYPE) IS
3277 l_api_version CONSTANT NUMBER := 1;
3278 l_api_name CONSTANT VARCHAR2(30) := 'V_error_tbl_validate_row';
3279 i NUMBER := 0;
3280 BEGIN
3281 OKC_API.init_msg_list(p_init_msg_list);
3282 -- Make sure PL/SQL table has records in it before passing
3283 IF (p_ipyv_tbl.COUNT > 0) THEN
3284 i := p_ipyv_tbl.FIRST;
3285 LOOP
3286 DECLARE
3287 l_error_rec OKL_API.ERROR_REC_TYPE;
3288 BEGIN
3289 l_error_rec.api_name := l_api_name;
3290 l_error_rec.api_package := G_PKG_NAME;
3291 l_error_rec.idx := i;
3292 validate_row (
3293 p_api_version => p_api_version,
3294 p_init_msg_list => OKC_API.G_FALSE,
3295 x_return_status => l_error_rec.error_type,
3296 x_msg_count => l_error_rec.msg_count,
3297 x_msg_data => l_error_rec.msg_data,
3298 p_ipyv_rec => p_ipyv_tbl(i));
3299 IF (l_error_rec.error_type <> OKC_API.G_RET_STS_SUCCESS) THEN
3300 l_error_rec.sqlcode := SQLCODE;
3301 load_error_tbl(l_error_rec, px_error_tbl);
3302 ELSE
3303 x_msg_count := l_error_rec.msg_count;
3304 x_msg_data := l_error_rec.msg_data;
3305 END IF;
3306 EXCEPTION
3307 WHEN OKC_API.G_EXCEPTION_ERROR THEN
3308 l_error_rec.error_type := OKC_API.G_RET_STS_ERROR;
3309 l_error_rec.sqlcode := SQLCODE;
3310 load_error_tbl(l_error_rec, px_error_tbl);
3311 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
3312 l_error_rec.error_type := OKC_API.G_RET_STS_UNEXP_ERROR;
3313 l_error_rec.sqlcode := SQLCODE;
3314 load_error_tbl(l_error_rec, px_error_tbl);
3315 WHEN OTHERS THEN
3316 l_error_rec.error_type := 'OTHERS';
3317 l_error_rec.sqlcode := SQLCODE;
3318 load_error_tbl(l_error_rec, px_error_tbl);
3319 END;
3320 EXIT WHEN (i = p_ipyv_tbl.LAST);
3321 i := p_ipyv_tbl.NEXT(i);
3322 END LOOP;
3323 END IF;
3324 -- Loop through the error_tbl to find the error with the highest severity
3325 -- and return it.
3326 x_return_status := find_highest_exception(px_error_tbl);
3327 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
3328 EXCEPTION
3329 WHEN OKC_API.G_EXCEPTION_ERROR THEN
3330 x_return_status := OKC_API.HANDLE_EXCEPTIONS
3331 (
3332 l_api_name,
3333 G_PKG_NAME,
3334 'OKC_API.G_RET_STS_ERROR',
3335 x_msg_count,
3336 x_msg_data,
3337 '_PVT'
3338 );
3339 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
3340 x_return_status := OKC_API.HANDLE_EXCEPTIONS
3341 (
3342 l_api_name,
3343 G_PKG_NAME,
3344 'OKC_API.G_RET_STS_UNEXP_ERROR',
3345 x_msg_count,
3346 x_msg_data,
3347 '_PVT'
3348 );
3349 WHEN OTHERS THEN
3350 x_return_status := OKC_API.HANDLE_EXCEPTIONS
3351 (
3352 l_api_name,
3353 G_PKG_NAME,
3354 'OTHERS',
3355 x_msg_count,
3356 x_msg_data,
3357 '_PVT'
3358 );
3359 END validate_row;
3360 ----------------------------------------------------
3361 -- PL/SQL TBL validate_row for:OKL_INS_POLICIES_V --
3362 ----------------------------------------------------
3363 PROCEDURE validate_row(
3364 p_api_version IN NUMBER,
3365 p_init_msg_list IN VARCHAR2 ,
3366 x_return_status OUT NOCOPY VARCHAR2,
3367 x_msg_count OUT NOCOPY NUMBER,
3368 x_msg_data OUT NOCOPY VARCHAR2,
3369 p_ipyv_tbl IN ipyv_tbl_type) IS
3370 l_api_version CONSTANT NUMBER := 1;
3371 l_api_name CONSTANT VARCHAR2(30) := 'V_tbl_validate_row';
3372 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
3373 l_error_tbl OKL_API.ERROR_TBL_TYPE;
3374 BEGIN
3375 OKC_API.init_msg_list(p_init_msg_list);
3376 -- Make sure PL/SQL table has records in it before passing
3377 IF (p_ipyv_tbl.COUNT > 0) THEN
3378 validate_row (
3379 p_api_version => p_api_version,
3380 p_init_msg_list => OKC_API.G_FALSE,
3381 x_return_status => x_return_status,
3382 x_msg_count => x_msg_count,
3383 x_msg_data => x_msg_data,
3384 p_ipyv_tbl => p_ipyv_tbl,
3385 px_error_tbl => l_error_tbl);
3386 END IF;
3387 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
3388 EXCEPTION
3389 WHEN OKC_API.G_EXCEPTION_ERROR THEN
3390 x_return_status := OKC_API.HANDLE_EXCEPTIONS
3391 (
3392 l_api_name,
3393 G_PKG_NAME,
3394 'OKC_API.G_RET_STS_ERROR',
3395 x_msg_count,
3396 x_msg_data,
3397 '_PVT'
3398 );
3399 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
3400 x_return_status := OKC_API.HANDLE_EXCEPTIONS
3401 (
3402 l_api_name,
3403 G_PKG_NAME,
3404 'OKC_API.G_RET_STS_UNEXP_ERROR',
3405 x_msg_count,
3406 x_msg_data,
3407 '_PVT'
3408 );
3409 WHEN OTHERS THEN
3410 x_return_status := OKC_API.HANDLE_EXCEPTIONS
3411 (
3412 l_api_name,
3413 G_PKG_NAME,
3414 'OTHERS',
3415 x_msg_count,
3416 x_msg_data,
3417 '_PVT'
3418 );
3419 END validate_row;
3420 ---------------------------------------------------------------------------
3421 -- PROCEDURE insert_row
3422 ---------------------------------------------------------------------------
3423 ---------------------------------------
3424 -- insert_row for:OKL_INS_POLICIES_B --
3425 ---------------------------------------
3426 PROCEDURE insert_row(
3427 p_init_msg_list IN VARCHAR2 ,
3428 x_return_status OUT NOCOPY VARCHAR2,
3429 x_msg_count OUT NOCOPY NUMBER,
3430 x_msg_data OUT NOCOPY VARCHAR2,
3431 p_ipy_rec IN ipy_rec_type,
3432 x_ipy_rec OUT NOCOPY ipy_rec_type) IS
3433 l_api_version CONSTANT NUMBER := 1;
3434 l_api_name CONSTANT VARCHAR2(30) := 'B_insert_row';
3435 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
3436 l_ipy_rec ipy_rec_type := p_ipy_rec;
3437 l_def_ipy_rec ipy_rec_type;
3438 -------------------------------------------
3439 -- Set_Attributes for:OKL_INS_POLICIES_B --
3440 -------------------------------------------
3441 FUNCTION Set_Attributes (
3442 p_ipy_rec IN ipy_rec_type,
3443 x_ipy_rec OUT NOCOPY ipy_rec_type
3444 ) RETURN VARCHAR2 IS
3445 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
3446 l_org_id NUMBER;
3447 BEGIN
3448 x_ipy_rec := p_ipy_rec;
3449 SELECT NVL(DECODE(FND_GLOBAL.CONC_REQUEST_ID,-1,NULL,FND_GLOBAL.CONC_REQUEST_ID),l_ipy_rec.request_id),
3450 NVL(DECODE(FND_GLOBAL.PROG_APPL_ID,-1,NULL,FND_GLOBAL.PROG_APPL_ID),l_ipy_rec.program_application_id),
3451 NVL(DECODE(FND_GLOBAL.CONC_PROGRAM_ID,-1,NULL,FND_GLOBAL.CONC_PROGRAM_ID),l_ipy_rec.program_id),
3452 DECODE(DECODE(FND_GLOBAL.CONC_REQUEST_ID,-1,NULL,SYSDATE),NULL,l_ipy_rec.program_update_date,SYSDATE),
3453 MO_GLOBAL.GET_CURRENT_ORG_ID()
3454 INTO x_ipy_rec.request_id,
3455 x_ipy_rec.program_application_id,
3456 x_ipy_rec.program_id,
3457 x_ipy_rec.program_update_date,
3458 l_org_id -- Change by zrehman for Bug#6363652 9-Oct-2007
3459 FROM dual;
3460 IF (x_ipy_rec.org_id IS NULL OR x_ipy_rec.org_id = OKC_API.G_MISS_NUM) THEN
3461 x_ipy_rec.org_id := l_org_id;
3462 END IF;
3463
3464 RETURN(l_return_status);
3465 END Set_Attributes;
3466 BEGIN
3467 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
3468 p_init_msg_list,
3469 '_PVT',
3470 x_return_status);
3471 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3472 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
3473 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
3474 RAISE OKC_API.G_EXCEPTION_ERROR;
3475 END IF;
3476 --- Setting item atributes
3477 l_return_status := Set_Attributes(
3478 p_ipy_rec, -- IN
3479 l_ipy_rec); -- OUT
3480 --- If any errors happen abort API
3481 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3482 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
3483 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
3484 RAISE OKC_API.G_EXCEPTION_ERROR;
3485 END IF;
3486 INSERT INTO OKL_INS_POLICIES_B(
3487 id,
3488 ipy_type,
3489 name_of_insured,
3490 policy_number,
3491 insurance_factor,
3492 factor_code,
3493 calculated_premium,
3494 premium,
3495 covered_amount,
3496 deductible,
3497 adjustment,
3498 payment_frequency,
3499 crx_code,
3500 ipf_code,
3501 iss_code,
3502 ipe_code,
3503 date_to,
3504 date_from,
3505 date_quoted,
3506 date_proof_provided,
3507 date_proof_required,
3508 cancellation_date,
3509 date_quote_expiry,
3510 activation_date,
3511 quote_yn,
3512 on_file_yn,
3513 private_label_yn,
3514 agent_yn,
3515 lessor_insured_yn,
3516 lessor_payee_yn,
3517 khr_id,
3518 kle_id,
3519 ipt_id,
3520 ipy_id,
3521 int_id,
3522 isu_id,
3523 factor_value,
3524 agency_number,
3525 agency_site_id,
3526 sales_rep_id,
3527 agent_site_id,
3528 adjusted_by_id,
3529 territory_code,
3530 attribute_category,
3531 attribute1,
3532 attribute2,
3533 attribute3,
3534 attribute4,
3535 attribute5,
3536 attribute6,
3537 attribute7,
3538 attribute8,
3539 attribute9,
3540 attribute10,
3541 attribute11,
3542 attribute12,
3543 attribute13,
3544 attribute14,
3545 attribute15,
3546 program_id,
3547 org_id,
3548 program_update_date,
3549 program_application_id,
3550 request_id,
3551 object_version_number,
3552 created_by,
3553 creation_date,
3554 last_updated_by,
3555 last_update_date,
3556 last_update_login,
3557 -- Bug: 4567777 PAGARG new column for Lease Application Functionality impact
3558 lease_application_id,
3559 legal_entity_id)
3560 VALUES (
3561 l_ipy_rec.id,
3562 l_ipy_rec.ipy_type,
3563 l_ipy_rec.name_of_insured,
3564 l_ipy_rec.policy_number,
3565 l_ipy_rec.insurance_factor,
3566 l_ipy_rec.factor_code,
3567 l_ipy_rec.calculated_premium,
3568 l_ipy_rec.premium,
3569 l_ipy_rec.covered_amount,
3570 l_ipy_rec.deductible,
3571 l_ipy_rec.adjustment,
3572 l_ipy_rec.payment_frequency,
3573 l_ipy_rec.crx_code,
3574 l_ipy_rec.ipf_code,
3575 l_ipy_rec.iss_code,
3576 l_ipy_rec.ipe_code,
3577 l_ipy_rec.date_to,
3578 l_ipy_rec.date_from,
3579 l_ipy_rec.date_quoted,
3580 l_ipy_rec.date_proof_provided,
3581 l_ipy_rec.date_proof_required,
3582 l_ipy_rec.cancellation_date,
3583 l_ipy_rec.date_quote_expiry,
3584 l_ipy_rec.activation_date,
3585 l_ipy_rec.quote_yn,
3586 l_ipy_rec.on_file_yn,
3587 l_ipy_rec.private_label_yn,
3588 l_ipy_rec.agent_yn,
3589 l_ipy_rec.lessor_insured_yn,
3590 l_ipy_rec.lessor_payee_yn,
3591 l_ipy_rec.khr_id,
3592 l_ipy_rec.kle_id,
3593 l_ipy_rec.ipt_id,
3594 l_ipy_rec.ipy_id,
3595 l_ipy_rec.int_id,
3596 l_ipy_rec.isu_id,
3597 l_ipy_rec.factor_value,
3598 l_ipy_rec.agency_number,
3599 l_ipy_rec.agency_site_id,
3600 l_ipy_rec.sales_rep_id,
3601 l_ipy_rec.agent_site_id,
3602 l_ipy_rec.adjusted_by_id,
3603 l_ipy_rec.territory_code,
3604 l_ipy_rec.attribute_category,
3605 l_ipy_rec.attribute1,
3606 l_ipy_rec.attribute2,
3607 l_ipy_rec.attribute3,
3608 l_ipy_rec.attribute4,
3609 l_ipy_rec.attribute5,
3610 l_ipy_rec.attribute6,
3611 l_ipy_rec.attribute7,
3612 l_ipy_rec.attribute8,
3613 l_ipy_rec.attribute9,
3614 l_ipy_rec.attribute10,
3615 l_ipy_rec.attribute11,
3616 l_ipy_rec.attribute12,
3617 l_ipy_rec.attribute13,
3618 l_ipy_rec.attribute14,
3619 l_ipy_rec.attribute15,
3620 l_ipy_rec.program_id,
3621 l_ipy_rec.org_id,
3622 l_ipy_rec.program_update_date,
3623 l_ipy_rec.program_application_id,
3624 l_ipy_rec.request_id,
3625 l_ipy_rec.object_version_number,
3626 l_ipy_rec.created_by,
3627 l_ipy_rec.creation_date,
3628 l_ipy_rec.last_updated_by,
3629 l_ipy_rec.last_update_date,
3630 l_ipy_rec.last_update_login,
3631 -- Bug: 4567777 PAGARG new column for Lease Application Functionality impact
3632 l_ipy_rec.lease_application_id,
3633 l_ipy_rec.legal_entity_id);
3634 -- Set OUT values
3635 x_ipy_rec := l_ipy_rec;
3636 x_return_status := l_return_status;
3637 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
3638 EXCEPTION
3639 WHEN OKC_API.G_EXCEPTION_ERROR THEN
3640 x_return_status := OKC_API.HANDLE_EXCEPTIONS
3641 (
3642 l_api_name,
3643 G_PKG_NAME,
3644 'OKC_API.G_RET_STS_ERROR',
3645 x_msg_count,
3646 x_msg_data,
3647 '_PVT'
3648 );
3649 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
3650 x_return_status := OKC_API.HANDLE_EXCEPTIONS
3651 (
3652 l_api_name,
3653 G_PKG_NAME,
3654 'OKC_API.G_RET_STS_UNEXP_ERROR',
3655 x_msg_count,
3656 x_msg_data,
3657 '_PVT'
3658 );
3659 WHEN OTHERS THEN
3660 x_return_status := OKC_API.HANDLE_EXCEPTIONS
3661 (
3662 l_api_name,
3663 G_PKG_NAME,
3664 'OTHERS',
3665 x_msg_count,
3666 x_msg_data,
3667 '_PVT'
3668 );
3669 END insert_row;
3670 ----------------------------------------
3671 -- insert_row for:OKL_INS_POLICIES_TL --
3672 ----------------------------------------
3673 PROCEDURE insert_row(
3674 p_init_msg_list IN VARCHAR2 ,
3675 x_return_status OUT NOCOPY VARCHAR2,
3676 x_msg_count OUT NOCOPY NUMBER,
3677 x_msg_data OUT NOCOPY VARCHAR2,
3678 p_okl_ins_policies_tl_rec IN okl_ins_policies_tl_rec_type,
3679 x_okl_ins_policies_tl_rec OUT NOCOPY okl_ins_policies_tl_rec_type) IS
3680 l_api_version CONSTANT NUMBER := 1;
3681 l_api_name CONSTANT VARCHAR2(30) := 'TL_insert_row';
3682 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
3683 l_okl_ins_policies_tl_rec okl_ins_policies_tl_rec_type := p_okl_ins_policies_tl_rec;
3684 l_def_okl_ins_policies_tl_rec okl_ins_policies_tl_rec_type;
3685 CURSOR get_languages IS
3686 SELECT *
3687 FROM FND_LANGUAGES
3688 WHERE INSTALLED_FLAG IN ('I', 'B');
3689 --------------------------------------------
3690 -- Set_Attributes for:OKL_INS_POLICIES_TL --
3691 --------------------------------------------
3692 FUNCTION Set_Attributes (
3693 p_okl_ins_policies_tl_rec IN okl_ins_policies_tl_rec_type,
3694 x_okl_ins_policies_tl_rec OUT NOCOPY okl_ins_policies_tl_rec_type
3695 ) RETURN VARCHAR2 IS
3696 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
3697 BEGIN
3698 x_okl_ins_policies_tl_rec := p_okl_ins_policies_tl_rec;
3699 x_okl_ins_policies_tl_rec.LANGUAGE := USERENV('LANG');
3700 x_okl_ins_policies_tl_rec.SOURCE_LANG := USERENV('LANG');
3701 RETURN(l_return_status);
3702 END Set_Attributes;
3703 BEGIN
3704 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
3705 p_init_msg_list,
3706 '_PVT',
3707 x_return_status);
3708 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3709 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
3710 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
3711 RAISE OKC_API.G_EXCEPTION_ERROR;
3712 END IF;
3713 --- Setting item attributes
3714 l_return_status := Set_Attributes(
3715 p_okl_ins_policies_tl_rec, -- IN
3716 l_okl_ins_policies_tl_rec); -- OUT
3717 --- If any errors happen abort API
3718 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3719 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
3720 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
3721 RAISE OKC_API.G_EXCEPTION_ERROR;
3722 END IF;
3723 FOR l_lang_rec IN get_languages LOOP
3724 l_okl_ins_policies_tl_rec.language := l_lang_rec.language_code;
3725 INSERT INTO OKL_INS_POLICIES_TL(
3726 id,
3727 language,
3728 source_lang,
3729 sfwt_flag,
3730 description,
3731 endorsement,
3732 comments,
3733 cancellation_comment,
3734 created_by,
3735 creation_date,
3736 last_updated_by,
3737 last_update_date,
3738 last_update_login)
3739 VALUES (
3740 l_okl_ins_policies_tl_rec.id,
3741 l_okl_ins_policies_tl_rec.language,
3742 l_okl_ins_policies_tl_rec.source_lang,
3743 l_okl_ins_policies_tl_rec.sfwt_flag,
3744 l_okl_ins_policies_tl_rec.description,
3745 l_okl_ins_policies_tl_rec.endorsement,
3746 l_okl_ins_policies_tl_rec.comments,
3747 l_okl_ins_policies_tl_rec.cancellation_comment,
3748 l_okl_ins_policies_tl_rec.created_by,
3749 l_okl_ins_policies_tl_rec.creation_date,
3750 l_okl_ins_policies_tl_rec.last_updated_by,
3751 l_okl_ins_policies_tl_rec.last_update_date,
3752 l_okl_ins_policies_tl_rec.last_update_login);
3753 END LOOP;
3754 -- Set OUT values
3755 x_okl_ins_policies_tl_rec := l_okl_ins_policies_tl_rec;
3756 x_return_status := l_return_status;
3757 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
3758 EXCEPTION
3759 WHEN OKC_API.G_EXCEPTION_ERROR THEN
3760 x_return_status := OKC_API.HANDLE_EXCEPTIONS
3761 (
3762 l_api_name,
3763 G_PKG_NAME,
3764 'OKC_API.G_RET_STS_ERROR',
3765 x_msg_count,
3766 x_msg_data,
3767 '_PVT'
3768 );
3769 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
3770 x_return_status := OKC_API.HANDLE_EXCEPTIONS
3771 (
3772 l_api_name,
3773 G_PKG_NAME,
3774 'OKC_API.G_RET_STS_UNEXP_ERROR',
3775 x_msg_count,
3776 x_msg_data,
3777 '_PVT'
3778 );
3779 WHEN OTHERS THEN
3780 x_return_status := OKC_API.HANDLE_EXCEPTIONS
3781 (
3782 l_api_name,
3783 G_PKG_NAME,
3784 'OTHERS',
3785 x_msg_count,
3786 x_msg_data,
3787 '_PVT'
3788 );
3789 END insert_row;
3790 ----------------------------------------
3791 -- insert_row for :OKL_INS_POLICIES_V --
3792 ----------------------------------------
3793 PROCEDURE insert_row(
3794 p_api_version IN NUMBER,
3795 p_init_msg_list IN VARCHAR2 ,
3796 x_return_status OUT NOCOPY VARCHAR2,
3797 x_msg_count OUT NOCOPY NUMBER,
3798 x_msg_data OUT NOCOPY VARCHAR2,
3799 p_ipyv_rec IN ipyv_rec_type,
3800 x_ipyv_rec OUT NOCOPY ipyv_rec_type) IS
3801 l_api_version CONSTANT NUMBER := 1;
3802 l_api_name CONSTANT VARCHAR2(30) := 'V_insert_row';
3803 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
3804 l_ipyv_rec ipyv_rec_type := p_ipyv_rec;
3805 l_def_ipyv_rec ipyv_rec_type;
3806 l_ipy_rec ipy_rec_type;
3807 lx_ipy_rec ipy_rec_type;
3808 l_okl_ins_policies_tl_rec okl_ins_policies_tl_rec_type;
3809 lx_okl_ins_policies_tl_rec okl_ins_policies_tl_rec_type;
3810 -------------------------------
3811 -- FUNCTION fill_who_columns --
3812 -------------------------------
3813 FUNCTION fill_who_columns (
3814 p_ipyv_rec IN ipyv_rec_type
3815 ) RETURN ipyv_rec_type IS
3816 l_ipyv_rec ipyv_rec_type := p_ipyv_rec;
3817 BEGIN
3818 l_ipyv_rec.CREATION_DATE := SYSDATE;
3819 l_ipyv_rec.CREATED_BY := FND_GLOBAL.USER_ID;
3820 l_ipyv_rec.LAST_UPDATE_DATE := l_ipyv_rec.CREATION_DATE;
3821 l_ipyv_rec.LAST_UPDATED_BY := FND_GLOBAL.USER_ID;
3822 l_ipyv_rec.LAST_UPDATE_LOGIN := FND_GLOBAL.LOGIN_ID;
3823 RETURN(l_ipyv_rec);
3824 END fill_who_columns;
3825 -------------------------------------------
3826 -- Set_Attributes for:OKL_INS_POLICIES_V --
3827 -------------------------------------------
3828 FUNCTION Set_Attributes (
3829 p_ipyv_rec IN ipyv_rec_type,
3830 x_ipyv_rec OUT NOCOPY ipyv_rec_type
3831 ) RETURN VARCHAR2 IS
3832 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
3833 l_org_id NUMBER;
3834 BEGIN
3835 x_ipyv_rec := p_ipyv_rec;
3836 x_ipyv_rec.OBJECT_VERSION_NUMBER := 1;
3837 x_ipyv_rec.SFWT_FLAG := 'N';
3838 SELECT DECODE(FND_GLOBAL.CONC_REQUEST_ID,-1,NULL,FND_GLOBAL.CONC_REQUEST_ID),
3839 DECODE(FND_GLOBAL.PROG_APPL_ID,-1,NULL,FND_GLOBAL.PROG_APPL_ID),
3840 DECODE(FND_GLOBAL.CONC_PROGRAM_ID,-1,NULL,FND_GLOBAL.CONC_PROGRAM_ID),
3841 DECODE(FND_GLOBAL.CONC_REQUEST_ID,-1,NULL,SYSDATE),
3842 MO_GLOBAL.GET_CURRENT_ORG_ID()
3843 INTO x_ipyv_rec.request_id,
3844 x_ipyv_rec.program_application_id,
3845 x_ipyv_rec.program_id,
3846 x_ipyv_rec.program_update_date,
3847 l_org_id ---- Change by zrehman for Bug#6363652 9-Oct-2007
3848 FROM dual;
3849 IF(x_ipyv_rec.org_id IS NULL OR x_ipyv_rec.org_id = OKC_API.G_MISS_NUM) THEN
3850 x_ipyv_rec.org_id := l_org_id;
3851 END IF;
3852 RETURN(l_return_status);
3853 END Set_Attributes;
3854
3855 -------------------------------------------
3856 -- Set_adjustedby_Id for:OKL_INS_POLICIES_V --
3857 --added as a fix for bug 2513901
3858 -------------------------------------------
3859 FUNCTION set_adjustedby_id(
3860 p_ipyv_rec IN ipyv_rec_type
3861 )RETURN ipyv_rec_type IS
3862 l_ipyv_rec_type ipyv_rec_type:=p_ipyv_rec;
3863 Begin
3864 IF (l_ipyv_rec_type.adjustment IS NOT NULL) THEN
3865 l_ipyv_rec_type.adjusted_by_id := FND_GLOBAL.USER_ID;
3866 END IF;
3867 return (l_ipyv_rec_type);
3868 End set_adjustedby_id;
3869
3870 BEGIN
3871 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
3872 G_PKG_NAME,
3873 p_init_msg_list,
3874 l_api_version,
3875 p_api_version,
3876 '_PVT',
3877 x_return_status);
3878 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3879 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
3880 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
3881 RAISE OKC_API.G_EXCEPTION_ERROR;
3882 END IF;
3883 l_ipyv_rec := null_out_defaults(p_ipyv_rec);
3884 -- Set primary key value
3885 l_ipyv_rec.ID := get_seq_id;
3886 -- Setting item attributes
3887 l_return_Status := Set_Attributes(
3888 l_ipyv_rec, -- IN
3889 l_def_ipyv_rec); -- OUT
3890 --- If any errors happen abort API
3891 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3892 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
3893 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
3894 RAISE OKC_API.G_EXCEPTION_ERROR;
3895 END IF;
3896 l_def_ipyv_rec := fill_who_columns(l_def_ipyv_rec);
3897 --- Validate all non-missing attributes (Item Level Validation)
3898 l_return_status := Validate_Attributes(l_def_ipyv_rec);
3899 --- If any errors happen abort API
3900 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3901 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
3902 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
3903 RAISE OKC_API.G_EXCEPTION_ERROR;
3904 END IF;
3905 --Added for bug 2513901
3906 -- Setting adjusted by ID
3907 l_def_ipyv_rec := set_adjustedby_id(l_def_ipyv_rec);
3908 l_return_status := Validate_Record(l_def_ipyv_rec);
3909 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3910 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
3911 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
3912 RAISE OKC_API.G_EXCEPTION_ERROR;
3913 END IF;
3914 -----------------------------------------
3915 -- Move VIEW record to "Child" records --
3916 -----------------------------------------
3917 migrate(l_def_ipyv_rec, l_ipy_rec);
3918 migrate(l_def_ipyv_rec, l_okl_ins_policies_tl_rec);
3919 -----------------------------------------------
3920 -- Call the INSERT_ROW for each child record --
3921 -----------------------------------------------
3922 insert_row(
3923 p_init_msg_list,
3924 l_return_status,
3925 x_msg_count,
3926 x_msg_data,
3927 l_ipy_rec,
3928 lx_ipy_rec
3929 );
3930 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3931 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
3932 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
3933 RAISE OKC_API.G_EXCEPTION_ERROR;
3934 END IF;
3935 migrate(lx_ipy_rec, l_def_ipyv_rec);
3936 insert_row(
3937 p_init_msg_list,
3938 l_return_status,
3939 x_msg_count,
3940 x_msg_data,
3941 l_okl_ins_policies_tl_rec,
3942 lx_okl_ins_policies_tl_rec
3943 );
3944 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3945 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
3946 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
3947 RAISE OKC_API.G_EXCEPTION_ERROR;
3948 END IF;
3949 migrate(lx_okl_ins_policies_tl_rec, l_def_ipyv_rec);
3950 -- Set OUT values
3951 x_ipyv_rec := l_def_ipyv_rec;
3952 x_return_status := l_return_status;
3953 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
3954 EXCEPTION
3955 WHEN OKC_API.G_EXCEPTION_ERROR THEN
3956 x_return_status := OKC_API.HANDLE_EXCEPTIONS
3957 (
3958 l_api_name,
3959 G_PKG_NAME,
3960 'OKC_API.G_RET_STS_ERROR',
3961 x_msg_count,
3962 x_msg_data,
3963 '_PVT'
3964 );
3965 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
3966 x_return_status := OKC_API.HANDLE_EXCEPTIONS
3967 (
3968 l_api_name,
3969 G_PKG_NAME,
3970 'OKC_API.G_RET_STS_UNEXP_ERROR',
3971 x_msg_count,
3972 x_msg_data,
3973 '_PVT'
3974 );
3975 WHEN OTHERS THEN
3976 x_return_status := OKC_API.HANDLE_EXCEPTIONS
3977 (
3978 l_api_name,
3979 G_PKG_NAME,
3980 'OTHERS',
3981 x_msg_count,
3982 x_msg_data,
3983 '_PVT'
3984 );
3985 END insert_row;
3986 ----------------------------------------
3987 -- PL/SQL TBL insert_row for:IPYV_TBL --
3988 ----------------------------------------
3989 PROCEDURE insert_row(
3990 p_api_version IN NUMBER,
3991 p_init_msg_list IN VARCHAR2 ,
3992 x_return_status OUT NOCOPY VARCHAR2,
3993 x_msg_count OUT NOCOPY NUMBER,
3994 x_msg_data OUT NOCOPY VARCHAR2,
3995 p_ipyv_tbl IN ipyv_tbl_type,
3996 x_ipyv_tbl OUT NOCOPY ipyv_tbl_type,
3997 px_error_tbl IN OUT NOCOPY OKL_API.ERROR_TBL_TYPE) IS
3998 l_api_version CONSTANT NUMBER := 1;
3999 l_api_name CONSTANT VARCHAR2(30) := 'V_error_tbl_insert_row';
4000 i NUMBER := 0;
4001 BEGIN
4002 OKC_API.init_msg_list(p_init_msg_list);
4003 -- Make sure PL/SQL table has records in it before passing
4004 IF (p_ipyv_tbl.COUNT > 0) THEN
4005 i := p_ipyv_tbl.FIRST;
4006 LOOP
4007 DECLARE
4008 l_error_rec OKL_API.ERROR_REC_TYPE;
4009 BEGIN
4010 l_error_rec.api_name := l_api_name;
4011 l_error_rec.api_package := G_PKG_NAME;
4012 l_error_rec.idx := i;
4013 insert_row (
4014 p_api_version => p_api_version,
4015 p_init_msg_list => OKC_API.G_FALSE,
4016 x_return_status => l_error_rec.error_type,
4017 x_msg_count => l_error_rec.msg_count,
4018 x_msg_data => l_error_rec.msg_data,
4019 p_ipyv_rec => p_ipyv_tbl(i),
4020 x_ipyv_rec => x_ipyv_tbl(i));
4021 IF (l_error_rec.error_type <> OKC_API.G_RET_STS_SUCCESS) THEN
4022 l_error_rec.sqlcode := SQLCODE;
4023 load_error_tbl(l_error_rec, px_error_tbl);
4024 ELSE
4025 x_msg_count := l_error_rec.msg_count;
4026 x_msg_data := l_error_rec.msg_data;
4027 END IF;
4028 EXCEPTION
4029 WHEN OKC_API.G_EXCEPTION_ERROR THEN
4030 l_error_rec.error_type := OKC_API.G_RET_STS_ERROR;
4031 l_error_rec.sqlcode := SQLCODE;
4032 load_error_tbl(l_error_rec, px_error_tbl);
4033 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
4034 l_error_rec.error_type := OKC_API.G_RET_STS_UNEXP_ERROR;
4035 l_error_rec.sqlcode := SQLCODE;
4036 load_error_tbl(l_error_rec, px_error_tbl);
4037 WHEN OTHERS THEN
4038 l_error_rec.error_type := 'OTHERS';
4039 l_error_rec.sqlcode := SQLCODE;
4040 load_error_tbl(l_error_rec, px_error_tbl);
4041 END;
4042 EXIT WHEN (i = p_ipyv_tbl.LAST);
4043 i := p_ipyv_tbl.NEXT(i);
4044 END LOOP;
4045 END IF;
4046 -- Loop through the error_tbl to find the error with the highest severity
4047 -- and return it.
4048 x_return_status := find_highest_exception(px_error_tbl);
4049 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
4050 EXCEPTION
4051 WHEN OKC_API.G_EXCEPTION_ERROR THEN
4052 x_return_status := OKC_API.HANDLE_EXCEPTIONS
4053 (
4054 l_api_name,
4055 G_PKG_NAME,
4056 'OKC_API.G_RET_STS_ERROR',
4057 x_msg_count,
4058 x_msg_data,
4059 '_PVT'
4060 );
4061 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
4062 x_return_status := OKC_API.HANDLE_EXCEPTIONS
4063 (
4064 l_api_name,
4065 G_PKG_NAME,
4066 'OKC_API.G_RET_STS_UNEXP_ERROR',
4067 x_msg_count,
4068 x_msg_data,
4069 '_PVT'
4070 );
4071 WHEN OTHERS THEN
4072 x_return_status := OKC_API.HANDLE_EXCEPTIONS
4073 (
4074 l_api_name,
4075 G_PKG_NAME,
4076 'OTHERS',
4077 x_msg_count,
4078 x_msg_data,
4079 '_PVT'
4080 );
4081 END insert_row;
4082 ----------------------------------------
4083 -- PL/SQL TBL insert_row for:IPYV_TBL --
4084 ----------------------------------------
4085 PROCEDURE insert_row(
4086 p_api_version IN NUMBER,
4087 p_init_msg_list IN VARCHAR2 ,
4088 x_return_status OUT NOCOPY VARCHAR2,
4089 x_msg_count OUT NOCOPY NUMBER,
4090 x_msg_data OUT NOCOPY VARCHAR2,
4091 p_ipyv_tbl IN ipyv_tbl_type,
4092 x_ipyv_tbl OUT NOCOPY ipyv_tbl_type) IS
4093 l_api_version CONSTANT NUMBER := 1;
4094 l_api_name CONSTANT VARCHAR2(30) := 'V_tbl_insert_row';
4095 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
4096 l_error_tbl OKL_API.ERROR_TBL_TYPE;
4097 BEGIN
4098 OKC_API.init_msg_list(p_init_msg_list);
4099 -- Make sure PL/SQL table has records in it before passing
4100 IF (p_ipyv_tbl.COUNT > 0) THEN
4101 insert_row (
4102 p_api_version => p_api_version,
4103 p_init_msg_list => OKC_API.G_FALSE,
4104 x_return_status => x_return_status,
4105 x_msg_count => x_msg_count,
4106 x_msg_data => x_msg_data,
4107 p_ipyv_tbl => p_ipyv_tbl,
4108 x_ipyv_tbl => x_ipyv_tbl,
4109 px_error_tbl => l_error_tbl);
4110 END IF;
4111 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
4112 EXCEPTION
4113 WHEN OKC_API.G_EXCEPTION_ERROR THEN
4114 x_return_status := OKC_API.HANDLE_EXCEPTIONS
4115 (
4116 l_api_name,
4117 G_PKG_NAME,
4118 'OKC_API.G_RET_STS_ERROR',
4119 x_msg_count,
4120 x_msg_data,
4121 '_PVT'
4122 );
4123 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
4124 x_return_status := OKC_API.HANDLE_EXCEPTIONS
4125 (
4126 l_api_name,
4127 G_PKG_NAME,
4128 'OKC_API.G_RET_STS_UNEXP_ERROR',
4129 x_msg_count,
4130 x_msg_data,
4131 '_PVT'
4132 );
4133 WHEN OTHERS THEN
4134 x_return_status := OKC_API.HANDLE_EXCEPTIONS
4135 (
4136 l_api_name,
4137 G_PKG_NAME,
4138 'OTHERS',
4139 x_msg_count,
4140 x_msg_data,
4141 '_PVT'
4142 );
4143 END insert_row;
4144 ---------------------------------------------------------------------------
4145 -- PROCEDURE lock_row
4146 ---------------------------------------------------------------------------
4147 -------------------------------------
4148 -- lock_row for:OKL_INS_POLICIES_B --
4149 -------------------------------------
4150 PROCEDURE lock_row(
4151 p_init_msg_list IN VARCHAR2 ,
4152 x_return_status OUT NOCOPY VARCHAR2,
4153 x_msg_count OUT NOCOPY NUMBER,
4154 x_msg_data OUT NOCOPY VARCHAR2,
4155 p_ipy_rec IN ipy_rec_type) IS
4156 E_Resource_Busy EXCEPTION;
4157 PRAGMA EXCEPTION_INIT(E_Resource_Busy, -00054);
4158 CURSOR lock_csr (p_ipy_rec IN ipy_rec_type) IS
4159 SELECT OBJECT_VERSION_NUMBER
4160 FROM OKL_INS_POLICIES_B
4161 WHERE ID = p_ipy_rec.id
4162 AND OBJECT_VERSION_NUMBER = p_ipy_rec.object_version_number
4163 FOR UPDATE OF OBJECT_VERSION_NUMBER NOWAIT;
4164 CURSOR lchk_csr (p_ipy_rec IN ipy_rec_type) IS
4165 SELECT OBJECT_VERSION_NUMBER
4166 FROM OKL_INS_POLICIES_B
4167 WHERE ID = p_ipy_rec.id;
4168 l_api_version CONSTANT NUMBER := 1;
4169 l_api_name CONSTANT VARCHAR2(30) := 'B_lock_row';
4170 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
4171 l_object_version_number OKL_INS_POLICIES_B.OBJECT_VERSION_NUMBER%TYPE;
4172 lc_object_version_number OKL_INS_POLICIES_B.OBJECT_VERSION_NUMBER%TYPE;
4173 l_row_notfound BOOLEAN := FALSE;
4174 lc_row_notfound BOOLEAN := FALSE;
4175 BEGIN
4176 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
4177 p_init_msg_list,
4178 '_PVT',
4179 x_return_status);
4180 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
4181 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
4182 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
4183 RAISE OKC_API.G_EXCEPTION_ERROR;
4184 END IF;
4185 BEGIN
4186 OPEN lock_csr(p_ipy_rec);
4187 FETCH lock_csr INTO l_object_version_number;
4188 l_row_notfound := lock_csr%NOTFOUND;
4189 CLOSE lock_csr;
4190 EXCEPTION
4191 WHEN E_Resource_Busy THEN
4192 IF (lock_csr%ISOPEN) THEN
4193 CLOSE lock_csr;
4194 END IF;
4195 OKC_API.set_message(G_FND_APP,G_FORM_UNABLE_TO_RESERVE_REC);
4196 RAISE APP_EXCEPTIONS.RECORD_LOCK_EXCEPTION;
4197 END;
4198 IF ( l_row_notfound ) THEN
4199 OPEN lchk_csr(p_ipy_rec);
4200 FETCH lchk_csr INTO lc_object_version_number;
4201 lc_row_notfound := lchk_csr%NOTFOUND;
4202 CLOSE lchk_csr;
4203 END IF;
4204 IF (lc_row_notfound) THEN
4205 OKC_API.set_message(G_FND_APP,G_FORM_RECORD_DELETED);
4206 RAISE OKC_API.G_EXCEPTION_ERROR;
4207 ELSIF lc_object_version_number > p_ipy_rec.object_version_number THEN
4208 OKC_API.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
4209 RAISE OKC_API.G_EXCEPTION_ERROR;
4210 ELSIF lc_object_version_number <> p_ipy_rec.object_version_number THEN
4211 OKC_API.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
4212 RAISE OKC_API.G_EXCEPTION_ERROR;
4213 ELSIF lc_object_version_number = -1 THEN
4214 OKC_API.set_message(G_APP_NAME,G_RECORD_LOGICALLY_DELETED);
4215 RAISE OKC_API.G_EXCEPTION_ERROR;
4216 END IF;
4217 x_return_status := l_return_status;
4218 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
4219 EXCEPTION
4220 WHEN OKC_API.G_EXCEPTION_ERROR THEN
4221 x_return_status := OKC_API.HANDLE_EXCEPTIONS
4222 (
4223 l_api_name,
4224 G_PKG_NAME,
4225 'OKC_API.G_RET_STS_ERROR',
4226 x_msg_count,
4227 x_msg_data,
4228 '_PVT'
4229 );
4230 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
4231 x_return_status := OKC_API.HANDLE_EXCEPTIONS
4232 (
4233 l_api_name,
4234 G_PKG_NAME,
4235 'OKC_API.G_RET_STS_UNEXP_ERROR',
4236 x_msg_count,
4237 x_msg_data,
4238 '_PVT'
4239 );
4240 WHEN OTHERS THEN
4241 x_return_status := OKC_API.HANDLE_EXCEPTIONS
4242 (
4243 l_api_name,
4244 G_PKG_NAME,
4245 'OTHERS',
4246 x_msg_count,
4247 x_msg_data,
4248 '_PVT'
4249 );
4250 END lock_row;
4251 --------------------------------------
4252 -- lock_row for:OKL_INS_POLICIES_TL --
4253 --------------------------------------
4254 PROCEDURE lock_row(
4255 p_init_msg_list IN VARCHAR2 ,
4256 x_return_status OUT NOCOPY VARCHAR2,
4257 x_msg_count OUT NOCOPY NUMBER,
4258 x_msg_data OUT NOCOPY VARCHAR2,
4259 p_okl_ins_policies_tl_rec IN okl_ins_policies_tl_rec_type) IS
4260 E_Resource_Busy EXCEPTION;
4261 PRAGMA EXCEPTION_INIT(E_Resource_Busy, -00054);
4262 CURSOR lock_csr (p_okl_ins_policies_tl_rec IN okl_ins_policies_tl_rec_type) IS
4263 SELECT *
4264 FROM OKL_INS_POLICIES_TL
4265 WHERE ID = p_okl_ins_policies_tl_rec.id
4266 FOR UPDATE NOWAIT;
4267 l_api_version CONSTANT NUMBER := 1;
4268 l_api_name CONSTANT VARCHAR2(30) := 'TL_lock_row';
4269 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
4270 l_lock_var lock_csr%ROWTYPE;
4271 l_row_notfound BOOLEAN := FALSE;
4272 lc_row_notfound BOOLEAN := FALSE;
4273 BEGIN
4274 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
4275 p_init_msg_list,
4276 '_PVT',
4277 x_return_status);
4278 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
4279 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
4280 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
4281 RAISE OKC_API.G_EXCEPTION_ERROR;
4282 END IF;
4283 BEGIN
4284 OPEN lock_csr(p_okl_ins_policies_tl_rec);
4285 FETCH lock_csr INTO l_lock_var;
4286 l_row_notfound := lock_csr%NOTFOUND;
4287 CLOSE lock_csr;
4288 EXCEPTION
4289 WHEN E_Resource_Busy THEN
4290 IF (lock_csr%ISOPEN) THEN
4291 CLOSE lock_csr;
4292 END IF;
4293 OKC_API.set_message(G_FND_APP,G_FORM_UNABLE_TO_RESERVE_REC);
4294 RAISE APP_EXCEPTIONS.RECORD_LOCK_EXCEPTION;
4295 END;
4296 IF ( l_row_notfound ) THEN
4297 OKC_API.set_message(G_FND_APP,G_FORM_RECORD_DELETED);
4298 RAISE OKC_API.G_EXCEPTION_ERROR;
4299 END IF;
4300 x_return_status := l_return_status;
4301 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
4302 EXCEPTION
4303 WHEN OKC_API.G_EXCEPTION_ERROR THEN
4304 x_return_status := OKC_API.HANDLE_EXCEPTIONS
4305 (
4306 l_api_name,
4307 G_PKG_NAME,
4308 'OKC_API.G_RET_STS_ERROR',
4309 x_msg_count,
4310 x_msg_data,
4311 '_PVT'
4312 );
4313 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
4314 x_return_status := OKC_API.HANDLE_EXCEPTIONS
4315 (
4316 l_api_name,
4317 G_PKG_NAME,
4318 'OKC_API.G_RET_STS_UNEXP_ERROR',
4319 x_msg_count,
4320 x_msg_data,
4321 '_PVT'
4322 );
4323 WHEN OTHERS THEN
4324 x_return_status := OKC_API.HANDLE_EXCEPTIONS
4325 (
4326 l_api_name,
4327 G_PKG_NAME,
4328 'OTHERS',
4329 x_msg_count,
4330 x_msg_data,
4331 '_PVT'
4332 );
4333 END lock_row;
4334 --------------------------------------
4335 -- lock_row for: OKL_INS_POLICIES_V --
4336 --------------------------------------
4337 PROCEDURE lock_row(
4338 p_api_version IN NUMBER,
4339 p_init_msg_list IN VARCHAR2 ,
4340 x_return_status OUT NOCOPY VARCHAR2,
4341 x_msg_count OUT NOCOPY NUMBER,
4342 x_msg_data OUT NOCOPY VARCHAR2,
4343 p_ipyv_rec IN ipyv_rec_type) IS
4344 l_api_version CONSTANT NUMBER := 1;
4345 l_api_name CONSTANT VARCHAR2(30) := 'V_lock_row';
4346 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
4347 l_ipy_rec ipy_rec_type;
4348 l_okl_ins_policies_tl_rec okl_ins_policies_tl_rec_type;
4349 BEGIN
4350 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
4351 G_PKG_NAME,
4352 p_init_msg_list,
4353 l_api_version,
4354 p_api_version,
4355 '_PVT',
4356 x_return_status);
4357 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
4358 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
4359 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
4360 RAISE OKC_API.G_EXCEPTION_ERROR;
4361 END IF;
4362 -----------------------------------------
4363 -- Move VIEW record to "Child" records --
4364 -----------------------------------------
4365 migrate(p_ipyv_rec, l_ipy_rec);
4366 migrate(p_ipyv_rec, l_okl_ins_policies_tl_rec);
4367 ---------------------------------------------
4368 -- Call the LOCK_ROW for each child record --
4369 ---------------------------------------------
4370 lock_row(
4371 p_init_msg_list,
4372 l_return_status,
4373 x_msg_count,
4374 x_msg_data,
4375 l_ipy_rec
4376 );
4377 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
4378 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
4379 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
4380 RAISE OKC_API.G_EXCEPTION_ERROR;
4381 END IF;
4382 lock_row(
4383 p_init_msg_list,
4384 l_return_status,
4385 x_msg_count,
4386 x_msg_data,
4387 l_okl_ins_policies_tl_rec
4388 );
4389 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
4390 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
4391 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
4392 RAISE OKC_API.G_EXCEPTION_ERROR;
4393 END IF;
4394 x_return_status := l_return_status;
4395 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
4396 EXCEPTION
4397 WHEN OKC_API.G_EXCEPTION_ERROR THEN
4398 x_return_status := OKC_API.HANDLE_EXCEPTIONS
4399 (
4400 l_api_name,
4401 G_PKG_NAME,
4402 'OKC_API.G_RET_STS_ERROR',
4403 x_msg_count,
4404 x_msg_data,
4405 '_PVT'
4406 );
4407 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
4408 x_return_status := OKC_API.HANDLE_EXCEPTIONS
4409 (
4410 l_api_name,
4411 G_PKG_NAME,
4412 'OKC_API.G_RET_STS_UNEXP_ERROR',
4413 x_msg_count,
4414 x_msg_data,
4415 '_PVT'
4416 );
4417 WHEN OTHERS THEN
4418 x_return_status := OKC_API.HANDLE_EXCEPTIONS
4419 (
4420 l_api_name,
4421 G_PKG_NAME,
4422 'OTHERS',
4423 x_msg_count,
4424 x_msg_data,
4425 '_PVT'
4426 );
4427 END lock_row;
4428 --------------------------------------
4429 -- PL/SQL TBL lock_row for:IPYV_TBL --
4430 --------------------------------------
4431 PROCEDURE lock_row(
4432 p_api_version IN NUMBER,
4433 p_init_msg_list IN VARCHAR2 ,
4434 x_return_status OUT NOCOPY VARCHAR2,
4435 x_msg_count OUT NOCOPY NUMBER,
4436 x_msg_data OUT NOCOPY VARCHAR2,
4437 p_ipyv_tbl IN ipyv_tbl_type,
4438 px_error_tbl IN OUT NOCOPY OKL_API.ERROR_TBL_TYPE) IS
4439 l_api_version CONSTANT NUMBER := 1;
4440 l_api_name CONSTANT VARCHAR2(30) := 'V_error_tbl_lock_row';
4441 i NUMBER := 0;
4442 BEGIN
4443 OKC_API.init_msg_list(p_init_msg_list);
4444 -- Make sure PL/SQL table has recrods in it before passing
4445 IF (p_ipyv_tbl.COUNT > 0) THEN
4446 i := p_ipyv_tbl.FIRST;
4447 LOOP
4448 DECLARE
4449 l_error_rec OKL_API.ERROR_REC_TYPE;
4450 BEGIN
4451 l_error_rec.api_name := l_api_name;
4452 l_error_rec.api_package := G_PKG_NAME;
4453 l_error_rec.idx := i;
4454 lock_row(
4455 p_api_version => p_api_version,
4456 p_init_msg_list => OKC_API.G_FALSE,
4457 x_return_status => l_error_rec.error_type,
4458 x_msg_count => l_error_rec.msg_count,
4459 x_msg_data => l_error_rec.msg_data,
4460 p_ipyv_rec => p_ipyv_tbl(i));
4461 IF (l_error_rec.error_type <> OKC_API.G_RET_STS_SUCCESS) THEN
4462 l_error_rec.sqlcode := SQLCODE;
4463 load_error_tbl(l_error_rec, px_error_tbl);
4464 ELSE
4465 x_msg_count := l_error_rec.msg_count;
4466 x_msg_data := l_error_rec.msg_data;
4467 END IF;
4468 EXCEPTION
4469 WHEN OKC_API.G_EXCEPTION_ERROR THEN
4470 l_error_rec.error_type := OKC_API.G_RET_STS_ERROR;
4471 l_error_rec.sqlcode := SQLCODE;
4472 load_error_tbl(l_error_rec, px_error_tbl);
4473 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
4474 l_error_rec.error_type := OKC_API.G_RET_STS_UNEXP_ERROR;
4475 l_error_rec.sqlcode := SQLCODE;
4476 load_error_tbl(l_error_rec, px_error_tbl);
4477 WHEN OTHERS THEN
4478 l_error_rec.error_type := 'OTHERS';
4479 l_error_rec.sqlcode := SQLCODE;
4480 load_error_tbl(l_error_rec, px_error_tbl);
4481 END;
4482 EXIT WHEN (i = p_ipyv_tbl.LAST);
4483 i := p_ipyv_tbl.NEXT(i);
4484 END LOOP;
4485 END IF;
4486 -- Loop through the error_tbl to find the error with the highest severity
4487 -- and return it.
4488 x_return_status := find_highest_exception(px_error_tbl);
4489 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
4490 EXCEPTION
4491 WHEN OKC_API.G_EXCEPTION_ERROR THEN
4492 x_return_status := OKC_API.HANDLE_EXCEPTIONS
4493 (
4494 l_api_name,
4495 G_PKG_NAME,
4496 'OKC_API.G_RET_STS_ERROR',
4497 x_msg_count,
4498 x_msg_data,
4499 '_PVT'
4500 );
4501 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
4502 x_return_status := OKC_API.HANDLE_EXCEPTIONS
4503 (
4504 l_api_name,
4505 G_PKG_NAME,
4506 'OKC_API.G_RET_STS_UNEXP_ERROR',
4507 x_msg_count,
4508 x_msg_data,
4509 '_PVT'
4510 );
4511 WHEN OTHERS THEN
4512 x_return_status := OKC_API.HANDLE_EXCEPTIONS
4513 (
4514 l_api_name,
4515 G_PKG_NAME,
4516 'OTHERS',
4517 x_msg_count,
4518 x_msg_data,
4519 '_PVT'
4520 );
4521 END lock_row;
4522 --------------------------------------
4523 -- PL/SQL TBL lock_row for:IPYV_TBL --
4524 --------------------------------------
4525 PROCEDURE lock_row(
4526 p_api_version IN NUMBER,
4527 p_init_msg_list IN VARCHAR2 ,
4528 x_return_status OUT NOCOPY VARCHAR2,
4529 x_msg_count OUT NOCOPY NUMBER,
4530 x_msg_data OUT NOCOPY VARCHAR2,
4531 p_ipyv_tbl IN ipyv_tbl_type) IS
4532 l_api_version CONSTANT NUMBER := 1;
4533 l_api_name CONSTANT VARCHAR2(30) := 'V_tbl_lock_row';
4534 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
4535 l_error_tbl OKL_API.ERROR_TBL_TYPE;
4536 BEGIN
4537 OKC_API.init_msg_list(p_init_msg_list);
4538 -- Make sure PL/SQL table has recrods in it before passing
4539 IF (p_ipyv_tbl.COUNT > 0) THEN
4540 lock_row(
4541 p_api_version => p_api_version,
4542 p_init_msg_list => OKC_API.G_FALSE,
4543 x_return_status => x_return_status,
4544 x_msg_count => x_msg_count,
4545 x_msg_data => x_msg_data,
4546 p_ipyv_tbl => p_ipyv_tbl,
4547 px_error_tbl => l_error_tbl);
4548 END IF;
4549 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
4550 EXCEPTION
4551 WHEN OKC_API.G_EXCEPTION_ERROR THEN
4552 x_return_status := OKC_API.HANDLE_EXCEPTIONS
4553 (
4554 l_api_name,
4555 G_PKG_NAME,
4556 'OKC_API.G_RET_STS_ERROR',
4557 x_msg_count,
4558 x_msg_data,
4559 '_PVT'
4560 );
4561 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
4562 x_return_status := OKC_API.HANDLE_EXCEPTIONS
4563 (
4564 l_api_name,
4565 G_PKG_NAME,
4566 'OKC_API.G_RET_STS_UNEXP_ERROR',
4567 x_msg_count,
4568 x_msg_data,
4569 '_PVT'
4570 );
4571 WHEN OTHERS THEN
4572 x_return_status := OKC_API.HANDLE_EXCEPTIONS
4573 (
4574 l_api_name,
4575 G_PKG_NAME,
4576 'OTHERS',
4577 x_msg_count,
4578 x_msg_data,
4579 '_PVT'
4580 );
4581 END lock_row;
4582 ---------------------------------------------------------------------------
4583 -- PROCEDURE update_row
4584 ---------------------------------------------------------------------------
4585 ---------------------------------------
4586 -- update_row for:OKL_INS_POLICIES_B --
4587 ---------------------------------------
4588 PROCEDURE update_row(
4589 p_init_msg_list IN VARCHAR2 ,
4590 x_return_status OUT NOCOPY VARCHAR2,
4591 x_msg_count OUT NOCOPY NUMBER,
4592 x_msg_data OUT NOCOPY VARCHAR2,
4593 p_ipy_rec IN ipy_rec_type,
4594 x_ipy_rec OUT NOCOPY ipy_rec_type) IS
4595 l_api_version CONSTANT NUMBER := 1;
4596 l_api_name CONSTANT VARCHAR2(30) := 'B_update_row';
4597 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
4598 l_ipy_rec ipy_rec_type := p_ipy_rec;
4599 l_def_ipy_rec ipy_rec_type;
4600 l_row_notfound BOOLEAN := TRUE;
4601 ----------------------------------
4602 -- FUNCTION populate_new_record --
4603 ----------------------------------
4604 FUNCTION populate_new_record (
4605 p_ipy_rec IN ipy_rec_type,
4606 x_ipy_rec OUT NOCOPY ipy_rec_type
4607 ) RETURN VARCHAR2 IS
4608 l_ipy_rec ipy_rec_type;
4609 l_row_notfound BOOLEAN := TRUE;
4610 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
4611 BEGIN
4612 x_ipy_rec := p_ipy_rec;
4613 -- Get current database values
4614 l_ipy_rec := get_rec(p_ipy_rec, l_return_status);
4615 IF (l_return_status = OKC_API.G_RET_STS_SUCCESS) THEN
4616 IF (x_ipy_rec.id = OKC_API.G_MISS_NUM)
4617 THEN
4618 x_ipy_rec.id := l_ipy_rec.id;
4619 END IF;
4620 IF (x_ipy_rec.ipy_type = OKC_API.G_MISS_CHAR)
4621 THEN
4622 x_ipy_rec.ipy_type := l_ipy_rec.ipy_type;
4623 END IF;
4624 IF (x_ipy_rec.name_of_insured = OKC_API.G_MISS_CHAR)
4625 THEN
4626 x_ipy_rec.name_of_insured := l_ipy_rec.name_of_insured;
4627 END IF;
4628 IF (x_ipy_rec.policy_number = OKC_API.G_MISS_CHAR)
4629 THEN
4630 x_ipy_rec.policy_number := l_ipy_rec.policy_number;
4631 END IF;
4632 IF (x_ipy_rec.insurance_factor = OKC_API.G_MISS_CHAR)
4633 THEN
4634 x_ipy_rec.insurance_factor := l_ipy_rec.insurance_factor;
4635 END IF;
4636 IF (x_ipy_rec.factor_code = OKC_API.G_MISS_CHAR)
4637 THEN
4638 x_ipy_rec.factor_code := l_ipy_rec.factor_code;
4639 END IF;
4640 IF (x_ipy_rec.calculated_premium = OKC_API.G_MISS_NUM)
4641 THEN
4642 x_ipy_rec.calculated_premium := l_ipy_rec.calculated_premium;
4643 END IF;
4644 IF (x_ipy_rec.premium = OKC_API.G_MISS_NUM)
4645 THEN
4646 x_ipy_rec.premium := l_ipy_rec.premium;
4647 END IF;
4648 IF (x_ipy_rec.covered_amount = OKC_API.G_MISS_NUM)
4649 THEN
4650 x_ipy_rec.covered_amount := l_ipy_rec.covered_amount;
4651 END IF;
4652 IF (x_ipy_rec.deductible = OKC_API.G_MISS_NUM)
4653 THEN
4654 x_ipy_rec.deductible := l_ipy_rec.deductible;
4655 END IF;
4656 IF (x_ipy_rec.adjustment = OKC_API.G_MISS_NUM)
4657 THEN
4658 x_ipy_rec.adjustment := l_ipy_rec.adjustment;
4659 END IF;
4660 IF (x_ipy_rec.payment_frequency = OKC_API.G_MISS_CHAR)
4661 THEN
4662 x_ipy_rec.payment_frequency := l_ipy_rec.payment_frequency;
4663 END IF;
4664 IF (x_ipy_rec.crx_code = OKC_API.G_MISS_CHAR)
4665 THEN
4666 x_ipy_rec.crx_code := l_ipy_rec.crx_code;
4667 END IF;
4668 IF (x_ipy_rec.ipf_code = OKC_API.G_MISS_CHAR)
4669 THEN
4670 x_ipy_rec.ipf_code := l_ipy_rec.ipf_code;
4671 END IF;
4672 IF (x_ipy_rec.iss_code = OKC_API.G_MISS_CHAR)
4673 THEN
4674 x_ipy_rec.iss_code := l_ipy_rec.iss_code;
4675 END IF;
4676 IF (x_ipy_rec.ipe_code = OKC_API.G_MISS_CHAR)
4677 THEN
4678 x_ipy_rec.ipe_code := l_ipy_rec.ipe_code;
4679 END IF;
4680 IF (x_ipy_rec.date_to = OKC_API.G_MISS_DATE)
4681 THEN
4682 x_ipy_rec.date_to := l_ipy_rec.date_to;
4683 END IF;
4684 IF (x_ipy_rec.date_from = OKC_API.G_MISS_DATE)
4685 THEN
4686 x_ipy_rec.date_from := l_ipy_rec.date_from;
4687 END IF;
4688 IF (x_ipy_rec.date_quoted = OKC_API.G_MISS_DATE)
4689 THEN
4690 x_ipy_rec.date_quoted := l_ipy_rec.date_quoted;
4691 END IF;
4692 IF (x_ipy_rec.date_proof_provided = OKC_API.G_MISS_DATE)
4693 THEN
4694 x_ipy_rec.date_proof_provided := l_ipy_rec.date_proof_provided;
4695 END IF;
4696 IF (x_ipy_rec.date_proof_required = OKC_API.G_MISS_DATE)
4697 THEN
4698 x_ipy_rec.date_proof_required := l_ipy_rec.date_proof_required;
4699 END IF;
4700 IF (x_ipy_rec.cancellation_date = OKC_API.G_MISS_DATE)
4701 THEN
4702 x_ipy_rec.cancellation_date := l_ipy_rec.cancellation_date;
4703 END IF;
4704 IF (x_ipy_rec.date_quote_expiry = OKC_API.G_MISS_DATE)
4705 THEN
4706 x_ipy_rec.date_quote_expiry := l_ipy_rec.date_quote_expiry;
4707 END IF;
4708 IF (x_ipy_rec.activation_date = OKC_API.G_MISS_DATE)
4709 THEN
4710 x_ipy_rec.activation_date := l_ipy_rec.activation_date;
4711 END IF;
4712 IF (x_ipy_rec.quote_yn = OKC_API.G_MISS_CHAR)
4713 THEN
4714 x_ipy_rec.quote_yn := l_ipy_rec.quote_yn;
4715 END IF;
4716 IF (x_ipy_rec.on_file_yn = OKC_API.G_MISS_CHAR)
4717 THEN
4718 x_ipy_rec.on_file_yn := l_ipy_rec.on_file_yn;
4719 END IF;
4720 IF (x_ipy_rec.private_label_yn = OKC_API.G_MISS_CHAR)
4721 THEN
4722 x_ipy_rec.private_label_yn := l_ipy_rec.private_label_yn;
4723 END IF;
4724 IF (x_ipy_rec.agent_yn = OKC_API.G_MISS_CHAR)
4725 THEN
4726 x_ipy_rec.agent_yn := l_ipy_rec.agent_yn;
4727 END IF;
4728 IF (x_ipy_rec.lessor_insured_yn = OKC_API.G_MISS_CHAR)
4729 THEN
4730 x_ipy_rec.lessor_insured_yn := l_ipy_rec.lessor_insured_yn;
4731 END IF;
4732 IF (x_ipy_rec.lessor_payee_yn = OKC_API.G_MISS_CHAR)
4733 THEN
4734 x_ipy_rec.lessor_payee_yn := l_ipy_rec.lessor_payee_yn;
4735 END IF;
4736 IF (x_ipy_rec.khr_id = OKC_API.G_MISS_NUM)
4737 THEN
4738 x_ipy_rec.khr_id := l_ipy_rec.khr_id;
4739 END IF;
4740 IF (x_ipy_rec.kle_id = OKC_API.G_MISS_NUM)
4741 THEN
4742 x_ipy_rec.kle_id := l_ipy_rec.kle_id;
4743 END IF;
4744 IF (x_ipy_rec.ipt_id = OKC_API.G_MISS_NUM)
4745 THEN
4746 x_ipy_rec.ipt_id := l_ipy_rec.ipt_id;
4747 END IF;
4748 IF (x_ipy_rec.ipy_id = OKC_API.G_MISS_NUM)
4749 THEN
4750 x_ipy_rec.ipy_id := l_ipy_rec.ipy_id;
4751 END IF;
4752 IF (x_ipy_rec.int_id = OKC_API.G_MISS_NUM)
4753 THEN
4754 x_ipy_rec.int_id := l_ipy_rec.int_id;
4755 END IF;
4756 IF (x_ipy_rec.isu_id = OKC_API.G_MISS_NUM)
4757 THEN
4758 x_ipy_rec.isu_id := l_ipy_rec.isu_id;
4759 END IF;
4760 IF (x_ipy_rec.factor_value = OKC_API.G_MISS_NUM)
4761 THEN
4762 x_ipy_rec.factor_value := l_ipy_rec.factor_value;
4763 END IF;
4764 IF (x_ipy_rec.agency_number = OKC_API.G_MISS_CHAR)
4765 THEN
4766 x_ipy_rec.agency_number := l_ipy_rec.agency_number;
4767 END IF;
4768 IF (x_ipy_rec.agency_site_id = OKC_API.G_MISS_NUM)
4769 THEN
4770 x_ipy_rec.agency_site_id := l_ipy_rec.agency_site_id;
4771 END IF;
4772 IF (x_ipy_rec.sales_rep_id = OKC_API.G_MISS_NUM)
4773 THEN
4774 x_ipy_rec.sales_rep_id := l_ipy_rec.sales_rep_id;
4775 END IF;
4776 IF (x_ipy_rec.agent_site_id = OKC_API.G_MISS_NUM)
4777 THEN
4778 x_ipy_rec.agent_site_id := l_ipy_rec.agent_site_id;
4779 END IF;
4780 IF (x_ipy_rec.adjusted_by_id = OKC_API.G_MISS_NUM)
4781 THEN
4782 x_ipy_rec.adjusted_by_id := l_ipy_rec.adjusted_by_id;
4783 END IF;
4784 IF (x_ipy_rec.territory_code = OKC_API.G_MISS_CHAR)
4785 THEN
4786 x_ipy_rec.territory_code := l_ipy_rec.territory_code;
4787 END IF;
4788 IF (x_ipy_rec.attribute_category = OKC_API.G_MISS_CHAR)
4789 THEN
4790 x_ipy_rec.attribute_category := l_ipy_rec.attribute_category;
4791 END IF;
4792 IF (x_ipy_rec.attribute1 = OKC_API.G_MISS_CHAR)
4793 THEN
4794 x_ipy_rec.attribute1 := l_ipy_rec.attribute1;
4795 END IF;
4796 IF (x_ipy_rec.attribute2 = OKC_API.G_MISS_CHAR)
4797 THEN
4798 x_ipy_rec.attribute2 := l_ipy_rec.attribute2;
4799 END IF;
4800 IF (x_ipy_rec.attribute3 = OKC_API.G_MISS_CHAR)
4801 THEN
4802 x_ipy_rec.attribute3 := l_ipy_rec.attribute3;
4803 END IF;
4804 IF (x_ipy_rec.attribute4 = OKC_API.G_MISS_CHAR)
4805 THEN
4806 x_ipy_rec.attribute4 := l_ipy_rec.attribute4;
4807 END IF;
4808 IF (x_ipy_rec.attribute5 = OKC_API.G_MISS_CHAR)
4809 THEN
4810 x_ipy_rec.attribute5 := l_ipy_rec.attribute5;
4811 END IF;
4812 IF (x_ipy_rec.attribute6 = OKC_API.G_MISS_CHAR)
4813 THEN
4814 x_ipy_rec.attribute6 := l_ipy_rec.attribute6;
4815 END IF;
4816 IF (x_ipy_rec.attribute7 = OKC_API.G_MISS_CHAR)
4817 THEN
4818 x_ipy_rec.attribute7 := l_ipy_rec.attribute7;
4819 END IF;
4820 IF (x_ipy_rec.attribute8 = OKC_API.G_MISS_CHAR)
4821 THEN
4822 x_ipy_rec.attribute8 := l_ipy_rec.attribute8;
4823 END IF;
4824 IF (x_ipy_rec.attribute9 = OKC_API.G_MISS_CHAR)
4825 THEN
4826 x_ipy_rec.attribute9 := l_ipy_rec.attribute9;
4827 END IF;
4828 IF (x_ipy_rec.attribute10 = OKC_API.G_MISS_CHAR)
4829 THEN
4830 x_ipy_rec.attribute10 := l_ipy_rec.attribute10;
4831 END IF;
4832 IF (x_ipy_rec.attribute11 = OKC_API.G_MISS_CHAR)
4833 THEN
4834 x_ipy_rec.attribute11 := l_ipy_rec.attribute11;
4835 END IF;
4836 IF (x_ipy_rec.attribute12 = OKC_API.G_MISS_CHAR)
4837 THEN
4838 x_ipy_rec.attribute12 := l_ipy_rec.attribute12;
4839 END IF;
4840 IF (x_ipy_rec.attribute13 = OKC_API.G_MISS_CHAR)
4841 THEN
4842 x_ipy_rec.attribute13 := l_ipy_rec.attribute13;
4843 END IF;
4844 IF (x_ipy_rec.attribute14 = OKC_API.G_MISS_CHAR)
4845 THEN
4846 x_ipy_rec.attribute14 := l_ipy_rec.attribute14;
4847 END IF;
4848 IF (x_ipy_rec.attribute15 = OKC_API.G_MISS_CHAR)
4849 THEN
4850 x_ipy_rec.attribute15 := l_ipy_rec.attribute15;
4851 END IF;
4852 IF (x_ipy_rec.program_id = OKC_API.G_MISS_NUM)
4853 THEN
4854 x_ipy_rec.program_id := l_ipy_rec.program_id;
4855 END IF;
4856 IF (x_ipy_rec.org_id = OKC_API.G_MISS_NUM)
4857 THEN
4858 x_ipy_rec.org_id := l_ipy_rec.org_id;
4859 END IF;
4860 IF (x_ipy_rec.program_update_date = OKC_API.G_MISS_DATE)
4861 THEN
4862 x_ipy_rec.program_update_date := l_ipy_rec.program_update_date;
4863 END IF;
4864 IF (x_ipy_rec.program_application_id = OKC_API.G_MISS_NUM)
4865 THEN
4866 x_ipy_rec.program_application_id := l_ipy_rec.program_application_id;
4867 END IF;
4868 IF (x_ipy_rec.request_id = OKC_API.G_MISS_NUM)
4869 THEN
4870 x_ipy_rec.request_id := l_ipy_rec.request_id;
4871 END IF;
4872 IF (x_ipy_rec.object_version_number = OKC_API.G_MISS_NUM)
4873 THEN
4874 x_ipy_rec.object_version_number := l_ipy_rec.object_version_number;
4875 END IF;
4876 IF (x_ipy_rec.created_by = OKC_API.G_MISS_NUM)
4877 THEN
4878 x_ipy_rec.created_by := l_ipy_rec.created_by;
4879 END IF;
4880 IF (x_ipy_rec.creation_date = OKC_API.G_MISS_DATE)
4881 THEN
4882 x_ipy_rec.creation_date := l_ipy_rec.creation_date;
4883 END IF;
4884 IF (x_ipy_rec.last_updated_by = OKC_API.G_MISS_NUM)
4885 THEN
4886 x_ipy_rec.last_updated_by := l_ipy_rec.last_updated_by;
4887 END IF;
4888 IF (x_ipy_rec.last_update_date = OKC_API.G_MISS_DATE)
4889 THEN
4890 x_ipy_rec.last_update_date := l_ipy_rec.last_update_date;
4891 END IF;
4892 IF (x_ipy_rec.last_update_login = OKC_API.G_MISS_NUM)
4893 THEN
4894 x_ipy_rec.last_update_login := l_ipy_rec.last_update_login;
4895 END IF;
4896 -- Bug: 4567777 PAGARG new column for Lease Application Functionality impact
4897 IF (x_ipy_rec.lease_application_id = OKC_API.G_MISS_NUM)
4898 THEN
4899 x_ipy_rec.lease_application_id := l_ipy_rec.lease_application_id;
4900 END IF;
4901 IF (x_ipy_rec.legal_entity_id = OKC_API.G_MISS_NUM)
4902 THEN
4903 x_ipy_rec.legal_entity_id := l_ipy_rec.legal_entity_id;
4904 END IF;
4905 END IF;
4906 RETURN(l_return_status);
4907 END populate_new_record;
4908 -------------------------------------------
4909 -- Set_Attributes for:OKL_INS_POLICIES_B --
4910 -------------------------------------------
4911 FUNCTION Set_Attributes (
4912 p_ipy_rec IN ipy_rec_type,
4913 x_ipy_rec OUT NOCOPY ipy_rec_type
4914 ) RETURN VARCHAR2 IS
4915 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
4916 BEGIN
4917 x_ipy_rec := p_ipy_rec;
4918 x_ipy_rec.OBJECT_VERSION_NUMBER := p_ipy_rec.OBJECT_VERSION_NUMBER + 1;
4919 SELECT NVL(DECODE(FND_GLOBAL.CONC_REQUEST_ID,-1,NULL,FND_GLOBAL.CONC_REQUEST_ID),l_ipy_rec.request_id),
4920 NVL(DECODE(FND_GLOBAL.PROG_APPL_ID,-1,NULL,FND_GLOBAL.PROG_APPL_ID),l_ipy_rec.program_application_id),
4921 NVL(DECODE(FND_GLOBAL.CONC_PROGRAM_ID,-1,NULL,FND_GLOBAL.CONC_PROGRAM_ID),l_ipy_rec.program_id),
4922 DECODE(DECODE(FND_GLOBAL.CONC_REQUEST_ID,-1,NULL,SYSDATE),NULL,l_ipy_rec.program_update_date,SYSDATE),
4923 MO_GLOBAL.GET_CURRENT_ORG_ID() INTO x_ipy_rec.request_id,
4924 x_ipy_rec.program_application_id,
4925 x_ipy_rec.program_id,
4926 x_ipy_rec.program_update_date,
4927 x_ipy_rec.org_id FROM dual;
4928 RETURN(l_return_status);
4929 END Set_Attributes;
4930 BEGIN
4931 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
4932 p_init_msg_list,
4933 '_PVT',
4934 x_return_status);
4935 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
4936 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
4937 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
4938 RAISE OKC_API.G_EXCEPTION_ERROR;
4939 END IF;
4940 --- Setting item attributes
4941 l_return_status := Set_Attributes(
4942 p_ipy_rec, -- IN
4943 l_ipy_rec); -- OUT
4944 --- If any errors happen abort API
4945 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
4946 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
4947 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
4948 RAISE OKC_API.G_EXCEPTION_ERROR;
4949 END IF;
4950 l_return_status := populate_new_record(l_ipy_rec, l_def_ipy_rec);
4951 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
4952 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
4953 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
4954 RAISE OKC_API.G_EXCEPTION_ERROR;
4955 END IF;
4956 UPDATE OKL_INS_POLICIES_B
4957 SET IPY_TYPE = l_def_ipy_rec.ipy_type,
4958 NAME_OF_INSURED = l_def_ipy_rec.name_of_insured,
4959 POLICY_NUMBER = l_def_ipy_rec.policy_number,
4960 INSURANCE_FACTOR = l_def_ipy_rec.insurance_factor,
4961 FACTOR_CODE = l_def_ipy_rec.factor_code,
4962 CALCULATED_PREMIUM = l_def_ipy_rec.calculated_premium,
4963 PREMIUM = l_def_ipy_rec.premium,
4964 COVERED_AMOUNT = l_def_ipy_rec.covered_amount,
4965 DEDUCTIBLE = l_def_ipy_rec.deductible,
4966 ADJUSTMENT = l_def_ipy_rec.adjustment,
4967 PAYMENT_FREQUENCY = l_def_ipy_rec.payment_frequency,
4968 CRX_CODE = l_def_ipy_rec.crx_code,
4969 IPF_CODE = l_def_ipy_rec.ipf_code,
4970 ISS_CODE = l_def_ipy_rec.iss_code,
4971 IPE_CODE = l_def_ipy_rec.ipe_code,
4972 DATE_TO = l_def_ipy_rec.date_to,
4973 DATE_FROM = l_def_ipy_rec.date_from,
4974 DATE_QUOTED = l_def_ipy_rec.date_quoted,
4975 DATE_PROOF_PROVIDED = l_def_ipy_rec.date_proof_provided,
4976 DATE_PROOF_REQUIRED = l_def_ipy_rec.date_proof_required,
4977 CANCELLATION_DATE = l_def_ipy_rec.cancellation_date,
4978 DATE_QUOTE_EXPIRY = l_def_ipy_rec.date_quote_expiry,
4979 ACTIVATION_DATE = l_def_ipy_rec.activation_date,
4980 QUOTE_YN = l_def_ipy_rec.quote_yn,
4981 ON_FILE_YN = l_def_ipy_rec.on_file_yn,
4982 PRIVATE_LABEL_YN = l_def_ipy_rec.private_label_yn,
4983 AGENT_YN = l_def_ipy_rec.agent_yn,
4984 LESSOR_INSURED_YN = l_def_ipy_rec.lessor_insured_yn,
4985 LESSOR_PAYEE_YN = l_def_ipy_rec.lessor_payee_yn,
4986 KHR_ID = l_def_ipy_rec.khr_id,
4987 KLE_ID = l_def_ipy_rec.kle_id,
4988 IPT_ID = l_def_ipy_rec.ipt_id,
4989 IPY_ID = l_def_ipy_rec.ipy_id,
4990 INT_ID = l_def_ipy_rec.int_id,
4991 ISU_ID = l_def_ipy_rec.isu_id,
4992 FACTOR_VALUE = l_def_ipy_rec.factor_value,
4993 AGENCY_NUMBER = l_def_ipy_rec.agency_number,
4994 AGENCY_SITE_ID = l_def_ipy_rec.agency_site_id,
4995 SALES_REP_ID = l_def_ipy_rec.sales_rep_id,
4996 AGENT_SITE_ID = l_def_ipy_rec.agent_site_id,
4997 ADJUSTED_BY_ID = l_def_ipy_rec.adjusted_by_id,
4998 TERRITORY_CODE = l_def_ipy_rec.territory_code,
4999 ATTRIBUTE_CATEGORY = l_def_ipy_rec.attribute_category,
5000 ATTRIBUTE1 = l_def_ipy_rec.attribute1,
5001 ATTRIBUTE2 = l_def_ipy_rec.attribute2,
5002 ATTRIBUTE3 = l_def_ipy_rec.attribute3,
5003 ATTRIBUTE4 = l_def_ipy_rec.attribute4,
5004 ATTRIBUTE5 = l_def_ipy_rec.attribute5,
5005 ATTRIBUTE6 = l_def_ipy_rec.attribute6,
5006 ATTRIBUTE7 = l_def_ipy_rec.attribute7,
5007 ATTRIBUTE8 = l_def_ipy_rec.attribute8,
5008 ATTRIBUTE9 = l_def_ipy_rec.attribute9,
5009 ATTRIBUTE10 = l_def_ipy_rec.attribute10,
5010 ATTRIBUTE11 = l_def_ipy_rec.attribute11,
5011 ATTRIBUTE12 = l_def_ipy_rec.attribute12,
5012 ATTRIBUTE13 = l_def_ipy_rec.attribute13,
5013 ATTRIBUTE14 = l_def_ipy_rec.attribute14,
5014 ATTRIBUTE15 = l_def_ipy_rec.attribute15,
5015 PROGRAM_ID = l_def_ipy_rec.program_id,
5016 ORG_ID = l_def_ipy_rec.org_id,
5017 PROGRAM_UPDATE_DATE = l_def_ipy_rec.program_update_date,
5018 PROGRAM_APPLICATION_ID = l_def_ipy_rec.program_application_id,
5019 REQUEST_ID = l_def_ipy_rec.request_id,
5020 OBJECT_VERSION_NUMBER = l_def_ipy_rec.object_version_number,
5021 CREATED_BY = l_def_ipy_rec.created_by,
5022 CREATION_DATE = l_def_ipy_rec.creation_date,
5023 LAST_UPDATED_BY = l_def_ipy_rec.last_updated_by,
5024 LAST_UPDATE_DATE = l_def_ipy_rec.last_update_date,
5025 LAST_UPDATE_LOGIN = l_def_ipy_rec.last_update_login,
5026 -- Bug: 4567777 PAGARG new column for Lease Application Functionality impact
5027 LEASE_APPLICATION_ID = l_def_ipy_rec.lease_application_id,
5028 LEGAL_ENTITY_ID = l_def_ipy_rec.legal_entity_id
5029 WHERE ID = l_def_ipy_rec.id;
5030 x_ipy_rec := l_ipy_rec;
5031 x_return_status := l_return_status;
5032 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
5033 EXCEPTION
5034 WHEN OKC_API.G_EXCEPTION_ERROR THEN
5035 x_return_status := OKC_API.HANDLE_EXCEPTIONS
5036 (
5037 l_api_name,
5038 G_PKG_NAME,
5039 'OKC_API.G_RET_STS_ERROR',
5040 x_msg_count,
5041 x_msg_data,
5042 '_PVT'
5043 );
5044 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
5045 x_return_status := OKC_API.HANDLE_EXCEPTIONS
5046 (
5047 l_api_name,
5048 G_PKG_NAME,
5049 'OKC_API.G_RET_STS_UNEXP_ERROR',
5050 x_msg_count,
5051 x_msg_data,
5052 '_PVT'
5053 );
5054 WHEN OTHERS THEN
5055 x_return_status := OKC_API.HANDLE_EXCEPTIONS
5056 (
5057 l_api_name,
5058 G_PKG_NAME,
5059 'OTHERS',
5060 x_msg_count,
5061 x_msg_data,
5062 '_PVT'
5063 );
5064 END update_row;
5065 ----------------------------------------
5066 -- update_row for:OKL_INS_POLICIES_TL --
5067 ----------------------------------------
5068 PROCEDURE update_row(
5069 p_init_msg_list IN VARCHAR2 ,
5070 x_return_status OUT NOCOPY VARCHAR2,
5071 x_msg_count OUT NOCOPY NUMBER,
5072 x_msg_data OUT NOCOPY VARCHAR2,
5073 p_okl_ins_policies_tl_rec IN okl_ins_policies_tl_rec_type,
5074 x_okl_ins_policies_tl_rec OUT NOCOPY okl_ins_policies_tl_rec_type) IS
5075 l_api_version CONSTANT NUMBER := 1;
5076 l_api_name CONSTANT VARCHAR2(30) := 'TL_update_row';
5077 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
5078 l_okl_ins_policies_tl_rec okl_ins_policies_tl_rec_type := p_okl_ins_policies_tl_rec;
5079 l_def_okl_ins_policies_tl_rec okl_ins_policies_tl_rec_type;
5080 l_row_notfound BOOLEAN := TRUE;
5081 ----------------------------------
5082 -- FUNCTION populate_new_record --
5083 ----------------------------------
5084 FUNCTION populate_new_record (
5085 p_okl_ins_policies_tl_rec IN okl_ins_policies_tl_rec_type,
5086 x_okl_ins_policies_tl_rec OUT NOCOPY okl_ins_policies_tl_rec_type
5087 ) RETURN VARCHAR2 IS
5088 l_okl_ins_policies_tl_rec okl_ins_policies_tl_rec_type;
5089 l_row_notfound BOOLEAN := TRUE;
5090 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
5091 BEGIN
5092 x_okl_ins_policies_tl_rec := p_okl_ins_policies_tl_rec;
5093 -- Get current database values
5094 l_okl_ins_policies_tl_rec := get_rec(p_okl_ins_policies_tl_rec, l_return_status);
5095 IF (l_return_status = OKC_API.G_RET_STS_SUCCESS) THEN
5096 IF (x_okl_ins_policies_tl_rec.id = OKC_API.G_MISS_NUM)
5097 THEN
5098 x_okl_ins_policies_tl_rec.id := l_okl_ins_policies_tl_rec.id;
5099 END IF;
5100 IF (x_okl_ins_policies_tl_rec.language = OKC_API.G_MISS_CHAR)
5101 THEN
5102 x_okl_ins_policies_tl_rec.language := l_okl_ins_policies_tl_rec.language;
5103 END IF;
5104 IF (x_okl_ins_policies_tl_rec.source_lang = OKC_API.G_MISS_CHAR)
5105 THEN
5106 x_okl_ins_policies_tl_rec.source_lang := l_okl_ins_policies_tl_rec.source_lang;
5107 END IF;
5108 IF (x_okl_ins_policies_tl_rec.sfwt_flag = OKC_API.G_MISS_CHAR)
5109 THEN
5110 x_okl_ins_policies_tl_rec.sfwt_flag := l_okl_ins_policies_tl_rec.sfwt_flag;
5111 END IF;
5112 IF (x_okl_ins_policies_tl_rec.description = OKC_API.G_MISS_CHAR)
5113 THEN
5114 x_okl_ins_policies_tl_rec.description := l_okl_ins_policies_tl_rec.description;
5115 END IF;
5116 IF (x_okl_ins_policies_tl_rec.endorsement = OKC_API.G_MISS_CHAR)
5117 THEN
5118 x_okl_ins_policies_tl_rec.endorsement := l_okl_ins_policies_tl_rec.endorsement;
5119 END IF;
5120 IF (x_okl_ins_policies_tl_rec.comments = OKC_API.G_MISS_CHAR)
5121 THEN
5122 x_okl_ins_policies_tl_rec.comments := l_okl_ins_policies_tl_rec.comments;
5123 END IF;
5124 IF (x_okl_ins_policies_tl_rec.cancellation_comment = OKC_API.G_MISS_CHAR)
5125 THEN
5126 x_okl_ins_policies_tl_rec.cancellation_comment := l_okl_ins_policies_tl_rec.cancellation_comment;
5127 END IF;
5128 IF (x_okl_ins_policies_tl_rec.created_by = OKC_API.G_MISS_NUM)
5129 THEN
5130 x_okl_ins_policies_tl_rec.created_by := l_okl_ins_policies_tl_rec.created_by;
5131 END IF;
5132 IF (x_okl_ins_policies_tl_rec.creation_date = OKC_API.G_MISS_DATE)
5133 THEN
5134 x_okl_ins_policies_tl_rec.creation_date := l_okl_ins_policies_tl_rec.creation_date;
5135 END IF;
5136 IF (x_okl_ins_policies_tl_rec.last_updated_by = OKC_API.G_MISS_NUM)
5137 THEN
5138 x_okl_ins_policies_tl_rec.last_updated_by := l_okl_ins_policies_tl_rec.last_updated_by;
5139 END IF;
5140 IF (x_okl_ins_policies_tl_rec.last_update_date = OKC_API.G_MISS_DATE)
5141 THEN
5142 x_okl_ins_policies_tl_rec.last_update_date := l_okl_ins_policies_tl_rec.last_update_date;
5143 END IF;
5144 IF (x_okl_ins_policies_tl_rec.last_update_login = OKC_API.G_MISS_NUM)
5145 THEN
5146 x_okl_ins_policies_tl_rec.last_update_login := l_okl_ins_policies_tl_rec.last_update_login;
5147 END IF;
5148 END IF;
5149 RETURN(l_return_status);
5150 END populate_new_record;
5151 --------------------------------------------
5152 -- Set_Attributes for:OKL_INS_POLICIES_TL --
5153 --------------------------------------------
5154 FUNCTION Set_Attributes (
5155 p_okl_ins_policies_tl_rec IN okl_ins_policies_tl_rec_type,
5156 x_okl_ins_policies_tl_rec OUT NOCOPY okl_ins_policies_tl_rec_type
5157 ) RETURN VARCHAR2 IS
5158 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
5159 BEGIN
5160 x_okl_ins_policies_tl_rec := p_okl_ins_policies_tl_rec;
5161 x_okl_ins_policies_tl_rec.LANGUAGE := USERENV('LANG');
5162 x_okl_ins_policies_tl_rec.LANGUAGE := USERENV('LANG');
5163 RETURN(l_return_status);
5164 END Set_Attributes;
5165 BEGIN
5166 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
5167 p_init_msg_list,
5168 '_PVT',
5169 x_return_status);
5170 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
5171 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
5172 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
5173 RAISE OKC_API.G_EXCEPTION_ERROR;
5174 END IF;
5175 --- Setting item attributes
5176 l_return_status := Set_Attributes(
5177 p_okl_ins_policies_tl_rec, -- IN
5178 l_okl_ins_policies_tl_rec); -- OUT
5179 --- If any errors happen abort API
5180 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
5181 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
5182 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
5183 RAISE OKC_API.G_EXCEPTION_ERROR;
5184 END IF;
5185 l_return_status := populate_new_record(l_okl_ins_policies_tl_rec, l_def_okl_ins_policies_tl_rec);
5186 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
5187 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
5188 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
5189 RAISE OKC_API.G_EXCEPTION_ERROR;
5190 END IF;
5191 UPDATE OKL_INS_POLICIES_TL
5192 SET DESCRIPTION = l_def_okl_ins_policies_tl_rec.description,
5193 SOURCE_LANG = l_def_okl_ins_policies_tl_rec.source_lang, --Added for bug 3637102
5194 ENDORSEMENT = l_def_okl_ins_policies_tl_rec.endorsement,
5195 COMMENTS = l_def_okl_ins_policies_tl_rec.comments,
5196 CANCELLATION_COMMENT = l_def_okl_ins_policies_tl_rec.cancellation_comment,
5197 CREATED_BY = l_def_okl_ins_policies_tl_rec.created_by,
5198 CREATION_DATE = l_def_okl_ins_policies_tl_rec.creation_date,
5199 LAST_UPDATED_BY = l_def_okl_ins_policies_tl_rec.last_updated_by,
5200 LAST_UPDATE_DATE = l_def_okl_ins_policies_tl_rec.last_update_date,
5201 LAST_UPDATE_LOGIN = l_def_okl_ins_policies_tl_rec.last_update_login
5202 WHERE ID = l_def_okl_ins_policies_tl_rec.id
5203 AND USERENV('LANG') in (SOURCE_LANG,LANGUAGE);--Added LANGUAGE for fixing 3637102
5204
5205 UPDATE OKL_INS_POLICIES_TL
5206 SET SFWT_FLAG = 'Y'
5207 WHERE ID = l_def_okl_ins_policies_tl_rec.id
5208 AND SOURCE_LANG <> USERENV('LANG');
5209 x_okl_ins_policies_tl_rec := l_okl_ins_policies_tl_rec;
5210 x_return_status := l_return_status;
5211 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
5212 EXCEPTION
5213 WHEN OKC_API.G_EXCEPTION_ERROR THEN
5214 x_return_status := OKC_API.HANDLE_EXCEPTIONS
5215 (
5216 l_api_name,
5217 G_PKG_NAME,
5218 'OKC_API.G_RET_STS_ERROR',
5219 x_msg_count,
5220 x_msg_data,
5221 '_PVT'
5222 );
5223 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
5224 x_return_status := OKC_API.HANDLE_EXCEPTIONS
5225 (
5226 l_api_name,
5227 G_PKG_NAME,
5228 'OKC_API.G_RET_STS_UNEXP_ERROR',
5229 x_msg_count,
5230 x_msg_data,
5231 '_PVT'
5232 );
5233 WHEN OTHERS THEN
5234 x_return_status := OKC_API.HANDLE_EXCEPTIONS
5235 (
5236 l_api_name,
5237 G_PKG_NAME,
5238 'OTHERS',
5239 x_msg_count,
5240 x_msg_data,
5241 '_PVT'
5242 );
5243 END update_row;
5244 ---------------------------------------
5245 -- update_row for:OKL_INS_POLICIES_V --
5246 ---------------------------------------
5247 PROCEDURE update_row(
5248 p_api_version IN NUMBER,
5249 p_init_msg_list IN VARCHAR2 ,
5250 x_return_status OUT NOCOPY VARCHAR2,
5251 x_msg_count OUT NOCOPY NUMBER,
5252 x_msg_data OUT NOCOPY VARCHAR2,
5253 p_ipyv_rec IN ipyv_rec_type,
5254 x_ipyv_rec OUT NOCOPY ipyv_rec_type) IS
5255 l_api_version CONSTANT NUMBER := 1;
5256 l_api_name CONSTANT VARCHAR2(30) := 'V_update_row';
5257 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
5258 l_ipyv_rec ipyv_rec_type := p_ipyv_rec;
5259 l_def_ipyv_rec ipyv_rec_type;
5260 l_db_ipyv_rec ipyv_rec_type;
5261 l_ipy_rec ipy_rec_type;
5262 lx_ipy_rec ipy_rec_type;
5263 l_okl_ins_policies_tl_rec okl_ins_policies_tl_rec_type;
5264 lx_okl_ins_policies_tl_rec okl_ins_policies_tl_rec_type;
5265 -------------------------------
5266 -- FUNCTION fill_who_columns --
5267 -------------------------------
5268 FUNCTION fill_who_columns (
5269 p_ipyv_rec IN ipyv_rec_type
5270 ) RETURN ipyv_rec_type IS
5271 l_ipyv_rec ipyv_rec_type := p_ipyv_rec;
5272 BEGIN
5273 l_ipyv_rec.LAST_UPDATE_DATE := SYSDATE;
5274 l_ipyv_rec.LAST_UPDATED_BY := FND_GLOBAL.USER_ID;
5275 l_ipyv_rec.LAST_UPDATE_LOGIN := FND_GLOBAL.LOGIN_ID;
5276 RETURN(l_ipyv_rec);
5277 END fill_who_columns;
5278 ----------------------------------
5279 -- FUNCTION populate_new_record --
5280 ----------------------------------
5281 FUNCTION populate_new_record (
5282 p_ipyv_rec IN ipyv_rec_type,
5283 x_ipyv_rec OUT NOCOPY ipyv_rec_type
5284 ) RETURN VARCHAR2 IS
5285 l_row_notfound BOOLEAN := TRUE;
5286 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
5287 BEGIN
5288 x_ipyv_rec := p_ipyv_rec;
5289 -- Get current database values
5290 -- NOTE: Never assign the OBJECT_VERSION_NUMBER. Force the user to pass it
5291 -- so it may be verified through LOCK_ROW.
5292 l_db_ipyv_rec := get_rec(p_ipyv_rec, l_return_status);
5293 IF (l_return_status = OKC_API.G_RET_STS_SUCCESS) THEN
5294 IF (x_ipyv_rec.id = OKC_API.G_MISS_NUM)
5295 THEN
5296 x_ipyv_rec.id := l_db_ipyv_rec.id;
5297 END IF;
5298 IF (x_ipyv_rec.ipy_type = OKC_API.G_MISS_CHAR)
5299 THEN
5300 x_ipyv_rec.ipy_type := l_db_ipyv_rec.ipy_type;
5301 END IF;
5302 IF (x_ipyv_rec.description = OKC_API.G_MISS_CHAR)
5303 THEN
5304 x_ipyv_rec.description := l_db_ipyv_rec.description;
5305 END IF;
5306 IF (x_ipyv_rec.endorsement = OKC_API.G_MISS_CHAR)
5307 THEN
5308 x_ipyv_rec.endorsement := l_db_ipyv_rec.endorsement;
5309 END IF;
5310 IF (x_ipyv_rec.sfwt_flag = OKC_API.G_MISS_CHAR)
5311 THEN
5312 x_ipyv_rec.sfwt_flag := l_db_ipyv_rec.sfwt_flag;
5313 END IF;
5314 IF (x_ipyv_rec.cancellation_comment = OKC_API.G_MISS_CHAR)
5315 THEN
5316 x_ipyv_rec.cancellation_comment := l_db_ipyv_rec.cancellation_comment;
5317 END IF;
5318 IF (x_ipyv_rec.comments = OKC_API.G_MISS_CHAR)
5319 THEN
5320 x_ipyv_rec.comments := l_db_ipyv_rec.comments;
5321 END IF;
5322 IF (x_ipyv_rec.name_of_insured = OKC_API.G_MISS_CHAR)
5323 THEN
5324 x_ipyv_rec.name_of_insured := l_db_ipyv_rec.name_of_insured;
5325 END IF;
5326 IF (x_ipyv_rec.policy_number = OKC_API.G_MISS_CHAR)
5327 THEN
5328 x_ipyv_rec.policy_number := l_db_ipyv_rec.policy_number;
5329 END IF;
5330 IF (x_ipyv_rec.calculated_premium = OKC_API.G_MISS_NUM)
5331 THEN
5332 x_ipyv_rec.calculated_premium := l_db_ipyv_rec.calculated_premium;
5333 END IF;
5334 IF (x_ipyv_rec.premium = OKC_API.G_MISS_NUM)
5335 THEN
5336 x_ipyv_rec.premium := l_db_ipyv_rec.premium;
5337 END IF;
5338 IF (x_ipyv_rec.covered_amount = OKC_API.G_MISS_NUM)
5339 THEN
5340 x_ipyv_rec.covered_amount := l_db_ipyv_rec.covered_amount;
5341 END IF;
5342 IF (x_ipyv_rec.deductible = OKC_API.G_MISS_NUM)
5343 THEN
5344 x_ipyv_rec.deductible := l_db_ipyv_rec.deductible;
5345 END IF;
5346 IF (x_ipyv_rec.adjustment = OKC_API.G_MISS_NUM)
5347 THEN
5348 x_ipyv_rec.adjustment := l_db_ipyv_rec.adjustment;
5349 END IF;
5350 IF (x_ipyv_rec.payment_frequency = OKC_API.G_MISS_CHAR)
5351 THEN
5352 x_ipyv_rec.payment_frequency := l_db_ipyv_rec.payment_frequency;
5353 END IF;
5354 IF (x_ipyv_rec.crx_code = OKC_API.G_MISS_CHAR)
5355 THEN
5356 x_ipyv_rec.crx_code := l_db_ipyv_rec.crx_code;
5357 END IF;
5358 IF (x_ipyv_rec.ipf_code = OKC_API.G_MISS_CHAR)
5359 THEN
5360 x_ipyv_rec.ipf_code := l_db_ipyv_rec.ipf_code;
5361 END IF;
5362 IF (x_ipyv_rec.iss_code = OKC_API.G_MISS_CHAR)
5363 THEN
5364 x_ipyv_rec.iss_code := l_db_ipyv_rec.iss_code;
5365 END IF;
5366 IF (x_ipyv_rec.ipe_code = OKC_API.G_MISS_CHAR)
5367 THEN
5368 x_ipyv_rec.ipe_code := l_db_ipyv_rec.ipe_code;
5369 END IF;
5370 IF (x_ipyv_rec.date_to = OKC_API.G_MISS_DATE)
5371 THEN
5372 x_ipyv_rec.date_to := l_db_ipyv_rec.date_to;
5373 END IF;
5374 IF (x_ipyv_rec.date_from = OKC_API.G_MISS_DATE)
5375 THEN
5376 x_ipyv_rec.date_from := l_db_ipyv_rec.date_from;
5377 END IF;
5378 IF (x_ipyv_rec.date_quoted = OKC_API.G_MISS_DATE)
5379 THEN
5380 x_ipyv_rec.date_quoted := l_db_ipyv_rec.date_quoted;
5381 END IF;
5382 IF (x_ipyv_rec.date_proof_provided = OKC_API.G_MISS_DATE)
5383 THEN
5384 x_ipyv_rec.date_proof_provided := l_db_ipyv_rec.date_proof_provided;
5385 END IF;
5386 IF (x_ipyv_rec.date_proof_required = OKC_API.G_MISS_DATE)
5387 THEN
5388 x_ipyv_rec.date_proof_required := l_db_ipyv_rec.date_proof_required;
5389 END IF;
5390 IF (x_ipyv_rec.cancellation_date = OKC_API.G_MISS_DATE)
5391 THEN
5392 x_ipyv_rec.cancellation_date := l_db_ipyv_rec.cancellation_date;
5393 END IF;
5394 IF (x_ipyv_rec.date_quote_expiry = OKC_API.G_MISS_DATE)
5395 THEN
5396 x_ipyv_rec.date_quote_expiry := l_db_ipyv_rec.date_quote_expiry;
5397 END IF;
5398 IF (x_ipyv_rec.activation_date = OKC_API.G_MISS_DATE)
5399 THEN
5400 x_ipyv_rec.activation_date := l_db_ipyv_rec.activation_date;
5401 END IF;
5402 IF (x_ipyv_rec.quote_yn = OKC_API.G_MISS_CHAR)
5403 THEN
5404 x_ipyv_rec.quote_yn := l_db_ipyv_rec.quote_yn;
5405 END IF;
5406 IF (x_ipyv_rec.on_file_yn = OKC_API.G_MISS_CHAR)
5407 THEN
5408 x_ipyv_rec.on_file_yn := l_db_ipyv_rec.on_file_yn;
5409 END IF;
5410 IF (x_ipyv_rec.private_label_yn = OKC_API.G_MISS_CHAR)
5411 THEN
5412 x_ipyv_rec.private_label_yn := l_db_ipyv_rec.private_label_yn;
5413 END IF;
5414 IF (x_ipyv_rec.agent_yn = OKC_API.G_MISS_CHAR)
5415 THEN
5416 x_ipyv_rec.agent_yn := l_db_ipyv_rec.agent_yn;
5417 END IF;
5418 IF (x_ipyv_rec.lessor_insured_yn = OKC_API.G_MISS_CHAR)
5419 THEN
5420 x_ipyv_rec.lessor_insured_yn := l_db_ipyv_rec.lessor_insured_yn;
5421 END IF;
5422 IF (x_ipyv_rec.lessor_payee_yn = OKC_API.G_MISS_CHAR)
5423 THEN
5424 x_ipyv_rec.lessor_payee_yn := l_db_ipyv_rec.lessor_payee_yn;
5425 END IF;
5426 IF (x_ipyv_rec.khr_id = OKC_API.G_MISS_NUM)
5427 THEN
5428 x_ipyv_rec.khr_id := l_db_ipyv_rec.khr_id;
5429 END IF;
5430 IF (x_ipyv_rec.kle_id = OKC_API.G_MISS_NUM)
5431 THEN
5432 x_ipyv_rec.kle_id := l_db_ipyv_rec.kle_id;
5433 END IF;
5434 IF (x_ipyv_rec.ipt_id = OKC_API.G_MISS_NUM)
5435 THEN
5436 x_ipyv_rec.ipt_id := l_db_ipyv_rec.ipt_id;
5437 END IF;
5438 IF (x_ipyv_rec.ipy_id = OKC_API.G_MISS_NUM)
5439 THEN
5440 x_ipyv_rec.ipy_id := l_db_ipyv_rec.ipy_id;
5441 END IF;
5442 IF (x_ipyv_rec.int_id = OKC_API.G_MISS_NUM)
5443 THEN
5444 x_ipyv_rec.int_id := l_db_ipyv_rec.int_id;
5445 END IF;
5446 IF (x_ipyv_rec.isu_id = OKC_API.G_MISS_NUM)
5447 THEN
5448 x_ipyv_rec.isu_id := l_db_ipyv_rec.isu_id;
5449 END IF;
5450 IF (x_ipyv_rec.insurance_factor = OKC_API.G_MISS_CHAR)
5451 THEN
5452 x_ipyv_rec.insurance_factor := l_db_ipyv_rec.insurance_factor;
5453 END IF;
5454 IF (x_ipyv_rec.factor_code = OKC_API.G_MISS_CHAR)
5455 THEN
5456 x_ipyv_rec.factor_code := l_db_ipyv_rec.factor_code;
5457 END IF;
5458 IF (x_ipyv_rec.factor_value = OKC_API.G_MISS_NUM)
5459 THEN
5460 x_ipyv_rec.factor_value := l_db_ipyv_rec.factor_value;
5461 END IF;
5462 IF (x_ipyv_rec.agency_number = OKC_API.G_MISS_CHAR)
5463 THEN
5464 x_ipyv_rec.agency_number := l_db_ipyv_rec.agency_number;
5465 END IF;
5466 IF (x_ipyv_rec.agency_site_id = OKC_API.G_MISS_NUM)
5467 THEN
5468 x_ipyv_rec.agency_site_id := l_db_ipyv_rec.agency_site_id;
5469 END IF;
5470 IF (x_ipyv_rec.sales_rep_id = OKC_API.G_MISS_NUM)
5471 THEN
5472 x_ipyv_rec.sales_rep_id := l_db_ipyv_rec.sales_rep_id;
5473 END IF;
5474 IF (x_ipyv_rec.agent_site_id = OKC_API.G_MISS_NUM)
5475 THEN
5476 x_ipyv_rec.agent_site_id := l_db_ipyv_rec.agent_site_id;
5477 END IF;
5478 IF (x_ipyv_rec.adjusted_by_id = OKC_API.G_MISS_NUM)
5479 THEN
5480 x_ipyv_rec.adjusted_by_id := l_db_ipyv_rec.adjusted_by_id;
5481 END IF;
5482 IF (x_ipyv_rec.territory_code = OKC_API.G_MISS_CHAR)
5483 THEN
5484 x_ipyv_rec.territory_code := l_db_ipyv_rec.territory_code;
5485 END IF;
5486 IF (x_ipyv_rec.attribute_category = OKC_API.G_MISS_CHAR)
5487 THEN
5488 x_ipyv_rec.attribute_category := l_db_ipyv_rec.attribute_category;
5489 END IF;
5490 IF (x_ipyv_rec.attribute1 = OKC_API.G_MISS_CHAR)
5491 THEN
5492 x_ipyv_rec.attribute1 := l_db_ipyv_rec.attribute1;
5493 END IF;
5494 IF (x_ipyv_rec.attribute2 = OKC_API.G_MISS_CHAR)
5495 THEN
5496 x_ipyv_rec.attribute2 := l_db_ipyv_rec.attribute2;
5497 END IF;
5498 IF (x_ipyv_rec.attribute3 = OKC_API.G_MISS_CHAR)
5499 THEN
5500 x_ipyv_rec.attribute3 := l_db_ipyv_rec.attribute3;
5501 END IF;
5502 IF (x_ipyv_rec.attribute4 = OKC_API.G_MISS_CHAR)
5503 THEN
5504 x_ipyv_rec.attribute4 := l_db_ipyv_rec.attribute4;
5505 END IF;
5506 IF (x_ipyv_rec.attribute5 = OKC_API.G_MISS_CHAR)
5507 THEN
5508 x_ipyv_rec.attribute5 := l_db_ipyv_rec.attribute5;
5509 END IF;
5510 IF (x_ipyv_rec.attribute6 = OKC_API.G_MISS_CHAR)
5511 THEN
5512 x_ipyv_rec.attribute6 := l_db_ipyv_rec.attribute6;
5513 END IF;
5514 IF (x_ipyv_rec.attribute7 = OKC_API.G_MISS_CHAR)
5515 THEN
5516 x_ipyv_rec.attribute7 := l_db_ipyv_rec.attribute7;
5517 END IF;
5518 IF (x_ipyv_rec.attribute8 = OKC_API.G_MISS_CHAR)
5519 THEN
5520 x_ipyv_rec.attribute8 := l_db_ipyv_rec.attribute8;
5521 END IF;
5522 IF (x_ipyv_rec.attribute9 = OKC_API.G_MISS_CHAR)
5523 THEN
5524 x_ipyv_rec.attribute9 := l_db_ipyv_rec.attribute9;
5525 END IF;
5526 IF (x_ipyv_rec.attribute10 = OKC_API.G_MISS_CHAR)
5527 THEN
5528 x_ipyv_rec.attribute10 := l_db_ipyv_rec.attribute10;
5529 END IF;
5530 IF (x_ipyv_rec.attribute11 = OKC_API.G_MISS_CHAR)
5531 THEN
5532 x_ipyv_rec.attribute11 := l_db_ipyv_rec.attribute11;
5533 END IF;
5534 IF (x_ipyv_rec.attribute12 = OKC_API.G_MISS_CHAR)
5535 THEN
5536 x_ipyv_rec.attribute12 := l_db_ipyv_rec.attribute12;
5537 END IF;
5538 IF (x_ipyv_rec.attribute13 = OKC_API.G_MISS_CHAR)
5539 THEN
5540 x_ipyv_rec.attribute13 := l_db_ipyv_rec.attribute13;
5541 END IF;
5542 IF (x_ipyv_rec.attribute14 = OKC_API.G_MISS_CHAR)
5543 THEN
5544 x_ipyv_rec.attribute14 := l_db_ipyv_rec.attribute14;
5545 END IF;
5546 IF (x_ipyv_rec.attribute15 = OKC_API.G_MISS_CHAR)
5547 THEN
5548 x_ipyv_rec.attribute15 := l_db_ipyv_rec.attribute15;
5549 END IF;
5550 IF (x_ipyv_rec.program_id = OKC_API.G_MISS_NUM)
5551 THEN
5552 x_ipyv_rec.program_id := l_db_ipyv_rec.program_id;
5553 END IF;
5554 IF (x_ipyv_rec.org_id = OKC_API.G_MISS_NUM)
5555 THEN
5556 x_ipyv_rec.org_id := l_db_ipyv_rec.org_id;
5557 END IF;
5558 IF (x_ipyv_rec.program_update_date = OKC_API.G_MISS_DATE)
5559 THEN
5560 x_ipyv_rec.program_update_date := l_db_ipyv_rec.program_update_date;
5561 END IF;
5562 IF (x_ipyv_rec.program_application_id = OKC_API.G_MISS_NUM)
5563 THEN
5564 x_ipyv_rec.program_application_id := l_db_ipyv_rec.program_application_id;
5565 END IF;
5566 IF (x_ipyv_rec.request_id = OKC_API.G_MISS_NUM)
5567 THEN
5568 x_ipyv_rec.request_id := l_db_ipyv_rec.request_id;
5569 END IF;
5570 IF (x_ipyv_rec.created_by = OKC_API.G_MISS_NUM)
5571 THEN
5572 x_ipyv_rec.created_by := l_db_ipyv_rec.created_by;
5573 END IF;
5574 IF (x_ipyv_rec.creation_date = OKC_API.G_MISS_DATE)
5575 THEN
5576 x_ipyv_rec.creation_date := l_db_ipyv_rec.creation_date;
5577 END IF;
5578 IF (x_ipyv_rec.last_updated_by = OKC_API.G_MISS_NUM)
5579 THEN
5580 x_ipyv_rec.last_updated_by := l_db_ipyv_rec.last_updated_by;
5581 END IF;
5582 IF (x_ipyv_rec.last_update_date = OKC_API.G_MISS_DATE)
5583 THEN
5584 x_ipyv_rec.last_update_date := l_db_ipyv_rec.last_update_date;
5585 END IF;
5586 IF (x_ipyv_rec.last_update_login = OKC_API.G_MISS_NUM)
5587 THEN
5588 x_ipyv_rec.last_update_login := l_db_ipyv_rec.last_update_login;
5589 END IF;
5590 -- Bug: 4567777 PAGARG new column for Lease Application Functionality impact
5591 IF (x_ipyv_rec.lease_application_id = OKC_API.G_MISS_NUM)
5592 THEN
5593 x_ipyv_rec.lease_application_id := l_db_ipyv_rec.lease_application_id;
5594 END IF;
5595 IF (x_ipyv_rec.legal_entity_id = OKC_API.G_MISS_NUM)
5596 THEN
5597 x_ipyv_rec.legal_entity_id := l_db_ipyv_rec.legal_entity_id;
5598 END IF;
5599 END IF;
5600 RETURN(l_return_status);
5601 END populate_new_record;
5602 -------------------------------------------
5603 -- Set_Attributes for:OKL_INS_POLICIES_V --
5604 -------------------------------------------
5605 FUNCTION Set_Attributes (
5606 p_ipyv_rec IN ipyv_rec_type,
5607 x_ipyv_rec OUT NOCOPY ipyv_rec_type
5608 ) RETURN VARCHAR2 IS
5609 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
5610 BEGIN
5611 x_ipyv_rec := p_ipyv_rec;
5612 SELECT NVL(DECODE(FND_GLOBAL.CONC_REQUEST_ID,-1,NULL,FND_GLOBAL.CONC_REQUEST_ID),l_ipyv_rec.request_id),
5613 NVL(DECODE(FND_GLOBAL.PROG_APPL_ID,-1,NULL,FND_GLOBAL.PROG_APPL_ID),l_ipyv_rec.program_application_id),
5614 NVL(DECODE(FND_GLOBAL.CONC_PROGRAM_ID,-1,NULL,FND_GLOBAL.CONC_PROGRAM_ID),l_ipyv_rec.program_id),
5615 DECODE(DECODE(FND_GLOBAL.CONC_REQUEST_ID,-1,NULL,SYSDATE),NULL,l_ipyv_rec.program_update_date,SYSDATE),
5616 MO_GLOBAL.GET_CURRENT_ORG_ID() INTO x_ipyv_rec.request_id,
5617 x_ipyv_rec.program_application_id,
5618 x_ipyv_rec.program_id,
5619 x_ipyv_rec.program_update_date,
5620 x_ipyv_rec.org_id FROM dual;
5621
5622 RETURN(l_return_status);
5623 END Set_Attributes;
5624 BEGIN
5625 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
5626 G_PKG_NAME,
5627 p_init_msg_list,
5628 l_api_version,
5629 p_api_version,
5630 '_PVT',
5631 x_return_status);
5632 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
5633 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
5634 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
5635 RAISE OKC_API.G_EXCEPTION_ERROR;
5636 END IF;
5637 --- Setting item attributes
5638 l_return_status := Set_Attributes(
5639 p_ipyv_rec, -- IN
5640 x_ipyv_rec); -- OUT
5641 --- If any errors happen abort API
5642 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
5643 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
5644 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
5645 RAISE OKC_API.G_EXCEPTION_ERROR;
5646 END IF;
5647 l_return_status := populate_new_record(l_ipyv_rec, l_def_ipyv_rec);
5648 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
5649 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
5650 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
5651 RAISE OKC_API.G_EXCEPTION_ERROR;
5652 END IF;
5653 l_def_ipyv_rec := fill_who_columns(l_def_ipyv_rec);
5654 --- Validate all non-missing attributes (Item Level Validation)
5655 l_return_status := Validate_Attributes(l_def_ipyv_rec);
5656 --- If any errors happen abort API
5657 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
5658 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
5659 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
5660 RAISE OKC_API.G_EXCEPTION_ERROR;
5661 END IF;
5662 --l_return_status := Validate_Record(l_def_ipyv_rec, l_db_ipyv_rec);
5663 l_return_status := Validate_Record(l_def_ipyv_rec);
5664 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
5665 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
5666 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
5667 RAISE OKC_API.G_EXCEPTION_ERROR;
5668 END IF;
5669 -- Lock the Record
5670 lock_row(
5671 p_api_version => p_api_version,
5672 p_init_msg_list => p_init_msg_list,
5673 x_return_status => l_return_status,
5674 x_msg_count => x_msg_count,
5675 x_msg_data => x_msg_data,
5676 p_ipyv_rec => p_ipyv_rec);
5677 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
5678 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
5679 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
5680 RAISE OKC_API.G_EXCEPTION_ERROR;
5681 END IF;
5682 -----------------------------------------
5683 -- Move VIEW record to "Child" records --
5684 -----------------------------------------
5685 migrate(l_def_ipyv_rec, l_ipy_rec);
5686 migrate(l_def_ipyv_rec, l_okl_ins_policies_tl_rec);
5687 -----------------------------------------------
5688 -- Call the UPDATE_ROW for each child record --
5689 -----------------------------------------------
5690 update_row(
5691 p_init_msg_list,
5692 l_return_status,
5693 x_msg_count,
5694 x_msg_data,
5695 l_ipy_rec,
5696 lx_ipy_rec
5697 );
5698 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
5699 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
5700 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
5701 RAISE OKC_API.G_EXCEPTION_ERROR;
5702 END IF;
5703 migrate(lx_ipy_rec, l_def_ipyv_rec);
5704 update_row(
5705 p_init_msg_list,
5706 l_return_status,
5707 x_msg_count,
5708 x_msg_data,
5709 l_okl_ins_policies_tl_rec,
5710 lx_okl_ins_policies_tl_rec
5711 );
5712 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
5713 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
5714 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
5715 RAISE OKC_API.G_EXCEPTION_ERROR;
5716 END IF;
5717 migrate(lx_okl_ins_policies_tl_rec, l_def_ipyv_rec);
5718 x_ipyv_rec := l_def_ipyv_rec;
5719 x_return_status := l_return_status;
5720 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
5721 EXCEPTION
5722 WHEN OKC_API.G_EXCEPTION_ERROR THEN
5723 x_return_status := OKC_API.HANDLE_EXCEPTIONS
5724 (
5725 l_api_name,
5726 G_PKG_NAME,
5727 'OKC_API.G_RET_STS_ERROR',
5728 x_msg_count,
5729 x_msg_data,
5730 '_PVT'
5731 );
5732 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
5733 x_return_status := OKC_API.HANDLE_EXCEPTIONS
5734 (
5735 l_api_name,
5736 G_PKG_NAME,
5737 'OKC_API.G_RET_STS_UNEXP_ERROR',
5738 x_msg_count,
5739 x_msg_data,
5740 '_PVT'
5741 );
5742 WHEN OTHERS THEN
5743 x_return_status := OKC_API.HANDLE_EXCEPTIONS
5744 (
5745 l_api_name,
5746 G_PKG_NAME,
5747 'OTHERS',
5748 x_msg_count,
5749 x_msg_data,
5750 '_PVT'
5751 );
5752 END update_row;
5753 ----------------------------------------
5754 -- PL/SQL TBL update_row for:ipyv_tbl --
5755 ----------------------------------------
5756 PROCEDURE update_row(
5757 p_api_version IN NUMBER,
5758 p_init_msg_list IN VARCHAR2 ,
5759 x_return_status OUT NOCOPY VARCHAR2,
5760 x_msg_count OUT NOCOPY NUMBER,
5761 x_msg_data OUT NOCOPY VARCHAR2,
5762 p_ipyv_tbl IN ipyv_tbl_type,
5763 x_ipyv_tbl OUT NOCOPY ipyv_tbl_type,
5764 px_error_tbl IN OUT NOCOPY OKL_API.ERROR_TBL_TYPE) IS
5765 l_api_version CONSTANT NUMBER := 1;
5766 l_api_name CONSTANT VARCHAR2(30) := 'V_error_tbl_update_row';
5767 i NUMBER := 0;
5768 BEGIN
5769 OKC_API.init_msg_list(p_init_msg_list);
5770 -- Make sure PL/SQL table has records in it before passing
5771 IF (p_ipyv_tbl.COUNT > 0) THEN
5772 i := p_ipyv_tbl.FIRST;
5773 LOOP
5774 DECLARE
5775 l_error_rec OKL_API.ERROR_REC_TYPE;
5776 BEGIN
5777 l_error_rec.api_name := l_api_name;
5778 l_error_rec.api_package := G_PKG_NAME;
5779 l_error_rec.idx := i;
5780 update_row (
5781 p_api_version => p_api_version,
5782 p_init_msg_list => OKC_API.G_FALSE,
5783 x_return_status => l_error_rec.error_type,
5784 x_msg_count => l_error_rec.msg_count,
5785 x_msg_data => l_error_rec.msg_data,
5786 p_ipyv_rec => p_ipyv_tbl(i),
5787 x_ipyv_rec => x_ipyv_tbl(i));
5788 IF (l_error_rec.error_type <> OKC_API.G_RET_STS_SUCCESS) THEN
5789 l_error_rec.sqlcode := SQLCODE;
5790 load_error_tbl(l_error_rec, px_error_tbl);
5791 ELSE
5792 x_msg_count := l_error_rec.msg_count;
5793 x_msg_data := l_error_rec.msg_data;
5794 END IF;
5795 EXCEPTION
5796 WHEN OKC_API.G_EXCEPTION_ERROR THEN
5797 l_error_rec.error_type := OKC_API.G_RET_STS_ERROR;
5798 l_error_rec.sqlcode := SQLCODE;
5799 load_error_tbl(l_error_rec, px_error_tbl);
5800 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
5801 l_error_rec.error_type := OKC_API.G_RET_STS_UNEXP_ERROR;
5802 l_error_rec.sqlcode := SQLCODE;
5803 load_error_tbl(l_error_rec, px_error_tbl);
5804 WHEN OTHERS THEN
5805 l_error_rec.error_type := 'OTHERS';
5806 l_error_rec.sqlcode := SQLCODE;
5807 load_error_tbl(l_error_rec, px_error_tbl);
5808 END;
5809 EXIT WHEN (i = p_ipyv_tbl.LAST);
5810 i := p_ipyv_tbl.NEXT(i);
5811 END LOOP;
5812 END IF;
5813 -- Loop through the error_tbl to find the error with the highest severity
5814 -- and return it.
5815 x_return_status := find_highest_exception(px_error_tbl);
5816 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
5817 EXCEPTION
5818 WHEN OKC_API.G_EXCEPTION_ERROR THEN
5819 x_return_status := OKC_API.HANDLE_EXCEPTIONS
5820 (
5821 l_api_name,
5822 G_PKG_NAME,
5823 'OKC_API.G_RET_STS_ERROR',
5824 x_msg_count,
5825 x_msg_data,
5826 '_PVT'
5827 );
5828 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
5829 x_return_status := OKC_API.HANDLE_EXCEPTIONS
5830 (
5831 l_api_name,
5832 G_PKG_NAME,
5833 'OKC_API.G_RET_STS_UNEXP_ERROR',
5834 x_msg_count,
5835 x_msg_data,
5836 '_PVT'
5837 );
5838 WHEN OTHERS THEN
5839 x_return_status := OKC_API.HANDLE_EXCEPTIONS
5840 (
5841 l_api_name,
5842 G_PKG_NAME,
5843 'OTHERS',
5844 x_msg_count,
5845 x_msg_data,
5846 '_PVT'
5847 );
5848 END update_row;
5849 ----------------------------------------
5850 -- PL/SQL TBL update_row for:IPYV_TBL --
5851 ----------------------------------------
5852 PROCEDURE update_row(
5853 p_api_version IN NUMBER,
5854 p_init_msg_list IN VARCHAR2 ,
5855 x_return_status OUT NOCOPY VARCHAR2,
5856 x_msg_count OUT NOCOPY NUMBER,
5857 x_msg_data OUT NOCOPY VARCHAR2,
5858 p_ipyv_tbl IN ipyv_tbl_type,
5859 x_ipyv_tbl OUT NOCOPY ipyv_tbl_type) IS
5860 l_api_version CONSTANT NUMBER := 1;
5861 l_api_name CONSTANT VARCHAR2(30) := 'V_tbl_update_row';
5862 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
5863 l_error_tbl OKL_API.ERROR_TBL_TYPE;
5864 BEGIN
5865 OKC_API.init_msg_list(p_init_msg_list);
5866 -- Make sure PL/SQL table has records in it before passing
5867 IF (p_ipyv_tbl.COUNT > 0) THEN
5868 update_row (
5869 p_api_version => p_api_version,
5870 p_init_msg_list => OKC_API.G_FALSE,
5871 x_return_status => x_return_status,
5872 x_msg_count => x_msg_count,
5873 x_msg_data => x_msg_data,
5874 p_ipyv_tbl => p_ipyv_tbl,
5875 x_ipyv_tbl => x_ipyv_tbl,
5876 px_error_tbl => l_error_tbl);
5877 END IF;
5878 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
5879 EXCEPTION
5880 WHEN OKC_API.G_EXCEPTION_ERROR THEN
5881 x_return_status := OKC_API.HANDLE_EXCEPTIONS
5882 (
5883 l_api_name,
5884 G_PKG_NAME,
5885 'OKC_API.G_RET_STS_ERROR',
5886 x_msg_count,
5887 x_msg_data,
5888 '_PVT'
5889 );
5890 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
5891 x_return_status := OKC_API.HANDLE_EXCEPTIONS
5892 (
5893 l_api_name,
5894 G_PKG_NAME,
5895 'OKC_API.G_RET_STS_UNEXP_ERROR',
5896 x_msg_count,
5897 x_msg_data,
5898 '_PVT'
5899 );
5900 WHEN OTHERS THEN
5901 x_return_status := OKC_API.HANDLE_EXCEPTIONS
5902 (
5903 l_api_name,
5904 G_PKG_NAME,
5905 'OTHERS',
5906 x_msg_count,
5907 x_msg_data,
5908 '_PVT'
5909 );
5910 END update_row;
5911 ---------------------------------------------------------------------------
5912 -- PROCEDURE delete_row
5913 ---------------------------------------------------------------------------
5914 ---------------------------------------
5915 -- delete_row for:OKL_INS_POLICIES_B --
5916 ---------------------------------------
5917 PROCEDURE delete_row(
5918 p_init_msg_list IN VARCHAR2 ,
5919 x_return_status OUT NOCOPY VARCHAR2,
5920 x_msg_count OUT NOCOPY NUMBER,
5921 x_msg_data OUT NOCOPY VARCHAR2,
5922 p_ipy_rec IN ipy_rec_type) IS
5923 l_api_version CONSTANT NUMBER := 1;
5924 l_api_name CONSTANT VARCHAR2(30) := 'B_delete_row';
5925 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
5926 l_ipy_rec ipy_rec_type := p_ipy_rec;
5927 l_row_notfound BOOLEAN := TRUE;
5928 BEGIN
5929 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
5930 p_init_msg_list,
5931 '_PVT',
5932 x_return_status);
5933 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
5934 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
5935 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
5936 RAISE OKC_API.G_EXCEPTION_ERROR;
5937 END IF;
5938 DELETE FROM OKL_INS_POLICIES_B
5939 WHERE ID = p_ipy_rec.id;
5940 x_return_status := l_return_status;
5941 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
5942 EXCEPTION
5943 WHEN OKC_API.G_EXCEPTION_ERROR THEN
5944 x_return_status := OKC_API.HANDLE_EXCEPTIONS
5945 (
5946 l_api_name,
5947 G_PKG_NAME,
5948 'OKC_API.G_RET_STS_ERROR',
5949 x_msg_count,
5950 x_msg_data,
5951 '_PVT'
5952 );
5953 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
5954 x_return_status := OKC_API.HANDLE_EXCEPTIONS
5955 (
5956 l_api_name,
5957 G_PKG_NAME,
5958 'OKC_API.G_RET_STS_UNEXP_ERROR',
5959 x_msg_count,
5960 x_msg_data,
5961 '_PVT'
5962 );
5963 WHEN OTHERS THEN
5964 x_return_status := OKC_API.HANDLE_EXCEPTIONS
5965 (
5966 l_api_name,
5967 G_PKG_NAME,
5968 'OTHERS',
5969 x_msg_count,
5970 x_msg_data,
5971 '_PVT'
5972 );
5973 END delete_row;
5974 ----------------------------------------
5975 -- delete_row for:OKL_INS_POLICIES_TL --
5976 ----------------------------------------
5977 PROCEDURE delete_row(
5978 p_init_msg_list IN VARCHAR2 ,
5979 x_return_status OUT NOCOPY VARCHAR2,
5980 x_msg_count OUT NOCOPY NUMBER,
5981 x_msg_data OUT NOCOPY VARCHAR2,
5982 p_okl_ins_policies_tl_rec IN okl_ins_policies_tl_rec_type) IS
5983 l_api_version CONSTANT NUMBER := 1;
5984 l_api_name CONSTANT VARCHAR2(30) := 'TL_delete_row';
5985 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
5986 l_okl_ins_policies_tl_rec okl_ins_policies_tl_rec_type := p_okl_ins_policies_tl_rec;
5987 l_row_notfound BOOLEAN := TRUE;
5988 BEGIN
5989 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
5990 p_init_msg_list,
5991 '_PVT',
5992 x_return_status);
5993 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
5994 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
5995 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
5996 RAISE OKC_API.G_EXCEPTION_ERROR;
5997 END IF;
5998 DELETE FROM OKL_INS_POLICIES_TL
5999 WHERE ID = p_okl_ins_policies_tl_rec.id;
6000 x_return_status := l_return_status;
6001 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
6002 EXCEPTION
6003 WHEN OKC_API.G_EXCEPTION_ERROR THEN
6004 x_return_status := OKC_API.HANDLE_EXCEPTIONS
6005 (
6006 l_api_name,
6007 G_PKG_NAME,
6008 'OKC_API.G_RET_STS_ERROR',
6009 x_msg_count,
6010 x_msg_data,
6011 '_PVT'
6012 );
6013 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
6014 x_return_status := OKC_API.HANDLE_EXCEPTIONS
6015 (
6016 l_api_name,
6017 G_PKG_NAME,
6018 'OKC_API.G_RET_STS_UNEXP_ERROR',
6019 x_msg_count,
6020 x_msg_data,
6021 '_PVT'
6022 );
6023 WHEN OTHERS THEN
6024 x_return_status := OKC_API.HANDLE_EXCEPTIONS
6025 (
6026 l_api_name,
6027 G_PKG_NAME,
6028 'OTHERS',
6029 x_msg_count,
6030 x_msg_data,
6031 '_PVT'
6032 );
6033 END delete_row;
6034 ---------------------------------------
6035 -- delete_row for:OKL_INS_POLICIES_V --
6036 ---------------------------------------
6037 PROCEDURE delete_row(
6038 p_api_version IN NUMBER,
6039 p_init_msg_list IN VARCHAR2 ,
6040 x_return_status OUT NOCOPY VARCHAR2,
6041 x_msg_count OUT NOCOPY NUMBER,
6042 x_msg_data OUT NOCOPY VARCHAR2,
6043 p_ipyv_rec IN ipyv_rec_type) IS
6044 l_api_version CONSTANT NUMBER := 1;
6045 l_api_name CONSTANT VARCHAR2(30) := 'V_delete_row';
6046 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
6047 l_ipyv_rec ipyv_rec_type := p_ipyv_rec;
6048 l_okl_ins_policies_tl_rec okl_ins_policies_tl_rec_type;
6049 l_ipy_rec ipy_rec_type;
6050 BEGIN
6051 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
6052 G_PKG_NAME,
6053 p_init_msg_list,
6054 l_api_version,
6055 p_api_version,
6056 '_PVT',
6057 x_return_status);
6058 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
6059 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
6060 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
6061 RAISE OKC_API.G_EXCEPTION_ERROR;
6062 END IF;
6063 -----------------------------------------
6064 -- Move VIEW record to "Child" records --
6065 -----------------------------------------
6066 migrate(l_ipyv_rec, l_okl_ins_policies_tl_rec);
6067 migrate(l_ipyv_rec, l_ipy_rec);
6068 -----------------------------------------------
6069 -- Call the DELETE_ROW for each child record --
6070 -----------------------------------------------
6071 delete_row(
6072 p_init_msg_list,
6073 l_return_status,
6074 x_msg_count,
6075 x_msg_data,
6076 l_okl_ins_policies_tl_rec
6077 );
6078 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
6079 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
6080 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
6081 RAISE OKC_API.G_EXCEPTION_ERROR;
6082 END IF;
6083 delete_row(
6084 p_init_msg_list,
6085 l_return_status,
6086 x_msg_count,
6087 x_msg_data,
6088 l_ipy_rec
6089 );
6090 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
6091 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
6092 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
6093 RAISE OKC_API.G_EXCEPTION_ERROR;
6094 END IF;
6095 x_return_status := l_return_status;
6096 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
6097 EXCEPTION
6098 WHEN OKC_API.G_EXCEPTION_ERROR THEN
6099 x_return_status := OKC_API.HANDLE_EXCEPTIONS
6100 (
6101 l_api_name,
6102 G_PKG_NAME,
6103 'OKC_API.G_RET_STS_ERROR',
6104 x_msg_count,
6105 x_msg_data,
6106 '_PVT'
6107 );
6108 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
6109 x_return_status := OKC_API.HANDLE_EXCEPTIONS
6110 (
6111 l_api_name,
6112 G_PKG_NAME,
6113 'OKC_API.G_RET_STS_UNEXP_ERROR',
6114 x_msg_count,
6115 x_msg_data,
6116 '_PVT'
6117 );
6118 WHEN OTHERS THEN
6119 x_return_status := OKC_API.HANDLE_EXCEPTIONS
6120 (
6121 l_api_name,
6122 G_PKG_NAME,
6123 'OTHERS',
6124 x_msg_count,
6125 x_msg_data,
6126 '_PVT'
6127 );
6128 END delete_row;
6129 --------------------------------------------------
6130 -- PL/SQL TBL delete_row for:OKL_INS_POLICIES_V --
6131 --------------------------------------------------
6132 PROCEDURE delete_row(
6133 p_api_version IN NUMBER,
6134 p_init_msg_list IN VARCHAR2 ,
6135 x_return_status OUT NOCOPY VARCHAR2,
6136 x_msg_count OUT NOCOPY NUMBER,
6137 x_msg_data OUT NOCOPY VARCHAR2,
6138 p_ipyv_tbl IN ipyv_tbl_type,
6139 px_error_tbl IN OUT NOCOPY OKL_API.ERROR_TBL_TYPE) IS
6140 l_api_version CONSTANT NUMBER := 1;
6141 l_api_name CONSTANT VARCHAR2(30) := 'V_error_tbl_delete_row';
6142 i NUMBER := 0;
6143 BEGIN
6144 OKC_API.init_msg_list(p_init_msg_list);
6145 -- Make sure PL/SQL table has records in it before passing
6146 IF (p_ipyv_tbl.COUNT > 0) THEN
6147 i := p_ipyv_tbl.FIRST;
6148 LOOP
6149 DECLARE
6150 l_error_rec OKL_API.ERROR_REC_TYPE;
6151 BEGIN
6152 l_error_rec.api_name := l_api_name;
6153 l_error_rec.api_package := G_PKG_NAME;
6154 l_error_rec.idx := i;
6155 delete_row (
6156 p_api_version => p_api_version,
6157 p_init_msg_list => OKC_API.G_FALSE,
6158 x_return_status => l_error_rec.error_type,
6159 x_msg_count => l_error_rec.msg_count,
6160 x_msg_data => l_error_rec.msg_data,
6161 p_ipyv_rec => p_ipyv_tbl(i));
6162 IF (l_error_rec.error_type <> OKC_API.G_RET_STS_SUCCESS) THEN
6163 l_error_rec.sqlcode := SQLCODE;
6164 load_error_tbl(l_error_rec, px_error_tbl);
6165 ELSE
6166 x_msg_count := l_error_rec.msg_count;
6167 x_msg_data := l_error_rec.msg_data;
6168 END IF;
6169 EXCEPTION
6170 WHEN OKC_API.G_EXCEPTION_ERROR THEN
6171 l_error_rec.error_type := OKC_API.G_RET_STS_ERROR;
6172 l_error_rec.sqlcode := SQLCODE;
6173 load_error_tbl(l_error_rec, px_error_tbl);
6174 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
6175 l_error_rec.error_type := OKC_API.G_RET_STS_UNEXP_ERROR;
6176 l_error_rec.sqlcode := SQLCODE;
6177 load_error_tbl(l_error_rec, px_error_tbl);
6178 WHEN OTHERS THEN
6179 l_error_rec.error_type := 'OTHERS';
6180 l_error_rec.sqlcode := SQLCODE;
6181 load_error_tbl(l_error_rec, px_error_tbl);
6182 END;
6183 EXIT WHEN (i = p_ipyv_tbl.LAST);
6184 i := p_ipyv_tbl.NEXT(i);
6185 END LOOP;
6186 END IF;
6187 -- Loop through the error_tbl to find the error with the highest severity
6188 -- and return it.
6189 x_return_status := find_highest_exception(px_error_tbl);
6190 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
6191 EXCEPTION
6192 WHEN OKC_API.G_EXCEPTION_ERROR THEN
6193 x_return_status := OKC_API.HANDLE_EXCEPTIONS
6194 (
6195 l_api_name,
6196 G_PKG_NAME,
6197 'OKC_API.G_RET_STS_ERROR',
6198 x_msg_count,
6199 x_msg_data,
6200 '_PVT'
6201 );
6202 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
6203 x_return_status := OKC_API.HANDLE_EXCEPTIONS
6204 (
6205 l_api_name,
6206 G_PKG_NAME,
6207 'OKC_API.G_RET_STS_UNEXP_ERROR',
6208 x_msg_count,
6209 x_msg_data,
6210 '_PVT'
6211 );
6212 WHEN OTHERS THEN
6213 x_return_status := OKC_API.HANDLE_EXCEPTIONS
6214 (
6215 l_api_name,
6216 G_PKG_NAME,
6217 'OTHERS',
6218 x_msg_count,
6219 x_msg_data,
6220 '_PVT'
6221 );
6222 END delete_row;
6223 --------------------------------------------------
6224 -- PL/SQL TBL delete_row for:OKL_INS_POLICIES_V --
6225 --------------------------------------------------
6226 PROCEDURE delete_row(
6227 p_api_version IN NUMBER,
6228 p_init_msg_list IN VARCHAR2 ,
6229 x_return_status OUT NOCOPY VARCHAR2,
6230 x_msg_count OUT NOCOPY NUMBER,
6231 x_msg_data OUT NOCOPY VARCHAR2,
6232 p_ipyv_tbl IN ipyv_tbl_type) IS
6233 l_api_version CONSTANT NUMBER := 1;
6234 l_api_name CONSTANT VARCHAR2(30) := 'V_tbl_delete_row';
6235 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
6236 l_error_tbl OKL_API.ERROR_TBL_TYPE;
6237 BEGIN
6238 OKC_API.init_msg_list(p_init_msg_list);
6239 -- Make sure PL/SQL table has records in it before passing
6240 IF (p_ipyv_tbl.COUNT > 0) THEN
6241 delete_row (
6242 p_api_version => p_api_version,
6243 p_init_msg_list => OKC_API.G_FALSE,
6244 x_return_status => x_return_status,
6245 x_msg_count => x_msg_count,
6246 x_msg_data => x_msg_data,
6247 p_ipyv_tbl => p_ipyv_tbl,
6248 px_error_tbl => l_error_tbl);
6249 END IF;
6250 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
6251 EXCEPTION
6252 WHEN OKC_API.G_EXCEPTION_ERROR THEN
6253 x_return_status := OKC_API.HANDLE_EXCEPTIONS
6254 (
6255 l_api_name,
6256 G_PKG_NAME,
6257 'OKC_API.G_RET_STS_ERROR',
6258 x_msg_count,
6259 x_msg_data,
6260 '_PVT'
6261 );
6262 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
6263 x_return_status := OKC_API.HANDLE_EXCEPTIONS
6264 (
6265 l_api_name,
6266 G_PKG_NAME,
6267 'OKC_API.G_RET_STS_UNEXP_ERROR',
6268 x_msg_count,
6269 x_msg_data,
6270 '_PVT'
6271 );
6272 WHEN OTHERS THEN
6273 x_return_status := OKC_API.HANDLE_EXCEPTIONS
6274 (
6275 l_api_name,
6276 G_PKG_NAME,
6277 'OTHERS',
6278 x_msg_count,
6279 x_msg_data,
6280 '_PVT'
6281 );
6282 END delete_row;
6283 END OKL_IPY_PVT;