1 package body GMD_ACTIONS_PVT as
2 /* $Header: GMDVACPB.pls 115.1 2002/12/03 17:02:49 cnagarba noship $ */
3 procedure INSERT_ROW (
4 X_ROWID in out nocopy VARCHAR2,
5 X_ACTION_CODE in VARCHAR2,
6 X_ACTION_INTERVAL in NUMBER,
7 X_DELETE_MARK in NUMBER,
8 X_TEXT_CODE in NUMBER,
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_ACTION_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_ACTIONS_B
48 where ACTION_CODE = X_ACTION_CODE
49 ;
50 begin
51 insert into GMD_ACTIONS_B (
52 ACTION_CODE,
53 ACTION_INTERVAL,
54 DELETE_MARK,
55 TEXT_CODE,
56 ATTRIBUTE1,
57 ATTRIBUTE2,
58 ATTRIBUTE3,
59 ATTRIBUTE4,
60 ATTRIBUTE5,
61 ATTRIBUTE6,
62 ATTRIBUTE7,
63 ATTRIBUTE8,
64 ATTRIBUTE9,
65 ATTRIBUTE10,
66 ATTRIBUTE11,
67 ATTRIBUTE12,
68 ATTRIBUTE13,
69 ATTRIBUTE14,
70 ATTRIBUTE15,
71 ATTRIBUTE16,
72 ATTRIBUTE17,
73 ATTRIBUTE18,
74 ATTRIBUTE19,
75 ATTRIBUTE20,
76 ATTRIBUTE21,
77 ATTRIBUTE22,
78 ATTRIBUTE23,
79 ATTRIBUTE24,
80 ATTRIBUTE25,
81 ATTRIBUTE26,
82 ATTRIBUTE27,
83 ATTRIBUTE28,
84 ATTRIBUTE29,
85 ATTRIBUTE30,
86 ATTRIBUTE_CATEGORY,
87 CREATION_DATE,
88 CREATED_BY,
89 LAST_UPDATE_DATE,
90 LAST_UPDATED_BY,
91 LAST_UPDATE_LOGIN
92 ) values (
93 X_ACTION_CODE,
94 X_ACTION_INTERVAL,
95 X_DELETE_MARK,
96 X_TEXT_CODE,
97 X_ATTRIBUTE1,
98 X_ATTRIBUTE2,
99 X_ATTRIBUTE3,
100 X_ATTRIBUTE4,
101 X_ATTRIBUTE5,
102 X_ATTRIBUTE6,
103 X_ATTRIBUTE7,
104 X_ATTRIBUTE8,
105 X_ATTRIBUTE9,
106 X_ATTRIBUTE10,
107 X_ATTRIBUTE11,
108 X_ATTRIBUTE12,
109 X_ATTRIBUTE13,
110 X_ATTRIBUTE14,
111 X_ATTRIBUTE15,
112 X_ATTRIBUTE16,
113 X_ATTRIBUTE17,
114 X_ATTRIBUTE18,
115 X_ATTRIBUTE19,
116 X_ATTRIBUTE20,
117 X_ATTRIBUTE21,
118 X_ATTRIBUTE22,
119 X_ATTRIBUTE23,
120 X_ATTRIBUTE24,
121 X_ATTRIBUTE25,
122 X_ATTRIBUTE26,
123 X_ATTRIBUTE27,
124 X_ATTRIBUTE28,
125 X_ATTRIBUTE29,
126 X_ATTRIBUTE30,
127 X_ATTRIBUTE_CATEGORY,
128 X_CREATION_DATE,
129 X_CREATED_BY,
130 X_LAST_UPDATE_DATE,
131 X_LAST_UPDATED_BY,
132 X_LAST_UPDATE_LOGIN
133 );
134
135 insert into GMD_ACTIONS_TL (
136 ACTION_CODE,
137 ACTION_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_ACTION_CODE,
147 X_ACTION_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_ACTIONS_TL T
160 where T.ACTION_CODE = X_ACTION_CODE
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_ACTION_CODE in VARCHAR2,
175 X_ACTION_INTERVAL in NUMBER,
176 X_DELETE_MARK in NUMBER,
177 X_TEXT_CODE in NUMBER,
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_ACTION_DESC in VARCHAR2
210 ) is
211 cursor c is select
212 ACTION_INTERVAL,
213 DELETE_MARK,
214 TEXT_CODE,
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_ACTIONS_B
247 where ACTION_CODE = X_ACTION_CODE
248 for update of ACTION_CODE nowait;
249 recinfo c%rowtype;
250
251 cursor c1 is select
252 ACTION_DESC,
253 decode(LANGUAGE, userenv('LANG'), 'Y', 'N') BASELANG
254 from GMD_ACTIONS_TL
255 where ACTION_CODE = X_ACTION_CODE
256 and userenv('LANG') in (LANGUAGE, SOURCE_LANG)
257 for update of ACTION_CODE 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.ACTION_INTERVAL = X_ACTION_INTERVAL)
268 AND (recinfo.DELETE_MARK = X_DELETE_MARK)
269 AND ((recinfo.TEXT_CODE = X_TEXT_CODE)
270 OR ((recinfo.TEXT_CODE is null) AND (X_TEXT_CODE is null)))
271 AND ((recinfo.ATTRIBUTE1 = X_ATTRIBUTE1)
272 OR ((recinfo.ATTRIBUTE1 is null) AND (X_ATTRIBUTE1 is null)))
273 AND ((recinfo.ATTRIBUTE2 = X_ATTRIBUTE2)
274 OR ((recinfo.ATTRIBUTE2 is null) AND (X_ATTRIBUTE2 is null)))
275 AND ((recinfo.ATTRIBUTE3 = X_ATTRIBUTE3)
276 OR ((recinfo.ATTRIBUTE3 is null) AND (X_ATTRIBUTE3 is null)))
277 AND ((recinfo.ATTRIBUTE4 = X_ATTRIBUTE4)
278 OR ((recinfo.ATTRIBUTE4 is null) AND (X_ATTRIBUTE4 is null)))
279 AND ((recinfo.ATTRIBUTE5 = X_ATTRIBUTE5)
280 OR ((recinfo.ATTRIBUTE5 is null) AND (X_ATTRIBUTE5 is null)))
281 AND ((recinfo.ATTRIBUTE6 = X_ATTRIBUTE6)
282 OR ((recinfo.ATTRIBUTE6 is null) AND (X_ATTRIBUTE6 is null)))
283 AND ((recinfo.ATTRIBUTE7 = X_ATTRIBUTE7)
284 OR ((recinfo.ATTRIBUTE7 is null) AND (X_ATTRIBUTE7 is null)))
285 AND ((recinfo.ATTRIBUTE8 = X_ATTRIBUTE8)
286 OR ((recinfo.ATTRIBUTE8 is null) AND (X_ATTRIBUTE8 is null)))
287 AND ((recinfo.ATTRIBUTE9 = X_ATTRIBUTE9)
288 OR ((recinfo.ATTRIBUTE9 is null) AND (X_ATTRIBUTE9 is null)))
289 AND ((recinfo.ATTRIBUTE10 = X_ATTRIBUTE10)
290 OR ((recinfo.ATTRIBUTE10 is null) AND (X_ATTRIBUTE10 is null)))
291 AND ((recinfo.ATTRIBUTE11 = X_ATTRIBUTE11)
292 OR ((recinfo.ATTRIBUTE11 is null) AND (X_ATTRIBUTE11 is null)))
293 AND ((recinfo.ATTRIBUTE12 = X_ATTRIBUTE12)
294 OR ((recinfo.ATTRIBUTE12 is null) AND (X_ATTRIBUTE12 is null)))
295 AND ((recinfo.ATTRIBUTE13 = X_ATTRIBUTE13)
296 OR ((recinfo.ATTRIBUTE13 is null) AND (X_ATTRIBUTE13 is null)))
297 AND ((recinfo.ATTRIBUTE14 = X_ATTRIBUTE14)
298 OR ((recinfo.ATTRIBUTE14 is null) AND (X_ATTRIBUTE14 is null)))
299 AND ((recinfo.ATTRIBUTE15 = X_ATTRIBUTE15)
300 OR ((recinfo.ATTRIBUTE15 is null) AND (X_ATTRIBUTE15 is null)))
301 AND ((recinfo.ATTRIBUTE16 = X_ATTRIBUTE16)
302 OR ((recinfo.ATTRIBUTE16 is null) AND (X_ATTRIBUTE16 is null)))
303 AND ((recinfo.ATTRIBUTE17 = X_ATTRIBUTE17)
304 OR ((recinfo.ATTRIBUTE17 is null) AND (X_ATTRIBUTE17 is null)))
305 AND ((recinfo.ATTRIBUTE18 = X_ATTRIBUTE18)
306 OR ((recinfo.ATTRIBUTE18 is null) AND (X_ATTRIBUTE18 is null)))
307 AND ((recinfo.ATTRIBUTE19 = X_ATTRIBUTE19)
308 OR ((recinfo.ATTRIBUTE19 is null) AND (X_ATTRIBUTE19 is null)))
309 AND ((recinfo.ATTRIBUTE20 = X_ATTRIBUTE20)
310 OR ((recinfo.ATTRIBUTE20 is null) AND (X_ATTRIBUTE20 is null)))
311 AND ((recinfo.ATTRIBUTE21 = X_ATTRIBUTE21)
312 OR ((recinfo.ATTRIBUTE21 is null) AND (X_ATTRIBUTE21 is null)))
313 AND ((recinfo.ATTRIBUTE22 = X_ATTRIBUTE22)
314 OR ((recinfo.ATTRIBUTE22 is null) AND (X_ATTRIBUTE22 is null)))
315 AND ((recinfo.ATTRIBUTE23 = X_ATTRIBUTE23)
316 OR ((recinfo.ATTRIBUTE23 is null) AND (X_ATTRIBUTE23 is null)))
317 AND ((recinfo.ATTRIBUTE24 = X_ATTRIBUTE24)
318 OR ((recinfo.ATTRIBUTE24 is null) AND (X_ATTRIBUTE24 is null)))
319 AND ((recinfo.ATTRIBUTE25 = X_ATTRIBUTE25)
320 OR ((recinfo.ATTRIBUTE25 is null) AND (X_ATTRIBUTE25 is null)))
321 AND ((recinfo.ATTRIBUTE26 = X_ATTRIBUTE26)
322 OR ((recinfo.ATTRIBUTE26 is null) AND (X_ATTRIBUTE26 is null)))
323 AND ((recinfo.ATTRIBUTE27 = X_ATTRIBUTE27)
324 OR ((recinfo.ATTRIBUTE27 is null) AND (X_ATTRIBUTE27 is null)))
325 AND ((recinfo.ATTRIBUTE28 = X_ATTRIBUTE28)
326 OR ((recinfo.ATTRIBUTE28 is null) AND (X_ATTRIBUTE28 is null)))
327 AND ((recinfo.ATTRIBUTE29 = X_ATTRIBUTE29)
328 OR ((recinfo.ATTRIBUTE29 is null) AND (X_ATTRIBUTE29 is null)))
329 AND ((recinfo.ATTRIBUTE30 = X_ATTRIBUTE30)
330 OR ((recinfo.ATTRIBUTE30 is null) AND (X_ATTRIBUTE30 is null)))
331 AND ((recinfo.ATTRIBUTE_CATEGORY = X_ATTRIBUTE_CATEGORY)
332 OR ((recinfo.ATTRIBUTE_CATEGORY is null) AND (X_ATTRIBUTE_CATEGORY is null)))
333 ) then
334 null;
335 else
336 fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
337 app_exception.raise_exception;
338 end if;
339
340 for tlinfo in c1 loop
341 if (tlinfo.BASELANG = 'Y') then
342 if ( (tlinfo.ACTION_DESC = X_ACTION_DESC)
343 ) then
344 null;
345 else
346 fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
347 app_exception.raise_exception;
348 end if;
349 end if;
350 end loop;
351 return;
352 end LOCK_ROW;
353
354 procedure UPDATE_ROW (
355 X_ACTION_CODE in VARCHAR2,
356 X_ACTION_INTERVAL in NUMBER,
357 X_DELETE_MARK in NUMBER,
358 X_TEXT_CODE in NUMBER,
359 X_ATTRIBUTE1 in VARCHAR2,
360 X_ATTRIBUTE2 in VARCHAR2,
361 X_ATTRIBUTE3 in VARCHAR2,
362 X_ATTRIBUTE4 in VARCHAR2,
363 X_ATTRIBUTE5 in VARCHAR2,
364 X_ATTRIBUTE6 in VARCHAR2,
365 X_ATTRIBUTE7 in VARCHAR2,
366 X_ATTRIBUTE8 in VARCHAR2,
367 X_ATTRIBUTE9 in VARCHAR2,
368 X_ATTRIBUTE10 in VARCHAR2,
369 X_ATTRIBUTE11 in VARCHAR2,
370 X_ATTRIBUTE12 in VARCHAR2,
371 X_ATTRIBUTE13 in VARCHAR2,
372 X_ATTRIBUTE14 in VARCHAR2,
373 X_ATTRIBUTE15 in VARCHAR2,
374 X_ATTRIBUTE16 in VARCHAR2,
375 X_ATTRIBUTE17 in VARCHAR2,
376 X_ATTRIBUTE18 in VARCHAR2,
377 X_ATTRIBUTE19 in VARCHAR2,
378 X_ATTRIBUTE20 in VARCHAR2,
379 X_ATTRIBUTE21 in VARCHAR2,
380 X_ATTRIBUTE22 in VARCHAR2,
381 X_ATTRIBUTE23 in VARCHAR2,
382 X_ATTRIBUTE24 in VARCHAR2,
383 X_ATTRIBUTE25 in VARCHAR2,
384 X_ATTRIBUTE26 in VARCHAR2,
385 X_ATTRIBUTE27 in VARCHAR2,
386 X_ATTRIBUTE28 in VARCHAR2,
387 X_ATTRIBUTE29 in VARCHAR2,
388 X_ATTRIBUTE30 in VARCHAR2,
389 X_ATTRIBUTE_CATEGORY in VARCHAR2,
390 X_ACTION_DESC in VARCHAR2,
391 X_LAST_UPDATE_DATE in DATE,
392 X_LAST_UPDATED_BY in NUMBER,
393 X_LAST_UPDATE_LOGIN in NUMBER
394 ) is
395 begin
396 update GMD_ACTIONS_B set
397 ACTION_INTERVAL = X_ACTION_INTERVAL,
398 DELETE_MARK = X_DELETE_MARK,
399 TEXT_CODE = X_TEXT_CODE,
400 ATTRIBUTE1 = X_ATTRIBUTE1,
401 ATTRIBUTE2 = X_ATTRIBUTE2,
402 ATTRIBUTE3 = X_ATTRIBUTE3,
403 ATTRIBUTE4 = X_ATTRIBUTE4,
404 ATTRIBUTE5 = X_ATTRIBUTE5,
405 ATTRIBUTE6 = X_ATTRIBUTE6,
406 ATTRIBUTE7 = X_ATTRIBUTE7,
407 ATTRIBUTE8 = X_ATTRIBUTE8,
408 ATTRIBUTE9 = X_ATTRIBUTE9,
409 ATTRIBUTE10 = X_ATTRIBUTE10,
410 ATTRIBUTE11 = X_ATTRIBUTE11,
411 ATTRIBUTE12 = X_ATTRIBUTE12,
412 ATTRIBUTE13 = X_ATTRIBUTE13,
413 ATTRIBUTE14 = X_ATTRIBUTE14,
414 ATTRIBUTE15 = X_ATTRIBUTE15,
415 ATTRIBUTE16 = X_ATTRIBUTE16,
416 ATTRIBUTE17 = X_ATTRIBUTE17,
417 ATTRIBUTE18 = X_ATTRIBUTE18,
418 ATTRIBUTE19 = X_ATTRIBUTE19,
419 ATTRIBUTE20 = X_ATTRIBUTE20,
420 ATTRIBUTE21 = X_ATTRIBUTE21,
421 ATTRIBUTE22 = X_ATTRIBUTE22,
422 ATTRIBUTE23 = X_ATTRIBUTE23,
423 ATTRIBUTE24 = X_ATTRIBUTE24,
424 ATTRIBUTE25 = X_ATTRIBUTE25,
425 ATTRIBUTE26 = X_ATTRIBUTE26,
426 ATTRIBUTE27 = X_ATTRIBUTE27,
427 ATTRIBUTE28 = X_ATTRIBUTE28,
428 ATTRIBUTE29 = X_ATTRIBUTE29,
429 ATTRIBUTE30 = X_ATTRIBUTE30,
430 ATTRIBUTE_CATEGORY = X_ATTRIBUTE_CATEGORY,
431 LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
432 LAST_UPDATED_BY = X_LAST_UPDATED_BY,
433 LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN
434 where ACTION_CODE = X_ACTION_CODE;
435
436 if (sql%notfound) then
437 raise no_data_found;
438 end if;
439
440 update GMD_ACTIONS_TL set
441 ACTION_DESC = X_ACTION_DESC,
442 LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
443 LAST_UPDATED_BY = X_LAST_UPDATED_BY,
444 LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN,
445 SOURCE_LANG = userenv('LANG')
446 where ACTION_CODE = X_ACTION_CODE
447 and userenv('LANG') in (LANGUAGE, SOURCE_LANG);
448
449 if (sql%notfound) then
450 raise no_data_found;
451 end if;
452 end UPDATE_ROW;
453
454 procedure DELETE_ROW (
455 X_ACTION_CODE in VARCHAR2
456 ) is
457 begin
458 delete from GMD_ACTIONS_TL
459 where ACTION_CODE = X_ACTION_CODE;
460
461 if (sql%notfound) then
462 raise no_data_found;
463 end if;
464
465 delete from GMD_ACTIONS_B
466 where ACTION_CODE = X_ACTION_CODE;
467
468 if (sql%notfound) then
469 raise no_data_found;
470 end if;
471 end DELETE_ROW;
472
473 procedure ADD_LANGUAGE
474 is
475 begin
476 delete from GMD_ACTIONS_TL T
477 where not exists
478 (select NULL
479 from GMD_ACTIONS_B B
480 where B.ACTION_CODE = T.ACTION_CODE
481 );
482
483 update GMD_ACTIONS_TL T set (
484 ACTION_DESC
485 ) = (select
486 B.ACTION_DESC
487 from GMD_ACTIONS_TL B
488 where B.ACTION_CODE = T.ACTION_CODE
489 and B.LANGUAGE = T.SOURCE_LANG)
490 where (
491 T.ACTION_CODE,
492 T.LANGUAGE
493 ) in (select
494 SUBT.ACTION_CODE,
495 SUBT.LANGUAGE
496 from GMD_ACTIONS_TL SUBB, GMD_ACTIONS_TL SUBT
497 where SUBB.ACTION_CODE = SUBT.ACTION_CODE
498 and SUBB.LANGUAGE = SUBT.SOURCE_LANG
499 and (SUBB.ACTION_DESC <> SUBT.ACTION_DESC
500 ));
501
502 insert into GMD_ACTIONS_TL (
503 ACTION_CODE,
504 ACTION_DESC,
505 CREATION_DATE,
506 CREATED_BY,
507 LAST_UPDATE_DATE,
508 LAST_UPDATED_BY,
509 LAST_UPDATE_LOGIN,
510 LANGUAGE,
511 SOURCE_LANG
512 ) select
513 B.ACTION_CODE,
514 B.ACTION_DESC,
515 B.CREATION_DATE,
516 B.CREATED_BY,
517 B.LAST_UPDATE_DATE,
518 B.LAST_UPDATED_BY,
519 B.LAST_UPDATE_LOGIN,
520 L.LANGUAGE_CODE,
521 B.SOURCE_LANG
522 from GMD_ACTIONS_TL B, FND_LANGUAGES L
523 where L.INSTALLED_FLAG in ('I', 'B')
524 and B.LANGUAGE = userenv('LANG')
525 and not exists
526 (select NULL
527 from GMD_ACTIONS_TL T
528 where T.ACTION_CODE = B.ACTION_CODE
529 and T.LANGUAGE = L.LANGUAGE_CODE);
530 end ADD_LANGUAGE;
531
532 end GMD_ACTIONS_PVT;