DBA Data[Home] [Help]

PACKAGE BODY: APPS.AMS_VENUE_RATES_B_PKG

Source


1 PACKAGE BODY AMS_VENUE_RATES_B_PKG as
2 /* $Header: amstvrtb.pls 115.5 2003/03/28 23:19:44 soagrawa ship $ */
3 -- ===============================================================
4 -- Start of Comments
5 -- Package name
6 --          AMS_VENUE_RATES_B_PKG
7 -- Purpose
8 --
9 -- History
10 --   10-MAY-2002  GMADANA    Added Rate_code.
11 --   28-mar-2003  soagrawa   Added add_language. Bug# 2876033
12 --
13 -- NOTE
14 --
15 -- End of Comments
16 -- ===============================================================
17 
18 
19 G_PKG_NAME CONSTANT VARCHAR2(30):= 'AMS_VENUE_RATES_B_PKG';
20 G_FILE_NAME CONSTANT VARCHAR2(12) := 'amstvrtb.pls';
21 
22 
23 ----------------------------------------------------------
24 ----          MEDIA           ----
25 ----------------------------------------------------------
26 
27 --  ========================================================
28 --
29 --  NAME
30 --  createInsertBody
31 --
32 --  PURPOSE
33 --
34 --  NOTES
35 --
36 --  HISTORY
37 --
38 --  ========================================================
39 PROCEDURE Insert_Row(
40           px_rate_id   IN OUT NOCOPY NUMBER,
41           p_last_update_date    DATE,
42           p_last_updated_by    NUMBER,
43           p_creation_date    DATE,
44           p_created_by    NUMBER,
45           p_last_update_login    NUMBER,
46           px_object_version_number   IN OUT NOCOPY NUMBER,
47           p_active_flag    VARCHAR2,
48           p_venue_id    NUMBER,
49           p_metric_id    NUMBER,
50           p_transactional_value    NUMBER,
51           p_transactional_currency_code    VARCHAR2,
52           p_functional_value    NUMBER,
53           p_functional_currency_code    VARCHAR2,
54           p_uom_code    VARCHAR2,
55           p_rate_code   VARCHAR2,
56           p_attribute_category    VARCHAR2,
57           p_attribute1    VARCHAR2,
58           p_attribute2    VARCHAR2,
59           p_attribute3    VARCHAR2,
60           p_attribute4    VARCHAR2,
61           p_attribute5    VARCHAR2,
62           p_attribute6    VARCHAR2,
63           p_attribute7    VARCHAR2,
64           p_attribute8    VARCHAR2,
65           p_attribute9    VARCHAR2,
66           p_attribute10    VARCHAR2,
67           p_attribute11    VARCHAR2,
68           p_attribute12    VARCHAR2,
69           p_attribute13    VARCHAR2,
70           p_attribute14    VARCHAR2,
71           p_attribute15    VARCHAR2,
72 	  p_description    VARCHAR2)
73 
74  IS
75    x_rowid    VARCHAR2(30);
76    l_rowid VARCHAR2(20);
77 
78    cursor C is select ROWID from AMS_venue_rates_b
79    where rate_ID = px_rate_id;
80 
81 
82 BEGIN
83 
84 
85    px_object_version_number := 1;
86 
87 
88    INSERT INTO AMS_VENUE_RATES_B(
89            rate_id,
90            last_update_date,
91            last_updated_by,
92            creation_date,
93            created_by,
94            last_update_login,
95            object_version_number,
96            active_flag,
97            venue_id,
98            metric_id,
99            transactional_value,
100            transactional_currency_code,
101            functional_value,
102            functional_currency_code,
103            uom_code,
104            rate_code,
105            attribute_category,
106            attribute1,
107            attribute2,
108            attribute3,
109            attribute4,
110            attribute5,
111            attribute6,
112            attribute7,
113            attribute8,
114            attribute9,
115            attribute10,
116            attribute11,
117            attribute12,
118            attribute13,
119            attribute14,
120            attribute15
121    ) VALUES (
122            DECODE( px_rate_id, FND_API.g_miss_num, NULL, px_rate_id),
123            DECODE( p_last_update_date, FND_API.g_miss_date, NULL, p_last_update_date),
124            DECODE( p_last_updated_by, FND_API.g_miss_num, NULL, p_last_updated_by),
125            DECODE( p_creation_date, FND_API.g_miss_date, NULL, p_creation_date),
126            DECODE( p_created_by, FND_API.g_miss_num, NULL, p_created_by),
127            DECODE( p_last_update_login, FND_API.g_miss_num, NULL, p_last_update_login),
128            DECODE( px_object_version_number, FND_API.g_miss_num, NULL, px_object_version_number),
129            'Y',
130            DECODE( p_venue_id, FND_API.g_miss_num, NULL, p_venue_id),
131            DECODE( p_metric_id, FND_API.g_miss_num, NULL, p_metric_id),
132            DECODE( p_transactional_value, FND_API.g_miss_num, NULL, p_transactional_value),
133            DECODE( p_transactional_currency_code, FND_API.g_miss_char, NULL, p_transactional_currency_code),
134            DECODE( p_functional_value, FND_API.g_miss_num, NULL, p_functional_value),
135            DECODE( p_functional_currency_code, FND_API.g_miss_char, NULL, p_functional_currency_code),
136            DECODE( p_uom_code, FND_API.g_miss_char, NULL, p_uom_code),
137            DECODE( p_rate_code, FND_API.g_miss_char, NULL, p_rate_code),
138            DECODE( p_attribute_category, FND_API.g_miss_char, NULL, p_attribute_category),
139            DECODE( p_attribute1, FND_API.g_miss_char, NULL, p_attribute1),
140            DECODE( p_attribute2, FND_API.g_miss_char, NULL, p_attribute2),
141            DECODE( p_attribute3, FND_API.g_miss_char, NULL, p_attribute3),
142            DECODE( p_attribute4, FND_API.g_miss_char, NULL, p_attribute4),
143            DECODE( p_attribute5, FND_API.g_miss_char, NULL, p_attribute5),
144            DECODE( p_attribute6, FND_API.g_miss_char, NULL, p_attribute6),
145            DECODE( p_attribute7, FND_API.g_miss_char, NULL, p_attribute7),
146            DECODE( p_attribute8, FND_API.g_miss_char, NULL, p_attribute8),
147            DECODE( p_attribute9, FND_API.g_miss_char, NULL, p_attribute9),
148            DECODE( p_attribute10, FND_API.g_miss_char, NULL, p_attribute10),
149            DECODE( p_attribute11, FND_API.g_miss_char, NULL, p_attribute11),
150            DECODE( p_attribute12, FND_API.g_miss_char, NULL, p_attribute12),
151            DECODE( p_attribute13, FND_API.g_miss_char, NULL, p_attribute13),
152            DECODE( p_attribute14, FND_API.g_miss_char, NULL, p_attribute14),
153            DECODE( p_attribute15, FND_API.g_miss_char, NULL, p_attribute15));
154 
155 
156  INSERT INTO ams_venue_rates_tl(
157            rate_id,
158            last_update_date,
159            last_updated_by,
160            creation_date,
161            created_by,
162            last_update_login,
163            language,
164            source_lang,
165            description
166    )  select
167     px_rate_id,
168     p_last_update_date,
169     p_last_updated_by,
170     p_creation_date,
171     p_created_by,
172     p_last_update_login,
173     L.LANGUAGE_CODE,
174     userenv('LANG'),
175     p_description
176   from FND_LANGUAGES L
177   where L.INSTALLED_FLAG in ('I', 'B')
178   and not exists
179     (select NULL
180     from ams_venue_rates_tl T
181     where T.rate_ID = px_rate_id
182     and T.LANGUAGE = L.LANGUAGE_CODE);
183 
184  open c;
185   fetch c into l_ROWID;
186   if (c%notfound) then
187     close c;
188     raise no_data_found;
189   end if;
190   close c;
191 
192 END Insert_Row;
193 
194 
195 ----------------------------------------------------------
196 ----          MEDIA           ----
197 ----------------------------------------------------------
198 
199 --  ========================================================
200 --
201 --  NAME
202 --  createUpdateBody
203 --
204 --  PURPOSE
205 --
206 --  NOTES
207 --
208 --  HISTORY
209 --
210 --  ========================================================
211 PROCEDURE Update_Row(
212           p_rate_id    NUMBER,
213           p_last_update_date    DATE,
214           p_last_updated_by    NUMBER,
215           p_creation_date    DATE,
216           p_created_by    NUMBER,
217           p_last_update_login    NUMBER,
218           p_object_version_number    NUMBER,
219           p_active_flag    VARCHAR2,
220           p_venue_id    NUMBER,
221           p_metric_id    NUMBER,
222           p_transactional_value    NUMBER,
223           p_transactional_currency_code    VARCHAR2,
224           p_functional_value    NUMBER,
225           p_functional_currency_code    VARCHAR2,
226           p_uom_code    VARCHAR2,
227           p_rate_code   VARCHAR2,
228           p_attribute_category    VARCHAR2,
229           p_attribute1    VARCHAR2,
230           p_attribute2    VARCHAR2,
231           p_attribute3    VARCHAR2,
232           p_attribute4    VARCHAR2,
233           p_attribute5    VARCHAR2,
234           p_attribute6    VARCHAR2,
235           p_attribute7    VARCHAR2,
236           p_attribute8    VARCHAR2,
237           p_attribute9    VARCHAR2,
238           p_attribute10    VARCHAR2,
239           p_attribute11    VARCHAR2,
240           p_attribute12    VARCHAR2,
241           p_attribute13    VARCHAR2,
242           p_attribute14    VARCHAR2,
243           p_attribute15    VARCHAR2,
244 	  p_description    VARCHAR2)
245 
246  IS
247  BEGIN
248 
249     Update AMS_VENUE_RATES_B
250     SET
251               rate_id = DECODE( p_rate_id, FND_API.g_miss_num, rate_id, p_rate_id),
252               last_update_date = DECODE( p_last_update_date, FND_API.g_miss_date, last_update_date, p_last_update_date),
253               last_updated_by = DECODE( p_last_updated_by, FND_API.g_miss_num, last_updated_by, p_last_updated_by),
254               creation_date = DECODE( p_creation_date, FND_API.g_miss_date, creation_date, p_creation_date),
255               created_by = DECODE( p_created_by, FND_API.g_miss_num, created_by, p_created_by),
256               last_update_login = DECODE( p_last_update_login, FND_API.g_miss_num, last_update_login, p_last_update_login),
257               object_version_number = DECODE( p_object_version_number, FND_API.g_miss_num, object_version_number, p_object_version_number),
258               active_flag = DECODE( p_active_flag, FND_API.g_miss_char, active_flag, p_active_flag),
259               venue_id = DECODE( p_venue_id, FND_API.g_miss_num, venue_id, p_venue_id),
260               metric_id = DECODE( p_metric_id, FND_API.g_miss_num, metric_id, p_metric_id),
261               transactional_value = DECODE( p_transactional_value, FND_API.g_miss_num, transactional_value, p_transactional_value),
262               transactional_currency_code = DECODE( p_transactional_currency_code, FND_API.g_miss_char, transactional_currency_code, p_transactional_currency_code),
263               functional_value = DECODE( p_functional_value, FND_API.g_miss_num, functional_value, p_functional_value),
264               functional_currency_code = DECODE( p_functional_currency_code, FND_API.g_miss_char, functional_currency_code, p_functional_currency_code),
265               uom_code = DECODE( p_uom_code, FND_API.g_miss_char, uom_code, p_uom_code),
266               rate_code = DECODE( p_rate_code, FND_API.g_miss_char, rate_code, p_rate_code),
267               attribute_category = DECODE( p_attribute_category, FND_API.g_miss_char, attribute_category, p_attribute_category),
268               attribute1 = DECODE( p_attribute1, FND_API.g_miss_char, attribute1, p_attribute1),
269               attribute2 = DECODE( p_attribute2, FND_API.g_miss_char, attribute2, p_attribute2),
270               attribute3 = DECODE( p_attribute3, FND_API.g_miss_char, attribute3, p_attribute3),
271               attribute4 = DECODE( p_attribute4, FND_API.g_miss_char, attribute4, p_attribute4),
272               attribute5 = DECODE( p_attribute5, FND_API.g_miss_char, attribute5, p_attribute5),
273               attribute6 = DECODE( p_attribute6, FND_API.g_miss_char, attribute6, p_attribute6),
274               attribute7 = DECODE( p_attribute7, FND_API.g_miss_char, attribute7, p_attribute7),
275               attribute8 = DECODE( p_attribute8, FND_API.g_miss_char, attribute8, p_attribute8),
276               attribute9 = DECODE( p_attribute9, FND_API.g_miss_char, attribute9, p_attribute9),
277               attribute10 = DECODE( p_attribute10, FND_API.g_miss_char, attribute10, p_attribute10),
278               attribute11 = DECODE( p_attribute11, FND_API.g_miss_char, attribute11, p_attribute11),
279               attribute12 = DECODE( p_attribute12, FND_API.g_miss_char, attribute12, p_attribute12),
280               attribute13 = DECODE( p_attribute13, FND_API.g_miss_char, attribute13, p_attribute13),
281               attribute14 = DECODE( p_attribute14, FND_API.g_miss_char, attribute14, p_attribute14),
282               attribute15 = DECODE( p_attribute15, FND_API.g_miss_char, attribute15, p_attribute15)
283    WHERE RATE_ID = p_RATE_ID
284    AND   object_version_number = p_object_version_number;
285 
286    IF (SQL%NOTFOUND) THEN
287 	RAISE  FND_API.G_EXC_UNEXPECTED_ERROR;
288    END IF;
289 
290    update AMS_VENUE_RATES_TL
291    set
292            last_update_date=DECODE( p_last_update_date, FND_API.g_miss_date, last_update_date, p_last_update_date),
293            last_updated_by=DECODE( p_last_updated_by, FND_API.g_miss_num, last_updated_by, p_last_updated_by),
294            creation_date=DECODE( p_creation_date, FND_API.g_miss_date, creation_date, p_creation_date),
295            created_by=DECODE( p_created_by, FND_API.g_miss_num, created_by, p_created_by),
296            last_update_login=DECODE( p_last_update_login, FND_API.g_miss_num, last_update_login, p_last_update_login),
297            source_lang=userenv('LANG'),
298            description=DECODE( p_description, FND_API.g_miss_char, description, p_description)
299    where rate_ID = p_rate_ID
300    and userenv('LANG') in (LANGUAGE, SOURCE_LANG);
301 
302    IF (SQL%NOTFOUND) THEN
303 	RAISE  FND_API.G_EXC_UNEXPECTED_ERROR;
304    END IF;
305 END Update_Row;
306 
307 
308 ----------------------------------------------------------
309 ----          MEDIA           ----
310 ----------------------------------------------------------
311 
312 --  ========================================================
313 --
314 --  NAME
315 --  createDeleteBody
316 --
317 --  PURPOSE
318 --
319 --  NOTES
320 --
321 --  HISTORY
322 --
323 --  ========================================================
324 PROCEDURE Delete_Row(
325     p_RATE_ID  NUMBER)
326  IS
327  BEGIN
328    DELETE FROM AMS_VENUE_RATES_B
329     WHERE RATE_ID = p_RATE_ID;
330    If (SQL%NOTFOUND) then
331 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
332    End If;
333  END Delete_Row ;
334 
335 
336 
337 ----------------------------------------------------------
338 ----          MEDIA           ----
339 ----------------------------------------------------------
340 
341 --  ========================================================
342 --
343 --  NAME
344 --  createLockBody
345 --
346 --  PURPOSE
347 --
348 --  NOTES
349 --
350 --  HISTORY
351 --
352 --  ========================================================
353 PROCEDURE Lock_Row(
354           p_rate_id    NUMBER,
355           p_last_update_date    DATE,
356           p_last_updated_by    NUMBER,
357           p_creation_date    DATE,
358           p_created_by    NUMBER,
359           p_last_update_login    NUMBER,
360           p_object_version_number    NUMBER,
361           p_active_flag    VARCHAR2,
362           p_venue_id    NUMBER,
363           p_metric_id    NUMBER,
364           p_transactional_value    NUMBER,
365           p_transactional_currency_code    VARCHAR2,
366           p_functional_value    NUMBER,
367           p_functional_currency_code    VARCHAR2,
368           p_uom_code    VARCHAR2,
369           p_rate_code   VARCHAR2,
370           p_attribute_category    VARCHAR2,
371           p_attribute1    VARCHAR2,
372           p_attribute2    VARCHAR2,
373           p_attribute3    VARCHAR2,
374           p_attribute4    VARCHAR2,
375           p_attribute5    VARCHAR2,
376           p_attribute6    VARCHAR2,
377           p_attribute7    VARCHAR2,
378           p_attribute8    VARCHAR2,
379           p_attribute9    VARCHAR2,
383           p_attribute13    VARCHAR2,
380           p_attribute10    VARCHAR2,
381           p_attribute11    VARCHAR2,
382           p_attribute12    VARCHAR2,
384           p_attribute14    VARCHAR2,
385           p_attribute15    VARCHAR2)
386 
387  IS
388    CURSOR C IS
389         SELECT *
390          FROM AMS_VENUE_RATES_B
391         WHERE RATE_ID =  p_RATE_ID
392         FOR UPDATE of RATE_ID NOWAIT;
393    Recinfo C%ROWTYPE;
394  BEGIN
395     OPEN c;
396     FETCH c INTO Recinfo;
397     If (c%NOTFOUND) then
398         CLOSE c;
399         FND_MESSAGE.SET_NAME('FND', 'FORM_RECORD_DELETED');
400         APP_EXCEPTION.RAISE_EXCEPTION;
401     END IF;
402     CLOSE C;
403     IF (
404            (      Recinfo.rate_id = p_rate_id)
405        AND (    ( Recinfo.last_update_date = p_last_update_date)
406             OR (    ( Recinfo.last_update_date IS NULL )
407                 AND (  p_last_update_date IS NULL )))
408        AND (    ( Recinfo.last_updated_by = p_last_updated_by)
409             OR (    ( Recinfo.last_updated_by IS NULL )
410                 AND (  p_last_updated_by IS NULL )))
411        AND (    ( Recinfo.creation_date = p_creation_date)
412             OR (    ( Recinfo.creation_date IS NULL )
413                 AND (  p_creation_date IS NULL )))
417        AND (    ( Recinfo.last_update_login = p_last_update_login)
414        AND (    ( Recinfo.created_by = p_created_by)
415             OR (    ( Recinfo.created_by IS NULL )
416                 AND (  p_created_by IS NULL )))
418             OR (    ( Recinfo.last_update_login IS NULL )
419                 AND (  p_last_update_login IS NULL )))
420        AND (    ( Recinfo.object_version_number = p_object_version_number)
421             OR (    ( Recinfo.object_version_number IS NULL )
422                 AND (  p_object_version_number IS NULL )))
423        AND (    ( Recinfo.active_flag = p_active_flag)
424             OR (    ( Recinfo.active_flag IS NULL )
425                 AND (  p_active_flag IS NULL )))
426        AND (    ( Recinfo.venue_id = p_venue_id)
427             OR (    ( Recinfo.venue_id IS NULL )
428                 AND (  p_venue_id IS NULL )))
429        AND (    ( Recinfo.metric_id = p_metric_id)
430             OR (    ( Recinfo.metric_id IS NULL )
431                 AND (  p_metric_id IS NULL )))
432        AND (    ( Recinfo.transactional_value = p_transactional_value)
433             OR (    ( Recinfo.transactional_value IS NULL )
434                 AND (  p_transactional_value IS NULL )))
435        AND (    ( Recinfo.transactional_currency_code = p_transactional_currency_code)
436             OR (    ( Recinfo.transactional_currency_code IS NULL )
437                 AND (  p_transactional_currency_code IS NULL )))
438        AND (    ( Recinfo.functional_value = p_functional_value)
439             OR (    ( Recinfo.functional_value IS NULL )
440                 AND (  p_functional_value IS NULL )))
441        AND (    ( Recinfo.functional_currency_code = p_functional_currency_code)
442             OR (    ( Recinfo.functional_currency_code IS NULL )
443                 AND (  p_functional_currency_code IS NULL )))
444        AND (    ( Recinfo.uom_code = p_uom_code)
445             OR (    ( Recinfo.uom_code IS NULL )
446                 AND (  p_uom_code IS NULL )))
447       AND (    ( Recinfo.rate_code = p_rate_code)
448             OR (    ( Recinfo.rate_code IS NULL )
449                 AND (  p_rate_code IS NULL )))
450        AND (    ( Recinfo.attribute_category = p_attribute_category)
451             OR (    ( Recinfo.attribute_category IS NULL )
452                 AND (  p_attribute_category IS NULL )))
453        AND (    ( Recinfo.attribute1 = p_attribute1)
454             OR (    ( Recinfo.attribute1 IS NULL )
455                 AND (  p_attribute1 IS NULL )))
456        AND (    ( Recinfo.attribute2 = p_attribute2)
457             OR (    ( Recinfo.attribute2 IS NULL )
458                 AND (  p_attribute2 IS NULL )))
459        AND (    ( Recinfo.attribute3 = p_attribute3)
460             OR (    ( Recinfo.attribute3 IS NULL )
461                 AND (  p_attribute3 IS NULL )))
462        AND (    ( Recinfo.attribute4 = p_attribute4)
463             OR (    ( Recinfo.attribute4 IS NULL )
464                 AND (  p_attribute4 IS NULL )))
465        AND (    ( Recinfo.attribute5 = p_attribute5)
469             OR (    ( Recinfo.attribute6 IS NULL )
466             OR (    ( Recinfo.attribute5 IS NULL )
467                 AND (  p_attribute5 IS NULL )))
468        AND (    ( Recinfo.attribute6 = p_attribute6)
470                 AND (  p_attribute6 IS NULL )))
471        AND (    ( Recinfo.attribute7 = p_attribute7)
472             OR (    ( Recinfo.attribute7 IS NULL )
473                 AND (  p_attribute7 IS NULL )))
474        AND (    ( Recinfo.attribute8 = p_attribute8)
475             OR (    ( Recinfo.attribute8 IS NULL )
476                 AND (  p_attribute8 IS NULL )))
477        AND (    ( Recinfo.attribute9 = p_attribute9)
478             OR (    ( Recinfo.attribute9 IS NULL )
479                 AND (  p_attribute9 IS NULL )))
480        AND (    ( Recinfo.attribute10 = p_attribute10)
481             OR (    ( Recinfo.attribute10 IS NULL )
482                 AND (  p_attribute10 IS NULL )))
483        AND (    ( Recinfo.attribute11 = p_attribute11)
484             OR (    ( Recinfo.attribute11 IS NULL )
485                 AND (  p_attribute11 IS NULL )))
486        AND (    ( Recinfo.attribute12 = p_attribute12)
487             OR (    ( Recinfo.attribute12 IS NULL )
488                 AND (  p_attribute12 IS NULL )))
489        AND (    ( Recinfo.attribute13 = p_attribute13)
490             OR (    ( Recinfo.attribute13 IS NULL )
491                 AND (  p_attribute13 IS NULL )))
492        AND (    ( Recinfo.attribute14 = p_attribute14)
493             OR (    ( Recinfo.attribute14 IS NULL )
494                 AND (  p_attribute14 IS NULL )))
495        AND (    ( Recinfo.attribute15 = p_attribute15)
496             OR (    ( Recinfo.attribute15 IS NULL )
497                 AND (  p_attribute15 IS NULL )))
498        ) THEN
499        RETURN;
500    ELSE
501        FND_MESSAGE.SET_NAME('FND', 'FORM_RECORD_CHANGED');
502        APP_EXCEPTION.RAISE_EXCEPTION;
503    END IF;
504 END Lock_Row;
505 
506 procedure ADD_LANGUAGE
507 is
508 begin
509   delete from AMS_VENUE_RATES_TL T
510   where not exists
511     (select NULL
512     from AMS_VENUE_RATES_B B
513     where B.RATE_ID = T.RATE_ID
514     );
515 
516   update AMS_VENUE_RATES_TL T set (
517       DESCRIPTION
518     ) = (select
519       B.DESCRIPTION
520     from AMS_VENUE_RATES_TL B
521     where B.RATE_ID = T.RATE_ID
522     and B.LANGUAGE = T.SOURCE_LANG)
523   where (
524       T.RATE_ID,
525       T.LANGUAGE
526   ) in (select
527       SUBT.RATE_ID,
528       SUBT.LANGUAGE
529     from AMS_VENUE_RATES_TL SUBB, AMS_VENUE_RATES_TL SUBT
530     where SUBB.RATE_ID = SUBT.RATE_ID
531     and SUBB.LANGUAGE = SUBT.SOURCE_LANG
532     and (SUBB.DESCRIPTION <> SUBT.DESCRIPTION
533      or (SUBB.DESCRIPTION is null and SUBT.DESCRIPTION is not null)
534      or (SUBB.DESCRIPTION is not null and SUBT.DESCRIPTION is null)
535   ));
536 
537   insert into AMS_VENUE_RATES_TL (
538      RATE_ID,
539      LANGUAGE,
540      CREATION_DATE,
541      CREATED_BY,
542      LAST_UPDATE_DATE,
543      LAST_UPDATED_BY,
544      LAST_UPDATE_LOGIN,
545      SOURCE_LANG,
546      DESCRIPTION,
547      SECURITY_GROUP_ID
548   ) select
549      B.RATE_ID,
550      L.LANGUAGE_CODE,
551      B.CREATION_DATE,
552      B.CREATED_BY,
553      B.LAST_UPDATE_DATE,
554      B.LAST_UPDATED_BY,
555      B.LAST_UPDATE_LOGIN,
556      B.SOURCE_LANG,
557      B.DESCRIPTION,
558      B.SECURITY_GROUP_ID
559   from AMS_VENUE_RATES_TL B, FND_LANGUAGES L
560   where L.INSTALLED_FLAG in ('I', 'B')
561   and B.LANGUAGE = userenv('LANG')
562   and not exists
563     (select NULL
564     from AMS_VENUE_RATES_TL T
565     where T.RATE_ID = B.RATE_ID
566     and T.LANGUAGE = L.LANGUAGE_CODE);
567 end ADD_LANGUAGE;
568 
569 
570 END AMS_VENUE_RATES_B_PKG;