[Home] [Help]
PACKAGE BODY: APPS.CS_KB_USED_SUM_DEFS_PKG
Source
1 PACKAGE BODY CS_KB_USED_SUM_DEFS_PKG AS
2 /* $Header: cskbusdb.pls 115.9 2002/12/02 23:04:12 mkettle ship $ */
3
4
5 --
6 -- Create a new empty Used_Sum_Def and returns id.
7 --
8 FUNCTION Create_Used_Sum_Def(
9 p_days in NUMBER,
10 p_default_flag in VARCHAR2,
11 p_activated_flag in VARCHAR2,
12 p_name in varchar2,
13 p_desc in varchar2,
14 P_ATTRIBUTE_CATEGORY in VARCHAR2,
15 P_ATTRIBUTE1 in VARCHAR2,
16 P_ATTRIBUTE2 in VARCHAR2,
17 P_ATTRIBUTE3 in VARCHAR2,
18 P_ATTRIBUTE4 in VARCHAR2,
19 P_ATTRIBUTE5 in VARCHAR2,
20 P_ATTRIBUTE6 in VARCHAR2,
21 P_ATTRIBUTE7 in VARCHAR2,
22 P_ATTRIBUTE8 in VARCHAR2,
23 P_ATTRIBUTE9 in VARCHAR2,
24 P_ATTRIBUTE10 in VARCHAR2,
25 P_ATTRIBUTE11 in VARCHAR2,
26 P_ATTRIBUTE12 in VARCHAR2,
27 P_ATTRIBUTE13 in VARCHAR2,
28 P_ATTRIBUTE14 in VARCHAR2,
29 P_ATTRIBUTE15 in VARCHAR2
30 ) return number is
31 l_date date;
32 l_created_by number;
33 l_login number;
34 l_count pls_integer;
35 l_id number;
36 l_rowid varchar2(30);
37 begin
38
39 -- Check params
40 if(p_desc is null OR p_name is NULL) then
41 goto error_found;
42 end if;
43
44
45 --prepare data, then insert new def
46 select cs_kb_used_sum_defs_s.nextval into l_id from dual;
47 l_date := sysdate;
48 l_created_by := fnd_global.user_id;
49 l_login := fnd_global.login_id;
50
51 CS_KB_USED_SUM_DEFS_PKG.Insert_Row(
52 X_Rowid => l_rowid,
53 X_Def_Id => l_id,
54 X_days => p_days,
55 X_Default_Flag => p_default_flag,
56 X_Activated_Flag => p_activated_flag,
57 X_Name => p_name,
58 X_Description => p_desc,
59 X_Creation_Date => l_date,
60 X_Created_By => l_created_by,
61 X_Last_Update_Date => l_date,
62 X_Last_Updated_By => l_created_by,
63 X_Last_Update_Login => l_login,
64 X_ATTRIBUTE_CATEGORY => P_ATTRIBUTE_CATEGORY,
65 X_ATTRIBUTE1 => P_ATTRIBUTE1,
66 X_ATTRIBUTE2 => P_ATTRIBUTE2,
67 X_ATTRIBUTE3 => P_ATTRIBUTE3,
68 X_ATTRIBUTE4 => P_ATTRIBUTE4,
69 X_ATTRIBUTE5 => P_ATTRIBUTE5,
70 X_ATTRIBUTE6 => P_ATTRIBUTE6,
71 X_ATTRIBUTE7 => P_ATTRIBUTE7,
72 X_ATTRIBUTE8 => P_ATTRIBUTE8,
73 X_ATTRIBUTE9 => P_ATTRIBUTE9,
74 X_ATTRIBUTE10 => P_ATTRIBUTE10,
75 X_ATTRIBUTE11 => P_ATTRIBUTE11,
76 X_ATTRIBUTE12 => P_ATTRIBUTE12,
77 X_ATTRIBUTE13 => P_ATTRIBUTE13,
78 X_ATTRIBUTE14 => P_ATTRIBUTE14,
79 X_ATTRIBUTE15 => P_ATTRIBUTE15
80 );
81 return l_id;
82
83 <<error_found>>
84 return ERROR_STATUS;
85 end Create_Used_Sum_Def;
86
87
88
89 -- Update Used_Sum_Def data
90 --
91 FUNCTION Update_Used_Sum_Def(
92 p_def_id in number,
93 p_days in NUMBER,
94 p_default_flag in VARCHAR2,
95 p_activated_flag in VARCHAR2,
96 p_name in varchar2,
97 p_desc in varchar2,
98 P_ATTRIBUTE_CATEGORY in VARCHAR2,
99 P_ATTRIBUTE1 in VARCHAR2,
100 P_ATTRIBUTE2 in VARCHAR2,
101 P_ATTRIBUTE3 in VARCHAR2,
102 P_ATTRIBUTE4 in VARCHAR2,
103 P_ATTRIBUTE5 in VARCHAR2,
104 P_ATTRIBUTE6 in VARCHAR2,
105 P_ATTRIBUTE7 in VARCHAR2,
106 P_ATTRIBUTE8 in VARCHAR2,
107 P_ATTRIBUTE9 in VARCHAR2,
108 P_ATTRIBUTE10 in VARCHAR2,
109 P_ATTRIBUTE11 in VARCHAR2,
110 P_ATTRIBUTE12 in VARCHAR2,
111 P_ATTRIBUTE13 in VARCHAR2,
112 P_ATTRIBUTE14 in VARCHAR2,
113 P_ATTRIBUTE15 in VARCHAR2
114 ) return number is
115 l_ret number;
116 l_date date;
117 l_updated_by number;
118 l_login number;
119 l_count pls_integer;
120 begin
121
122 -- validate params
123 if(p_def_id is null) then
124 goto error_found;
125 end if;
126
127 --prepare data, then insert
128 l_date := sysdate;
129 l_updated_by := fnd_global.user_id;
130 l_login := fnd_global.login_id;
131
132 CS_KB_USED_SUM_DEFS_PKG.Update_Row(
133 X_def_Id => p_def_id,
134 X_days => p_days,
135 X_Default_Flag => p_default_flag,
136 X_Activated_Flag => p_activated_flag,
137 X_Name => p_name,
138 X_Description => p_desc,
139 X_Last_Update_Date => l_date,
140 X_Last_Updated_By => l_updated_by,
141 X_Last_Update_Login => l_login,
142 X_ATTRIBUTE_CATEGORY => P_ATTRIBUTE_CATEGORY,
143 X_ATTRIBUTE1 => P_ATTRIBUTE1,
144 X_ATTRIBUTE2 => P_ATTRIBUTE2,
145 X_ATTRIBUTE3 => P_ATTRIBUTE3,
146 X_ATTRIBUTE4 => P_ATTRIBUTE4,
147 X_ATTRIBUTE5 => P_ATTRIBUTE5,
148 X_ATTRIBUTE6 => P_ATTRIBUTE6,
149 X_ATTRIBUTE7 => P_ATTRIBUTE7,
150 X_ATTRIBUTE8 => P_ATTRIBUTE8,
151 X_ATTRIBUTE9 => P_ATTRIBUTE9,
152 X_ATTRIBUTE10 => P_ATTRIBUTE10,
153 X_ATTRIBUTE11 => P_ATTRIBUTE11,
154 X_ATTRIBUTE12 => P_ATTRIBUTE12,
155 X_ATTRIBUTE13 => P_ATTRIBUTE13,
156 X_ATTRIBUTE14 => P_ATTRIBUTE14,
157 X_ATTRIBUTE15 => P_ATTRIBUTE15);
158
159 return OKAY_STATUS;
160 <<error_found>>
161 return ERROR_STATUS;
162 exception
163 when others then
164 return ERROR_STATUS;
165 end Update_Used_Sum_Def;
166
167 --
168 -- Delete
169
170 FUNCTION Delete_Used_Sum_Def(
171 p_def_id in number
172 ) return number is
173 l_ret number;
174 l_count pls_integer;
175 begin
176 if p_def_id is null or p_def_id <= 0 then return ERROR_STATUS; end if;
177
178 select count(*) into l_count
179 from cs_kb_used_sum_defs_b
180 where def_id = p_def_id;
181 if(l_count <= 0) then return ERROR_STATUS; end if;
182
183 CS_KB_USED_SUM_DEFS_PKG.Delete_Row(
184 X_Def_Id => p_def_id);
185
186 return OKAY_STATUS;
187 <<error_found>>
188 return ERROR_STATUS;
189
190 exception
191 WHEN OTHERS THEN
192 return ERROR_STATUS;
193 end Delete_Used_Sum_Def;
194
195
196 procedure INSERT_ROW (
197 X_ROWID in OUT NOCOPY VARCHAR2,
198 X_DEF_ID in NUMBER,
199 X_DAYS in NUMBER,
200 X_DEFAULT_FLAG in VARCHAR2,
201 X_ACTIVATED_FLAG in VARCHAR2,
202 X_ATTRIBUTE_CATEGORY in VARCHAR2,
203 X_ATTRIBUTE1 in VARCHAR2,
204 X_ATTRIBUTE2 in VARCHAR2,
205 X_ATTRIBUTE3 in VARCHAR2,
206 X_ATTRIBUTE4 in VARCHAR2,
207 X_ATTRIBUTE5 in VARCHAR2,
208 X_ATTRIBUTE6 in VARCHAR2,
209 X_ATTRIBUTE7 in VARCHAR2,
210 X_ATTRIBUTE8 in VARCHAR2,
211 X_ATTRIBUTE9 in VARCHAR2,
212 X_ATTRIBUTE10 in VARCHAR2,
213 X_ATTRIBUTE11 in VARCHAR2,
214 X_ATTRIBUTE12 in VARCHAR2,
215 X_ATTRIBUTE13 in VARCHAR2,
216 X_ATTRIBUTE14 in VARCHAR2,
217 X_ATTRIBUTE15 in VARCHAR2,
218 X_NAME in VARCHAR2,
219 X_DESCRIPTION in VARCHAR2,
220 X_CREATION_DATE in DATE,
221 X_CREATED_BY in NUMBER,
222 X_LAST_UPDATE_DATE in DATE,
223 X_LAST_UPDATED_BY in NUMBER,
224 X_LAST_UPDATE_LOGIN in NUMBER
225 ) is
226 cursor C is select ROWID from CS_KB_USED_SUM_DEFS_B
227 where DEF_ID = X_DEF_ID
228 ;
229 begin
230 insert into CS_KB_USED_SUM_DEFS_B (
231 DEF_ID,
232 DAYS,
233 DEFAULT_FLAG,
234 ACTIVATED_FLAG,
235 ATTRIBUTE_CATEGORY,
236 ATTRIBUTE1,
237 ATTRIBUTE2,
238 ATTRIBUTE3,
239 ATTRIBUTE4,
240 ATTRIBUTE5,
241 ATTRIBUTE6,
242 ATTRIBUTE7,
243 ATTRIBUTE8,
244 ATTRIBUTE9,
245 ATTRIBUTE10,
246 ATTRIBUTE11,
247 ATTRIBUTE12,
248 ATTRIBUTE13,
249 ATTRIBUTE14,
250 ATTRIBUTE15,
251 CREATION_DATE,
252 CREATED_BY,
253 LAST_UPDATE_DATE,
254 LAST_UPDATED_BY,
255 LAST_UPDATE_LOGIN
256 ) values (
257 X_DEF_ID,
258 X_DAYS,
259 X_DEFAULT_FLAG,
260 X_ACTIVATED_FLAG,
261 X_ATTRIBUTE_CATEGORY,
262 X_ATTRIBUTE1,
263 X_ATTRIBUTE2,
264 X_ATTRIBUTE3,
265 X_ATTRIBUTE4,
266 X_ATTRIBUTE5,
267 X_ATTRIBUTE6,
268 X_ATTRIBUTE7,
269 X_ATTRIBUTE8,
270 X_ATTRIBUTE9,
271 X_ATTRIBUTE10,
272 X_ATTRIBUTE11,
273 X_ATTRIBUTE12,
274 X_ATTRIBUTE13,
275 X_ATTRIBUTE14,
276 X_ATTRIBUTE15,
277 X_CREATION_DATE,
278 X_CREATED_BY,
279 X_LAST_UPDATE_DATE,
280 X_LAST_UPDATED_BY,
281 X_LAST_UPDATE_LOGIN
282 );
283
284 insert into CS_KB_USED_SUM_DEFS_TL (
285 DEF_ID,
286 NAME,
287 DESCRIPTION,
288 CREATION_DATE,
289 CREATED_BY,
290 LAST_UPDATE_DATE,
291 LAST_UPDATED_BY,
292 LAST_UPDATE_LOGIN,
293 LANGUAGE,
294 SOURCE_LANG
295 ) select
296 X_DEF_ID,
297 X_NAME,
298 X_DESCRIPTION,
299 X_CREATION_DATE,
300 X_CREATED_BY,
301 X_LAST_UPDATE_DATE,
302 X_LAST_UPDATED_BY,
303 X_LAST_UPDATE_LOGIN,
304 L.LANGUAGE_CODE,
305 userenv('LANG')
306 from FND_LANGUAGES L
307 where L.INSTALLED_FLAG in ('I', 'B')
308 and not exists
309 (select NULL
310 from CS_KB_USED_SUM_DEFS_TL T
311 where T.DEF_ID = X_DEF_ID
312 and T.LANGUAGE = L.LANGUAGE_CODE);
313
314 open c;
315 fetch c into X_ROWID;
316 if (c%notfound) then
317 close c;
318 raise no_data_found;
319 end if;
320 close c;
321
322 end INSERT_ROW;
323
324 procedure LOCK_ROW (
325 X_DEF_ID in NUMBER,
326 X_DAYS in NUMBER,
327 X_DEFAULT_FLAG in VARCHAR2,
328 X_ACTIVATED_FLAG in VARCHAR2,
329 X_ATTRIBUTE_CATEGORY in VARCHAR2,
330 X_ATTRIBUTE1 in VARCHAR2,
331 X_ATTRIBUTE2 in VARCHAR2,
332 X_ATTRIBUTE3 in VARCHAR2,
333 X_ATTRIBUTE4 in VARCHAR2,
334 X_ATTRIBUTE5 in VARCHAR2,
335 X_ATTRIBUTE6 in VARCHAR2,
336 X_ATTRIBUTE7 in VARCHAR2,
337 X_ATTRIBUTE8 in VARCHAR2,
338 X_ATTRIBUTE9 in VARCHAR2,
339 X_ATTRIBUTE10 in VARCHAR2,
340 X_ATTRIBUTE11 in VARCHAR2,
341 X_ATTRIBUTE12 in VARCHAR2,
342 X_ATTRIBUTE13 in VARCHAR2,
343 X_ATTRIBUTE14 in VARCHAR2,
344 X_ATTRIBUTE15 in VARCHAR2,
345 X_NAME in VARCHAR2,
346 X_DESCRIPTION in VARCHAR2
347 ) is
348 cursor c is select
349 DAYS,
350 DEFAULT_FLAG,
351 ACTIVATED_FLAG,
352 ATTRIBUTE_CATEGORY,
353 ATTRIBUTE1,
354 ATTRIBUTE2,
355 ATTRIBUTE3,
356 ATTRIBUTE4,
357 ATTRIBUTE5,
358 ATTRIBUTE6,
359 ATTRIBUTE7,
360 ATTRIBUTE8,
361 ATTRIBUTE9,
362 ATTRIBUTE10,
363 ATTRIBUTE11,
364 ATTRIBUTE12,
365 ATTRIBUTE13,
366 ATTRIBUTE14,
367 ATTRIBUTE15
368 from CS_KB_USED_SUM_DEFS_B
369 where DEF_ID = X_DEF_ID
370 for update of DEF_ID nowait;
371 recinfo c%rowtype;
372
373 cursor c1 is select
374 NAME,
375 DESCRIPTION,
376 decode(LANGUAGE, userenv('LANG'), 'Y', 'N') BASELANG
377 from CS_KB_USED_SUM_DEFS_TL
378 where DEF_ID = X_DEF_ID
379 and userenv('LANG') in (LANGUAGE, SOURCE_LANG)
380 for update of DEF_ID nowait;
381 begin
382 open c;
383 fetch c into recinfo;
384 if (c%notfound) then
385 close c;
386 fnd_message.set_name('FND', 'FORM_RECORD_DELETED');
387 app_exception.raise_exception;
388 end if;
389 close c;
390 if ( ((recinfo.DAYS = X_DAYS)
391 OR ((recinfo.DAYS is null) AND (X_DAYS is null)))
392 AND ((recinfo.DEFAULT_FLAG = X_DEFAULT_FLAG)
393 OR ((recinfo.DEFAULT_FLAG is null) AND (X_DEFAULT_FLAG is null)))
394 AND ((recinfo.ACTIVATED_FLAG = X_ACTIVATED_FLAG)
395 OR ((recinfo.ACTIVATED_FLAG is null) AND (X_ACTIVATED_FLAG is null)))
396 AND ((recinfo.ATTRIBUTE_CATEGORY = X_ATTRIBUTE_CATEGORY)
397 OR ((recinfo.ATTRIBUTE_CATEGORY is null) AND (X_ATTRIBUTE_CATEGORY is null)))
398 AND ((recinfo.ATTRIBUTE1 = X_ATTRIBUTE1)
399 OR ((recinfo.ATTRIBUTE1 is null) AND (X_ATTRIBUTE1 is null)))
400 AND ((recinfo.ATTRIBUTE2 = X_ATTRIBUTE2)
401 OR ((recinfo.ATTRIBUTE2 is null) AND (X_ATTRIBUTE2 is null)))
402 AND ((recinfo.ATTRIBUTE3 = X_ATTRIBUTE3)
403 OR ((recinfo.ATTRIBUTE3 is null) AND (X_ATTRIBUTE3 is null)))
404 AND ((recinfo.ATTRIBUTE4 = X_ATTRIBUTE4)
405 OR ((recinfo.ATTRIBUTE4 is null) AND (X_ATTRIBUTE4 is null)))
406 AND ((recinfo.ATTRIBUTE5 = X_ATTRIBUTE5)
407 OR ((recinfo.ATTRIBUTE5 is null) AND (X_ATTRIBUTE5 is null)))
408 AND ((recinfo.ATTRIBUTE6 = X_ATTRIBUTE6)
409 OR ((recinfo.ATTRIBUTE6 is null) AND (X_ATTRIBUTE6 is null)))
410 AND ((recinfo.ATTRIBUTE7 = X_ATTRIBUTE7)
411 OR ((recinfo.ATTRIBUTE7 is null) AND (X_ATTRIBUTE7 is null)))
412 AND ((recinfo.ATTRIBUTE8 = X_ATTRIBUTE8)
413 OR ((recinfo.ATTRIBUTE8 is null) AND (X_ATTRIBUTE8 is null)))
414 AND ((recinfo.ATTRIBUTE9 = X_ATTRIBUTE9)
418 AND ((recinfo.ATTRIBUTE11 = X_ATTRIBUTE11)
415 OR ((recinfo.ATTRIBUTE9 is null) AND (X_ATTRIBUTE9 is null)))
416 AND ((recinfo.ATTRIBUTE10 = X_ATTRIBUTE10)
417 OR ((recinfo.ATTRIBUTE10 is null) AND (X_ATTRIBUTE10 is null)))
419 OR ((recinfo.ATTRIBUTE11 is null) AND (X_ATTRIBUTE11 is null)))
420 AND ((recinfo.ATTRIBUTE12 = X_ATTRIBUTE12)
421 OR ((recinfo.ATTRIBUTE12 is null) AND (X_ATTRIBUTE12 is null)))
422 AND ((recinfo.ATTRIBUTE13 = X_ATTRIBUTE13)
423 OR ((recinfo.ATTRIBUTE13 is null) AND (X_ATTRIBUTE13 is null)))
424 AND ((recinfo.ATTRIBUTE14 = X_ATTRIBUTE14)
425 OR ((recinfo.ATTRIBUTE14 is null) AND (X_ATTRIBUTE14 is null)))
426 AND ((recinfo.ATTRIBUTE15 = X_ATTRIBUTE15)
427 OR ((recinfo.ATTRIBUTE15 is null) AND (X_ATTRIBUTE15 is null)))
428 ) then
429 null;
430 else
431 fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
432 app_exception.raise_exception;
433 end if;
434
435 for tlinfo in c1 loop
436 if (tlinfo.BASELANG = 'Y') then
437 if ( ((tlinfo.NAME = X_NAME)
438 OR ((tlinfo.NAME is null) AND (X_NAME is null)))
439 AND ((tlinfo.DESCRIPTION = X_DESCRIPTION)
440 OR ((tlinfo.DESCRIPTION is null) AND (X_DESCRIPTION is null)))
441 ) then
442 null;
443 else
444 fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
445 app_exception.raise_exception;
446 end if;
447 end if;
448 end loop;
449 return;
450 end LOCK_ROW;
451
452 procedure UPDATE_ROW (
453 X_DEF_ID in NUMBER,
454 X_DAYS in NUMBER,
455 X_DEFAULT_FLAG in VARCHAR2,
456 X_ACTIVATED_FLAG in VARCHAR2,
457 X_ATTRIBUTE_CATEGORY in VARCHAR2,
458 X_ATTRIBUTE1 in VARCHAR2,
459 X_ATTRIBUTE2 in VARCHAR2,
460 X_ATTRIBUTE3 in VARCHAR2,
461 X_ATTRIBUTE4 in VARCHAR2,
462 X_ATTRIBUTE5 in VARCHAR2,
463 X_ATTRIBUTE6 in VARCHAR2,
464 X_ATTRIBUTE7 in VARCHAR2,
465 X_ATTRIBUTE8 in VARCHAR2,
466 X_ATTRIBUTE9 in VARCHAR2,
467 X_ATTRIBUTE10 in VARCHAR2,
468 X_ATTRIBUTE11 in VARCHAR2,
469 X_ATTRIBUTE12 in VARCHAR2,
470 X_ATTRIBUTE13 in VARCHAR2,
471 X_ATTRIBUTE14 in VARCHAR2,
472 X_ATTRIBUTE15 in VARCHAR2,
473 X_NAME in VARCHAR2,
474 X_DESCRIPTION in VARCHAR2,
475 X_LAST_UPDATE_DATE in DATE,
476 X_LAST_UPDATED_BY in NUMBER,
477 X_LAST_UPDATE_LOGIN in NUMBER
478 ) is
479 begin
480 update CS_KB_USED_SUM_DEFS_B set
481 DAYS = X_DAYS,
482 DEFAULT_FLAG = X_DEFAULT_FLAG,
483 ACTIVATED_FLAG = X_ACTIVATED_FLAG,
484 ATTRIBUTE_CATEGORY = X_ATTRIBUTE_CATEGORY,
485 ATTRIBUTE1 = X_ATTRIBUTE1,
486 ATTRIBUTE2 = X_ATTRIBUTE2,
487 ATTRIBUTE3 = X_ATTRIBUTE3,
488 ATTRIBUTE4 = X_ATTRIBUTE4,
489 ATTRIBUTE5 = X_ATTRIBUTE5,
490 ATTRIBUTE6 = X_ATTRIBUTE6,
491 ATTRIBUTE7 = X_ATTRIBUTE7,
492 ATTRIBUTE8 = X_ATTRIBUTE8,
493 ATTRIBUTE9 = X_ATTRIBUTE9,
494 ATTRIBUTE10 = X_ATTRIBUTE10,
495 ATTRIBUTE11 = X_ATTRIBUTE11,
496 ATTRIBUTE12 = X_ATTRIBUTE12,
497 ATTRIBUTE13 = X_ATTRIBUTE13,
498 ATTRIBUTE14 = X_ATTRIBUTE14,
499 ATTRIBUTE15 = X_ATTRIBUTE15,
500 LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
501 LAST_UPDATED_BY = X_LAST_UPDATED_BY,
502 LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN
503 where DEF_ID = X_DEF_ID;
504
505 if (sql%notfound) then
506 raise no_data_found;
507 end if;
508
509 update CS_KB_USED_SUM_DEFS_TL set
510 NAME = X_NAME,
511 DESCRIPTION = X_DESCRIPTION,
512 LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
513 LAST_UPDATED_BY = X_LAST_UPDATED_BY,
514 LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN,
515 SOURCE_LANG = userenv('LANG')
516 where DEF_ID = X_DEF_ID
517 and userenv('LANG') in (LANGUAGE, SOURCE_LANG);
518
519 if (sql%notfound) then
520 raise no_data_found;
521 end if;
522 end UPDATE_ROW;
523
524 procedure DELETE_ROW (
525 X_DEF_ID in NUMBER
526 ) is
527 begin
528 delete from CS_KB_USED_SUM_DEFS_TL
529 where DEF_ID = X_DEF_ID;
530
531 if (sql%notfound) then
532 raise no_data_found;
533 end if;
534
535 delete from CS_KB_USED_SUM_DEFS_B
536 where DEF_ID = X_DEF_ID;
537
538 if (sql%notfound) then
539 raise no_data_found;
540 end if;
541 end DELETE_ROW;
542
543 procedure ADD_LANGUAGE
544 is
545 begin
546 delete from CS_KB_USED_SUM_DEFS_TL T
547 where not exists
548 (select NULL
549 from CS_KB_USED_SUM_DEFS_B B
550 where B.DEF_ID = T.DEF_ID
551 );
552
553 update CS_KB_USED_SUM_DEFS_TL T set (
554 NAME,
555 DESCRIPTION
556 ) = (select
557 B.NAME,
558 B.DESCRIPTION
559 from CS_KB_USED_SUM_DEFS_TL B
560 where B.DEF_ID = T.DEF_ID
561 and B.LANGUAGE = T.SOURCE_LANG)
562 where (
563 T.DEF_ID,
564 T.LANGUAGE
565 ) in (select
566 SUBT.DEF_ID,
567 SUBT.LANGUAGE
568 from CS_KB_USED_SUM_DEFS_TL SUBB, CS_KB_USED_SUM_DEFS_TL SUBT
569 where SUBB.DEF_ID = SUBT.DEF_ID
570 and SUBB.LANGUAGE = SUBT.SOURCE_LANG
571 and (SUBB.NAME <> SUBT.NAME
572 or (SUBB.NAME is null and SUBT.NAME is not null)
573 or (SUBB.NAME is not null and SUBT.NAME is null)
574 or SUBB.DESCRIPTION <> SUBT.DESCRIPTION
575 or (SUBB.DESCRIPTION is null and SUBT.DESCRIPTION is not null)
576 or (SUBB.DESCRIPTION is not null and SUBT.DESCRIPTION is null)
577 ));
578
579 insert into CS_KB_USED_SUM_DEFS_TL (
580 DEF_ID,
584 CREATED_BY,
581 NAME,
582 DESCRIPTION,
583 CREATION_DATE,
585 LAST_UPDATE_DATE,
586 LAST_UPDATED_BY,
587 LAST_UPDATE_LOGIN,
588 LANGUAGE,
589 SOURCE_LANG
590 ) select
591 B.DEF_ID,
592 B.NAME,
593 B.DESCRIPTION,
594 B.CREATION_DATE,
595 B.CREATED_BY,
596 B.LAST_UPDATE_DATE,
597 B.LAST_UPDATED_BY,
598 B.LAST_UPDATE_LOGIN,
599 L.LANGUAGE_CODE,
600 B.SOURCE_LANG
601 from CS_KB_USED_SUM_DEFS_TL B, FND_LANGUAGES L
602 where L.INSTALLED_FLAG in ('I', 'B')
603 and B.LANGUAGE = userenv('LANG')
604 and not exists
605 (select NULL
606 from CS_KB_USED_SUM_DEFS_TL T
607 where T.DEF_ID = B.DEF_ID
608 and T.LANGUAGE = L.LANGUAGE_CODE);
609 end ADD_LANGUAGE;
610
611 PROCEDURE TRANSLATE_ROW(
612 x_def_id in number,
613 x_days in number,
614 x_default_flag in varchar,
615 x_activated_flag in varchar,
616 x_owner in varchar2,
617 x_name in varchar2,
618 x_description in varchar2) is
619
620 begin
621
622 update CS_KB_USED_SUM_DEFS_TL set
623 NAME = x_name,
624 DESCRIPTION = x_description,
625 LAST_UPDATE_DATE = sysdate,
626 LAST_UPDATED_BY = decode(x_owner, 'SEED',1, 0),
627 LAST_UPDATE_LOGIN = 0,
628 SOURCE_LANG = userenv('LANG')
629
630 where userenv('LANG') in (LANGUAGE,SOURCE_LANG)
631 and DEF_ID = X_DEF_ID;
632
633
634 if (sql%notfound) then
635 raise no_data_found;
636 end if;
637
638 end;
639
640 PROCEDURE LOAD_ROW(
641 x_def_id in number,
642 x_days in number,
643 x_default_flag in varchar,
644 x_activated_flag in varchar,
645 x_owner in varchar2,
646 x_name in varchar2,
647 x_description in varchar2) is
648 l_user_id number;
649 l_rowid varchar2(100);
650 begin
651
652 if (x_owner = 'SEED') then
653 l_user_id := 1;
654 else
655 l_user_id := 0;
656 end if;
657
658 CS_KB_USED_SUM_DEFS_PKG.Update_Row(
659 X_Def_Id => x_def_id,
660 X_Days => x_days,
661 X_Default_Flag => x_default_flag,
662 X_Activated_Flag => x_activated_flag,
663 X_Attribute_Category => null,
664 X_Attribute1 => null,
665 X_Attribute2 => null,
666 X_Attribute3 => null,
667 X_Attribute4 => null,
668 X_Attribute5 => null,
669 X_Attribute6 => null,
670 X_Attribute7 => null,
671 X_Attribute8 => null,
672 X_Attribute9 => null,
673 X_Attribute10 => null,
674 X_Attribute11 => null,
675 X_Attribute12 => null,
676 X_Attribute13 => null,
677 X_Attribute14 => null,
678 X_Attribute15 => null,
679 X_Name => x_name,
680 X_Description => x_description,
681 X_Last_Update_Date => sysdate,
682 X_Last_Updated_By => l_user_id,
683 X_Last_Update_Login => 0);
684
685 exception
686 when no_data_found then
687 CS_KB_USED_SUM_DEFS_PKG.Insert_Row(
688 X_Rowid => l_rowid,
689 X_Def_Id => x_def_id,
690 X_Days => x_days,
691 X_Default_Flag => x_default_flag,
692 X_Activated_Flag => x_activated_flag,
693 X_Attribute_Category => null,
694 X_Attribute1 => null,
695 X_Attribute2 => null,
696 X_Attribute3 => null,
697 X_Attribute4 => null,
698 X_Attribute5 => null,
699 X_Attribute6 => null,
700 X_Attribute7 => null,
701 X_Attribute8 => null,
702 X_Attribute9 => null,
703 X_Attribute10 => null,
704 X_Attribute11 => null,
705 X_Attribute12 => null,
706 X_Attribute13 => null,
707 X_Attribute14 => null,
708 X_Attribute15 => null,
709 X_Name => x_name,
710 X_Description => x_description,
711 X_Creation_Date => sysdate,
712 X_Created_By => l_user_id,
713 X_Last_Update_Date => sysdate,
714 X_Last_Updated_By => l_user_id,
715 X_Last_Update_Login => 0);
716
717 end;
718
719
720 end CS_KB_USED_SUM_DEFS_PKG;