DBA Data[Home] [Help]

PACKAGE BODY: APPS.CS_FORUM_MESSAGES_PKG

Source


1 PACKAGE BODY CS_FORUM_MESSAGES_PKG AS
2 /* $Header: csfmagb.pls 115.7 2002/11/25 05:47:33 allau noship $ */
3 /*======================================================================+
4  |                Copyright (c) 1999 Oracle Corporation                 |
5  |                   Redwood Shores, California, USA                    |
6  |                        All rights reserved.                          |
7  +======================================================================+
8  | FILENAME: csfmagb.pls                                                |
9  |                                                                      |
10  | PURPOSE                                                              |
11  |   Table handlers for forum messages.                                 |
12  | ARGUMENTS                                                            |
13  |                                                                      |
14  | NOTES                                                                |
15  |   Usage: start                                                       |
16  | HISTORY                                                              |
17  |   19-OCT-1999 A. WONG Created                                        |
18  |   04-OCT-2002 KLOU (UNISRCH)                                         |
19  |               1. Add new column composite_assoc_col in               |
20  |                  cs_forum_messages_tl.                               |
21  |   25-NOV-2002 ALLAU
22  |               Remove default value for IN parameters due to GSCC
23  |               restriction
24  +======================================================================*/
25 
26 procedure INSERT_ROW (
27   X_MESSAGE_ID in NUMBER,
28   X_MESSAGE_NUMBER in NUMBER,
29   X_MESSAGE_TYPE in VARCHAR2,
30   X_MESSAGE_NAME in VARCHAR2,
31   X_NAME in VARCHAR2,
32   X_POSTED_DATE in DATE,
33   X_POSTED_USER in NUMBER,
34   X_DESCRIPTION in CLOB,
35   X_ACTIVE_STATUS in VARCHAR2,
36   X_DISTRIBUTION_TYPE in VARCHAR2,
37   X_CREATION_DATE in DATE,
38   X_CREATED_BY in NUMBER,
39   X_LAST_UPDATE_DATE in DATE,
40   X_LAST_UPDATED_BY in NUMBER,
41   X_LAST_UPDATE_LOGIN in NUMBER,
42   X_ATTRIBUTE_CATEGORY in VARCHAR2,
43   X_ATTRIBUTE1 in VARCHAR2,
44   X_ATTRIBUTE2 in VARCHAR2,
45   X_ATTRIBUTE3 in VARCHAR2 ,
46   X_ATTRIBUTE4 in VARCHAR2 ,
47   X_ATTRIBUTE5 in VARCHAR2 ,
48   X_ATTRIBUTE6 in VARCHAR2 ,
49   X_ATTRIBUTE7 in VARCHAR2 ,
50   X_ATTRIBUTE8 in VARCHAR2 ,
51   X_ATTRIBUTE9 in VARCHAR2 ,
52   X_ATTRIBUTE10 in VARCHAR2 ,
53   X_ATTRIBUTE11 in VARCHAR2 ,
54   X_ATTRIBUTE12 in VARCHAR2 ,
55   X_ATTRIBUTE13 in VARCHAR2 ,
56   X_ATTRIBUTE14 in VARCHAR2 ,
57   X_ATTRIBUTE15 in VARCHAR2
58 ) is
59   cursor C is select MESSAGE_ID from CS_FORUM_MESSAGES_B
60     where MESSAGE_ID = X_MESSAGE_ID
61     ;
62 begin
63   insert into CS_FORUM_MESSAGES_B (
64     MESSAGE_ID,
65     MESSAGE_NUMBER,
66     MESSAGE_TYPE,
67     MESSAGE_NAME,
68     POSTED_DATE,
69     POSTED_USER,
70     ACTIVE_STATUS,
71     DISTRIBUTION_TYPE,
72     CREATION_DATE,
73     CREATED_BY,
74     LAST_UPDATE_DATE,
75     LAST_UPDATED_BY,
76     LAST_UPDATE_LOGIN,
77     ATTRIBUTE_CATEGORY,
78     ATTRIBUTE1,
79     ATTRIBUTE2,
80     ATTRIBUTE3,
81     ATTRIBUTE4,
82     ATTRIBUTE5,
83     ATTRIBUTE6,
84     ATTRIBUTE7,
85     ATTRIBUTE8,
86     ATTRIBUTE9,
87     ATTRIBUTE10,
88     ATTRIBUTE11,
89     ATTRIBUTE12,
90     ATTRIBUTE13,
91     ATTRIBUTE14,
92     ATTRIBUTE15
93   ) values (
94     X_MESSAGE_ID,
95     X_MESSAGE_NUMBER,
96     X_MESSAGE_TYPE,
97     X_MESSAGE_NAME,
98     X_POSTED_DATE,
99     X_POSTED_USER,
100     X_ACTIVE_STATUS,
101     X_DISTRIBUTION_TYPE,
102     X_CREATION_DATE,
103     X_CREATED_BY,
104     X_LAST_UPDATE_DATE,
105     X_LAST_UPDATED_BY,
106     X_LAST_UPDATE_LOGIN,
107     X_ATTRIBUTE_CATEGORY,
108     X_ATTRIBUTE1,
109     X_ATTRIBUTE2,
110     X_ATTRIBUTE3,
111     X_ATTRIBUTE4,
112     X_ATTRIBUTE5,
113     X_ATTRIBUTE6,
114     X_ATTRIBUTE7,
115     X_ATTRIBUTE8,
116     X_ATTRIBUTE9,
117     X_ATTRIBUTE10,
118     X_ATTRIBUTE11,
119     X_ATTRIBUTE12,
120     X_ATTRIBUTE13,
121     X_ATTRIBUTE14,
122     X_ATTRIBUTE15
123   );
124 
125   insert into CS_FORUM_MESSAGES_TL (
126     MESSAGE_ID,
127     NAME,
128     DESCRIPTION,
129     CREATION_DATE,
130     CREATED_BY,
131     LAST_UPDATE_DATE,
132     LAST_UPDATED_BY,
133     LAST_UPDATE_LOGIN,
134     LANGUAGE,
135     SOURCE_LANG,
136     COMPOSITE_ASSOC_COL   --UNISRCH
137   ) select
138     X_MESSAGE_ID,
139     X_NAME,
140     X_DESCRIPTION,
141     X_CREATION_DATE,
142     X_CREATED_BY,
143     X_LAST_UPDATE_DATE,
144     X_LAST_UPDATED_BY,
145     X_LAST_UPDATE_LOGIN,
146     L.LANGUAGE_CODE,
147     userenv('LANG'),
148     'a'
149   from FND_LANGUAGES L
150   where L.INSTALLED_FLAG in ('I', 'B')
151   and not exists
152     (select NULL
153     from CS_FORUM_MESSAGES_TL T
154     where T.MESSAGE_ID = X_MESSAGE_ID
155     and T.LANGUAGE = L.LANGUAGE_CODE);
156 
157   open c;
158 /*
159   fetch c into X_ROWID;
160   if (c%notfound) then
161     close c;
162     raise no_data_found;
163   end if;
164 */
165   close c;
166 
167 end INSERT_ROW;
168 
169 procedure LOCK_ROW (
170   X_MESSAGE_ID in NUMBER,
171   X_MESSAGE_NUMBER in NUMBER,
172   X_MESSAGE_TYPE in VARCHAR2,
173   X_MESSAGE_NAME in VARCHAR2,
174   X_NAME in VARCHAR2,
175   X_DESCRIPTION in CLOB,
176   X_ATTRIBUTE_CATEGORY in VARCHAR2 ,
177   X_ATTRIBUTE1 in VARCHAR2 ,
178   X_ATTRIBUTE2 in VARCHAR2 ,
179   X_ATTRIBUTE3 in VARCHAR2 ,
180   X_ATTRIBUTE4 in VARCHAR2 ,
181   X_ATTRIBUTE5 in VARCHAR2 ,
182   X_ATTRIBUTE6 in VARCHAR2 ,
183   X_ATTRIBUTE7 in VARCHAR2 ,
184   X_ATTRIBUTE8 in VARCHAR2 ,
185   X_ATTRIBUTE9 in VARCHAR2 ,
186   X_ATTRIBUTE10 in VARCHAR2 ,
187   X_ATTRIBUTE11 in VARCHAR2 ,
188   X_ATTRIBUTE12 in VARCHAR2 ,
189   X_ATTRIBUTE13 in VARCHAR2 ,
190   X_ATTRIBUTE14 in VARCHAR2 ,
191   X_ATTRIBUTE15 in VARCHAR2
192 ) is
193   cursor c is select
194       MESSAGE_ID,
195       MESSAGE_NUMBER,
196       MESSAGE_TYPE,
197       MESSAGE_NAME,
198       ATTRIBUTE_CATEGORY,
199       ATTRIBUTE1,
200       ATTRIBUTE2,
201       ATTRIBUTE3,
202       ATTRIBUTE4,
203       ATTRIBUTE5,
204       ATTRIBUTE6,
205       ATTRIBUTE7,
206       ATTRIBUTE8,
207       ATTRIBUTE9,
208       ATTRIBUTE10,
209       ATTRIBUTE11,
210       ATTRIBUTE12,
211       ATTRIBUTE13,
212       ATTRIBUTE14,
213       ATTRIBUTE15
214     from CS_FORUM_MESSAGES_B
215     where MESSAGE_ID = X_MESSAGE_ID
216     for update of MESSAGE_ID nowait;
217   recinfo c%rowtype;
218 
219   cursor c1 is select
220       NAME,
221       DESCRIPTION,
222       decode(LANGUAGE, userenv('LANG'), 'Y', 'N') BASELANG
223     from CS_FORUM_MESSAGES_TL
224     where MESSAGE_ID = X_MESSAGE_ID
225     and userenv('LANG') in (LANGUAGE, SOURCE_LANG)
226     for update of MESSAGE_ID nowait;
227 begin
228   open c;
229   fetch c into recinfo;
230   if (c%notfound) then
231     close c;
232     fnd_message.set_name('FND', 'FORM_RECORD_DELETED');
233     app_exception.raise_exception;
234   end if;
235   close c;
236   if (
237           ((recinfo.MESSAGE_ID = X_MESSAGE_ID)
238            OR ((recinfo.MESSAGE_ID is null) AND (X_MESSAGE_ID is null)))
239       AND ((recinfo.MESSAGE_NUMBER = X_MESSAGE_NUMBER)
240            OR ((recinfo.MESSAGE_NUMBER is null) AND (X_MESSAGE_NUMBER is null)))
241       AND ((recinfo.MESSAGE_NAME = X_MESSAGE_NAME)
242            OR ((recinfo.MESSAGE_NAME is null) AND (X_MESSAGE_NAME is null)))
243       AND ((recinfo.ATTRIBUTE_CATEGORY = X_ATTRIBUTE_CATEGORY)
244            OR ((recinfo.ATTRIBUTE_CATEGORY is null) AND (X_ATTRIBUTE_CATEGORY is null)))
245       AND ((recinfo.ATTRIBUTE1 = X_ATTRIBUTE1)
246            OR ((recinfo.ATTRIBUTE1 is null) AND (X_ATTRIBUTE1 is null)))
247       AND ((recinfo.ATTRIBUTE2 = X_ATTRIBUTE2)
248            OR ((recinfo.ATTRIBUTE2 is null) AND (X_ATTRIBUTE2 is null)))
249       AND ((recinfo.ATTRIBUTE3 = X_ATTRIBUTE3)
250            OR ((recinfo.ATTRIBUTE3 is null) AND (X_ATTRIBUTE3 is null)))
251       AND ((recinfo.ATTRIBUTE4 = X_ATTRIBUTE4)
252            OR ((recinfo.ATTRIBUTE4 is null) AND (X_ATTRIBUTE4 is null)))
253       AND ((recinfo.ATTRIBUTE5 = X_ATTRIBUTE5)
254            OR ((recinfo.ATTRIBUTE5 is null) AND (X_ATTRIBUTE5 is null)))
255       AND ((recinfo.ATTRIBUTE6 = X_ATTRIBUTE6)
256            OR ((recinfo.ATTRIBUTE6 is null) AND (X_ATTRIBUTE6 is null)))
257       AND ((recinfo.ATTRIBUTE7 = X_ATTRIBUTE7)
258            OR ((recinfo.ATTRIBUTE7 is null) AND (X_ATTRIBUTE7 is null)))
259       AND ((recinfo.ATTRIBUTE8 = X_ATTRIBUTE8)
260            OR ((recinfo.ATTRIBUTE8 is null) AND (X_ATTRIBUTE8 is null)))
261       AND ((recinfo.ATTRIBUTE9 = X_ATTRIBUTE9)
262            OR ((recinfo.ATTRIBUTE9 is null) AND (X_ATTRIBUTE9 is null)))
263       AND ((recinfo.ATTRIBUTE10 = X_ATTRIBUTE10)
264            OR ((recinfo.ATTRIBUTE10 is null) AND (X_ATTRIBUTE10 is null)))
265       AND ((recinfo.ATTRIBUTE11 = X_ATTRIBUTE11)
266            OR ((recinfo.ATTRIBUTE11 is null) AND (X_ATTRIBUTE11 is null)))
267       AND ((recinfo.ATTRIBUTE12 = X_ATTRIBUTE12)
268            OR ((recinfo.ATTRIBUTE12 is null) AND (X_ATTRIBUTE12 is null)))
269       AND ((recinfo.ATTRIBUTE13 = X_ATTRIBUTE13)
270            OR ((recinfo.ATTRIBUTE13 is null) AND (X_ATTRIBUTE13 is null)))
271       AND ((recinfo.ATTRIBUTE14 = X_ATTRIBUTE14)
272            OR ((recinfo.ATTRIBUTE14 is null) AND (X_ATTRIBUTE14 is null)))
273       AND ((recinfo.ATTRIBUTE15 = X_ATTRIBUTE15)
274            OR ((recinfo.ATTRIBUTE15 is null) AND (X_ATTRIBUTE15 is null)))
275   ) then
276     null;
277   else
278     fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
279     app_exception.raise_exception;
280   end if;
281 
282   for tlinfo in c1 loop
283     if (tlinfo.BASELANG = 'Y') then
284       if (    ((tlinfo.NAME = X_NAME)
285                OR ((tlinfo.NAME is null) AND (X_NAME is null)))
286           AND ((
287                dbms_lob.compare(X_DESCRIPTION, tlinfo.DESCRIPTION,
288                                 dbms_lob.getlength(X_DESCRIPTION),1,1)=0 )
289                --tlinfo.DESCRIPTION = X_DESCRIPTION)
290                OR ((tlinfo.DESCRIPTION is null) AND (X_DESCRIPTION is null)))
291       ) then
292         null;
293       else
294         fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
295         app_exception.raise_exception;
296       end if;
297     end if;
298   end loop;
299   return;
300 end LOCK_ROW;
301 
302 procedure UPDATE_ROW (
303   X_MESSAGE_ID in NUMBER,
304   X_MESSAGE_NUMBER in NUMBER,
305   X_MESSAGE_TYPE in VARCHAR2,
306   X_MESSAGE_NAME in VARCHAR2,
307   X_NAME in VARCHAR2,
308   X_POSTED_DATE in DATE,
309   X_POSTED_USER in NUMBER,
310   X_DESCRIPTION in CLOB,
311   X_ACTIVE_STATUS in VARCHAR2,
312   X_DISTRIBUTION_TYPE in VARCHAR2,
313   X_CREATION_DATE in DATE,
314   X_CREATED_BY in NUMBER,
315   X_LAST_UPDATE_DATE in DATE,
316   X_LAST_UPDATED_BY in NUMBER,
317   X_LAST_UPDATE_LOGIN in NUMBER,
318   X_ATTRIBUTE_CATEGORY in VARCHAR2 ,
319   X_ATTRIBUTE1 in VARCHAR2 ,
320   X_ATTRIBUTE2 in VARCHAR2 ,
321   X_ATTRIBUTE3 in VARCHAR2 ,
322   X_ATTRIBUTE4 in VARCHAR2 ,
323   X_ATTRIBUTE5 in VARCHAR2 ,
324   X_ATTRIBUTE6 in VARCHAR2 ,
325   X_ATTRIBUTE7 in VARCHAR2 ,
326   X_ATTRIBUTE8 in VARCHAR2 ,
327   X_ATTRIBUTE9 in VARCHAR2 ,
328   X_ATTRIBUTE10 in VARCHAR2 ,
329   X_ATTRIBUTE11 in VARCHAR2 ,
330   X_ATTRIBUTE12 in VARCHAR2 ,
331   X_ATTRIBUTE13 in VARCHAR2 ,
332   X_ATTRIBUTE14 in VARCHAR2 ,
333   X_ATTRIBUTE15 in VARCHAR2
334 ) is
335 begin
336   update CS_FORUM_MESSAGES_B set
337     MESSAGE_TYPE = X_MESSAGE_TYPE,
338     MESSAGE_NAME = X_MESSAGE_NAME,
339     POSTED_DATE = X_POSTED_DATE,
340     POSTED_USER = X_POSTED_USER,
341     ACTIVE_STATUS = X_ACTIVE_STATUS,
342     DISTRIBUTION_TYPE = X_DISTRIBUTION_TYPE,
343     LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
344     LAST_UPDATED_BY = X_LAST_UPDATED_BY,
345     LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN,
346     ATTRIBUTE_CATEGORY = X_ATTRIBUTE_CATEGORY,
347     ATTRIBUTE1 = X_ATTRIBUTE1,
348     ATTRIBUTE2 = X_ATTRIBUTE2,
349     ATTRIBUTE3 = X_ATTRIBUTE3,
350     ATTRIBUTE4 = X_ATTRIBUTE4,
351     ATTRIBUTE5 = X_ATTRIBUTE5,
352     ATTRIBUTE6 = X_ATTRIBUTE6,
353     ATTRIBUTE7 = X_ATTRIBUTE7,
354     ATTRIBUTE8 = X_ATTRIBUTE8,
355     ATTRIBUTE9 = X_ATTRIBUTE9,
356     ATTRIBUTE10 = X_ATTRIBUTE10,
357     ATTRIBUTE11 = X_ATTRIBUTE11,
358     ATTRIBUTE12 = X_ATTRIBUTE12,
359     ATTRIBUTE13 = X_ATTRIBUTE13,
360     ATTRIBUTE14 = X_ATTRIBUTE14,
361     ATTRIBUTE15 = X_ATTRIBUTE15
362   where MESSAGE_ID = X_MESSAGE_ID;
363 
364   if (sql%notfound) then
365     raise no_data_found;
366   end if;
367 
368   update CS_FORUM_MESSAGES_TL set
369     NAME = X_NAME,
370     DESCRIPTION = X_DESCRIPTION,
371     LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
375     COMPOSITE_ASSOC_COL  = 'b'  --UNISRCH
372     LAST_UPDATED_BY = X_LAST_UPDATED_BY,
373     LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN,
374     SOURCE_LANG = userenv('LANG'),
376   where MESSAGE_ID = X_MESSAGE_ID
377   and userenv('LANG') in (LANGUAGE, SOURCE_LANG);
378 
379   if (sql%notfound) then
380     raise no_data_found;
381   end if;
382 end UPDATE_ROW;
383 
384 procedure DELETE_ROW (
385   X_MESSAGE_ID in NUMBER
386 ) is
387 begin
388   delete from CS_FORUM_MESSAGES_TL
389   where MESSAGE_ID = X_MESSAGE_ID;
390 
391 /*
392   if (sql%notfound) then
393     raise no_data_found;
394   end if;
395 */
396 
397   delete from CS_FORUM_MESSAGES_B
398   where MESSAGE_ID = X_MESSAGE_ID;
399 
400 /*
401   if (sql%notfound) then
402     raise no_data_found;
403   end if;
404 */
405 end DELETE_ROW;
406 
407 procedure ADD_LANGUAGE
408 is
409 begin
410   delete from CS_FORUM_MESSAGES_TL T
411   where not exists
412     (select NULL
413     from CS_FORUM_MESSAGES_B B
414     where B.MESSAGE_ID = T.MESSAGE_ID
415     );
416 
417   update CS_FORUM_MESSAGES_TL T set (
418       NAME,
419       DESCRIPTION,
420       COMPOSITE_ASSOC_COL   --UNISRCH
421     ) = (select
422       B.NAME,
423       B.DESCRIPTION,
424       'a'
425     from CS_FORUM_MESSAGES_TL B
426     where B.MESSAGE_ID = T.MESSAGE_ID
427     and B.LANGUAGE = T.SOURCE_LANG)
428   where (
429       T.MESSAGE_ID,
430       T.LANGUAGE
431   ) in (select
432       SUBT.MESSAGE_ID,
433       SUBT.LANGUAGE
434     from CS_FORUM_MESSAGES_TL SUBB, CS_FORUM_MESSAGES_TL SUBT
435     where SUBB.MESSAGE_ID = SUBT.MESSAGE_ID
436     and SUBB.LANGUAGE = SUBT.SOURCE_LANG
437     and (SUBB.NAME <> SUBT.NAME
438       or (SUBB.NAME is null and SUBT.NAME is not null)
439       or (SUBB.NAME is not null and SUBT.NAME is null)
440       or --SUBB.DESCRIPTION <> SUBT.DESCRIPTION
441            dbms_lob.compare(SUBB.DESCRIPTION, SUBT.DESCRIPTION,
442                     dbms_lob.getlength(SUBB.DESCRIPTION), 1, 1) <> 0
443       or (SUBB.DESCRIPTION is null and SUBT.DESCRIPTION is not null)
444       or (SUBB.DESCRIPTION is not null and SUBT.DESCRIPTION is null)
445   ));
446 
447   insert into CS_FORUM_MESSAGES_TL (
448     MESSAGE_ID,
449     NAME,
450     DESCRIPTION,
451     CREATION_DATE,
452     CREATED_BY,
453     LAST_UPDATE_DATE,
454     LAST_UPDATED_BY,
455     LAST_UPDATE_LOGIN,
456     LANGUAGE,
457     SOURCE_LANG,
458     COMPOSITE_ASSOC_COL   --UNISRCH
459   ) select
460     B.MESSAGE_ID,
461     B.NAME,
462     B.DESCRIPTION,
463     B.CREATION_DATE,
464     B.CREATED_BY,
465     B.LAST_UPDATE_DATE,
466     B.LAST_UPDATED_BY,
467     B.LAST_UPDATE_LOGIN,
468     L.LANGUAGE_CODE,
469     B.SOURCE_LANG,
470     'a'
471   from CS_FORUM_MESSAGES_TL B, FND_LANGUAGES L
472   where L.INSTALLED_FLAG in ('I', 'B')
473   and B.LANGUAGE = userenv('LANG')
474   and not exists
475     (select NULL
476     from CS_FORUM_MESSAGES_TL T
477     where T.MESSAGE_ID = B.MESSAGE_ID
478     and T.LANGUAGE = L.LANGUAGE_CODE);
479 end ADD_LANGUAGE;
480 
481 PROCEDURE TRANSLATE_ROW(
482         X_MESSAGE_ID in number,
483         x_name in varchar2,
484         x_description in varchar2,
485         x_owner in varchar2
486         )
487 is
488 begin
489     update cs_forum_messages_tl set
490         description = x_description,
491         name = x_name,
492         LAST_UPDATE_DATE = sysdate,
493         LAST_UPDATED_BY = decode(x_owner, 'SEED', 1, 0),
494         LAST_UPDATE_LOGIN = 0,
495         SOURCE_LANG = userenv('LANG'),
496         COMPOSITE_ASSOC_COL  = 'b'  --UNISRCH
497         where userenv('LANG') in (LANGUAGE, SOURCE_LANG)
498            and MESSAGE_ID = X_MESSAGE_ID;
499 end TRANSLATE_ROW;
500 
501 
502 
503 procedure LOAD_ROW (
504   X_MESSAGE_ID in NUMBER,
505   X_MESSAGE_NUMBER in NUMBER,
506   X_MESSAGE_TYPE in VARCHAR2,
507   X_MESSAGE_NAME in VARCHAR2,
508   X_NAME in VARCHAR2,
509   X_POSTED_DATE in DATE,
510   X_POSTED_USER in NUMBER,
511   X_DESCRIPTION in VARCHAR2,
512   X_ACTIVE_STATUS in VARCHAR2,
513   X_DISTRIBUTION_TYPE in VARCHAR2,
514   x_owner in varchar2
515 
516 ) is
517     l_user_id number;
518     l_clob CLOB := null;
519     l_offset number;
520     l_amt    number;
521 
522 begin
523     if (x_owner = 'SEED') then
524            l_user_id := 1;
525     else
526            l_user_id := 0;
527     end if;
528 
529     if( X_DESCRIPTION is not null)  then
530 
531      dbms_lob.createtemporary(l_clob, TRUE, DBMS_LOB.SESSION);
532      l_offset := 1;
533      l_amt := length(x_description);
534      dbms_lob.write(l_clob, l_amt, l_offset, x_description);
535 
536      end if;
537 
538     CS_FORUM_MESSAGES_PKG.Update_Row(
539             X_MESSAGE_ID => X_MESSAGE_ID,
540             X_MESSAGE_NUMBER => X_MESSAGE_NUMBER,
544             X_POSTED_DATE => X_POSTED_DATE,
541             X_MESSAGE_TYPE => X_MESSAGE_TYPE,
542             X_MESSAGE_NAME => X_MESSAGE_NAME,
543             X_NAME => X_NAME,
545             X_POSTED_USER => X_POSTED_USER,
546             X_DESCRIPTION => l_clob,
547             X_ACTIVE_STATUS => X_ACTIVE_STATUS,
548             X_DISTRIBUTION_TYPE => X_DISTRIBUTION_TYPE,
549     		X_Creation_Date => sysdate,
550     		X_Created_By => l_user_id,
551     		X_Last_Update_Date => sysdate,
552     		X_Last_Updated_By => l_user_id,
553     		X_Last_Update_Login => 0);
554 
555      exception
556       when no_data_found then
557         	CS_FORUM_MESSAGES_PKG.Insert_Row(
558             X_MESSAGE_ID => X_MESSAGE_ID,
559             X_MESSAGE_NUMBER => X_MESSAGE_NUMBER,
560             X_MESSAGE_TYPE => X_MESSAGE_TYPE,
561             X_MESSAGE_NAME => X_MESSAGE_NAME,
562             X_NAME => X_NAME,
563             X_POSTED_DATE => X_POSTED_DATE,
564             X_POSTED_USER => X_POSTED_USER,
565             X_DESCRIPTION => l_clob,
566             X_ACTIVE_STATUS => X_ACTIVE_STATUS,
567             X_DISTRIBUTION_TYPE => X_DISTRIBUTION_TYPE,
568     		X_Creation_Date => sysdate,
569     		X_Created_By => l_user_id,
570     		X_Last_Update_Date => sysdate,
571     		X_Last_Updated_By => l_user_id,
572     		X_Last_Update_Login => 0);
573 
574 
575     if(x_description is not null) then
576        dbms_lob.freetemporary(l_clob);
577     end if;
578 
579 end LOAD_ROW;
580 
581 end CS_FORUM_MESSAGES_PKG;