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