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