DBA Data[Home] [Help]

PACKAGE BODY: APPS.EDR_FWK_TEST_PKG

Source


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