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;