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