DBA Data[Home] [Help]

PACKAGE BODY: APPS.FA_LEASES2_PKG

Source


1 PACKAGE BODY FA_LEASES2_PKG as
2 /* $Header: faxils2b.pls 120.4 2009/03/27 03:03:29 bridgway ship $ */
3 
4 /* Bug 1782129 : Added a new column TERMS_ID in fa_leases
5 and fa_lease_payment_items tables. Terms_ID is a unique identifier
6 for AP Payment Term. - YYOON 5/21/01
7 */
8 PROCEDURE INSERT_ROW( X_Rowid    IN OUT NOCOPY  VARCHAR2,
9               X_Lease_id           NUMBER,
10               X_lease_number       VARCHAR2,
11               X_lessor_id          NUMBER,
12               X_description         VARCHAR2,
13               X_last_update_date    DATE,
14               X_last_updated_by     NUMBER,
15               X_created_by          NUMBER,
16               X_creation_date       DATE,
17               X_last_update_login   NUMBER,
18               X_attribute1          VARCHAR2,
19               X_attribute2          VARCHAR2,
20               X_attribute3          VARCHAR2,
21               X_attribute4          VARCHAR2,
22               X_attribute5          VARCHAR2,
23               X_attribute6          VARCHAR2,
24               X_attribute7          VARCHAR2,
25               X_attribute8          VARCHAR2,
26               X_attribute9          VARCHAR2,
27               X_attribute10         VARCHAR2,
28               X_attribute11         VARCHAR2,
29               X_attribute12         VARCHAR2,
30               X_attribute13         VARCHAR2,
31               X_attribute14         VARCHAR2,
32               X_attribute15         VARCHAR2,
33               X_attribute_category_code  VARCHAR2,
34               X_FASB_LEASE_TYPE     VARCHAR2,
35               X_COST_CAPITALIZED    NUMBER,
36               X_TRANSFER_OWNERSHIP  VARCHAR2,
37               X_BARGAIN_PURCHASE_OPTION  VARCHAR2,
38               X_PAYMENT_SCHEDULE_ID  NUMBER,
39               X_FAIR_VALUE           NUMBER,
40               X_PRESENT_VALUE        NUMBER,
41               X_LEASE_TYPE           VARCHAR2,
42               X_LEASE_TERM           NUMBER,
43               X_ASSET_LIFE           NUMBER,
44               X_CURRENCY_CODE        VARCHAR2,
45               X_LESSOR_SITE_ID	     NUMBER,
46               X_DIST_CODE_COMBINATION_ID    NUMBER,
47               X_TERMS_ID             NUMBER,
48               X_Calling_Fn           VARCHAR2
49   , p_log_level_rec        IN     FA_API_TYPES.log_level_rec_type) IS
50     CURSOR C IS SELECT rowid FROM fa_leases
51                  WHERE lease_id = X_Lease_Id;
52 BEGIN
53 
54     INSERT INTO fa_leases(
55               lease_id,
56               lease_number,
57               lessor_id,
58               description,
59               last_update_date,
60               last_updated_by,
61               created_by,
62               creation_date,
63               last_update_login,
64               attribute1,
65               attribute2,
66               attribute3,
67               attribute4,
68               attribute5,
69               attribute6,
70               attribute7,
71               attribute8,
72               attribute9,
73               attribute10,
74               attribute11,
75               attribute12,
76               attribute13,
77               attribute14,
78               attribute15,
79               attribute_category_code,
80               FASB_LEASE_TYPE,
81               COST_CAPITALIZED,
82               TRANSFER_OWNERSHIP,
83               BARGAIN_PURCHASE_OPTION,
84               PAYMENT_SCHEDULE_ID,
85               FAIR_VALUE,
86               PRESENT_VALUE,
87               LEASE_TYPE,
88               LEASE_TERM,
89               ASSET_LIFE,
90               CURRENCY_CODE,
91               LESSOR_SITE_ID,
92               DIST_CODE_COMBINATION_ID,
93               TERMS_ID)
94      VALUES (
95                X_lease_id,
96                X_lease_number,
97                X_lessor_id,
98                X_description,
99                X_last_update_date,
100                X_last_updated_by,
101                X_created_by,
102                X_creation_date,
103                X_last_update_login,
104                X_attribute1,
105                X_attribute2,
106                X_attribute3,
107                X_attribute4,
108                X_attribute5,
109                X_attribute6,
110                X_attribute7,
111                X_attribute8,
112                X_attribute9,
113                X_attribute10,
114                X_attribute11,
115                X_attribute12,
116                X_attribute13,
117                X_attribute14,
118                X_attribute15,
119                X_attribute_category_code,
120                X_FASB_LEASE_TYPE,
121                X_COST_CAPITALIZED,
122                X_TRANSFER_OWNERSHIP,
123                X_BARGAIN_PURCHASE_OPTION,
124                X_PAYMENT_SCHEDULE_ID,
125                X_FAIR_VALUE,
126                X_PRESENT_VALUE,
127                X_LEASE_TYPE,
128                X_LEASE_TERM,
129                X_ASSET_LIFE,
130                X_CURRENCY_CODE,
131                X_LESSOR_SITE_ID,
132                X_DIST_CODE_COMBINATION_ID,
133                X_TERMS_ID);
134 
135     OPEN C;
136     FETCH C INTO X_Rowid;
137     if (C%NOTFOUND) then
138       CLOSE C;
139       Raise NO_DATA_FOUND;
140     end if;
141     CLOSE C;
142   EXCEPTION
143 	WHEN Others THEN
144 		FA_STANDARD_PKG.RAISE_ERROR
145 			(Called_Fn	=> 'FA_LEASES2_PKG.Insert_Row',
146 			Calling_Fn	=> X_Calling_Fn, p_log_level_rec => p_log_level_rec);
147   END Insert_Row;
148 
149 
150 PROCEDURE Lock_Row( X_Rowid    IN OUT NOCOPY  VARCHAR2,
151               X_Lease_id           NUMBER,
152               X_lease_number       VARCHAR2,
153               X_lessor_id          NUMBER,
154               X_description         VARCHAR2,
155               X_last_update_date    DATE,
156               X_last_updated_by     NUMBER,
157               X_created_by          NUMBER,
158               X_creation_date       DATE,
159               X_last_update_login   NUMBER,
160               X_attribute1          VARCHAR2,
161               X_attribute2          VARCHAR2,
162               X_attribute3          VARCHAR2,
163               X_attribute4          VARCHAR2,
164               X_attribute5          VARCHAR2,
165               X_attribute6          VARCHAR2,
166               X_attribute7          VARCHAR2,
167               X_attribute8          VARCHAR2,
168               X_attribute9          VARCHAR2,
169               X_attribute10         VARCHAR2,
170               X_attribute11         VARCHAR2,
171               X_attribute12         VARCHAR2,
172               X_attribute13         VARCHAR2,
173               X_attribute14         VARCHAR2,
174               X_attribute15         VARCHAR2,
175               X_attribute_category_code  VARCHAR2,
176               X_FASB_LEASE_TYPE     VARCHAR2,
177               X_COST_CAPITALIZED    NUMBER,
178               X_TRANSFER_OWNERSHIP  VARCHAR2,
179               X_BARGAIN_PURCHASE_OPTION  VARCHAR2,
180               X_PAYMENT_SCHEDULE_ID  NUMBER,
181               X_FAIR_VALUE           NUMBER,
182               X_PRESENT_VALUE        NUMBER,
183               X_LEASE_TYPE           VARCHAR2,
184               X_LEASE_TERM           NUMBER,
185               X_ASSET_LIFE           NUMBER,
186               X_CURRENCY_CODE        VARCHAR2,
187               X_Calling_Fn           VARCHAR2
188 
189 
190   , p_log_level_rec        IN     FA_API_TYPES.log_level_rec_type) IS
191 
192     CURSOR C IS
193         SELECT *
194         FROM   fa_leases
195         WHERE  rowid = X_Rowid
196         FOR UPDATE of Lease_Id NOWAIT;
197     Recinfo C%ROWTYPE;
198 
199 
200   BEGIN
201     OPEN C;
202     FETCH C INTO Recinfo;
203     if (C%NOTFOUND) then
204       CLOSE C;
205       FND_MESSAGE.Set_Name('FND', 'FORM_RECORD_DELETED');
206       APP_EXCEPTION.Raise_Exception;
207     end if;
208     CLOSE C;
209     if (
210                (Recinfo.lease_id =  X_Lease_Id)
211            AND (Recinfo.lease_number =  X_Lease_Number)
212            AND (Recinfo.lessor_id =  X_Lessor_Id)
213            AND (Recinfo.description =  X_Description)
214            AND (   (Recinfo.attribute1 =  X_Attribute1)
215                 OR (    (Recinfo.attribute1 IS NULL)
216                     AND (X_Attribute1 IS NULL)))
217            AND (   (Recinfo.attribute2 =  X_Attribute2)
218                 OR (    (Recinfo.attribute2 IS NULL)
219                     AND (X_Attribute2 IS NULL)))
220            AND (   (Recinfo.attribute3 =  X_Attribute3)
221                 OR (    (Recinfo.attribute3 IS NULL)
222                     AND (X_Attribute3 IS NULL)))
223            AND (   (Recinfo.attribute4 =  X_Attribute4)
224                 OR (    (Recinfo.attribute4 IS NULL)
225                     AND (X_Attribute4 IS NULL)))
226            AND (   (Recinfo.attribute5 =  X_Attribute5)
227                 OR (    (Recinfo.attribute5 IS NULL)
228                     AND (X_Attribute5 IS NULL)))
229            AND (   (Recinfo.attribute6 =  X_Attribute6)
230                 OR (    (Recinfo.attribute6 IS NULL)
231                     AND (X_Attribute6 IS NULL)))
232            AND (   (Recinfo.attribute7 =  X_Attribute7)
233                 OR (    (Recinfo.attribute7 IS NULL)
234                     AND (X_Attribute7 IS NULL)))
235            AND (   (Recinfo.attribute8 =  X_Attribute8)
236                 OR (    (Recinfo.attribute8 IS NULL)
237                     AND (X_Attribute8 IS NULL)))
238            AND (   (Recinfo.attribute9 =  X_Attribute9)
239                 OR (    (Recinfo.attribute9 IS NULL)
240                     AND (X_Attribute9 IS NULL)))
241            AND (   (Recinfo.attribute10 =  X_Attribute10)
242                 OR (    (Recinfo.attribute10 IS NULL)
243                     AND (X_Attribute10 IS NULL)))
244            AND (   (Recinfo.attribute11 =  X_Attribute11)
245                 OR (    (Recinfo.attribute11 IS NULL)
246                     AND (X_Attribute11 IS NULL)))
247            AND (   (Recinfo.attribute12 =  X_Attribute12)
248                 OR (    (Recinfo.attribute12 IS NULL)
249                     AND (X_Attribute12 IS NULL)))
250            AND (   (Recinfo.attribute13 =  X_Attribute13)
251                 OR (    (Recinfo.attribute13 IS NULL)
252                     AND (X_Attribute13 IS NULL)))
253            AND (   (Recinfo.attribute14 =  X_Attribute14)
254                 OR (    (Recinfo.attribute14 IS NULL)
255                     AND (X_Attribute14 IS NULL)))
256            AND (   (Recinfo.attribute15 =  X_Attribute15)
257                 OR (    (Recinfo.attribute15 IS NULL)
258                     AND (X_Attribute15 IS NULL)))
259            AND ((Recinfo.attribute_category_code =  X_Attribute_Category_Code)
260                 OR (    (Recinfo.attribute_category_code IS NULL)
261                     AND (X_Attribute_Category_Code IS NULL)))
262 
263            AND (   (Recinfo.fasb_lease_type = X_Fasb_lease_type)
264                 OR (    (Recinfo.fasb_lease_type IS NULL)
265                     AND (X_fasb_lease_type IS NULL)))
266            AND (   (Recinfo.cost_capitalized = X_cost_capitalized)
267                 OR (    (Recinfo.cost_capitalized IS NULL)
268                     AND (X_cost_capitalized IS NULL)))
269            AND (   (Recinfo.transfer_ownership = X_Transfer_ownership)
270                 OR (    (Recinfo.transfer_ownership IS NULL)
271                     AND (X_transfer_ownership IS NULL)))
272            AND (   (Recinfo.bargain_purchase_option = X_bargain_purchase_option)
273                 OR (    (Recinfo.bargain_purchase_option IS NULL)
274                     AND (X_bargain_purchase_option IS NULL)))
275            AND (   (Recinfo.payment_schedule_id = X_payment_schedule_id)
276                 OR (    (Recinfo.payment_schedule_id IS NULL)
277                     AND (X_payment_schedule_id IS NULL)))
278            AND (   (Recinfo.fair_value = X_fair_value)
279                OR (    (Recinfo.fair_value IS NULL)
280                     AND (X_fair_value IS NULL)))
281            AND (  (Recinfo.present_value = X_present_value)
282                OR (    (Recinfo.present_value IS NULL)
283                     AND (X_present_value IS NULL)))
284 
285            AND (Recinfo.lease_type = X_lease_type)
286 
287            AND (  (Recinfo.lease_term = X_lease_term)
288                OR (    (Recinfo.lease_term IS NULL)
289                     AND (X_lease_term IS NULL)))
290            AND (  (Recinfo.asset_life = X_asset_life)
291                OR (    (Recinfo.asset_life IS NULL)
292                     AND (X_asset_life IS NULL)))
293            AND (Recinfo.currency_code = X_currency_code)
294 
295       ) then
296       return;
297     else
298       FND_MESSAGE.Set_Name('FND', 'FORM_RECORD_CHANGED');
299       APP_EXCEPTION.Raise_Exception;
300     end if;
301 
302     exception
303        when others then
304           FND_MESSAGE.SET_NAME('FND', 'FORM_RECORD_CHANGED');
305           APP_EXCEPTION.RAISE_EXCEPTION;
306   END Lock_Row;
307 
308 PROCEDURE Update_Row( X_Rowid    IN OUT NOCOPY  VARCHAR2,
309               X_Lease_id           NUMBER,
310               X_lease_number       VARCHAR2,
311               X_lessor_id          NUMBER,
312               X_description         VARCHAR2,
313               X_last_update_date    DATE,
314               X_last_updated_by     NUMBER,
315               X_created_by          NUMBER,
316               X_creation_date       DATE,
317               X_last_update_login   NUMBER,
318               X_attribute1          VARCHAR2,
319               X_attribute2          VARCHAR2,
320               X_attribute3          VARCHAR2,
321               X_attribute4          VARCHAR2,
322               X_attribute5          VARCHAR2,
323               X_attribute6          VARCHAR2,
324               X_attribute7          VARCHAR2,
325               X_attribute8          VARCHAR2,
326               X_attribute9          VARCHAR2,
327               X_attribute10         VARCHAR2,
328               X_attribute11         VARCHAR2,
329               X_attribute12         VARCHAR2,
330               X_attribute13         VARCHAR2,
331               X_attribute14         VARCHAR2,
332               X_attribute15         VARCHAR2,
333               X_attribute_category_code  VARCHAR2,
334               X_FASB_LEASE_TYPE     VARCHAR2,
335               X_COST_CAPITALIZED    NUMBER,
336               X_TRANSFER_OWNERSHIP  VARCHAR2,
337               X_BARGAIN_PURCHASE_OPTION  VARCHAR2,
338               X_PAYMENT_SCHEDULE_ID  NUMBER,
339               X_FAIR_VALUE           NUMBER,
340               X_PRESENT_VALUE        NUMBER,
341               X_LEASE_TYPE           VARCHAR2,
342               X_LEASE_TERM           NUMBER,
343               X_ASSET_LIFE           NUMBER,
344               X_CURRENCY_CODE        VARCHAR2,
345               X_LESSOR_SITE_ID       NUMBER,
346               X_DIST_CODE_COMBINATION_ID    NUMBER,
347               X_TERMS_ID             NUMBER,
348               X_Calling_Fn           VARCHAR2
349 
350   , p_log_level_rec        IN     FA_API_TYPES.log_level_rec_type) IS
351   BEGIN
352     UPDATE fa_leases
353     SET
354               lease_id           = X_lease_id,
355               lease_number       = X_lease_number,
356               lessor_id          = X_lessor_id,
357               description        = X_description,
358               last_update_date   = X_last_update_date,
359               last_updated_by    = X_last_updated_by,
360               created_by         = X_created_by,
361               creation_date      = X_creation_date,
362               last_update_login  = X_last_update_login,
363               attribute1         = X_attribute1,
364               attribute2         = X_attribute2,
365               attribute3         = X_attribute3,
366               attribute4         = X_attribute4,
367               attribute5         = X_attribute5,
368               attribute6         = X_attribute6,
369               attribute7         = X_attribute7,
370               attribute8         = X_attribute8,
371               attribute9         = X_attribute9,
372               attribute10         = X_attribute10,
373               attribute11         = X_attribute11,
374               attribute12         = X_attribute12,
375               attribute13         = X_attribute13,
376               attribute14         = X_attribute14,
377               attribute15         = X_attribute15,
378               attribute_category_code = X_attribute_category_code,
379               FASB_LEASE_TYPE     = X_fasb_lease_type,
380               COST_CAPITALIZED    = X_cost_capitalized,
381               TRANSFER_OWNERSHIP  = X_transfer_ownership,
382               BARGAIN_PURCHASE_OPTION  = X_bargain_purchase_option,
383               PAYMENT_SCHEDULE_ID      = X_payment_schedule_id,
384               FAIR_VALUE          = X_fair_value,
385               PRESENT_VALUE       = X_present_value,
386               LEASE_TYPE          = X_lease_type,
387               LEASE_TERM          = X_lease_term,
388               ASSET_LIFE          = X_asset_life,
389               CURRENCY_CODE       = X_CURRENCY_CODE,
390               LESSOR_SITE_ID	  = X_LESSOR_SITE_ID,
391               DIST_CODE_COMBINATION_ID  = X_DIST_CODE_COMBINATION_ID,
392               TERMS_ID            = X_TERMS_ID
393     WHERE rowid = X_Rowid;
394 
395     if (SQL%NOTFOUND) then
396       Raise NO_DATA_FOUND;
397     end if;
398   EXCEPTION
399 	WHEN Others THEN
400 		FA_STANDARD_PKG.RAISE_ERROR
401 			(Called_Fn	=> 'FA_LEASES_PKG.Update_Row',
402 			Calling_Fn	=> X_Calling_Fn, p_log_level_rec => p_log_level_rec);
403   END Update_Row;
404   --
405   PROCEDURE Delete_Row(X_Rowid 		VARCHAR2 DEFAULT NULL,
406 			X_Lease_Id	NUMBER DEFAULT NULL,
407 			X_Calling_Fn			VARCHAR2, p_log_level_rec        IN     FA_API_TYPES.log_level_rec_type) IS
408   BEGIN
409     if X_Rowid is not null then
410     	DELETE FROM fa_leases
411     	WHERE rowid = X_Rowid;
412     elsif X_Lease_Id is not null then
413 	DELETE FROM fa_leases
414 	WHERE lease_id = X_Lease_Id;
415     else
416 	-- error
417 	null;
418     end if;
419     if (SQL%NOTFOUND) then
420       Raise NO_DATA_FOUND;
421     end if;
422   EXCEPTION
423 	WHEN Others THEN
424 		FA_STANDARD_PKG.RAISE_ERROR
425 			(Called_Fn	=> 'FA_LEASES_PKG.Delete_Row',
426 			Calling_Fn	=> X_Calling_Fn, p_log_level_rec => p_log_level_rec);
427   END Delete_Row;
428 
429 
430 END FA_LEASES2_PKG;