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