DBA Data[Home] [Help]

PACKAGE BODY: APPS.FA_LEASES2_PKG

Source


1 PACKAGE BODY FA_LEASES2_PKG as
2 /* $Header: faxils2b.pls 120.3 2005/07/25 10:01:22 yyoon 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 default null) 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
147 			,p_log_level_rec => p_log_level_rec);
148   END Insert_Row;
149 
150 
151 PROCEDURE Lock_Row( X_Rowid    IN OUT NOCOPY  VARCHAR2,
152               X_Lease_id           NUMBER,
153               X_lease_number       VARCHAR2,
154               X_lessor_id          NUMBER,
155               X_description         VARCHAR2,
156               X_last_update_date    DATE,
157               X_last_updated_by     NUMBER,
158               X_created_by          NUMBER,
159               X_creation_date       DATE,
160               X_last_update_login   NUMBER,
161               X_attribute1          VARCHAR2,
162               X_attribute2          VARCHAR2,
163               X_attribute3          VARCHAR2,
164               X_attribute4          VARCHAR2,
165               X_attribute5          VARCHAR2,
166               X_attribute6          VARCHAR2,
167               X_attribute7          VARCHAR2,
168               X_attribute8          VARCHAR2,
169               X_attribute9          VARCHAR2,
170               X_attribute10         VARCHAR2,
171               X_attribute11         VARCHAR2,
172               X_attribute12         VARCHAR2,
173               X_attribute13         VARCHAR2,
174               X_attribute14         VARCHAR2,
175               X_attribute15         VARCHAR2,
176               X_attribute_category_code  VARCHAR2,
177               X_FASB_LEASE_TYPE     VARCHAR2,
178               X_COST_CAPITALIZED    NUMBER,
179               X_TRANSFER_OWNERSHIP  VARCHAR2,
180               X_BARGAIN_PURCHASE_OPTION  VARCHAR2,
181               X_PAYMENT_SCHEDULE_ID  NUMBER,
182               X_FAIR_VALUE           NUMBER,
183               X_PRESENT_VALUE        NUMBER,
184               X_LEASE_TYPE           VARCHAR2,
185               X_LEASE_TERM           NUMBER,
186               X_ASSET_LIFE           NUMBER,
187               X_CURRENCY_CODE        VARCHAR2,
188               X_Calling_Fn           VARCHAR2,
189               p_log_level_rec    in      fa_api_types.log_level_rec_type default null) IS
190 
191     CURSOR C IS
192         SELECT *
193         FROM   fa_leases
194         WHERE  rowid = X_Rowid
195         FOR UPDATE of Lease_Id NOWAIT;
196     Recinfo C%ROWTYPE;
197 
198 
199   BEGIN
200     OPEN C;
201     FETCH C INTO Recinfo;
202     if (C%NOTFOUND) then
203       CLOSE C;
204       FND_MESSAGE.Set_Name('FND', 'FORM_RECORD_DELETED');
205       APP_EXCEPTION.Raise_Exception;
206     end if;
207     CLOSE C;
208     if (
209                (Recinfo.lease_id =  X_Lease_Id)
210            AND (Recinfo.lease_number =  X_Lease_Number)
211            AND (Recinfo.lessor_id =  X_Lessor_Id)
212            AND (Recinfo.description =  X_Description)
213            AND (   (Recinfo.attribute1 =  X_Attribute1)
214                 OR (    (Recinfo.attribute1 IS NULL)
215                     AND (X_Attribute1 IS NULL)))
216            AND (   (Recinfo.attribute2 =  X_Attribute2)
217                 OR (    (Recinfo.attribute2 IS NULL)
218                     AND (X_Attribute2 IS NULL)))
219            AND (   (Recinfo.attribute3 =  X_Attribute3)
220                 OR (    (Recinfo.attribute3 IS NULL)
221                     AND (X_Attribute3 IS NULL)))
222            AND (   (Recinfo.attribute4 =  X_Attribute4)
223                 OR (    (Recinfo.attribute4 IS NULL)
224                     AND (X_Attribute4 IS NULL)))
225            AND (   (Recinfo.attribute5 =  X_Attribute5)
226                 OR (    (Recinfo.attribute5 IS NULL)
227                     AND (X_Attribute5 IS NULL)))
228            AND (   (Recinfo.attribute6 =  X_Attribute6)
229                 OR (    (Recinfo.attribute6 IS NULL)
230                     AND (X_Attribute6 IS NULL)))
231            AND (   (Recinfo.attribute7 =  X_Attribute7)
232                 OR (    (Recinfo.attribute7 IS NULL)
233                     AND (X_Attribute7 IS NULL)))
234            AND (   (Recinfo.attribute8 =  X_Attribute8)
235                 OR (    (Recinfo.attribute8 IS NULL)
236                     AND (X_Attribute8 IS NULL)))
237            AND (   (Recinfo.attribute9 =  X_Attribute9)
238                 OR (    (Recinfo.attribute9 IS NULL)
239                     AND (X_Attribute9 IS NULL)))
240            AND (   (Recinfo.attribute10 =  X_Attribute10)
241                 OR (    (Recinfo.attribute10 IS NULL)
242                     AND (X_Attribute10 IS NULL)))
243            AND (   (Recinfo.attribute11 =  X_Attribute11)
244                 OR (    (Recinfo.attribute11 IS NULL)
245                     AND (X_Attribute11 IS NULL)))
246            AND (   (Recinfo.attribute12 =  X_Attribute12)
247                 OR (    (Recinfo.attribute12 IS NULL)
248                     AND (X_Attribute12 IS NULL)))
249            AND (   (Recinfo.attribute13 =  X_Attribute13)
250                 OR (    (Recinfo.attribute13 IS NULL)
251                     AND (X_Attribute13 IS NULL)))
252            AND (   (Recinfo.attribute14 =  X_Attribute14)
253                 OR (    (Recinfo.attribute14 IS NULL)
254                     AND (X_Attribute14 IS NULL)))
255            AND (   (Recinfo.attribute15 =  X_Attribute15)
256                 OR (    (Recinfo.attribute15 IS NULL)
257                     AND (X_Attribute15 IS NULL)))
258            AND ((Recinfo.attribute_category_code =  X_Attribute_Category_Code)
259                 OR (    (Recinfo.attribute_category_code IS NULL)
260                     AND (X_Attribute_Category_Code IS NULL)))
261 
262            AND (   (Recinfo.fasb_lease_type = X_Fasb_lease_type)
263                 OR (    (Recinfo.fasb_lease_type IS NULL)
264                     AND (X_fasb_lease_type IS NULL)))
265            AND (   (Recinfo.cost_capitalized = X_cost_capitalized)
266                 OR (    (Recinfo.cost_capitalized IS NULL)
267                     AND (X_cost_capitalized IS NULL)))
268            AND (   (Recinfo.transfer_ownership = X_Transfer_ownership)
269                 OR (    (Recinfo.transfer_ownership IS NULL)
270                     AND (X_transfer_ownership IS NULL)))
271            AND (   (Recinfo.bargain_purchase_option = X_bargain_purchase_option)
272                 OR (    (Recinfo.bargain_purchase_option IS NULL)
273                     AND (X_bargain_purchase_option IS NULL)))
274            AND (   (Recinfo.payment_schedule_id = X_payment_schedule_id)
275                 OR (    (Recinfo.payment_schedule_id IS NULL)
276                     AND (X_payment_schedule_id IS NULL)))
277            AND (   (Recinfo.fair_value = X_fair_value)
278                OR (    (Recinfo.fair_value IS NULL)
279                     AND (X_fair_value IS NULL)))
280            AND (  (Recinfo.present_value = X_present_value)
281                OR (    (Recinfo.present_value IS NULL)
282                     AND (X_present_value IS NULL)))
283 
284            AND (Recinfo.lease_type = X_lease_type)
285 
286            AND (  (Recinfo.lease_term = X_lease_term)
287                OR (    (Recinfo.lease_term IS NULL)
288                     AND (X_lease_term IS NULL)))
289            AND (  (Recinfo.asset_life = X_asset_life)
290                OR (    (Recinfo.asset_life IS NULL)
291                     AND (X_asset_life IS NULL)))
292            AND (Recinfo.currency_code = X_currency_code)
293         ) then
294       return;
295     else
296       FND_MESSAGE.Set_Name('FND', 'FORM_RECORD_CHANGED');
297       APP_EXCEPTION.Raise_Exception;
298     end if;
299 
300     exception
301        when others then
302           FND_MESSAGE.SET_NAME('FND', 'FORM_RECORD_CHANGED');
303           APP_EXCEPTION.RAISE_EXCEPTION;
304   END Lock_Row;
305 
306 PROCEDURE Update_Row( X_Rowid    IN OUT NOCOPY  VARCHAR2,
307               X_Lease_id           NUMBER,
308               X_lease_number       VARCHAR2,
309               X_lessor_id          NUMBER,
310               X_description         VARCHAR2,
311               X_last_update_date    DATE,
312               X_last_updated_by     NUMBER,
313               X_created_by          NUMBER,
314               X_creation_date       DATE,
315               X_last_update_login   NUMBER,
316               X_attribute1          VARCHAR2,
317               X_attribute2          VARCHAR2,
318               X_attribute3          VARCHAR2,
319               X_attribute4          VARCHAR2,
320               X_attribute5          VARCHAR2,
321               X_attribute6          VARCHAR2,
322               X_attribute7          VARCHAR2,
323               X_attribute8          VARCHAR2,
324               X_attribute9          VARCHAR2,
325               X_attribute10         VARCHAR2,
326               X_attribute11         VARCHAR2,
327               X_attribute12         VARCHAR2,
328               X_attribute13         VARCHAR2,
329               X_attribute14         VARCHAR2,
330               X_attribute15         VARCHAR2,
331               X_attribute_category_code  VARCHAR2,
332               X_FASB_LEASE_TYPE     VARCHAR2,
333               X_COST_CAPITALIZED    NUMBER,
334               X_TRANSFER_OWNERSHIP  VARCHAR2,
335               X_BARGAIN_PURCHASE_OPTION  VARCHAR2,
336               X_PAYMENT_SCHEDULE_ID  NUMBER,
337               X_FAIR_VALUE           NUMBER,
338               X_PRESENT_VALUE        NUMBER,
339               X_LEASE_TYPE           VARCHAR2,
340               X_LEASE_TERM           NUMBER,
341               X_ASSET_LIFE           NUMBER,
342               X_CURRENCY_CODE        VARCHAR2,
343               X_LESSOR_SITE_ID       NUMBER,
344               X_DIST_CODE_COMBINATION_ID    NUMBER,
345               X_TERMS_ID             NUMBER,
346               X_Calling_Fn           VARCHAR2,
347               p_log_level_rec    in      fa_api_types.log_level_rec_type default null) IS
348   BEGIN
349     UPDATE fa_leases
350     SET
351               lease_id           = X_lease_id,
352               lease_number       = X_lease_number,
353               lessor_id          = X_lessor_id,
354               description        = X_description,
355               last_update_date   = X_last_update_date,
356               last_updated_by    = X_last_updated_by,
357               created_by         = X_created_by,
358               creation_date      = X_creation_date,
359               last_update_login  = X_last_update_login,
360               attribute1         = X_attribute1,
361               attribute2         = X_attribute2,
362               attribute3         = X_attribute3,
363               attribute4         = X_attribute4,
364               attribute5         = X_attribute5,
365               attribute6         = X_attribute6,
366               attribute7         = X_attribute7,
367               attribute8         = X_attribute8,
368               attribute9         = X_attribute9,
369               attribute10         = X_attribute10,
370               attribute11         = X_attribute11,
371               attribute12         = X_attribute12,
372               attribute13         = X_attribute13,
373               attribute14         = X_attribute14,
374               attribute15         = X_attribute15,
375               attribute_category_code = X_attribute_category_code,
376               FASB_LEASE_TYPE     = X_fasb_lease_type,
377               COST_CAPITALIZED    = X_cost_capitalized,
378               TRANSFER_OWNERSHIP  = X_transfer_ownership,
379               BARGAIN_PURCHASE_OPTION  = X_bargain_purchase_option,
380               PAYMENT_SCHEDULE_ID      = X_payment_schedule_id,
381               FAIR_VALUE          = X_fair_value,
382               PRESENT_VALUE       = X_present_value,
383               LEASE_TYPE          = X_lease_type,
384               LEASE_TERM          = X_lease_term,
385               ASSET_LIFE          = X_asset_life,
386               CURRENCY_CODE       = X_CURRENCY_CODE,
387               LESSOR_SITE_ID	  = X_LESSOR_SITE_ID,
388               DIST_CODE_COMBINATION_ID  = X_DIST_CODE_COMBINATION_ID,
389               TERMS_ID            = X_TERMS_ID
390     WHERE rowid = X_Rowid;
391 
392     if (SQL%NOTFOUND) then
393       Raise NO_DATA_FOUND;
394     end if;
395   EXCEPTION
396 	WHEN Others THEN
397 		FA_STANDARD_PKG.RAISE_ERROR
398 			(Called_Fn	=> 'FA_LEASES_PKG.Update_Row',
399 			Calling_Fn	=> X_Calling_Fn
400 			,p_log_level_rec => p_log_level_rec);
401   END Update_Row;
402   --
403   PROCEDURE Delete_Row(X_Rowid 		VARCHAR2 DEFAULT NULL,
404 			X_Lease_Id	NUMBER DEFAULT NULL,
405 			X_Calling_Fn			VARCHAR2,
406 			p_log_level_rec    in      fa_api_types.log_level_rec_type default null) IS
407   BEGIN
408     if X_Rowid is not null then
409     	DELETE FROM fa_leases
410     	WHERE rowid = X_Rowid;
411     elsif X_Lease_Id is not null then
412 	DELETE FROM fa_leases
413 	WHERE lease_id = X_Lease_Id;
414     else
415 	-- error
416 	null;
417     end if;
418     if (SQL%NOTFOUND) then
419       Raise NO_DATA_FOUND;
420     end if;
421   EXCEPTION
422 	WHEN Others THEN
423 		FA_STANDARD_PKG.RAISE_ERROR
424 			(Called_Fn	=> 'FA_LEASES_PKG.Delete_Row',
425 			Calling_Fn	=> X_Calling_Fn
426 			,p_log_level_rec => p_log_level_rec);
427   END Delete_Row;
428 
429 
430 END FA_LEASES2_PKG;