DBA Data[Home] [Help]

PACKAGE BODY: APPS.OKC_CHANGE_REQUEST_PUB

Source


1 package body OKC_CHANGE_REQUEST_PUB as
2 /* $Header: OKCPCRTB.pls 120.0 2005/05/27 05:17:53 appldev noship $ */
3 	l_debug VARCHAR2(1) := NVL(FND_PROFILE.VALUE('AFLOG_ENABLED'),'N');
4 
5   G_APP_NAME			CONSTANT VARCHAR2(3)   :=  OKC_API.G_APP_NAME;
6   G_PKG_NAME			CONSTANT VARCHAR2(200) := 'OKC_CHANGE_REQUEST_PUB';
7   G_API_VERSION               CONSTANT NUMBER := 1;
8   G_SCOPE				CONSTANT varchar2(4) := '_PUB';
9 
10   aname                      varchar2(100); -- admin lov
11 
12 procedure reset(p_crtv_rec IN crtv_rec_type) is
13 begin
14     g_crtv_rec.id                    := p_crtv_rec.id;
15     g_crtv_rec.object_version_number := p_crtv_rec.object_version_number;
16     g_crtv_rec.created_by            := p_crtv_rec.created_by;
17     g_crtv_rec.creation_date         := p_crtv_rec.creation_date;
18     g_crtv_rec.last_updated_by       := p_crtv_rec.last_updated_by;
19     g_crtv_rec.last_update_date      := p_crtv_rec.last_update_date;
20     g_crtv_rec.last_update_login     := p_crtv_rec.last_update_login;
21 end reset;
22 
23 procedure reset(p_corv_rec IN corv_rec_type) is
24 begin
25     g_corv_rec.id                    := p_corv_rec.id;
26     g_corv_rec.object_version_number := p_corv_rec.object_version_number;
27     g_corv_rec.created_by            := p_corv_rec.created_by;
28     g_corv_rec.creation_date         := p_corv_rec.creation_date;
29     g_corv_rec.last_updated_by       := p_corv_rec.last_updated_by;
30     g_corv_rec.last_update_date      := p_corv_rec.last_update_date;
31     g_corv_rec.last_update_login     := p_corv_rec.last_update_login;
32 end reset;
33 
34 procedure reset(p_cprv_rec IN cprv_rec_type) is
35 begin
36 --    g_cprv_rec.id                    := p_cprv_rec.id;
37     g_cprv_rec.object_version_number := p_cprv_rec.object_version_number;
38     g_cprv_rec.created_by            := p_cprv_rec.created_by;
39     g_cprv_rec.creation_date         := p_cprv_rec.creation_date;
40     g_cprv_rec.last_updated_by       := p_cprv_rec.last_updated_by;
41     g_cprv_rec.last_update_date      := p_cprv_rec.last_update_date;
42     g_cprv_rec.last_update_login     := p_cprv_rec.last_update_login;
43 end reset;
44 
45 -- Start of comments
46 --
47 -- Procedure Name  : add_language
48 -- Description     :
49 -- Business Rules  :
50 -- Parameters      :
51 -- Version         : 1.0
52 -- End of comments
53 
54 procedure add_language is
55 begin
56   OKC_CHANGE_REQUEST_PVT.add_language_change_request;
57   OKC_CHANGE_REQUEST_PVT.add_language_change;
58 end add_language;
59 
60 -- Start of comments
61 --
62 -- Procedure Name  : create_change_request
63 -- Description     :
64 -- Business Rules  :
65 -- Parameters      :
66 -- Version         : 1.0
67 -- End of comments
68 
69 procedure create_change_request(p_api_version	IN	NUMBER,
70                               p_init_msg_list	IN	VARCHAR2 ,
71                               x_return_status	OUT NOCOPY	VARCHAR2,
72                               x_msg_count	OUT NOCOPY	NUMBER,
73                               x_msg_data	OUT NOCOPY	VARCHAR2,
74                               p_crtv_rec	IN	crtv_rec_type,
75                               x_crtv_rec	OUT NOCOPY	crtv_rec_type) is
76 l_api_name                     CONSTANT VARCHAR2(30) := 'create_change_request';
77 l_api_version                  CONSTANT NUMBER := 1;
78 l_return_status                VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
79 begin
80   l_return_status := OKC_API.START_ACTIVITY(substr(l_api_name,1,26),
81                                               G_PKG_NAME,
82                                               p_init_msg_list,
83                                               l_api_version,
84                                               p_api_version,
85                                               '_PUB',
86                                               x_return_status);
87   IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
88     RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
89   ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
90     RAISE OKC_API.G_EXCEPTION_ERROR;
91   END IF;
92   --
93   -- Call Before Logic Hook
94   --
95   g_crtv_rec := p_crtv_rec;
96   okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'B');
97   IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
98     raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
99   ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
100     raise OKC_API.G_EXCEPTION_ERROR;
101   END IF;
102   reset(p_crtv_rec);
103   OKC_CHANGE_REQUEST_PVT.create_change_request(
104 					p_api_version => p_api_version,
105                               p_init_msg_list => OKC_API.G_FALSE,
106                               x_return_status => x_return_status,
107                               x_msg_count => x_msg_count,
108                               x_msg_data => x_msg_data,
109                               p_crtv_rec => g_crtv_rec,
110                               x_crtv_rec => x_crtv_rec);
111   IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
112     RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
113   ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
114     RAISE OKC_API.G_EXCEPTION_ERROR;
115   END IF;
116   --
117   -- Call After Logic Hook
118   --
119   g_crtv_rec := x_crtv_rec;
120   okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'A');
121   IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
122     raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
123   ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
124     raise OKC_API.G_EXCEPTION_ERROR;
125   END IF;
126   OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
127   EXCEPTION
128      WHEN OKC_API.G_EXCEPTION_ERROR THEN
129        x_return_status := OKC_API.HANDLE_EXCEPTIONS
130        (substr(l_api_name,1,26),
131         G_PKG_NAME,
132         'OKC_API.G_RET_STS_ERROR',
133         x_msg_count,
134         x_msg_data,
135         '_PUB');
136      WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
137        x_return_status := OKC_API.HANDLE_EXCEPTIONS
138        (substr(l_api_name,1,26),
139         G_PKG_NAME,
140         'OKC_API.G_RET_STS_UNEXP_ERROR',
141         x_msg_count,
142         x_msg_data,
143         '_PUB');
144      WHEN OTHERS THEN
145        x_return_status := OKC_API.HANDLE_EXCEPTIONS
146        (substr(l_api_name,1,26),
147         G_PKG_NAME,
148         'OTHERS',
149         x_msg_count,
150         x_msg_data,
151         '_PUB');
152 end create_change_request;
153 
154 -- Start of comments
155 --
156 -- Procedure Name  : create_change_request
157 -- Description     :
158 -- Business Rules  :
159 -- Parameters      :
160 -- Version         : 1.0
161 -- End of comments
162 
163 procedure create_change_request(p_api_version	IN	NUMBER,
164                               p_init_msg_list	IN	VARCHAR2 ,
165                               x_return_status	OUT NOCOPY	VARCHAR2,
166                               x_msg_count	OUT NOCOPY	NUMBER,
167                               x_msg_data	OUT NOCOPY	VARCHAR2,
168                               p_crtv_tbl	IN	crtv_tbl_type,
169                               x_crtv_tbl	OUT NOCOPY	crtv_tbl_type) is
170 i NUMBER;
171 l_return_status	VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
172 begin
173      OKC_API.init_msg_list(p_init_msg_list);
174       x_return_status:= OKC_API.G_RET_STS_SUCCESS;
175       if (p_crtv_tbl.COUNT>0) then
176         i := p_crtv_tbl.FIRST;
177         LOOP
178 	    create_change_request(p_api_version=>p_api_version,
179                               p_init_msg_list=>OKC_API.G_FALSE,
180                               x_return_status=>l_return_status,
181                               x_msg_count=>x_msg_count,
182                               x_msg_data=>x_msg_data,
183                               p_crtv_rec=>p_crtv_tbl(i),
184                               x_crtv_rec=>x_crtv_tbl(i));
185           if (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) then
186             x_return_status := l_return_status;
187             raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
188           elsif (l_return_status = OKC_API.G_RET_STS_ERROR) then
189             x_return_status := l_return_status;
190           end if;
191           EXIT WHEN (i=p_crtv_tbl.LAST);
192           i := p_crtv_tbl.NEXT(i);
193         END LOOP;
194       end if;
195 exception
196 when others then NULL;
197 end create_change_request;
198 
199 procedure update_change_request(p_api_version	IN	NUMBER,
200                               p_init_msg_list	IN	VARCHAR2 ,
201                               x_return_status	OUT NOCOPY	VARCHAR2,
202                               x_msg_count	OUT NOCOPY	NUMBER,
203                               x_msg_data	OUT NOCOPY	VARCHAR2,
204                               p_crtv_rec	IN	crtv_rec_type,
205                               x_crtv_rec	OUT NOCOPY	crtv_rec_type) is
206 l_api_name                     CONSTANT VARCHAR2(30) := 'update_change_request';
207 l_api_version                  CONSTANT NUMBER := 1;
208 l_return_status                VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
209 begin
210   l_return_status := OKC_API.START_ACTIVITY(substr(l_api_name,1,26),
211                                               G_PKG_NAME,
212                                               p_init_msg_list,
213                                               l_api_version,
214                                               p_api_version,
215                                               '_PUB',
216                                               x_return_status);
217   IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
218     RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
219   ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
220     RAISE OKC_API.G_EXCEPTION_ERROR;
221   END IF;
222   --
223   -- Call Before Logic Hook
224   --
225   g_crtv_rec := p_crtv_rec;
226   okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'B');
227   IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
228     raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
229   ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
230     raise OKC_API.G_EXCEPTION_ERROR;
231   END IF;
232   reset(p_crtv_rec);
233   OKC_CHANGE_REQUEST_PVT.update_change_request(
234 					p_api_version => p_api_version,
235                               p_init_msg_list => OKC_API.G_FALSE,
236                               x_return_status => x_return_status,
237                               x_msg_count => x_msg_count,
238                               x_msg_data => x_msg_data,
239                               p_crtv_rec => g_crtv_rec,
240                               x_crtv_rec => x_crtv_rec);
241   IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
242     RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
243   ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
244     RAISE OKC_API.G_EXCEPTION_ERROR;
245   END IF;
246   --
247   -- Call After Logic Hook
248   --
249   g_crtv_rec := x_crtv_rec;
250   okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'A');
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   OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
257   EXCEPTION
258      WHEN OKC_API.G_EXCEPTION_ERROR THEN
259        x_return_status := OKC_API.HANDLE_EXCEPTIONS
260        (substr(l_api_name,1,26),
261         G_PKG_NAME,
262         'OKC_API.G_RET_STS_ERROR',
263         x_msg_count,
264         x_msg_data,
265         '_PUB');
266      WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
267        x_return_status := OKC_API.HANDLE_EXCEPTIONS
268        (substr(l_api_name,1,26),
269         G_PKG_NAME,
270         'OKC_API.G_RET_STS_UNEXP_ERROR',
271         x_msg_count,
272         x_msg_data,
273         '_PUB');
274      WHEN OTHERS THEN
275        x_return_status := OKC_API.HANDLE_EXCEPTIONS
276        (substr(l_api_name,1,26),
277         G_PKG_NAME,
278         'OTHERS',
279         x_msg_count,
280         x_msg_data,
281         '_PUB');
282 end update_change_request;
283 
284 -- Start of comments
285 --
286 -- Procedure Name  : update_change_request
287 -- Description     :
288 -- Business Rules  :
289 -- Parameters      :
290 -- Version         : 1.0
291 -- End of comments
292 
293 procedure update_change_request(p_api_version	IN	NUMBER,
294                               p_init_msg_list	IN	VARCHAR2 ,
295                               x_return_status	OUT NOCOPY	VARCHAR2,
296                               x_msg_count	OUT NOCOPY	NUMBER,
297                               x_msg_data	OUT NOCOPY	VARCHAR2,
298                               p_crtv_tbl	IN	crtv_tbl_type,
299                               x_crtv_tbl	OUT NOCOPY	crtv_tbl_type) is
300 i NUMBER;
301 l_return_status	VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
302 begin
303      OKC_API.init_msg_list(p_init_msg_list);
304       x_return_status:= OKC_API.G_RET_STS_SUCCESS;
305       if (p_crtv_tbl.COUNT>0) then
306         i := p_crtv_tbl.FIRST;
307         LOOP
308 	    update_change_request(p_api_version=>p_api_version,
309                               p_init_msg_list=>OKC_API.G_FALSE,
310                               x_return_status=>l_return_status,
311                               x_msg_count=>x_msg_count,
312                               x_msg_data=>x_msg_data,
313                               p_crtv_rec=>p_crtv_tbl(i),
314                               x_crtv_rec=>x_crtv_tbl(i));
315           if (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) then
316             x_return_status := l_return_status;
317             raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
318           elsif (l_return_status = OKC_API.G_RET_STS_ERROR) then
319             x_return_status := l_return_status;
320           end if;
321           EXIT WHEN (i=p_crtv_tbl.LAST);
322           i := p_crtv_tbl.NEXT(i);
323         END LOOP;
324       end if;
325 exception
326 when others then NULL;
327 end update_change_request;
328 
329 -- Start of comments
330 --
331 -- Procedure Name  : delete_change_request
332 -- Description     :
333 -- Business Rules  :
334 -- Parameters      :
335 -- Version         : 1.0
336 -- End of comments
337 procedure delete_change_request(p_api_version	 IN	NUMBER,
338                          p_init_msg_list IN	VARCHAR2 ,
339                          x_return_status OUT NOCOPY	VARCHAR2,
340                          x_msg_count	 OUT NOCOPY	NUMBER,
341                          x_msg_data	 OUT NOCOPY	VARCHAR2,
342                          p_crtv_rec	 IN	crtv_rec_type) is
343 l_api_name                     CONSTANT VARCHAR2(30) := 'delete_change_request';
344 l_return_status                VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
345 begin
346   l_return_status := OKC_API.START_ACTIVITY(substr(l_api_name,1,26),
347                                               G_PKG_NAME,
348                                               p_init_msg_list,
349                                               G_API_VERSION,
350                                               p_api_version,
351                                               G_SCOPE,
352                                               x_return_status);
353   IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
354     RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
355   ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
356     RAISE OKC_API.G_EXCEPTION_ERROR;
357   END IF;
358   --
359   -- Call Before Logic Hook
360   --
361   g_crtv_rec := p_crtv_rec;
362   okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'B');
363   IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
364     raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
365   ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
366     raise OKC_API.G_EXCEPTION_ERROR;
367   END IF;
368   reset(p_crtv_rec);
369 	OKC_CHANGE_REQUEST_PVT.delete_change_request
370   	(
371 					p_api_version 	=> p_api_version,
372                               p_init_msg_list 	=> OKC_API.G_FALSE,
373                               x_return_status 	=> x_return_status,
374                               x_msg_count		=> x_msg_count,
375                               x_msg_data		=> x_msg_data,
376                               p_crtv_rec		=> g_crtv_rec
377   	);
378   IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
379     RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
380   ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
381     RAISE OKC_API.G_EXCEPTION_ERROR;
382   END IF;
383   --
384   -- Call After Logic Hook
385   --
386   okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'A');
387   IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
388     raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
389   ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
390     raise OKC_API.G_EXCEPTION_ERROR;
391   END IF;
392   OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
393    EXCEPTION
394      WHEN OKC_API.G_EXCEPTION_ERROR THEN
395        x_return_status := OKC_API.HANDLE_EXCEPTIONS
396        (substr(l_api_name,1,26),
397         G_PKG_NAME,
398         'OKC_API.G_RET_STS_ERROR',
399         x_msg_count,
400         x_msg_data,
401         G_SCOPE);
402      WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
403        x_return_status := OKC_API.HANDLE_EXCEPTIONS
404        (substr(l_api_name,1,26),
405         G_PKG_NAME,
406         'OKC_API.G_RET_STS_UNEXP_ERROR',
407         x_msg_count,
408         x_msg_data,
409         G_SCOPE);
410      WHEN OTHERS THEN
411        x_return_status := OKC_API.HANDLE_EXCEPTIONS
412        (substr(l_api_name,1,26),
413         G_PKG_NAME,
414         'OTHERS',
415         x_msg_count,
416         x_msg_data,
417         G_SCOPE);
418 end delete_change_request;
419 
420 -- Start of comments
421 --
422 -- Procedure Name  : delete_change_request
423 -- Description     :
424 -- Business Rules  :
425 -- Parameters      :
426 -- Version         : 1.0
427 -- End of comments
428 procedure delete_change_request(p_api_version	 IN	NUMBER,
429                          p_init_msg_list IN	VARCHAR2 ,
430                          x_return_status OUT NOCOPY	VARCHAR2,
431                          x_msg_count	 OUT NOCOPY	NUMBER,
432                          x_msg_data	 OUT NOCOPY	VARCHAR2,
433                          p_crtv_tbl	 IN	crtv_tbl_type) is
434 i NUMBER;
435 l_return_status	VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
436 begin
437   OKC_API.init_msg_list(p_init_msg_list);
438   x_return_status:= OKC_API.G_RET_STS_SUCCESS;
439   if (p_crtv_tbl.COUNT>0) then
440     i := p_crtv_tbl.FIRST;
441     LOOP
442       delete_change_request(p_api_version=>p_api_version,
443                               p_init_msg_list=>OKC_API.G_FALSE,
444                               x_return_status=>l_return_status,
445                               x_msg_count=>x_msg_count,
446                               x_msg_data=>x_msg_data,
447                               p_crtv_rec=>p_crtv_tbl(i));
448       if (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) then
449           x_return_status := l_return_status;
450           raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
451       elsif (l_return_status = OKC_API.G_RET_STS_ERROR) then
452           x_return_status := l_return_status;
453       end if;
454       EXIT WHEN (i=p_crtv_tbl.LAST);
455       i := p_crtv_tbl.NEXT(i);
456     END LOOP;
457   end if;
458 exception
459 when others then NULL;
460 end delete_change_request;
461 
462 -- Start of comments
463 --
464 -- Procedure Name  : lock_change_request
465 -- Description     :
466 -- Business Rules  :
467 -- Parameters      :
468 -- Version         : 1.0
469 -- End of comments
470 
471 procedure lock_change_request(p_api_version	IN	NUMBER,
472                               p_init_msg_list	IN	VARCHAR2 ,
473                               x_return_status	OUT NOCOPY	VARCHAR2,
474                               x_msg_count	OUT NOCOPY	NUMBER,
475                               x_msg_data	OUT NOCOPY	VARCHAR2,
476     					p_restricted IN VARCHAR2 ,
477                               p_crtv_rec	IN	crtv_rec_type) is
478 l_api_name                     CONSTANT VARCHAR2(30) := 'lock_change_request';
479 l_api_version                  CONSTANT NUMBER := 1;
480 l_return_status                VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
481 begin
482   l_return_status := OKC_API.START_ACTIVITY(substr(l_api_name,1,26),
483                                               G_PKG_NAME,
484                                               p_init_msg_list,
485                                               l_api_version,
486                                               p_api_version,
487                                               '_PUB',
488                                               x_return_status);
489   IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
490     RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
491   ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
492     RAISE OKC_API.G_EXCEPTION_ERROR;
493   END IF;
494   --
495   -- Call Before Logic Hook
496   --
497   g_crtv_rec := p_crtv_rec;
498   okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'B');
499   IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
500     raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
501   ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
502     raise OKC_API.G_EXCEPTION_ERROR;
503   END IF;
504   reset(p_crtv_rec);
505   OKC_CHANGE_REQUEST_PVT.lock_change_request(p_api_version => p_api_version,
506                               p_init_msg_list => OKC_API.G_FALSE,
507                               x_return_status => x_return_status,
508                               x_msg_count => x_msg_count,
509                               x_msg_data => x_msg_data,
510     					p_restricted => p_restricted,
511                               p_crtv_rec => g_crtv_rec);
512   IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
513     RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
514   ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
515     RAISE OKC_API.G_EXCEPTION_ERROR;
516   END IF;
517   --
518   -- Call After Logic Hook
519   --
520   okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'A');
521   IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
522     raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
523   ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
524     raise OKC_API.G_EXCEPTION_ERROR;
525   END IF;
526   OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
527   EXCEPTION
528      WHEN OKC_API.G_EXCEPTION_ERROR THEN
529        x_return_status := OKC_API.HANDLE_EXCEPTIONS
530        (substr(l_api_name,1,26),
531         G_PKG_NAME,
532         'OKC_API.G_RET_STS_ERROR',
533         x_msg_count,
534         x_msg_data,
535         '_PUB');
536      WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
537        x_return_status := OKC_API.HANDLE_EXCEPTIONS
538        (substr(l_api_name,1,26),
539         G_PKG_NAME,
540         'OKC_API.G_RET_STS_UNEXP_ERROR',
541         x_msg_count,
542         x_msg_data,
543         '_PUB');
544      WHEN OTHERS THEN
545        x_return_status := OKC_API.HANDLE_EXCEPTIONS
546        (substr(l_api_name,1,26),
547         G_PKG_NAME,
548         'OTHERS',
549         x_msg_count,
550         x_msg_data,
551         '_PUB');
552 end lock_change_request;
553 
554 -- Start of comments
555 --
556 -- Procedure Name  : lock_change_request
557 -- Description     :
558 -- Business Rules  :
559 -- Parameters      :
560 -- Version         : 1.0
561 -- End of comments
562 
563 procedure lock_change_request(p_api_version	IN	NUMBER,
564                               p_init_msg_list	IN	VARCHAR2 ,
565                               x_return_status	OUT NOCOPY	VARCHAR2,
566                               x_msg_count	OUT NOCOPY	NUMBER,
567                               x_msg_data	OUT NOCOPY	VARCHAR2,
568     					p_restricted IN VARCHAR2 ,
569                               p_crtv_tbl	IN	crtv_tbl_type) is
570 i NUMBER;
571 l_return_status	VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
572 begin
573      OKC_API.init_msg_list(p_init_msg_list);
574       x_return_status:= OKC_API.G_RET_STS_SUCCESS;
575       if (p_crtv_tbl.COUNT>0) then
576         i := p_crtv_tbl.FIRST;
577         LOOP
578 	    lock_change_request(p_api_version=>p_api_version,
579                               p_init_msg_list=>OKC_API.G_FALSE,
580                               x_return_status=>l_return_status,
581                               x_msg_count=>x_msg_count,
582                               x_msg_data=>x_msg_data,
583     					p_restricted => p_restricted,
584                               p_crtv_rec=>p_crtv_tbl(i));
585           if (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) then
586             x_return_status := l_return_status;
587             raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
588           elsif (l_return_status = OKC_API.G_RET_STS_ERROR) then
589             x_return_status := l_return_status;
590           end if;
591           EXIT WHEN (i=p_crtv_tbl.LAST);
592           i := p_crtv_tbl.NEXT(i);
593         END LOOP;
594       end if;
595 exception
596 when others then NULL;
597 end lock_change_request;
598 
599 -- Start of comments
600 --
601 -- Procedure Name  : validate_change_request
602 -- Description     :
603 -- Business Rules  :
604 -- Parameters      :
605 -- Version         : 1.0
606 -- End of comments
607 
608 procedure validate_change_request(p_api_version	IN	NUMBER,
609                               p_init_msg_list	IN	VARCHAR2 ,
610                               x_return_status	OUT NOCOPY	VARCHAR2,
611                               x_msg_count	OUT NOCOPY	NUMBER,
612                               x_msg_data	OUT NOCOPY	VARCHAR2,
613                               p_crtv_rec	IN	crtv_rec_type) is
614 l_api_name                     CONSTANT VARCHAR2(30) := 'validate_change_request';
615 l_api_version                  CONSTANT NUMBER := 1;
616 l_return_status                VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
617 begin
618   l_return_status := OKC_API.START_ACTIVITY(substr(l_api_name,1,26),
619                                               G_PKG_NAME,
620                                               p_init_msg_list,
621                                               l_api_version,
622                                               p_api_version,
623                                               '_PUB',
624                                               x_return_status);
625   IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
626     RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
627   ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
628     RAISE OKC_API.G_EXCEPTION_ERROR;
629   END IF;
630   --
631   -- Call Before Logic Hook
632   --
633   g_crtv_rec := p_crtv_rec;
634   okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'B');
635   IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
636     raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
637   ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
638     raise OKC_API.G_EXCEPTION_ERROR;
639   END IF;
640   reset(p_crtv_rec);
641   OKC_CHANGE_REQUEST_PVT.validate_change_request(
642 					p_api_version => p_api_version,
643                               p_init_msg_list => OKC_API.G_FALSE,
644                               x_return_status => x_return_status,
645                               x_msg_count => x_msg_count,
646                               x_msg_data => x_msg_data,
647                               p_crtv_rec => g_crtv_rec);
648   IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
649     RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
650   ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
651     RAISE OKC_API.G_EXCEPTION_ERROR;
652   END IF;
653   --
654   -- Call After Logic Hook
655   --
656   okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'A');
657   IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
658     raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
659   ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
660     raise OKC_API.G_EXCEPTION_ERROR;
661   END IF;
662   OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
663   EXCEPTION
664      WHEN OKC_API.G_EXCEPTION_ERROR THEN
665        x_return_status := OKC_API.HANDLE_EXCEPTIONS
666        (substr(l_api_name,1,26),
667         G_PKG_NAME,
668         'OKC_API.G_RET_STS_ERROR',
669         x_msg_count,
670         x_msg_data,
671         '_PUB');
672      WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
673        x_return_status := OKC_API.HANDLE_EXCEPTIONS
674        (substr(l_api_name,1,26),
675         G_PKG_NAME,
676         'OKC_API.G_RET_STS_UNEXP_ERROR',
677         x_msg_count,
678         x_msg_data,
679         '_PUB');
680      WHEN OTHERS THEN
681        x_return_status := OKC_API.HANDLE_EXCEPTIONS
682        (substr(l_api_name,1,26),
683         G_PKG_NAME,
684         'OTHERS',
685         x_msg_count,
686         x_msg_data,
687         '_PUB');
688 end validate_change_request;
689 
690 -- Start of comments
691 --
692 -- Procedure Name  : validate_change_request
693 -- Description     :
694 -- Business Rules  :
695 -- Parameters      :
696 -- Version         : 1.0
697 -- End of comments
698 
699 procedure validate_change_request(p_api_version	IN	NUMBER,
700                               p_init_msg_list	IN	VARCHAR2 ,
701                               x_return_status	OUT NOCOPY	VARCHAR2,
702                               x_msg_count	OUT NOCOPY	NUMBER,
703                               x_msg_data	OUT NOCOPY	VARCHAR2,
704                               p_crtv_tbl	IN	crtv_tbl_type) is
705 i NUMBER;
706 l_return_status	VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
707 begin
708      OKC_API.init_msg_list(p_init_msg_list);
709       x_return_status:= OKC_API.G_RET_STS_SUCCESS;
710       if (p_crtv_tbl.COUNT>0) then
711         i := p_crtv_tbl.FIRST;
712         LOOP
713 	    validate_change_request(p_api_version=>p_api_version,
714                               p_init_msg_list=>OKC_API.G_FALSE,
715                               x_return_status=>l_return_status,
716                               x_msg_count=>x_msg_count,
717                               x_msg_data=>x_msg_data,
718                               p_crtv_rec=>p_crtv_tbl(i));
719           if (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) then
720             x_return_status := l_return_status;
721             raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
722           elsif (l_return_status = OKC_API.G_RET_STS_ERROR) then
723             x_return_status := l_return_status;
724           end if;
725           EXIT WHEN (i=p_crtv_tbl.LAST);
726           i := p_crtv_tbl.NEXT(i);
727         END LOOP;
728       end if;
729 exception
730 when others then NULL;
731 end validate_change_request;
732 
733 -- Start of comments
734 --
735 -- Procedure Name  : create_change
736 -- Description     :
737 -- Business Rules  :
738 -- Parameters      :
739 -- Version         : 1.0
740 -- End of comments
741 
742 procedure create_change(p_api_version	IN	NUMBER,
743                               p_init_msg_list	IN	VARCHAR2 ,
744                               x_return_status	OUT NOCOPY	VARCHAR2,
745                               x_msg_count	OUT NOCOPY	NUMBER,
746                               x_msg_data	OUT NOCOPY	VARCHAR2,
747                               p_corv_rec	IN	corv_rec_type,
748                               x_corv_rec	OUT NOCOPY	corv_rec_type) is
749 l_api_name                     CONSTANT VARCHAR2(30) := 'create_change';
750 l_api_version                  CONSTANT NUMBER := 1;
751 l_return_status                VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
752 l_clob clob;
753 begin
754   l_return_status := OKC_API.START_ACTIVITY(substr(l_api_name,1,26),
755                                               G_PKG_NAME,
756                                               p_init_msg_list,
757                                               l_api_version,
758                                               p_api_version,
759                                               '_PUB',
760                                               x_return_status);
761   IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
762     RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
763   ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
764     RAISE OKC_API.G_EXCEPTION_ERROR;
765   END IF;
766   --
767   -- Call Before Logic Hook
768   --
769   g_corv_rec := p_corv_rec;
770 --
771   if (dbms_lob.istemporary(p_corv_rec.CHANGE_TEXT) = 1) then
772     DBMS_LOB.CREATETEMPORARY(g_corv_rec.CHANGE_TEXT,FALSE,DBMS_LOB.CALL);
773     l_clob := p_corv_rec.CHANGE_TEXT;
774     DBMS_LOB.OPEN(l_clob, DBMS_LOB.LOB_READONLY);
775     DBMS_LOB.OPEN(g_corv_rec.CHANGE_TEXT, DBMS_LOB.LOB_READWRITE);
776     DBMS_LOB.COPY(dest_lob => g_corv_rec.CHANGE_TEXT,
777 		src_lob => l_clob,
778 		amount => dbms_lob.getlength(l_clob));
779     DBMS_LOB.CLOSE(g_corv_rec.CHANGE_TEXT);
780     DBMS_LOB.CLOSE(l_clob);
781     DBMS_LOB.freetemporary(l_clob);
782   end if;
783 --
784   okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'B');
785   IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
786     raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
787   ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
788     raise OKC_API.G_EXCEPTION_ERROR;
789   END IF;
790   reset(p_corv_rec);
791   OKC_CHANGE_REQUEST_PVT.create_change(
792 					p_api_version => p_api_version,
793                               p_init_msg_list => OKC_API.G_FALSE,
794                               x_return_status => x_return_status,
795                               x_msg_count => x_msg_count,
796                               x_msg_data => x_msg_data,
797                               p_corv_rec => g_corv_rec,
798 					x_corv_rec => x_corv_rec);
799   IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
800     RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
801   ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
802     RAISE OKC_API.G_EXCEPTION_ERROR;
803   END IF;
804   --
805   -- Call After Logic Hook
806   --
807   g_corv_rec := x_corv_rec;
808   okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'A');
809   IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
810     raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
811   ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
812     raise OKC_API.G_EXCEPTION_ERROR;
813   END IF;
814   OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
815   EXCEPTION
816      WHEN OKC_API.G_EXCEPTION_ERROR THEN
817        x_return_status := OKC_API.HANDLE_EXCEPTIONS
818        (substr(l_api_name,1,26),
819         G_PKG_NAME,
820         'OKC_API.G_RET_STS_ERROR',
821         x_msg_count,
822         x_msg_data,
823         '_PUB');
824      WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
825        x_return_status := OKC_API.HANDLE_EXCEPTIONS
826        (substr(l_api_name,1,26),
827         G_PKG_NAME,
828         'OKC_API.G_RET_STS_UNEXP_ERROR',
829         x_msg_count,
830         x_msg_data,
831         '_PUB');
832      WHEN OTHERS THEN
833        x_return_status := OKC_API.HANDLE_EXCEPTIONS
834        (substr(l_api_name,1,26),
835         G_PKG_NAME,
836         'OTHERS',
837         x_msg_count,
838         x_msg_data,
839         '_PUB');
840 end create_change;
841 
842 -- Start of comments
843 --
844 -- Procedure Name  : create_change
845 -- Description     :
846 -- Business Rules  :
847 -- Parameters      :
848 -- Version         : 1.0
849 -- End of comments
850 
851 procedure create_change(p_api_version	IN	NUMBER,
852                               p_init_msg_list	IN	VARCHAR2 ,
853                               x_return_status	OUT NOCOPY	VARCHAR2,
854                               x_msg_count	OUT NOCOPY	NUMBER,
855                               x_msg_data	OUT NOCOPY	VARCHAR2,
856                               p_corv_tbl	IN	corv_tbl_type,
857                               x_corv_tbl	OUT NOCOPY	corv_tbl_type) is
858 i NUMBER;
859 l_return_status	VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
860 begin
861      OKC_API.init_msg_list(p_init_msg_list);
862       x_return_status:= OKC_API.G_RET_STS_SUCCESS;
863       if (p_corv_tbl.COUNT>0) then
864         i := p_corv_tbl.FIRST;
865         LOOP
866 	    create_change(p_api_version=>p_api_version,
867                               p_init_msg_list=>OKC_API.G_FALSE,
868                               x_return_status=>l_return_status,
869                               x_msg_count=>x_msg_count,
870                               x_msg_data=>x_msg_data,
871                               p_corv_rec=>p_corv_tbl(i),
872                               x_corv_rec=>x_corv_tbl(i));
873           if (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) then
874             x_return_status := l_return_status;
875             raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
876           elsif (l_return_status = OKC_API.G_RET_STS_ERROR) then
877             x_return_status := l_return_status;
878           end if;
879           EXIT WHEN (i=p_corv_tbl.LAST);
880           i := p_corv_tbl.NEXT(i);
881         END LOOP;
882       end if;
883 exception
884 when others then NULL;
885 end create_change;
886 
887 -- Start of comments
888 --
889 -- Procedure Name  : update_change
890 -- Description     :
891 -- Business Rules  :
892 -- Parameters      :
893 -- Version         : 1.0
894 -- End of comments
895 
896 procedure update_change(p_api_version	IN	NUMBER,
897                               p_init_msg_list	IN	VARCHAR2 ,
898                               x_return_status	OUT NOCOPY	VARCHAR2,
899                               x_msg_count	OUT NOCOPY	NUMBER,
900                               x_msg_data	OUT NOCOPY	VARCHAR2,
901                               p_corv_rec	IN	corv_rec_type,
902                               x_corv_rec	OUT NOCOPY	corv_rec_type) is
903 l_api_name                     CONSTANT VARCHAR2(30) := 'update_change';
904 l_api_version                  CONSTANT NUMBER := 1;
905 l_return_status                VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
906 l_clob clob;
907 begin
908   l_return_status := OKC_API.START_ACTIVITY(substr(l_api_name,1,26),
909                                               G_PKG_NAME,
910                                               p_init_msg_list,
911                                               l_api_version,
912                                               p_api_version,
913                                               '_PUB',
914                                               x_return_status);
915   IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
916     RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
917   ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
918     RAISE OKC_API.G_EXCEPTION_ERROR;
919   END IF;
920   --
921   -- Call Before Logic Hook
922   --
923   g_corv_rec := p_corv_rec;
924 --
925   if (dbms_lob.istemporary(p_corv_rec.CHANGE_TEXT) = 1) then
926     DBMS_LOB.CREATETEMPORARY(g_corv_rec.CHANGE_TEXT,FALSE,DBMS_LOB.CALL);
927     l_clob := p_corv_rec.CHANGE_TEXT;
928     DBMS_LOB.OPEN(l_clob, DBMS_LOB.LOB_READONLY);
929     DBMS_LOB.OPEN(g_corv_rec.CHANGE_TEXT, DBMS_LOB.LOB_READWRITE);
930     DBMS_LOB.COPY(dest_lob => g_corv_rec.CHANGE_TEXT,
931 		src_lob => l_clob,
932 		amount => dbms_lob.getlength(l_clob));
933     DBMS_LOB.CLOSE(g_corv_rec.CHANGE_TEXT);
934     DBMS_LOB.CLOSE(l_clob);
935     DBMS_LOB.freetemporary(l_clob);
936   end if;
937 --
938   okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'B');
939   IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
940     raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
941   ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
942     raise OKC_API.G_EXCEPTION_ERROR;
943   END IF;
944   reset(p_corv_rec);
945   OKC_CHANGE_REQUEST_PVT.update_change(
946 					p_api_version => p_api_version,
947                               p_init_msg_list => OKC_API.G_FALSE,
948                               x_return_status => x_return_status,
949                               x_msg_count => x_msg_count,
950                               x_msg_data => x_msg_data,
951                               p_corv_rec => g_corv_rec,
952 					x_corv_rec => x_corv_rec);
953   IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
954     RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
955   ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
956     RAISE OKC_API.G_EXCEPTION_ERROR;
957   END IF;
958   --
959   -- Call After Logic Hook
960   --
961   g_corv_rec := x_corv_rec;
962   okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'A');
963   IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
964     raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
965   ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
966     raise OKC_API.G_EXCEPTION_ERROR;
967   END IF;
968   OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
969   EXCEPTION
970      WHEN OKC_API.G_EXCEPTION_ERROR THEN
971        x_return_status := OKC_API.HANDLE_EXCEPTIONS
972        (substr(l_api_name,1,26),
973         G_PKG_NAME,
974         'OKC_API.G_RET_STS_ERROR',
975         x_msg_count,
976         x_msg_data,
977         '_PUB');
978      WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
979        x_return_status := OKC_API.HANDLE_EXCEPTIONS
980        (substr(l_api_name,1,26),
981         G_PKG_NAME,
982         'OKC_API.G_RET_STS_UNEXP_ERROR',
983         x_msg_count,
984         x_msg_data,
985         '_PUB');
986      WHEN OTHERS THEN
987        x_return_status := OKC_API.HANDLE_EXCEPTIONS
988        (substr(l_api_name,1,26),
989         G_PKG_NAME,
990         'OTHERS',
991         x_msg_count,
992         x_msg_data,
993         '_PUB');
994 end update_change;
995 
996 -- Start of comments
997 --
998 -- Procedure Name  : update_change
999 -- Description     :
1000 -- Business Rules  :
1001 -- Parameters      :
1002 -- Version         : 1.0
1003 -- End of comments
1004 
1005 procedure update_change(p_api_version	IN	NUMBER,
1006                               p_init_msg_list	IN	VARCHAR2 ,
1007                               x_return_status	OUT NOCOPY	VARCHAR2,
1008                               x_msg_count	OUT NOCOPY	NUMBER,
1009                               x_msg_data	OUT NOCOPY	VARCHAR2,
1010                               p_corv_tbl	IN	corv_tbl_type,
1011                               x_corv_tbl	OUT NOCOPY	corv_tbl_type) is
1012 i NUMBER;
1013 l_return_status	VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1014 begin
1015      OKC_API.init_msg_list(p_init_msg_list);
1016       x_return_status:= OKC_API.G_RET_STS_SUCCESS;
1017       if (p_corv_tbl.COUNT>0) then
1018         i := p_corv_tbl.FIRST;
1019         LOOP
1020 	    update_change(p_api_version=>p_api_version,
1021                               p_init_msg_list=>OKC_API.G_FALSE,
1022                               x_return_status=>l_return_status,
1023                               x_msg_count=>x_msg_count,
1024                               x_msg_data=>x_msg_data,
1025                               p_corv_rec=>p_corv_tbl(i),
1026                               x_corv_rec=>x_corv_tbl(i));
1027           if (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) then
1028             x_return_status := l_return_status;
1029             raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1030           elsif (l_return_status = OKC_API.G_RET_STS_ERROR) then
1031             x_return_status := l_return_status;
1032           end if;
1033           EXIT WHEN (i=p_corv_tbl.LAST);
1034           i := p_corv_tbl.NEXT(i);
1035         END LOOP;
1036       end if;
1037 exception
1038 when others then NULL;
1039 end update_change;
1040 
1041 -- Start of comments
1042 --
1043 -- Procedure Name  : delete_change
1044 -- Description     :
1045 -- Business Rules  :
1046 -- Parameters      :
1047 -- Version         : 1.0
1048 -- End of comments
1049 
1050 procedure delete_change(p_api_version	IN	NUMBER,
1051                               p_init_msg_list	IN	VARCHAR2 ,
1052                               x_return_status	OUT NOCOPY	VARCHAR2,
1053                               x_msg_count	OUT NOCOPY	NUMBER,
1054                               x_msg_data	OUT NOCOPY	VARCHAR2,
1055                               p_corv_rec	IN	corv_rec_type) is
1056 l_api_name                     CONSTANT VARCHAR2(30) := 'delete_change';
1057 l_api_version                  CONSTANT NUMBER := 1;
1058 l_return_status                VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1059 begin
1060   l_return_status := OKC_API.START_ACTIVITY(substr(l_api_name,1,26),
1061                                               G_PKG_NAME,
1062                                               p_init_msg_list,
1063                                               l_api_version,
1064                                               p_api_version,
1065                                               '_PUB',
1066                                               x_return_status);
1067   IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1068     RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1069   ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
1070     RAISE OKC_API.G_EXCEPTION_ERROR;
1071   END IF;
1072   --
1073   -- Call Before Logic Hook
1074   --
1075   g_corv_rec := p_corv_rec;
1076   okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'B');
1077   IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1078     raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1079   ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
1080     raise OKC_API.G_EXCEPTION_ERROR;
1081   END IF;
1082   reset(p_corv_rec);
1083   OKC_CHANGE_REQUEST_PVT.delete_change(
1084 					p_api_version => p_api_version,
1085                               p_init_msg_list => OKC_API.G_FALSE,
1086                               x_return_status => x_return_status,
1087                               x_msg_count => x_msg_count,
1088                               x_msg_data => x_msg_data,
1089                               p_corv_rec => g_corv_rec);
1090   IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1091     RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1092   ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
1093     RAISE OKC_API.G_EXCEPTION_ERROR;
1094   END IF;
1095   --
1096   -- Call After Logic Hook
1097   --
1098   okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'A');
1099   IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1100     raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1101   ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
1102     raise OKC_API.G_EXCEPTION_ERROR;
1103   END IF;
1104   OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
1105   EXCEPTION
1106      WHEN OKC_API.G_EXCEPTION_ERROR THEN
1107        x_return_status := OKC_API.HANDLE_EXCEPTIONS
1108        (substr(l_api_name,1,26),
1109         G_PKG_NAME,
1110         'OKC_API.G_RET_STS_ERROR',
1111         x_msg_count,
1112         x_msg_data,
1113         '_PUB');
1114      WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
1115        x_return_status := OKC_API.HANDLE_EXCEPTIONS
1116        (substr(l_api_name,1,26),
1117         G_PKG_NAME,
1118         'OKC_API.G_RET_STS_UNEXP_ERROR',
1119         x_msg_count,
1120         x_msg_data,
1121         '_PUB');
1122      WHEN OTHERS THEN
1123        x_return_status := OKC_API.HANDLE_EXCEPTIONS
1124        (substr(l_api_name,1,26),
1125         G_PKG_NAME,
1126         'OTHERS',
1127         x_msg_count,
1128         x_msg_data,
1129         '_PUB');
1130 end delete_change;
1131 
1132 -- Start of comments
1133 --
1134 -- Procedure Name  : delete_change
1135 -- Description     :
1136 -- Business Rules  :
1137 -- Parameters      :
1138 -- Version         : 1.0
1139 -- End of comments
1140 
1141 procedure delete_change(p_api_version	IN	NUMBER,
1142                               p_init_msg_list	IN	VARCHAR2 ,
1143                               x_return_status	OUT NOCOPY	VARCHAR2,
1144                               x_msg_count	OUT NOCOPY	NUMBER,
1145                               x_msg_data	OUT NOCOPY	VARCHAR2,
1146                               p_corv_tbl	IN	corv_tbl_type) is
1147 i NUMBER;
1148 l_return_status	VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1149 begin
1150      OKC_API.init_msg_list(p_init_msg_list);
1151       x_return_status:= OKC_API.G_RET_STS_SUCCESS;
1152       if (p_corv_tbl.COUNT>0) then
1153         i := p_corv_tbl.FIRST;
1154         LOOP
1155 	    delete_change(p_api_version=>p_api_version,
1156                               p_init_msg_list=>OKC_API.G_FALSE,
1157                               x_return_status=>l_return_status,
1158                               x_msg_count=>x_msg_count,
1159                               x_msg_data=>x_msg_data,
1160                               p_corv_rec=>p_corv_tbl(i));
1161           if (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) then
1162             x_return_status := l_return_status;
1163             raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1164           elsif (l_return_status = OKC_API.G_RET_STS_ERROR) then
1165             x_return_status := l_return_status;
1166           end if;
1167           EXIT WHEN (i=p_corv_tbl.LAST);
1168           i := p_corv_tbl.NEXT(i);
1169         END LOOP;
1170       end if;
1171 exception
1172 when others then NULL;
1173 end delete_change;
1174 
1175 -- Start of comments
1176 --
1177 -- Procedure Name  : lock_change
1178 -- Description     :
1179 -- Business Rules  :
1180 -- Parameters      :
1181 -- Version         : 1.0
1182 -- End of comments
1183 
1184 procedure lock_change(p_api_version	IN	NUMBER,
1185                               p_init_msg_list	IN	VARCHAR2 ,
1186                               x_return_status	OUT NOCOPY	VARCHAR2,
1187                               x_msg_count	OUT NOCOPY	NUMBER,
1188                               x_msg_data	OUT NOCOPY	VARCHAR2,
1189                               p_corv_rec	IN	corv_rec_type) is
1190 l_api_name                     CONSTANT VARCHAR2(30) := 'lock_change';
1191 l_api_version                  CONSTANT NUMBER := 1;
1192 l_return_status                VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1193 l_clob clob;
1194 begin
1195   l_return_status := OKC_API.START_ACTIVITY(substr(l_api_name,1,26),
1196                                               G_PKG_NAME,
1197                                               p_init_msg_list,
1198                                               l_api_version,
1199                                               p_api_version,
1200                                               '_PUB',
1201                                               x_return_status);
1202   IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1203     RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1204   ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
1205     RAISE OKC_API.G_EXCEPTION_ERROR;
1206   END IF;
1207   --
1208   -- Call Before Logic Hook
1209   --
1210   g_corv_rec := p_corv_rec;
1211 --
1212   if (dbms_lob.istemporary(p_corv_rec.CHANGE_TEXT) = 1) then
1213     DBMS_LOB.CREATETEMPORARY(g_corv_rec.CHANGE_TEXT,FALSE,DBMS_LOB.CALL);
1214     l_clob := p_corv_rec.CHANGE_TEXT;
1215     DBMS_LOB.OPEN(l_clob, DBMS_LOB.LOB_READONLY);
1216     DBMS_LOB.OPEN(g_corv_rec.CHANGE_TEXT, DBMS_LOB.LOB_READWRITE);
1217     DBMS_LOB.COPY(dest_lob => g_corv_rec.CHANGE_TEXT,
1218 		src_lob => l_clob,
1219 		amount => dbms_lob.getlength(l_clob));
1220     DBMS_LOB.CLOSE(g_corv_rec.CHANGE_TEXT);
1221     DBMS_LOB.CLOSE(l_clob);
1222     DBMS_LOB.freetemporary(l_clob);
1223   end if;
1224 --
1225   okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'B');
1226   IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1227     raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1228   ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
1229     raise OKC_API.G_EXCEPTION_ERROR;
1230   END IF;
1231   reset(p_corv_rec);
1232   OKC_CHANGE_REQUEST_PVT.lock_change(
1233 					p_api_version => p_api_version,
1234                               p_init_msg_list => OKC_API.G_FALSE,
1235                               x_return_status => x_return_status,
1236                               x_msg_count => x_msg_count,
1237                               x_msg_data => x_msg_data,
1238                               p_corv_rec => g_corv_rec);
1239   IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1240     RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1241   ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
1242     RAISE OKC_API.G_EXCEPTION_ERROR;
1243   END IF;
1244   --
1245   -- Call After Logic Hook
1246   --
1247   okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'A');
1248   IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1249     raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1250   ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
1251     raise OKC_API.G_EXCEPTION_ERROR;
1252   END IF;
1253   OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
1254   EXCEPTION
1255      WHEN OKC_API.G_EXCEPTION_ERROR THEN
1256        x_return_status := OKC_API.HANDLE_EXCEPTIONS
1257        (substr(l_api_name,1,26),
1258         G_PKG_NAME,
1259         'OKC_API.G_RET_STS_ERROR',
1260         x_msg_count,
1261         x_msg_data,
1262         '_PUB');
1263      WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
1264        x_return_status := OKC_API.HANDLE_EXCEPTIONS
1265        (substr(l_api_name,1,26),
1266         G_PKG_NAME,
1267         'OKC_API.G_RET_STS_UNEXP_ERROR',
1268         x_msg_count,
1269         x_msg_data,
1270         '_PUB');
1271      WHEN OTHERS THEN
1272        x_return_status := OKC_API.HANDLE_EXCEPTIONS
1273        (substr(l_api_name,1,26),
1274         G_PKG_NAME,
1275         'OTHERS',
1276         x_msg_count,
1277         x_msg_data,
1278         '_PUB');
1279 end lock_change;
1280 
1281 -- Start of comments
1282 --
1283 -- Procedure Name  : lock_change
1284 -- Description     :
1285 -- Business Rules  :
1286 -- Parameters      :
1287 -- Version         : 1.0
1288 -- End of comments
1289 
1290 procedure lock_change(p_api_version	IN	NUMBER,
1291                               p_init_msg_list	IN	VARCHAR2 ,
1292                               x_return_status	OUT NOCOPY	VARCHAR2,
1293                               x_msg_count	OUT NOCOPY	NUMBER,
1294                               x_msg_data	OUT NOCOPY	VARCHAR2,
1295                               p_corv_tbl	IN	corv_tbl_type) is
1296 i NUMBER;
1297 l_return_status	VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1298 begin
1299      OKC_API.init_msg_list(p_init_msg_list);
1300       x_return_status:= OKC_API.G_RET_STS_SUCCESS;
1301       if (p_corv_tbl.COUNT>0) then
1302         i := p_corv_tbl.FIRST;
1303         LOOP
1304 	    lock_change(p_api_version=>p_api_version,
1305                               p_init_msg_list=>OKC_API.G_FALSE,
1306                               x_return_status=>l_return_status,
1307                               x_msg_count=>x_msg_count,
1308                               x_msg_data=>x_msg_data,
1309                               p_corv_rec=>p_corv_tbl(i));
1310           if (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) then
1311             x_return_status := l_return_status;
1312             raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1313           elsif (l_return_status = OKC_API.G_RET_STS_ERROR) then
1314             x_return_status := l_return_status;
1315           end if;
1316           EXIT WHEN (i=p_corv_tbl.LAST);
1317           i := p_corv_tbl.NEXT(i);
1318         END LOOP;
1319       end if;
1320 exception
1321 when others then NULL;
1322 end lock_change;
1323 
1324 -- Start of comments
1325 --
1326 -- Procedure Name  : validate_change
1327 -- Description     :
1328 -- Business Rules  :
1329 -- Parameters      :
1330 -- Version         : 1.0
1331 -- End of comments
1332 
1333 procedure validate_change(p_api_version	IN	NUMBER,
1334                               p_init_msg_list	IN	VARCHAR2 ,
1335                               x_return_status	OUT NOCOPY	VARCHAR2,
1336                               x_msg_count	OUT NOCOPY	NUMBER,
1337                               x_msg_data	OUT NOCOPY	VARCHAR2,
1338                               p_corv_rec	IN	corv_rec_type) is
1339 l_api_name                     CONSTANT VARCHAR2(30) := 'validate_change';
1340 l_api_version                  CONSTANT NUMBER := 1;
1341 l_return_status                VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1342 begin
1343   l_return_status := OKC_API.START_ACTIVITY(substr(l_api_name,1,26),
1344                                               G_PKG_NAME,
1345                                               p_init_msg_list,
1346                                               l_api_version,
1347                                               p_api_version,
1348                                               '_PUB',
1349                                               x_return_status);
1350   IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1351     RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1352   ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
1353     RAISE OKC_API.G_EXCEPTION_ERROR;
1354   END IF;
1355   --
1356   -- Call Before Logic Hook
1357   --
1358   g_corv_rec := p_corv_rec;
1359   okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'B');
1360   IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1361     raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1362   ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
1363     raise OKC_API.G_EXCEPTION_ERROR;
1364   END IF;
1365   reset(p_corv_rec);
1366   OKC_CHANGE_REQUEST_PVT.validate_change(
1367 					p_api_version => p_api_version,
1368                               p_init_msg_list => OKC_API.G_FALSE,
1369                               x_return_status => x_return_status,
1370                               x_msg_count => x_msg_count,
1371                               x_msg_data => x_msg_data,
1372                               p_corv_rec => g_corv_rec);
1373   IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1374     RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1375   ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
1376     RAISE OKC_API.G_EXCEPTION_ERROR;
1377   END IF;
1378   --
1379   -- Call After Logic Hook
1380   --
1381   okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'A');
1382   IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1383     raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1384   ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
1385     raise OKC_API.G_EXCEPTION_ERROR;
1386   END IF;
1387   OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
1388   EXCEPTION
1389      WHEN OKC_API.G_EXCEPTION_ERROR THEN
1390        x_return_status := OKC_API.HANDLE_EXCEPTIONS
1391        (substr(l_api_name,1,26),
1392         G_PKG_NAME,
1393         'OKC_API.G_RET_STS_ERROR',
1394         x_msg_count,
1395         x_msg_data,
1396         '_PUB');
1397      WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
1398        x_return_status := OKC_API.HANDLE_EXCEPTIONS
1399        (substr(l_api_name,1,26),
1400         G_PKG_NAME,
1401         'OKC_API.G_RET_STS_UNEXP_ERROR',
1402         x_msg_count,
1403         x_msg_data,
1404         '_PUB');
1405      WHEN OTHERS THEN
1406        x_return_status := OKC_API.HANDLE_EXCEPTIONS
1407        (substr(l_api_name,1,26),
1408         G_PKG_NAME,
1409         'OTHERS',
1410         x_msg_count,
1411         x_msg_data,
1412         '_PUB');
1413 end validate_change;
1414 
1415 -- Start of comments
1416 --
1417 -- Procedure Name  : validate_change
1418 -- Description     :
1419 -- Business Rules  :
1420 -- Parameters      :
1421 -- Version         : 1.0
1422 -- End of comments
1423 
1424 procedure validate_change(p_api_version	IN	NUMBER,
1425                               p_init_msg_list	IN	VARCHAR2 ,
1426                               x_return_status	OUT NOCOPY	VARCHAR2,
1427                               x_msg_count	OUT NOCOPY	NUMBER,
1428                               x_msg_data	OUT NOCOPY	VARCHAR2,
1429                               p_corv_tbl	IN	corv_tbl_type) is
1430 i NUMBER;
1431 l_return_status	VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1432 begin
1433      OKC_API.init_msg_list(p_init_msg_list);
1434       x_return_status:= OKC_API.G_RET_STS_SUCCESS;
1435       if (p_corv_tbl.COUNT>0) then
1436         i := p_corv_tbl.FIRST;
1437         LOOP
1438 	    validate_change(p_api_version=>p_api_version,
1439                               p_init_msg_list=>OKC_API.G_FALSE,
1440                               x_return_status=>l_return_status,
1441                               x_msg_count=>x_msg_count,
1442                               x_msg_data=>x_msg_data,
1443                               p_corv_rec=>p_corv_tbl(i));
1444           if (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) then
1445             x_return_status := l_return_status;
1446             raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1447           elsif (l_return_status = OKC_API.G_RET_STS_ERROR) then
1448             x_return_status := l_return_status;
1449           end if;
1450           EXIT WHEN (i=p_corv_tbl.LAST);
1451           i := p_corv_tbl.NEXT(i);
1452         END LOOP;
1453       end if;
1454 exception
1455 when others then NULL;
1456 end validate_change;
1457 
1458 -- Start of comments
1459 --
1460 -- Procedure Name  : create_change_party_role
1461 -- Description     :
1462 -- Business Rules  :
1463 -- Parameters      :
1464 -- Version         : 1.0
1465 -- End of comments
1466 
1467 procedure create_change_party_role(p_api_version	IN	NUMBER,
1468                               p_init_msg_list	IN	VARCHAR2 ,
1469                               x_return_status	OUT NOCOPY	VARCHAR2,
1470                               x_msg_count	OUT NOCOPY	NUMBER,
1471                               x_msg_data	OUT NOCOPY	VARCHAR2,
1472                               p_cprv_rec	IN	cprv_rec_type,
1473                               x_cprv_rec	OUT NOCOPY	cprv_rec_type) is
1474 l_api_name                     CONSTANT VARCHAR2(30) := 'create_change_party_role';
1475 l_api_version                  CONSTANT NUMBER := 1;
1476 l_return_status                VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1477 begin
1478   l_return_status := OKC_API.START_ACTIVITY(substr(l_api_name,1,26),
1479                                               G_PKG_NAME,
1480                                               p_init_msg_list,
1481                                               l_api_version,
1482                                               p_api_version,
1483                                               '_PUB',
1484                                               x_return_status);
1485   IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1486     RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1487   ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
1488     RAISE OKC_API.G_EXCEPTION_ERROR;
1489   END IF;
1490   --
1491   -- Call Before Logic Hook
1492   --
1493   g_cprv_rec := p_cprv_rec;
1494   okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'B');
1495   IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1496     raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1497   ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
1498     raise OKC_API.G_EXCEPTION_ERROR;
1499   END IF;
1500   reset(p_cprv_rec);
1501   OKC_CHANGE_REQUEST_PVT.create_change_party_role(
1502 					p_api_version => p_api_version,
1503                               p_init_msg_list => OKC_API.G_FALSE,
1504                               x_return_status => x_return_status,
1505                               x_msg_count => x_msg_count,
1506                               x_msg_data => x_msg_data,
1507                               p_cprv_rec => g_cprv_rec,
1508 					x_cprv_rec => x_cprv_rec);
1509   IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1510     RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1511   ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
1512     RAISE OKC_API.G_EXCEPTION_ERROR;
1513   END IF;
1514   --
1515   -- Call After Logic Hook
1516   --
1517   g_cprv_rec := x_cprv_rec;
1518   okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'A');
1519   IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1520     raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1521   ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
1522     raise OKC_API.G_EXCEPTION_ERROR;
1523   END IF;
1524   OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
1525   EXCEPTION
1526      WHEN OKC_API.G_EXCEPTION_ERROR THEN
1527        x_return_status := OKC_API.HANDLE_EXCEPTIONS
1528        (substr(l_api_name,1,26),
1529         G_PKG_NAME,
1530         'OKC_API.G_RET_STS_ERROR',
1531         x_msg_count,
1532         x_msg_data,
1533         '_PUB');
1534      WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
1535        x_return_status := OKC_API.HANDLE_EXCEPTIONS
1536        (substr(l_api_name,1,26),
1537         G_PKG_NAME,
1538         'OKC_API.G_RET_STS_UNEXP_ERROR',
1539         x_msg_count,
1540         x_msg_data,
1541         '_PUB');
1542      WHEN OTHERS THEN
1543        x_return_status := OKC_API.HANDLE_EXCEPTIONS
1544        (substr(l_api_name,1,26),
1545         G_PKG_NAME,
1546         'OTHERS',
1547         x_msg_count,
1548         x_msg_data,
1549         '_PUB');
1550 end create_change_party_role;
1551 
1552 -- Start of comments
1553 --
1554 -- Procedure Name  : create_change_party_role
1555 -- Description     :
1556 -- Business Rules  :
1557 -- Parameters      :
1558 -- Version         : 1.0
1559 -- End of comments
1560 
1561 procedure create_change_party_role(p_api_version	IN	NUMBER,
1562                               p_init_msg_list	IN	VARCHAR2 ,
1563                               x_return_status	OUT NOCOPY	VARCHAR2,
1564                               x_msg_count	OUT NOCOPY	NUMBER,
1565                               x_msg_data	OUT NOCOPY	VARCHAR2,
1566                               p_cprv_tbl	IN	cprv_tbl_type,
1567                               x_cprv_tbl	OUT NOCOPY	cprv_tbl_type) is
1568 i NUMBER;
1569 l_return_status	VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1570 begin
1571      OKC_API.init_msg_list(p_init_msg_list);
1572       x_return_status:= OKC_API.G_RET_STS_SUCCESS;
1573       if (p_cprv_tbl.COUNT>0) then
1574         i := p_cprv_tbl.FIRST;
1575         LOOP
1576 	    create_change_party_role(p_api_version=>p_api_version,
1577                               p_init_msg_list=>OKC_API.G_FALSE,
1578                               x_return_status=>l_return_status,
1579                               x_msg_count=>x_msg_count,
1580                               x_msg_data=>x_msg_data,
1581                               p_cprv_rec=>p_cprv_tbl(i),
1582                               x_cprv_rec=>x_cprv_tbl(i));
1583           if (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) then
1584             x_return_status := l_return_status;
1585             raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1586           elsif (l_return_status = OKC_API.G_RET_STS_ERROR) then
1587             x_return_status := l_return_status;
1588           end if;
1589           EXIT WHEN (i=p_cprv_tbl.LAST);
1590           i := p_cprv_tbl.NEXT(i);
1591         END LOOP;
1592       end if;
1593 exception
1594 when others then NULL;
1595 end create_change_party_role;
1596 
1597 -- Start of comments
1598 --
1599 -- Procedure Name  : update_change_party_role
1600 -- Description     :
1601 -- Business Rules  :
1602 -- Parameters      :
1603 -- Version         : 1.0
1604 -- End of comments
1605 
1606 procedure update_change_party_role(p_api_version	IN	NUMBER,
1607                               p_init_msg_list	IN	VARCHAR2 ,
1608                               x_return_status	OUT NOCOPY	VARCHAR2,
1609                               x_msg_count	OUT NOCOPY	NUMBER,
1610                               x_msg_data	OUT NOCOPY	VARCHAR2,
1611                               p_cprv_rec	IN	cprv_rec_type,
1612                               x_cprv_rec	OUT NOCOPY	cprv_rec_type) is
1613 l_api_name                     CONSTANT VARCHAR2(30) := 'update_change_party_role';
1614 l_api_version                  CONSTANT NUMBER := 1;
1615 l_return_status                VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1616 begin
1617   l_return_status := OKC_API.START_ACTIVITY(substr(l_api_name,1,26),
1618                                               G_PKG_NAME,
1619                                               p_init_msg_list,
1620                                               l_api_version,
1621                                               p_api_version,
1622                                               '_PUB',
1623                                               x_return_status);
1624   IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1625     RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1626   ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
1627     RAISE OKC_API.G_EXCEPTION_ERROR;
1628   END IF;
1629   --
1630   -- Call Before Logic Hook
1631   --
1632   g_cprv_rec := p_cprv_rec;
1633   okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'B');
1634   IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1635     raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1636   ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
1637     raise OKC_API.G_EXCEPTION_ERROR;
1638   END IF;
1639   reset(p_cprv_rec);
1640   OKC_CHANGE_REQUEST_PVT.update_change_party_role(
1641 					p_api_version => p_api_version,
1642                               p_init_msg_list => OKC_API.G_FALSE,
1643                               x_return_status => x_return_status,
1644                               x_msg_count => x_msg_count,
1645                               x_msg_data => x_msg_data,
1646                               p_cprv_rec => g_cprv_rec,
1647 					x_cprv_rec => x_cprv_rec);
1648   IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1649     RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1650   ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
1651     RAISE OKC_API.G_EXCEPTION_ERROR;
1652   END IF;
1653   --
1654   -- Call After Logic Hook
1655   --
1656   g_cprv_rec := x_cprv_rec;
1657   okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'A');
1658   IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1659     raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1660   ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
1661     raise OKC_API.G_EXCEPTION_ERROR;
1662   END IF;
1663   OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
1664   EXCEPTION
1665      WHEN OKC_API.G_EXCEPTION_ERROR THEN
1666        x_return_status := OKC_API.HANDLE_EXCEPTIONS
1667        (substr(l_api_name,1,26),
1668         G_PKG_NAME,
1669         'OKC_API.G_RET_STS_ERROR',
1670         x_msg_count,
1671         x_msg_data,
1672         '_PUB');
1673      WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
1674        x_return_status := OKC_API.HANDLE_EXCEPTIONS
1675        (substr(l_api_name,1,26),
1676         G_PKG_NAME,
1677         'OKC_API.G_RET_STS_UNEXP_ERROR',
1678         x_msg_count,
1679         x_msg_data,
1680         '_PUB');
1681      WHEN OTHERS THEN
1682        x_return_status := OKC_API.HANDLE_EXCEPTIONS
1683        (substr(l_api_name,1,26),
1684         G_PKG_NAME,
1685         'OTHERS',
1686         x_msg_count,
1687         x_msg_data,
1688         '_PUB');
1689 end update_change_party_role;
1690 
1691 -- Start of comments
1692 --
1693 -- Procedure Name  : update_change_party_role
1694 -- Description     :
1695 -- Business Rules  :
1696 -- Parameters      :
1697 -- Version         : 1.0
1698 -- End of comments
1699 
1700 procedure update_change_party_role(p_api_version	IN	NUMBER,
1701                               p_init_msg_list	IN	VARCHAR2 ,
1702                               x_return_status	OUT NOCOPY	VARCHAR2,
1703                               x_msg_count	OUT NOCOPY	NUMBER,
1704                               x_msg_data	OUT NOCOPY	VARCHAR2,
1705                               p_cprv_tbl	IN	cprv_tbl_type,
1706                               x_cprv_tbl	OUT NOCOPY	cprv_tbl_type) is
1707 i NUMBER;
1708 l_return_status	VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1709 begin
1710      OKC_API.init_msg_list(p_init_msg_list);
1711       x_return_status:= OKC_API.G_RET_STS_SUCCESS;
1712       if (p_cprv_tbl.COUNT>0) then
1713         i := p_cprv_tbl.FIRST;
1714         LOOP
1715 	    update_change_party_role(p_api_version=>p_api_version,
1716                               p_init_msg_list=>OKC_API.G_FALSE,
1717                               x_return_status=>l_return_status,
1718                               x_msg_count=>x_msg_count,
1719                               x_msg_data=>x_msg_data,
1720                               p_cprv_rec=>p_cprv_tbl(i),
1721                               x_cprv_rec=>x_cprv_tbl(i));
1722           if (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) then
1723             x_return_status := l_return_status;
1724             raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1725           elsif (l_return_status = OKC_API.G_RET_STS_ERROR) then
1726             x_return_status := l_return_status;
1727           end if;
1728           EXIT WHEN (i=p_cprv_tbl.LAST);
1729           i := p_cprv_tbl.NEXT(i);
1730         END LOOP;
1731       end if;
1732 exception
1733 when others then NULL;
1734 end update_change_party_role;
1735 
1736 -- Start of comments
1737 --
1738 -- Procedure Name  : delete_change_party_role
1739 -- Description     :
1740 -- Business Rules  :
1741 -- Parameters      :
1742 -- Version         : 1.0
1743 -- End of comments
1744 
1745 procedure delete_change_party_role(p_api_version	IN	NUMBER,
1746                               p_init_msg_list	IN	VARCHAR2 ,
1747                               x_return_status	OUT NOCOPY	VARCHAR2,
1748                               x_msg_count	OUT NOCOPY	NUMBER,
1749                               x_msg_data	OUT NOCOPY	VARCHAR2,
1750                               p_cprv_rec	IN	cprv_rec_type) is
1751 l_api_name                     CONSTANT VARCHAR2(30) := 'delete_change_party_role';
1752 l_api_version                  CONSTANT NUMBER := 1;
1753 l_return_status                VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1754 begin
1755   l_return_status := OKC_API.START_ACTIVITY(substr(l_api_name,1,26),
1756                                               G_PKG_NAME,
1757                                               p_init_msg_list,
1758                                               l_api_version,
1759                                               p_api_version,
1760                                               '_PUB',
1761                                               x_return_status);
1762   IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1763     RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1764   ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
1765     RAISE OKC_API.G_EXCEPTION_ERROR;
1766   END IF;
1767   --
1768   -- Call Before Logic Hook
1769   --
1770   g_cprv_rec := p_cprv_rec;
1771   okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'B');
1772   IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1773     raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1774   ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
1775     raise OKC_API.G_EXCEPTION_ERROR;
1776   END IF;
1777   reset(p_cprv_rec);
1778   OKC_CHANGE_REQUEST_PVT.delete_change_party_role(
1779 					p_api_version => p_api_version,
1780                               p_init_msg_list => OKC_API.G_FALSE,
1781                               x_return_status => x_return_status,
1782                               x_msg_count => x_msg_count,
1783                               x_msg_data => x_msg_data,
1784                               p_cprv_rec => g_cprv_rec);
1785   IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1786     RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1787   ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
1788     RAISE OKC_API.G_EXCEPTION_ERROR;
1789   END IF;
1790   --
1791   -- Call After Logic Hook
1792   --
1793   okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'A');
1794   IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1795     raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1796   ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
1797     raise OKC_API.G_EXCEPTION_ERROR;
1798   END IF;
1799   OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
1800   EXCEPTION
1801      WHEN OKC_API.G_EXCEPTION_ERROR THEN
1802        x_return_status := OKC_API.HANDLE_EXCEPTIONS
1803        (substr(l_api_name,1,26),
1804         G_PKG_NAME,
1805         'OKC_API.G_RET_STS_ERROR',
1806         x_msg_count,
1807         x_msg_data,
1808         '_PUB');
1809      WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
1810        x_return_status := OKC_API.HANDLE_EXCEPTIONS
1811        (substr(l_api_name,1,26),
1812         G_PKG_NAME,
1813         'OKC_API.G_RET_STS_UNEXP_ERROR',
1814         x_msg_count,
1815         x_msg_data,
1816         '_PUB');
1817      WHEN OTHERS THEN
1818        x_return_status := OKC_API.HANDLE_EXCEPTIONS
1819        (substr(l_api_name,1,26),
1820         G_PKG_NAME,
1821         'OTHERS',
1822         x_msg_count,
1823         x_msg_data,
1824         '_PUB');
1825 end delete_change_party_role;
1826 
1827 -- Start of comments
1828 --
1829 -- Procedure Name  : delete_change_party_role
1830 -- Description     :
1831 -- Business Rules  :
1832 -- Parameters      :
1833 -- Version         : 1.0
1834 -- End of comments
1835 
1836 procedure delete_change_party_role(p_api_version	IN	NUMBER,
1837                               p_init_msg_list	IN	VARCHAR2 ,
1838                               x_return_status	OUT NOCOPY	VARCHAR2,
1839                               x_msg_count	OUT NOCOPY	NUMBER,
1840                               x_msg_data	OUT NOCOPY	VARCHAR2,
1841                               p_cprv_tbl	IN	cprv_tbl_type) is
1842 i NUMBER;
1843 l_return_status	VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1844 begin
1845      OKC_API.init_msg_list(p_init_msg_list);
1846       x_return_status:= OKC_API.G_RET_STS_SUCCESS;
1847       if (p_cprv_tbl.COUNT>0) then
1848         i := p_cprv_tbl.FIRST;
1849         LOOP
1850 	    delete_change_party_role(p_api_version=>p_api_version,
1851                               p_init_msg_list=>OKC_API.G_FALSE,
1852                               x_return_status=>l_return_status,
1853                               x_msg_count=>x_msg_count,
1854                               x_msg_data=>x_msg_data,
1855                               p_cprv_rec=>p_cprv_tbl(i));
1856           if (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) then
1857             x_return_status := l_return_status;
1858             raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1859           elsif (l_return_status = OKC_API.G_RET_STS_ERROR) then
1860             x_return_status := l_return_status;
1861           end if;
1862           EXIT WHEN (i=p_cprv_tbl.LAST);
1863           i := p_cprv_tbl.NEXT(i);
1864         END LOOP;
1865       end if;
1866 exception
1867 when others then NULL;
1868 end delete_change_party_role;
1869 
1870 -- Start of comments
1871 --
1872 -- Procedure Name  : lock_change_party_role
1873 -- Description     :
1874 -- Business Rules  :
1875 -- Parameters      :
1876 -- Version         : 1.0
1877 -- End of comments
1878 
1879 procedure lock_change_party_role(p_api_version	IN	NUMBER,
1880                               p_init_msg_list	IN	VARCHAR2 ,
1881                               x_return_status	OUT NOCOPY	VARCHAR2,
1882                               x_msg_count	OUT NOCOPY	NUMBER,
1883                               x_msg_data	OUT NOCOPY	VARCHAR2,
1884                               p_cprv_rec	IN	cprv_rec_type) is
1885 l_api_name                     CONSTANT VARCHAR2(30) := 'lock_change_party_role';
1886 l_api_version                  CONSTANT NUMBER := 1;
1887 l_return_status                VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1888 begin
1889   l_return_status := OKC_API.START_ACTIVITY(substr(l_api_name,1,26),
1890                                               G_PKG_NAME,
1891                                               p_init_msg_list,
1892                                               l_api_version,
1893                                               p_api_version,
1894                                               '_PUB',
1895                                               x_return_status);
1896   IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1897     RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1898   ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
1899     RAISE OKC_API.G_EXCEPTION_ERROR;
1900   END IF;
1901   --
1902   -- Call Before Logic Hook
1903   --
1904   g_cprv_rec := p_cprv_rec;
1905   okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'B');
1906   IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1907     raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1908   ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
1909     raise OKC_API.G_EXCEPTION_ERROR;
1910   END IF;
1911   reset(p_cprv_rec);
1912   OKC_CHANGE_REQUEST_PVT.lock_change_party_role(
1913 					p_api_version => p_api_version,
1914                               p_init_msg_list => OKC_API.G_FALSE,
1915                               x_return_status => x_return_status,
1916                               x_msg_count => x_msg_count,
1917                               x_msg_data => x_msg_data,
1918                               p_cprv_rec => g_cprv_rec);
1919   IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1920     RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1921   ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
1922     RAISE OKC_API.G_EXCEPTION_ERROR;
1923   END IF;
1924   --
1925   -- Call After Logic Hook
1926   --
1927   okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'A');
1928   IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1929     raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1930   ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
1931     raise OKC_API.G_EXCEPTION_ERROR;
1932   END IF;
1933   OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
1934   EXCEPTION
1935      WHEN OKC_API.G_EXCEPTION_ERROR THEN
1936        x_return_status := OKC_API.HANDLE_EXCEPTIONS
1937        (substr(l_api_name,1,26),
1938         G_PKG_NAME,
1939         'OKC_API.G_RET_STS_ERROR',
1940         x_msg_count,
1941         x_msg_data,
1942         '_PUB');
1943      WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
1944        x_return_status := OKC_API.HANDLE_EXCEPTIONS
1945        (substr(l_api_name,1,26),
1946         G_PKG_NAME,
1947         'OKC_API.G_RET_STS_UNEXP_ERROR',
1948         x_msg_count,
1949         x_msg_data,
1950         '_PUB');
1951      WHEN OTHERS THEN
1952        x_return_status := OKC_API.HANDLE_EXCEPTIONS
1953        (substr(l_api_name,1,26),
1954         G_PKG_NAME,
1955         'OTHERS',
1956         x_msg_count,
1957         x_msg_data,
1958         '_PUB');
1959 end lock_change_party_role;
1960 
1961 -- Start of comments
1962 --
1963 -- Procedure Name  : lock_change_party_role
1964 -- Description     :
1965 -- Business Rules  :
1966 -- Parameters      :
1967 -- Version         : 1.0
1968 -- End of comments
1969 
1970 procedure lock_change_party_role(p_api_version	IN	NUMBER,
1971                               p_init_msg_list	IN	VARCHAR2 ,
1972                               x_return_status	OUT NOCOPY	VARCHAR2,
1973                               x_msg_count	OUT NOCOPY	NUMBER,
1974                               x_msg_data	OUT NOCOPY	VARCHAR2,
1975                               p_cprv_tbl	IN	cprv_tbl_type) is
1976 i NUMBER;
1977 l_return_status	VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1978 begin
1979      OKC_API.init_msg_list(p_init_msg_list);
1980       x_return_status:= OKC_API.G_RET_STS_SUCCESS;
1981       if (p_cprv_tbl.COUNT>0) then
1982         i := p_cprv_tbl.FIRST;
1983         LOOP
1984 	    lock_change_party_role(p_api_version=>p_api_version,
1985                               p_init_msg_list=>OKC_API.G_FALSE,
1986                               x_return_status=>l_return_status,
1987                               x_msg_count=>x_msg_count,
1988                               x_msg_data=>x_msg_data,
1989                               p_cprv_rec=>p_cprv_tbl(i));
1990           if (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) then
1991             x_return_status := l_return_status;
1992             raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1993           elsif (l_return_status = OKC_API.G_RET_STS_ERROR) then
1994             x_return_status := l_return_status;
1995           end if;
1996           EXIT WHEN (i=p_cprv_tbl.LAST);
1997           i := p_cprv_tbl.NEXT(i);
1998         END LOOP;
1999       end if;
2000 exception
2001 when others then NULL;
2002 end lock_change_party_role;
2003 
2004 -- Start of comments
2005 --
2006 -- Procedure Name  : validate_change_party_role
2007 -- Description     :
2008 -- Business Rules  :
2009 -- Parameters      :
2010 -- Version         : 1.0
2011 -- End of comments
2012 
2013 procedure validate_change_party_role(p_api_version	IN	NUMBER,
2014                               p_init_msg_list	IN	VARCHAR2 ,
2015                               x_return_status	OUT NOCOPY	VARCHAR2,
2016                               x_msg_count	OUT NOCOPY	NUMBER,
2017                               x_msg_data	OUT NOCOPY	VARCHAR2,
2018                               p_cprv_rec	IN	cprv_rec_type) is
2019 l_api_name                     CONSTANT VARCHAR2(30) := 'validate_change_party_role';
2020 l_api_version                  CONSTANT NUMBER := 1;
2021 l_return_status                VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
2022 begin
2023   l_return_status := OKC_API.START_ACTIVITY(substr(l_api_name,1,26),
2024                                               G_PKG_NAME,
2025                                               p_init_msg_list,
2026                                               l_api_version,
2027                                               p_api_version,
2028                                               '_PUB',
2029                                               x_return_status);
2030   IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2031     RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2032   ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
2033     RAISE OKC_API.G_EXCEPTION_ERROR;
2034   END IF;
2035   --
2036   -- Call Before Logic Hook
2037   --
2038   g_cprv_rec := p_cprv_rec;
2039   okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'B');
2040   IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2041     raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2042   ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
2043     raise OKC_API.G_EXCEPTION_ERROR;
2044   END IF;
2045   reset(p_cprv_rec);
2046   OKC_CHANGE_REQUEST_PVT.validate_change_party_role(
2047 					p_api_version => p_api_version,
2048                               p_init_msg_list => OKC_API.G_FALSE,
2049                               x_return_status => x_return_status,
2050                               x_msg_count => x_msg_count,
2051                               x_msg_data => x_msg_data,
2052                               p_cprv_rec => g_cprv_rec);
2053   IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2054     RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2055   ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
2056     RAISE OKC_API.G_EXCEPTION_ERROR;
2057   END IF;
2058   --
2059   -- Call After Logic Hook
2060   --
2061   okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'A');
2062   IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2063     raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2064   ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
2065     raise OKC_API.G_EXCEPTION_ERROR;
2066   END IF;
2067   OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
2068   EXCEPTION
2069      WHEN OKC_API.G_EXCEPTION_ERROR THEN
2070        x_return_status := OKC_API.HANDLE_EXCEPTIONS
2071        (substr(l_api_name,1,26),
2072         G_PKG_NAME,
2073         'OKC_API.G_RET_STS_ERROR',
2074         x_msg_count,
2075         x_msg_data,
2076         '_PUB');
2077      WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
2078        x_return_status := OKC_API.HANDLE_EXCEPTIONS
2079        (substr(l_api_name,1,26),
2080         G_PKG_NAME,
2081         'OKC_API.G_RET_STS_UNEXP_ERROR',
2082         x_msg_count,
2083         x_msg_data,
2084         '_PUB');
2085      WHEN OTHERS THEN
2086        x_return_status := OKC_API.HANDLE_EXCEPTIONS
2087        (substr(l_api_name,1,26),
2088         G_PKG_NAME,
2089         'OTHERS',
2090         x_msg_count,
2091         x_msg_data,
2092         '_PUB');
2093 end validate_change_party_role;
2094 
2095 -- Start of comments
2096 --
2097 -- Procedure Name  : validate_change_party_role
2098 -- Description     :
2099 -- Business Rules  :
2100 -- Parameters      :
2101 -- Version         : 1.0
2102 -- End of comments
2103 
2104 procedure validate_change_party_role(p_api_version	IN	NUMBER,
2105                               p_init_msg_list	IN	VARCHAR2 ,
2106                               x_return_status	OUT NOCOPY	VARCHAR2,
2107                               x_msg_count	OUT NOCOPY	NUMBER,
2108                               x_msg_data	OUT NOCOPY	VARCHAR2,
2109                               p_cprv_tbl	IN	cprv_tbl_type) is
2110 i NUMBER;
2111 l_return_status	VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
2112 begin
2113      OKC_API.init_msg_list(p_init_msg_list);
2114       x_return_status:= OKC_API.G_RET_STS_SUCCESS;
2115       if (p_cprv_tbl.COUNT>0) then
2116         i := p_cprv_tbl.FIRST;
2117         LOOP
2118 	    validate_change_party_role(p_api_version=>p_api_version,
2119                               p_init_msg_list=>OKC_API.G_FALSE,
2120                               x_return_status=>l_return_status,
2121                               x_msg_count=>x_msg_count,
2122                               x_msg_data=>x_msg_data,
2123                               p_cprv_rec=>p_cprv_tbl(i));
2124           if (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) then
2125             x_return_status := l_return_status;
2126             raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2127           elsif (l_return_status = OKC_API.G_RET_STS_ERROR) then
2128             x_return_status := l_return_status;
2129           end if;
2130           EXIT WHEN (i=p_cprv_tbl.LAST);
2131           i := p_cprv_tbl.NEXT(i);
2132         END LOOP;
2133       end if;
2134 exception
2135 when others then NULL;
2136 end validate_change_party_role;
2137 
2138 procedure put(p varchar2) is
2139 begin
2140 	aname:=p||'%';
2141 end;
2142 
2143 function get return varchar2 is
2144 begin
2145 	return aname;
2146 end;
2147 
2148 function reset return varchar2 is
2149 begin
2150 	aname:='%';
2151 	return NULL;
2152 end;
2153 
2154 end OKC_CHANGE_REQUEST_PUB;