DBA Data[Home] [Help]

PACKAGE BODY: APPS.AMS_WEB_PLCE_MP_PKG

Source


1 PACKAGE BODY AMS_WEB_PLCE_MP_PKG as
2 /* $Header: amstmpb.pls 115.5 2004/02/11 09:00:48 skamatha noship $ */
3 procedure INSERT_ROW (
4   X_ROWID in out  NOCOPY VARCHAR2,
5   X_PLACEMENT_MP_ID in NUMBER,
6   X_PLACEMENT_ID in NUMBER,
7   X_CONTENT_ITEM_ID in NUMBER,
8   X_CITEM_VERSION_ID in NUMBER,
9   X_DISPLAY_PRIORITY in NUMBER,
10   X_PUBLISH_FLAG in VARCHAR2,
11   X_MAX_RECOMMENDATIONS in NUMBER,
12   X_OBJECT_USED_BY_ID in NUMBER,
13   X_OBJECT_USED_BY in VARCHAR2,
14   X_SECURITY_GROUP_ID in NUMBER,
15   X_OBJECT_VERSION_NUMBER in NUMBER,
16   X_ATTRIBUTE_CATEGORY in VARCHAR2,
17   X_ATTRIBUTE1 in VARCHAR2,
18   X_ATTRIBUTE2 in VARCHAR2,
19   X_ATTRIBUTE3 in VARCHAR2,
20   X_ATTRIBUTE4 in VARCHAR2,
21   X_ATTRIBUTE5 in VARCHAR2,
22   X_ATTRIBUTE6 in VARCHAR2,
23   X_ATTRIBUTE7 in VARCHAR2,
24   X_ATTRIBUTE8 in VARCHAR2,
25   X_ATTRIBUTE9 in VARCHAR2,
26   X_ATTRIBUTE10 in VARCHAR2,
27   X_ATTRIBUTE11 in VARCHAR2,
28   X_ATTRIBUTE12 in VARCHAR2,
29   X_ATTRIBUTE13 in VARCHAR2,
30   X_ATTRIBUTE14 in VARCHAR2,
31   X_ATTRIBUTE15 in VARCHAR2,
32   X_CONTENT_TYPE_CODE in VARCHAR2,
33   X_PLACEMENT_MP_TITLE in VARCHAR2,
34   X_CREATION_DATE in DATE,
35   X_CREATED_BY in NUMBER,
36   X_LAST_UPDATE_DATE in DATE,
37   X_LAST_UPDATED_BY in NUMBER,
38   X_LAST_UPDATE_LOGIN in NUMBER
39 ) is
40   cursor C is select ROWID from AMS_WEB_PLCE_MP_B
41     where PLACEMENT_MP_ID = X_PLACEMENT_MP_ID
42     ;
43 begin
44   insert into AMS_WEB_PLCE_MP_B (
45     PLACEMENT_MP_ID,
46     PLACEMENT_ID,
47     CONTENT_ITEM_ID,
48     CITEM_VERSION_ID,
49     DISPLAY_PRIORITY,
50     PUBLISH_FLAG,
51     MAX_RECOMMENDATIONS,
52     OBJECT_USED_BY_ID,
53     OBJECT_USED_BY,
54     SECURITY_GROUP_ID,
55     OBJECT_VERSION_NUMBER,
56     ATTRIBUTE_CATEGORY,
57     ATTRIBUTE1,
58     ATTRIBUTE2,
59     ATTRIBUTE3,
60     ATTRIBUTE4,
61     ATTRIBUTE5,
62     ATTRIBUTE6,
63     ATTRIBUTE7,
64     ATTRIBUTE8,
65     ATTRIBUTE9,
66     ATTRIBUTE10,
67     ATTRIBUTE11,
68     ATTRIBUTE12,
69     ATTRIBUTE13,
70     ATTRIBUTE14,
71     ATTRIBUTE15,
72     CONTENT_TYPE_CODE,
73     CREATION_DATE,
74     CREATED_BY,
75     LAST_UPDATE_DATE,
76     LAST_UPDATED_BY,
77     LAST_UPDATE_LOGIN
78   ) values (
79     X_PLACEMENT_MP_ID,
80     X_PLACEMENT_ID,
81     X_CONTENT_ITEM_ID,
82     X_CITEM_VERSION_ID,
83     X_DISPLAY_PRIORITY,
84     X_PUBLISH_FLAG,
85     X_MAX_RECOMMENDATIONS,
86     X_OBJECT_USED_BY_ID,
87     X_OBJECT_USED_BY,
88     X_SECURITY_GROUP_ID,
89     X_OBJECT_VERSION_NUMBER,
90     X_ATTRIBUTE_CATEGORY,
91     X_ATTRIBUTE1,
92     X_ATTRIBUTE2,
93     X_ATTRIBUTE3,
94     X_ATTRIBUTE4,
95     X_ATTRIBUTE5,
96     X_ATTRIBUTE6,
97     X_ATTRIBUTE7,
98     X_ATTRIBUTE8,
99     X_ATTRIBUTE9,
100     X_ATTRIBUTE10,
101     X_ATTRIBUTE11,
102     X_ATTRIBUTE12,
103     X_ATTRIBUTE13,
104     X_ATTRIBUTE14,
105     X_ATTRIBUTE15,
106     X_CONTENT_TYPE_CODE,
107     X_CREATION_DATE,
108     X_CREATED_BY,
109     X_LAST_UPDATE_DATE,
110     X_LAST_UPDATED_BY,
111     X_LAST_UPDATE_LOGIN
112   );
113   insert into AMS_WEB_PLCE_MP_TL (
114     CREATED_BY,
115     CREATION_DATE,
116     LAST_UPDATED_BY,
117     LAST_UPDATE_DATE,
118     LAST_UPDATE_LOGIN,
119     SECURITY_GROUP_ID,
120     OBJECT_VERSION_NUMBER,
121     PLACEMENT_MP_ID,
122     PLACEMENT_MP_TITLE,
123     LANGUAGE,
124     SOURCE_LANG
125   ) select
126     X_CREATED_BY,
127     X_CREATION_DATE,
128     X_LAST_UPDATED_BY,
129     X_LAST_UPDATE_DATE,
130     X_LAST_UPDATE_LOGIN,
131     X_SECURITY_GROUP_ID,
132     X_OBJECT_VERSION_NUMBER,
133     X_PLACEMENT_MP_ID,
134     X_PLACEMENT_MP_TITLE,
135     L.LANGUAGE_CODE,
136     userenv('LANG')
137   from FND_LANGUAGES L
138   where L.INSTALLED_FLAG in ('I', 'B')
139   and not exists
140     (select NULL
141     from AMS_WEB_PLCE_MP_TL T
142     where T.PLACEMENT_MP_ID = X_PLACEMENT_MP_ID
143     and T.LANGUAGE = L.LANGUAGE_CODE);
144 
145   open c;
146   fetch c into X_ROWID;
147   if (c%notfound) then
148     close c;
149     raise no_data_found;
150   end if;
151   close c;
152 
153 end INSERT_ROW;
154 
155 procedure LOCK_ROW (
156   X_PLACEMENT_MP_ID in NUMBER,
157   X_PLACEMENT_ID in NUMBER,
158   X_CONTENT_ITEM_ID in NUMBER,
159   X_CITEM_VERSION_ID in NUMBER,
160   X_DISPLAY_PRIORITY in NUMBER,
161   X_PUBLISH_FLAG in VARCHAR2,
162   X_MAX_RECOMMENDATIONS in NUMBER,
163   X_OBJECT_USED_BY_ID in NUMBER,
164   X_OBJECT_USED_BY in VARCHAR2,
165   X_SECURITY_GROUP_ID in NUMBER,
166   X_OBJECT_VERSION_NUMBER in NUMBER,
167   X_ATTRIBUTE_CATEGORY in VARCHAR2,
168   X_ATTRIBUTE1 in VARCHAR2,
169   X_ATTRIBUTE2 in VARCHAR2,
170   X_ATTRIBUTE3 in VARCHAR2,
171   X_ATTRIBUTE4 in VARCHAR2,
172   X_ATTRIBUTE5 in VARCHAR2,
173   X_ATTRIBUTE6 in VARCHAR2,
174   X_ATTRIBUTE7 in VARCHAR2,
175   X_ATTRIBUTE8 in VARCHAR2,
176   X_ATTRIBUTE9 in VARCHAR2,
177   X_ATTRIBUTE10 in VARCHAR2,
178   X_ATTRIBUTE11 in VARCHAR2,
179   X_ATTRIBUTE12 in VARCHAR2,
180   X_ATTRIBUTE13 in VARCHAR2,
181   X_ATTRIBUTE14 in VARCHAR2,
182   X_ATTRIBUTE15 in VARCHAR2,
183   X_CONTENT_TYPE_CODE in VARCHAR2,
184   X_PLACEMENT_MP_TITLE in VARCHAR2
185 ) is
186   cursor c is select
187       PLACEMENT_ID,
188       CONTENT_ITEM_ID,
189       CITEM_VERSION_ID,
190       DISPLAY_PRIORITY,
191       PUBLISH_FLAG,
192       MAX_RECOMMENDATIONS,
193       OBJECT_USED_BY_ID,
194       OBJECT_USED_BY,
195       SECURITY_GROUP_ID,
196       OBJECT_VERSION_NUMBER,
197       ATTRIBUTE_CATEGORY,
198       ATTRIBUTE1,
199       ATTRIBUTE2,
200       ATTRIBUTE3,
201       ATTRIBUTE4,
202       ATTRIBUTE5,
203       ATTRIBUTE6,
204       ATTRIBUTE7,
205       ATTRIBUTE8,
206       ATTRIBUTE9,
207       ATTRIBUTE10,
208       ATTRIBUTE11,
209       ATTRIBUTE12,
210       ATTRIBUTE13,
211       ATTRIBUTE14,
212       ATTRIBUTE15,
213       CONTENT_TYPE_CODE
214     from AMS_WEB_PLCE_MP_B
215     where PLACEMENT_MP_ID = X_PLACEMENT_MP_ID
216     for update of PLACEMENT_MP_ID nowait;
217   recinfo c%rowtype;
218 
219   cursor c1 is select
220       PLACEMENT_MP_TITLE,
221       decode(LANGUAGE, userenv('LANG'), 'Y', 'N') BASELANG
222     from AMS_WEB_PLCE_MP_TL
223     where PLACEMENT_MP_ID = X_PLACEMENT_MP_ID
224     and userenv('LANG') in (LANGUAGE, SOURCE_LANG)
225     for update of PLACEMENT_MP_ID nowait;
226 begin
227   open c;
228   fetch c into recinfo;
229   if (c%notfound) then
230     close c;
231     fnd_message.set_name('FND', 'FORM_RECORD_DELETED');
232     app_exception.raise_exception;
233   end if;
234   close c;
235   if (    (recinfo.PLACEMENT_ID = X_PLACEMENT_ID)
236       AND ((recinfo.CONTENT_ITEM_ID = X_CONTENT_ITEM_ID)
237            OR ((recinfo.CONTENT_ITEM_ID is null) AND (X_CONTENT_ITEM_ID is null)))
238       AND ((recinfo.CITEM_VERSION_ID = X_CITEM_VERSION_ID)
239            OR ((recinfo.CITEM_VERSION_ID is null) AND (X_CITEM_VERSION_ID is null)))
240       AND ((recinfo.DISPLAY_PRIORITY = X_DISPLAY_PRIORITY)
241            OR ((recinfo.DISPLAY_PRIORITY is null) AND (X_DISPLAY_PRIORITY is null)))
242       AND (recinfo.PUBLISH_FLAG = X_PUBLISH_FLAG)
243       AND ((recinfo.MAX_RECOMMENDATIONS = X_MAX_RECOMMENDATIONS)
244            OR ((recinfo.MAX_RECOMMENDATIONS is null) AND (X_MAX_RECOMMENDATIONS is null)))
245       AND (recinfo.OBJECT_USED_BY_ID = X_OBJECT_USED_BY_ID)
246       AND (recinfo.OBJECT_USED_BY = X_OBJECT_USED_BY)
247       AND ((recinfo.SECURITY_GROUP_ID = X_SECURITY_GROUP_ID)
248            OR ((recinfo.SECURITY_GROUP_ID is null) AND (X_SECURITY_GROUP_ID is null)))
249       AND (recinfo.OBJECT_VERSION_NUMBER = X_OBJECT_VERSION_NUMBER)
250       AND ((recinfo.ATTRIBUTE_CATEGORY = X_ATTRIBUTE_CATEGORY)
251            OR ((recinfo.ATTRIBUTE_CATEGORY is null) AND (X_ATTRIBUTE_CATEGORY is null)))
252       AND ((recinfo.ATTRIBUTE1 = X_ATTRIBUTE1)
253            OR ((recinfo.ATTRIBUTE1 is null) AND (X_ATTRIBUTE1 is null)))
254       AND ((recinfo.ATTRIBUTE2 = X_ATTRIBUTE2)
255            OR ((recinfo.ATTRIBUTE2 is null) AND (X_ATTRIBUTE2 is null)))
256       AND ((recinfo.ATTRIBUTE3 = X_ATTRIBUTE3)
257            OR ((recinfo.ATTRIBUTE3 is null) AND (X_ATTRIBUTE3 is null)))
258       AND ((recinfo.ATTRIBUTE4 = X_ATTRIBUTE4)
259            OR ((recinfo.ATTRIBUTE4 is null) AND (X_ATTRIBUTE4 is null)))
260       AND ((recinfo.ATTRIBUTE5 = X_ATTRIBUTE5)
261            OR ((recinfo.ATTRIBUTE5 is null) AND (X_ATTRIBUTE5 is null)))
262       AND ((recinfo.ATTRIBUTE6 = X_ATTRIBUTE6)
263            OR ((recinfo.ATTRIBUTE6 is null) AND (X_ATTRIBUTE6 is null)))
264       AND ((recinfo.ATTRIBUTE7 = X_ATTRIBUTE7)
265            OR ((recinfo.ATTRIBUTE7 is null) AND (X_ATTRIBUTE7 is null)))
266       AND ((recinfo.ATTRIBUTE8 = X_ATTRIBUTE8)
267            OR ((recinfo.ATTRIBUTE8 is null) AND (X_ATTRIBUTE8 is null)))
268       AND ((recinfo.ATTRIBUTE9 = X_ATTRIBUTE9)
269            OR ((recinfo.ATTRIBUTE9 is null) AND (X_ATTRIBUTE9 is null)))
270       AND ((recinfo.ATTRIBUTE10 = X_ATTRIBUTE10)
271            OR ((recinfo.ATTRIBUTE10 is null) AND (X_ATTRIBUTE10 is null)))
272       AND ((recinfo.ATTRIBUTE11 = X_ATTRIBUTE11)
273            OR ((recinfo.ATTRIBUTE11 is null) AND (X_ATTRIBUTE11 is null)))
274       AND ((recinfo.ATTRIBUTE12 = X_ATTRIBUTE12)
275            OR ((recinfo.ATTRIBUTE12 is null) AND (X_ATTRIBUTE12 is null)))
276       AND ((recinfo.ATTRIBUTE13 = X_ATTRIBUTE13)
277            OR ((recinfo.ATTRIBUTE13 is null) AND (X_ATTRIBUTE13 is null)))
278       AND ((recinfo.ATTRIBUTE14 = X_ATTRIBUTE14)
279            OR ((recinfo.ATTRIBUTE14 is null) AND (X_ATTRIBUTE14 is null)))
280       AND ((recinfo.ATTRIBUTE15 = X_ATTRIBUTE15)
281            OR ((recinfo.ATTRIBUTE15 is null) AND (X_ATTRIBUTE15 is null)))
282       AND ((recinfo.CONTENT_TYPE_CODE = X_CONTENT_TYPE_CODE)
283            OR ((recinfo.CONTENT_TYPE_CODE is null) AND (X_CONTENT_TYPE_CODE is null)))
284   ) then
285     null;
286   else
287     fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
288     app_exception.raise_exception;
289   end if;
290 
291   for tlinfo in c1 loop
292     if (tlinfo.BASELANG = 'Y') then
293       if ( (tlinfo.PLACEMENT_MP_TITLE = X_PLACEMENT_MP_TITLE)
294 	    OR ((tlinfo.PLACEMENT_MP_TITLE is null) AND (X_PLACEMENT_MP_TITLE is null))
295       ) then
296         null;
297       else
298         fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
299         app_exception.raise_exception;
300       end if;
301     end if;
302   end loop;
303   return;
304 end LOCK_ROW;
305 
306 procedure UPDATE_ROW (
307   X_PLACEMENT_MP_ID in NUMBER,
308   X_PLACEMENT_ID in NUMBER,
309   X_CONTENT_ITEM_ID in NUMBER,
310   X_CITEM_VERSION_ID in NUMBER,
311   X_DISPLAY_PRIORITY in NUMBER,
312   X_PUBLISH_FLAG in VARCHAR2,
313   X_MAX_RECOMMENDATIONS in NUMBER,
314   X_OBJECT_USED_BY_ID in NUMBER,
315   X_OBJECT_USED_BY in VARCHAR2,
316   X_SECURITY_GROUP_ID in NUMBER,
317   X_OBJECT_VERSION_NUMBER in NUMBER,
318   X_ATTRIBUTE_CATEGORY in VARCHAR2,
319   X_ATTRIBUTE1 in VARCHAR2,
320   X_ATTRIBUTE2 in VARCHAR2,
321   X_ATTRIBUTE3 in VARCHAR2,
322   X_ATTRIBUTE4 in VARCHAR2,
323   X_ATTRIBUTE5 in VARCHAR2,
324   X_ATTRIBUTE6 in VARCHAR2,
325   X_ATTRIBUTE7 in VARCHAR2,
326   X_ATTRIBUTE8 in VARCHAR2,
327   X_ATTRIBUTE9 in VARCHAR2,
328   X_ATTRIBUTE10 in VARCHAR2,
329   X_ATTRIBUTE11 in VARCHAR2,
330   X_ATTRIBUTE12 in VARCHAR2,
331   X_ATTRIBUTE13 in VARCHAR2,
332   X_ATTRIBUTE14 in VARCHAR2,
333   X_ATTRIBUTE15 in VARCHAR2,
334   X_CONTENT_TYPE_CODE in VARCHAR2,
335   X_PLACEMENT_MP_TITLE in VARCHAR2,
336   X_LAST_UPDATE_DATE in DATE,
337   X_LAST_UPDATED_BY in NUMBER,
338   X_LAST_UPDATE_LOGIN in NUMBER
339 ) is
340 begin
341   update AMS_WEB_PLCE_MP_B set
342     PLACEMENT_ID = X_PLACEMENT_ID,
343     CONTENT_ITEM_ID = X_CONTENT_ITEM_ID,
344     CITEM_VERSION_ID = X_CITEM_VERSION_ID,
345     DISPLAY_PRIORITY = X_DISPLAY_PRIORITY,
346     PUBLISH_FLAG = X_PUBLISH_FLAG,
347     MAX_RECOMMENDATIONS = X_MAX_RECOMMENDATIONS,
348     OBJECT_USED_BY_ID = X_OBJECT_USED_BY_ID,
349     OBJECT_USED_BY = X_OBJECT_USED_BY,
350     SECURITY_GROUP_ID = X_SECURITY_GROUP_ID,
351     OBJECT_VERSION_NUMBER = X_OBJECT_VERSION_NUMBER,
352     ATTRIBUTE_CATEGORY = X_ATTRIBUTE_CATEGORY,
353     ATTRIBUTE1 = X_ATTRIBUTE1,
354     ATTRIBUTE2 = X_ATTRIBUTE2,
355     ATTRIBUTE3 = X_ATTRIBUTE3,
356     ATTRIBUTE4 = X_ATTRIBUTE4,
357     ATTRIBUTE5 = X_ATTRIBUTE5,
358     ATTRIBUTE6 = X_ATTRIBUTE6,
359     ATTRIBUTE7 = X_ATTRIBUTE7,
360     ATTRIBUTE8 = X_ATTRIBUTE8,
361     ATTRIBUTE9 = X_ATTRIBUTE9,
362     ATTRIBUTE10 = X_ATTRIBUTE10,
363     ATTRIBUTE11 = X_ATTRIBUTE11,
364     ATTRIBUTE12 = X_ATTRIBUTE12,
365     ATTRIBUTE13 = X_ATTRIBUTE13,
366     ATTRIBUTE14 = X_ATTRIBUTE14,
367     ATTRIBUTE15 = X_ATTRIBUTE15,
368     CONTENT_TYPE_CODE = X_CONTENT_TYPE_CODE,
369     LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
370     LAST_UPDATED_BY = X_LAST_UPDATED_BY,
371     LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN
372   where PLACEMENT_MP_ID = X_PLACEMENT_MP_ID;
373 
374   if (sql%notfound) then
375     raise no_data_found;
376   end if;
377 
378   update AMS_WEB_PLCE_MP_TL set
379     PLACEMENT_MP_TITLE = X_PLACEMENT_MP_TITLE,
380     LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
381     LAST_UPDATED_BY = X_LAST_UPDATED_BY,
382     LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN,
383     SOURCE_LANG = userenv('LANG')
384   where PLACEMENT_MP_ID = X_PLACEMENT_MP_ID
385   and userenv('LANG') in (LANGUAGE, SOURCE_LANG);
386 
387   if (sql%notfound) then
388     raise no_data_found;
389   end if;
390 end UPDATE_ROW;
391 
392 procedure DELETE_ROW (
393   X_PLACEMENT_MP_ID in NUMBER
394 ) is
395 begin
396   delete from AMS_WEB_PLCE_MP_TL
397   where PLACEMENT_MP_ID = X_PLACEMENT_MP_ID;
398 
399   if (sql%notfound) then
400     raise no_data_found;
401   end if;
402 
403   delete from AMS_WEB_PLCE_MP_B
404   where PLACEMENT_MP_ID = X_PLACEMENT_MP_ID;
405 
406   if (sql%notfound) then
407     raise no_data_found;
408   end if;
409 end DELETE_ROW;
410 
411 procedure ADD_LANGUAGE
412 is
413 begin
414   delete from AMS_WEB_PLCE_MP_TL T
415   where not exists
416     (select NULL
417     from AMS_WEB_PLCE_MP_B B
418     where B.PLACEMENT_MP_ID = T.PLACEMENT_MP_ID
419     );
420 
421   update AMS_WEB_PLCE_MP_TL T set (
422       PLACEMENT_MP_TITLE
423     ) = (select
424       B.PLACEMENT_MP_TITLE
425     from AMS_WEB_PLCE_MP_TL B
429       T.PLACEMENT_MP_ID,
426     where B.PLACEMENT_MP_ID = T.PLACEMENT_MP_ID
427     and B.LANGUAGE = T.SOURCE_LANG)
428   where (
430       T.LANGUAGE
431   ) in (select
432       SUBT.PLACEMENT_MP_ID,
433       SUBT.LANGUAGE
434     from AMS_WEB_PLCE_MP_TL SUBB, AMS_WEB_PLCE_MP_TL SUBT
435     where SUBB.PLACEMENT_MP_ID = SUBT.PLACEMENT_MP_ID
436     and SUBB.LANGUAGE = SUBT.SOURCE_LANG
437     and (SUBB.PLACEMENT_MP_TITLE <> SUBT.PLACEMENT_MP_TITLE
438   ));
439 
440   insert into AMS_WEB_PLCE_MP_TL (
441     CREATED_BY,
442     CREATION_DATE,
443     LAST_UPDATED_BY,
444     LAST_UPDATE_DATE,
445     LAST_UPDATE_LOGIN,
446     SECURITY_GROUP_ID,
447     OBJECT_VERSION_NUMBER,
448     PLACEMENT_MP_ID,
449     PLACEMENT_MP_TITLE,
450     LANGUAGE,
451     SOURCE_LANG
452   ) select /*+ ORDERED */
453     B.CREATED_BY,
454     B.CREATION_DATE,
455     B.LAST_UPDATED_BY,
456     B.LAST_UPDATE_DATE,
457     B.LAST_UPDATE_LOGIN,
458     B.SECURITY_GROUP_ID,
459     B.OBJECT_VERSION_NUMBER,
460     B.PLACEMENT_MP_ID,
461     B.PLACEMENT_MP_TITLE,
462     L.LANGUAGE_CODE,
463     B.SOURCE_LANG
464   from AMS_WEB_PLCE_MP_TL B, FND_LANGUAGES L
465   where L.INSTALLED_FLAG in ('I', 'B')
466   and B.LANGUAGE = userenv('LANG')
467   and not exists
468     (select NULL
469     from AMS_WEB_PLCE_MP_TL T
470     where T.PLACEMENT_MP_ID = B.PLACEMENT_MP_ID
471     and T.LANGUAGE = L.LANGUAGE_CODE);
472 end ADD_LANGUAGE;
473 
474 end AMS_WEB_PLCE_MP_PKG;