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