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