[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;