1 package body MTL_GRADES_PVT as
2 /* $Header: INVVGRDB.pls 120.0 2005/05/25 06:14:08 appldev noship $ */
3 procedure INSERT_ROW (
4 X_ROWID in out nocopy VARCHAR2,
5 X_GRADE_CODE in VARCHAR2,
6 X_DESCRIPTION in VARCHAR2,
7 X_DISABLE_FLAG in VARCHAR2,
8 X_ATTRIBUTE1 in VARCHAR2,
9 X_ATTRIBUTE2 in VARCHAR2,
10 X_ATTRIBUTE3 in VARCHAR2,
11 X_ATTRIBUTE4 in VARCHAR2,
12 X_ATTRIBUTE5 in VARCHAR2,
13 X_ATTRIBUTE6 in VARCHAR2,
14 X_ATTRIBUTE7 in VARCHAR2,
15 X_ATTRIBUTE8 in VARCHAR2,
16 X_ATTRIBUTE9 in VARCHAR2,
17 X_ATTRIBUTE10 in VARCHAR2,
18 X_ATTRIBUTE11 in VARCHAR2,
19 X_ATTRIBUTE12 in VARCHAR2,
20 X_ATTRIBUTE13 in VARCHAR2,
21 X_ATTRIBUTE14 in VARCHAR2,
22 X_ATTRIBUTE15 in VARCHAR2,
23 X_ATTRIBUTE16 in VARCHAR2,
24 X_ATTRIBUTE17 in VARCHAR2,
25 X_ATTRIBUTE18 in VARCHAR2,
26 X_ATTRIBUTE19 in VARCHAR2,
27 X_ATTRIBUTE20 in VARCHAR2,
28 X_ATTRIBUTE21 in VARCHAR2,
29 X_ATTRIBUTE22 in VARCHAR2,
30 X_ATTRIBUTE23 in VARCHAR2,
31 X_ATTRIBUTE24 in VARCHAR2,
32 X_ATTRIBUTE25 in VARCHAR2,
33 X_ATTRIBUTE26 in VARCHAR2,
34 X_ATTRIBUTE27 in VARCHAR2,
35 X_ATTRIBUTE28 in VARCHAR2,
36 X_ATTRIBUTE29 in VARCHAR2,
37 X_ATTRIBUTE30 in VARCHAR2,
38 X_ATTRIBUTE_CATEGORY in VARCHAR2,
39 X_CREATION_DATE in DATE,
40 X_CREATED_BY in NUMBER,
41 X_LAST_UPDATE_DATE in DATE,
42 X_LAST_UPDATED_BY in NUMBER,
43 X_LAST_UPDATE_LOGIN in NUMBER
44 ) is
45 cursor C is select ROWID from MTL_GRADES_B
46 where GRADE_CODE = X_GRADE_CODE
47 ;
48 begin
49 insert into MTL_GRADES_B (
50 GRADE_CODE,
51 DISABLE_FLAG,
52 ATTRIBUTE1,
53 ATTRIBUTE2,
54 ATTRIBUTE3,
55 ATTRIBUTE4,
56 ATTRIBUTE5,
57 ATTRIBUTE6,
58 ATTRIBUTE7,
59 ATTRIBUTE8,
60 ATTRIBUTE9,
61 ATTRIBUTE10,
62 ATTRIBUTE11,
63 ATTRIBUTE12,
64 ATTRIBUTE13,
65 ATTRIBUTE14,
66 ATTRIBUTE15,
67 ATTRIBUTE16,
68 ATTRIBUTE17,
69 ATTRIBUTE18,
70 ATTRIBUTE19,
71 ATTRIBUTE20,
72 ATTRIBUTE21,
73 ATTRIBUTE22,
74 ATTRIBUTE23,
75 ATTRIBUTE24,
76 ATTRIBUTE25,
77 ATTRIBUTE26,
78 ATTRIBUTE27,
79 ATTRIBUTE28,
80 ATTRIBUTE29,
81 ATTRIBUTE30,
82 ATTRIBUTE_CATEGORY,
83 CREATION_DATE,
84 CREATED_BY,
85 LAST_UPDATE_DATE,
86 LAST_UPDATED_BY,
87 LAST_UPDATE_LOGIN
88 ) values (
89 X_GRADE_CODE,
90 X_DISABLE_FLAG,
91 X_ATTRIBUTE1,
92 X_ATTRIBUTE2,
93 X_ATTRIBUTE3,
94 X_ATTRIBUTE4,
95 X_ATTRIBUTE5,
96 X_ATTRIBUTE6,
97 X_ATTRIBUTE7,
98 X_ATTRIBUTE8,
99 X_ATTRIBUTE9,
100 X_ATTRIBUTE10,
101 X_ATTRIBUTE11,
102 X_ATTRIBUTE12,
103 X_ATTRIBUTE13,
104 X_ATTRIBUTE14,
105 X_ATTRIBUTE15,
106 X_ATTRIBUTE16,
107 X_ATTRIBUTE17,
108 X_ATTRIBUTE18,
109 X_ATTRIBUTE19,
110 X_ATTRIBUTE20,
111 X_ATTRIBUTE21,
112 X_ATTRIBUTE22,
113 X_ATTRIBUTE23,
114 X_ATTRIBUTE24,
115 X_ATTRIBUTE25,
116 X_ATTRIBUTE26,
117 X_ATTRIBUTE27,
118 X_ATTRIBUTE28,
119 X_ATTRIBUTE29,
120 X_ATTRIBUTE30,
121 X_ATTRIBUTE_CATEGORY,
122 X_CREATION_DATE,
123 X_CREATED_BY,
124 X_LAST_UPDATE_DATE,
125 X_LAST_UPDATED_BY,
126 X_LAST_UPDATE_LOGIN
127 );
128
129 insert into MTL_GRADES_TL (
130 GRADE_CODE,
131 DESCRIPTION,
132 CREATION_DATE,
133 CREATED_BY,
134 LAST_UPDATE_DATE,
135 LAST_UPDATED_BY,
136 LAST_UPDATE_LOGIN,
137 LANGUAGE,
138 SOURCE_LANG
139 ) select
140 X_GRADE_CODE,
141 X_DESCRIPTION,
142 X_CREATION_DATE,
143 X_CREATED_BY,
144 X_LAST_UPDATE_DATE,
145 X_LAST_UPDATED_BY,
146 X_LAST_UPDATE_LOGIN,
147 L.LANGUAGE_CODE,
148 userenv('LANG')
149 from FND_LANGUAGES L
150 where L.INSTALLED_FLAG in ('I', 'B')
151 and not exists
152 (select NULL
153 from MTL_GRADES_TL T
154 where T.GRADE_CODE = X_GRADE_CODE
155 and T.LANGUAGE = L.LANGUAGE_CODE);
156
157 open c;
158 fetch c into X_ROWID;
159 if (c%notfound) then
160 close c;
161 raise no_data_found;
162 end if;
163 close c;
164
165 end INSERT_ROW;
166
167 procedure LOCK_ROW (
168 X_GRADE_CODE in VARCHAR2,
169 X_DESCRIPTION in VARCHAR2,
170 X_DISABLE_FLAG in VARCHAR2,
171 X_ATTRIBUTE1 in VARCHAR2,
172 X_ATTRIBUTE2 in VARCHAR2,
173 X_ATTRIBUTE3 in VARCHAR2,
174 X_ATTRIBUTE4 in VARCHAR2,
175 X_ATTRIBUTE5 in VARCHAR2,
176 X_ATTRIBUTE6 in VARCHAR2,
177 X_ATTRIBUTE7 in VARCHAR2,
178 X_ATTRIBUTE8 in VARCHAR2,
179 X_ATTRIBUTE9 in VARCHAR2,
180 X_ATTRIBUTE10 in VARCHAR2,
181 X_ATTRIBUTE11 in VARCHAR2,
182 X_ATTRIBUTE12 in VARCHAR2,
183 X_ATTRIBUTE13 in VARCHAR2,
184 X_ATTRIBUTE14 in VARCHAR2,
185 X_ATTRIBUTE15 in VARCHAR2,
186 X_ATTRIBUTE16 in VARCHAR2,
187 X_ATTRIBUTE17 in VARCHAR2,
188 X_ATTRIBUTE18 in VARCHAR2,
189 X_ATTRIBUTE19 in VARCHAR2,
190 X_ATTRIBUTE20 in VARCHAR2,
191 X_ATTRIBUTE21 in VARCHAR2,
192 X_ATTRIBUTE22 in VARCHAR2,
193 X_ATTRIBUTE23 in VARCHAR2,
194 X_ATTRIBUTE24 in VARCHAR2,
195 X_ATTRIBUTE25 in VARCHAR2,
196 X_ATTRIBUTE26 in VARCHAR2,
197 X_ATTRIBUTE27 in VARCHAR2,
198 X_ATTRIBUTE28 in VARCHAR2,
199 X_ATTRIBUTE29 in VARCHAR2,
200 X_ATTRIBUTE30 in VARCHAR2,
201 X_ATTRIBUTE_CATEGORY in VARCHAR2
202 ) is
203 cursor c is select
204 DISABLE_FLAG,
205 ATTRIBUTE1,
206 ATTRIBUTE2,
207 ATTRIBUTE3,
208 ATTRIBUTE4,
209 ATTRIBUTE5,
210 ATTRIBUTE6,
211 ATTRIBUTE7,
212 ATTRIBUTE8,
213 ATTRIBUTE9,
214 ATTRIBUTE10,
215 ATTRIBUTE11,
216 ATTRIBUTE12,
217 ATTRIBUTE13,
218 ATTRIBUTE14,
219 ATTRIBUTE15,
220 ATTRIBUTE16,
221 ATTRIBUTE17,
222 ATTRIBUTE18,
223 ATTRIBUTE19,
224 ATTRIBUTE20,
225 ATTRIBUTE21,
226 ATTRIBUTE22,
227 ATTRIBUTE23,
228 ATTRIBUTE24,
229 ATTRIBUTE25,
230 ATTRIBUTE26,
231 ATTRIBUTE27,
232 ATTRIBUTE28,
233 ATTRIBUTE29,
234 ATTRIBUTE30,
235 ATTRIBUTE_CATEGORY
236 from MTL_GRADES_B
237 where GRADE_CODE = X_GRADE_CODE
238 for update of GRADE_CODE nowait;
239 recinfo c%rowtype;
240
241 cursor c1 is select
242 DESCRIPTION,
243 decode(LANGUAGE, userenv('LANG'), 'Y', 'N') BASELANG
244 from MTL_GRADES_TL
245 where GRADE_CODE = X_GRADE_CODE
246 and userenv('LANG') in (LANGUAGE, SOURCE_LANG)
247 for update of GRADE_CODE nowait;
248 begin
249 open c;
250 fetch c into recinfo;
251 if (c%notfound) then
252 close c;
253 fnd_message.set_name('FND', 'FORM_RECORD_DELETED');
254 app_exception.raise_exception;
255 end if;
256 close c;
257 if ( ((recinfo.DISABLE_FLAG = X_DISABLE_FLAG)
258 OR ((recinfo.DISABLE_FLAG is null) AND (X_DISABLE_FLAG is null)))
259 AND ((recinfo.ATTRIBUTE1 = X_ATTRIBUTE1)
260 OR ((recinfo.ATTRIBUTE1 is null) AND (X_ATTRIBUTE1 is null)))
261 AND ((recinfo.ATTRIBUTE2 = X_ATTRIBUTE2)
262 OR ((recinfo.ATTRIBUTE2 is null) AND (X_ATTRIBUTE2 is null)))
263 AND ((recinfo.ATTRIBUTE3 = X_ATTRIBUTE3)
264 OR ((recinfo.ATTRIBUTE3 is null) AND (X_ATTRIBUTE3 is null)))
265 AND ((recinfo.ATTRIBUTE4 = X_ATTRIBUTE4)
266 OR ((recinfo.ATTRIBUTE4 is null) AND (X_ATTRIBUTE4 is null)))
267 AND ((recinfo.ATTRIBUTE5 = X_ATTRIBUTE5)
268 OR ((recinfo.ATTRIBUTE5 is null) AND (X_ATTRIBUTE5 is null)))
269 AND ((recinfo.ATTRIBUTE6 = X_ATTRIBUTE6)
270 OR ((recinfo.ATTRIBUTE6 is null) AND (X_ATTRIBUTE6 is null)))
271 AND ((recinfo.ATTRIBUTE7 = X_ATTRIBUTE7)
272 OR ((recinfo.ATTRIBUTE7 is null) AND (X_ATTRIBUTE7 is null)))
273 AND ((recinfo.ATTRIBUTE8 = X_ATTRIBUTE8)
274 OR ((recinfo.ATTRIBUTE8 is null) AND (X_ATTRIBUTE8 is null)))
275 AND ((recinfo.ATTRIBUTE9 = X_ATTRIBUTE9)
276 OR ((recinfo.ATTRIBUTE9 is null) AND (X_ATTRIBUTE9 is null)))
277 AND ((recinfo.ATTRIBUTE10 = X_ATTRIBUTE10)
278 OR ((recinfo.ATTRIBUTE10 is null) AND (X_ATTRIBUTE10 is null)))
279 AND ((recinfo.ATTRIBUTE11 = X_ATTRIBUTE11)
280 OR ((recinfo.ATTRIBUTE11 is null) AND (X_ATTRIBUTE11 is null)))
281 AND ((recinfo.ATTRIBUTE12 = X_ATTRIBUTE12)
282 OR ((recinfo.ATTRIBUTE12 is null) AND (X_ATTRIBUTE12 is null)))
283 AND ((recinfo.ATTRIBUTE13 = X_ATTRIBUTE13)
284 OR ((recinfo.ATTRIBUTE13 is null) AND (X_ATTRIBUTE13 is null)))
285 AND ((recinfo.ATTRIBUTE14 = X_ATTRIBUTE14)
286 OR ((recinfo.ATTRIBUTE14 is null) AND (X_ATTRIBUTE14 is null)))
287 AND ((recinfo.ATTRIBUTE15 = X_ATTRIBUTE15)
288 OR ((recinfo.ATTRIBUTE15 is null) AND (X_ATTRIBUTE15 is null)))
289 AND ((recinfo.ATTRIBUTE16 = X_ATTRIBUTE16)
290 OR ((recinfo.ATTRIBUTE16 is null) AND (X_ATTRIBUTE16 is null)))
291 AND ((recinfo.ATTRIBUTE17 = X_ATTRIBUTE17)
292 OR ((recinfo.ATTRIBUTE17 is null) AND (X_ATTRIBUTE17 is null)))
293 AND ((recinfo.ATTRIBUTE18 = X_ATTRIBUTE18)
294 OR ((recinfo.ATTRIBUTE18 is null) AND (X_ATTRIBUTE18 is null)))
295 AND ((recinfo.ATTRIBUTE19 = X_ATTRIBUTE19)
296 OR ((recinfo.ATTRIBUTE19 is null) AND (X_ATTRIBUTE19 is null)))
297 AND ((recinfo.ATTRIBUTE20 = X_ATTRIBUTE20)
298 OR ((recinfo.ATTRIBUTE20 is null) AND (X_ATTRIBUTE20 is null)))
299 AND ((recinfo.ATTRIBUTE21 = X_ATTRIBUTE21)
300 OR ((recinfo.ATTRIBUTE21 is null) AND (X_ATTRIBUTE21 is null)))
301 AND ((recinfo.ATTRIBUTE22 = X_ATTRIBUTE22)
302 OR ((recinfo.ATTRIBUTE22 is null) AND (X_ATTRIBUTE22 is null)))
303 AND ((recinfo.ATTRIBUTE23 = X_ATTRIBUTE23)
304 OR ((recinfo.ATTRIBUTE23 is null) AND (X_ATTRIBUTE23 is null)))
305 AND ((recinfo.ATTRIBUTE24 = X_ATTRIBUTE24)
306 OR ((recinfo.ATTRIBUTE24 is null) AND (X_ATTRIBUTE24 is null)))
307 AND ((recinfo.ATTRIBUTE25 = X_ATTRIBUTE25)
308 OR ((recinfo.ATTRIBUTE25 is null) AND (X_ATTRIBUTE25 is null)))
309 AND ((recinfo.ATTRIBUTE26 = X_ATTRIBUTE26)
310 OR ((recinfo.ATTRIBUTE26 is null) AND (X_ATTRIBUTE26 is null)))
311 AND ((recinfo.ATTRIBUTE27 = X_ATTRIBUTE27)
312 OR ((recinfo.ATTRIBUTE27 is null) AND (X_ATTRIBUTE27 is null)))
313 AND ((recinfo.ATTRIBUTE28 = X_ATTRIBUTE28)
314 OR ((recinfo.ATTRIBUTE28 is null) AND (X_ATTRIBUTE28 is null)))
315 AND ((recinfo.ATTRIBUTE29 = X_ATTRIBUTE29)
316 OR ((recinfo.ATTRIBUTE29 is null) AND (X_ATTRIBUTE29 is null)))
317 AND ((recinfo.ATTRIBUTE30 = X_ATTRIBUTE30)
318 OR ((recinfo.ATTRIBUTE30 is null) AND (X_ATTRIBUTE30 is null)))
319 AND ((recinfo.ATTRIBUTE_CATEGORY = X_ATTRIBUTE_CATEGORY)
320 OR ((recinfo.ATTRIBUTE_CATEGORY is null) AND (X_ATTRIBUTE_CATEGORY is null)))
321 ) then
322 null;
323 else
324 fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
325 app_exception.raise_exception;
326 end if;
327
328 for tlinfo in c1 loop
329 if (tlinfo.BASELANG = 'Y') then
330 if ( (tlinfo.DESCRIPTION = X_DESCRIPTION)
331 ) then
332 null;
333 else
334 fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
335 app_exception.raise_exception;
336 end if;
337 end if;
338 end loop;
339 return;
340 end LOCK_ROW;
341
342 procedure UPDATE_ROW (
343 X_GRADE_CODE in VARCHAR2,
344 X_DESCRIPTION in VARCHAR2,
345 X_DISABLE_FLAG in VARCHAR2,
346 X_ATTRIBUTE1 in VARCHAR2,
347 X_ATTRIBUTE2 in VARCHAR2,
348 X_ATTRIBUTE3 in VARCHAR2,
349 X_ATTRIBUTE4 in VARCHAR2,
350 X_ATTRIBUTE5 in VARCHAR2,
351 X_ATTRIBUTE6 in VARCHAR2,
352 X_ATTRIBUTE7 in VARCHAR2,
353 X_ATTRIBUTE8 in VARCHAR2,
354 X_ATTRIBUTE9 in VARCHAR2,
355 X_ATTRIBUTE10 in VARCHAR2,
356 X_ATTRIBUTE11 in VARCHAR2,
357 X_ATTRIBUTE12 in VARCHAR2,
358 X_ATTRIBUTE13 in VARCHAR2,
359 X_ATTRIBUTE14 in VARCHAR2,
360 X_ATTRIBUTE15 in VARCHAR2,
361 X_ATTRIBUTE16 in VARCHAR2,
362 X_ATTRIBUTE17 in VARCHAR2,
363 X_ATTRIBUTE18 in VARCHAR2,
364 X_ATTRIBUTE19 in VARCHAR2,
365 X_ATTRIBUTE20 in VARCHAR2,
366 X_ATTRIBUTE21 in VARCHAR2,
367 X_ATTRIBUTE22 in VARCHAR2,
368 X_ATTRIBUTE23 in VARCHAR2,
369 X_ATTRIBUTE24 in VARCHAR2,
370 X_ATTRIBUTE25 in VARCHAR2,
371 X_ATTRIBUTE26 in VARCHAR2,
372 X_ATTRIBUTE27 in VARCHAR2,
373 X_ATTRIBUTE28 in VARCHAR2,
374 X_ATTRIBUTE29 in VARCHAR2,
375 X_ATTRIBUTE30 in VARCHAR2,
376 X_ATTRIBUTE_CATEGORY in VARCHAR2,
377 X_LAST_UPDATE_DATE in DATE,
378 X_LAST_UPDATED_BY in NUMBER,
379 X_LAST_UPDATE_LOGIN in NUMBER
380 ) is
381 begin
382 update MTL_GRADES_B set
383 DISABLE_FLAG = X_DISABLE_FLAG,
384 ATTRIBUTE1 = X_ATTRIBUTE1,
385 ATTRIBUTE2 = X_ATTRIBUTE2,
386 ATTRIBUTE3 = X_ATTRIBUTE3,
387 ATTRIBUTE4 = X_ATTRIBUTE4,
388 ATTRIBUTE5 = X_ATTRIBUTE5,
389 ATTRIBUTE6 = X_ATTRIBUTE6,
390 ATTRIBUTE7 = X_ATTRIBUTE7,
391 ATTRIBUTE8 = X_ATTRIBUTE8,
392 ATTRIBUTE9 = X_ATTRIBUTE9,
393 ATTRIBUTE10 = X_ATTRIBUTE10,
394 ATTRIBUTE11 = X_ATTRIBUTE11,
395 ATTRIBUTE12 = X_ATTRIBUTE12,
396 ATTRIBUTE13 = X_ATTRIBUTE13,
397 ATTRIBUTE14 = X_ATTRIBUTE14,
398 ATTRIBUTE15 = X_ATTRIBUTE15,
399 ATTRIBUTE16 = X_ATTRIBUTE16,
400 ATTRIBUTE17 = X_ATTRIBUTE17,
401 ATTRIBUTE18 = X_ATTRIBUTE18,
402 ATTRIBUTE19 = X_ATTRIBUTE19,
403 ATTRIBUTE20 = X_ATTRIBUTE20,
404 ATTRIBUTE21 = X_ATTRIBUTE21,
405 ATTRIBUTE22 = X_ATTRIBUTE22,
406 ATTRIBUTE23 = X_ATTRIBUTE23,
407 ATTRIBUTE24 = X_ATTRIBUTE24,
408 ATTRIBUTE25 = X_ATTRIBUTE25,
409 ATTRIBUTE26 = X_ATTRIBUTE26,
410 ATTRIBUTE27 = X_ATTRIBUTE27,
411 ATTRIBUTE28 = X_ATTRIBUTE28,
412 ATTRIBUTE29 = X_ATTRIBUTE29,
413 ATTRIBUTE30 = X_ATTRIBUTE30,
414 ATTRIBUTE_CATEGORY = X_ATTRIBUTE_CATEGORY,
415 LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
416 LAST_UPDATED_BY = X_LAST_UPDATED_BY,
417 LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN
418 where GRADE_CODE = X_GRADE_CODE;
419
420 if (sql%notfound) then
421 raise no_data_found;
422 end if;
423
424 update MTL_GRADES_TL set
425 DESCRIPTION = X_DESCRIPTION,
426 LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
427 LAST_UPDATED_BY = X_LAST_UPDATED_BY,
428 LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN,
429 SOURCE_LANG = userenv('LANG')
430 where GRADE_CODE = X_GRADE_CODE
431 and userenv('LANG') in (LANGUAGE, SOURCE_LANG);
432
433 if (sql%notfound) then
434 raise no_data_found;
435 end if;
436 end UPDATE_ROW;
437
438 procedure DELETE_ROW (
439 X_GRADE_CODE in VARCHAR2
440 ) is
441 begin
442 delete from MTL_GRADES_TL
443 where GRADE_CODE = X_GRADE_CODE;
444
445 if (sql%notfound) then
446 raise no_data_found;
447 end if;
448
449 delete from MTL_GRADES_B
450 where GRADE_CODE = X_GRADE_CODE;
451
452 if (sql%notfound) then
453 raise no_data_found;
454 end if;
455 end DELETE_ROW;
456
457 procedure ADD_LANGUAGE
458 is
459 begin
460 delete from MTL_GRADES_TL T
461 where not exists
462 (select NULL
463 from MTL_GRADES_B B
464 where B.GRADE_CODE = T.GRADE_CODE
465 );
466
467 update MTL_GRADES_TL T set (
468 DESCRIPTION
469 ) = (select
470 B.DESCRIPTION
471 from MTL_GRADES_TL B
472 where B.GRADE_CODE = T.GRADE_CODE
473 and B.LANGUAGE = T.SOURCE_LANG)
474 where (
475 T.GRADE_CODE,
476 T.LANGUAGE
477 ) in (select
478 SUBT.GRADE_CODE,
479 SUBT.LANGUAGE
480 from MTL_GRADES_TL SUBB, MTL_GRADES_TL SUBT
481 where SUBB.GRADE_CODE = SUBT.GRADE_CODE
482 and SUBB.LANGUAGE = SUBT.SOURCE_LANG
483 and (SUBB.DESCRIPTION <> SUBT.DESCRIPTION
484 ));
485
486 insert into MTL_GRADES_TL (
487 GRADE_CODE,
488 DESCRIPTION,
489 CREATION_DATE,
490 CREATED_BY,
491 LAST_UPDATE_DATE,
492 LAST_UPDATED_BY,
493 LAST_UPDATE_LOGIN,
494 LANGUAGE,
495 SOURCE_LANG
496 ) select
497 B.GRADE_CODE,
498 B.DESCRIPTION,
499 B.CREATION_DATE,
500 B.CREATED_BY,
501 B.LAST_UPDATE_DATE,
502 B.LAST_UPDATED_BY,
503 B.LAST_UPDATE_LOGIN,
504 L.LANGUAGE_CODE,
505 B.SOURCE_LANG
506 from MTL_GRADES_TL B, FND_LANGUAGES L
507 where L.INSTALLED_FLAG in ('I', 'B')
508 and B.LANGUAGE = userenv('LANG')
509 and not exists
510 (select NULL
511 from MTL_GRADES_TL T
512 where T.GRADE_CODE = B.GRADE_CODE
513 and T.LANGUAGE = L.LANGUAGE_CODE);
514 end ADD_LANGUAGE;
515
516 end MTL_GRADES_PVT;