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