DBA Data[Home] [Help]

PACKAGE BODY: APPS.GMD_TEST_INTERVAL_PLANS_PVT

Source


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