[Home] [Help]
PACKAGE BODY: APPS.CS_KB_SETS_PKG
Source
1 PACKAGE BODY CS_KB_SETS_PKG AS
2 /* $Header: cskbsb.pls 120.0 2005/06/01 15:19:23 appldev noship $ */
3 /*=======================================================================+
4 | Copyright (c) 1999 Oracle Corporation Redwood Shores, California, USA|
5 | All rights reserved. |
6 +=======================================================================+
7 | FILENAME cskbsb.pls
8 | DESCRIPTION
9 | PL/SQL body for package: CS_KB_SETS_PKG
10 | This contains Table Handlers for CS_KB_SETS_B / _TL
11 |
12 | HISTORY
13 | 10.18.99 A. WONG Created
14 | 01.05.00 HBALA Added LOAD_ROW, TRANSLATE_ROW
15 | 18-Aug-2003 MKETTLE 11.5.10 Cleanup - Reinstated use of Table
16 | Handlers
17 | 17-May-2005 MKETTLE Cleanup - Removed unused Apis: Does_Set_Exist
18 *=======================================================================*/
19
20 -- Private apis
21 PROCEDURE Get_Who(
22 X_SYSDATE OUT NOCOPY date,
23 X_USER_ID OUT NOCOPY number,
24 X_LOGIN_ID OUT NOCOPY number)
25 IS
26 BEGIN
27 X_SYSDATE := sysdate;
28 X_USER_ID := fnd_global.user_id;
29 X_LOGIN_ID := fnd_global.login_id;
30 END Get_Who;
31
32 --Table Handlers:
33 PROCEDURE Insert_Row(
34 X_ROWID IN OUT NOCOPY VARCHAR2,
35 X_SET_ID IN NUMBER,
36 X_SET_NUMBER IN VARCHAR2,
37 X_SET_TYPE_ID IN NUMBER,
38 X_SET_NAME IN VARCHAR2,
39 X_GROUP_FLAG IN NUMBER,
40 X_STATUS IN VARCHAR2,
41 X_ACCESS_LEVEL IN NUMBER,
42 X_NAME IN VARCHAR2,
43 X_DESCRIPTION IN VARCHAR2,
44 X_CREATION_DATE IN DATE,
45 X_CREATED_BY IN NUMBER,
46 X_LAST_UPDATE_DATE IN DATE,
47 X_LAST_UPDATED_BY IN NUMBER,
48 X_LAST_UPDATE_LOGIN IN NUMBER,
49 X_LOCKED_BY IN NUMBER,
50 X_LOCK_DATE IN DATE,
51 X_ATTRIBUTE_CATEGORY IN VARCHAR2,
52 X_ATTRIBUTE1 IN VARCHAR2,
53 X_ATTRIBUTE2 IN VARCHAR2,
54 X_ATTRIBUTE3 IN VARCHAR2,
55 X_ATTRIBUTE4 IN VARCHAR2,
56 X_ATTRIBUTE5 IN VARCHAR2,
57 X_ATTRIBUTE6 IN VARCHAR2,
58 X_ATTRIBUTE7 IN VARCHAR2,
59 X_ATTRIBUTE8 IN VARCHAR2,
60 X_ATTRIBUTE9 IN VARCHAR2,
61 X_ATTRIBUTE10 IN VARCHAR2,
62 X_ATTRIBUTE11 IN VARCHAR2,
63 X_ATTRIBUTE12 IN VARCHAR2,
64 X_ATTRIBUTE13 IN VARCHAR2,
65 X_ATTRIBUTE14 IN VARCHAR2,
66 X_ATTRIBUTE15 IN VARCHAR2,
67 X_EMPLOYEE_ID IN NUMBER,
68 X_PARTY_ID IN NUMBER,
69 X_START_ACTIVE_DATE IN DATE,
70 X_END_ACTIVE_DATE IN DATE,
71 X_PRIORITY_CODE IN NUMBER,
72 X_VISIBILITY_ID IN NUMBER )
73 IS
74
75 CURSOR c IS
76 SELECT rowid
77 FROM CS_KB_SETS_B
78 WHERE set_id = x_set_id;
79 BEGIN
80
81 INSERT INTO CS_KB_SETS_B (
82 set_id,
83 set_number,
84 set_type_id,
85 set_name,
86 group_flag,
87 status,
88 access_level,
89 creation_date,
90 created_by,
91 last_update_date,
92 last_updated_by,
93 last_update_login,
94 locked_by,
95 lock_date,
96 attribute_category,
97 attribute1,
98 attribute2,
99 attribute3,
100 attribute4,
101 attribute5,
102 attribute6,
103 attribute7,
104 attribute8,
105 attribute9,
106 attribute10,
107 attribute11,
108 attribute12,
109 attribute13,
110 attribute14,
111 attribute15,
112 employee_id,
113 party_id,
114 start_active_date,
115 end_active_date,
116 priority_code,
117 original_author,
118 original_author_date,
119 visibility_id,
120 latest_version_flag,
121 USAGE_SCORE )
122 VALUES (
123 x_set_id,
124 x_set_number,
125 x_set_type_id,
126 x_set_name,
127 x_group_flag,
128 x_status,
129 null, --l_access_level, --Commented out 14-Jul-2003 - Not required in 11.5.10
130 x_creation_date,
131 x_created_by,
132 x_last_update_date,
133 x_last_updated_by,
134 x_last_update_login,
135 x_locked_by,
136 x_lock_date,
137 x_attribute_category,
138 x_attribute1,
139 x_attribute2,
140 x_attribute3,
141 x_attribute4,
142 x_attribute5,
143 x_attribute6,
144 x_attribute7,
145 x_attribute8,
146 x_attribute9,
147 x_attribute10,
148 x_attribute11,
149 x_attribute12,
150 x_attribute13,
151 x_attribute14,
152 x_attribute15,
153 x_employee_id,
154 x_party_id,
155 x_start_active_date,
156 x_end_active_date,
157 4, --l_priority_code,
158 x_created_by,
159 x_creation_date,
160 x_visibility_id,
161 'Y',
162 0 );
163
164 INSERT INTO CS_KB_SETS_TL (
165 set_id,
166 name,
167 description,
168 creation_date,
169 created_by,
170 last_update_date,
171 last_updated_by,
172 last_update_login,
173 language,
174 source_lang
175 ) SELECT
176 x_set_id,
177 x_name,
178 x_description,
179 x_creation_date,
180 x_created_by,
181 x_last_update_date,
182 x_last_updated_by,
183 x_last_update_login,
184 l.language_code,
185 USERENV('LANG')
186 FROM fnd_languages l
187 WHERE l.installed_flag IN ('I', 'B')
188 AND NOT EXISTS
189 (SELECT NULL
190 FROM CS_KB_SETS_TL t
191 WHERE t.set_id = x_set_id
192 AND t.language = l.language_code);
193
194 OPEN c;
195 FETCH c INTO x_rowid;
196 IF (c%NOTFOUND) THEN
197 CLOSE c;
198 RAISE NO_DATA_FOUND;
199 END IF;
200 CLOSE c;
201
202 END Insert_Row;
203
204
205 PROCEDURE Lock_Row (
206 X_SET_ID IN NUMBER,
207 X_SET_NUMBER IN VARCHAR2,
208 X_SET_TYPE_ID IN NUMBER,
209 X_SET_NAME IN VARCHAR2,
210 X_GROUP_FLAG IN NUMBER,
211 X_STATUS IN VARCHAR2,
212 X_ACCESS_LEVEL IN NUMBER,
213 X_NAME IN VARCHAR2,
214 X_DESCRIPTION IN VARCHAR2,
215 X_LOCKED_BY IN NUMBER,
216 X_LOCK_DATE IN DATE,
217 X_ATTRIBUTE_CATEGORY IN VARCHAR2,
218 X_ATTRIBUTE1 IN VARCHAR2,
219 X_ATTRIBUTE2 IN VARCHAR2,
220 X_ATTRIBUTE3 IN VARCHAR2,
221 X_ATTRIBUTE4 IN VARCHAR2,
222 X_ATTRIBUTE5 IN VARCHAR2,
223 X_ATTRIBUTE6 IN VARCHAR2,
224 X_ATTRIBUTE7 IN VARCHAR2,
225 X_ATTRIBUTE8 IN VARCHAR2,
226 X_ATTRIBUTE9 IN VARCHAR2,
227 X_ATTRIBUTE10 IN VARCHAR2,
228 X_ATTRIBUTE11 IN VARCHAR2,
229 X_ATTRIBUTE12 IN VARCHAR2,
230 X_ATTRIBUTE13 IN VARCHAR2,
231 X_ATTRIBUTE14 IN VARCHAR2,
232 X_ATTRIBUTE15 IN VARCHAR2,
233 X_EMPLOYEE_ID IN NUMBER,
234 X_PARTY_ID IN NUMBER,
235 X_START_ACTIVE_DATE IN DATE,
236 X_END_ACTIVE_DATE IN DATE,
237 X_PRIORITY_CODE IN NUMBER )
238 IS
239 CURSOR c IS
240 SELECT
241 set_id,
242 set_number,
243 set_type_id,
244 set_name,
245 group_flag,
246 status,
247 access_level,
248 locked_by,
249 lock_date,
250 attribute_category,
251 attribute1,
252 attribute2,
253 attribute3,
254 attribute4,
255 attribute5,
256 attribute6,
257 attribute7,
258 attribute8,
259 attribute9,
260 attribute10,
261 attribute11,
262 attribute12,
263 attribute13,
264 attribute14,
265 attribute15,
266 employee_id,
267 party_id,
268 start_active_date,
269 end_active_date,
270 priority_code
271 FROM CS_KB_SETS_B
272 WHERE set_id = x_set_id
273 FOR UPDATE OF set_id NOWAIT;
274
275 recinfo c%ROWTYPE;
276
277 CURSOR c1 IS
278 SELECT
279 name,
280 description,
281 decode(language, USERENV('LANG'), 'Y', 'N') baselang
282 FROM CS_KB_SETS_TL
283 WHERE set_id = x_set_id
284 AND USERENV('LANG') IN (language, source_lang)
285 FOR UPDATE OF set_id NOWAIT;
286
287 BEGIN
288 OPEN c;
289 FETCH c INTO recinfo;
290 IF (c%NOTFOUND) THEN
291 CLOSE c;
292 FND_MESSAGE.set_name('FND', 'FORM_RECORD_DELETED');
293 APP_EXCEPTION.raise_exception;
294 END IF;
295 CLOSE c;
296 IF ( ((recinfo.attribute_category = x_attribute_category)
297 OR ((recinfo.attribute_category IS NULL) AND (x_attribute_category IS NULL)))
298 AND ((recinfo.attribute1 = x_attribute1)
299 OR ((recinfo.attribute1 IS NULL) AND (x_attribute1 IS NULL)))
300 AND ((recinfo.attribute2 = x_attribute2)
301 OR ((recinfo.attribute2 IS NULL) AND (x_attribute2 IS NULL)))
302 AND ((recinfo.attribute3 = x_attribute3)
303 OR ((recinfo.attribute3 IS NULL) AND (x_attribute3 IS NULL)))
304 AND ((recinfo.attribute4 = x_attribute4)
305 OR ((recinfo.attribute4 IS NULL) AND (x_attribute4 IS NULL)))
306 AND ((recinfo.attribute5 = x_attribute5)
307 OR ((recinfo.attribute5 IS NULL) AND (x_attribute5 IS NULL)))
308 AND ((recinfo.attribute6 = x_attribute6)
309 OR ((recinfo.attribute6 IS NULL) AND (x_attribute6 IS NULL)))
310 AND ((recinfo.attribute7 = x_attribute7)
311 OR ((recinfo.attribute7 IS NULL) AND (x_attribute7 IS NULL)))
312 AND ((recinfo.attribute8 = x_attribute8)
313 OR ((recinfo.attribute8 IS NULL) AND (x_attribute8 IS NULL)))
314 AND ((recinfo.attribute9 = x_attribute9)
315 OR ((recinfo.attribute9 IS NULL) AND (x_attribute9 IS NULL)))
316 AND ((recinfo.attribute10 = x_attribute10)
317 OR ((recinfo.attribute10 IS NULL) AND (x_attribute10 IS NULL)))
318 AND ((recinfo.attribute11 = x_attribute11)
319 OR ((recinfo.attribute11 IS NULL) AND (x_attribute11 IS NULL)))
320 AND ((recinfo.attribute12 = x_attribute12)
321 OR ((recinfo.attribute12 IS NULL) AND (x_attribute12 IS NULL)))
322 AND ((recinfo.attribute13 = x_attribute13)
323 OR ((recinfo.attribute13 IS NULL) AND (x_attribute13 IS NULL)))
324 AND ((recinfo.attribute14 = x_attribute14)
325 OR ((recinfo.attribute14 IS NULL) AND (x_attribute14 IS NULL)))
326 AND ((recinfo.attribute15 = x_attribute15)
327 OR ((recinfo.attribute15 IS NULL) AND (x_attribute15 IS NULL)))
328 AND ((recinfo.employee_id = x_employee_id)
329 OR ((recinfo.employee_id IS NULL) AND (x_employee_id IS NULL)))
330 AND ((recinfo.party_id = x_party_id)
331 OR ((recinfo.party_id IS NULL) AND (x_party_id IS NULL)))
332 AND ((recinfo.group_flag = x_group_flag)
333 OR ((recinfo.group_flag IS NULL) AND (x_group_flag IS NULL)))
334 AND ((recinfo.status = x_status)
335 OR ((recinfo.status IS NULL) AND (x_status IS NULL)))
336 AND ((recinfo.access_level = x_access_level)
337 OR ((recinfo.access_level IS NULL) AND (x_access_level IS NULL)))
338 AND ((recinfo.set_type_id = x_set_type_id)
339 OR ((recinfo.set_type_id IS NULL) AND (x_set_type_id IS NULL)))
340 AND ((recinfo.set_number = x_set_number)
341 OR ((recinfo.set_number IS NULL) AND (x_set_number IS NULL)))
342 AND ((recinfo.set_id = x_set_id)
343 OR ((recinfo.set_id IS NULL) AND (x_set_id IS NULL)))
344 AND ((recinfo.locked_by = x_locked_by)
345 OR ((recinfo.locked_by IS NULL) AND (x_locked_by IS NULL)))
346 AND ((recinfo.lock_date = x_lock_date)
347 OR ((recinfo.lock_date IS NULL) AND (x_lock_date IS NULL)))
348 AND ((recinfo.set_name = x_set_name)
349 OR ((recinfo.set_name IS NULL) AND (x_set_name IS NULL)))
350 AND ((recinfo.start_active_date = x_start_active_date)
351 OR ((recinfo.start_active_date IS NULL) AND (x_start_active_date IS NULL)))
352 AND ((recinfo.end_active_date = x_end_active_date)
353 OR ((recinfo.end_active_date IS NULL) AND (x_end_active_date IS NULL)))
354 AND ((recinfo.priority_code = x_priority_code)
355 OR ((recinfo.priority_code IS NULL) AND (x_priority_code IS NULL)))
356 ) THEN
357 NULL;
358 ELSE
359 FND_MESSAGE.set_name('FND', 'FORM_RECORD_CHANGED');
360 APP_EXCEPTION.raise_exception;
361 END IF;
362
363 FOR tlinfo IN c1 LOOP
364 IF (tlinfo.baselang = 'Y') THEN
365 IF ( ((tlinfo.name = x_name)
366 OR ((tlinfo.name IS NULL) AND (x_name IS NULL)))
367 AND ((tlinfo.description = x_description)
368 OR ((tlinfo.description IS NULL) AND (x_description IS NULL)))
369 ) THEN
370 NULL;
371 ELSE
372 FND_MESSAGE.set_name('FND', 'FORM_RECORD_CHANGED');
373 APP_EXCEPTION.raise_exception;
374 END IF;
375 END IF;
376 END LOOP;
377 RETURN;
378 END Lock_Row;
379
380
381 PROCEDURE Update_Row (
382 X_SET_ID IN NUMBER,
383 X_SET_NUMBER IN VARCHAR2,
384 X_SET_TYPE_ID IN NUMBER,
385 X_SET_NAME IN VARCHAR2,
386 X_GROUP_FLAG IN NUMBER,
387 X_STATUS IN VARCHAR2,
388 X_ACCESS_LEVEL IN NUMBER,
389 X_NAME 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_LOCKED_BY IN NUMBER,
395 X_LOCK_DATE IN DATE,
396 X_ATTRIBUTE_CATEGORY IN VARCHAR2,
397 X_ATTRIBUTE1 IN VARCHAR2,
398 X_ATTRIBUTE2 IN VARCHAR2,
399 X_ATTRIBUTE3 IN VARCHAR2,
400 X_ATTRIBUTE4 IN VARCHAR2,
401 X_ATTRIBUTE5 IN VARCHAR2,
402 X_ATTRIBUTE6 IN VARCHAR2,
403 X_ATTRIBUTE7 IN VARCHAR2,
404 X_ATTRIBUTE8 IN VARCHAR2,
405 X_ATTRIBUTE9 IN VARCHAR2,
406 X_ATTRIBUTE10 IN VARCHAR2,
407 X_ATTRIBUTE11 IN VARCHAR2,
408 X_ATTRIBUTE12 IN VARCHAR2,
409 X_ATTRIBUTE13 IN VARCHAR2,
410 X_ATTRIBUTE14 IN VARCHAR2,
411 X_ATTRIBUTE15 IN VARCHAR2,
412 X_EMPLOYEE_ID IN NUMBER,
413 X_PARTY_ID IN NUMBER,
414 X_START_ACTIVE_DATE IN DATE,
415 X_END_ACTIVE_DATE IN DATE,
416 X_PRIORITY_CODE IN NUMBER,
417 X_VISIBILITY_ID IN NUMBER )
418 IS
419
420 BEGIN
421
422 UPDATE CS_KB_SETS_B SET
423 set_type_id = x_set_type_id,
424 set_name = x_set_name,
425 group_flag = x_group_flag,
426 status = x_status,
427 --access_level = l_access_level,
428 last_update_date = x_last_update_date,
429 last_updated_by = x_last_updated_by,
430 last_update_login = x_last_update_login,
431 locked_by = x_locked_by,
432 lock_date = x_lock_date,
433 attribute_category = x_attribute_category,
434 attribute1 = x_attribute1,
435 attribute2 = x_attribute2,
436 attribute3 = x_attribute3,
437 attribute4 = x_attribute4,
438 attribute5 = x_attribute5,
442 attribute9 = x_attribute9,
439 attribute6 = x_attribute6,
440 attribute7 = x_attribute7,
441 attribute8 = x_attribute8,
443 attribute10 = x_attribute10,
444 attribute11 = x_attribute11,
445 attribute12 = x_attribute12,
446 attribute13 = x_attribute13,
447 attribute14 = x_attribute14,
448 attribute15 = x_attribute15,
449 employee_id = x_employee_id,
450 party_id = x_party_id,
451 start_active_date = x_start_active_date,
452 end_active_date = x_end_active_date,
453 --priority_code = l_priority_code,
454 visibility_id = x_visibility_id
455 WHERE set_id = x_set_id;
456
457 IF (SQL%NOTFOUND) THEN
458 RAISE NO_DATA_FOUND;
459 END IF;
460
461 UPDATE CS_KB_SETS_TL SET
462 name = x_name,
463 description = x_description,
464 last_update_date = x_last_update_date,
465 last_updated_by = x_last_updated_by,
466 last_update_login = x_last_update_login,
467 source_lang = USERENV('LANG')
468 WHERE set_id = x_set_id
469 AND USERENV('LANG') IN (language, source_lang);
470
471 IF (SQL%NOTFOUND) THEN
472 RAISE NO_DATA_FOUND;
473 END IF;
474
475 END Update_Row;
476
477
478 PROCEDURE Delete_Row (
479 X_SET_NUMBER IN VARCHAR2 )
480 IS
481
482 CURSOR c IS
483 SELECT set_id
484 FROM CS_KB_SETS_B
485 WHERE set_number = X_SET_NUMBER;
486
487 BEGIN
488
489 FOR rec IN c LOOP
490 DELETE FROM CS_KB_SETS_TL
491 WHERE set_id = rec.set_id;
492 END LOOP;
493
494 DELETE FROM CS_KB_SETS_B
495 WHERE set_number = x_set_number;
496 IF (SQL%NOTFOUND) THEN
497 RAISE NO_DATA_FOUND;
498 END IF;
499
500 END Delete_Row;
501
502
503 PROCEDURE Add_Language
504 IS
505
506 BEGIN
507
508 DELETE FROM CS_KB_SETS_TL t
509 WHERE NOT EXISTS
510 (SELECT NULL
511 FROM CS_KB_SETS_B b
512 WHERE b.set_id = t.set_id );
513
514 UPDATE CS_KB_SETS_TL T SET (
515 name,
516 description
517 ) = (SELECT
518 b.name,
519 b.description
520 FROM CS_KB_SETS_TL b
521 WHERE b.set_id = t.set_id
522 AND b.language = t.source_lang)
523 WHERE (
524 t.set_id,
525 t.language
526 ) IN (SELECT
527 subt.set_id,
528 subt.language
529 FROM CS_KB_SETS_TL subb, CS_KB_SETS_TL subt
530 WHERE subb.set_id = subt.set_id
531 AND subb.language = subt.source_lang
532 AND (subb.name <> subt.name
533 OR (subb.name IS NULL AND subt.name IS NOT NULL)
534 OR (subb.name IS not NULL AND subt.name IS NULL)
535 OR subb.description <> subt.description
536 OR (subb.description IS NULL AND subt.description IS NOT NULL)
537 OR (subb.description IS NOT NULL AND subt.description IS NULL)
538 ));
539
540 INSERT INTO CS_KB_SETS_TL (
541 set_id,
542 name,
543 description,
544 creation_date,
545 created_by,
546 last_update_date,
547 last_update_login,
548 last_updated_by,
549 language,
550 source_lang
551 ) SELECT
552 b.set_id,
553 b.name,
554 b.description,
555 b.creation_date,
556 b.created_by,
557 b.last_update_date,
558 b.last_update_login,
559 b.last_updated_by,
560 l.language_code,
561 b.source_lang
562 FROM CS_KB_SETS_TL b, fnd_languages l --bayu
563 WHERE l.installed_flag IN ('I', 'B')
564 AND b.language = USERENV('LANG')
565 AND NOT EXISTS
566 (SELECT NULL
567 FROM CS_KB_SETS_TL t
568 WHERE t.set_id = b.set_id
569 AND t.language = l.language_code);
570
571 END Add_Language;
572
573
574 PROCEDURE Translate_Row(
575 X_SET_ID IN NUMBER,
576 X_SET_NUMBER IN VARCHAR2,
577 X_OWNER IN VARCHAR2,
578 X_NAME IN VARCHAR2) IS
579 BEGIN
580
581 UPDATE CS_KB_SETS_TL SET
582 name = x_name,
583 last_update_date = SYSDATE,
584 last_updated_by = decode(x_owner, 'SEED', 1, 0),
585 last_update_login = 0,
586 source_lang = USERENV('LANG')
587 WHERE set_id = X_SET_ID
588 AND USERENV('LANG') IN (language, source_lang);
589
590 END Translate_Row;
591
592
593 PROCEDURE Load_Row(
594 X_SET_ID IN NUMBER,
595 X_SET_NUMBER IN VARCHAR2,
596 X_SET_TYPE_ID IN NUMBER,
597 X_STATUS IN VARCHAR2,
598 X_ACCESS_LEVEL IN NUMBER,
599 X_OWNER IN VARCHAR2,
600 X_NAME IN VARCHAR2,
601 X_VISIBILITY_ID IN NUMBER)
602 IS
603
604 l_user_id NUMBER;
605 l_rowid VARCHAR2(100);
606 l_locked_by NUMBER;
607 l_lock_date DATE;
608
609 BEGIN
610
611 IF (x_owner = 'SEED') THEN
612 l_user_id := 1;
613 ELSE
614 l_user_id := 0;
615 END IF;
616
617 CS_KB_SOLUTION_PVT.Get_Lock_Info(x_set_number, l_locked_by, l_lock_date);
618
619 Update_Row(
620 x_set_id => x_set_id,
621 x_set_number => x_set_number,
622 x_set_type_id => x_set_type_id,
623 x_set_name => NULL,
624 x_group_flag => NULL,
625 x_status => x_status,
626 x_access_level => x_access_level,
627 x_name => x_name,
628 x_description => NULL,
629 x_last_update_date => SYSDATE,
630 x_last_updated_by => l_user_id,
631 x_last_update_login => 0,
632 x_locked_by => l_locked_by,
633 x_lock_date => l_lock_date,
634 x_visibility_id => x_visibility_id);
635
636 EXCEPTION
637 WHEN NO_DATA_FOUND THEN
638 Insert_Row(
639 x_rowid => l_rowid,
640 x_set_id => x_set_id,
641 x_set_number => x_set_number,
642 x_set_type_id => x_set_type_id,
643 x_set_name => NULL,
644 x_group_flag => NULL,
645 x_status => x_status,
646 x_access_level => x_access_level,
647 x_name => x_name,
648 x_description => NULL,
649 x_creation_date => SYSDATE,
650 x_created_by => l_user_id,
651 x_last_update_date => SYSDATE,
652 x_last_updated_by => l_user_id,
653 x_last_update_login => 0,
654 x_locked_by => NULL,
655 x_lock_date => NULL,
656 x_visibility_id => x_visibility_id);
657
658 END Load_Row;
659
660
661 END CS_KB_SETS_PKG;