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