[Home] [Help]
PACKAGE BODY: APPS.OKS_BTN_PVT
Source
1 PACKAGE BODY OKS_BTN_PVT AS
2 /* $Header: OKSSBTNB.pls 120.0 2005/05/25 17:55:32 appldev noship $ */
3 ---------------------------------------------------------------------------
4 -- FUNCTION get_seq_id
5 ---------------------------------------------------------------------------
6 FUNCTION get_seq_id RETURN NUMBER IS
7 BEGIN
8 RETURN(okc_p_util.raw_to_number(sys_guid()));
9 END get_seq_id;
10
11 ---------------------------------------------------------------------------
12 -- PROCEDURE qc
13 ---------------------------------------------------------------------------
14 PROCEDURE qc IS
15 BEGIN
16 null;
17 END qc;
18
19 ---------------------------------------------------------------------------
20 -- PROCEDURE change_version
21 ---------------------------------------------------------------------------
22 PROCEDURE change_version IS
23 BEGIN
24 null;
25 END change_version;
26
27 ---------------------------------------------------------------------------
28 -- PROCEDURE api_copy
29 ---------------------------------------------------------------------------
30 PROCEDURE api_copy IS
31 BEGIN
32 null;
33 END api_copy;
34
35 ---------------------------------------------------------------------------
36 -- FUNCTION get_rec for: OKS_BILL_TRANSACTIONS
37 ---------------------------------------------------------------------------
38 FUNCTION get_rec (
39 p_btn_rec IN btn_rec_type,
40 x_no_data_found OUT NOCOPY BOOLEAN
41 ) RETURN btn_rec_type IS
42 CURSOR btn_pk_csr (p_id IN NUMBER) IS
43 SELECT
44 ID,
45 CURRENCY_CODE,
46 OBJECT_VERSION_NUMBER,
47 CREATED_BY,
48 CREATION_DATE,
49 LAST_UPDATED_BY,
50 LAST_UPDATE_DATE,
51 TRX_DATE,
52 TRX_NUMBER,
53 TRX_AMOUNT,
54 TRX_CLASS,
55 LAST_UPDATE_LOGIN
56 FROM Oks_Bill_Transactions
57 WHERE oks_bill_transactions.id = p_id;
58 l_btn_pk btn_pk_csr%ROWTYPE;
59 l_btn_rec btn_rec_type;
60 BEGIN
61 x_no_data_found := TRUE;
62 -- Get current database values
63 OPEN btn_pk_csr (p_btn_rec.id);
64 FETCH btn_pk_csr INTO
65 l_btn_rec.ID,
66 l_btn_rec.CURRENCY_CODE,
67 l_btn_rec.OBJECT_VERSION_NUMBER,
68 l_btn_rec.CREATED_BY,
69 l_btn_rec.CREATION_DATE,
70 l_btn_rec.LAST_UPDATED_BY,
71 l_btn_rec.LAST_UPDATE_DATE,
72 l_btn_rec.TRX_DATE,
73 l_btn_rec.TRX_NUMBER,
74 l_btn_rec.TRX_AMOUNT,
75 l_btn_rec.TRX_CLASS,
76 l_btn_rec.LAST_UPDATE_LOGIN;
77 x_no_data_found := btn_pk_csr%NOTFOUND;
78 CLOSE btn_pk_csr;
79 RETURN(l_btn_rec);
80 END get_rec;
81
82 FUNCTION get_rec (
83 p_btn_rec IN btn_rec_type
84 ) RETURN btn_rec_type IS
85 l_row_notfound BOOLEAN := TRUE;
86 BEGIN
87 RETURN(get_rec(p_btn_rec, l_row_notfound));
88 END get_rec;
89 ---------------------------------------------------------------------------
90 -- FUNCTION get_rec for: OKS_BILL_TRANSACTIONS_V
91 ---------------------------------------------------------------------------
92 FUNCTION get_rec (
93 p_btnv_rec IN btnv_rec_type,
94 x_no_data_found OUT NOCOPY BOOLEAN
95 ) RETURN btnv_rec_type IS
96 CURSOR okc_btnv_pk_csr (p_id IN NUMBER) IS
97 SELECT
98 ID,
99 OBJECT_VERSION_NUMBER,
100 TRX_DATE,
101 TRX_NUMBER,
102 TRX_AMOUNT,
103 TRX_CLASS,
104 CURRENCY_CODE,
105 CREATED_BY,
106 CREATION_DATE,
107 LAST_UPDATED_BY,
108 LAST_UPDATE_DATE,
109 LAST_UPDATE_LOGIN
110 FROM Oks_Bill_Transactions_V
111 WHERE oks_bill_transactions_v.id = p_id;
112 l_okc_btnv_pk okc_btnv_pk_csr%ROWTYPE;
113 l_btnv_rec btnv_rec_type;
114 BEGIN
115 x_no_data_found := TRUE;
116 -- Get current database values
117 OPEN okc_btnv_pk_csr (p_btnv_rec.id);
118 FETCH okc_btnv_pk_csr INTO
119 l_btnv_rec.ID,
120 l_btnv_rec.OBJECT_VERSION_NUMBER,
121 l_btnv_rec.TRX_DATE,
122 l_btnv_rec.TRX_NUMBER,
123 l_btnv_rec.TRX_AMOUNT,
124 l_btnv_rec.TRX_CLASS,
125 l_btnv_rec.CURRENCY_CODE,
126 l_btnv_rec.CREATED_BY,
127 l_btnv_rec.CREATION_DATE,
128 l_btnv_rec.LAST_UPDATED_BY,
129 l_btnv_rec.LAST_UPDATE_DATE,
130 l_btnv_rec.LAST_UPDATE_LOGIN;
131 x_no_data_found := okc_btnv_pk_csr%NOTFOUND;
132 CLOSE okc_btnv_pk_csr;
133 RETURN(l_btnv_rec);
134 END get_rec;
135
136 FUNCTION get_rec (
137 p_btnv_rec IN btnv_rec_type
138 ) RETURN btnv_rec_type IS
139 l_row_notfound BOOLEAN := TRUE;
140 BEGIN
141 RETURN(get_rec(p_btnv_rec, l_row_notfound));
142 END get_rec;
143
144 -------------------------------------------------------------
145 -- FUNCTION null_out_defaults for: OKS_BILL_TRANSACTIONS_V --
146 -------------------------------------------------------------
147 FUNCTION null_out_defaults (
148 p_btnv_rec IN btnv_rec_type
149 ) RETURN btnv_rec_type IS
150 l_btnv_rec btnv_rec_type := p_btnv_rec;
151 BEGIN
152 IF (l_btnv_rec.object_version_number = OKC_API.G_MISS_NUM) THEN
153 l_btnv_rec.object_version_number := NULL;
154 END IF;
155 IF (l_btnv_rec.trx_date = OKC_API.G_MISS_DATE) THEN
156 l_btnv_rec.trx_date := NULL;
157 END IF;
158 IF (l_btnv_rec.trx_number = OKC_API.G_MISS_CHAR) THEN
159 l_btnv_rec.trx_number := NULL;
160 END IF;
161 IF (l_btnv_rec.trx_amount = OKC_API.G_MISS_NUM) THEN
162 l_btnv_rec.trx_amount := NULL;
163 END IF;
164 IF (l_btnv_rec.trx_class = OKC_API.G_MISS_CHAR) THEN
165 l_btnv_rec.trx_class := NULL;
166 END IF;
167 IF (l_btnv_rec.currency_code = OKC_API.G_MISS_CHAR) THEN
168 l_btnv_rec.currency_code := NULL;
169 END IF;
170 IF (l_btnv_rec.created_by = OKC_API.G_MISS_NUM) THEN
171 l_btnv_rec.created_by := NULL;
172 END IF;
173 IF (l_btnv_rec.creation_date = OKC_API.G_MISS_DATE) THEN
174 l_btnv_rec.creation_date := NULL;
175 END IF;
176 IF (l_btnv_rec.last_updated_by = OKC_API.G_MISS_NUM) THEN
177 l_btnv_rec.last_updated_by := NULL;
178 END IF;
179 IF (l_btnv_rec.last_update_date = OKC_API.G_MISS_DATE) THEN
180 l_btnv_rec.last_update_date := NULL;
181 END IF;
182 IF (l_btnv_rec.last_update_login = OKC_API.G_MISS_NUM) THEN
183 l_btnv_rec.last_update_login := NULL;
184 END IF;
185 RETURN(l_btnv_rec);
186 END null_out_defaults;
187 ---------------------------------------------------------------------------
188 -- PROCEDURE Validate_Attributes
189 ---------------------------------------------------------------------------
190 -----------------------------------------------------
191 -- Validate ID--
192 -----------------------------------------------------
193 PROCEDURE validate_id(x_return_status OUT NOCOPY varchar2,
194 p_id IN Number)
195 Is
196 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
197 Begin
198
199 x_return_status := OKC_API.G_RET_STS_SUCCESS;
200
201 If p_id = OKC_API.G_MISS_NUM OR
202 p_id IS NULL
203 Then
204 OKC_API.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'id');
205 l_return_status := OKC_API.G_RET_STS_ERROR;
206 End If;
207
208 Exception
209 When G_EXCEPTION_HALT_VALIDATION THEN
210 x_return_status := l_return_status;
211 NULL;
212 When OTHERS THEN
213 -- store SQL error message on message stack for caller
214 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
215 p_msg_name => g_unexpected_error,
216 p_token1 => g_sqlcode_token,
217 p_token1_value => sqlcode,
218 p_token2 => g_sqlerrm_token,
219 p_token2_value => sqlerrm);
220
221 -- notify caller of an UNEXPECTED error
222 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
223 End validate_id;
224
225 -----------------------------------------------------
226 -- Validate Object Version Number --
227 -----------------------------------------------------
228 PROCEDURE validate_objvernum(x_return_status OUT NOCOPY varchar2,
229 P_object_version_number IN Number)
230 Is
231 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
232 Begin
233
234 x_return_status := OKC_API.G_RET_STS_SUCCESS;
235
236 If p_object_version_number = OKC_API.G_MISS_NUM OR
237 p_object_version_number IS NULL
238 Then
239 OKC_API.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'object_version_number');
240 x_return_status := OKC_API.G_RET_STS_ERROR;
241 RAISE G_EXCEPTION_HALT_VALIDATION;
242 End If;
243
244 Exception
245 When G_EXCEPTION_HALT_VALIDATION Then
246 NULL;
247 When OTHERS Then
248 -- store SQL error message on message stack for caller
249 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
250 p_msg_name => g_unexpected_error,
251 p_token1 => g_sqlcode_token,
252 p_token1_value => sqlcode,
253 p_token2 => g_sqlerrm_token,
254 p_token2_value => sqlerrm);
255
256 -- notify caller of an UNEXPECTED error
257 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
258 END validate_objvernum;
259 -----------------------------------------------------
260 -- Validate TRX DATE --
261 -----------------------------------------------------
262 PROCEDURE validate_Trx_Date(x_return_status OUT NOCOPY varchar2,
263 P_Trx_Date IN DATE)
264 Is
265 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
266
267 Begin
268
269
270 x_return_status := OKC_API.G_RET_STS_SUCCESS;
271
272 Exception
273 When G_EXCEPTION_HALT_VALIDATION Then
274 NULL;
275 When OTHERS Then
276 -- store SQL error message on message stack for caller
277 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
278 p_msg_name => g_unexpected_error,
279 p_token1 => g_sqlcode_token,
280 p_token1_value => sqlcode,
281 p_token2 => g_sqlerrm_token,
282 p_token2_value => sqlerrm);
283
284 -- notify caller of an UNEXPECTED error
285 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
286
287
288 END validate_Trx_Date;
289
290 -----------------------------------------------------
291 -- Validate TRX NUMBER --
292 -----------------------------------------------------
293 PROCEDURE validate_Trx_Number( x_return_status OUT NOCOPY varchar2,
294 P_Trx_Number IN VARCHAR2)
295 Is
296 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
297 Begin
298 -- call column length utility
299 /*
300 OKC_UTIL.CHECK_LENGTH
301 (
302 p_view_name => 'OKS_BILL_TRANSACTIONS_V'
303 ,p_col_name => 'TRX_NUMBER'
304 ,p_col_value => P_Trx_Number
305 ,x_return_status => l_return_status
306 );
307 */
308
309 -- verify that length is within allowed limits
310 If (l_return_status <> OKC_API.G_RET_STS_SUCCESS) then
311 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
312 p_msg_name => g_unexpected_error,
313 p_token1 => g_sqlcode_token,
314 p_token1_value => sqlcode,
315 p_token2 => g_sqlerrm_token,
316 p_token2_value => 'Trx Number Length');
317
318
319 -- notify caller of an error
320 x_return_status := OKC_API.G_RET_STS_ERROR;
321 -- halt further validation of this column
322 RAISE G_EXCEPTION_HALT_VALIDATION;
323 End If;
324
325 Exception
326 When G_EXCEPTION_HALT_VALIDATION Then
327 NULL;
328 When OTHERS Then
329 -- store SQL error message on message stack for caller
330 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
331 p_msg_name => g_unexpected_error,
332 p_token1 => g_sqlcode_token,
333 p_token1_value => sqlcode,
334 p_token2 => g_sqlerrm_token,
335 p_token2_value => sqlerrm);
336
337 -- notify caller of an UNEXPECTED error
338 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
339 END validate_Trx_Number;
340
341 -----------------------------------------------------
342 -- Validate TRX Amount --
343 -----------------------------------------------------
344 PROCEDURE validate_Trx_Amount(x_return_status OUT NOCOPY varchar2,
345 P_Trx_Amount IN NUMBER)
346 Is
347 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
348 Begin
349 -- call column length utility
350 /*
351 OKC_UTIL.CHECK_LENGTH
352 (
353 p_view_name => 'OKS_BILL_TRANSACTIONS_V'
354 ,p_col_name => 'TRX_AMOUNT'
355 ,p_col_value => P_Trx_Amount
356 ,x_return_status => l_return_status
357 );
358 */
359
360 -- verify that length is within allowed limits
361 If (l_return_status <> OKC_API.G_RET_STS_SUCCESS) then
362 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
363 p_msg_name => g_unexpected_error,
364 p_token1 => g_sqlcode_token,
365 p_token1_value => sqlcode,
366 p_token2 => g_sqlerrm_token,
367 p_token2_value => 'Trx Amount Length');
368
369
370 -- notify caller of an error
371 x_return_status := OKC_API.G_RET_STS_ERROR;
372 -- halt further validation of this column
373 RAISE G_EXCEPTION_HALT_VALIDATION;
374 End If;
375
376 Exception
377 When G_EXCEPTION_HALT_VALIDATION Then
378 NULL;
379 When OTHERS Then
380 -- store SQL error message on message stack for caller
381 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
382 p_msg_name => g_unexpected_error,
383 p_token1 => g_sqlcode_token,
384 p_token1_value => sqlcode,
385 p_token2 => g_sqlerrm_token,
386 p_token2_value => sqlerrm);
387
388 -- notify caller of an UNEXPECTED error
389 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
390 END validate_Trx_Amount;
391 -----------------------------------------------------
392 -- Validate TRX Class --
393 -----------------------------------------------------
394 PROCEDURE validate_Trx_Class (x_return_status OUT NOCOPY varchar2,
395 P_Trx_Class IN Varchar2)
396 Is
397 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
398 Begin
399
400 x_return_status := OKC_API.G_RET_STS_SUCCESS;
401
402 -- call column length utility
403
404 /*
405 OKC_UTIL.CHECK_LENGTH
406 (
407 p_view_name => 'OKS_BILL_TRANSACTIONS_V'
408 ,p_col_name => 'TRX_CLASS'
409 ,p_col_value => P_Trx_Class
410 ,x_return_status => l_return_status
411 );
412
413 */
414
415 -- verify that length is within allowed limits
416 If (l_return_status <> OKC_API.G_RET_STS_SUCCESS) then
417 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
418 p_msg_name => g_unexpected_error,
419 p_token1 => g_sqlcode_token,
420 p_token1_value => sqlcode,
421 p_token2 => g_sqlerrm_token,
422 p_token2_value => 'Trx_Class length');
423
424
425 -- notify caller of an error
426 x_return_status := OKC_API.G_RET_STS_ERROR;
427 -- halt further validation of this column
428 RAISE G_EXCEPTION_HALT_VALIDATION;
429 End If;
430
431 Exception
432 When G_EXCEPTION_HALT_VALIDATION Then
433 NULL;
434 When OTHERS Then
435 -- store SQL error message on message stack for caller
436 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
437 p_msg_name => g_unexpected_error,
438 p_token1 => g_sqlcode_token,
439 p_token1_value => sqlcode,
440 p_token2 => g_sqlerrm_token,
441 p_token2_value => sqlerrm);
442
443 -- notify caller of an UNEXPECTED error
444 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
445 END validate_Trx_Class;
446
447 -----------------------------------------------------
448 -- Validate TRX Class --
449 -----------------------------------------------------
450 PROCEDURE validate_Currency_Code( x_return_status OUT NOCOPY varchar2,
451 P_Currency_Code IN Varchar2)
452 Is
453 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
454 Begin
455
456 x_return_status := OKC_API.G_RET_STS_SUCCESS;
457
458
459 If P_Currency_Code= OKC_API.G_MISS_CHAR OR
460 P_Currency_Code IS NULL
461 Then
462 OKC_API.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'CURRENCY_CODE');
463 x_return_status := OKC_API.G_RET_STS_ERROR;
464 RAISE G_EXCEPTION_HALT_VALIDATION;
465 End If;
466
467 -- call column length utility
468
469 /*
470 OKC_UTIL.CHECK_LENGTH
471 (
472 p_view_name => 'OKS_BILL_TRANSACTIONS_V'
473 ,p_col_name => 'CURRENCY_CODE'
474 ,p_col_value => P_Currency_Code
475 ,x_return_status => l_return_status
476 );
477 */
478
479 -- verify that length is within allowed limits
480 If (l_return_status <> OKC_API.G_RET_STS_SUCCESS) then
481 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
482 p_msg_name => g_unexpected_error,
483 p_token1 => g_sqlcode_token,
484 p_token1_value => sqlcode,
485 p_token2 => g_sqlerrm_token,
486 p_token2_value => 'CURRENCY CODE length');
487
488
489 -- notify caller of an error
490 x_return_status := OKC_API.G_RET_STS_ERROR;
491 -- halt further validation of this column
492 RAISE G_EXCEPTION_HALT_VALIDATION;
493 End If;
494
495 Exception
496 When G_EXCEPTION_HALT_VALIDATION Then
497 NULL;
498 When OTHERS Then
499 -- store SQL error message on message stack for caller
500 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
501 p_msg_name => g_unexpected_error,
502 p_token1 => g_sqlcode_token,
503 p_token1_value => sqlcode,
504 p_token2 => g_sqlerrm_token,
505 p_token2_value => sqlerrm);
506
507 -- notify caller of an UNEXPECTED error
508 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
509 END validate_Currency_Code;
510
511
512 ---------------------------------------------------
513 -- Validate_Attributes for:OKS_BILL_TRANSACTIONS_V --
514 ---------------------------------------------------
515 FUNCTION Validate_Attributes (
516 p_btnv_rec IN btnv_rec_type
517 )
518 Return VARCHAR2 Is
519 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
520 x_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
521
522 Begin
523 -- call OKC_UTIL.ADD_VIEW to prepare the PL/SQL table to hold columns of view
524
525 OKC_UTIL.ADD_VIEW('OKS_BILL_TRANSACTIONS_V',x_return_status);
526
527 IF (x_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
528 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
529 -- need to leave
530 l_return_status := x_return_status;
531 RAISE G_EXCEPTION_HALT_VALIDATION;
532 ELSE
533 -- record that there is a error
534 l_return_status := x_return_status;
535 END IF;
536 END IF;
537
538 --Column Level Validation
539
540 --ID
541 validate_id(x_return_status, p_btnv_rec.id);
542
543 -- store the highest degree of error
544 IF (x_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
545 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
546 -- need to leave
547 l_return_status := x_return_status;
548 RAISE G_EXCEPTION_HALT_VALIDATION;
549 ELSE
550 -- record that there was an error
551 l_return_status := x_return_status;
552 END IF;
553 END IF;
554
555 --OBJECT_VERSION_NUMBER
556 validate_objvernum(x_return_status, p_btnv_rec.object_version_number);
557
558 -- store the highest degree of error
559 IF (x_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
560 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
561 -- need to leave
562 l_return_status := x_return_status;
563 RAISE G_EXCEPTION_HALT_VALIDATION;
564 ELSE
565 -- record that there was an error
566 l_return_status := x_return_status;
567 END IF;
568 END IF;
569 --TRX_DATE
570 validate_Trx_Date(x_return_status, p_btnv_rec.Trx_Date);
571
572 -- store the highest degree of error
573 IF (x_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
574 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
575
576
577 -- need to leave
578 l_return_status := x_return_status;
579 RAISE G_EXCEPTION_HALT_VALIDATION;
580 ELSE
581 -- record that there was an error
582 l_return_status := x_return_status;
583 END IF;
584 END IF;
585
586 --TRX_NUMBER
587 validate_Trx_Number(x_return_status, p_btnv_rec.Trx_Number);
588
589 -- store the highest degree of error
590 IF (x_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
591 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
592
593 -- need to leave
594 l_return_status := x_return_status;
595 RAISE G_EXCEPTION_HALT_VALIDATION;
596 ELSE
597 -- record that there was an error
598 l_return_status := x_return_status;
599 END IF;
600 END IF;
601
602 --TRX_AMOUNT
603 validate_Trx_amount(x_return_status, p_btnv_rec.Trx_Amount);
604
605 -- store the highest degree of error
606 IF (x_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
607 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
608 -- need to leave
609 l_return_status := x_return_status;
610 RAISE G_EXCEPTION_HALT_VALIDATION;
611 ELSE
612 -- record that there was an error
613 l_return_status := x_return_status;
614 END IF;
615 END IF;
616
617
618 --TRX_Class
619 validate_Trx_Class(x_return_status, p_btnv_rec.Trx_Class);
620 -- store the highest degree of error
621 IF (x_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
622 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
623 -- need to leave
624 l_return_status := x_return_status;
625 RAISE G_EXCEPTION_HALT_VALIDATION;
626 ELSE
627 -- record that there was an error
628 l_return_status := x_return_status;
629 END IF;
630 END IF;
631
632 --Currency Code
633 validate_Currency_Code(x_return_status, p_btnv_rec.Currency_Code);
634 -- store the highest degree of error
635 IF (x_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
636 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
637 -- need to leave
638 l_return_status := x_return_status;
639 RAISE G_EXCEPTION_HALT_VALIDATION;
640 ELSE
641 -- record that there was an error
642 l_return_status := x_return_status;
643 END IF;
644 END IF;
645
646 Raise G_EXCEPTION_HALT_VALIDATION;
647
648 Exception
649
650 When G_EXCEPTION_HALT_VALIDATION Then
651
652 Return (l_return_status);
653
654 When OTHERS Then
655 -- store SQL error message on message stack for caller
656 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
657 p_msg_name => g_unexpected_error,
658 p_token1 => g_sqlcode_token,
659 p_token1_value => sqlcode,
660 p_token2 => g_sqlerrm_token,
661 p_token2_value => sqlerrm);
662
663 -- notify caller of an UNEXPECTED error
664 l_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
665 Return(l_return_status);
666
667 END validate_attributes;
668
669
670 /*
671 -----------------------------------------------------
672 -- Validate_Attributes for:OKS_BILL_TRANSACTIONS_V --
673 -----------------------------------------------------
674 FUNCTION Validate_Attributes (
675 p_btnv_rec IN btnv_rec_type
676 ) RETURN VARCHAR2 IS
677 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
678 BEGIN
679 IF p_btnv_rec.id = OKC_API.G_MISS_NUM OR
680 p_btnv_rec.id IS NULL
681 THEN
682 OKC_API.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'id');
683 l_return_status := OKC_API.G_RET_STS_ERROR;
684 ELSIF p_btnv_rec.object_version_number = OKC_API.G_MISS_NUM OR
685 p_btnv_rec.object_version_number IS NULL
686 THEN
687 OKC_API.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'object_version_number');
688 l_return_status := OKC_API.G_RET_STS_ERROR;
689 ELSIF p_btnv_rec.currency_code = OKC_API.G_MISS_CHAR OR
690 p_btnv_rec.currency_code IS NULL
691 THEN
692 OKC_API.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'currency_code');
693 l_return_status := OKC_API.G_RET_STS_ERROR;
694 END IF;
695 RETURN(l_return_status);
696 END Validate_Attributes;
697 */
698 ---------------------------------------------------------------------------
699 -- PROCEDURE Validate_Record
700 ---------------------------------------------------------------------------
701 -------------------------------------------------
702 -- Validate_Record for:OKS_BILL_TRANSACTIONS_V --
703 -------------------------------------------------
704 FUNCTION Validate_Record (
705 p_btnv_rec IN btnv_rec_type
706 ) RETURN VARCHAR2 IS
707 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
708 ------------------------------------
709 -- FUNCTION validate_foreign_keys --
710 ------------------------------------
711 FUNCTION validate_foreign_keys (
712 p_btnv_rec IN btnv_rec_type
713 ) RETURN VARCHAR2 IS
714 item_not_found_error EXCEPTION;
715 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
716 l_row_notfound BOOLEAN := TRUE;
717 BEGIN
718 RETURN (l_return_status);
719 EXCEPTION
720 WHEN item_not_found_error THEN
721 l_return_status := OKC_API.G_RET_STS_ERROR;
722 RETURN (l_return_status);
723 END validate_foreign_keys;
724 BEGIN
725 l_return_status := validate_foreign_keys (p_btnv_rec);
726 RETURN (l_return_status);
727 END Validate_Record;
728
729 ---------------------------------------------------------------------------
730 -- PROCEDURE Migrate
731 ---------------------------------------------------------------------------
732 PROCEDURE migrate (
733 p_from IN btnv_rec_type,
734 p_to OUT NOCOPY btn_rec_type
735 ) IS
736 BEGIN
737 p_to.id := p_from.id;
738 p_to.currency_code := p_from.currency_code;
739 p_to.object_version_number := p_from.object_version_number;
740 p_to.created_by := p_from.created_by;
741 p_to.creation_date := p_from.creation_date;
742 p_to.last_updated_by := p_from.last_updated_by;
743 p_to.last_update_date := p_from.last_update_date;
744 p_to.trx_date := p_from.trx_date;
745 p_to.trx_number := p_from.trx_number;
746 p_to.trx_amount := p_from.trx_amount;
747 p_to.trx_class := p_from.trx_class;
748 p_to.last_update_login := p_from.last_update_login;
749 END migrate;
750 PROCEDURE migrate (
751 p_from IN btn_rec_type,
752 p_to OUT NOCOPY btnv_rec_type
753 ) IS
754 BEGIN
755 p_to.id := p_from.id;
756 p_to.currency_code := p_from.currency_code;
757 p_to.object_version_number := p_from.object_version_number;
758 p_to.created_by := p_from.created_by;
759 p_to.creation_date := p_from.creation_date;
760 p_to.last_updated_by := p_from.last_updated_by;
761 p_to.last_update_date := p_from.last_update_date;
762 p_to.trx_date := p_from.trx_date;
763 p_to.trx_number := p_from.trx_number;
764 p_to.trx_amount := p_from.trx_amount;
765 p_to.trx_class := p_from.trx_class;
766 p_to.last_update_login := p_from.last_update_login;
767 END migrate;
768
769 ---------------------------------------------------------------------------
770 -- PROCEDURE validate_row
771 ---------------------------------------------------------------------------
772 ----------------------------------------------
773 -- validate_row for:OKS_BILL_TRANSACTIONS_V --
774 ----------------------------------------------
775 PROCEDURE validate_row(
776 p_api_version IN NUMBER,
777 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
778 x_return_status OUT NOCOPY VARCHAR2,
779 x_msg_count OUT NOCOPY NUMBER,
780 x_msg_data OUT NOCOPY VARCHAR2,
781 p_btnv_rec IN btnv_rec_type) IS
782
783 l_api_version CONSTANT NUMBER := 1;
784 l_api_name CONSTANT VARCHAR2(30) := 'V_validate_row';
785 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
786 l_btnv_rec btnv_rec_type := p_btnv_rec;
787 l_btn_rec btn_rec_type;
788 BEGIN
789 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
790 G_PKG_NAME,
791 p_init_msg_list,
792 l_api_version,
793 p_api_version,
794 '_PVT',
795 x_return_status);
796 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
797 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
798 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
799 RAISE OKC_API.G_EXCEPTION_ERROR;
800 END IF;
801 --- Validate all non-missing attributes (Item Level Validation)
802 l_return_status := Validate_Attributes(l_btnv_rec);
803 --- If any errors happen abort API
804 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
805 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
806 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
807 RAISE OKC_API.G_EXCEPTION_ERROR;
808 END IF;
809 l_return_status := Validate_Record(l_btnv_rec);
810 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
811 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
812 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
813 RAISE OKC_API.G_EXCEPTION_ERROR;
814 END IF;
815 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
816 EXCEPTION
817 WHEN OKC_API.G_EXCEPTION_ERROR THEN
818 x_return_status := OKC_API.HANDLE_EXCEPTIONS
819 (
820 l_api_name,
821 G_PKG_NAME,
822 'OKC_API.G_RET_STS_ERROR',
823 x_msg_count,
824 x_msg_data,
825 '_PVT'
826 );
827 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
828 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
829 (
830 l_api_name,
831 G_PKG_NAME,
832 'OKC_API.G_RET_STS_UNEXP_ERROR',
833 x_msg_count,
834 x_msg_data,
835 '_PVT'
836 );
837 WHEN OTHERS THEN
838 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
839 (
840 l_api_name,
841 G_PKG_NAME,
842 'OTHERS',
843 x_msg_count,
844 x_msg_data,
845 '_PVT'
846 );
847 END validate_row;
848 ------------------------------------------
849 -- PL/SQL TBL validate_row for:BTNV_TBL --
850 ------------------------------------------
851 PROCEDURE validate_row(
852 p_api_version IN NUMBER,
853 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
854 x_return_status OUT NOCOPY VARCHAR2,
855 x_msg_count OUT NOCOPY NUMBER,
856 x_msg_data OUT NOCOPY VARCHAR2,
857 p_btnv_tbl IN btnv_tbl_type) IS
858
859 l_api_version CONSTANT NUMBER := 1;
860 l_api_name CONSTANT VARCHAR2(30) := 'V_tbl_validate_row';
861 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
862 i NUMBER := 0;
863 BEGIN
864 OKC_API.init_msg_list(p_init_msg_list);
865 -- Make sure PL/SQL table has records in it before passing
866 IF (p_btnv_tbl.COUNT > 0) THEN
867 i := p_btnv_tbl.FIRST;
868 LOOP
869 validate_row (
870 p_api_version => p_api_version,
871 p_init_msg_list => OKC_API.G_FALSE,
872 x_return_status => x_return_status,
873 x_msg_count => x_msg_count,
874 x_msg_data => x_msg_data,
875 p_btnv_rec => p_btnv_tbl(i));
876 EXIT WHEN (i = p_btnv_tbl.LAST);
877 i := p_btnv_tbl.NEXT(i);
878 END LOOP;
879 END IF;
880 EXCEPTION
881 WHEN OKC_API.G_EXCEPTION_ERROR THEN
882 x_return_status := OKC_API.HANDLE_EXCEPTIONS
883 (
884 l_api_name,
885 G_PKG_NAME,
886 'OKC_API.G_RET_STS_ERROR',
887 x_msg_count,
888 x_msg_data,
889 '_PVT'
890 );
891 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
892 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
893 (
894 l_api_name,
895 G_PKG_NAME,
896 'OKC_API.G_RET_STS_UNEXP_ERROR',
897 x_msg_count,
898 x_msg_data,
899 '_PVT'
900 );
901 WHEN OTHERS THEN
902 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
903 (
904 l_api_name,
905 G_PKG_NAME,
906 'OTHERS',
907 x_msg_count,
908 x_msg_data,
909 '_PVT'
910 );
911 END validate_row;
912
913 ---------------------------------------------------------------------------
914 -- PROCEDURE insert_row
915 ---------------------------------------------------------------------------
916 ------------------------------------------
917 -- insert_row for:OKS_BILL_TRANSACTIONS --
918 ------------------------------------------
919 PROCEDURE insert_row(
920 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
921 x_return_status OUT NOCOPY VARCHAR2,
922 x_msg_count OUT NOCOPY NUMBER,
923 x_msg_data OUT NOCOPY VARCHAR2,
924 p_btn_rec IN btn_rec_type,
925 x_btn_rec OUT NOCOPY btn_rec_type) IS
926
927 l_api_version CONSTANT NUMBER := 1;
928 l_api_name CONSTANT VARCHAR2(30) := 'TRANSACTIONS_insert_row';
929 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
930 l_btn_rec btn_rec_type := p_btn_rec;
931 l_def_btn_rec btn_rec_type;
932 ----------------------------------------------
933 -- Set_Attributes for:OKS_BILL_TRANSACTIONS --
934 ----------------------------------------------
935 FUNCTION Set_Attributes (
936 p_btn_rec IN btn_rec_type,
937 x_btn_rec OUT NOCOPY btn_rec_type
938 ) RETURN VARCHAR2 IS
939 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
940 BEGIN
941 x_btn_rec := p_btn_rec;
942 RETURN(l_return_status);
943 END Set_Attributes;
944 BEGIN
945 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
946 p_init_msg_list,
947 '_PVT',
948 x_return_status);
949 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
950 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
951 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
952 RAISE OKC_API.G_EXCEPTION_ERROR;
953 END IF;
954 --- Setting item attributes
955 l_return_status := Set_Attributes(
956 p_btn_rec, -- IN
957 l_btn_rec); -- OUT
958 --- If any errors happen abort API
959 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
960 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
961 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
962 RAISE OKC_API.G_EXCEPTION_ERROR;
963 END IF;
964 INSERT INTO OKS_BILL_TRANSACTIONS(
965 id,
966 currency_code,
967 object_version_number,
968 created_by,
969 creation_date,
970 last_updated_by,
971 last_update_date,
972 trx_date,
973 trx_number,
974 trx_amount,
975 trx_class,
976 last_update_login)
977 VALUES (
978 l_btn_rec.id,
979 l_btn_rec.currency_code,
980 l_btn_rec.object_version_number,
981 l_btn_rec.created_by,
982 l_btn_rec.creation_date,
983 l_btn_rec.last_updated_by,
984 l_btn_rec.last_update_date,
985 l_btn_rec.trx_date,
986 l_btn_rec.trx_number,
987 l_btn_rec.trx_amount,
988 l_btn_rec.trx_class,
989 l_btn_rec.last_update_login);
990 -- Set OUT values
991 x_btn_rec := l_btn_rec;
992 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
993 EXCEPTION
994 WHEN OKC_API.G_EXCEPTION_ERROR THEN
995 x_return_status := OKC_API.HANDLE_EXCEPTIONS
996 (
997 l_api_name,
998 G_PKG_NAME,
999 'OKC_API.G_RET_STS_ERROR',
1000 x_msg_count,
1001 x_msg_data,
1002 '_PVT'
1003 );
1004 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
1005 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
1006 (
1007 l_api_name,
1008 G_PKG_NAME,
1009 'OKC_API.G_RET_STS_UNEXP_ERROR',
1010 x_msg_count,
1011 x_msg_data,
1012 '_PVT'
1013 );
1014 WHEN OTHERS THEN
1015 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
1016 (
1017 l_api_name,
1018 G_PKG_NAME,
1019 'OTHERS',
1020 x_msg_count,
1021 x_msg_data,
1022 '_PVT'
1023 );
1024 END insert_row;
1025 --------------------------------------------
1026 -- insert_row for:OKS_BILL_TRANSACTIONS_V --
1027 --------------------------------------------
1028 PROCEDURE insert_row(
1029 p_api_version IN NUMBER,
1030 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
1031 x_return_status OUT NOCOPY VARCHAR2,
1032 x_msg_count OUT NOCOPY NUMBER,
1033 x_msg_data OUT NOCOPY VARCHAR2,
1034 p_btnv_rec IN btnv_rec_type,
1035 x_btnv_rec OUT NOCOPY btnv_rec_type) IS
1036
1037 l_api_version CONSTANT NUMBER := 1;
1038 l_api_name CONSTANT VARCHAR2(30) := 'V_insert_row';
1039 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1040 l_btnv_rec btnv_rec_type;
1041 l_def_btnv_rec btnv_rec_type;
1042 l_btn_rec btn_rec_type;
1043 lx_btn_rec btn_rec_type;
1044 -------------------------------
1045 -- FUNCTION fill_who_columns --
1046 -------------------------------
1047 FUNCTION fill_who_columns (
1048 p_btnv_rec IN btnv_rec_type
1049 ) RETURN btnv_rec_type IS
1050 l_btnv_rec btnv_rec_type := p_btnv_rec;
1051 BEGIN
1052 l_btnv_rec.CREATION_DATE := SYSDATE;
1053 l_btnv_rec.CREATED_BY := FND_GLOBAL.USER_ID;
1054 l_btnv_rec.LAST_UPDATE_DATE := SYSDATE;
1055 l_btnv_rec.LAST_UPDATED_BY := FND_GLOBAL.USER_ID;
1056 l_btnv_rec.LAST_UPDATE_LOGIN := FND_GLOBAL.LOGIN_ID;
1057 RETURN(l_btnv_rec);
1058 END fill_who_columns;
1059 ------------------------------------------------
1060 -- Set_Attributes for:OKS_BILL_TRANSACTIONS_V --
1061 ------------------------------------------------
1062 FUNCTION Set_Attributes (
1063 p_btnv_rec IN btnv_rec_type,
1064 x_btnv_rec OUT NOCOPY btnv_rec_type
1065 ) RETURN VARCHAR2 IS
1066 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1067 BEGIN
1068 x_btnv_rec := p_btnv_rec;
1069 x_btnv_rec.OBJECT_VERSION_NUMBER := 1;
1070 RETURN(l_return_status);
1071 END Set_Attributes;
1072 BEGIN
1073 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
1074 G_PKG_NAME,
1075 p_init_msg_list,
1076 l_api_version,
1077 p_api_version,
1078 '_PVT',
1079 x_return_status);
1080 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1081 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1082 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
1083 RAISE OKC_API.G_EXCEPTION_ERROR;
1084 END IF;
1085 l_btnv_rec := null_out_defaults(p_btnv_rec);
1086 -- Set primary key value
1087 l_btnv_rec.ID := get_seq_id;
1088 --- Setting item attributes
1089 l_return_status := Set_Attributes(
1090 l_btnv_rec, -- IN
1091 l_def_btnv_rec); -- OUT
1092 --- If any errors happen abort API
1093 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1094 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1095 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
1096 RAISE OKC_API.G_EXCEPTION_ERROR;
1097 END IF;
1098 l_def_btnv_rec := fill_who_columns(l_def_btnv_rec);
1099 --- Validate all non-missing attributes (Item Level Validation)
1100 l_return_status := Validate_Attributes(l_def_btnv_rec);
1101 --- If any errors happen abort API
1102 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1103 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1104 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
1105 RAISE OKC_API.G_EXCEPTION_ERROR;
1106 END IF;
1107 l_return_status := Validate_Record(l_def_btnv_rec);
1108 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1109 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1110 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
1111 RAISE OKC_API.G_EXCEPTION_ERROR;
1112 END IF;
1113 --------------------------------------
1114 -- Move VIEW record to "Child" records
1115 --------------------------------------
1116 migrate(l_def_btnv_rec, l_btn_rec);
1117 --------------------------------------------
1118 -- Call the INSERT_ROW for each child record
1119 --------------------------------------------
1120 insert_row(
1121 p_init_msg_list,
1122 x_return_status,
1123 x_msg_count,
1124 x_msg_data,
1125 l_btn_rec,
1126 lx_btn_rec
1127 );
1128 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1129 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1130 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
1131 RAISE OKC_API.G_EXCEPTION_ERROR;
1132 END IF;
1133 migrate(lx_btn_rec, l_def_btnv_rec);
1134 -- Set OUT values
1135 x_btnv_rec := l_def_btnv_rec;
1136 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
1137 EXCEPTION
1138 WHEN OKC_API.G_EXCEPTION_ERROR THEN
1139 x_return_status := OKC_API.HANDLE_EXCEPTIONS
1140 (
1141 l_api_name,
1142 G_PKG_NAME,
1143 'OKC_API.G_RET_STS_ERROR',
1144 x_msg_count,
1145 x_msg_data,
1146 '_PVT'
1147 );
1148 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
1149 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
1150 (
1151 l_api_name,
1152 G_PKG_NAME,
1153 'OKC_API.G_RET_STS_UNEXP_ERROR',
1154 x_msg_count,
1155 x_msg_data,
1156 '_PVT'
1157 );
1158 WHEN OTHERS THEN
1159 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
1160 (
1161 l_api_name,
1162 G_PKG_NAME,
1163 'OTHERS',
1164 x_msg_count,
1165 x_msg_data,
1166 '_PVT'
1167 );
1168 END insert_row;
1169 ----------------------------------------
1170 -- PL/SQL TBL insert_row for:BTNV_TBL --
1171 ----------------------------------------
1172 PROCEDURE insert_row(
1173 p_api_version IN NUMBER,
1174 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
1175 x_return_status OUT NOCOPY VARCHAR2,
1176 x_msg_count OUT NOCOPY NUMBER,
1177 x_msg_data OUT NOCOPY VARCHAR2,
1178 p_btnv_tbl IN btnv_tbl_type,
1179 x_btnv_tbl OUT NOCOPY btnv_tbl_type) IS
1180
1181 l_api_version CONSTANT NUMBER := 1;
1182 l_api_name CONSTANT VARCHAR2(30) := 'V_tbl_insert_row';
1183 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1184 i NUMBER := 0;
1185 BEGIN
1186 OKC_API.init_msg_list(p_init_msg_list);
1187 -- Make sure PL/SQL table has records in it before passing
1188 IF (p_btnv_tbl.COUNT > 0) THEN
1189 i := p_btnv_tbl.FIRST;
1190 LOOP
1191 insert_row (
1192 p_api_version => p_api_version,
1193 p_init_msg_list => OKC_API.G_FALSE,
1194 x_return_status => x_return_status,
1195 x_msg_count => x_msg_count,
1196 x_msg_data => x_msg_data,
1197 p_btnv_rec => p_btnv_tbl(i),
1198 x_btnv_rec => x_btnv_tbl(i));
1199 EXIT WHEN (i = p_btnv_tbl.LAST);
1200 i := p_btnv_tbl.NEXT(i);
1201 END LOOP;
1202 END IF;
1203 EXCEPTION
1204 WHEN OKC_API.G_EXCEPTION_ERROR THEN
1205 x_return_status := OKC_API.HANDLE_EXCEPTIONS
1206 (
1207 l_api_name,
1208 G_PKG_NAME,
1209 'OKC_API.G_RET_STS_ERROR',
1210 x_msg_count,
1211 x_msg_data,
1212 '_PVT'
1213 );
1214 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
1215 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
1216 (
1217 l_api_name,
1218 G_PKG_NAME,
1219 'OKC_API.G_RET_STS_UNEXP_ERROR',
1220 x_msg_count,
1221 x_msg_data,
1222 '_PVT'
1223 );
1224 WHEN OTHERS THEN
1225 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
1226 (
1227 l_api_name,
1228 G_PKG_NAME,
1229 'OTHERS',
1230 x_msg_count,
1231 x_msg_data,
1232 '_PVT'
1233 );
1234 END insert_row;
1235
1236 ---------------------------------------------------------------------------
1237 -- PROCEDURE lock_row
1238 ---------------------------------------------------------------------------
1239 ----------------------------------------
1240 -- lock_row for:OKS_BILL_TRANSACTIONS --
1241 ----------------------------------------
1242 PROCEDURE lock_row(
1243 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
1244 x_return_status OUT NOCOPY VARCHAR2,
1245 x_msg_count OUT NOCOPY NUMBER,
1246 x_msg_data OUT NOCOPY VARCHAR2,
1247 p_btn_rec IN btn_rec_type) IS
1248
1249 E_Resource_Busy EXCEPTION;
1250 PRAGMA EXCEPTION_INIT(E_Resource_Busy, -00054);
1251 CURSOR lock_csr (p_btn_rec IN btn_rec_type) IS
1252 SELECT OBJECT_VERSION_NUMBER
1253 FROM OKS_BILL_TRANSACTIONS
1254 WHERE ID = p_btn_rec.id
1255 AND OBJECT_VERSION_NUMBER = p_btn_rec.object_version_number
1256 FOR UPDATE OF OBJECT_VERSION_NUMBER NOWAIT;
1257
1258 CURSOR lchk_csr (p_btn_rec IN btn_rec_type) IS
1259 SELECT OBJECT_VERSION_NUMBER
1260 FROM OKS_BILL_TRANSACTIONS
1261 WHERE ID = p_btn_rec.id;
1262 l_api_version CONSTANT NUMBER := 1;
1263 l_api_name CONSTANT VARCHAR2(30) := 'TRANSACTIONS_lock_row';
1264 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1265 l_object_version_number OKS_BILL_TRANSACTIONS.OBJECT_VERSION_NUMBER%TYPE;
1266 lc_object_version_number OKS_BILL_TRANSACTIONS.OBJECT_VERSION_NUMBER%TYPE;
1267 l_row_notfound BOOLEAN := FALSE;
1268 lc_row_notfound BOOLEAN := FALSE;
1269 BEGIN
1270 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
1271 p_init_msg_list,
1272 '_PVT',
1273 x_return_status);
1274 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1275 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1276 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
1277 RAISE OKC_API.G_EXCEPTION_ERROR;
1278 END IF;
1279 BEGIN
1280 OPEN lock_csr(p_btn_rec);
1281 FETCH lock_csr INTO l_object_version_number;
1282 l_row_notfound := lock_csr%NOTFOUND;
1283 CLOSE lock_csr;
1284 EXCEPTION
1285 WHEN E_Resource_Busy THEN
1286 IF (lock_csr%ISOPEN) THEN
1287 CLOSE lock_csr;
1288 END IF;
1289 OKC_API.set_message(G_FND_APP,G_FORM_UNABLE_TO_RESERVE_REC);
1290 RAISE APP_EXCEPTIONS.RECORD_LOCK_EXCEPTION;
1291 END;
1292
1293 IF ( l_row_notfound ) THEN
1294 OPEN lchk_csr(p_btn_rec);
1295 FETCH lchk_csr INTO lc_object_version_number;
1296 lc_row_notfound := lchk_csr%NOTFOUND;
1297 CLOSE lchk_csr;
1298 END IF;
1299 IF (lc_row_notfound) THEN
1300 OKC_API.set_message(G_FND_APP,G_FORM_RECORD_DELETED);
1301 RAISE OKC_API.G_EXCEPTION_ERROR;
1302 ELSIF lc_object_version_number > p_btn_rec.object_version_number THEN
1303 OKC_API.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1304 RAISE OKC_API.G_EXCEPTION_ERROR;
1305 ELSIF lc_object_version_number <> p_btn_rec.object_version_number THEN
1306 OKC_API.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1307 RAISE OKC_API.G_EXCEPTION_ERROR;
1308 ELSIF lc_object_version_number = -1 THEN
1309 OKC_API.set_message(G_APP_NAME,G_RECORD_LOGICALLY_DELETED);
1310 RAISE OKC_API.G_EXCEPTION_ERROR;
1311 END IF;
1312 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
1313 EXCEPTION
1314 WHEN OKC_API.G_EXCEPTION_ERROR THEN
1315 x_return_status := OKC_API.HANDLE_EXCEPTIONS
1316 (
1317 l_api_name,
1318 G_PKG_NAME,
1319 'OKC_API.G_RET_STS_ERROR',
1320 x_msg_count,
1321 x_msg_data,
1322 '_PVT'
1323 );
1324 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
1325 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
1326 (
1327 l_api_name,
1328 G_PKG_NAME,
1329 'OKC_API.G_RET_STS_UNEXP_ERROR',
1330 x_msg_count,
1331 x_msg_data,
1332 '_PVT'
1333 );
1334 WHEN OTHERS THEN
1335 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
1336 (
1337 l_api_name,
1338 G_PKG_NAME,
1339 'OTHERS',
1340 x_msg_count,
1341 x_msg_data,
1342 '_PVT'
1343 );
1344 END lock_row;
1345 ------------------------------------------
1346 -- lock_row for:OKS_BILL_TRANSACTIONS_V --
1347 ------------------------------------------
1348 PROCEDURE lock_row(
1349 p_api_version IN NUMBER,
1350 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
1351 x_return_status OUT NOCOPY VARCHAR2,
1352 x_msg_count OUT NOCOPY NUMBER,
1353 x_msg_data OUT NOCOPY VARCHAR2,
1354 p_btnv_rec IN btnv_rec_type) IS
1355
1356 l_api_version CONSTANT NUMBER := 1;
1357 l_api_name CONSTANT VARCHAR2(30) := 'V_lock_row';
1358 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1359 l_btn_rec btn_rec_type;
1360 BEGIN
1361 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
1362 G_PKG_NAME,
1363 p_init_msg_list,
1364 l_api_version,
1365 p_api_version,
1366 '_PVT',
1367 x_return_status);
1368 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1369 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1370 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
1371 RAISE OKC_API.G_EXCEPTION_ERROR;
1372 END IF;
1373 --------------------------------------
1374 -- Move VIEW record to "Child" records
1375 --------------------------------------
1376 migrate(p_btnv_rec, l_btn_rec);
1377 --------------------------------------------
1378 -- Call the LOCK_ROW for each child record
1379 --------------------------------------------
1380 lock_row(
1381 p_init_msg_list,
1382 x_return_status,
1383 x_msg_count,
1384 x_msg_data,
1385 l_btn_rec
1386 );
1387 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1388 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1389 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
1390 RAISE OKC_API.G_EXCEPTION_ERROR;
1391 END IF;
1392 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
1393 EXCEPTION
1394 WHEN OKC_API.G_EXCEPTION_ERROR THEN
1395 x_return_status := OKC_API.HANDLE_EXCEPTIONS
1396 (
1397 l_api_name,
1398 G_PKG_NAME,
1399 'OKC_API.G_RET_STS_ERROR',
1400 x_msg_count,
1401 x_msg_data,
1402 '_PVT'
1403 );
1404 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
1405 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
1406 (
1407 l_api_name,
1408 G_PKG_NAME,
1409 'OKC_API.G_RET_STS_UNEXP_ERROR',
1410 x_msg_count,
1411 x_msg_data,
1412 '_PVT'
1413 );
1414 WHEN OTHERS THEN
1415 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
1416 (
1417 l_api_name,
1418 G_PKG_NAME,
1419 'OTHERS',
1420 x_msg_count,
1421 x_msg_data,
1422 '_PVT'
1423 );
1424 END lock_row;
1425 --------------------------------------
1426 -- PL/SQL TBL lock_row for:BTNV_TBL --
1427 --------------------------------------
1428 PROCEDURE lock_row(
1429 p_api_version IN NUMBER,
1430 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
1431 x_return_status OUT NOCOPY VARCHAR2,
1432 x_msg_count OUT NOCOPY NUMBER,
1433 x_msg_data OUT NOCOPY VARCHAR2,
1434 p_btnv_tbl IN btnv_tbl_type) IS
1435
1436 l_api_version CONSTANT NUMBER := 1;
1437 l_api_name CONSTANT VARCHAR2(30) := 'V_tbl_lock_row';
1438 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1439 i NUMBER := 0;
1440 BEGIN
1441 OKC_API.init_msg_list(p_init_msg_list);
1442 -- Make sure PL/SQL table has records in it before passing
1443 IF (p_btnv_tbl.COUNT > 0) THEN
1444 i := p_btnv_tbl.FIRST;
1445 LOOP
1446 lock_row (
1447 p_api_version => p_api_version,
1448 p_init_msg_list => OKC_API.G_FALSE,
1449 x_return_status => x_return_status,
1450 x_msg_count => x_msg_count,
1451 x_msg_data => x_msg_data,
1452 p_btnv_rec => p_btnv_tbl(i));
1453 EXIT WHEN (i = p_btnv_tbl.LAST);
1454 i := p_btnv_tbl.NEXT(i);
1455 END LOOP;
1456 END IF;
1457 EXCEPTION
1458 WHEN OKC_API.G_EXCEPTION_ERROR THEN
1459 x_return_status := OKC_API.HANDLE_EXCEPTIONS
1460 (
1461 l_api_name,
1462 G_PKG_NAME,
1463 'OKC_API.G_RET_STS_ERROR',
1464 x_msg_count,
1465 x_msg_data,
1466 '_PVT'
1467 );
1468 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
1469 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
1470 (
1471 l_api_name,
1472 G_PKG_NAME,
1473 'OKC_API.G_RET_STS_UNEXP_ERROR',
1474 x_msg_count,
1475 x_msg_data,
1476 '_PVT'
1477 );
1478 WHEN OTHERS THEN
1479 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
1480 (
1481 l_api_name,
1482 G_PKG_NAME,
1483 'OTHERS',
1484 x_msg_count,
1485 x_msg_data,
1486 '_PVT'
1487 );
1488 END lock_row;
1489
1490 ---------------------------------------------------------------------------
1491 -- PROCEDURE update_row
1492 ---------------------------------------------------------------------------
1493 ------------------------------------------
1494 -- update_row for:OKS_BILL_TRANSACTIONS --
1495 ------------------------------------------
1496 PROCEDURE update_row(
1497 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
1498 x_return_status OUT NOCOPY VARCHAR2,
1499 x_msg_count OUT NOCOPY NUMBER,
1500 x_msg_data OUT NOCOPY VARCHAR2,
1501 p_btn_rec IN btn_rec_type,
1502 x_btn_rec OUT NOCOPY btn_rec_type) IS
1503
1504 l_api_version CONSTANT NUMBER := 1;
1505 l_api_name CONSTANT VARCHAR2(30) := 'TRANSACTIONS_update_row';
1506 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1507 l_btn_rec btn_rec_type := p_btn_rec;
1508 l_def_btn_rec btn_rec_type;
1509 l_row_notfound BOOLEAN := TRUE;
1510 ----------------------------------
1511 -- FUNCTION populate_new_record --
1512 ----------------------------------
1513 FUNCTION populate_new_record (
1514 p_btn_rec IN btn_rec_type,
1515 x_btn_rec OUT NOCOPY btn_rec_type
1516 ) RETURN VARCHAR2 IS
1517 l_btn_rec btn_rec_type;
1518 l_row_notfound BOOLEAN := TRUE;
1519 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1520 BEGIN
1521 x_btn_rec := p_btn_rec;
1522 -- Get current database values
1523 l_btn_rec := get_rec(p_btn_rec, l_row_notfound);
1524 IF (l_row_notfound) THEN
1525 l_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1526 END IF;
1527 IF (x_btn_rec.id = OKC_API.G_MISS_NUM)
1528 THEN
1529 x_btn_rec.id := l_btn_rec.id;
1530 END IF;
1531 IF (x_btn_rec.currency_code = OKC_API.G_MISS_CHAR)
1532 THEN
1533 x_btn_rec.currency_code := l_btn_rec.currency_code;
1534 END IF;
1535 IF (x_btn_rec.object_version_number = OKC_API.G_MISS_NUM)
1536 THEN
1537 x_btn_rec.object_version_number := l_btn_rec.object_version_number;
1538 END IF;
1539 IF (x_btn_rec.created_by = OKC_API.G_MISS_NUM)
1540 THEN
1541 x_btn_rec.created_by := l_btn_rec.created_by;
1542 END IF;
1543 IF (x_btn_rec.creation_date = OKC_API.G_MISS_DATE)
1544 THEN
1545 x_btn_rec.creation_date := l_btn_rec.creation_date;
1546 END IF;
1547 IF (x_btn_rec.last_updated_by = OKC_API.G_MISS_NUM)
1548 THEN
1549 x_btn_rec.last_updated_by := l_btn_rec.last_updated_by;
1550 END IF;
1551 IF (x_btn_rec.last_update_date = OKC_API.G_MISS_DATE)
1552 THEN
1553 x_btn_rec.last_update_date := l_btn_rec.last_update_date;
1554 END IF;
1555 IF (x_btn_rec.trx_date = OKC_API.G_MISS_DATE)
1556 THEN
1557 x_btn_rec.trx_date := l_btn_rec.trx_date;
1558 END IF;
1559 IF (x_btn_rec.trx_number = OKC_API.G_MISS_CHAR)
1560 THEN
1561 x_btn_rec.trx_number := l_btn_rec.trx_number;
1562 END IF;
1563 IF (x_btn_rec.trx_amount = OKC_API.G_MISS_NUM)
1564 THEN
1565 x_btn_rec.trx_amount := l_btn_rec.trx_amount;
1566 END IF;
1567 IF (x_btn_rec.trx_class = OKC_API.G_MISS_CHAR)
1568 THEN
1569 x_btn_rec.trx_class := l_btn_rec.trx_class;
1570 END IF;
1571 IF (x_btn_rec.last_update_login = OKC_API.G_MISS_NUM)
1572 THEN
1573 x_btn_rec.last_update_login := l_btn_rec.last_update_login;
1574 END IF;
1575 RETURN(l_return_status);
1576 END populate_new_record;
1577 ----------------------------------------------
1578 -- Set_Attributes for:OKS_BILL_TRANSACTIONS --
1579 ----------------------------------------------
1580 FUNCTION Set_Attributes (
1581 p_btn_rec IN btn_rec_type,
1582 x_btn_rec OUT NOCOPY btn_rec_type
1583 ) RETURN VARCHAR2 IS
1584 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1585 BEGIN
1586 x_btn_rec := p_btn_rec;
1587 RETURN(l_return_status);
1588 END Set_Attributes;
1589 BEGIN
1590 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
1591 p_init_msg_list,
1592 '_PVT',
1593 x_return_status);
1594 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1595 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1596 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
1597 RAISE OKC_API.G_EXCEPTION_ERROR;
1598 END IF;
1599 --- Setting item attributes
1600 l_return_status := Set_Attributes(
1601 p_btn_rec, -- IN
1602 l_btn_rec); -- OUT
1603 --- If any errors happen abort API
1604 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1605 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1606 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
1607 RAISE OKC_API.G_EXCEPTION_ERROR;
1608 END IF;
1609 l_return_status := populate_new_record(l_btn_rec, l_def_btn_rec);
1610 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1611 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1612 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
1613 RAISE OKC_API.G_EXCEPTION_ERROR;
1614 END IF;
1615 UPDATE OKS_BILL_TRANSACTIONS
1616 SET CURRENCY_CODE = l_def_btn_rec.currency_code,
1617 OBJECT_VERSION_NUMBER = l_def_btn_rec.object_version_number,
1618 CREATED_BY = l_def_btn_rec.created_by,
1619 CREATION_DATE = l_def_btn_rec.creation_date,
1620 LAST_UPDATED_BY = l_def_btn_rec.last_updated_by,
1621 LAST_UPDATE_DATE = l_def_btn_rec.last_update_date,
1622 TRX_DATE = l_def_btn_rec.trx_date,
1623 TRX_NUMBER = l_def_btn_rec.trx_number,
1624 TRX_AMOUNT = l_def_btn_rec.trx_amount,
1625 TRX_CLASS = l_def_btn_rec.trx_class,
1626 LAST_UPDATE_LOGIN = l_def_btn_rec.last_update_login
1627 WHERE ID = l_def_btn_rec.id;
1628
1629 x_btn_rec := l_def_btn_rec;
1630 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
1631 EXCEPTION
1632 WHEN OKC_API.G_EXCEPTION_ERROR THEN
1633 x_return_status := OKC_API.HANDLE_EXCEPTIONS
1634 (
1635 l_api_name,
1636 G_PKG_NAME,
1637 'OKC_API.G_RET_STS_ERROR',
1638 x_msg_count,
1639 x_msg_data,
1640 '_PVT'
1641 );
1642 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
1643 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
1644 (
1645 l_api_name,
1646 G_PKG_NAME,
1647 'OKC_API.G_RET_STS_UNEXP_ERROR',
1648 x_msg_count,
1649 x_msg_data,
1650 '_PVT'
1651 );
1652 WHEN OTHERS THEN
1653 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
1654 (
1655 l_api_name,
1656 G_PKG_NAME,
1657 'OTHERS',
1658 x_msg_count,
1659 x_msg_data,
1660 '_PVT'
1661 );
1662 END update_row;
1663 --------------------------------------------
1664 -- update_row for:OKS_BILL_TRANSACTIONS_V --
1665 --------------------------------------------
1666 PROCEDURE update_row(
1667 p_api_version IN NUMBER,
1668 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
1669 x_return_status OUT NOCOPY VARCHAR2,
1670 x_msg_count OUT NOCOPY NUMBER,
1671 x_msg_data OUT NOCOPY VARCHAR2,
1672 p_btnv_rec IN btnv_rec_type,
1673 x_btnv_rec OUT NOCOPY btnv_rec_type) IS
1674
1675 l_api_version CONSTANT NUMBER := 1;
1676 l_api_name CONSTANT VARCHAR2(30) := 'V_update_row';
1677 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1678 l_btnv_rec btnv_rec_type := p_btnv_rec;
1679 l_def_btnv_rec btnv_rec_type;
1680 l_btn_rec btn_rec_type;
1681 lx_btn_rec btn_rec_type;
1682 -------------------------------
1683 -- FUNCTION fill_who_columns --
1684 -------------------------------
1685 FUNCTION fill_who_columns (
1686 p_btnv_rec IN btnv_rec_type
1687 ) RETURN btnv_rec_type IS
1688 l_btnv_rec btnv_rec_type := p_btnv_rec;
1689 BEGIN
1690 l_btnv_rec.LAST_UPDATE_DATE := SYSDATE;
1691 l_btnv_rec.LAST_UPDATED_BY := FND_GLOBAL.USER_ID;
1692 l_btnv_rec.LAST_UPDATE_LOGIN := FND_GLOBAL.LOGIN_ID;
1693 RETURN(l_btnv_rec);
1694 END fill_who_columns;
1695 ----------------------------------
1696 -- FUNCTION populate_new_record --
1697 ----------------------------------
1698 FUNCTION populate_new_record (
1699 p_btnv_rec IN btnv_rec_type,
1700 x_btnv_rec OUT NOCOPY btnv_rec_type
1701 ) RETURN VARCHAR2 IS
1702 l_btnv_rec btnv_rec_type;
1703 l_row_notfound BOOLEAN := TRUE;
1704 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1705 BEGIN
1706 x_btnv_rec := p_btnv_rec;
1707 -- Get current database values
1708 l_btnv_rec := get_rec(p_btnv_rec, l_row_notfound);
1709 IF (l_row_notfound) THEN
1710 l_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1711 END IF;
1712 IF (x_btnv_rec.id = OKC_API.G_MISS_NUM)
1713 THEN
1714 x_btnv_rec.id := l_btnv_rec.id;
1715 END IF;
1716 IF (x_btnv_rec.object_version_number = OKC_API.G_MISS_NUM)
1717 THEN
1718 x_btnv_rec.object_version_number := l_btnv_rec.object_version_number;
1719 END IF;
1720 IF (x_btnv_rec.trx_date = OKC_API.G_MISS_DATE)
1721 THEN
1722 x_btnv_rec.trx_date := l_btnv_rec.trx_date;
1723 END IF;
1724 IF (x_btnv_rec.trx_number = OKC_API.G_MISS_CHAR)
1725 THEN
1726 x_btnv_rec.trx_number := l_btnv_rec.trx_number;
1727 END IF;
1728 IF (x_btnv_rec.trx_amount = OKC_API.G_MISS_NUM)
1729 THEN
1730 x_btnv_rec.trx_amount := l_btnv_rec.trx_amount;
1731 END IF;
1732 IF (x_btnv_rec.trx_class = OKC_API.G_MISS_CHAR)
1733 THEN
1734 x_btnv_rec.trx_class := l_btnv_rec.trx_class;
1735 END IF;
1736 IF (x_btnv_rec.currency_code = OKC_API.G_MISS_CHAR)
1737 THEN
1738 x_btnv_rec.currency_code := l_btnv_rec.currency_code;
1739 END IF;
1740 IF (x_btnv_rec.created_by = OKC_API.G_MISS_NUM)
1741 THEN
1742 x_btnv_rec.created_by := l_btnv_rec.created_by;
1743 END IF;
1744 IF (x_btnv_rec.creation_date = OKC_API.G_MISS_DATE)
1745 THEN
1746 x_btnv_rec.creation_date := l_btnv_rec.creation_date;
1747 END IF;
1748 IF (x_btnv_rec.last_updated_by = OKC_API.G_MISS_NUM)
1749 THEN
1750 x_btnv_rec.last_updated_by := l_btnv_rec.last_updated_by;
1751 END IF;
1752 IF (x_btnv_rec.last_update_date = OKC_API.G_MISS_DATE)
1753 THEN
1754 x_btnv_rec.last_update_date := l_btnv_rec.last_update_date;
1755 END IF;
1756 IF (x_btnv_rec.last_update_login = OKC_API.G_MISS_NUM)
1757 THEN
1758 x_btnv_rec.last_update_login := l_btnv_rec.last_update_login;
1759 END IF;
1760 RETURN(l_return_status);
1761 END populate_new_record;
1762 ------------------------------------------------
1763 -- Set_Attributes for:OKS_BILL_TRANSACTIONS_V --
1764 ------------------------------------------------
1765 FUNCTION Set_Attributes (
1766 p_btnv_rec IN btnv_rec_type,
1767 x_btnv_rec OUT NOCOPY btnv_rec_type
1768 ) RETURN VARCHAR2 IS
1769 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1770 BEGIN
1771 x_btnv_rec := p_btnv_rec;
1772 x_btnv_rec.OBJECT_VERSION_NUMBER := NVL(x_btnv_rec.OBJECT_VERSION_NUMBER, 0) + 1;
1773 RETURN(l_return_status);
1774 END Set_Attributes;
1775 BEGIN
1776 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
1777 G_PKG_NAME,
1778 p_init_msg_list,
1779 l_api_version,
1780 p_api_version,
1781 '_PVT',
1782 x_return_status);
1783 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1784 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1785 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
1786 RAISE OKC_API.G_EXCEPTION_ERROR;
1787 END IF;
1788 --- Setting item attributes
1789 l_return_status := Set_Attributes(
1790 p_btnv_rec, -- IN
1791 l_btnv_rec); -- OUT
1792 --- If any errors happen abort API
1793 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1794 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1795 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
1796 RAISE OKC_API.G_EXCEPTION_ERROR;
1797 END IF;
1798 l_return_status := populate_new_record(l_btnv_rec, l_def_btnv_rec);
1799 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1800 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1801 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
1802 RAISE OKC_API.G_EXCEPTION_ERROR;
1803 END IF;
1804 l_def_btnv_rec := fill_who_columns(l_def_btnv_rec);
1805 --- Validate all non-missing attributes (Item Level Validation)
1806 l_return_status := Validate_Attributes(l_def_btnv_rec);
1807 --- If any errors happen abort API
1808 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1809 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1810 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
1811 RAISE OKC_API.G_EXCEPTION_ERROR;
1812 END IF;
1813 l_return_status := Validate_Record(l_def_btnv_rec);
1814 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1815 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1816 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
1817 RAISE OKC_API.G_EXCEPTION_ERROR;
1818 END IF;
1819
1820 --------------------------------------
1821 -- Move VIEW record to "Child" records
1822 --------------------------------------
1823 migrate(l_def_btnv_rec, l_btn_rec);
1824 --------------------------------------------
1825 -- Call the UPDATE_ROW for each child record
1826 --------------------------------------------
1827 update_row(
1828 p_init_msg_list,
1829 x_return_status,
1830 x_msg_count,
1831 x_msg_data,
1832 l_btn_rec,
1833 lx_btn_rec
1834 );
1835 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1836 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1837 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
1838 RAISE OKC_API.G_EXCEPTION_ERROR;
1839 END IF;
1840 migrate(lx_btn_rec, l_def_btnv_rec);
1841 x_btnv_rec := l_def_btnv_rec;
1842 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
1843 EXCEPTION
1844 WHEN OKC_API.G_EXCEPTION_ERROR THEN
1845 x_return_status := OKC_API.HANDLE_EXCEPTIONS
1846 (
1847 l_api_name,
1848 G_PKG_NAME,
1849 'OKC_API.G_RET_STS_ERROR',
1850 x_msg_count,
1851 x_msg_data,
1852 '_PVT'
1853 );
1854 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
1855 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
1856 (
1857 l_api_name,
1858 G_PKG_NAME,
1859 'OKC_API.G_RET_STS_UNEXP_ERROR',
1860 x_msg_count,
1861 x_msg_data,
1862 '_PVT'
1863 );
1864 WHEN OTHERS THEN
1865 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
1866 (
1867 l_api_name,
1868 G_PKG_NAME,
1869 'OTHERS',
1870 x_msg_count,
1871 x_msg_data,
1872 '_PVT'
1873 );
1874 END update_row;
1875 ----------------------------------------
1876 -- PL/SQL TBL update_row for:BTNV_TBL --
1877 ----------------------------------------
1878 PROCEDURE update_row(
1879 p_api_version IN NUMBER,
1880 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
1881 x_return_status OUT NOCOPY VARCHAR2,
1882 x_msg_count OUT NOCOPY NUMBER,
1883 x_msg_data OUT NOCOPY VARCHAR2,
1884 p_btnv_tbl IN btnv_tbl_type,
1885 x_btnv_tbl OUT NOCOPY btnv_tbl_type) IS
1886
1887 l_api_version CONSTANT NUMBER := 1;
1888 l_api_name CONSTANT VARCHAR2(30) := 'V_tbl_update_row';
1889 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1890 i NUMBER := 0;
1891 BEGIN
1892 OKC_API.init_msg_list(p_init_msg_list);
1893 -- Make sure PL/SQL table has records in it before passing
1894 IF (p_btnv_tbl.COUNT > 0) THEN
1895 i := p_btnv_tbl.FIRST;
1896 LOOP
1897 update_row (
1898 p_api_version => p_api_version,
1899 p_init_msg_list => OKC_API.G_FALSE,
1900 x_return_status => x_return_status,
1901 x_msg_count => x_msg_count,
1902 x_msg_data => x_msg_data,
1903 p_btnv_rec => p_btnv_tbl(i),
1904 x_btnv_rec => x_btnv_tbl(i));
1905 EXIT WHEN (i = p_btnv_tbl.LAST);
1906 i := p_btnv_tbl.NEXT(i);
1907 END LOOP;
1908 END IF;
1909 EXCEPTION
1910 WHEN OKC_API.G_EXCEPTION_ERROR THEN
1911 x_return_status := OKC_API.HANDLE_EXCEPTIONS
1912 (
1913 l_api_name,
1914 G_PKG_NAME,
1915 'OKC_API.G_RET_STS_ERROR',
1916 x_msg_count,
1917 x_msg_data,
1918 '_PVT'
1919 );
1920 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
1921 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
1922 (
1923 l_api_name,
1924 G_PKG_NAME,
1925 'OKC_API.G_RET_STS_UNEXP_ERROR',
1926 x_msg_count,
1927 x_msg_data,
1928 '_PVT'
1929 );
1930 WHEN OTHERS THEN
1931 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
1932 (
1933 l_api_name,
1934 G_PKG_NAME,
1935 'OTHERS',
1936 x_msg_count,
1937 x_msg_data,
1938 '_PVT'
1939 );
1940 END update_row;
1941
1942 ---------------------------------------------------------------------------
1943 -- PROCEDURE delete_row
1944 ---------------------------------------------------------------------------
1945 ------------------------------------------
1946 -- delete_row for:OKS_BILL_TRANSACTIONS --
1947 ------------------------------------------
1948 PROCEDURE delete_row(
1949 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
1950 x_return_status OUT NOCOPY VARCHAR2,
1951 x_msg_count OUT NOCOPY NUMBER,
1952 x_msg_data OUT NOCOPY VARCHAR2,
1953 p_btn_rec IN btn_rec_type) IS
1954
1955 l_api_version CONSTANT NUMBER := 1;
1956 l_api_name CONSTANT VARCHAR2(30) := 'TRANSACTIONS_delete_row';
1957 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1958 l_btn_rec btn_rec_type:= p_btn_rec;
1959 l_row_notfound BOOLEAN := TRUE;
1960 BEGIN
1961 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
1962 p_init_msg_list,
1963 '_PVT',
1964 x_return_status);
1965 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1966 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1967 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
1968 RAISE OKC_API.G_EXCEPTION_ERROR;
1969 END IF;
1970 DELETE FROM OKS_BILL_TRANSACTIONS
1971 WHERE ID = l_btn_rec.id;
1972
1973 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
1974 EXCEPTION
1975 WHEN OKC_API.G_EXCEPTION_ERROR THEN
1976 x_return_status := OKC_API.HANDLE_EXCEPTIONS
1977 (
1978 l_api_name,
1979 G_PKG_NAME,
1980 'OKC_API.G_RET_STS_ERROR',
1981 x_msg_count,
1982 x_msg_data,
1983 '_PVT'
1984 );
1985 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
1986 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
1987 (
1988 l_api_name,
1989 G_PKG_NAME,
1990 'OKC_API.G_RET_STS_UNEXP_ERROR',
1991 x_msg_count,
1992 x_msg_data,
1993 '_PVT'
1994 );
1995 WHEN OTHERS THEN
1996 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
1997 (
1998 l_api_name,
1999 G_PKG_NAME,
2000 'OTHERS',
2001 x_msg_count,
2002 x_msg_data,
2003 '_PVT'
2004 );
2005 END delete_row;
2006 --------------------------------------------
2007 -- delete_row for:OKS_BILL_TRANSACTIONS_V --
2008 --------------------------------------------
2009 PROCEDURE delete_row(
2010 p_api_version IN NUMBER,
2011 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
2012 x_return_status OUT NOCOPY VARCHAR2,
2013 x_msg_count OUT NOCOPY NUMBER,
2014 x_msg_data OUT NOCOPY VARCHAR2,
2015 p_btnv_rec IN btnv_rec_type) IS
2016
2017 l_api_version CONSTANT NUMBER := 1;
2018 l_api_name CONSTANT VARCHAR2(30) := 'V_delete_row';
2019 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
2020 l_btnv_rec btnv_rec_type := p_btnv_rec;
2021 l_btn_rec btn_rec_type;
2022 BEGIN
2023 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
2024 G_PKG_NAME,
2025 p_init_msg_list,
2026 l_api_version,
2027 p_api_version,
2028 '_PVT',
2029 x_return_status);
2030 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2031 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2032 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
2033 RAISE OKC_API.G_EXCEPTION_ERROR;
2034 END IF;
2035 --------------------------------------
2036 -- Move VIEW record to "Child" records
2037 --------------------------------------
2038 migrate(l_btnv_rec, l_btn_rec);
2039 --------------------------------------------
2040 -- Call the DELETE_ROW for each child record
2041 --------------------------------------------
2042 delete_row(
2043 p_init_msg_list,
2044 x_return_status,
2045 x_msg_count,
2046 x_msg_data,
2047 l_btn_rec
2048 );
2049 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2050 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2051 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
2052 RAISE OKC_API.G_EXCEPTION_ERROR;
2053 END IF;
2054 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
2055 EXCEPTION
2056 WHEN OKC_API.G_EXCEPTION_ERROR THEN
2057 x_return_status := OKC_API.HANDLE_EXCEPTIONS
2058 (
2059 l_api_name,
2060 G_PKG_NAME,
2061 'OKC_API.G_RET_STS_ERROR',
2062 x_msg_count,
2063 x_msg_data,
2064 '_PVT'
2065 );
2066 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
2067 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
2068 (
2069 l_api_name,
2070 G_PKG_NAME,
2071 'OKC_API.G_RET_STS_UNEXP_ERROR',
2072 x_msg_count,
2073 x_msg_data,
2074 '_PVT'
2075 );
2076 WHEN OTHERS THEN
2077 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
2078 (
2079 l_api_name,
2080 G_PKG_NAME,
2081 'OTHERS',
2082 x_msg_count,
2083 x_msg_data,
2084 '_PVT'
2085 );
2086 END delete_row;
2087 ----------------------------------------
2088 -- PL/SQL TBL delete_row for:BTNV_TBL --
2089 ----------------------------------------
2090 PROCEDURE delete_row(
2091 p_api_version IN NUMBER,
2092 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
2093 x_return_status OUT NOCOPY VARCHAR2,
2094 x_msg_count OUT NOCOPY NUMBER,
2095 x_msg_data OUT NOCOPY VARCHAR2,
2096 p_btnv_tbl IN btnv_tbl_type) IS
2097
2098 l_api_version CONSTANT NUMBER := 1;
2099 l_api_name CONSTANT VARCHAR2(30) := 'V_tbl_delete_row';
2100 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
2101 i NUMBER := 0;
2102 BEGIN
2103 OKC_API.init_msg_list(p_init_msg_list);
2104 -- Make sure PL/SQL table has records in it before passing
2105 IF (p_btnv_tbl.COUNT > 0) THEN
2106 i := p_btnv_tbl.FIRST;
2107 LOOP
2108 delete_row (
2109 p_api_version => p_api_version,
2110 p_init_msg_list => OKC_API.G_FALSE,
2111 x_return_status => x_return_status,
2112 x_msg_count => x_msg_count,
2113 x_msg_data => x_msg_data,
2114 p_btnv_rec => p_btnv_tbl(i));
2115 EXIT WHEN (i = p_btnv_tbl.LAST);
2116 i := p_btnv_tbl.NEXT(i);
2117 END LOOP;
2118 END IF;
2119 EXCEPTION
2120 WHEN OKC_API.G_EXCEPTION_ERROR THEN
2121 x_return_status := OKC_API.HANDLE_EXCEPTIONS
2122 (
2123 l_api_name,
2124 G_PKG_NAME,
2125 'OKC_API.G_RET_STS_ERROR',
2126 x_msg_count,
2127 x_msg_data,
2128 '_PVT'
2129 );
2130 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
2131 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
2132 (
2133 l_api_name,
2134 G_PKG_NAME,
2135 'OKC_API.G_RET_STS_UNEXP_ERROR',
2136 x_msg_count,
2137 x_msg_data,
2138 '_PVT'
2139 );
2140 WHEN OTHERS THEN
2141 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
2142 (
2143 l_api_name,
2144 G_PKG_NAME,
2145 'OTHERS',
2146 x_msg_count,
2147 x_msg_data,
2148 '_PVT'
2149 );
2150 END delete_row;
2151
2152
2153 PROCEDURE INSERT_ROW_UPG(p_btnv_tbl btnv_tbl_type) IS
2154
2155 l_tabsize NUMBER := p_btnv_tbl.COUNT;
2156
2157 in_id OKC_DATATYPES.NumberTabTyp;
2158 in_object_version_number OKC_DATATYPES.NumberTabTyp;
2159 in_trx_date OKC_DATATYPES.DateTabTyp;
2160 in_trx_number Var60TabTyp;
2161 in_trx_amount OKC_DATATYPES.NumberTabTyp;
2162 in_trx_class Var60TabTyp;
2163 in_currency_code Var45TabTyp;
2164 in_created_by OKC_DATATYPES.NumberTabTyp;
2165 in_creation_date OKC_DATATYPES.DateTabTyp;
2166 in_last_updated_by OKC_DATATYPES.NumberTabTyp;
2167 in_last_update_date OKC_DATATYPES.DateTabTyp;
2168 in_last_update_login OKC_DATATYPES.NumberTabTyp;
2169
2170 i number;
2171 j number;
2172
2173 BEGIN
2174 i := p_btnv_tbl.FIRST;
2175 j := 0;
2176
2177 while i is not null
2178 LOOP
2179 j:=j+1;
2180 in_id (j) := p_btnv_tbl(i).id;
2181 in_object_version_number (j) := p_btnv_tbl(i).object_version_number;
2182 in_trx_date (j) := p_btnv_tbl(i).trx_date;
2183 in_trx_number (j) := p_btnv_tbl(i).trx_number;
2184 in_trx_amount (j) := p_btnv_tbl(i).trx_amount;
2185 in_trx_class (j) := p_btnv_tbl(i).trx_class;
2186 in_currency_code (j) := p_btnv_tbl(i).currency_code;
2187 in_created_by (j) := p_btnv_tbl(i).created_by;
2188 in_creation_date (j) := p_btnv_tbl(i).creation_date;
2189 in_last_updated_by (j) := p_btnv_tbl(i).last_updated_by;
2190 in_last_update_date (j) := p_btnv_tbl(i).last_update_date;
2191 in_last_update_login (j) := p_btnv_tbl(i).last_update_login;
2192
2193 i := p_btnv_tbl.next(i);
2194
2195 END LOOP;
2196
2197 FORALL i in 1..l_tabsize
2198 INSERT
2199 INTO OKS_BILL_TRANSACTIONS
2200 (
2201 id,
2202 object_version_number,
2203 trx_date,
2204 trx_number,
2205 trx_amount,
2206 trx_class,
2207 currency_code,
2208 created_by,
2209 creation_date,
2210 last_updated_by,
2211 last_update_date,
2212 last_update_login
2213 )
2214 VALUES
2215 (
2216 in_id(i),
2217 in_object_version_number(i),
2218 in_trx_date(i),
2219 in_trx_number(i),
2220 in_trx_amount(i),
2221 in_trx_class(i),
2222 in_currency_code(i),
2223 in_created_by(i),
2224 in_creation_date(i),
2225 in_last_updated_by(i),
2226 in_last_update_date(i),
2227 in_last_update_login(i)
2228 );
2229
2230 EXCEPTION
2231 WHEN OTHERS THEN
2232 RAISE;
2233 END INSERT_ROW_UPG;
2234 END OKS_BTN_PVT;