DBA Data[Home] [Help]

PACKAGE BODY: APPS.JTF_STORE_GRP

Source


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