DBA Data[Home] [Help]

PACKAGE BODY: APPS.FA_CATEGORIES_PKG

Source


1 package body FA_CATEGORIES_PKG as
2 /* $Header: faxicab.pls 120.5 2005/07/28 00:20:47 tkawamur ship $ */
3 procedure INSERT_ROW (
4   X_ROWID in out nocopy VARCHAR2,
5   X_CATEGORY_ID in NUMBER,
6   X_SUMMARY_FLAG in VARCHAR2,
7   X_ENABLED_FLAG in VARCHAR2,
8   X_OWNED_LEASED in VARCHAR2,
9   X_CATEGORY_TYPE in VARCHAR2,
10   X_CAPITALIZE_FLAG in VARCHAR2,
11   X_DESCRIPTION in VARCHAR2,
12   X_SEGMENT1 in VARCHAR2,
13   X_SEGMENT2 in VARCHAR2,
14   X_SEGMENT3 in VARCHAR2,
15   X_SEGMENT4 in VARCHAR2,
16   X_SEGMENT5 in VARCHAR2,
17   X_SEGMENT6 in VARCHAR2,
18   X_SEGMENT7 in VARCHAR2,
19   X_START_DATE_ACTIVE in DATE,
20   X_END_DATE_ACTIVE in DATE,
21   X_PROPERTY_TYPE_CODE in VARCHAR2,
22   X_PROPERTY_1245_1250_CODE in VARCHAR2,
23   X_DATE_INEFFECTIVE in DATE,
24   X_ATTRIBUTE1 in VARCHAR2 DEFAULT NULL,
25   X_ATTRIBUTE2 in VARCHAR2 DEFAULT NULL,
26   X_ATTRIBUTE3 in VARCHAR2 DEFAULT NULL,
27   X_ATTRIBUTE4 in VARCHAR2 DEFAULT NULL,
28   X_ATTRIBUTE5 in VARCHAR2 DEFAULT NULL,
29   X_ATTRIBUTE6 in VARCHAR2 DEFAULT NULL,
30   X_ATTRIBUTE7 in VARCHAR2 DEFAULT NULL,
31   X_ATTRIBUTE8 in VARCHAR2 DEFAULT NULL,
32   X_ATTRIBUTE9 in VARCHAR2 DEFAULT NULL,
33   X_ATTRIBUTE10 in VARCHAR2 DEFAULT NULL,
34   X_ATTRIBUTE11 in VARCHAR2 DEFAULT NULL,
35   X_ATTRIBUTE12 in VARCHAR2 DEFAULT NULL,
36   X_ATTRIBUTE13 in VARCHAR2 DEFAULT NULL,
37   X_ATTRIBUTE14 in VARCHAR2 DEFAULT NULL,
38   X_ATTRIBUTE15 in VARCHAR2 DEFAULT NULL,
39   X_ATTRIBUTE_CATEGORY_CODE in VARCHAR2 DEFAULT NULL,
40   X_PRODUCTION_CAPACITY in NUMBER DEFAULT NULL,
41   X_GLOBAL_ATTRIBUTE1 in VARCHAR2 DEFAULT NULL,
42   X_GLOBAL_ATTRIBUTE2 in VARCHAR2 DEFAULT NULL,
43   X_GLOBAL_ATTRIBUTE3 in VARCHAR2 DEFAULT NULL,
44   X_GLOBAL_ATTRIBUTE4 in VARCHAR2 DEFAULT NULL,
45   X_GLOBAL_ATTRIBUTE5 in VARCHAR2 DEFAULT NULL,
46   X_GLOBAL_ATTRIBUTE6 in VARCHAR2 DEFAULT NULL,
47   X_GLOBAL_ATTRIBUTE7 in VARCHAR2 DEFAULT NULL,
48   X_GLOBAL_ATTRIBUTE8 in VARCHAR2 DEFAULT NULL,
49   X_GLOBAL_ATTRIBUTE9 in VARCHAR2 DEFAULT NULL,
50   X_GLOBAL_ATTRIBUTE10 in VARCHAR2 DEFAULT NULL,
51   X_GLOBAL_ATTRIBUTE11 in VARCHAR2 DEFAULT NULL,
52   X_GLOBAL_ATTRIBUTE12 in VARCHAR2 DEFAULT NULL,
53   X_GLOBAL_ATTRIBUTE13 in VARCHAR2 DEFAULT NULL,
54   X_GLOBAL_ATTRIBUTE14 in VARCHAR2 DEFAULT NULL,
55   X_GLOBAL_ATTRIBUTE15 in VARCHAR2 DEFAULT NULL,
56   X_GLOBAL_ATTRIBUTE16 in VARCHAR2 DEFAULT NULL,
57   X_GLOBAL_ATTRIBUTE17 in VARCHAR2 DEFAULT NULL,
58   X_GLOBAL_ATTRIBUTE18 in VARCHAR2 DEFAULT NULL,
59   X_GLOBAL_ATTRIBUTE19 in VARCHAR2 DEFAULT NULL,
60   X_GLOBAL_ATTRIBUTE20 in VARCHAR2 DEFAULT NULL,
61   X_GLOBAL_ATTRIBUTE_CATEGORY in VARCHAR2 DEFAULT NULL,
62   X_INVENTORIAL in VARCHAR2,
63   X_CREATION_DATE in DATE,
64   X_CREATED_BY in NUMBER,
65   X_LAST_UPDATE_DATE in DATE,
66   X_LAST_UPDATED_BY in NUMBER,
67   X_LAST_UPDATE_LOGIN in NUMBER,
68   p_log_level_rec    in      fa_api_types.log_level_rec_type default null) is
69   cursor C is select ROWID from FA_CATEGORIES_B
70     where CATEGORY_ID = X_CATEGORY_ID
71     ;
72 begin
73   insert into FA_CATEGORIES_B (
74     CATEGORY_ID,
75     SUMMARY_FLAG,
76     ENABLED_FLAG,
77     OWNED_LEASED,
78     CATEGORY_TYPE,
79     CAPITALIZE_FLAG,
80     SEGMENT1,
81     SEGMENT2,
82     SEGMENT3,
83     SEGMENT4,
84     SEGMENT5,
85     SEGMENT6,
86     SEGMENT7,
87     START_DATE_ACTIVE,
88     END_DATE_ACTIVE,
89     PROPERTY_TYPE_CODE,
90     PROPERTY_1245_1250_CODE,
91     DATE_INEFFECTIVE,
92     ATTRIBUTE1,
93     ATTRIBUTE2,
94     ATTRIBUTE3,
95     ATTRIBUTE4,
96     ATTRIBUTE5,
97     ATTRIBUTE6,
98     ATTRIBUTE7,
99     ATTRIBUTE8,
100     ATTRIBUTE9,
101     ATTRIBUTE10,
102     ATTRIBUTE11,
103     ATTRIBUTE12,
104     ATTRIBUTE13,
105     ATTRIBUTE14,
106     ATTRIBUTE15,
107     ATTRIBUTE_CATEGORY_CODE,
108     PRODUCTION_CAPACITY,
109     GLOBAL_ATTRIBUTE1,
110     GLOBAL_ATTRIBUTE2,
111     GLOBAL_ATTRIBUTE3,
112     GLOBAL_ATTRIBUTE4,
113     GLOBAL_ATTRIBUTE5,
114     GLOBAL_ATTRIBUTE6,
115     GLOBAL_ATTRIBUTE7,
116     GLOBAL_ATTRIBUTE8,
117     GLOBAL_ATTRIBUTE9,
118     GLOBAL_ATTRIBUTE10,
119     GLOBAL_ATTRIBUTE11,
120     GLOBAL_ATTRIBUTE12,
121     GLOBAL_ATTRIBUTE13,
122     GLOBAL_ATTRIBUTE14,
123     GLOBAL_ATTRIBUTE15,
124     GLOBAL_ATTRIBUTE16,
125     GLOBAL_ATTRIBUTE17,
126     GLOBAL_ATTRIBUTE18,
127     GLOBAL_ATTRIBUTE19,
128     GLOBAL_ATTRIBUTE20,
129     GLOBAL_ATTRIBUTE_CATEGORY,
130     INVENTORIAL,
131     CREATION_DATE,
132     CREATED_BY,
133     LAST_UPDATE_DATE,
134     LAST_UPDATED_BY,
135     LAST_UPDATE_LOGIN
136   ) values (
137     X_CATEGORY_ID,
138     X_SUMMARY_FLAG,
139     X_ENABLED_FLAG,
140     X_OWNED_LEASED,
141     X_CATEGORY_TYPE,
142     X_CAPITALIZE_FLAG,
143     X_SEGMENT1,
144     X_SEGMENT2,
145     X_SEGMENT3,
146     X_SEGMENT4,
147     X_SEGMENT5,
148     X_SEGMENT6,
149     X_SEGMENT7,
150     X_START_DATE_ACTIVE,
151     X_END_DATE_ACTIVE,
152     X_PROPERTY_TYPE_CODE,
153     X_PROPERTY_1245_1250_CODE,
154     X_DATE_INEFFECTIVE,
155     X_ATTRIBUTE1,
156     X_ATTRIBUTE2,
157     X_ATTRIBUTE3,
158     X_ATTRIBUTE4,
159     X_ATTRIBUTE5,
160     X_ATTRIBUTE6,
161     X_ATTRIBUTE7,
162     X_ATTRIBUTE8,
163     X_ATTRIBUTE9,
164     X_ATTRIBUTE10,
165     X_ATTRIBUTE11,
166     X_ATTRIBUTE12,
167     X_ATTRIBUTE13,
168     X_ATTRIBUTE14,
169     X_ATTRIBUTE15,
170     X_ATTRIBUTE_CATEGORY_CODE,
171     X_PRODUCTION_CAPACITY,
172     X_GLOBAL_ATTRIBUTE1,
173     X_GLOBAL_ATTRIBUTE2,
174     X_GLOBAL_ATTRIBUTE3,
175     X_GLOBAL_ATTRIBUTE4,
176     X_GLOBAL_ATTRIBUTE5,
177     X_GLOBAL_ATTRIBUTE6,
178     X_GLOBAL_ATTRIBUTE7,
179     X_GLOBAL_ATTRIBUTE8,
180     X_GLOBAL_ATTRIBUTE9,
181     X_GLOBAL_ATTRIBUTE10,
182     X_GLOBAL_ATTRIBUTE11,
183     X_GLOBAL_ATTRIBUTE12,
184     X_GLOBAL_ATTRIBUTE13,
185     X_GLOBAL_ATTRIBUTE14,
186     X_GLOBAL_ATTRIBUTE15,
187     X_GLOBAL_ATTRIBUTE16,
188     X_GLOBAL_ATTRIBUTE17,
189     X_GLOBAL_ATTRIBUTE18,
190     X_GLOBAL_ATTRIBUTE19,
191     X_GLOBAL_ATTRIBUTE20,
192     X_GLOBAL_ATTRIBUTE_CATEGORY,
193     X_INVENTORIAL,
194     X_CREATION_DATE,
195     X_CREATED_BY,
196     X_LAST_UPDATE_DATE,
197     X_LAST_UPDATED_BY,
198     X_LAST_UPDATE_LOGIN
199   );
200 
201   insert into FA_CATEGORIES_TL (
202     DESCRIPTION,
203     LAST_UPDATE_DATE,
204     LAST_UPDATED_BY,
205     CREATED_BY,
206     CREATION_DATE,
207     LAST_UPDATE_LOGIN,
208     CATEGORY_ID,
209     LANGUAGE,
210     SOURCE_LANG
211   ) select
212     X_DESCRIPTION,
213     X_LAST_UPDATE_DATE,
214     X_LAST_UPDATED_BY,
215     X_CREATED_BY,
216     X_CREATION_DATE,
217     X_LAST_UPDATE_LOGIN,
218     X_CATEGORY_ID,
219     L.LANGUAGE_CODE,
220     userenv('LANG')
221   from FND_LANGUAGES L
222   where L.INSTALLED_FLAG in ('I', 'B')
223   and not exists
224     (select NULL
225     from FA_CATEGORIES_TL T
226     where T.CATEGORY_ID = X_CATEGORY_ID
227     and T.LANGUAGE = L.LANGUAGE_CODE);
228 
229   open c;
230   fetch c into X_ROWID;
231   if (c%notfound) then
232     close c;
233     raise no_data_found;
234   end if;
235   close c;
236 
237 end INSERT_ROW;
238 
239 procedure LOCK_ROW (
240   X_CATEGORY_ID in NUMBER,
241   X_SUMMARY_FLAG in VARCHAR2,
242   X_ENABLED_FLAG in VARCHAR2,
243   X_OWNED_LEASED in VARCHAR2,
244   X_CATEGORY_TYPE in VARCHAR2,
245   X_CAPITALIZE_FLAG in VARCHAR2,
246   X_DESCRIPTION in VARCHAR2,
247   X_SEGMENT1 in VARCHAR2,
248   X_SEGMENT2 in VARCHAR2,
249   X_SEGMENT3 in VARCHAR2,
250   X_SEGMENT4 in VARCHAR2,
251   X_SEGMENT5 in VARCHAR2,
252   X_SEGMENT6 in VARCHAR2,
253   X_SEGMENT7 in VARCHAR2,
254   X_START_DATE_ACTIVE in DATE,
255   X_END_DATE_ACTIVE in DATE,
256   X_PROPERTY_TYPE_CODE in VARCHAR2,
257   X_PROPERTY_1245_1250_CODE in VARCHAR2,
258   X_DATE_INEFFECTIVE in DATE,
259   X_ATTRIBUTE1 in VARCHAR2 DEFAULT NULL,
260   X_ATTRIBUTE2 in VARCHAR2 DEFAULT NULL,
261   X_ATTRIBUTE3 in VARCHAR2 DEFAULT NULL,
262   X_ATTRIBUTE4 in VARCHAR2 DEFAULT NULL,
263   X_ATTRIBUTE5 in VARCHAR2 DEFAULT NULL,
264   X_ATTRIBUTE6 in VARCHAR2 DEFAULT NULL,
265   X_ATTRIBUTE7 in VARCHAR2 DEFAULT NULL,
266   X_ATTRIBUTE8 in VARCHAR2 DEFAULT NULL,
267   X_ATTRIBUTE9 in VARCHAR2 DEFAULT NULL,
268   X_ATTRIBUTE10 in VARCHAR2 DEFAULT NULL,
269   X_ATTRIBUTE11 in VARCHAR2 DEFAULT NULL,
270   X_ATTRIBUTE12 in VARCHAR2 DEFAULT NULL,
271   X_ATTRIBUTE13 in VARCHAR2 DEFAULT NULL,
272   X_ATTRIBUTE14 in VARCHAR2 DEFAULT NULL,
273   X_ATTRIBUTE15 in VARCHAR2 DEFAULT NULL,
274   X_ATTRIBUTE_CATEGORY_CODE in VARCHAR2 DEFAULT NULL,
275   X_PRODUCTION_CAPACITY in NUMBER DEFAULT NULL,
276   X_GLOBAL_ATTRIBUTE1 in VARCHAR2 DEFAULT NULL,
277   X_GLOBAL_ATTRIBUTE2 in VARCHAR2 DEFAULT NULL,
278   X_GLOBAL_ATTRIBUTE3 in VARCHAR2 DEFAULT NULL,
279   X_GLOBAL_ATTRIBUTE4 in VARCHAR2 DEFAULT NULL,
280   X_GLOBAL_ATTRIBUTE5 in VARCHAR2 DEFAULT NULL,
281   X_GLOBAL_ATTRIBUTE6 in VARCHAR2 DEFAULT NULL,
282   X_GLOBAL_ATTRIBUTE7 in VARCHAR2 DEFAULT NULL,
283   X_GLOBAL_ATTRIBUTE8 in VARCHAR2 DEFAULT NULL,
284   X_GLOBAL_ATTRIBUTE9 in VARCHAR2 DEFAULT NULL,
285   X_GLOBAL_ATTRIBUTE10 in VARCHAR2 DEFAULT NULL,
286   X_GLOBAL_ATTRIBUTE11 in VARCHAR2 DEFAULT NULL,
287   X_GLOBAL_ATTRIBUTE12 in VARCHAR2 DEFAULT NULL,
288   X_GLOBAL_ATTRIBUTE13 in VARCHAR2 DEFAULT NULL,
289   X_GLOBAL_ATTRIBUTE14 in VARCHAR2 DEFAULT NULL,
290   X_GLOBAL_ATTRIBUTE15 in VARCHAR2 DEFAULT NULL,
291   X_GLOBAL_ATTRIBUTE16 in VARCHAR2 DEFAULT NULL,
292   X_GLOBAL_ATTRIBUTE17 in VARCHAR2 DEFAULT NULL,
293   X_GLOBAL_ATTRIBUTE18 in VARCHAR2 DEFAULT NULL,
294   X_GLOBAL_ATTRIBUTE19 in VARCHAR2 DEFAULT NULL,
295   X_GLOBAL_ATTRIBUTE20 in VARCHAR2 DEFAULT NULL,
296   X_GLOBAL_ATTRIBUTE_CATEGORY in VARCHAR2 DEFAULT NULL,
297   X_INVENTORIAL in VARCHAR2,
298   p_log_level_rec    in      fa_api_types.log_level_rec_type default null) is
299   cursor c is select
300       SUMMARY_FLAG,
301       ENABLED_FLAG,
302       OWNED_LEASED,
303       CATEGORY_TYPE,
304       CAPITALIZE_FLAG,
305       SEGMENT1,
306       SEGMENT2,
307       SEGMENT3,
308       SEGMENT4,
309       SEGMENT5,
310       SEGMENT6,
311       SEGMENT7,
312       START_DATE_ACTIVE,
313       END_DATE_ACTIVE,
314       PROPERTY_TYPE_CODE,
315       PROPERTY_1245_1250_CODE,
316       DATE_INEFFECTIVE,
317       ATTRIBUTE1,
318       ATTRIBUTE2,
319       ATTRIBUTE3,
320       ATTRIBUTE4,
321       ATTRIBUTE5,
322       ATTRIBUTE6,
323       ATTRIBUTE7,
324       ATTRIBUTE8,
325       ATTRIBUTE9,
326       ATTRIBUTE10,
327       ATTRIBUTE11,
328       ATTRIBUTE12,
329       ATTRIBUTE13,
330       ATTRIBUTE14,
331       ATTRIBUTE15,
332       ATTRIBUTE_CATEGORY_CODE,
333       PRODUCTION_CAPACITY,
334       GLOBAL_ATTRIBUTE1,
335       GLOBAL_ATTRIBUTE2,
336       GLOBAL_ATTRIBUTE3,
337       GLOBAL_ATTRIBUTE4,
338       GLOBAL_ATTRIBUTE5,
339       GLOBAL_ATTRIBUTE6,
340       GLOBAL_ATTRIBUTE7,
341       GLOBAL_ATTRIBUTE8,
342       GLOBAL_ATTRIBUTE9,
343       GLOBAL_ATTRIBUTE10,
344       GLOBAL_ATTRIBUTE11,
345       GLOBAL_ATTRIBUTE12,
346       GLOBAL_ATTRIBUTE13,
347       GLOBAL_ATTRIBUTE14,
348       GLOBAL_ATTRIBUTE15,
349       GLOBAL_ATTRIBUTE16,
350       GLOBAL_ATTRIBUTE17,
351       GLOBAL_ATTRIBUTE18,
352       GLOBAL_ATTRIBUTE19,
353       GLOBAL_ATTRIBUTE20,
354       GLOBAL_ATTRIBUTE_CATEGORY,
355       INVENTORIAL
356     from FA_CATEGORIES_B
357     where CATEGORY_ID = X_CATEGORY_ID
358     for update of CATEGORY_ID nowait;
359   recinfo c%rowtype;
360 
361   cursor c1 is select
362       DESCRIPTION,
363       decode(LANGUAGE, userenv('LANG'), 'Y', 'N') BASELANG
364     from FA_CATEGORIES_TL
365     where CATEGORY_ID = X_CATEGORY_ID
366     and userenv('LANG') in (LANGUAGE, SOURCE_LANG)
367     for update of CATEGORY_ID nowait;
368 begin
369   open c;
370   fetch c into recinfo;
371   if (c%notfound) then
372     close c;
373     fnd_message.set_name('FND', 'FORM_RECORD_DELETED');
374     app_exception.raise_exception;
375   end if;
376   close c;
377   if (    (recinfo.SUMMARY_FLAG = X_SUMMARY_FLAG)
378       AND (recinfo.ENABLED_FLAG = X_ENABLED_FLAG)
379       AND (recinfo.OWNED_LEASED = X_OWNED_LEASED)
380       AND (recinfo.CATEGORY_TYPE = X_CATEGORY_TYPE)
381       AND (recinfo.CAPITALIZE_FLAG = X_CAPITALIZE_FLAG)
382       AND ((recinfo.SEGMENT1 = X_SEGMENT1)
383            OR ((recinfo.SEGMENT1 is null) AND (X_SEGMENT1 is null)))
384       AND ((recinfo.SEGMENT2 = X_SEGMENT2)
385            OR ((recinfo.SEGMENT2 is null) AND (X_SEGMENT2 is null)))
386       AND ((recinfo.SEGMENT3 = X_SEGMENT3)
387            OR ((recinfo.SEGMENT3 is null) AND (X_SEGMENT3 is null)))
388       AND ((recinfo.SEGMENT4 = X_SEGMENT4)
389            OR ((recinfo.SEGMENT4 is null) AND (X_SEGMENT4 is null)))
390       AND ((recinfo.SEGMENT5 = X_SEGMENT5)
391            OR ((recinfo.SEGMENT5 is null) AND (X_SEGMENT5 is null)))
392       AND ((recinfo.SEGMENT6 = X_SEGMENT6)
393            OR ((recinfo.SEGMENT6 is null) AND (X_SEGMENT6 is null)))
394       AND ((recinfo.SEGMENT7 = X_SEGMENT7)
395            OR ((recinfo.SEGMENT7 is null) AND (X_SEGMENT7 is null)))
396       AND ((recinfo.START_DATE_ACTIVE = X_START_DATE_ACTIVE)
397            OR ((recinfo.START_DATE_ACTIVE is null) AND (X_START_DATE_ACTIVE is null)))
398       AND ((recinfo.END_DATE_ACTIVE = X_END_DATE_ACTIVE)
399            OR ((recinfo.END_DATE_ACTIVE is null) AND (X_END_DATE_ACTIVE is null)))
400       AND ((recinfo.PROPERTY_TYPE_CODE = X_PROPERTY_TYPE_CODE)
401            OR ((recinfo.PROPERTY_TYPE_CODE is null) AND (X_PROPERTY_TYPE_CODE is null)))
402       AND ((recinfo.PROPERTY_1245_1250_CODE = X_PROPERTY_1245_1250_CODE)
403            OR ((recinfo.PROPERTY_1245_1250_CODE is null) AND (X_PROPERTY_1245_1250_CODE is null)))
404       AND ((recinfo.DATE_INEFFECTIVE = X_DATE_INEFFECTIVE)
405            OR ((recinfo.DATE_INEFFECTIVE is null) AND (X_DATE_INEFFECTIVE is null)))
406       AND ((recinfo.ATTRIBUTE1 = X_ATTRIBUTE1)
407            OR ((recinfo.ATTRIBUTE1 is null) AND (X_ATTRIBUTE1 is null)))
408       AND ((recinfo.ATTRIBUTE2 = X_ATTRIBUTE2)
409            OR ((recinfo.ATTRIBUTE2 is null) AND (X_ATTRIBUTE2 is null)))
410       AND ((recinfo.ATTRIBUTE3 = X_ATTRIBUTE3)
411            OR ((recinfo.ATTRIBUTE3 is null) AND (X_ATTRIBUTE3 is null)))
412       AND ((recinfo.ATTRIBUTE4 = X_ATTRIBUTE4)
413            OR ((recinfo.ATTRIBUTE4 is null) AND (X_ATTRIBUTE4 is null)))
414       AND ((recinfo.ATTRIBUTE5 = X_ATTRIBUTE5)
415            OR ((recinfo.ATTRIBUTE5 is null) AND (X_ATTRIBUTE5 is null)))
416       AND ((recinfo.ATTRIBUTE6 = X_ATTRIBUTE6)
417            OR ((recinfo.ATTRIBUTE6 is null) AND (X_ATTRIBUTE6 is null)))
418       AND ((recinfo.ATTRIBUTE7 = X_ATTRIBUTE7)
419            OR ((recinfo.ATTRIBUTE7 is null) AND (X_ATTRIBUTE7 is null)))
420       AND ((recinfo.ATTRIBUTE8 = X_ATTRIBUTE8)
421            OR ((recinfo.ATTRIBUTE8 is null) AND (X_ATTRIBUTE8 is null)))
422       AND ((recinfo.ATTRIBUTE9 = X_ATTRIBUTE9)
423            OR ((recinfo.ATTRIBUTE9 is null) AND (X_ATTRIBUTE9 is null)))
424       AND ((recinfo.ATTRIBUTE10 = X_ATTRIBUTE10)
425            OR ((recinfo.ATTRIBUTE10 is null) AND (X_ATTRIBUTE10 is null)))
426       AND ((recinfo.ATTRIBUTE11 = X_ATTRIBUTE11)
427            OR ((recinfo.ATTRIBUTE11 is null) AND (X_ATTRIBUTE11 is null)))
428       AND ((recinfo.ATTRIBUTE12 = X_ATTRIBUTE12)
429            OR ((recinfo.ATTRIBUTE12 is null) AND (X_ATTRIBUTE12 is null)))
430       AND ((recinfo.ATTRIBUTE13 = X_ATTRIBUTE13)
431            OR ((recinfo.ATTRIBUTE13 is null) AND (X_ATTRIBUTE13 is null)))
432       AND ((recinfo.ATTRIBUTE14 = X_ATTRIBUTE14)
433            OR ((recinfo.ATTRIBUTE14 is null) AND (X_ATTRIBUTE14 is null)))
434       AND ((recinfo.ATTRIBUTE15 = X_ATTRIBUTE15)
435            OR ((recinfo.ATTRIBUTE15 is null) AND (X_ATTRIBUTE15 is null)))
436       AND ((recinfo.ATTRIBUTE_CATEGORY_CODE = X_ATTRIBUTE_CATEGORY_CODE)
437            OR ((recinfo.ATTRIBUTE_CATEGORY_CODE is null) AND (X_ATTRIBUTE_CATEGORY_CODE is null)))
438       AND ((recinfo.PRODUCTION_CAPACITY = X_PRODUCTION_CAPACITY)
439            OR ((recinfo.PRODUCTION_CAPACITY is null) AND (X_PRODUCTION_CAPACITY is null)))
440       AND ((recinfo.GLOBAL_ATTRIBUTE1 = X_GLOBAL_ATTRIBUTE1)
441            OR ((recinfo.GLOBAL_ATTRIBUTE1 is null) AND (X_GLOBAL_ATTRIBUTE1 is null)))
442       AND ((recinfo.GLOBAL_ATTRIBUTE2 = X_GLOBAL_ATTRIBUTE2)
443            OR ((recinfo.GLOBAL_ATTRIBUTE2 is null) AND (X_GLOBAL_ATTRIBUTE2 is null)))
444       AND ((recinfo.GLOBAL_ATTRIBUTE3 = X_GLOBAL_ATTRIBUTE3)
445            OR ((recinfo.GLOBAL_ATTRIBUTE3 is null) AND (X_GLOBAL_ATTRIBUTE3 is null)))
446       AND ((recinfo.GLOBAL_ATTRIBUTE4 = X_GLOBAL_ATTRIBUTE4)
447            OR ((recinfo.GLOBAL_ATTRIBUTE4 is null) AND (X_GLOBAL_ATTRIBUTE4 is null)))
448       AND ((recinfo.GLOBAL_ATTRIBUTE5 = X_GLOBAL_ATTRIBUTE5)
449            OR ((recinfo.GLOBAL_ATTRIBUTE5 is null) AND (X_GLOBAL_ATTRIBUTE5 is null)))
450       AND ((recinfo.GLOBAL_ATTRIBUTE6 = X_GLOBAL_ATTRIBUTE6)
451            OR ((recinfo.GLOBAL_ATTRIBUTE6 is null) AND (X_GLOBAL_ATTRIBUTE6 is null)))
452       AND ((recinfo.GLOBAL_ATTRIBUTE7 = X_GLOBAL_ATTRIBUTE7)
453            OR ((recinfo.GLOBAL_ATTRIBUTE7 is null) AND (X_GLOBAL_ATTRIBUTE7 is null)))
454       AND ((recinfo.GLOBAL_ATTRIBUTE8 = X_GLOBAL_ATTRIBUTE8)
455            OR ((recinfo.GLOBAL_ATTRIBUTE8 is null) AND (X_GLOBAL_ATTRIBUTE8 is null)))
456       AND ((recinfo.GLOBAL_ATTRIBUTE9 = X_GLOBAL_ATTRIBUTE9)
457            OR ((recinfo.GLOBAL_ATTRIBUTE9 is null) AND (X_GLOBAL_ATTRIBUTE9 is null)))
458       AND ((recinfo.GLOBAL_ATTRIBUTE10 = X_GLOBAL_ATTRIBUTE10)
459            OR ((recinfo.GLOBAL_ATTRIBUTE10 is null) AND (X_GLOBAL_ATTRIBUTE10 is null)))
460       AND ((recinfo.GLOBAL_ATTRIBUTE11 = X_GLOBAL_ATTRIBUTE11)
461            OR ((recinfo.GLOBAL_ATTRIBUTE11 is null) AND (X_GLOBAL_ATTRIBUTE11 is null)))
462       AND ((recinfo.GLOBAL_ATTRIBUTE12 = X_GLOBAL_ATTRIBUTE12)
463            OR ((recinfo.GLOBAL_ATTRIBUTE12 is null) AND (X_GLOBAL_ATTRIBUTE12 is null)))
464       AND ((recinfo.GLOBAL_ATTRIBUTE13 = X_GLOBAL_ATTRIBUTE13)
465            OR ((recinfo.GLOBAL_ATTRIBUTE13 is null) AND (X_GLOBAL_ATTRIBUTE13 is null)))
466       AND ((recinfo.GLOBAL_ATTRIBUTE14 = X_GLOBAL_ATTRIBUTE14)
467            OR ((recinfo.GLOBAL_ATTRIBUTE14 is null) AND (X_GLOBAL_ATTRIBUTE14 is null)))
468       AND ((recinfo.GLOBAL_ATTRIBUTE15 = X_GLOBAL_ATTRIBUTE15)
469            OR ((recinfo.GLOBAL_ATTRIBUTE15 is null) AND (X_GLOBAL_ATTRIBUTE15 is null)))
470       AND ((recinfo.GLOBAL_ATTRIBUTE16 = X_GLOBAL_ATTRIBUTE16)
471            OR ((recinfo.GLOBAL_ATTRIBUTE16 is null) AND (X_GLOBAL_ATTRIBUTE16 is null)))
472       AND ((recinfo.GLOBAL_ATTRIBUTE17 = X_GLOBAL_ATTRIBUTE17)
473            OR ((recinfo.GLOBAL_ATTRIBUTE17 is null) AND (X_GLOBAL_ATTRIBUTE17 is null)))
474       AND ((recinfo.GLOBAL_ATTRIBUTE18 = X_GLOBAL_ATTRIBUTE18)
475            OR ((recinfo.GLOBAL_ATTRIBUTE18 is null) AND (X_GLOBAL_ATTRIBUTE18 is null)))
476       AND ((recinfo.GLOBAL_ATTRIBUTE19 = X_GLOBAL_ATTRIBUTE19)
477            OR ((recinfo.GLOBAL_ATTRIBUTE19 is null) AND (X_GLOBAL_ATTRIBUTE19 is null)))
478       AND ((recinfo.GLOBAL_ATTRIBUTE20 = X_GLOBAL_ATTRIBUTE20)
479            OR ((recinfo.GLOBAL_ATTRIBUTE20 is null) AND (X_GLOBAL_ATTRIBUTE20 is null)))
480       AND ((recinfo.GLOBAL_ATTRIBUTE_CATEGORY = X_GLOBAL_ATTRIBUTE_CATEGORY)
481            OR ((recinfo.GLOBAL_ATTRIBUTE_CATEGORY is null) AND (X_GLOBAL_ATTRIBUTE_CATEGORY is null)))
482       AND ((recinfo.INVENTORIAL = X_INVENTORIAL)
483            OR ((recinfo.INVENTORIAL is null) AND (X_INVENTORIAL is null)))) then
484     null;
485   else
486     fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
487     app_exception.raise_exception;
488   end if;
489 
490   for tlinfo in c1 loop
491     if (tlinfo.BASELANG = 'Y') then
492       if (    ((tlinfo.DESCRIPTION = X_DESCRIPTION)
493                OR ((tlinfo.DESCRIPTION is null) AND (X_DESCRIPTION is null)))) then
494         null;
495       else
496         fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
497         app_exception.raise_exception;
498       end if;
499     end if;
500   end loop;
501   return;
502 end LOCK_ROW;
503 
504 procedure UPDATE_ROW (
505   X_CATEGORY_ID in NUMBER,
506   X_SUMMARY_FLAG in VARCHAR2,
507   X_ENABLED_FLAG in VARCHAR2,
508   X_OWNED_LEASED in VARCHAR2,
509   X_CATEGORY_TYPE in VARCHAR2,
510   X_CAPITALIZE_FLAG in VARCHAR2,
511   X_DESCRIPTION in VARCHAR2,
512   X_SEGMENT1 in VARCHAR2,
513   X_SEGMENT2 in VARCHAR2,
514   X_SEGMENT3 in VARCHAR2,
515   X_SEGMENT4 in VARCHAR2,
516   X_SEGMENT5 in VARCHAR2,
517   X_SEGMENT6 in VARCHAR2,
518   X_SEGMENT7 in VARCHAR2,
519   X_START_DATE_ACTIVE in DATE,
520   X_END_DATE_ACTIVE in DATE,
521   X_PROPERTY_TYPE_CODE in VARCHAR2,
522   X_PROPERTY_1245_1250_CODE in VARCHAR2,
523   X_DATE_INEFFECTIVE in DATE,
524   X_ATTRIBUTE1 in VARCHAR2 DEFAULT NULL,
525   X_ATTRIBUTE2 in VARCHAR2 DEFAULT NULL,
526   X_ATTRIBUTE3 in VARCHAR2 DEFAULT NULL,
527   X_ATTRIBUTE4 in VARCHAR2 DEFAULT NULL,
528   X_ATTRIBUTE5 in VARCHAR2 DEFAULT NULL,
529   X_ATTRIBUTE6 in VARCHAR2 DEFAULT NULL,
530   X_ATTRIBUTE7 in VARCHAR2 DEFAULT NULL,
531   X_ATTRIBUTE8 in VARCHAR2 DEFAULT NULL,
532   X_ATTRIBUTE9 in VARCHAR2 DEFAULT NULL,
533   X_ATTRIBUTE10 in VARCHAR2 DEFAULT NULL,
534   X_ATTRIBUTE11 in VARCHAR2 DEFAULT NULL,
535   X_ATTRIBUTE12 in VARCHAR2 DEFAULT NULL,
536   X_ATTRIBUTE13 in VARCHAR2 DEFAULT NULL,
537   X_ATTRIBUTE14 in VARCHAR2 DEFAULT NULL,
538   X_ATTRIBUTE15 in VARCHAR2 DEFAULT NULL,
539   X_ATTRIBUTE_CATEGORY_CODE in VARCHAR2 DEFAULT NULL,
540   X_PRODUCTION_CAPACITY in NUMBER DEFAULT NULL,
541   X_GLOBAL_ATTRIBUTE1 in VARCHAR2 DEFAULT NULL,
542   X_GLOBAL_ATTRIBUTE2 in VARCHAR2 DEFAULT NULL,
543   X_GLOBAL_ATTRIBUTE3 in VARCHAR2 DEFAULT NULL,
544   X_GLOBAL_ATTRIBUTE4 in VARCHAR2 DEFAULT NULL,
545   X_GLOBAL_ATTRIBUTE5 in VARCHAR2 DEFAULT NULL,
546   X_GLOBAL_ATTRIBUTE6 in VARCHAR2 DEFAULT NULL,
547   X_GLOBAL_ATTRIBUTE7 in VARCHAR2 DEFAULT NULL,
548   X_GLOBAL_ATTRIBUTE8 in VARCHAR2 DEFAULT NULL,
549   X_GLOBAL_ATTRIBUTE9 in VARCHAR2 DEFAULT NULL,
550   X_GLOBAL_ATTRIBUTE10 in VARCHAR2 DEFAULT NULL,
551   X_GLOBAL_ATTRIBUTE11 in VARCHAR2 DEFAULT NULL,
552   X_GLOBAL_ATTRIBUTE12 in VARCHAR2 DEFAULT NULL,
553   X_GLOBAL_ATTRIBUTE13 in VARCHAR2 DEFAULT NULL,
554   X_GLOBAL_ATTRIBUTE14 in VARCHAR2 DEFAULT NULL,
555   X_GLOBAL_ATTRIBUTE15 in VARCHAR2 DEFAULT NULL,
556   X_GLOBAL_ATTRIBUTE16 in VARCHAR2 DEFAULT NULL,
557   X_GLOBAL_ATTRIBUTE17 in VARCHAR2 DEFAULT NULL,
558   X_GLOBAL_ATTRIBUTE18 in VARCHAR2 DEFAULT NULL,
559   X_GLOBAL_ATTRIBUTE19 in VARCHAR2 DEFAULT NULL,
560   X_GLOBAL_ATTRIBUTE20 in VARCHAR2 DEFAULT NULL,
561   X_GLOBAL_ATTRIBUTE_CATEGORY in VARCHAR2 DEFAULT NULL,
562   X_INVENTORIAL in VARCHAR2,
563   X_LAST_UPDATE_DATE in DATE,
564   X_LAST_UPDATED_BY in NUMBER,
565   X_LAST_UPDATE_LOGIN in NUMBER,
566   p_log_level_rec    in      fa_api_types.log_level_rec_type default null) is
567 begin
568   update FA_CATEGORIES_B set
569     SUMMARY_FLAG = X_SUMMARY_FLAG,
570     ENABLED_FLAG = X_ENABLED_FLAG,
571     OWNED_LEASED = X_OWNED_LEASED,
572     CATEGORY_TYPE = X_CATEGORY_TYPE,
573     CAPITALIZE_FLAG = X_CAPITALIZE_FLAG,
574     SEGMENT1 = X_SEGMENT1,
575     SEGMENT2 = X_SEGMENT2,
576     SEGMENT3 = X_SEGMENT3,
577     SEGMENT4 = X_SEGMENT4,
578     SEGMENT5 = X_SEGMENT5,
579     SEGMENT6 = X_SEGMENT6,
580     SEGMENT7 = X_SEGMENT7,
581     START_DATE_ACTIVE = X_START_DATE_ACTIVE,
582     END_DATE_ACTIVE = X_END_DATE_ACTIVE,
583     PROPERTY_TYPE_CODE = X_PROPERTY_TYPE_CODE,
584     PROPERTY_1245_1250_CODE = X_PROPERTY_1245_1250_CODE,
585     DATE_INEFFECTIVE = X_DATE_INEFFECTIVE,
586     ATTRIBUTE1 = X_ATTRIBUTE1,
587     ATTRIBUTE2 = X_ATTRIBUTE2,
588     ATTRIBUTE3 = X_ATTRIBUTE3,
589     ATTRIBUTE4 = X_ATTRIBUTE4,
590     ATTRIBUTE5 = X_ATTRIBUTE5,
591     ATTRIBUTE6 = X_ATTRIBUTE6,
592     ATTRIBUTE7 = X_ATTRIBUTE7,
593     ATTRIBUTE8 = X_ATTRIBUTE8,
594     ATTRIBUTE9 = X_ATTRIBUTE9,
595     ATTRIBUTE10 = X_ATTRIBUTE10,
596     ATTRIBUTE11 = X_ATTRIBUTE11,
597     ATTRIBUTE12 = X_ATTRIBUTE12,
598     ATTRIBUTE13 = X_ATTRIBUTE13,
599     ATTRIBUTE14 = X_ATTRIBUTE14,
600     ATTRIBUTE15 = X_ATTRIBUTE15,
601     ATTRIBUTE_CATEGORY_CODE = X_ATTRIBUTE_CATEGORY_CODE,
602     PRODUCTION_CAPACITY = X_PRODUCTION_CAPACITY,
603     GLOBAL_ATTRIBUTE1 = X_GLOBAL_ATTRIBUTE1,
604     GLOBAL_ATTRIBUTE2 = X_GLOBAL_ATTRIBUTE2,
605     GLOBAL_ATTRIBUTE3 = X_GLOBAL_ATTRIBUTE3,
606     GLOBAL_ATTRIBUTE4 = X_GLOBAL_ATTRIBUTE4,
607     GLOBAL_ATTRIBUTE5 = X_GLOBAL_ATTRIBUTE5,
608     GLOBAL_ATTRIBUTE6 = X_GLOBAL_ATTRIBUTE6,
609     GLOBAL_ATTRIBUTE7 = X_GLOBAL_ATTRIBUTE7,
610     GLOBAL_ATTRIBUTE8 = X_GLOBAL_ATTRIBUTE8,
611     GLOBAL_ATTRIBUTE9 = X_GLOBAL_ATTRIBUTE9,
612     GLOBAL_ATTRIBUTE10 = X_GLOBAL_ATTRIBUTE10,
613     GLOBAL_ATTRIBUTE11 = X_GLOBAL_ATTRIBUTE11,
614     GLOBAL_ATTRIBUTE12 = X_GLOBAL_ATTRIBUTE12,
615     GLOBAL_ATTRIBUTE13 = X_GLOBAL_ATTRIBUTE13,
616     GLOBAL_ATTRIBUTE14 = X_GLOBAL_ATTRIBUTE14,
617     GLOBAL_ATTRIBUTE15 = X_GLOBAL_ATTRIBUTE15,
618     GLOBAL_ATTRIBUTE16 = X_GLOBAL_ATTRIBUTE16,
619     GLOBAL_ATTRIBUTE17 = X_GLOBAL_ATTRIBUTE17,
620     GLOBAL_ATTRIBUTE18 = X_GLOBAL_ATTRIBUTE18,
621     GLOBAL_ATTRIBUTE19 = X_GLOBAL_ATTRIBUTE19,
622     GLOBAL_ATTRIBUTE20 = X_GLOBAL_ATTRIBUTE20,
623     GLOBAL_ATTRIBUTE_CATEGORY = X_GLOBAL_ATTRIBUTE_CATEGORY,
624     INVENTORIAL = X_INVENTORIAL,
625     LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
626     LAST_UPDATED_BY = X_LAST_UPDATED_BY,
627     LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN
628   where CATEGORY_ID = X_CATEGORY_ID;
629 
630   if (sql%notfound) then
631     raise no_data_found;
632   end if;
633 
634   update FA_CATEGORIES_TL set
635     DESCRIPTION = X_DESCRIPTION,
636     LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
637     LAST_UPDATED_BY = X_LAST_UPDATED_BY,
638     LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN,
639     SOURCE_LANG = userenv('LANG')
640   where CATEGORY_ID = X_CATEGORY_ID
641   and userenv('LANG') in (LANGUAGE, SOURCE_LANG);
642 
643   if (sql%notfound) then
644     raise no_data_found;
645   end if;
646 end UPDATE_ROW;
647 
648 procedure DELETE_ROW (
649   X_CATEGORY_ID in NUMBER
650  ,p_log_level_rec    in      fa_api_types.log_level_rec_type default null) is
651 begin
652   delete from FA_CATEGORIES_TL
653   where CATEGORY_ID = X_CATEGORY_ID;
654 
655   if (sql%notfound) then
656     raise no_data_found;
657   end if;
658 
659   delete from FA_CATEGORIES_B
660   where CATEGORY_ID = X_CATEGORY_ID;
661 
662   if (sql%notfound) then
663     raise no_data_found;
664   end if;
665 end DELETE_ROW;
666 
667 procedure ADD_LANGUAGE(p_log_level_rec        IN     FA_API_TYPES.log_level_rec_type default null)
668 is
669 begin
670   delete from FA_CATEGORIES_TL T
671   where not exists
672     (select NULL
673     from FA_CATEGORIES_B B
674     where B.CATEGORY_ID = T.CATEGORY_ID
675     );
676 
677   update FA_CATEGORIES_TL T set (
678       DESCRIPTION
679     ) = (select
680       B.DESCRIPTION
681     from FA_CATEGORIES_TL B
682     where B.CATEGORY_ID = T.CATEGORY_ID
683     and B.LANGUAGE = T.SOURCE_LANG)
684   where (
685       T.CATEGORY_ID,
686       T.LANGUAGE
687   ) in (select
688       SUBT.CATEGORY_ID,
689       SUBT.LANGUAGE
690     from FA_CATEGORIES_TL SUBB, FA_CATEGORIES_TL SUBT
691     where SUBB.CATEGORY_ID = SUBT.CATEGORY_ID
692     and SUBB.LANGUAGE = SUBT.SOURCE_LANG
693     and (SUBB.DESCRIPTION <> SUBT.DESCRIPTION
694       or (SUBB.DESCRIPTION is null and SUBT.DESCRIPTION is not null)
695       or (SUBB.DESCRIPTION is not null and SUBT.DESCRIPTION is null)
696   ));
697 
698   insert into FA_CATEGORIES_TL (
699     DESCRIPTION,
700     LAST_UPDATE_DATE,
701     LAST_UPDATED_BY,
702     CREATED_BY,
703     CREATION_DATE,
704     LAST_UPDATE_LOGIN,
705     CATEGORY_ID,
706     LANGUAGE,
707     SOURCE_LANG
708   ) select
709     B.DESCRIPTION,
710     B.LAST_UPDATE_DATE,
711     B.LAST_UPDATED_BY,
712     B.CREATED_BY,
713     B.CREATION_DATE,
714     B.LAST_UPDATE_LOGIN,
715     B.CATEGORY_ID,
716     L.LANGUAGE_CODE,
717     B.SOURCE_LANG
718   from FA_CATEGORIES_TL B, FND_LANGUAGES L
719   where L.INSTALLED_FLAG in ('I', 'B')
720   and B.LANGUAGE = userenv('LANG')
721   and not exists
722     (select NULL
723     from FA_CATEGORIES_TL T
724     where T.CATEGORY_ID = B.CATEGORY_ID
725     and T.LANGUAGE = L.LANGUAGE_CODE);
726 end ADD_LANGUAGE;
727 
728 procedure LOAD_ROW (
729   X_CUSTOM_MODE in VARCHAR2,
730   X_CATEGORY_ID in NUMBER,
731   X_OWNER in VARCHAR2,
732   X_LAST_UPDATE_DATE in DATE,
733   X_SUMMARY_FLAG in VARCHAR2,
734   X_ENABLED_FLAG in VARCHAR2,
735   X_OWNED_LEASED in VARCHAR2,
736   X_PRODUCTION_CAPACITY in NUMBER DEFAULT NULL,
737   X_CATEGORY_TYPE in VARCHAR2,
738   X_CAPITALIZE_FLAG in VARCHAR2,
739   X_DESCRIPTION in VARCHAR2,
740   X_SEGMENT1 in VARCHAR2,
741   X_SEGMENT2 in VARCHAR2,
742   X_SEGMENT3 in VARCHAR2,
743   X_SEGMENT4 in VARCHAR2,
744   X_SEGMENT5 in VARCHAR2,
745   X_SEGMENT6 in VARCHAR2,
746   X_SEGMENT7 in VARCHAR2,
747   X_START_DATE_ACTIVE in DATE,
748   X_END_DATE_ACTIVE in DATE,
749   X_PROPERTY_TYPE_CODE in VARCHAR2,
750   X_PROPERTY_1245_1250_CODE in VARCHAR2,
751   X_DATE_INEFFECTIVE in DATE,
752   X_INVENTORIAL in VARCHAR2,
753   X_ATTRIBUTE1 in VARCHAR2 DEFAULT NULL,
754   X_ATTRIBUTE2 in VARCHAR2 DEFAULT NULL,
755   X_ATTRIBUTE3 in VARCHAR2 DEFAULT NULL,
756   X_ATTRIBUTE4 in VARCHAR2 DEFAULT NULL,
757   X_ATTRIBUTE5 in VARCHAR2 DEFAULT NULL,
758   X_ATTRIBUTE6 in VARCHAR2 DEFAULT NULL,
759   X_ATTRIBUTE7 in VARCHAR2 DEFAULT NULL,
760   X_ATTRIBUTE8 in VARCHAR2 DEFAULT NULL,
761   X_ATTRIBUTE9 in VARCHAR2 DEFAULT NULL,
762   X_ATTRIBUTE10 in VARCHAR2 DEFAULT NULL,
763   X_ATTRIBUTE11 in VARCHAR2 DEFAULT NULL,
764   X_ATTRIBUTE12 in VARCHAR2 DEFAULT NULL,
765   X_ATTRIBUTE13 in VARCHAR2 DEFAULT NULL,
766   X_ATTRIBUTE14 in VARCHAR2 DEFAULT NULL,
767   X_ATTRIBUTE15 in VARCHAR2 DEFAULT NULL,
768   X_ATTRIBUTE_CATEGORY_CODE in VARCHAR2 DEFAULT NULL,
769   X_GF_ATTRIBUTE1 in VARCHAR2 DEFAULT NULL,
770   X_GF_ATTRIBUTE2 in VARCHAR2 DEFAULT NULL,
771   X_GF_ATTRIBUTE3 in VARCHAR2 DEFAULT NULL,
772   X_GF_ATTRIBUTE4 in VARCHAR2 DEFAULT NULL,
773   X_GF_ATTRIBUTE5 in VARCHAR2 DEFAULT NULL,
774   X_GF_ATTRIBUTE6 in VARCHAR2 DEFAULT NULL,
775   X_GF_ATTRIBUTE7 in VARCHAR2 DEFAULT NULL,
776   X_GF_ATTRIBUTE8 in VARCHAR2 DEFAULT NULL,
777   X_GF_ATTRIBUTE9 in VARCHAR2 DEFAULT NULL,
778   X_GF_ATTRIBUTE10 in VARCHAR2 DEFAULT NULL,
779   X_GF_ATTRIBUTE11 in VARCHAR2 DEFAULT NULL,
780   X_GF_ATTRIBUTE12 in VARCHAR2 DEFAULT NULL,
781   X_GF_ATTRIBUTE13 in VARCHAR2 DEFAULT NULL,
782   X_GF_ATTRIBUTE14 in VARCHAR2 DEFAULT NULL,
783   X_GF_ATTRIBUTE15 in VARCHAR2 DEFAULT NULL,
784   X_GF_ATTRIBUTE16 in VARCHAR2 DEFAULT NULL,
785   X_GF_ATTRIBUTE17 in VARCHAR2 DEFAULT NULL,
786   X_GF_ATTRIBUTE18 in VARCHAR2 DEFAULT NULL,
787   X_GF_ATTRIBUTE19 in VARCHAR2 DEFAULT NULL,
788   X_GF_ATTRIBUTE20 in VARCHAR2 DEFAULT NULL,
789   X_GF_ATTRIBUTE_CATEGORY in VARCHAR2 DEFAULT NULL,
790   p_log_level_rec        IN     FA_API_TYPES.log_level_rec_type default null) is
791 
792   h_record_exists number(15);
793 
794   user_id         number;
795   row_id          varchar2(64);
796 
797   db_last_updated_by   number;
798   db_last_update_date  date;
799 
800 begin
801 
802   user_id := fnd_load_util.owner_id (X_Owner);
803 
804   select count(*)
805   into   h_record_exists
806   from   fa_categories_b
807   where  category_id = X_Category_Id;
808 
809   if (h_record_exists > 0) then
810 
811      select last_updated_by, last_update_date
812      into   db_last_updated_by, db_last_update_date
813      from   fa_categories_b
814      where  category_id = X_Category_Id;
815 
816      if (fnd_load_util.upload_test(user_id, x_last_update_date,
817                                    db_last_updated_by, db_last_update_date,
818                                    X_CUSTOM_MODE)) then
819 
820         fa_categories_pkg.update_row (
821            X_Category_ID		=> X_Category_Id,
822            X_Summary_Flag		=> X_Summary_Flag,
823            X_Enabled_Flag		=> X_Enabled_Flag,
824            X_Owned_Leased		=> X_Owned_Leased,
825            X_Category_Type		=> X_Category_Type,
826            X_Capitalize_Flag		=> X_Capitalize_Flag,
827            X_Description		=> X_Description,
828            X_Segment1			=> X_Segment1,
829            X_Segment2			=> X_Segment2,
830            X_Segment3			=> X_Segment3,
831            X_Segment4			=> X_Segment4,
832            X_Segment5			=> X_Segment5,
833            X_Segment6			=> X_Segment6,
834            X_Segment7			=> X_Segment7,
835            X_Start_Date_Active		=> X_Start_Date_Active,
836            X_End_Date_Active		=> X_End_Date_Active,
837            X_Property_Type_Code		=> X_Property_Type_Code,
838            X_Property_1245_1250_Code	=> X_Property_1245_1250_Code,
839            X_Date_Ineffective		=> X_Date_Ineffective,
840            X_Attribute1			=> X_Attribute1,
841            X_Attribute2			=> X_Attribute2,
842            X_Attribute3			=> X_Attribute3,
843            X_Attribute4			=> X_Attribute4,
844            X_Attribute5			=> X_Attribute5,
845            X_Attribute6			=> X_Attribute6,
846            X_Attribute7			=> X_Attribute7,
847            X_Attribute8			=> X_Attribute8,
848            X_Attribute9			=> X_Attribute9,
849            X_Attribute10		=> X_Attribute10,
850            X_Attribute11		=> X_Attribute11,
851            X_Attribute12		=> X_Attribute12,
852            X_Attribute13		=> X_Attribute13,
853            X_Attribute14		=> X_Attribute14,
854            X_Attribute15		=> X_Attribute15,
855            X_Attribute_Category_Code	=> X_Attribute_Category_Code,
856            X_Production_Capacity	=> X_Production_Capacity,
857            X_Global_Attribute1		=> X_gf_Attribute1,
858            X_Global_Attribute2		=> X_gf_Attribute2,
859            X_Global_Attribute3		=> X_gf_Attribute3,
860            X_Global_Attribute4		=> X_gf_Attribute4,
861            X_Global_Attribute5		=> X_gf_Attribute5,
862            X_Global_Attribute6		=> X_gf_Attribute6,
863            X_Global_Attribute7		=> X_gf_Attribute7,
864            X_Global_Attribute8		=> X_gf_Attribute8,
865            X_Global_Attribute9		=> X_gf_Attribute9,
866            X_Global_Attribute10		=> X_gf_Attribute10,
867            X_Global_Attribute11		=> X_gf_Attribute11,
868            X_Global_Attribute12		=> X_gf_Attribute12,
869            X_Global_Attribute13		=> X_gf_Attribute13,
870            X_Global_Attribute14		=> X_gf_Attribute14,
871            X_Global_Attribute15		=> X_gf_Attribute15,
872            X_Global_Attribute16		=> X_gf_Attribute16,
873            X_Global_Attribute17		=> X_gf_Attribute17,
874            X_Global_Attribute18		=> X_gf_Attribute18,
875            X_Global_Attribute19		=> X_gf_Attribute19,
876            X_Global_Attribute20		=> X_gf_Attribute20,
877            X_Inventorial		=> X_Inventorial,
878            X_Last_Update_Date		=> sysdate,
879            X_Last_Updated_By		=> user_id,
880            X_Last_Update_Login		=> 0
881            ,p_log_level_rec => p_log_level_rec);
882      end if;
883   else
884      fa_categories_pkg.insert_row (
885 	X_Rowid				=> row_id,
886 	X_Category_Id			=> X_Category_Id,
887 	X_Summary_Flag			=> X_Summary_Flag,
888 	X_Enabled_Flag			=> X_Enabled_Flag,
889 	X_Owned_Leased			=> X_Owned_Leased,
890 	X_Category_Type			=> X_Category_Type,
891 	X_Capitalize_Flag		=> X_Capitalize_Flag,
892 	X_Description			=> X_Description,
893 	X_Segment1			=> X_Segment1,
894 	X_Segment2			=> X_Segment2,
895 	X_Segment3			=> X_Segment3,
896 	X_Segment4			=> X_Segment4,
897 	X_Segment5			=> X_Segment5,
898 	X_Segment6			=> X_Segment6,
899 	X_Segment7			=> X_Segment7,
900 	X_Start_Date_Active		=> X_Start_Date_Active,
901 	X_End_Date_Active		=> X_End_Date_Active,
902 	X_Property_Type_Code		=> X_Property_Type_Code,
903 	X_Property_1245_1250_Code	=> X_Property_1245_1250_Code,
904 	X_Date_Ineffective		=> X_Date_Ineffective,
905 	X_Attribute1			=> X_Attribute1,
906 	X_Attribute2			=> X_Attribute2,
907 	X_Attribute3			=> X_Attribute3,
908 	X_Attribute4			=> X_Attribute4,
909 	X_Attribute5			=> X_Attribute5,
910 	X_Attribute6			=> X_Attribute6,
911 	X_Attribute7			=> X_Attribute7,
912 	X_Attribute8			=> X_Attribute8,
913 	X_Attribute9			=> X_Attribute9,
914 	X_Attribute10			=> X_Attribute10,
915 	X_Attribute11			=> X_Attribute11,
916 	X_Attribute12			=> X_Attribute12,
917 	X_Attribute13			=> X_Attribute13,
918 	X_Attribute14			=> X_Attribute14,
919 	X_Attribute15			=> X_Attribute15,
920 	X_Production_Capacity		=> X_Production_Capacity,
921 	X_Global_Attribute1		=> X_gf_Attribute1,
922 	X_Global_Attribute2		=> X_gf_Attribute2,
923 	X_Global_Attribute3		=> X_gf_Attribute3,
924 	X_Global_Attribute4		=> X_gf_Attribute4,
925 	X_Global_Attribute5		=> X_gf_Attribute5,
926 	X_Global_Attribute6		=> X_gf_Attribute6,
927 	X_Global_Attribute7		=> X_gf_Attribute7,
928 	X_Global_Attribute8		=> X_gf_Attribute8,
929 	X_Global_Attribute9		=> X_gf_Attribute9,
930 	X_Global_Attribute10		=> X_gf_Attribute10,
931 	X_Global_Attribute11		=> X_gf_Attribute11,
932 	X_Global_Attribute12		=> X_gf_Attribute12,
933 	X_Global_Attribute13		=> X_gf_Attribute13,
934 	X_Global_Attribute14		=> X_gf_Attribute14,
935 	X_Global_Attribute15		=> X_gf_Attribute15,
936 	X_Global_Attribute16		=> X_gf_Attribute16,
937 	X_Global_Attribute17		=> X_gf_Attribute17,
938 	X_Global_Attribute18		=> X_gf_Attribute18,
939 	X_Global_Attribute19		=> X_gf_Attribute19,
940 	X_Global_Attribute20		=> X_gf_Attribute20,
941 	X_Inventorial			=> X_Inventorial,
942 	X_Creation_Date			=> sysdate,
943 	X_Created_By			=> user_id,
944 	X_Last_Update_Date		=> sysdate,
945 	X_Last_Updated_By		=> user_id,
946 	X_Last_Update_Login		=> 0
947 	,p_log_level_rec => p_log_level_rec);
948   end if;
949 
950 exception
951   when others then
952        FA_STANDARD_PKG.RAISE_ERROR(
953                       CALLED_FN => 'fa_categories_pkg.load_row',
954                       CALLING_FN => 'upload fa_additions'
955                       ,p_log_level_rec => p_log_level_rec);
956 
957 end LOAD_ROW;
958 
959 procedure TRANSLATE_ROW (
960   X_CUSTOM_MODE in VARCHAR2,
961   X_CATEGORY_ID in NUMBER,
962   X_OWNER in VARCHAR2,
963   X_LAST_UPDATE_DATE in DATE,
964   X_DESCRIPTION in VARCHAR2,
965   p_log_level_rec        IN     FA_API_TYPES.log_level_rec_type default null) is
966 
967   user_id              number;
968 
969   db_last_updated_by   number;
970   db_last_update_date  date;
971 
972 begin
973 
974    select last_updated_by, last_update_date
975    into   db_last_updated_by, db_last_update_date
976    from   fa_categories_tl
977    where  category_id = X_Category_Id
978    and    userenv('LANG') in (LANGUAGE, SOURCE_LANG);
979 
980    user_id := fnd_load_util.owner_id (X_Owner);
981 
982    if (fnd_load_util.upload_test(user_id, x_last_update_date,
983                                  db_last_updated_by, db_last_update_date,
984                                  X_CUSTOM_MODE)) then
985 
986       update FA_CATEGORIES_TL set
987          DESCRIPTION = nvl(X_Description, DESCRIPTION),
988          LAST_UPDATE_DATE = sysdate,
989          LAST_UPDATED_BY = 0,
990          LAST_UPDATE_LOGIN = 0,
991          SOURCE_LANG = userenv('LANG')
992       where userenv('LANG') in (LANGUAGE, SOURCE_LANG)
993       and   CATEGORY_ID = X_Category_ID;
994 
995    end if;
996 
997 exception
998   when no_data_found then null;
999 
1000   when others then
1001        FA_STANDARD_PKG.RAISE_ERROR(
1002                       CALLED_FN => 'fa_categories_pkg.translate_row',
1003                       CALLING_FN => 'upload fa_categories'
1004                       ,p_log_level_rec => p_log_level_rec);
1005 
1006 end TRANSLATE_ROW;
1007 
1008 procedure LOAD_SEED_ROW (
1009              x_upload_mode              IN VARCHAR2,
1010              x_custom_mode              IN VARCHAR2,
1011              x_category_id              IN NUMBER,
1012              x_owner                    IN VARCHAR2,
1013              x_last_update_date         IN DATE,
1014              x_summary_flag             IN VARCHAR2,
1015              x_enabled_flag             IN VARCHAR2,
1016              x_owned_leased             IN VARCHAR2,
1017              x_production_capacity      IN NUMBER,
1018              x_category_type            IN VARCHAR2,
1019              x_capitalize_flag          IN VARCHAR2,
1020              x_description              IN VARCHAR2,
1021              x_segment1                 IN VARCHAR2,
1022              x_segment2                 IN VARCHAR2,
1023              x_segment3                 IN VARCHAR2,
1024              x_segment4                 IN VARCHAR2,
1025              x_segment5                 IN VARCHAR2,
1026              x_segment6                 IN VARCHAR2,
1027              x_segment7                 IN VARCHAR2,
1028              x_start_date_active        IN DATE,
1029              x_end_date_active          IN DATE,
1030              x_property_type_code       IN VARCHAR2,
1031              x_property_1245_1250_code  IN VARCHAR2,
1032              x_date_ineffective         IN DATE,
1033              x_inventorial              IN VARCHAR2,
1034              x_attribute1               IN VARCHAR2,
1035              x_attribute2               IN VARCHAR2,
1036              x_attribute3               IN VARCHAR2,
1037              x_attribute4               IN VARCHAR2,
1038              x_attribute5               IN VARCHAR2,
1039              x_attribute6               IN VARCHAR2,
1040              x_attribute7               IN VARCHAR2,
1041              x_attribute8               IN VARCHAR2,
1042              x_attribute9               IN VARCHAR2,
1043              x_attribute10              IN VARCHAR2,
1044              x_attribute11              IN VARCHAR2,
1045              x_attribute12              IN VARCHAR2,
1046              x_attribute13              IN VARCHAR2,
1047              x_attribute14              IN VARCHAR2,
1048              x_attribute15              IN VARCHAR2,
1049              x_attribute_category_code  IN VARCHAR2,
1050              x_gf_attribute1            IN VARCHAR2,
1051              x_gf_attribute2            IN VARCHAR2,
1052              x_gf_attribute3            IN VARCHAR2,
1053              x_gf_attribute4            IN VARCHAR2,
1054              x_gf_attribute5            IN VARCHAR2,
1055              x_gf_attribute6            IN VARCHAR2,
1056              x_gf_attribute7            IN VARCHAR2,
1057              x_gf_attribute8            IN VARCHAR2,
1058              x_gf_attribute9            IN VARCHAR2,
1059              x_gf_attribute10           IN VARCHAR2,
1060              x_gf_attribute11           IN VARCHAR2,
1061              x_gf_attribute12           IN VARCHAR2,
1062              x_gf_attribute13           IN VARCHAR2,
1063              x_gf_attribute14           IN VARCHAR2,
1064              x_gf_attribute15           IN VARCHAR2,
1065              x_gf_attribute16           IN VARCHAR2,
1066              x_gf_attribute17           IN VARCHAR2,
1067              x_gf_attribute18           IN VARCHAR2,
1068              x_gf_attribute19           IN VARCHAR2,
1069              x_gf_attribute20           IN VARCHAR2,
1070              x_gf_attribute_category    IN VARCHAR2) IS
1071 
1072 BEGIN
1073 
1074         if (x_upload_mode = 'NLS') then
1075            fa_categories_pkg.TRANSLATE_ROW (
1076              x_custom_mode              => x_custom_mode,
1077              x_category_id              => x_category_id,
1078              x_owner                    => x_owner,
1079              x_last_update_date         => x_last_update_date,
1080              x_description              => x_description);
1081         else
1082            fa_categories_pkg.LOAD_ROW (
1083              x_custom_mode              => x_custom_mode,
1084              x_category_id              => x_category_id,
1085              x_owner                    => x_owner,
1086              x_last_update_date         => x_last_update_date,
1087              x_summary_flag             => x_summary_flag,
1088              x_enabled_flag             => x_enabled_flag,
1089              x_owned_leased             => x_owned_leased,
1090              x_production_capacity      => x_production_capacity,
1091              x_category_type            => x_category_type,
1092              x_capitalize_flag          => x_capitalize_flag,
1093              x_description              => x_description,
1094              x_segment1                 => x_segment1,
1095              x_segment2                 => x_segment2,
1096              x_segment3                 => x_segment3,
1097              x_segment4                 => x_segment4,
1098              x_segment5                 => x_segment5,
1099              x_segment6                 => x_segment6,
1100              x_segment7                 => x_segment7,
1101              x_start_date_active        => x_start_date_active,
1102              x_end_date_active          => x_end_date_active,
1103              x_property_type_code       => x_property_type_code,
1104              x_property_1245_1250_code  => x_property_1245_1250_code,
1105              x_date_ineffective         => x_date_ineffective,
1106              x_inventorial              => x_inventorial,
1107              x_attribute1               => x_attribute1,
1108              x_attribute2               => x_attribute2,
1109              x_attribute3               => x_attribute3,
1110              x_attribute4               => x_attribute4,
1111              x_attribute5               => x_attribute5,
1112              x_attribute6               => x_attribute6,
1113              x_attribute7               => x_attribute7,
1114              x_attribute8               => x_attribute8,
1115              x_attribute9               => x_attribute9,
1116              x_attribute10              => x_attribute10,
1117              x_attribute11              => x_attribute11,
1118              x_attribute12              => x_attribute12,
1119              x_attribute13              => x_attribute13,
1120              x_attribute14              => x_attribute14,
1121              x_attribute15              => x_attribute15,
1122              x_attribute_category_code  => x_attribute_category_code,
1123              x_gf_attribute1            => x_gf_attribute1,
1124              x_gf_attribute2            => x_gf_attribute2,
1125              x_gf_attribute3            => x_gf_attribute3,
1126              x_gf_attribute4            => x_gf_attribute4,
1127              x_gf_attribute5            => x_gf_attribute5,
1128              x_gf_attribute6            => x_gf_attribute6,
1129              x_gf_attribute7            => x_gf_attribute7,
1130              x_gf_attribute8            => x_gf_attribute8,
1131              x_gf_attribute9            => x_gf_attribute9,
1132              x_gf_attribute10           => x_gf_attribute10,
1133              x_gf_attribute11           => x_gf_attribute11,
1134              x_gf_attribute12           => x_gf_attribute12,
1135              x_gf_attribute13           => x_gf_attribute13,
1136              x_gf_attribute14           => x_gf_attribute14,
1137              x_gf_attribute15           => x_gf_attribute15,
1138              x_gf_attribute16           => x_gf_attribute16,
1139              x_gf_attribute17           => x_gf_attribute17,
1140              x_gf_attribute18           => x_gf_attribute18,
1141              x_gf_attribute19           => x_gf_attribute19,
1142              x_gf_attribute20           => x_gf_attribute20,
1143              x_gf_attribute_category    => x_gf_attribute_category);
1144         end if;
1145 
1146 END LOAD_SEED_ROW;
1147 
1148 end FA_CATEGORIES_PKG;