DBA Data[Home] [Help]

PACKAGE BODY: APPS.AS_FORECAST_PROB_PKG

Source


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