DBA Data[Home] [Help]

PACKAGE BODY: APPS.MTL_UOM_CLASSES_TL_PKG

Source


1 package body MTL_UOM_CLASSES_TL_PKG as
2 /* $Header: INVUOCSB.pls 120.2 2006/06/16 15:08:15 amohamme noship $ */
3 --
4 /* this version assumes that the userenv('LANG') is the language for the user session */
5 procedure INSERT_ROW (
6   X_ROWID IN OUT NOCOPY /* file.sql.39 change */ VARCHAR2,
7   X_UOM_CLASS in VARCHAR2,
8   X_UOM_CLASS_TL in VARCHAR2,
9   X_DESCRIPTION in VARCHAR2,
10   X_DISABLE_DATE in DATE,
11   X_ATTRIBUTE_CATEGORY in VARCHAR2,
12   X_ATTRIBUTE1 in VARCHAR2,
13   X_ATTRIBUTE2 in VARCHAR2,
14   X_ATTRIBUTE3 in VARCHAR2,
15   X_ATTRIBUTE4 in VARCHAR2,
16   X_ATTRIBUTE5 in VARCHAR2,
17   X_ATTRIBUTE6 in VARCHAR2,
18   X_ATTRIBUTE7 in VARCHAR2,
19   X_ATTRIBUTE8 in VARCHAR2,
20   X_ATTRIBUTE9 in VARCHAR2,
21   X_ATTRIBUTE10 in VARCHAR2,
22   X_ATTRIBUTE11 in VARCHAR2,
23   X_ATTRIBUTE12 in VARCHAR2,
24   X_ATTRIBUTE13 in VARCHAR2,
25   X_ATTRIBUTE14 in VARCHAR2,
26   X_ATTRIBUTE15 in VARCHAR2,
27   X_REQUEST_ID in NUMBER,
28   X_PROGRAM_ID in NUMBER,
29   X_PROGRAM_APPLICATION_ID in NUMBER,
30   X_PROGRAM_UPDATE_DATE in DATE,
31   X_CREATION_DATE in DATE,
32   X_CREATED_BY in NUMBER,
33   X_LAST_UPDATE_DATE in DATE,
34   X_LAST_UPDATED_BY in NUMBER,
35   X_LAST_UPDATE_LOGIN in NUMBER
36 ) as
37 begin
38    insert_row (
39 	       x_rowid,
40 	       x_uom_class ,
41 	       x_uom_class_tl ,
42 	       x_description ,
43 	       x_disable_date,
44 	       x_attribute_category ,
45 	       x_attribute1 ,
46 	       x_attribute2 ,
47 	       x_attribute3 ,
48 	       x_attribute4 ,
49 	       x_attribute5 ,
50 	       x_attribute6 ,
51 	       x_attribute7 ,
52 	       x_attribute8 ,
53 	       x_attribute9 ,
54 	       x_attribute10 ,
55 	       x_attribute11 ,
56 	       x_attribute12 ,
57 	       x_attribute13 ,
58 	       x_attribute14 ,
59 	       x_attribute15 ,
60 	       x_request_id,
61 	       x_program_id,
62 	       x_program_application_id,
63 	       x_program_update_date,
64 	       x_creation_date,
65 	       x_created_by,
66 	       x_last_update_date,
67 	       x_last_updated_by,
68                x_last_update_login,
69 	       userenv('LANG')
70 	       );
71 end INSERT_ROW;
72 --
73 /* this version assumes that the userenv('LANG') is the language for the user session */
74 procedure LOCK_ROW (
75   X_UOM_CLASS in VARCHAR2,
76   X_UOM_CLASS_TL in VARCHAR2,
77   X_DESCRIPTION in VARCHAR2,
78   X_DISABLE_DATE in DATE,
79   X_ATTRIBUTE_CATEGORY in VARCHAR2,
80   X_ATTRIBUTE1 in VARCHAR2,
81   X_ATTRIBUTE2 in VARCHAR2,
82   X_ATTRIBUTE3 in VARCHAR2,
83   X_ATTRIBUTE4 in VARCHAR2,
84   X_ATTRIBUTE5 in VARCHAR2,
85   X_ATTRIBUTE6 in VARCHAR2,
86   X_ATTRIBUTE7 in VARCHAR2,
87   X_ATTRIBUTE8 in VARCHAR2,
88   X_ATTRIBUTE9 in VARCHAR2,
89   X_ATTRIBUTE10 in VARCHAR2,
90   X_ATTRIBUTE11 in VARCHAR2,
91   X_ATTRIBUTE12 in VARCHAR2,
92   X_ATTRIBUTE13 in VARCHAR2,
93   X_ATTRIBUTE14 in VARCHAR2,
94   X_ATTRIBUTE15 in VARCHAR2,
95   X_REQUEST_ID in NUMBER
96 ) as
97 begin
98    lock_row (x_uom_class,
99 	     x_uom_class_tl,
100 	     x_description,
101 	     x_disable_date,
102 	     x_attribute_category,
103 	     x_attribute1 ,
104 	     x_attribute2 ,
105 	     x_attribute3 ,
106 	     x_attribute4 ,
107 	     x_attribute5 ,
108 	     x_attribute6 ,
109 	     x_attribute7 ,
110 	     x_attribute8 ,
111 	     x_attribute9 ,
112 	     x_attribute10 ,
113 	     x_attribute11 ,
114 	     x_attribute12 ,
115 	     x_attribute13 ,
116 	     x_attribute14 ,
117 	     x_attribute15 ,
118 	     x_request_id ,
119 	     userenv('LANG')
120 	     );
121 end LOCK_ROW;
122 --
123 /* this version assumes that the userenv('LANG') is the language for the user session */
124 procedure UPDATE_ROW (
125   X_UOM_CLASS in VARCHAR2,
126   X_UOM_CLASS_TL in VARCHAR2,
127   X_DESCRIPTION in VARCHAR2,
128   X_DISABLE_DATE in DATE,
129   X_ATTRIBUTE_CATEGORY in VARCHAR2,
130   X_ATTRIBUTE1 in VARCHAR2,
131   X_ATTRIBUTE2 in VARCHAR2,
132   X_ATTRIBUTE3 in VARCHAR2,
133   X_ATTRIBUTE4 in VARCHAR2,
134   X_ATTRIBUTE5 in VARCHAR2,
135   X_ATTRIBUTE6 in VARCHAR2,
136   X_ATTRIBUTE7 in VARCHAR2,
137   X_ATTRIBUTE8 in VARCHAR2,
138   X_ATTRIBUTE9 in VARCHAR2,
139   X_ATTRIBUTE10 in VARCHAR2,
140   X_ATTRIBUTE11 in VARCHAR2,
141   X_ATTRIBUTE12 in VARCHAR2,
142   X_ATTRIBUTE13 in VARCHAR2,
143   X_ATTRIBUTE14 in VARCHAR2,
144   X_ATTRIBUTE15 in VARCHAR2,
145   X_REQUEST_ID in NUMBER,
146   X_LAST_UPDATE_DATE in DATE,
147   X_LAST_UPDATED_BY in NUMBER,
148   X_LAST_UPDATE_LOGIN in NUMBER
149 ) as
150 begin
151    update_row (
152 	       x_uom_class ,
153 	       x_uom_class_tl ,
154 	       x_description ,
155 	       x_disable_date ,
156 	       x_attribute_category ,
157 	       x_attribute1 ,
158 	       x_attribute2 ,
159 	       x_attribute3 ,
160 	       x_attribute4 ,
161 	       x_attribute5 ,
162 	       x_attribute6 ,
163 	       x_attribute7 ,
164 	       x_attribute8 ,
165 	       x_attribute9 ,
166 	       x_attribute10 ,
167 	       x_attribute11 ,
168 	       x_attribute12 ,
169 	       x_attribute13 ,
170 	       x_attribute14 ,
171 	       x_attribute15 ,
172 	       x_request_id ,
173 	       x_last_update_date ,
174 	       x_last_updated_by ,
175 	       x_last_update_login ,
176 	       userenv('LANG')
177 	       );
178 end UPDATE_ROW;
179 --
180 procedure DELETE_ROW (
181   X_UOM_CLASS in VARCHAR2
182 ) as
183 begin
184   delete from MTL_UOM_CLASSES_TL
185   where UOM_CLASS = X_UOM_CLASS;
186 
187   if (sql%notfound) then
188     raise no_data_found;
189   end if;
190 
191 end DELETE_ROW;
192 --
193 procedure LOAD_ROW (
194   X_UOM_CLASS in VARCHAR2,
195   X_UOM_CLASS_TL in VARCHAR2,
196   X_DESCRIPTION in VARCHAR2,
197   X_OWNER in VARCHAR2,
198   X_DISABLE_DATE in DATE,
199   X_ATTRIBUTE_CATEGORY in VARCHAR2,
200   X_ATTRIBUTE1 in VARCHAR2,
201   X_ATTRIBUTE2 in VARCHAR2,
202   X_ATTRIBUTE3 in VARCHAR2,
203   X_ATTRIBUTE4 in VARCHAR2,
204   X_ATTRIBUTE5 in VARCHAR2,
205   X_ATTRIBUTE6 in VARCHAR2,
206   X_ATTRIBUTE7 in VARCHAR2,
207   X_ATTRIBUTE8 in VARCHAR2,
208   X_ATTRIBUTE9 in VARCHAR2,
209   X_ATTRIBUTE10 in VARCHAR2,
210   X_ATTRIBUTE11 in VARCHAR2,
211   X_ATTRIBUTE12 in VARCHAR2,
212   X_ATTRIBUTE13 in VARCHAR2,
213   X_ATTRIBUTE14 in VARCHAR2,
214   X_ATTRIBUTE15 in VARCHAR2,
215   X_REQUEST_ID in NUMBER,
216   X_LAST_UPDATE_DATE in DATE,
217   X_LAST_UPDATED_BY in NUMBER,
218   X_LAST_UPDATE_LOGIN in NUMBER,
219   X_APPL_SHORT_NAME in VARCHAR2
220 ) as
221   user_id NUMBER;
222   row_id VARCHAR2(64);
223   l_program_id NUMBER;
224   l_program_application_id NUMBER;
225 begin
226   l_program_id := null;
227 
228   if( X_APPL_SHORT_NAME is not null ) then
229 	select application_id
230 	into l_program_application_id
231 	from fnd_application
232 	where application_short_name = X_APPL_SHORT_NAME;
233   end if;
234 
235 
236   user_id := fnd_load_util.owner_id(x_owner);
237 
238   mtl_uom_classes_tl_pkg.update_row(
239   X_UOM_CLASS => X_UOM_CLASS,
240   X_UOM_CLASS_TL => X_UOM_CLASS_TL,
241   X_DESCRIPTION => X_DESCRIPTION,
242   X_DISABLE_DATE => X_DISABLE_DATE,
243   X_ATTRIBUTE_CATEGORY => X_ATTRIBUTE_CATEGORY,
244   X_ATTRIBUTE1 => X_ATTRIBUTE1,
245   X_ATTRIBUTE2 => X_ATTRIBUTE2,
246   X_ATTRIBUTE3 => X_ATTRIBUTE3,
247   X_ATTRIBUTE4 => X_ATTRIBUTE4,
248   X_ATTRIBUTE5 => X_ATTRIBUTE5,
249   X_ATTRIBUTE6 => X_ATTRIBUTE6,
250   X_ATTRIBUTE7 => X_ATTRIBUTE7,
251   X_ATTRIBUTE8 => X_ATTRIBUTE8,
252   X_ATTRIBUTE9 => X_ATTRIBUTE9,
253   X_ATTRIBUTE10 => X_ATTRIBUTE10,
254   X_ATTRIBUTE11 => X_ATTRIBUTE11,
255   X_ATTRIBUTE12 => X_ATTRIBUTE12,
256   X_ATTRIBUTE13 => X_ATTRIBUTE13,
257   X_ATTRIBUTE14 => X_ATTRIBUTE14,
258   X_ATTRIBUTE15 => X_ATTRIBUTE15,
259   X_REQUEST_ID => X_REQUEST_ID,
260   X_LAST_UPDATE_DATE => X_LAST_UPDATE_DATE,
261   X_LAST_UPDATED_BY => user_id,
262   X_LAST_UPDATE_LOGIN => 0);
263 exception
264   when no_data_found then
265     mtl_uom_classes_tl_pkg.insert_row(
266   	X_ROWID => row_id,
267   	X_UOM_CLASS => x_uom_class,
268   	X_UOM_CLASS_TL => x_uom_class_tl,
269   	X_DESCRIPTION => x_description,
270   	X_DISABLE_DATE => x_disable_date,
271   	X_ATTRIBUTE_CATEGORY => x_attribute_category,
272   	X_ATTRIBUTE1 => x_attribute1,
273   	X_ATTRIBUTE2 => x_attribute2,
274   	X_ATTRIBUTE3 => x_attribute3,
275   	X_ATTRIBUTE4 => x_attribute4,
276   	X_ATTRIBUTE5 => x_attribute5,
277   	X_ATTRIBUTE6 => x_attribute6,
278   	X_ATTRIBUTE7 => x_attribute7,
279   	X_ATTRIBUTE8 => x_attribute8,
280   	X_ATTRIBUTE9 => x_attribute9,
281   	X_ATTRIBUTE10 => x_attribute10,
282   	X_ATTRIBUTE11 => x_attribute11,
283   	X_ATTRIBUTE12 => x_attribute12,
284   	X_ATTRIBUTE13 => x_attribute13,
285   	X_ATTRIBUTE14 => x_attribute14,
286   	X_ATTRIBUTE15 => x_attribute15,
287   	X_REQUEST_ID => x_request_id,
288         X_PROGRAM_ID => l_program_id,
289   	X_PROGRAM_APPLICATION_ID => l_program_application_id,
290   	X_PROGRAM_UPDATE_DATE => X_LAST_UPDATE_DATE,
291   	X_CREATION_DATE => X_LAST_UPDATE_DATE,
292   	X_CREATED_BY => user_id,
293   	X_LAST_UPDATE_DATE => X_LAST_UPDATE_DATE,
294   	X_LAST_UPDATED_BY => user_id,
295   	X_LAST_UPDATE_LOGIN => 0
296     );
297 end LOAD_ROW;
298 --
299 procedure TRANSLATE_ROW(
300   X_UOM_CLASS in VARCHAR2,
301   X_UOM_CLASS_TL in VARCHAR2,
302   X_DESCRIPTION in VARCHAR2,
303   X_OWNER in VARCHAR2
304 ) as
305 f_luby    number;  -- entity owner in file
306 begin
307    -- Translate owner to file_last_updated_by
308    f_luby := fnd_load_util.owner_id(x_owner);
309 
310    update mtl_uom_classes_tl set
311      uom_class_tl = x_uom_class_tl,
312      description = x_description,
313      last_update_date = sysdate,
314      last_updated_by = f_luby,
315      last_update_login = 0,
316      source_lang = userenv('LANG')
317    where userenv('LANG') in (LANGUAGE, SOURCE_LANG)
318    and uom_class = x_uom_class;
319 end TRANSLATE_ROW;
320 --
321 procedure ADD_LANGUAGE
322 as
323 begin
324   update MTL_UOM_CLASSES_TL T set (
325       UOM_CLASS_TL,
326       DESCRIPTION
327     ) = (select
328       B.UOM_CLASS,
329       B.DESCRIPTION
330     from MTL_UOM_CLASSES_TL B
331     where B.UOM_CLASS = T.UOM_CLASS
332     and B.LANGUAGE = T.SOURCE_LANG)
333   where (
334       T.UOM_CLASS,
335       T.LANGUAGE
336   ) in (select
337       SUBT.UOM_CLASS,
338       SUBT.LANGUAGE
339     from MTL_UOM_CLASSES_TL SUBB, MTL_UOM_CLASSES_TL SUBT
340     where SUBB.UOM_CLASS = SUBT.UOM_CLASS
341     and SUBB.LANGUAGE = SUBT.SOURCE_LANG
342     and (SUBB.UOM_CLASS <> SUBT.UOM_CLASS
343       or SUBB.DESCRIPTION <> SUBT.DESCRIPTION
344       or (SUBB.DESCRIPTION is null and SUBT.DESCRIPTION is not null)
345       or (SUBB.DESCRIPTION is not null and SUBT.DESCRIPTION is null)
346   ));
347 
348   insert into MTL_UOM_CLASSES_TL (
349     UOM_CLASS,
350     UOM_CLASS_TL,
351     DESCRIPTION,
352     DISABLE_DATE,
353     ATTRIBUTE_CATEGORY,
354     ATTRIBUTE1,
355     ATTRIBUTE2,
356     ATTRIBUTE3,
357     ATTRIBUTE4,
358     ATTRIBUTE5,
359     ATTRIBUTE6,
360     ATTRIBUTE7,
361     ATTRIBUTE8,
362     ATTRIBUTE9,
363     ATTRIBUTE10,
364     ATTRIBUTE11,
365     ATTRIBUTE12,
366     ATTRIBUTE13,
367     ATTRIBUTE14,
368     ATTRIBUTE15,
369     REQUEST_ID,
370     PROGRAM_ID,
371     PROGRAM_APPLICATION_ID,
372     PROGRAM_UPDATE_DATE,
373     LAST_UPDATE_LOGIN,
374     CREATION_DATE,
375     CREATED_BY,
376     LAST_UPDATE_DATE,
377     LAST_UPDATED_BY,
378     LANGUAGE,
379     SOURCE_LANG
380   ) select
381     B.UOM_CLASS,
382     B.UOM_CLASS_TL,
383     B.DESCRIPTION,
384     B.DISABLE_DATE,
385     B.ATTRIBUTE_CATEGORY,
386     B.ATTRIBUTE1,
387     B.ATTRIBUTE2,
388     B.ATTRIBUTE3,
389     B.ATTRIBUTE4,
390     B.ATTRIBUTE5,
391     B.ATTRIBUTE6,
392     B.ATTRIBUTE7,
393     B.ATTRIBUTE8,
394     B.ATTRIBUTE9,
395     B.ATTRIBUTE10,
396     B.ATTRIBUTE11,
397     B.ATTRIBUTE12,
398     B.ATTRIBUTE13,
399     B.ATTRIBUTE14,
400     B.ATTRIBUTE15,
401     B.REQUEST_ID,
402     B.PROGRAM_ID,
403     B.PROGRAM_APPLICATION_ID,
404     B.PROGRAM_UPDATE_DATE,
405     B.LAST_UPDATE_LOGIN,
406     B.CREATION_DATE,
407     B.CREATED_BY,
408     B.LAST_UPDATE_DATE,
409     B.LAST_UPDATED_BY,
410     L.LANGUAGE_CODE,
411     B.SOURCE_LANG
412   from MTL_UOM_CLASSES_TL B, FND_LANGUAGES L
413   where L.INSTALLED_FLAG in ('I', 'B')
414   and B.LANGUAGE = userenv('LANG')
415   and not exists
416     (select NULL
417     from MTL_UOM_CLASSES_TL T
418     where T.UOM_CLASS = B.UOM_CLASS
419     and T.LANGUAGE = L.LANGUAGE_CODE);
420 end ADD_LANGUAGE;
421 
422 --
423 /* this version takes x_language as the language for the user session
424  * overloaded by Oracle Exchange
425  */
426 procedure INSERT_ROW (
427   X_ROWID IN OUT NOCOPY /* file.sql.39 change */ VARCHAR2,
428   X_UOM_CLASS in VARCHAR2,
429   X_UOM_CLASS_TL in VARCHAR2,
430   X_DESCRIPTION in VARCHAR2,
431   X_DISABLE_DATE in DATE,
432   X_ATTRIBUTE_CATEGORY in VARCHAR2,
433   X_ATTRIBUTE1 in VARCHAR2,
434   X_ATTRIBUTE2 in VARCHAR2,
435   X_ATTRIBUTE3 in VARCHAR2,
436   X_ATTRIBUTE4 in VARCHAR2,
437   X_ATTRIBUTE5 in VARCHAR2,
438   X_ATTRIBUTE6 in VARCHAR2,
439   X_ATTRIBUTE7 in VARCHAR2,
440   X_ATTRIBUTE8 in VARCHAR2,
441   X_ATTRIBUTE9 in VARCHAR2,
442   X_ATTRIBUTE10 in VARCHAR2,
443   X_ATTRIBUTE11 in VARCHAR2,
444   X_ATTRIBUTE12 in VARCHAR2,
445   X_ATTRIBUTE13 in VARCHAR2,
446   X_ATTRIBUTE14 in VARCHAR2,
447   X_ATTRIBUTE15 in VARCHAR2,
448   X_REQUEST_ID in NUMBER,
449   X_PROGRAM_ID in NUMBER,
450   X_PROGRAM_APPLICATION_ID in NUMBER,
451   X_PROGRAM_UPDATE_DATE in DATE,
452   X_CREATION_DATE in DATE,
453   X_CREATED_BY in NUMBER,
454   X_LAST_UPDATE_DATE in DATE,
455   X_LAST_UPDATED_BY in NUMBER,
456   X_LAST_UPDATE_LOGIN in NUMBER,
457   x_language IN VARCHAR2
458 ) as
459   cursor C is select ROWID from MTL_UOM_CLASSES_TL
460     where UOM_CLASS = X_UOM_CLASS
461     and LANGUAGE = x_language
462     ;
463 begin
464   insert into MTL_UOM_CLASSES_TL (
465     UOM_CLASS,
466     UOM_CLASS_TL,
467     DESCRIPTION,
468     DISABLE_DATE,
469     ATTRIBUTE_CATEGORY,
470     ATTRIBUTE1,
471     ATTRIBUTE2,
472     ATTRIBUTE3,
473     ATTRIBUTE4,
474     ATTRIBUTE5,
475     ATTRIBUTE6,
476     ATTRIBUTE7,
477     ATTRIBUTE8,
478     ATTRIBUTE9,
479     ATTRIBUTE10,
480     ATTRIBUTE11,
481     ATTRIBUTE12,
482     ATTRIBUTE13,
483     ATTRIBUTE14,
484     ATTRIBUTE15,
485     REQUEST_ID,
486     PROGRAM_ID,
487     PROGRAM_APPLICATION_ID,
488     PROGRAM_UPDATE_DATE,
489     LAST_UPDATE_LOGIN,
490     CREATION_DATE,
491     CREATED_BY,
492     LAST_UPDATE_DATE,
493     LAST_UPDATED_BY,
494     LANGUAGE,
495     SOURCE_LANG
496   ) select
497     X_UOM_CLASS,
498     X_UOM_CLASS_TL,
499     X_DESCRIPTION,
500     X_DISABLE_DATE,
501     X_ATTRIBUTE_CATEGORY,
502     X_ATTRIBUTE1,
503     X_ATTRIBUTE2,
504     X_ATTRIBUTE3,
505     X_ATTRIBUTE4,
506     X_ATTRIBUTE5,
507     X_ATTRIBUTE6,
508     X_ATTRIBUTE7,
509     X_ATTRIBUTE8,
510     X_ATTRIBUTE9,
511     X_ATTRIBUTE10,
512     X_ATTRIBUTE11,
513     X_ATTRIBUTE12,
514     X_ATTRIBUTE13,
515     X_ATTRIBUTE14,
516     X_ATTRIBUTE15,
517     X_REQUEST_ID,
518     X_PROGRAM_ID,
519     X_PROGRAM_APPLICATION_ID,
520     X_PROGRAM_UPDATE_DATE,
521     X_LAST_UPDATE_LOGIN,
522     X_CREATION_DATE,
523     X_CREATED_BY,
524     X_LAST_UPDATE_DATE,
525     X_LAST_UPDATED_BY,
526     L.LANGUAGE_CODE,
527     x_language
528   from FND_LANGUAGES L
529   where L.INSTALLED_FLAG in ('I', 'B')
530   and not exists
531     (select NULL
532     from MTL_UOM_CLASSES_TL T
533     where T.UOM_CLASS = X_UOM_CLASS
534     and T.LANGUAGE = L.LANGUAGE_CODE);
535 
536   open c;
537   fetch c into X_ROWID;
538   if (c%notfound) then
539     close c;
540     raise no_data_found;
541   end if;
542   close c;
543 
544 end INSERT_ROW;
545 --
546 /* this version takes x_language as the language for the user session
547  * overloaded by Oracle exchange
548  */
549 procedure LOCK_ROW (
550   X_UOM_CLASS in VARCHAR2,
551   X_UOM_CLASS_TL in VARCHAR2,
552   X_DESCRIPTION in VARCHAR2,
553   X_DISABLE_DATE in DATE,
554   X_ATTRIBUTE_CATEGORY in VARCHAR2,
555   X_ATTRIBUTE1 in VARCHAR2,
556   X_ATTRIBUTE2 in VARCHAR2,
557   X_ATTRIBUTE3 in VARCHAR2,
558   X_ATTRIBUTE4 in VARCHAR2,
559   X_ATTRIBUTE5 in VARCHAR2,
560   X_ATTRIBUTE6 in VARCHAR2,
561   X_ATTRIBUTE7 in VARCHAR2,
562   X_ATTRIBUTE8 in VARCHAR2,
563   X_ATTRIBUTE9 in VARCHAR2,
564   X_ATTRIBUTE10 in VARCHAR2,
565   X_ATTRIBUTE11 in VARCHAR2,
566   X_ATTRIBUTE12 in VARCHAR2,
567   X_ATTRIBUTE13 in VARCHAR2,
568   X_ATTRIBUTE14 in VARCHAR2,
569   X_ATTRIBUTE15 in VARCHAR2,
570   X_REQUEST_ID in NUMBER,
571   x_language   IN VARCHAR2
572 ) as
573   cursor c1 is select
574       UOM_CLASS,
575       DESCRIPTION,
576       DISABLE_DATE,
577       ATTRIBUTE_CATEGORY,
578       ATTRIBUTE1,
579       ATTRIBUTE2,
580       ATTRIBUTE3,
581       ATTRIBUTE4,
582       ATTRIBUTE5,
583       ATTRIBUTE6,
584       ATTRIBUTE7,
585       ATTRIBUTE8,
586       ATTRIBUTE9,
587       ATTRIBUTE10,
588       ATTRIBUTE11,
589       ATTRIBUTE12,
590       ATTRIBUTE13,
591       ATTRIBUTE14,
592       ATTRIBUTE15,
593       decode(LANGUAGE, x_language, 'Y', 'N') BASELANG
594     from MTL_UOM_CLASSES_TL
595     where UOM_CLASS = X_UOM_CLASS
596     and x_language in (LANGUAGE, SOURCE_LANG)
597     for update of UOM_CLASS nowait;
598 begin
599   for tlinfo in c1 loop
600     if (tlinfo.BASELANG = 'Y') then
601       if (    (tlinfo.UOM_CLASS = X_UOM_CLASS)
602           AND ((tlinfo.DESCRIPTION = X_DESCRIPTION)
603                OR ((tlinfo.DESCRIPTION is null) AND (X_DESCRIPTION is null)))
604           AND ((tlinfo.DISABLE_DATE = X_DISABLE_DATE)
605                OR ((tlinfo.DISABLE_DATE is null) AND (X_DISABLE_DATE is null)))
606           AND ((tlinfo.ATTRIBUTE_CATEGORY = X_ATTRIBUTE_CATEGORY)
607                OR ((tlinfo.ATTRIBUTE_CATEGORY is null) AND (X_ATTRIBUTE_CATEGORY is null)))
608           AND ((tlinfo.ATTRIBUTE1 = X_ATTRIBUTE1)
609                OR ((tlinfo.ATTRIBUTE1 is null) AND (X_ATTRIBUTE1 is null)))
610           AND ((tlinfo.ATTRIBUTE2 = X_ATTRIBUTE2)
611                OR ((tlinfo.ATTRIBUTE2 is null) AND (X_ATTRIBUTE2 is null)))
612           AND ((tlinfo.ATTRIBUTE3 = X_ATTRIBUTE3)
613                OR ((tlinfo.ATTRIBUTE3 is null) AND (X_ATTRIBUTE3 is null)))
614           AND ((tlinfo.ATTRIBUTE4 = X_ATTRIBUTE4)
615                OR ((tlinfo.ATTRIBUTE4 is null) AND (X_ATTRIBUTE4 is null)))
616           AND ((tlinfo.ATTRIBUTE5 = X_ATTRIBUTE5)
617                OR ((tlinfo.ATTRIBUTE5 is null) AND (X_ATTRIBUTE5 is null)))
618           AND ((tlinfo.ATTRIBUTE6 = X_ATTRIBUTE6)
619                OR ((tlinfo.ATTRIBUTE6 is null) AND (X_ATTRIBUTE6 is null)))
620           AND ((tlinfo.ATTRIBUTE10 = X_ATTRIBUTE10)
621                OR ((tlinfo.ATTRIBUTE10 is null) AND (X_ATTRIBUTE10 is null)))
622           AND ((tlinfo.ATTRIBUTE11 = X_ATTRIBUTE11)
623                OR ((tlinfo.ATTRIBUTE11 is null) AND (X_ATTRIBUTE11 is null)))
624           AND ((tlinfo.ATTRIBUTE12 = X_ATTRIBUTE12)
625                OR ((tlinfo.ATTRIBUTE12 is null) AND (X_ATTRIBUTE12 is null)))
626           AND ((tlinfo.ATTRIBUTE13 = X_ATTRIBUTE13)
627                OR ((tlinfo.ATTRIBUTE13 is null) AND (X_ATTRIBUTE13 is null)))
628           AND ((tlinfo.ATTRIBUTE14 = X_ATTRIBUTE14)
629                OR ((tlinfo.ATTRIBUTE14 is null) AND (X_ATTRIBUTE14 is null)))
630           AND ((tlinfo.ATTRIBUTE15 = X_ATTRIBUTE15)
631                OR ((tlinfo.ATTRIBUTE15 is null) AND (X_ATTRIBUTE15 is null)))
632           AND ((tlinfo.ATTRIBUTE7 = X_ATTRIBUTE7)
633                OR ((tlinfo.ATTRIBUTE7 is null) AND (X_ATTRIBUTE7 is null)))
634           AND ((tlinfo.ATTRIBUTE8 = X_ATTRIBUTE8)
635                OR ((tlinfo.ATTRIBUTE8 is null) AND (X_ATTRIBUTE8 is null)))
636           AND ((tlinfo.ATTRIBUTE9 = X_ATTRIBUTE9)
637                OR ((tlinfo.ATTRIBUTE9 is null) AND (X_ATTRIBUTE9 is null)))
638       ) then
639         null;
640       else
641         fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
642         app_exception.raise_exception;
643       end if;
644     end if;
645   end loop;
646   return;
647 end LOCK_ROW;
648 --
649 /* this version takes x_language as the language for the user session
650  * overloaded by Oracle Exchange
651  */
652 procedure UPDATE_ROW (
653   X_UOM_CLASS in VARCHAR2,
654   X_UOM_CLASS_TL in VARCHAR2,
655   X_DESCRIPTION in VARCHAR2,
656   X_DISABLE_DATE in DATE,
657   X_ATTRIBUTE_CATEGORY in VARCHAR2,
658   X_ATTRIBUTE1 in VARCHAR2,
659   X_ATTRIBUTE2 in VARCHAR2,
660   X_ATTRIBUTE3 in VARCHAR2,
661   X_ATTRIBUTE4 in VARCHAR2,
662   X_ATTRIBUTE5 in VARCHAR2,
663   X_ATTRIBUTE6 in VARCHAR2,
664   X_ATTRIBUTE7 in VARCHAR2,
665   X_ATTRIBUTE8 in VARCHAR2,
666   X_ATTRIBUTE9 in VARCHAR2,
667   X_ATTRIBUTE10 in VARCHAR2,
668   X_ATTRIBUTE11 in VARCHAR2,
669   X_ATTRIBUTE12 in VARCHAR2,
670   X_ATTRIBUTE13 in VARCHAR2,
671   X_ATTRIBUTE14 in VARCHAR2,
672   X_ATTRIBUTE15 in VARCHAR2,
673   X_REQUEST_ID in NUMBER,
674   X_LAST_UPDATE_DATE in DATE,
675   X_LAST_UPDATED_BY in NUMBER,
676   X_LAST_UPDATE_LOGIN in NUMBER,
677   x_language IN VARCHAR2
678 ) as
679 begin
680   update MTL_UOM_CLASSES_TL set
681     UOM_CLASS_TL = X_UOM_CLASS_TL,
682     DESCRIPTION = X_DESCRIPTION,
683     DISABLE_DATE = X_DISABLE_DATE,
684     ATTRIBUTE_CATEGORY = X_ATTRIBUTE_CATEGORY,
685     ATTRIBUTE1 = X_ATTRIBUTE1,
686     ATTRIBUTE2 = X_ATTRIBUTE2,
687     ATTRIBUTE3 = X_ATTRIBUTE3,
688     ATTRIBUTE4 = X_ATTRIBUTE4,
689     ATTRIBUTE5 = X_ATTRIBUTE5,
690     ATTRIBUTE6 = X_ATTRIBUTE6,
691     ATTRIBUTE7 = X_ATTRIBUTE7,
692     ATTRIBUTE8 = X_ATTRIBUTE8,
693     ATTRIBUTE9 = X_ATTRIBUTE9,
694     ATTRIBUTE10 = X_ATTRIBUTE10,
695     ATTRIBUTE11 = X_ATTRIBUTE11,
696     ATTRIBUTE12 = X_ATTRIBUTE12,
697     ATTRIBUTE13 = X_ATTRIBUTE13,
698     ATTRIBUTE14 = X_ATTRIBUTE14,
699     ATTRIBUTE15 = X_ATTRIBUTE15,
700     REQUEST_ID = X_REQUEST_ID,
701     LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
702     LAST_UPDATED_BY = X_LAST_UPDATED_BY,
703     LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN,
704     SOURCE_LANG = x_language
705   where UOM_CLASS = X_UOM_CLASS
706   and x_language in (LANGUAGE, SOURCE_LANG);
707 
708   if (sql%notfound) then
709     raise no_data_found;
710   end if;
711 end UPDATE_ROW;
712 --
713 
714 end MTL_UOM_CLASSES_TL_PKG;