DBA Data[Home] [Help]

PACKAGE BODY: APPS.FA_ADDITIONS_PKG

Source


1 PACKAGE BODY FA_ADDITIONS_PKG as
2 /* $Header: faxiadb.pls 120.6 2005/07/25 10:02:26 yyoon ship $ */
3 
4   PROCEDURE Insert_Row(X_Rowid                   IN OUT NOCOPY VARCHAR2,
5                        X_Asset_Id                       IN OUT NOCOPY NUMBER,
6                        X_Asset_Number                   IN OUT NOCOPY VARCHAR2,
7                        X_Asset_Key_Ccid                 NUMBER DEFAULT NULL,
8                        X_Current_Units                  NUMBER,
9                        X_Asset_Type                     VARCHAR2,
10                        X_Tag_Number                     VARCHAR2 DEFAULT NULL,
11                        X_Description                    VARCHAR2,
12                        X_Asset_Category_Id              NUMBER,
13                        X_Parent_Asset_Id                NUMBER DEFAULT NULL,
14                        X_Manufacturer_Name              VARCHAR2 DEFAULT NULL,
15                        X_Serial_Number                  VARCHAR2 DEFAULT NULL,
16                        X_Model_Number                   VARCHAR2 DEFAULT NULL,
17                        X_Property_Type_Code             VARCHAR2 DEFAULT NULL,
18                        X_Property_1245_1250_Code        VARCHAR2 DEFAULT NULL,
19                        X_In_Use_Flag                    VARCHAR2,
20                        X_Owned_Leased                   VARCHAR2,
21                        X_New_Used                       VARCHAR2,
22                        X_Unit_Adjustment_Flag           VARCHAR2,
23                        X_Add_Cost_Je_Flag               VARCHAR2,
24                        X_Attribute1                     VARCHAR2 DEFAULT NULL,
25                        X_Attribute2                     VARCHAR2 DEFAULT NULL,
26                        X_Attribute3                     VARCHAR2 DEFAULT NULL,
27                        X_Attribute4                     VARCHAR2 DEFAULT NULL,
28                        X_Attribute5                     VARCHAR2 DEFAULT NULL,
29                        X_Attribute6                     VARCHAR2 DEFAULT NULL,
30                        X_Attribute7                     VARCHAR2 DEFAULT NULL,
31                        X_Attribute8                     VARCHAR2 DEFAULT NULL,
32                        X_Attribute9                     VARCHAR2 DEFAULT NULL,
33                        X_Attribute10                    VARCHAR2 DEFAULT NULL,
34                        X_Attribute11                    VARCHAR2 DEFAULT NULL,
35                        X_Attribute12                    VARCHAR2 DEFAULT NULL,
36                        X_Attribute13                    VARCHAR2 DEFAULT NULL,
37                        X_Attribute14                    VARCHAR2 DEFAULT NULL,
38                        X_Attribute15                    VARCHAR2 DEFAULT NULL,
39                        X_Attribute16                    VARCHAR2 DEFAULT NULL,
40                        X_Attribute17                    VARCHAR2 DEFAULT NULL,
41                        X_Attribute18                    VARCHAR2 DEFAULT NULL,
42                        X_Attribute19                    VARCHAR2 DEFAULT NULL,
43                        X_Attribute20                    VARCHAR2 DEFAULT NULL,
44                        X_Attribute21                    VARCHAR2 DEFAULT NULL,
45                        X_Attribute22                    VARCHAR2 DEFAULT NULL,
46                        X_Attribute23                    VARCHAR2 DEFAULT NULL,
47                        X_Attribute24                    VARCHAR2 DEFAULT NULL,
48                        X_Attribute25                    VARCHAR2 DEFAULT NULL,
49                        X_Attribute26                    VARCHAR2 DEFAULT NULL,
50                        X_Attribute27                    VARCHAR2 DEFAULT NULL,
51                        X_Attribute28                    VARCHAR2 DEFAULT NULL,
52                        X_Attribute29                    VARCHAR2 DEFAULT NULL,
53                        X_Attribute30                    VARCHAR2 DEFAULT NULL,
54                        X_Attribute_Category_Code        VARCHAR2,
55                        X_gf_Attribute1                  VARCHAR2 DEFAULT NULL,
56                        X_gf_Attribute2                  VARCHAR2 DEFAULT NULL,
57                        X_gf_Attribute3                  VARCHAR2 DEFAULT NULL,
58                        X_gf_Attribute4                  VARCHAR2 DEFAULT NULL,
59                        X_gf_Attribute5                  VARCHAR2 DEFAULT NULL,
60                        X_gf_Attribute6                  VARCHAR2 DEFAULT NULL,
61                        X_gf_Attribute7                  VARCHAR2 DEFAULT NULL,
62                        X_gf_Attribute8                  VARCHAR2 DEFAULT NULL,
63                        X_gf_Attribute9                  VARCHAR2 DEFAULT NULL,
64                        X_gf_Attribute10                 VARCHAR2 DEFAULT NULL,
65                        X_gf_Attribute11                 VARCHAR2 DEFAULT NULL,
66                        X_gf_Attribute12                 VARCHAR2 DEFAULT NULL,
67                        X_gf_Attribute13                 VARCHAR2 DEFAULT NULL,
68                        X_gf_Attribute14                 VARCHAR2 DEFAULT NULL,
69                        X_gf_Attribute15                 VARCHAR2 DEFAULT NULL,
70                        X_gf_Attribute16                 VARCHAR2 DEFAULT NULL,
71                        X_gf_Attribute17                 VARCHAR2 DEFAULT NULL,
72                        X_gf_Attribute18                 VARCHAR2 DEFAULT NULL,
73                        X_gf_Attribute19                 VARCHAR2 DEFAULT NULL,
74                        X_gf_Attribute20                 VARCHAR2 DEFAULT NULL,
75                        X_gf_Attribute_Category_Code     VARCHAR2 DEFAULT NULL,
76                        X_Context                        VARCHAR2 DEFAULT NULL,
77                        X_Lease_Id                       NUMBER DEFAULT NULL,
78                        X_Inventorial                    VARCHAR2,
79 		       X_Commitment			VARCHAR2 DEFAULT NULL,
80 		       X_Investment_Law			VARCHAR2 DEFAULT NULL,
81                        X_Status                         VARCHAR2 DEFAULT NULL,
82                        X_Last_Update_Date               DATE,
83                        X_Last_Updated_By                NUMBER,
84                        X_Created_By                     NUMBER DEFAULT NULL,
85                        X_Creation_Date                  DATE DEFAULT NULL,
86                        X_Last_Update_Login              NUMBER DEFAULT NULL,
87                        X_Calling_Fn                     VARCHAR2,
88                   p_log_level_rec        IN     FA_API_TYPES.log_level_rec_type default null) IS
89 
90     h_error_message     varchar2(255);
91 
92     CURSOR C IS SELECT rowid FROM fa_additions_B
93                  WHERE asset_id = X_Asset_Id;
94     CURSOR C2 IS SELECT fa_additions_s.nextval FROM sys.dual;
95 
96     l_attribute15   varchar2(150);
97 
98    BEGIN
99 
100       if (X_Asset_Id is NULL) then
101         OPEN C2;
102         FETCH C2 INTO X_Asset_Id;
103         CLOSE C2;
104       end if;
105 
106       X_asset_number := nvl(X_asset_number, to_char(X_asset_id));
107 
108        if (fa_cache_pkg.fa_crl_enabled) then
109           l_attribute15 := X_Status;
110        else
111           l_attribute15 := X_attribute15;
112        end if;
113 
114        INSERT INTO fa_additions_B(
115               asset_id,
116               asset_number,
117               asset_key_ccid,
118               current_units,
119               asset_type,
120               tag_number,
121               /* description, */
122               asset_category_id,
123               parent_asset_id,
124               manufacturer_name,
125               serial_number,
126               model_number,
127               property_type_code,
128               property_1245_1250_code,
129               in_use_flag,
130               owned_leased,
131               new_used,
132               unit_adjustment_flag,
133               add_cost_je_flag,
134               attribute1,
135               attribute2,
136               attribute3,
137               attribute4,
138               attribute5,
139               attribute6,
140               attribute7,
141               attribute8,
142               attribute9,
143               attribute10,
144               attribute11,
145               attribute12,
146               attribute13,
147               attribute14,
148               attribute15,
149               attribute16,
150               attribute17,
151               attribute18,
152               attribute19,
153               attribute20,
154               attribute21,
155               attribute22,
156               attribute23,
157               attribute24,
158               attribute25,
159               attribute26,
160               attribute27,
161               attribute28,
162               attribute29,
163               attribute30,
164               attribute_category_code,
165               global_attribute1,
166               global_attribute2,
167               global_attribute3,
168               global_attribute4,
169               global_attribute5,
170               global_attribute6,
171               global_attribute7,
172               global_attribute8,
173               global_attribute9,
174               global_attribute10,
175               global_attribute11,
176               global_attribute12,
177               global_attribute13,
178               global_attribute14,
179               global_attribute15,
180               global_attribute16,
181               global_attribute17,
182               global_attribute18,
183               global_attribute19,
184               global_attribute20,
185               global_attribute_category,
186               context,
187               lease_id,
188 	      inventorial,
189 	      commitment,
190 	      investment_law,
191               last_update_date,
192               last_updated_by,
193               created_by,
194               creation_date,
195               last_update_login
196              ) VALUES (
197               X_Asset_Id,
198               X_Asset_Number,
199               X_Asset_Key_Ccid,
200               X_Current_Units,
201               X_Asset_Type,
202               X_Tag_Number,
203               /* X_Description, */
204               X_Asset_Category_Id,
205               X_Parent_Asset_Id,
206               X_Manufacturer_Name,
207               X_Serial_Number,
208               X_Model_Number,
209               X_Property_Type_Code,
210               X_Property_1245_1250_Code,
211               X_In_Use_Flag,
212               X_Owned_Leased,
213               X_New_Used,
214               X_Unit_Adjustment_Flag,
215               X_Add_Cost_Je_Flag,
216               X_Attribute1,
217               X_Attribute2,
218               X_Attribute3,
219               X_Attribute4,
220               X_Attribute5,
221               X_Attribute6,
222               X_Attribute7,
223               X_Attribute8,
224               X_Attribute9,
225               X_Attribute10,
226               X_Attribute11,
227               X_Attribute12,
228               X_Attribute13,
229               X_Attribute14,
230               l_Attribute15,
231               X_Attribute16,
232               X_Attribute17,
233               X_Attribute18,
234               X_Attribute19,
235               X_Attribute20,
236               X_Attribute21,
237               X_Attribute22,
238               X_Attribute23,
239               X_Attribute24,
240               X_Attribute25,
241               X_Attribute26,
242               X_Attribute27,
243               X_Attribute28,
244               X_Attribute29,
245               X_Attribute30,
246               X_Attribute_Category_Code,
247               X_gf_Attribute1,
248               X_gf_Attribute2,
249               X_gf_Attribute3,
250               X_gf_Attribute4,
251               X_gf_Attribute5,
252               X_gf_Attribute6,
253               X_gf_Attribute7,
254               X_gf_Attribute8,
255               X_gf_Attribute9,
256               X_gf_Attribute10,
257               X_gf_Attribute11,
258               X_gf_Attribute12,
259               X_gf_Attribute13,
260               X_gf_Attribute14,
261               X_gf_Attribute15,
262               X_gf_Attribute16,
263               X_gf_Attribute17,
264               X_gf_Attribute18,
265               X_gf_Attribute19,
266               X_gf_Attribute20,
267               X_gf_Attribute_Category_Code,
268               X_Context,
269               X_Lease_Id,
270               X_Inventorial,
271 	      X_Commitment,
272 	      X_Investment_law,
273               X_Last_Update_Date,
274               X_Last_Updated_By,
275               X_Created_By,
276               X_Creation_Date,
277               X_Last_Update_Login
278 
279              );
280   insert into FA_ADDITIONS_TL (
281     LAST_UPDATED_BY,
282     CREATED_BY,
283     CREATION_DATE,
284     LAST_UPDATE_LOGIN,
285     ASSET_ID,
286     DESCRIPTION,
287     LAST_UPDATE_DATE,
288     LANGUAGE,
289     SOURCE_LANG
290   ) select
291     X_LAST_UPDATED_BY,
292     X_CREATED_BY,
293     X_CREATION_DATE,
294     X_LAST_UPDATE_LOGIN,
295     X_ASSET_ID,
296     X_DESCRIPTION,
297     X_LAST_UPDATE_DATE,
298     L.LANGUAGE_CODE,
299     userenv('LANG')
300   from FND_LANGUAGES L
301   where L.INSTALLED_FLAG in ('I', 'B')
302   and not exists
303     (select NULL
304       from FA_ADDITIONS_TL T
305      where T.ASSET_ID = X_ASSET_ID
306        and T.LANGUAGE = L.LANGUAGE_CODE);
307 
308 
309 /* REMOVING FOR SECURITY BY BOOK
310     OPEN C;
311     FETCH C INTO X_Rowid;
312     if (C%NOTFOUND) then
313       CLOSE C;
314       Raise NO_DATA_FOUND;
315     end if;
316     CLOSE C;
317 */
318 
319   exception
320     when dup_val_on_index then
321       h_error_message := SQLERRM;
322 
323       if instr (h_error_message, 'FA_ADDITIONS_B_U2') <> 0 then
324          FA_SRVR_MSG.add_message(
325               CALLING_FN => 'fa_additions_pkg.insert_row',
326               NAME       => 'FA_ADD_ASSET_NUMBER_EXISTS',
327               TOKEN1     => 'ASSET_NUMBER',
328               VALUE1     => X_Asset_Number
329               ,p_log_level_rec => p_log_level_rec);
330          FA_SRVR_MSG.ADD_SQL_ERROR (
331               CALLING_FN => 'fa_additions_pkg.insert_row'
332               ,p_log_level_rec => p_log_level_rec);
333          raise;
334 
335       elsif instr (h_error_message, 'FA_ADDITIONS_B_U3') <> 0 then
336          FA_SRVR_MSG.add_message(
337               CALLING_FN => 'fa_additions_pkg.insert_row',
338               NAME       => 'FA_ADD_TAG_NUMBER_EXISTS',
339               TOKEN1     => 'TAG_NUMBER',
340               VALUE1     => X_Tag_Number
341               ,p_log_level_rec => p_log_level_rec);
342          FA_SRVR_MSG.ADD_SQL_ERROR (
343               CALLING_FN => 'fa_additions_pkg.insert_row'
344               ,p_log_level_rec => p_log_level_rec);
345          raise;
346 
347       else
348          FA_SRVR_MSG.ADD_SQL_ERROR (
349               CALLING_FN => 'fa_additions_pkg.insert_row'
350               ,p_log_level_rec => p_log_level_rec);
351          raise;
352 
353       end if;
354 
355     when others then
356       FA_SRVR_MSG.ADD_SQL_ERROR (
357            CALLING_FN => 'fa_additions_pkg.insert_row'
358            ,p_log_level_rec => p_log_level_rec);
359       raise;
360 
361   END Insert_Row;
362 
363 
364   PROCEDURE Lock_Row(X_Rowid                            VARCHAR2,
365                      X_Asset_Id                         NUMBER,
366                      X_Asset_Number                     VARCHAR2,
367                      X_Asset_Key_Ccid                   NUMBER DEFAULT NULL,
368                      X_Current_Units                    NUMBER,
369                      X_Asset_Type                       VARCHAR2,
370                      X_Tag_Number                       VARCHAR2 DEFAULT NULL,
371                      X_Description                      VARCHAR2,
372                      X_Asset_Category_Id                NUMBER,
373                      X_Parent_Asset_Id                  NUMBER DEFAULT NULL,
374                      X_Manufacturer_Name                VARCHAR2 DEFAULT NULL,
375                      X_Serial_Number                    VARCHAR2 DEFAULT NULL,
376                      X_Model_Number                     VARCHAR2 DEFAULT NULL,
377                      X_Property_Type_Code               VARCHAR2 DEFAULT NULL,
378                      X_Property_1245_1250_Code          VARCHAR2 DEFAULT NULL,
379                      X_In_Use_Flag                      VARCHAR2,
380                      X_Owned_Leased                     VARCHAR2,
381                      X_New_Used                         VARCHAR2,
382                      X_Unit_Adjustment_Flag             VARCHAR2,
383                      X_Add_Cost_Je_Flag                 VARCHAR2,
384                      X_Attribute1                       VARCHAR2 DEFAULT NULL,
385                      X_Attribute2                       VARCHAR2 DEFAULT NULL,
386                      X_Attribute3                       VARCHAR2 DEFAULT NULL,
387                      X_Attribute4                       VARCHAR2 DEFAULT NULL,
388                      X_Attribute5                       VARCHAR2 DEFAULT NULL,
389                      X_Attribute6                       VARCHAR2 DEFAULT NULL,
390                      X_Attribute7                       VARCHAR2 DEFAULT NULL,
391                      X_Attribute8                       VARCHAR2 DEFAULT NULL,
392                      X_Attribute9                       VARCHAR2 DEFAULT NULL,
393                      X_Attribute10                      VARCHAR2 DEFAULT NULL,
394                      X_Attribute11                      VARCHAR2 DEFAULT NULL,
395                      X_Attribute12                      VARCHAR2 DEFAULT NULL,
396                      X_Attribute13                      VARCHAR2 DEFAULT NULL,
397                      X_Attribute14                      VARCHAR2 DEFAULT NULL,
398                      X_Attribute15                      VARCHAR2 DEFAULT NULL,
399                      X_Attribute16                      VARCHAR2 DEFAULT NULL,
400                      X_Attribute17                      VARCHAR2 DEFAULT NULL,
401                      X_Attribute18                      VARCHAR2 DEFAULT NULL,
402                      X_Attribute19                      VARCHAR2 DEFAULT NULL,
403                      X_Attribute20                      VARCHAR2 DEFAULT NULL,
404                      X_Attribute21                      VARCHAR2 DEFAULT NULL,
405                      X_Attribute22                      VARCHAR2 DEFAULT NULL,
406                      X_Attribute23                      VARCHAR2 DEFAULT NULL,
407                      X_Attribute24                      VARCHAR2 DEFAULT NULL,
408                      X_Attribute25                      VARCHAR2 DEFAULT NULL,
409                      X_Attribute26                      VARCHAR2 DEFAULT NULL,
410                      X_Attribute27                      VARCHAR2 DEFAULT NULL,
411                      X_Attribute28                      VARCHAR2 DEFAULT NULL,
412                      X_Attribute29                      VARCHAR2 DEFAULT NULL,
413                      X_Attribute30                      VARCHAR2 DEFAULT NULL,
414                      X_Attribute_Category_Code          VARCHAR2,
415                      X_Context                          VARCHAR2 DEFAULT NULL,
416                      X_Lease_Id                         NUMBER DEFAULT NULL,
417                      X_Inventorial                      VARCHAR2,
418 		     X_Commitment			VARCHAR2 DEFAULT NULL,
419 		     X_Investment_Law			VARCHAR2 DEFAULT NULL,
420                      X_Calling_Fn                       VARCHAR2,
421                  p_log_level_rec        IN     FA_API_TYPES.log_level_rec_type default null) IS
422     CURSOR C IS
423         SELECT *
424         FROM   fa_additions_b
425         WHERE  rowid = X_Rowid
426         FOR UPDATE of Asset_Id NOWAIT;
427     Recinfo C%ROWTYPE;
428 
429     cursor c1 is
430         select description,decode(language,userenv('LANG'),'Y','N') BASELANG
431         from fa_additions_tl
432         where asset_id = x_asset_id
433         and userenv('LANG') in (LANGUAGE,SOURCE_LANG)
434         for update of asset_id nowait;
435 
436   BEGIN
437     OPEN C;
438     FETCH C INTO Recinfo;
439     if (C%NOTFOUND) then
440       CLOSE C;
441       FND_MESSAGE.Set_Name('FND', 'FORM_RECORD_DELETED');
442       APP_EXCEPTION.Raise_Exception;
443     end if;
444     CLOSE C;
445 
446     if (
447                (Recinfo.asset_id =  X_Asset_Id)
448            AND (Recinfo.asset_number =  X_Asset_Number)
449            AND (   (Recinfo.asset_key_ccid =  X_Asset_Key_Ccid)
450                 OR (    (Recinfo.asset_key_ccid IS NULL)
451                     AND (X_Asset_Key_Ccid IS NULL)))
452            AND (Recinfo.current_units =  X_Current_Units)
453            AND (Recinfo.asset_type =  X_Asset_Type)
454            AND (   (Recinfo.tag_number =  X_Tag_Number)
455                 OR (    (Recinfo.tag_number IS NULL)
456                     AND (X_Tag_Number IS NULL)))
457            /* AND (Recinfo.description =  X_Description) */
458            AND (Recinfo.asset_category_id =  X_Asset_Category_Id)
459            AND (   (Recinfo.parent_asset_id =  X_Parent_Asset_Id)
460                 OR (    (Recinfo.parent_asset_id IS NULL)
461                     AND (X_Parent_Asset_Id IS NULL)))
462            AND (   (Recinfo.manufacturer_name =  X_Manufacturer_Name)
463                 OR (    (Recinfo.manufacturer_name IS NULL)
464                     AND (X_Manufacturer_Name IS NULL)))
465            AND (   (Recinfo.serial_number =  X_Serial_Number)
466                 OR (    (Recinfo.serial_number IS NULL)
467                     AND (X_Serial_Number IS NULL)))
468            AND (   (Recinfo.model_number =  X_Model_Number)
469                 OR (    (Recinfo.model_number IS NULL)
470                     AND (X_Model_Number IS NULL)))
471            AND (   (Recinfo.property_type_code =  X_Property_Type_Code)
472                 OR (    (Recinfo.property_type_code IS NULL)
473                     AND (X_Property_Type_Code IS NULL)))
474            AND (   (Recinfo.property_1245_1250_code =  X_Property_1245_1250_Code
475 )
476                 OR (    (Recinfo.property_1245_1250_code IS NULL)
477                     AND (X_Property_1245_1250_Code IS NULL)))
478            AND (Recinfo.in_use_flag =  X_In_Use_Flag)
479            AND (Recinfo.owned_leased =  X_Owned_Leased)
480            AND (Recinfo.new_used =  X_New_Used)
481            AND (   (Recinfo.commitment =  X_Commitment)
482                 OR (    (Recinfo.commitment IS NULL)
483                     AND (X_Commitment IS NULL)))
484            AND (   (Recinfo.investment_law =  X_Investment_law)
485                 OR (    (Recinfo.investment_law IS NULL)
486                     AND (X_Investment_Law IS NULL)))
487            AND (Recinfo.unit_adjustment_flag =  X_Unit_Adjustment_Flag)
488            AND (Recinfo.add_cost_je_flag =  X_Add_Cost_Je_Flag)
489            AND (   (Recinfo.attribute1 =  X_Attribute1)
490                 OR (    (Recinfo.attribute1 IS NULL)
491                     AND (X_Attribute1 IS NULL)))
492            AND (   (Recinfo.attribute2 =  X_Attribute2)
493                 OR (    (Recinfo.attribute2 IS NULL)
494                     AND (X_Attribute2 IS NULL)))
495            AND (   (Recinfo.attribute3 =  X_Attribute3)
496                 OR (    (Recinfo.attribute3 IS NULL)
497                     AND (X_Attribute3 IS NULL)))
498            AND (   (Recinfo.attribute4 =  X_Attribute4)
499                 OR (    (Recinfo.attribute4 IS NULL)
500                     AND (X_Attribute4 IS NULL)))
501            AND (   (Recinfo.attribute5 =  X_Attribute5)
502                 OR (    (Recinfo.attribute5 IS NULL)
503                     AND (X_Attribute5 IS NULL)))
504            AND (   (Recinfo.attribute6 =  X_Attribute6)
505                 OR (    (Recinfo.attribute6 IS NULL)
506                     AND (X_Attribute6 IS NULL)))
507            AND (   (Recinfo.attribute7 =  X_Attribute7)
508                 OR (    (Recinfo.attribute7 IS NULL)
509                     AND (X_Attribute7 IS NULL)))
510            AND (   (Recinfo.attribute8 =  X_Attribute8)
511                 OR (    (Recinfo.attribute8 IS NULL)
512                     AND (X_Attribute8 IS NULL)))
513            AND (   (Recinfo.attribute9 =  X_Attribute9)
514                 OR (    (Recinfo.attribute9 IS NULL)
515                     AND (X_Attribute9 IS NULL)))
516            AND (   (Recinfo.attribute10 =  X_Attribute10)
517                 OR (    (Recinfo.attribute10 IS NULL)
518                     AND (X_Attribute10 IS NULL)))
519            AND (   (Recinfo.attribute11 =  X_Attribute11)
520                 OR (    (Recinfo.attribute11 IS NULL)
521                     AND (X_Attribute11 IS NULL)))
522            AND (   (Recinfo.attribute12 =  X_Attribute12)
523                 OR (    (Recinfo.attribute12 IS NULL)
524                     AND (X_Attribute12 IS NULL)))
525            AND (   (Recinfo.attribute13 =  X_Attribute13)
526                 OR (    (Recinfo.attribute13 IS NULL)
527                     AND (X_Attribute13 IS NULL)))
528            AND (   (Recinfo.attribute14 =  X_Attribute14)
529                 OR (    (Recinfo.attribute14 IS NULL)
530                     AND (X_Attribute14 IS NULL)))
531            AND (   (Recinfo.attribute15 =  X_Attribute15)
532                 OR (    (Recinfo.attribute15 IS NULL)
533                     AND (X_Attribute15 IS NULL)))
534            AND (   (Recinfo.attribute16 =  X_Attribute16)
535                 OR (    (Recinfo.attribute16 IS NULL)
536                     AND (X_Attribute16 IS NULL)))
537            AND (   (Recinfo.attribute17 =  X_Attribute17)
538                 OR (    (Recinfo.attribute17 IS NULL)
539                     AND (X_Attribute17 IS NULL)))
540            AND (   (Recinfo.attribute18 =  X_Attribute18)
541                 OR (    (Recinfo.attribute18 IS NULL)
542                     AND (X_Attribute18 IS NULL)))
543            AND (   (Recinfo.attribute19 =  X_Attribute19)
544                 OR (    (Recinfo.attribute19 IS NULL)
545                     AND (X_Attribute19 IS NULL)))
546            AND (   (Recinfo.attribute20 =  X_Attribute20)
547                 OR (    (Recinfo.attribute20 IS NULL)
548                     AND (X_Attribute20 IS NULL)))
549            AND (   (Recinfo.attribute21 =  X_Attribute21)
550                 OR (    (Recinfo.attribute21 IS NULL)
551                     AND (X_Attribute21 IS NULL)))
552            AND (   (Recinfo.attribute22 =  X_Attribute22)
553                 OR (    (Recinfo.attribute22 IS NULL)
554                     AND (X_Attribute22 IS NULL)))
555            AND (   (Recinfo.attribute23 =  X_Attribute23)
556                 OR (    (Recinfo.attribute23 IS NULL)
557                     AND (X_Attribute23 IS NULL)))
558            AND (   (Recinfo.attribute24 =  X_Attribute24)
559                 OR (    (Recinfo.attribute24 IS NULL)
560                     AND (X_Attribute24 IS NULL)))
561            AND (   (Recinfo.attribute25 =  X_Attribute25)
562                 OR (    (Recinfo.attribute25 IS NULL)
563                     AND (X_Attribute25 IS NULL)))
564            AND (   (Recinfo.attribute26 =  X_Attribute26)
565                 OR (    (Recinfo.attribute26 IS NULL)
566                     AND (X_Attribute26 IS NULL)))
567            AND (   (Recinfo.attribute27 =  X_Attribute27)
568                 OR (    (Recinfo.attribute27 IS NULL)
569                     AND (X_Attribute27 IS NULL)))
570            AND (   (Recinfo.attribute28 =  X_Attribute28)
571                 OR (    (Recinfo.attribute28 IS NULL)
572                     AND (X_Attribute28 IS NULL)))
573            AND (   (Recinfo.attribute29 =  X_Attribute29)
574                 OR (    (Recinfo.attribute29 IS NULL)
575                     AND (X_Attribute29 IS NULL)))
576            AND (   (Recinfo.attribute30 =  X_Attribute30)
577                 OR (    (Recinfo.attribute30 IS NULL)
578                     AND (X_Attribute30 IS NULL)))
579            AND (Recinfo.attribute_category_code =  X_Attribute_Category_Code)
580            AND (   (Recinfo.context =  X_Context)
581                 OR (    (Recinfo.context IS NULL)
582                     AND (X_Context IS NULL)))
583            AND (   (Recinfo.lease_id =  X_Lease_Id)
584                 OR (    (Recinfo.lease_id IS NULL)
585                     AND (X_Lease_Id IS NULL)))) then
586       return;
587     else
588       FND_MESSAGE.Set_Name('FND', 'FORM_RECORD_CHANGED');
589       APP_EXCEPTION.Raise_Exception;
590     end if;
591 
592   for tlinfo in c1 loop
593     if (tlinfo.BASELANG = 'Y') then
594       if (tlinfo.DESCRIPTION = X_DESCRIPTION) then
595         return;
596       else
597         fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
598         app_exception.raise_exception;
599       end if;
600     end if;
601   end loop;
602 
603   END Lock_Row;
604 
605 
606 
607   -- syoung: added x_return_status.
608   PROCEDURE Update_Row(X_Rowid                          VARCHAR2 DEFAULT NULL,
609                        X_Asset_Id                       NUMBER   DEFAULT NULL,
610                        X_Asset_Number                   VARCHAR2 DEFAULT NULL,
611                        X_Asset_Key_Ccid                 NUMBER   DEFAULT NULL,
612                        X_Current_Units                  NUMBER   DEFAULT NULL,
613                        X_Asset_Type                     VARCHAR2 DEFAULT NULL,
614                        X_Tag_Number                     VARCHAR2 DEFAULT NULL,
615                        X_Description                    VARCHAR2 DEFAULT NULL,
616                        X_Asset_Category_Id              NUMBER   DEFAULT NULL,
617                        X_Parent_Asset_Id                NUMBER   DEFAULT NULL,
618                        X_Manufacturer_Name              VARCHAR2 DEFAULT NULL,
619                        X_Serial_Number                  VARCHAR2 DEFAULT NULL,
620                        X_Model_Number                   VARCHAR2 DEFAULT NULL,
621                        X_Property_Type_Code             VARCHAR2 DEFAULT NULL,
622                        X_Property_1245_1250_Code        VARCHAR2 DEFAULT NULL,
623                        X_In_Use_Flag                    VARCHAR2 DEFAULT NULL,
624                        X_Owned_Leased                   VARCHAR2 DEFAULT NULL,
625                        X_New_Used                       VARCHAR2 DEFAULT NULL,
626                        X_Unit_Adjustment_Flag           VARCHAR2 DEFAULT NULL,
627                        X_Add_Cost_Je_Flag               VARCHAR2 DEFAULT NULL,
628                        X_Attribute1                     VARCHAR2 DEFAULT NULL,
629                        X_Attribute2                     VARCHAR2 DEFAULT NULL,
630                        X_Attribute3                     VARCHAR2 DEFAULT NULL,
631                        X_Attribute4                     VARCHAR2 DEFAULT NULL,
632                        X_Attribute5                     VARCHAR2 DEFAULT NULL,
633                        X_Attribute6                     VARCHAR2 DEFAULT NULL,
634                        X_Attribute7                     VARCHAR2 DEFAULT NULL,
635                        X_Attribute8                     VARCHAR2 DEFAULT NULL,
636                        X_Attribute9                     VARCHAR2 DEFAULT NULL,
637                        X_Attribute10                    VARCHAR2 DEFAULT NULL,
638                        X_Attribute11                    VARCHAR2 DEFAULT NULL,
639                        X_Attribute12                    VARCHAR2 DEFAULT NULL,
640                        X_Attribute13                    VARCHAR2 DEFAULT NULL,
641                        X_Attribute14                    VARCHAR2 DEFAULT NULL,
642                        X_Attribute15                    VARCHAR2 DEFAULT NULL,
643                        X_Attribute16                    VARCHAR2 DEFAULT NULL,
644                        X_Attribute17                    VARCHAR2 DEFAULT NULL,
645                        X_Attribute18                    VARCHAR2 DEFAULT NULL,
646                        X_Attribute19                    VARCHAR2 DEFAULT NULL,
647                        X_Attribute20                    VARCHAR2 DEFAULT NULL,
648                        X_Attribute21                    VARCHAR2 DEFAULT NULL,
649                        X_Attribute22                    VARCHAR2 DEFAULT NULL,
650                        X_Attribute23                    VARCHAR2 DEFAULT NULL,
651                        X_Attribute24                    VARCHAR2 DEFAULT NULL,
652                        X_Attribute25                    VARCHAR2 DEFAULT NULL,
653                        X_Attribute26                    VARCHAR2 DEFAULT NULL,
654                        X_Attribute27                    VARCHAR2 DEFAULT NULL,
655                        X_Attribute28                    VARCHAR2 DEFAULT NULL,
656                        X_Attribute29                    VARCHAR2 DEFAULT NULL,
657                        X_Attribute30                    VARCHAR2 DEFAULT NULL,
658                        X_Attribute_Category_Code        VARCHAR2 DEFAULT NULL,
659                        X_gf_Attribute1                  VARCHAR2 DEFAULT NULL,
660                        X_gf_Attribute2                  VARCHAR2 DEFAULT NULL,
661                        X_gf_Attribute3                  VARCHAR2 DEFAULT NULL,
662                        X_gf_Attribute4                  VARCHAR2 DEFAULT NULL,
663                        X_gf_Attribute5                  VARCHAR2 DEFAULT NULL,
664                        X_gf_Attribute6                  VARCHAR2 DEFAULT NULL,
665                        X_gf_Attribute7                  VARCHAR2 DEFAULT NULL,
666                        X_gf_Attribute8                  VARCHAR2 DEFAULT NULL,
667                        X_gf_Attribute9                  VARCHAR2 DEFAULT NULL,
668                        X_gf_Attribute10                 VARCHAR2 DEFAULT NULL,
669                        X_gf_Attribute11                 VARCHAR2 DEFAULT NULL,
670                        X_gf_Attribute12                 VARCHAR2 DEFAULT NULL,
671                        X_gf_Attribute13                 VARCHAR2 DEFAULT NULL,
672                        X_gf_Attribute14                 VARCHAR2 DEFAULT NULL,
673                        X_gf_Attribute15                 VARCHAR2 DEFAULT NULL,
674                        X_gf_Attribute16                 VARCHAR2 DEFAULT NULL,
675                        X_gf_Attribute17                 VARCHAR2 DEFAULT NULL,
676                        X_gf_Attribute18                 VARCHAR2 DEFAULT NULL,
677                        X_gf_Attribute19                 VARCHAR2 DEFAULT NULL,
678                        X_gf_Attribute20                 VARCHAR2 DEFAULT NULL,
679                        X_gf_Attribute_Category_Code     VARCHAR2 DEFAULT NULL,
680                        X_Context                        VARCHAR2 DEFAULT NULL,
681                        X_Lease_Id                       NUMBER   DEFAULT NULL,
682                        X_Inventorial                    VARCHAR2 DEFAULT NULL,
683 		       X_Commitment			VARCHAR2 DEFAULT NULL,
684 		       X_Investment_Law			VARCHAR2 DEFAULT NULL,
685                        X_Status                         VARCHAR2 DEFAULT NULL,
686                        X_Last_Update_Date               DATE     DEFAULT NULL,
687                        X_Last_Updated_By                NUMBER   DEFAULT NULL,
688                        X_Last_Update_Login              NUMBER   DEFAULT NULL,
689                        X_Return_Status              OUT NOCOPY BOOLEAN,
690                        X_Calling_Fn                     VARCHAR2,
691                      p_log_level_rec        IN     FA_API_TYPES.log_level_rec_type default null) IS
692 
693     l_asset_id   number;
694     l_rowid      rowid;
695     l_temp_attribute15  varchar2(150);
696 
697   BEGIN
698      if (X_Rowid is NULL) then
699         select rowid
700         into   l_rowid
701         from   fa_additions_b
702         where  asset_id = X_Asset_Id;
703      else
704         l_rowid := X_Rowid;
705      end if;
706 
707      if (fa_cache_pkg.fa_crl_enabled) then
708         l_temp_attribute15 := X_Status;
709      else
710         l_temp_attribute15 := X_attribute15;
711      end if;
712 
713      UPDATE fa_additions_b
714      SET
715      asset_id                        =     decode(X_Asset_Id,
716                                                   NULL, asset_id,
717                                                   FND_API.G_MISS_NUM, NULL,
718                                                   X_Asset_Id),
719      asset_number                    =     decode(X_Asset_Number,
720                                                   NULL, asset_number,
721                                                   FND_API.G_MISS_CHAR, NULL,
722                                                   X_Asset_Number),
723      asset_key_ccid                  =     decode(X_Asset_Key_Ccid,
724                                                   NULL, asset_key_ccid,
725                                                   FND_API.G_MISS_NUM, NULL,
726                                                   X_Asset_Key_Ccid),
727      current_units                   =     decode(X_Current_Units,
728                                                   NULL, current_units,
729                                                   FND_API.G_MISS_NUM, NULL,
730                                                   X_Current_Units),
731      asset_type                      =     decode(X_Asset_Type,
732                                                   NULL, asset_type,
733                                                   FND_API.G_MISS_CHAR, NULL,
734                                                   X_Asset_Type),
735      tag_number                      =     decode(X_Tag_Number,
736                                                   NULL, tag_number,
737                                                   FND_API.G_MISS_CHAR, NULL,
738                                                   X_Tag_Number),
739      asset_category_id               =     decode(X_Asset_Category_Id,
740                                                   NULL, asset_category_id,
741                                                   FND_API.G_MISS_NUM, NULL,
742                                                   X_Asset_Category_Id),
743      parent_asset_id                 =     decode(X_Parent_Asset_Id,
744                                                   NULL, parent_asset_id,
745                                                   FND_API.G_MISS_NUM, NULL,
746                                                   X_Parent_Asset_Id),
747      manufacturer_name               =     decode(X_Manufacturer_Name,
748                                                   NULL, manufacturer_name,
749                                                   FND_API.G_MISS_CHAR, NULL,
750                                                   X_Manufacturer_Name),
751      serial_number                   =     decode(X_Serial_Number,
752                                                   NULL, serial_number,
753                                                   FND_API.G_MISS_CHAR, NULL,
754                                                   X_Serial_Number),
755      model_number                    =     decode(X_Model_Number,
756                                                   NULL, model_number,
757                                                   FND_API.G_MISS_CHAR, NULL,
758                                                   X_Model_Number),
759      property_type_code              =     decode(X_Property_Type_Code,
760                                                   NULL, property_type_code,
761                                                   FND_API.G_MISS_CHAR, NULL,
762                                                   X_Property_Type_Code),
763      property_1245_1250_code         =     decode(X_Property_1245_1250_Code,
764                                                   NULL, property_1245_1250_code,
765                                                   FND_API.G_MISS_CHAR, NULL,
766                                                   X_Property_1245_1250_Code),
767      in_use_flag                     =     decode(X_In_Use_Flag,
768                                                   NULL, in_use_flag,
769                                                   FND_API.G_MISS_CHAR, NULL,
770                                                   X_In_Use_Flag),
771      owned_leased                    =     decode(X_Owned_Leased,
772                                                   NULL, owned_leased,
773                                                   FND_API.G_MISS_CHAR, NULL,
774                                                   X_Owned_Leased),
775      new_used                        =     decode(X_New_Used,
776                                                   NULL, new_used,
777                                                   FND_API.G_MISS_CHAR, NULL,
778                                                   X_New_Used),
779      unit_adjustment_flag            =     decode(X_Unit_Adjustment_Flag,
780                                                   NULL, unit_adjustment_flag,
781                                                   FND_API.G_MISS_CHAR, NULL,
782                                                   X_Unit_Adjustment_Flag),
783      add_cost_je_flag                =     decode(X_Add_Cost_Je_Flag,
784                                                   NULL, add_cost_je_flag,
785                                                   FND_API.G_MISS_CHAR, NULL,
786                                                   X_Add_Cost_Je_Flag),
787      attribute1                      =     decode(X_Attribute1,
788                                                   NULL, attribute1,
789                                                   FND_API.G_MISS_CHAR, NULL,
790                                                   X_Attribute1),
791      attribute2                      =     decode(X_Attribute2,
792                                                   NULL, attribute2,
793                                                   FND_API.G_MISS_CHAR, NULL,
794                                                   X_Attribute2),
795      attribute3                      =     decode(X_Attribute3,
796                                                   NULL, attribute3,
797                                                   FND_API.G_MISS_CHAR, NULL,
798                                                   X_Attribute3),
799      attribute4                      =     decode(X_Attribute4,
800                                                   NULL, attribute4,
801                                                   FND_API.G_MISS_CHAR, NULL,
802                                                   X_Attribute4),
803      attribute5                      =     decode(X_Attribute5,
804                                                   NULL, attribute5,
805                                                   FND_API.G_MISS_CHAR, NULL,
806                                                   X_Attribute5),
807      attribute6                      =     decode(X_Attribute6,
808                                                   NULL, attribute6,
809                                                   FND_API.G_MISS_CHAR, NULL,
810                                                   X_Attribute6),
811      attribute7                      =     decode(X_Attribute7,
812                                                   NULL, attribute7,
813                                                   FND_API.G_MISS_CHAR, NULL,
814                                                   X_Attribute7),
815      attribute8                      =     decode(X_Attribute8,
816                                                   NULL, attribute8,
817                                                   FND_API.G_MISS_CHAR, NULL,
818                                                   X_Attribute8),
819      attribute9                      =     decode(X_Attribute9,
820                                                   NULL, attribute9,
821                                                   FND_API.G_MISS_CHAR, NULL,
822                                                   X_Attribute9),
823      attribute10                     =     decode(X_Attribute10,
824                                                   NULL, attribute10,
825                                                   FND_API.G_MISS_CHAR, NULL,
826                                                   X_Attribute10),
827      attribute11                     =     decode(X_Attribute11,
828                                                   NULL, attribute11,
829                                                   FND_API.G_MISS_CHAR, NULL,
830                                                   X_Attribute11),
831      attribute12                     =     decode(X_Attribute12,
832                                                   NULL, attribute12,
833                                                   FND_API.G_MISS_CHAR, NULL,
834                                                   X_Attribute12),
835      attribute13                     =     decode(X_Attribute13,
836                                                   NULL, attribute13,
837                                                   FND_API.G_MISS_CHAR, NULL,
838                                                   X_Attribute13),
839      attribute14                     =     decode(X_Attribute14,
840                                                   NULL, attribute14,
841                                                   FND_API.G_MISS_CHAR, NULL,
842                                                   X_Attribute14),
843      attribute15                     =     decode(l_temp_attribute15,
844                                                   NULL, attribute15,
845                                                   FND_API.G_MISS_CHAR,
846                                                   NULL,
847                                                   l_temp_attribute15),
848      attribute16                     =     decode(X_Attribute16,
849                                                   NULL, attribute16,
850                                                   FND_API.G_MISS_CHAR, NULL,
851                                                   X_Attribute16),
852      attribute17                     =     decode(X_Attribute17,
853                                                   NULL, attribute17,
854                                                   FND_API.G_MISS_CHAR, NULL,
855                                                   X_Attribute17),
856      attribute18                     =     decode(X_Attribute18,
857                                                   NULL, attribute18,
858                                                   FND_API.G_MISS_CHAR, NULL,
859                                                   X_Attribute18),
860      attribute19                     =     decode(X_Attribute19,
861                                                   NULL, attribute19,
862                                                   FND_API.G_MISS_CHAR, NULL,
863                                                   X_Attribute19),
864      attribute20                     =     decode(X_Attribute20,
865                                                   NULL, attribute20,
866                                                   FND_API.G_MISS_CHAR, NULL,
867                                                   X_Attribute20),
868      attribute21                     =     decode(X_Attribute21,
869                                                   NULL, attribute21,
870                                                   FND_API.G_MISS_CHAR, NULL,
871                                                   X_Attribute21),
872      attribute22                     =     decode(X_Attribute22,
873                                                   NULL, attribute22,
874                                                   FND_API.G_MISS_CHAR, NULL,
875                                                   X_Attribute22),
876      attribute23                     =     decode(X_Attribute23,
877                                                   NULL, attribute23,
878                                                   FND_API.G_MISS_CHAR, NULL,
879                                                   X_Attribute23),
880      attribute24                     =     decode(X_Attribute24,
881                                                   NULL, attribute24,
882                                                   FND_API.G_MISS_CHAR, NULL,
883                                                   X_Attribute24),
884      attribute25                     =     decode(X_Attribute25,
885                                                   NULL, attribute25,
886                                                   FND_API.G_MISS_CHAR, NULL,
887                                                   X_Attribute25),
888      attribute26                     =     decode(X_Attribute26,
889                                                   NULL, attribute26,
890                                                   FND_API.G_MISS_CHAR, NULL,
891                                                   X_Attribute26),
892      attribute27                     =     decode(X_Attribute27,
893                                                   NULL, attribute27,
894                                                   FND_API.G_MISS_CHAR, NULL,
895                                                   X_Attribute27),
896      attribute28                     =     decode(X_Attribute28,
897                                                   NULL, attribute28,
898                                                   FND_API.G_MISS_CHAR, NULL,
899                                                   X_Attribute28),
900      attribute29                     =     decode(X_Attribute29,
901                                                   NULL, attribute29,
902                                                   FND_API.G_MISS_CHAR, NULL,
903                                                   X_Attribute29),
904      attribute30                     =     decode(X_Attribute30,
905                                                   NULL, attribute30,
906                                                   FND_API.G_MISS_CHAR, NULL,
907                                                   X_Attribute30),
908      attribute_category_code         =     decode(X_Attribute_Category_Code,
909                                                   NULL, attribute_category_code,
910                                                   FND_API.G_MISS_CHAR, NULL,
911                                                   X_Attribute_Category_Code),
912      global_attribute1               =     decode(X_gf_Attribute1,
913                                                   NULL, global_attribute1,
914                                                   FND_API.G_MISS_CHAR, NULL,
915                                                   X_gf_Attribute1),
916      global_attribute2               =     decode(X_gf_Attribute2,
917                                                   NULL, global_attribute2,
918                                                   FND_API.G_MISS_CHAR, NULL,
919                                                   X_gf_Attribute2),
920      global_attribute3               =     decode(X_gf_Attribute3,
921                                                   NULL, global_attribute3,
922                                                   FND_API.G_MISS_CHAR, NULL,
923                                                   X_gf_Attribute3),
924      global_attribute4               =     decode(X_gf_Attribute4,
925                                                   NULL, global_attribute4,
926                                                   FND_API.G_MISS_CHAR, NULL,
927                                                   X_gf_Attribute4),
928      global_attribute5               =     decode(X_gf_Attribute5,
929                                                   NULL, global_attribute5,
930                                                   FND_API.G_MISS_CHAR, NULL,
931                                                   X_gf_Attribute5),
932      global_attribute6               =     decode(X_gf_Attribute6,
933                                                   NULL, global_attribute6,
934                                                   FND_API.G_MISS_CHAR, NULL,
935                                                   X_gf_Attribute6),
936      global_attribute7               =     decode(X_gf_Attribute7,
937                                                   NULL, global_attribute7,
938                                                   FND_API.G_MISS_CHAR, NULL,
939                                                   X_gf_Attribute7),
940      global_attribute8               =     decode(X_gf_Attribute8,
941                                                   NULL, global_attribute8,
942                                                   FND_API.G_MISS_CHAR, NULL,
943                                                   X_gf_Attribute8),
944      global_attribute9               =     decode(X_gf_Attribute9,
945                                                   NULL, global_attribute9,
946                                                   FND_API.G_MISS_CHAR, NULL,
947                                                   X_gf_Attribute9),
948      global_attribute10              =     decode(X_gf_Attribute10,
949                                                   NULL, global_attribute10,
950                                                   FND_API.G_MISS_CHAR, NULL,
951                                                   X_gf_Attribute10),
952      global_attribute11              =     decode(X_gf_Attribute11,
953                                                   NULL, global_attribute11,
954                                                   FND_API.G_MISS_CHAR, NULL,
955                                                   X_gf_Attribute11),
956      global_attribute12              =     decode(X_gf_Attribute12,
957                                                   NULL, global_attribute12,
958                                                   FND_API.G_MISS_CHAR, NULL,
959                                                   X_gf_Attribute12),
960      global_attribute13              =     decode(X_gf_Attribute13,
961                                                   NULL, global_attribute13,
962                                                   FND_API.G_MISS_CHAR, NULL,
963                                                   X_gf_Attribute13),
964      global_attribute14              =     decode(X_gf_Attribute14,
965                                                   NULL, global_attribute14,
966                                                   FND_API.G_MISS_CHAR, NULL,
967                                                   X_gf_Attribute14),
968      global_attribute15              =     decode(X_gf_Attribute15,
969                                                   NULL, global_attribute15,
970                                                   FND_API.G_MISS_CHAR, NULL,
971                                                   X_gf_Attribute15),
972      global_attribute16              =     decode(X_gf_Attribute16,
973                                                   NULL, global_attribute16,
974                                                   FND_API.G_MISS_CHAR, NULL,
975                                                   X_gf_Attribute16),
976      global_attribute17              =     decode(X_gf_Attribute17,
977                                                   NULL, global_attribute17,
978                                                   FND_API.G_MISS_CHAR, NULL,
979                                                   X_gf_Attribute17),
980      global_attribute18              =     decode(X_gf_Attribute18,
981                                                   NULL, global_attribute18,
982                                                   FND_API.G_MISS_CHAR, NULL,
983                                                   X_gf_Attribute18),
984      global_attribute19              =     decode(X_gf_Attribute19,
985                                                   NULL, global_attribute19,
986                                                   FND_API.G_MISS_CHAR, NULL,
987                                                   X_gf_Attribute19),
988      global_attribute20              =     decode(X_gf_Attribute20,
989                                                   NULL, global_attribute20,
990                                                   FND_API.G_MISS_CHAR, NULL,
991                                                   X_gf_Attribute20),
992      global_attribute_category       =     decode(X_gf_Attribute_category_code,
993                                                   NULL,
994                                                      global_attribute_category,
995                                                   FND_API.G_MISS_CHAR, NULL,
996                                                   X_gf_Attribute_category_code),
997      context                         =     decode(X_Context,
998                                                   NULL, context,
999                                                   FND_API.G_MISS_CHAR, NULL,
1000                                                   X_Context),
1001      lease_id                        =     decode(X_Lease_Id,
1002                                                   NULL, lease_id,
1003                                                   FND_API.G_MISS_NUM, NULL,
1004                                                   X_Lease_Id),
1005      inventorial                     =     decode(X_Inventorial,
1006                                                   NULL, inventorial,
1007                                                   FND_API.G_MISS_CHAR, NULL,
1008                                                   X_Inventorial),
1009      commitment                      =     decode(X_Commitment,
1010                                                   NULL, commitment,
1011                                                   FND_API.G_MISS_CHAR, NULL,
1012                                                   X_commitment),
1013      investment_law                  =     decode(X_investment_law,
1014                                                   NULL, investment_law,
1015                                                   FND_API.G_MISS_CHAR, NULL,
1016                                                   X_investment_law),
1017      last_update_date                =     decode(X_Last_Update_Date,
1018                                                   NULL, last_update_date,
1019                                                   X_Last_Update_Date),
1020      last_updated_by                 =     decode(X_Last_Updated_By,
1021                                                   NULL, last_updated_by,
1022                                                   FND_API.G_MISS_NUM, NULL,
1023                                                   X_Last_Updated_By),
1024      last_update_login               =     decode(X_Last_Update_Login,
1025                                                   NULL, last_update_login,
1026                                                   FND_API.G_MISS_NUM, NULL,
1027                                                   X_Last_Update_Login)
1028      WHERE rowid = l_rowid;
1029 
1030     if (SQL%NOTFOUND) then
1031       Raise NO_DATA_FOUND;
1032     end if;
1033 
1034     if (X_asset_id is NULL) then
1035        select asset_id
1036          into l_asset_id
1037          from fa_additions
1038         where rowid = X_rowid;
1039     else
1040        l_asset_id := X_asset_id;
1041     end if;
1042 
1043     update FA_ADDITIONS_TL set
1044                DESCRIPTION       = decode(X_DESCRIPTION,
1045                                           NULL, description,
1046                                           FND_API.G_MISS_CHAR, NULL,
1047                                           X_description),
1048                LAST_UPDATE_DATE  = decode(X_LAST_UPDATE_DATE,
1049                                           NULL, last_update_date,
1050                                           X_LAST_UPDATE_DATE),
1051                LAST_UPDATED_BY   = decode(X_LAST_UPDATED_BY,
1052                                           NULL, last_updated_by,
1053                                           FND_API.G_MISS_NUM, NULL,
1054                                           X_LAST_UPDATED_BY),
1055                LAST_UPDATE_LOGIN = decode(X_LAST_UPDATE_LOGIN,
1056                                           NULL, last_update_login,
1057                                           FND_API.G_MISS_NUM, NULL,
1058                                           X_LAST_UPDATE_LOGIN),
1059                SOURCE_LANG       = userenv('LANG')
1060     where ASSET_ID = L_ASSET_ID
1061     and userenv('LANG') in (LANGUAGE, SOURCE_LANG);
1062 
1063     if (SQL%NOTFOUND) then
1064         raise no_data_found;
1065     end if;
1066 
1067     X_Return_Status := TRUE;
1068 
1069   exception
1070     when others then
1071       FA_SRVR_MSG.Add_SQL_Error(
1072           CALLING_FN => 'FA_ADDITIONS_PKG.Update_Row'
1073           ,p_log_level_rec => p_log_level_rec);
1074       X_Return_Status := FALSE;
1075       raise;
1076   END Update_Row;
1077 
1078   PROCEDURE Delete_Row(X_Rowid VARCHAR2,
1079                  X_Asset_Id     number,
1080                  X_calling_Fn               VARCHAR2,
1081                  p_log_level_rec        IN     FA_API_TYPES.log_level_rec_type default null) IS
1082 
1083 --    CURSOR C IS SELECT asset_id FROM fa_additions_B
1084 --                 WHERE rowid = X_Rowid;
1085     h_asset_id    number(15);
1086   BEGIN
1087 
1088 --   OPEN C;
1089 --    FETCH C INTO h_asset_id;
1090 --    CLOSE C;
1091 
1092     delete from FA_ADDITIONS_TL
1093     where ASSET_ID = X_asset_id;
1094 
1095     if (sql%notfound) then
1096       raise no_data_found;
1097     end if;
1098 
1099     DELETE FROM fa_additions_b
1100     WHERE asset_id = X_asset_id;
1101 
1102     if (SQL%NOTFOUND) then
1103       Raise NO_DATA_FOUND;
1104     end if;
1105 
1106   exception
1107     when others then
1108       FA_SRVR_MSG.ADD_SQL_ERROR (
1109           CALLING_FN => 'fa_additions_pkg.delete_row'
1110           ,p_log_level_rec => p_log_level_rec);
1111       raise;
1112 
1113   END Delete_Row;
1114 
1115 
1116 
1117   PROCEDURE Update_Units(X_Asset_Id     NUMBER,
1118                    X_Calling_Fn               VARCHAR2,
1119                    p_log_level_rec        IN     FA_API_TYPES.log_level_rec_type default null) IS
1120   BEGIN
1121      UPDATE fa_additions_b
1122      SET current_units = (select units from fa_asset_history
1123                where asset_id = X_Asset_Id
1124                and date_ineffective is null)
1125      WHERE asset_id = X_Asset_Id;
1126      if (SQL%NOTFOUND) then
1127                 Raise NO_DATA_FOUND;
1128          end if;
1129 
1130   exception
1131     when others then
1132       FA_SRVR_MSG.ADD_SQL_ERROR (
1133            CALLING_FN => 'fa_additions_pkg.update_units'
1134            ,p_log_level_rec => p_log_level_rec);
1135       raise;
1136 
1137   END Update_Units;
1138 
1139 -- new procedure for mls (multi-lingual support)
1140 -- following procedures either add new rows or
1141 -- repair old rows in fa_addtions_tl table
1142 -- which stores translation info.
1143 
1144   PROCEDURE ADD_LANGUAGE is
1145 
1146   BEGIN
1147 
1148   -- delete from tl table if same asset doesn't exist in base table
1149        delete from FA_ADDITIONS_TL T
1150        where not exists
1151          (select NULL
1152           from   FA_ADDITIONS_B B
1153           where  B.ASSET_ID = T.ASSET_ID
1154          );
1155 
1156   --  repair description in tl table
1157            update FA_ADDITIONS_TL T
1158               set (DESCRIPTION) =
1159                   (select B.DESCRIPTION
1160                      from FA_ADDITIONS_TL B
1161                     where B.ASSET_ID = T.ASSET_ID
1162                       and B.LANGUAGE = T.SOURCE_LANG)
1163             where (T.ASSET_ID, T.LANGUAGE) in
1164                   (select SUBT.ASSET_ID,
1165                           SUBT.LANGUAGE
1166                      from FA_ADDITIONS_TL SUBB, FA_ADDITIONS_TL SUBT
1167                     where SUBB.ASSET_ID = SUBT.ASSET_ID
1168                       and SUBB.LANGUAGE = SUBT.SOURCE_LANG
1169                       and (SUBB.DESCRIPTION <> SUBT.DESCRIPTION));
1170 
1171 -- insert new row into fa_additions_tl for new language
1172 
1173        insert into FA_ADDITIONS_TL (
1174                    LAST_UPDATED_BY,
1175                    CREATED_BY,
1176                    CREATION_DATE,
1177                    LAST_UPDATE_LOGIN,
1178                    ASSET_ID,
1179                    DESCRIPTION,
1180                    LAST_UPDATE_DATE,
1181                    LANGUAGE,
1182                    SOURCE_LANG)
1183            select
1184                    B.LAST_UPDATED_BY,
1185                    B.CREATED_BY,
1186                    B.CREATION_DATE,
1187                    B.LAST_UPDATE_LOGIN,
1188                    B.ASSET_ID,
1189                    B.DESCRIPTION,
1190                    B.LAST_UPDATE_DATE,
1191                    L.LANGUAGE_CODE,
1192                    B.SOURCE_LANG
1193             from FA_ADDITIONS_TL B, FND_LANGUAGES L
1194             where L.INSTALLED_FLAG in ('I', 'B')
1195             and B.LANGUAGE = userenv('LANG')
1196             and not exists
1197                    (select NULL
1198                     from FA_ADDITIONS_TL T
1199                     where T.ASSET_ID = B.ASSET_ID
1200                     and T.LANGUAGE = L.LANGUAGE_CODE);
1201 end ADD_LANGUAGE;
1202 
1203 PROCEDURE LOAD_ROW (
1204       X_Custom_Mode                    IN VARCHAR2,
1205       X_Asset_Id                       IN NUMBER,
1206       X_Owner                          IN VARCHAR2,
1207       X_Last_Update_Date               IN DATE,
1208       X_Asset_Number                   IN VARCHAR2,
1209       X_Asset_Key_Ccid                 IN NUMBER DEFAULT NULL,
1210       X_Current_Units                  IN NUMBER,
1211       X_Asset_Type                     IN VARCHAR2,
1212       X_Tag_Number                     IN VARCHAR2 DEFAULT NULL,
1213       X_Description                    IN VARCHAR2,
1214       X_Asset_Category_Id              IN NUMBER,
1215       X_Parent_Asset_Id                IN NUMBER DEFAULT NULL,
1216       X_Manufacturer_Name              IN VARCHAR2 DEFAULT NULL,
1217       X_Serial_Number                  IN VARCHAR2 DEFAULT NULL,
1218       X_Model_Number                   IN VARCHAR2 DEFAULT NULL,
1219       X_Property_Type_Code             IN VARCHAR2 DEFAULT NULL,
1220       X_Property_1245_1250_Code        IN VARCHAR2 DEFAULT NULL,
1221       X_In_Use_Flag                    IN VARCHAR2,
1222       X_Owned_Leased                   IN VARCHAR2,
1223       X_New_Used                       IN VARCHAR2,
1224       X_Unit_Adjustment_Flag           IN VARCHAR2,
1225       X_Add_Cost_Je_Flag               IN VARCHAR2,
1226       X_Attribute1                     IN VARCHAR2 DEFAULT NULL,
1227       X_Attribute2                     IN VARCHAR2 DEFAULT NULL,
1228       X_Attribute3                     IN VARCHAR2 DEFAULT NULL,
1229       X_Attribute4                     IN VARCHAR2 DEFAULT NULL,
1230       X_Attribute5                     IN VARCHAR2 DEFAULT NULL,
1231       X_Attribute6                     IN VARCHAR2 DEFAULT NULL,
1232       X_Attribute7                     IN VARCHAR2 DEFAULT NULL,
1233       X_Attribute8                     IN VARCHAR2 DEFAULT NULL,
1234       X_Attribute9                     IN VARCHAR2 DEFAULT NULL,
1235       X_Attribute10                    IN VARCHAR2 DEFAULT NULL,
1236       X_Attribute11                    IN VARCHAR2 DEFAULT NULL,
1237       X_Attribute12                    IN VARCHAR2 DEFAULT NULL,
1238       X_Attribute13                    IN VARCHAR2 DEFAULT NULL,
1239       X_Attribute14                    IN VARCHAR2 DEFAULT NULL,
1240       X_Attribute15                    IN VARCHAR2 DEFAULT NULL,
1241       X_Attribute16                    IN VARCHAR2 DEFAULT NULL,
1242       X_Attribute17                    IN VARCHAR2 DEFAULT NULL,
1243       X_Attribute18                    IN VARCHAR2 DEFAULT NULL,
1244       X_Attribute19                    IN VARCHAR2 DEFAULT NULL,
1245       X_Attribute20                    IN VARCHAR2 DEFAULT NULL,
1246       X_Attribute21                    IN VARCHAR2 DEFAULT NULL,
1247       X_Attribute22                    IN VARCHAR2 DEFAULT NULL,
1248       X_Attribute23                    IN VARCHAR2 DEFAULT NULL,
1249       X_Attribute24                    IN VARCHAR2 DEFAULT NULL,
1250       X_Attribute25                    IN VARCHAR2 DEFAULT NULL,
1251       X_Attribute26                    IN VARCHAR2 DEFAULT NULL,
1252       X_Attribute27                    IN VARCHAR2 DEFAULT NULL,
1253       X_Attribute28                    IN VARCHAR2 DEFAULT NULL,
1254       X_Attribute29                    IN VARCHAR2 DEFAULT NULL,
1255       X_Attribute30                    IN VARCHAR2 DEFAULT NULL,
1256       X_Attribute_Category_Code        IN VARCHAR2,
1257       X_Context                        IN VARCHAR2 DEFAULT NULL,
1258       X_Lease_Id                       IN NUMBER DEFAULT NULL,
1259       X_Inventorial                    IN VARCHAR2,
1260       X_Commitment                     IN VARCHAR2 DEFAULT NULL,
1261       X_Investment_Law                 IN VARCHAR2 DEFAULT NULL,
1262       X_Status                         IN VARCHAR2 DEFAULT NULL,
1263       X_gf_Attribute1                  IN VARCHAR2 DEFAULT NULL,
1264       X_gf_Attribute2                  IN VARCHAR2 DEFAULT NULL,
1265       X_gf_Attribute3                  IN VARCHAR2 DEFAULT NULL,
1266       X_gf_Attribute4                  IN VARCHAR2 DEFAULT NULL,
1267       X_gf_Attribute5                  IN VARCHAR2 DEFAULT NULL,
1268       X_gf_Attribute6                  IN VARCHAR2 DEFAULT NULL,
1269       X_gf_Attribute7                  IN VARCHAR2 DEFAULT NULL,
1270       X_gf_Attribute8                  IN VARCHAR2 DEFAULT NULL,
1271       X_gf_Attribute9                  IN VARCHAR2 DEFAULT NULL,
1272       X_gf_Attribute10                 IN VARCHAR2 DEFAULT NULL,
1273       X_gf_Attribute11                 IN VARCHAR2 DEFAULT NULL,
1274       X_gf_Attribute12                 IN VARCHAR2 DEFAULT NULL,
1275       X_gf_Attribute13                 IN VARCHAR2 DEFAULT NULL,
1276       X_gf_Attribute14                 IN VARCHAR2 DEFAULT NULL,
1277       X_gf_Attribute15                 IN VARCHAR2 DEFAULT NULL,
1278       X_gf_Attribute16                 IN VARCHAR2 DEFAULT NULL,
1279       X_gf_Attribute17                 IN VARCHAR2 DEFAULT NULL,
1280       X_gf_Attribute18                 IN VARCHAR2 DEFAULT NULL,
1281       X_gf_Attribute19                 IN VARCHAR2 DEFAULT NULL,
1282       X_gf_Attribute20                 IN VARCHAR2 DEFAULT NULL,
1283       X_gf_Attribute_Category          IN VARCHAR2 DEFAULT NULL,
1284       p_log_level_rec        IN     FA_API_TYPES.log_level_rec_type default null) IS
1285 
1286      h_asset_id     number;
1287      h_asset_number     varchar2(15);
1288      h_record_exists     number(15);
1289 
1290      user_id             number;
1291      row_id              varchar2(64);
1292      return_status       boolean;
1293 
1294      db_last_updated_by  number;
1295      db_last_update_date date;
1296 
1297    begin
1298 
1299      h_asset_id := X_Asset_Id;
1300      h_asset_number := X_Asset_Number;
1301 
1302      user_id := fnd_load_util.owner_id (X_Owner);
1303 
1304      select count(*)
1305      into   h_record_exists
1306      from   fa_additions_b
1307      where  asset_id = X_Asset_Id;
1308 
1309      if (h_record_exists > 0) then
1310 
1311         select last_updated_by, last_update_date
1312         into   db_last_updated_by, db_last_update_date
1313         from   fa_additions_b
1314         where  asset_id = X_Asset_Id;
1315 
1316         if (fnd_load_util.upload_test(user_id, x_last_update_date,
1317                                       db_last_updated_by, db_last_update_date,
1318                                       X_CUSTOM_MODE
1319                                       )) then
1320 
1321            fa_additions_pkg.Update_Row(
1322              X_Asset_Id                   => h_asset_id,
1323              X_Asset_Number               => h_asset_number,
1324              X_Asset_Key_Ccid             => X_Asset_Key_Ccid,
1325              X_Current_Units              => X_Current_Units,
1326              X_Asset_Type                 => X_Asset_Type,
1327              X_Tag_Number                 => X_Tag_Number,
1328              X_Description                => X_Description,
1329              X_Asset_Category_Id          => X_Asset_Category_Id,
1330              X_Parent_Asset_Id            => X_Parent_Asset_Id,
1331              X_Manufacturer_Name          => X_Manufacturer_Name,
1332              X_Serial_Number              => X_Serial_Number,
1333              X_Model_Number               => X_Model_Number,
1334              X_Property_Type_Code         => X_Property_Type_Code,
1335              X_Property_1245_1250_Code    => X_Property_1245_1250_Code,
1336              X_In_Use_Flag                => X_In_Use_Flag,
1337              X_Owned_Leased               => X_Owned_Leased,
1338              X_New_Used                   => X_New_Used,
1339              X_Unit_Adjustment_Flag       => X_Unit_Adjustment_Flag,
1340              X_Add_Cost_Je_Flag           => X_Add_Cost_Je_Flag,
1341              X_Attribute1                 => X_Attribute1,
1342              X_Attribute2                 => X_Attribute2,
1343              X_Attribute3                 => X_Attribute3,
1344              X_Attribute4                 => X_Attribute4,
1345              X_Attribute5                 => X_Attribute5,
1346              X_Attribute6                 => X_Attribute6,
1347              X_Attribute7                 => X_Attribute7,
1348              X_Attribute8                 => X_Attribute8,
1349              X_Attribute9                 => X_Attribute9,
1350              X_Attribute10                => X_Attribute10,
1351              X_Attribute11                => X_Attribute11,
1352              X_Attribute12                => X_Attribute12,
1353              X_Attribute13                => X_Attribute13,
1354              X_Attribute14                => X_Attribute14,
1355              X_Attribute15                => X_Attribute15,
1356              X_Attribute16                => X_Attribute16,
1357              X_Attribute17                => X_Attribute17,
1358              X_Attribute18                => X_Attribute18,
1359              X_Attribute19                => X_Attribute19,
1360              X_Attribute20                => X_Attribute20,
1361              X_Attribute21                => X_Attribute21,
1362              X_Attribute22                => X_Attribute22,
1363              X_Attribute23                => X_Attribute23,
1364              X_Attribute24                => X_Attribute24,
1365              X_Attribute25                => X_Attribute25,
1366              X_Attribute26                => X_Attribute26,
1367              X_Attribute27                => X_Attribute27,
1368              X_Attribute28                => X_Attribute28,
1369              X_Attribute29                => X_Attribute29,
1370              X_Attribute30                => X_Attribute30,
1371              X_Attribute_Category_Code    => X_Attribute_Category_Code,
1372              X_gf_Attribute1              => X_gf_Attribute1,
1373              X_gf_Attribute2              => X_gf_Attribute2,
1374              X_gf_Attribute3              => X_gf_Attribute3,
1375              X_gf_Attribute4              => X_gf_Attribute4,
1376              X_gf_Attribute5              => X_gf_Attribute5,
1377              X_gf_Attribute6              => X_gf_Attribute6,
1378              X_gf_Attribute7              => X_gf_Attribute7,
1379              X_gf_Attribute8              => X_gf_Attribute8,
1380              X_gf_Attribute9              => X_gf_Attribute9,
1381              X_gf_Attribute10             => X_gf_Attribute10,
1382              X_gf_Attribute11             => X_gf_Attribute11,
1383              X_gf_Attribute12             => X_gf_Attribute12,
1384              X_gf_Attribute13             => X_gf_Attribute13,
1385              X_gf_Attribute14             => X_gf_Attribute14,
1386              X_gf_Attribute15             => X_gf_Attribute15,
1387              X_gf_Attribute16             => X_gf_Attribute16,
1388              X_gf_Attribute17             => X_gf_Attribute17,
1389              X_gf_Attribute18             => X_gf_Attribute18,
1390              X_gf_Attribute19             => X_gf_Attribute19,
1391              X_gf_Attribute20             => X_gf_Attribute20,
1392              X_gf_Attribute_Category_Code => X_gf_Attribute_Category,
1393              X_Context                    => X_Context,
1394              X_Lease_Id                   => X_Lease_Id,
1395              X_Inventorial                => X_Inventorial,
1396              X_Commitment                 => X_Commitment,
1397              X_Investment_Law             => X_Investment_Law,
1398              X_Status                     => X_Status,
1399              X_Last_Update_Date           => sysdate,
1400              X_Last_Updated_By            => user_id,
1401              X_Last_Update_Login          => 0,
1402              X_Return_Status              => return_status,
1403              X_Calling_Fn                 => 'fa_additions_pkg.load_row',
1404              p_log_level_rec => p_log_level_rec);
1405         end if;
1406 
1407      else
1408         fa_additions_pkg.Insert_Row(
1409           X_Rowid                      => row_id,
1410           X_Asset_Id                   => h_asset_id,
1411           X_Asset_Number               => h_asset_number,
1412           X_Asset_Key_Ccid             => X_Asset_Key_Ccid,
1413           X_Current_Units              => X_Current_Units,
1414           X_Asset_Type                 => X_Asset_Type,
1415           X_Tag_Number                 => X_Tag_Number,
1416           X_Description                => X_Description,
1417           X_Asset_Category_Id          => X_Asset_Category_Id,
1418           X_Parent_Asset_Id            => X_Parent_Asset_Id,
1419           X_Manufacturer_Name          => X_Manufacturer_Name,
1420           X_Serial_Number              => X_Serial_Number,
1421           X_Model_Number               => X_Model_Number,
1422           X_Property_Type_Code         => X_Property_Type_Code,
1423           X_Property_1245_1250_Code    => X_Property_1245_1250_Code,
1424           X_In_Use_Flag                => X_In_Use_Flag,
1425           X_Owned_Leased               => X_Owned_Leased,
1426           X_New_Used                   => X_New_Used,
1427           X_Unit_Adjustment_Flag       => X_Unit_Adjustment_Flag,
1428           X_Add_Cost_Je_Flag           => X_Add_Cost_Je_Flag,
1429           X_Attribute1                 => X_Attribute1,
1430           X_Attribute2                 => X_Attribute2,
1431           X_Attribute3                 => X_Attribute3,
1432           X_Attribute4                 => X_Attribute4,
1433           X_Attribute5                 => X_Attribute5,
1434           X_Attribute6                 => X_Attribute6,
1435           X_Attribute7                 => X_Attribute7,
1436           X_Attribute8                 => X_Attribute8,
1437           X_Attribute9                 => X_Attribute9,
1438           X_Attribute10                => X_Attribute10,
1439           X_Attribute11                => X_Attribute11,
1440           X_Attribute12                => X_Attribute12,
1441           X_Attribute13                => X_Attribute13,
1442           X_Attribute14                => X_Attribute14,
1443           X_Attribute15                => X_Attribute15,
1444           X_Attribute16                => X_Attribute16,
1445           X_Attribute17                => X_Attribute17,
1446           X_Attribute18                => X_Attribute18,
1447           X_Attribute19                => X_Attribute19,
1448           X_Attribute20                => X_Attribute20,
1449           X_Attribute21                => X_Attribute21,
1450           X_Attribute22                => X_Attribute22,
1451           X_Attribute23                => X_Attribute23,
1452           X_Attribute24                => X_Attribute24,
1453           X_Attribute25                => X_Attribute25,
1454           X_Attribute26                => X_Attribute26,
1455           X_Attribute27                => X_Attribute27,
1456           X_Attribute28                => X_Attribute28,
1457           X_Attribute29                => X_Attribute29,
1458           X_Attribute30                => X_Attribute30,
1459           X_Attribute_Category_Code    => X_Attribute_Category_Code,
1460           X_gf_Attribute1              => X_gf_Attribute1,
1461           X_gf_Attribute2              => X_gf_Attribute2,
1462           X_gf_Attribute3              => X_gf_Attribute3,
1463           X_gf_Attribute4              => X_gf_Attribute4,
1464           X_gf_Attribute5              => X_gf_Attribute5,
1465           X_gf_Attribute6              => X_gf_Attribute6,
1466           X_gf_Attribute7              => X_gf_Attribute7,
1467           X_gf_Attribute8              => X_gf_Attribute8,
1468           X_gf_Attribute9              => X_gf_Attribute9,
1469           X_gf_Attribute10             => X_gf_Attribute10,
1470           X_gf_Attribute11             => X_gf_Attribute11,
1471           X_gf_Attribute12             => X_gf_Attribute12,
1472           X_gf_Attribute13             => X_gf_Attribute13,
1473           X_gf_Attribute14             => X_gf_Attribute14,
1474           X_gf_Attribute15             => X_gf_Attribute15,
1475           X_gf_Attribute16             => X_gf_Attribute16,
1476           X_gf_Attribute17             => X_gf_Attribute17,
1477           X_gf_Attribute18             => X_gf_Attribute18,
1478           X_gf_Attribute19             => X_gf_Attribute19,
1479           X_gf_Attribute20             => X_gf_Attribute20,
1480           X_gf_Attribute_Category_Code => X_gf_Attribute_Category,
1481           X_Context                    => X_Context,
1482           X_Lease_Id                   => X_Lease_Id,
1483           X_Inventorial                => X_Inventorial,
1484 	  X_Commitment		       => X_Commitment,
1485 	  X_Investment_Law	       => X_Investment_Law,
1486           X_Status                     => X_Status,
1487           X_Last_Update_Date           => sysdate,
1488           X_Last_Updated_By            => user_id,
1489           X_Created_By                 => user_id,
1490           X_Creation_Date              => sysdate,
1491           X_Last_Update_Login          => 0,
1492           X_Calling_Fn                 => 'fa_additions_pkg.load_row'
1493           ,p_log_level_rec => p_log_level_rec);
1494      end if;
1495 
1496 EXCEPTION
1497      when others then
1498        FA_SRVR_MSG.ADD_SQL_ERROR (
1499            CALLING_FN => 'fa_additions_pkg.load_row'
1500            ,p_log_level_rec => p_log_level_rec);
1501        raise;
1502 
1503 end LOAD_ROW;
1504 
1505 PROCEDURE TRANSLATE_ROW(
1506           X_Custom_Mode                    IN VARCHAR2,
1507           X_Asset_Id                       IN NUMBER,
1508           X_Owner                          IN VARCHAR2,
1509           X_Last_Update_Date               IN DATE,
1510           X_Description                    IN VARCHAR2,
1511           p_log_level_rec        IN     FA_API_TYPES.log_level_rec_type default null) IS
1512 
1513   user_id              number;
1514 
1515   db_last_updated_by   number;
1516   db_last_update_date  date;
1517 
1518 BEGIN
1519 
1520    select last_updated_by, last_update_date
1521    into   db_last_updated_by, db_last_update_date
1522    from   fa_additions_tl
1523    where  userenv('LANG') in (LANGUAGE, SOURCE_LANG)
1524    and    asset_id = X_Asset_ID;
1525 
1526    user_id := fnd_load_util.owner_id (X_Owner);
1527 
1528    if (fnd_load_util.upload_test(user_id, x_last_update_date,
1529                                  db_last_updated_by, db_last_update_date,
1530                                  X_CUSTOM_MODE )) then
1531 
1532       update FA_ADDITIONS_TL set
1533          DESCRIPTION = nvl(X_Description, DESCRIPTION),
1534          LAST_UPDATE_DATE = sysdate,
1535          LAST_UPDATED_BY = 0,
1536          LAST_UPDATE_LOGIN = 0,
1537          SOURCE_LANG = userenv('LANG')
1538       where userenv('LANG') in (LANGUAGE, SOURCE_LANG)
1539       and   ASSET_ID = X_Asset_ID;
1540 
1541    end if;
1542 
1543 EXCEPTION
1544    when no_data_found then null;
1545 
1546    when others then
1547          FA_SRVR_MSG.ADD_SQL_ERROR (
1548            CALLING_FN => 'fa_additions_pkg.translate_row'
1549            ,p_log_level_rec => p_log_level_rec);
1550          raise;
1551 
1552 END TRANSLATE_ROW;
1553 
1554 PROCEDURE LOAD_SEED_ROW (
1555              x_upload_mode              IN VARCHAR2,
1556              x_custom_mode              IN VARCHAR2,
1557              x_asset_id                 IN NUMBER,
1558              x_owner                    IN VARCHAR2,
1559              x_last_update_date         IN DATE,
1560              x_asset_number             IN VARCHAR2,
1561              x_asset_key_ccid           IN NUMBER,
1562              x_current_units            IN NUMBER,
1563              x_asset_type               IN VARCHAR2,
1564              x_tag_number               IN VARCHAR2,
1565              x_description              IN VARCHAR2,
1566              x_asset_category_id        IN NUMBER,
1567              x_parent_asset_id          IN NUMBER,
1568              x_manufacturer_name        IN VARCHAR2,
1569              x_serial_number            IN VARCHAR2,
1570              x_model_number             IN VARCHAR2,
1571              x_property_type_code       IN VARCHAR2,
1572              x_property_1245_1250_code  IN VARCHAR2,
1573              x_in_use_flag              IN VARCHAR2,
1574              x_owned_leased             IN VARCHAR2,
1575              x_new_used                 IN VARCHAR2,
1576              x_unit_adjustment_flag     IN VARCHAR2,
1577              x_add_cost_je_flag         IN VARCHAR2,
1578              x_attribute1               IN VARCHAR2,
1579              x_attribute2               IN VARCHAR2,
1580              x_attribute3               IN VARCHAR2,
1581              x_attribute4               IN VARCHAR2,
1582              x_attribute5               IN VARCHAR2,
1583              x_attribute6               IN VARCHAR2,
1584              x_attribute7               IN VARCHAR2,
1585              x_attribute8               IN VARCHAR2,
1586              x_attribute9               IN VARCHAR2,
1587              x_attribute10              IN VARCHAR2,
1588              x_attribute11              IN VARCHAR2,
1589              x_attribute12              IN VARCHAR2,
1590              x_attribute13              IN VARCHAR2,
1591              x_attribute14              IN VARCHAR2,
1592              x_attribute15              IN VARCHAR2,
1593              x_attribute16              IN VARCHAR2,
1594              x_attribute17              IN VARCHAR2,
1595              x_attribute18              IN VARCHAR2,
1596              x_attribute19              IN VARCHAR2,
1597              x_attribute20              IN VARCHAR2,
1598              x_attribute21              IN VARCHAR2,
1599              x_attribute22              IN VARCHAR2,
1600              x_attribute23              IN VARCHAR2,
1601              x_attribute24              IN VARCHAR2,
1602              x_attribute25              IN VARCHAR2,
1603              x_attribute26              IN VARCHAR2,
1604              x_attribute27              IN VARCHAR2,
1605              x_attribute28              IN VARCHAR2,
1606              x_attribute29              IN VARCHAR2,
1607              x_attribute30              IN VARCHAR2,
1608              x_attribute_category_code  IN VARCHAR2,
1609              x_context                  IN VARCHAR2,
1610              x_lease_id                 IN NUMBER,
1611              x_inventorial              IN VARCHAR2,
1612              x_commitment               IN VARCHAR2,
1613              x_investment_law           IN VARCHAR2,
1614              x_gf_attribute1            IN VARCHAR2,
1615              x_gf_attribute2            IN VARCHAR2,
1616              x_gf_attribute3            IN VARCHAR2,
1617              x_gf_attribute4            IN VARCHAR2,
1618              x_gf_attribute5            IN VARCHAR2,
1619              x_gf_attribute6            IN VARCHAR2,
1620              x_gf_attribute7            IN VARCHAR2,
1621              x_gf_attribute8            IN VARCHAR2,
1622              x_gf_attribute9            IN VARCHAR2,
1623              x_gf_attribute10           IN VARCHAR2,
1624              x_gf_attribute11           IN VARCHAR2,
1625              x_gf_attribute12           IN VARCHAR2,
1626              x_gf_attribute13           IN VARCHAR2,
1627              x_gf_attribute14           IN VARCHAR2,
1628              x_gf_attribute15           IN VARCHAR2,
1629              x_gf_attribute16           IN VARCHAR2,
1630              x_gf_attribute17           IN VARCHAR2,
1631              x_gf_attribute18           IN VARCHAR2,
1632              x_gf_attribute19           IN VARCHAR2,
1633              x_gf_attribute20           IN VARCHAR2,
1634              x_gf_attribute_category    IN VARCHAR2
1635              ,p_log_level_rec           IN     FA_API_TYPES.log_level_rec_type default null) IS
1636 
1637 BEGIN
1638 
1639         if (x_upload_mode = 'NLS') then
1640            fa_additions_pkg.TRANSLATE_ROW (
1641              x_custom_mode              => x_custom_mode,
1642              x_asset_id                 => x_asset_id,
1643              x_owner                    => x_owner,
1644              x_last_update_date         => x_last_update_date,
1645              x_description              => x_description
1646              ,p_log_level_rec => p_log_level_rec);
1647         else
1648            fa_additions_pkg.LOAD_ROW (
1649              x_custom_mode              => x_custom_mode,
1650              x_asset_id                 => x_asset_id,
1651              x_owner                    => x_owner,
1652              x_last_update_date         => x_last_update_date,
1653              x_asset_number             => x_asset_number,
1654              x_asset_key_ccid           => x_asset_key_ccid,
1655              x_current_units            => x_current_units,
1656              x_asset_type               => x_asset_type,
1657              x_tag_number               => x_tag_number,
1658              x_description              => x_description,
1659              x_asset_category_id        => x_asset_category_id,
1660              x_parent_asset_id          => x_parent_asset_id,
1661              x_manufacturer_name        => x_manufacturer_name,
1662              x_serial_number            => x_serial_number,
1663              x_model_number             => x_model_number,
1664              x_property_type_code       => x_property_type_code,
1665              x_property_1245_1250_code  => x_property_1245_1250_code,
1666              x_in_use_flag              => x_in_use_flag,
1667              x_owned_leased             => x_owned_leased,
1668              x_new_used                 => x_new_used,
1669              x_unit_adjustment_flag     => x_unit_adjustment_flag,
1670              x_add_cost_je_flag         => x_add_cost_je_flag,
1671              x_attribute1               => x_attribute1,
1672              x_attribute2               => x_attribute2,
1673              x_attribute3               => x_attribute3,
1674              x_attribute4               => x_attribute4,
1675              x_attribute5               => x_attribute5,
1676              x_attribute6               => x_attribute6,
1677              x_attribute7               => x_attribute7,
1678              x_attribute8               => x_attribute8,
1679              x_attribute9               => x_attribute9,
1680              x_attribute10              => x_attribute10,
1681              x_attribute11              => x_attribute11,
1682              x_attribute12              => x_attribute12,
1683              x_attribute13              => x_attribute13,
1684              x_attribute14              => x_attribute14,
1685              x_attribute15              => x_attribute15,
1686              x_attribute16              => x_attribute16,
1687              x_attribute17              => x_attribute17,
1688              x_attribute18              => x_attribute18,
1689              x_attribute19              => x_attribute19,
1690              x_attribute20              => x_attribute20,
1691              x_attribute21              => x_attribute21,
1692              x_attribute22              => x_attribute22,
1693              x_attribute23              => x_attribute23,
1694              x_attribute24              => x_attribute24,
1695              x_attribute25              => x_attribute25,
1696              x_attribute26              => x_attribute26,
1697              x_attribute27              => x_attribute27,
1698              x_attribute28              => x_attribute28,
1699              x_attribute29              => x_attribute29,
1700              x_attribute30              => x_attribute30,
1701              x_attribute_category_code  => x_attribute_category_code,
1702              x_context                  => x_context,
1703              x_lease_id                 => x_lease_id,
1704              x_inventorial              => x_inventorial,
1705              x_commitment               => x_commitment,
1706              x_investment_law           => x_investment_law,
1707              x_gf_attribute1            => x_gf_attribute1,
1708              x_gf_attribute2            => x_gf_attribute2,
1709              x_gf_attribute3            => x_gf_attribute3,
1710              x_gf_attribute4            => x_gf_attribute4,
1711              x_gf_attribute5            => x_gf_attribute5,
1712              x_gf_attribute6            => x_gf_attribute6,
1713              x_gf_attribute7            => x_gf_attribute7,
1714              x_gf_attribute8            => x_gf_attribute8,
1715              x_gf_attribute9            => x_gf_attribute9,
1716              x_gf_attribute10           => x_gf_attribute10,
1717              x_gf_attribute11           => x_gf_attribute11,
1718              x_gf_attribute12           => x_gf_attribute12,
1719              x_gf_attribute13           => x_gf_attribute13,
1720              x_gf_attribute14           => x_gf_attribute14,
1721              x_gf_attribute15           => x_gf_attribute15,
1722              x_gf_attribute16           => x_gf_attribute16,
1723              x_gf_attribute17           => x_gf_attribute17,
1724              x_gf_attribute18           => x_gf_attribute18,
1725              x_gf_attribute19           => x_gf_attribute19,
1726              x_gf_attribute20           => x_gf_attribute20,
1727              x_gf_attribute_category    => x_gf_attribute_category
1728              ,p_log_level_rec => p_log_level_rec);
1729         end if;
1730 
1731 END LOAD_SEED_ROW;
1732 
1733 END FA_ADDITIONS_PKG;