[Home] [Help]
PACKAGE BODY: APPS.OKL_TPL_PVT
Source
1 PACKAGE BODY OKL_TPL_PVT AS
2 /* $Header: OKLSTPLB.pls 120.6 2007/08/08 12:53:58 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 3, 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 6 + 1(notnull) + 2(FND); 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 = Done 2 1=not-null, 1=nullable
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 14
21 --13. Validate_Record:Trx-Types, Unique Keys = Done 2 = trx-types
22 --06/01/00: Post postgen changes:
23 --14. Removed all references to TRX_TYPE. This column dropped from BD
24 --15. Renamed combo_id to code_combination_id
25 --16. 07/09/01: Added columns+support for: FUNDING_REFERENCE_NUMBER, FUNDING_REFERENCE_TYPE_CODE (FK)
26 --17. 08/21/01: 'validate_fk_ccid' has been commented out because the associated OKX_ views does not exist.
27 --18. 11/29/01: Following lookup_type are changed to match with seed data in table fnd_lookups
28 -- In validate_disburse_basis_code from okl_ap_disbursement_basis to okl_disbursement_basis
29 -- In validate_inv_distr_line_code from okl_ap_invoice_distribution to okl_ap_distr_line_type
30 --19. 2/12/02 Added columns funding_reference_type_code, funding_reference_type_code,code_combination_id
31 -- Added Globle veriables for 5 Execeptions
32 -- Commented column trx_type
33 ---------------------------------------------------------------------------
34 -- PROCEDURE validate_id - PostGen-1
35 ---------------------------------------------------------------------------
36 PROCEDURE validate_id
37 ( x_return_status OUT NOCOPY VARCHAR2,
38 p_tplv_rec IN tplv_rec_type
39 ) IS
40
41 l_return_status varchar2(1) := OKL_Api.G_RET_STS_SUCCESS;
42
43 BEGIN
44
45 x_return_status := OKL_Api.G_RET_STS_SUCCESS;
46
47 IF(p_tplv_rec.id IS NULL) OR (p_tplv_rec.id = OKL_Api.G_MISS_NUM) THEN
48
49 OKL_Api.SET_MESSAGE
50 ( p_app_name => g_app_name,
51 p_msg_name => g_required_value,
52 p_token1 => g_col_name_token,
53 p_token1_value => 'id'
54 ) ;
55
56 x_return_status := OKL_Api.G_RET_STS_ERROR;
57
58 RAISE G_EXCEPTION_HALT_VALIDATION;
59 END IF;
60
61 EXCEPTION
62
63 WHEN G_EXCEPTION_HALT_VALIDATION then
64 -- No action necessary. Validation can continue to next attribute/column
65 null;
66
67 WHEN OTHERS then
68 -- Store SQL Error Message on the Message Stack for caller
69 OKL_Api.SET_MESSAGE
70 ( p_app_name => g_app_name,
71 p_msg_name => G_UNEXPECTED_ERROR,
72 p_token1 => G_SQLCODE_TOKEN,
73 p_token1_value => 'sqlcode',
74 p_token2 => G_SQLERRM_TOKEN,
75 p_token2_value => 'sqlerrm'
76 ) ;
77
78 x_return_status := OKL_Api.G_RET_STS_UNEXP_ERROR; -- Notify caller of this error
79
80 END validate_id;
81
82 ---------------------------------------------------------------------------
83 -- PROCEDURE validate_taxable_yn - PostGen-6
84 ---------------------------------------------------------------------------
85 PROCEDURE validate_taxable_yn
86 ( x_return_status OUT NOCOPY VARCHAR2,
87 p_tplv_rec IN tplv_rec_type
88 ) IS
89 l_return_status varchar2(1) := OKL_Api.G_RET_STS_SUCCESS;
90 BEGIN
91 x_return_status := OKL_Api.G_RET_STS_SUCCESS;
92 IF(p_tplv_rec.taxable_yn IS NOT NULL) THEN
93 x_return_status := OKL_UTIL.CHECK_DOMAIN_YN(p_tplv_rec.taxable_yn);
94 IF x_return_status <> OKL_Api.G_RET_STS_SUCCESS THEN
95 OKL_Api.SET_MESSAGE
96 ( p_app_name => g_app_name,
97 p_msg_name => g_invalid_value,
98 p_token1 => g_col_name_token,
99 p_token1_value => 'taxable_yn'
100 ) ;
101 RAISE G_EXCEPTION_HALT_VALIDATION;
102 END IF;
103 END IF;
104 EXCEPTION
105 WHEN G_EXCEPTION_HALT_VALIDATION then
106 -- No action necessary. Validation can continue to next attribute/column
107 null;
108 WHEN OTHERS then
109 -- Store SQL Error Message on the Message Stack for caller
110 OKL_Api.SET_MESSAGE
111 ( p_app_name => g_app_name,
112 p_msg_name => G_UNEXPECTED_ERROR,
113 p_token1 => G_SQLCODE_TOKEN,
114 p_token1_value => 'sqlcode',
115 p_token2 => G_SQLERRM_TOKEN,
116 p_token2_value => 'sqlerrm'
117 ) ;
118 x_return_status := OKL_Api.G_RET_STS_UNEXP_ERROR; -- Notify caller of this error
119 END validate_taxable_yn;
120 ---------------------------------------------------------------------------
121 -- PROCEDURE validate_object_version_number - PostGen-0
122 ---------------------------------------------------------------------------
123 PROCEDURE validate_object_version_number
124 ( x_return_status OUT NOCOPY VARCHAR2,
125 p_tplv_rec IN tplv_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_tplv_rec.object_version_number IS NULL)
135 OR (p_tplv_rec.object_version_number = OKL_Api.G_MISS_NUM) THEN
136
137 OKL_Api.SET_MESSAGE
138 ( p_app_name => g_app_name,
139 p_msg_name => g_required_value,
140 p_token1 => g_col_name_token,
141 p_token1_value => 'object_version_number'
142 ) ;
143
144 x_return_status := OKL_Api.G_RET_STS_ERROR;
145 RAISE G_EXCEPTION_HALT_VALIDATION;
146
147 END IF;
148
149 EXCEPTION
150
151 WHEN G_EXCEPTION_HALT_VALIDATION then
152 -- No action necessary. Validation can continue to next attribute/column
153 null;
154
155 WHEN OTHERS then
156 -- Store SQL Error Message on the Message Stack for caller
157 OKL_Api.SET_MESSAGE
158 ( p_app_name => g_app_name,
159 p_msg_name => G_UNEXPECTED_ERROR,
160 p_token1 => G_SQLCODE_TOKEN,
161 p_token1_value => 'sqlcode',
162 p_token2 => G_SQLERRM_TOKEN,
163 p_token2_value => 'sqlerrm'
164 ) ;
165
166 x_return_status := OKL_Api.G_RET_STS_UNEXP_ERROR; -- Notify caller of this error
167
168 END validate_object_version_number;
169
170 ---------------------------------------------------------------------------
171 -- PROCEDURE validate_org_id - PostGen-5
172 ---------------------------------------------------------------------------
173 PROCEDURE validate_org_id
174 ( x_return_status OUT NOCOPY VARCHAR2,
175 p_tplv_rec IN tplv_rec_type
176 ) IS
177
178 l_return_status varchar2(1) := OKL_Api.G_RET_STS_SUCCESS;
179
180 BEGIN
181
182 x_return_status := OKL_Api.G_RET_STS_SUCCESS;
183
184 IF(p_tplv_rec.org_id IS NULL) OR (p_tplv_rec.org_id = OKL_Api.G_MISS_NUM) THEN
185
186 OKL_Api.SET_MESSAGE
187 ( p_app_name => g_app_name,
188 p_msg_name => g_required_value,
189 p_token1 => g_col_name_token,
190 p_token1_value => 'org_id'
191 ) ;
192
193 x_return_status := OKL_Api.G_RET_STS_ERROR;
194 RAISE G_EXCEPTION_HALT_VALIDATION;
195
196 ELSE
197
198 x_return_status := OKL_UTIL.CHECK_ORG_ID(p_tplv_rec.org_id);
199
200 IF x_return_status <> OKL_Api.G_RET_STS_SUCCESS THEN
201
202 OKL_Api.SET_MESSAGE
203 ( p_app_name => g_app_name,
204 p_msg_name => g_invalid_value,
205 p_token1 => g_col_name_token,
206 p_token1_value => 'org_id'
207 ) ;
208
209 RAISE G_EXCEPTION_HALT_VALIDATION;
210
211 END IF;
212
213 END IF;
214
215 EXCEPTION
216
217 WHEN G_EXCEPTION_HALT_VALIDATION then
218 -- No action necessary. Validation can continue to next attribute/column
219 null;
220
221 WHEN OTHERS then
222 -- Store SQL Error Message on the Message Stack for caller
223 OKL_Api.SET_MESSAGE
224 ( p_app_name => g_app_name,
225 p_msg_name => G_UNEXPECTED_ERROR,
226 p_token1 => G_SQLCODE_TOKEN,
227 p_token1_value => 'sqlcode',
228 p_token2 => G_SQLERRM_TOKEN,
229 p_token2_value => 'sqlerrm'
230 ) ;
231
232 x_return_status := OKL_Api.G_RET_STS_UNEXP_ERROR; -- Notify caller of this error
233
234 END validate_org_id;
235
236 ---------------------------------------------------------------------------
237 -- PROCEDURE validate_line_number - PostGen-0
238 ---------------------------------------------------------------------------
239 PROCEDURE validate_line_number
240 ( x_return_status OUT NOCOPY VARCHAR2,
241 p_tplv_rec IN tplv_rec_type
242 ) IS
243
244 l_return_status varchar2(1) := OKL_Api.G_RET_STS_SUCCESS;
245
246 BEGIN
247
248 x_return_status := OKL_Api.G_RET_STS_SUCCESS;
249
250 IF(p_tplv_rec.line_number IS NULL)
251 OR (p_tplv_rec.line_number = OKL_Api.G_MISS_NUM) THEN
252
253 OKL_Api.SET_MESSAGE
254 ( p_app_name => g_app_name,
255 p_msg_name => g_required_value,
256 p_token1 => g_col_name_token,
257 p_token1_value => 'line_number'
258 ) ;
259
260 x_return_status := OKL_Api.G_RET_STS_ERROR;
261 RAISE G_EXCEPTION_HALT_VALIDATION;
262
263 END IF;
264
265 EXCEPTION
266
267 WHEN G_EXCEPTION_HALT_VALIDATION then
268 -- No action necessary. Validation can continue to next attribute/column
269 null;
270
271 WHEN OTHERS then
272 -- Store SQL Error Message on the Message Stack for caller
273 OKL_Api.SET_MESSAGE
274 ( p_app_name => g_app_name,
275 p_msg_name => G_UNEXPECTED_ERROR,
276 p_token1 => G_SQLCODE_TOKEN,
277 p_token1_value => 'sqlcode',
278 p_token2 => G_SQLERRM_TOKEN,
279 p_token2_value => 'sqlerrm'
280 ) ;
281
282 x_return_status := OKL_Api.G_RET_STS_UNEXP_ERROR; -- Notify caller of this error
283
284 END validate_line_number;
285
286 ---------------------------------------------------------------------------
287 -- PROCEDURE validate_inv_distr_line_code - PostGen-8
288 ---------------------------------------------------------------------------
289 PROCEDURE validate_inv_distr_line_code
290 ( x_return_status OUT NOCOPY VARCHAR2,
291 p_tplv_rec IN tplv_rec_type
292 ) IS
293
294 l_return_status varchar2(1) := OKL_Api.G_RET_STS_SUCCESS;
295
296 BEGIN
297
298 x_return_status := OKL_Api.G_RET_STS_SUCCESS;
299 /*
300 IF(p_tplv_rec.inv_distr_line_code IS NULL) THEN
301
302 OKL_Api.SET_MESSAGE
303 ( p_app_name => g_app_name,
304 p_msg_name => g_required_value,
305 p_token1 => g_col_name_token,
306 p_token1_value => 'inv_distr_line_code'
307 ) ;
308
309 x_return_status := OKL_Api.G_RET_STS_ERROR;
310 RAISE G_EXCEPTION_HALT_VALIDATION;
311
312 END IF;
313
314 x_return_status := OKL_UTIL.CHECK_LOOKUP_CODE
315 ( 'OKL_AP_DISTR_LINE_TYPE'
316 , p_tplv_rec.inv_distr_line_code
317 );
318 */
319 IF x_return_status <> OKL_Api.G_RET_STS_SUCCESS THEN
320
321 OKL_Api.SET_MESSAGE
322 ( p_app_name => g_app_name,
323 p_msg_name => g_invalid_value,
324 p_token1 => g_col_name_token,
325 p_token1_value => 'inv_distr_line_code'
326 ) ;
327
328 RAISE G_EXCEPTION_HALT_VALIDATION;
329
330 END IF;
331
332 EXCEPTION
333
334 WHEN G_EXCEPTION_HALT_VALIDATION then
335 -- No action necessary. Validation can continue to next attribute/column
336 null;
337
338 WHEN OTHERS then
339 -- Store SQL Error Message on the Message Stack for caller
340 OKL_Api.SET_MESSAGE
341 ( p_app_name => g_app_name,
342 p_msg_name => G_UNEXPECTED_ERROR,
343 p_token1 => G_SQLCODE_TOKEN,
344 p_token1_value => 'sqlcode',
345 p_token2 => G_SQLERRM_TOKEN,
346 p_token2_value => 'sqlerrm'
347 ) ;
348
349 x_return_status := OKL_Api.G_RET_STS_UNEXP_ERROR; -- Notify caller of this error
350
351 END validate_inv_distr_line_code;
352
353 ---------------------------------------------------------------------------
354 -- PROCEDURE validate_disburse_basis_code - PostGen-8
355 ---------------------------------------------------------------------------
356 PROCEDURE validate_disburse_basis_code
357 ( x_return_status OUT NOCOPY VARCHAR2,
358 p_tplv_rec IN tplv_rec_type
359 ) IS
360
361 l_return_status varchar2(1) := OKL_Api.G_RET_STS_SUCCESS;
362
363 BEGIN
364
365 x_return_status := OKL_Api.G_RET_STS_SUCCESS;
366
367 IF(p_tplv_rec.disbursement_basis_code IS NOT NULL) THEN
368
369 x_return_status := OKL_UTIL.CHECK_LOOKUP_CODE
370 ( 'OKL_DISBURSEMENT_BASIS'
371 , p_tplv_rec.disbursement_basis_code
372 );
373
374 IF x_return_status <> OKL_Api.G_RET_STS_SUCCESS THEN
375
376 OKL_Api.SET_MESSAGE
377 ( p_app_name => g_app_name,
378 p_msg_name => g_invalid_value,
379 p_token1 => g_col_name_token,
380 p_token1_value => 'disbursement_basis_code'
381 ) ;
382
383 RAISE G_EXCEPTION_HALT_VALIDATION;
384
385 END IF;
386
387 END IF;
388
389 EXCEPTION
390
391 WHEN G_EXCEPTION_HALT_VALIDATION then
392 -- No action necessary. Validation can continue to next attribute/column
393 null;
394
395 WHEN OTHERS then
396 -- Store SQL Error Message on the Message Stack for caller
397 OKL_Api.SET_MESSAGE
398 ( p_app_name => g_app_name,
399 p_msg_name => G_UNEXPECTED_ERROR,
400 p_token1 => G_SQLCODE_TOKEN,
401 p_token1_value => 'sqlcode',
402 p_token2 => G_SQLERRM_TOKEN,
403 p_token2_value => 'sqlerrm'
404 ) ;
405
406 x_return_status := OKL_Api.G_RET_STS_UNEXP_ERROR; -- Notify caller of this error
407
408 END validate_disburse_basis_code;
409
410 ---------------------------------------------------------------------------
411 -- PROCEDURE validate_fund_ref_type_code - Post PostGen-16
412 ---------------------------------------------------------------------------
413 PROCEDURE validate_fund_ref_type_code
414 ( x_return_status OUT NOCOPY VARCHAR2,
415 p_tplv_rec IN tplv_rec_type
416 ) IS
417
418 l_return_status varchar2(1) := OKL_Api.G_RET_STS_SUCCESS;
419
420 BEGIN
421
422 x_return_status := OKL_Api.G_RET_STS_SUCCESS;
423
424 IF(p_tplv_rec.funding_reference_type_code IS NOT NULL) THEN
425
426 x_return_status := OKL_UTIL.CHECK_LOOKUP_CODE
427 ( 'OKL_FUNDING_REFERENCE_TYPE'
428 , p_tplv_rec.funding_reference_type_code
429 );
430
431 IF x_return_status <> OKL_Api.G_RET_STS_SUCCESS THEN
432
433 OKL_Api.SET_MESSAGE
434 ( p_app_name => g_app_name,
435 p_msg_name => g_invalid_value,
436 p_token1 => g_col_name_token,
437 p_token1_value => 'FUNDING_REFERENCE_TYPE_CODE'
438 ) ;
439
440 RAISE G_EXCEPTION_HALT_VALIDATION;
441
442 END IF;
443
444 END IF;
445
446 EXCEPTION
447
448 WHEN G_EXCEPTION_HALT_VALIDATION then
449 -- No action necessary. Validation can continue to next attribute/column
450 null;
451
452 WHEN OTHERS then
453 -- Store SQL Error Message on the Message Stack for caller
454 OKL_Api.SET_MESSAGE
455 ( p_app_name => g_app_name,
456 p_msg_name => G_UNEXPECTED_ERROR,
457 p_token1 => G_SQLCODE_TOKEN,
458 p_token1_value => 'sqlcode',
459 p_token2 => G_SQLERRM_TOKEN,
460 p_token2_value => 'sqlerrm'
461 ) ;
462
463 x_return_status := OKL_Api.G_RET_STS_UNEXP_ERROR; -- Notify caller of this error
464
465 END validate_fund_ref_type_code;
466
467 ---------------------------------------------------------------------------
468 -- PROCEDURE validate_fk_ccid - PostGen-3
469 ---------------------------------------------------------------------------
470
471 PROCEDURE validate_fk_ccid
472 ( x_return_status OUT NOCOPY VARCHAR2,
473 p_tplv_rec IN tplv_rec_type
474 ) IS
475
476 l_return_status varchar2(1) := OKL_Api.G_RET_STS_SUCCESS;
477 l_dummy_var VARCHAR2(1) := '?';
478
479 /****************** OKX View Not Available *****************
480
481 CURSOR l_cciv_csr IS
482 SELECT 'x'
483 FROM OKX_CODE_COMBINATIONS_V
484 WHERE id = p_tplv_rec.code_combination_id;
485
486 ***************** OKX View Not Available ******************/
487
488 BEGIN
489
490 null;
491
492 /* **************** OKX View Not Available ****************
493
494 x_return_status := OKL_Api.G_RET_STS_SUCCESS;
495
496 IF(p_tplv_rec.code_combination_id IS NOT NULL) THEN
497
498 IF(p_tplv_rec.code_combination_id = OKL_Api.G_MISS_NUM) THEN
499
500 OKL_Api.SET_MESSAGE
501 ( p_app_name => g_app_name,
502 p_msg_name => g_invalid_value,
503 p_token1 => g_col_name_token,
504 p_token1_value => 'code_combination_id'
505 ) ;
506
507 x_return_status := OKL_Api.G_RET_STS_ERROR;
508
509 RAISE G_EXCEPTION_HALT_VALIDATION; -- skip further validations due to error
510
511 END IF;
512
513 ELSE
514
515 RAISE G_EXCEPTION_HALT_VALIDATION; -- no further validations required when NULL
516
517 END IF;
518
519 open l_cciv_csr;
520 fetch l_cciv_csr into l_dummy_var;
521 close l_cciv_csr;
522
523 IF l_dummy_var = '?' THEN
524
525 OKL_Api.SET_MESSAGE
526 ( p_app_name => g_app_name,
527 p_msg_name => g_no_parent_record,
528 p_token1 => g_col_name_token,
529 p_token1_value => 'code_combination_id',
530 p_token2 => g_child_table_token,
531 p_token2_value => 'OKL_TXL_AP_INV_LNS_V',
532 p_token3 => g_parent_table_token,
533 p_token3_value => 'OKX_CODE_COMBINATIONS_V');
534
535 x_return_status := OKL_Api.G_RET_STS_ERROR;
536
537 RAISE G_EXCEPTION_HALT_VALIDATION;
538
539 END IF;
540
541 EXCEPTION
542
543 WHEN G_EXCEPTION_HALT_VALIDATION then
544 -- No action necessary. Validation can continue to next attribute/column
545 null;
546
547 WHEN OTHERS then
548 -- Store SQL Error Message on the Message Stack for caller
549 OKL_Api.SET_MESSAGE
550 ( p_app_name => g_app_name,
551 p_msg_name => G_UNEXPECTED_ERROR,
552 p_token1 => G_SQLCODE_TOKEN,
553 p_token1_value => 'sqlcode',
554 p_token2 => G_SQLERRM_TOKEN,
555 p_token2_value => 'sqlerrm'
556 ) ;
557
558 x_return_status := OKL_Api.G_RET_STS_UNEXP_ERROR; -- Notify caller of this error
559
560 -- verfiy that cursor was closed
561 IF l_cciv_csr%ISOPEN THEN
562 CLOSE l_cciv_csr;
563 END IF;
564
565 ***************** OKX View Not Available ******************/
566
567 END validate_fk_ccid;
568
569 ---------------------------------------------------------------------------
570 -- PROCEDURE validate_fk_itc_id - PostGen-3
571 ---------------------------------------------------------------------------
572 PROCEDURE validate_fk_itc_id
573 ( x_return_status OUT NOCOPY VARCHAR2,
574 p_tplv_rec IN tplv_rec_type
575 ) IS
576
577 l_return_status varchar2(1) := OKL_Api.G_RET_STS_SUCCESS;
578 l_dummy_var VARCHAR2(1) := '?';
579
580 CURSOR l_itcv_csr IS
581 SELECT 'x'
582 FROM OKX_TAX_CODES_V
583 WHERE id1 = p_tplv_rec.itc_id;
584
585 BEGIN
586
587 x_return_status := OKL_Api.G_RET_STS_SUCCESS;
588
589 IF(p_tplv_rec.itc_id IS NOT NULL) THEN
590
591 IF(p_tplv_rec.itc_id = OKL_Api.G_MISS_NUM) THEN
592
593 OKL_Api.SET_MESSAGE
594 ( p_app_name => g_app_name,
595 p_msg_name => g_invalid_value,
596 p_token1 => g_col_name_token,
597 p_token1_value => 'itc_id'
598 ) ;
599
600 x_return_status := OKL_Api.G_RET_STS_ERROR;
601
602 RAISE G_EXCEPTION_HALT_VALIDATION; -- skip further validations due to error
603
604 END IF;
605
606 ELSE
607
608 RAISE G_EXCEPTION_HALT_VALIDATION; -- no further validations required when NULL
609
610 END IF;
611
612 open l_itcv_csr;
613 fetch l_itcv_csr into l_dummy_var;
614 close l_itcv_csr;
615
616 IF l_dummy_var = '?' THEN
617
618 OKL_Api.SET_MESSAGE
619 ( p_app_name => g_app_name,
620 p_msg_name => g_no_parent_record,
621 p_token1 => g_col_name_token,
622 p_token1_value => 'itc_id',
623 p_token2 => g_child_table_token,
624 p_token2_value => 'OKL_TXL_AP_INV_LNS_V',
625 p_token3 => g_parent_table_token,
626 p_token3_value => 'OKX_TAX_CODES_V');
627
628 x_return_status := OKL_Api.G_RET_STS_ERROR;
629
630 RAISE G_EXCEPTION_HALT_VALIDATION;
631
632 END IF;
633
634 EXCEPTION
635
636 WHEN G_EXCEPTION_HALT_VALIDATION then
637 -- No action necessary. Validation can continue to next attribute/column
638 null;
639
640 WHEN OTHERS then
641 -- Store SQL Error Message on the Message Stack for caller
642 OKL_Api.SET_MESSAGE
643 ( p_app_name => g_app_name,
644 p_msg_name => G_UNEXPECTED_ERROR,
645 p_token1 => G_SQLCODE_TOKEN,
646 p_token1_value => 'sqlcode',
647 p_token2 => G_SQLERRM_TOKEN,
648 p_token2_value => 'sqlerrm'
649 ) ;
650
651 x_return_status := OKL_Api.G_RET_STS_UNEXP_ERROR; -- Notify caller of this error
652
653 -- verfiy that cursor was closed
654 IF l_itcv_csr%ISOPEN THEN
655 CLOSE l_itcv_csr;
656 END IF;
657
658
659 END validate_fk_itc_id;
660
661 ---------------------------------------------------------------------------
662 -- PROCEDURE validate_fk_kle_id - PostGen-3
663 ---------------------------------------------------------------------------
664 PROCEDURE validate_fk_kle_id
665 ( x_return_status OUT NOCOPY VARCHAR2,
666 p_tplv_rec IN tplv_rec_type
667 ) IS
668
669 l_return_status varchar2(1) := OKL_Api.G_RET_STS_SUCCESS;
670 l_dummy_var VARCHAR2(1) := '?';
671
672 CURSOR l_klev_csr IS
673 SELECT 'x'
674 FROM OKL_K_LINES_V
675 WHERE id = p_tplv_rec.kle_id;
676
677 BEGIN
678
679 x_return_status := OKL_Api.G_RET_STS_SUCCESS;
680
681 IF(p_tplv_rec.kle_id IS NOT NULL) THEN
682
683 IF(p_tplv_rec.kle_id = OKL_Api.G_MISS_NUM) THEN
684
685 OKL_Api.SET_MESSAGE
686 ( p_app_name => g_app_name,
687 p_msg_name => g_invalid_value,
688 p_token1 => g_col_name_token,
689 p_token1_value => 'kle_id'
690 ) ;
691
692 x_return_status := OKL_Api.G_RET_STS_ERROR;
693
694 RAISE G_EXCEPTION_HALT_VALIDATION; -- skip further validations due to error
695
696 END IF;
697
698 ELSE
699
700 RAISE G_EXCEPTION_HALT_VALIDATION; -- no further validations required when NULL
701
702 END IF;
703
704 open l_klev_csr;
705 fetch l_klev_csr into l_dummy_var;
706 close l_klev_csr;
707
708 IF l_dummy_var = '?' THEN
709
710 OKL_Api.SET_MESSAGE
711 ( p_app_name => g_app_name,
712 p_msg_name => g_no_parent_record,
713 p_token1 => g_col_name_token,
714 p_token1_value => 'kle_id',
715 p_token2 => g_child_table_token,
716 p_token2_value => 'OKL_TXL_AP_INV_LNS_V',
717 p_token3 => g_parent_table_token,
718 p_token3_value => 'OKL_K_LINES_V');
719
720 x_return_status := OKL_Api.G_RET_STS_ERROR;
721
722 RAISE G_EXCEPTION_HALT_VALIDATION;
723
724 END IF;
725
726 EXCEPTION
727
728 WHEN G_EXCEPTION_HALT_VALIDATION then
729 -- No action necessary. Validation can continue to next attribute/column
730 null;
731
732 WHEN OTHERS then
733 -- Store SQL Error Message on the Message Stack for caller
734 OKL_Api.SET_MESSAGE
735 ( p_app_name => g_app_name,
736 p_msg_name => G_UNEXPECTED_ERROR,
737 p_token1 => G_SQLCODE_TOKEN,
738 p_token1_value => 'sqlcode',
739 p_token2 => G_SQLERRM_TOKEN,
740 p_token2_value => 'sqlerrm'
741 ) ;
742
743 x_return_status := OKL_Api.G_RET_STS_UNEXP_ERROR; -- Notify caller of this error
744
745 -- verfiy that cursor was closed
746 IF l_klev_csr%ISOPEN THEN
747 CLOSE l_klev_csr;
748 END IF;
749
750
751 END validate_fk_kle_id;
752
753 ---------------------------------------------------------------------------
754 -- PROCEDURE validate_fk_lsm_id - PostGen-3
755 ---------------------------------------------------------------------------
756 PROCEDURE validate_fk_lsm_id
757 ( x_return_status OUT NOCOPY VARCHAR2,
758 p_tplv_rec IN tplv_rec_type
759 ) IS
760
761 l_return_status varchar2(1) := OKL_Api.G_RET_STS_SUCCESS;
762 l_dummy_var VARCHAR2(1) := '?';
763
764 CURSOR l_lsmv_csr IS
765 SELECT 'x'
766 FROM OKL_CNSLD_AR_STRMS_V
767 WHERE id = p_tplv_rec.lsm_id;
768
769 BEGIN
770
771 x_return_status := OKL_Api.G_RET_STS_SUCCESS;
772
773 IF(p_tplv_rec.lsm_id IS NOT NULL) THEN
774
775 IF(p_tplv_rec.lsm_id = OKL_Api.G_MISS_NUM) THEN
776
777 OKL_Api.SET_MESSAGE
778 ( p_app_name => g_app_name,
779 p_msg_name => g_invalid_value,
780 p_token1 => g_col_name_token,
781 p_token1_value => 'lsm_id'
782 ) ;
783
784 x_return_status := OKL_Api.G_RET_STS_ERROR;
785
786 RAISE G_EXCEPTION_HALT_VALIDATION; -- skip further validations due to error
787
788 END IF;
789
790 ELSE
791
792 RAISE G_EXCEPTION_HALT_VALIDATION; -- no further validations required when NULL
793
794 END IF;
795
796 open l_lsmv_csr;
797 fetch l_lsmv_csr into l_dummy_var;
798 close l_lsmv_csr;
799
800 IF l_dummy_var = '?' THEN
801
802 OKL_Api.SET_MESSAGE
803 ( p_app_name => g_app_name,
804 p_msg_name => g_no_parent_record,
805 p_token1 => g_col_name_token,
806 p_token1_value => 'lsm_id',
807 p_token2 => g_child_table_token,
808 p_token2_value => 'OKL_TXL_AP_INV_LNS_V',
809 p_token3 => g_parent_table_token,
810 p_token3_value => 'OKL_CNSLD_AR_STRMS_V');
811
812 x_return_status := OKL_Api.G_RET_STS_ERROR;
813
814 RAISE G_EXCEPTION_HALT_VALIDATION;
815
816 END IF;
817
818 EXCEPTION
819
820 WHEN G_EXCEPTION_HALT_VALIDATION then
821 -- No action necessary. Validation can continue to next attribute/column
822 null;
823
824 WHEN OTHERS then
825 -- Store SQL Error Message on the Message Stack for caller
826 OKL_Api.SET_MESSAGE
827 ( p_app_name => g_app_name,
828 p_msg_name => G_UNEXPECTED_ERROR,
829 p_token1 => G_SQLCODE_TOKEN,
830 p_token1_value => 'sqlcode',
831 p_token2 => G_SQLERRM_TOKEN,
832 p_token2_value => 'sqlerrm'
833 ) ;
834
835 x_return_status := OKL_Api.G_RET_STS_UNEXP_ERROR; -- Notify caller of this error
836
837 -- verfiy that cursor was closed
838 IF l_lsmv_csr%ISOPEN THEN
839 CLOSE l_lsmv_csr;
840 END IF;
841
842
843 END validate_fk_lsm_id;
844
845 ---------------------------------------------------------------------------
846 -- PROCEDURE validate_fk_sty_id - PostGen-3
847 ---------------------------------------------------------------------------
848 PROCEDURE validate_fk_sty_id
849 ( x_return_status OUT NOCOPY VARCHAR2,
850 p_tplv_rec IN tplv_rec_type
851 ) IS
852
853 l_return_status varchar2(1) := OKL_Api.G_RET_STS_SUCCESS;
854 l_dummy_var VARCHAR2(1) := '?';
855
856 CURSOR l_styv_csr IS
857 SELECT 'x'
858 FROM OKL_STRM_TYPE_V
859 WHERE id = p_tplv_rec.sty_id;
860
861 BEGIN
862
863 x_return_status := OKL_Api.G_RET_STS_SUCCESS;
864
865 IF(p_tplv_rec.sty_id IS NOT NULL) THEN
866
867 IF(p_tplv_rec.sty_id = OKL_Api.G_MISS_NUM) THEN
868
869 OKL_Api.SET_MESSAGE
870 ( p_app_name => g_app_name,
871 p_msg_name => g_invalid_value,
872 p_token1 => g_col_name_token,
873 p_token1_value => 'sty_id'
874 ) ;
875
876 x_return_status := OKL_Api.G_RET_STS_ERROR;
877
878 RAISE G_EXCEPTION_HALT_VALIDATION; -- skip further validations due to error
879
880 END IF;
881
882 ELSE
883
884 RAISE G_EXCEPTION_HALT_VALIDATION; -- no further validations required when NULL
885
886 END IF;
887
888 open l_styv_csr;
889 fetch l_styv_csr into l_dummy_var;
890 close l_styv_csr;
891
892 IF l_dummy_var = '?' THEN
893
894 OKL_Api.SET_MESSAGE
895 ( p_app_name => g_app_name,
896 p_msg_name => g_no_parent_record,
897 p_token1 => g_col_name_token,
898 p_token1_value => 'sty_id',
899 p_token2 => g_child_table_token,
900 p_token2_value => 'OKL_TXL_AP_INV_LNS_V',
901 p_token3 => g_parent_table_token,
902 p_token3_value => 'OKL_STRM_TYPE_V');
903
904 x_return_status := OKL_Api.G_RET_STS_ERROR;
905
906 RAISE G_EXCEPTION_HALT_VALIDATION;
907
908 END IF;
909
910 EXCEPTION
911
912 WHEN G_EXCEPTION_HALT_VALIDATION then
913 -- No action necessary. Validation can continue to next attribute/column
914 null;
915
916 WHEN OTHERS then
917 -- Store SQL Error Message on the Message Stack for caller
918 OKL_Api.SET_MESSAGE
919 ( p_app_name => g_app_name,
920 p_msg_name => G_UNEXPECTED_ERROR,
921 p_token1 => G_SQLCODE_TOKEN,
922 p_token1_value => 'sqlcode',
923 p_token2 => G_SQLERRM_TOKEN,
924 p_token2_value => 'sqlerrm'
925 ) ;
926
927 x_return_status := OKL_Api.G_RET_STS_UNEXP_ERROR; -- Notify caller of this error
928
929 -- verfiy that cursor was closed
930 IF l_styv_csr%ISOPEN THEN
931 CLOSE l_styv_csr;
932 END IF;
933
934
935 END validate_fk_sty_id;
936
937 ---------------------------------------------------------------------------
938 -- PROCEDURE validate_fk_tpl_id_reverses - PostGen-3
939 ---------------------------------------------------------------------------
940 PROCEDURE validate_fk_tpl_id_reverses
941 ( x_return_status OUT NOCOPY VARCHAR2,
942 p_tplv_rec IN tplv_rec_type
943 ) IS
944
945 l_return_status varchar2(1) := OKL_Api.G_RET_STS_SUCCESS;
946 l_dummy_var VARCHAR2(1) := '?';
947
948 CURSOR l_tplv_csr IS
949 SELECT 'x'
950 FROM OKL_TXL_AP_INV_LNS_V
951 WHERE id = p_tplv_rec.tpl_id_reverses;
952
953 BEGIN
954
955 x_return_status := OKL_Api.G_RET_STS_SUCCESS;
956
957 IF(p_tplv_rec.tpl_id_reverses IS NOT NULL) THEN
958
959 IF(p_tplv_rec.tpl_id_reverses = OKL_Api.G_MISS_NUM) THEN
960
961 OKL_Api.SET_MESSAGE
962 ( p_app_name => g_app_name,
963 p_msg_name => g_invalid_value,
964 p_token1 => g_col_name_token,
965 p_token1_value => 'tpl_id_reverses'
966 ) ;
967
968 x_return_status := OKL_Api.G_RET_STS_ERROR;
969
970 RAISE G_EXCEPTION_HALT_VALIDATION; -- skip further validations due to error
971
972 END IF;
973
974 ELSE
975
976 RAISE G_EXCEPTION_HALT_VALIDATION; -- no further validations required when NULL
977
978 END IF;
979
980 open l_tplv_csr;
981 fetch l_tplv_csr into l_dummy_var;
982 close l_tplv_csr;
983
984 IF l_dummy_var = '?' THEN
985
986 OKL_Api.SET_MESSAGE
987 ( p_app_name => g_app_name,
988 p_msg_name => g_no_parent_record,
989 p_token1 => g_col_name_token,
990 p_token1_value => 'tpl_id_reverses',
991 p_token2 => g_child_table_token,
992 p_token2_value => 'OKL_TXL_AP_INV_LNS_V',
993 p_token3 => g_parent_table_token,
994 p_token3_value => 'OKL_TXL_AP_INV_LNS_V');
995
996 x_return_status := OKL_Api.G_RET_STS_ERROR;
997
998 RAISE G_EXCEPTION_HALT_VALIDATION;
999
1000 END IF;
1001
1002 EXCEPTION
1003
1004 WHEN G_EXCEPTION_HALT_VALIDATION then
1005 -- No action necessary. Validation can continue to next attribute/column
1006 null;
1007
1008 WHEN OTHERS then
1009 -- Store SQL Error Message on the Message Stack for caller
1010 OKL_Api.SET_MESSAGE
1011 ( p_app_name => g_app_name,
1012 p_msg_name => G_UNEXPECTED_ERROR,
1013 p_token1 => G_SQLCODE_TOKEN,
1014 p_token1_value => 'sqlcode',
1015 p_token2 => G_SQLERRM_TOKEN,
1016 p_token2_value => 'sqlerrm'
1017 ) ;
1018
1019 x_return_status := OKL_Api.G_RET_STS_UNEXP_ERROR; -- Notify caller of this error
1020
1021 -- verfiy that cursor was closed
1022 IF l_tplv_csr%ISOPEN THEN
1023 CLOSE l_tplv_csr;
1024 END IF;
1025
1026
1027 END validate_fk_tpl_id_reverses;
1028
1029 ---------------------------------------------------------------------------
1030 -- PROCEDURE validate_fk_tap_id - PostGen-2 PostGen-3
1031 ---------------------------------------------------------------------------
1032 PROCEDURE validate_fk_tap_id
1033 ( x_return_status OUT NOCOPY VARCHAR2,
1034 p_tplv_rec IN tplv_rec_type
1035 ) IS
1036
1037 l_return_status varchar2(1) := OKL_Api.G_RET_STS_SUCCESS;
1038 l_dummy_var VARCHAR2(1) := '?';
1039
1040 CURSOR l_tapv_csr IS
1041 SELECT 'x'
1042 FROM OKL_TRX_AP_INVOICES_B
1043 WHERE id = p_tplv_rec.tap_id;
1044
1045 BEGIN
1046
1047 x_return_status := OKL_Api.G_RET_STS_SUCCESS;
1048
1049 IF(p_tplv_rec.tap_id IS NULL)
1050 OR (p_tplv_rec.tap_id = OKL_Api.G_MISS_NUM) THEN
1051
1052 OKL_Api.SET_MESSAGE
1053 ( p_app_name => g_app_name,
1054 p_msg_name => g_required_value,
1055 p_token1 => g_col_name_token,
1056 p_token1_value => 'tap_id'
1057 ) ;
1058
1059 x_return_status := OKL_Api.G_RET_STS_ERROR;
1060
1061 RAISE G_EXCEPTION_HALT_VALIDATION;
1062
1063 END IF;
1064
1065 open l_tapv_csr;
1066 fetch l_tapv_csr into l_dummy_var;
1067 close l_tapv_csr;
1068
1069 IF l_dummy_var = '?' THEN
1070
1071 OKL_Api.SET_MESSAGE
1072 ( p_app_name => g_app_name,
1073 p_msg_name => g_no_parent_record,
1074 p_token1 => g_col_name_token,
1075 p_token1_value => 'tap_id',
1076 p_token2 => g_child_table_token,
1077 p_token2_value => 'OKL_TXL_AP_INV_LNS_V',
1078 p_token3 => g_parent_table_token,
1079 p_token3_value => 'OKL_TRX_AP_INVOICES_V');
1080
1081 x_return_status := OKL_Api.G_RET_STS_ERROR;
1082
1083 RAISE G_EXCEPTION_HALT_VALIDATION;
1084
1085 END IF;
1086
1087 EXCEPTION
1088
1089 WHEN G_EXCEPTION_HALT_VALIDATION then
1090 -- No action necessary. Validation can continue to next attribute/column
1091 null;
1092
1093 WHEN OTHERS then
1094 -- Store SQL Error Message on the Message Stack for caller
1095 OKL_Api.SET_MESSAGE
1096 ( p_app_name => g_app_name,
1097 p_msg_name => G_UNEXPECTED_ERROR,
1098 p_token1 => G_SQLCODE_TOKEN,
1099 p_token1_value => 'sqlcode',
1100 p_token2 => G_SQLERRM_TOKEN,
1101 p_token2_value => 'sqlerrm'
1102 ) ;
1103
1104 x_return_status := OKL_Api.G_RET_STS_UNEXP_ERROR; -- Notify caller of this error
1105
1106 -- verfiy that cursor was closed
1107 IF l_tapv_csr%ISOPEN THEN
1108 CLOSE l_tapv_csr;
1109 END IF;
1110
1111
1112 END validate_fk_tap_id;
1113 --start:| 14-May-07 cklee -- added TLD_ID column |
1114 ---------------------------------------------------------------------------
1115 -- PROCEDURE validate_fk_tld_id - PostGen-2 PostGen-3
1116 ---------------------------------------------------------------------------
1117 PROCEDURE validate_fk_tld_id(p_tplv_rec IN tplv_rec_type,
1118 x_return_status OUT NOCOPY VARCHAR2)
1119
1120 IS
1121
1122 l_return_status VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
1123
1124 CURSOR tld_csr (p_tld_id NUMBER)
1125 IS
1126 SELECT ID
1127 FROM OKL_TXD_AR_LN_DTLS_B
1128 WHERE id = p_tld_id;
1129
1130 l_tld_id NUMBER := NULL;
1131
1132 BEGIN
1133
1134 x_return_status := Okc_Api.G_RET_STS_SUCCESS;
1135
1136 IF (p_tplv_rec.tld_id IS NOT NULL) THEN
1137
1138 OPEN tld_csr(p_tplv_rec.tld_id);
1139 FETCH tld_csr INTO l_tld_id;
1140 CLOSE tld_csr;
1141
1142 IF (l_tld_id IS NULL) THEN
1143
1144 Okc_Api.SET_MESSAGE(p_app_name => G_APP_NAME
1145 ,p_msg_name => g_invalid_value
1146 ,p_token1 => g_col_name_token
1147 ,p_token1_value => 'tld_id');
1148 x_return_status := Okc_Api.G_RET_STS_ERROR;
1149 RAISE G_EXCEPTION_HALT_VALIDATION;
1150 END IF;
1151
1152 END IF;
1153
1154 EXCEPTION
1155 WHEN G_EXCEPTION_HALT_VALIDATION THEN
1156 -- no processing necessary; validation can continue
1157 -- with the next column
1158 NULL;
1159
1160 WHEN OTHERS THEN
1161 -- store SQL error message on message stack for caller
1162 Okc_Api.SET_MESSAGE(p_app_name => g_app_name,
1163 p_msg_name => g_unexpected_error,
1164 p_token1 => g_sqlcode_token,
1165 p_token1_value => SQLCODE,
1166 p_token2 => g_sqlerrm_token,
1167 p_token2_value => SQLERRM);
1168
1169 x_return_status := Okc_Api.G_RET_STS_UNEXP_ERROR;
1170
1171 END validate_fk_tld_id;
1172 --end:| 14-May-07 cklee -- added TLD_ID column |
1173
1174 ---------------------------------------------------------------------------
1175 -- PROCEDURE validate_fk_sel_id - PostGen-2 PostGen-3
1176 ---------------------------------------------------------------------------
1177 PROCEDURE validate_fk_sel_id(p_tplv_rec IN tplv_rec_type,
1178 x_return_status OUT NOCOPY VARCHAR2)
1179
1180 IS
1181
1182 l_return_status VARCHAR2(1) := Okc_Api.G_RET_STS_SUCCESS;
1183
1184 CURSOR sel_csr (p_sel_id NUMBER)
1185 IS
1186 SELECT ID
1187 FROM okl_strm_elements
1188 WHERE id = p_sel_id;
1189
1190 l_sel_id NUMBER := NULL;
1191
1192 BEGIN
1193
1194 x_return_status := Okc_Api.G_RET_STS_SUCCESS;
1195
1196 IF (p_tplv_rec.sel_id IS NOT NULL) THEN
1197
1198 OPEN sel_csr(p_tplv_rec.sel_id);
1199 FETCH sel_csr INTO l_sel_id;
1200 CLOSE sel_csr;
1201
1202 IF (l_sel_id IS NULL) THEN
1203
1204 Okc_Api.SET_MESSAGE(p_app_name => G_APP_NAME
1205 ,p_msg_name => g_invalid_value
1206 ,p_token1 => g_col_name_token
1207 ,p_token1_value => 'sel_id');
1208 x_return_status := Okc_Api.G_RET_STS_ERROR;
1209 RAISE G_EXCEPTION_HALT_VALIDATION;
1210 END IF;
1211
1212 END IF;
1213
1214 EXCEPTION
1215 WHEN G_EXCEPTION_HALT_VALIDATION THEN
1216 -- no processing necessary; validation can continue
1217 -- with the next column
1218 NULL;
1219
1220 WHEN OTHERS THEN
1221 -- store SQL error message on message stack for caller
1222 Okc_Api.SET_MESSAGE(p_app_name => g_app_name,
1223 p_msg_name => g_unexpected_error,
1224 p_token1 => g_sqlcode_token,
1225 p_token1_value => SQLCODE,
1226 p_token2 => g_sqlerrm_token,
1227 p_token2_value => SQLERRM);
1228
1229 x_return_status := Okc_Api.G_RET_STS_UNEXP_ERROR;
1230
1231 END validate_fk_sel_id;
1232
1233 ---------------------------------------------------------------------------
1234 -- FUNCTION get_seq_id
1235 ---------------------------------------------------------------------------
1236 FUNCTION get_seq_id RETURN NUMBER IS
1237 BEGIN
1238 RETURN(OKC_p_util.raw_to_number(sys_guid()));
1239 END get_seq_id;
1240
1241 ---------------------------------------------------------------------------
1242 -- PROCEDURE qc
1243 ---------------------------------------------------------------------------
1244 PROCEDURE qc IS
1245 BEGIN
1246 null;
1247 END qc;
1248
1249 ---------------------------------------------------------------------------
1250 -- PROCEDURE change_version
1251 ---------------------------------------------------------------------------
1252 PROCEDURE change_version IS
1253 BEGIN
1254 null;
1255 END change_version;
1256
1257 ---------------------------------------------------------------------------
1258 -- PROCEDURE api_copy
1259 ---------------------------------------------------------------------------
1260 PROCEDURE api_copy IS
1261 BEGIN
1262 null;
1263 END api_copy;
1264
1265 ---------------------------------------------------------------------------
1266 -- PROCEDURE add_language
1267 ---------------------------------------------------------------------------
1268 PROCEDURE add_language IS
1269 BEGIN
1270 DELETE FROM OKL_TXL_AP_INV_LNS_TL T
1271 WHERE NOT EXISTS (
1272 SELECT NULL
1273 FROM OKL_TXL_AP_INV_LNS_ALL_B B
1274 WHERE B.ID = T.ID
1275 AND T.LANGUAGE = USERENV('LANG')
1276 );
1277
1278 UPDATE OKL_TXL_AP_INV_LNS_TL T SET (
1279 DESCRIPTION) = (SELECT
1280 B.DESCRIPTION
1281 FROM OKL_TXL_AP_INV_LNS_TL B
1282 WHERE B.ID = T.ID
1283 AND B.LANGUAGE = T.SOURCE_LANG)
1284 WHERE (
1285 T.ID,
1286 T.LANGUAGE)
1287 IN (SELECT
1288 SUBT.ID,
1289 SUBT.LANGUAGE
1290 FROM OKL_TXL_AP_INV_LNS_TL SUBB, OKL_TXL_AP_INV_LNS_TL SUBT
1291 WHERE SUBB.ID = SUBT.ID
1292 AND SUBB.LANGUAGE = SUBT.SOURCE_LANG
1293 AND (SUBB.DESCRIPTION <> SUBT.DESCRIPTION
1294 OR (SUBB.DESCRIPTION IS NULL AND SUBT.DESCRIPTION IS NOT NULL)
1295 OR (SUBB.DESCRIPTION IS NOT NULL AND SUBT.DESCRIPTION IS NULL)
1296 ));
1297
1298 INSERT INTO OKL_TXL_AP_INV_LNS_TL (
1299 ID,
1300 LANGUAGE,
1301 SOURCE_LANG,
1302 SFWT_FLAG,
1303 DESCRIPTION,
1304 CREATED_BY,
1305 CREATION_DATE,
1306 LAST_UPDATED_BY,
1307 LAST_UPDATE_DATE,
1308 LAST_UPDATE_LOGIN)
1309 SELECT
1310 B.ID,
1311 L.LANGUAGE_CODE,
1312 B.SOURCE_LANG,
1313 B.SFWT_FLAG,
1314 B.DESCRIPTION,
1315 B.CREATED_BY,
1316 B.CREATION_DATE,
1317 B.LAST_UPDATED_BY,
1318 B.LAST_UPDATE_DATE,
1319 B.LAST_UPDATE_LOGIN
1320 FROM OKL_TXL_AP_INV_LNS_TL B, FND_LANGUAGES L
1321 WHERE L.INSTALLED_FLAG IN ('I', 'B')
1322 AND B.LANGUAGE = USERENV('LANG')
1323 AND NOT EXISTS(
1324 SELECT NULL
1325 FROM OKL_TXL_AP_INV_LNS_TL T
1326 WHERE T.ID = B.ID
1327 AND T.LANGUAGE = L.LANGUAGE_CODE
1328 );
1329
1330 END add_language;
1331
1332 ---------------------------------------------------------------------------
1333 -- FUNCTION get_rec for: OKL_TXL_AP_INV_LNS_B
1334 ---------------------------------------------------------------------------
1335 FUNCTION get_rec (
1336 p_tpl_rec IN tpl_rec_type,
1337 x_no_data_found OUT NOCOPY BOOLEAN
1338 ) RETURN tpl_rec_type IS
1339 CURSOR tpl_pk_csr (p_id IN NUMBER) IS
1340 SELECT
1341 ID,
1342 INV_DISTR_LINE_CODE,
1343 TAP_ID,
1344 DISBURSEMENT_BASIS_CODE,
1345 TPL_ID_REVERSES,
1346 code_combination_id,
1347 LSM_ID,
1348 KLE_ID,
1349 ITC_ID,
1350 STY_ID,
1351 LINE_NUMBER,
1352 OBJECT_VERSION_NUMBER,
1353 DATE_ACCOUNTING,
1354 AMOUNT,
1355 FUNDING_REFERENCE_NUMBER,
1356 FUNDING_REFERENCE_TYPE_CODE,
1357 PAYABLES_INVOICE_ID,
1358 REQUEST_ID,
1359 PROGRAM_APPLICATION_ID,
1360 PROGRAM_ID,
1361 PROGRAM_UPDATE_DATE,
1362 ORG_ID,
1363 error_message,
1364 ATTRIBUTE_CATEGORY,
1365 ATTRIBUTE1,
1366 ATTRIBUTE2,
1367 ATTRIBUTE3,
1368 ATTRIBUTE4,
1369 ATTRIBUTE5,
1370 ATTRIBUTE6,
1371 ATTRIBUTE7,
1372 ATTRIBUTE8,
1373 ATTRIBUTE9,
1374 ATTRIBUTE10,
1375 ATTRIBUTE11,
1376 ATTRIBUTE12,
1377 ATTRIBUTE13,
1378 ATTRIBUTE14,
1379 ATTRIBUTE15,
1380 CREATED_BY,
1381 CREATION_DATE,
1382 LAST_UPDATED_BY,
1383 LAST_UPDATE_DATE,
1384 LAST_UPDATE_LOGIN,
1385 --start:| 14-May-07 cklee -- added TLD_ID column |
1386 TLD_ID,
1387 --end:| 14-May-07 cklee -- added TLD_ID column |
1388 SEL_ID
1389 FROM Okl_Txl_Ap_Inv_Lns_B
1390 WHERE okl_txl_ap_inv_lns_b.id = p_id;
1391 l_tpl_pk tpl_pk_csr%ROWTYPE;
1392 l_tpl_rec tpl_rec_type;
1393 BEGIN
1394 x_no_data_found := TRUE;
1395 -- Get current database values
1396 OPEN tpl_pk_csr (p_tpl_rec.id);
1397 FETCH tpl_pk_csr INTO
1398 l_tpl_rec.ID,
1399 l_tpl_rec.INV_DISTR_LINE_CODE,
1400 l_tpl_rec.TAP_ID,
1401 l_tpl_rec.DISBURSEMENT_BASIS_CODE,
1402 l_tpl_rec.TPL_ID_REVERSES,
1403 l_tpl_rec.code_combination_id,
1404 l_tpl_rec.LSM_ID,
1405 l_tpl_rec.KLE_ID,
1406 l_tpl_rec.ITC_ID,
1407 l_tpl_rec.STY_ID,
1408 l_tpl_rec.LINE_NUMBER,
1409 l_tpl_rec.OBJECT_VERSION_NUMBER,
1410 l_tpl_rec.DATE_ACCOUNTING,
1411 l_tpl_rec.AMOUNT,
1412 l_tpl_rec.FUNDING_REFERENCE_NUMBER,
1413 l_tpl_rec.FUNDING_REFERENCE_TYPE_CODE,
1414 l_tpl_rec.PAYABLES_INVOICE_ID,
1415 l_tpl_rec.REQUEST_ID,
1416 l_tpl_rec.PROGRAM_APPLICATION_ID,
1417 l_tpl_rec.PROGRAM_ID,
1418 l_tpl_rec.PROGRAM_UPDATE_DATE,
1419 l_tpl_rec.ORG_ID,
1420 l_tpl_rec.error_message,
1421 l_tpl_rec.ATTRIBUTE_CATEGORY,
1422 l_tpl_rec.ATTRIBUTE1,
1423 l_tpl_rec.ATTRIBUTE2,
1424 l_tpl_rec.ATTRIBUTE3,
1425 l_tpl_rec.ATTRIBUTE4,
1426 l_tpl_rec.ATTRIBUTE5,
1427 l_tpl_rec.ATTRIBUTE6,
1428 l_tpl_rec.ATTRIBUTE7,
1429 l_tpl_rec.ATTRIBUTE8,
1430 l_tpl_rec.ATTRIBUTE9,
1431 l_tpl_rec.ATTRIBUTE10,
1432 l_tpl_rec.ATTRIBUTE11,
1433 l_tpl_rec.ATTRIBUTE12,
1434 l_tpl_rec.ATTRIBUTE13,
1435 l_tpl_rec.ATTRIBUTE14,
1436 l_tpl_rec.ATTRIBUTE15,
1437 l_tpl_rec.CREATED_BY,
1438 l_tpl_rec.CREATION_DATE,
1439 l_tpl_rec.LAST_UPDATED_BY,
1440 l_tpl_rec.LAST_UPDATE_DATE,
1441 l_tpl_rec.LAST_UPDATE_LOGIN,
1442 --start:| 14-May-07 cklee -- added TLD_ID column |
1443 l_tpl_rec.TLD_ID,
1444 --end:| 14-May-07 cklee -- added TLD_ID column |
1445 l_tpl_rec.SEL_ID;
1446 x_no_data_found := tpl_pk_csr%NOTFOUND;
1447 CLOSE tpl_pk_csr;
1448 RETURN(l_tpl_rec);
1449 END get_rec;
1450
1451 FUNCTION get_rec (
1452 p_tpl_rec IN tpl_rec_type
1453 ) RETURN tpl_rec_type IS
1454 l_row_notfound BOOLEAN := TRUE;
1455 BEGIN
1456 RETURN(get_rec(p_tpl_rec, l_row_notfound));
1457 END get_rec;
1458 ---------------------------------------------------------------------------
1459 -- FUNCTION get_rec for: OKL_TXL_AP_INV_LNS_TL
1460 ---------------------------------------------------------------------------
1461 FUNCTION get_rec (
1462 p_okl_txl_ap_inv_lns_tl_rec IN okl_txl_ap_inv_lns_tl_rec_type,
1463 x_no_data_found OUT NOCOPY BOOLEAN
1464 ) RETURN okl_txl_ap_inv_lns_tl_rec_type IS
1465 CURSOR okl_txl_ap_inv_lns_tl_pk_csr (p_id IN NUMBER,
1466 p_language IN VARCHAR2) IS
1467 SELECT
1468 ID,
1469 LANGUAGE,
1470 SOURCE_LANG,
1471 SFWT_FLAG,
1472 DESCRIPTION,
1473 CREATED_BY,
1474 CREATION_DATE,
1475 LAST_UPDATED_BY,
1476 LAST_UPDATE_DATE,
1477 LAST_UPDATE_LOGIN
1478 FROM Okl_Txl_Ap_Inv_Lns_Tl
1479 WHERE okl_txl_ap_inv_lns_tl.id = p_id
1480 AND okl_txl_ap_inv_lns_tl.language = p_language;
1481 l_okl_txl_ap_inv_lns_tl_pk okl_txl_ap_inv_lns_tl_pk_csr%ROWTYPE;
1482 l_okl_txl_ap_inv_lns_tl_rec okl_txl_ap_inv_lns_tl_rec_type;
1483 BEGIN
1484 x_no_data_found := TRUE;
1485 -- Get current database values
1486 OPEN okl_txl_ap_inv_lns_tl_pk_csr (p_okl_txl_ap_inv_lns_tl_rec.id,
1487 p_okl_txl_ap_inv_lns_tl_rec.language);
1488 FETCH okl_txl_ap_inv_lns_tl_pk_csr INTO
1489 l_okl_txl_ap_inv_lns_tl_rec.ID,
1490 l_okl_txl_ap_inv_lns_tl_rec.LANGUAGE,
1491 l_okl_txl_ap_inv_lns_tl_rec.SOURCE_LANG,
1492 l_okl_txl_ap_inv_lns_tl_rec.SFWT_FLAG,
1493 l_okl_txl_ap_inv_lns_tl_rec.DESCRIPTION,
1494 l_okl_txl_ap_inv_lns_tl_rec.CREATED_BY,
1495 l_okl_txl_ap_inv_lns_tl_rec.CREATION_DATE,
1496 l_okl_txl_ap_inv_lns_tl_rec.LAST_UPDATED_BY,
1497 l_okl_txl_ap_inv_lns_tl_rec.LAST_UPDATE_DATE,
1498 l_okl_txl_ap_inv_lns_tl_rec.LAST_UPDATE_LOGIN;
1499 x_no_data_found := okl_txl_ap_inv_lns_tl_pk_csr%NOTFOUND;
1500 CLOSE okl_txl_ap_inv_lns_tl_pk_csr;
1501 RETURN(l_okl_txl_ap_inv_lns_tl_rec);
1502 END get_rec;
1503
1504 FUNCTION get_rec (
1505 p_okl_txl_ap_inv_lns_tl_rec IN okl_txl_ap_inv_lns_tl_rec_type
1506 ) RETURN okl_txl_ap_inv_lns_tl_rec_type IS
1507 l_row_notfound BOOLEAN := TRUE;
1508 BEGIN
1509 RETURN(get_rec(p_okl_txl_ap_inv_lns_tl_rec, l_row_notfound));
1510 END get_rec;
1511 ---------------------------------------------------------------------------
1512 -- FUNCTION get_rec for: OKL_TXL_AP_INV_LNS_V
1513 ---------------------------------------------------------------------------
1514 FUNCTION get_rec (
1515 p_tplv_rec IN tplv_rec_type,
1516 x_no_data_found OUT NOCOPY BOOLEAN
1517 ) RETURN tplv_rec_type IS
1518 CURSOR okl_tplv_pk_csr (p_id IN NUMBER) IS
1519 SELECT
1520 ID,
1521 OBJECT_VERSION_NUMBER,
1522 SFWT_FLAG,
1523 code_combination_id,
1524 ITC_ID,
1525 DISBURSEMENT_BASIS_CODE,
1526 KLE_ID,
1527 LSM_ID,
1528 TPL_ID_REVERSES,
1529 INV_DISTR_LINE_CODE,
1530 STY_ID,
1531 TAP_ID,
1532 DATE_ACCOUNTING,
1533 AMOUNT,
1534 FUNDING_REFERENCE_NUMBER,
1535 FUNDING_REFERENCE_TYPE_CODE,
1536 LINE_NUMBER,
1537 PAYABLES_INVOICE_ID,
1538 DESCRIPTION,
1539 error_message,
1540 ATTRIBUTE_CATEGORY,
1541 ATTRIBUTE1,
1542 ATTRIBUTE2,
1543 ATTRIBUTE3,
1544 ATTRIBUTE4,
1545 ATTRIBUTE5,
1546 ATTRIBUTE6,
1547 ATTRIBUTE7,
1548 ATTRIBUTE8,
1549 ATTRIBUTE9,
1550 ATTRIBUTE10,
1551 ATTRIBUTE11,
1552 ATTRIBUTE12,
1553 ATTRIBUTE13,
1554 ATTRIBUTE14,
1555 ATTRIBUTE15,
1556 REQUEST_ID,
1557 PROGRAM_APPLICATION_ID,
1558 PROGRAM_ID,
1559 PROGRAM_UPDATE_DATE,
1560 ORG_ID,
1561 CREATED_BY,
1562 CREATION_DATE,
1563 LAST_UPDATED_BY,
1564 LAST_UPDATE_DATE,
1565 LAST_UPDATE_LOGIN,
1566 --start:| 14-May-07 cklee -- added TLD_ID column |
1567 TLD_ID,
1568 --end:| 14-May-07 cklee -- added TLD_ID column |
1569 SEL_ID
1570 FROM Okl_Txl_Ap_Inv_Lns_V
1571 WHERE okl_txl_ap_inv_lns_v.id = p_id;
1572 l_okl_tplv_pk okl_tplv_pk_csr%ROWTYPE;
1573 l_tplv_rec tplv_rec_type;
1574 BEGIN
1575 x_no_data_found := TRUE;
1576 -- Get current database values
1577 OPEN okl_tplv_pk_csr (p_tplv_rec.id);
1578 FETCH okl_tplv_pk_csr INTO
1579 l_tplv_rec.ID,
1580 l_tplv_rec.OBJECT_VERSION_NUMBER,
1581 l_tplv_rec.SFWT_FLAG,
1582 l_tplv_rec.code_combination_id,
1583 l_tplv_rec.ITC_ID,
1584 l_tplv_rec.DISBURSEMENT_BASIS_CODE,
1585 l_tplv_rec.KLE_ID,
1586 l_tplv_rec.LSM_ID,
1587 l_tplv_rec.TPL_ID_REVERSES,
1588 l_tplv_rec.INV_DISTR_LINE_CODE,
1589 l_tplv_rec.STY_ID,
1590 l_tplv_rec.TAP_ID,
1591 l_tplv_rec.DATE_ACCOUNTING,
1592 l_tplv_rec.AMOUNT,
1593 l_tplv_rec.FUNDING_REFERENCE_NUMBER,
1594 l_tplv_rec.FUNDING_REFERENCE_TYPE_CODE,
1595 l_tplv_rec.LINE_NUMBER,
1596 l_tplv_rec.PAYABLES_INVOICE_ID,
1597 l_tplv_rec.DESCRIPTION,
1598 l_tplv_rec.error_message,
1599 l_tplv_rec.ATTRIBUTE_CATEGORY,
1600 l_tplv_rec.ATTRIBUTE1,
1601 l_tplv_rec.ATTRIBUTE2,
1602 l_tplv_rec.ATTRIBUTE3,
1603 l_tplv_rec.ATTRIBUTE4,
1604 l_tplv_rec.ATTRIBUTE5,
1605 l_tplv_rec.ATTRIBUTE6,
1606 l_tplv_rec.ATTRIBUTE7,
1607 l_tplv_rec.ATTRIBUTE8,
1608 l_tplv_rec.ATTRIBUTE9,
1609 l_tplv_rec.ATTRIBUTE10,
1610 l_tplv_rec.ATTRIBUTE11,
1611 l_tplv_rec.ATTRIBUTE12,
1612 l_tplv_rec.ATTRIBUTE13,
1613 l_tplv_rec.ATTRIBUTE14,
1614 l_tplv_rec.ATTRIBUTE15,
1615 l_tplv_rec.REQUEST_ID,
1616 l_tplv_rec.PROGRAM_APPLICATION_ID,
1617 l_tplv_rec.PROGRAM_ID,
1618 l_tplv_rec.PROGRAM_UPDATE_DATE,
1619 l_tplv_rec.ORG_ID,
1620 l_tplv_rec.CREATED_BY,
1621 l_tplv_rec.CREATION_DATE,
1622 l_tplv_rec.LAST_UPDATED_BY,
1623 l_tplv_rec.LAST_UPDATE_DATE,
1624 l_tplv_rec.LAST_UPDATE_LOGIN,
1625 --start:| 14-May-07 cklee -- added TLD_ID column |
1626 l_tplv_rec.TLD_ID,
1627 --end:| 14-May-07 cklee -- added TLD_ID column |
1628 l_tplv_rec.SEL_ID;
1629 x_no_data_found := okl_tplv_pk_csr%NOTFOUND;
1630 CLOSE okl_tplv_pk_csr;
1631 RETURN(l_tplv_rec);
1632 END get_rec;
1633
1634 FUNCTION get_rec (
1635 p_tplv_rec IN tplv_rec_type
1636 ) RETURN tplv_rec_type IS
1637 l_row_notfound BOOLEAN := TRUE;
1638 BEGIN
1639 RETURN(get_rec(p_tplv_rec, l_row_notfound));
1640 END get_rec;
1641
1642 ----------------------------------------------------------
1643 -- FUNCTION null_out_defaults for: OKL_TXL_AP_INV_LNS_V --
1644 ----------------------------------------------------------
1645 FUNCTION null_out_defaults (
1646 p_tplv_rec IN tplv_rec_type
1647 ) RETURN tplv_rec_type IS
1648 l_tplv_rec tplv_rec_type := p_tplv_rec;
1649 BEGIN
1650 IF (l_tplv_rec.object_version_number = OKL_API.G_MISS_NUM) THEN
1651 l_tplv_rec.object_version_number := NULL;
1652 END IF;
1653 IF (l_tplv_rec.sfwt_flag = OKL_API.G_MISS_CHAR) THEN
1654 l_tplv_rec.sfwt_flag := NULL;
1655 END IF;
1656 IF (l_tplv_rec.code_combination_id = OKL_API.G_MISS_NUM) THEN
1657 l_tplv_rec.code_combination_id := NULL;
1658 END IF;
1659 IF (l_tplv_rec.itc_id = OKL_API.G_MISS_NUM) THEN
1660 l_tplv_rec.itc_id := NULL;
1661 END IF;
1662 IF (l_tplv_rec.disbursement_basis_code = OKL_API.G_MISS_CHAR) THEN
1663 l_tplv_rec.disbursement_basis_code := NULL;
1664 END IF;
1665 IF (l_tplv_rec.kle_id = OKL_API.G_MISS_NUM) THEN
1666 l_tplv_rec.kle_id := NULL;
1667 END IF;
1668 IF (l_tplv_rec.khr_id = OKL_API.G_MISS_NUM) THEN
1669 l_tplv_rec.khr_id := NULL;
1670 END IF;
1671 IF (l_tplv_rec.cnsld_ap_inv_id = OKL_API.G_MISS_NUM) THEN
1672 l_tplv_rec.cnsld_ap_inv_id := NULL;
1673 END IF;
1674 IF (l_tplv_rec.taxable_yn = OKL_API.G_MISS_CHAR) THEN
1675 l_tplv_rec.taxable_yn := NULL;
1676 END IF;
1677 IF (l_tplv_rec.lsm_id = OKL_API.G_MISS_NUM) THEN
1678 l_tplv_rec.lsm_id := NULL;
1679 END IF;
1680 IF (l_tplv_rec.tpl_id_reverses = OKL_API.G_MISS_NUM) THEN
1681 l_tplv_rec.tpl_id_reverses := NULL;
1682 END IF;
1683 IF (l_tplv_rec.inv_distr_line_code = OKL_API.G_MISS_CHAR) THEN
1684 l_tplv_rec.inv_distr_line_code := NULL;
1685 END IF;
1686 IF (l_tplv_rec.sty_id = OKL_API.G_MISS_NUM) THEN
1687 l_tplv_rec.sty_id := NULL;
1688 END IF;
1689 IF (l_tplv_rec.tap_id = OKL_API.G_MISS_NUM) THEN
1690 l_tplv_rec.tap_id := NULL;
1691 END IF;
1692 IF (l_tplv_rec.date_accounting = OKL_API.G_MISS_DATE) THEN
1693 l_tplv_rec.date_accounting := NULL;
1694 END IF;
1695 IF (l_tplv_rec.amount = OKL_API.G_MISS_NUM) THEN
1696 l_tplv_rec.amount := NULL;
1697 END IF;
1698 IF (l_tplv_rec.funding_reference_number = OKL_API.G_MISS_CHAR) THEN
1699 l_tplv_rec.funding_reference_number := NULL;
1700 END IF;
1701 IF (l_tplv_rec.funding_reference_type_code = OKL_API.G_MISS_CHAR) THEN
1702 l_tplv_rec.funding_reference_type_code := NULL;
1703 END IF;
1704 IF (l_tplv_rec.line_number = OKL_API.G_MISS_NUM) THEN
1705 l_tplv_rec.line_number := NULL;
1706 END IF;
1707 IF (l_tplv_rec.ref_line_number = OKL_API.G_MISS_NUM) THEN
1708 l_tplv_rec.ref_line_number := NULL;
1709 END IF;
1710 IF (l_tplv_rec.cnsld_line_number = OKL_API.G_MISS_NUM) THEN
1711 l_tplv_rec.cnsld_line_number := NULL;
1712 END IF;
1713 IF (l_tplv_rec.payables_invoice_id = OKL_API.G_MISS_NUM) THEN
1714 l_tplv_rec.payables_invoice_id := NULL;
1715 END IF;
1716 IF (l_tplv_rec.description = OKL_API.G_MISS_CHAR) THEN
1717 l_tplv_rec.description := NULL;
1718 END IF;
1719 IF (l_tplv_rec.error_message = OKL_API.G_MISS_CHAR) THEN
1720 l_tplv_rec.error_message := NULL;
1721 END IF;
1722 IF (l_tplv_rec.attribute_category = OKL_API.G_MISS_CHAR) THEN
1723 l_tplv_rec.attribute_category := NULL;
1724 END IF;
1725 IF (l_tplv_rec.attribute1 = OKL_API.G_MISS_CHAR) THEN
1726 l_tplv_rec.attribute1 := NULL;
1727 END IF;
1728 IF (l_tplv_rec.attribute2 = OKL_API.G_MISS_CHAR) THEN
1729 l_tplv_rec.attribute2 := NULL;
1730 END IF;
1731 IF (l_tplv_rec.attribute3 = OKL_API.G_MISS_CHAR) THEN
1732 l_tplv_rec.attribute3 := NULL;
1733 END IF;
1734 IF (l_tplv_rec.attribute4 = OKL_API.G_MISS_CHAR) THEN
1735 l_tplv_rec.attribute4 := NULL;
1736 END IF;
1737 IF (l_tplv_rec.attribute5 = OKL_API.G_MISS_CHAR) THEN
1738 l_tplv_rec.attribute5 := NULL;
1739 END IF;
1740 IF (l_tplv_rec.attribute6 = OKL_API.G_MISS_CHAR) THEN
1741 l_tplv_rec.attribute6 := NULL;
1742 END IF;
1743 IF (l_tplv_rec.attribute7 = OKL_API.G_MISS_CHAR) THEN
1744 l_tplv_rec.attribute7 := NULL;
1745 END IF;
1746 IF (l_tplv_rec.attribute8 = OKL_API.G_MISS_CHAR) THEN
1747 l_tplv_rec.attribute8 := NULL;
1748 END IF;
1749 IF (l_tplv_rec.attribute9 = OKL_API.G_MISS_CHAR) THEN
1750 l_tplv_rec.attribute9 := NULL;
1751 END IF;
1752 IF (l_tplv_rec.attribute10 = OKL_API.G_MISS_CHAR) THEN
1753 l_tplv_rec.attribute10 := NULL;
1754 END IF;
1755 IF (l_tplv_rec.attribute11 = OKL_API.G_MISS_CHAR) THEN
1756 l_tplv_rec.attribute11 := NULL;
1757 END IF;
1758 IF (l_tplv_rec.attribute12 = OKL_API.G_MISS_CHAR) THEN
1759 l_tplv_rec.attribute12 := NULL;
1760 END IF;
1761 IF (l_tplv_rec.attribute13 = OKL_API.G_MISS_CHAR) THEN
1762 l_tplv_rec.attribute13 := NULL;
1763 END IF;
1764 IF (l_tplv_rec.attribute14 = OKL_API.G_MISS_CHAR) THEN
1765 l_tplv_rec.attribute14 := NULL;
1766 END IF;
1767 IF (l_tplv_rec.attribute15 = OKL_API.G_MISS_CHAR) THEN
1768 l_tplv_rec.attribute15 := NULL;
1769 END IF;
1770 IF (l_tplv_rec.request_id = OKL_API.G_MISS_NUM) THEN
1771 l_tplv_rec.request_id := NULL;
1772 END IF;
1773 IF (l_tplv_rec.program_application_id = OKL_API.G_MISS_NUM) THEN
1774 l_tplv_rec.program_application_id := NULL;
1775 END IF;
1776 IF (l_tplv_rec.program_id = OKL_API.G_MISS_NUM) THEN
1777 l_tplv_rec.program_id := NULL;
1778 END IF;
1779 IF (l_tplv_rec.program_update_date = OKL_API.G_MISS_DATE) THEN
1780 l_tplv_rec.program_update_date := NULL;
1781 END IF;
1782 IF (l_tplv_rec.org_id = OKL_API.G_MISS_NUM) THEN
1783 l_tplv_rec.org_id := NULL;
1784 END IF;
1785 IF (l_tplv_rec.created_by = OKL_API.G_MISS_NUM) THEN
1786 l_tplv_rec.created_by := NULL;
1787 END IF;
1788 IF (l_tplv_rec.creation_date = OKL_API.G_MISS_DATE) THEN
1789 l_tplv_rec.creation_date := NULL;
1790 END IF;
1791 IF (l_tplv_rec.last_updated_by = OKL_API.G_MISS_NUM) THEN
1792 l_tplv_rec.last_updated_by := NULL;
1793 END IF;
1794 IF (l_tplv_rec.last_update_date = OKL_API.G_MISS_DATE) THEN
1795 l_tplv_rec.last_update_date := NULL;
1796 END IF;
1797 IF (l_tplv_rec.last_update_login = OKL_API.G_MISS_NUM) THEN
1798 l_tplv_rec.last_update_login := NULL;
1799 END IF;
1800
1801 --start:| 14-May-07 cklee -- added TLD_ID column |
1802 IF (l_tplv_rec.tld_id = OKL_API.G_MISS_NUM) THEN
1803 l_tplv_rec.tld_id := NULL;
1804 END IF;
1805 --end:| 14-May-07 cklee -- added TLD_ID column |
1806
1807 IF (l_tplv_rec.sel_id = OKL_API.G_MISS_NUM) THEN
1808 l_tplv_rec.sel_id := NULL;
1809 END IF;
1810
1811 RETURN(l_tplv_rec);
1812 END null_out_defaults;
1813
1814 -----------------------------------------------------------------------------------
1815 -- PROCEDURE Validate_Attributes for:OKL_TXL_AP_INV_LNS_V : Modified for PostGen-12
1816 -----------------------------------------------------------------------------------
1817 FUNCTION Validate_Attributes
1818 ( p_tplv_rec IN tplv_rec_type
1819 ) RETURN VARCHAR2 IS
1820
1821 x_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
1822 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
1823
1824 BEGIN
1825
1826 validate_id ( x_return_status => l_return_status
1827 , p_tplv_rec => p_tplv_rec
1828 ) ;
1829 -- Store the highest degree of error
1830 IF l_return_status <> OKL_API.G_RET_STS_SUCCESS THEN
1831 IF x_return_status <> OKL_API.G_RET_STS_UNEXP_ERROR THEN
1832 x_return_status := l_return_status;
1833 END IF;
1834 END IF;
1835
1836 validate_object_version_number
1837 ( x_return_status => l_return_status
1838 , p_tplv_rec => p_tplv_rec
1839 ) ;
1840 -- Store the highest degree of error
1841 IF l_return_status <> OKL_API.G_RET_STS_SUCCESS THEN
1842 IF x_return_status <> OKL_API.G_RET_STS_UNEXP_ERROR THEN
1843 x_return_status := l_return_status;
1844 END IF;
1845 END IF;
1846
1847 validate_org_id
1848 ( x_return_status => l_return_status
1849 , p_tplv_rec => p_tplv_rec
1850 ) ;
1851 -- Store the highest degree of error
1852 IF l_return_status <> OKL_API.G_RET_STS_SUCCESS THEN
1853 IF x_return_status <> OKL_API.G_RET_STS_UNEXP_ERROR THEN
1854 x_return_status := l_return_status;
1855 END IF;
1856 END IF;
1857
1858 validate_line_number
1859 ( x_return_status => l_return_status
1860 , p_tplv_rec => p_tplv_rec
1861 ) ;
1862 -- Store the highest degree of error
1863 IF l_return_status <> OKL_API.G_RET_STS_SUCCESS THEN
1864 IF x_return_status <> OKL_API.G_RET_STS_UNEXP_ERROR THEN
1865 x_return_status := l_return_status;
1866 END IF;
1867 END IF;
1868
1869 validate_inv_distr_line_code
1870 ( x_return_status => l_return_status
1871 , p_tplv_rec => p_tplv_rec
1872 ) ;
1873 -- Store the highest degree of error
1874 IF l_return_status <> OKL_API.G_RET_STS_SUCCESS THEN
1875 IF x_return_status <> OKL_API.G_RET_STS_UNEXP_ERROR THEN
1876 x_return_status := l_return_status;
1877 END IF;
1878 END IF;
1879
1880 validate_disburse_basis_code
1881 ( x_return_status => l_return_status
1882 , p_tplv_rec => p_tplv_rec
1883 ) ;
1884 -- Store the highest degree of error
1885 IF l_return_status <> OKL_API.G_RET_STS_SUCCESS THEN
1886 IF x_return_status <> OKL_API.G_RET_STS_UNEXP_ERROR THEN
1887 x_return_status := l_return_status;
1888 END IF;
1889 END IF;
1890
1891 validate_fund_ref_type_code
1892 ( x_return_status => l_return_status
1893 , p_tplv_rec => p_tplv_rec
1894 ) ;
1895 -- Store the highest degree of error
1896 IF l_return_status <> OKL_API.G_RET_STS_SUCCESS THEN
1897 IF x_return_status <> OKL_API.G_RET_STS_UNEXP_ERROR THEN
1898 x_return_status := l_return_status;
1899 END IF;
1900 END IF;
1901
1902 validate_fk_ccid
1903 ( x_return_status => l_return_status
1904 , p_tplv_rec => p_tplv_rec
1905 ) ;
1906 -- Store the highest degree of error
1907 IF l_return_status <> OKL_API.G_RET_STS_SUCCESS THEN
1908 IF x_return_status <> OKL_API.G_RET_STS_UNEXP_ERROR THEN
1909 x_return_status := l_return_status;
1910 END IF;
1911 END IF;
1912
1913 validate_fk_itc_id
1914 ( x_return_status => l_return_status
1915 , p_tplv_rec => p_tplv_rec
1916 ) ;
1917 -- Store the highest degree of error
1918 IF l_return_status <> OKL_API.G_RET_STS_SUCCESS THEN
1919 IF x_return_status <> OKL_API.G_RET_STS_UNEXP_ERROR THEN
1920 x_return_status := l_return_status;
1921 END IF;
1922 END IF;
1923
1924 validate_fk_kle_id
1925 ( x_return_status => l_return_status
1926 , p_tplv_rec => p_tplv_rec
1927 ) ;
1928 -- Store the highest degree of error
1929 IF l_return_status <> OKL_API.G_RET_STS_SUCCESS THEN
1930 IF x_return_status <> OKL_API.G_RET_STS_UNEXP_ERROR THEN
1931 x_return_status := l_return_status;
1932 END IF;
1933 END IF;
1934 /* 01-jun-2007 ansethur Commented for R12B Billing Architecture - Passthrough impacts
1935 Usage of lsm_id is being replaced by tld_id
1936 validate_fk_lsm_id
1937 ( x_return_status => l_return_status
1938 , p_tplv_rec => p_tplv_rec
1939 ) ;
1940
1941 -- Store the highest degree of error
1942 IF l_return_status <> OKL_API.G_RET_STS_SUCCESS THEN
1943 IF x_return_status <> OKL_API.G_RET_STS_UNEXP_ERROR THEN
1944 x_return_status := l_return_status;
1945 END IF;
1946 END IF;
1947 */
1948
1949 validate_fk_sty_id
1950 ( x_return_status => l_return_status
1951 , p_tplv_rec => p_tplv_rec
1952 ) ;
1953 -- Store the highest degree of error
1954 IF l_return_status <> OKL_API.G_RET_STS_SUCCESS THEN
1955 IF x_return_status <> OKL_API.G_RET_STS_UNEXP_ERROR THEN
1956 x_return_status := l_return_status;
1957 END IF;
1958 END IF;
1959
1960 validate_fk_tpl_id_reverses
1961 ( x_return_status => l_return_status
1962 , p_tplv_rec => p_tplv_rec
1963 ) ;
1964 -- Store the highest degree of error
1965 IF l_return_status <> OKL_API.G_RET_STS_SUCCESS THEN
1966 IF x_return_status <> OKL_API.G_RET_STS_UNEXP_ERROR THEN
1967 x_return_status := l_return_status;
1968 END IF;
1969 END IF;
1970
1971 validate_fk_tap_id
1972 ( x_return_status => l_return_status
1973 , p_tplv_rec => p_tplv_rec
1974 ) ;
1975 -- Store the highest degree of error
1976 IF l_return_status <> OKL_API.G_RET_STS_SUCCESS THEN
1977 IF x_return_status <> OKL_API.G_RET_STS_UNEXP_ERROR THEN
1978 x_return_status := l_return_status;
1979 END IF;
1980 END IF;
1981
1982 --start:| 14-May-07 cklee -- added TLD_ID column |
1983 validate_fk_tld_id
1984 ( x_return_status => l_return_status
1985 , p_tplv_rec => p_tplv_rec
1986 ) ;
1987 -- Store the highest degree of error
1988 IF l_return_status <> OKL_API.G_RET_STS_SUCCESS THEN
1989 IF x_return_status <> OKL_API.G_RET_STS_UNEXP_ERROR THEN
1990 x_return_status := l_return_status;
1991 END IF;
1992 END IF;
1993 --end:| 14-May-07 cklee -- added TLD_ID column |
1994
1995
1996 validate_fk_sel_id
1997 ( x_return_status => l_return_status
1998 , p_tplv_rec => p_tplv_rec
1999 ) ;
2000 -- Store the highest degree of error
2001 IF l_return_status <> OKL_API.G_RET_STS_SUCCESS THEN
2002 IF x_return_status <> OKL_API.G_RET_STS_UNEXP_ERROR THEN
2003 x_return_status := l_return_status;
2004 END IF;
2005 END IF;
2006 RETURN x_return_status; -- Return status to the caller
2007
2008 /*------------------------------- TAPI Generated Code ---------------------------------------+
2009 IF p_tplv_rec.id = OKL_API.G_MISS_NUM OR
2010 p_tplv_rec.id IS NULL
2011 THEN
2012 OKL_API.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'id');
2013 l_return_status := OKL_API.G_RET_STS_ERROR;
2014 ELSIF p_tplv_rec.object_version_number = OKL_API.G_MISS_NUM OR
2015 p_tplv_rec.object_version_number IS NULL
2016 THEN
2017 OKL_API.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'object_version_number');
2018 l_return_status := OKL_API.G_RET_STS_ERROR;
2019 ELSIF p_tplv_rec.inv_distr_line_code = OKL_API.G_MISS_CHAR OR
2020 p_tplv_rec.inv_distr_line_code IS NULL
2021 THEN
2022 OKL_API.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'inv_distr_line_code');
2023 l_return_status := OKL_API.G_RET_STS_ERROR;
2024 ELSIF p_tplv_rec.tap_id = OKL_API.G_MISS_NUM OR
2025 p_tplv_rec.tap_id IS NULL
2026 THEN
2027 OKL_API.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'tap_id');
2028 l_return_status := OKL_API.G_RET_STS_ERROR;
2029 ELSIF p_tplv_rec.line_number = OKL_API.G_MISS_NUM OR
2030 p_tplv_rec.line_number IS NULL
2031 THEN
2032 OKL_API.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'line_number');
2033 l_return_status := OKL_API.G_RET_STS_ERROR;
2034 ELSIF p_tplv_rec.trx_type = OKL_API.G_MISS_CHAR OR
2035 p_tplv_rec.trx_type IS NULL
2036 THEN
2037 OKL_API.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'trx_type');
2038 l_return_status := OKL_API.G_RET_STS_ERROR;
2039 END IF;
2040 RETURN(l_return_status);
2041 +------------------------------ TAPI Generated Code ----------------------------------------*/
2042
2043 EXCEPTION
2044
2045 WHEN OTHERS then
2046 -- Store SQL Error Message on the Message Stack for caller
2047 OKL_Api.SET_MESSAGE
2048 ( p_app_name => g_app_name,
2049 p_msg_name => G_UNEXPECTED_ERROR,
2050 p_token1 => G_SQLCODE_TOKEN,
2051 p_token1_value => 'sqlcode',
2052 p_token2 => G_SQLERRM_TOKEN,
2053 p_token2_value => 'sqlerrm'
2054 ) ;
2055
2056 x_return_status := OKL_Api.G_RET_STS_UNEXP_ERROR; -- Notify caller of this error
2057
2058 return x_return_status; -- Return status to the caller
2059
2060 END Validate_Attributes;
2061
2062 -------------------------------------------------------------------------------
2063 -- PROCEDURE Validate_Record for:OKL_TXL_AP_INV_LNS_V : Modified for PostGen-13
2064 -------------------------------------------------------------------------------
2065 FUNCTION Validate_Record
2066 ( p_tplv_rec IN tplv_rec_type
2067 ) RETURN VARCHAR2 IS
2068
2069 x_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
2070 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
2071
2072 BEGIN
2073
2074 RETURN x_return_status; -- Return status to the caller
2075
2076 EXCEPTION
2077
2078 WHEN OTHERS then
2079 -- Store SQL Error Message on the Message Stack for caller
2080 OKL_Api.SET_MESSAGE
2081 ( p_app_name => g_app_name,
2082 p_msg_name => G_UNEXPECTED_ERROR,
2083 p_token1 => G_SQLCODE_TOKEN,
2084 p_token1_value => 'sqlcode',
2085 p_token2 => G_SQLERRM_TOKEN,
2086 p_token2_value => 'sqlerrm'
2087 ) ;
2088
2089 x_return_status := OKL_Api.G_RET_STS_UNEXP_ERROR; -- Notify caller of this error
2090
2091 return x_return_status; -- Return status to the caller
2092
2093 END Validate_Record;
2094
2095 ---------------------------------------------------------------------------
2096 -- PROCEDURE Migrate
2097 ---------------------------------------------------------------------------
2098 PROCEDURE migrate (
2099 p_from IN tplv_rec_type,
2100 p_to IN OUT NOCOPY tpl_rec_type -- PostGen-11
2101 ) IS
2102 BEGIN
2103 p_to.id := p_from.id;
2104 p_to.inv_distr_line_code := p_from.inv_distr_line_code;
2105 p_to.tap_id := p_from.tap_id;
2106 p_to.disbursement_basis_code := p_from.disbursement_basis_code;
2107 p_to.tpl_id_reverses := p_from.tpl_id_reverses;
2108 p_to.code_combination_id := p_from.code_combination_id;
2109 p_to.lsm_id := p_from.lsm_id;
2110 p_to.kle_id := p_from.kle_id;
2111 p_to.khr_id := p_from.khr_id;
2112 p_to.cnsld_ap_inv_id := p_from.cnsld_ap_inv_id;
2113 p_to.taxable_yn := p_from.taxable_yn;
2114 p_to.itc_id := p_from.itc_id;
2115 p_to.sty_id := p_from.sty_id;
2116 p_to.line_number := p_from.line_number;
2117 p_to.ref_line_number := p_from.ref_line_number;
2118 p_to.cnsld_line_number := p_from.cnsld_line_number;
2119 p_to.object_version_number := p_from.object_version_number;
2120 p_to.date_accounting := p_from.date_accounting;
2121 p_to.amount := p_from.amount;
2122 p_to.funding_reference_number := p_from.funding_reference_number;
2123 p_to.funding_reference_type_code := p_from.funding_reference_type_code;
2124 p_to.payables_invoice_id := p_from.payables_invoice_id;
2125 p_to.request_id := p_from.request_id;
2126 p_to.program_application_id := p_from.program_application_id;
2127 p_to.program_id := p_from.program_id;
2128 p_to.program_update_date := p_from.program_update_date;
2129 p_to.org_id := p_from.org_id;
2130 p_to.error_message := p_from.error_message;
2131 p_to.attribute_category := p_from.attribute_category;
2132 p_to.attribute1 := p_from.attribute1;
2133 p_to.attribute2 := p_from.attribute2;
2134 p_to.attribute3 := p_from.attribute3;
2135 p_to.attribute4 := p_from.attribute4;
2136 p_to.attribute5 := p_from.attribute5;
2137 p_to.attribute6 := p_from.attribute6;
2138 p_to.attribute7 := p_from.attribute7;
2139 p_to.attribute8 := p_from.attribute8;
2140 p_to.attribute9 := p_from.attribute9;
2141 p_to.attribute10 := p_from.attribute10;
2142 p_to.attribute11 := p_from.attribute11;
2143 p_to.attribute12 := p_from.attribute12;
2144 p_to.attribute13 := p_from.attribute13;
2145 p_to.attribute14 := p_from.attribute14;
2146 p_to.attribute15 := p_from.attribute15;
2147 p_to.created_by := p_from.created_by;
2148 p_to.creation_date := p_from.creation_date;
2149 p_to.last_updated_by := p_from.last_updated_by;
2150 p_to.last_update_date := p_from.last_update_date;
2151 p_to.last_update_login := p_from.last_update_login;
2152 --start:| 14-May-07 cklee -- added TLD_ID column |
2153 p_to.tld_id := p_from.tld_id;
2154 --end:| 14-May-07 cklee -- added TLD_ID column |
2155 p_to.sel_id := p_from.sel_id;
2156 END migrate;
2157 PROCEDURE migrate (
2158 p_from IN tpl_rec_type,
2159 p_to IN OUT NOCOPY tplv_rec_type -- PostGen-11
2160 ) IS
2161 BEGIN
2162 p_to.id := p_from.id;
2163 p_to.inv_distr_line_code := p_from.inv_distr_line_code;
2164 p_to.tap_id := p_from.tap_id;
2165 p_to.disbursement_basis_code := p_from.disbursement_basis_code;
2166 p_to.tpl_id_reverses := p_from.tpl_id_reverses;
2167 p_to.code_combination_id := p_from.code_combination_id;
2168 p_to.lsm_id := p_from.lsm_id;
2169 p_to.kle_id := p_from.kle_id;
2170 p_to.khr_id := p_from.khr_id;
2171 p_to.cnsld_ap_inv_id := p_from.cnsld_ap_inv_id;
2172 p_to.taxable_yn := p_from.taxable_yn;
2173 p_to.itc_id := p_from.itc_id;
2174 p_to.sty_id := p_from.sty_id;
2175 p_to.line_number := p_from.line_number;
2176 p_to.ref_line_number := p_from.ref_line_number;
2177 p_to.cnsld_line_number := p_from.cnsld_line_number;
2178 p_to.object_version_number := p_from.object_version_number;
2179 p_to.date_accounting := p_from.date_accounting;
2180 p_to.amount := p_from.amount;
2181 p_to.funding_reference_number := p_from.funding_reference_number;
2182 p_to.funding_reference_type_code := p_from.funding_reference_type_code;
2183 p_to.payables_invoice_id := p_from.payables_invoice_id;
2184 p_to.request_id := p_from.request_id;
2185 p_to.program_application_id := p_from.program_application_id;
2186 p_to.program_id := p_from.program_id;
2187 p_to.program_update_date := p_from.program_update_date;
2188 p_to.org_id := p_from.org_id;
2189 p_to.error_message := p_from.error_message;
2190 p_to.attribute_category := p_from.attribute_category;
2191 p_to.attribute1 := p_from.attribute1;
2192 p_to.attribute2 := p_from.attribute2;
2193 p_to.attribute3 := p_from.attribute3;
2194 p_to.attribute4 := p_from.attribute4;
2195 p_to.attribute5 := p_from.attribute5;
2196 p_to.attribute6 := p_from.attribute6;
2197 p_to.attribute7 := p_from.attribute7;
2198 p_to.attribute8 := p_from.attribute8;
2199 p_to.attribute9 := p_from.attribute9;
2200 p_to.attribute10 := p_from.attribute10;
2201 p_to.attribute11 := p_from.attribute11;
2202 p_to.attribute12 := p_from.attribute12;
2203 p_to.attribute13 := p_from.attribute13;
2204 p_to.attribute14 := p_from.attribute14;
2205 p_to.attribute15 := p_from.attribute15;
2206 p_to.created_by := p_from.created_by;
2207 p_to.creation_date := p_from.creation_date;
2208 p_to.last_updated_by := p_from.last_updated_by;
2209 p_to.last_update_date := p_from.last_update_date;
2210 p_to.last_update_login := p_from.last_update_login;
2211 --start:| 14-May-07 cklee -- added TLD_ID column |
2212 p_to.tld_id := p_from.tld_id;
2213 --end:| 14-May-07 cklee -- added TLD_ID column |
2214 p_to.sel_id := p_from.sel_id;
2215 END migrate;
2216 PROCEDURE migrate (
2217 p_from IN tplv_rec_type,
2218 p_to IN OUT NOCOPY okl_txl_ap_inv_lns_tl_rec_type -- PostGen-11
2219 ) IS
2220 BEGIN
2221 p_to.id := p_from.id;
2222 p_to.sfwt_flag := p_from.sfwt_flag;
2223 p_to.description := p_from.description;
2224 p_to.created_by := p_from.created_by;
2225 p_to.creation_date := p_from.creation_date;
2226 p_to.last_updated_by := p_from.last_updated_by;
2227 p_to.last_update_date := p_from.last_update_date;
2228 p_to.last_update_login := p_from.last_update_login;
2229 END migrate;
2230 PROCEDURE migrate (
2231 p_from IN okl_txl_ap_inv_lns_tl_rec_type,
2232 p_to IN OUT NOCOPY tplv_rec_type -- PostGen-11
2233 ) IS
2234 BEGIN
2235 p_to.id := p_from.id;
2236 p_to.sfwt_flag := p_from.sfwt_flag;
2237 p_to.description := p_from.description;
2238 p_to.created_by := p_from.created_by;
2239 p_to.creation_date := p_from.creation_date;
2240 p_to.last_updated_by := p_from.last_updated_by;
2241 p_to.last_update_date := p_from.last_update_date;
2242 p_to.last_update_login := p_from.last_update_login;
2243 END migrate;
2244
2245 ---------------------------------------------------------------------------
2246 -- PROCEDURE validate_row
2247 ---------------------------------------------------------------------------
2248 -------------------------------------------
2249 -- validate_row for:OKL_TXL_AP_INV_LNS_V --
2250 -------------------------------------------
2251 PROCEDURE validate_row(
2252 p_api_version IN NUMBER,
2253 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
2254 x_return_status OUT NOCOPY VARCHAR2,
2255 x_msg_count OUT NOCOPY NUMBER,
2256 x_msg_data OUT NOCOPY VARCHAR2,
2257 p_tplv_rec IN tplv_rec_type) IS
2258
2259 l_api_version CONSTANT NUMBER := 1;
2260 l_api_name CONSTANT VARCHAR2(30) := 'V_validate_row';
2261 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
2262 l_tplv_rec tplv_rec_type := p_tplv_rec;
2263 l_tpl_rec tpl_rec_type;
2264 l_okl_txl_ap_inv_lns_tl_rec okl_txl_ap_inv_lns_tl_rec_type;
2265 BEGIN
2266 l_return_status := OKL_API.START_ACTIVITY(l_api_name,
2267 G_PKG_NAME,
2268 p_init_msg_list,
2269 l_api_version,
2270 p_api_version,
2271 '_PVT',
2272 x_return_status);
2273 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
2274 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
2275 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
2276 RAISE OKL_API.G_EXCEPTION_ERROR;
2277 END IF;
2278 --- Validate all non-missing attributes (Item Level Validation)
2279 l_return_status := Validate_Attributes(l_tplv_rec);
2280 --- If any errors happen abort API
2281 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
2282 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
2283 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
2284 RAISE OKL_API.G_EXCEPTION_ERROR;
2285 END IF;
2286 l_return_status := Validate_Record(l_tplv_rec);
2287 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
2288 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
2289 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
2290 RAISE OKL_API.G_EXCEPTION_ERROR;
2291 END IF;
2292 OKL_API.END_ACTIVITY(x_msg_count, x_msg_data);
2293 EXCEPTION
2294 WHEN OKL_API.G_EXCEPTION_ERROR THEN
2295 x_return_status := OKL_API.HANDLE_EXCEPTIONS
2296 (
2297 l_api_name,
2298 G_PKG_NAME,
2299 'OKL_API.G_RET_STS_ERROR',
2300 x_msg_count,
2301 x_msg_data,
2302 '_PVT'
2303 );
2304 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
2305 x_return_status :=OKL_API.HANDLE_EXCEPTIONS
2306 (
2307 l_api_name,
2308 G_PKG_NAME,
2309 'OKL_API.G_RET_STS_UNEXP_ERROR',
2310 x_msg_count,
2311 x_msg_data,
2312 '_PVT'
2313 );
2314 WHEN OTHERS THEN
2315 x_return_status :=OKL_API.HANDLE_EXCEPTIONS
2316 (
2317 l_api_name,
2318 G_PKG_NAME,
2319 'OTHERS',
2320 x_msg_count,
2321 x_msg_data,
2322 '_PVT'
2323 );
2324 END validate_row;
2325 ------------------------------------------
2326 -- PL/SQL TBL validate_row for:TPLV_TBL --
2327 ------------------------------------------
2328 PROCEDURE validate_row(
2329 p_api_version IN NUMBER,
2330 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
2331 x_return_status OUT NOCOPY VARCHAR2,
2332 x_msg_count OUT NOCOPY NUMBER,
2333 x_msg_data OUT NOCOPY VARCHAR2,
2334 p_tplv_tbl IN tplv_tbl_type) IS
2335
2336 l_api_version CONSTANT NUMBER := 1;
2337 l_api_name CONSTANT VARCHAR2(30) := 'V_tbl_validate_row';
2338 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
2339 l_overall_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS; -- PostGen-9
2340 i NUMBER := 0;
2341 BEGIN
2342 OKL_API.init_msg_list(p_init_msg_list);
2343 -- Make sure PL/SQL table has records in it before passing
2344 IF (p_tplv_tbl.COUNT > 0) THEN
2345 i := p_tplv_tbl.FIRST;
2346 LOOP
2347 validate_row (
2348 p_api_version => p_api_version,
2349 p_init_msg_list => OKC_API.G_FALSE,
2350 x_return_status => x_return_status,
2351 x_msg_count => x_msg_count,
2352 x_msg_data => x_msg_data,
2353 p_tplv_rec => p_tplv_tbl(i));
2354
2355 -- Store the highest degree of error -- PostGen-9
2356 IF x_return_status <> OKL_API.G_RET_STS_SUCCESS THEN -- PostGen-9
2357 IF l_overall_status <> OKL_API.G_RET_STS_UNEXP_ERROR THEN -- PostGen-9
2358 l_overall_status := x_return_status; -- PostGen-9
2359 END IF; -- PostGen-9
2360 END IF; -- PostGen-9
2361
2362 EXIT WHEN (i = p_tplv_tbl.LAST);
2363 i := p_tplv_tbl.NEXT(i);
2364 END LOOP;
2365
2366 x_return_status := l_overall_status; -- PostGen-9 = return overall status
2367
2368 END IF;
2369 EXCEPTION
2370 WHEN OKL_API.G_EXCEPTION_ERROR THEN
2371 x_return_status := OKL_API.HANDLE_EXCEPTIONS
2372 (
2373 l_api_name,
2374 G_PKG_NAME,
2375 'OKL_API.G_RET_STS_ERROR',
2376 x_msg_count,
2377 x_msg_data,
2378 '_PVT'
2379 );
2380 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
2381 x_return_status :=OKL_API.HANDLE_EXCEPTIONS
2382 (
2383 l_api_name,
2384 G_PKG_NAME,
2385 'OKL_API.G_RET_STS_UNEXP_ERROR',
2386 x_msg_count,
2387 x_msg_data,
2388 '_PVT'
2389 );
2390 WHEN OTHERS THEN
2391 x_return_status :=OKL_API.HANDLE_EXCEPTIONS
2392 (
2393 l_api_name,
2394 G_PKG_NAME,
2395 'OTHERS',
2396 x_msg_count,
2397 x_msg_data,
2398 '_PVT'
2399 );
2400 END validate_row;
2401
2402 ---------------------------------------------------------------------------
2403 -- PROCEDURE insert_row
2404 ---------------------------------------------------------------------------
2405 -----------------------------------------
2406 -- insert_row for:OKL_TXL_AP_INV_LNS_B --
2407 -----------------------------------------
2408 PROCEDURE insert_row(
2409 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
2410 x_return_status OUT NOCOPY VARCHAR2,
2411 x_msg_count OUT NOCOPY NUMBER,
2412 x_msg_data OUT NOCOPY VARCHAR2,
2413 p_tpl_rec IN tpl_rec_type,
2414 x_tpl_rec OUT NOCOPY tpl_rec_type) IS
2415
2416 l_api_version CONSTANT NUMBER := 1;
2417 l_api_name CONSTANT VARCHAR2(30) := 'B_insert_row';
2418 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
2419 l_tpl_rec tpl_rec_type := p_tpl_rec;
2420 l_def_tpl_rec tpl_rec_type;
2421 ---------------------------------------------
2422 -- Set_Attributes for:OKL_TXL_AP_INV_LNS_B --
2423 ---------------------------------------------
2424 FUNCTION Set_Attributes (
2425 p_tpl_rec IN tpl_rec_type,
2426 x_tpl_rec OUT NOCOPY tpl_rec_type
2427 ) RETURN VARCHAR2 IS
2428 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
2429 BEGIN
2430 x_tpl_rec := p_tpl_rec;
2431 RETURN(l_return_status);
2432 END Set_Attributes;
2433 BEGIN
2434 l_return_status := OKL_API.START_ACTIVITY(l_api_name,
2435 p_init_msg_list,
2436 '_PVT',
2437 x_return_status);
2438 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
2439 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
2440 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
2441 RAISE OKL_API.G_EXCEPTION_ERROR;
2442 END IF;
2443 --- Setting item attributes
2444 l_return_status := Set_Attributes(
2445 p_tpl_rec, -- IN
2446 l_tpl_rec); -- OUT
2447 --- If any errors happen abort API
2448 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
2449 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
2450 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
2451 RAISE OKL_API.G_EXCEPTION_ERROR;
2452 END IF;
2453 INSERT INTO OKL_TXL_AP_INV_LNS_B(
2454 id,
2455 inv_distr_line_code,
2456 tap_id,
2457 disbursement_basis_code,
2458 tpl_id_reverses,
2459 code_combination_id,
2460 lsm_id,
2461 kle_id,
2462 khr_id,
2463 cnsld_ap_inv_id,
2464 taxable_yn,
2465 itc_id,
2466 sty_id,
2467 line_number,
2468 ref_line_number,
2469 cnsld_line_number,
2470 object_version_number,
2471 date_accounting,
2472 amount,
2473 funding_reference_number,
2474 funding_reference_type_code,
2475 payables_invoice_id,
2476 request_id,
2477 program_application_id,
2478 program_id,
2479 program_update_date,
2480 org_id,
2481 error_message,
2482 attribute_category,
2483 attribute1,
2484 attribute2,
2485 attribute3,
2486 attribute4,
2487 attribute5,
2488 attribute6,
2489 attribute7,
2490 attribute8,
2491 attribute9,
2492 attribute10,
2493 attribute11,
2494 attribute12,
2495 attribute13,
2496 attribute14,
2497 attribute15,
2498 created_by,
2499 creation_date,
2500 last_updated_by,
2501 last_update_date,
2502 last_update_login,
2503 --start:| 14-May-07 cklee -- added TLD_ID column |
2504 tld_id,
2505 --end:| 14-May-07 cklee -- added TLD_ID column |
2506 sel_id)
2507 VALUES (
2508 l_tpl_rec.id,
2509 l_tpl_rec.inv_distr_line_code,
2510 l_tpl_rec.tap_id,
2511 l_tpl_rec.disbursement_basis_code,
2512 l_tpl_rec.tpl_id_reverses,
2513 l_tpl_rec.code_combination_id,
2514 l_tpl_rec.lsm_id,
2515 l_tpl_rec.kle_id,
2516 l_tpl_rec.khr_id,
2517 l_tpl_rec.cnsld_ap_inv_id,
2518 l_tpl_rec.taxable_yn,
2519 l_tpl_rec.itc_id,
2520 l_tpl_rec.sty_id,
2521 l_tpl_rec.line_number,
2522 l_tpl_rec.ref_line_number,
2523 l_tpl_rec.cnsld_line_number,
2524 l_tpl_rec.object_version_number,
2525 l_tpl_rec.date_accounting,
2526 l_tpl_rec.amount,
2527 l_tpl_rec.funding_reference_number,
2528 l_tpl_rec.funding_reference_type_code,
2529 l_tpl_rec.payables_invoice_id,
2530 l_tpl_rec.request_id,
2531 l_tpl_rec.program_application_id,
2532 l_tpl_rec.program_id,
2533 l_tpl_rec.program_update_date,
2534 l_tpl_rec.org_id,
2535 l_tpl_rec.error_message,
2536 l_tpl_rec.attribute_category,
2537 l_tpl_rec.attribute1,
2538 l_tpl_rec.attribute2,
2539 l_tpl_rec.attribute3,
2540 l_tpl_rec.attribute4,
2541 l_tpl_rec.attribute5,
2542 l_tpl_rec.attribute6,
2543 l_tpl_rec.attribute7,
2544 l_tpl_rec.attribute8,
2545 l_tpl_rec.attribute9,
2546 l_tpl_rec.attribute10,
2547 l_tpl_rec.attribute11,
2548 l_tpl_rec.attribute12,
2549 l_tpl_rec.attribute13,
2550 l_tpl_rec.attribute14,
2551 l_tpl_rec.attribute15,
2552 l_tpl_rec.created_by,
2553 l_tpl_rec.creation_date,
2554 l_tpl_rec.last_updated_by,
2555 l_tpl_rec.last_update_date,
2556 l_tpl_rec.last_update_login,
2557 --start:| 14-May-07 cklee -- added TLD_ID column |
2558 l_tpl_rec.tld_id,
2559 --end:| 14-May-07 cklee -- added TLD_ID column |
2560 l_tpl_rec.sel_id);
2561 -- Set OUT values
2562 x_tpl_rec := l_tpl_rec;
2563 OKL_API.END_ACTIVITY(x_msg_count, x_msg_data);
2564 EXCEPTION
2565 WHEN OKL_API.G_EXCEPTION_ERROR THEN
2566 x_return_status := OKL_API.HANDLE_EXCEPTIONS
2567 (
2568 l_api_name,
2569 G_PKG_NAME,
2570 'OKL_API.G_RET_STS_ERROR',
2571 x_msg_count,
2572 x_msg_data,
2573 '_PVT'
2574 );
2575 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
2576 x_return_status :=OKL_API.HANDLE_EXCEPTIONS
2577 (
2578 l_api_name,
2579 G_PKG_NAME,
2580 'OKL_API.G_RET_STS_UNEXP_ERROR',
2581 x_msg_count,
2582 x_msg_data,
2583 '_PVT'
2584 );
2585 WHEN OTHERS THEN
2586 x_return_status :=OKL_API.HANDLE_EXCEPTIONS
2587 (
2588 l_api_name,
2589 G_PKG_NAME,
2590 'OTHERS',
2591 x_msg_count,
2592 x_msg_data,
2593 '_PVT'
2594 );
2595 END insert_row;
2596 ------------------------------------------
2597 -- insert_row for:OKL_TXL_AP_INV_LNS_TL --
2598 ------------------------------------------
2599 PROCEDURE insert_row(
2600 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
2601 x_return_status OUT NOCOPY VARCHAR2,
2602 x_msg_count OUT NOCOPY NUMBER,
2603 x_msg_data OUT NOCOPY VARCHAR2,
2604 p_okl_txl_ap_inv_lns_tl_rec IN okl_txl_ap_inv_lns_tl_rec_type,
2605 x_okl_txl_ap_inv_lns_tl_rec OUT NOCOPY okl_txl_ap_inv_lns_tl_rec_type) IS
2606
2607 l_api_version CONSTANT NUMBER := 1;
2608 l_api_name CONSTANT VARCHAR2(30) := 'TL_insert_row';
2609 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
2610 l_okl_txl_ap_inv_lns_tl_rec okl_txl_ap_inv_lns_tl_rec_type := p_okl_txl_ap_inv_lns_tl_rec;
2611 ldefokltxlapinvlnstlrec okl_txl_ap_inv_lns_tl_rec_type;
2612 CURSOR get_languages IS
2613 SELECT *
2614 FROM FND_LANGUAGES
2615 WHERE INSTALLED_FLAG IN ('I', 'B');
2616 ----------------------------------------------
2617 -- Set_Attributes for:OKL_TXL_AP_INV_LNS_TL --
2618 ----------------------------------------------
2619 FUNCTION Set_Attributes (
2620 p_okl_txl_ap_inv_lns_tl_rec IN okl_txl_ap_inv_lns_tl_rec_type,
2621 x_okl_txl_ap_inv_lns_tl_rec OUT NOCOPY okl_txl_ap_inv_lns_tl_rec_type
2622 ) RETURN VARCHAR2 IS
2623 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
2624 BEGIN
2625 x_okl_txl_ap_inv_lns_tl_rec := p_okl_txl_ap_inv_lns_tl_rec;
2626 x_okl_txl_ap_inv_lns_tl_rec.LANGUAGE := USERENV('LANG');
2627 x_okl_txl_ap_inv_lns_tl_rec.SOURCE_LANG := USERENV('LANG');
2628 RETURN(l_return_status);
2629 END Set_Attributes;
2630 BEGIN
2631 l_return_status := OKL_API.START_ACTIVITY(l_api_name,
2632 p_init_msg_list,
2633 '_PVT',
2634 x_return_status);
2635 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
2636 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
2637 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
2638 RAISE OKL_API.G_EXCEPTION_ERROR;
2639 END IF;
2640 --- Setting item attributes
2641 l_return_status := Set_Attributes(
2642 p_okl_txl_ap_inv_lns_tl_rec, -- IN
2643 l_okl_txl_ap_inv_lns_tl_rec); -- OUT
2644 --- If any errors happen abort API
2645 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
2646 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
2647 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
2648 RAISE OKL_API.G_EXCEPTION_ERROR;
2649 END IF;
2650 FOR l_lang_rec IN get_languages LOOP
2651 l_okl_txl_ap_inv_lns_tl_rec.language := l_lang_rec.language_code;
2652 INSERT INTO OKL_TXL_AP_INV_LNS_TL(
2653 id,
2654 language,
2655 source_lang,
2656 sfwt_flag,
2657 description,
2658 created_by,
2659 creation_date,
2660 last_updated_by,
2661 last_update_date,
2662 last_update_login)
2663 VALUES (
2664 l_okl_txl_ap_inv_lns_tl_rec.id,
2665 l_okl_txl_ap_inv_lns_tl_rec.language,
2666 l_okl_txl_ap_inv_lns_tl_rec.source_lang,
2667 l_okl_txl_ap_inv_lns_tl_rec.sfwt_flag,
2668 l_okl_txl_ap_inv_lns_tl_rec.description,
2669 l_okl_txl_ap_inv_lns_tl_rec.created_by,
2670 l_okl_txl_ap_inv_lns_tl_rec.creation_date,
2671 l_okl_txl_ap_inv_lns_tl_rec.last_updated_by,
2672 l_okl_txl_ap_inv_lns_tl_rec.last_update_date,
2673 l_okl_txl_ap_inv_lns_tl_rec.last_update_login);
2674 END LOOP;
2675 -- Set OUT values
2676 x_okl_txl_ap_inv_lns_tl_rec := l_okl_txl_ap_inv_lns_tl_rec;
2677 OKL_API.END_ACTIVITY(x_msg_count, x_msg_data);
2678 EXCEPTION
2679 WHEN OKL_API.G_EXCEPTION_ERROR THEN
2680 x_return_status := OKL_API.HANDLE_EXCEPTIONS
2681 (
2682 l_api_name,
2683 G_PKG_NAME,
2684 'OKL_API.G_RET_STS_ERROR',
2685 x_msg_count,
2686 x_msg_data,
2687 '_PVT'
2688 );
2689 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
2690 x_return_status :=OKL_API.HANDLE_EXCEPTIONS
2691 (
2692 l_api_name,
2693 G_PKG_NAME,
2694 'OKL_API.G_RET_STS_UNEXP_ERROR',
2695 x_msg_count,
2696 x_msg_data,
2697 '_PVT'
2698 );
2699 WHEN OTHERS THEN
2700 x_return_status :=OKL_API.HANDLE_EXCEPTIONS
2701 (
2702 l_api_name,
2703 G_PKG_NAME,
2704 'OTHERS',
2705 x_msg_count,
2706 x_msg_data,
2707 '_PVT'
2708 );
2709 END insert_row;
2710 -----------------------------------------
2711 -- insert_row for:OKL_TXL_AP_INV_LNS_V --
2712 -----------------------------------------
2713 PROCEDURE insert_row(
2714 p_api_version IN NUMBER,
2715 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
2716 x_return_status OUT NOCOPY VARCHAR2,
2717 x_msg_count OUT NOCOPY NUMBER,
2718 x_msg_data OUT NOCOPY VARCHAR2,
2719 p_tplv_rec IN tplv_rec_type,
2720 x_tplv_rec OUT NOCOPY tplv_rec_type) IS
2721
2722 l_api_version CONSTANT NUMBER := 1;
2723 l_api_name CONSTANT VARCHAR2(30) := 'V_insert_row';
2724 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
2725 l_tplv_rec tplv_rec_type;
2726 l_def_tplv_rec tplv_rec_type;
2727 l_tpl_rec tpl_rec_type;
2728 lx_tpl_rec tpl_rec_type;
2729 l_okl_txl_ap_inv_lns_tl_rec okl_txl_ap_inv_lns_tl_rec_type;
2730 lx_okl_txl_ap_inv_lns_tl_rec okl_txl_ap_inv_lns_tl_rec_type;
2731 -------------------------------
2732 -- FUNCTION fill_who_columns --
2733 -------------------------------
2734 FUNCTION fill_who_columns (
2735 p_tplv_rec IN tplv_rec_type
2736 ) RETURN tplv_rec_type IS
2737 l_tplv_rec tplv_rec_type := p_tplv_rec;
2738 BEGIN
2739 l_tplv_rec.CREATION_DATE := SYSDATE;
2740 l_tplv_rec.CREATED_BY := FND_GLOBAL.USER_ID;
2741 l_tplv_rec.LAST_UPDATE_DATE := l_tplv_rec.CREATION_DATE; -- PostGen-10
2742 l_tplv_rec.LAST_UPDATED_BY := FND_GLOBAL.USER_ID;
2743 l_tplv_rec.LAST_UPDATE_LOGIN := FND_GLOBAL.LOGIN_ID;
2744 RETURN(l_tplv_rec);
2745 END fill_who_columns;
2746 ---------------------------------------------
2747 -- Set_Attributes for:OKL_TXL_AP_INV_LNS_V --
2748 ---------------------------------------------
2749 FUNCTION Set_Attributes (
2750 p_tplv_rec IN tplv_rec_type,
2751 x_tplv_rec OUT NOCOPY tplv_rec_type
2752 ) RETURN VARCHAR2 IS
2753 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
2754 BEGIN
2755 x_tplv_rec := p_tplv_rec;
2756 x_tplv_rec.OBJECT_VERSION_NUMBER := 1;
2757 x_tplv_rec.SFWT_FLAG := 'N';
2758
2759 -- Start PostGen-7
2760 SELECT
2761 DECODE(Fnd_Global.CONC_REQUEST_ID,-1,NULL,Fnd_Global.CONC_REQUEST_ID),
2762 DECODE(Fnd_Global.PROG_APPL_ID, -1,NULL,Fnd_Global.PROG_APPL_ID),
2763 DECODE(Fnd_Global.CONC_PROGRAM_ID,-1,NULL,Fnd_Global.CONC_PROGRAM_ID),
2764 DECODE(Fnd_Global.CONC_REQUEST_ID,-1,NULL,SYSDATE)
2765 INTO
2766 x_tplv_rec.request_id,
2767 x_tplv_rec.program_application_id,
2768 x_tplv_rec.program_id,
2769 x_tplv_rec.program_update_date
2770 FROM dual;
2771 -- End PostGen-7
2772
2773 RETURN(l_return_status);
2774 END Set_Attributes;
2775 BEGIN
2776 l_return_status := OKL_API.START_ACTIVITY(l_api_name,
2777 G_PKG_NAME,
2778 p_init_msg_list,
2779 l_api_version,
2780 p_api_version,
2781 '_PVT',
2782 x_return_status);
2783 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
2784 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
2785 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
2786 RAISE OKL_API.G_EXCEPTION_ERROR;
2787 END IF;
2788 l_tplv_rec := null_out_defaults(p_tplv_rec);
2789 -- Set primary key value
2790 l_tplv_rec.ID := get_seq_id;
2791 --- Setting item attributes
2792 l_return_status := Set_Attributes(
2793 l_tplv_rec, -- IN
2794 l_def_tplv_rec); -- OUT
2795 --- If any errors happen abort API
2796 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
2797 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
2798 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
2799 RAISE OKL_API.G_EXCEPTION_ERROR;
2800 END IF;
2801 l_def_tplv_rec := fill_who_columns(l_def_tplv_rec);
2802 --- Validate all non-missing attributes (Item Level Validation)
2803 l_return_status := Validate_Attributes(l_def_tplv_rec);
2804 --- If any errors happen abort API
2805 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
2806 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
2807 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
2808 RAISE OKL_API.G_EXCEPTION_ERROR;
2809 END IF;
2810 l_return_status := Validate_Record(l_def_tplv_rec);
2811 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
2812 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
2813 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
2814 RAISE OKL_API.G_EXCEPTION_ERROR;
2815 END IF;
2816 --------------------------------------
2817 -- Move VIEW record to "Child" records
2818 --------------------------------------
2819 migrate(l_def_tplv_rec, l_tpl_rec);
2820 migrate(l_def_tplv_rec, l_okl_txl_ap_inv_lns_tl_rec);
2821 --------------------------------------------
2822 -- Call the INSERT_ROW for each child record
2823 --------------------------------------------
2824 insert_row(
2825 p_init_msg_list,
2826 x_return_status,
2827 x_msg_count,
2828 x_msg_data,
2829 l_tpl_rec,
2830 lx_tpl_rec
2831 );
2832 IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
2833 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
2834 ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
2835 RAISE OKL_API.G_EXCEPTION_ERROR;
2836 END IF;
2837 migrate(lx_tpl_rec, l_def_tplv_rec);
2838 insert_row(
2839 p_init_msg_list,
2840 x_return_status,
2841 x_msg_count,
2842 x_msg_data,
2843 l_okl_txl_ap_inv_lns_tl_rec,
2844 lx_okl_txl_ap_inv_lns_tl_rec
2845 );
2846 IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
2847 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
2848 ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
2849 RAISE OKL_API.G_EXCEPTION_ERROR;
2850 END IF;
2851 migrate(lx_okl_txl_ap_inv_lns_tl_rec, l_def_tplv_rec);
2852 -- Set OUT values
2853 x_tplv_rec := l_def_tplv_rec;
2854 OKL_API.END_ACTIVITY(x_msg_count, x_msg_data);
2855 EXCEPTION
2856 WHEN OKL_API.G_EXCEPTION_ERROR THEN
2857 x_return_status := OKL_API.HANDLE_EXCEPTIONS
2858 (
2859 l_api_name,
2860 G_PKG_NAME,
2861 'OKL_API.G_RET_STS_ERROR',
2862 x_msg_count,
2863 x_msg_data,
2864 '_PVT'
2865 );
2866 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
2867 x_return_status :=OKL_API.HANDLE_EXCEPTIONS
2868 (
2869 l_api_name,
2870 G_PKG_NAME,
2871 'OKL_API.G_RET_STS_UNEXP_ERROR',
2872 x_msg_count,
2873 x_msg_data,
2874 '_PVT'
2875 );
2876 WHEN OTHERS THEN
2877 x_return_status :=OKL_API.HANDLE_EXCEPTIONS
2878 (
2879 l_api_name,
2880 G_PKG_NAME,
2881 'OTHERS',
2882 x_msg_count,
2883 x_msg_data,
2884 '_PVT'
2885 );
2886 END insert_row;
2887 ----------------------------------------
2888 -- PL/SQL TBL insert_row for:TPLV_TBL --
2889 ----------------------------------------
2890 PROCEDURE insert_row(
2891 p_api_version IN NUMBER,
2892 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
2893 x_return_status OUT NOCOPY VARCHAR2,
2894 x_msg_count OUT NOCOPY NUMBER,
2895 x_msg_data OUT NOCOPY VARCHAR2,
2896 p_tplv_tbl IN tplv_tbl_type,
2897 x_tplv_tbl OUT NOCOPY tplv_tbl_type) IS
2898
2899 l_api_version CONSTANT NUMBER := 1;
2900 l_api_name CONSTANT VARCHAR2(30) := 'V_tbl_insert_row';
2901 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
2902 l_overall_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS; -- PostGen-9
2903 i NUMBER := 0;
2904 BEGIN
2905 OKL_API.init_msg_list(p_init_msg_list);
2906 -- Make sure PL/SQL table has records in it before passing
2907 IF (p_tplv_tbl.COUNT > 0) THEN
2908 i := p_tplv_tbl.FIRST;
2909 LOOP
2910 insert_row (
2911 p_api_version => p_api_version,
2912 p_init_msg_list => OKC_API.G_FALSE,
2913 x_return_status => x_return_status,
2914 x_msg_count => x_msg_count,
2915 x_msg_data => x_msg_data,
2916 p_tplv_rec => p_tplv_tbl(i),
2917 x_tplv_rec => x_tplv_tbl(i));
2918
2919 -- Store the highest degree of error -- PostGen-9
2920 IF x_return_status <> OKL_API.G_RET_STS_SUCCESS THEN -- PostGen-9
2921 IF l_overall_status <> OKL_API.G_RET_STS_UNEXP_ERROR THEN -- PostGen-9
2922 l_overall_status := x_return_status; -- PostGen-9
2923 END IF; -- PostGen-9
2924 END IF; -- PostGen-9
2925
2926 EXIT WHEN (i = p_tplv_tbl.LAST);
2927 i := p_tplv_tbl.NEXT(i);
2928 END LOOP;
2929
2930 x_return_status := l_overall_status; -- PostGen-9 = return overall status
2931
2932 END IF;
2933 EXCEPTION
2934 WHEN OKL_API.G_EXCEPTION_ERROR THEN
2935 x_return_status := OKL_API.HANDLE_EXCEPTIONS
2936 (
2937 l_api_name,
2938 G_PKG_NAME,
2939 'OKL_API.G_RET_STS_ERROR',
2940 x_msg_count,
2941 x_msg_data,
2942 '_PVT'
2943 );
2944 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
2945 x_return_status :=OKL_API.HANDLE_EXCEPTIONS
2946 (
2947 l_api_name,
2948 G_PKG_NAME,
2949 'OKL_API.G_RET_STS_UNEXP_ERROR',
2950 x_msg_count,
2951 x_msg_data,
2952 '_PVT'
2953 );
2954 WHEN OTHERS THEN
2955 x_return_status :=OKL_API.HANDLE_EXCEPTIONS
2956 (
2957 l_api_name,
2958 G_PKG_NAME,
2959 'OTHERS',
2960 x_msg_count,
2961 x_msg_data,
2962 '_PVT'
2963 );
2964 END insert_row;
2965
2966 ---------------------------------------------------------------------------
2967 -- PROCEDURE lock_row
2968 ---------------------------------------------------------------------------
2969 ---------------------------------------
2970 -- lock_row for:OKL_TXL_AP_INV_LNS_B --
2971 ---------------------------------------
2972 PROCEDURE lock_row(
2973 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
2974 x_return_status OUT NOCOPY VARCHAR2,
2975 x_msg_count OUT NOCOPY NUMBER,
2976 x_msg_data OUT NOCOPY VARCHAR2,
2977 p_tpl_rec IN tpl_rec_type) IS
2978
2979 E_Resource_Busy EXCEPTION;
2980 PRAGMA EXCEPTION_INIT(E_Resource_Busy, -00054);
2981 CURSOR lock_csr (p_tpl_rec IN tpl_rec_type) IS
2982 SELECT OBJECT_VERSION_NUMBER
2983 FROM OKL_TXL_AP_INV_LNS_B
2984 WHERE ID = p_tpl_rec.id
2985 AND OBJECT_VERSION_NUMBER = p_tpl_rec.object_version_number
2986 FOR UPDATE OF OBJECT_VERSION_NUMBER NOWAIT;
2987
2988 CURSOR lchk_csr (p_tpl_rec IN tpl_rec_type) IS
2989 SELECT OBJECT_VERSION_NUMBER
2990 FROM OKL_TXL_AP_INV_LNS_B
2991 WHERE ID = p_tpl_rec.id;
2992 l_api_version CONSTANT NUMBER := 1;
2993 l_api_name CONSTANT VARCHAR2(30) := 'B_lock_row';
2994 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
2995 l_object_version_number OKL_TXL_AP_INV_LNS_B.OBJECT_VERSION_NUMBER%TYPE;
2996 lc_object_version_number OKL_TXL_AP_INV_LNS_B.OBJECT_VERSION_NUMBER%TYPE;
2997 l_row_notfound BOOLEAN := FALSE;
2998 lc_row_notfound BOOLEAN := FALSE;
2999 BEGIN
3000 l_return_status := OKL_API.START_ACTIVITY(l_api_name,
3001 p_init_msg_list,
3002 '_PVT',
3003 x_return_status);
3004 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
3005 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
3006 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
3007 RAISE OKL_API.G_EXCEPTION_ERROR;
3008 END IF;
3009 BEGIN
3010 OPEN lock_csr(p_tpl_rec);
3011 FETCH lock_csr INTO l_object_version_number;
3012 l_row_notfound := lock_csr%NOTFOUND;
3013 CLOSE lock_csr;
3014 EXCEPTION
3015 WHEN E_Resource_Busy THEN
3016 IF (lock_csr%ISOPEN) THEN
3017 CLOSE lock_csr;
3018 END IF;
3019 OKL_API.set_message(G_FND_APP,G_FORM_UNABLE_TO_RESERVE_REC);
3020 RAISE APP_EXCEPTIONS.RECORD_LOCK_EXCEPTION;
3021 END;
3022
3023 IF ( l_row_notfound ) THEN
3024 OPEN lchk_csr(p_tpl_rec);
3025 FETCH lchk_csr INTO lc_object_version_number;
3026 lc_row_notfound := lchk_csr%NOTFOUND;
3027 CLOSE lchk_csr;
3028 END IF;
3029 IF (lc_row_notfound) THEN
3030 OKL_API.set_message(G_FND_APP,G_FORM_RECORD_DELETED);
3031 RAISE OKL_API.G_EXCEPTION_ERROR;
3032 ELSIF lc_object_version_number > p_tpl_rec.object_version_number THEN
3033 OKL_API.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
3034 RAISE OKL_API.G_EXCEPTION_ERROR;
3035 ELSIF lc_object_version_number <> p_tpl_rec.object_version_number THEN
3036 OKL_API.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
3037 RAISE OKL_API.G_EXCEPTION_ERROR;
3038 ELSIF lc_object_version_number = -1 THEN
3039 OKL_API.set_message(G_APP_NAME,G_RECORD_LOGICALLY_DELETED);
3040 RAISE OKL_API.G_EXCEPTION_ERROR;
3041 END IF;
3042 OKL_API.END_ACTIVITY(x_msg_count, x_msg_data);
3043 EXCEPTION
3044 WHEN OKL_API.G_EXCEPTION_ERROR THEN
3045 x_return_status := OKL_API.HANDLE_EXCEPTIONS
3046 (
3047 l_api_name,
3048 G_PKG_NAME,
3049 'OKL_API.G_RET_STS_ERROR',
3050 x_msg_count,
3051 x_msg_data,
3052 '_PVT'
3053 );
3054 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
3055 x_return_status :=OKL_API.HANDLE_EXCEPTIONS
3056 (
3057 l_api_name,
3058 G_PKG_NAME,
3059 'OKL_API.G_RET_STS_UNEXP_ERROR',
3060 x_msg_count,
3061 x_msg_data,
3062 '_PVT'
3063 );
3064 WHEN OTHERS THEN
3065 x_return_status :=OKL_API.HANDLE_EXCEPTIONS
3066 (
3067 l_api_name,
3068 G_PKG_NAME,
3069 'OTHERS',
3070 x_msg_count,
3071 x_msg_data,
3072 '_PVT'
3073 );
3074 END lock_row;
3075 ----------------------------------------
3076 -- lock_row for:OKL_TXL_AP_INV_LNS_TL --
3077 ----------------------------------------
3078 PROCEDURE lock_row(
3079 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
3080 x_return_status OUT NOCOPY VARCHAR2,
3081 x_msg_count OUT NOCOPY NUMBER,
3082 x_msg_data OUT NOCOPY VARCHAR2,
3083 p_okl_txl_ap_inv_lns_tl_rec IN okl_txl_ap_inv_lns_tl_rec_type) IS
3084
3085 E_Resource_Busy EXCEPTION;
3086 PRAGMA EXCEPTION_INIT(E_Resource_Busy, -00054);
3087 CURSOR lock_csr (p_okl_txl_ap_inv_lns_tl_rec IN okl_txl_ap_inv_lns_tl_rec_type) IS
3088 SELECT *
3089 FROM OKL_TXL_AP_INV_LNS_TL
3090 WHERE ID = p_okl_txl_ap_inv_lns_tl_rec.id
3091 FOR UPDATE NOWAIT;
3092
3093 l_api_version CONSTANT NUMBER := 1;
3094 l_api_name CONSTANT VARCHAR2(30) := 'TL_lock_row';
3095 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
3096 l_lock_var lock_csr%ROWTYPE;
3097 l_row_notfound BOOLEAN := FALSE;
3098 lc_row_notfound BOOLEAN := FALSE;
3099 BEGIN
3100 l_return_status := OKL_API.START_ACTIVITY(l_api_name,
3101 p_init_msg_list,
3102 '_PVT',
3103 x_return_status);
3104 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
3105 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
3106 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
3107 RAISE OKL_API.G_EXCEPTION_ERROR;
3108 END IF;
3109 BEGIN
3110 OPEN lock_csr(p_okl_txl_ap_inv_lns_tl_rec);
3111 FETCH lock_csr INTO l_lock_var;
3112 l_row_notfound := lock_csr%NOTFOUND;
3113 CLOSE lock_csr;
3114 EXCEPTION
3115 WHEN E_Resource_Busy THEN
3116 IF (lock_csr%ISOPEN) THEN
3117 CLOSE lock_csr;
3118 END IF;
3119 OKL_API.set_message(G_FND_APP,G_FORM_UNABLE_TO_RESERVE_REC);
3120 RAISE APP_EXCEPTIONS.RECORD_LOCK_EXCEPTION;
3121 END;
3122
3123 IF ( l_row_notfound ) THEN
3124 OKL_API.set_message(G_FND_APP,G_FORM_RECORD_DELETED);
3125 RAISE OKL_API.G_EXCEPTION_ERROR;
3126 END IF;
3127 OKL_API.END_ACTIVITY(x_msg_count, x_msg_data);
3128 EXCEPTION
3129 WHEN OKL_API.G_EXCEPTION_ERROR THEN
3130 x_return_status := OKL_API.HANDLE_EXCEPTIONS
3131 (
3132 l_api_name,
3133 G_PKG_NAME,
3134 'OKL_API.G_RET_STS_ERROR',
3135 x_msg_count,
3136 x_msg_data,
3137 '_PVT'
3138 );
3139 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
3140 x_return_status :=OKL_API.HANDLE_EXCEPTIONS
3141 (
3142 l_api_name,
3143 G_PKG_NAME,
3144 'OKL_API.G_RET_STS_UNEXP_ERROR',
3145 x_msg_count,
3146 x_msg_data,
3147 '_PVT'
3148 );
3149 WHEN OTHERS THEN
3150 x_return_status :=OKL_API.HANDLE_EXCEPTIONS
3151 (
3152 l_api_name,
3153 G_PKG_NAME,
3154 'OTHERS',
3155 x_msg_count,
3156 x_msg_data,
3157 '_PVT'
3158 );
3159 END lock_row;
3160 ---------------------------------------
3161 -- lock_row for:OKL_TXL_AP_INV_LNS_V --
3162 ---------------------------------------
3163 PROCEDURE lock_row(
3164 p_api_version IN NUMBER,
3165 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
3166 x_return_status OUT NOCOPY VARCHAR2,
3167 x_msg_count OUT NOCOPY NUMBER,
3168 x_msg_data OUT NOCOPY VARCHAR2,
3169 p_tplv_rec IN tplv_rec_type) IS
3170
3171 l_api_version CONSTANT NUMBER := 1;
3172 l_api_name CONSTANT VARCHAR2(30) := 'V_lock_row';
3173 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
3174 l_tpl_rec tpl_rec_type;
3175 l_okl_txl_ap_inv_lns_tl_rec okl_txl_ap_inv_lns_tl_rec_type;
3176 BEGIN
3177 l_return_status := OKL_API.START_ACTIVITY(l_api_name,
3178 G_PKG_NAME,
3179 p_init_msg_list,
3180 l_api_version,
3181 p_api_version,
3182 '_PVT',
3183 x_return_status);
3184 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
3185 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
3186 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
3187 RAISE OKL_API.G_EXCEPTION_ERROR;
3188 END IF;
3189 --------------------------------------
3190 -- Move VIEW record to "Child" records
3191 --------------------------------------
3192 migrate(p_tplv_rec, l_tpl_rec);
3193 migrate(p_tplv_rec, l_okl_txl_ap_inv_lns_tl_rec);
3194 --------------------------------------------
3195 -- Call the LOCK_ROW for each child record
3196 --------------------------------------------
3197 lock_row(
3198 p_init_msg_list,
3199 x_return_status,
3200 x_msg_count,
3201 x_msg_data,
3202 l_tpl_rec
3203 );
3204 IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
3205 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
3206 ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
3207 RAISE OKL_API.G_EXCEPTION_ERROR;
3208 END IF;
3209 lock_row(
3210 p_init_msg_list,
3211 x_return_status,
3212 x_msg_count,
3213 x_msg_data,
3214 l_okl_txl_ap_inv_lns_tl_rec
3215 );
3216 IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
3217 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
3218 ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
3219 RAISE OKL_API.G_EXCEPTION_ERROR;
3220 END IF;
3221 OKL_API.END_ACTIVITY(x_msg_count, x_msg_data);
3222 EXCEPTION
3223 WHEN OKL_API.G_EXCEPTION_ERROR THEN
3224 x_return_status := OKL_API.HANDLE_EXCEPTIONS
3225 (
3226 l_api_name,
3227 G_PKG_NAME,
3228 'OKL_API.G_RET_STS_ERROR',
3229 x_msg_count,
3230 x_msg_data,
3231 '_PVT'
3232 );
3233 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
3234 x_return_status :=OKL_API.HANDLE_EXCEPTIONS
3235 (
3236 l_api_name,
3237 G_PKG_NAME,
3238 'OKL_API.G_RET_STS_UNEXP_ERROR',
3239 x_msg_count,
3240 x_msg_data,
3241 '_PVT'
3242 );
3243 WHEN OTHERS THEN
3244 x_return_status :=OKL_API.HANDLE_EXCEPTIONS
3245 (
3246 l_api_name,
3247 G_PKG_NAME,
3248 'OTHERS',
3249 x_msg_count,
3250 x_msg_data,
3251 '_PVT'
3252 );
3253 END lock_row;
3254 --------------------------------------
3255 -- PL/SQL TBL lock_row for:TPLV_TBL --
3256 --------------------------------------
3257 PROCEDURE lock_row(
3258 p_api_version IN NUMBER,
3259 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
3260 x_return_status OUT NOCOPY VARCHAR2,
3261 x_msg_count OUT NOCOPY NUMBER,
3262 x_msg_data OUT NOCOPY VARCHAR2,
3263 p_tplv_tbl IN tplv_tbl_type) IS
3264
3265 l_api_version CONSTANT NUMBER := 1;
3266 l_api_name CONSTANT VARCHAR2(30) := 'V_tbl_lock_row';
3267 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
3268 l_overall_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS; -- PostGen-9
3269 i NUMBER := 0;
3270 BEGIN
3271 OKL_API.init_msg_list(p_init_msg_list);
3272 -- Make sure PL/SQL table has records in it before passing
3273 IF (p_tplv_tbl.COUNT > 0) THEN
3274 i := p_tplv_tbl.FIRST;
3275 LOOP
3276 lock_row (
3277 p_api_version => p_api_version,
3278 p_init_msg_list => OKC_API.G_FALSE,
3279 x_return_status => x_return_status,
3280 x_msg_count => x_msg_count,
3281 x_msg_data => x_msg_data,
3282 p_tplv_rec => p_tplv_tbl(i));
3283
3284 -- Store the highest degree of error -- PostGen-9
3285 IF x_return_status <> OKL_API.G_RET_STS_SUCCESS THEN -- PostGen-9
3286 IF l_overall_status <> OKL_API.G_RET_STS_UNEXP_ERROR THEN -- PostGen-9
3287 l_overall_status := x_return_status; -- PostGen-9
3288 END IF; -- PostGen-9
3289 END IF; -- PostGen-9
3290
3291 EXIT WHEN (i = p_tplv_tbl.LAST);
3292 i := p_tplv_tbl.NEXT(i);
3293 END LOOP;
3294
3295 x_return_status := l_overall_status; -- PostGen-9 = return overall status
3296
3297 END IF;
3298 EXCEPTION
3299 WHEN OKL_API.G_EXCEPTION_ERROR THEN
3300 x_return_status := OKL_API.HANDLE_EXCEPTIONS
3301 (
3302 l_api_name,
3303 G_PKG_NAME,
3304 'OKL_API.G_RET_STS_ERROR',
3305 x_msg_count,
3306 x_msg_data,
3307 '_PVT'
3308 );
3309 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
3310 x_return_status :=OKL_API.HANDLE_EXCEPTIONS
3311 (
3312 l_api_name,
3313 G_PKG_NAME,
3314 'OKL_API.G_RET_STS_UNEXP_ERROR',
3315 x_msg_count,
3316 x_msg_data,
3317 '_PVT'
3318 );
3319 WHEN OTHERS THEN
3320 x_return_status :=OKL_API.HANDLE_EXCEPTIONS
3321 (
3322 l_api_name,
3323 G_PKG_NAME,
3324 'OTHERS',
3325 x_msg_count,
3326 x_msg_data,
3327 '_PVT'
3328 );
3329 END lock_row;
3330
3331 ---------------------------------------------------------------------------
3332 -- PROCEDURE update_row
3333 ---------------------------------------------------------------------------
3334 -----------------------------------------
3335 -- update_row for:OKL_TXL_AP_INV_LNS_B --
3336 -----------------------------------------
3337 PROCEDURE update_row(
3338 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
3339 x_return_status OUT NOCOPY VARCHAR2,
3340 x_msg_count OUT NOCOPY NUMBER,
3341 x_msg_data OUT NOCOPY VARCHAR2,
3342 p_tpl_rec IN tpl_rec_type,
3343 x_tpl_rec OUT NOCOPY tpl_rec_type) IS
3344
3345 l_api_version CONSTANT NUMBER := 1;
3346 l_api_name CONSTANT VARCHAR2(30) := 'B_update_row';
3347 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
3348 l_tpl_rec tpl_rec_type := p_tpl_rec;
3349 l_def_tpl_rec tpl_rec_type;
3350 l_row_notfound BOOLEAN := TRUE;
3351 ----------------------------------
3352 -- FUNCTION populate_new_record --
3353 ----------------------------------
3354 FUNCTION populate_new_record (
3355 p_tpl_rec IN tpl_rec_type,
3356 x_tpl_rec OUT NOCOPY tpl_rec_type
3357 ) RETURN VARCHAR2 IS
3358 l_tpl_rec tpl_rec_type;
3359 l_row_notfound BOOLEAN := TRUE;
3360 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
3361 BEGIN
3362 x_tpl_rec := p_tpl_rec;
3363 -- Get current database values
3364 l_tpl_rec := get_rec(p_tpl_rec, l_row_notfound);
3365 IF (l_row_notfound) THEN
3366 l_return_status := OKL_API.G_RET_STS_UNEXP_ERROR;
3367 END IF;
3368 IF (x_tpl_rec.id = OKL_API.G_MISS_NUM)
3369 THEN
3370 x_tpl_rec.id := l_tpl_rec.id;
3371 END IF;
3372 IF (x_tpl_rec.inv_distr_line_code = OKL_API.G_MISS_CHAR)
3373 THEN
3374 x_tpl_rec.inv_distr_line_code := l_tpl_rec.inv_distr_line_code;
3375 END IF;
3376 IF (x_tpl_rec.tap_id = OKL_API.G_MISS_NUM)
3377 THEN
3378 x_tpl_rec.tap_id := l_tpl_rec.tap_id;
3379 END IF;
3380 IF (x_tpl_rec.disbursement_basis_code = OKL_API.G_MISS_CHAR)
3381 THEN
3382 x_tpl_rec.disbursement_basis_code := l_tpl_rec.disbursement_basis_code;
3383 END IF;
3384 IF (x_tpl_rec.tpl_id_reverses = OKL_API.G_MISS_NUM)
3385 THEN
3386 x_tpl_rec.tpl_id_reverses := l_tpl_rec.tpl_id_reverses;
3387 END IF;
3388 IF (x_tpl_rec.code_combination_id = OKL_API.G_MISS_NUM)
3389 THEN
3390 x_tpl_rec.code_combination_id := l_tpl_rec.code_combination_id;
3391 END IF;
3392 IF (x_tpl_rec.lsm_id = OKL_API.G_MISS_NUM)
3393 THEN
3394 x_tpl_rec.lsm_id := l_tpl_rec.lsm_id;
3395 END IF;
3396 IF (x_tpl_rec.kle_id = OKL_API.G_MISS_NUM)
3397 THEN
3398 x_tpl_rec.kle_id := l_tpl_rec.kle_id;
3399 END IF;
3400 IF (x_tpl_rec.khr_id = OKL_API.G_MISS_NUM)
3401 THEN
3402 x_tpl_rec.khr_id := l_tpl_rec.khr_id;
3403 END IF;
3404 IF (x_tpl_rec.cnsld_ap_inv_id = OKL_API.G_MISS_NUM)
3405 THEN
3406 x_tpl_rec.cnsld_ap_inv_id := l_tpl_rec.cnsld_ap_inv_id;
3407 END IF;
3408 IF (x_tpl_rec.taxable_yn = OKL_API.G_MISS_CHAR)
3409 THEN
3410 x_tpl_rec.taxable_yn := l_tpl_rec.taxable_yn;
3411 END IF;
3412 IF (x_tpl_rec.itc_id = OKL_API.G_MISS_NUM)
3413 THEN
3414 x_tpl_rec.itc_id := l_tpl_rec.itc_id;
3415 END IF;
3416 IF (x_tpl_rec.sty_id = OKL_API.G_MISS_NUM)
3417 THEN
3418 x_tpl_rec.sty_id := l_tpl_rec.sty_id;
3419 END IF;
3420 IF (x_tpl_rec.line_number = OKL_API.G_MISS_NUM)
3421 THEN
3422 x_tpl_rec.line_number := l_tpl_rec.line_number;
3423 END IF;
3424 IF (x_tpl_rec.ref_line_number = OKL_API.G_MISS_NUM)
3425 THEN
3426 x_tpl_rec.ref_line_number := l_tpl_rec.ref_line_number;
3427 END IF;
3428 IF (x_tpl_rec.cnsld_line_number = OKL_API.G_MISS_NUM)
3429 THEN
3430 x_tpl_rec.cnsld_line_number := l_tpl_rec.cnsld_line_number;
3431 END IF;
3432 IF (x_tpl_rec.object_version_number = OKL_API.G_MISS_NUM)
3433 THEN
3434 x_tpl_rec.object_version_number := l_tpl_rec.object_version_number;
3435 END IF;
3436 IF (x_tpl_rec.date_accounting = OKL_API.G_MISS_DATE)
3437 THEN
3438 x_tpl_rec.date_accounting := l_tpl_rec.date_accounting;
3439 END IF;
3440
3441 IF (x_tpl_rec.amount = OKL_API.G_MISS_NUM)
3442 THEN
3443 x_tpl_rec.amount := l_tpl_rec.amount;
3444 END IF;
3445 IF (x_tpl_rec.funding_reference_number = OKL_API.G_MISS_CHAR)
3446 THEN
3447 x_tpl_rec.funding_reference_number := l_tpl_rec.funding_reference_number;
3448 END IF;
3449 IF (x_tpl_rec.funding_reference_type_code = OKL_API.G_MISS_CHAR)
3450 THEN
3451 x_tpl_rec.funding_reference_type_code := l_tpl_rec.funding_reference_type_code;
3452 END IF;
3453 IF (x_tpl_rec.payables_invoice_id = OKL_API.G_MISS_NUM)
3454 THEN
3455 x_tpl_rec.payables_invoice_id := l_tpl_rec.payables_invoice_id;
3456 END IF;
3457 IF (x_tpl_rec.request_id = OKL_API.G_MISS_NUM)
3458 THEN
3459 x_tpl_rec.request_id := l_tpl_rec.request_id;
3460 END IF;
3461 IF (x_tpl_rec.program_application_id = OKL_API.G_MISS_NUM)
3462 THEN
3463 x_tpl_rec.program_application_id := l_tpl_rec.program_application_id;
3464 END IF;
3465 IF (x_tpl_rec.program_id = OKL_API.G_MISS_NUM)
3466 THEN
3467 x_tpl_rec.program_id := l_tpl_rec.program_id;
3468 END IF;
3469 IF (x_tpl_rec.program_update_date = OKL_API.G_MISS_DATE)
3470 THEN
3471 x_tpl_rec.program_update_date := l_tpl_rec.program_update_date;
3472 END IF;
3473 IF (x_tpl_rec.org_id = OKL_API.G_MISS_NUM)
3474 THEN
3475 x_tpl_rec.org_id := l_tpl_rec.org_id;
3476 END IF;
3477 IF (x_tpl_rec.error_message = OKL_API.G_MISS_CHAR)
3478 THEN
3479 x_tpl_rec.error_message := l_tpl_rec.error_message;
3480 END IF;
3481 IF (x_tpl_rec.attribute_category = OKL_API.G_MISS_CHAR)
3482 THEN
3483 x_tpl_rec.attribute_category := l_tpl_rec.attribute_category;
3484 END IF;
3485 IF (x_tpl_rec.attribute1 = OKL_API.G_MISS_CHAR)
3486 THEN
3487 x_tpl_rec.attribute1 := l_tpl_rec.attribute1;
3488 END IF;
3489 IF (x_tpl_rec.attribute2 = OKL_API.G_MISS_CHAR)
3490 THEN
3491 x_tpl_rec.attribute2 := l_tpl_rec.attribute2;
3492 END IF;
3493 IF (x_tpl_rec.attribute3 = OKL_API.G_MISS_CHAR)
3494 THEN
3495 x_tpl_rec.attribute3 := l_tpl_rec.attribute3;
3496 END IF;
3497 IF (x_tpl_rec.attribute4 = OKL_API.G_MISS_CHAR)
3498 THEN
3499 x_tpl_rec.attribute4 := l_tpl_rec.attribute4;
3500 END IF;
3501 IF (x_tpl_rec.attribute5 = OKL_API.G_MISS_CHAR)
3502 THEN
3503 x_tpl_rec.attribute5 := l_tpl_rec.attribute5;
3504 END IF;
3505 IF (x_tpl_rec.attribute6 = OKL_API.G_MISS_CHAR)
3506 THEN
3507 x_tpl_rec.attribute6 := l_tpl_rec.attribute6;
3508 END IF;
3509 IF (x_tpl_rec.attribute7 = OKL_API.G_MISS_CHAR)
3510 THEN
3511 x_tpl_rec.attribute7 := l_tpl_rec.attribute7;
3512 END IF;
3513 IF (x_tpl_rec.attribute8 = OKL_API.G_MISS_CHAR)
3514 THEN
3515 x_tpl_rec.attribute8 := l_tpl_rec.attribute8;
3516 END IF;
3517 IF (x_tpl_rec.attribute9 = OKL_API.G_MISS_CHAR)
3518 THEN
3519 x_tpl_rec.attribute9 := l_tpl_rec.attribute9;
3520 END IF;
3521 IF (x_tpl_rec.attribute10 = OKL_API.G_MISS_CHAR)
3522 THEN
3523 x_tpl_rec.attribute10 := l_tpl_rec.attribute10;
3524 END IF;
3525 IF (x_tpl_rec.attribute11 = OKL_API.G_MISS_CHAR)
3526 THEN
3527 x_tpl_rec.attribute11 := l_tpl_rec.attribute11;
3528 END IF;
3529 IF (x_tpl_rec.attribute12 = OKL_API.G_MISS_CHAR)
3530 THEN
3531 x_tpl_rec.attribute12 := l_tpl_rec.attribute12;
3532 END IF;
3533 IF (x_tpl_rec.attribute13 = OKL_API.G_MISS_CHAR)
3534 THEN
3535 x_tpl_rec.attribute13 := l_tpl_rec.attribute13;
3536 END IF;
3537 IF (x_tpl_rec.attribute14 = OKL_API.G_MISS_CHAR)
3538 THEN
3539 x_tpl_rec.attribute14 := l_tpl_rec.attribute14;
3540 END IF;
3541 IF (x_tpl_rec.attribute15 = OKL_API.G_MISS_CHAR)
3542 THEN
3543 x_tpl_rec.attribute15 := l_tpl_rec.attribute15;
3544 END IF;
3545 IF (x_tpl_rec.created_by = OKL_API.G_MISS_NUM)
3546 THEN
3547 x_tpl_rec.created_by := l_tpl_rec.created_by;
3548 END IF;
3549 IF (x_tpl_rec.creation_date = OKL_API.G_MISS_DATE)
3550 THEN
3551 x_tpl_rec.creation_date := l_tpl_rec.creation_date;
3552 END IF;
3553 IF (x_tpl_rec.last_updated_by = OKL_API.G_MISS_NUM)
3554 THEN
3555 x_tpl_rec.last_updated_by := l_tpl_rec.last_updated_by;
3556 END IF;
3557 IF (x_tpl_rec.last_update_date = OKL_API.G_MISS_DATE)
3558 THEN
3559 x_tpl_rec.last_update_date := l_tpl_rec.last_update_date;
3560 END IF;
3561 IF (x_tpl_rec.last_update_login = OKL_API.G_MISS_NUM)
3562 THEN
3563 x_tpl_rec.last_update_login := l_tpl_rec.last_update_login;
3564 END IF;
3565
3566 --start:| 14-May-07 cklee -- added TLD_ID column |
3567 IF (x_tpl_rec.tld_id = OKL_API.G_MISS_NUM)
3568 THEN
3569 x_tpl_rec.tld_id := l_tpl_rec.tld_id;
3570 END IF;
3571 --end:| 14-May-07 cklee -- added TLD_ID column |
3572 IF (x_tpl_rec.sel_id = OKL_API.G_MISS_NUM)
3573 THEN
3574 x_tpl_rec.sel_id := l_tpl_rec.sel_id;
3575 END IF;
3576
3577 RETURN(l_return_status);
3578 END populate_new_record;
3579 ---------------------------------------------
3580 -- Set_Attributes for:OKL_TXL_AP_INV_LNS_B --
3581 ---------------------------------------------
3582 FUNCTION Set_Attributes (
3583 p_tpl_rec IN tpl_rec_type,
3584 x_tpl_rec OUT NOCOPY tpl_rec_type
3585 ) RETURN VARCHAR2 IS
3586 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
3587 BEGIN
3588 x_tpl_rec := p_tpl_rec;
3589 RETURN(l_return_status);
3590 END Set_Attributes;
3591 BEGIN
3592 l_return_status := OKL_API.START_ACTIVITY(l_api_name,
3593 p_init_msg_list,
3594 '_PVT',
3595 x_return_status);
3596 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
3597 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
3598 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
3599 RAISE OKL_API.G_EXCEPTION_ERROR;
3600 END IF;
3601 --- Setting item attributes
3602 l_return_status := Set_Attributes(
3603 p_tpl_rec, -- IN
3604 l_tpl_rec); -- OUT
3605 --- If any errors happen abort API
3606 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
3607 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
3608 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
3609 RAISE OKL_API.G_EXCEPTION_ERROR;
3610 END IF;
3611 l_return_status := populate_new_record(l_tpl_rec, l_def_tpl_rec);
3612 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
3613 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
3614 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
3615 RAISE OKL_API.G_EXCEPTION_ERROR;
3616 END IF;
3617 UPDATE OKL_TXL_AP_INV_LNS_B
3618 SET INV_DISTR_LINE_CODE = l_def_tpl_rec.inv_distr_line_code,
3619 TAP_ID = l_def_tpl_rec.tap_id,
3620 DISBURSEMENT_BASIS_CODE = l_def_tpl_rec.disbursement_basis_code,
3621 TPL_ID_REVERSES = l_def_tpl_rec.tpl_id_reverses,
3622 code_combination_id = l_def_tpl_rec.code_combination_id,
3623 LSM_ID = l_def_tpl_rec.lsm_id,
3624 KLE_ID = l_def_tpl_rec.kle_id,
3625 KHR_ID = l_def_tpl_rec.khr_id,
3626 cnsld_ap_inv_id = l_def_tpl_rec.cnsld_ap_inv_id,
3627 TAXABLE_YN = l_def_tpl_rec.taxable_yn,
3628 ITC_ID = l_def_tpl_rec.itc_id,
3629 STY_ID = l_def_tpl_rec.sty_id,
3630 LINE_NUMBER = l_def_tpl_rec.line_number,
3631 REF_LINE_NUMBER = l_def_tpl_rec.ref_line_number,
3632 CNSLD_LINE_NUMBER = l_def_tpl_rec.cnsld_line_number,
3633 OBJECT_VERSION_NUMBER = l_def_tpl_rec.object_version_number,
3634 DATE_ACCOUNTING = l_def_tpl_rec.date_accounting,
3635 AMOUNT = l_def_tpl_rec.amount,
3636 FUNDING_REFERENCE_NUMBER = l_def_tpl_rec.funding_reference_number,
3637 FUNDING_REFERENCE_TYPE_CODE = l_def_tpl_rec.funding_reference_type_code,
3638 PAYABLES_INVOICE_ID = l_def_tpl_rec.payables_invoice_id,
3639 REQUEST_ID = l_def_tpl_rec.request_id,
3640 PROGRAM_APPLICATION_ID = l_def_tpl_rec.program_application_id,
3641 PROGRAM_ID = l_def_tpl_rec.program_id,
3642 PROGRAM_UPDATE_DATE = l_def_tpl_rec.program_update_date,
3643 ORG_ID = l_def_tpl_rec.org_id,
3644 error_message = l_def_tpl_rec.error_message,
3645 ATTRIBUTE_CATEGORY = l_def_tpl_rec.attribute_category,
3646 ATTRIBUTE1 = l_def_tpl_rec.attribute1,
3647 ATTRIBUTE2 = l_def_tpl_rec.attribute2,
3648 ATTRIBUTE3 = l_def_tpl_rec.attribute3,
3649 ATTRIBUTE4 = l_def_tpl_rec.attribute4,
3650 ATTRIBUTE5 = l_def_tpl_rec.attribute5,
3651 ATTRIBUTE6 = l_def_tpl_rec.attribute6,
3652 ATTRIBUTE7 = l_def_tpl_rec.attribute7,
3653 ATTRIBUTE8 = l_def_tpl_rec.attribute8,
3654 ATTRIBUTE9 = l_def_tpl_rec.attribute9,
3655 ATTRIBUTE10 = l_def_tpl_rec.attribute10,
3656 ATTRIBUTE11 = l_def_tpl_rec.attribute11,
3657 ATTRIBUTE12 = l_def_tpl_rec.attribute12,
3658 ATTRIBUTE13 = l_def_tpl_rec.attribute13,
3659 ATTRIBUTE14 = l_def_tpl_rec.attribute14,
3660 ATTRIBUTE15 = l_def_tpl_rec.attribute15,
3661 CREATED_BY = l_def_tpl_rec.created_by,
3662 CREATION_DATE = l_def_tpl_rec.creation_date,
3663 LAST_UPDATED_BY = l_def_tpl_rec.last_updated_by,
3664 LAST_UPDATE_DATE = l_def_tpl_rec.last_update_date,
3665 LAST_UPDATE_LOGIN = l_def_tpl_rec.last_update_login,
3666 --start:| 14-May-07 cklee -- added TLD_ID column |
3667 TLD_ID = l_def_tpl_rec.tld_id,
3668 --end:| 14-May-07 cklee -- added TLD_ID column |
3669 SEL_ID = l_def_tpl_rec.sel_id
3670 WHERE ID = l_def_tpl_rec.id;
3671
3672 x_tpl_rec := l_def_tpl_rec;
3673 OKL_API.END_ACTIVITY(x_msg_count, x_msg_data);
3674 EXCEPTION
3675 WHEN OKL_API.G_EXCEPTION_ERROR THEN
3676 x_return_status := OKL_API.HANDLE_EXCEPTIONS
3677 (
3678 l_api_name,
3679 G_PKG_NAME,
3680 'OKL_API.G_RET_STS_ERROR',
3681 x_msg_count,
3682 x_msg_data,
3683 '_PVT'
3684 );
3685 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
3686 x_return_status :=OKL_API.HANDLE_EXCEPTIONS
3687 (
3688 l_api_name,
3689 G_PKG_NAME,
3690 'OKL_API.G_RET_STS_UNEXP_ERROR',
3691 x_msg_count,
3692 x_msg_data,
3693 '_PVT'
3694 );
3695 WHEN OTHERS THEN
3696 x_return_status :=OKL_API.HANDLE_EXCEPTIONS
3697 (
3698 l_api_name,
3699 G_PKG_NAME,
3700 'OTHERS',
3701 x_msg_count,
3702 x_msg_data,
3703 '_PVT'
3704 );
3705 END update_row;
3706 ------------------------------------------
3707 -- update_row for:OKL_TXL_AP_INV_LNS_TL --
3708 ------------------------------------------
3709 PROCEDURE update_row(
3710 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
3711 x_return_status OUT NOCOPY VARCHAR2,
3712 x_msg_count OUT NOCOPY NUMBER,
3713 x_msg_data OUT NOCOPY VARCHAR2,
3714 p_okl_txl_ap_inv_lns_tl_rec IN okl_txl_ap_inv_lns_tl_rec_type,
3715 x_okl_txl_ap_inv_lns_tl_rec OUT NOCOPY okl_txl_ap_inv_lns_tl_rec_type) IS
3716
3717 l_api_version CONSTANT NUMBER := 1;
3718 l_api_name CONSTANT VARCHAR2(30) := 'TL_update_row';
3719 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
3720 l_okl_txl_ap_inv_lns_tl_rec okl_txl_ap_inv_lns_tl_rec_type := p_okl_txl_ap_inv_lns_tl_rec;
3721 ldefokltxlapinvlnstlrec okl_txl_ap_inv_lns_tl_rec_type;
3722 l_row_notfound BOOLEAN := TRUE;
3723 ----------------------------------
3724 -- FUNCTION populate_new_record --
3725 ----------------------------------
3726 FUNCTION populate_new_record (
3727 p_okl_txl_ap_inv_lns_tl_rec IN okl_txl_ap_inv_lns_tl_rec_type,
3728 x_okl_txl_ap_inv_lns_tl_rec OUT NOCOPY okl_txl_ap_inv_lns_tl_rec_type
3729 ) RETURN VARCHAR2 IS
3730 l_okl_txl_ap_inv_lns_tl_rec okl_txl_ap_inv_lns_tl_rec_type;
3731 l_row_notfound BOOLEAN := TRUE;
3732 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
3733 BEGIN
3734 x_okl_txl_ap_inv_lns_tl_rec := p_okl_txl_ap_inv_lns_tl_rec;
3735 -- Get current database values
3736 l_okl_txl_ap_inv_lns_tl_rec := get_rec(p_okl_txl_ap_inv_lns_tl_rec, l_row_notfound);
3737 IF (l_row_notfound) THEN
3738 l_return_status := OKL_API.G_RET_STS_UNEXP_ERROR;
3739 END IF;
3740 IF (x_okl_txl_ap_inv_lns_tl_rec.id = OKL_API.G_MISS_NUM)
3741 THEN
3742 x_okl_txl_ap_inv_lns_tl_rec.id := l_okl_txl_ap_inv_lns_tl_rec.id;
3743 END IF;
3744 IF (x_okl_txl_ap_inv_lns_tl_rec.language = OKL_API.G_MISS_CHAR)
3745 THEN
3746 x_okl_txl_ap_inv_lns_tl_rec.language := l_okl_txl_ap_inv_lns_tl_rec.language;
3747 END IF;
3748 IF (x_okl_txl_ap_inv_lns_tl_rec.source_lang = OKL_API.G_MISS_CHAR)
3749 THEN
3750 x_okl_txl_ap_inv_lns_tl_rec.source_lang := l_okl_txl_ap_inv_lns_tl_rec.source_lang;
3751 END IF;
3752 IF (x_okl_txl_ap_inv_lns_tl_rec.sfwt_flag = OKL_API.G_MISS_CHAR)
3753 THEN
3754 x_okl_txl_ap_inv_lns_tl_rec.sfwt_flag := l_okl_txl_ap_inv_lns_tl_rec.sfwt_flag;
3755 END IF;
3756 IF (x_okl_txl_ap_inv_lns_tl_rec.description = OKL_API.G_MISS_CHAR)
3757 THEN
3758 x_okl_txl_ap_inv_lns_tl_rec.description := l_okl_txl_ap_inv_lns_tl_rec.description;
3759 END IF;
3760 IF (x_okl_txl_ap_inv_lns_tl_rec.created_by = OKL_API.G_MISS_NUM)
3761 THEN
3762 x_okl_txl_ap_inv_lns_tl_rec.created_by := l_okl_txl_ap_inv_lns_tl_rec.created_by;
3763 END IF;
3764 IF (x_okl_txl_ap_inv_lns_tl_rec.creation_date = OKL_API.G_MISS_DATE)
3765 THEN
3766 x_okl_txl_ap_inv_lns_tl_rec.creation_date := l_okl_txl_ap_inv_lns_tl_rec.creation_date;
3767 END IF;
3768 IF (x_okl_txl_ap_inv_lns_tl_rec.last_updated_by = OKL_API.G_MISS_NUM)
3769 THEN
3770 x_okl_txl_ap_inv_lns_tl_rec.last_updated_by := l_okl_txl_ap_inv_lns_tl_rec.last_updated_by;
3771 END IF;
3772 IF (x_okl_txl_ap_inv_lns_tl_rec.last_update_date = OKL_API.G_MISS_DATE)
3773 THEN
3774 x_okl_txl_ap_inv_lns_tl_rec.last_update_date := l_okl_txl_ap_inv_lns_tl_rec.last_update_date;
3775 END IF;
3776 IF (x_okl_txl_ap_inv_lns_tl_rec.last_update_login = OKL_API.G_MISS_NUM)
3777 THEN
3778 x_okl_txl_ap_inv_lns_tl_rec.last_update_login := l_okl_txl_ap_inv_lns_tl_rec.last_update_login;
3779 END IF;
3780 RETURN(l_return_status);
3781 END populate_new_record;
3782 ----------------------------------------------
3783 -- Set_Attributes for:OKL_TXL_AP_INV_LNS_TL --
3784 ----------------------------------------------
3785 FUNCTION Set_Attributes (
3786 p_okl_txl_ap_inv_lns_tl_rec IN okl_txl_ap_inv_lns_tl_rec_type,
3787 x_okl_txl_ap_inv_lns_tl_rec OUT NOCOPY okl_txl_ap_inv_lns_tl_rec_type
3788 ) RETURN VARCHAR2 IS
3789 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
3790 BEGIN
3791 x_okl_txl_ap_inv_lns_tl_rec := p_okl_txl_ap_inv_lns_tl_rec;
3792 x_okl_txl_ap_inv_lns_tl_rec.LANGUAGE := USERENV('LANG');
3793 x_okl_txl_ap_inv_lns_tl_rec.SOURCE_LANG := USERENV('LANG');
3794 RETURN(l_return_status);
3795 END Set_Attributes;
3796 BEGIN
3797 l_return_status := OKL_API.START_ACTIVITY(l_api_name,
3798 p_init_msg_list,
3799 '_PVT',
3800 x_return_status);
3801 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
3802 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
3803 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
3804 RAISE OKL_API.G_EXCEPTION_ERROR;
3805 END IF;
3806 --- Setting item attributes
3807 l_return_status := Set_Attributes(
3808 p_okl_txl_ap_inv_lns_tl_rec, -- IN
3809 l_okl_txl_ap_inv_lns_tl_rec); -- OUT
3810 --- If any errors happen abort API
3811 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
3812 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
3813 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
3814 RAISE OKL_API.G_EXCEPTION_ERROR;
3815 END IF;
3816 l_return_status := populate_new_record(l_okl_txl_ap_inv_lns_tl_rec, ldefokltxlapinvlnstlrec);
3817 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
3818 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
3819 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
3820 RAISE OKL_API.G_EXCEPTION_ERROR;
3821 END IF;
3822 UPDATE OKL_TXL_AP_INV_LNS_TL
3823 SET DESCRIPTION = ldefokltxlapinvlnstlrec.description,
3824 SOURCE_LANG = ldefokltxlapinvlnstlrec.source_lang,
3825 CREATED_BY = ldefokltxlapinvlnstlrec.created_by,
3826 CREATION_DATE = ldefokltxlapinvlnstlrec.creation_date,
3827 LAST_UPDATED_BY = ldefokltxlapinvlnstlrec.last_updated_by,
3828 LAST_UPDATE_DATE = ldefokltxlapinvlnstlrec.last_update_date,
3829 LAST_UPDATE_LOGIN = ldefokltxlapinvlnstlrec.last_update_login
3830 WHERE ID = ldefokltxlapinvlnstlrec.id
3831 AND USERENV('LANG') in (SOURCE_LANG, LANGUAGE);
3832
3833 UPDATE OKL_TXL_AP_INV_LNS_TL
3834 SET SFWT_FLAG = 'Y'
3835 WHERE ID = ldefokltxlapinvlnstlrec.id
3836 AND SOURCE_LANG <> USERENV('LANG');
3837
3838 x_okl_txl_ap_inv_lns_tl_rec := ldefokltxlapinvlnstlrec;
3839 OKL_API.END_ACTIVITY(x_msg_count, x_msg_data);
3840 EXCEPTION
3841 WHEN OKL_API.G_EXCEPTION_ERROR THEN
3842 x_return_status := OKL_API.HANDLE_EXCEPTIONS
3843 (
3844 l_api_name,
3845 G_PKG_NAME,
3846 'OKL_API.G_RET_STS_ERROR',
3847 x_msg_count,
3848 x_msg_data,
3849 '_PVT'
3850 );
3851 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
3852 x_return_status :=OKL_API.HANDLE_EXCEPTIONS
3853 (
3854 l_api_name,
3855 G_PKG_NAME,
3856 'OKL_API.G_RET_STS_UNEXP_ERROR',
3857 x_msg_count,
3858 x_msg_data,
3859 '_PVT'
3860 );
3861 WHEN OTHERS THEN
3862 x_return_status :=OKL_API.HANDLE_EXCEPTIONS
3863 (
3864 l_api_name,
3865 G_PKG_NAME,
3866 'OTHERS',
3867 x_msg_count,
3868 x_msg_data,
3869 '_PVT'
3870 );
3871 END update_row;
3872 -----------------------------------------
3873 -- update_row for:OKL_TXL_AP_INV_LNS_V --
3874 -----------------------------------------
3875 PROCEDURE update_row(
3876 p_api_version IN NUMBER,
3877 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
3878 x_return_status OUT NOCOPY VARCHAR2,
3879 x_msg_count OUT NOCOPY NUMBER,
3880 x_msg_data OUT NOCOPY VARCHAR2,
3881 p_tplv_rec IN tplv_rec_type,
3882 x_tplv_rec OUT NOCOPY tplv_rec_type) IS
3883
3884 l_api_version CONSTANT NUMBER := 1;
3885 l_api_name CONSTANT VARCHAR2(30) := 'V_update_row';
3886 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
3887 l_tplv_rec tplv_rec_type := p_tplv_rec;
3888 l_def_tplv_rec tplv_rec_type;
3889 l_okl_txl_ap_inv_lns_tl_rec okl_txl_ap_inv_lns_tl_rec_type;
3890 lx_okl_txl_ap_inv_lns_tl_rec okl_txl_ap_inv_lns_tl_rec_type;
3891 l_tpl_rec tpl_rec_type;
3892 lx_tpl_rec tpl_rec_type;
3893 -------------------------------
3894 -- FUNCTION fill_who_columns --
3895 -------------------------------
3896 FUNCTION fill_who_columns (
3897 p_tplv_rec IN tplv_rec_type
3898 ) RETURN tplv_rec_type IS
3899 l_tplv_rec tplv_rec_type := p_tplv_rec;
3900 BEGIN
3901 l_tplv_rec.LAST_UPDATE_DATE := SYSDATE;
3902 l_tplv_rec.LAST_UPDATED_BY := FND_GLOBAL.USER_ID;
3903 l_tplv_rec.LAST_UPDATE_LOGIN := FND_GLOBAL.LOGIN_ID;
3904 RETURN(l_tplv_rec);
3905 END fill_who_columns;
3906 ----------------------------------
3907 -- FUNCTION populate_new_record --
3908 ----------------------------------
3909 FUNCTION populate_new_record (
3910 p_tplv_rec IN tplv_rec_type,
3911 x_tplv_rec OUT NOCOPY tplv_rec_type
3912 ) RETURN VARCHAR2 IS
3913 l_tplv_rec tplv_rec_type;
3914 l_row_notfound BOOLEAN := TRUE;
3915 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
3916 BEGIN
3917 x_tplv_rec := p_tplv_rec;
3918 -- Get current database values
3919 l_tplv_rec := get_rec(p_tplv_rec, l_row_notfound);
3920 IF (l_row_notfound) THEN
3921 l_return_status := OKL_API.G_RET_STS_UNEXP_ERROR;
3922 END IF;
3923 IF (x_tplv_rec.id = OKL_API.G_MISS_NUM)
3924 THEN
3925 x_tplv_rec.id := l_tplv_rec.id;
3926 END IF;
3927 IF (x_tplv_rec.object_version_number = OKL_API.G_MISS_NUM)
3928 THEN
3929 x_tplv_rec.object_version_number := l_tplv_rec.object_version_number;
3930 END IF;
3931 IF (x_tplv_rec.sfwt_flag = OKL_API.G_MISS_CHAR)
3932 THEN
3933 x_tplv_rec.sfwt_flag := l_tplv_rec.sfwt_flag;
3934 END IF;
3935 IF (x_tplv_rec.code_combination_id = OKL_API.G_MISS_NUM)
3936 THEN
3937 x_tplv_rec.code_combination_id := l_tplv_rec.code_combination_id;
3938 END IF;
3939 IF (x_tplv_rec.itc_id = OKL_API.G_MISS_NUM)
3940 THEN
3941 x_tplv_rec.itc_id := l_tplv_rec.itc_id;
3942 END IF;
3943 IF (x_tplv_rec.disbursement_basis_code = OKL_API.G_MISS_CHAR)
3944 THEN
3945 x_tplv_rec.disbursement_basis_code := l_tplv_rec.disbursement_basis_code;
3946 END IF;
3947 IF (x_tplv_rec.kle_id = OKL_API.G_MISS_NUM)
3948 THEN
3949 x_tplv_rec.kle_id := l_tplv_rec.kle_id;
3950 END IF;
3951 IF (x_tplv_rec.khr_id = OKL_API.G_MISS_NUM)
3952 THEN
3953 x_tplv_rec.khr_id := l_tplv_rec.khr_id;
3954 END IF;
3955 IF (x_tplv_rec.cnsld_ap_inv_id = OKL_API.G_MISS_NUM)
3956 THEN
3957 x_tplv_rec.cnsld_ap_inv_id := l_tplv_rec.cnsld_ap_inv_id;
3958 END IF;
3959 IF (x_tplv_rec.taxable_yn = OKL_API.G_MISS_CHAR)
3960 THEN
3961 x_tplv_rec.taxable_yn := l_tplv_rec.taxable_yn;
3962 END IF;
3963 IF (x_tplv_rec.lsm_id = OKL_API.G_MISS_NUM)
3964 THEN
3965 x_tplv_rec.lsm_id := l_tplv_rec.lsm_id;
3966 END IF;
3967 IF (x_tplv_rec.tpl_id_reverses = OKL_API.G_MISS_NUM)
3968 THEN
3969 x_tplv_rec.tpl_id_reverses := l_tplv_rec.tpl_id_reverses;
3970 END IF;
3971 IF (x_tplv_rec.inv_distr_line_code = OKL_API.G_MISS_CHAR)
3972 THEN
3973 x_tplv_rec.inv_distr_line_code := l_tplv_rec.inv_distr_line_code;
3974 END IF;
3975 IF (x_tplv_rec.sty_id = OKL_API.G_MISS_NUM)
3976 THEN
3977 x_tplv_rec.sty_id := l_tplv_rec.sty_id;
3978 END IF;
3979 IF (x_tplv_rec.tap_id = OKL_API.G_MISS_NUM)
3980 THEN
3981 x_tplv_rec.tap_id := l_tplv_rec.tap_id;
3982 END IF;
3983 IF (x_tplv_rec.date_accounting = OKL_API.G_MISS_DATE)
3984 THEN
3985 x_tplv_rec.date_accounting := l_tplv_rec.date_accounting;
3986 END IF;
3987 IF (x_tplv_rec.amount = OKL_API.G_MISS_NUM)
3988 THEN
3989 x_tplv_rec.amount := l_tplv_rec.amount;
3990 END IF;
3991 IF (x_tplv_rec.funding_reference_number = OKL_API.G_MISS_CHAR)
3992 THEN
3993 x_tplv_rec.funding_reference_number := l_tplv_rec.funding_reference_number;
3994 END IF;
3995 IF (x_tplv_rec.funding_reference_type_code = OKL_API.G_MISS_CHAR)
3996 THEN
3997 x_tplv_rec.funding_reference_type_code := l_tplv_rec.funding_reference_type_code;
3998 END IF;
3999 IF (x_tplv_rec.line_number = OKL_API.G_MISS_NUM)
4000 THEN
4001 x_tplv_rec.line_number := l_tplv_rec.line_number;
4002 END IF;
4003 IF (x_tplv_rec.ref_line_number = OKL_API.G_MISS_NUM)
4004 THEN
4005 x_tplv_rec.ref_line_number := l_tplv_rec.ref_line_number;
4006 END IF;
4007 IF (x_tplv_rec.cnsld_line_number = OKL_API.G_MISS_NUM)
4008 THEN
4009 x_tplv_rec.cnsld_line_number := l_tplv_rec.cnsld_line_number;
4010 END IF;
4011 IF (x_tplv_rec.payables_invoice_id = OKL_API.G_MISS_NUM)
4012 THEN
4013 x_tplv_rec.payables_invoice_id := l_tplv_rec.payables_invoice_id;
4014 END IF;
4015 IF (x_tplv_rec.description = OKL_API.G_MISS_CHAR)
4016 THEN
4017 x_tplv_rec.description := l_tplv_rec.description;
4018 END IF;
4019 IF (x_tplv_rec.error_message = OKL_API.G_MISS_CHAR)
4020 THEN
4021 x_tplv_rec.error_message := l_tplv_rec.error_message;
4022 END IF;
4023 IF (x_tplv_rec.attribute_category = OKL_API.G_MISS_CHAR)
4024 THEN
4025 x_tplv_rec.attribute_category := l_tplv_rec.attribute_category;
4026 END IF;
4027 IF (x_tplv_rec.attribute1 = OKL_API.G_MISS_CHAR)
4028 THEN
4029 x_tplv_rec.attribute1 := l_tplv_rec.attribute1;
4030 END IF;
4031 IF (x_tplv_rec.attribute2 = OKL_API.G_MISS_CHAR)
4032 THEN
4033 x_tplv_rec.attribute2 := l_tplv_rec.attribute2;
4034 END IF;
4035 IF (x_tplv_rec.attribute3 = OKL_API.G_MISS_CHAR)
4036 THEN
4037 x_tplv_rec.attribute3 := l_tplv_rec.attribute3;
4038 END IF;
4039 IF (x_tplv_rec.attribute4 = OKL_API.G_MISS_CHAR)
4040 THEN
4041 x_tplv_rec.attribute4 := l_tplv_rec.attribute4;
4042 END IF;
4043 IF (x_tplv_rec.attribute5 = OKL_API.G_MISS_CHAR)
4044 THEN
4045 x_tplv_rec.attribute5 := l_tplv_rec.attribute5;
4046 END IF;
4047 IF (x_tplv_rec.attribute6 = OKL_API.G_MISS_CHAR)
4048 THEN
4049 x_tplv_rec.attribute6 := l_tplv_rec.attribute6;
4050 END IF;
4051 IF (x_tplv_rec.attribute7 = OKL_API.G_MISS_CHAR)
4052 THEN
4053 x_tplv_rec.attribute7 := l_tplv_rec.attribute7;
4054 END IF;
4055 IF (x_tplv_rec.attribute8 = OKL_API.G_MISS_CHAR)
4056 THEN
4057 x_tplv_rec.attribute8 := l_tplv_rec.attribute8;
4058 END IF;
4059 IF (x_tplv_rec.attribute9 = OKL_API.G_MISS_CHAR)
4060 THEN
4061 x_tplv_rec.attribute9 := l_tplv_rec.attribute9;
4062 END IF;
4063 IF (x_tplv_rec.attribute10 = OKL_API.G_MISS_CHAR)
4064 THEN
4065 x_tplv_rec.attribute10 := l_tplv_rec.attribute10;
4066 END IF;
4067 IF (x_tplv_rec.attribute11 = OKL_API.G_MISS_CHAR)
4068 THEN
4069 x_tplv_rec.attribute11 := l_tplv_rec.attribute11;
4070 END IF;
4071 IF (x_tplv_rec.attribute12 = OKL_API.G_MISS_CHAR)
4072 THEN
4073 x_tplv_rec.attribute12 := l_tplv_rec.attribute12;
4074 END IF;
4075 IF (x_tplv_rec.attribute13 = OKL_API.G_MISS_CHAR)
4076 THEN
4077 x_tplv_rec.attribute13 := l_tplv_rec.attribute13;
4078 END IF;
4079 IF (x_tplv_rec.attribute14 = OKL_API.G_MISS_CHAR)
4080 THEN
4081 x_tplv_rec.attribute14 := l_tplv_rec.attribute14;
4082 END IF;
4083 IF (x_tplv_rec.attribute15 = OKL_API.G_MISS_CHAR)
4084 THEN
4085 x_tplv_rec.attribute15 := l_tplv_rec.attribute15;
4086 END IF;
4087 IF (x_tplv_rec.request_id = OKL_API.G_MISS_NUM)
4088 THEN
4089 x_tplv_rec.request_id := l_tplv_rec.request_id;
4090 END IF;
4091 IF (x_tplv_rec.program_application_id = OKL_API.G_MISS_NUM)
4092 THEN
4093 x_tplv_rec.program_application_id := l_tplv_rec.program_application_id;
4094 END IF;
4095 IF (x_tplv_rec.program_id = OKL_API.G_MISS_NUM)
4096 THEN
4097 x_tplv_rec.program_id := l_tplv_rec.program_id;
4098 END IF;
4099 IF (x_tplv_rec.program_update_date = OKL_API.G_MISS_DATE)
4100 THEN
4101 x_tplv_rec.program_update_date := l_tplv_rec.program_update_date;
4102 END IF;
4103 IF (x_tplv_rec.org_id = OKL_API.G_MISS_NUM)
4104 THEN
4105 x_tplv_rec.org_id := l_tplv_rec.org_id;
4106 END IF;
4107 IF (x_tplv_rec.created_by = OKL_API.G_MISS_NUM)
4108 THEN
4109 x_tplv_rec.created_by := l_tplv_rec.created_by;
4110 END IF;
4111 IF (x_tplv_rec.creation_date = OKL_API.G_MISS_DATE)
4112 THEN
4113 x_tplv_rec.creation_date := l_tplv_rec.creation_date;
4114 END IF;
4115 IF (x_tplv_rec.last_updated_by = OKL_API.G_MISS_NUM)
4116 THEN
4117 x_tplv_rec.last_updated_by := l_tplv_rec.last_updated_by;
4118 END IF;
4119 IF (x_tplv_rec.last_update_date = OKL_API.G_MISS_DATE)
4120 THEN
4121 x_tplv_rec.last_update_date := l_tplv_rec.last_update_date;
4122 END IF;
4123 IF (x_tplv_rec.last_update_login = OKL_API.G_MISS_NUM)
4124 THEN
4125 x_tplv_rec.last_update_login := l_tplv_rec.last_update_login;
4126 END IF;
4127 --start:| 14-May-07 cklee -- added TLD_ID column |
4128 IF (x_tplv_rec.tld_id = OKL_API.G_MISS_NUM)
4129 THEN
4130 x_tplv_rec.tld_id := l_tplv_rec.tld_id;
4131 END IF;
4132 --end:| 14-May-07 cklee -- added TLD_ID column |
4133
4134 IF (x_tplv_rec.sel_id = OKL_API.G_MISS_NUM)
4135 THEN
4136 x_tplv_rec.sel_id := l_tplv_rec.sel_id;
4137 END IF;
4138
4139 RETURN(l_return_status);
4140 END populate_new_record;
4141 ---------------------------------------------
4142 -- Set_Attributes for:OKL_TXL_AP_INV_LNS_V --
4143 ---------------------------------------------
4144 FUNCTION Set_Attributes (
4145 p_tplv_rec IN tplv_rec_type,
4146 x_tplv_rec OUT NOCOPY tplv_rec_type
4147 ) RETURN VARCHAR2 IS
4148 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
4149 BEGIN
4150 x_tplv_rec := p_tplv_rec;
4151 x_tplv_rec.OBJECT_VERSION_NUMBER := NVL(x_tplv_rec.OBJECT_VERSION_NUMBER, 0) + 1;
4152
4153 -- Begin PostGen-7
4154 SELECT
4155 NVL(DECODE(Fnd_Global.CONC_REQUEST_ID,-1,NULL,Fnd_Global.CONC_REQUEST_ID),
4156 x_tplv_rec.request_id),
4157 NVL(DECODE(Fnd_Global.PROG_APPL_ID, -1,NULL,Fnd_Global.PROG_APPL_ID),
4158 x_tplv_rec.program_application_id),
4159 NVL(DECODE(Fnd_Global.CONC_PROGRAM_ID,-1,NULL,Fnd_Global.CONC_PROGRAM_ID),
4160 x_tplv_rec.program_id),
4161 DECODE(DECODE(Fnd_Global.CONC_REQUEST_ID,-1,NULL,SYSDATE),
4162 NULL,x_tplv_rec.program_update_date,SYSDATE)
4163 INTO
4164 x_tplv_rec.request_id,
4165 x_tplv_rec.program_application_id,
4166 x_tplv_rec.program_id,
4167 x_tplv_rec.program_update_date
4168 FROM dual;
4169 -- End PostGen-7
4170
4171 RETURN(l_return_status);
4172 END Set_Attributes;
4173 BEGIN
4174 l_return_status := OKL_API.START_ACTIVITY(l_api_name,
4175 G_PKG_NAME,
4176 p_init_msg_list,
4177 l_api_version,
4178 p_api_version,
4179 '_PVT',
4180 x_return_status);
4181 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
4182 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
4183 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
4184 RAISE OKL_API.G_EXCEPTION_ERROR;
4185 END IF;
4186 --- Setting item attributes
4187 l_return_status := Set_Attributes(
4188 p_tplv_rec, -- IN
4189 l_tplv_rec); -- OUT
4190 --- If any errors happen abort API
4191 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
4192 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
4193 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
4194 RAISE OKL_API.G_EXCEPTION_ERROR;
4195 END IF;
4196 l_return_status := populate_new_record(l_tplv_rec, l_def_tplv_rec);
4197 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
4198 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
4199 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
4200 RAISE OKL_API.G_EXCEPTION_ERROR;
4201 END IF;
4202 l_def_tplv_rec := fill_who_columns(l_def_tplv_rec);
4203 --- Validate all non-missing attributes (Item Level Validation)
4204 l_return_status := Validate_Attributes(l_def_tplv_rec);
4205 --- If any errors happen abort API
4206 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
4207 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
4208 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
4209 RAISE OKL_API.G_EXCEPTION_ERROR;
4210 END IF;
4211 l_return_status := Validate_Record(l_def_tplv_rec);
4212 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
4213 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
4214 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
4215 RAISE OKL_API.G_EXCEPTION_ERROR;
4216 END IF;
4217
4218 --------------------------------------
4219 -- Move VIEW record to "Child" records
4220 --------------------------------------
4221 migrate(l_def_tplv_rec, l_okl_txl_ap_inv_lns_tl_rec);
4222 migrate(l_def_tplv_rec, l_tpl_rec);
4223 --------------------------------------------
4224 -- Call the UPDATE_ROW for each child record
4225 --------------------------------------------
4226 update_row(
4227 p_init_msg_list,
4228 x_return_status,
4229 x_msg_count,
4230 x_msg_data,
4231 l_okl_txl_ap_inv_lns_tl_rec,
4232 lx_okl_txl_ap_inv_lns_tl_rec
4233 );
4234 IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
4235 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
4236 ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
4237 RAISE OKL_API.G_EXCEPTION_ERROR;
4238 END IF;
4239 migrate(lx_okl_txl_ap_inv_lns_tl_rec, l_def_tplv_rec);
4240 update_row(
4241 p_init_msg_list,
4242 x_return_status,
4243 x_msg_count,
4244 x_msg_data,
4245 l_tpl_rec,
4246 lx_tpl_rec
4247 );
4248 IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
4249 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
4250 ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
4251 RAISE OKL_API.G_EXCEPTION_ERROR;
4252 END IF;
4253 migrate(lx_tpl_rec, l_def_tplv_rec);
4254 x_tplv_rec := l_def_tplv_rec;
4255 OKL_API.END_ACTIVITY(x_msg_count, x_msg_data);
4256 EXCEPTION
4257 WHEN OKL_API.G_EXCEPTION_ERROR THEN
4258 x_return_status := OKL_API.HANDLE_EXCEPTIONS
4259 (
4260 l_api_name,
4261 G_PKG_NAME,
4262 'OKL_API.G_RET_STS_ERROR',
4263 x_msg_count,
4264 x_msg_data,
4265 '_PVT'
4266 );
4267 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
4268 x_return_status :=OKL_API.HANDLE_EXCEPTIONS
4269 (
4270 l_api_name,
4271 G_PKG_NAME,
4272 'OKL_API.G_RET_STS_UNEXP_ERROR',
4273 x_msg_count,
4274 x_msg_data,
4275 '_PVT'
4276 );
4277 WHEN OTHERS THEN
4278 x_return_status :=OKL_API.HANDLE_EXCEPTIONS
4279 (
4280 l_api_name,
4281 G_PKG_NAME,
4282 'OTHERS',
4283 x_msg_count,
4284 x_msg_data,
4285 '_PVT'
4286 );
4287 END update_row;
4288 ----------------------------------------
4289 -- PL/SQL TBL update_row for:TPLV_TBL --
4290 ----------------------------------------
4291 PROCEDURE update_row(
4292 p_api_version IN NUMBER,
4293 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
4294 x_return_status OUT NOCOPY VARCHAR2,
4295 x_msg_count OUT NOCOPY NUMBER,
4296 x_msg_data OUT NOCOPY VARCHAR2,
4297 p_tplv_tbl IN tplv_tbl_type,
4298 x_tplv_tbl OUT NOCOPY tplv_tbl_type) IS
4299
4300 l_api_version CONSTANT NUMBER := 1;
4301 l_api_name CONSTANT VARCHAR2(30) := 'V_tbl_update_row';
4302 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
4303 l_overall_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS; -- PostGen-9
4304 i NUMBER := 0;
4305 BEGIN
4306 OKL_API.init_msg_list(p_init_msg_list);
4307 -- Make sure PL/SQL table has records in it before passing
4308 IF (p_tplv_tbl.COUNT > 0) THEN
4309 i := p_tplv_tbl.FIRST;
4310 LOOP
4311 update_row (
4312 p_api_version => p_api_version,
4313 p_init_msg_list => OKC_API.G_FALSE,
4314 x_return_status => x_return_status,
4315 x_msg_count => x_msg_count,
4316 x_msg_data => x_msg_data,
4317 p_tplv_rec => p_tplv_tbl(i),
4318 x_tplv_rec => x_tplv_tbl(i));
4319
4320 -- Store the highest degree of error -- PostGen-9
4321 IF x_return_status <> OKL_API.G_RET_STS_SUCCESS THEN -- PostGen-9
4322 IF l_overall_status <> OKL_API.G_RET_STS_UNEXP_ERROR THEN -- PostGen-9
4323 l_overall_status := x_return_status; -- PostGen-9
4324 END IF; -- PostGen-9
4325 END IF; -- PostGen-9
4326
4327 EXIT WHEN (i = p_tplv_tbl.LAST);
4328 i := p_tplv_tbl.NEXT(i);
4329 END LOOP;
4330
4331 x_return_status := l_overall_status; -- PostGen-9 = return overall status
4332
4333 END IF;
4334 EXCEPTION
4335 WHEN OKL_API.G_EXCEPTION_ERROR THEN
4336 x_return_status := OKL_API.HANDLE_EXCEPTIONS
4337 (
4338 l_api_name,
4339 G_PKG_NAME,
4340 'OKL_API.G_RET_STS_ERROR',
4341 x_msg_count,
4342 x_msg_data,
4343 '_PVT'
4344 );
4345 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
4346 x_return_status :=OKL_API.HANDLE_EXCEPTIONS
4347 (
4348 l_api_name,
4349 G_PKG_NAME,
4350 'OKL_API.G_RET_STS_UNEXP_ERROR',
4351 x_msg_count,
4352 x_msg_data,
4353 '_PVT'
4354 );
4355 WHEN OTHERS THEN
4356 x_return_status :=OKL_API.HANDLE_EXCEPTIONS
4357 (
4358 l_api_name,
4359 G_PKG_NAME,
4360 'OTHERS',
4361 x_msg_count,
4362 x_msg_data,
4363 '_PVT'
4364 );
4365 END update_row;
4366
4367 ---------------------------------------------------------------------------
4368 -- PROCEDURE delete_row
4369 ---------------------------------------------------------------------------
4370 -----------------------------------------
4371 -- delete_row for:OKL_TXL_AP_INV_LNS_B --
4372 -----------------------------------------
4373 PROCEDURE delete_row(
4374 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
4375 x_return_status OUT NOCOPY VARCHAR2,
4376 x_msg_count OUT NOCOPY NUMBER,
4377 x_msg_data OUT NOCOPY VARCHAR2,
4378 p_tpl_rec IN tpl_rec_type) IS
4379
4380 l_api_version CONSTANT NUMBER := 1;
4381 l_api_name CONSTANT VARCHAR2(30) := 'B_delete_row';
4382 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
4383 l_tpl_rec tpl_rec_type:= p_tpl_rec;
4384 l_row_notfound BOOLEAN := TRUE;
4385 BEGIN
4386 l_return_status := OKL_API.START_ACTIVITY(l_api_name,
4387 p_init_msg_list,
4388 '_PVT',
4389 x_return_status);
4390 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
4391 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
4392 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
4393 RAISE OKL_API.G_EXCEPTION_ERROR;
4394 END IF;
4395 DELETE FROM OKL_TXL_AP_INV_LNS_B
4396 WHERE ID = l_tpl_rec.id;
4397
4398 OKL_API.END_ACTIVITY(x_msg_count, x_msg_data);
4399 EXCEPTION
4400 WHEN OKL_API.G_EXCEPTION_ERROR THEN
4401 x_return_status := OKL_API.HANDLE_EXCEPTIONS
4402 (
4403 l_api_name,
4404 G_PKG_NAME,
4405 'OKL_API.G_RET_STS_ERROR',
4406 x_msg_count,
4407 x_msg_data,
4408 '_PVT'
4409 );
4410 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
4411 x_return_status :=OKL_API.HANDLE_EXCEPTIONS
4412 (
4413 l_api_name,
4414 G_PKG_NAME,
4415 'OKL_API.G_RET_STS_UNEXP_ERROR',
4416 x_msg_count,
4417 x_msg_data,
4418 '_PVT'
4419 );
4420 WHEN OTHERS THEN
4421 x_return_status :=OKL_API.HANDLE_EXCEPTIONS
4422 (
4423 l_api_name,
4424 G_PKG_NAME,
4425 'OTHERS',
4426 x_msg_count,
4427 x_msg_data,
4428 '_PVT'
4429 );
4430 END delete_row;
4431 ------------------------------------------
4432 -- delete_row for:OKL_TXL_AP_INV_LNS_TL --
4433 ------------------------------------------
4434 PROCEDURE delete_row(
4435 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
4436 x_return_status OUT NOCOPY VARCHAR2,
4437 x_msg_count OUT NOCOPY NUMBER,
4438 x_msg_data OUT NOCOPY VARCHAR2,
4439 p_okl_txl_ap_inv_lns_tl_rec IN okl_txl_ap_inv_lns_tl_rec_type) IS
4440
4441 l_api_version CONSTANT NUMBER := 1;
4442 l_api_name CONSTANT VARCHAR2(30) := 'TL_delete_row';
4443 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
4444 l_okl_txl_ap_inv_lns_tl_rec okl_txl_ap_inv_lns_tl_rec_type:= p_okl_txl_ap_inv_lns_tl_rec;
4445 l_row_notfound BOOLEAN := TRUE;
4446 ----------------------------------------------
4447 -- Set_Attributes for:OKL_TXL_AP_INV_LNS_TL --
4448 ----------------------------------------------
4449 FUNCTION Set_Attributes (
4450 p_okl_txl_ap_inv_lns_tl_rec IN okl_txl_ap_inv_lns_tl_rec_type,
4451 x_okl_txl_ap_inv_lns_tl_rec OUT NOCOPY okl_txl_ap_inv_lns_tl_rec_type
4452 ) RETURN VARCHAR2 IS
4453 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
4454 BEGIN
4455 x_okl_txl_ap_inv_lns_tl_rec := p_okl_txl_ap_inv_lns_tl_rec;
4456 x_okl_txl_ap_inv_lns_tl_rec.LANGUAGE := USERENV('LANG');
4457 RETURN(l_return_status);
4458 END Set_Attributes;
4459 BEGIN
4460 l_return_status := OKL_API.START_ACTIVITY(l_api_name,
4461 p_init_msg_list,
4462 '_PVT',
4463 x_return_status);
4464 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
4465 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
4466 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
4467 RAISE OKL_API.G_EXCEPTION_ERROR;
4468 END IF;
4469 --- Setting item attributes
4470 l_return_status := Set_Attributes(
4471 p_okl_txl_ap_inv_lns_tl_rec, -- IN
4472 l_okl_txl_ap_inv_lns_tl_rec); -- OUT
4473 --- If any errors happen abort API
4474 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
4475 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
4476 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
4477 RAISE OKL_API.G_EXCEPTION_ERROR;
4478 END IF;
4479 DELETE FROM OKL_TXL_AP_INV_LNS_TL
4480 WHERE ID = l_okl_txl_ap_inv_lns_tl_rec.id;
4481
4482 OKL_API.END_ACTIVITY(x_msg_count, x_msg_data);
4483 EXCEPTION
4484 WHEN OKL_API.G_EXCEPTION_ERROR THEN
4485 x_return_status := OKL_API.HANDLE_EXCEPTIONS
4486 (
4487 l_api_name,
4488 G_PKG_NAME,
4489 'OKL_API.G_RET_STS_ERROR',
4490 x_msg_count,
4491 x_msg_data,
4492 '_PVT'
4493 );
4494 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
4495 x_return_status :=OKL_API.HANDLE_EXCEPTIONS
4496 (
4497 l_api_name,
4498 G_PKG_NAME,
4499 'OKL_API.G_RET_STS_UNEXP_ERROR',
4500 x_msg_count,
4501 x_msg_data,
4502 '_PVT'
4503 );
4504 WHEN OTHERS THEN
4505 x_return_status :=OKL_API.HANDLE_EXCEPTIONS
4506 (
4507 l_api_name,
4508 G_PKG_NAME,
4509 'OTHERS',
4510 x_msg_count,
4511 x_msg_data,
4512 '_PVT'
4513 );
4514 END delete_row;
4515 -----------------------------------------
4516 -- delete_row for:OKL_TXL_AP_INV_LNS_V --
4517 -----------------------------------------
4518 PROCEDURE delete_row(
4519 p_api_version IN NUMBER,
4520 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
4521 x_return_status OUT NOCOPY VARCHAR2,
4522 x_msg_count OUT NOCOPY NUMBER,
4523 x_msg_data OUT NOCOPY VARCHAR2,
4524 p_tplv_rec IN tplv_rec_type) IS
4525
4526 l_api_version CONSTANT NUMBER := 1;
4527 l_api_name CONSTANT VARCHAR2(30) := 'V_delete_row';
4528 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
4529 l_tplv_rec tplv_rec_type := p_tplv_rec;
4530 l_okl_txl_ap_inv_lns_tl_rec okl_txl_ap_inv_lns_tl_rec_type;
4531 l_tpl_rec tpl_rec_type;
4532 BEGIN
4533 l_return_status := OKL_API.START_ACTIVITY(l_api_name,
4534 G_PKG_NAME,
4535 p_init_msg_list,
4536 l_api_version,
4537 p_api_version,
4538 '_PVT',
4539 x_return_status);
4540 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
4541 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
4542 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
4543 RAISE OKL_API.G_EXCEPTION_ERROR;
4544 END IF;
4545 --------------------------------------
4546 -- Move VIEW record to "Child" records
4547 --------------------------------------
4548 migrate(l_tplv_rec, l_okl_txl_ap_inv_lns_tl_rec);
4549 migrate(l_tplv_rec, l_tpl_rec);
4550 --------------------------------------------
4551 -- Call the DELETE_ROW for each child record
4552 --------------------------------------------
4553 delete_row(
4554 p_init_msg_list,
4555 x_return_status,
4556 x_msg_count,
4557 x_msg_data,
4558 l_okl_txl_ap_inv_lns_tl_rec
4559 );
4560 IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
4561 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
4562 ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
4563 RAISE OKL_API.G_EXCEPTION_ERROR;
4564 END IF;
4565 delete_row(
4566 p_init_msg_list,
4567 x_return_status,
4568 x_msg_count,
4569 x_msg_data,
4570 l_tpl_rec
4571 );
4572 IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
4573 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
4574 ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
4575 RAISE OKL_API.G_EXCEPTION_ERROR;
4576 END IF;
4577 OKL_API.END_ACTIVITY(x_msg_count, x_msg_data);
4578 EXCEPTION
4579 WHEN OKL_API.G_EXCEPTION_ERROR THEN
4580 x_return_status := OKL_API.HANDLE_EXCEPTIONS
4581 (
4582 l_api_name,
4583 G_PKG_NAME,
4584 'OKL_API.G_RET_STS_ERROR',
4585 x_msg_count,
4586 x_msg_data,
4587 '_PVT'
4588 );
4589 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
4590 x_return_status :=OKL_API.HANDLE_EXCEPTIONS
4591 (
4592 l_api_name,
4593 G_PKG_NAME,
4594 'OKL_API.G_RET_STS_UNEXP_ERROR',
4595 x_msg_count,
4596 x_msg_data,
4597 '_PVT'
4598 );
4599 WHEN OTHERS THEN
4600 x_return_status :=OKL_API.HANDLE_EXCEPTIONS
4601 (
4602 l_api_name,
4603 G_PKG_NAME,
4604 'OTHERS',
4605 x_msg_count,
4606 x_msg_data,
4607 '_PVT'
4608 );
4609 END delete_row;
4610 ----------------------------------------
4611 -- PL/SQL TBL delete_row for:TPLV_TBL --
4612 ----------------------------------------
4613 PROCEDURE delete_row(
4614 p_api_version IN NUMBER,
4615 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
4616 x_return_status OUT NOCOPY VARCHAR2,
4617 x_msg_count OUT NOCOPY NUMBER,
4618 x_msg_data OUT NOCOPY VARCHAR2,
4619 p_tplv_tbl IN tplv_tbl_type) IS
4620
4621 l_api_version CONSTANT NUMBER := 1;
4622 l_api_name CONSTANT VARCHAR2(30) := 'V_tbl_delete_row';
4623 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
4624 l_overall_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS; -- PostGen-9
4625 i NUMBER := 0;
4626 BEGIN
4627 OKL_API.init_msg_list(p_init_msg_list);
4628 -- Make sure PL/SQL table has records in it before passing
4629 IF (p_tplv_tbl.COUNT > 0) THEN
4630 i := p_tplv_tbl.FIRST;
4631 LOOP
4632 delete_row (
4633 p_api_version => p_api_version,
4634 p_init_msg_list => OKC_API.G_FALSE,
4635 x_return_status => x_return_status,
4636 x_msg_count => x_msg_count,
4637 x_msg_data => x_msg_data,
4638 p_tplv_rec => p_tplv_tbl(i));
4639
4640 -- Store the highest degree of error -- PostGen-9
4641 IF x_return_status <> OKL_API.G_RET_STS_SUCCESS THEN -- PostGen-9
4642 IF l_overall_status <> OKL_API.G_RET_STS_UNEXP_ERROR THEN -- PostGen-9
4643 l_overall_status := x_return_status; -- PostGen-9
4644 END IF; -- PostGen-9
4645 END IF; -- PostGen-9
4646
4647 EXIT WHEN (i = p_tplv_tbl.LAST);
4648 i := p_tplv_tbl.NEXT(i);
4649 END LOOP;
4650
4651 x_return_status := l_overall_status; -- PostGen-9 = return overall status
4652
4653 END IF;
4654 EXCEPTION
4655 WHEN OKL_API.G_EXCEPTION_ERROR THEN
4656 x_return_status := OKL_API.HANDLE_EXCEPTIONS
4657 (
4658 l_api_name,
4659 G_PKG_NAME,
4660 'OKL_API.G_RET_STS_ERROR',
4661 x_msg_count,
4662 x_msg_data,
4663 '_PVT'
4664 );
4665 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
4666 x_return_status :=OKL_API.HANDLE_EXCEPTIONS
4667 (
4668 l_api_name,
4669 G_PKG_NAME,
4670 'OKL_API.G_RET_STS_UNEXP_ERROR',
4671 x_msg_count,
4672 x_msg_data,
4673 '_PVT'
4674 );
4675 WHEN OTHERS THEN
4676 x_return_status :=OKL_API.HANDLE_EXCEPTIONS
4677 (
4678 l_api_name,
4679 G_PKG_NAME,
4680 'OTHERS',
4681 x_msg_count,
4682 x_msg_data,
4683 '_PVT'
4684 );
4685 END delete_row;
4686 END OKL_TPL_PVT;