[Home] [Help]
PACKAGE BODY: APPS.OKL_CHD_PVT
Source
1 PACKAGE BODY OKL_CHD_PVT AS
2 /* $Header: OKLSCHDB.pls 115.9 2004/05/20 23:44:28 pdevaraj 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 -- PROCEDURE add_language
95 ---------------------------------------------------------------------------
96 PROCEDURE add_language IS
97 BEGIN
98 DELETE FROM OKL_CURE_REFUND_HEADERS_TL T
99 WHERE NOT EXISTS (
100 SELECT NULL
101 FROM OKL_CURE_REFUND_HEADERS_B B
102 WHERE B.CURE_REFUND_HEADER_ID =T.CURE_REFUND_HEADER_ID
103 );
104
105 UPDATE OKL_CURE_REFUND_HEADERS_TL T SET(
106 DESCRIPTION) = (SELECT
107 B.DESCRIPTION
108 FROM OKL_CURE_REFUND_HEADERS_TL B
109 WHERE B.CURE_REFUND_HEADER_ID = T.CURE_REFUND_HEADER_ID
110 AND B.LANGUAGE = T.SOURCE_LANG)
111 WHERE ( T.CURE_REFUND_HEADER_ID,
112 T.LANGUAGE)
113 IN (SELECT
114 SUBT.CURE_REFUND_HEADER_ID,
115 SUBT.LANGUAGE
116 FROM OKL_CURE_REFUND_HEADERS_TL SUBB, OKL_CURE_REFUND_HEADERS_TL SUBT
117 WHERE SUBB.CURE_REFUND_HEADER_ID = SUBT.CURE_REFUND_HEADER_ID
118 AND SUBB.LANGUAGE = SUBT.SOURCE_LANG
119 AND (SUBB.DESCRIPTION <> SUBT.DESCRIPTION
120 OR (SUBB.DESCRIPTION IS NULL AND SUBT.DESCRIPTION IS NOT NULL)
121 ));
122
123 INSERT INTO OKL_CURE_REFUND_HEADERS_TL (
124 CURE_REFUND_HEADER_ID,
125 LANGUAGE,
126 SOURCE_LANG,
127 SFWT_FLAG,
128 DESCRIPTION,
129 CREATED_BY,
130 CREATION_DATE,
131 LAST_UPDATED_BY,
132 LAST_UPDATE_DATE,
133 LAST_UPDATE_LOGIN)
134 SELECT
135 B.CURE_REFUND_HEADER_ID,
136 L.LANGUAGE_CODE,
137 B.SOURCE_LANG,
138 B.SFWT_FLAG,
139 B.DESCRIPTION,
140 B.CREATED_BY,
141 B.CREATION_DATE,
142 B.LAST_UPDATED_BY,
143 B.LAST_UPDATE_DATE,
144 B.LAST_UPDATE_LOGIN
145 FROM OKL_CURE_REFUND_HEADERS_TL B, FND_LANGUAGES L
146 WHERE L.INSTALLED_FLAG IN ('I', 'B')
147 AND B.LANGUAGE = USERENV('LANG')
148 AND NOT EXISTS (
149 SELECT NULL
150 FROM OKL_CURE_REFUND_HEADERS_TL T
151 WHERE T.CURE_REFUND_HEADER_ID = B.CURE_REFUND_HEADER_ID
152 AND T.LANGUAGE = L.LANGUAGE_CODE
153 );
154 END add_language;
155
156 ---------------------------------------------------------------------------
157 -- FUNCTION get_rec for: OKL_CURE_REFUND_HEADERS_V
158 ---------------------------------------------------------------------------
159 FUNCTION get_rec (
160 p_chdv_rec IN chdv_rec_type,
161 x_no_data_found OUT NOCOPY BOOLEAN
162 ) RETURN chdv_rec_type IS
163 CURSOR okl_cure_refund_headers_pk_csr (p_cure_refund_header_id IN NUMBER) IS
164 SELECT
165 CURE_REFUND_HEADER_ID,
166 REFUND_HEADER_NUMBER,
167 REFUND_TYPE,
168 REFUND_DUE_DATE,
169 CURRENCY_CODE,
170 TOTAL_REFUND_DUE,
171 DISBURSEMENT_AMOUNT,
172 RECEIVED_AMOUNT,
173 OFFSET_AMOUNT,
174 NEGOTIATED_AMOUNT,
175 VENDOR_SITE_ID,
176 REFUND_STATUS,
177 PAYMENT_METHOD,
178 PAYMENT_TERM_ID,
179 SFWT_FLAG,
180 DESCRIPTION,
181 OBJECT_VERSION_NUMBER,
182 VENDOR_CURE_DUE,
183 VENDOR_SITE_CURE_DUE,
184 CHR_ID,
185 PROGRAM_ID,
186 REQUEST_ID,
187 PROGRAM_APPLICATION_ID,
188 PROGRAM_UPDATE_DATE,
189 ATTRIBUTE_CATEGORY,
190 ATTRIBUTE1,
191 ATTRIBUTE2,
192 ATTRIBUTE3,
193 ATTRIBUTE4,
194 ATTRIBUTE5,
195 ATTRIBUTE6,
196 ATTRIBUTE7,
197 ATTRIBUTE8,
198 ATTRIBUTE9,
199 ATTRIBUTE10,
200 ATTRIBUTE11,
201 ATTRIBUTE12,
202 ATTRIBUTE13,
203 ATTRIBUTE14,
204 ATTRIBUTE15,
205 CREATED_BY,
206 CREATION_DATE,
207 LAST_UPDATED_BY,
208 LAST_UPDATE_DATE,
209 LAST_UPDATE_LOGIN
210 FROM Okl_Cure_Refund_Headers_V
211 WHERE okl_cure_refund_headers_v.cure_refund_header_id = p_cure_refund_header_id;
212 l_okl_cure_refund_headers_pk okl_cure_refund_headers_pk_csr%ROWTYPE;
213 l_chdv_rec chdv_rec_type;
214 BEGIN
215 x_no_data_found := TRUE;
216 -- Get current database values
217 OPEN okl_cure_refund_headers_pk_csr (p_chdv_rec.cure_refund_header_id);
218 FETCH okl_cure_refund_headers_pk_csr INTO
219 l_chdv_rec.cure_refund_header_id,
220 l_chdv_rec.refund_header_number,
221 l_chdv_rec.refund_type,
222 l_chdv_rec.refund_due_date,
223 l_chdv_rec.currency_code,
224 l_chdv_rec.total_refund_due,
225 l_chdv_rec.disbursement_amount,
226 l_chdv_rec.RECEIVED_AMOUNT,
227 l_chdv_rec.OFFSET_AMOUNT,
228 l_chdv_rec.NEGOTIATED_AMOUNT,
229 l_chdv_rec.vendor_site_id,
230 l_chdv_rec.refund_status,
231 l_chdv_rec.payment_method,
232 l_chdv_rec.payment_term_id,
233 l_chdv_rec.sfwt_flag,
234 l_chdv_rec.description,
235 l_chdv_rec.object_version_number,
236 l_chdv_rec.vendor_cure_due,
237 l_chdv_rec.vendor_site_cure_due,
238 l_chdv_rec.chr_id,
239 l_chdv_rec.program_id,
240 l_chdv_rec.request_id,
241 l_chdv_rec.program_application_id,
242 l_chdv_rec.program_update_date,
243 l_chdv_rec.attribute_category,
244 l_chdv_rec.attribute1,
245 l_chdv_rec.attribute2,
246 l_chdv_rec.attribute3,
247 l_chdv_rec.attribute4,
248 l_chdv_rec.attribute5,
249 l_chdv_rec.attribute6,
250 l_chdv_rec.attribute7,
251 l_chdv_rec.attribute8,
252 l_chdv_rec.attribute9,
253 l_chdv_rec.attribute10,
254 l_chdv_rec.attribute11,
255 l_chdv_rec.attribute12,
256 l_chdv_rec.attribute13,
257 l_chdv_rec.attribute14,
258 l_chdv_rec.attribute15,
259 l_chdv_rec.created_by,
260 l_chdv_rec.creation_date,
261 l_chdv_rec.last_updated_by,
262 l_chdv_rec.last_update_date,
263 l_chdv_rec.last_update_login;
264 x_no_data_found := okl_cure_refund_headers_pk_csr%NOTFOUND;
265 CLOSE okl_cure_refund_headers_pk_csr;
266 RETURN(l_chdv_rec);
267 END get_rec;
268
269 ------------------------------------------------------------------
270 -- This version of get_rec sets error messages if no data found --
271 ------------------------------------------------------------------
272 FUNCTION get_rec (
273 p_chdv_rec IN chdv_rec_type,
274 x_return_status OUT NOCOPY VARCHAR2
275 ) RETURN chdv_rec_type IS
276 l_chdv_rec chdv_rec_type;
277 l_row_notfound BOOLEAN := TRUE;
278 BEGIN
279 x_return_status := OKL_API.G_RET_STS_SUCCESS;
280 l_chdv_rec := get_rec(p_chdv_rec, l_row_notfound);
281 IF (l_row_notfound) THEN
282 OKL_API.set_message(G_APP_NAME,G_INVALID_VALUE,G_COL_NAME_TOKEN,'CURE_REFUND_HEADER_ID');
283 x_return_status := OKL_API.G_RET_STS_ERROR;
284 END IF;
285 RETURN(l_chdv_rec);
286 END get_rec;
287 -----------------------------------------------------------
288 -- So we don't have to pass an "l_row_notfound" variable --
289 -----------------------------------------------------------
290 FUNCTION get_rec (
291 p_chdv_rec IN chdv_rec_type
292 ) RETURN chdv_rec_type IS
293 l_row_not_found BOOLEAN := TRUE;
294 BEGIN
295 RETURN(get_rec(p_chdv_rec, l_row_not_found));
296 END get_rec;
297 ---------------------------------------------------------------------------
298 -- FUNCTION get_rec for: OKL_CURE_REFUND_HEADERS_B
299 ---------------------------------------------------------------------------
300 FUNCTION get_rec (
301 p_chd_rec IN chd_rec_type,
302 x_no_data_found OUT NOCOPY BOOLEAN
303 ) RETURN chd_rec_type IS
304 CURSOR okl_cure_refund_hea179 (p_cure_refund_header_id IN NUMBER) IS
305 SELECT
306 CURE_REFUND_HEADER_ID,
307 REFUND_HEADER_NUMBER,
308 REFUND_TYPE,
309 REFUND_DUE_DATE,
310 CURRENCY_CODE,
311 TOTAL_REFUND_DUE,
312 DISBURSEMENT_AMOUNT,
313 RECEIVED_AMOUNT,
314 OFFSET_AMOUNT,
315 NEGOTIATED_AMOUNT,
316 VENDOR_SITE_ID,
317 REFUND_STATUS,
318 PAYMENT_METHOD,
319 PAYMENT_TERM_ID,
320 OBJECT_VERSION_NUMBER,
321 VENDOR_CURE_DUE,
322 VENDOR_SITE_CURE_DUE,
323 CHR_ID,
324 PROGRAM_APPLICATION_ID,
325 REQUEST_ID,
326 PROGRAM_ID,
327 PROGRAM_UPDATE_DATE,
328 ATTRIBUTE_CATEGORY,
329 ATTRIBUTE1,
330 ATTRIBUTE2,
331 ATTRIBUTE3,
332 ATTRIBUTE4,
333 ATTRIBUTE5,
334 ATTRIBUTE6,
335 ATTRIBUTE7,
336 ATTRIBUTE8,
337 ATTRIBUTE9,
338 ATTRIBUTE10,
339 ATTRIBUTE11,
340 ATTRIBUTE12,
341 ATTRIBUTE13,
342 ATTRIBUTE14,
343 ATTRIBUTE15,
344 CREATED_BY,
345 CREATION_DATE,
346 LAST_UPDATED_BY,
347 LAST_UPDATE_DATE,
348 LAST_UPDATE_LOGIN
349 FROM Okl_Cure_Refund_Headers_B
350 WHERE okl_cure_refund_headers_b.cure_refund_header_id = p_cure_refund_header_id;
351 l_okl_cure_refund_headers_b_pk okl_cure_refund_hea179%ROWTYPE;
352 l_chd_rec chd_rec_type;
353 BEGIN
354 x_no_data_found := TRUE;
355 -- Get current database values
356 OPEN okl_cure_refund_hea179 (p_chd_rec.cure_refund_header_id);
357 FETCH okl_cure_refund_hea179 INTO
358 l_chd_rec.cure_refund_header_id,
359 l_chd_rec.refund_header_number,
360 l_chd_rec.refund_type,
361 l_chd_rec.refund_due_date,
362 l_chd_rec.currency_code,
363 l_chd_rec.total_refund_due,
364 l_chd_rec.disbursement_amount,
365 l_chd_rec.RECEIVED_AMOUNT,
366 l_chd_rec.OFFSET_AMOUNT,
367 l_chd_rec.NEGOTIATED_AMOUNT,
368 l_chd_rec.vendor_site_id,
369 l_chd_rec.refund_status,
370 l_chd_rec.payment_method,
371 l_chd_rec.payment_term_id,
372 l_chd_rec.object_version_number,
373 l_chd_rec.vendor_cure_due,
374 l_chd_rec.vendor_site_cure_due,
375 l_chd_rec.chr_id,
376 l_chd_rec.program_application_id,
377 l_chd_rec.request_id,
378 l_chd_rec.program_id,
379 l_chd_rec.program_update_date,
380 l_chd_rec.attribute_category,
381 l_chd_rec.attribute1,
382 l_chd_rec.attribute2,
383 l_chd_rec.attribute3,
384 l_chd_rec.attribute4,
385 l_chd_rec.attribute5,
386 l_chd_rec.attribute6,
387 l_chd_rec.attribute7,
388 l_chd_rec.attribute8,
389 l_chd_rec.attribute9,
390 l_chd_rec.attribute10,
391 l_chd_rec.attribute11,
392 l_chd_rec.attribute12,
393 l_chd_rec.attribute13,
394 l_chd_rec.attribute14,
395 l_chd_rec.attribute15,
396 l_chd_rec.created_by,
397 l_chd_rec.creation_date,
398 l_chd_rec.last_updated_by,
399 l_chd_rec.last_update_date,
400 l_chd_rec.last_update_login;
401 x_no_data_found := okl_cure_refund_hea179%NOTFOUND;
402 CLOSE okl_cure_refund_hea179;
403 RETURN(l_chd_rec);
404 END get_rec;
405
406 ------------------------------------------------------------------
407 -- This version of get_rec sets error messages if no data found --
408 ------------------------------------------------------------------
409 FUNCTION get_rec (
410 p_chd_rec IN chd_rec_type,
411 x_return_status OUT NOCOPY VARCHAR2
412 ) RETURN chd_rec_type IS
413 l_chd_rec chd_rec_type;
414 l_row_notfound BOOLEAN := TRUE;
415 BEGIN
416 x_return_status := OKL_API.G_RET_STS_SUCCESS;
417 l_chd_rec := get_rec(p_chd_rec, l_row_notfound);
418 IF (l_row_notfound) THEN
419 OKL_API.set_message(G_APP_NAME,G_INVALID_VALUE,G_COL_NAME_TOKEN,'CURE_REFUND_HEADER_ID');
420 x_return_status := OKL_API.G_RET_STS_ERROR;
421 END IF;
422 RETURN(l_chd_rec);
423 END get_rec;
424 -----------------------------------------------------------
425 -- So we don't have to pass an "l_row_notfound" variable --
426 -----------------------------------------------------------
427 FUNCTION get_rec (
428 p_chd_rec IN chd_rec_type
429 ) RETURN chd_rec_type IS
430 l_row_not_found BOOLEAN := TRUE;
431 BEGIN
432 RETURN(get_rec(p_chd_rec, l_row_not_found));
433 END get_rec;
434 ---------------------------------------------------------------------------
435 -- FUNCTION get_rec for: OKL_CURE_REFUND_HEADERS_TL
436 ---------------------------------------------------------------------------
437 FUNCTION get_rec (
438 p_okl_cure_refund_h182 IN OklCureRefundHeadersTlRecType,
439 x_no_data_found OUT NOCOPY BOOLEAN
440 ) RETURN OklCureRefundHeadersTlRecType IS
441 CURSOR okl_cure_refund_hea180 (p_cure_refund_header_id IN NUMBER,
442 p_language IN VARCHAR2) IS
443 SELECT
444 CURE_REFUND_HEADER_ID,
445 LANGUAGE,
446 SOURCE_LANG,
447 SFWT_FLAG,
448 DESCRIPTION,
449 CREATED_BY,
450 CREATION_DATE,
451 LAST_UPDATED_BY,
452 LAST_UPDATE_DATE,
453 LAST_UPDATE_LOGIN
454 FROM Okl_Cure_Refund_Headers_Tl
455 WHERE okl_cure_refund_headers_tl.cure_refund_header_id = p_cure_refund_header_id
456 AND okl_cure_refund_headers_tl.language = p_language;
457 l_okl_cure_refund_h181 okl_cure_refund_hea180%ROWTYPE;
458 l_okl_cure_refund_h183 OklCureRefundHeadersTlRecType;
459 BEGIN
460 x_no_data_found := TRUE;
461 -- Get current database values
462 OPEN okl_cure_refund_hea180 (p_okl_cure_refund_h182.cure_refund_header_id,
463 p_okl_cure_refund_h182.language);
464 FETCH okl_cure_refund_hea180 INTO
465 l_okl_cure_refund_h183.cure_refund_header_id,
466 l_okl_cure_refund_h183.language,
467 l_okl_cure_refund_h183.source_lang,
468 l_okl_cure_refund_h183.sfwt_flag,
469 l_okl_cure_refund_h183.description,
470 l_okl_cure_refund_h183.created_by,
471 l_okl_cure_refund_h183.creation_date,
472 l_okl_cure_refund_h183.last_updated_by,
473 l_okl_cure_refund_h183.last_update_date,
474 l_okl_cure_refund_h183.last_update_login;
475 x_no_data_found := okl_cure_refund_hea180%NOTFOUND;
476 CLOSE okl_cure_refund_hea180;
477 RETURN(l_okl_cure_refund_h183);
478 END get_rec;
479
480 ------------------------------------------------------------------
481 -- This version of get_rec sets error messages if no data found --
482 ------------------------------------------------------------------
483 FUNCTION get_rec (
484 p_okl_cure_refund_h182 IN OklCureRefundHeadersTlRecType,
485 x_return_status OUT NOCOPY VARCHAR2
486 ) RETURN OklCureRefundHeadersTlRecType IS
487 l_okl_cure_refund_h183 OklCureRefundHeadersTlRecType;
488 l_row_notfound BOOLEAN := TRUE;
489 BEGIN
490 x_return_status := OKL_API.G_RET_STS_SUCCESS;
491 l_okl_cure_refund_h183 := get_rec(p_okl_cure_refund_h182, l_row_notfound);
492 IF (l_row_notfound) THEN
493 OKL_API.set_message(G_APP_NAME,G_INVALID_VALUE,G_COL_NAME_TOKEN,'CURE_REFUND_HEADER_ID');
494 OKL_API.set_message(G_APP_NAME,G_INVALID_VALUE,G_COL_NAME_TOKEN,'LANGUAGE');
495 x_return_status := OKL_API.G_RET_STS_ERROR;
496 END IF;
497 RETURN(l_okl_cure_refund_h183);
498 END get_rec;
499 -----------------------------------------------------------
500 -- So we don't have to pass an "l_row_notfound" variable --
501 -----------------------------------------------------------
502 FUNCTION get_rec (
503 p_okl_cure_refund_h182 IN OklCureRefundHeadersTlRecType
504 ) RETURN OklCureRefundHeadersTlRecType IS
505 l_row_not_found BOOLEAN := TRUE;
506 BEGIN
507 RETURN(get_rec(p_okl_cure_refund_h182, l_row_not_found));
508 END get_rec;
509 ---------------------------------------------------------------------------
510 -- FUNCTION null_out_defaults for: OKL_CURE_REFUND_HEADERS_V
511 ---------------------------------------------------------------------------
512 FUNCTION null_out_defaults (
513 p_chdv_rec IN chdv_rec_type
514 ) RETURN chdv_rec_type IS
515 l_chdv_rec chdv_rec_type := p_chdv_rec;
516 BEGIN
517 IF (l_chdv_rec.cure_refund_header_id = OKL_API.G_MISS_NUM ) THEN
518 l_chdv_rec.cure_refund_header_id := NULL;
519 END IF;
520 IF (l_chdv_rec.refund_header_number = OKL_API.G_MISS_CHAR ) THEN
521 l_chdv_rec.refund_header_number := NULL;
522 END IF;
523 IF (l_chdv_rec.refund_type = OKL_API.G_MISS_CHAR ) THEN
524 l_chdv_rec.refund_type := NULL;
525 END IF;
526 IF (l_chdv_rec.refund_due_date = OKL_API.G_MISS_DATE ) THEN
527 l_chdv_rec.refund_due_date := NULL;
528 END IF;
529 IF (l_chdv_rec.currency_code = OKL_API.G_MISS_CHAR ) THEN
530 l_chdv_rec.currency_code := NULL;
531 END IF;
532 IF (l_chdv_rec.total_refund_due = OKL_API.G_MISS_NUM ) THEN
533 l_chdv_rec.total_refund_due := NULL;
534 END IF;
535 IF (l_chdv_rec.disbursement_amount = OKL_API.G_MISS_NUM ) THEN
536 l_chdv_rec.disbursement_amount := NULL;
537 END IF;
538 IF (l_chdv_rec.RECEIVED_AMOUNT = OKL_API.G_MISS_NUM ) THEN
539 l_chdv_rec.RECEIVED_AMOUNT := NULL;
540 END IF;
541 IF (l_chdv_rec.OFFSET_AMOUNT = OKL_API.G_MISS_NUM ) THEN
542 l_chdv_rec.OFFSET_AMOUNT := NULL;
543 END IF;
544 IF (l_chdv_rec.NEGOTIATED_AMOUNT = OKL_API.G_MISS_NUM ) THEN
545 l_chdv_rec.NEGOTIATED_AMOUNT := NULL;
546 END IF;
547 IF (l_chdv_rec.vendor_site_id = OKL_API.G_MISS_NUM ) THEN
548 l_chdv_rec.vendor_site_id := NULL;
549 END IF;
550 IF (l_chdv_rec.refund_status = OKL_API.G_MISS_CHAR ) THEN
551 l_chdv_rec.refund_status := NULL;
552 END IF;
553 IF (l_chdv_rec.payment_method = OKL_API.G_MISS_CHAR ) THEN
554 l_chdv_rec.payment_method := NULL;
555 END IF;
556 IF (l_chdv_rec.payment_term_id = OKL_API.G_MISS_NUM ) THEN
557 l_chdv_rec.payment_term_id := NULL;
558 END IF;
559 IF (l_chdv_rec.sfwt_flag = OKL_API.G_MISS_CHAR ) THEN
560 l_chdv_rec.sfwt_flag := NULL;
561 END IF;
562 IF (l_chdv_rec.description = OKL_API.G_MISS_CHAR ) THEN
563 l_chdv_rec.description := NULL;
564 END IF;
565 IF (l_chdv_rec.object_version_number = OKL_API.G_MISS_NUM ) THEN
566 l_chdv_rec.object_version_number := NULL;
567 END IF;
568 IF (l_chdv_rec.vendor_cure_due = OKL_API.G_MISS_NUM ) THEN
569 l_chdv_rec.vendor_cure_due := NULL;
570 END IF;
571 IF (l_chdv_rec.vendor_site_cure_due = OKL_API.G_MISS_NUM ) THEN
572 l_chdv_rec.vendor_site_cure_due := NULL;
573 END IF;
574 IF (l_chdv_rec.chr_id = OKL_API.G_MISS_NUM ) THEN
575 l_chdv_rec.chr_id := NULL;
576 END IF;
577 IF (l_chdv_rec.program_id = OKL_API.G_MISS_NUM ) THEN
578 l_chdv_rec.program_id := NULL;
579 END IF;
580 IF (l_chdv_rec.request_id = OKL_API.G_MISS_NUM ) THEN
581 l_chdv_rec.request_id := NULL;
582 END IF;
583 IF (l_chdv_rec.program_application_id = OKL_API.G_MISS_NUM ) THEN
584 l_chdv_rec.program_application_id := NULL;
585 END IF;
586 IF (l_chdv_rec.program_update_date = OKL_API.G_MISS_DATE ) THEN
587 l_chdv_rec.program_update_date := NULL;
588 END IF;
589 IF (l_chdv_rec.attribute_category = OKL_API.G_MISS_CHAR ) THEN
590 l_chdv_rec.attribute_category := NULL;
591 END IF;
592 IF (l_chdv_rec.attribute1 = OKL_API.G_MISS_CHAR ) THEN
593 l_chdv_rec.attribute1 := NULL;
594 END IF;
595 IF (l_chdv_rec.attribute2 = OKL_API.G_MISS_CHAR ) THEN
596 l_chdv_rec.attribute2 := NULL;
597 END IF;
598 IF (l_chdv_rec.attribute3 = OKL_API.G_MISS_CHAR ) THEN
599 l_chdv_rec.attribute3 := NULL;
600 END IF;
601 IF (l_chdv_rec.attribute4 = OKL_API.G_MISS_CHAR ) THEN
602 l_chdv_rec.attribute4 := NULL;
603 END IF;
604 IF (l_chdv_rec.attribute5 = OKL_API.G_MISS_CHAR ) THEN
605 l_chdv_rec.attribute5 := NULL;
606 END IF;
607 IF (l_chdv_rec.attribute6 = OKL_API.G_MISS_CHAR ) THEN
608 l_chdv_rec.attribute6 := NULL;
609 END IF;
610 IF (l_chdv_rec.attribute7 = OKL_API.G_MISS_CHAR ) THEN
611 l_chdv_rec.attribute7 := NULL;
612 END IF;
613 IF (l_chdv_rec.attribute8 = OKL_API.G_MISS_CHAR ) THEN
614 l_chdv_rec.attribute8 := NULL;
615 END IF;
616 IF (l_chdv_rec.attribute9 = OKL_API.G_MISS_CHAR ) THEN
617 l_chdv_rec.attribute9 := NULL;
618 END IF;
619 IF (l_chdv_rec.attribute10 = OKL_API.G_MISS_CHAR ) THEN
620 l_chdv_rec.attribute10 := NULL;
621 END IF;
622 IF (l_chdv_rec.attribute11 = OKL_API.G_MISS_CHAR ) THEN
623 l_chdv_rec.attribute11 := NULL;
624 END IF;
625 IF (l_chdv_rec.attribute12 = OKL_API.G_MISS_CHAR ) THEN
626 l_chdv_rec.attribute12 := NULL;
627 END IF;
628 IF (l_chdv_rec.attribute13 = OKL_API.G_MISS_CHAR ) THEN
629 l_chdv_rec.attribute13 := NULL;
630 END IF;
631 IF (l_chdv_rec.attribute14 = OKL_API.G_MISS_CHAR ) THEN
632 l_chdv_rec.attribute14 := NULL;
633 END IF;
634 IF (l_chdv_rec.attribute15 = OKL_API.G_MISS_CHAR ) THEN
635 l_chdv_rec.attribute15 := NULL;
636 END IF;
637 IF (l_chdv_rec.created_by = OKL_API.G_MISS_NUM ) THEN
638 l_chdv_rec.created_by := NULL;
639 END IF;
640 IF (l_chdv_rec.creation_date = OKL_API.G_MISS_DATE ) THEN
641 l_chdv_rec.creation_date := NULL;
642 END IF;
643 IF (l_chdv_rec.last_updated_by = OKL_API.G_MISS_NUM ) THEN
644 l_chdv_rec.last_updated_by := NULL;
645 END IF;
646 IF (l_chdv_rec.last_update_date = OKL_API.G_MISS_DATE ) THEN
647 l_chdv_rec.last_update_date := NULL;
648 END IF;
649 IF (l_chdv_rec.last_update_login = OKL_API.G_MISS_NUM ) THEN
650 l_chdv_rec.last_update_login := NULL;
651 END IF;
652 RETURN(l_chdv_rec);
653 END null_out_defaults;
654 ----------------------------------------------------
655 -- Validate_Attributes for: CURE_REFUND_HEADER_ID --
656 ----------------------------------------------------
657 PROCEDURE validate_cure_refund_header_id(
658 x_return_status OUT NOCOPY VARCHAR2,
659 p_chdv_rec IN chdv_rec_type) IS
660 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
661 BEGIN
662 IF (p_chdv_rec.cure_refund_header_id = OKL_API.G_MISS_NUM OR
663 p_chdv_rec.cure_refund_header_id IS NULL)
664 THEN
665 OKL_API.set_message(G_APP_NAME, G_REQUIRED_VALUE, G_COL_NAME_TOKEN, 'cure_refund_header_id');
666 l_return_status := OKL_API.G_RET_STS_ERROR;
667 END IF;
668 x_return_status := l_return_status;
669 EXCEPTION
670 WHEN OTHERS THEN
671 OKL_API.SET_MESSAGE( p_app_name => G_APP_NAME
672 ,p_msg_name => G_UNEXPECTED_ERROR
673 ,p_token1 => G_SQLCODE_TOKEN
674 ,p_token1_value => SQLCODE
675 ,p_token2 => G_SQLERRM_TOKEN
676 ,p_token2_value => SQLERRM);
677 x_return_status := OKL_API.G_RET_STS_UNEXP_ERROR;
678 END validate_cure_refund_header_id;
679 ---------------------------------------------------
680 -- Validate_Attributes for: REFUND_HEADER_NUMBER --
681 ---------------------------------------------------
682 PROCEDURE validate_refund_header_number(
683 x_return_status OUT NOCOPY VARCHAR2,
684 p_chdv_rec IN chdv_rec_type) IS
685 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
686 BEGIN
687 IF (p_chdv_rec.refund_header_number = OKL_API.G_MISS_CHAR OR
688 p_chdv_rec.refund_header_number IS NULL)
689 THEN
690 OKL_API.set_message(G_APP_NAME, G_REQUIRED_VALUE, G_COL_NAME_TOKEN, 'refund_header_number');
691 l_return_status := OKL_API.G_RET_STS_ERROR;
692 END IF;
693 x_return_status := l_return_status;
694 EXCEPTION
695 WHEN OTHERS THEN
696 OKL_API.SET_MESSAGE( p_app_name => G_APP_NAME
697 ,p_msg_name => G_UNEXPECTED_ERROR
698 ,p_token1 => G_SQLCODE_TOKEN
699 ,p_token1_value => SQLCODE
700 ,p_token2 => G_SQLERRM_TOKEN
701 ,p_token2_value => SQLERRM);
702 x_return_status := OKL_API.G_RET_STS_UNEXP_ERROR;
703 END validate_refund_header_number;
704 ------------------------------------------
705 -- Validate_Attributes for: REFUND_TYPE --
706 ------------------------------------------
707 PROCEDURE validate_refund_type(
708 x_return_status OUT NOCOPY VARCHAR2,
709 p_chdv_rec IN chdv_rec_type) IS
710 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
711 BEGIN
712 IF (p_chdv_rec.refund_type = OKL_API.G_MISS_CHAR OR
713 p_chdv_rec.refund_type IS NULL)
714 THEN
715 OKL_API.set_message(G_APP_NAME, G_REQUIRED_VALUE, G_COL_NAME_TOKEN, 'refund_type');
716 l_return_status := OKL_API.G_RET_STS_ERROR;
717 END IF;
718 x_return_status := l_return_status;
719 EXCEPTION
720 WHEN OTHERS THEN
721 OKL_API.SET_MESSAGE( p_app_name => G_APP_NAME
722 ,p_msg_name => G_UNEXPECTED_ERROR
723 ,p_token1 => G_SQLCODE_TOKEN
724 ,p_token1_value => SQLCODE
725 ,p_token2 => G_SQLERRM_TOKEN
726 ,p_token2_value => SQLERRM);
727 x_return_status := OKL_API.G_RET_STS_UNEXP_ERROR;
728 END validate_refund_type;
729 --------------------------------------------
730 -- Validate_Attributes for: CURRENCY_CODE --
731 --------------------------------------------
732 PROCEDURE validate_currency_code(
733 x_return_status OUT NOCOPY VARCHAR2,
734 p_chdv_rec IN chdv_rec_type) IS
735 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
736 BEGIN
737 IF (p_chdv_rec.currency_code = OKL_API.G_MISS_CHAR OR
738 p_chdv_rec.currency_code IS NULL)
739 THEN
740 OKL_API.set_message(G_APP_NAME, G_REQUIRED_VALUE, G_COL_NAME_TOKEN, 'currency_code');
741 l_return_status := OKL_API.G_RET_STS_ERROR;
742 END IF;
743 x_return_status := l_return_status;
744 EXCEPTION
745 WHEN OTHERS THEN
746 OKL_API.SET_MESSAGE( p_app_name => G_APP_NAME
747 ,p_msg_name => G_UNEXPECTED_ERROR
748 ,p_token1 => G_SQLCODE_TOKEN
749 ,p_token1_value => SQLCODE
750 ,p_token2 => G_SQLERRM_TOKEN
751 ,p_token2_value => SQLERRM);
752 x_return_status := OKL_API.G_RET_STS_UNEXP_ERROR;
753 END validate_currency_code;
754 -----------------------------------------------
755 -- Validate_Attributes for: TOTAL_REFUND_DUE --
756 -----------------------------------------------
757 PROCEDURE validate_total_refund_due(
758 x_return_status OUT NOCOPY VARCHAR2,
759 p_chdv_rec IN chdv_rec_type) IS
760 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
761 BEGIN
762 IF (p_chdv_rec.total_refund_due = OKL_API.G_MISS_NUM OR
763 p_chdv_rec.total_refund_due IS NULL)
764 THEN
765 OKL_API.set_message(G_APP_NAME, G_REQUIRED_VALUE, G_COL_NAME_TOKEN, 'total_refund_due');
766 l_return_status := OKL_API.G_RET_STS_ERROR;
767 END IF;
768 x_return_status := l_return_status;
769 EXCEPTION
770 WHEN OTHERS THEN
771 OKL_API.SET_MESSAGE( p_app_name => G_APP_NAME
772 ,p_msg_name => G_UNEXPECTED_ERROR
773 ,p_token1 => G_SQLCODE_TOKEN
774 ,p_token1_value => SQLCODE
775 ,p_token2 => G_SQLERRM_TOKEN
776 ,p_token2_value => SQLERRM);
777 x_return_status := OKL_API.G_RET_STS_UNEXP_ERROR;
778 END validate_total_refund_due;
779 --------------------------------------------------
780 -- Validate_Attributes for: DISBURSEMENT_AMOUNT --
781 --------------------------------------------------
782 PROCEDURE validate_disbursement_amount(
783 x_return_status OUT NOCOPY VARCHAR2,
784 p_chdv_rec IN chdv_rec_type) IS
785 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
786 BEGIN
787 IF (p_chdv_rec.disbursement_amount = OKL_API.G_MISS_NUM OR
788 p_chdv_rec.disbursement_amount IS NULL)
789 THEN
790 OKL_API.set_message(G_APP_NAME, G_REQUIRED_VALUE, G_COL_NAME_TOKEN, 'disbursement_amount');
791 l_return_status := OKL_API.G_RET_STS_ERROR;
792 END IF;
793 x_return_status := l_return_status;
794 EXCEPTION
795 WHEN OTHERS THEN
796 OKL_API.SET_MESSAGE( p_app_name => G_APP_NAME
797 ,p_msg_name => G_UNEXPECTED_ERROR
798 ,p_token1 => G_SQLCODE_TOKEN
799 ,p_token1_value => SQLCODE
800 ,p_token2 => G_SQLERRM_TOKEN
801 ,p_token2_value => SQLERRM);
802 x_return_status := OKL_API.G_RET_STS_UNEXP_ERROR;
803 END validate_disbursement_amount;
804 ---------------------------------------------
805 -- Validate_Attributes for: VENDOR_SITE_ID --
806 ---------------------------------------------
807 PROCEDURE validate_vendor_site_id(
808 x_return_status OUT NOCOPY VARCHAR2,
809 p_chdv_rec IN chdv_rec_type) IS
810 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
811 BEGIN
812 IF (p_chdv_rec.vendor_site_id = OKL_API.G_MISS_NUM OR
813 p_chdv_rec.vendor_site_id IS NULL)
814 THEN
815 OKL_API.set_message(G_APP_NAME, G_REQUIRED_VALUE, G_COL_NAME_TOKEN, 'vendor_site_id');
816 l_return_status := OKL_API.G_RET_STS_ERROR;
817 END IF;
818 x_return_status := l_return_status;
819 EXCEPTION
820 WHEN OTHERS THEN
821 OKL_API.SET_MESSAGE( p_app_name => G_APP_NAME
822 ,p_msg_name => G_UNEXPECTED_ERROR
823 ,p_token1 => G_SQLCODE_TOKEN
824 ,p_token1_value => SQLCODE
825 ,p_token2 => G_SQLERRM_TOKEN
826 ,p_token2_value => SQLERRM);
827 x_return_status := OKL_API.G_RET_STS_UNEXP_ERROR;
828 END validate_vendor_site_id;
829 ----------------------------------------------------
830 -- Validate_Attributes for: OBJECT_VERSION_NUMBER --
831 ----------------------------------------------------
832 PROCEDURE validate_object_version_number(
833 x_return_status OUT NOCOPY VARCHAR2,
834 p_chdv_rec IN chdv_rec_type) IS
835 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
836 BEGIN
837 IF (p_chdv_rec.object_version_number = OKL_API.G_MISS_NUM OR
838 p_chdv_rec.object_version_number IS NULL)
839 THEN
840 OKL_API.set_message(G_APP_NAME, G_REQUIRED_VALUE, G_COL_NAME_TOKEN, 'object_version_number');
841 l_return_status := OKL_API.G_RET_STS_ERROR;
842 END IF;
843 x_return_status := l_return_status;
844 EXCEPTION
845 WHEN OTHERS THEN
846 OKL_API.SET_MESSAGE( p_app_name => G_APP_NAME
847 ,p_msg_name => G_UNEXPECTED_ERROR
848 ,p_token1 => G_SQLCODE_TOKEN
849 ,p_token1_value => SQLCODE
850 ,p_token2 => G_SQLERRM_TOKEN
851 ,p_token2_value => SQLERRM);
852 x_return_status := OKL_API.G_RET_STS_UNEXP_ERROR;
853 END validate_object_version_number;
854 ---------------------------------------------------------------------------
855 -- FUNCTION Validate_Attributes
856 ---------------------------------------------------------------------------
857 -------------------------------------------------------
858 -- Validate_Attributes for:OKL_CURE_REFUND_HEADERS_V --
859 -------------------------------------------------------
860 FUNCTION Validate_Attributes (
861 p_chdv_rec IN chdv_rec_type
862 ) RETURN VARCHAR2 IS
863 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
864 x_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
865 BEGIN
866 -----------------------------
867 -- Column Level Validation --
868 -----------------------------
869 -- ***
870 -- cure_refund_header_id
871 -- ***
872 validate_cure_refund_header_id(x_return_status, p_chdv_rec);
873 IF (x_return_status <> OKL_API.G_RET_STS_SUCCESS) THEN
874 l_return_status := x_return_status;
875 RAISE G_EXCEPTION_HALT_VALIDATION;
876 END IF;
877
878 -- ***
879 -- refund_header_number
880 -- ***
881 validate_refund_header_number(x_return_status, p_chdv_rec);
882 IF (x_return_status <> OKL_API.G_RET_STS_SUCCESS) THEN
883 l_return_status := x_return_status;
884 RAISE G_EXCEPTION_HALT_VALIDATION;
885 END IF;
886
887 -- ***
888 -- refund_type
889 -- ***
890 /* validate_refund_type(x_return_status, p_chdv_rec);
891 IF (x_return_status <> OKL_API.G_RET_STS_SUCCESS) THEN
892 l_return_status := x_return_status;
893 RAISE G_EXCEPTION_HALT_VALIDATION;
894 END IF;
895 */
896
897 -- ***
898 -- currency_code
899 -- ***
900 validate_currency_code(x_return_status, p_chdv_rec);
901 IF (x_return_status <> OKL_API.G_RET_STS_SUCCESS) THEN
902 l_return_status := x_return_status;
903 RAISE G_EXCEPTION_HALT_VALIDATION;
904 END IF;
905
906 -- ***
907 -- total_refund_due
908 -- ***
909 /* validate_total_refund_due(x_return_status, p_chdv_rec);
910 IF (x_return_status <> OKL_API.G_RET_STS_SUCCESS) THEN
911 l_return_status := x_return_status;
912 RAISE G_EXCEPTION_HALT_VALIDATION;
913 END IF;
914 */
915 -- ***
916 -- disbursement_amount
917 -- ***
918 /* validate_disbursement_amount(x_return_status, p_chdv_rec);
919 IF (x_return_status <> OKL_API.G_RET_STS_SUCCESS) THEN
920 l_return_status := x_return_status;
921 RAISE G_EXCEPTION_HALT_VALIDATION;
922 END IF;
923 */
924 -- ***
925 -- vendor_site_id
926 -- ***
927 validate_vendor_site_id(x_return_status, p_chdv_rec);
928 IF (x_return_status <> OKL_API.G_RET_STS_SUCCESS) THEN
929 l_return_status := x_return_status;
930 RAISE G_EXCEPTION_HALT_VALIDATION;
931 END IF;
932
933 -- ***
934 -- object_version_number
935 -- ***
936 validate_object_version_number(x_return_status, p_chdv_rec);
937 IF (x_return_status <> OKL_API.G_RET_STS_SUCCESS) THEN
938 l_return_status := x_return_status;
939 RAISE G_EXCEPTION_HALT_VALIDATION;
940 END IF;
941
942 RETURN(l_return_status);
943 EXCEPTION
944 WHEN G_EXCEPTION_HALT_VALIDATION THEN
945 RETURN(l_return_status);
946 WHEN OTHERS THEN
947 OKL_API.SET_MESSAGE( p_app_name => G_APP_NAME
948 ,p_msg_name => G_UNEXPECTED_ERROR
949 ,p_token1 => G_SQLCODE_TOKEN
950 ,p_token1_value => SQLCODE
951 ,p_token2 => G_SQLERRM_TOKEN
952 ,p_token2_value => SQLERRM);
953 l_return_status := OKL_API.G_RET_STS_UNEXP_ERROR;
954 RETURN(l_return_status);
955 END Validate_Attributes;
956 ---------------------------------------------------------------------------
957 -- PROCEDURE Validate_Record
958 ---------------------------------------------------------------------------
959 ---------------------------------------------------
960 -- Validate Record for:OKL_CURE_REFUND_HEADERS_V --
961 ---------------------------------------------------
962 FUNCTION Validate_Record (
963 p_chdv_rec IN chdv_rec_type,
964 p_db_chdv_rec IN chdv_rec_type
965 ) RETURN VARCHAR2 IS
966 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
967 BEGIN
968 RETURN (l_return_status);
969 END Validate_Record;
970 FUNCTION Validate_Record (
971 p_chdv_rec IN chdv_rec_type
972 ) RETURN VARCHAR2 IS
973 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
974 l_db_chdv_rec chdv_rec_type := get_rec(p_chdv_rec);
975 BEGIN
976 l_return_status := Validate_Record(p_chdv_rec => p_chdv_rec,
977 p_db_chdv_rec => l_db_chdv_rec);
978 RETURN (l_return_status);
979 END Validate_Record;
980
981 ---------------------------------------------------------------------------
982 -- PROCEDURE Migrate
983 ---------------------------------------------------------------------------
984 PROCEDURE migrate (
985 p_from IN chdv_rec_type,
986 p_to IN OUT NOCOPY chd_rec_type
987 ) IS
988 BEGIN
989 p_to.cure_refund_header_id := p_from.cure_refund_header_id;
990 p_to.refund_header_number := p_from.refund_header_number;
991 p_to.refund_type := p_from.refund_type;
992 p_to.refund_due_date := p_from.refund_due_date;
993 p_to.currency_code := p_from.currency_code;
994 p_to.total_refund_due := p_from.total_refund_due;
995 p_to.disbursement_amount := p_from.disbursement_amount;
996 p_to.RECEIVED_AMOUNT := p_from.RECEIVED_AMOUNT;
997 p_to.OFFSET_AMOUNT := p_from.OFFSET_AMOUNT;
998 p_to.NEGOTIATED_AMOUNT := p_from.NEGOTIATED_AMOUNT;
999 p_to.vendor_site_id := p_from.vendor_site_id;
1000 p_to.refund_status := p_from.refund_status;
1001 p_to.payment_method := p_from.payment_method;
1002 p_to.payment_term_id := p_from.payment_term_id;
1003 p_to.object_version_number := p_from.object_version_number;
1004 p_to.vendor_cure_due := p_from.vendor_cure_due;
1005 p_to.vendor_site_cure_due := p_from.vendor_site_cure_due;
1006 p_to.chr_id := p_from.chr_id;
1007 p_to.program_application_id := p_from.program_application_id;
1008 p_to.request_id := p_from.request_id;
1009 p_to.program_id := p_from.program_id;
1010 p_to.program_update_date := p_from.program_update_date;
1011 p_to.attribute_category := p_from.attribute_category;
1012 p_to.attribute1 := p_from.attribute1;
1013 p_to.attribute2 := p_from.attribute2;
1014 p_to.attribute3 := p_from.attribute3;
1015 p_to.attribute4 := p_from.attribute4;
1016 p_to.attribute5 := p_from.attribute5;
1017 p_to.attribute6 := p_from.attribute6;
1018 p_to.attribute7 := p_from.attribute7;
1019 p_to.attribute8 := p_from.attribute8;
1020 p_to.attribute9 := p_from.attribute9;
1021 p_to.attribute10 := p_from.attribute10;
1022 p_to.attribute11 := p_from.attribute11;
1023 p_to.attribute12 := p_from.attribute12;
1024 p_to.attribute13 := p_from.attribute13;
1025 p_to.attribute14 := p_from.attribute14;
1026 p_to.attribute15 := p_from.attribute15;
1027 p_to.created_by := p_from.created_by;
1028 p_to.creation_date := p_from.creation_date;
1029 p_to.last_updated_by := p_from.last_updated_by;
1030 p_to.last_update_date := p_from.last_update_date;
1031 p_to.last_update_login := p_from.last_update_login;
1032 END migrate;
1033 PROCEDURE migrate (
1034 p_from IN chd_rec_type,
1035 p_to IN OUT NOCOPY chdv_rec_type
1036 ) IS
1037 BEGIN
1038 p_to.cure_refund_header_id := p_from.cure_refund_header_id;
1039 p_to.refund_header_number := p_from.refund_header_number;
1040 p_to.refund_type := p_from.refund_type;
1041 p_to.refund_due_date := p_from.refund_due_date;
1042 p_to.currency_code := p_from.currency_code;
1043 p_to.total_refund_due := p_from.total_refund_due;
1044 p_to.disbursement_amount := p_from.disbursement_amount;
1045 p_to.RECEIVED_AMOUNT := p_from.RECEIVED_AMOUNT;
1046 p_to.OFFSET_AMOUNT := p_from.OFFSET_AMOUNT;
1047 p_to.NEGOTIATED_AMOUNT := p_from.NEGOTIATED_AMOUNT;
1048 p_to.vendor_site_id := p_from.vendor_site_id;
1049 p_to.refund_status := p_from.refund_status;
1050 p_to.payment_method := p_from.payment_method;
1051 p_to.payment_term_id := p_from.payment_term_id;
1052 p_to.object_version_number := p_from.object_version_number;
1053 p_to.vendor_cure_due := p_from.vendor_cure_due;
1054 p_to.vendor_site_cure_due := p_from.vendor_site_cure_due;
1055 p_to.chr_id := p_from.chr_id;
1056 p_to.program_id := p_from.program_id;
1057 p_to.request_id := p_from.request_id;
1058 p_to.program_application_id := p_from.program_application_id;
1059 p_to.program_update_date := p_from.program_update_date;
1060 p_to.attribute_category := p_from.attribute_category;
1061 p_to.attribute1 := p_from.attribute1;
1062 p_to.attribute2 := p_from.attribute2;
1063 p_to.attribute3 := p_from.attribute3;
1064 p_to.attribute4 := p_from.attribute4;
1065 p_to.attribute5 := p_from.attribute5;
1066 p_to.attribute6 := p_from.attribute6;
1067 p_to.attribute7 := p_from.attribute7;
1068 p_to.attribute8 := p_from.attribute8;
1069 p_to.attribute9 := p_from.attribute9;
1070 p_to.attribute10 := p_from.attribute10;
1071 p_to.attribute11 := p_from.attribute11;
1072 p_to.attribute12 := p_from.attribute12;
1073 p_to.attribute13 := p_from.attribute13;
1074 p_to.attribute14 := p_from.attribute14;
1075 p_to.attribute15 := p_from.attribute15;
1076 p_to.created_by := p_from.created_by;
1077 p_to.creation_date := p_from.creation_date;
1078 p_to.last_updated_by := p_from.last_updated_by;
1079 p_to.last_update_date := p_from.last_update_date;
1080 p_to.last_update_login := p_from.last_update_login;
1081 END migrate;
1082 PROCEDURE migrate (
1083 p_from IN chdv_rec_type,
1084 p_to IN OUT NOCOPY OklCureRefundHeadersTlRecType
1085 ) IS
1086 BEGIN
1087 p_to.cure_refund_header_id := p_from.cure_refund_header_id;
1088 p_to.sfwt_flag := p_from.sfwt_flag;
1089 p_to.description := p_from.description;
1090 p_to.created_by := p_from.created_by;
1091 p_to.creation_date := p_from.creation_date;
1092 p_to.last_updated_by := p_from.last_updated_by;
1093 p_to.last_update_date := p_from.last_update_date;
1094 p_to.last_update_login := p_from.last_update_login;
1095 END migrate;
1096 PROCEDURE migrate (
1097 p_from IN OklCureRefundHeadersTlRecType,
1098 p_to IN OUT NOCOPY chdv_rec_type
1099 ) IS
1100 BEGIN
1101 p_to.cure_refund_header_id := p_from.cure_refund_header_id;
1102 p_to.sfwt_flag := p_from.sfwt_flag;
1103 p_to.description := p_from.description;
1104 p_to.created_by := p_from.created_by;
1105 p_to.creation_date := p_from.creation_date;
1106 p_to.last_updated_by := p_from.last_updated_by;
1107 p_to.last_update_date := p_from.last_update_date;
1108 p_to.last_update_login := p_from.last_update_login;
1109 END migrate;
1110 ---------------------------------------------------------------------------
1111 -- PROCEDURE validate_row
1112 ---------------------------------------------------------------------------
1113 ------------------------------------------------
1114 -- validate_row for:OKL_CURE_REFUND_HEADERS_V --
1115 ------------------------------------------------
1116 PROCEDURE validate_row(
1117 p_api_version IN NUMBER,
1118 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
1119 x_return_status OUT NOCOPY VARCHAR2,
1120 x_msg_count OUT NOCOPY NUMBER,
1121 x_msg_data OUT NOCOPY VARCHAR2,
1122 p_chdv_rec IN chdv_rec_type) IS
1123
1124 l_api_version CONSTANT NUMBER := 1;
1125 l_api_name CONSTANT VARCHAR2(30) := 'V_validate_row';
1126 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
1127 l_chdv_rec chdv_rec_type := p_chdv_rec;
1128 l_chd_rec chd_rec_type;
1129 l_okl_cure_refund_h183 OklCureRefundHeadersTlRecType;
1130 BEGIN
1131 l_return_status := OKL_API.START_ACTIVITY(l_api_name,
1132 G_PKG_NAME,
1133 p_init_msg_list,
1134 l_api_version,
1135 p_api_version,
1136 '_PVT',
1137 x_return_status);
1138 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
1139 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
1140 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
1141 RAISE OKL_API.G_EXCEPTION_ERROR;
1142 END IF;
1143 --- Validate all non-missing attributes (Item Level Validation)
1144 l_return_status := Validate_Attributes(l_chdv_rec);
1145 --- If any errors happen abort API
1146 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
1147 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
1148 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
1149 RAISE OKL_API.G_EXCEPTION_ERROR;
1150 END IF;
1151 l_return_status := Validate_Record(l_chdv_rec);
1152 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
1153 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
1154 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
1155 RAISE OKL_API.G_EXCEPTION_ERROR;
1156 END IF;
1157 x_return_status := l_return_status;
1158 EXCEPTION
1159 WHEN OKL_API.G_EXCEPTION_ERROR THEN
1160 x_return_status := OKL_API.HANDLE_EXCEPTIONS
1161 (
1162 l_api_name,
1163 G_PKG_NAME,
1164 'OKL_API.G_RET_STS_ERROR',
1165 x_msg_count,
1166 x_msg_data,
1167 '_PVT'
1168 );
1169 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
1170 x_return_status := OKL_API.HANDLE_EXCEPTIONS
1171 (
1172 l_api_name,
1173 G_PKG_NAME,
1174 'OKL_API.G_RET_STS_UNEXP_ERROR',
1175 x_msg_count,
1176 x_msg_data,
1177 '_PVT'
1178 );
1179 WHEN OTHERS THEN
1180 x_return_status := OKL_API.HANDLE_EXCEPTIONS
1181 (
1182 l_api_name,
1183 G_PKG_NAME,
1184 'OTHERS',
1185 x_msg_count,
1186 x_msg_data,
1187 '_PVT'
1188 );
1189 END validate_row;
1190 -----------------------------------------------------------
1191 -- PL/SQL TBL validate_row for:OKL_CURE_REFUND_HEADERS_V --
1192 -----------------------------------------------------------
1193 PROCEDURE validate_row(
1194 p_api_version IN NUMBER,
1195 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
1196 x_return_status OUT NOCOPY VARCHAR2,
1197 x_msg_count OUT NOCOPY NUMBER,
1198 x_msg_data OUT NOCOPY VARCHAR2,
1199 p_chdv_tbl IN chdv_tbl_type,
1200 px_error_tbl IN OUT NOCOPY OKL_API.ERROR_TBL_TYPE) IS
1201
1202 l_api_version CONSTANT NUMBER := 1;
1203 l_api_name CONSTANT VARCHAR2(30) := 'V_error_tbl_validate_row';
1204 i NUMBER := 0;
1205 BEGIN
1206 OKL_API.init_msg_list(p_init_msg_list);
1207 -- Make sure PL/SQL table has records in it before passing
1208 IF (p_chdv_tbl.COUNT > 0) THEN
1209 i := p_chdv_tbl.FIRST;
1210 LOOP
1211 DECLARE
1212 l_error_rec OKL_API.ERROR_REC_TYPE;
1213 BEGIN
1214 l_error_rec.api_name := l_api_name;
1215 l_error_rec.api_package := G_PKG_NAME;
1216 l_error_rec.idx := i;
1217 validate_row (
1218 p_api_version => p_api_version,
1219 p_init_msg_list => OKL_API.G_FALSE,
1220 x_return_status => l_error_rec.error_type,
1221 x_msg_count => l_error_rec.msg_count,
1222 x_msg_data => l_error_rec.msg_data,
1223 p_chdv_rec => p_chdv_tbl(i));
1224 IF (l_error_rec.error_type <> OKL_API.G_RET_STS_SUCCESS) THEN
1225 l_error_rec.sqlcode := SQLCODE;
1226 load_error_tbl(l_error_rec, px_error_tbl);
1227 ELSE
1228 x_msg_count := l_error_rec.msg_count;
1229 x_msg_data := l_error_rec.msg_data;
1230 END IF;
1231 EXCEPTION
1232 WHEN OKL_API.G_EXCEPTION_ERROR THEN
1233 l_error_rec.error_type := OKL_API.G_RET_STS_ERROR;
1234 l_error_rec.sqlcode := SQLCODE;
1235 load_error_tbl(l_error_rec, px_error_tbl);
1236 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
1237 l_error_rec.error_type := OKL_API.G_RET_STS_UNEXP_ERROR;
1238 l_error_rec.sqlcode := SQLCODE;
1239 load_error_tbl(l_error_rec, px_error_tbl);
1240 WHEN OTHERS THEN
1241 l_error_rec.error_type := 'OTHERS';
1242 l_error_rec.sqlcode := SQLCODE;
1243 load_error_tbl(l_error_rec, px_error_tbl);
1244 END;
1245 EXIT WHEN (i = p_chdv_tbl.LAST);
1246 i := p_chdv_tbl.NEXT(i);
1247 END LOOP;
1248 END IF;
1249 -- Loop through the error_tbl to find the error with the highest severity
1250 -- and return it.
1251 x_return_status := find_highest_exception(px_error_tbl);
1252 OKL_API.END_ACTIVITY(x_msg_count, x_msg_data);
1253 EXCEPTION
1254 WHEN OKL_API.G_EXCEPTION_ERROR THEN
1255 x_return_status := OKL_API.HANDLE_EXCEPTIONS
1256 (
1257 l_api_name,
1258 G_PKG_NAME,
1259 'OKL_API.G_RET_STS_ERROR',
1260 x_msg_count,
1261 x_msg_data,
1262 '_PVT'
1263 );
1264 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
1265 x_return_status := OKL_API.HANDLE_EXCEPTIONS
1266 (
1267 l_api_name,
1268 G_PKG_NAME,
1269 'OKL_API.G_RET_STS_UNEXP_ERROR',
1270 x_msg_count,
1271 x_msg_data,
1272 '_PVT'
1273 );
1274 WHEN OTHERS THEN
1275 x_return_status := OKL_API.HANDLE_EXCEPTIONS
1276 (
1277 l_api_name,
1278 G_PKG_NAME,
1279 'OTHERS',
1280 x_msg_count,
1281 x_msg_data,
1282 '_PVT'
1283 );
1284 END validate_row;
1285
1286 -----------------------------------------------------------
1287 -- PL/SQL TBL validate_row for:OKL_CURE_REFUND_HEADERS_V --
1288 -----------------------------------------------------------
1289 PROCEDURE validate_row(
1290 p_api_version IN NUMBER,
1291 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
1292 x_return_status OUT NOCOPY VARCHAR2,
1293 x_msg_count OUT NOCOPY NUMBER,
1294 x_msg_data OUT NOCOPY VARCHAR2,
1295 p_chdv_tbl IN chdv_tbl_type) IS
1296
1297 l_api_version CONSTANT NUMBER := 1;
1298 l_api_name CONSTANT VARCHAR2(30) := 'V_tbl_validate_row';
1299 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
1300 l_error_tbl OKL_API.ERROR_TBL_TYPE;
1301 BEGIN
1302 OKL_API.init_msg_list(p_init_msg_list);
1303 -- Make sure PL/SQL table has records in it before passing
1304 IF (p_chdv_tbl.COUNT > 0) THEN
1305 validate_row (
1306 p_api_version => p_api_version,
1307 p_init_msg_list => OKL_API.G_FALSE,
1308 x_return_status => x_return_status,
1309 x_msg_count => x_msg_count,
1310 x_msg_data => x_msg_data,
1311 p_chdv_tbl => p_chdv_tbl,
1312 px_error_tbl => l_error_tbl);
1313 END IF;
1314 OKL_API.END_ACTIVITY(x_msg_count, x_msg_data);
1315 EXCEPTION
1316 WHEN OKL_API.G_EXCEPTION_ERROR THEN
1317 x_return_status := OKL_API.HANDLE_EXCEPTIONS
1318 (
1319 l_api_name,
1320 G_PKG_NAME,
1321 'OKL_API.G_RET_STS_ERROR',
1322 x_msg_count,
1323 x_msg_data,
1324 '_PVT'
1325 );
1326 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
1327 x_return_status := OKL_API.HANDLE_EXCEPTIONS
1328 (
1329 l_api_name,
1330 G_PKG_NAME,
1331 'OKL_API.G_RET_STS_UNEXP_ERROR',
1332 x_msg_count,
1333 x_msg_data,
1334 '_PVT'
1335 );
1336 WHEN OTHERS THEN
1337 x_return_status := OKL_API.HANDLE_EXCEPTIONS
1338 (
1339 l_api_name,
1340 G_PKG_NAME,
1341 'OTHERS',
1342 x_msg_count,
1343 x_msg_data,
1344 '_PVT'
1345 );
1346 END validate_row;
1347
1348 ---------------------------------------------------------------------------
1349 -- PROCEDURE insert_row
1350 ---------------------------------------------------------------------------
1351 ----------------------------------------------
1352 -- insert_row for:OKL_CURE_REFUND_HEADERS_B --
1353 ----------------------------------------------
1354 PROCEDURE insert_row(
1355 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
1356 x_return_status OUT NOCOPY VARCHAR2,
1357 x_msg_count OUT NOCOPY NUMBER,
1358 x_msg_data OUT NOCOPY VARCHAR2,
1359 p_chd_rec IN chd_rec_type,
1360 x_chd_rec OUT NOCOPY chd_rec_type) IS
1361
1362 l_api_version CONSTANT NUMBER := 1;
1363 l_api_name CONSTANT VARCHAR2(30) := 'B_insert_row';
1364 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
1365 l_chd_rec chd_rec_type := p_chd_rec;
1366 l_def_chd_rec chd_rec_type;
1367 --------------------------------------------------
1368 -- Set_Attributes for:OKL_CURE_REFUND_HEADERS_B --
1369 --------------------------------------------------
1370 FUNCTION Set_Attributes (
1371 p_chd_rec IN chd_rec_type,
1372 x_chd_rec OUT NOCOPY chd_rec_type
1373 ) RETURN VARCHAR2 IS
1374 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
1375 BEGIN
1376 x_chd_rec := p_chd_rec;
1377 RETURN(l_return_status);
1378 END Set_Attributes;
1379 BEGIN
1380 l_return_status := OKL_API.START_ACTIVITY(l_api_name,
1381 p_init_msg_list,
1382 '_PVT',
1383 x_return_status);
1384 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
1385 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
1386 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
1387 RAISE OKL_API.G_EXCEPTION_ERROR;
1388 END IF;
1389 --- Setting item atributes
1390 l_return_status := Set_Attributes(
1391 p_chd_rec, -- IN
1392 l_chd_rec); -- OUT
1393 --- If any errors happen abort API
1394 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
1395 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
1396 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
1397 RAISE OKL_API.G_EXCEPTION_ERROR;
1398 END IF;
1399 INSERT INTO OKL_CURE_REFUND_HEADERS_B(
1400 cure_refund_header_id,
1401 refund_header_number,
1402 refund_type,
1403 refund_due_date,
1404 currency_code,
1405 total_refund_due,
1406 disbursement_amount,
1407 RECEIVED_AMOUNT,
1408 OFFSET_AMOUNT,
1409 NEGOTIATED_AMOUNT,
1410 vendor_site_id,
1411 refund_status,
1412 payment_method,
1413 payment_term_id,
1414 object_version_number,
1415 vendor_cure_due,
1416 vendor_site_cure_due,
1417 chr_id,
1418 program_application_id,
1419 request_id,
1420 program_id,
1421 program_update_date,
1422 attribute_category,
1423 attribute1,
1424 attribute2,
1425 attribute3,
1426 attribute4,
1427 attribute5,
1428 attribute6,
1429 attribute7,
1430 attribute8,
1431 attribute9,
1432 attribute10,
1433 attribute11,
1434 attribute12,
1435 attribute13,
1436 attribute14,
1437 attribute15,
1438 created_by,
1439 creation_date,
1440 last_updated_by,
1441 last_update_date,
1442 last_update_login)
1443 VALUES (
1444 l_chd_rec.cure_refund_header_id,
1445 l_chd_rec.refund_header_number,
1446 l_chd_rec.refund_type,
1447 l_chd_rec.refund_due_date,
1448 l_chd_rec.currency_code,
1449 l_chd_rec.total_refund_due,
1450 l_chd_rec.disbursement_amount,
1451 l_chd_rec.RECEIVED_AMOUNT,
1452 l_chd_rec.OFFSET_AMOUNT,
1453 l_chd_rec.NEGOTIATED_AMOUNT,
1454 l_chd_rec.vendor_site_id,
1455 l_chd_rec.refund_status,
1456 l_chd_rec.payment_method,
1457 l_chd_rec.payment_term_id,
1458 l_chd_rec.object_version_number,
1459 l_chd_rec.vendor_cure_due,
1460 l_chd_rec.vendor_site_cure_due,
1461 l_chd_rec.chr_id,
1462 l_chd_rec.program_application_id,
1463 l_chd_rec.request_id,
1464 l_chd_rec.program_id,
1465 l_chd_rec.program_update_date,
1466 l_chd_rec.attribute_category,
1467 l_chd_rec.attribute1,
1468 l_chd_rec.attribute2,
1469 l_chd_rec.attribute3,
1470 l_chd_rec.attribute4,
1471 l_chd_rec.attribute5,
1472 l_chd_rec.attribute6,
1473 l_chd_rec.attribute7,
1474 l_chd_rec.attribute8,
1475 l_chd_rec.attribute9,
1476 l_chd_rec.attribute10,
1477 l_chd_rec.attribute11,
1478 l_chd_rec.attribute12,
1479 l_chd_rec.attribute13,
1480 l_chd_rec.attribute14,
1481 l_chd_rec.attribute15,
1482 l_chd_rec.created_by,
1483 l_chd_rec.creation_date,
1484 l_chd_rec.last_updated_by,
1485 l_chd_rec.last_update_date,
1486 l_chd_rec.last_update_login);
1487 -- Set OUT values
1488 x_chd_rec := l_chd_rec;
1489 x_return_status := l_return_status;
1490 OKL_API.END_ACTIVITY(x_msg_count, x_msg_data);
1491 EXCEPTION
1492 WHEN OKL_API.G_EXCEPTION_ERROR THEN
1493 x_return_status := OKL_API.HANDLE_EXCEPTIONS
1494 (
1495 l_api_name,
1496 G_PKG_NAME,
1497 'OKL_API.G_RET_STS_ERROR',
1498 x_msg_count,
1499 x_msg_data,
1500 '_PVT'
1501 );
1502 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
1503 x_return_status := OKL_API.HANDLE_EXCEPTIONS
1504 (
1505 l_api_name,
1506 G_PKG_NAME,
1507 'OKL_API.G_RET_STS_UNEXP_ERROR',
1508 x_msg_count,
1509 x_msg_data,
1510 '_PVT'
1511 );
1512 WHEN OTHERS THEN
1513 x_return_status := OKL_API.HANDLE_EXCEPTIONS
1514 (
1515 l_api_name,
1516 G_PKG_NAME,
1517 'OTHERS',
1518 x_msg_count,
1519 x_msg_data,
1520 '_PVT'
1521 );
1522 END insert_row;
1523 -----------------------------------------------
1524 -- insert_row for:OKL_CURE_REFUND_HEADERS_TL --
1525 -----------------------------------------------
1526 PROCEDURE insert_row(
1527 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
1528 x_return_status OUT NOCOPY VARCHAR2,
1529 x_msg_count OUT NOCOPY NUMBER,
1530 x_msg_data OUT NOCOPY VARCHAR2,
1531 p_okl_cure_refund_h182 IN OklCureRefundHeadersTlRecType,
1532 XOklCureRefundHeadersTlRec OUT NOCOPY OklCureRefundHeadersTlRecType) IS
1533
1534 l_api_version CONSTANT NUMBER := 1;
1535 l_api_name CONSTANT VARCHAR2(30) := 'TL_insert_row';
1536 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
1537 l_okl_cure_refund_h183 OklCureRefundHeadersTlRecType := p_okl_cure_refund_h182;
1538 LDefOklCureRefundHeadersTlRec OklCureRefundHeadersTlRecType;
1539 CURSOR get_languages IS
1540 SELECT *
1541 FROM FND_LANGUAGES
1542 WHERE INSTALLED_FLAG IN ('I', 'B');
1543 ---------------------------------------------------
1544 -- Set_Attributes for:OKL_CURE_REFUND_HEADERS_TL --
1545 ---------------------------------------------------
1546 FUNCTION Set_Attributes (
1547 p_okl_cure_refund_h182 IN OklCureRefundHeadersTlRecType,
1548 XOklCureRefundHeadersTlRec OUT NOCOPY OklCureRefundHeadersTlRecType
1549 ) RETURN VARCHAR2 IS
1550 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
1551 BEGIN
1552 XOklCureRefundHeadersTlRec := p_okl_cure_refund_h182;
1553 XOklCureRefundHeadersTlRec.LANGUAGE := USERENV('LANG');
1554 XOklCureRefundHeadersTlRec.SOURCE_LANG := USERENV('LANG');
1555 RETURN(l_return_status);
1556 END Set_Attributes;
1557 BEGIN
1558 l_return_status := OKL_API.START_ACTIVITY(l_api_name,
1559 p_init_msg_list,
1560 '_PVT',
1561 x_return_status);
1562 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
1563 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
1564 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
1565 RAISE OKL_API.G_EXCEPTION_ERROR;
1566 END IF;
1567 --- Setting item attributes
1568 l_return_status := Set_Attributes(
1569 p_okl_cure_refund_h182, -- IN
1570 l_okl_cure_refund_h183); -- OUT
1571 --- If any errors happen abort API
1572 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
1573 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
1574 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
1575 RAISE OKL_API.G_EXCEPTION_ERROR;
1576 END IF;
1577 FOR l_lang_rec IN get_languages LOOP
1578 l_okl_cure_refund_h183.language := l_lang_rec.language_code;
1579 INSERT INTO OKL_CURE_REFUND_HEADERS_TL(
1580 cure_refund_header_id,
1581 language,
1582 source_lang,
1583 sfwt_flag,
1584 description,
1585 created_by,
1586 creation_date,
1587 last_updated_by,
1588 last_update_date,
1589 last_update_login)
1590 VALUES (
1591 l_okl_cure_refund_h183.cure_refund_header_id,
1592 l_okl_cure_refund_h183.language,
1593 l_okl_cure_refund_h183.source_lang,
1594 l_okl_cure_refund_h183.sfwt_flag,
1595 l_okl_cure_refund_h183.description,
1596 l_okl_cure_refund_h183.created_by,
1597 l_okl_cure_refund_h183.creation_date,
1598 l_okl_cure_refund_h183.last_updated_by,
1599 l_okl_cure_refund_h183.last_update_date,
1600 l_okl_cure_refund_h183.last_update_login);
1601 END LOOP;
1602 -- Set OUT values
1603 XOklCureRefundHeadersTlRec := l_okl_cure_refund_h183;
1604 x_return_status := l_return_status;
1605 OKL_API.END_ACTIVITY(x_msg_count, x_msg_data);
1606 EXCEPTION
1607 WHEN OKL_API.G_EXCEPTION_ERROR THEN
1608 x_return_status := OKL_API.HANDLE_EXCEPTIONS
1609 (
1610 l_api_name,
1611 G_PKG_NAME,
1612 'OKL_API.G_RET_STS_ERROR',
1613 x_msg_count,
1614 x_msg_data,
1615 '_PVT'
1616 );
1617 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
1618 x_return_status := OKL_API.HANDLE_EXCEPTIONS
1619 (
1620 l_api_name,
1621 G_PKG_NAME,
1622 'OKL_API.G_RET_STS_UNEXP_ERROR',
1623 x_msg_count,
1624 x_msg_data,
1625 '_PVT'
1626 );
1627 WHEN OTHERS THEN
1628 x_return_status := OKL_API.HANDLE_EXCEPTIONS
1629 (
1630 l_api_name,
1631 G_PKG_NAME,
1632 'OTHERS',
1633 x_msg_count,
1634 x_msg_data,
1635 '_PVT'
1636 );
1637 END insert_row;
1638 -----------------------------------------------
1639 -- insert_row for :OKL_CURE_REFUND_HEADERS_V --
1640 -----------------------------------------------
1641 PROCEDURE insert_row(
1642 p_api_version IN NUMBER,
1643 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
1644 x_return_status OUT NOCOPY VARCHAR2,
1645 x_msg_count OUT NOCOPY NUMBER,
1646 x_msg_data OUT NOCOPY VARCHAR2,
1647 p_chdv_rec IN chdv_rec_type,
1648 x_chdv_rec OUT NOCOPY chdv_rec_type) IS
1649
1650 l_api_version CONSTANT NUMBER := 1;
1651 l_api_name CONSTANT VARCHAR2(30) := 'V_insert_row';
1652 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
1653 l_chdv_rec chdv_rec_type := p_chdv_rec;
1654 l_def_chdv_rec chdv_rec_type;
1655 l_chd_rec chd_rec_type;
1656 lx_chd_rec chd_rec_type;
1657 l_okl_cure_refund_h183 OklCureRefundHeadersTlRecType;
1658 LxOklCureRefundHeadersTlRec OklCureRefundHeadersTlRecType;
1659 -------------------------------
1660 -- FUNCTION fill_who_columns --
1661 -------------------------------
1662 FUNCTION fill_who_columns (
1663 p_chdv_rec IN chdv_rec_type
1664 ) RETURN chdv_rec_type IS
1665 l_chdv_rec chdv_rec_type := p_chdv_rec;
1666 BEGIN
1667 l_chdv_rec.CREATION_DATE := SYSDATE;
1668 l_chdv_rec.CREATED_BY := FND_GLOBAL.USER_ID;
1669 l_chdv_rec.LAST_UPDATE_DATE := l_chdv_rec.CREATION_DATE;
1670 l_chdv_rec.LAST_UPDATED_BY := FND_GLOBAL.USER_ID;
1671 l_chdv_rec.LAST_UPDATE_LOGIN := FND_GLOBAL.LOGIN_ID;
1672 RETURN(l_chdv_rec);
1673 END fill_who_columns;
1674 --------------------------------------------------
1675 -- Set_Attributes for:OKL_CURE_REFUND_HEADERS_V --
1676 --------------------------------------------------
1677 FUNCTION Set_Attributes (
1678 p_chdv_rec IN chdv_rec_type,
1679 x_chdv_rec OUT NOCOPY chdv_rec_type
1680 ) RETURN VARCHAR2 IS
1681 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
1682 BEGIN
1683 x_chdv_rec := p_chdv_rec;
1684 x_chdv_rec.OBJECT_VERSION_NUMBER := 1;
1685 x_chdv_rec.SFWT_FLAG := 'N';
1686 RETURN(l_return_status);
1687 END Set_Attributes;
1688 BEGIN
1689 l_return_status := OKL_API.START_ACTIVITY(l_api_name,
1690 G_PKG_NAME,
1691 p_init_msg_list,
1692 l_api_version,
1693 p_api_version,
1694 '_PVT',
1695 x_return_status);
1696 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
1697 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
1698 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
1699 RAISE OKL_API.G_EXCEPTION_ERROR;
1700 END IF;
1701 l_chdv_rec := null_out_defaults(p_chdv_rec);
1702 -- Set primary key value
1703 l_chdv_rec.CURE_REFUND_HEADER_ID := get_seq_id;
1704 -- Setting item attributes
1705 l_return_Status := Set_Attributes(
1706 l_chdv_rec, -- IN
1707 l_def_chdv_rec); -- OUT
1708 --- If any errors happen abort API
1709 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
1710 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
1711 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
1712 RAISE OKL_API.G_EXCEPTION_ERROR;
1713 END IF;
1714 l_def_chdv_rec := fill_who_columns(l_def_chdv_rec);
1715 --- Validate all non-missing attributes (Item Level Validation)
1716 l_return_status := Validate_Attributes(l_def_chdv_rec);
1717 --- If any errors happen abort API
1718 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
1719 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
1720 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
1721 RAISE OKL_API.G_EXCEPTION_ERROR;
1722 END IF;
1723 l_return_status := Validate_Record(l_def_chdv_rec);
1724 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
1725 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
1726 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
1727 RAISE OKL_API.G_EXCEPTION_ERROR;
1728 END IF;
1729 -----------------------------------------
1730 -- Move VIEW record to "Child" records --
1731 -----------------------------------------
1732 migrate(l_def_chdv_rec, l_chd_rec);
1733 migrate(l_def_chdv_rec, l_okl_cure_refund_h183);
1734 -----------------------------------------------
1735 -- Call the INSERT_ROW for each child record --
1736 -----------------------------------------------
1737 insert_row(
1738 p_init_msg_list,
1739 l_return_status,
1740 x_msg_count,
1741 x_msg_data,
1742 l_chd_rec,
1743 lx_chd_rec
1744 );
1745 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
1746 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
1747 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
1748 RAISE OKL_API.G_EXCEPTION_ERROR;
1749 END IF;
1750 migrate(lx_chd_rec, l_def_chdv_rec);
1751 insert_row(
1752 p_init_msg_list,
1753 l_return_status,
1754 x_msg_count,
1755 x_msg_data,
1756 l_okl_cure_refund_h183,
1757 LxOklCureRefundHeadersTlRec
1758 );
1759 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
1760 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
1761 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
1762 RAISE OKL_API.G_EXCEPTION_ERROR;
1763 END IF;
1764 migrate(LxOklCureRefundHeadersTlRec, l_def_chdv_rec);
1765 -- Set OUT values
1766 x_chdv_rec := l_def_chdv_rec;
1767 x_return_status := l_return_status;
1768 OKL_API.END_ACTIVITY(x_msg_count, x_msg_data);
1769 EXCEPTION
1770 WHEN OKL_API.G_EXCEPTION_ERROR THEN
1771 x_return_status := OKL_API.HANDLE_EXCEPTIONS
1772 (
1773 l_api_name,
1774 G_PKG_NAME,
1775 'OKL_API.G_RET_STS_ERROR',
1776 x_msg_count,
1777 x_msg_data,
1778 '_PVT'
1779 );
1780 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
1781 x_return_status := OKL_API.HANDLE_EXCEPTIONS
1782 (
1783 l_api_name,
1784 G_PKG_NAME,
1785 'OKL_API.G_RET_STS_UNEXP_ERROR',
1786 x_msg_count,
1787 x_msg_data,
1788 '_PVT'
1789 );
1790 WHEN OTHERS THEN
1791 x_return_status := OKL_API.HANDLE_EXCEPTIONS
1792 (
1793 l_api_name,
1794 G_PKG_NAME,
1795 'OTHERS',
1796 x_msg_count,
1797 x_msg_data,
1798 '_PVT'
1799 );
1800 END insert_row;
1801 ----------------------------------------
1802 -- PL/SQL TBL insert_row for:CHDV_TBL --
1803 ----------------------------------------
1804 PROCEDURE insert_row(
1805 p_api_version IN NUMBER,
1806 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
1807 x_return_status OUT NOCOPY VARCHAR2,
1808 x_msg_count OUT NOCOPY NUMBER,
1809 x_msg_data OUT NOCOPY VARCHAR2,
1810 p_chdv_tbl IN chdv_tbl_type,
1811 x_chdv_tbl OUT NOCOPY chdv_tbl_type,
1812 px_error_tbl IN OUT NOCOPY OKL_API.ERROR_TBL_TYPE) IS
1813
1814 l_api_version CONSTANT NUMBER := 1;
1815 l_api_name CONSTANT VARCHAR2(30) := 'V_error_tbl_insert_row';
1816 i NUMBER := 0;
1817 BEGIN
1818 OKL_API.init_msg_list(p_init_msg_list);
1819 -- Make sure PL/SQL table has records in it before passing
1820 IF (p_chdv_tbl.COUNT > 0) THEN
1821 i := p_chdv_tbl.FIRST;
1822 LOOP
1823 DECLARE
1824 l_error_rec OKL_API.ERROR_REC_TYPE;
1825 BEGIN
1826 l_error_rec.api_name := l_api_name;
1827 l_error_rec.api_package := G_PKG_NAME;
1828 l_error_rec.idx := i;
1829 insert_row (
1830 p_api_version => p_api_version,
1831 p_init_msg_list => OKL_API.G_FALSE,
1832 x_return_status => l_error_rec.error_type,
1833 x_msg_count => l_error_rec.msg_count,
1834 x_msg_data => l_error_rec.msg_data,
1835 p_chdv_rec => p_chdv_tbl(i),
1836 x_chdv_rec => x_chdv_tbl(i));
1837 IF (l_error_rec.error_type <> OKL_API.G_RET_STS_SUCCESS) THEN
1838 l_error_rec.sqlcode := SQLCODE;
1839 load_error_tbl(l_error_rec, px_error_tbl);
1840 ELSE
1841 x_msg_count := l_error_rec.msg_count;
1842 x_msg_data := l_error_rec.msg_data;
1843 END IF;
1844 EXCEPTION
1845 WHEN OKL_API.G_EXCEPTION_ERROR THEN
1846 l_error_rec.error_type := OKL_API.G_RET_STS_ERROR;
1847 l_error_rec.sqlcode := SQLCODE;
1848 load_error_tbl(l_error_rec, px_error_tbl);
1849 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
1850 l_error_rec.error_type := OKL_API.G_RET_STS_UNEXP_ERROR;
1851 l_error_rec.sqlcode := SQLCODE;
1852 load_error_tbl(l_error_rec, px_error_tbl);
1853 WHEN OTHERS THEN
1854 l_error_rec.error_type := 'OTHERS';
1855 l_error_rec.sqlcode := SQLCODE;
1856 load_error_tbl(l_error_rec, px_error_tbl);
1857 END;
1858 EXIT WHEN (i = p_chdv_tbl.LAST);
1859 i := p_chdv_tbl.NEXT(i);
1860 END LOOP;
1861 END IF;
1862 -- Loop through the error_tbl to find the error with the highest severity
1863 -- and return it.
1864 x_return_status := find_highest_exception(px_error_tbl);
1865 OKL_API.END_ACTIVITY(x_msg_count, x_msg_data);
1866 EXCEPTION
1867 WHEN OKL_API.G_EXCEPTION_ERROR THEN
1868 x_return_status := OKL_API.HANDLE_EXCEPTIONS
1869 (
1870 l_api_name,
1871 G_PKG_NAME,
1872 'OKL_API.G_RET_STS_ERROR',
1873 x_msg_count,
1874 x_msg_data,
1875 '_PVT'
1876 );
1877 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
1878 x_return_status := OKL_API.HANDLE_EXCEPTIONS
1879 (
1880 l_api_name,
1881 G_PKG_NAME,
1882 'OKL_API.G_RET_STS_UNEXP_ERROR',
1883 x_msg_count,
1884 x_msg_data,
1885 '_PVT'
1886 );
1887 WHEN OTHERS THEN
1888 x_return_status := OKL_API.HANDLE_EXCEPTIONS
1889 (
1890 l_api_name,
1891 G_PKG_NAME,
1892 'OTHERS',
1893 x_msg_count,
1894 x_msg_data,
1895 '_PVT'
1896 );
1897 END insert_row;
1898
1899 ----------------------------------------
1900 -- PL/SQL TBL insert_row for:CHDV_TBL --
1901 ----------------------------------------
1902 PROCEDURE insert_row(
1903 p_api_version IN NUMBER,
1904 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
1905 x_return_status OUT NOCOPY VARCHAR2,
1906 x_msg_count OUT NOCOPY NUMBER,
1907 x_msg_data OUT NOCOPY VARCHAR2,
1908 p_chdv_tbl IN chdv_tbl_type,
1909 x_chdv_tbl OUT NOCOPY chdv_tbl_type) IS
1910
1911 l_api_version CONSTANT NUMBER := 1;
1912 l_api_name CONSTANT VARCHAR2(30) := 'V_tbl_insert_row';
1913 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
1914 l_error_tbl OKL_API.ERROR_TBL_TYPE;
1915 BEGIN
1916 OKL_API.init_msg_list(p_init_msg_list);
1917 -- Make sure PL/SQL table has records in it before passing
1918 IF (p_chdv_tbl.COUNT > 0) THEN
1919 insert_row (
1920 p_api_version => p_api_version,
1921 p_init_msg_list => OKL_API.G_FALSE,
1922 x_return_status => x_return_status,
1923 x_msg_count => x_msg_count,
1924 x_msg_data => x_msg_data,
1925 p_chdv_tbl => p_chdv_tbl,
1926 x_chdv_tbl => x_chdv_tbl,
1927 px_error_tbl => l_error_tbl);
1928 END IF;
1929 OKL_API.END_ACTIVITY(x_msg_count, x_msg_data);
1930 EXCEPTION
1931 WHEN OKL_API.G_EXCEPTION_ERROR THEN
1932 x_return_status := OKL_API.HANDLE_EXCEPTIONS
1933 (
1934 l_api_name,
1935 G_PKG_NAME,
1936 'OKL_API.G_RET_STS_ERROR',
1937 x_msg_count,
1938 x_msg_data,
1939 '_PVT'
1940 );
1941 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
1942 x_return_status := OKL_API.HANDLE_EXCEPTIONS
1943 (
1944 l_api_name,
1945 G_PKG_NAME,
1946 'OKL_API.G_RET_STS_UNEXP_ERROR',
1947 x_msg_count,
1948 x_msg_data,
1949 '_PVT'
1950 );
1951 WHEN OTHERS THEN
1952 x_return_status := OKL_API.HANDLE_EXCEPTIONS
1953 (
1954 l_api_name,
1955 G_PKG_NAME,
1956 'OTHERS',
1957 x_msg_count,
1958 x_msg_data,
1959 '_PVT'
1960 );
1961 END insert_row;
1962
1963 ---------------------------------------------------------------------------
1964 -- PROCEDURE lock_row
1965 ---------------------------------------------------------------------------
1966 --------------------------------------------
1967 -- lock_row for:OKL_CURE_REFUND_HEADERS_B --
1968 --------------------------------------------
1969 PROCEDURE lock_row(
1970 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
1971 x_return_status OUT NOCOPY VARCHAR2,
1972 x_msg_count OUT NOCOPY NUMBER,
1973 x_msg_data OUT NOCOPY VARCHAR2,
1974 p_chd_rec IN chd_rec_type) IS
1975
1976 E_Resource_Busy EXCEPTION;
1977 PRAGMA EXCEPTION_INIT(E_Resource_Busy, -00054);
1978 CURSOR lock_csr (p_chd_rec IN chd_rec_type) IS
1979 SELECT OBJECT_VERSION_NUMBER
1980 FROM OKL_CURE_REFUND_HEADERS_B
1981 WHERE CURE_REFUND_HEADER_ID = p_chd_rec.cure_refund_header_id
1982 AND OBJECT_VERSION_NUMBER = p_chd_rec.object_version_number
1983 FOR UPDATE OF OBJECT_VERSION_NUMBER NOWAIT;
1984
1985 CURSOR lchk_csr (p_chd_rec IN chd_rec_type) IS
1986 SELECT OBJECT_VERSION_NUMBER
1987 FROM OKL_CURE_REFUND_HEADERS_B
1988 WHERE CURE_REFUND_HEADER_ID = p_chd_rec.cure_refund_header_id;
1989 l_api_version CONSTANT NUMBER := 1;
1990 l_api_name CONSTANT VARCHAR2(30) := 'B_lock_row';
1991 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
1992 l_object_version_number OKL_CURE_REFUND_HEADERS_B.OBJECT_VERSION_NUMBER%TYPE;
1993 lc_object_version_number OKL_CURE_REFUND_HEADERS_B.OBJECT_VERSION_NUMBER%TYPE;
1994 l_row_notfound BOOLEAN := FALSE;
1995 lc_row_notfound BOOLEAN := FALSE;
1996 BEGIN
1997 l_return_status := OKL_API.START_ACTIVITY(l_api_name,
1998 p_init_msg_list,
1999 '_PVT',
2000 x_return_status);
2001 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
2002 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
2003 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
2004 RAISE OKL_API.G_EXCEPTION_ERROR;
2005 END IF;
2006 BEGIN
2007 OPEN lock_csr(p_chd_rec);
2008 FETCH lock_csr INTO l_object_version_number;
2009 l_row_notfound := lock_csr%NOTFOUND;
2010 CLOSE lock_csr;
2011 EXCEPTION
2012 WHEN E_Resource_Busy THEN
2013 IF (lock_csr%ISOPEN) THEN
2014 CLOSE lock_csr;
2015 END IF;
2016 OKL_API.set_message(G_FND_APP,G_FORM_UNABLE_TO_RESERVE_REC);
2017 RAISE APP_EXCEPTIONS.RECORD_LOCK_EXCEPTION;
2018 END;
2019
2020 IF ( l_row_notfound ) THEN
2021 OPEN lchk_csr(p_chd_rec);
2022 FETCH lchk_csr INTO lc_object_version_number;
2023 lc_row_notfound := lchk_csr%NOTFOUND;
2024 CLOSE lchk_csr;
2025 END IF;
2026 IF (lc_row_notfound) THEN
2027 OKL_API.set_message(G_FND_APP,G_FORM_RECORD_DELETED);
2028 RAISE OKL_API.G_EXCEPTION_ERROR;
2029 ELSIF lc_object_version_number > p_chd_rec.object_version_number THEN
2030 OKL_API.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
2031 RAISE OKL_API.G_EXCEPTION_ERROR;
2032 ELSIF lc_object_version_number <> p_chd_rec.object_version_number THEN
2033 OKL_API.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
2034 RAISE OKL_API.G_EXCEPTION_ERROR;
2035 ELSIF lc_object_version_number = -1 THEN
2036 OKL_API.set_message(G_APP_NAME,G_RECORD_LOGICALLY_DELETED);
2037 RAISE OKL_API.G_EXCEPTION_ERROR;
2038 END IF;
2039 x_return_status := l_return_status;
2040 OKL_API.END_ACTIVITY(x_msg_count, x_msg_data);
2041 EXCEPTION
2042 WHEN OKL_API.G_EXCEPTION_ERROR THEN
2043 x_return_status := OKL_API.HANDLE_EXCEPTIONS
2044 (
2045 l_api_name,
2046 G_PKG_NAME,
2047 'OKL_API.G_RET_STS_ERROR',
2048 x_msg_count,
2049 x_msg_data,
2050 '_PVT'
2051 );
2052 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
2053 x_return_status := OKL_API.HANDLE_EXCEPTIONS
2054 (
2055 l_api_name,
2056 G_PKG_NAME,
2057 'OKL_API.G_RET_STS_UNEXP_ERROR',
2058 x_msg_count,
2059 x_msg_data,
2060 '_PVT'
2061 );
2062 WHEN OTHERS THEN
2063 x_return_status := OKL_API.HANDLE_EXCEPTIONS
2064 (
2065 l_api_name,
2066 G_PKG_NAME,
2067 'OTHERS',
2068 x_msg_count,
2069 x_msg_data,
2070 '_PVT'
2071 );
2072 END lock_row;
2073 ---------------------------------------------
2074 -- lock_row for:OKL_CURE_REFUND_HEADERS_TL --
2075 ---------------------------------------------
2076 PROCEDURE lock_row(
2077 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
2078 x_return_status OUT NOCOPY VARCHAR2,
2079 x_msg_count OUT NOCOPY NUMBER,
2080 x_msg_data OUT NOCOPY VARCHAR2,
2081 p_okl_cure_refund_h182 IN OklCureRefundHeadersTlRecType) IS
2082
2083 E_Resource_Busy EXCEPTION;
2084 PRAGMA EXCEPTION_INIT(E_Resource_Busy, -00054);
2085 CURSOR lock_csr (p_okl_cure_refund_h182 IN OklCureRefundHeadersTlRecType) IS
2086 SELECT *
2087 FROM OKL_CURE_REFUND_HEADERS_TL
2088 WHERE CURE_REFUND_HEADER_ID = p_okl_cure_refund_h182.cure_refund_header_id
2089 FOR UPDATE NOWAIT;
2090
2091 l_api_version CONSTANT NUMBER := 1;
2092 l_api_name CONSTANT VARCHAR2(30) := 'TL_lock_row';
2093 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
2094 l_lock_var lock_csr%ROWTYPE;
2095 l_row_notfound BOOLEAN := FALSE;
2096 lc_row_notfound BOOLEAN := FALSE;
2097 BEGIN
2098 l_return_status := OKL_API.START_ACTIVITY(l_api_name,
2099 p_init_msg_list,
2100 '_PVT',
2101 x_return_status);
2102 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
2103 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
2104 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
2105 RAISE OKL_API.G_EXCEPTION_ERROR;
2106 END IF;
2107 BEGIN
2108 OPEN lock_csr(p_okl_cure_refund_h182);
2109 FETCH lock_csr INTO l_lock_var;
2110 l_row_notfound := lock_csr%NOTFOUND;
2111 CLOSE lock_csr;
2112 EXCEPTION
2113 WHEN E_Resource_Busy THEN
2114 IF (lock_csr%ISOPEN) THEN
2115 CLOSE lock_csr;
2116 END IF;
2117 OKL_API.set_message(G_FND_APP,G_FORM_UNABLE_TO_RESERVE_REC);
2118 RAISE APP_EXCEPTIONS.RECORD_LOCK_EXCEPTION;
2119 END;
2120
2121 IF ( l_row_notfound ) THEN
2122 OKL_API.set_message(G_FND_APP,G_FORM_RECORD_DELETED);
2123 RAISE OKL_API.G_EXCEPTION_ERROR;
2124 END IF;
2125 x_return_status := l_return_status;
2126 OKL_API.END_ACTIVITY(x_msg_count, x_msg_data);
2127 EXCEPTION
2128 WHEN OKL_API.G_EXCEPTION_ERROR THEN
2129 x_return_status := OKL_API.HANDLE_EXCEPTIONS
2130 (
2131 l_api_name,
2132 G_PKG_NAME,
2133 'OKL_API.G_RET_STS_ERROR',
2134 x_msg_count,
2135 x_msg_data,
2136 '_PVT'
2137 );
2138 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
2139 x_return_status := OKL_API.HANDLE_EXCEPTIONS
2140 (
2141 l_api_name,
2142 G_PKG_NAME,
2143 'OKL_API.G_RET_STS_UNEXP_ERROR',
2144 x_msg_count,
2145 x_msg_data,
2146 '_PVT'
2147 );
2148 WHEN OTHERS THEN
2149 x_return_status := OKL_API.HANDLE_EXCEPTIONS
2150 (
2151 l_api_name,
2152 G_PKG_NAME,
2153 'OTHERS',
2154 x_msg_count,
2155 x_msg_data,
2156 '_PVT'
2157 );
2158 END lock_row;
2159 ---------------------------------------------
2160 -- lock_row for: OKL_CURE_REFUND_HEADERS_V --
2161 ---------------------------------------------
2162 PROCEDURE lock_row(
2163 p_api_version IN NUMBER,
2164 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
2165 x_return_status OUT NOCOPY VARCHAR2,
2166 x_msg_count OUT NOCOPY NUMBER,
2167 x_msg_data OUT NOCOPY VARCHAR2,
2168 p_chdv_rec IN chdv_rec_type) IS
2169
2170 l_api_version CONSTANT NUMBER := 1;
2171 l_api_name CONSTANT VARCHAR2(30) := 'V_lock_row';
2172 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
2173 l_chd_rec chd_rec_type;
2174 l_okl_cure_refund_h183 OklCureRefundHeadersTlRecType;
2175 BEGIN
2176 l_return_status := OKL_API.START_ACTIVITY(l_api_name,
2177 G_PKG_NAME,
2178 p_init_msg_list,
2179 l_api_version,
2180 p_api_version,
2181 '_PVT',
2182 x_return_status);
2183 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
2184 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
2185 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
2186 RAISE OKL_API.G_EXCEPTION_ERROR;
2187 END IF;
2188 -----------------------------------------
2189 -- Move VIEW record to "Child" records --
2190 -----------------------------------------
2191 migrate(p_chdv_rec, l_chd_rec);
2192 migrate(p_chdv_rec, l_okl_cure_refund_h183);
2193 ---------------------------------------------
2194 -- Call the LOCK_ROW for each child record --
2195 ---------------------------------------------
2196 lock_row(
2197 p_init_msg_list,
2198 l_return_status,
2199 x_msg_count,
2200 x_msg_data,
2201 l_chd_rec
2202 );
2203 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
2204 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
2205 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
2206 RAISE OKL_API.G_EXCEPTION_ERROR;
2207 END IF;
2208 lock_row(
2209 p_init_msg_list,
2210 l_return_status,
2211 x_msg_count,
2212 x_msg_data,
2213 l_okl_cure_refund_h183
2214 );
2215 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
2216 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
2217 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
2218 RAISE OKL_API.G_EXCEPTION_ERROR;
2219 END IF;
2220 x_return_status := l_return_status;
2221 OKL_API.END_ACTIVITY(x_msg_count, x_msg_data);
2222 EXCEPTION
2223 WHEN OKL_API.G_EXCEPTION_ERROR THEN
2224 x_return_status := OKL_API.HANDLE_EXCEPTIONS
2225 (
2226 l_api_name,
2227 G_PKG_NAME,
2228 'OKL_API.G_RET_STS_ERROR',
2229 x_msg_count,
2230 x_msg_data,
2231 '_PVT'
2232 );
2233 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
2234 x_return_status := OKL_API.HANDLE_EXCEPTIONS
2235 (
2236 l_api_name,
2237 G_PKG_NAME,
2238 'OKL_API.G_RET_STS_UNEXP_ERROR',
2239 x_msg_count,
2240 x_msg_data,
2241 '_PVT'
2242 );
2243 WHEN OTHERS THEN
2244 x_return_status := OKL_API.HANDLE_EXCEPTIONS
2245 (
2246 l_api_name,
2247 G_PKG_NAME,
2248 'OTHERS',
2249 x_msg_count,
2250 x_msg_data,
2251 '_PVT'
2252 );
2253 END lock_row;
2254 --------------------------------------
2255 -- PL/SQL TBL lock_row for:CHDV_TBL --
2256 --------------------------------------
2257 PROCEDURE lock_row(
2258 p_api_version IN NUMBER,
2259 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
2260 x_return_status OUT NOCOPY VARCHAR2,
2261 x_msg_count OUT NOCOPY NUMBER,
2262 x_msg_data OUT NOCOPY VARCHAR2,
2263 p_chdv_tbl IN chdv_tbl_type,
2264 px_error_tbl IN OUT NOCOPY OKL_API.ERROR_TBL_TYPE) IS
2265
2266 l_api_version CONSTANT NUMBER := 1;
2267 l_api_name CONSTANT VARCHAR2(30) := 'V_error_tbl_lock_row';
2268 i NUMBER := 0;
2269 BEGIN
2270 OKL_API.init_msg_list(p_init_msg_list);
2271 -- Make sure PL/SQL table has recrods in it before passing
2272 IF (p_chdv_tbl.COUNT > 0) THEN
2273 i := p_chdv_tbl.FIRST;
2274 LOOP
2275 DECLARE
2276 l_error_rec OKL_API.ERROR_REC_TYPE;
2277 BEGIN
2278 l_error_rec.api_name := l_api_name;
2279 l_error_rec.api_package := G_PKG_NAME;
2280 l_error_rec.idx := i;
2281 lock_row(
2282 p_api_version => p_api_version,
2283 p_init_msg_list => OKL_API.G_FALSE,
2284 x_return_status => l_error_rec.error_type,
2285 x_msg_count => l_error_rec.msg_count,
2286 x_msg_data => l_error_rec.msg_data,
2287 p_chdv_rec => p_chdv_tbl(i));
2288 IF (l_error_rec.error_type <> OKL_API.G_RET_STS_SUCCESS) THEN
2289 l_error_rec.sqlcode := SQLCODE;
2290 load_error_tbl(l_error_rec, px_error_tbl);
2291 ELSE
2292 x_msg_count := l_error_rec.msg_count;
2293 x_msg_data := l_error_rec.msg_data;
2294 END IF;
2295 EXCEPTION
2296 WHEN OKL_API.G_EXCEPTION_ERROR THEN
2297 l_error_rec.error_type := OKL_API.G_RET_STS_ERROR;
2298 l_error_rec.sqlcode := SQLCODE;
2299 load_error_tbl(l_error_rec, px_error_tbl);
2300 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
2301 l_error_rec.error_type := OKL_API.G_RET_STS_UNEXP_ERROR;
2302 l_error_rec.sqlcode := SQLCODE;
2303 load_error_tbl(l_error_rec, px_error_tbl);
2304 WHEN OTHERS THEN
2305 l_error_rec.error_type := 'OTHERS';
2306 l_error_rec.sqlcode := SQLCODE;
2307 load_error_tbl(l_error_rec, px_error_tbl);
2308 END;
2309 EXIT WHEN (i = p_chdv_tbl.LAST);
2310 i := p_chdv_tbl.NEXT(i);
2311 END LOOP;
2312 END IF;
2313 -- Loop through the error_tbl to find the error with the highest severity
2314 -- and return it.
2315 x_return_status := find_highest_exception(px_error_tbl);
2316 OKL_API.END_ACTIVITY(x_msg_count, x_msg_data);
2317 EXCEPTION
2318 WHEN OKL_API.G_EXCEPTION_ERROR THEN
2319 x_return_status := OKL_API.HANDLE_EXCEPTIONS
2320 (
2321 l_api_name,
2322 G_PKG_NAME,
2323 'OKL_API.G_RET_STS_ERROR',
2324 x_msg_count,
2325 x_msg_data,
2326 '_PVT'
2327 );
2328 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
2329 x_return_status := OKL_API.HANDLE_EXCEPTIONS
2330 (
2331 l_api_name,
2332 G_PKG_NAME,
2333 'OKL_API.G_RET_STS_UNEXP_ERROR',
2334 x_msg_count,
2335 x_msg_data,
2336 '_PVT'
2337 );
2338 WHEN OTHERS THEN
2339 x_return_status := OKL_API.HANDLE_EXCEPTIONS
2340 (
2341 l_api_name,
2342 G_PKG_NAME,
2343 'OTHERS',
2344 x_msg_count,
2345 x_msg_data,
2346 '_PVT'
2347 );
2348 END lock_row;
2349 --------------------------------------
2350 -- PL/SQL TBL lock_row for:CHDV_TBL --
2351 --------------------------------------
2352 PROCEDURE lock_row(
2353 p_api_version IN NUMBER,
2354 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
2355 x_return_status OUT NOCOPY VARCHAR2,
2356 x_msg_count OUT NOCOPY NUMBER,
2357 x_msg_data OUT NOCOPY VARCHAR2,
2358 p_chdv_tbl IN chdv_tbl_type) IS
2359
2360 l_api_version CONSTANT NUMBER := 1;
2361 l_api_name CONSTANT VARCHAR2(30) := 'V_tbl_lock_row';
2362 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
2363 l_error_tbl OKL_API.ERROR_TBL_TYPE;
2364 BEGIN
2365 OKL_API.init_msg_list(p_init_msg_list);
2366 -- Make sure PL/SQL table has recrods in it before passing
2367 IF (p_chdv_tbl.COUNT > 0) THEN
2368 lock_row(
2369 p_api_version => p_api_version,
2370 p_init_msg_list => OKL_API.G_FALSE,
2371 x_return_status => x_return_status,
2372 x_msg_count => x_msg_count,
2373 x_msg_data => x_msg_data,
2374 p_chdv_tbl => p_chdv_tbl,
2375 px_error_tbl => l_error_tbl);
2376 END IF;
2377 OKL_API.END_ACTIVITY(x_msg_count, x_msg_data);
2378 EXCEPTION
2379 WHEN OKL_API.G_EXCEPTION_ERROR THEN
2380 x_return_status := OKL_API.HANDLE_EXCEPTIONS
2381 (
2382 l_api_name,
2383 G_PKG_NAME,
2384 'OKL_API.G_RET_STS_ERROR',
2385 x_msg_count,
2386 x_msg_data,
2387 '_PVT'
2388 );
2389 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
2390 x_return_status := OKL_API.HANDLE_EXCEPTIONS
2391 (
2392 l_api_name,
2393 G_PKG_NAME,
2394 'OKL_API.G_RET_STS_UNEXP_ERROR',
2395 x_msg_count,
2396 x_msg_data,
2397 '_PVT'
2398 );
2399 WHEN OTHERS THEN
2400 x_return_status := OKL_API.HANDLE_EXCEPTIONS
2401 (
2402 l_api_name,
2403 G_PKG_NAME,
2404 'OTHERS',
2405 x_msg_count,
2406 x_msg_data,
2407 '_PVT'
2408 );
2409 END lock_row;
2410 ---------------------------------------------------------------------------
2411 -- PROCEDURE update_row
2412 ---------------------------------------------------------------------------
2413 ----------------------------------------------
2414 -- update_row for:OKL_CURE_REFUND_HEADERS_B --
2415 ----------------------------------------------
2416 PROCEDURE update_row(
2417 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
2418 x_return_status OUT NOCOPY VARCHAR2,
2419 x_msg_count OUT NOCOPY NUMBER,
2420 x_msg_data OUT NOCOPY VARCHAR2,
2421 p_chd_rec IN chd_rec_type,
2422 x_chd_rec OUT NOCOPY chd_rec_type) IS
2423
2424 l_api_version CONSTANT NUMBER := 1;
2425 l_api_name CONSTANT VARCHAR2(30) := 'B_update_row';
2426 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
2427 l_chd_rec chd_rec_type := p_chd_rec;
2428 l_def_chd_rec chd_rec_type;
2429 l_row_notfound BOOLEAN := TRUE;
2430 ----------------------------------
2431 -- FUNCTION populate_new_record --
2432 ----------------------------------
2433 FUNCTION populate_new_record (
2434 p_chd_rec IN chd_rec_type,
2435 x_chd_rec OUT NOCOPY chd_rec_type
2436 ) RETURN VARCHAR2 IS
2437 l_chd_rec chd_rec_type;
2438 l_row_notfound BOOLEAN := TRUE;
2439 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
2440 BEGIN
2441 x_chd_rec := p_chd_rec;
2442 -- Get current database values
2443 l_chd_rec := get_rec(p_chd_rec, l_return_status);
2444 IF (l_return_status = OKL_API.G_RET_STS_SUCCESS) THEN
2445 IF (x_chd_rec.cure_refund_header_id = OKL_API.G_MISS_NUM)
2446 THEN
2447 x_chd_rec.cure_refund_header_id := l_chd_rec.cure_refund_header_id;
2448 END IF;
2449 IF (x_chd_rec.refund_header_number = OKL_API.G_MISS_CHAR)
2450 THEN
2451 x_chd_rec.refund_header_number := l_chd_rec.refund_header_number;
2452 END IF;
2453 IF (x_chd_rec.refund_type = OKL_API.G_MISS_CHAR)
2454 THEN
2455 x_chd_rec.refund_type := l_chd_rec.refund_type;
2456 END IF;
2457 IF (x_chd_rec.refund_due_date = OKL_API.G_MISS_DATE)
2458 THEN
2459 x_chd_rec.refund_due_date := l_chd_rec.refund_due_date;
2460 END IF;
2461 IF (x_chd_rec.currency_code = OKL_API.G_MISS_CHAR)
2462 THEN
2463 x_chd_rec.currency_code := l_chd_rec.currency_code;
2464 END IF;
2465 IF (x_chd_rec.total_refund_due = OKL_API.G_MISS_NUM)
2466 THEN
2467 x_chd_rec.total_refund_due := l_chd_rec.total_refund_due;
2468 END IF;
2469 IF (x_chd_rec.disbursement_amount = OKL_API.G_MISS_NUM)
2470 THEN
2471 x_chd_rec.disbursement_amount := l_chd_rec.disbursement_amount;
2472 END IF;
2473 IF (x_chd_rec.RECEIVED_AMOUNT = OKL_API.G_MISS_NUM)
2474 THEN
2475 x_chd_rec.RECEIVED_AMOUNT := l_chd_rec.RECEIVED_AMOUNT;
2476 END IF;
2477 IF (x_chd_rec.OFFSET_AMOUNT = OKL_API.G_MISS_NUM)
2478 THEN
2479 x_chd_rec.OFFSET_AMOUNT := l_chd_rec.OFFSET_AMOUNT;
2480 END IF;
2481 IF (x_chd_rec.NEGOTIATED_AMOUNT = OKL_API.G_MISS_NUM)
2482 THEN
2483 x_chd_rec.NEGOTIATED_AMOUNT := l_chd_rec.NEGOTIATED_AMOUNT;
2484 END IF;
2485 IF (x_chd_rec.vendor_site_id = OKL_API.G_MISS_NUM)
2486 THEN
2487 x_chd_rec.vendor_site_id := l_chd_rec.vendor_site_id;
2488 END IF;
2489 IF (x_chd_rec.refund_status = OKL_API.G_MISS_CHAR)
2490 THEN
2491 x_chd_rec.refund_status := l_chd_rec.refund_status;
2492 END IF;
2493 IF (x_chd_rec.payment_method = OKL_API.G_MISS_CHAR)
2494 THEN
2495 x_chd_rec.payment_method := l_chd_rec.payment_method;
2496 END IF;
2497 IF (x_chd_rec.payment_term_id = OKL_API.G_MISS_NUM)
2498 THEN
2499 x_chd_rec.payment_term_id := l_chd_rec.payment_term_id;
2500 END IF;
2501 IF (x_chd_rec.object_version_number = OKL_API.G_MISS_NUM)
2502 THEN
2503 x_chd_rec.object_version_number := l_chd_rec.object_version_number;
2504 END IF;
2505 IF (x_chd_rec.vendor_cure_due = OKL_API.G_MISS_NUM)
2506 THEN
2507 x_chd_rec.vendor_cure_due := l_chd_rec.vendor_cure_due;
2508 END IF;
2509 IF (x_chd_rec.vendor_site_cure_due = OKL_API.G_MISS_NUM)
2510 THEN
2511 x_chd_rec.vendor_site_cure_due := l_chd_rec.vendor_site_cure_due;
2512 END IF;
2513 IF (x_chd_rec.chr_id = OKL_API.G_MISS_NUM)
2514 THEN
2515 x_chd_rec.chr_id := l_chd_rec.chr_id;
2516 END IF;
2517 IF (x_chd_rec.program_application_id = OKL_API.G_MISS_NUM)
2518 THEN
2519 x_chd_rec.program_application_id := l_chd_rec.program_application_id;
2520 END IF;
2521 IF (x_chd_rec.request_id = OKL_API.G_MISS_NUM)
2522 THEN
2523 x_chd_rec.request_id := l_chd_rec.request_id;
2524 END IF;
2525 IF (x_chd_rec.program_id = OKL_API.G_MISS_NUM)
2526 THEN
2527 x_chd_rec.program_id := l_chd_rec.program_id;
2528 END IF;
2529 IF (x_chd_rec.program_update_date = OKL_API.G_MISS_DATE)
2530 THEN
2531 x_chd_rec.program_update_date := l_chd_rec.program_update_date;
2532 END IF;
2533 IF (x_chd_rec.attribute_category = OKL_API.G_MISS_CHAR)
2534 THEN
2535 x_chd_rec.attribute_category := l_chd_rec.attribute_category;
2536 END IF;
2537 IF (x_chd_rec.attribute1 = OKL_API.G_MISS_CHAR)
2538 THEN
2539 x_chd_rec.attribute1 := l_chd_rec.attribute1;
2540 END IF;
2541 IF (x_chd_rec.attribute2 = OKL_API.G_MISS_CHAR)
2542 THEN
2543 x_chd_rec.attribute2 := l_chd_rec.attribute2;
2544 END IF;
2545 IF (x_chd_rec.attribute3 = OKL_API.G_MISS_CHAR)
2546 THEN
2547 x_chd_rec.attribute3 := l_chd_rec.attribute3;
2548 END IF;
2549 IF (x_chd_rec.attribute4 = OKL_API.G_MISS_CHAR)
2550 THEN
2551 x_chd_rec.attribute4 := l_chd_rec.attribute4;
2552 END IF;
2553 IF (x_chd_rec.attribute5 = OKL_API.G_MISS_CHAR)
2554 THEN
2555 x_chd_rec.attribute5 := l_chd_rec.attribute5;
2556 END IF;
2557 IF (x_chd_rec.attribute6 = OKL_API.G_MISS_CHAR)
2558 THEN
2559 x_chd_rec.attribute6 := l_chd_rec.attribute6;
2560 END IF;
2561 IF (x_chd_rec.attribute7 = OKL_API.G_MISS_CHAR)
2562 THEN
2563 x_chd_rec.attribute7 := l_chd_rec.attribute7;
2564 END IF;
2565 IF (x_chd_rec.attribute8 = OKL_API.G_MISS_CHAR)
2566 THEN
2567 x_chd_rec.attribute8 := l_chd_rec.attribute8;
2568 END IF;
2569 IF (x_chd_rec.attribute9 = OKL_API.G_MISS_CHAR)
2570 THEN
2571 x_chd_rec.attribute9 := l_chd_rec.attribute9;
2572 END IF;
2573 IF (x_chd_rec.attribute10 = OKL_API.G_MISS_CHAR)
2574 THEN
2575 x_chd_rec.attribute10 := l_chd_rec.attribute10;
2576 END IF;
2577 IF (x_chd_rec.attribute11 = OKL_API.G_MISS_CHAR)
2578 THEN
2579 x_chd_rec.attribute11 := l_chd_rec.attribute11;
2580 END IF;
2581 IF (x_chd_rec.attribute12 = OKL_API.G_MISS_CHAR)
2582 THEN
2583 x_chd_rec.attribute12 := l_chd_rec.attribute12;
2584 END IF;
2585 IF (x_chd_rec.attribute13 = OKL_API.G_MISS_CHAR)
2586 THEN
2587 x_chd_rec.attribute13 := l_chd_rec.attribute13;
2588 END IF;
2589 IF (x_chd_rec.attribute14 = OKL_API.G_MISS_CHAR)
2590 THEN
2591 x_chd_rec.attribute14 := l_chd_rec.attribute14;
2592 END IF;
2593 IF (x_chd_rec.attribute15 = OKL_API.G_MISS_CHAR)
2594 THEN
2595 x_chd_rec.attribute15 := l_chd_rec.attribute15;
2596 END IF;
2597 IF (x_chd_rec.created_by = OKL_API.G_MISS_NUM)
2598 THEN
2599 x_chd_rec.created_by := l_chd_rec.created_by;
2600 END IF;
2601 IF (x_chd_rec.creation_date = OKL_API.G_MISS_DATE)
2602 THEN
2603 x_chd_rec.creation_date := l_chd_rec.creation_date;
2604 END IF;
2605 IF (x_chd_rec.last_updated_by = OKL_API.G_MISS_NUM)
2606 THEN
2607 x_chd_rec.last_updated_by := l_chd_rec.last_updated_by;
2608 END IF;
2609 IF (x_chd_rec.last_update_date = OKL_API.G_MISS_DATE)
2610 THEN
2611 x_chd_rec.last_update_date := l_chd_rec.last_update_date;
2612 END IF;
2613 IF (x_chd_rec.last_update_login = OKL_API.G_MISS_NUM)
2614 THEN
2615 x_chd_rec.last_update_login := l_chd_rec.last_update_login;
2616 END IF;
2617 END IF;
2618 RETURN(l_return_status);
2619 END populate_new_record;
2620 --------------------------------------------------
2621 -- Set_Attributes for:OKL_CURE_REFUND_HEADERS_B --
2622 --------------------------------------------------
2623 FUNCTION Set_Attributes (
2624 p_chd_rec IN chd_rec_type,
2625 x_chd_rec OUT NOCOPY chd_rec_type
2626 ) RETURN VARCHAR2 IS
2627 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
2628 BEGIN
2629 x_chd_rec := p_chd_rec;
2630 x_chd_rec.OBJECT_VERSION_NUMBER := p_chd_rec.OBJECT_VERSION_NUMBER + 1;
2631 RETURN(l_return_status);
2632 END Set_Attributes;
2633 BEGIN
2634 l_return_status := OKL_API.START_ACTIVITY(l_api_name,
2635 p_init_msg_list,
2636 '_PVT',
2637 x_return_status);
2638 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
2639 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
2640 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
2641 RAISE OKL_API.G_EXCEPTION_ERROR;
2642 END IF;
2643 --- Setting item attributes
2644 l_return_status := Set_Attributes(
2645 p_chd_rec, -- IN
2646 l_chd_rec); -- OUT
2647 --- If any errors happen abort API
2648 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
2649 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
2650 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
2651 RAISE OKL_API.G_EXCEPTION_ERROR;
2652 END IF;
2653 l_return_status := populate_new_record(l_chd_rec, l_def_chd_rec);
2654 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
2655 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
2656 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
2657 RAISE OKL_API.G_EXCEPTION_ERROR;
2658 END IF;
2659 UPDATE OKL_CURE_REFUND_HEADERS_B
2660 SET REFUND_HEADER_NUMBER = l_def_chd_rec.refund_header_number,
2661 REFUND_TYPE = l_def_chd_rec.refund_type,
2662 REFUND_DUE_DATE = l_def_chd_rec.refund_due_date,
2663 CURRENCY_CODE = l_def_chd_rec.currency_code,
2664 TOTAL_REFUND_DUE = l_def_chd_rec.total_refund_due,
2665 DISBURSEMENT_AMOUNT = l_def_chd_rec.disbursement_amount,
2666 RECEIVED_AMOUNT = l_def_chd_rec.RECEIVED_AMOUNT,
2667 OFFSET_AMOUNT = l_def_chd_rec.OFFSET_AMOUNT,
2668 NEGOTIATED_AMOUNT = l_def_chd_rec.NEGOTIATED_AMOUNT,
2669 VENDOR_SITE_ID = l_def_chd_rec.vendor_site_id,
2670 REFUND_STATUS = l_def_chd_rec.refund_status,
2671 PAYMENT_METHOD = l_def_chd_rec.payment_method,
2672 PAYMENT_TERM_ID = l_def_chd_rec.payment_term_id,
2673 OBJECT_VERSION_NUMBER = l_def_chd_rec.object_version_number,
2674 VENDOR_CURE_DUE = l_def_chd_rec.vendor_cure_due,
2675 VENDOR_SITE_CURE_DUE = l_def_chd_rec.vendor_site_cure_due,
2676 CHR_ID = l_def_chd_rec.chr_id,
2677 PROGRAM_APPLICATION_ID = l_def_chd_rec.program_application_id,
2678 REQUEST_ID = l_def_chd_rec.request_id,
2679 PROGRAM_ID = l_def_chd_rec.program_id,
2680 PROGRAM_UPDATE_DATE = l_def_chd_rec.program_update_date,
2681 ATTRIBUTE_CATEGORY = l_def_chd_rec.attribute_category,
2682 ATTRIBUTE1 = l_def_chd_rec.attribute1,
2683 ATTRIBUTE2 = l_def_chd_rec.attribute2,
2684 ATTRIBUTE3 = l_def_chd_rec.attribute3,
2685 ATTRIBUTE4 = l_def_chd_rec.attribute4,
2686 ATTRIBUTE5 = l_def_chd_rec.attribute5,
2687 ATTRIBUTE6 = l_def_chd_rec.attribute6,
2688 ATTRIBUTE7 = l_def_chd_rec.attribute7,
2689 ATTRIBUTE8 = l_def_chd_rec.attribute8,
2690 ATTRIBUTE9 = l_def_chd_rec.attribute9,
2691 ATTRIBUTE10 = l_def_chd_rec.attribute10,
2692 ATTRIBUTE11 = l_def_chd_rec.attribute11,
2693 ATTRIBUTE12 = l_def_chd_rec.attribute12,
2694 ATTRIBUTE13 = l_def_chd_rec.attribute13,
2695 ATTRIBUTE14 = l_def_chd_rec.attribute14,
2696 ATTRIBUTE15 = l_def_chd_rec.attribute15,
2697 CREATED_BY = l_def_chd_rec.created_by,
2698 CREATION_DATE = l_def_chd_rec.creation_date,
2699 LAST_UPDATED_BY = l_def_chd_rec.last_updated_by,
2700 LAST_UPDATE_DATE = l_def_chd_rec.last_update_date,
2701 LAST_UPDATE_LOGIN = l_def_chd_rec.last_update_login
2702 WHERE CURE_REFUND_HEADER_ID = l_def_chd_rec.cure_refund_header_id;
2703
2704 x_chd_rec := l_chd_rec;
2705 x_return_status := l_return_status;
2706 OKL_API.END_ACTIVITY(x_msg_count, x_msg_data);
2707 EXCEPTION
2708 WHEN OKL_API.G_EXCEPTION_ERROR THEN
2709 x_return_status := OKL_API.HANDLE_EXCEPTIONS
2710 (
2711 l_api_name,
2712 G_PKG_NAME,
2713 'OKL_API.G_RET_STS_ERROR',
2714 x_msg_count,
2715 x_msg_data,
2716 '_PVT'
2717 );
2718 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
2719 x_return_status := OKL_API.HANDLE_EXCEPTIONS
2720 (
2721 l_api_name,
2722 G_PKG_NAME,
2723 'OKL_API.G_RET_STS_UNEXP_ERROR',
2724 x_msg_count,
2725 x_msg_data,
2726 '_PVT'
2727 );
2728 WHEN OTHERS THEN
2729 x_return_status := OKL_API.HANDLE_EXCEPTIONS
2730 (
2731 l_api_name,
2732 G_PKG_NAME,
2733 'OTHERS',
2734 x_msg_count,
2735 x_msg_data,
2736 '_PVT'
2737 );
2738 END update_row;
2739 -----------------------------------------------
2740 -- update_row for:OKL_CURE_REFUND_HEADERS_TL --
2741 -----------------------------------------------
2742 PROCEDURE update_row(
2743 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
2744 x_return_status OUT NOCOPY VARCHAR2,
2745 x_msg_count OUT NOCOPY NUMBER,
2746 x_msg_data OUT NOCOPY VARCHAR2,
2747 p_okl_cure_refund_h182 IN OklCureRefundHeadersTlRecType,
2748 XOklCureRefundHeadersTlRec OUT NOCOPY OklCureRefundHeadersTlRecType) IS
2749
2750 l_api_version CONSTANT NUMBER := 1;
2751 l_api_name CONSTANT VARCHAR2(30) := 'TL_update_row';
2752 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
2753 l_okl_cure_refund_h183 OklCureRefundHeadersTlRecType := p_okl_cure_refund_h182;
2754 LDefOklCureRefundHeadersTlRec OklCureRefundHeadersTlRecType;
2755 l_row_notfound BOOLEAN := TRUE;
2756 ----------------------------------
2757 -- FUNCTION populate_new_record --
2758 ----------------------------------
2759 FUNCTION populate_new_record (
2760 p_okl_cure_refund_h182 IN OklCureRefundHeadersTlRecType,
2761 XOklCureRefundHeadersTlRec OUT NOCOPY OklCureRefundHeadersTlRecType
2762 ) RETURN VARCHAR2 IS
2763 l_okl_cure_refund_h183 OklCureRefundHeadersTlRecType;
2764 l_row_notfound BOOLEAN := TRUE;
2765 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
2766 BEGIN
2767 XOklCureRefundHeadersTlRec := p_okl_cure_refund_h182;
2768 -- Get current database values
2769 l_okl_cure_refund_h183 := get_rec(p_okl_cure_refund_h182, l_return_status);
2770 IF (l_return_status = OKL_API.G_RET_STS_SUCCESS) THEN
2771 IF (XOklCureRefundHeadersTlRec.cure_refund_header_id = OKL_API.G_MISS_NUM)
2772 THEN
2773 XOklCureRefundHeadersTlRec.cure_refund_header_id := l_okl_cure_refund_h183.cure_refund_header_id;
2774 END IF;
2775 IF (XOklCureRefundHeadersTlRec.language = OKL_API.G_MISS_CHAR)
2776 THEN
2777 XOklCureRefundHeadersTlRec.language := l_okl_cure_refund_h183.language;
2778 END IF;
2779 IF (XOklCureRefundHeadersTlRec.source_lang = OKL_API.G_MISS_CHAR)
2780 THEN
2781 XOklCureRefundHeadersTlRec.source_lang := l_okl_cure_refund_h183.source_lang;
2782 END IF;
2783 IF (XOklCureRefundHeadersTlRec.sfwt_flag = OKL_API.G_MISS_CHAR)
2784 THEN
2785 XOklCureRefundHeadersTlRec.sfwt_flag := l_okl_cure_refund_h183.sfwt_flag;
2786 END IF;
2787 IF (XOklCureRefundHeadersTlRec.description = OKL_API.G_MISS_CHAR)
2788 THEN
2789 XOklCureRefundHeadersTlRec.description := l_okl_cure_refund_h183.description;
2790 END IF;
2791 IF (XOklCureRefundHeadersTlRec.created_by = OKL_API.G_MISS_NUM)
2792 THEN
2793 XOklCureRefundHeadersTlRec.created_by := l_okl_cure_refund_h183.created_by;
2794 END IF;
2795 IF (XOklCureRefundHeadersTlRec.creation_date = OKL_API.G_MISS_DATE)
2796 THEN
2797 XOklCureRefundHeadersTlRec.creation_date := l_okl_cure_refund_h183.creation_date;
2798 END IF;
2799 IF (XOklCureRefundHeadersTlRec.last_updated_by = OKL_API.G_MISS_NUM)
2800 THEN
2801 XOklCureRefundHeadersTlRec.last_updated_by := l_okl_cure_refund_h183.last_updated_by;
2802 END IF;
2803 IF (XOklCureRefundHeadersTlRec.last_update_date = OKL_API.G_MISS_DATE)
2804 THEN
2805 XOklCureRefundHeadersTlRec.last_update_date := l_okl_cure_refund_h183.last_update_date;
2806 END IF;
2807 IF (XOklCureRefundHeadersTlRec.last_update_login = OKL_API.G_MISS_NUM)
2808 THEN
2809 XOklCureRefundHeadersTlRec.last_update_login := l_okl_cure_refund_h183.last_update_login;
2810 END IF;
2811 END IF;
2812 RETURN(l_return_status);
2813 END populate_new_record;
2814 ---------------------------------------------------
2815 -- Set_Attributes for:OKL_CURE_REFUND_HEADERS_TL --
2816 ---------------------------------------------------
2817 FUNCTION Set_Attributes (
2818 p_okl_cure_refund_h182 IN OklCureRefundHeadersTlRecType,
2819 XOklCureRefundHeadersTlRec OUT NOCOPY OklCureRefundHeadersTlRecType
2820 ) RETURN VARCHAR2 IS
2821 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
2822 BEGIN
2823 XOklCureRefundHeadersTlRec := p_okl_cure_refund_h182;
2824 XOklCureRefundHeadersTlRec.LANGUAGE := USERENV('LANG');
2825 XOklCureRefundHeadersTlRec.LANGUAGE := USERENV('LANG');
2826 RETURN(l_return_status);
2827 END Set_Attributes;
2828 BEGIN
2829 l_return_status := OKL_API.START_ACTIVITY(l_api_name,
2830 p_init_msg_list,
2831 '_PVT',
2832 x_return_status);
2833 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
2834 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
2835 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
2836 RAISE OKL_API.G_EXCEPTION_ERROR;
2837 END IF;
2838 --- Setting item attributes
2839 l_return_status := Set_Attributes(
2840 p_okl_cure_refund_h182, -- IN
2841 l_okl_cure_refund_h183); -- OUT
2842 --- If any errors happen abort API
2843 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
2844 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
2845 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
2846 RAISE OKL_API.G_EXCEPTION_ERROR;
2847 END IF;
2848 l_return_status := populate_new_record(l_okl_cure_refund_h183, LDefOklCureRefundHeadersTlRec);
2849 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
2850 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
2851 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
2852 RAISE OKL_API.G_EXCEPTION_ERROR;
2853 END IF;
2854 UPDATE OKL_CURE_REFUND_HEADERS_TL
2855 SET DESCRIPTION = LDefOklCureRefundHeadersTlRec.description,
2856 CREATED_BY = LDefOklCureRefundHeadersTlRec.created_by,
2857 CREATION_DATE = LDefOklCureRefundHeadersTlRec.creation_date,
2858 LAST_UPDATED_BY = LDefOklCureRefundHeadersTlRec.last_updated_by,
2859 LAST_UPDATE_DATE = LDefOklCureRefundHeadersTlRec.last_update_date,
2860 LAST_UPDATE_LOGIN = LDefOklCureRefundHeadersTlRec.last_update_login,
2861 -- introduced for bug 3631702
2862 SOURCE_LANG = LDefOklCureRefundHeadersTlRec.SOURCE_LANG
2863 WHERE CURE_REFUND_HEADER_ID = LDefOklCureRefundHeadersTlRec.cure_refund_header_id
2864 AND USERENV('LANG') IN (SOURCE_LANG, LANGUAGE);
2865 -- AND SOURCE_LANG = USERENV('LANG'); commented out for bug 3631702
2866
2867 UPDATE OKL_CURE_REFUND_HEADERS_TL
2868 SET SFWT_FLAG = 'Y'
2869 WHERE CURE_REFUND_HEADER_ID = LDefOklCureRefundHeadersTlRec.cure_refund_header_id
2870 AND SOURCE_LANG <> USERENV('LANG');
2871
2872 XOklCureRefundHeadersTlRec := l_okl_cure_refund_h183;
2873 x_return_status := l_return_status;
2874 OKL_API.END_ACTIVITY(x_msg_count, x_msg_data);
2875 EXCEPTION
2876 WHEN OKL_API.G_EXCEPTION_ERROR THEN
2877 x_return_status := OKL_API.HANDLE_EXCEPTIONS
2878 (
2879 l_api_name,
2880 G_PKG_NAME,
2881 'OKL_API.G_RET_STS_ERROR',
2882 x_msg_count,
2883 x_msg_data,
2884 '_PVT'
2885 );
2886 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
2887 x_return_status := OKL_API.HANDLE_EXCEPTIONS
2888 (
2889 l_api_name,
2890 G_PKG_NAME,
2891 'OKL_API.G_RET_STS_UNEXP_ERROR',
2892 x_msg_count,
2893 x_msg_data,
2894 '_PVT'
2895 );
2896 WHEN OTHERS THEN
2897 x_return_status := OKL_API.HANDLE_EXCEPTIONS
2898 (
2899 l_api_name,
2900 G_PKG_NAME,
2901 'OTHERS',
2902 x_msg_count,
2903 x_msg_data,
2904 '_PVT'
2905 );
2906 END update_row;
2907 ----------------------------------------------
2908 -- update_row for:OKL_CURE_REFUND_HEADERS_V --
2909 ----------------------------------------------
2910 PROCEDURE update_row(
2911 p_api_version IN NUMBER,
2912 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
2913 x_return_status OUT NOCOPY VARCHAR2,
2914 x_msg_count OUT NOCOPY NUMBER,
2915 x_msg_data OUT NOCOPY VARCHAR2,
2916 p_chdv_rec IN chdv_rec_type,
2917 x_chdv_rec OUT NOCOPY chdv_rec_type) IS
2918
2919 l_api_version CONSTANT NUMBER := 1;
2920 l_api_name CONSTANT VARCHAR2(30) := 'V_update_row';
2921 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
2922 l_chdv_rec chdv_rec_type := p_chdv_rec;
2923 l_def_chdv_rec chdv_rec_type;
2924 l_db_chdv_rec chdv_rec_type;
2925 l_chd_rec chd_rec_type;
2926 lx_chd_rec chd_rec_type;
2927 l_okl_cure_refund_h183 OklCureRefundHeadersTlRecType;
2928 LxOklCureRefundHeadersTlRec OklCureRefundHeadersTlRecType;
2929 -------------------------------
2930 -- FUNCTION fill_who_columns --
2931 -------------------------------
2932 FUNCTION fill_who_columns (
2933 p_chdv_rec IN chdv_rec_type
2934 ) RETURN chdv_rec_type IS
2935 l_chdv_rec chdv_rec_type := p_chdv_rec;
2936 BEGIN
2937 l_chdv_rec.LAST_UPDATE_DATE := SYSDATE;
2938 l_chdv_rec.LAST_UPDATED_BY := FND_GLOBAL.USER_ID;
2939 l_chdv_rec.LAST_UPDATE_LOGIN := FND_GLOBAL.LOGIN_ID;
2940 RETURN(l_chdv_rec);
2941 END fill_who_columns;
2942 ----------------------------------
2943 -- FUNCTION populate_new_record --
2944 ----------------------------------
2945 FUNCTION populate_new_record (
2946 p_chdv_rec IN chdv_rec_type,
2947 x_chdv_rec OUT NOCOPY chdv_rec_type
2948 ) RETURN VARCHAR2 IS
2949 l_row_notfound BOOLEAN := TRUE;
2950 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
2951 BEGIN
2952 x_chdv_rec := p_chdv_rec;
2953 -- Get current database values
2954 -- NOTE: Never assign the OBJECT_VERSION_NUMBER. Force the user to pass it
2955 -- so it may be verified through LOCK_ROW.
2956 l_db_chdv_rec := get_rec(p_chdv_rec, l_return_status);
2957 IF (l_return_status = OKL_API.G_RET_STS_SUCCESS) THEN
2958 IF (x_chdv_rec.cure_refund_header_id = OKL_API.G_MISS_NUM)
2959 THEN
2960 x_chdv_rec.cure_refund_header_id := l_db_chdv_rec.cure_refund_header_id;
2961 END IF;
2962 IF (x_chdv_rec.refund_header_number = OKL_API.G_MISS_CHAR)
2963 THEN
2964 x_chdv_rec.refund_header_number := l_db_chdv_rec.refund_header_number;
2965 END IF;
2966 IF (x_chdv_rec.refund_type = OKL_API.G_MISS_CHAR)
2967 THEN
2968 x_chdv_rec.refund_type := l_db_chdv_rec.refund_type;
2969 END IF;
2970 IF (x_chdv_rec.refund_due_date = OKL_API.G_MISS_DATE)
2971 THEN
2972 x_chdv_rec.refund_due_date := l_db_chdv_rec.refund_due_date;
2973 END IF;
2974 IF (x_chdv_rec.currency_code = OKL_API.G_MISS_CHAR)
2975 THEN
2976 x_chdv_rec.currency_code := l_db_chdv_rec.currency_code;
2977 END IF;
2978 IF (x_chdv_rec.total_refund_due = OKL_API.G_MISS_NUM)
2979 THEN
2980 x_chdv_rec.total_refund_due := l_db_chdv_rec.total_refund_due;
2981 END IF;
2982 IF (x_chdv_rec.disbursement_amount = OKL_API.G_MISS_NUM)
2983 THEN
2984 x_chdv_rec.disbursement_amount := l_db_chdv_rec.disbursement_amount;
2985 END IF;
2986 IF (x_chdv_rec.RECEIVED_AMOUNT = OKL_API.G_MISS_NUM)
2987 THEN
2988 x_chdv_rec.RECEIVED_AMOUNT := l_db_chdv_rec.RECEIVED_AMOUNT;
2989 END IF;
2990 IF (x_chdv_rec.OFFSET_AMOUNT = OKL_API.G_MISS_NUM)
2991 THEN
2992 x_chdv_rec.OFFSET_AMOUNT := l_db_chdv_rec.OFFSET_AMOUNT;
2993 END IF;
2994 IF (x_chdv_rec.NEGOTIATED_AMOUNT = OKL_API.G_MISS_NUM)
2995 THEN
2996 x_chdv_rec.NEGOTIATED_AMOUNT := l_db_chdv_rec.NEGOTIATED_AMOUNT;
2997 END IF;
2998 IF (x_chdv_rec.vendor_site_id = OKL_API.G_MISS_NUM)
2999 THEN
3000 x_chdv_rec.vendor_site_id := l_db_chdv_rec.vendor_site_id;
3001 END IF;
3002 IF (x_chdv_rec.refund_status = OKL_API.G_MISS_CHAR)
3003 THEN
3004 x_chdv_rec.refund_status := l_db_chdv_rec.refund_status;
3005 END IF;
3006 IF (x_chdv_rec.payment_method = OKL_API.G_MISS_CHAR)
3007 THEN
3008 x_chdv_rec.payment_method := l_db_chdv_rec.payment_method;
3009 END IF;
3010 IF (x_chdv_rec.payment_term_id = OKL_API.G_MISS_NUM)
3011 THEN
3012 x_chdv_rec.payment_term_id := l_db_chdv_rec.payment_term_id;
3013 END IF;
3014 IF (x_chdv_rec.sfwt_flag = OKL_API.G_MISS_CHAR)
3015 THEN
3016 x_chdv_rec.sfwt_flag := l_db_chdv_rec.sfwt_flag;
3017 END IF;
3018 IF (x_chdv_rec.description = OKL_API.G_MISS_CHAR)
3019 THEN
3020 x_chdv_rec.description := l_db_chdv_rec.description;
3021 END IF;
3022 IF (x_chdv_rec.vendor_cure_due = OKL_API.G_MISS_NUM)
3023 THEN
3024 x_chdv_rec.vendor_cure_due := l_db_chdv_rec.vendor_cure_due;
3025 END IF;
3026 IF (x_chdv_rec.vendor_site_cure_due = OKL_API.G_MISS_NUM)
3027 THEN
3028 x_chdv_rec.vendor_site_cure_due := l_db_chdv_rec.vendor_site_cure_due;
3029 END IF;
3030 IF (x_chdv_rec.chr_id = OKL_API.G_MISS_NUM)
3031 THEN
3032 x_chdv_rec.chr_id := l_db_chdv_rec.chr_id;
3033 END IF;
3034 IF (x_chdv_rec.program_id = OKL_API.G_MISS_NUM)
3035 THEN
3036 x_chdv_rec.program_id := l_db_chdv_rec.program_id;
3037 END IF;
3038 IF (x_chdv_rec.request_id = OKL_API.G_MISS_NUM)
3039 THEN
3040 x_chdv_rec.request_id := l_db_chdv_rec.request_id;
3041 END IF;
3042 IF (x_chdv_rec.program_application_id = OKL_API.G_MISS_NUM)
3043 THEN
3044 x_chdv_rec.program_application_id := l_db_chdv_rec.program_application_id;
3045 END IF;
3046 IF (x_chdv_rec.program_update_date = OKL_API.G_MISS_DATE)
3047 THEN
3048 x_chdv_rec.program_update_date := l_db_chdv_rec.program_update_date;
3049 END IF;
3050 IF (x_chdv_rec.attribute_category = OKL_API.G_MISS_CHAR)
3051 THEN
3052 x_chdv_rec.attribute_category := l_db_chdv_rec.attribute_category;
3053 END IF;
3054 IF (x_chdv_rec.attribute1 = OKL_API.G_MISS_CHAR)
3055 THEN
3056 x_chdv_rec.attribute1 := l_db_chdv_rec.attribute1;
3057 END IF;
3058 IF (x_chdv_rec.attribute2 = OKL_API.G_MISS_CHAR)
3059 THEN
3060 x_chdv_rec.attribute2 := l_db_chdv_rec.attribute2;
3061 END IF;
3062 IF (x_chdv_rec.attribute3 = OKL_API.G_MISS_CHAR)
3063 THEN
3064 x_chdv_rec.attribute3 := l_db_chdv_rec.attribute3;
3065 END IF;
3066 IF (x_chdv_rec.attribute4 = OKL_API.G_MISS_CHAR)
3067 THEN
3068 x_chdv_rec.attribute4 := l_db_chdv_rec.attribute4;
3069 END IF;
3070 IF (x_chdv_rec.attribute5 = OKL_API.G_MISS_CHAR)
3071 THEN
3072 x_chdv_rec.attribute5 := l_db_chdv_rec.attribute5;
3073 END IF;
3074 IF (x_chdv_rec.attribute6 = OKL_API.G_MISS_CHAR)
3075 THEN
3076 x_chdv_rec.attribute6 := l_db_chdv_rec.attribute6;
3077 END IF;
3078 IF (x_chdv_rec.attribute7 = OKL_API.G_MISS_CHAR)
3079 THEN
3080 x_chdv_rec.attribute7 := l_db_chdv_rec.attribute7;
3081 END IF;
3082 IF (x_chdv_rec.attribute8 = OKL_API.G_MISS_CHAR)
3083 THEN
3084 x_chdv_rec.attribute8 := l_db_chdv_rec.attribute8;
3085 END IF;
3086 IF (x_chdv_rec.attribute9 = OKL_API.G_MISS_CHAR)
3087 THEN
3088 x_chdv_rec.attribute9 := l_db_chdv_rec.attribute9;
3089 END IF;
3090 IF (x_chdv_rec.attribute10 = OKL_API.G_MISS_CHAR)
3091 THEN
3092 x_chdv_rec.attribute10 := l_db_chdv_rec.attribute10;
3093 END IF;
3094 IF (x_chdv_rec.attribute11 = OKL_API.G_MISS_CHAR)
3095 THEN
3096 x_chdv_rec.attribute11 := l_db_chdv_rec.attribute11;
3097 END IF;
3098 IF (x_chdv_rec.attribute12 = OKL_API.G_MISS_CHAR)
3099 THEN
3100 x_chdv_rec.attribute12 := l_db_chdv_rec.attribute12;
3101 END IF;
3102 IF (x_chdv_rec.attribute13 = OKL_API.G_MISS_CHAR)
3103 THEN
3104 x_chdv_rec.attribute13 := l_db_chdv_rec.attribute13;
3105 END IF;
3106 IF (x_chdv_rec.attribute14 = OKL_API.G_MISS_CHAR)
3107 THEN
3108 x_chdv_rec.attribute14 := l_db_chdv_rec.attribute14;
3109 END IF;
3110 IF (x_chdv_rec.attribute15 = OKL_API.G_MISS_CHAR)
3111 THEN
3112 x_chdv_rec.attribute15 := l_db_chdv_rec.attribute15;
3113 END IF;
3114 IF (x_chdv_rec.created_by = OKL_API.G_MISS_NUM)
3115 THEN
3116 x_chdv_rec.created_by := l_db_chdv_rec.created_by;
3117 END IF;
3118 IF (x_chdv_rec.creation_date = OKL_API.G_MISS_DATE)
3119 THEN
3120 x_chdv_rec.creation_date := l_db_chdv_rec.creation_date;
3121 END IF;
3122 IF (x_chdv_rec.last_updated_by = OKL_API.G_MISS_NUM)
3123 THEN
3124 x_chdv_rec.last_updated_by := l_db_chdv_rec.last_updated_by;
3125 END IF;
3126 IF (x_chdv_rec.last_update_date = OKL_API.G_MISS_DATE)
3127 THEN
3128 x_chdv_rec.last_update_date := l_db_chdv_rec.last_update_date;
3129 END IF;
3130 IF (x_chdv_rec.last_update_login = OKL_API.G_MISS_NUM)
3131 THEN
3132 x_chdv_rec.last_update_login := l_db_chdv_rec.last_update_login;
3133 END IF;
3134 END IF;
3135 RETURN(l_return_status);
3136 END populate_new_record;
3137 --------------------------------------------------
3138 -- Set_Attributes for:OKL_CURE_REFUND_HEADERS_V --
3139 --------------------------------------------------
3140 FUNCTION Set_Attributes (
3141 p_chdv_rec IN chdv_rec_type,
3142 x_chdv_rec OUT NOCOPY chdv_rec_type
3143 ) RETURN VARCHAR2 IS
3144 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
3145 BEGIN
3146 x_chdv_rec := p_chdv_rec;
3147 RETURN(l_return_status);
3148 END Set_Attributes;
3149 BEGIN
3150 l_return_status := OKL_API.START_ACTIVITY(l_api_name,
3151 G_PKG_NAME,
3152 p_init_msg_list,
3153 l_api_version,
3154 p_api_version,
3155 '_PVT',
3156 x_return_status);
3157 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
3158 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
3159 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
3160 RAISE OKL_API.G_EXCEPTION_ERROR;
3161 END IF;
3162 --- Setting item attributes
3163 l_return_status := Set_Attributes(
3164 p_chdv_rec, -- IN
3165 x_chdv_rec); -- OUT
3166 --- If any errors happen abort API
3167 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
3168 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
3169 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
3170 RAISE OKL_API.G_EXCEPTION_ERROR;
3171 END IF;
3172 l_return_status := populate_new_record(l_chdv_rec, l_def_chdv_rec);
3173 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
3174 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
3175 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
3176 RAISE OKL_API.G_EXCEPTION_ERROR;
3177 END IF;
3178 l_def_chdv_rec := fill_who_columns(l_def_chdv_rec);
3179 --- Validate all non-missing attributes (Item Level Validation)
3180 l_return_status := Validate_Attributes(l_def_chdv_rec);
3181 --- If any errors happen abort API
3182 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
3183 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
3184 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
3185 RAISE OKL_API.G_EXCEPTION_ERROR;
3186 END IF;
3187 l_return_status := Validate_Record(l_def_chdv_rec, l_db_chdv_rec);
3188 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
3189 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
3190 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
3191 RAISE OKL_API.G_EXCEPTION_ERROR;
3192 END IF;
3193
3194 -- Lock the Record
3195 lock_row(
3196 p_api_version => p_api_version,
3197 p_init_msg_list => p_init_msg_list,
3198 x_return_status => l_return_status,
3199 x_msg_count => x_msg_count,
3200 x_msg_data => x_msg_data,
3201 p_chdv_rec => p_chdv_rec);
3202 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
3203 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
3204 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
3205 RAISE OKL_API.G_EXCEPTION_ERROR;
3206 END IF;
3207
3208 -----------------------------------------
3209 -- Move VIEW record to "Child" records --
3210 -----------------------------------------
3211 migrate(l_def_chdv_rec, l_chd_rec);
3212 migrate(l_def_chdv_rec, l_okl_cure_refund_h183);
3213 -----------------------------------------------
3214 -- Call the UPDATE_ROW for each child record --
3215 -----------------------------------------------
3216 update_row(
3217 p_init_msg_list,
3218 l_return_status,
3219 x_msg_count,
3220 x_msg_data,
3221 l_chd_rec,
3222 lx_chd_rec
3223 );
3224 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
3225 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
3226 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
3227 RAISE OKL_API.G_EXCEPTION_ERROR;
3228 END IF;
3229 migrate(lx_chd_rec, l_def_chdv_rec);
3230 update_row(
3231 p_init_msg_list,
3232 l_return_status,
3233 x_msg_count,
3234 x_msg_data,
3235 l_okl_cure_refund_h183,
3236 LxOklCureRefundHeadersTlRec
3237 );
3238 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
3239 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
3240 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
3241 RAISE OKL_API.G_EXCEPTION_ERROR;
3242 END IF;
3243 migrate(LxOklCureRefundHeadersTlRec, l_def_chdv_rec);
3244 x_chdv_rec := l_def_chdv_rec;
3245 x_return_status := l_return_status;
3246 OKL_API.END_ACTIVITY(x_msg_count, x_msg_data);
3247 EXCEPTION
3248 WHEN OKL_API.G_EXCEPTION_ERROR THEN
3249 x_return_status := OKL_API.HANDLE_EXCEPTIONS
3250 (
3251 l_api_name,
3252 G_PKG_NAME,
3253 'OKL_API.G_RET_STS_ERROR',
3254 x_msg_count,
3255 x_msg_data,
3256 '_PVT'
3257 );
3258 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
3259 x_return_status := OKL_API.HANDLE_EXCEPTIONS
3260 (
3261 l_api_name,
3262 G_PKG_NAME,
3263 'OKL_API.G_RET_STS_UNEXP_ERROR',
3264 x_msg_count,
3265 x_msg_data,
3266 '_PVT'
3267 );
3268 WHEN OTHERS THEN
3269 x_return_status := OKL_API.HANDLE_EXCEPTIONS
3270 (
3271 l_api_name,
3272 G_PKG_NAME,
3273 'OTHERS',
3274 x_msg_count,
3275 x_msg_data,
3276 '_PVT'
3277 );
3278 END update_row;
3279 ----------------------------------------
3280 -- PL/SQL TBL update_row for:chdv_tbl --
3281 ----------------------------------------
3282 PROCEDURE update_row(
3283 p_api_version IN NUMBER,
3284 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
3285 x_return_status OUT NOCOPY VARCHAR2,
3286 x_msg_count OUT NOCOPY NUMBER,
3287 x_msg_data OUT NOCOPY VARCHAR2,
3288 p_chdv_tbl IN chdv_tbl_type,
3289 x_chdv_tbl OUT NOCOPY chdv_tbl_type,
3290 px_error_tbl IN OUT NOCOPY OKL_API.ERROR_TBL_TYPE) IS
3291
3292 l_api_version CONSTANT NUMBER := 1;
3293 l_api_name CONSTANT VARCHAR2(30) := 'V_error_tbl_update_row';
3294 i NUMBER := 0;
3295 BEGIN
3296 OKL_API.init_msg_list(p_init_msg_list);
3297 -- Make sure PL/SQL table has records in it before passing
3298 IF (p_chdv_tbl.COUNT > 0) THEN
3299 i := p_chdv_tbl.FIRST;
3300 LOOP
3301 DECLARE
3302 l_error_rec OKL_API.ERROR_REC_TYPE;
3303 BEGIN
3304 l_error_rec.api_name := l_api_name;
3305 l_error_rec.api_package := G_PKG_NAME;
3306 l_error_rec.idx := i;
3307 update_row (
3308 p_api_version => p_api_version,
3309 p_init_msg_list => OKL_API.G_FALSE,
3310 x_return_status => l_error_rec.error_type,
3311 x_msg_count => l_error_rec.msg_count,
3312 x_msg_data => l_error_rec.msg_data,
3313 p_chdv_rec => p_chdv_tbl(i),
3314 x_chdv_rec => x_chdv_tbl(i));
3315 IF (l_error_rec.error_type <> OKL_API.G_RET_STS_SUCCESS) THEN
3316 l_error_rec.sqlcode := SQLCODE;
3317 load_error_tbl(l_error_rec, px_error_tbl);
3318 ELSE
3319 x_msg_count := l_error_rec.msg_count;
3320 x_msg_data := l_error_rec.msg_data;
3321 END IF;
3322 EXCEPTION
3323 WHEN OKL_API.G_EXCEPTION_ERROR THEN
3324 l_error_rec.error_type := OKL_API.G_RET_STS_ERROR;
3325 l_error_rec.sqlcode := SQLCODE;
3326 load_error_tbl(l_error_rec, px_error_tbl);
3327 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
3328 l_error_rec.error_type := OKL_API.G_RET_STS_UNEXP_ERROR;
3329 l_error_rec.sqlcode := SQLCODE;
3330 load_error_tbl(l_error_rec, px_error_tbl);
3331 WHEN OTHERS THEN
3332 l_error_rec.error_type := 'OTHERS';
3333 l_error_rec.sqlcode := SQLCODE;
3334 load_error_tbl(l_error_rec, px_error_tbl);
3335 END;
3336 EXIT WHEN (i = p_chdv_tbl.LAST);
3337 i := p_chdv_tbl.NEXT(i);
3338 END LOOP;
3339 END IF;
3340 -- Loop through the error_tbl to find the error with the highest severity
3341 -- and return it.
3342 x_return_status := find_highest_exception(px_error_tbl);
3343 OKL_API.END_ACTIVITY(x_msg_count, x_msg_data);
3344 EXCEPTION
3345 WHEN OKL_API.G_EXCEPTION_ERROR THEN
3346 x_return_status := OKL_API.HANDLE_EXCEPTIONS
3347 (
3348 l_api_name,
3349 G_PKG_NAME,
3350 'OKL_API.G_RET_STS_ERROR',
3351 x_msg_count,
3352 x_msg_data,
3353 '_PVT'
3354 );
3355 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
3356 x_return_status := OKL_API.HANDLE_EXCEPTIONS
3357 (
3358 l_api_name,
3359 G_PKG_NAME,
3360 'OKL_API.G_RET_STS_UNEXP_ERROR',
3361 x_msg_count,
3362 x_msg_data,
3363 '_PVT'
3364 );
3365 WHEN OTHERS THEN
3366 x_return_status := OKL_API.HANDLE_EXCEPTIONS
3367 (
3368 l_api_name,
3369 G_PKG_NAME,
3370 'OTHERS',
3371 x_msg_count,
3372 x_msg_data,
3373 '_PVT'
3374 );
3375 END update_row;
3376
3377 ----------------------------------------
3378 -- PL/SQL TBL update_row for:CHDV_TBL --
3379 ----------------------------------------
3380 PROCEDURE update_row(
3381 p_api_version IN NUMBER,
3382 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
3383 x_return_status OUT NOCOPY VARCHAR2,
3384 x_msg_count OUT NOCOPY NUMBER,
3385 x_msg_data OUT NOCOPY VARCHAR2,
3386 p_chdv_tbl IN chdv_tbl_type,
3387 x_chdv_tbl OUT NOCOPY chdv_tbl_type) IS
3388
3389 l_api_version CONSTANT NUMBER := 1;
3390 l_api_name CONSTANT VARCHAR2(30) := 'V_tbl_update_row';
3391 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
3392 l_error_tbl OKL_API.ERROR_TBL_TYPE;
3393 BEGIN
3394 OKL_API.init_msg_list(p_init_msg_list);
3395 -- Make sure PL/SQL table has records in it before passing
3396 IF (p_chdv_tbl.COUNT > 0) THEN
3397 update_row (
3398 p_api_version => p_api_version,
3399 p_init_msg_list => OKL_API.G_FALSE,
3400 x_return_status => x_return_status,
3401 x_msg_count => x_msg_count,
3402 x_msg_data => x_msg_data,
3403 p_chdv_tbl => p_chdv_tbl,
3404 x_chdv_tbl => x_chdv_tbl,
3405 px_error_tbl => l_error_tbl);
3406 END IF;
3407 OKL_API.END_ACTIVITY(x_msg_count, x_msg_data);
3408 EXCEPTION
3409 WHEN OKL_API.G_EXCEPTION_ERROR THEN
3410 x_return_status := OKL_API.HANDLE_EXCEPTIONS
3411 (
3412 l_api_name,
3413 G_PKG_NAME,
3414 'OKL_API.G_RET_STS_ERROR',
3415 x_msg_count,
3416 x_msg_data,
3417 '_PVT'
3418 );
3419 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
3420 x_return_status := OKL_API.HANDLE_EXCEPTIONS
3421 (
3422 l_api_name,
3423 G_PKG_NAME,
3424 'OKL_API.G_RET_STS_UNEXP_ERROR',
3425 x_msg_count,
3426 x_msg_data,
3427 '_PVT'
3428 );
3429 WHEN OTHERS THEN
3430 x_return_status := OKL_API.HANDLE_EXCEPTIONS
3431 (
3432 l_api_name,
3433 G_PKG_NAME,
3434 'OTHERS',
3435 x_msg_count,
3436 x_msg_data,
3437 '_PVT'
3438 );
3439 END update_row;
3440
3441 ---------------------------------------------------------------------------
3442 -- PROCEDURE delete_row
3443 ---------------------------------------------------------------------------
3444 ----------------------------------------------
3445 -- delete_row for:OKL_CURE_REFUND_HEADERS_B --
3446 ----------------------------------------------
3447 PROCEDURE delete_row(
3448 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
3449 x_return_status OUT NOCOPY VARCHAR2,
3450 x_msg_count OUT NOCOPY NUMBER,
3451 x_msg_data OUT NOCOPY VARCHAR2,
3452 p_chd_rec IN chd_rec_type) IS
3453
3454 l_api_version CONSTANT NUMBER := 1;
3455 l_api_name CONSTANT VARCHAR2(30) := 'B_delete_row';
3456 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
3457 l_chd_rec chd_rec_type := p_chd_rec;
3458 l_row_notfound BOOLEAN := TRUE;
3459 BEGIN
3460 l_return_status := OKL_API.START_ACTIVITY(l_api_name,
3461 p_init_msg_list,
3462 '_PVT',
3463 x_return_status);
3464 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
3465 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
3466 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
3467 RAISE OKL_API.G_EXCEPTION_ERROR;
3468 END IF;
3469
3470 DELETE FROM OKL_CURE_REFUND_HEADERS_B
3471 WHERE CURE_REFUND_HEADER_ID = p_chd_rec.cure_refund_header_id;
3472
3473 x_return_status := l_return_status;
3474 OKL_API.END_ACTIVITY(x_msg_count, x_msg_data);
3475 EXCEPTION
3476 WHEN OKL_API.G_EXCEPTION_ERROR THEN
3477 x_return_status := OKL_API.HANDLE_EXCEPTIONS
3478 (
3479 l_api_name,
3480 G_PKG_NAME,
3481 'OKL_API.G_RET_STS_ERROR',
3482 x_msg_count,
3483 x_msg_data,
3484 '_PVT'
3485 );
3486 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
3487 x_return_status := OKL_API.HANDLE_EXCEPTIONS
3488 (
3489 l_api_name,
3490 G_PKG_NAME,
3491 'OKL_API.G_RET_STS_UNEXP_ERROR',
3492 x_msg_count,
3493 x_msg_data,
3494 '_PVT'
3495 );
3496 WHEN OTHERS THEN
3497 x_return_status := OKL_API.HANDLE_EXCEPTIONS
3498 (
3499 l_api_name,
3500 G_PKG_NAME,
3501 'OTHERS',
3502 x_msg_count,
3503 x_msg_data,
3504 '_PVT'
3505 );
3506 END delete_row;
3507 -----------------------------------------------
3508 -- delete_row for:OKL_CURE_REFUND_HEADERS_TL --
3509 -----------------------------------------------
3510 PROCEDURE delete_row(
3511 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
3512 x_return_status OUT NOCOPY VARCHAR2,
3513 x_msg_count OUT NOCOPY NUMBER,
3514 x_msg_data OUT NOCOPY VARCHAR2,
3515 p_okl_cure_refund_h182 IN OklCureRefundHeadersTlRecType) IS
3516
3517 l_api_version CONSTANT NUMBER := 1;
3518 l_api_name CONSTANT VARCHAR2(30) := 'TL_delete_row';
3519 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
3520 l_okl_cure_refund_h183 OklCureRefundHeadersTlRecType := p_okl_cure_refund_h182;
3521 l_row_notfound BOOLEAN := TRUE;
3522 BEGIN
3523 l_return_status := OKL_API.START_ACTIVITY(l_api_name,
3524 p_init_msg_list,
3525 '_PVT',
3526 x_return_status);
3527 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
3528 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
3529 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
3530 RAISE OKL_API.G_EXCEPTION_ERROR;
3531 END IF;
3532
3533 DELETE FROM OKL_CURE_REFUND_HEADERS_TL
3534 WHERE CURE_REFUND_HEADER_ID = p_okl_cure_refund_h182.cure_refund_header_id;
3535
3536 x_return_status := l_return_status;
3537 OKL_API.END_ACTIVITY(x_msg_count, x_msg_data);
3538 EXCEPTION
3539 WHEN OKL_API.G_EXCEPTION_ERROR THEN
3540 x_return_status := OKL_API.HANDLE_EXCEPTIONS
3541 (
3542 l_api_name,
3543 G_PKG_NAME,
3544 'OKL_API.G_RET_STS_ERROR',
3545 x_msg_count,
3546 x_msg_data,
3547 '_PVT'
3548 );
3549 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
3550 x_return_status := OKL_API.HANDLE_EXCEPTIONS
3551 (
3552 l_api_name,
3553 G_PKG_NAME,
3554 'OKL_API.G_RET_STS_UNEXP_ERROR',
3555 x_msg_count,
3556 x_msg_data,
3557 '_PVT'
3558 );
3559 WHEN OTHERS THEN
3560 x_return_status := OKL_API.HANDLE_EXCEPTIONS
3561 (
3562 l_api_name,
3563 G_PKG_NAME,
3564 'OTHERS',
3565 x_msg_count,
3566 x_msg_data,
3567 '_PVT'
3568 );
3569 END delete_row;
3570 ----------------------------------------------
3571 -- delete_row for:OKL_CURE_REFUND_HEADERS_V --
3572 ----------------------------------------------
3573 PROCEDURE delete_row(
3574 p_api_version IN NUMBER,
3575 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
3576 x_return_status OUT NOCOPY VARCHAR2,
3577 x_msg_count OUT NOCOPY NUMBER,
3578 x_msg_data OUT NOCOPY VARCHAR2,
3579 p_chdv_rec IN chdv_rec_type) IS
3580
3581 l_api_version CONSTANT NUMBER := 1;
3582 l_api_name CONSTANT VARCHAR2(30) := 'V_delete_row';
3583 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
3584 l_chdv_rec chdv_rec_type := p_chdv_rec;
3585 l_okl_cure_refund_h183 OklCureRefundHeadersTlRecType;
3586 l_chd_rec chd_rec_type;
3587 BEGIN
3588 l_return_status := OKL_API.START_ACTIVITY(l_api_name,
3589 G_PKG_NAME,
3590 p_init_msg_list,
3591 l_api_version,
3592 p_api_version,
3593 '_PVT',
3594 x_return_status);
3595 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
3596 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
3597 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
3598 RAISE OKL_API.G_EXCEPTION_ERROR;
3599 END IF;
3600 -----------------------------------------
3601 -- Move VIEW record to "Child" records --
3602 -----------------------------------------
3603 migrate(l_chdv_rec, l_okl_cure_refund_h183);
3604 migrate(l_chdv_rec, l_chd_rec);
3605 -----------------------------------------------
3606 -- Call the DELETE_ROW for each child record --
3607 -----------------------------------------------
3608 delete_row(
3609 p_init_msg_list,
3610 l_return_status,
3611 x_msg_count,
3612 x_msg_data,
3613 l_okl_cure_refund_h183
3614 );
3615 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
3616 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
3617 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
3618 RAISE OKL_API.G_EXCEPTION_ERROR;
3619 END IF;
3620 delete_row(
3621 p_init_msg_list,
3622 l_return_status,
3623 x_msg_count,
3624 x_msg_data,
3625 l_chd_rec
3626 );
3627 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
3628 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
3629 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
3630 RAISE OKL_API.G_EXCEPTION_ERROR;
3631 END IF;
3632 x_return_status := l_return_status;
3633 OKL_API.END_ACTIVITY(x_msg_count, x_msg_data);
3634 EXCEPTION
3635 WHEN OKL_API.G_EXCEPTION_ERROR THEN
3636 x_return_status := OKL_API.HANDLE_EXCEPTIONS
3637 (
3638 l_api_name,
3639 G_PKG_NAME,
3640 'OKL_API.G_RET_STS_ERROR',
3641 x_msg_count,
3642 x_msg_data,
3643 '_PVT'
3644 );
3645 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
3646 x_return_status := OKL_API.HANDLE_EXCEPTIONS
3647 (
3648 l_api_name,
3649 G_PKG_NAME,
3650 'OKL_API.G_RET_STS_UNEXP_ERROR',
3651 x_msg_count,
3652 x_msg_data,
3653 '_PVT'
3654 );
3655 WHEN OTHERS THEN
3656 x_return_status := OKL_API.HANDLE_EXCEPTIONS
3657 (
3658 l_api_name,
3659 G_PKG_NAME,
3660 'OTHERS',
3661 x_msg_count,
3662 x_msg_data,
3663 '_PVT'
3664 );
3665 END delete_row;
3666 ---------------------------------------------------------
3667 -- PL/SQL TBL delete_row for:OKL_CURE_REFUND_HEADERS_V --
3668 ---------------------------------------------------------
3669 PROCEDURE delete_row(
3670 p_api_version IN NUMBER,
3671 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
3672 x_return_status OUT NOCOPY VARCHAR2,
3673 x_msg_count OUT NOCOPY NUMBER,
3674 x_msg_data OUT NOCOPY VARCHAR2,
3675 p_chdv_tbl IN chdv_tbl_type,
3676 px_error_tbl IN OUT NOCOPY OKL_API.ERROR_TBL_TYPE) IS
3677
3678 l_api_version CONSTANT NUMBER := 1;
3679 l_api_name CONSTANT VARCHAR2(30) := 'V_error_tbl_delete_row';
3680 i NUMBER := 0;
3681 BEGIN
3682 OKL_API.init_msg_list(p_init_msg_list);
3683 -- Make sure PL/SQL table has records in it before passing
3684 IF (p_chdv_tbl.COUNT > 0) THEN
3685 i := p_chdv_tbl.FIRST;
3686 LOOP
3687 DECLARE
3688 l_error_rec OKL_API.ERROR_REC_TYPE;
3689 BEGIN
3690 l_error_rec.api_name := l_api_name;
3691 l_error_rec.api_package := G_PKG_NAME;
3692 l_error_rec.idx := i;
3693 delete_row (
3694 p_api_version => p_api_version,
3695 p_init_msg_list => OKL_API.G_FALSE,
3696 x_return_status => l_error_rec.error_type,
3697 x_msg_count => l_error_rec.msg_count,
3698 x_msg_data => l_error_rec.msg_data,
3699 p_chdv_rec => p_chdv_tbl(i));
3700 IF (l_error_rec.error_type <> OKL_API.G_RET_STS_SUCCESS) THEN
3701 l_error_rec.sqlcode := SQLCODE;
3702 load_error_tbl(l_error_rec, px_error_tbl);
3703 ELSE
3704 x_msg_count := l_error_rec.msg_count;
3705 x_msg_data := l_error_rec.msg_data;
3706 END IF;
3707 EXCEPTION
3708 WHEN OKL_API.G_EXCEPTION_ERROR THEN
3709 l_error_rec.error_type := OKL_API.G_RET_STS_ERROR;
3710 l_error_rec.sqlcode := SQLCODE;
3711 load_error_tbl(l_error_rec, px_error_tbl);
3712 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
3713 l_error_rec.error_type := OKL_API.G_RET_STS_UNEXP_ERROR;
3714 l_error_rec.sqlcode := SQLCODE;
3715 load_error_tbl(l_error_rec, px_error_tbl);
3716 WHEN OTHERS THEN
3717 l_error_rec.error_type := 'OTHERS';
3718 l_error_rec.sqlcode := SQLCODE;
3719 load_error_tbl(l_error_rec, px_error_tbl);
3720 END;
3721 EXIT WHEN (i = p_chdv_tbl.LAST);
3722 i := p_chdv_tbl.NEXT(i);
3723 END LOOP;
3724 END IF;
3725 -- Loop through the error_tbl to find the error with the highest severity
3726 -- and return it.
3727 x_return_status := find_highest_exception(px_error_tbl);
3728 OKL_API.END_ACTIVITY(x_msg_count, x_msg_data);
3729 EXCEPTION
3730 WHEN OKL_API.G_EXCEPTION_ERROR THEN
3731 x_return_status := OKL_API.HANDLE_EXCEPTIONS
3732 (
3733 l_api_name,
3734 G_PKG_NAME,
3735 'OKL_API.G_RET_STS_ERROR',
3736 x_msg_count,
3737 x_msg_data,
3738 '_PVT'
3739 );
3740 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
3741 x_return_status := OKL_API.HANDLE_EXCEPTIONS
3742 (
3743 l_api_name,
3744 G_PKG_NAME,
3745 'OKL_API.G_RET_STS_UNEXP_ERROR',
3746 x_msg_count,
3747 x_msg_data,
3748 '_PVT'
3749 );
3750 WHEN OTHERS THEN
3751 x_return_status := OKL_API.HANDLE_EXCEPTIONS
3752 (
3753 l_api_name,
3754 G_PKG_NAME,
3755 'OTHERS',
3756 x_msg_count,
3757 x_msg_data,
3758 '_PVT'
3759 );
3760 END delete_row;
3761
3762 ---------------------------------------------------------
3763 -- PL/SQL TBL delete_row for:OKL_CURE_REFUND_HEADERS_V --
3764 ---------------------------------------------------------
3765 PROCEDURE delete_row(
3766 p_api_version IN NUMBER,
3767 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
3768 x_return_status OUT NOCOPY VARCHAR2,
3769 x_msg_count OUT NOCOPY NUMBER,
3770 x_msg_data OUT NOCOPY VARCHAR2,
3771 p_chdv_tbl IN chdv_tbl_type) IS
3772
3773 l_api_version CONSTANT NUMBER := 1;
3774 l_api_name CONSTANT VARCHAR2(30) := 'V_tbl_delete_row';
3775 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
3776 l_error_tbl OKL_API.ERROR_TBL_TYPE;
3777 BEGIN
3778 OKL_API.init_msg_list(p_init_msg_list);
3779 -- Make sure PL/SQL table has records in it before passing
3780 IF (p_chdv_tbl.COUNT > 0) THEN
3781 delete_row (
3782 p_api_version => p_api_version,
3783 p_init_msg_list => OKL_API.G_FALSE,
3784 x_return_status => x_return_status,
3785 x_msg_count => x_msg_count,
3786 x_msg_data => x_msg_data,
3787 p_chdv_tbl => p_chdv_tbl,
3788 px_error_tbl => l_error_tbl);
3789 END IF;
3790 OKL_API.END_ACTIVITY(x_msg_count, x_msg_data);
3791 EXCEPTION
3792 WHEN OKL_API.G_EXCEPTION_ERROR THEN
3793 x_return_status := OKL_API.HANDLE_EXCEPTIONS
3794 (
3795 l_api_name,
3796 G_PKG_NAME,
3797 'OKL_API.G_RET_STS_ERROR',
3798 x_msg_count,
3799 x_msg_data,
3800 '_PVT'
3801 );
3802 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
3803 x_return_status := OKL_API.HANDLE_EXCEPTIONS
3804 (
3805 l_api_name,
3806 G_PKG_NAME,
3807 'OKL_API.G_RET_STS_UNEXP_ERROR',
3808 x_msg_count,
3809 x_msg_data,
3810 '_PVT'
3811 );
3812 WHEN OTHERS THEN
3813 x_return_status := OKL_API.HANDLE_EXCEPTIONS
3814 (
3815 l_api_name,
3816 G_PKG_NAME,
3817 'OTHERS',
3818 x_msg_count,
3819 x_msg_data,
3820 '_PVT'
3821 );
3822 END delete_row;
3823
3824 END OKL_CHD_PVT;