DBA Data[Home] [Help]

PACKAGE BODY: APPS.OKL_VP_K_ARTICLE_PUB

Source


1 Package Body OKL_VP_K_ARTICLE_PUB AS
2 /* $Header: OKLPCARB.pls 120.1 2005/08/04 01:29:42 manumanu noship $ */
3   G_APP_NAME			CONSTANT VARCHAR2(3)   :=  OKC_API.G_APP_NAME;
4   G_PKG_NAME			CONSTANT VARCHAR2(200) := 'OKL_VP_K_ARTICLE_PUB';
5   G_API_VERSION               CONSTANT NUMBER := 1;
6   G_SCOPE				CONSTANT varchar2(4) := '_PUB';
7 
8 --
9 --	reset some columns procedures after "before user hooks"
10 --
11 procedure reset(p_catv_rec IN catv_rec_type) is
12 begin
13     g_catv_rec.id                    := p_catv_rec.id;
14     g_catv_rec.object_version_number := p_catv_rec.object_version_number;
15     g_catv_rec.created_by            := p_catv_rec.created_by;
16     g_catv_rec.creation_date         := p_catv_rec.creation_date;
17     g_catv_rec.last_updated_by       := p_catv_rec.last_updated_by;
18     g_catv_rec.last_update_date      := p_catv_rec.last_update_date;
19     g_catv_rec.last_update_login     := p_catv_rec.last_update_login;
20 end reset;
21 
22 
23 -- Start of comments
24 --
25 -- Procedure Name  : add_language
26 -- Description     :
27 -- Business Rules  :
28 -- Parameters      :
29 -- Version         : 1.0
30 -- End of comments
31 procedure add_language is
32 begin
33   OKL_VP_K_ARTICLE_PVT.add_language_k_article;
34 end add_language;
35 -- Start of comments
36 --
37 -- Procedure Name  : create_k_article
38 -- Description     :
39 -- Business Rules  :
40 -- Parameters      :
41 -- Version         : 1.0
42 -- End of comments
43 procedure create_k_article(p_api_version	IN	NUMBER,
44                               p_init_msg_list	IN	VARCHAR2 default OKC_API.G_FALSE,
45                               x_return_status	OUT NOCOPY	VARCHAR2,
46                               x_msg_count	OUT NOCOPY	NUMBER,
47                               x_msg_data	OUT NOCOPY	VARCHAR2,
48                               p_catv_rec	IN	catv_rec_type,
49                               x_catv_rec	OUT NOCOPY	catv_rec_type) is
50 l_api_name     CONSTANT VARCHAR2(30) := 'CREATE_K_ARTICLE';
51 l_return_status         VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
52 l_clob 			clob;
53 begin
54 /*  l_return_status := OKL_API.START_ACTIVITY(substr(l_api_name,1,26),
55                                               G_PKG_NAME,
56                                               p_init_msg_list,
57                                               G_API_VERSION,
58                                               p_api_version,
59                                               G_SCOPE,
60                                               x_return_status);
61   IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
62     RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
63   ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
64     RAISE OKC_API.G_EXCEPTION_ERROR;
65   END IF;*/
66   g_catv_rec := p_catv_rec;
67   --
68   -- code for temporary clob ... start
69   --
70 /*  if (dbms_lob.istemporary(p_catv_rec.TEXT) = 1) then
71     DBMS_LOB.CREATETEMPORARY(g_catv_rec.TEXT,FALSE,DBMS_LOB.CALL);
72     l_clob := p_catv_rec.TEXT;
73     DBMS_LOB.OPEN(l_clob, DBMS_LOB.LOB_READONLY);
74     DBMS_LOB.OPEN(g_catv_rec.TEXT, DBMS_LOB.LOB_READWRITE);
75     DBMS_LOB.COPY(dest_lob => g_catv_rec.TEXT,src_lob => l_clob,
76   			amount => dbms_lob.getlength(l_clob));
77     DBMS_LOB.CLOSE(g_catv_rec.TEXT);
78     DBMS_LOB.CLOSE(l_clob);
79     DBMS_LOB.freetemporary(l_clob);
80   end if;
81 */
82   --
83   -- code for temporary clob ... end
84   --
85   --
86   -- Call Before Logic Hook
87   --
88   okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'B');
89   IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
90     raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
91   ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
92     raise OKC_API.G_EXCEPTION_ERROR;
93   END IF;
94   reset(p_catv_rec);
95   OKL_VP_K_ARTICLE_PVT.create_k_article
96   (
97                               p_api_version 	=> p_api_version,
98                               p_init_msg_list 	=> OKC_API.G_FALSE,
99                               x_return_status 	=> x_return_status,
100                               x_msg_count		=> x_msg_count,
101                               x_msg_data		=> x_msg_data,
102                               p_catv_rec		=> g_catv_rec,
103                               x_catv_rec		=> x_catv_rec
104   );
105   IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
106     RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
107   ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
108     RAISE OKC_API.G_EXCEPTION_ERROR;
109   END IF;
110   --
111   -- Call After Logic Hook
112   --
113   g_catv_rec := x_catv_rec;
114   okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'A');
115   IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
116     raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
117   ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
118     raise OKC_API.G_EXCEPTION_ERROR;
119   END IF;
120 /*  OKL_API.END_ACTIVITY(x_msg_count, x_msg_data);*/
121    EXCEPTION
122      WHEN OKC_API.G_EXCEPTION_ERROR THEN
123        x_return_status := OKC_API.HANDLE_EXCEPTIONS
124        (substr(l_api_name,1,26),
125         G_PKG_NAME,
126         'OKC_API.G_RET_STS_ERROR',
127         x_msg_count,
128         x_msg_data,
129         G_SCOPE);
130      WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
131        x_return_status := OKC_API.HANDLE_EXCEPTIONS
132        (substr(l_api_name,1,26),
133         G_PKG_NAME,
134         'OKC_API.G_RET_STS_UNEXP_ERROR',
135         x_msg_count,
136         x_msg_data,
137         G_SCOPE);
138      WHEN OTHERS THEN
139        x_return_status := OKC_API.HANDLE_EXCEPTIONS
140        (substr(l_api_name,1,26),
141         G_PKG_NAME,
142         'OTHERS',
143         x_msg_count,
144         x_msg_data,
145         G_SCOPE);
146 end create_k_article;
147 -- Start of comments
148 --
149 -- Procedure Name  : create_k_article
150 -- Description     :
151 -- Business Rules  :
152 -- Parameters      :
153 -- Version         : 1.0
154 -- End of comments
155 procedure create_k_article(p_api_version	IN	NUMBER,
156                               p_init_msg_list	IN	VARCHAR2 default OKC_API.G_FALSE,
157                               x_return_status	OUT NOCOPY	VARCHAR2,
158                               x_msg_count	OUT NOCOPY	NUMBER,
159                               x_msg_data	OUT NOCOPY	VARCHAR2,
160                               p_catv_tbl	IN	catv_tbl_type,
161                               x_catv_tbl	OUT NOCOPY	catv_tbl_type) is
162   c 	NUMBER;
163   i 	NUMBER;
164   l_return_status	VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
165   BEGIN
166     OKC_API.init_msg_list(p_init_msg_list);
167     x_return_status:= OKC_API.G_RET_STS_SUCCESS;
168     c:=p_catv_tbl.COUNT;
169     if (c>0) then
170       i := p_catv_tbl.FIRST;
171       LOOP
172 	  create_k_article
173        (
174                   p_api_version	=> p_api_version,
175                   p_init_msg_list	=> OKC_API.G_FALSE,
176                   x_return_status	=> x_return_status,
177                   x_msg_count		=> x_msg_count,
178                   x_msg_data		=> x_msg_data,
179                   p_catv_rec		=> p_catv_tbl(i),
180                   x_catv_rec		=> x_catv_tbl(i)
181         );
182         if (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) then
183           raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
184         elsif (x_return_status = OKC_API.G_RET_STS_ERROR) then
185           null;
186         end if;
187         c:=c-1;
188         EXIT WHEN (c=0);
189         i := p_catv_tbl.NEXT(i);
190       END LOOP;
191     end if;
192 exception
193 when others then NULL;
194 end create_k_article;
195 
196 -- Start of comments
197 --
198 -- Procedure Name  : update_k_article
199 -- Description     :
200 -- Business Rules  :
201 -- Parameters      :
202 -- Version         : 1.0
203 -- End of comments
204 procedure update_k_article(p_api_version	IN	NUMBER,
205                               p_init_msg_list	IN	VARCHAR2 default OKC_API.G_FALSE,
206                               x_return_status	OUT NOCOPY	VARCHAR2,
207                               x_msg_count	OUT NOCOPY	NUMBER,
208                               x_msg_data	OUT NOCOPY	VARCHAR2,
209                               p_catv_rec	IN	catv_rec_type,
210                               x_catv_rec	OUT NOCOPY	catv_rec_type) is
211 l_api_name                     CONSTANT VARCHAR2(30) := 'UPDATE_K_ARTICLE';
212 l_return_status                VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
213 l_clob 			clob;
214 begin
215   l_return_status := OKC_API.START_ACTIVITY(substr(l_api_name,1,26),
216                                               G_PKG_NAME,
217                                               p_init_msg_list,
218                                               G_API_VERSION,
219                                               p_api_version,
220                                               G_SCOPE,
221                                               x_return_status);
222   IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
223     RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
224   ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
225     RAISE OKC_API.G_EXCEPTION_ERROR;
226   END IF;
227   g_catv_rec := p_catv_rec;
228   --
229   -- code for temporary clob ... start
230   --
231 /*  if (dbms_lob.istemporary(p_catv_rec.TEXT) = 1) then
232     DBMS_LOB.CREATETEMPORARY(g_catv_rec.TEXT,FALSE,DBMS_LOB.CALL);
233     l_clob := p_catv_rec.TEXT;
234     DBMS_LOB.OPEN(l_clob, DBMS_LOB.LOB_READONLY);
235     DBMS_LOB.OPEN(g_catv_rec.TEXT, DBMS_LOB.LOB_READWRITE);
236     DBMS_LOB.COPY(dest_lob => g_catv_rec.TEXT,src_lob => l_clob,
237   			amount => dbms_lob.getlength(l_clob));
238     DBMS_LOB.CLOSE(g_catv_rec.TEXT);
239     DBMS_LOB.CLOSE(l_clob);
240     DBMS_LOB.freetemporary(l_clob);
241   end if;
242 */
243   --
244   -- code for temporary clob ... end
245   --
246 --
247   --
248   -- Call Before Logic Hook
249   --
250   okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'B');
251   IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
252     raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
253   ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
254     raise OKC_API.G_EXCEPTION_ERROR;
255   END IF;
256   reset(p_catv_rec);
257   OKL_VP_K_ARTICLE_PVT.update_k_article ( p_api_version 	=> p_api_version,
258                               p_init_msg_list 	=> OKC_API.G_FALSE,
259                               x_return_status 	=> x_return_status,
260                               x_msg_count		=> x_msg_count,
261                               x_msg_data		=> x_msg_data,
262                               p_catv_rec		=> g_catv_rec,
263                               x_catv_rec		=> x_catv_rec
264                               );
265   IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
266     RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
267   ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
268     RAISE OKC_API.G_EXCEPTION_ERROR;
269   END IF;
270   --
271   -- Call After Logic Hook
272   --
273   g_catv_rec := x_catv_rec;
274   okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'A');
275   IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
276     raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
277   ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
278     raise OKC_API.G_EXCEPTION_ERROR;
279   END IF;
280   OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
281    EXCEPTION
282      WHEN OKC_API.G_EXCEPTION_ERROR THEN
283        x_return_status := OKC_API.HANDLE_EXCEPTIONS
284        (substr(l_api_name,1,26),
285         G_PKG_NAME,
286         'OKC_API.G_RET_STS_ERROR',
287         x_msg_count,
288         x_msg_data,
289         G_SCOPE);
290      WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
291        x_return_status := OKC_API.HANDLE_EXCEPTIONS
292        (substr(l_api_name,1,26),
293         G_PKG_NAME,
294         'OKC_API.G_RET_STS_UNEXP_ERROR',
295         x_msg_count,
296         x_msg_data,
297         G_SCOPE);
298      WHEN OTHERS THEN
299        x_return_status := OKC_API.HANDLE_EXCEPTIONS
300        (substr(l_api_name,1,26),
301         G_PKG_NAME,
302         'OTHERS',
303         x_msg_count,
304         x_msg_data,
305         G_SCOPE);
306 end update_k_article;
307 -- Start of comments
308 --
309 -- Procedure Name  : update_k_article
310 -- Description     :
311 -- Business Rules  :
312 -- Parameters      :
313 -- Version         : 1.0
314 -- End of comments
315 procedure update_k_article(p_api_version	IN	NUMBER,
316                               p_init_msg_list	IN	VARCHAR2 default OKC_API.G_FALSE,
317                               x_return_status	OUT NOCOPY	VARCHAR2,
318                               x_msg_count	OUT NOCOPY	NUMBER,
319                               x_msg_data	OUT NOCOPY	VARCHAR2,
320                               p_catv_tbl	IN	catv_tbl_type,
321                               x_catv_tbl	OUT NOCOPY	catv_tbl_type) is
322 i NUMBER;
323 l_return_status	VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
324 begin
325      OKC_API.init_msg_list(p_init_msg_list);
326       x_return_status:= OKC_API.G_RET_STS_SUCCESS;
327       if (p_catv_tbl.COUNT>0) then
328         i := p_catv_tbl.FIRST;
329         LOOP
330 	    update_k_article(p_api_version=>p_api_version,
331                               p_init_msg_list=>OKC_API.G_FALSE,
332                               x_return_status=>l_return_status,
333                               x_msg_count=>x_msg_count,
334                               x_msg_data=>x_msg_data,
335                               p_catv_rec=>p_catv_tbl(i),
336                               x_catv_rec=>x_catv_tbl(i));
337           if (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) then
338             x_return_status := l_return_status;
339             raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
340           elsif (l_return_status = OKC_API.G_RET_STS_ERROR) then
341             x_return_status := l_return_status;
342           end if;
343           EXIT WHEN (i=p_catv_tbl.LAST);
344           i := p_catv_tbl.NEXT(i);
345         END LOOP;
346       end if;
347 exception
348 when others then NULL;
349 end update_k_article;
350 -- Start of comments
351 --
352 -- Procedure Name  : delete_k_article
353 -- Description     :
354 -- Business Rules  :
355 -- Parameters      :
356 -- Version         : 1.0
357 -- End of comments
358 procedure delete_k_article(p_api_version	IN	NUMBER,
359                               p_init_msg_list	IN	VARCHAR2 default OKC_API.G_FALSE,
360                               x_return_status	OUT NOCOPY	VARCHAR2,
361                               x_msg_count	OUT NOCOPY	NUMBER,
362                               x_msg_data	OUT NOCOPY	VARCHAR2,
363                               p_catv_rec	IN	catv_rec_type) is
364 l_api_name                     CONSTANT VARCHAR2(30) := 'DELETE_K_ARTICLE';
365 l_return_status                VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
366 begin
367   l_return_status := OKC_API.START_ACTIVITY(substr(l_api_name,1,26),
368                                               G_PKG_NAME,
369                                               p_init_msg_list,
370                                               G_API_VERSION,
371                                               p_api_version,
372                                               G_SCOPE,
373                                               x_return_status);
374   IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
375     RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
376   ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
377     RAISE OKC_API.G_EXCEPTION_ERROR;
378   END IF;
379   g_catv_rec := p_catv_rec;
380   --
381   -- Call Before Logic Hook
382   --
383   okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'B');
384   IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
385     raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
386   ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
387     raise OKC_API.G_EXCEPTION_ERROR;
388   END IF;
389   reset(p_catv_rec);
390   OKL_VP_K_ARTICLE_PVT.delete_k_article
391   	(
392 					p_api_version 	=> p_api_version,
393                               p_init_msg_list 	=> OKC_API.G_FALSE,
394                               x_return_status 	=> x_return_status,
395                               x_msg_count		=> x_msg_count,
396                               x_msg_data		=> x_msg_data,
397                               p_catv_rec		=> g_catv_rec
398   	);
399   IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
400     RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
401   ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
402     RAISE OKC_API.G_EXCEPTION_ERROR;
403   END IF;
404   --
405   -- Call After Logic Hook
406   --
407   okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'A');
408   IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
409     raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
410   ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
411     raise OKC_API.G_EXCEPTION_ERROR;
412   END IF;
413   OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
414    EXCEPTION
415      WHEN OKC_API.G_EXCEPTION_ERROR THEN
416        x_return_status := OKC_API.HANDLE_EXCEPTIONS
417        (substr(l_api_name,1,26),
418         G_PKG_NAME,
419         'OKC_API.G_RET_STS_ERROR',
420         x_msg_count,
421         x_msg_data,
422         G_SCOPE);
423      WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
424        x_return_status := OKC_API.HANDLE_EXCEPTIONS
425        (substr(l_api_name,1,26),
426         G_PKG_NAME,
427         'OKC_API.G_RET_STS_UNEXP_ERROR',
428         x_msg_count,
429         x_msg_data,
430         G_SCOPE);
431      WHEN OTHERS THEN
432        x_return_status := OKC_API.HANDLE_EXCEPTIONS
433        (substr(l_api_name,1,26),
434         G_PKG_NAME,
435         'OTHERS',
436         x_msg_count,
437         x_msg_data,
438         G_SCOPE);
439 end delete_k_article;
440 -- Start of comments
441 --
442 -- Procedure Name  : delete_k_article
443 -- Description     :
444 -- Business Rules  :
445 -- Parameters      :
446 -- Version         : 1.0
447 -- End of comments
448 procedure delete_k_article(p_api_version	IN	NUMBER,
449                               p_init_msg_list	IN	VARCHAR2 default OKC_API.G_FALSE,
450                               x_return_status	OUT NOCOPY	VARCHAR2,
451                               x_msg_count	OUT NOCOPY	NUMBER,
452                               x_msg_data	OUT NOCOPY	VARCHAR2,
453                               p_catv_tbl	IN	catv_tbl_type) is
454 i NUMBER;
455 l_return_status	VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
456 begin
457   OKC_API.init_msg_list(p_init_msg_list);
458   x_return_status:= OKC_API.G_RET_STS_SUCCESS;
459   if (p_catv_tbl.COUNT>0) then
460     i := p_catv_tbl.FIRST;
461     LOOP
462       delete_k_article(p_api_version=>p_api_version,
463                               p_init_msg_list=>OKC_API.G_FALSE,
464                               x_return_status=>l_return_status,
465                               x_msg_count=>x_msg_count,
466                               x_msg_data=>x_msg_data,
467                               p_catv_rec=>p_catv_tbl(i));
468       if (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) then
469           x_return_status := l_return_status;
470           raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
471       elsif (l_return_status = OKC_API.G_RET_STS_ERROR) then
472           x_return_status := l_return_status;
473       end if;
474       EXIT WHEN (i=p_catv_tbl.LAST);
475       i := p_catv_tbl.NEXT(i);
476     END LOOP;
477   end if;
478 exception
479 when others then NULL;
480 end delete_k_article;
481 
482 
483 -- Start of comments
484 --
485 -- Procedure Name  : std_art_name
486 -- Description     :
487 -- Business Rules  :
488 -- Parameters      :
489 -- Version         : 1.0
490 -- End of comments
491 function std_art_name(p_sav_sae_id IN NUMBER) return varchar2 is
492 l_name varchar2(150);
493 cursor c1 is
494   select name
495   from OKC_STD_ARTICLES_V
496   where ID = p_sav_sae_id;
497 begin
498   open c1;
499   fetch c1 into l_name;
500   close c1;
501   return l_name;
502 end std_art_name;
503 
504 -----------------------------------------------------------------------------
505 -- If p_text passed, updates the text with p_text.
506 -- Otherwise copies clob text to other recs with same source_lang as lang
507 -- in OKC_K_ARTICLES_TL table
508 ------------------------------------------------------------------------------
509 -- new 11510 version of FUNCTION Copy_Articles_Text
510   FUNCTION Copy_Articles_Text(p_id NUMBER,lang VARCHAR2,p_text VARCHAR2 ) RETURN VARCHAR2
511    IS
512     l_return_status	VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
513     x_return_status	VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
514     x_msg_count NUMBER;
515     x_msg_data VARCHAR2(4000);
516     p_api_version NUMBER := 1.0;
517     p_init_msg_list VARCHAR2(1) := OKC_API.G_FALSE;
518 
519     length            NUMBER;
520     l_chr_id            OKL_VP_ASSOCIATIONS.CHR_ID%TYPE;
521 
522 
523     CURSOR cur_get_chr_id IS
524     SELECT dnz_chr_id
525     FROM   okc_k_articles_v
526     WHERE  id = p_id;
527 
528    BEGIN
529 
530     /* Manu 22-Jul-2005 Begin */
531     OPEN  cur_get_chr_id;
532     FETCH cur_get_chr_id INTO l_chr_id;
533     CLOSE cur_get_chr_id;
534     /* Manu 22-Jul-2005 END */
535 
536     IF (p_text IS NOT NULL) THEN
537       l_return_status := OKC_UTIL.Copy_Articles_Text(p_id   => p_id,
538                                   lang   => lang,
539                                   p_text => p_text);
540 
541       /* Manu 22-Jul-2005 Begin */
542       IF (l_return_status = FND_API.G_RET_STS_SUCCESS) THEN
543         OKL_VENDOR_PROGRAM_PVT.passed_to_incomplete(p_api_version    => p_api_version
544                                ,p_init_msg_list => p_init_msg_list
545                                ,x_return_status => x_return_status
546                                ,x_msg_count     => x_msg_count
547                                ,x_msg_data      => x_msg_data
548                                ,p_program_id    => l_chr_id
549                               );
550       END IF;
551       /* Manu 22-Jul-2005 END */
552 
553     END IF;
554     RETURN l_return_status;
555    EXCEPTION
556     WHEN OTHERS THEN
557 	  l_return_status := OKL_API.G_RET_STS_ERROR;
558 	  RETURN l_return_status;
559   END Copy_Articles_Text;
560 
561 
562 END; -- Package Body OKL_VP_K_ARTICLE_PUB