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