[Home] [Help]
PACKAGE BODY: APPS.FA_LEASE_PVT
Source
1 PACKAGE BODY FA_LEASE_PVT AS
2 /* $Header: FAVLEAB.pls 120.3 2005/07/28 00:16:17 tkawamur noship $ */
3
4 -----------------------------------------------
5 -- CHECK FOR LESSOR_ID
6 -----------------------------------------------
7 FUNCTION CHECK_LESSOR_ID (
8 P_VENDOR_ID IN PO_VENDORS.VENDOR_ID%TYPE,
9 p_log_level_rec IN FA_API_TYPES.log_level_rec_type default null) RETURN BOOLEAN AS
10
11 CURSOR C_VENDOR_ID IS
12 SELECT VENDOR_ID
13 FROM PO_VENDORS
14 WHERE VENDOR_ID= P_VENDOR_ID;
15
16 L_VENDOR_ID NUMBER:=NULL;
17
18 BEGIN
19
20 FOR C_VENDOR_ID_REC IN C_VENDOR_ID
21 LOOP
22 L_VENDOR_ID := C_VENDOR_ID_REC.VENDOR_ID;
23 END LOOP;
24
25 IF L_VENDOR_ID IS NULL THEN
26 FND_MESSAGE.SET_NAME ('OFA','FA_INCORRECT_LESSOR_ID');
27 FND_MESSAGE.SET_TOKEN ('CALLING_FN','CHECK_LESSOR_ID');
28 FND_MSG_PUB.ADD;
29 RETURN (FALSE);
30 ELSE
31 RETURN (TRUE);
32 END IF;
33
34 EXCEPTION
35 WHEN OTHERS THEN
36 FA_SRVR_MSG.ADD_SQL_ERROR('CHECK_LESSOR_ID'
37 ,p_log_level_rec => p_log_level_rec);
38 RETURN (FALSE);
39 END CHECK_LESSOR_ID ;
40
41 ---------------------------------------------------------
42 -- CHECK FOR LESSOR_NAME
43 ---------------------------------------------------------
44 FUNCTION CHECK_LESSOR_NAME (
45 P_VENDOR_NAME IN PO_VENDORS.VENDOR_NAME%TYPE,
46 X_VENDOR_ID OUT NOCOPY PO_VENDORS.VENDOR_ID%TYPE,
47 p_log_level_rec IN FA_API_TYPES.log_level_rec_type default null) RETURN BOOLEAN AS
48
49 CURSOR C_VENDOR_NAME IS
50 SELECT VENDOR_ID
51 FROM PO_VENDORS
52 WHERE VENDOR_NAME= P_VENDOR_NAME;
53
54 L_VENDOR_ID NUMBER:=NULL;
55
56 BEGIN
57
58 FOR C_VENDOR_NAME_REC IN C_VENDOR_NAME
59 LOOP
60 L_VENDOR_ID := C_VENDOR_NAME_REC.VENDOR_ID;
61 END LOOP;
62
63 IF L_VENDOR_ID IS NULL THEN
64 FND_MESSAGE.SET_NAME ('OFA','FA_INCORRECT_LESSOR_ID');
65 FND_MESSAGE.SET_TOKEN ('CALLING_FN','CHECK_LESSOR_NAME');
66 FND_MSG_PUB.ADD;
67 RETURN (FALSE);
68 ELSE
69 X_VENDOR_ID:=L_VENDOR_ID;
70 RETURN (TRUE);
71 END IF;
72
73 EXCEPTION
74 WHEN OTHERS THEN
75 FA_SRVR_MSG.ADD_SQL_ERROR('CHECK_LESSOR_NAME'
76 ,p_log_level_rec => p_log_level_rec);
77 RETURN (FALSE);
78 END CHECK_LESSOR_NAME ;
79
80 ---------------------------------------
81 -- CHECK FOR PAYMENT SCHEDULE ID
82 ---------------------------------------
83 FUNCTION CHECK_PAYMENT_SCHEDULE_ID (
84 P_PAYMENT_SCHEDULE_ID IN FA_LEASE_SCHEDULES.PAYMENT_SCHEDULE_ID%TYPE,
85 p_log_level_rec IN FA_API_TYPES.log_level_rec_type default null) RETURN BOOLEAN AS
86
87 CURSOR C_PAYMENT_SCHEDULE_ID IS
88 SELECT PAYMENT_SCHEDULE_ID
89 FROM FA_LEASE_SCHEDULES
90 WHERE PAYMENT_SCHEDULE_ID = P_PAYMENT_SCHEDULE_ID;
91
92 L_PAYMENT_SCHEDULE_ID FA_LEASE_PAYMENTS.PAYMENT_SCHEDULE_ID%TYPE:=NULL;
93
94 BEGIN
95
96 FOR C_PAYMENT_SCHEDULE_ID_REC IN C_PAYMENT_SCHEDULE_ID
97 LOOP
98 L_PAYMENT_SCHEDULE_ID := C_PAYMENT_SCHEDULE_ID_REC.PAYMENT_SCHEDULE_ID ;
99 END LOOP;
100
101 IF L_PAYMENT_SCHEDULE_ID IS NULL THEN
102 FND_MESSAGE.SET_NAME ('OFA','FA_LEASE_SCHEDULE_NOT_FOUND');
103 FND_MESSAGE.SET_TOKEN ('CALLING_FN','CHECK_PAYMENT_SCHEDULE_ID');
104 FND_MSG_PUB.ADD;
105 RETURN (FALSE);
106 ELSE
107 RETURN (TRUE);
108 END IF;
109
110 EXCEPTION
111 WHEN OTHERS THEN
112 FA_SRVR_MSG.ADD_SQL_ERROR('CHECK_PAYMENT_SCHEDULE_ID'
113 ,p_log_level_rec => p_log_level_rec);
114 RETURN (FALSE);
115 END CHECK_PAYMENT_SCHEDULE_ID;
116
117 ----------------------------------------
118 -- CHECK FOR PAYMENT SCHEDULE NAME
119 ----------------------------------------
120 FUNCTION CHECK_PAYMENT_SCHEDULE_NAME (
121 P_PAYMENT_SCHEDULE_NAME IN FA_LEASE_SCHEDULES.PAYMENT_SCHEDULE_NAME%TYPE,
122 X_PAYMENT_SCHEDULE_ID OUT NOCOPY FA_LEASE_SCHEDULES.PAYMENT_SCHEDULE_ID%TYPE,
123 p_log_level_rec IN FA_API_TYPES.log_level_rec_type default null) RETURN BOOLEAN AS
124
125 CURSOR C_PAYMENT_SCHEDULE_NAME IS
126 SELECT PAYMENT_SCHEDULE_ID
127 FROM FA_LEASE_SCHEDULES
128 WHERE PAYMENT_SCHEDULE_NAME = P_PAYMENT_SCHEDULE_NAME;
129
130 L_PAYMENT_SCHEDULE_ID NUMBER:=NULL;
131
132 BEGIN
133
134 FOR C_PAYMENT_SCHEDULE_NAME_REC IN C_PAYMENT_SCHEDULE_NAME
135 LOOP
136 L_PAYMENT_SCHEDULE_ID := C_PAYMENT_SCHEDULE_NAME_REC.PAYMENT_SCHEDULE_ID ;
137 END LOOP;
138
139 IF L_PAYMENT_SCHEDULE_ID IS NULL THEN
140 FND_MESSAGE.SET_NAME ('OFA','FA_LEASE_SCHEDULE_NOT_FOUND');
141 FND_MESSAGE.SET_TOKEN ('CALLING_FN','CHECK_PAYMENT_SCHEDULE_NAME');
142 FND_MSG_PUB.ADD;
143 RETURN (FALSE);
144 ELSE
145 X_PAYMENT_SCHEDULE_ID :=L_PAYMENT_SCHEDULE_ID ;
146 RETURN (TRUE);
147 END IF;
148
149 EXCEPTION
150 WHEN OTHERS THEN
151 FA_SRVR_MSG.ADD_SQL_ERROR('CHECK_PAYMENT_SCHEDULE_NAME'
152 ,p_log_level_rec => p_log_level_rec);
153 RETURN (FALSE);
154 END CHECK_PAYMENT_SCHEDULE_NAME;
155
156 --------------------------------
157 -- CHECK FOR CHECK TERMS
158 --------------------------------
159 FUNCTION CHECK_TERMS_ID (
160 P_TERMS_ID IN AP_TERMS.TERM_ID%TYPE,
161 p_log_level_rec IN FA_API_TYPES.log_level_rec_type default null) RETURN BOOLEAN AS
162
163 CURSOR C_CHECK_TERMS_ID IS
164 SELECT TERM_ID FROM
165 AP_TERMS_BAT_PAY_TERMS_V
166 WHERE TERM_ID = P_TERMS_ID;
167
168 L_TERMS_ID NUMBER:=NULL;
169
170 BEGIN
171
172 FOR C_CHECK_TERMS_ID_REC IN C_CHECK_TERMS_ID
173 LOOP
174 L_TERMS_ID := C_CHECK_TERMS_ID_REC.TERM_ID ;
175 END LOOP;
176
177 IF L_TERMS_ID IS NULL THEN
178 FND_MESSAGE.SET_NAME ('OFA','FA_INCORRECT_PAYMENT_TERM');
179 FND_MESSAGE.SET_TOKEN ('CALLING_FN','CHECK_TERMS_ID');
180 FND_MSG_PUB.ADD;
181 RETURN(FALSE);
182 ELSE
183 RETURN(TRUE);
184 END IF;
185
186 EXCEPTION
187 WHEN OTHERS THEN
188 FA_SRVR_MSG.ADD_SQL_ERROR('CHECK_TERMS_ID'
189 ,p_log_level_rec => p_log_level_rec);
190 RETURN (FALSE);
191 END CHECK_TERMS_ID ;
192
193 ---------------------------------------
194 -- CHECK FOR CHECK PAYMENT TERMS
195 ---------------------------------------
196 FUNCTION CHECK_PAYMENT_TERMS(
197 P_PAYMENT_TERMS IN AP_TERMS.NAME%TYPE,
198 X_TERMS_ID OUT NOCOPY AP_TERMS.TERM_ID%TYPE,
199 p_log_level_rec IN FA_API_TYPES.log_level_rec_type default null) RETURN BOOLEAN AS
200
201 CURSOR C_CHECK_PAYMENT_TERMS IS
202 SELECT TERM_ID FROM
203 AP_TERMS_BAT_PAY_TERMS_V
204 WHERE TERMS = P_PAYMENT_TERMS;
205
206 L_TERMS_ID NUMBER:=NULL;
207
208 BEGIN
209
210 FOR C_CHECK_PAYMENT_TERMS_REC IN C_CHECK_PAYMENT_TERMS
211 LOOP
212 L_TERMS_ID := C_CHECK_PAYMENT_TERMS_REC.TERM_ID ;
213 END LOOP;
214
215 IF L_TERMS_ID IS NULL THEN
216 FND_MESSAGE.SET_NAME ('OFA','FA_INCORRECT_PAYMENT_TERM');
217 FND_MESSAGE.SET_TOKEN ('CALLING_FN','CHECK_PAYMENT_TERMS');
218 FND_MSG_PUB.ADD;
219 RETURN (FALSE);
220 ELSE
221 X_TERMS_ID := L_TERMS_ID ;
222 RETURN (TRUE);
223 END IF;
224
225 EXCEPTION
226 WHEN OTHERS THEN
227 FA_SRVR_MSG.ADD_SQL_ERROR('CHECK_PAYMENT_TERMS'
228 ,p_log_level_rec => p_log_level_rec);
229 RETURN (FALSE);
230 END CHECK_PAYMENT_TERMS;
231
232 -------------------------------------------
233 -- CHECK FOR CHECK LESSOR SITE
234 -------------------------------------------
235 FUNCTION CHECK_LESSOR_SITE_ID (
236 P_VENDOR_SITE_ID IN PO_VENDOR_SITES_ALL.VENDOR_SITE_ID%TYPE,
237 P_VENDOR_ID IN PO_VENDOR_SITES_ALL.VENDOR_ID%TYPE,
238 X_CHART_OF_ACCOUNTS_ID OUT NOCOPY GL_SETS_OF_BOOKS.CHART_OF_ACCOUNTS_ID%TYPE,
239 X_LESSOR_SITE_ORG_ID OUT NOCOPY NUMBER,
240 p_log_level_rec IN FA_API_TYPES.log_level_rec_type default null) RETURN BOOLEAN AS
241
242 CURSOR C_LESSOR_SITE_ID IS
243 SELECT
244 PVS.VENDOR_SITE_ID
245 ,SOB.CHART_OF_ACCOUNTS_ID COA_ID
246 ,PVS.ORG_ID LESSOR_SITE_ORG_ID
247 FROM GL_SETS_OF_BOOKS SOB
248 ,HR_ALL_ORGANIZATION_UNITS HAO
249 ,PO_VENDOR_SITES_ALL PVS
250 ,AP_SYSTEM_PARAMETERS_ALL AP
251 WHERE PVS.VENDOR_ID = P_VENDOR_ID
252 AND PVS.VENDOR_SITE_ID = P_VENDOR_SITE_ID
253 AND PVS.ORG_ID IS NOT NULL
254 AND AP.ORG_ID = PVS.ORG_ID
255 AND SOB.SET_OF_BOOKS_ID = AP.SET_OF_BOOKS_ID
256 AND HAO.ORGANIZATION_ID = PVS.ORG_ID
257 UNION
258 SELECT PVS.VENDOR_SITE_ID
259 ,SOB.CHART_OF_ACCOUNTS_ID COA_ID
260 ,PVS.ORG_ID LESSOR_SITE_ORG_ID
261 FROM GL_SETS_OF_BOOKS SOB
262 ,AP_SYSTEM_PARAMETERS_ALL AP
263 ,PO_VENDOR_SITES_ALL PVS
264 WHERE PVS.VENDOR_ID = P_VENDOR_ID
265 AND PVS.VENDOR_SITE_ID = P_VENDOR_SITE_ID
266 AND PVS.ORG_ID IS NULL
267 AND AP.ORG_ID IS NULL
268 AND SOB.SET_OF_BOOKS_ID = AP.SET_OF_BOOKS_ID;
269
270 L_VENDOR_SITE_ID NUMBER:=NULL;
271 L_CHART_OF_ACCOUNTS_ID NUMBER:=NULL;
272 L_LESSOR_SITE_ORG_ID NUMBER:=NULL;
273
274 BEGIN
275
276 FOR C_LESSOR_SITE_ID_REC IN C_LESSOR_SITE_ID
277 LOOP
278 L_VENDOR_SITE_ID := C_LESSOR_SITE_ID_REC.VENDOR_SITE_ID;
279 L_CHART_OF_ACCOUNTS_ID := C_LESSOR_SITE_ID_REC.COA_ID;
280 L_LESSOR_SITE_ORG_ID := C_LESSOR_SITE_ID_REC.LESSOR_SITE_ORG_ID;
281 END LOOP;
282
283 IF L_VENDOR_SITE_ID IS NULL OR L_CHART_OF_ACCOUNTS_ID IS NULL THEN
284 FND_MESSAGE.SET_NAME ('OFA','FA_INCORRECT_PO_VENDOR_SITE');
285 FND_MESSAGE.SET_TOKEN ('CALLING_FN','CHECK_LESSOR_SITE_ID');
286 FND_MSG_PUB.ADD;
287 RETURN (FALSE);
288 ELSE
289 X_CHART_OF_ACCOUNTS_ID:=L_CHART_OF_ACCOUNTS_ID;
290 X_LESSOR_SITE_ORG_ID :=L_LESSOR_SITE_ORG_ID ;
291 RETURN (TRUE);
292 END IF;
293
294 EXCEPTION
295 WHEN OTHERS THEN
296 FA_SRVR_MSG.ADD_SQL_ERROR('cHECK_LESSOR_SITE_ID'
297 ,p_log_level_rec => p_log_level_rec);
298 RETURN (FALSE);
299 END CHECK_LESSOR_SITE_ID ;
300
301 ------------------------------------------
302 -- CHECK FOR CHECK LESSOR SITE CODE
303 ------------------------------------------
304 FUNCTION CHECK_LESSOR_SITE_CODE (
305 P_VENDOR_SITE_CODE IN PO_VENDOR_SITES_ALL.VENDOR_SITE_CODE%TYPE,
306 P_VENDOR_ID IN PO_VENDOR_SITES_ALL.VENDOR_ID%TYPE,
307 P_VENDOR_SITE_ORG_ID IN PO_VENDOR_SITES_ALL.ORG_ID%TYPE,
308 X_VENDOR_SITE_ID OUT NOCOPY PO_VENDOR_SITES_ALL.VENDOR_SITE_ID%TYPE,
309 X_CHART_OF_ACCOUNTS_ID OUT NOCOPY GL_SETS_OF_BOOKS.CHART_OF_ACCOUNTS_ID%TYPE,
310 p_log_level_rec IN FA_API_TYPES.log_level_rec_type default null) RETURN BOOLEAN AS
311
312 CURSOR C_LESSOR_SITE_CODE IS
313 SELECT
314 PVS.VENDOR_SITE_ID
315 ,SOB.CHART_OF_ACCOUNTS_ID COA_ID
316 FROM GL_SETS_OF_BOOKS SOB
317 ,HR_ALL_ORGANIZATION_UNITS HAO
318 ,PO_VENDOR_SITES_ALL PVS
319 ,AP_SYSTEM_PARAMETERS_ALL AP
320 WHERE PVS.VENDOR_ID = P_VENDOR_ID
321 AND PVS.VENDOR_SITE_CODE = P_VENDOR_SITE_CODE
322 AND PVS.ORG_ID IS NOT NULL
323 AND AP.ORG_ID = PVS.ORG_ID
324 AND SOB.SET_OF_BOOKS_ID = AP.SET_OF_BOOKS_ID
325 AND HAO.ORGANIZATION_ID = PVS.ORG_ID
326 AND PVS.ORG_ID = P_VENDOR_SITE_ORG_ID
327 UNION
328 SELECT PVS.VENDOR_SITE_ID
329 ,SOB.CHART_OF_ACCOUNTS_ID COA_ID
330 FROM GL_SETS_OF_BOOKS SOB
331 ,AP_SYSTEM_PARAMETERS_ALL AP
332 ,PO_VENDOR_SITES_ALL PVS
333 WHERE PVS.VENDOR_ID = P_VENDOR_ID
334 AND PVS.VENDOR_SITE_CODE = P_VENDOR_SITE_CODE
335 AND PVS.ORG_ID IS NULL
336 AND AP.ORG_ID IS NULL
337 AND SOB.SET_OF_BOOKS_ID = AP.SET_OF_BOOKS_ID;
338
339 L_VENDOR_SITE_ID NUMBER:=NULL;
340 L_CHART_OF_ACCOUNTS_ID NUMBER:=NULL;
341
342 BEGIN
343
344 FOR C_LESSOR_SITE_CODE_REC IN C_LESSOR_SITE_CODE
345 LOOP
346 L_VENDOR_SITE_ID := C_LESSOR_SITE_CODE_REC.VENDOR_SITE_ID;
347 L_CHART_OF_ACCOUNTS_ID := C_LESSOR_SITE_CODE_REC.COA_ID;
348 END LOOP;
349
350 IF L_VENDOR_SITE_ID IS NULL OR L_CHART_OF_ACCOUNTS_ID IS NULL THEN
351 FND_MESSAGE.SET_NAME ('OFA','FA_INCORRECT_PO_VENDOR_SITE');
352 FND_MESSAGE.SET_TOKEN ('CALLING_FN','CHECK_LESSOR_SITE_CODE');
353 FND_MSG_PUB.ADD;
354 RETURN (FALSE);
355 ELSE
356 X_CHART_OF_ACCOUNTS_ID:=L_CHART_OF_ACCOUNTS_ID;
357 X_VENDOR_SITE_ID:=L_VENDOR_SITE_ID;
358 RETURN (TRUE);
359 END IF;
360
361 EXCEPTION
362 WHEN OTHERS THEN
363 FA_SRVR_MSG.ADD_SQL_ERROR('CHECK_LESSOR_SITE_CODE'
364 ,p_log_level_rec => p_log_level_rec);
365 RETURN (FALSE);
366 END CHECK_LESSOR_SITE_CODE ;
367
368 ----------------------------------------------
369 -- CHECK FOR CHECK DISTRIBUTION CODE ID
370 ----------------------------------------------
371
372 FUNCTION CHECK_DIST_CODE_COMBINATION_ID(
373 P_DIST_CODE_COMBINATION_ID IN GL_CODE_COMBINATIONS.CODE_COMBINATION_ID%TYPE,
374 P_COA_ID IN GL_CODE_COMBINATIONS.CHART_OF_ACCOUNTS_ID%TYPE,
375 p_log_level_rec IN FA_API_TYPES.log_level_rec_type default null) RETURN BOOLEAN AS
376
377 CURSOR C_CODE_COMBINATION_ID IS
378 SELECT
379 CODE_COMBINATION_ID
380 FROM GL_CODE_COMBINATIONS_V
381 WHERE CODE_COMBINATION_ID = P_DIST_CODE_COMBINATION_ID
382 AND CHART_OF_ACCOUNTS_ID = P_COA_ID
383 AND ENABLED_FLAG = 'Y';
384
385 L_CODE_COMBINATION_ID NUMBER:=NULL;
386
387 BEGIN
388 FOR C_CODE_COMBINATION_ID_REC IN C_CODE_COMBINATION_ID
389 LOOP
390 L_CODE_COMBINATION_ID := C_CODE_COMBINATION_ID_REC.CODE_COMBINATION_ID;
391 END LOOP;
392
393 IF L_CODE_COMBINATION_ID IS NULL THEN
394 FND_MESSAGE.SET_NAME ('OFA','FA_INV_CODE_COMBINATION');
395 FND_MESSAGE.SET_TOKEN ('CALLING_FN','CHECK_DIST_CODE_COMBINATION_ID');
396 FND_MSG_PUB.ADD;
397 RETURN (FALSE);
398 ELSE
399 RETURN (TRUE);
400 END IF;
401 EXCEPTION
402 WHEN OTHERS THEN
403 FA_SRVR_MSG.ADD_SQL_ERROR('CHECK_DIST_CODE_COMBINATION_ID'
404 ,p_log_level_rec => p_log_level_rec);
405 RETURN (FALSE);
406 END CHECK_DIST_CODE_COMBINATION_ID;
407
408 -------------------------------------------------------
409 -- CHECK FOR CHECK DISTRIBUTION CODE COMBINATION
410 -------------------------------------------------------
411 FUNCTION CHECK_CODE_COMBINATION
412 (P_CON_CODE_COMBINATION IN VARCHAR2,
413 P_COA_ID IN GL_CODE_COMBINATIONS.CHART_OF_ACCOUNTS_ID%TYPE,
414 X_CODE_COMBINATION_ID OUT NOCOPY GL_CODE_COMBINATIONS.CODE_COMBINATION_ID%TYPE,
415 p_log_level_rec IN FA_API_TYPES.log_level_rec_type default null) RETURN BOOLEAN AS
416
417 L_CODE_COMBINATION_ID NUMBER:=NULL;
418
419 BEGIN
420
421 L_CODE_COMBINATION_ID := FND_FLEX_EXT.GET_CCID ('SQLGL', 'GL#',P_COA_ID,SYSDATE,P_CON_CODE_COMBINATION);
422
423 IF L_CODE_COMBINATION_ID = 0 THEN
424 FND_MESSAGE.SET_NAME ('OFA','FA_INV_CODE_COMBINATION');
425 FND_MESSAGE.SET_TOKEN ('CALLING_FN','CHECK_CODE_COMBINATION');
426 FND_MSG_PUB.ADD;
427 RETURN (FALSE);
428 ELSE
429 X_CODE_COMBINATION_ID :=L_CODE_COMBINATION_ID;
430 RETURN (TRUE);
431 END IF;
432 EXCEPTION
433 WHEN OTHERS THEN
434 FA_SRVR_MSG.ADD_SQL_ERROR('CHECK_CODE_COMBINATION'
435 ,p_log_level_rec => p_log_level_rec);
436 RETURN (FALSE);
437 END CHECK_CODE_COMBINATION;
438
439 ---------------------------------------------------
440 -- CHECK FOR CHECK LEASE LESSOR COMBINATION
441 ---------------------------------------------------
442 FUNCTION CHECK_LEASE_LESSOR_COMBINATION (
443 P_LESSOR_ID IN NUMBER,
444 P_LEASE_NUMBER IN VARCHAR2,
445 p_log_level_rec IN FA_API_TYPES.log_level_rec_type default null) RETURN BOOLEAN AS
446
447 CURSOR C_LEASE_LESSOR IS
448 SELECT LEASE_ID
449 FROM FA_LEASES
450 WHERE LEASE_NUMBER = P_LEASE_NUMBER
451 AND LESSOR_ID = P_LESSOR_ID;
452
453 L_LEASE_ID NUMBER:=NULL;
454 DUP_FOUND EXCEPTION;
455
456 BEGIN
457
458 OPEN C_LEASE_LESSOR ;
459 FETCH C_LEASE_LESSOR
460 INTO L_LEASE_ID;
461 IF C_LEASE_LESSOR%FOUND THEN
462 RAISE DUP_FOUND;
463 END IF;
464 CLOSE C_LEASE_LESSOR;
465
466 RETURN (TRUE);
467
468 EXCEPTION
469 WHEN DUP_FOUND THEN
470 CLOSE C_LEASE_LESSOR;
471 FND_MESSAGE.SET_NAME ('OFA','FA_DUPLICATE_LEASE');
472 FND_MESSAGE.SET_TOKEN ('CALLING_FN','CHECK_LEASE_LESSOR_COMBINATION');
473 FND_MSG_PUB.ADD;
474 RETURN (FALSE);
475 WHEN OTHERS THEN
476 CLOSE C_LEASE_LESSOR;
477 FA_SRVR_MSG.ADD_SQL_ERROR('CHECK_LEASE_LESSOR_COMBINATION'
478 ,p_log_level_rec => p_log_level_rec);
479 RETURN (FALSE);
480 END CHECK_LEASE_LESSOR_COMBINATION ;
481
482 ----------------------------------------
483 -- CHECK FOR CHECK CURRENCY CODE
484 ----------------------------------------
485 FUNCTION CHECK_CURRENCY_CODE (
486 P_CURRENCY_CODE VARCHAR2,
487 P_PAYMENT_SCHEDULE_ID NUMBER,
488 p_log_level_rec IN FA_API_TYPES.log_level_rec_type default null) RETURN BOOLEAN AS
489
490 CURSOR C_CURRENCY_CODE IS
491 SELECT CURRENCY_CODE
492 FROM FA_LEASE_SCHEDULES
493 WHERE PAYMENT_SCHEDULE_ID = P_PAYMENT_SCHEDULE_ID;
494
495 L_CURRENCY_CODE VARCHAR2(5):=NULL;
496
497 BEGIN
498
499 OPEN C_CURRENCY_CODE ;
500 FETCH C_CURRENCY_CODE INTO L_CURRENCY_CODE;
501
502 IF (C_CURRENCY_CODE %NOTFOUND) THEN
503 CLOSE C_CURRENCY_CODE;
504 FND_MESSAGE.SET_NAME ('OFA','FA_LEASE_SCHEDULE_NOT_FOUND');
505 FND_MESSAGE.SET_TOKEN ('CALLING_FN','CHECK_CURRENCY_CODE');
506 FND_MSG_PUB.ADD;
507 RETURN (FALSE);
508 END IF;
509
510 CLOSE C_CURRENCY_CODE ;
511
512 IF P_CURRENCY_CODE <> L_CURRENCY_CODE THEN
513 FND_MESSAGE.SET_NAME ('OFA','FA_LEASE_CURRENCY_NOT_MATCH');
514 FND_MESSAGE.SET_TOKEN ('CALLING_FN','CHECK_CURRENCY_CODE');
515 FND_MSG_PUB.ADD;
516 RETURN (FALSE);
517 ELSE
518 RETURN (TRUE);
519 END IF;
520
521 EXCEPTION
522 WHEN OTHERS THEN
523 FA_SRVR_MSG.ADD_SQL_ERROR('CHECK_CURRENCY_CODE'
524 ,p_log_level_rec => p_log_level_rec);
525 RETURN (FALSE);
526 END CHECK_CURRENCY_CODE ;
527
528 -----------------------------------
529 -- CHECK FOR CHECK LEASE TYPE
530 -----------------------------------
531 FUNCTION CHECK_LEASE_TYPE(
532 P_LEASE_TYPE VARCHAR2,
533 p_log_level_rec IN FA_API_TYPES.log_level_rec_type default null) RETURN BOOLEAN AS
534
535 CURSOR C_LEASE_TYPE IS
536 SELECT LOOKUP_CODE
537 FROM FA_LOOKUPS WHERE
538 LOOKUP_TYPE='LEASE TYPES'
539 AND LOOKUP_CODE = UPPER(P_LEASE_TYPE)
540 AND ENABLED_FLAG = 'Y'
541 AND SYSDATE BETWEEN NVL(START_DATE_ACTIVE,SYSDATE) AND NVL(END_DATE_ACTIVE,SYSDATE);
542
543 L_LEASE_TYPE VARCHAR2(15):=NULL;
544
545 BEGIN
546
547 FOR C_LEASE_TYPE_REC IN C_LEASE_TYPE
548 LOOP
549 L_LEASE_TYPE := C_LEASE_TYPE_REC.LOOKUP_CODE;
550 END LOOP;
551
552 IF L_LEASE_TYPE IS NULL THEN
553 FND_MESSAGE.SET_NAME ('OFA','FA_INV_LEASE_TYPE');
554 FND_MESSAGE.SET_TOKEN ('CALLING_FN','CHECK_LEASE_TYPE');
555 FND_MSG_PUB.ADD;
556 RETURN (FALSE);
557 ELSE
558 RETURN (TRUE);
559 END IF;
560
561 EXCEPTION
562 WHEN OTHERS THEN
563 FA_SRVR_MSG.ADD_SQL_ERROR('CHECK_LEASE_TYPE'
564 ,p_log_level_rec => p_log_level_rec);
565 RETURN (FALSE);
566 END CHECK_LEASE_TYPE;
567
568 -------------------------------------
569 -- VALIDATE LESSOR
570 -------------------------------------
571 FUNCTION VALIDATE_LESSOR
572 (P_VENDOR_ID IN NUMBER,
573 P_VENDOR_NAME IN VARCHAR2,
574 X_VENDOR_ID OUT NOCOPY NUMBER,
575 p_log_level_rec IN FA_API_TYPES.log_level_rec_type default null) RETURN BOOLEAN AS
576
577 CURSOR C_VENDOR_NAME IS
578 SELECT VENDOR_ID
579 FROM PO_VENDORS
580 WHERE VENDOR_NAME= P_VENDOR_NAME ;
581
582 CURSOR C_VENDOR_ID IS
583 SELECT VENDOR_ID
584 FROM PO_VENDORS
585 WHERE VENDOR_ID= P_VENDOR_ID ;
586
587 L_VENDOR_ID NUMBER:=NULL;
588
589 BEGIN
590
591 IF P_VENDOR_ID IS NOT NULL THEN
592 FOR C_VENDOR_ID_REC IN C_VENDOR_ID
593 LOOP
594 L_VENDOR_ID := C_VENDOR_ID_REC.VENDOR_ID;
595 END LOOP;
596 ELSIF P_VENDOR_NAME IS NOT NULL THEN
597 FOR C_VENDOR_NAME_REC IN C_VENDOR_NAME
598 LOOP
599 L_VENDOR_ID := C_VENDOR_NAME_REC.VENDOR_ID;
600 END LOOP;
601 ELSE
602 FND_MESSAGE.SET_NAME ('OFA','FA_INCORRECT_PO_VENDOR_NAME');
603 FND_MESSAGE.SET_TOKEN ('CALLING_FN','VALIDATE_LESSOR');
604 FND_MSG_PUB.ADD;
605 RETURN (FALSE);
606 END IF;
607
608 IF L_VENDOR_ID IS NOT NULL THEN
609 X_VENDOR_ID:=L_VENDOR_ID;
610 RETURN (TRUE);
611 ELSE
612 FND_MESSAGE.SET_NAME ('OFA','FA_INCORRECT_PO_VENDOR_NAME');
613 FND_MESSAGE.SET_TOKEN ('CALLING_FN','VALIDATE_LESSOR');
614 FND_MSG_PUB.ADD;
615 RETURN (FALSE);
616 END IF;
617
618 EXCEPTION
619 WHEN OTHERS THEN
620 FA_SRVR_MSG.ADD_SQL_ERROR('VALIDATE_LESSOR'
621 ,p_log_level_rec => p_log_level_rec);
622 RETURN (FALSE);
623 END VALIDATE_LESSOR;
624
625 ------------------------------------
626 -- GET LEASE ID
627 ------------------------------------
628 FUNCTION GET_LEASE_ID
629 (P_LESSOR_ID IN NUMBER,
630 P_LEASE_NUMBER IN VARCHAR2,
631 X_LEASE_ID OUT NOCOPY NUMBER,
632 p_log_level_rec IN FA_API_TYPES.log_level_rec_type default null) RETURN BOOLEAN AS
633
634 CURSOR C_LEASE_LESSOR IS
635 SELECT LEASE_ID
636 FROM FA_LEASES
637 WHERE LEASE_NUMBER = P_LEASE_NUMBER
638 AND LESSOR_ID = P_LESSOR_ID;
639
640 L_LEASE_ID NUMBER:=NULL;
641 COMB_NOT_FOUND EXCEPTION;
642
643 BEGIN
644
645 OPEN C_LEASE_LESSOR ;
646 FETCH C_LEASE_LESSOR
647 INTO L_LEASE_ID;
648 IF C_LEASE_LESSOR%NOTFOUND THEN
649 RAISE COMB_NOT_FOUND;
650 END IF;
651 CLOSE C_LEASE_LESSOR;
652
653 X_LEASE_ID:=L_LEASE_ID;
654 RETURN (TRUE);
655
656 EXCEPTION
657 WHEN COMB_NOT_FOUND THEN
658 CLOSE C_LEASE_LESSOR;
659 FND_MESSAGE.SET_NAME ('OFA','FA_LEASE_INCORRECT_LEASE_ID');
660 FND_MESSAGE.SET_TOKEN ('CALLING_FN','GET_LEASE_ID');
661 FND_MSG_PUB.ADD;
662 RETURN (FALSE);
663 WHEN OTHERS THEN
664 CLOSE C_LEASE_LESSOR;
665 FA_SRVR_MSG.ADD_SQL_ERROR('GET_LEASE_ID'
666 ,p_log_level_rec => p_log_level_rec);
667 RETURN (FALSE);
668 END GET_LEASE_ID;
669
670 ------------------------------
671 -- VALIDATE LEASE
672 ------------------------------
673 FUNCTION VALIDATE_LEASE_ID
674 (P_LEASE_ID IN NUMBER,
675 p_log_level_rec IN FA_API_TYPES.log_level_rec_type default null) RETURN BOOLEAN AS
676
677 L_LEASE_ID NUMBER:=NULL;
678
679 BEGIN
680
681 SELECT LEASE_ID INTO L_LEASE_ID
682 FROM FA_LEASES
683 WHERE LEASE_ID = P_LEASE_ID;
684
685 RETURN (TRUE);
686
687 EXCEPTION
688 WHEN NO_DATA_FOUND THEN
689 FND_MESSAGE.SET_NAME ('OFA','FA_LEASE_INCORRECT_LEASE_ID');
690 FND_MESSAGE.SET_TOKEN ('CALLING_FN','VALIDATE_LEASE_ID');
691 FND_MSG_PUB.ADD;
692 RETURN (FALSE);
693 WHEN OTHERS THEN
694 FA_SRVR_MSG.ADD_SQL_ERROR('VALIDATE_LEASE_ID'
695 ,p_log_level_rec => p_log_level_rec);
696 RETURN (FALSE);
697 END VALIDATE_LEASE_ID;
698
699 -----------------------------------
700 -- CHECK LEASE UPDATE
701 -----------------------------------
702 FUNCTION CHECK_LEASE_UPDATE
703 (P_LEASE_ID IN NUMBER,
704 p_log_level_rec IN FA_API_TYPES.log_level_rec_type default null)
705 RETURN VARCHAR2 AS
706
707 L_COUNT NUMBER:=0;
708
709 BEGIN
710
711 SELECT COUNT(*) INTO L_COUNT
712 FROM FA_ADDITIONS_B
713 WHERE LEASE_ID = P_LEASE_ID;
714
715 IF L_COUNT > 0 THEN
716 RETURN ('N');
717 ELSE
718 RETURN('Y');
719 END IF;
720
721 EXCEPTION
722 WHEN NO_DATA_FOUND THEN
723 FND_MESSAGE.SET_NAME ('OFA','FA_DUPLICATE_LEASE');
724 FND_MESSAGE.SET_TOKEN ('CALLING_FN','CHECK_LEASE_UPDATE');
725 FND_MSG_PUB.ADD;
726 RETURN ('N');
727 WHEN OTHERS THEN
728 FA_SRVR_MSG.ADD_SQL_ERROR('CHECK_LEASE_UPDATE'
729 ,p_log_level_rec => p_log_level_rec);
730 RETURN ('N');
731 END CHECK_LEASE_UPDATE;
732
733 -----------------------------------------
734 -- CHECK VALIDATE LEASE LESSOR
735 -----------------------------------------
736 FUNCTION VALIDATE_LEASE_LESSOR
737 (P_LEASE_ID IN NUMBER
738 ,P_LESSOR_ID IN NUMBER
739 ,P_LESSOR_SITE_ID IN NUMBER
740 ,P_LESSOR_SITE_ORG_ID IN NUMBER,
741 p_log_level_rec IN FA_API_TYPES.log_level_rec_type default null) RETURN BOOLEAN AS
742
743 L_LEASE_NUMBER VARCHAR2(15):=NULL;
744 L_LESSOR_ID NUMBER:=NULL;
745 L_LESSOR_SITE_ID NUMBER:=NULL;
746 L_LESSOR_SITE_ORG_ID NUMBER:=NULL;
747
748 BEGIN
749
750 SELECT
751 LEASE_NUMBER,
752 LESSOR_ID,
753 LESSOR_SITE_ID,
754 B.ORG_ID LESSOR_SITE_ORG_ID
755 INTO
756 L_LEASE_NUMBER,
757 L_LESSOR_ID,
758 L_LESSOR_SITE_ID,
759 L_LESSOR_SITE_ORG_ID
760 FROM FA_LEASES A,
761 PO_VENDOR_SITES_ALL B
762 WHERE A.LEASE_ID = P_LEASE_ID
763 AND A.LESSOR_SITE_ID = B.VENDOR_SITE_ID;
764
765 IF P_LESSOR_SITE_ORG_ID = L_LESSOR_SITE_ORG_ID THEN
766 IF L_LESSOR_ID = P_LESSOR_ID AND
767 L_LESSOR_SITE_ID =P_LESSOR_SITE_ID THEN
771 ELSE
768 RETURN(FALSE);
769 ELSIF CHECK_LEASE_LESSOR_COMBINATION (P_LESSOR_ID,L_LEASE_NUMBER) THEN
770 RETURN(TRUE);
772 RETURN(FALSE);
773 END IF;
774 ELSE
775 RETURN(FALSE);
776 END IF;
777
778 EXCEPTION
779 WHEN OTHERS THEN
780 RETURN (FALSE);
781 END VALIDATE_LEASE_LESSOR;
782
783 --------------------------------------
784 -- VALIDATE CREATE LEASE PARAMETERS
785 --------------------------------------
786 FUNCTION VALIDATION_CREATE_LEASE (
787 PX_LEASE_DETAILS_REC IN OUT NOCOPY FA_API_TYPES.LEASE_DETAILS_REC_TYPE,
788 p_log_level_rec IN FA_API_TYPES.log_level_rec_type default null) RETURN BOOLEAN AS
789
790 VALUE_ERROR_EXCEPTION EXCEPTION;
791 L_LESSOR_ID NUMBER:=NULL;
792 L_PAYMENT_SCHEDULE_ID NUMBER:=NULL;
793 L_TERMS_ID NUMBER:=NULL;
794 L_LESSOR_SITE_ID NUMBER:=NULL;
795 L_COA_ID NUMBER:=NULL;
796 L_DIST_CODE_COMBINATION_ID NUMBER:=NULL;
797 L_LEASE_NUMBER VARCHAR2(15):=NULL;
798 L_FAIR_VALUE NUMBER:=NULL;
799 L_CURRENCY_CODE VARCHAR2(5):=NULL;
800 L_DESCRIPTION VARCHAR2(30):=NULL;
801 L_BARGAIN_PURCHASE_OPTION VARCHAR2(1):=NULL;
802 L_TRANSFER_OWNERSHIP VARCHAR2(1):=NULL;
803 L_ASSET_LIFE NUMBER:=NULL;
804 L_LEASE_TERM NUMBER:=NULL;
805 L_LEASE_TYPE VARCHAR2(15):=NULL;
806 L_ROWID VARCHAR2(100):=NULL;
807 L_LEASE_ID NUMBER:=NULL;
808 L_PRESENT_VALUE NUMBER:=NULL;
809 L_ECONOMIC_TEST VARCHAR2(1):=NULL;
810 L_PRESENT_TEST VARCHAR2(1):=NULL;
811 L_FASB_LEASE_TYPE VARCHAR2(15):=NULL;
812 L_COST_CAPITALIZED NUMBER:=NULL;
813 L_LESSOR_SITE_ORG_ID NUMBER:=NULL;
814
815 CURSOR C_PRESENT_VALUE IS
816 SELECT PRESENT_VALUE
817 FROM FA_LEASE_SCHEDULES
818 WHERE PAYMENT_SCHEDULE_ID= L_PAYMENT_SCHEDULE_ID;
819
820 PRESENT_VALUE_NOT_FOUND EXCEPTION;
821
822 BEGIN
823
824 ---------------------------------------
825 -- CHECK FOR LESSOR INFORMATION
826 ---------------------------------------
827 IF PX_LEASE_DETAILS_REC.LESSOR_ID IS NULL THEN
828 IF PX_LEASE_DETAILS_REC.LESSOR_NAME IS NULL THEN
829 FND_MESSAGE.SET_NAME ('OFA','FA_INCORRECT_LESSOR_ID');
830 FND_MESSAGE.SET_TOKEN ('CALLING_FN','VALIDATION_CREATE_LEASE');
831 FND_MSG_PUB.ADD;
832 RAISE VALUE_ERROR_EXCEPTION;
833 ELSE
834 IF CHECK_LESSOR_NAME(PX_LEASE_DETAILS_REC.LESSOR_NAME,L_LESSOR_ID) THEN
835 PX_LEASE_DETAILS_REC.LESSOR_ID:=L_LESSOR_ID;
836 ELSE
837 RAISE VALUE_ERROR_EXCEPTION;
838 END IF;
839 END IF;
840 ELSE
841 IF NOT CHECK_LESSOR_ID(PX_LEASE_DETAILS_REC.LESSOR_ID) THEN
842 RAISE VALUE_ERROR_EXCEPTION;
843 END IF;
844 END IF;
845
846 ---------------------------------------
847 -- CHECK FOR LESSOR SITE INFORMATION
848 ---------------------------------------
849
850 IF PX_LEASE_DETAILS_REC.LESSOR_SITE_ID IS NULL THEN
851 IF PX_LEASE_DETAILS_REC.LESSOR_SITE IS NULL OR
852 PX_LEASE_DETAILS_REC.LESSOR_SITE_ORG_ID IS NULL THEN
853 FND_MESSAGE.SET_NAME ('OFA','FA_INCORRECT_PO_VENDOR_SITE');
854 FND_MESSAGE.SET_TOKEN ('CALLING_FN','VALIDATION_CREATE_LEASE');
855 FND_MSG_PUB.ADD;
856 RAISE VALUE_ERROR_EXCEPTION;
857 ELSE
858 IF CHECK_LESSOR_SITE_CODE (PX_LEASE_DETAILS_REC.LESSOR_SITE,PX_LEASE_DETAILS_REC.LESSOR_ID,PX_LEASE_DETAILS_REC.LESSOR_SITE_ORG_ID ,L_LESSOR_SITE_ID,L_COA_ID) THEN
859 PX_LEASE_DETAILS_REC.LESSOR_SITE_ID:=L_LESSOR_SITE_ID;
860 ELSE
861 RAISE VALUE_ERROR_EXCEPTION;
862 END IF;
863 END IF;
864 ELSE
865 IF NOT CHECK_LESSOR_SITE_ID (PX_LEASE_DETAILS_REC.LESSOR_SITE_ID,PX_LEASE_DETAILS_REC.LESSOR_ID,L_COA_ID,L_LESSOR_SITE_ORG_ID) THEN
866 RAISE VALUE_ERROR_EXCEPTION;
867 END IF;
868 END IF;
869
870 -----------------------------------
871 -- CHECK FOR PAYMENT SCHDULE
872 -----------------------------------
873
874 IF PX_LEASE_DETAILS_REC.PAYMENT_SCHEDULE_ID IS NULL THEN
875 IF PX_LEASE_DETAILS_REC.PAYMENT_SCHEDULE_NAME IS NULL THEN
876 FND_MESSAGE.SET_NAME ('OFA','FA_LEASE_SCHEDULE_NOT_FOUND');
877 FND_MESSAGE.SET_TOKEN ('CALLING_FN','VALIDATION_CREATE_LEASE');
878 FND_MSG_PUB.ADD;
879 RAISE VALUE_ERROR_EXCEPTION;
880 ELSE
881 IF CHECK_PAYMENT_SCHEDULE_NAME(PX_LEASE_DETAILS_REC.PAYMENT_SCHEDULE_NAME ,L_PAYMENT_SCHEDULE_ID) THEN
882 PX_LEASE_DETAILS_REC.PAYMENT_SCHEDULE_ID:=L_PAYMENT_SCHEDULE_ID;
883 ELSE
884 RAISE VALUE_ERROR_EXCEPTION;
885 END IF;
886 END IF;
887 ELSE
888 IF NOT CHECK_PAYMENT_SCHEDULE_ID (PX_LEASE_DETAILS_REC.PAYMENT_SCHEDULE_ID) THEN
889 RAISE VALUE_ERROR_EXCEPTION;
890 END IF;
891 END IF;
892
893 -----------------------------------
894 -- CHECK FOR PAYMENT TERMS
895 -----------------------------------
896 IF PX_LEASE_DETAILS_REC.TERMS_ID IS NULL THEN
897 IF PX_LEASE_DETAILS_REC.PAYMENT_TERMS IS NULL THEN
898 NULL;
899 ELSE
900 IF CHECK_PAYMENT_TERMS(PX_LEASE_DETAILS_REC.PAYMENT_TERMS,L_TERMS_ID) THEN
901 PX_LEASE_DETAILS_REC.TERMS_ID:=L_TERMS_ID;
902 ELSE
903 RAISE VALUE_ERROR_EXCEPTION;
904 END IF;
905 END IF;
906 ELSE
907 IF NOT CHECK_TERMS_ID (PX_LEASE_DETAILS_REC.TERMS_ID) THEN
908 RAISE VALUE_ERROR_EXCEPTION;
909 END IF;
910 END IF;
911
912
913 --------------------------------------------------------------------------------------------------
914 -- CHECK FOR CODE COMBINATION, IF DYNAMIC INSERT IS ON AND IF CODE COMBINATION DOES NOT EXISTS, IT
918 IF PX_LEASE_DETAILS_REC.DIST_CODE_COMBINATION_ID IS NULL THEN
915 -- WILL INSERT A NEW CODE COMBINATION
916 --------------------------------------------------------------------------------------------------
917
919 IF PX_LEASE_DETAILS_REC.CON_DIST_CODE_COMBINATION IS NULL THEN
920 FND_MESSAGE.SET_NAME ('OFA','FA_INV_CODE_COMBINATION');
921 FND_MESSAGE.SET_TOKEN ('CALLING_FN','VALIDATION_CREATE_LEASE');
922 FND_MSG_PUB.ADD;
923 RAISE VALUE_ERROR_EXCEPTION;
924 ELSE
925 IF CHECK_CODE_COMBINATION (PX_LEASE_DETAILS_REC.CON_DIST_CODE_COMBINATION,L_COA_ID,L_DIST_CODE_COMBINATION_ID) THEN
926 PX_LEASE_DETAILS_REC.DIST_CODE_COMBINATION_ID:=L_DIST_CODE_COMBINATION_ID;
927 ELSE
928 RAISE VALUE_ERROR_EXCEPTION;
929 END IF;
930 END IF;
931 ELSE
932 IF NOT CHECK_DIST_CODE_COMBINATION_ID( PX_LEASE_DETAILS_REC.DIST_CODE_COMBINATION_ID,L_COA_ID) THEN
933 RAISE VALUE_ERROR_EXCEPTION;
934 END IF;
935 END IF;
936
937 -----------------------------------------------------------------------
938 -- CHECK IF LEASE NUMBER AND LESSOR SHOULD HAVE A UNIQUE COMBINATION
939 -----------------------------------------------------------------------
940
941 IF PX_LEASE_DETAILS_REC.LEASE_NUMBER IS NULL THEN
942 FND_MESSAGE.SET_NAME ('OFA','FA_INCORRECT_LEASE_NUMBER');
943 FND_MESSAGE.SET_TOKEN ('CALLING_FN','VALIDATION_CREATE_LEASE');
944 FND_MSG_PUB.ADD;
945 RAISE VALUE_ERROR_EXCEPTION;
946 END IF;
947
948 IF NOT CHECK_LEASE_LESSOR_COMBINATION (PX_LEASE_DETAILS_REC.LESSOR_ID,PX_LEASE_DETAILS_REC.LEASE_NUMBER) THEN
949 RAISE VALUE_ERROR_EXCEPTION;
950 END IF;
951
952 -----------------------------------------------------------------------
953 -- CHECK IF FAIR VALUE >= 0
954 -----------------------------------------------------------------------
955
956 IF PX_LEASE_DETAILS_REC.FAIR_VALUE IS NULL THEN
957 FND_MESSAGE.SET_NAME ('OFA','FA_INCORRECT_FAIR_VALUE');
958 FND_MESSAGE.SET_TOKEN ('CALLING_FN','VALIDATION_CREATE_LEASE');
959 FND_MSG_PUB.ADD;
960 RAISE VALUE_ERROR_EXCEPTION;
961 END IF;
962
963 IF PX_LEASE_DETAILS_REC.FAIR_VALUE < 1 THEN
964 FND_MESSAGE.SET_NAME ('OFA','FA_INCORRECT_FAIR_VALUE');
965 FND_MESSAGE.SET_TOKEN ('CALLING_FN','VALIDATION_CREATE_LEASE');
966 FND_MSG_PUB.ADD;
967 RAISE VALUE_ERROR_EXCEPTION;
968 END IF;
969
970 ---------------------------------
971 -- CHECK FOR CURRENCY CODE
972 ---------------------------------
973
974 IF PX_LEASE_DETAILS_REC.CURRENCY_CODE IS NULL THEN
975 FND_MESSAGE.SET_NAME ('OFA','FA_LEASE_CURRENCY_NOT_MATCH');
976 FND_MESSAGE.SET_TOKEN ('CALLING_FN','VALIDATION_CREATE_LEASE');
977 FND_MSG_PUB.ADD;
978 RAISE VALUE_ERROR_EXCEPTION;
979 ELSE
980 IF NOT CHECK_CURRENCY_CODE (PX_LEASE_DETAILS_REC.CURRENCY_CODE,PX_LEASE_DETAILS_REC.PAYMENT_SCHEDULE_ID) THEN
981 RAISE VALUE_ERROR_EXCEPTION;
982 END IF;
983 END IF;
984
985 -------------------------------------------------
986 -- CHECK FOR DESCRIPTION SHOULD NOT BE NULL
987 -------------------------------------------------
988
989 IF PX_LEASE_DETAILS_REC.DESCRIPTION IS NULL THEN
990 FND_MESSAGE.SET_NAME ('OFA','FA_LEASE_DESCRIPTION_NULL');
991 FND_MESSAGE.SET_TOKEN ('CALLING_FN','VALIDATION_CREATE_LEASE');
992 FND_MSG_PUB.ADD;
993 RAISE VALUE_ERROR_EXCEPTION;
994 END IF;
995
996 --------------------------------------------------------
997 -- CHECK FOR TRANSFER OWNERSHIP CAN BE NULL,Y OR N
998 --------------------------------------------------------
999
1000 IF (PX_LEASE_DETAILS_REC.TRANSFER_OWNERSHIP IS NULL OR
1001 PX_LEASE_DETAILS_REC.TRANSFER_OWNERSHIP = 'Y' OR
1002 PX_LEASE_DETAILS_REC.TRANSFER_OWNERSHIP = 'N') THEN
1003 L_TRANSFER_OWNERSHIP:= NVL(PX_LEASE_DETAILS_REC.TRANSFER_OWNERSHIP,'N') ;
1004 PX_LEASE_DETAILS_REC.TRANSFER_OWNERSHIP:=L_TRANSFER_OWNERSHIP;
1005 ELSE
1006 FND_MESSAGE.SET_NAME ('OFA','FA_INCORRECT_TRANSFER_OWNER');
1007 FND_MESSAGE.SET_TOKEN ('CALLING_FN','VALIDATION_CREATE_LEASE');
1008 FND_MSG_PUB.ADD;
1009 RAISE VALUE_ERROR_EXCEPTION;
1010 END IF;
1011
1012 ----------------------------------------------------------
1013 -- CHECK FOR BARGAIN PURCHASE OPTION CAN BE NULL,Y OR N
1014 ----------------------------------------------------------
1015
1016 IF (PX_LEASE_DETAILS_REC.BARGAIN_PURCHASE_OPTION IS NULL OR
1017 PX_LEASE_DETAILS_REC.BARGAIN_PURCHASE_OPTION = 'Y' OR
1018 PX_LEASE_DETAILS_REC.BARGAIN_PURCHASE_OPTION = 'N') THEN
1019 L_BARGAIN_PURCHASE_OPTION:= NVL(PX_LEASE_DETAILS_REC.BARGAIN_PURCHASE_OPTION,'N') ;
1020 PX_LEASE_DETAILS_REC.BARGAIN_PURCHASE_OPTION:=L_BARGAIN_PURCHASE_OPTION;
1021 ELSE
1022 FND_MESSAGE.SET_NAME ('OFA','FA_INCORRECT_BARGAIN_PURCHASE');
1023 FND_MESSAGE.SET_TOKEN ('CALLING_FN','VALIDATION_CREATE_LEASE');
1024 FND_MSG_PUB.ADD;
1025 RAISE VALUE_ERROR_EXCEPTION;
1026 END IF;
1027
1028 ----------------------------------------------------------
1029 -- CHECK FOR IF ASSET_LIFE IS NOT NULL, IT CAN BE => 0
1030 ----------------------------------------------------------
1031
1032
1033 IF PX_LEASE_DETAILS_REC.ASSET_LIFE IS NULL THEN
1034 PX_LEASE_DETAILS_REC.ASSET_LIFE:=NULL;
1035 ELSE
1036 IF PX_LEASE_DETAILS_REC.ASSET_LIFE < 0 THEN
1037 FND_MESSAGE.SET_NAME ('OFA','FA_INCORRECT_ASSET_LIFE');
1038 FND_MESSAGE.SET_TOKEN ('CALLING_FN','VALIDATION_CREATE_LEASE');
1039 FND_MSG_PUB.ADD;
1040 RAISE VALUE_ERROR_EXCEPTION;
1041 END IF;
1042 END IF;
1043
1044 -------------------------------------------------------------
1045 -- CHECK FOR IF LEASE_TERM IS NOT NULL, IT CAN BE => 0
1046 -------------------------------------------------------------
1047
1048 IF PX_LEASE_DETAILS_REC.LEASE_TERM IS NULL THEN
1049 PX_LEASE_DETAILS_REC.LEASE_TERM:=NULL;
1050 ELSE
1051 IF PX_LEASE_DETAILS_REC.LEASE_TERM < 0 THEN
1052 FND_MESSAGE.SET_NAME ('OFA','FA_INCORRECT_LEASE_TERM');
1053 FND_MESSAGE.SET_TOKEN ('CALLING_FN','VALIDATION_CREATE_LEASE');
1054 FND_MSG_PUB.ADD;
1055 RAISE VALUE_ERROR_EXCEPTION;
1056 END IF;
1057 END IF;
1058
1059 -------------------------------------------------------------------------
1060 -- CHECK FOR IF LEASE_TERM IS IS PROVIDED MAKE SURE THAT ASSET LIFE IS
1061 -- ALSO PROVIDED
1062 -------------------------------------------------------------------------
1063
1064 IF PX_LEASE_DETAILS_REC.ASSET_LIFE IS NOT NULL AND
1065 PX_LEASE_DETAILS_REC.LEASE_TERM IS NOT NULL THEN
1066 NULL;
1067 ELSIF PX_LEASE_DETAILS_REC.ASSET_LIFE IS NULL AND
1068 PX_LEASE_DETAILS_REC.LEASE_TERM IS NULL THEN
1069 NULL;
1070 ELSE
1071 FND_MESSAGE.SET_NAME ('OFA','FA_INCORRECT_ALIFE_LEASE_TERM');
1072 FND_MESSAGE.SET_TOKEN ('CALLING_FN','VALIDATION_CREATE_LEASE');
1073 FND_MSG_PUB.ADD;
1074 RAISE VALUE_ERROR_EXCEPTION;
1075 END IF;
1076
1077 --------------------------------------
1078 -- CHECK FOR LEASE TYPE
1079 --------------------------------------
1080
1081 IF PX_LEASE_DETAILS_REC.LEASE_TYPE IS NULL THEN
1082 FND_MESSAGE.SET_NAME ('OFA','FA_INV_LEASE_TYPE');
1083 FND_MESSAGE.SET_TOKEN ('CALLING_FN','CHECK_LEASE_TYPE');
1084 FND_MSG_PUB.ADD;
1085 ELSE
1086 IF NOT CHECK_LEASE_TYPE(PX_LEASE_DETAILS_REC.LEASE_TYPE) THEN
1087 RAISE VALUE_ERROR_EXCEPTION;
1088 END IF;
1089 END IF;
1090
1091 RETURN(TRUE);
1092
1093 EXCEPTION
1094 WHEN PRESENT_VALUE_NOT_FOUND THEN
1095 ROLLBACK TO CREATE_LEASE;
1096 FND_MESSAGE.SET_NAME ('OFA','FA_PRESENT_VALUE_NOT_FOUND');
1097 FND_MESSAGE.SET_TOKEN ('CALLING_FN','VALIDATION_CREATE_LEASE');
1098 FND_MSG_PUB.ADD;
1099 RETURN(FALSE);
1100 WHEN VALUE_ERROR_EXCEPTION THEN
1101 RETURN(FALSE);
1102 WHEN OTHERS THEN
1103 FA_SRVR_MSG.ADD_SQL_ERROR('VALIDATION_CREATE_LEASE'
1104 ,p_log_level_rec => p_log_level_rec);
1105 RETURN (FALSE);
1106 END VALIDATION_CREATE_LEASE;
1107
1108 -----------------------------------------
1109 -- VALIDATE UPDATE LEASE API PARAMETERS
1110 -----------------------------------------
1111 FUNCTION VALIDATION_UPDATE_LEASE (
1112 PX_LEASE_DETAILS_REC_NEW IN OUT NOCOPY FA_API_TYPES.LEASE_DETAILS_REC_TYPE,
1113 X_OK_TO_UPDATE_FLAG OUT NOCOPY VARCHAR2,
1114 p_log_level_rec IN FA_API_TYPES.log_level_rec_type default null) RETURN BOOLEAN AS
1115
1116 VALUE_ERROR_EXCEPTION EXCEPTION;
1117 L_LEASE_ID NUMBER:=NULL;
1118 L_LESSOR_ID NUMBER:=NULL;
1119 L_UPDATE_FLAG VARCHAR2(1):=NULL;
1120 L_LESSOR_SITE_ID NUMBER:=NULL;
1121 L_COA_ID NUMBER:=NULL;
1122 L_UPDATE_STATEMET VARCHAR2(3000):=NULL;
1123 L_OK_TO_UPDATE_LESSOR VARCHAR2(1):=NULL;
1124 L_LESSOR_SITE_ORG_ID NUMBER:=NULL;
1125 L_ATLEAST_ONE_UPDATE NUMBER:=0;
1126
1127 BEGIN
1128
1129 --------------------------------
1130 -- VALIDATE LESSOR INFORMATION
1131 ---------------------------------
1132 IF PX_LEASE_DETAILS_REC_NEW.LESSOR_ID IS NULL THEN
1133 IF PX_LEASE_DETAILS_REC_NEW.LESSOR_NAME IS NULL THEN
1134 NULL;
1135 ELSE
1136 IF VALIDATE_LESSOR(NULL,PX_LEASE_DETAILS_REC_NEW.LESSOR_NAME,L_LESSOR_ID) THEN
1137 PX_LEASE_DETAILS_REC_NEW.LESSOR_ID:=L_LESSOR_ID;
1138 ELSE
1139 RAISE VALUE_ERROR_EXCEPTION;
1140 END IF;
1141 END IF;
1142 ELSE
1143 IF VALIDATE_LESSOR(PX_LEASE_DETAILS_REC_NEW.LESSOR_ID,NULL,L_LESSOR_ID) THEN
1144 PX_LEASE_DETAILS_REC_NEW.LESSOR_ID:=L_LESSOR_ID;
1145 ELSE
1146 RAISE VALUE_ERROR_EXCEPTION;
1147 END IF;
1148 END IF;
1149
1150 --------------------------
1151 -- VALIDATE LEASE ID
1152 --------------------------
1153 IF PX_LEASE_DETAILS_REC_NEW.LEASE_ID IS NULL THEN
1154 IF PX_LEASE_DETAILS_REC_NEW.LEASE_NUMBER IS NULL THEN
1155 FND_MESSAGE.SET_NAME ('OFA','FA_LEASE_INCORRECT_LEASE_ID');
1156 FND_MESSAGE.SET_TOKEN ('CALLING_FN','VALIDATION_UPDATE_LEASE');
1157 FND_MSG_PUB.ADD;
1158 RAISE VALUE_ERROR_EXCEPTION;
1159 ELSE
1160 IF GET_LEASE_ID(L_LESSOR_ID,PX_LEASE_DETAILS_REC_NEW.LEASE_NUMBER,L_LEASE_ID) THEN
1161 PX_LEASE_DETAILS_REC_NEW.LEASE_ID:=L_LEASE_ID;
1162 ELSE
1163 RAISE VALUE_ERROR_EXCEPTION;
1164 END IF;
1165 END IF;
1166 ELSE
1167 IF VALIDATE_LEASE_ID(PX_LEASE_DETAILS_REC_NEW.LEASE_ID) THEN
1168 L_LEASE_ID:=PX_LEASE_DETAILS_REC_NEW.LEASE_ID;
1169 ELSE
1170 RAISE VALUE_ERROR_EXCEPTION;
1171 END IF;
1172 END IF;
1173
1174 -----------------------------
1175 -- VALIDATE LESSOR SITE
1176 -----------------------------
1177
1178 IF PX_LEASE_DETAILS_REC_NEW.LESSOR_SITE_ID IS NULL THEN
1179 IF PX_LEASE_DETAILS_REC_NEW.LESSOR_SITE IS NULL THEN
1180 NULL;
1181 ELSE
1182 IF CHECK_LESSOR_SITE_CODE (PX_LEASE_DETAILS_REC_NEW.LESSOR_SITE,L_LESSOR_ID,PX_LEASE_DETAILS_REC_NEW.LESSOR_SITE_ORG_ID ,L_LESSOR_SITE_ID,L_COA_ID) THEN
1183 L_LESSOR_SITE_ORG_ID:=PX_LEASE_DETAILS_REC_NEW.LESSOR_SITE_ORG_ID ;
1184 PX_LEASE_DETAILS_REC_NEW.LESSOR_site_ID:=L_LESSOR_SITE_ID;
1185 ELSE
1186 RAISE VALUE_ERROR_EXCEPTION;
1187 END IF;
1188 END IF;
1189 ELSE
1190 IF CHECK_LESSOR_SITE_ID (PX_LEASE_DETAILS_REC_NEW.LESSOR_SITE_ID,L_LESSOR_ID,L_COA_ID,L_LESSOR_SITE_ORG_ID) THEN
1191 L_LESSOR_SITE_ID := PX_LEASE_DETAILS_REC_NEW.LESSOR_SITE_ID;
1192 ELSE
1193 RAISE VALUE_ERROR_EXCEPTION;
1194 END IF;
1195 END IF;
1196
1197 ---------------------------------------
1198 -- CHECK IF LEASE CAN BE UPDATED
1199 ---------------------------------------
1200
1201 L_UPDATE_FLAG :=CHECK_LEASE_UPDATE(PX_LEASE_DETAILS_REC_NEW.LEASE_ID
1202 ,p_log_level_rec => p_log_level_rec);
1203
1204 ----------------------------------------------------------------------------------------------
1205 -- CHECK IF LESSOR AND SITE IS SAME AS IN THE DATABASE DO NOT BOTHER TO UPDATE, IF NOT MAKE
1206 -- SURE THAT THEY ARE IN THE SAME OPERATING UNIT AS PREVIOUS LESSOR AND LESSOR SITE
1207 ----------------------------------------------------------------------------------------------
1208 L_OK_TO_UPDATE_LESSOR :='N';
1209
1210 IF L_LESSOR_ID IS NOT NULL
1211 AND L_LESSOR_SITE_ID IS NOT NULL THEN
1212 IF L_UPDATE_FLAG = 'Y' THEN
1213 IF VALIDATE_LEASE_LESSOR(L_LEASE_ID,L_LESSOR_ID,L_LESSOR_SITE_ID,L_LESSOR_SITE_ORG_ID) THEN
1214 L_OK_TO_UPDATE_LESSOR :='Y';
1215 ELSE
1216 FND_MESSAGE.SET_NAME ('OFA','FA_LEASE_CANNOT_BE_UPDATED');
1217 FND_MESSAGE.SET_TOKEN ('CALLING_FN','VALIDATION_UPDATE_LEASE');
1218 FND_MSG_PUB.ADD;
1219 RAISE VALUE_ERROR_EXCEPTION;
1220 END IF;
1221 ELSE
1222 FND_MESSAGE.SET_NAME ('OFA','FA_LEASE_CANNOT_BE_UPDATED');
1223 FND_MESSAGE.SET_TOKEN ('CALLING_FN','VALIDATION_UPDATE_LEASE');
1224 FND_MSG_PUB.ADD;
1225 RAISE VALUE_ERROR_EXCEPTION;
1226 END IF;
1227 END IF;
1228
1229 X_OK_TO_UPDATE_FLAG:=L_OK_TO_UPDATE_LESSOR;
1230
1231 RETURN(TRUE);
1232
1233 EXCEPTION
1234 WHEN VALUE_ERROR_EXCEPTION THEN
1235 RETURN(FALSE);
1236 WHEN OTHERS THEN
1237 RETURN(FALSE);
1238 END VALIDATION_UPDATE_LEASE;
1239
1240 PROCEDURE UPDATE_ROW (
1241 X_ROWID IN VARCHAR2 DEFAULT NULL,
1242 X_LEASE_ID IN NUMBER,
1243 X_LESSOR_ID IN NUMBER,
1244 X_LESSOR_SITE_ID IN NUMBER,
1245 X_DESCRIPTION IN VARCHAR2,
1246 X_LAST_UPDATE_DATE IN DATE,
1247 X_LAST_UPDATED_BY IN NUMBER,
1248 X_ATTRIBUTE1 IN VARCHAR2,
1249 X_ATTRIBUTE2 IN VARCHAR2,
1250 X_ATTRIBUTE3 IN VARCHAR2,
1251 X_ATTRIBUTE4 IN VARCHAR2,
1252 X_ATTRIBUTE5 IN VARCHAR2,
1253 X_ATTRIBUTE6 IN VARCHAR2,
1254 X_ATTRIBUTE7 IN VARCHAR2,
1255 X_ATTRIBUTE8 IN VARCHAR2,
1256 X_ATTRIBUTE9 IN VARCHAR2,
1257 X_ATTRIBUTE10 IN VARCHAR2,
1258 X_ATTRIBUTE11 IN VARCHAR2,
1259 X_ATTRIBUTE12 IN VARCHAR2,
1260 X_ATTRIBUTE13 IN VARCHAR2,
1261 X_ATTRIBUTE14 IN VARCHAR2,
1262 X_ATTRIBUTE15 IN VARCHAR2,
1263 X_ATTRIBUTE_CATEGORY_CODE IN VARCHAR2,
1264 p_log_level_rec IN FA_API_TYPES.log_level_rec_type default null)
1265 IS
1266 BEGIN
1267 IF X_ROWID IS NOT NULL THEN
1268 UPDATE FA_LEASES
1269 SET
1270 LESSOR_ID = NVL(X_LESSOR_ID,LESSOR_ID),
1271 DESCRIPTION = NVL(X_DESCRIPTION,DESCRIPTION),
1272 LAST_UPDATE_DATE = DECODE(X_LAST_UPDATE_DATE,NULL,LAST_UPDATE_DATE,X_LAST_UPDATE_DATE),
1273 LAST_UPDATED_BY = DECODE(X_LAST_UPDATED_BY,NULL,LAST_UPDATED_BY,FND_API.G_MISS_NUM,NULL,X_LAST_UPDATED_BY),
1274 ATTRIBUTE1 = DECODE(X_ATTRIBUTE1,NULL,ATTRIBUTE1,FND_API.G_MISS_CHAR,NULL,X_ATTRIBUTE1),
1275 ATTRIBUTE2 = DECODE(X_ATTRIBUTE2,NULL,ATTRIBUTE2,FND_API.G_MISS_CHAR,NULL,X_ATTRIBUTE2),
1276 ATTRIBUTE3 = DECODE(X_ATTRIBUTE3,NULL,ATTRIBUTE3,FND_API.G_MISS_CHAR,NULL,X_ATTRIBUTE3),
1277 ATTRIBUTE4 = DECODE(X_ATTRIBUTE4,NULL,ATTRIBUTE4,FND_API.G_MISS_CHAR,NULL,X_ATTRIBUTE4),
1278 ATTRIBUTE5 = DECODE(X_ATTRIBUTE5,NULL,ATTRIBUTE5,FND_API.G_MISS_CHAR,NULL,X_ATTRIBUTE5),
1279 ATTRIBUTE6 = DECODE(X_ATTRIBUTE6,NULL,ATTRIBUTE6,FND_API.G_MISS_CHAR,NULL,X_ATTRIBUTE6),
1280 ATTRIBUTE7 = DECODE(X_ATTRIBUTE7,NULL,ATTRIBUTE7,FND_API.G_MISS_CHAR,NULL,X_ATTRIBUTE7),
1281 ATTRIBUTE8 = DECODE(X_ATTRIBUTE8,NULL,ATTRIBUTE8,FND_API.G_MISS_CHAR,NULL,X_ATTRIBUTE8),
1282 ATTRIBUTE9 = DECODE(X_ATTRIBUTE9,NULL,ATTRIBUTE9,FND_API.G_MISS_CHAR,NULL,X_ATTRIBUTE9),
1283 ATTRIBUTE10 = DECODE(X_ATTRIBUTE10,NULL,ATTRIBUTE10,FND_API.G_MISS_CHAR,NULL,X_ATTRIBUTE10),
1284 ATTRIBUTE11 = DECODE(X_ATTRIBUTE11,NULL,ATTRIBUTE11,FND_API.G_MISS_CHAR,NULL,X_ATTRIBUTE11),
1285 ATTRIBUTE12 = DECODE(X_ATTRIBUTE12,NULL,ATTRIBUTE12,FND_API.G_MISS_CHAR,NULL,X_ATTRIBUTE12),
1286 ATTRIBUTE13 = DECODE(X_ATTRIBUTE13,NULL,ATTRIBUTE13,FND_API.G_MISS_CHAR,NULL,X_ATTRIBUTE13),
1290 LESSOR_SITE_ID = NVL(X_LESSOR_SITE_ID,LESSOR_SITE_ID)
1287 ATTRIBUTE14 = DECODE(X_ATTRIBUTE14,NULL,ATTRIBUTE14,FND_API.G_MISS_CHAR,NULL,X_ATTRIBUTE14),
1288 ATTRIBUTE15 = DECODE(X_ATTRIBUTE15,NULL,ATTRIBUTE15,FND_API.G_MISS_CHAR,NULL,X_ATTRIBUTE15),
1289 ATTRIBUTE_CATEGORY_CODE = DECODE(X_ATTRIBUTE_CATEGORY_CODE,NULL,ATTRIBUTE_CATEGORY_CODE,FND_API.G_MISS_CHAR,NULL,X_ATTRIBUTE_CATEGORY_CODE),
1291 WHERE ROWID = X_ROWID;
1292 ELSE
1293 UPDATE FA_LEASES
1294 SET
1295 LESSOR_ID = NVL(X_LESSOR_ID,LESSOR_ID),
1296 DESCRIPTION = NVL(X_DESCRIPTION,DESCRIPTION),
1297 LAST_UPDATE_DATE = DECODE(X_LAST_UPDATE_DATE,NULL,LAST_UPDATE_DATE,X_LAST_UPDATE_DATE),
1298 LAST_UPDATED_BY = DECODE(X_LAST_UPDATED_BY,NULL,LAST_UPDATED_BY,FND_API.G_MISS_NUM,NULL,X_LAST_UPDATED_BY),
1299 ATTRIBUTE1 = DECODE(X_ATTRIBUTE1,NULL,ATTRIBUTE1,FND_API.G_MISS_CHAR,NULL,X_ATTRIBUTE1),
1300 ATTRIBUTE2 = DECODE(X_ATTRIBUTE2,NULL,ATTRIBUTE2,FND_API.G_MISS_CHAR,NULL,X_ATTRIBUTE2),
1301 ATTRIBUTE3 = DECODE(X_ATTRIBUTE3,NULL,ATTRIBUTE3,FND_API.G_MISS_CHAR,NULL,X_ATTRIBUTE3),
1302 ATTRIBUTE4 = DECODE(X_ATTRIBUTE4,NULL,ATTRIBUTE4,FND_API.G_MISS_CHAR,NULL,X_ATTRIBUTE4),
1303 ATTRIBUTE5 = DECODE(X_ATTRIBUTE5,NULL,ATTRIBUTE5,FND_API.G_MISS_CHAR,NULL,X_ATTRIBUTE5),
1304 ATTRIBUTE6 = DECODE(X_ATTRIBUTE6,NULL,ATTRIBUTE6,FND_API.G_MISS_CHAR,NULL,X_ATTRIBUTE6),
1305 ATTRIBUTE7 = DECODE(X_ATTRIBUTE7,NULL,ATTRIBUTE7,FND_API.G_MISS_CHAR,NULL,X_ATTRIBUTE7),
1306 ATTRIBUTE8 = DECODE(X_ATTRIBUTE8,NULL,ATTRIBUTE8,FND_API.G_MISS_CHAR,NULL,X_ATTRIBUTE8),
1307 ATTRIBUTE9 = DECODE(X_ATTRIBUTE9,NULL,ATTRIBUTE9,FND_API.G_MISS_CHAR,NULL,X_ATTRIBUTE9),
1308 ATTRIBUTE10 = DECODE(X_ATTRIBUTE10,NULL,ATTRIBUTE10,FND_API.G_MISS_CHAR,NULL,X_ATTRIBUTE10),
1309 ATTRIBUTE11 = DECODE(X_ATTRIBUTE11,NULL,ATTRIBUTE11,FND_API.G_MISS_CHAR,NULL,X_ATTRIBUTE11),
1310 ATTRIBUTE12 = DECODE(X_ATTRIBUTE12,NULL,ATTRIBUTE12,FND_API.G_MISS_CHAR,NULL,X_ATTRIBUTE12),
1311 ATTRIBUTE13 = DECODE(X_ATTRIBUTE13,NULL,ATTRIBUTE13,FND_API.G_MISS_CHAR,NULL,X_ATTRIBUTE13),
1312 ATTRIBUTE14 = DECODE(X_ATTRIBUTE14,NULL,ATTRIBUTE14,FND_API.G_MISS_CHAR,NULL,X_ATTRIBUTE14),
1313 ATTRIBUTE15 = DECODE(X_ATTRIBUTE15,NULL,ATTRIBUTE15,FND_API.G_MISS_CHAR,NULL,X_ATTRIBUTE15),
1314 ATTRIBUTE_CATEGORY_CODE = DECODE(X_ATTRIBUTE_CATEGORY_CODE,NULL,ATTRIBUTE_CATEGORY_CODE,FND_API.G_MISS_CHAR,NULL,X_ATTRIBUTE_CATEGORY_CODE),
1315 LESSOR_SITE_ID = NVL(X_LESSOR_SITE_ID,LESSOR_SITE_ID)
1316 WHERE LEASE_ID = X_LEASE_ID;
1317 END IF;
1318 --
1319 IF (SQL%NOTFOUND) THEN
1320 RAISE NO_DATA_FOUND;
1321 END IF;
1322
1323 EXCEPTION
1324 WHEN OTHERS THEN
1325 FA_SRVR_MSG.ADD_SQL_ERROR(
1326 CALLING_FN => 'FA_LEASE_PVT.UPDATE_ROW'
1327 ,p_log_level_rec => p_log_level_rec);
1328 RAISE;
1329 END UPDATE_ROW;
1330
1331 END FA_LEASE_PVT;