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