[Home] [Help]
PACKAGE BODY: APPS.OKL_LPO_PVT
Source
1 PACKAGE BODY OKL_LPO_PVT AS
2 /* $Header: OKLSLPOB.pls 120.6 2007/08/08 12:47:38 arajagop noship $ */
3 ---------------------------------------------------------------------------
4 -- FUNCTION get_seq_id
5 ---------------------------------------------------------------------------
6 FUNCTION get_seq_id RETURN NUMBER IS
7 BEGIN
8 RETURN(Okc_P_Util.raw_to_number(sys_guid()));
9 END get_seq_id;
10
11 ---------------------------------------------------------------------------
12 -- PROCEDURE qc
13 ---------------------------------------------------------------------------
14 PROCEDURE qc IS
15 BEGIN
16 NULL;
17 END qc;
18
19 ---------------------------------------------------------------------------
20 -- PROCEDURE change_version
21 ---------------------------------------------------------------------------
22 PROCEDURE change_version IS
23 BEGIN
24 NULL;
25 END change_version;
26
27 ---------------------------------------------------------------------------
28 -- PROCEDURE api_copy
29 ---------------------------------------------------------------------------
30 PROCEDURE api_copy IS
31 BEGIN
32 NULL;
33 END api_copy;
34
35 ----------------------------------------
36 -- is_unique to check uniqueness of NAME
37 ----------------------------------------
38 PROCEDURE is_unique (
39 x_return_status OUT NOCOPY VARCHAR2,
40 p_lpov_rec IN lpov_rec_type) IS
41
42
43 -- Cursor to get khr_id if a contract exists (create mode)
44 CURSOR okl_name_csr ( p_lpov_rec IN lpov_rec_type) IS
45 SELECT name
46 FROM OKL_LATE_POLICIES_V
47 WHERE name = p_lpov_rec.name
48 AND id <> p_lpov_rec.id;
49
50
51 l_name OKL_LATE_POLICIES_V.NAME%TYPE;
52 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
53 BEGIN
54
55 -- Check if value passed for id
56 IF (p_lpov_rec.id IS NOT NULL AND p_lpov_rec.id <> OKC_API.G_MISS_NUM) THEN
57
58 OPEN okl_name_csr(p_lpov_rec);
59 FETCH okl_name_csr INTO l_name;
60
61 -- id already exists, so update mode
62 IF okl_name_csr%FOUND THEN
63 OKL_API.SET_MESSAGE( p_app_name => 'OKL'
64 ,p_msg_name => 'OKL_LLA_NOT_UNIQUE'
65 ,p_token1 => 'COL_NAME'
66 ,p_token1_value => 'Late Policy Name');
67
68 -- notify caller of an error
69 l_return_status := OKC_API.G_RET_STS_ERROR;
70 END IF;
71
72 END IF;
73 CLOSE okl_name_csr;
74
75 x_return_status := l_return_status;
76
77 EXCEPTION
78
79 WHEN OTHERS THEN
80
81 IF okl_name_csr%ISOPEN THEN
82 CLOSE okl_name_csr;
83 END IF;
84
85 OKL_API.SET_MESSAGE( p_app_name => G_APP_NAME
86 ,p_msg_name => G_UNEXPECTED_ERROR
87 ,p_token1 => G_SQLCODE_TOKEN
88 ,p_token1_value => SQLCODE
89 ,p_token2 => G_SQLERRM_TOKEN
90 ,p_token2_value => SQLERRM);
91 x_return_status := OKL_API.G_RET_STS_UNEXP_ERROR;
92 END is_unique;
93
94 ---------------------------------------------------------------------------
95 -- PROCEDURE add_language
96 ---------------------------------------------------------------------------
97 PROCEDURE add_language IS
98 BEGIN
99 DELETE FROM OKL_LATE_POLICIES_TL T
100 WHERE NOT EXISTS (
101 SELECT NULL
102 FROM OKL_LATE_POLICIES_ALL_B B
103 WHERE B.ID =T.ID
104 AND T.LANGUAGE = USERENV('LANG')
105 );
106
107 UPDATE OKL_LATE_POLICIES_TL T SET(
108 --LANGUAGE,
109 NAME,
110 DESCRIPTION) = (SELECT
111 --B.LANGUAGE,
112 B.NAME,
113 B.DESCRIPTION
114 FROM OKL_LATE_POLICIES_TL B
115 WHERE B.ID = T.ID
116 and b.language = t.source_lang)
117 WHERE ( T.ID, t.language)
118 IN (SELECT
119 SUBT.ID
120 ,subt.language
121 FROM OKL_LATE_POLICIES_TL SUBB, OKL_LATE_POLICIES_TL SUBT
122 WHERE SUBB.ID = SUBT.ID
123 and subb.language = subt.language
124 AND (--SUBB.LANGUAGE <> SUBT.LANGUAGE OR
125 SUBB.NAME <> SUBT.NAME
126 OR SUBB.DESCRIPTION <> SUBT.DESCRIPTION
127 OR (SUBB.LANGUAGE IS NOT NULL AND SUBT.LANGUAGE IS NULL)
128 OR (SUBB.NAME IS NOT NULL AND SUBT.NAME IS NULL)
129 OR (SUBB.DESCRIPTION IS NULL AND SUBT.DESCRIPTION IS NOT NULL)
130 ));
131
132 INSERT INTO OKL_LATE_POLICIES_TL (
133 ID,
134 LANGUAGE,
135 SOURCE_LANG,
136 NAME,
137 DESCRIPTION,
138 CREATED_BY,
139 CREATION_DATE,
140 LAST_UPDATED_BY,
141 LAST_UPDATE_DATE,
142 LAST_UPDATE_LOGIN)
143 SELECT
144 B.ID,
145 L.LANGUAGE_CODE,
146 B.SOURCE_LANG,
147 B.NAME,
148 B.DESCRIPTION,
149 B.CREATED_BY,
150 B.CREATION_DATE,
151 B.LAST_UPDATED_BY,
152 B.LAST_UPDATE_DATE,
153 B.LAST_UPDATE_LOGIN
154 FROM OKL_LATE_POLICIES_TL B, FND_LANGUAGES L
155 WHERE L.INSTALLED_FLAG IN ('I', 'B')
156 AND B.LANGUAGE = USERENV('LANG')
157 AND NOT EXISTS (
158 SELECT NULL
159 FROM OKL_LATE_POLICIES_TL T
160 WHERE T.ID = B.ID
161 AND T.LANGUAGE = L.LANGUAGE_CODE
162 );
163 END add_language;
164
165 ---------------------------------------------------------------------------
166 -- FUNCTION get_rec for: OKL_LATE_POLICIES_V
167 ---------------------------------------------------------------------------
168 FUNCTION get_rec (
169 p_lpov_rec IN lpov_rec_type,
170 x_no_data_found OUT NOCOPY BOOLEAN
171 ) RETURN lpov_rec_type IS
172 CURSOR okl_late_policies_v_pk_csr (p_id IN NUMBER) IS
173 SELECT
174 ID,
175 ORG_ID,
176 NAME,
177 DESCRIPTION,
178 ISE_ID,
179 TDF_ID,
180 IDX_ID,
181 LATE_POLICY_TYPE_CODE,
182 OBJECT_VERSION_NUMBER,
183 LATE_CHRG_ALLOWED_YN,
184 LATE_CHRG_FIXED_YN,
185 LATE_CHRG_AMOUNT,
186 LATE_CHRG_RATE,
187 LATE_CHRG_GRACE_PERIOD,
188 LATE_CHRG_MINIMUM_BALANCE,
189 MINIMUM_LATE_CHARGE,
190 MAXIMUM_LATE_CHARGE,
191 LATE_INT_ALLOWED_YN,
192 LATE_INT_FIXED_YN,
193 LATE_INT_RATE,
194 ADDER_RATE,
195 LATE_INT_GRACE_PERIOD,
196 LATE_INT_MINIMUM_BALANCE,
197 MINIMUM_LATE_INTEREST,
198 MAXIMUM_LATE_INTEREST,
199 ATTRIBUTE_CATEGORY,
200 ATTRIBUTE1,
201 ATTRIBUTE2,
202 ATTRIBUTE3,
203 ATTRIBUTE4,
204 ATTRIBUTE5,
205 ATTRIBUTE6,
206 ATTRIBUTE7,
207 ATTRIBUTE8,
208 ATTRIBUTE9,
209 ATTRIBUTE10,
210 ATTRIBUTE11,
211 ATTRIBUTE12,
212 ATTRIBUTE13,
213 ATTRIBUTE14,
214 ATTRIBUTE15,
215 CREATED_BY,
216 CREATION_DATE,
217 LAST_UPDATED_BY,
218 LAST_UPDATE_DATE,
219 LAST_UPDATE_LOGIN,
220 DAYS_IN_YEAR
221 FROM Okl_Late_Policies_V
222 WHERE okl_late_policies_v.id = p_id;
223 l_okl_late_policies_v_pk okl_late_policies_v_pk_csr%ROWTYPE;
224 l_lpov_rec lpov_rec_type;
225 BEGIN
226 x_no_data_found := TRUE;
227 -- Get current database values
228 OPEN okl_late_policies_v_pk_csr (p_lpov_rec.id);
229 FETCH okl_late_policies_v_pk_csr INTO
230 l_lpov_rec.id,
231 l_lpov_rec.org_id,
232 l_lpov_rec.name,
233 l_lpov_rec.description,
234 l_lpov_rec.ise_id,
235 l_lpov_rec.tdf_id,
236 l_lpov_rec.idx_id,
237 l_lpov_rec.late_policy_type_code,
238 l_lpov_rec.object_version_number,
239 l_lpov_rec.late_chrg_allowed_yn,
240 l_lpov_rec.late_chrg_fixed_yn,
241 l_lpov_rec.late_chrg_amount,
242 l_lpov_rec.late_chrg_rate,
243 l_lpov_rec.late_chrg_grace_period,
244 l_lpov_rec.late_chrg_minimum_balance,
245 l_lpov_rec.minimum_late_charge,
246 l_lpov_rec.maximum_late_charge,
247 l_lpov_rec.late_int_allowed_yn,
248 l_lpov_rec.late_int_fixed_yn,
249 l_lpov_rec.late_int_rate,
250 l_lpov_rec.adder_rate,
251 l_lpov_rec.late_int_grace_period,
252 l_lpov_rec.late_int_minimum_balance,
253 l_lpov_rec.minimum_late_interest,
254 l_lpov_rec.maximum_late_interest,
255 l_lpov_rec.attribute_category,
256 l_lpov_rec.attribute1,
257 l_lpov_rec.attribute2,
258 l_lpov_rec.attribute3,
259 l_lpov_rec.attribute4,
260 l_lpov_rec.attribute5,
261 l_lpov_rec.attribute6,
262 l_lpov_rec.attribute7,
263 l_lpov_rec.attribute8,
264 l_lpov_rec.attribute9,
265 l_lpov_rec.attribute10,
266 l_lpov_rec.attribute11,
267 l_lpov_rec.attribute12,
268 l_lpov_rec.attribute13,
269 l_lpov_rec.attribute14,
270 l_lpov_rec.attribute15,
271 l_lpov_rec.created_by,
272 l_lpov_rec.creation_date,
273 l_lpov_rec.last_updated_by,
274 l_lpov_rec.last_update_date,
275 l_lpov_rec.last_update_login,
276 l_lpov_rec.DAYS_IN_YEAR;
277 x_no_data_found := okl_late_policies_v_pk_csr%NOTFOUND;
278 CLOSE okl_late_policies_v_pk_csr;
279 RETURN(l_lpov_rec);
280 END get_rec;
281
282 ------------------------------------------------------------------
283 -- This version of get_rec sets error messages if no data found --
284 ------------------------------------------------------------------
285 FUNCTION get_rec (
286 p_lpov_rec IN lpov_rec_type,
287 x_return_status OUT NOCOPY VARCHAR2
288 ) RETURN lpov_rec_type IS
289 l_lpov_rec lpov_rec_type;
290 l_row_notfound BOOLEAN := TRUE;
291 BEGIN
292 x_return_status := Okc_Api.G_RET_STS_SUCCESS;
293 l_lpov_rec := get_rec(p_lpov_rec, l_row_notfound);
294 IF (l_row_notfound) THEN
295 Okc_Api.set_message(G_APP_NAME,G_INVALID_VALUE,G_COL_NAME_TOKEN,'ID');
296 x_return_status := Okc_Api.G_RET_STS_ERROR;
297 END IF;
298 RETURN(l_lpov_rec);
299 END get_rec;
300 -----------------------------------------------------------
301 -- So we don't have to pass an "l_row_notfound" variable --
302 -----------------------------------------------------------
303 FUNCTION get_rec (
304 p_lpov_rec IN lpov_rec_type
305 ) RETURN lpov_rec_type IS
306 l_row_not_found BOOLEAN := TRUE;
307 BEGIN
308 RETURN(get_rec(p_lpov_rec, l_row_not_found));
309 END get_rec;
310 ---------------------------------------------------------------------------
311 -- FUNCTION get_rec for: OKL_LATE_POLICIES_B
312 ---------------------------------------------------------------------------
313 FUNCTION get_rec (
314 p_lpo_rec IN lpo_rec_type,
315 x_no_data_found OUT NOCOPY BOOLEAN
316 ) RETURN lpo_rec_type IS
317 CURSOR okl_late_policies_b_pk_csr (p_id IN NUMBER) IS
318 SELECT
319 ID,
320 ORG_ID,
321 ISE_ID,
322 TDF_ID,
323 IDX_ID,
324 LATE_POLICY_TYPE_CODE,
325 OBJECT_VERSION_NUMBER,
326 LATE_CHRG_ALLOWED_YN,
327 LATE_CHRG_FIXED_YN,
328 LATE_CHRG_AMOUNT,
329 LATE_CHRG_RATE,
330 LATE_CHRG_GRACE_PERIOD,
331 LATE_CHRG_MINIMUM_BALANCE,
332 MINIMUM_LATE_CHARGE,
333 MAXIMUM_LATE_CHARGE,
334 LATE_INT_ALLOWED_YN,
335 LATE_INT_FIXED_YN,
336 LATE_INT_RATE,
337 ADDER_RATE,
338 LATE_INT_GRACE_PERIOD,
339 LATE_INT_MINIMUM_BALANCE,
340 MINIMUM_LATE_INTEREST,
341 MAXIMUM_LATE_INTEREST,
342 ATTRIBUTE_CATEGORY,
343 ATTRIBUTE1,
344 ATTRIBUTE2,
345 ATTRIBUTE3,
346 ATTRIBUTE4,
347 ATTRIBUTE5,
348 ATTRIBUTE6,
349 ATTRIBUTE7,
350 ATTRIBUTE8,
351 ATTRIBUTE9,
352 ATTRIBUTE10,
353 ATTRIBUTE11,
354 ATTRIBUTE12,
355 ATTRIBUTE13,
356 ATTRIBUTE14,
357 ATTRIBUTE15,
358 CREATED_BY,
359 CREATION_DATE,
360 LAST_UPDATED_BY,
361 LAST_UPDATE_DATE,
362 LAST_UPDATE_LOGIN,
363 days_in_year
364 FROM Okl_Late_Policies_B
365 WHERE okl_late_policies_b.id = p_id;
366 l_okl_late_policies_b_pk okl_late_policies_b_pk_csr%ROWTYPE;
367 l_lpo_rec lpo_rec_type;
368 BEGIN
369 x_no_data_found := TRUE;
370 -- Get current database values
371 OPEN okl_late_policies_b_pk_csr (p_lpo_rec.id);
372 FETCH okl_late_policies_b_pk_csr INTO
373 l_lpo_rec.id,
374 l_lpo_rec.org_id,
375 l_lpo_rec.ise_id,
376 l_lpo_rec.tdf_id,
377 l_lpo_rec.idx_id,
378 l_lpo_rec.late_policy_type_code,
379 l_lpo_rec.object_version_number,
380 l_lpo_rec.late_chrg_allowed_yn,
381 l_lpo_rec.late_chrg_fixed_yn,
382 l_lpo_rec.late_chrg_amount,
383 l_lpo_rec.late_chrg_rate,
384 l_lpo_rec.late_chrg_grace_period,
385 l_lpo_rec.late_chrg_minimum_balance,
386 l_lpo_rec.minimum_late_charge,
387 l_lpo_rec.maximum_late_charge,
388 l_lpo_rec.late_int_allowed_yn,
389 l_lpo_rec.late_int_fixed_yn,
390 l_lpo_rec.late_int_rate,
391 l_lpo_rec.adder_rate,
392 l_lpo_rec.late_int_grace_period,
393 l_lpo_rec.late_int_minimum_balance,
394 l_lpo_rec.minimum_late_interest,
395 l_lpo_rec.maximum_late_interest,
396 l_lpo_rec.attribute_category,
397 l_lpo_rec.attribute1,
398 l_lpo_rec.attribute2,
399 l_lpo_rec.attribute3,
400 l_lpo_rec.attribute4,
401 l_lpo_rec.attribute5,
402 l_lpo_rec.attribute6,
403 l_lpo_rec.attribute7,
404 l_lpo_rec.attribute8,
408 l_lpo_rec.attribute12,
405 l_lpo_rec.attribute9,
406 l_lpo_rec.attribute10,
407 l_lpo_rec.attribute11,
409 l_lpo_rec.attribute13,
410 l_lpo_rec.attribute14,
411 l_lpo_rec.attribute15,
412 l_lpo_rec.created_by,
413 l_lpo_rec.creation_date,
414 l_lpo_rec.last_updated_by,
415 l_lpo_rec.last_update_date,
416 l_lpo_rec.last_update_login,
417 l_lpo_rec.days_in_year;
418 x_no_data_found := okl_late_policies_b_pk_csr%NOTFOUND;
419 CLOSE okl_late_policies_b_pk_csr;
420 RETURN(l_lpo_rec);
421 END get_rec;
422
423 ------------------------------------------------------------------
424 -- This version of get_rec sets error messages if no data found --
425 ------------------------------------------------------------------
426 FUNCTION get_rec (
427 p_lpo_rec IN lpo_rec_type,
428 x_return_status OUT NOCOPY VARCHAR2
429 ) RETURN lpo_rec_type IS
430 l_lpo_rec lpo_rec_type;
431 l_row_notfound BOOLEAN := TRUE;
432 BEGIN
433 x_return_status := Okc_Api.G_RET_STS_SUCCESS;
434 l_lpo_rec := get_rec(p_lpo_rec, l_row_notfound);
435 IF (l_row_notfound) THEN
436 Okc_Api.set_message(G_APP_NAME,G_INVALID_VALUE,G_COL_NAME_TOKEN,'ID');
437 x_return_status := Okc_Api.G_RET_STS_ERROR;
438 END IF;
439 RETURN(l_lpo_rec);
440 END get_rec;
441 -----------------------------------------------------------
442 -- So we don't have to pass an "l_row_notfound" variable --
443 -----------------------------------------------------------
444 FUNCTION get_rec (
445 p_lpo_rec IN lpo_rec_type
446 ) RETURN lpo_rec_type IS
447 l_row_not_found BOOLEAN := TRUE;
448 BEGIN
449 RETURN(get_rec(p_lpo_rec, l_row_not_found));
450 END get_rec;
451 ---------------------------------------------------------------------------
452 -- FUNCTION get_rec for: OKL_LATE_POLICIES_TL
453 ---------------------------------------------------------------------------
454 FUNCTION get_rec (
455 p_okl_late_policies_tl_rec IN okl_late_policies_tl_rec_type,
456 x_no_data_found OUT NOCOPY BOOLEAN
457 ) RETURN okl_late_policies_tl_rec_type IS
458 CURSOR okl_late_policies_tl_pk_csr (p_id IN NUMBER) IS
459 SELECT
460 ID,
461 LANGUAGE,
462 SOURCE_LANG,
463 NAME,
464 DESCRIPTION,
465 CREATED_BY,
466 CREATION_DATE,
467 LAST_UPDATED_BY,
468 LAST_UPDATE_DATE,
469 LAST_UPDATE_LOGIN
470 FROM Okl_Late_Policies_Tl
471 WHERE okl_late_policies_tl.id = p_id;
472 l_okl_late_policies_tl_pk okl_late_policies_tl_pk_csr%ROWTYPE;
473 l_okl_late_policies_tl_rec okl_late_policies_tl_rec_type;
474 BEGIN
475 x_no_data_found := TRUE;
476 -- Get current database values
477 OPEN okl_late_policies_tl_pk_csr (p_okl_late_policies_tl_rec.id);
478 FETCH okl_late_policies_tl_pk_csr INTO
479 l_okl_late_policies_tl_rec.id,
480 l_okl_late_policies_tl_rec.LANGUAGE,
481 l_okl_late_policies_tl_rec.source_lang,
482 l_okl_late_policies_tl_rec.name,
483 l_okl_late_policies_tl_rec.description,
484 l_okl_late_policies_tl_rec.created_by,
485 l_okl_late_policies_tl_rec.creation_date,
486 l_okl_late_policies_tl_rec.last_updated_by,
487 l_okl_late_policies_tl_rec.last_update_date,
488 l_okl_late_policies_tl_rec.last_update_login;
489 x_no_data_found := okl_late_policies_tl_pk_csr%NOTFOUND;
490 CLOSE okl_late_policies_tl_pk_csr;
491 RETURN(l_okl_late_policies_tl_rec);
492 END get_rec;
493
494 ------------------------------------------------------------------
495 -- This version of get_rec sets error messages if no data found --
496 ------------------------------------------------------------------
497 FUNCTION get_rec (
498 p_okl_late_policies_tl_rec IN okl_late_policies_tl_rec_type,
499 x_return_status OUT NOCOPY VARCHAR2
500 ) RETURN okl_late_policies_tl_rec_type IS
501 l_okl_late_policies_tl_rec okl_late_policies_tl_rec_type;
502 l_row_notfound BOOLEAN := TRUE;
503 BEGIN
504 x_return_status := Okc_Api.G_RET_STS_SUCCESS;
505 l_okl_late_policies_tl_rec := get_rec(p_okl_late_policies_tl_rec, l_row_notfound);
506 IF (l_row_notfound) THEN
507 Okc_Api.set_message(G_APP_NAME,G_INVALID_VALUE,G_COL_NAME_TOKEN,'ID');
508 x_return_status := Okc_Api.G_RET_STS_ERROR;
509 END IF;
510 RETURN(l_okl_late_policies_tl_rec);
511 END get_rec;
512 -----------------------------------------------------------
513 -- So we don't have to pass an "l_row_notfound" variable --
514 -----------------------------------------------------------
515 FUNCTION get_rec (
516 p_okl_late_policies_tl_rec IN okl_late_policies_tl_rec_type
517 ) RETURN okl_late_policies_tl_rec_type IS
518 l_row_not_found BOOLEAN := TRUE;
519 BEGIN
520 RETURN(get_rec(p_okl_late_policies_tl_rec, l_row_not_found));
521 END get_rec;
525 FUNCTION null_out_defaults (
522 ---------------------------------------------------------------------------
523 -- FUNCTION null_out_defaults for: OKL_LATE_POLICIES_V
524 ---------------------------------------------------------------------------
526 p_lpov_rec IN lpov_rec_type
527 ) RETURN lpov_rec_type IS
528 l_lpov_rec lpov_rec_type := p_lpov_rec;
529 BEGIN
530 IF (l_lpov_rec.id = Okc_Api.G_MISS_NUM ) THEN
531 l_lpov_rec.id := NULL;
532 END IF;
533 IF (l_lpov_rec.org_id = Okc_Api.G_MISS_NUM ) THEN
534 l_lpov_rec.org_id := NULL;
535 END IF;
536 IF (l_lpov_rec.name = Okc_Api.G_MISS_CHAR ) THEN
537 l_lpov_rec.name := NULL;
538 END IF;
539 IF (l_lpov_rec.description = Okc_Api.G_MISS_CHAR ) THEN
540 l_lpov_rec.description := NULL;
541 END IF;
542 IF (l_lpov_rec.ise_id = Okc_Api.G_MISS_NUM ) THEN
543 l_lpov_rec.ise_id := NULL;
544 END IF;
545 IF (l_lpov_rec.tdf_id = Okc_Api.G_MISS_NUM ) THEN
546 l_lpov_rec.tdf_id := NULL;
547 END IF;
548 IF (l_lpov_rec.idx_id = Okc_Api.G_MISS_NUM ) THEN
549 l_lpov_rec.idx_id := NULL;
550 END IF;
551 IF (l_lpov_rec.late_policy_type_code = Okc_Api.G_MISS_CHAR ) THEN
552 l_lpov_rec.late_policy_type_code := NULL;
553 END IF;
554 IF (l_lpov_rec.object_version_number = Okc_Api.G_MISS_NUM ) THEN
555 l_lpov_rec.object_version_number := NULL;
556 END IF;
557 IF (l_lpov_rec.late_chrg_allowed_yn = Okc_Api.G_MISS_CHAR ) THEN
558 l_lpov_rec.late_chrg_allowed_yn := NULL;
559 END IF;
560 IF (l_lpov_rec.late_chrg_fixed_yn = Okc_Api.G_MISS_CHAR ) THEN
561 l_lpov_rec.late_chrg_fixed_yn := NULL;
562 END IF;
563 IF (l_lpov_rec.late_chrg_amount = Okc_Api.G_MISS_NUM ) THEN
564 l_lpov_rec.late_chrg_amount := NULL;
565 END IF;
566 IF (l_lpov_rec.late_chrg_rate = Okc_Api.G_MISS_NUM ) THEN
567 l_lpov_rec.late_chrg_rate := NULL;
568 END IF;
569 IF (l_lpov_rec.late_chrg_grace_period = Okc_Api.G_MISS_NUM ) THEN
570 l_lpov_rec.late_chrg_grace_period := NULL;
571 END IF;
572 IF (l_lpov_rec.late_chrg_minimum_balance = Okc_Api.G_MISS_NUM ) THEN
573 l_lpov_rec.late_chrg_minimum_balance := NULL;
574 END IF;
575 IF (l_lpov_rec.minimum_late_charge = Okc_Api.G_MISS_NUM ) THEN
576 l_lpov_rec.minimum_late_charge := NULL;
577 END IF;
578 IF (l_lpov_rec.maximum_late_charge = Okc_Api.G_MISS_NUM ) THEN
579 l_lpov_rec.maximum_late_charge := NULL;
580 END IF;
581 IF (l_lpov_rec.late_int_allowed_yn = Okc_Api.G_MISS_CHAR ) THEN
582 l_lpov_rec.late_int_allowed_yn := NULL;
583 END IF;
584 IF (l_lpov_rec.late_int_fixed_yn = Okc_Api.G_MISS_CHAR ) THEN
585 l_lpov_rec.late_int_fixed_yn := NULL;
586 END IF;
587 IF (l_lpov_rec.late_int_rate = Okc_Api.G_MISS_NUM ) THEN
588 l_lpov_rec.late_int_rate := NULL;
589 END IF;
590 IF (l_lpov_rec.adder_rate = Okc_Api.G_MISS_NUM ) THEN
591 l_lpov_rec.adder_rate := NULL;
592 END IF;
593 IF (l_lpov_rec.late_int_grace_period = Okc_Api.G_MISS_NUM ) THEN
594 l_lpov_rec.late_int_grace_period := NULL;
595 END IF;
596 IF (l_lpov_rec.late_int_minimum_balance = Okc_Api.G_MISS_NUM ) THEN
597 l_lpov_rec.late_int_minimum_balance := NULL;
598 END IF;
599 IF (l_lpov_rec.minimum_late_interest = Okc_Api.G_MISS_NUM ) THEN
600 l_lpov_rec.minimum_late_interest := NULL;
601 END IF;
602 IF (l_lpov_rec.maximum_late_interest = Okc_Api.G_MISS_NUM ) THEN
603 l_lpov_rec.maximum_late_interest := NULL;
604 END IF;
605 IF (l_lpov_rec.attribute_category = Okc_Api.G_MISS_CHAR ) THEN
606 l_lpov_rec.attribute_category := NULL;
607 END IF;
608 IF (l_lpov_rec.attribute1 = Okc_Api.G_MISS_CHAR ) THEN
609 l_lpov_rec.attribute1 := NULL;
610 END IF;
611 IF (l_lpov_rec.attribute2 = Okc_Api.G_MISS_CHAR ) THEN
612 l_lpov_rec.attribute2 := NULL;
613 END IF;
614 IF (l_lpov_rec.attribute3 = Okc_Api.G_MISS_CHAR ) THEN
615 l_lpov_rec.attribute3 := NULL;
616 END IF;
617 IF (l_lpov_rec.attribute4 = Okc_Api.G_MISS_CHAR ) THEN
618 l_lpov_rec.attribute4 := NULL;
619 END IF;
620 IF (l_lpov_rec.attribute5 = Okc_Api.G_MISS_CHAR ) THEN
621 l_lpov_rec.attribute5 := NULL;
622 END IF;
623 IF (l_lpov_rec.attribute6 = Okc_Api.G_MISS_CHAR ) THEN
624 l_lpov_rec.attribute6 := NULL;
625 END IF;
626 IF (l_lpov_rec.attribute7 = Okc_Api.G_MISS_CHAR ) THEN
627 l_lpov_rec.attribute7 := NULL;
628 END IF;
629 IF (l_lpov_rec.attribute8 = Okc_Api.G_MISS_CHAR ) THEN
630 l_lpov_rec.attribute8 := NULL;
631 END IF;
632 IF (l_lpov_rec.attribute9 = Okc_Api.G_MISS_CHAR ) THEN
633 l_lpov_rec.attribute9 := NULL;
634 END IF;
635 IF (l_lpov_rec.attribute10 = Okc_Api.G_MISS_CHAR ) THEN
636 l_lpov_rec.attribute10 := NULL;
637 END IF;
638 IF (l_lpov_rec.attribute11 = Okc_Api.G_MISS_CHAR ) THEN
639 l_lpov_rec.attribute11 := NULL;
640 END IF;
641 IF (l_lpov_rec.attribute12 = Okc_Api.G_MISS_CHAR ) THEN
642 l_lpov_rec.attribute12 := NULL;
643 END IF;
644 IF (l_lpov_rec.attribute13 = Okc_Api.G_MISS_CHAR ) THEN
645 l_lpov_rec.attribute13 := NULL;
646 END IF;
650 IF (l_lpov_rec.attribute15 = Okc_Api.G_MISS_CHAR ) THEN
647 IF (l_lpov_rec.attribute14 = Okc_Api.G_MISS_CHAR ) THEN
648 l_lpov_rec.attribute14 := NULL;
649 END IF;
651 l_lpov_rec.attribute15 := NULL;
652 END IF;
653 IF (l_lpov_rec.created_by = Okc_Api.G_MISS_NUM ) THEN
654 l_lpov_rec.created_by := NULL;
655 END IF;
656 IF (l_lpov_rec.creation_date = Okc_Api.G_MISS_DATE ) THEN
657 l_lpov_rec.creation_date := NULL;
658 END IF;
659 IF (l_lpov_rec.last_updated_by = Okc_Api.G_MISS_NUM ) THEN
660 l_lpov_rec.last_updated_by := NULL;
661 END IF;
662 IF (l_lpov_rec.last_update_date = Okc_Api.G_MISS_DATE ) THEN
663 l_lpov_rec.last_update_date := NULL;
664 END IF;
665 IF (l_lpov_rec.last_update_login = Okc_Api.G_MISS_NUM ) THEN
666 l_lpov_rec.last_update_login := NULL;
667 END IF;
668 IF (l_lpov_rec.days_in_year = Okc_Api.G_MISS_CHAR ) THEN
669 l_lpov_rec.days_in_year := NULL;
670 END IF;
671 RETURN(l_lpov_rec);
672 END null_out_defaults;
673 ---------------------------------------------------------------------------
674 -- FUNCTION Validate_Attributes
675 ---------------------------------------------------------------------------
676 -------------------------------------------------
677 -- Validate_Attributes for:OKL_LATE_POLICIES_V --
678 -------------------------------------------------
679 FUNCTION Validate_Attributes (
680 p_lpov_rec IN lpov_rec_type
681 ) RETURN VARCHAR2 IS
682 l_return_status VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
683 x_return_status VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
684 BEGIN
685 -- Call OKC_UTIL.ADD_VIEW to prepare the PL/SQL table to hold columns of view
686 Okc_Util.ADD_VIEW('OKL_LATE_POLICIES_V', x_return_status);
687 IF (x_return_status <> Okc_Api.G_RET_STS_SUCCESS) THEN
688 l_return_status := x_return_status;
689 RAISE G_EXCEPTION_HALT_VALIDATION;
690 END IF;
691 -----------------------------
692 -- Column Level Validation --
693 -----------------------------
694 -- ***
695 -- id
696 -- ** Hand Coded*
697 IF p_lpov_rec.id = Okl_Api.G_MISS_NUM OR
698 p_lpov_rec.id IS NULL THEN
699 Okl_Api.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'id');
700 x_return_status := Okl_Api.G_RET_STS_ERROR;
701 IF (x_return_status <> Okl_Api.G_RET_STS_SUCCESS) THEN
702 l_return_status := x_return_status;
703 END IF;
704 -- ***
705 -- name
706 -- ***
707 ELSIF p_lpov_rec.name = Okl_Api.G_MISS_CHAR OR
708 p_lpov_rec.name IS NULL THEN
709 Okl_Api.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'name');
710 x_return_status := Okl_Api.G_RET_STS_ERROR;
711 IF (x_return_status <> Okl_Api.G_RET_STS_SUCCESS) THEN
712 l_return_status := x_return_status;
713 END IF;
714
715 -- ***
716 -- ise_id
717 -- ***
718 ELSIF p_lpov_rec.ise_id = Okl_Api.G_MISS_NUM OR
719 p_lpov_rec.ise_id IS NULL THEN
720 Okl_Api.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'ise_id');
721 x_return_status := Okl_Api.G_RET_STS_ERROR;
722 IF (x_return_status <> Okl_Api.G_RET_STS_SUCCESS) THEN
723 l_return_status := x_return_status;
724 END IF;
725 -- ***
726 -- late_policy_type_code
727 -- ***
728 ELSIF p_lpov_rec.late_policy_type_code = Okl_Api.G_MISS_CHAR OR
729 p_lpov_rec.late_policy_type_code IS NULL THEN
730 Okl_Api.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'late_policy_type_code');
731 x_return_status := Okl_Api.G_RET_STS_ERROR;
732 IF (x_return_status <> Okl_Api.G_RET_STS_SUCCESS) THEN
733 l_return_status := x_return_status;
734 END IF;
735 -- ***
736 -- object_version_number
737 -- ***
738 ELSIF p_lpov_rec.object_version_number = Okl_Api.G_MISS_NUM OR
739 p_lpov_rec.object_version_number IS NULL THEN
740 Okl_Api.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'object_version_number');
741 x_return_status := Okl_Api.G_RET_STS_ERROR;
742 IF (x_return_status <> Okl_Api.G_RET_STS_SUCCESS) THEN
743 l_return_status := x_return_status;
744 END IF;
745 END IF;
746 RETURN(l_return_status);
747 EXCEPTION
748 WHEN G_EXCEPTION_HALT_VALIDATION THEN
749 RETURN(l_return_status);
750 WHEN OTHERS THEN
751 Okc_Api.SET_MESSAGE( p_app_name => G_APP_NAME
752 ,p_msg_name => G_UNEXPECTED_ERROR
753 ,p_token1 => G_SQLCODE_TOKEN
754 ,p_token1_value => SQLCODE
755 ,p_token2 => G_SQLERRM_TOKEN
756 ,p_token2_value => SQLERRM);
757 l_return_status := Okc_Api.G_RET_STS_UNEXP_ERROR;
758 RETURN(l_return_status);
759 END Validate_Attributes;
760 ---------------------------------------------------------------------------
761 -- PROCEDURE Validate_Record
762 ---------------------------------------------------------------------------
763 ---------------------------------------------
764 -- Validate Record for:OKL_LATE_POLICIES_V --
765 ---------------------------------------------
769 x_return_status VARCHAR2(1) := Okl_Api.G_RET_STS_SUCCESS;
766 FUNCTION Validate_Record (p_lpov_rec IN lpov_rec_type)
767 RETURN VARCHAR2 IS
768 l_return_status VARCHAR2(1) := Okl_Api.G_RET_STS_SUCCESS;
770 BEGIN
771 -- check uniqueness
772 is_unique(l_return_status, p_lpov_rec);
773
774 -- store the highest degree of error
775 IF (l_return_status <> OKL_API.G_RET_STS_SUCCESS) THEN
776 IF (x_return_status <> OKL_API.G_RET_STS_UNEXP_ERROR) THEN
777 x_return_status := l_return_status;
778 END IF;
779 END IF;
780
781 RETURN (l_return_status);
782 EXCEPTION
783 WHEN G_EXCEPTION_HALT_VALIDATION THEN
784 RETURN(l_return_status);
785 WHEN OTHERS THEN
786 Okl_Api.SET_MESSAGE( p_app_name => G_APP_NAME
787 ,p_msg_name => G_UNEXPECTED_ERROR
788 ,p_token1 => G_SQLCODE_TOKEN
789 ,p_token1_value => SQLCODE
790 ,p_token2 => G_SQLERRM_TOKEN
791 ,p_token2_value => SQLERRM);
792 l_return_status := Okl_Api.G_RET_STS_UNEXP_ERROR;
793 RETURN(l_return_status);
794 END Validate_Record;
795
796 ---------------------------------------------------------------------------
797 -- PROCEDURE Migrate
798 ---------------------------------------------------------------------------
799 PROCEDURE migrate (
800 p_from IN lpov_rec_type,
801 p_to IN OUT NOCOPY lpo_rec_type
802 ) IS
803 BEGIN
804 p_to.id := p_from.id;
805 p_to.org_id := p_from.org_id;
806 p_to.ise_id := p_from.ise_id;
807 p_to.tdf_id := p_from.tdf_id;
808 p_to.idx_id := p_from.idx_id;
809 p_to.late_policy_type_code := p_from.late_policy_type_code;
810 p_to.object_version_number := p_from.object_version_number;
811 p_to.late_chrg_allowed_yn := p_from.late_chrg_allowed_yn;
812 p_to.late_chrg_fixed_yn := p_from.late_chrg_fixed_yn;
813 p_to.late_chrg_amount := p_from.late_chrg_amount;
814 p_to.late_chrg_rate := p_from.late_chrg_rate;
815 p_to.late_chrg_grace_period := p_from.late_chrg_grace_period;
816 p_to.late_chrg_minimum_balance := p_from.late_chrg_minimum_balance;
817 p_to.minimum_late_charge := p_from.minimum_late_charge;
818 p_to.maximum_late_charge := p_from.maximum_late_charge;
819 p_to.late_int_allowed_yn := p_from.late_int_allowed_yn;
820 p_to.late_int_fixed_yn := p_from.late_int_fixed_yn;
821 p_to.late_int_rate := p_from.late_int_rate;
822 p_to.adder_rate := p_from.adder_rate;
823 p_to.late_int_grace_period := p_from.late_int_grace_period;
824 p_to.late_int_minimum_balance := p_from.late_int_minimum_balance;
825 p_to.minimum_late_interest := p_from.minimum_late_interest;
826 p_to.maximum_late_interest := p_from.maximum_late_interest;
827 p_to.attribute_category := p_from.attribute_category;
828 p_to.attribute1 := p_from.attribute1;
829 p_to.attribute2 := p_from.attribute2;
830 p_to.attribute3 := p_from.attribute3;
831 p_to.attribute4 := p_from.attribute4;
832 p_to.attribute5 := p_from.attribute5;
833 p_to.attribute6 := p_from.attribute6;
834 p_to.attribute7 := p_from.attribute7;
835 p_to.attribute8 := p_from.attribute8;
836 p_to.attribute9 := p_from.attribute9;
837 p_to.attribute10 := p_from.attribute10;
838 p_to.attribute11 := p_from.attribute11;
839 p_to.attribute12 := p_from.attribute12;
840 p_to.attribute13 := p_from.attribute13;
841 p_to.attribute14 := p_from.attribute14;
842 p_to.attribute15 := p_from.attribute15;
843 p_to.created_by := p_from.created_by;
844 p_to.creation_date := p_from.creation_date;
845 p_to.last_updated_by := p_from.last_updated_by;
846 p_to.last_update_date := p_from.last_update_date;
847 p_to.last_update_login := p_from.last_update_login;
848 p_to.days_in_year := p_from.days_in_year;
849 END migrate;
850 PROCEDURE migrate (
851 p_from IN lpo_rec_type,
852 p_to IN OUT NOCOPY lpov_rec_type
853 ) IS
854 BEGIN
855 p_to.id := p_from.id;
856 p_to.org_id := p_from.org_id;
857 p_to.ise_id := p_from.ise_id;
858 p_to.tdf_id := p_from.tdf_id;
859 p_to.idx_id := p_from.idx_id;
860 p_to.late_policy_type_code := p_from.late_policy_type_code;
861 p_to.object_version_number := p_from.object_version_number;
862 p_to.late_chrg_allowed_yn := p_from.late_chrg_allowed_yn;
863 p_to.late_chrg_fixed_yn := p_from.late_chrg_fixed_yn;
864 p_to.late_chrg_amount := p_from.late_chrg_amount;
865 p_to.late_chrg_rate := p_from.late_chrg_rate;
866 p_to.late_chrg_grace_period := p_from.late_chrg_grace_period;
867 p_to.late_chrg_minimum_balance := p_from.late_chrg_minimum_balance;
868 p_to.minimum_late_charge := p_from.minimum_late_charge;
869 p_to.maximum_late_charge := p_from.maximum_late_charge;
870 p_to.late_int_allowed_yn := p_from.late_int_allowed_yn;
871 p_to.late_int_fixed_yn := p_from.late_int_fixed_yn;
872 p_to.late_int_rate := p_from.late_int_rate;
873 p_to.adder_rate := p_from.adder_rate;
874 p_to.late_int_grace_period := p_from.late_int_grace_period;
875 p_to.late_int_minimum_balance := p_from.late_int_minimum_balance;
876 p_to.minimum_late_interest := p_from.minimum_late_interest;
877 p_to.maximum_late_interest := p_from.maximum_late_interest;
878 p_to.attribute_category := p_from.attribute_category;
879 p_to.attribute1 := p_from.attribute1;
883 p_to.attribute5 := p_from.attribute5;
880 p_to.attribute2 := p_from.attribute2;
881 p_to.attribute3 := p_from.attribute3;
882 p_to.attribute4 := p_from.attribute4;
884 p_to.attribute6 := p_from.attribute6;
885 p_to.attribute7 := p_from.attribute7;
886 p_to.attribute8 := p_from.attribute8;
887 p_to.attribute9 := p_from.attribute9;
888 p_to.attribute10 := p_from.attribute10;
889 p_to.attribute11 := p_from.attribute11;
890 p_to.attribute12 := p_from.attribute12;
891 p_to.attribute13 := p_from.attribute13;
892 p_to.attribute14 := p_from.attribute14;
893 p_to.attribute15 := p_from.attribute15;
894 p_to.created_by := p_from.created_by;
895 p_to.creation_date := p_from.creation_date;
896 p_to.last_updated_by := p_from.last_updated_by;
897 p_to.last_update_date := p_from.last_update_date;
898 p_to.last_update_login := p_from.last_update_login;
899 p_to.days_in_year := p_from.days_in_year;
900 END migrate;
901 PROCEDURE migrate (
902 p_from IN lpov_rec_type,
903 p_to IN OUT NOCOPY okl_late_policies_tl_rec_type
904 ) IS
905 BEGIN
906 p_to.id := p_from.id;
907 p_to.name := p_from.name;
908 p_to.description := p_from.description;
909 p_to.created_by := p_from.created_by;
910 p_to.creation_date := p_from.creation_date;
911 p_to.last_updated_by := p_from.last_updated_by;
912 p_to.last_update_date := p_from.last_update_date;
913 p_to.last_update_login := p_from.last_update_login;
914 END migrate;
915 PROCEDURE migrate (
916 p_from IN okl_late_policies_tl_rec_type,
917 p_to IN OUT NOCOPY lpov_rec_type
918 ) IS
919 BEGIN
920 p_to.id := p_from.id;
921 p_to.name := p_from.name;
922 p_to.description := p_from.description;
923 p_to.created_by := p_from.created_by;
924 p_to.creation_date := p_from.creation_date;
925 p_to.last_updated_by := p_from.last_updated_by;
926 p_to.last_update_date := p_from.last_update_date;
927 p_to.last_update_login := p_from.last_update_login;
928 END migrate;
929 ---------------------------------------------------------------------------
930 -- PROCEDURE validate_row
931 ---------------------------------------------------------------------------
932 ------------------------------------------
933 -- validate_row for:OKL_LATE_POLICIES_V --
934 ------------------------------------------
935 PROCEDURE validate_row(
936 p_api_version IN NUMBER,
937 p_init_msg_list IN VARCHAR2 DEFAULT Okc_Api.G_FALSE,
938 x_return_status OUT NOCOPY VARCHAR2,
939 x_msg_count OUT NOCOPY NUMBER,
940 x_msg_data OUT NOCOPY VARCHAR2,
941 p_lpov_rec IN lpov_rec_type) IS
942
943 l_api_version CONSTANT NUMBER := 1;
944 l_api_name CONSTANT VARCHAR2(30) := 'V_validate_row';
945 l_return_status VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
946 l_lpov_rec lpov_rec_type := p_lpov_rec;
947 l_lpo_rec lpo_rec_type;
948 l_okl_late_policies_tl_rec okl_late_policies_tl_rec_type;
949 BEGIN
950 l_return_status := Okc_Api.START_ACTIVITY(l_api_name,
951 G_PKG_NAME,
952 p_init_msg_list,
953 l_api_version,
954 p_api_version,
955 '_PVT',
956 x_return_status);
957 IF (l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
958 RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
959 ELSIF (l_return_status = Okc_Api.G_RET_STS_ERROR) THEN
960 RAISE Okc_Api.G_EXCEPTION_ERROR;
961 END IF;
962 --- Validate all non-missing attributes (Item Level Validation)
963 l_return_status := Validate_Attributes(l_lpov_rec);
964 --- If any errors happen abort API
965 IF (l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
966 RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
967 ELSIF (l_return_status = Okc_Api.G_RET_STS_ERROR) THEN
968 RAISE Okc_Api.G_EXCEPTION_ERROR;
969 END IF;
970 l_return_status := Validate_Record(l_lpov_rec);
971 IF (l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
972 RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
973 ELSIF (l_return_status = Okc_Api.G_RET_STS_ERROR) THEN
974 RAISE Okc_Api.G_EXCEPTION_ERROR;
975 END IF;
976 x_return_status := l_return_status;
977 EXCEPTION
978 WHEN Okc_Api.G_EXCEPTION_ERROR THEN
979 x_return_status := Okc_Api.HANDLE_EXCEPTIONS
980 (
981 l_api_name,
982 G_PKG_NAME,
983 'OKC_API.G_RET_STS_ERROR',
984 x_msg_count,
985 x_msg_data,
986 '_PVT'
987 );
988 WHEN Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
989 x_return_status := Okc_Api.HANDLE_EXCEPTIONS
990 (
991 l_api_name,
992 G_PKG_NAME,
993 'OKC_API.G_RET_STS_UNEXP_ERROR',
994 x_msg_count,
995 x_msg_data,
996 '_PVT'
997 );
998 WHEN OTHERS THEN
999 x_return_status := Okc_Api.HANDLE_EXCEPTIONS
1000 (
1001 l_api_name,
1005 x_msg_data,
1002 G_PKG_NAME,
1003 'OTHERS',
1004 x_msg_count,
1006 '_PVT'
1007 );
1008 END validate_row;
1009 -----------------------------------------------------
1010 -- PL/SQL TBL validate_row for:OKL_LATE_POLICIES_V --
1011 -----------------------------------------------------
1012
1013 -----------------------------------------------------
1014 -- PL/SQL TBL validate_row for:OKL_LATE_POLICIES_V --
1015 -----------------------------------------------------
1016 PROCEDURE validate_row(
1017 p_api_version IN NUMBER,
1018 p_init_msg_list IN VARCHAR2 DEFAULT Okc_Api.G_FALSE,
1019 x_return_status OUT NOCOPY VARCHAR2,
1020 x_msg_count OUT NOCOPY NUMBER,
1021 x_msg_data OUT NOCOPY VARCHAR2,
1022 p_lpov_tbl IN lpov_tbl_type) IS
1023
1024 l_api_version CONSTANT NUMBER := 1;
1025 l_api_name CONSTANT VARCHAR2(30) := 'V_tbl_validate_row';
1026 i NUMBER := 0;
1027 l_return_status VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
1028 BEGIN
1029 Okc_Api.init_msg_list(p_init_msg_list);
1030 -- Make sure PL/SQL table has records in it before passing
1031 IF (p_lpov_tbl.COUNT > 0) THEN
1032 i := p_lpov_tbl.FIRST;
1033 LOOP
1034 validate_row (p_api_version => p_api_version,
1035 p_init_msg_list => Okc_Api.G_FALSE,
1036 x_return_status => x_return_status,
1037 x_msg_count => x_msg_count,
1038 x_msg_data => x_msg_data,
1039 p_lpov_rec => p_lpov_tbl(i));
1040 EXIT WHEN (i = p_lpov_tbl.LAST);
1041 i := p_lpov_tbl.NEXT(i);
1042 END LOOP;
1043 END IF;
1044 Okc_Api.END_ACTIVITY(x_msg_count, x_msg_data);
1045 EXCEPTION
1046 WHEN Okc_Api.G_EXCEPTION_ERROR THEN
1047 x_return_status := Okc_Api.HANDLE_EXCEPTIONS
1048 (
1049 l_api_name,
1050 G_PKG_NAME,
1051 'OKC_API.G_RET_STS_ERROR',
1052 x_msg_count,
1053 x_msg_data,
1054 '_PVT'
1055 );
1056 WHEN Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
1057 x_return_status := Okc_Api.HANDLE_EXCEPTIONS
1058 (
1059 l_api_name,
1060 G_PKG_NAME,
1061 'OKC_API.G_RET_STS_UNEXP_ERROR',
1062 x_msg_count,
1063 x_msg_data,
1064 '_PVT'
1065 );
1066 WHEN OTHERS THEN
1067 x_return_status := Okc_Api.HANDLE_EXCEPTIONS
1068 (
1069 l_api_name,
1070 G_PKG_NAME,
1071 'OTHERS',
1072 x_msg_count,
1073 x_msg_data,
1074 '_PVT'
1075 );
1076 END validate_row;
1077
1078 ---------------------------------------------------------------------------
1079 -- PROCEDURE insert_row
1080 ---------------------------------------------------------------------------
1081 ----------------------------------------
1082 -- insert_row for:OKL_LATE_POLICIES_B --
1083 ----------------------------------------
1084 PROCEDURE insert_row(
1085 p_init_msg_list IN VARCHAR2 DEFAULT Okc_Api.G_FALSE,
1086 x_return_status OUT NOCOPY VARCHAR2,
1087 x_msg_count OUT NOCOPY NUMBER,
1088 x_msg_data OUT NOCOPY VARCHAR2,
1089 p_lpo_rec IN lpo_rec_type,
1090 x_lpo_rec OUT NOCOPY lpo_rec_type) IS
1091
1092 l_api_version CONSTANT NUMBER := 1;
1093 l_api_name CONSTANT VARCHAR2(30) := 'B_insert_row';
1094 l_return_status VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
1095 l_lpo_rec lpo_rec_type := p_lpo_rec;
1096 l_def_lpo_rec lpo_rec_type;
1097 --------------------------------------------
1098 -- Set_Attributes for:OKL_LATE_POLICIES_B --
1099 --------------------------------------------
1100 FUNCTION Set_Attributes (
1101 p_lpo_rec IN lpo_rec_type,
1102 x_lpo_rec OUT NOCOPY lpo_rec_type
1103 ) RETURN VARCHAR2 IS
1104 l_return_status VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
1105 BEGIN
1106 x_lpo_rec := p_lpo_rec;
1107 RETURN(l_return_status);
1108 END Set_Attributes;
1109 BEGIN
1110 l_return_status := Okc_Api.START_ACTIVITY(l_api_name,
1111 p_init_msg_list,
1112 '_PVT',
1113 x_return_status);
1114 IF (l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
1115 RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
1116 ELSIF (l_return_status = Okc_Api.G_RET_STS_ERROR) THEN
1117 RAISE Okc_Api.G_EXCEPTION_ERROR;
1118 END IF;
1119 --- Setting item atributes
1120 l_return_status := Set_Attributes(
1121 p_lpo_rec, -- IN
1122 l_lpo_rec); -- OUT
1123 --- If any errors happen abort API
1124 IF (l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
1125 RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
1126 ELSIF (l_return_status = Okc_Api.G_RET_STS_ERROR) THEN
1130 id,
1127 RAISE Okc_Api.G_EXCEPTION_ERROR;
1128 END IF;
1129 INSERT INTO OKL_LATE_POLICIES_B(
1131 org_id,
1132 ise_id,
1133 tdf_id,
1134 idx_id,
1135 late_policy_type_code,
1136 object_version_number,
1137 late_chrg_allowed_yn,
1138 late_chrg_fixed_yn,
1139 late_chrg_amount,
1140 late_chrg_rate,
1141 late_chrg_grace_period,
1142 late_chrg_minimum_balance,
1143 minimum_late_charge,
1144 maximum_late_charge,
1145 late_int_allowed_yn,
1146 late_int_fixed_yn,
1147 late_int_rate,
1148 adder_rate,
1149 late_int_grace_period,
1150 late_int_minimum_balance,
1151 minimum_late_interest,
1152 maximum_late_interest,
1153 attribute_category,
1154 attribute1,
1155 attribute2,
1156 attribute3,
1157 attribute4,
1158 attribute5,
1159 attribute6,
1160 attribute7,
1161 attribute8,
1162 attribute9,
1163 attribute10,
1164 attribute11,
1165 attribute12,
1166 attribute13,
1167 attribute14,
1168 attribute15,
1169 created_by,
1170 creation_date,
1171 last_updated_by,
1172 last_update_date,
1173 last_update_login,
1174 days_in_year)
1175 VALUES (
1176 l_lpo_rec.id,
1177 NVL(l_lpo_rec.org_id,MO_GLOBAL.GET_CURRENT_ORG_ID()),
1178 l_lpo_rec.ise_id,
1179 l_lpo_rec.tdf_id,
1180 l_lpo_rec.idx_id,
1181 l_lpo_rec.late_policy_type_code,
1182 l_lpo_rec.object_version_number,
1183 l_lpo_rec.late_chrg_allowed_yn,
1184 l_lpo_rec.late_chrg_fixed_yn,
1185 l_lpo_rec.late_chrg_amount,
1186 l_lpo_rec.late_chrg_rate,
1187 l_lpo_rec.late_chrg_grace_period,
1188 l_lpo_rec.late_chrg_minimum_balance,
1189 l_lpo_rec.minimum_late_charge,
1190 l_lpo_rec.maximum_late_charge,
1191 l_lpo_rec.late_int_allowed_yn,
1192 l_lpo_rec.late_int_fixed_yn,
1193 l_lpo_rec.late_int_rate,
1194 l_lpo_rec.adder_rate,
1195 l_lpo_rec.late_int_grace_period,
1196 l_lpo_rec.late_int_minimum_balance,
1197 l_lpo_rec.minimum_late_interest,
1198 l_lpo_rec.maximum_late_interest,
1199 l_lpo_rec.attribute_category,
1200 l_lpo_rec.attribute1,
1201 l_lpo_rec.attribute2,
1202 l_lpo_rec.attribute3,
1203 l_lpo_rec.attribute4,
1204 l_lpo_rec.attribute5,
1205 l_lpo_rec.attribute6,
1206 l_lpo_rec.attribute7,
1207 l_lpo_rec.attribute8,
1208 l_lpo_rec.attribute9,
1209 l_lpo_rec.attribute10,
1210 l_lpo_rec.attribute11,
1211 l_lpo_rec.attribute12,
1212 l_lpo_rec.attribute13,
1213 l_lpo_rec.attribute14,
1214 l_lpo_rec.attribute15,
1215 l_lpo_rec.created_by,
1216 l_lpo_rec.creation_date,
1217 l_lpo_rec.last_updated_by,
1218 l_lpo_rec.last_update_date,
1219 l_lpo_rec.last_update_login,
1220 l_lpo_rec.days_in_year);
1221 -- Set OUT values
1222 x_lpo_rec := l_lpo_rec;
1223 x_return_status := l_return_status;
1224 Okc_Api.END_ACTIVITY(x_msg_count, x_msg_data);
1225 EXCEPTION
1226 WHEN Okc_Api.G_EXCEPTION_ERROR THEN
1227 x_return_status := Okc_Api.HANDLE_EXCEPTIONS
1228 (
1229 l_api_name,
1230 G_PKG_NAME,
1231 'OKC_API.G_RET_STS_ERROR',
1232 x_msg_count,
1233 x_msg_data,
1234 '_PVT'
1235 );
1236 WHEN Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
1237 x_return_status := Okc_Api.HANDLE_EXCEPTIONS
1238 (
1239 l_api_name,
1240 G_PKG_NAME,
1241 'OKC_API.G_RET_STS_UNEXP_ERROR',
1242 x_msg_count,
1243 x_msg_data,
1244 '_PVT'
1245 );
1246 WHEN OTHERS THEN
1247 x_return_status := Okc_Api.HANDLE_EXCEPTIONS
1248 (
1249 l_api_name,
1250 G_PKG_NAME,
1251 'OTHERS',
1252 x_msg_count,
1253 x_msg_data,
1254 '_PVT'
1255 );
1256 END insert_row;
1257 -----------------------------------------
1258 -- insert_row for:OKL_LATE_POLICIES_TL --
1259 -----------------------------------------
1260 PROCEDURE insert_row(
1261 p_init_msg_list IN VARCHAR2 DEFAULT Okc_Api.G_FALSE,
1262 x_return_status OUT NOCOPY VARCHAR2,
1263 x_msg_count OUT NOCOPY NUMBER,
1264 x_msg_data OUT NOCOPY VARCHAR2,
1265 p_okl_late_policies_tl_rec IN okl_late_policies_tl_rec_type,
1266 x_okl_late_policies_tl_rec OUT NOCOPY okl_late_policies_tl_rec_type) IS
1267
1268 l_api_version CONSTANT NUMBER := 1;
1269 l_api_name CONSTANT VARCHAR2(30) := 'TL_insert_row';
1270 l_return_status VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
1271 l_okl_late_policies_tl_rec okl_late_policies_tl_rec_type := p_okl_late_policies_tl_rec;
1272 l_def_okl_late_policies_tl_rec okl_late_policies_tl_rec_type;
1273 CURSOR get_languages IS
1274 SELECT *
1275 FROM FND_LANGUAGES
1276 WHERE INSTALLED_FLAG IN ('I', 'B');
1280 FUNCTION Set_Attributes (
1277 ---------------------------------------------
1278 -- Set_Attributes for:OKL_LATE_POLICIES_TL --
1279 ---------------------------------------------
1281 p_okl_late_policies_tl_rec IN okl_late_policies_tl_rec_type,
1282 x_okl_late_policies_tl_rec OUT NOCOPY okl_late_policies_tl_rec_type
1283 ) RETURN VARCHAR2 IS
1284 l_return_status VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
1285 BEGIN
1286 x_okl_late_policies_tl_rec := p_okl_late_policies_tl_rec;
1287 x_okl_late_policies_tl_rec.LANGUAGE := USERENV('LANG');
1288 x_okl_late_policies_tl_rec.SOURCE_LANG := USERENV('LANG');
1289 RETURN(l_return_status);
1290 END Set_Attributes;
1291 BEGIN
1292 l_return_status := Okc_Api.START_ACTIVITY(l_api_name,
1293 p_init_msg_list,
1294 '_PVT',
1295 x_return_status);
1296 IF (l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
1297 RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
1298 ELSIF (l_return_status = Okc_Api.G_RET_STS_ERROR) THEN
1299 RAISE Okc_Api.G_EXCEPTION_ERROR;
1300 END IF;
1301 --- Setting item attributes
1302 l_return_status := Set_Attributes(
1303 p_okl_late_policies_tl_rec, -- IN
1304 l_okl_late_policies_tl_rec); -- OUT
1305 --- If any errors happen abort API
1306 IF (l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
1307 RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
1308 ELSIF (l_return_status = Okc_Api.G_RET_STS_ERROR) THEN
1309 RAISE Okc_Api.G_EXCEPTION_ERROR;
1310 END IF;
1311 FOR l_lang_rec IN get_languages LOOP
1312 l_okl_late_policies_tl_rec.LANGUAGE := l_lang_rec.language_code;
1313 INSERT INTO OKL_LATE_POLICIES_TL(
1314 id,
1315 LANGUAGE,
1316 source_lang,
1317 name,
1318 description,
1319 created_by,
1320 creation_date,
1321 last_updated_by,
1322 last_update_date,
1323 last_update_login)
1324 VALUES (
1325 l_okl_late_policies_tl_rec.id,
1326 l_okl_late_policies_tl_rec.LANGUAGE,
1327 l_okl_late_policies_tl_rec.source_lang,
1328 l_okl_late_policies_tl_rec.name,
1329 l_okl_late_policies_tl_rec.description,
1330 l_okl_late_policies_tl_rec.created_by,
1331 l_okl_late_policies_tl_rec.creation_date,
1332 l_okl_late_policies_tl_rec.last_updated_by,
1333 l_okl_late_policies_tl_rec.last_update_date,
1334 l_okl_late_policies_tl_rec.last_update_login);
1335 END LOOP;
1336 -- Set OUT values
1337 x_okl_late_policies_tl_rec := l_okl_late_policies_tl_rec;
1338 x_return_status := l_return_status;
1339 Okc_Api.END_ACTIVITY(x_msg_count, x_msg_data);
1340 EXCEPTION
1341 WHEN Okc_Api.G_EXCEPTION_ERROR THEN
1342 x_return_status := Okc_Api.HANDLE_EXCEPTIONS
1343 (
1344 l_api_name,
1345 G_PKG_NAME,
1346 'OKC_API.G_RET_STS_ERROR',
1347 x_msg_count,
1348 x_msg_data,
1349 '_PVT'
1350 );
1351 WHEN Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
1352 x_return_status := Okc_Api.HANDLE_EXCEPTIONS
1353 (
1354 l_api_name,
1355 G_PKG_NAME,
1356 'OKC_API.G_RET_STS_UNEXP_ERROR',
1357 x_msg_count,
1358 x_msg_data,
1359 '_PVT'
1360 );
1361 WHEN OTHERS THEN
1362 x_return_status := Okc_Api.HANDLE_EXCEPTIONS
1363 (
1364 l_api_name,
1365 G_PKG_NAME,
1366 'OTHERS',
1367 x_msg_count,
1368 x_msg_data,
1369 '_PVT'
1370 );
1371 END insert_row;
1372 -----------------------------------------
1373 -- insert_row for :OKL_LATE_POLICIES_V --
1374 -----------------------------------------
1375 PROCEDURE insert_row(
1376 p_api_version IN NUMBER,
1377 p_init_msg_list IN VARCHAR2 DEFAULT Okc_Api.G_FALSE,
1378 x_return_status OUT NOCOPY VARCHAR2,
1379 x_msg_count OUT NOCOPY NUMBER,
1380 x_msg_data OUT NOCOPY VARCHAR2,
1381 p_lpov_rec IN lpov_rec_type,
1382 x_lpov_rec OUT NOCOPY lpov_rec_type) IS
1383
1384 l_api_version CONSTANT NUMBER := 1;
1385 l_api_name CONSTANT VARCHAR2(30) := 'V_insert_row';
1386 l_return_status VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
1387 l_lpov_rec lpov_rec_type := p_lpov_rec;
1388 l_def_lpov_rec lpov_rec_type;
1389 l_lpo_rec lpo_rec_type;
1390 lx_lpo_rec lpo_rec_type;
1391 l_okl_late_policies_tl_rec okl_late_policies_tl_rec_type;
1392 lx_okl_late_policies_tl_rec okl_late_policies_tl_rec_type;
1393 -------------------------------
1394 -- FUNCTION fill_who_columns --
1395 -------------------------------
1396 FUNCTION fill_who_columns (
1397 p_lpov_rec IN lpov_rec_type
1398 ) RETURN lpov_rec_type IS
1399 l_lpov_rec lpov_rec_type := p_lpov_rec;
1400 BEGIN
1401 l_lpov_rec.CREATION_DATE := SYSDATE;
1402 l_lpov_rec.CREATED_BY := Fnd_Global.USER_ID;
1406 RETURN(l_lpov_rec);
1403 l_lpov_rec.LAST_UPDATE_DATE := l_lpov_rec.CREATION_DATE;
1404 l_lpov_rec.LAST_UPDATED_BY := Fnd_Global.USER_ID;
1405 l_lpov_rec.LAST_UPDATE_LOGIN := Fnd_Global.LOGIN_ID;
1407 END fill_who_columns;
1408 --------------------------------------------
1409 -- Set_Attributes for:OKL_LATE_POLICIES_V --
1410 --------------------------------------------
1411 FUNCTION Set_Attributes (
1412 p_lpov_rec IN lpov_rec_type,
1413 x_lpov_rec OUT NOCOPY lpov_rec_type
1414 ) RETURN VARCHAR2 IS
1415 l_return_status VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
1416 BEGIN
1417 x_lpov_rec := p_lpov_rec;
1418 x_lpov_rec.OBJECT_VERSION_NUMBER := 1;
1419 RETURN(l_return_status);
1420 END Set_Attributes;
1421 BEGIN
1422 l_return_status := Okc_Api.START_ACTIVITY(l_api_name,
1423 G_PKG_NAME,
1424 p_init_msg_list,
1425 l_api_version,
1426 p_api_version,
1427 '_PVT',
1428 x_return_status);
1429 IF (l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
1430 RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
1431 ELSIF (l_return_status = Okc_Api.G_RET_STS_ERROR) THEN
1432 RAISE Okc_Api.G_EXCEPTION_ERROR;
1433 END IF;
1434 l_lpov_rec := null_out_defaults(p_lpov_rec);
1435 -- Set primary key value
1436 l_lpov_rec.ID := get_seq_id;
1437 -- Setting item attributes
1438 l_return_Status := Set_Attributes(
1439 l_lpov_rec, -- IN
1440 l_def_lpov_rec); -- OUT
1441 --- If any errors happen abort API
1442 IF (l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
1443 RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
1444 ELSIF (l_return_status = Okc_Api.G_RET_STS_ERROR) THEN
1445 RAISE Okc_Api.G_EXCEPTION_ERROR;
1446 END IF;
1447 l_def_lpov_rec := fill_who_columns(l_def_lpov_rec);
1448 --- Validate all non-missing attributes (Item Level Validation)
1449 l_return_status := Validate_Attributes(l_def_lpov_rec);
1450 --- If any errors happen abort API
1451 IF (l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
1452 RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
1453 ELSIF (l_return_status = Okc_Api.G_RET_STS_ERROR) THEN
1454 RAISE Okc_Api.G_EXCEPTION_ERROR;
1455 END IF;
1456 l_return_status := Validate_Record(l_def_lpov_rec);
1457 IF (l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
1458 RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
1459 ELSIF (l_return_status = Okc_Api.G_RET_STS_ERROR) THEN
1460 RAISE Okc_Api.G_EXCEPTION_ERROR;
1461 END IF;
1462 -----------------------------------------
1463 -- Move VIEW record to "Child" records --
1464 -----------------------------------------
1465 migrate(l_def_lpov_rec, l_lpo_rec);
1466 migrate(l_def_lpov_rec, l_okl_late_policies_tl_rec);
1467 -----------------------------------------------
1468 -- Call the INSERT_ROW for each child record --
1469 -----------------------------------------------
1470 insert_row(
1471 p_init_msg_list,
1472 l_return_status,
1473 x_msg_count,
1474 x_msg_data,
1475 l_lpo_rec,
1476 lx_lpo_rec
1477 );
1478 IF (l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
1479 RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
1480 ELSIF (l_return_status = Okc_Api.G_RET_STS_ERROR) THEN
1481 RAISE Okc_Api.G_EXCEPTION_ERROR;
1482 END IF;
1483 migrate(lx_lpo_rec, l_def_lpov_rec);
1484 insert_row(
1485 p_init_msg_list,
1486 l_return_status,
1487 x_msg_count,
1488 x_msg_data,
1489 l_okl_late_policies_tl_rec,
1490 lx_okl_late_policies_tl_rec
1491 );
1492 IF (l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
1493 RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
1494 ELSIF (l_return_status = Okc_Api.G_RET_STS_ERROR) THEN
1495 RAISE Okc_Api.G_EXCEPTION_ERROR;
1496 END IF;
1497 migrate(lx_okl_late_policies_tl_rec, l_def_lpov_rec);
1498 -- Set OUT values
1499 x_lpov_rec := l_def_lpov_rec;
1500 x_return_status := l_return_status;
1501 Okc_Api.END_ACTIVITY(x_msg_count, x_msg_data);
1502 EXCEPTION
1503 WHEN Okc_Api.G_EXCEPTION_ERROR THEN
1504 x_return_status := Okc_Api.HANDLE_EXCEPTIONS
1505 (
1506 l_api_name,
1507 G_PKG_NAME,
1508 'OKC_API.G_RET_STS_ERROR',
1509 x_msg_count,
1510 x_msg_data,
1511 '_PVT'
1512 );
1513 WHEN Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
1514 x_return_status := Okc_Api.HANDLE_EXCEPTIONS
1515 (
1516 l_api_name,
1517 G_PKG_NAME,
1518 'OKC_API.G_RET_STS_UNEXP_ERROR',
1519 x_msg_count,
1520 x_msg_data,
1521 '_PVT'
1522 );
1523 WHEN OTHERS THEN
1524 x_return_status := Okc_Api.HANDLE_EXCEPTIONS
1525 (
1526 l_api_name,
1527 G_PKG_NAME,
1528 'OTHERS',
1529 x_msg_count,
1530 x_msg_data,
1531 '_PVT'
1532 );
1536 ----------------------------------------
1533 END insert_row;
1534 ----------------------------------------
1535 -- PL/SQL TBL insert_row for:LPOV_TBL --
1537 PROCEDURE insert_row(
1538 p_api_version IN NUMBER,
1539 p_init_msg_list IN VARCHAR2 DEFAULT Okc_Api.G_FALSE,
1540 x_return_status OUT NOCOPY VARCHAR2,
1541 x_msg_count OUT NOCOPY NUMBER,
1542 x_msg_data OUT NOCOPY VARCHAR2,
1543 p_lpov_tbl IN lpov_tbl_type,
1544 x_lpov_tbl OUT NOCOPY lpov_tbl_type) IS
1545
1546 l_api_version CONSTANT NUMBER := 1;
1547 l_api_name CONSTANT VARCHAR2(30) := 'V_tbl_insert_row';
1548 l_return_status VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
1549 i NUMBER := 0;
1550 BEGIN
1551 Okc_Api.init_msg_list(p_init_msg_list);
1552 -- Make sure PL/SQL table has records in it before passing
1553 IF (p_lpov_tbl.COUNT > 0) THEN
1554 i := p_lpov_tbl.FIRST;
1555 LOOP
1556 insert_row (
1557 p_api_version => p_api_version,
1558 p_init_msg_list => Okc_Api.G_FALSE,
1559 x_return_status => x_return_status,
1560 x_msg_count => x_msg_count,
1561 x_msg_data => x_msg_data,
1562 p_lpov_rec => p_lpov_tbl(i),
1563 x_lpov_rec => x_lpov_tbl(i));
1564 EXIT WHEN (i = p_lpov_tbl.LAST);
1565 i := p_lpov_tbl.NEXT(i);
1566 END LOOP;
1567 END IF;
1568 Okc_Api.END_ACTIVITY(x_msg_count, x_msg_data);
1569 EXCEPTION
1570 WHEN Okc_Api.G_EXCEPTION_ERROR THEN
1571 x_return_status := Okc_Api.HANDLE_EXCEPTIONS
1572 (
1573 l_api_name,
1574 G_PKG_NAME,
1575 'OKC_API.G_RET_STS_ERROR',
1576 x_msg_count,
1577 x_msg_data,
1578 '_PVT'
1579 );
1580 WHEN Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
1581 x_return_status := Okc_Api.HANDLE_EXCEPTIONS
1582 (
1583 l_api_name,
1584 G_PKG_NAME,
1585 'OKC_API.G_RET_STS_UNEXP_ERROR',
1586 x_msg_count,
1587 x_msg_data,
1588 '_PVT'
1589 );
1590 WHEN OTHERS THEN
1591 x_return_status := Okc_Api.HANDLE_EXCEPTIONS
1592 (
1593 l_api_name,
1594 G_PKG_NAME,
1595 'OTHERS',
1596 x_msg_count,
1597 x_msg_data,
1598 '_PVT'
1599 );
1600 END insert_row;
1601
1602 ---------------------------------------------------------------------------
1603 -- PROCEDURE lock_row
1604 ---------------------------------------------------------------------------
1605 --------------------------------------
1606 -- lock_row for:OKL_LATE_POLICIES_B --
1607 --------------------------------------
1608 PROCEDURE lock_row(
1609 p_init_msg_list IN VARCHAR2 DEFAULT Okc_Api.G_FALSE,
1610 x_return_status OUT NOCOPY VARCHAR2,
1611 x_msg_count OUT NOCOPY NUMBER,
1612 x_msg_data OUT NOCOPY VARCHAR2,
1613 p_lpo_rec IN lpo_rec_type) IS
1614
1615 E_Resource_Busy EXCEPTION;
1616 PRAGMA EXCEPTION_INIT(E_Resource_Busy, -00054);
1617 CURSOR lock_csr (p_lpo_rec IN lpo_rec_type) IS
1618 SELECT OBJECT_VERSION_NUMBER
1619 FROM OKL_LATE_POLICIES_B
1620 WHERE ID = p_lpo_rec.id
1621 AND OBJECT_VERSION_NUMBER = p_lpo_rec.object_version_number
1622 FOR UPDATE OF OBJECT_VERSION_NUMBER NOWAIT;
1623
1624 CURSOR lchk_csr (p_lpo_rec IN lpo_rec_type) IS
1625 SELECT OBJECT_VERSION_NUMBER
1626 FROM OKL_LATE_POLICIES_B
1627 WHERE ID = p_lpo_rec.id;
1628 l_api_version CONSTANT NUMBER := 1;
1629 l_api_name CONSTANT VARCHAR2(30) := 'B_lock_row';
1630 l_return_status VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
1631 l_object_version_number OKL_LATE_POLICIES_B.OBJECT_VERSION_NUMBER%TYPE;
1632 lc_object_version_number OKL_LATE_POLICIES_B.OBJECT_VERSION_NUMBER%TYPE;
1633 l_row_notfound BOOLEAN := FALSE;
1634 lc_row_notfound BOOLEAN := FALSE;
1635 BEGIN
1636 l_return_status := Okc_Api.START_ACTIVITY(l_api_name,
1637 p_init_msg_list,
1638 '_PVT',
1639 x_return_status);
1640 IF (l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
1641 RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
1642 ELSIF (l_return_status = Okc_Api.G_RET_STS_ERROR) THEN
1643 RAISE Okc_Api.G_EXCEPTION_ERROR;
1644 END IF;
1645 BEGIN
1646 OPEN lock_csr(p_lpo_rec);
1647 FETCH lock_csr INTO l_object_version_number;
1648 l_row_notfound := lock_csr%NOTFOUND;
1649 CLOSE lock_csr;
1650 EXCEPTION
1651 WHEN E_Resource_Busy THEN
1652 IF (lock_csr%ISOPEN) THEN
1653 CLOSE lock_csr;
1654 END IF;
1655 Okc_Api.set_message(G_FND_APP,G_FORM_UNABLE_TO_RESERVE_REC);
1656 RAISE App_Exceptions.RECORD_LOCK_EXCEPTION;
1657 END;
1658
1662 lc_row_notfound := lchk_csr%NOTFOUND;
1659 IF ( l_row_notfound ) THEN
1660 OPEN lchk_csr(p_lpo_rec);
1661 FETCH lchk_csr INTO lc_object_version_number;
1663 CLOSE lchk_csr;
1664 END IF;
1665 IF (lc_row_notfound) THEN
1666 Okc_Api.set_message(G_FND_APP,G_FORM_RECORD_DELETED);
1667 RAISE Okc_Api.G_EXCEPTION_ERROR;
1668 ELSIF lc_object_version_number > p_lpo_rec.object_version_number THEN
1669 Okc_Api.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1670 RAISE Okc_Api.G_EXCEPTION_ERROR;
1671 ELSIF lc_object_version_number <> p_lpo_rec.object_version_number THEN
1672 Okc_Api.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1673 RAISE Okc_Api.G_EXCEPTION_ERROR;
1674 ELSIF lc_object_version_number = -1 THEN
1675 Okc_Api.set_message(G_APP_NAME,G_RECORD_LOGICALLY_DELETED);
1676 RAISE Okc_Api.G_EXCEPTION_ERROR;
1677 END IF;
1678 x_return_status := l_return_status;
1679 Okc_Api.END_ACTIVITY(x_msg_count, x_msg_data);
1680 EXCEPTION
1681 WHEN Okc_Api.G_EXCEPTION_ERROR THEN
1682 x_return_status := Okc_Api.HANDLE_EXCEPTIONS
1683 (
1684 l_api_name,
1685 G_PKG_NAME,
1686 'OKC_API.G_RET_STS_ERROR',
1687 x_msg_count,
1688 x_msg_data,
1689 '_PVT'
1690 );
1691 WHEN Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
1692 x_return_status := Okc_Api.HANDLE_EXCEPTIONS
1693 (
1694 l_api_name,
1695 G_PKG_NAME,
1696 'OKC_API.G_RET_STS_UNEXP_ERROR',
1697 x_msg_count,
1698 x_msg_data,
1699 '_PVT'
1700 );
1701 WHEN OTHERS THEN
1702 x_return_status := Okc_Api.HANDLE_EXCEPTIONS
1703 (
1704 l_api_name,
1705 G_PKG_NAME,
1706 'OTHERS',
1707 x_msg_count,
1708 x_msg_data,
1709 '_PVT'
1710 );
1711 END lock_row;
1712 ---------------------------------------
1713 -- lock_row for:OKL_LATE_POLICIES_TL --
1714 ---------------------------------------
1715 PROCEDURE lock_row(
1716 p_init_msg_list IN VARCHAR2 DEFAULT Okc_Api.G_FALSE,
1717 x_return_status OUT NOCOPY VARCHAR2,
1718 x_msg_count OUT NOCOPY NUMBER,
1719 x_msg_data OUT NOCOPY VARCHAR2,
1720 p_okl_late_policies_tl_rec IN okl_late_policies_tl_rec_type) IS
1721
1722 E_Resource_Busy EXCEPTION;
1723 PRAGMA EXCEPTION_INIT(E_Resource_Busy, -00054);
1724 CURSOR lock_csr (p_okl_late_policies_tl_rec IN okl_late_policies_tl_rec_type) IS
1725 SELECT *
1726 FROM OKL_LATE_POLICIES_TL
1727 WHERE ID = p_okl_late_policies_tl_rec.id
1728 FOR UPDATE NOWAIT;
1729
1730 l_api_version CONSTANT NUMBER := 1;
1731 l_api_name CONSTANT VARCHAR2(30) := 'TL_lock_row';
1732 l_return_status VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
1733 l_lock_var lock_csr%ROWTYPE;
1734 l_row_notfound BOOLEAN := FALSE;
1735 lc_row_notfound BOOLEAN := FALSE;
1736 BEGIN
1737 l_return_status := Okc_Api.START_ACTIVITY(l_api_name,
1738 p_init_msg_list,
1739 '_PVT',
1740 x_return_status);
1741 IF (l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
1742 RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
1743 ELSIF (l_return_status = Okc_Api.G_RET_STS_ERROR) THEN
1744 RAISE Okc_Api.G_EXCEPTION_ERROR;
1745 END IF;
1746 BEGIN
1747 OPEN lock_csr(p_okl_late_policies_tl_rec);
1748 FETCH lock_csr INTO l_lock_var;
1749 l_row_notfound := lock_csr%NOTFOUND;
1750 CLOSE lock_csr;
1751 EXCEPTION
1752 WHEN E_Resource_Busy THEN
1753 IF (lock_csr%ISOPEN) THEN
1754 CLOSE lock_csr;
1755 END IF;
1756 Okc_Api.set_message(G_FND_APP,G_FORM_UNABLE_TO_RESERVE_REC);
1757 RAISE App_Exceptions.RECORD_LOCK_EXCEPTION;
1758 END;
1759
1760 IF ( l_row_notfound ) THEN
1761 Okc_Api.set_message(G_FND_APP,G_FORM_RECORD_DELETED);
1762 RAISE Okc_Api.G_EXCEPTION_ERROR;
1763 END IF;
1764 x_return_status := l_return_status;
1765 Okc_Api.END_ACTIVITY(x_msg_count, x_msg_data);
1766 EXCEPTION
1767 WHEN Okc_Api.G_EXCEPTION_ERROR THEN
1768 x_return_status := Okc_Api.HANDLE_EXCEPTIONS
1769 (
1770 l_api_name,
1771 G_PKG_NAME,
1772 'OKC_API.G_RET_STS_ERROR',
1773 x_msg_count,
1774 x_msg_data,
1775 '_PVT'
1776 );
1777 WHEN Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
1778 x_return_status := Okc_Api.HANDLE_EXCEPTIONS
1779 (
1780 l_api_name,
1781 G_PKG_NAME,
1782 'OKC_API.G_RET_STS_UNEXP_ERROR',
1783 x_msg_count,
1784 x_msg_data,
1785 '_PVT'
1786 );
1787 WHEN OTHERS THEN
1788 x_return_status := Okc_Api.HANDLE_EXCEPTIONS
1789 (
1790 l_api_name,
1791 G_PKG_NAME,
1792 'OTHERS',
1793 x_msg_count,
1794 x_msg_data,
1795 '_PVT'
1796 );
1797 END lock_row;
1801 PROCEDURE lock_row(
1798 ---------------------------------------
1799 -- lock_row for: OKL_LATE_POLICIES_V --
1800 ---------------------------------------
1802 p_api_version IN NUMBER,
1803 p_init_msg_list IN VARCHAR2 DEFAULT Okc_Api.G_FALSE,
1804 x_return_status OUT NOCOPY VARCHAR2,
1805 x_msg_count OUT NOCOPY NUMBER,
1806 x_msg_data OUT NOCOPY VARCHAR2,
1807 p_lpov_rec IN lpov_rec_type) IS
1808
1809 l_api_version CONSTANT NUMBER := 1;
1810 l_api_name CONSTANT VARCHAR2(30) := 'V_lock_row';
1811 l_return_status VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
1812 l_lpo_rec lpo_rec_type;
1813 l_okl_late_policies_tl_rec okl_late_policies_tl_rec_type;
1814 BEGIN
1815 l_return_status := Okc_Api.START_ACTIVITY(l_api_name,
1816 G_PKG_NAME,
1817 p_init_msg_list,
1818 l_api_version,
1819 p_api_version,
1820 '_PVT',
1821 x_return_status);
1822 IF (l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
1823 RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
1824 ELSIF (l_return_status = Okc_Api.G_RET_STS_ERROR) THEN
1825 RAISE Okc_Api.G_EXCEPTION_ERROR;
1826 END IF;
1827 -----------------------------------------
1828 -- Move VIEW record to "Child" records --
1829 -----------------------------------------
1830 migrate(p_lpov_rec, l_lpo_rec);
1831 migrate(p_lpov_rec, l_okl_late_policies_tl_rec);
1832 ---------------------------------------------
1833 -- Call the LOCK_ROW for each child record --
1834 ---------------------------------------------
1835 lock_row(
1836 p_init_msg_list,
1837 l_return_status,
1838 x_msg_count,
1839 x_msg_data,
1840 l_lpo_rec
1841 );
1842 IF (l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
1843 RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
1844 ELSIF (l_return_status = Okc_Api.G_RET_STS_ERROR) THEN
1845 RAISE Okc_Api.G_EXCEPTION_ERROR;
1846 END IF;
1847 lock_row(
1848 p_init_msg_list,
1849 l_return_status,
1850 x_msg_count,
1851 x_msg_data,
1852 l_okl_late_policies_tl_rec
1853 );
1854 IF (l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
1855 RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
1856 ELSIF (l_return_status = Okc_Api.G_RET_STS_ERROR) THEN
1857 RAISE Okc_Api.G_EXCEPTION_ERROR;
1858 END IF;
1859 x_return_status := l_return_status;
1860 Okc_Api.END_ACTIVITY(x_msg_count, x_msg_data);
1861 EXCEPTION
1862 WHEN Okc_Api.G_EXCEPTION_ERROR THEN
1863 x_return_status := Okc_Api.HANDLE_EXCEPTIONS
1864 (
1865 l_api_name,
1866 G_PKG_NAME,
1867 'OKC_API.G_RET_STS_ERROR',
1868 x_msg_count,
1869 x_msg_data,
1870 '_PVT'
1871 );
1872 WHEN Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
1873 x_return_status := Okc_Api.HANDLE_EXCEPTIONS
1874 (
1875 l_api_name,
1876 G_PKG_NAME,
1877 'OKC_API.G_RET_STS_UNEXP_ERROR',
1878 x_msg_count,
1879 x_msg_data,
1880 '_PVT'
1881 );
1882 WHEN OTHERS THEN
1883 x_return_status := Okc_Api.HANDLE_EXCEPTIONS
1884 (
1885 l_api_name,
1886 G_PKG_NAME,
1887 'OTHERS',
1888 x_msg_count,
1889 x_msg_data,
1890 '_PVT'
1891 );
1892 END lock_row;
1893 --------------------------------------
1894 -- PL/SQL TBL lock_row for:LPOV_TBL --
1895 --------------------------------------
1896 PROCEDURE lock_row(
1897 p_api_version IN NUMBER,
1898 p_init_msg_list IN VARCHAR2 DEFAULT Okc_Api.G_FALSE,
1899 x_return_status OUT NOCOPY VARCHAR2,
1900 x_msg_count OUT NOCOPY NUMBER,
1901 x_msg_data OUT NOCOPY VARCHAR2,
1902 p_lpov_tbl IN lpov_tbl_type) IS
1903
1904 l_api_version CONSTANT NUMBER := 1;
1905 l_api_name CONSTANT VARCHAR2(30) := 'V_tbl_lock_row';
1906 l_return_status VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
1907 i NUMBER := 0;
1908 BEGIN
1909 Okc_Api.init_msg_list(p_init_msg_list);
1910 -- Make sure PL/SQL table has recrods in it before passing
1911 IF (p_lpov_tbl.COUNT > 0) THEN
1912 i := p_lpov_tbl.FIRST;
1913 LOOP
1914 lock_row(
1915 p_api_version => p_api_version,
1916 p_init_msg_list => Okc_Api.G_FALSE,
1917 x_return_status => x_return_status,
1918 x_msg_count => x_msg_count,
1919 x_msg_data => x_msg_data,
1920 p_lpov_rec => p_lpov_tbl(i));
1921 EXIT WHEN (i = p_lpov_tbl.LAST);
1922 i := p_lpov_tbl.NEXT(i);
1923 END LOOP;
1924 END IF;
1928 x_return_status := Okc_Api.HANDLE_EXCEPTIONS
1925 Okc_Api.END_ACTIVITY(x_msg_count, x_msg_data);
1926 EXCEPTION
1927 WHEN Okc_Api.G_EXCEPTION_ERROR THEN
1929 (
1930 l_api_name,
1931 G_PKG_NAME,
1932 'OKC_API.G_RET_STS_ERROR',
1933 x_msg_count,
1934 x_msg_data,
1935 '_PVT'
1936 );
1937 WHEN Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
1938 x_return_status := Okc_Api.HANDLE_EXCEPTIONS
1939 (
1940 l_api_name,
1941 G_PKG_NAME,
1942 'OKC_API.G_RET_STS_UNEXP_ERROR',
1943 x_msg_count,
1944 x_msg_data,
1945 '_PVT'
1946 );
1947 WHEN OTHERS THEN
1948 x_return_status := Okc_Api.HANDLE_EXCEPTIONS
1949 (
1950 l_api_name,
1951 G_PKG_NAME,
1952 'OTHERS',
1953 x_msg_count,
1954 x_msg_data,
1955 '_PVT'
1956 );
1957 END lock_row;
1958 ---------------------------------------------------------------------------
1959 -- PROCEDURE update_row
1960 ---------------------------------------------------------------------------
1961 ----------------------------------------
1962 -- update_row for:OKL_LATE_POLICIES_B --
1963 ----------------------------------------
1964 PROCEDURE update_row(
1965 p_init_msg_list IN VARCHAR2 DEFAULT Okc_Api.G_FALSE,
1966 x_return_status OUT NOCOPY VARCHAR2,
1967 x_msg_count OUT NOCOPY NUMBER,
1968 x_msg_data OUT NOCOPY VARCHAR2,
1969 p_lpo_rec IN lpo_rec_type,
1970 x_lpo_rec OUT NOCOPY lpo_rec_type) IS
1971
1972 l_api_version CONSTANT NUMBER := 1;
1973 l_api_name CONSTANT VARCHAR2(30) := 'B_update_row';
1974 l_return_status VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
1975 l_lpo_rec lpo_rec_type := p_lpo_rec;
1976 l_def_lpo_rec lpo_rec_type;
1977 l_row_notfound BOOLEAN := TRUE;
1978 ----------------------------------
1979 -- FUNCTION populate_new_record --
1980 ----------------------------------
1981 FUNCTION populate_new_record (
1982 p_lpo_rec IN lpo_rec_type,
1983 x_lpo_rec OUT NOCOPY lpo_rec_type
1984 ) RETURN VARCHAR2 IS
1985 l_lpo_rec lpo_rec_type;
1986 l_row_notfound BOOLEAN := TRUE;
1987 l_return_status VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
1988 BEGIN
1989 x_lpo_rec := p_lpo_rec;
1990 -- Get current database values
1991 l_lpo_rec := get_rec(p_lpo_rec, l_return_status);
1992 IF (l_return_status = Okc_Api.G_RET_STS_SUCCESS) THEN
1993 IF (x_lpo_rec.id = Okc_Api.G_MISS_NUM)
1994 THEN
1995 x_lpo_rec.id := l_lpo_rec.id;
1996 END IF;
1997 IF (x_lpo_rec.org_id = Okc_Api.G_MISS_NUM)
1998 THEN
1999 x_lpo_rec.org_id := l_lpo_rec.org_id;
2000 END IF;
2001 IF (x_lpo_rec.ise_id = Okc_Api.G_MISS_NUM)
2002 THEN
2003 x_lpo_rec.ise_id := l_lpo_rec.ise_id;
2004 END IF;
2005 IF (x_lpo_rec.tdf_id = Okc_Api.G_MISS_NUM)
2006 THEN
2007 x_lpo_rec.tdf_id := l_lpo_rec.tdf_id;
2008 END IF;
2009 IF (x_lpo_rec.idx_id = Okc_Api.G_MISS_NUM)
2010 THEN
2011 x_lpo_rec.idx_id := l_lpo_rec.idx_id;
2012 END IF;
2013 IF (x_lpo_rec.late_policy_type_code = Okc_Api.G_MISS_CHAR)
2014 THEN
2015 x_lpo_rec.late_policy_type_code := l_lpo_rec.late_policy_type_code;
2016 END IF;
2017 IF (x_lpo_rec.object_version_number = Okc_Api.G_MISS_NUM)
2018 THEN
2019 x_lpo_rec.object_version_number := l_lpo_rec.object_version_number;
2020 END IF;
2021 IF (x_lpo_rec.late_chrg_allowed_yn = Okc_Api.G_MISS_CHAR)
2022 THEN
2023 x_lpo_rec.late_chrg_allowed_yn := l_lpo_rec.late_chrg_allowed_yn;
2024 END IF;
2025 IF (x_lpo_rec.late_chrg_fixed_yn = Okc_Api.G_MISS_CHAR)
2026 THEN
2027 x_lpo_rec.late_chrg_fixed_yn := l_lpo_rec.late_chrg_fixed_yn;
2028 END IF;
2029 IF (x_lpo_rec.late_chrg_amount = Okc_Api.G_MISS_NUM)
2030 THEN
2031 x_lpo_rec.late_chrg_amount := l_lpo_rec.late_chrg_amount;
2032 END IF;
2033 IF (x_lpo_rec.late_chrg_rate = Okc_Api.G_MISS_NUM)
2034 THEN
2035 x_lpo_rec.late_chrg_rate := l_lpo_rec.late_chrg_rate;
2036 END IF;
2037 IF (x_lpo_rec.late_chrg_grace_period = Okc_Api.G_MISS_NUM)
2038 THEN
2039 x_lpo_rec.late_chrg_grace_period := l_lpo_rec.late_chrg_grace_period;
2040 END IF;
2041 IF (x_lpo_rec.late_chrg_minimum_balance = Okc_Api.G_MISS_NUM)
2042 THEN
2043 x_lpo_rec.late_chrg_minimum_balance := l_lpo_rec.late_chrg_minimum_balance;
2044 END IF;
2045 IF (x_lpo_rec.minimum_late_charge = Okc_Api.G_MISS_NUM)
2046 THEN
2047 x_lpo_rec.minimum_late_charge := l_lpo_rec.minimum_late_charge;
2048 END IF;
2049 IF (x_lpo_rec.maximum_late_charge = Okc_Api.G_MISS_NUM)
2050 THEN
2054 THEN
2051 x_lpo_rec.maximum_late_charge := l_lpo_rec.maximum_late_charge;
2052 END IF;
2053 IF (x_lpo_rec.late_int_allowed_yn = Okc_Api.G_MISS_CHAR)
2055 x_lpo_rec.late_int_allowed_yn := l_lpo_rec.late_int_allowed_yn;
2056 END IF;
2057 IF (x_lpo_rec.late_int_fixed_yn = Okc_Api.G_MISS_CHAR)
2058 THEN
2059 x_lpo_rec.late_int_fixed_yn := l_lpo_rec.late_int_fixed_yn;
2060 END IF;
2061 IF (x_lpo_rec.late_int_rate = Okc_Api.G_MISS_NUM)
2062 THEN
2063 x_lpo_rec.late_int_rate := l_lpo_rec.late_int_rate;
2064 END IF;
2065 IF (x_lpo_rec.adder_rate = Okc_Api.G_MISS_NUM)
2066 THEN
2067 x_lpo_rec.adder_rate := l_lpo_rec.adder_rate;
2068 END IF;
2069 IF (x_lpo_rec.late_int_grace_period = Okc_Api.G_MISS_NUM)
2070 THEN
2071 x_lpo_rec.late_int_grace_period := l_lpo_rec.late_int_grace_period;
2072 END IF;
2073 IF (x_lpo_rec.late_int_minimum_balance = Okc_Api.G_MISS_NUM)
2074 THEN
2075 x_lpo_rec.late_int_minimum_balance := l_lpo_rec.late_int_minimum_balance;
2076 END IF;
2077 IF (x_lpo_rec.minimum_late_interest = Okc_Api.G_MISS_NUM)
2078 THEN
2079 x_lpo_rec.minimum_late_interest := l_lpo_rec.minimum_late_interest;
2080 END IF;
2081 IF (x_lpo_rec.maximum_late_interest = Okc_Api.G_MISS_NUM)
2082 THEN
2083 x_lpo_rec.maximum_late_interest := l_lpo_rec.maximum_late_interest;
2084 END IF;
2085 IF (x_lpo_rec.attribute_category = Okc_Api.G_MISS_CHAR)
2086 THEN
2087 x_lpo_rec.attribute_category := l_lpo_rec.attribute_category;
2088 END IF;
2089 IF (x_lpo_rec.attribute1 = Okc_Api.G_MISS_CHAR)
2090 THEN
2091 x_lpo_rec.attribute1 := l_lpo_rec.attribute1;
2092 END IF;
2093 IF (x_lpo_rec.attribute2 = Okc_Api.G_MISS_CHAR)
2094 THEN
2095 x_lpo_rec.attribute2 := l_lpo_rec.attribute2;
2096 END IF;
2097 IF (x_lpo_rec.attribute3 = Okc_Api.G_MISS_CHAR)
2098 THEN
2099 x_lpo_rec.attribute3 := l_lpo_rec.attribute3;
2100 END IF;
2101 IF (x_lpo_rec.attribute4 = Okc_Api.G_MISS_CHAR)
2102 THEN
2103 x_lpo_rec.attribute4 := l_lpo_rec.attribute4;
2104 END IF;
2105 IF (x_lpo_rec.attribute5 = Okc_Api.G_MISS_CHAR)
2106 THEN
2107 x_lpo_rec.attribute5 := l_lpo_rec.attribute5;
2108 END IF;
2109 IF (x_lpo_rec.attribute6 = Okc_Api.G_MISS_CHAR)
2110 THEN
2111 x_lpo_rec.attribute6 := l_lpo_rec.attribute6;
2112 END IF;
2113 IF (x_lpo_rec.attribute7 = Okc_Api.G_MISS_CHAR)
2114 THEN
2115 x_lpo_rec.attribute7 := l_lpo_rec.attribute7;
2116 END IF;
2117 IF (x_lpo_rec.attribute8 = Okc_Api.G_MISS_CHAR)
2118 THEN
2119 x_lpo_rec.attribute8 := l_lpo_rec.attribute8;
2120 END IF;
2121 IF (x_lpo_rec.attribute9 = Okc_Api.G_MISS_CHAR)
2122 THEN
2123 x_lpo_rec.attribute9 := l_lpo_rec.attribute9;
2124 END IF;
2125 IF (x_lpo_rec.attribute10 = Okc_Api.G_MISS_CHAR)
2126 THEN
2127 x_lpo_rec.attribute10 := l_lpo_rec.attribute10;
2128 END IF;
2129 IF (x_lpo_rec.attribute11 = Okc_Api.G_MISS_CHAR)
2130 THEN
2131 x_lpo_rec.attribute11 := l_lpo_rec.attribute11;
2132 END IF;
2133 IF (x_lpo_rec.attribute12 = Okc_Api.G_MISS_CHAR)
2134 THEN
2135 x_lpo_rec.attribute12 := l_lpo_rec.attribute12;
2136 END IF;
2137 IF (x_lpo_rec.attribute13 = Okc_Api.G_MISS_CHAR)
2138 THEN
2139 x_lpo_rec.attribute13 := l_lpo_rec.attribute13;
2140 END IF;
2141 IF (x_lpo_rec.attribute14 = Okc_Api.G_MISS_CHAR)
2142 THEN
2143 x_lpo_rec.attribute14 := l_lpo_rec.attribute14;
2144 END IF;
2145 IF (x_lpo_rec.attribute15 = Okc_Api.G_MISS_CHAR)
2146 THEN
2147 x_lpo_rec.attribute15 := l_lpo_rec.attribute15;
2148 END IF;
2149 IF (x_lpo_rec.created_by = Okc_Api.G_MISS_NUM)
2150 THEN
2151 x_lpo_rec.created_by := l_lpo_rec.created_by;
2152 END IF;
2153 IF (x_lpo_rec.creation_date = Okc_Api.G_MISS_DATE)
2154 THEN
2155 x_lpo_rec.creation_date := l_lpo_rec.creation_date;
2156 END IF;
2157 IF (x_lpo_rec.last_updated_by = Okc_Api.G_MISS_NUM)
2158 THEN
2159 x_lpo_rec.last_updated_by := l_lpo_rec.last_updated_by;
2160 END IF;
2161 IF (x_lpo_rec.last_update_date = Okc_Api.G_MISS_DATE)
2162 THEN
2163 x_lpo_rec.last_update_date := l_lpo_rec.last_update_date;
2164 END IF;
2165 IF (x_lpo_rec.last_update_login = Okc_Api.G_MISS_NUM)
2166 THEN
2167 x_lpo_rec.last_update_login := l_lpo_rec.last_update_login;
2168 END IF;
2169 IF (x_lpo_rec.days_in_year = Okc_Api.G_MISS_CHAR)
2170 THEN
2171 x_lpo_rec.days_in_year := l_lpo_rec.days_in_year;
2172 END IF;
2173 END IF;
2174 RETURN(l_return_status);
2175 END populate_new_record;
2176 --------------------------------------------
2177 -- Set_Attributes for:OKL_LATE_POLICIES_B --
2181 x_lpo_rec OUT NOCOPY lpo_rec_type
2178 --------------------------------------------
2179 FUNCTION Set_Attributes (
2180 p_lpo_rec IN lpo_rec_type,
2182 ) RETURN VARCHAR2 IS
2183 l_return_status VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
2184 BEGIN
2185 x_lpo_rec := p_lpo_rec;
2186 x_lpo_rec.OBJECT_VERSION_NUMBER := p_lpo_rec.OBJECT_VERSION_NUMBER + 1;
2187 RETURN(l_return_status);
2188 END Set_Attributes;
2189 BEGIN
2190 l_return_status := Okc_Api.START_ACTIVITY(l_api_name,
2191 p_init_msg_list,
2192 '_PVT',
2193 x_return_status);
2194 IF (l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
2195 RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
2196 ELSIF (l_return_status = Okc_Api.G_RET_STS_ERROR) THEN
2197 RAISE Okc_Api.G_EXCEPTION_ERROR;
2198 END IF;
2199 --- Setting item attributes
2200 l_return_status := Set_Attributes(
2201 p_lpo_rec, -- IN
2202 l_lpo_rec); -- OUT
2203 --- If any errors happen abort API
2204 IF (l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
2205 RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
2206 ELSIF (l_return_status = Okc_Api.G_RET_STS_ERROR) THEN
2207 RAISE Okc_Api.G_EXCEPTION_ERROR;
2208 END IF;
2209 l_return_status := populate_new_record(l_lpo_rec, l_def_lpo_rec);
2210 IF (l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
2211 RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
2212 ELSIF (l_return_status = Okc_Api.G_RET_STS_ERROR) THEN
2213 RAISE Okc_Api.G_EXCEPTION_ERROR;
2214 END IF;
2215 UPDATE OKL_LATE_POLICIES_B
2216 SET ORG_ID = NVL(l_def_lpo_rec.org_id, MO_GLOBAL.GET_CURRENT_ORG_ID()),
2217 ISE_ID = l_def_lpo_rec.ise_id,
2218 TDF_ID = l_def_lpo_rec.tdf_id,
2219 IDX_ID = l_def_lpo_rec.idx_id,
2220 LATE_POLICY_TYPE_CODE = l_def_lpo_rec.late_policy_type_code,
2221 OBJECT_VERSION_NUMBER = l_def_lpo_rec.object_version_number,
2222 LATE_CHRG_ALLOWED_YN = l_def_lpo_rec.late_chrg_allowed_yn,
2223 LATE_CHRG_FIXED_YN = l_def_lpo_rec.late_chrg_fixed_yn,
2224 LATE_CHRG_AMOUNT = l_def_lpo_rec.late_chrg_amount,
2225 LATE_CHRG_RATE = l_def_lpo_rec.late_chrg_rate,
2226 LATE_CHRG_GRACE_PERIOD = l_def_lpo_rec.late_chrg_grace_period,
2227 LATE_CHRG_MINIMUM_BALANCE = l_def_lpo_rec.late_chrg_minimum_balance,
2228 MINIMUM_LATE_CHARGE = l_def_lpo_rec.minimum_late_charge,
2229 MAXIMUM_LATE_CHARGE = l_def_lpo_rec.maximum_late_charge,
2230 LATE_INT_ALLOWED_YN = l_def_lpo_rec.late_int_allowed_yn,
2231 LATE_INT_FIXED_YN = l_def_lpo_rec.late_int_fixed_yn,
2232 LATE_INT_RATE = l_def_lpo_rec.late_int_rate,
2233 ADDER_RATE = l_def_lpo_rec.adder_rate,
2234 LATE_INT_GRACE_PERIOD = l_def_lpo_rec.late_int_grace_period,
2235 LATE_INT_MINIMUM_BALANCE = l_def_lpo_rec.late_int_minimum_balance,
2236 MINIMUM_LATE_INTEREST = l_def_lpo_rec.minimum_late_interest,
2237 MAXIMUM_LATE_INTEREST = l_def_lpo_rec.maximum_late_interest,
2238 ATTRIBUTE_CATEGORY = l_def_lpo_rec.attribute_category,
2239 ATTRIBUTE1 = l_def_lpo_rec.attribute1,
2240 ATTRIBUTE2 = l_def_lpo_rec.attribute2,
2241 ATTRIBUTE3 = l_def_lpo_rec.attribute3,
2242 ATTRIBUTE4 = l_def_lpo_rec.attribute4,
2243 ATTRIBUTE5 = l_def_lpo_rec.attribute5,
2244 ATTRIBUTE6 = l_def_lpo_rec.attribute6,
2245 ATTRIBUTE7 = l_def_lpo_rec.attribute7,
2246 ATTRIBUTE8 = l_def_lpo_rec.attribute8,
2247 ATTRIBUTE9 = l_def_lpo_rec.attribute9,
2248 ATTRIBUTE10 = l_def_lpo_rec.attribute10,
2249 ATTRIBUTE11 = l_def_lpo_rec.attribute11,
2250 ATTRIBUTE12 = l_def_lpo_rec.attribute12,
2251 ATTRIBUTE13 = l_def_lpo_rec.attribute13,
2252 ATTRIBUTE14 = l_def_lpo_rec.attribute14,
2253 ATTRIBUTE15 = l_def_lpo_rec.attribute15,
2254 CREATED_BY = l_def_lpo_rec.created_by,
2255 CREATION_DATE = l_def_lpo_rec.creation_date,
2256 LAST_UPDATED_BY = l_def_lpo_rec.last_updated_by,
2257 LAST_UPDATE_DATE = l_def_lpo_rec.last_update_date,
2258 LAST_UPDATE_LOGIN = l_def_lpo_rec.last_update_login,
2259 days_in_year = l_def_lpo_rec.days_in_year
2260 WHERE ID = l_def_lpo_rec.id;
2261
2262 x_lpo_rec := l_lpo_rec;
2263 x_return_status := l_return_status;
2264 Okc_Api.END_ACTIVITY(x_msg_count, x_msg_data);
2265 EXCEPTION
2266 WHEN Okc_Api.G_EXCEPTION_ERROR THEN
2267 x_return_status := Okc_Api.HANDLE_EXCEPTIONS
2268 (
2269 l_api_name,
2270 G_PKG_NAME,
2271 'OKC_API.G_RET_STS_ERROR',
2272 x_msg_count,
2273 x_msg_data,
2274 '_PVT'
2275 );
2276 WHEN Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
2277 x_return_status := Okc_Api.HANDLE_EXCEPTIONS
2278 (
2279 l_api_name,
2280 G_PKG_NAME,
2281 'OKC_API.G_RET_STS_UNEXP_ERROR',
2282 x_msg_count,
2283 x_msg_data,
2284 '_PVT'
2285 );
2286 WHEN OTHERS THEN
2287 x_return_status := Okc_Api.HANDLE_EXCEPTIONS
2288 (
2289 l_api_name,
2290 G_PKG_NAME,
2291 'OTHERS',
2292 x_msg_count,
2293 x_msg_data,
2294 '_PVT'
2298 -- update_row for:OKL_LATE_POLICIES_TL --
2295 );
2296 END update_row;
2297 -----------------------------------------
2299 -----------------------------------------
2300 PROCEDURE update_row(
2301 p_init_msg_list IN VARCHAR2 DEFAULT Okc_Api.G_FALSE,
2302 x_return_status OUT NOCOPY VARCHAR2,
2303 x_msg_count OUT NOCOPY NUMBER,
2304 x_msg_data OUT NOCOPY VARCHAR2,
2305 p_okl_late_policies_tl_rec IN okl_late_policies_tl_rec_type,
2306 x_okl_late_policies_tl_rec OUT NOCOPY okl_late_policies_tl_rec_type) IS
2307
2308 l_api_version CONSTANT NUMBER := 1;
2309 l_api_name CONSTANT VARCHAR2(30) := 'TL_update_row';
2310 l_return_status VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
2311 l_okl_late_policies_tl_rec okl_late_policies_tl_rec_type := p_okl_late_policies_tl_rec;
2312 l_def_okl_late_policies_tl_rec okl_late_policies_tl_rec_type;
2313 l_row_notfound BOOLEAN := TRUE;
2314 ----------------------------------
2315 -- FUNCTION populate_new_record --
2316 ----------------------------------
2317 FUNCTION populate_new_record (
2318 p_okl_late_policies_tl_rec IN okl_late_policies_tl_rec_type,
2319 x_okl_late_policies_tl_rec OUT NOCOPY okl_late_policies_tl_rec_type
2320 ) RETURN VARCHAR2 IS
2321 l_okl_late_policies_tl_rec okl_late_policies_tl_rec_type;
2322 l_row_notfound BOOLEAN := TRUE;
2323 l_return_status VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
2324 BEGIN
2325 x_okl_late_policies_tl_rec := p_okl_late_policies_tl_rec;
2326 -- Get current database values
2327 l_okl_late_policies_tl_rec := get_rec(p_okl_late_policies_tl_rec, l_return_status);
2328 IF (l_return_status = Okc_Api.G_RET_STS_SUCCESS) THEN
2329 IF (x_okl_late_policies_tl_rec.id = Okc_Api.G_MISS_NUM)
2330 THEN
2331 x_okl_late_policies_tl_rec.id := l_okl_late_policies_tl_rec.id;
2332 END IF;
2333 IF (x_okl_late_policies_tl_rec.LANGUAGE = Okc_Api.G_MISS_CHAR)
2334 THEN
2335 x_okl_late_policies_tl_rec.LANGUAGE := l_okl_late_policies_tl_rec.LANGUAGE;
2336 END IF;
2337 IF (x_okl_late_policies_tl_rec.source_lang = Okc_Api.G_MISS_CHAR)
2338 THEN
2339 x_okl_late_policies_tl_rec.source_lang := l_okl_late_policies_tl_rec.source_lang;
2340 END IF;
2341 IF (x_okl_late_policies_tl_rec.name = Okc_Api.G_MISS_CHAR)
2342 THEN
2343 x_okl_late_policies_tl_rec.name := l_okl_late_policies_tl_rec.name;
2344 END IF;
2345 IF (x_okl_late_policies_tl_rec.description = Okc_Api.G_MISS_CHAR)
2346 THEN
2347 x_okl_late_policies_tl_rec.description := l_okl_late_policies_tl_rec.description;
2348 END IF;
2349 IF (x_okl_late_policies_tl_rec.created_by = Okc_Api.G_MISS_NUM)
2350 THEN
2351 x_okl_late_policies_tl_rec.created_by := l_okl_late_policies_tl_rec.created_by;
2352 END IF;
2353 IF (x_okl_late_policies_tl_rec.creation_date = Okc_Api.G_MISS_DATE)
2354 THEN
2355 x_okl_late_policies_tl_rec.creation_date := l_okl_late_policies_tl_rec.creation_date;
2356 END IF;
2357 IF (x_okl_late_policies_tl_rec.last_updated_by = Okc_Api.G_MISS_NUM)
2358 THEN
2359 x_okl_late_policies_tl_rec.last_updated_by := l_okl_late_policies_tl_rec.last_updated_by;
2360 END IF;
2361 IF (x_okl_late_policies_tl_rec.last_update_date = Okc_Api.G_MISS_DATE)
2362 THEN
2363 x_okl_late_policies_tl_rec.last_update_date := l_okl_late_policies_tl_rec.last_update_date;
2364 END IF;
2365 IF (x_okl_late_policies_tl_rec.last_update_login = Okc_Api.G_MISS_NUM)
2366 THEN
2367 x_okl_late_policies_tl_rec.last_update_login := l_okl_late_policies_tl_rec.last_update_login;
2368 END IF;
2369 END IF;
2370 RETURN(l_return_status);
2371 END populate_new_record;
2372 ---------------------------------------------
2373 -- Set_Attributes for:OKL_LATE_POLICIES_TL --
2374 ---------------------------------------------
2375 FUNCTION Set_Attributes (
2376 p_okl_late_policies_tl_rec IN okl_late_policies_tl_rec_type,
2377 x_okl_late_policies_tl_rec OUT NOCOPY okl_late_policies_tl_rec_type
2378 ) RETURN VARCHAR2 IS
2379 l_return_status VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
2380 BEGIN
2381 x_okl_late_policies_tl_rec := p_okl_late_policies_tl_rec;
2382 x_okl_late_policies_tl_rec.LANGUAGE := USERENV('LANG');
2383 x_okl_late_policies_tl_rec.LANGUAGE := USERENV('LANG');
2384 RETURN(l_return_status);
2385 END Set_Attributes;
2386 BEGIN
2387 l_return_status := Okc_Api.START_ACTIVITY(l_api_name,
2388 p_init_msg_list,
2389 '_PVT',
2390 x_return_status);
2391 IF (l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
2392 RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
2393 ELSIF (l_return_status = Okc_Api.G_RET_STS_ERROR) THEN
2394 RAISE Okc_Api.G_EXCEPTION_ERROR;
2395 END IF;
2396 --- Setting item attributes
2397 l_return_status := Set_Attributes(
2398 p_okl_late_policies_tl_rec, -- IN
2399 l_okl_late_policies_tl_rec); -- OUT
2400 --- If any errors happen abort API
2404 RAISE Okc_Api.G_EXCEPTION_ERROR;
2401 IF (l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
2402 RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
2403 ELSIF (l_return_status = Okc_Api.G_RET_STS_ERROR) THEN
2405 END IF;
2406 l_return_status := populate_new_record(l_okl_late_policies_tl_rec, l_def_okl_late_policies_tl_rec);
2407 IF (l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
2408 RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
2409 ELSIF (l_return_status = Okc_Api.G_RET_STS_ERROR) THEN
2410 RAISE Okc_Api.G_EXCEPTION_ERROR;
2411 END IF;
2412 UPDATE OKL_LATE_POLICIES_TL
2413 SET NAME = l_def_okl_late_policies_tl_rec.name,
2414 DESCRIPTION = l_def_okl_late_policies_tl_rec.description,
2415 CREATED_BY = l_def_okl_late_policies_tl_rec.created_by,
2416 CREATION_DATE = l_def_okl_late_policies_tl_rec.creation_date,
2417 LAST_UPDATED_BY = l_def_okl_late_policies_tl_rec.last_updated_by,
2418 LAST_UPDATE_DATE = l_def_okl_late_policies_tl_rec.last_update_date,
2419 LAST_UPDATE_LOGIN = l_def_okl_late_policies_tl_rec.last_update_login
2420 WHERE ID = l_def_okl_late_policies_tl_rec.id
2421 --AND SOURCE_LANG = USERENV('LANG');
2422 AND USERENV('LANG') in (SOURCE_LANG, LANGUAGE);
2423
2424 /* UPDATE OKL_LATE_POLICIES_TL
2425 SET SFWT_FLAG = 'Y'
2426 WHERE ID = l_def_okl_late_policies_tl_rec.id
2427 AND SOURCE_LANG <> USERENV('LANG');
2428 */
2429 x_okl_late_policies_tl_rec := l_okl_late_policies_tl_rec;
2430 x_return_status := l_return_status;
2431 Okc_Api.END_ACTIVITY(x_msg_count, x_msg_data);
2432 EXCEPTION
2433 WHEN Okc_Api.G_EXCEPTION_ERROR THEN
2434 x_return_status := Okc_Api.HANDLE_EXCEPTIONS
2435 (
2436 l_api_name,
2437 G_PKG_NAME,
2438 'OKC_API.G_RET_STS_ERROR',
2439 x_msg_count,
2440 x_msg_data,
2441 '_PVT'
2442 );
2443 WHEN Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
2444 x_return_status := Okc_Api.HANDLE_EXCEPTIONS
2445 (
2446 l_api_name,
2447 G_PKG_NAME,
2448 'OKC_API.G_RET_STS_UNEXP_ERROR',
2449 x_msg_count,
2450 x_msg_data,
2451 '_PVT'
2452 );
2453 WHEN OTHERS THEN
2454 x_return_status := Okc_Api.HANDLE_EXCEPTIONS
2455 (
2456 l_api_name,
2457 G_PKG_NAME,
2458 'OTHERS',
2459 x_msg_count,
2460 x_msg_data,
2461 '_PVT'
2462 );
2463 END update_row;
2464 ----------------------------------------
2465 -- update_row for:OKL_LATE_POLICIES_V --
2466 ----------------------------------------
2467 PROCEDURE update_row(
2468 p_api_version IN NUMBER,
2469 p_init_msg_list IN VARCHAR2 DEFAULT Okc_Api.G_FALSE,
2470 x_return_status OUT NOCOPY VARCHAR2,
2471 x_msg_count OUT NOCOPY NUMBER,
2472 x_msg_data OUT NOCOPY VARCHAR2,
2473 p_lpov_rec IN lpov_rec_type,
2474 x_lpov_rec OUT NOCOPY lpov_rec_type) IS
2475
2476 l_api_version CONSTANT NUMBER := 1;
2477 l_api_name CONSTANT VARCHAR2(30) := 'V_update_row';
2478 l_return_status VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
2479 l_lpov_rec lpov_rec_type := p_lpov_rec;
2480 l_def_lpov_rec lpov_rec_type;
2481 l_db_lpov_rec lpov_rec_type;
2482 l_lpo_rec lpo_rec_type;
2483 lx_lpo_rec lpo_rec_type;
2484 l_okl_late_policies_tl_rec okl_late_policies_tl_rec_type;
2485 lx_okl_late_policies_tl_rec okl_late_policies_tl_rec_type;
2486 -------------------------------
2487 -- FUNCTION fill_who_columns --
2488 -------------------------------
2489 FUNCTION fill_who_columns (
2490 p_lpov_rec IN lpov_rec_type
2491 ) RETURN lpov_rec_type IS
2492 l_lpov_rec lpov_rec_type := p_lpov_rec;
2493 BEGIN
2494 l_lpov_rec.LAST_UPDATE_DATE := SYSDATE;
2495 l_lpov_rec.LAST_UPDATED_BY := Fnd_Global.USER_ID;
2496 l_lpov_rec.LAST_UPDATE_LOGIN := Fnd_Global.LOGIN_ID;
2497 RETURN(l_lpov_rec);
2498 END fill_who_columns;
2499 ----------------------------------
2500 -- FUNCTION populate_new_record --
2501 ----------------------------------
2502 FUNCTION populate_new_record (
2503 p_lpov_rec IN lpov_rec_type,
2504 x_lpov_rec OUT NOCOPY lpov_rec_type
2505 ) RETURN VARCHAR2 IS
2506 l_row_notfound BOOLEAN := TRUE;
2507 l_return_status VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
2508 BEGIN
2509 x_lpov_rec := p_lpov_rec;
2510 -- Get current database values
2511 -- NOTE: Never assign the OBJECT_VERSION_NUMBER. Force the user to pass it
2512 -- so it may be verified through LOCK_ROW.
2513 l_db_lpov_rec := get_rec(p_lpov_rec, l_return_status);
2514 IF (l_return_status = Okc_Api.G_RET_STS_SUCCESS) THEN
2515 IF (x_lpov_rec.id = Okc_Api.G_MISS_NUM)
2516 THEN
2517 x_lpov_rec.id := l_db_lpov_rec.id;
2518 END IF;
2519 IF (x_lpov_rec.org_id = Okc_Api.G_MISS_NUM)
2520 THEN
2521 x_lpov_rec.org_id := l_db_lpov_rec.org_id;
2522 END IF;
2526 END IF;
2523 IF (x_lpov_rec.object_version_number = Okl_Api.G_MISS_NUM)
2524 THEN
2525 x_lpov_rec.object_version_number := l_db_lpov_rec.object_version_number;
2527 IF (x_lpov_rec.name = Okc_Api.G_MISS_CHAR)
2528 THEN
2529 x_lpov_rec.name := l_db_lpov_rec.name;
2530 END IF;
2531 IF (x_lpov_rec.description = Okc_Api.G_MISS_CHAR)
2532 THEN
2533 x_lpov_rec.description := l_db_lpov_rec.description;
2534 END IF;
2535 IF (x_lpov_rec.ise_id = Okc_Api.G_MISS_NUM)
2536 THEN
2537 x_lpov_rec.ise_id := l_db_lpov_rec.ise_id;
2538 END IF;
2539 IF (x_lpov_rec.tdf_id = Okc_Api.G_MISS_NUM)
2540 THEN
2541 x_lpov_rec.tdf_id := l_db_lpov_rec.tdf_id;
2542 END IF;
2543 IF (x_lpov_rec.idx_id = Okc_Api.G_MISS_NUM)
2544 THEN
2545 x_lpov_rec.idx_id := l_db_lpov_rec.idx_id;
2546 END IF;
2547 IF (x_lpov_rec.late_policy_type_code = Okc_Api.G_MISS_CHAR)
2548 THEN
2549 x_lpov_rec.late_policy_type_code := l_db_lpov_rec.late_policy_type_code;
2550 END IF;
2551 IF (x_lpov_rec.late_chrg_allowed_yn = Okc_Api.G_MISS_CHAR)
2552 THEN
2553 x_lpov_rec.late_chrg_allowed_yn := l_db_lpov_rec.late_chrg_allowed_yn;
2554 END IF;
2555 IF (x_lpov_rec.late_chrg_fixed_yn = Okc_Api.G_MISS_CHAR)
2556 THEN
2557 x_lpov_rec.late_chrg_fixed_yn := l_db_lpov_rec.late_chrg_fixed_yn;
2558 END IF;
2559 IF (x_lpov_rec.late_chrg_amount = Okc_Api.G_MISS_NUM)
2560 THEN
2561 x_lpov_rec.late_chrg_amount := l_db_lpov_rec.late_chrg_amount;
2562 END IF;
2563 IF (x_lpov_rec.late_chrg_rate = Okc_Api.G_MISS_NUM)
2564 THEN
2565 x_lpov_rec.late_chrg_rate := l_db_lpov_rec.late_chrg_rate;
2566 END IF;
2567 IF (x_lpov_rec.late_chrg_grace_period = Okc_Api.G_MISS_NUM)
2568 THEN
2569 x_lpov_rec.late_chrg_grace_period := l_db_lpov_rec.late_chrg_grace_period;
2570 END IF;
2571 IF (x_lpov_rec.late_chrg_minimum_balance = Okc_Api.G_MISS_NUM)
2572 THEN
2573 x_lpov_rec.late_chrg_minimum_balance := l_db_lpov_rec.late_chrg_minimum_balance;
2574 END IF;
2575 IF (x_lpov_rec.minimum_late_charge = Okc_Api.G_MISS_NUM)
2576 THEN
2577 x_lpov_rec.minimum_late_charge := l_db_lpov_rec.minimum_late_charge;
2578 END IF;
2579 IF (x_lpov_rec.maximum_late_charge = Okc_Api.G_MISS_NUM)
2580 THEN
2581 x_lpov_rec.maximum_late_charge := l_db_lpov_rec.maximum_late_charge;
2582 END IF;
2583 IF (x_lpov_rec.late_int_allowed_yn = Okc_Api.G_MISS_CHAR)
2584 THEN
2585 x_lpov_rec.late_int_allowed_yn := l_db_lpov_rec.late_int_allowed_yn;
2586 END IF;
2587 IF (x_lpov_rec.late_int_fixed_yn = Okc_Api.G_MISS_CHAR)
2588 THEN
2589 x_lpov_rec.late_int_fixed_yn := l_db_lpov_rec.late_int_fixed_yn;
2590 END IF;
2591 IF (x_lpov_rec.late_int_rate = Okc_Api.G_MISS_NUM)
2592 THEN
2593 x_lpov_rec.late_int_rate := l_db_lpov_rec.late_int_rate;
2594 END IF;
2595 IF (x_lpov_rec.adder_rate = Okc_Api.G_MISS_NUM)
2596 THEN
2597 x_lpov_rec.adder_rate := l_db_lpov_rec.adder_rate;
2598 END IF;
2599 IF (x_lpov_rec.late_int_grace_period = Okc_Api.G_MISS_NUM)
2600 THEN
2601 x_lpov_rec.late_int_grace_period := l_db_lpov_rec.late_int_grace_period;
2602 END IF;
2603 IF (x_lpov_rec.late_int_minimum_balance = Okc_Api.G_MISS_NUM)
2604 THEN
2605 x_lpov_rec.late_int_minimum_balance := l_db_lpov_rec.late_int_minimum_balance;
2606 END IF;
2607 IF (x_lpov_rec.minimum_late_interest = Okc_Api.G_MISS_NUM)
2608 THEN
2609 x_lpov_rec.minimum_late_interest := l_db_lpov_rec.minimum_late_interest;
2610 END IF;
2611 IF (x_lpov_rec.maximum_late_interest = Okc_Api.G_MISS_NUM)
2612 THEN
2613 x_lpov_rec.maximum_late_interest := l_db_lpov_rec.maximum_late_interest;
2614 END IF;
2615 IF (x_lpov_rec.attribute_category = Okc_Api.G_MISS_CHAR)
2616 THEN
2617 x_lpov_rec.attribute_category := l_db_lpov_rec.attribute_category;
2618 END IF;
2619 IF (x_lpov_rec.attribute1 = Okc_Api.G_MISS_CHAR)
2620 THEN
2621 x_lpov_rec.attribute1 := l_db_lpov_rec.attribute1;
2622 END IF;
2623 IF (x_lpov_rec.attribute2 = Okc_Api.G_MISS_CHAR)
2624 THEN
2625 x_lpov_rec.attribute2 := l_db_lpov_rec.attribute2;
2626 END IF;
2627 IF (x_lpov_rec.attribute3 = Okc_Api.G_MISS_CHAR)
2628 THEN
2629 x_lpov_rec.attribute3 := l_db_lpov_rec.attribute3;
2630 END IF;
2631 IF (x_lpov_rec.attribute4 = Okc_Api.G_MISS_CHAR)
2632 THEN
2633 x_lpov_rec.attribute4 := l_db_lpov_rec.attribute4;
2634 END IF;
2635 IF (x_lpov_rec.attribute5 = Okc_Api.G_MISS_CHAR)
2636 THEN
2637 x_lpov_rec.attribute5 := l_db_lpov_rec.attribute5;
2638 END IF;
2639 IF (x_lpov_rec.attribute6 = Okc_Api.G_MISS_CHAR)
2640 THEN
2641 x_lpov_rec.attribute6 := l_db_lpov_rec.attribute6;
2642 END IF;
2643 IF (x_lpov_rec.attribute7 = Okc_Api.G_MISS_CHAR)
2644 THEN
2648 THEN
2645 x_lpov_rec.attribute7 := l_db_lpov_rec.attribute7;
2646 END IF;
2647 IF (x_lpov_rec.attribute8 = Okc_Api.G_MISS_CHAR)
2649 x_lpov_rec.attribute8 := l_db_lpov_rec.attribute8;
2650 END IF;
2651 IF (x_lpov_rec.attribute9 = Okc_Api.G_MISS_CHAR)
2652 THEN
2653 x_lpov_rec.attribute9 := l_db_lpov_rec.attribute9;
2654 END IF;
2655 IF (x_lpov_rec.attribute10 = Okc_Api.G_MISS_CHAR)
2656 THEN
2657 x_lpov_rec.attribute10 := l_db_lpov_rec.attribute10;
2658 END IF;
2659 IF (x_lpov_rec.attribute11 = Okc_Api.G_MISS_CHAR)
2660 THEN
2661 x_lpov_rec.attribute11 := l_db_lpov_rec.attribute11;
2662 END IF;
2663 IF (x_lpov_rec.attribute12 = Okc_Api.G_MISS_CHAR)
2664 THEN
2665 x_lpov_rec.attribute12 := l_db_lpov_rec.attribute12;
2666 END IF;
2667 IF (x_lpov_rec.attribute13 = Okc_Api.G_MISS_CHAR)
2668 THEN
2669 x_lpov_rec.attribute13 := l_db_lpov_rec.attribute13;
2670 END IF;
2671 IF (x_lpov_rec.attribute14 = Okc_Api.G_MISS_CHAR)
2672 THEN
2673 x_lpov_rec.attribute14 := l_db_lpov_rec.attribute14;
2674 END IF;
2675 IF (x_lpov_rec.attribute15 = Okc_Api.G_MISS_CHAR)
2676 THEN
2677 x_lpov_rec.attribute15 := l_db_lpov_rec.attribute15;
2678 END IF;
2679 IF (x_lpov_rec.created_by = Okc_Api.G_MISS_NUM)
2680 THEN
2681 x_lpov_rec.created_by := l_db_lpov_rec.created_by;
2682 END IF;
2683 IF (x_lpov_rec.creation_date = Okc_Api.G_MISS_DATE)
2684 THEN
2685 x_lpov_rec.creation_date := l_db_lpov_rec.creation_date;
2686 END IF;
2687 IF (x_lpov_rec.last_updated_by = Okc_Api.G_MISS_NUM)
2688 THEN
2689 x_lpov_rec.last_updated_by := l_db_lpov_rec.last_updated_by;
2690 END IF;
2691 IF (x_lpov_rec.last_update_date = Okc_Api.G_MISS_DATE)
2692 THEN
2693 x_lpov_rec.last_update_date := l_db_lpov_rec.last_update_date;
2694 END IF;
2695 IF (x_lpov_rec.last_update_login = Okc_Api.G_MISS_NUM)
2696 THEN
2697 x_lpov_rec.last_update_login := l_db_lpov_rec.last_update_login;
2698 END IF;
2699 IF (x_lpov_rec.days_in_year = Okc_Api.G_MISS_CHAR)
2700 THEN
2701 x_lpov_rec.days_in_year := l_db_lpov_rec.days_in_year;
2702 END IF;
2703 END IF;
2704 RETURN(l_return_status);
2705 END populate_new_record;
2706 --------------------------------------------
2707 -- Set_Attributes for:OKL_LATE_POLICIES_V --
2708 --------------------------------------------
2709 FUNCTION Set_Attributes (
2710 p_lpov_rec IN lpov_rec_type,
2711 x_lpov_rec OUT NOCOPY lpov_rec_type
2712 ) RETURN VARCHAR2 IS
2713 l_return_status VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
2714 BEGIN
2715 x_lpov_rec := p_lpov_rec;
2716 RETURN(l_return_status);
2717 END Set_Attributes;
2718 BEGIN
2719 l_return_status := Okc_Api.START_ACTIVITY(l_api_name,
2720 G_PKG_NAME,
2721 p_init_msg_list,
2722 l_api_version,
2723 p_api_version,
2724 '_PVT',
2725 x_return_status);
2726 IF (l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
2727 RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
2728 ELSIF (l_return_status = Okc_Api.G_RET_STS_ERROR) THEN
2729 RAISE Okc_Api.G_EXCEPTION_ERROR;
2730 END IF;
2731 --- Setting item attributes
2732 l_return_status := Set_Attributes(
2733 p_lpov_rec, -- IN
2734 x_lpov_rec); -- OUT
2735 --- If any errors happen abort API
2736 IF (l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
2737 RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
2738 ELSIF (l_return_status = Okc_Api.G_RET_STS_ERROR) THEN
2739 RAISE Okc_Api.G_EXCEPTION_ERROR;
2740 END IF;
2741 l_return_status := populate_new_record(l_lpov_rec, l_def_lpov_rec);
2742 IF (l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
2743 RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
2744 ELSIF (l_return_status = Okc_Api.G_RET_STS_ERROR) THEN
2745 RAISE Okc_Api.G_EXCEPTION_ERROR;
2746 END IF;
2747 l_def_lpov_rec := fill_who_columns(l_def_lpov_rec);
2748 --- Validate all non-missing attributes (Item Level Validation)
2749 l_return_status := Validate_Attributes(l_def_lpov_rec);
2750 --- If any errors happen abort API
2751 IF (l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
2752 RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
2753 ELSIF (l_return_status = Okc_Api.G_RET_STS_ERROR) THEN
2754 RAISE Okc_Api.G_EXCEPTION_ERROR;
2755 END IF;
2756 l_return_status := Validate_Record(l_def_lpov_rec);
2757 IF (l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
2758 RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
2759 ELSIF (l_return_status = Okc_Api.G_RET_STS_ERROR) THEN
2760 RAISE Okc_Api.G_EXCEPTION_ERROR;
2761 END IF;
2762
2763 -----------------------------------------
2764 -- Move VIEW record to "Child" records --
2765 -----------------------------------------
2769 -- Call the UPDATE_ROW for each child record --
2766 migrate(l_def_lpov_rec, l_lpo_rec);
2767 migrate(l_def_lpov_rec, l_okl_late_policies_tl_rec);
2768 -----------------------------------------------
2770 -----------------------------------------------
2771 update_row(
2772 p_init_msg_list,
2773 l_return_status,
2774 x_msg_count,
2775 x_msg_data,
2776 l_lpo_rec,
2777 lx_lpo_rec
2778 );
2779 IF (l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
2780 RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
2781 ELSIF (l_return_status = Okc_Api.G_RET_STS_ERROR) THEN
2782 RAISE Okc_Api.G_EXCEPTION_ERROR;
2783 END IF;
2784 migrate(lx_lpo_rec, l_def_lpov_rec);
2785 update_row(
2786 p_init_msg_list,
2787 l_return_status,
2788 x_msg_count,
2789 x_msg_data,
2790 l_okl_late_policies_tl_rec,
2791 lx_okl_late_policies_tl_rec
2792 );
2793 IF (l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
2794 RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
2795 ELSIF (l_return_status = Okc_Api.G_RET_STS_ERROR) THEN
2796 RAISE Okc_Api.G_EXCEPTION_ERROR;
2797 END IF;
2798 migrate(lx_okl_late_policies_tl_rec, l_def_lpov_rec);
2799 x_lpov_rec := l_def_lpov_rec;
2800 x_return_status := l_return_status;
2801 Okc_Api.END_ACTIVITY(x_msg_count, x_msg_data);
2802 EXCEPTION
2803 WHEN Okc_Api.G_EXCEPTION_ERROR THEN
2804 x_return_status := Okc_Api.HANDLE_EXCEPTIONS
2805 (
2806 l_api_name,
2807 G_PKG_NAME,
2808 'OKC_API.G_RET_STS_ERROR',
2809 x_msg_count,
2810 x_msg_data,
2811 '_PVT'
2812 );
2813 WHEN Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
2814 x_return_status := Okc_Api.HANDLE_EXCEPTIONS
2815 (
2816 l_api_name,
2817 G_PKG_NAME,
2818 'OKC_API.G_RET_STS_UNEXP_ERROR',
2819 x_msg_count,
2820 x_msg_data,
2821 '_PVT'
2822 );
2823 WHEN OTHERS THEN
2824 x_return_status := Okc_Api.HANDLE_EXCEPTIONS
2825 (
2826 l_api_name,
2827 G_PKG_NAME,
2828 'OTHERS',
2829 x_msg_count,
2830 x_msg_data,
2831 '_PVT'
2832 );
2833 END update_row;
2834
2835 ----------------------------------------
2836 -- PL/SQL TBL update_row for:LPOV_TBL --
2837 ----------------------------------------
2838 PROCEDURE update_row(
2839 p_api_version IN NUMBER,
2840 p_init_msg_list IN VARCHAR2 DEFAULT Okc_Api.G_FALSE,
2841 x_return_status OUT NOCOPY VARCHAR2,
2842 x_msg_count OUT NOCOPY NUMBER,
2843 x_msg_data OUT NOCOPY VARCHAR2,
2844 p_lpov_tbl IN lpov_tbl_type,
2845 x_lpov_tbl OUT NOCOPY lpov_tbl_type) IS
2846
2847 l_api_version CONSTANT NUMBER := 1;
2848 l_api_name CONSTANT VARCHAR2(30) := 'V_tbl_update_row';
2849 l_return_status VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
2850 i NUMBER := 0;
2851 BEGIN
2852 Okc_Api.init_msg_list(p_init_msg_list);
2853 -- Make sure PL/SQL table has records in it before passing
2854 IF (p_lpov_tbl.COUNT > 0) THEN
2855 i := p_lpov_tbl.FIRST;
2856 LOOP
2857 update_row (
2858 p_api_version => p_api_version,
2859 p_init_msg_list => Okc_Api.G_FALSE,
2860 x_return_status => x_return_status,
2861 x_msg_count => x_msg_count,
2862 x_msg_data => x_msg_data,
2863 p_lpov_rec => p_lpov_tbl(i),
2864 x_lpov_rec => x_lpov_tbl(i));
2865 EXIT WHEN (i = p_lpov_tbl.LAST);
2866 i := p_lpov_tbl.NEXT(i);
2867 END LOOP;
2868 END IF;
2869 Okc_Api.END_ACTIVITY(x_msg_count, x_msg_data);
2870 EXCEPTION
2871 WHEN Okc_Api.G_EXCEPTION_ERROR THEN
2872 x_return_status := Okc_Api.HANDLE_EXCEPTIONS
2873 (
2874 l_api_name,
2875 G_PKG_NAME,
2876 'OKC_API.G_RET_STS_ERROR',
2877 x_msg_count,
2878 x_msg_data,
2879 '_PVT'
2880 );
2881 WHEN Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
2882 x_return_status := Okc_Api.HANDLE_EXCEPTIONS
2883 (
2884 l_api_name,
2885 G_PKG_NAME,
2886 'OKC_API.G_RET_STS_UNEXP_ERROR',
2887 x_msg_count,
2888 x_msg_data,
2889 '_PVT'
2890 );
2891 WHEN OTHERS THEN
2892 x_return_status := Okc_Api.HANDLE_EXCEPTIONS
2893 (
2894 l_api_name,
2895 G_PKG_NAME,
2896 'OTHERS',
2897 x_msg_count,
2898 x_msg_data,
2899 '_PVT'
2900 );
2901 END update_row;
2902
2903 ---------------------------------------------------------------------------
2904 -- PROCEDURE delete_row
2905 ---------------------------------------------------------------------------
2906 ----------------------------------------
2907 -- delete_row for:OKL_LATE_POLICIES_B --
2911 x_return_status OUT NOCOPY VARCHAR2,
2908 ----------------------------------------
2909 PROCEDURE delete_row(
2910 p_init_msg_list IN VARCHAR2 DEFAULT Okc_Api.G_FALSE,
2912 x_msg_count OUT NOCOPY NUMBER,
2913 x_msg_data OUT NOCOPY VARCHAR2,
2914 p_lpo_rec IN lpo_rec_type) IS
2915
2916 l_api_version CONSTANT NUMBER := 1;
2917 l_api_name CONSTANT VARCHAR2(30) := 'B_delete_row';
2918 l_return_status VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
2919 l_lpo_rec lpo_rec_type := p_lpo_rec;
2920 l_row_notfound BOOLEAN := TRUE;
2921 BEGIN
2922 l_return_status := Okc_Api.START_ACTIVITY(l_api_name,
2923 p_init_msg_list,
2924 '_PVT',
2925 x_return_status);
2926 IF (l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
2927 RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
2928 ELSIF (l_return_status = Okc_Api.G_RET_STS_ERROR) THEN
2929 RAISE Okc_Api.G_EXCEPTION_ERROR;
2930 END IF;
2931
2932 DELETE FROM OKL_LATE_POLICIES_B
2933 WHERE ID = p_lpo_rec.id;
2934
2935 x_return_status := l_return_status;
2936 Okc_Api.END_ACTIVITY(x_msg_count, x_msg_data);
2937 EXCEPTION
2938 WHEN Okc_Api.G_EXCEPTION_ERROR THEN
2939 x_return_status := Okc_Api.HANDLE_EXCEPTIONS
2940 (
2941 l_api_name,
2942 G_PKG_NAME,
2943 'OKC_API.G_RET_STS_ERROR',
2944 x_msg_count,
2945 x_msg_data,
2946 '_PVT'
2947 );
2948 WHEN Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
2949 x_return_status := Okc_Api.HANDLE_EXCEPTIONS
2950 (
2951 l_api_name,
2952 G_PKG_NAME,
2953 'OKC_API.G_RET_STS_UNEXP_ERROR',
2954 x_msg_count,
2955 x_msg_data,
2956 '_PVT'
2957 );
2958 WHEN OTHERS THEN
2959 x_return_status := Okc_Api.HANDLE_EXCEPTIONS
2960 (
2961 l_api_name,
2962 G_PKG_NAME,
2963 'OTHERS',
2964 x_msg_count,
2965 x_msg_data,
2966 '_PVT'
2967 );
2968 END delete_row;
2969 -----------------------------------------
2970 -- delete_row for:OKL_LATE_POLICIES_TL --
2971 -----------------------------------------
2972 PROCEDURE delete_row(
2973 p_init_msg_list IN VARCHAR2 DEFAULT Okc_Api.G_FALSE,
2974 x_return_status OUT NOCOPY VARCHAR2,
2975 x_msg_count OUT NOCOPY NUMBER,
2976 x_msg_data OUT NOCOPY VARCHAR2,
2977 p_okl_late_policies_tl_rec IN okl_late_policies_tl_rec_type) IS
2978
2979 l_api_version CONSTANT NUMBER := 1;
2980 l_api_name CONSTANT VARCHAR2(30) := 'TL_delete_row';
2981 l_return_status VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
2982 l_okl_late_policies_tl_rec okl_late_policies_tl_rec_type := p_okl_late_policies_tl_rec;
2983 l_row_notfound BOOLEAN := TRUE;
2984 BEGIN
2985 l_return_status := Okc_Api.START_ACTIVITY(l_api_name,
2986 p_init_msg_list,
2987 '_PVT',
2988 x_return_status);
2989 IF (l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
2990 RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
2991 ELSIF (l_return_status = Okc_Api.G_RET_STS_ERROR) THEN
2992 RAISE Okc_Api.G_EXCEPTION_ERROR;
2993 END IF;
2994
2995 DELETE FROM OKL_LATE_POLICIES_TL
2996 WHERE ID = p_okl_late_policies_tl_rec.id;
2997
2998 x_return_status := l_return_status;
2999 Okc_Api.END_ACTIVITY(x_msg_count, x_msg_data);
3000 EXCEPTION
3001 WHEN Okc_Api.G_EXCEPTION_ERROR THEN
3002 x_return_status := Okc_Api.HANDLE_EXCEPTIONS
3003 (
3004 l_api_name,
3005 G_PKG_NAME,
3006 'OKC_API.G_RET_STS_ERROR',
3007 x_msg_count,
3008 x_msg_data,
3009 '_PVT'
3010 );
3011 WHEN Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
3012 x_return_status := Okc_Api.HANDLE_EXCEPTIONS
3013 (
3014 l_api_name,
3015 G_PKG_NAME,
3016 'OKC_API.G_RET_STS_UNEXP_ERROR',
3017 x_msg_count,
3018 x_msg_data,
3019 '_PVT'
3020 );
3021 WHEN OTHERS THEN
3022 x_return_status := Okc_Api.HANDLE_EXCEPTIONS
3023 (
3024 l_api_name,
3025 G_PKG_NAME,
3026 'OTHERS',
3027 x_msg_count,
3028 x_msg_data,
3029 '_PVT'
3030 );
3031 END delete_row;
3032 ----------------------------------------
3033 -- delete_row for:OKL_LATE_POLICIES_V --
3034 ----------------------------------------
3035 PROCEDURE delete_row(
3036 p_api_version IN NUMBER,
3037 p_init_msg_list IN VARCHAR2 DEFAULT Okc_Api.G_FALSE,
3038 x_return_status OUT NOCOPY VARCHAR2,
3039 x_msg_count OUT NOCOPY NUMBER,
3040 x_msg_data OUT NOCOPY VARCHAR2,
3044 l_api_name CONSTANT VARCHAR2(30) := 'V_delete_row';
3041 p_lpov_rec IN lpov_rec_type) IS
3042
3043 l_api_version CONSTANT NUMBER := 1;
3045 l_return_status VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
3046 l_lpov_rec lpov_rec_type := p_lpov_rec;
3047 l_okl_late_policies_tl_rec okl_late_policies_tl_rec_type;
3048 l_lpo_rec lpo_rec_type;
3049 BEGIN
3050 l_return_status := Okc_Api.START_ACTIVITY(l_api_name,
3051 G_PKG_NAME,
3052 p_init_msg_list,
3053 l_api_version,
3054 p_api_version,
3055 '_PVT',
3056 x_return_status);
3057 IF (l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
3058 RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
3059 ELSIF (l_return_status = Okc_Api.G_RET_STS_ERROR) THEN
3060 RAISE Okc_Api.G_EXCEPTION_ERROR;
3061 END IF;
3062 -----------------------------------------
3063 -- Move VIEW record to "Child" records --
3064 -----------------------------------------
3065 migrate(l_lpov_rec, l_okl_late_policies_tl_rec);
3066 migrate(l_lpov_rec, l_lpo_rec);
3067 -----------------------------------------------
3068 -- Call the DELETE_ROW for each child record --
3069 -----------------------------------------------
3070 delete_row(
3071 p_init_msg_list,
3072 l_return_status,
3073 x_msg_count,
3074 x_msg_data,
3075 l_okl_late_policies_tl_rec
3076 );
3077 IF (l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
3078 RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
3079 ELSIF (l_return_status = Okc_Api.G_RET_STS_ERROR) THEN
3080 RAISE Okc_Api.G_EXCEPTION_ERROR;
3081 END IF;
3082 delete_row(
3083 p_init_msg_list,
3084 l_return_status,
3085 x_msg_count,
3086 x_msg_data,
3087 l_lpo_rec
3088 );
3089 IF (l_return_status = Okc_Api.G_RET_STS_UNEXP_ERROR) THEN
3090 RAISE Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR;
3091 ELSIF (l_return_status = Okc_Api.G_RET_STS_ERROR) THEN
3092 RAISE Okc_Api.G_EXCEPTION_ERROR;
3093 END IF;
3094 x_return_status := l_return_status;
3095 Okc_Api.END_ACTIVITY(x_msg_count, x_msg_data);
3096 EXCEPTION
3097 WHEN Okc_Api.G_EXCEPTION_ERROR THEN
3098 x_return_status := Okc_Api.HANDLE_EXCEPTIONS
3099 (
3100 l_api_name,
3101 G_PKG_NAME,
3102 'OKC_API.G_RET_STS_ERROR',
3103 x_msg_count,
3104 x_msg_data,
3105 '_PVT'
3106 );
3107 WHEN Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
3108 x_return_status := Okc_Api.HANDLE_EXCEPTIONS
3109 (
3110 l_api_name,
3111 G_PKG_NAME,
3112 'OKC_API.G_RET_STS_UNEXP_ERROR',
3113 x_msg_count,
3114 x_msg_data,
3115 '_PVT'
3116 );
3117 WHEN OTHERS THEN
3118 x_return_status := Okc_Api.HANDLE_EXCEPTIONS
3119 (
3120 l_api_name,
3121 G_PKG_NAME,
3122 'OTHERS',
3123 x_msg_count,
3124 x_msg_data,
3125 '_PVT'
3126 );
3127 END delete_row;
3128 ---------------------------------------------------
3129 -- PL/SQL TBL delete_row for:OKL_LATE_POLICIES_V --
3130 ---------------------------------------------------
3131 PROCEDURE delete_row(
3132 p_api_version IN NUMBER,
3133 p_init_msg_list IN VARCHAR2 DEFAULT Okc_Api.G_FALSE,
3134 x_return_status OUT NOCOPY VARCHAR2,
3135 x_msg_count OUT NOCOPY NUMBER,
3136 x_msg_data OUT NOCOPY VARCHAR2,
3137 p_lpov_tbl IN lpov_tbl_type) IS
3138
3139 l_api_version CONSTANT NUMBER := 1;
3140 l_api_name CONSTANT VARCHAR2(30) := 'V_tbl_delete_row';
3141 l_return_status VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
3142 i NUMBER := 0;
3143 BEGIN
3144 Okc_Api.init_msg_list(p_init_msg_list);
3145 -- Make sure PL/SQL table has records in it before passing
3146 IF (p_lpov_tbl.COUNT > 0) THEN
3147 i := p_lpov_tbl.FIRST;
3148 LOOP
3149 delete_row (
3150 p_api_version => p_api_version,
3151 p_init_msg_list => Okc_Api.G_FALSE,
3152 x_return_status => x_return_status,
3153 x_msg_count => x_msg_count,
3154 x_msg_data => x_msg_data,
3155 p_lpov_rec => p_lpov_tbl(i));
3156
3157 EXIT WHEN (i = p_lpov_tbl.LAST);
3158 i := p_lpov_tbl.NEXT(i);
3159 END LOOP;
3160 END IF;
3161 Okc_Api.END_ACTIVITY(x_msg_count, x_msg_data);
3162 EXCEPTION
3163 WHEN Okc_Api.G_EXCEPTION_ERROR THEN
3164 x_return_status := Okc_Api.HANDLE_EXCEPTIONS
3165 (
3166 l_api_name,
3167 G_PKG_NAME,
3168 'OKC_API.G_RET_STS_ERROR',
3169 x_msg_count,
3170 x_msg_data,
3171 '_PVT'
3172 );
3173 WHEN Okc_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
3174 x_return_status := Okc_Api.HANDLE_EXCEPTIONS
3175 (
3176 l_api_name,
3177 G_PKG_NAME,
3178 'OKC_API.G_RET_STS_UNEXP_ERROR',
3179 x_msg_count,
3180 x_msg_data,
3181 '_PVT'
3182 );
3183 WHEN OTHERS THEN
3184 x_return_status := Okc_Api.HANDLE_EXCEPTIONS
3185 (
3186 l_api_name,
3187 G_PKG_NAME,
3188 'OTHERS',
3189 x_msg_count,
3190 x_msg_data,
3191 '_PVT'
3192 );
3193 END delete_row;
3194
3195 END Okl_Lpo_Pvt;
3196