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