[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;