DBA Data[Home] [Help]

PACKAGE BODY: APPS.CS_KB_AUTOLINKS_PKG

Source


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;