DBA Data[Home] [Help]

PACKAGE BODY: APPS.AS_INTEREST_CODES_PKG

Source


1 package body AS_INTEREST_CODES_PKG as
2 /* $Header: asxvicpb.pls 120.1 2005/11/28 01:39:53 sumahali noship $ */
3 procedure INSERT_ROW (
4   X_ROWID in out nocopy VARCHAR2,
5   X_INTEREST_CODE_ID in NUMBER,
6   X_INTEREST_TYPE_ID in NUMBER,
7   X_ENABLED_FLAG in VARCHAR2,
8   X_PARENT_INTEREST_CODE_ID in NUMBER,
9   X_CATEGORY_ID in NUMBER,
10   X_CATEGORY_SET_ID in NUMBER,
11   X_ATTRIBUTE_CATEGORY in VARCHAR2,
12   X_ATTRIBUTE1 in VARCHAR2,
13   X_ATTRIBUTE2 in VARCHAR2,
14   X_ATTRIBUTE3 in VARCHAR2,
15   X_ATTRIBUTE4 in VARCHAR2,
16   X_ATTRIBUTE5 in VARCHAR2,
17   X_ATTRIBUTE6 in VARCHAR2,
18   X_ATTRIBUTE7 in VARCHAR2,
19   X_ATTRIBUTE8 in VARCHAR2,
20   X_ATTRIBUTE9 in VARCHAR2,
21   X_ATTRIBUTE10 in VARCHAR2,
22   X_ATTRIBUTE11 in VARCHAR2,
23   X_ATTRIBUTE12 in VARCHAR2,
24   X_ATTRIBUTE13 in VARCHAR2,
25   X_ATTRIBUTE14 in VARCHAR2,
26   X_ATTRIBUTE15 in VARCHAR2,
27   X_PF_ITEM_ID in NUMBER,
28   X_PF_ORGANIZATION_ID in NUMBER,
29   X_PRICE in NUMBER,
30   X_CURRENCY_CODE in VARCHAR2,
31   X_CODE in VARCHAR2,
32   X_DESCRIPTION in VARCHAR2,
33   X_CREATION_DATE in DATE,
34   X_CREATED_BY in NUMBER,
35   X_LAST_UPDATE_DATE in DATE,
36   X_LAST_UPDATED_BY in NUMBER,
37   X_LAST_UPDATE_LOGIN in NUMBER,
38   X_PROD_CAT_SET_ID in NUMBER,
39   X_PROD_CAT_ID in NUMBER
40 ) is
41   cursor C is
42 	select ROWID from AS_INTEREST_CODES_B
43 	where INTEREST_CODE_ID = X_INTEREST_CODE_ID;
44 
45 BEGIN
46   insert into AS_INTEREST_CODES_B (
47     INTEREST_CODE_ID,
48     INTEREST_TYPE_ID,
49     ENABLED_FLAG,
50     PARENT_INTEREST_CODE_ID,
51     CATEGORY_ID,
52     CATEGORY_SET_ID,
53     PF_ITEM_ID,
54     PF_ORGANIZATION_ID,
55     PRICE,
56     CURRENCY_CODE,
57     CREATION_DATE,
58     CREATED_BY,
59     LAST_UPDATE_DATE,
60     LAST_UPDATED_BY,
61     LAST_UPDATE_LOGIN,
62     ATTRIBUTE_CATEGORY,
63     ATTRIBUTE1,
64     ATTRIBUTE2,
65     ATTRIBUTE3,
66     ATTRIBUTE4,
67     ATTRIBUTE5,
68     ATTRIBUTE6,
69     ATTRIBUTE7,
70     ATTRIBUTE8,
71     ATTRIBUTE9,
72     ATTRIBUTE10,
73     ATTRIBUTE11,
74     ATTRIBUTE12,
75     ATTRIBUTE13,
76     ATTRIBUTE14,
77     ATTRIBUTE15,
78     PRODUCT_CAT_SET_ID,
79     PRODUCT_CATEGORY_ID
80   ) values (
81     X_INTEREST_CODE_ID,
82     X_INTEREST_TYPE_ID,
83   	X_ENABLED_FLAG ,
84     X_PARENT_INTEREST_CODE_ID,
85     X_CATEGORY_ID,
86     X_CATEGORY_SET_ID,
87     X_PF_ITEM_ID,
88     X_PF_ORGANIZATION_ID,
89     X_PRICE,
90     X_CURRENCY_CODE,
91     X_CREATION_DATE,
92     X_CREATED_BY,
93     X_LAST_UPDATE_DATE,
94     X_LAST_UPDATED_BY,
95     X_LAST_UPDATE_LOGIN,
96   	X_ATTRIBUTE_CATEGORY ,
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_PROD_CAT_SET_ID ,
113     X_PROD_CAT_ID
114   );
115 
116 --	insert into AS_INTEREST_CODES_ALL (
117 --    INTEREST_CODE_ID,
118 --    ENABLED_FLAG,
119 --		ORG_ID ,
120 --    CREATION_DATE,
121 --    CREATED_BY,
122 --    LAST_UPDATE_DATE,
123 --    LAST_UPDATED_BY,
124 --    LAST_UPDATE_LOGIN
125 --  ) values (
126 --    X_INTEREST_CODE_ID,
127 --    X_ENABLED_FLAG,
128 --		X_ORG_ID ,
129 --    X_CREATION_DATE,
130 --    X_CREATED_BY,
131 --    X_LAST_UPDATE_DATE,
132 --    X_LAST_UPDATED_BY,
133 --    X_LAST_UPDATE_LOGIN
134 --  );
135 
136   insert into AS_INTEREST_CODES_TL (
137     INTEREST_CODE_ID,
138     LAST_UPDATE_DATE,
139     LAST_UPDATED_BY,
140     CREATION_DATE,
141     CREATED_BY,
142     LAST_UPDATE_LOGIN,
143     CODE,
144     DESCRIPTION,
145     LANGUAGE,
146     SOURCE_LANG
147   ) select
148     X_INTEREST_CODE_ID,
149     X_LAST_UPDATE_DATE,
150     X_LAST_UPDATED_BY,
151     X_CREATION_DATE,
152     X_CREATED_BY,
153     X_LAST_UPDATE_LOGIN,
154     ltrim(rtrim(X_CODE)),
155     X_DESCRIPTION,
156     L.LANGUAGE_CODE,
157     userenv('LANG')
158   from FND_LANGUAGES L
159   where L.INSTALLED_FLAG in ('I', 'B')
160   and not exists
161     (select NULL
162     from AS_INTEREST_CODES_TL T
163     where T.INTEREST_CODE_ID = X_INTEREST_CODE_ID
164     and T.LANGUAGE = L.LANGUAGE_CODE);
165 
166   open c;
167   fetch c into X_ROWID;
168   if (c%notfound) then
169     close c;
170     raise no_data_found;
171   end if;
172   close c;
173 
174 end INSERT_ROW;
175 
176 procedure LOCK_ROW (
177   X_INTEREST_CODE_ID 		in NUMBER,
178   X_INTEREST_TYPE_ID 		in NUMBER,
179   X_ENABLED_FLAG			in VARCHAR2,
180   X_PARENT_INTEREST_CODE_ID 	in NUMBER,
181   X_CATEGORY_ID 			in NUMBER,
182   X_CATEGORY_SET_ID			in NUMBER,
183   X_ATTRIBUTE_CATEGORY 		in VARCHAR2,
184   X_ATTRIBUTE1				in VARCHAR2,
185   X_ATTRIBUTE2 			in VARCHAR2,
186   X_ATTRIBUTE3 			in VARCHAR2,
187   X_ATTRIBUTE4 			in VARCHAR2,
188   X_ATTRIBUTE5 			in VARCHAR2,
189   X_ATTRIBUTE6 			in VARCHAR2,
190   X_ATTRIBUTE7 			in VARCHAR2,
191   X_ATTRIBUTE8 			in VARCHAR2,
192   X_ATTRIBUTE9 			in VARCHAR2,
193   X_ATTRIBUTE10 			in VARCHAR2,
194   X_ATTRIBUTE11 			in VARCHAR2,
195   X_ATTRIBUTE12 			in VARCHAR2,
196   X_ATTRIBUTE13 			in VARCHAR2,
197   X_ATTRIBUTE14 			in VARCHAR2,
198   X_ATTRIBUTE15 			in VARCHAR2,
199   X_PF_ITEM_ID 			in NUMBER,
200   X_PF_ORGANIZATION_ID 		in NUMBER,
201   X_PRICE 				in NUMBER,
202   X_CURRENCY_CODE 			in VARCHAR2,
203   X_CODE 					in VARCHAR2,
204   X_DESCRIPTION 			in VARCHAR2,
205   X_PROD_CAT_SET_ID			in NUMBER,
206   X_PROD_CAT_ID				in NUMBER
207 ) is
208   cursor c is
209 	select
210 		INTEREST_TYPE_ID,
211 		ENABLED_FLAG,
212 		PARENT_INTEREST_CODE_ID,
213 		CATEGORY_ID,
214 		CATEGORY_SET_ID,
215 		PF_ITEM_ID,
216 		PF_ORGANIZATION_ID,
217 		PRICE,
218 		CURRENCY_CODE,
219 		ATTRIBUTE_CATEGORY, ATTRIBUTE1,
220 	 	ATTRIBUTE2, ATTRIBUTE3, ATTRIBUTE4,
221 	 	ATTRIBUTE5, ATTRIBUTE6, ATTRIBUTE7,
222 	 	ATTRIBUTE8, ATTRIBUTE9, ATTRIBUTE10,
223 	 	ATTRIBUTE11, ATTRIBUTE12, ATTRIBUTE13,
224 	 	ATTRIBUTE14, ATTRIBUTE15,
225         PRODUCT_CAT_SET_ID, PRODUCT_CATEGORY_ID
226   from AS_INTEREST_CODES_B
227   where INTEREST_CODE_ID = X_INTEREST_CODE_ID
228   for update of INTEREST_CODE_ID nowait;
229 
230   recinfo c%rowtype;
231 
232 	--  cursor c_all is
233 		--select
234       	--ENABLED_FLAG,
235 				--ORG_ID
236 		--from AS_INTEREST_CODES_ALL
237 		--where INTEREST_CODE_ID = X_INTEREST_CODE_ID
238 		--for update of INTEREST_CODE_ID nowait;
239 	--
240 	--  allinfo c_all%rowtype;
241 
242   cursor c1 is select
243       CODE,
244       DESCRIPTION,
245       decode(LANGUAGE, userenv('LANG'), 'Y', 'N') BASELANG
246     from AS_INTEREST_CODES_TL
247     where INTEREST_CODE_ID = X_INTEREST_CODE_ID
248     and userenv('LANG') in (LANGUAGE, SOURCE_LANG)
249     for update of INTEREST_CODE_ID nowait;
250 
251 BEGIN
252   OPEN c;
253   FETCH c INTO recinfo;
254   IF (c%NOTFOUND) THEN
255     CLOSE c;
256     fnd_message.set_name('FND', 'FORM_RECORD_DELETED');
257     app_exception.raise_exception;
258   END IF;
259   CLOSE c;
260   IF (
261       (recinfo.INTEREST_TYPE_ID = X_INTEREST_TYPE_ID)
262       AND ((recinfo.PARENT_INTEREST_CODE_ID = X_PARENT_INTEREST_CODE_ID)
263            OR ((recinfo.PARENT_INTEREST_CODE_ID is null) AND
264 			(X_PARENT_INTEREST_CODE_ID is null)))
265 	AND (recinfo.ENABLED_FLAG = X_ENABLED_FLAG)
266       AND ((recinfo.CATEGORY_ID = X_CATEGORY_ID)
267            OR ((recinfo.CATEGORY_ID is null) AND
268 			(X_CATEGORY_ID is null)))
269       AND ((recinfo.CATEGORY_SET_ID = X_CATEGORY_SET_ID)
270            OR ((recinfo.CATEGORY_SET_ID is null) AND
271 			(X_CATEGORY_SET_ID is null)))
272       AND ((recinfo.PF_ITEM_ID = X_PF_ITEM_ID)
273            OR ((recinfo.PF_ITEM_ID is null) AND (X_PF_ITEM_ID is null)))
274       AND ((recinfo.PF_ORGANIZATION_ID = X_PF_ORGANIZATION_ID)
275            OR ((recinfo.PF_ORGANIZATION_ID is null) AND
276 			(X_PF_ORGANIZATION_ID is null)))
277       AND ((recinfo.PRICE = X_PRICE)
278            OR ((recinfo.PRICE is null) AND (X_PRICE is null)))
279       AND ((recinfo.CURRENCY_CODE = X_CURRENCY_CODE)
280            OR ((recinfo.CURRENCY_CODE is null) AND (X_CURRENCY_CODE is null)))
281       AND ((recinfo.ATTRIBUTE_CATEGORY= X_ATTRIBUTE_CATEGORY)
282            OR ((recinfo.ATTRIBUTE_CATEGORY is null) AND
283 			(X_ATTRIBUTE_CATEGORY is null)))
284       AND ((recinfo.ATTRIBUTE1= X_ATTRIBUTE1)
285            OR ((recinfo.ATTRIBUTE1 is null) AND (X_ATTRIBUTE1 is null)))
286       AND ((recinfo.ATTRIBUTE2= X_ATTRIBUTE2)
287            OR ((recinfo.ATTRIBUTE2 is null) AND (X_ATTRIBUTE2 is null)))
288       AND ((recinfo.ATTRIBUTE3= X_ATTRIBUTE3)
289            OR ((recinfo.ATTRIBUTE3 is null) AND (X_ATTRIBUTE3 is null)))
290       AND ((recinfo.ATTRIBUTE4= X_ATTRIBUTE4)
291            OR ((recinfo.ATTRIBUTE4 is null) AND (X_ATTRIBUTE4 is null)))
292       AND ((recinfo.ATTRIBUTE5= X_ATTRIBUTE5)
293            OR ((recinfo.ATTRIBUTE5 is null) AND (X_ATTRIBUTE5 is null)))
294       AND ((recinfo.ATTRIBUTE6= X_ATTRIBUTE6)
295            OR ((recinfo.ATTRIBUTE6 is null) AND (X_ATTRIBUTE6 is null)))
296       AND ((recinfo.ATTRIBUTE7= X_ATTRIBUTE7)
297            OR ((recinfo.ATTRIBUTE7 is null) AND (X_ATTRIBUTE7 is null)))
298       AND ((recinfo.ATTRIBUTE8= X_ATTRIBUTE8)
299            OR ((recinfo.ATTRIBUTE8 is null) AND (X_ATTRIBUTE8 is null)))
300       AND ((recinfo.ATTRIBUTE9= X_ATTRIBUTE9)
301            OR ((recinfo.ATTRIBUTE9 is null) AND (X_ATTRIBUTE9 is null)))
302       AND ((recinfo.ATTRIBUTE10= X_ATTRIBUTE10)
303            OR ((recinfo.ATTRIBUTE10 is null) AND (X_ATTRIBUTE10 is null)))
304       AND ((recinfo.ATTRIBUTE11= X_ATTRIBUTE11)
305            OR ((recinfo.ATTRIBUTE11 is null) AND (X_ATTRIBUTE11 is null)))
306       AND ((recinfo.ATTRIBUTE12= X_ATTRIBUTE12)
307            OR ((recinfo.ATTRIBUTE12 is null) AND (X_ATTRIBUTE12 is null)))
308       AND ((recinfo.ATTRIBUTE13= X_ATTRIBUTE13)
309            OR ((recinfo.ATTRIBUTE13 is null) AND (X_ATTRIBUTE13 is null)))
310       AND ((recinfo.ATTRIBUTE14= X_ATTRIBUTE14)
311            OR ((recinfo.ATTRIBUTE14 is null) AND (X_ATTRIBUTE14 is null)))
312       AND ((recinfo.ATTRIBUTE15= X_ATTRIBUTE15)
313            OR ((recinfo.ATTRIBUTE15 is null) AND (X_ATTRIBUTE15 is null)))
314       AND ((recinfo.PRODUCT_CATEGORY_ID = X_PROD_CAT_ID)
315            OR ((recinfo.PRODUCT_CATEGORY_ID is null) AND
316                     (X_PROD_CAT_ID is null)))
317       AND ((recinfo.PRODUCT_CAT_SET_ID = X_PROD_CAT_SET_ID)
318            OR ((recinfo.PRODUCT_CAT_SET_ID is null) AND
319                     (X_PROD_CAT_SET_ID is null)))
320   ) THEN
321     NULL;
322   ELSE
323     fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
324     app_exception.raise_exception;
325   END IF;
326 
327 --  open c_all;
328 --  fetch c_all into allinfo;
329 --  if (c_all%notfound) then
330 --    close c_all;
331 --    fnd_message.set_name('FND', 'FORM_RECORD_DELETED');
332 --    app_exception.raise_exception;
333 --  end if;
334 --  close c_all;
335 --  if (
336 --      (allinfo.ENABLED_FLAG = X_ENABLED_FLAG)
337 --      AND ((allinfo.ORG_ID = X_ORG_ID)
338 --           OR ((allinfo.ORG_ID is null) AND (X_ORG_ID is null)))
339 --  ) then
340 --    null;
341 --  else
342 --    fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
343 --    app_exception.raise_exception;
344 --  end if;
345 
346   for tlinfo in c1 loop
347     if (tlinfo.BASELANG = 'Y') then
348       if ((tlinfo.CODE = X_CODE)
349           AND ((tlinfo.DESCRIPTION = X_DESCRIPTION)
350                OR ((tlinfo.DESCRIPTION is null) AND (X_DESCRIPTION is null)))
351       ) then
355         app_exception.raise_exception;
352         null;
353       else
354         fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
356       end if;
357     end if;
358   end loop;
359   return;
360 end LOCK_ROW;
361 
362 procedure UPDATE_ROW (
363   X_INTEREST_CODE_ID 		in NUMBER,
364   X_INTEREST_TYPE_ID 		in NUMBER,
365   X_ENABLED_FLAG 			in VARCHAR2,
366   X_PARENT_INTEREST_CODE_ID 	in NUMBER,
367   X_CATEGORY_ID 			in NUMBER,
368   X_CATEGORY_SET_ID 		in NUMBER,
369   X_ATTRIBUTE_CATEGORY 		in VARCHAR2,
370   X_ATTRIBUTE1 			in VARCHAR2,
371   X_ATTRIBUTE2 in VARCHAR2,
372   X_ATTRIBUTE3 in VARCHAR2,
373   X_ATTRIBUTE4 in VARCHAR2,
374   X_ATTRIBUTE5 in VARCHAR2,
375   X_ATTRIBUTE6 in VARCHAR2,
376   X_ATTRIBUTE7 in VARCHAR2,
377   X_ATTRIBUTE8 in VARCHAR2,
378   X_ATTRIBUTE9 in VARCHAR2,
379   X_ATTRIBUTE10 in VARCHAR2,
380   X_ATTRIBUTE11 in VARCHAR2,
381   X_ATTRIBUTE12 in VARCHAR2,
382   X_ATTRIBUTE13 in VARCHAR2,
383   X_ATTRIBUTE14 in VARCHAR2,
384   X_ATTRIBUTE15 in VARCHAR2,
385   X_PF_ITEM_ID 			in NUMBER,
386   X_PF_ORGANIZATION_ID 		in NUMBER,
387   X_PRICE 				in NUMBER,
388   X_CURRENCY_CODE 			in VARCHAR2,
389   X_CODE 					in VARCHAR2,
390   X_DESCRIPTION 			in VARCHAR2,
391   X_LAST_UPDATE_DATE 		in DATE,
392   X_LAST_UPDATED_BY 		in NUMBER,
393   X_LAST_UPDATE_LOGIN 		in NUMBER,
394   X_PROD_CAT_SET_ID		in NUMBER,
395   X_PROD_CAT_ID			in NUMBER
396 ) is
397 begin
398   update
399 	AS_INTEREST_CODES_B set
400     INTEREST_TYPE_ID = X_INTEREST_TYPE_ID,
401     ENABLED_FLAG = X_ENABLED_FLAG,
402     PARENT_INTEREST_CODE_ID = X_PARENT_INTEREST_CODE_ID,
403     CATEGORY_ID = X_CATEGORY_ID,
404     CATEGORY_SET_ID = X_CATEGORY_SET_ID,
405     PF_ITEM_ID = X_PF_ITEM_ID,
406     PF_ORGANIZATION_ID = X_PF_ORGANIZATION_ID,
407     PRICE = X_PRICE,
408     CURRENCY_CODE = X_CURRENCY_CODE,
409     LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
410     LAST_UPDATED_BY = X_LAST_UPDATED_BY,
411     LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN,
412 	ATTRIBUTE_CATEGORY = X_ATTRIBUTE_CATEGORY ,
413   	ATTRIBUTE1 = X_ATTRIBUTE1 ,
414   	ATTRIBUTE2 = X_ATTRIBUTE2 ,
415   	ATTRIBUTE3 = X_ATTRIBUTE3 ,
416   	ATTRIBUTE4 = X_ATTRIBUTE4 ,
417   	ATTRIBUTE5 = X_ATTRIBUTE5 ,
418   	ATTRIBUTE6 = X_ATTRIBUTE6 ,
419   	ATTRIBUTE7 = X_ATTRIBUTE7 ,
420   	ATTRIBUTE8 = X_ATTRIBUTE8 ,
421   	ATTRIBUTE9 = X_ATTRIBUTE9 ,
422   	ATTRIBUTE10 = X_ATTRIBUTE10 ,
423   	ATTRIBUTE11 = X_ATTRIBUTE11 ,
424   	ATTRIBUTE12 = X_ATTRIBUTE12 ,
425   	ATTRIBUTE13 = X_ATTRIBUTE13 ,
426   	ATTRIBUTE14 = X_ATTRIBUTE14 ,
427   	ATTRIBUTE15 = X_ATTRIBUTE15 ,
428     PRODUCT_CAT_SET_ID =  X_PROD_CAT_SET_ID ,
429     PRODUCT_CATEGORY_ID = X_PROD_CAT_ID
430   where INTEREST_CODE_ID = X_INTEREST_CODE_ID;
431 
432   if (sql%notfound) then
433     raise no_data_found;
434   end if;
435 
436 --  update AS_INTEREST_CODES_ALL set
437 --    ENABLED_FLAG = X_ENABLED_FLAG,
438 --    ORG_ID = X_ORG_ID,
439 --    LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
440 --    LAST_UPDATED_BY = X_LAST_UPDATED_BY,
441 --    LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN
442 --  where INTEREST_CODE_ID = X_INTEREST_CODE_ID;
443 
444   if (sql%notfound) then
445     raise no_data_found;
446   end if;
447 
448   update AS_INTEREST_CODES_TL set
449     CODE = X_CODE,
450     DESCRIPTION = X_DESCRIPTION,
451     LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
452     LAST_UPDATED_BY = X_LAST_UPDATED_BY,
453     LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN,
454     SOURCE_LANG = userenv('LANG')
455   where INTEREST_CODE_ID = X_INTEREST_CODE_ID
456   and userenv('LANG') in (LANGUAGE, SOURCE_LANG);
457 
458   if (sql%notfound) then
459     raise no_data_found;
460   end if;
461 end UPDATE_ROW;
462 
463 procedure DELETE_ROW (
464   X_INTEREST_CODE_ID in NUMBER
465 ) is
466 begin
467   delete from AS_INTEREST_CODES_TL
468   where INTEREST_CODE_ID = X_INTEREST_CODE_ID;
469 
470   if (sql%notfound) then
471     raise no_data_found;
472   end if;
473 
474   --delete from AS_INTEREST_CODES_ALL
475   --where INTEREST_CODE_ID = X_INTEREST_CODE_ID;
476 
477   if (sql%notfound) then
478     raise no_data_found;
479   end if;
480 
481   delete from AS_INTEREST_CODES_B
482   where INTEREST_CODE_ID = X_INTEREST_CODE_ID;
483 
484   if (sql%notfound) then
485     raise no_data_found;
486   end if;
487 end DELETE_ROW;
488 
489 procedure TRANSLATE_ROW (
490   X_INTEREST_CODE_ID in NUMBER,
491   X_CODE in VARCHAR2,
492   X_DESCRIPTION in VARCHAR2,
493   X_OWNER in VARCHAR2)
494 IS
495 begin
496   -- only update rows that have not been altered by user
497    update AS_INTEREST_CODES_TL
498      set CODE=X_CODE,
499 	 DESCRIPTION=X_DESCRIPTION,
500          source_lang = userenv('LANG'),
501 	    last_update_date = sysdate,
502 	    last_updated_by = decode(X_OWNER, 'SEED', 1, 0),
503 	    last_update_login = 0
504       where INTEREST_CODE_ID = X_INTEREST_CODE_ID
505 	 and userenv('LANG') in (language, source_lang);
506 end TRANSLATE_ROW;
507 
508 procedure ADD_LANGUAGE
509 is
510 begin
511   delete from AS_INTEREST_CODES_TL T
512   where not exists
513     (select NULL
514     from AS_INTEREST_CODES_B B
515     where B.INTEREST_CODE_ID = T.INTEREST_CODE_ID
516     );
517 
518   update AS_INTEREST_CODES_TL T set (
519       CODE,
520       DESCRIPTION
521     ) = (select
522       B.CODE,
523       B.DESCRIPTION
524     from AS_INTEREST_CODES_TL B
528       T.INTEREST_CODE_ID,
525     where B.INTEREST_CODE_ID = T.INTEREST_CODE_ID
526     and B.LANGUAGE = T.SOURCE_LANG)
527   where (
529       T.LANGUAGE
530   ) in (select
531       SUBT.INTEREST_CODE_ID,
532       SUBT.LANGUAGE
533     from AS_INTEREST_CODES_TL SUBB, AS_INTEREST_CODES_TL SUBT
534     where SUBB.INTEREST_CODE_ID = SUBT.INTEREST_CODE_ID
535     and SUBB.LANGUAGE = SUBT.SOURCE_LANG
536     and (SUBB.CODE <> SUBT.CODE
537       or SUBB.DESCRIPTION <> SUBT.DESCRIPTION
538       or (SUBB.DESCRIPTION is null and SUBT.DESCRIPTION is not null)
539       or (SUBB.DESCRIPTION is not null and SUBT.DESCRIPTION is null)
540   ));
541 
542   insert into AS_INTEREST_CODES_TL (
543     INTEREST_CODE_ID,
544     LAST_UPDATE_DATE,
545     LAST_UPDATED_BY,
546     CREATION_DATE,
547     CREATED_BY,
548     LAST_UPDATE_LOGIN,
549     CODE,
550     DESCRIPTION,
551     LANGUAGE,
552     SOURCE_LANG
553   ) select
554     B.INTEREST_CODE_ID,
555     B.LAST_UPDATE_DATE,
556     B.LAST_UPDATED_BY,
557     B.CREATION_DATE,
558     B.CREATED_BY,
559     B.LAST_UPDATE_LOGIN,
560     B.CODE,
561     B.DESCRIPTION,
562     L.LANGUAGE_CODE,
563     B.SOURCE_LANG
564   from AS_INTEREST_CODES_TL B, FND_LANGUAGES L
565   where L.INSTALLED_FLAG in ('I', 'B')
566   and B.LANGUAGE = userenv('LANG')
567   and not exists
568     (select NULL
569     from AS_INTEREST_CODES_TL T
570     where T.INTEREST_CODE_ID = B.INTEREST_CODE_ID
571     and T.LANGUAGE = L.LANGUAGE_CODE);
572 end ADD_LANGUAGE;
573 
574 end AS_INTEREST_CODES_PKG;