DBA Data[Home] [Help]

PACKAGE BODY: APPS.OKL_RULE_APIS_PUB

Source


1 Package Body OKL_RULE_APIS_PUB As
2 /* $Header: OKLPRAPB.pls 115.9 2002/11/30 08:38:48 spillaip noship $ */
3 --Start of Comments
4 --Procedure Name :  Get_Contract_Rgs
5 --Description    :  Get Contract Rule Groups for a chr_id, cle_id
6 --                 if chr_id is given gets data for header
7 --                 if only cle_id or cle_id and chr_id(dnz_chr_id) are given
8 --                 fetches data for line
9 --End of comments
10 Procedure Get_Contract_Rgs(p_api_version    IN  NUMBER,
11                            p_init_msg_list  IN  VARCHAR2,
12                            p_chr_id		    IN  NUMBER,
13                            p_cle_id         IN  NUMBER,
14                            p_rgd_code       IN  VARCHAR2,
15                            x_return_status  OUT NOCOPY VARCHAR2,
16                            x_msg_count      OUT NOCOPY NUMBER,
17                            x_msg_data       OUT NOCOPY VARCHAR2,
18                            x_rgpv_tbl       OUT NOCOPY rgpv_tbl_type,
19                            x_rg_count       OUT NOCOPY NUMBER) is
20     l_return_status		           VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
21     l_api_name			           CONSTANT VARCHAR2(30) := 'GET_CONTRACT_RGS';
22     l_api_version		           CONSTANT NUMBER	:= 1.0;
23 BEGIN
24 --Call OKL_API.START_ACTIVITY
25     l_return_status := OKL_API.START_ACTIVITY( substr(l_api_name,1,26),
26 	                                           G_PKG_NAME,
27 	                                           p_init_msg_list,
28 	                                           l_api_version,
29 	                                           p_api_version,
30 	                                           '_PUB',
31                                          	   x_return_status);
32 
33     IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
34       		RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
35     ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
36       		RAISE OKL_API.G_EXCEPTION_ERROR;
37     END IF;
38 
39     OKL_RULE_APIS_PVT.Get_Contract_Rgs(p_api_version    => p_api_version,
40                                        p_init_msg_list  => p_init_msg_list,
41                                        p_chr_id		    => p_chr_id,
42                                        p_cle_id         => p_cle_id,
43                                        p_rgd_code       => p_rgd_code,
44                                        x_return_status  => x_return_status,
45                                        x_msg_count      => x_msg_count,
46                                        x_msg_data       => x_msg_data,
47                                        x_rgpv_tbl       => x_rgpv_tbl,
48                                        x_rg_count       => x_rg_count);
49     IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
50       		RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
51     ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
52       		RAISE OKL_API.G_EXCEPTION_ERROR;
53     END IF;
54 
55      --Call End Activity
56     OKL_API.END_ACTIVITY(x_msg_count	=> x_msg_count,
57 				         x_msg_data		=> x_msg_data);
58     EXCEPTION
59     when OKL_API.G_EXCEPTION_ERROR then
60       x_return_status := OKL_API.HANDLE_EXCEPTIONS(
61 			p_api_name  => l_api_name,
62 			p_pkg_name  => g_pkg_name,
63 			p_exc_name  => 'OKL_API.G_RET_STS_ERROR',
64 			x_msg_count => x_msg_count,
65 			x_msg_data  => x_msg_data,
66 			p_api_type  => g_api_type);
67 
68     when OKL_API.G_EXCEPTION_UNEXPECTED_ERROR then
69       x_return_status := OKL_API.HANDLE_EXCEPTIONS(
70 			p_api_name  => l_api_name,
71 			p_pkg_name  => g_pkg_name,
72 			p_exc_name  => 'OKL_API.G_RET_STS_UNEXP_ERROR',
73 			x_msg_count => x_msg_count,
74 			x_msg_data  => x_msg_data,
75 			p_api_type  => g_api_type);
76 
77     when OTHERS then
78       x_return_status := OKL_API.HANDLE_EXCEPTIONS(
79 			p_api_name  => l_api_name,
80 			p_pkg_name  => g_pkg_name,
81 			p_exc_name  => 'OTHERS',
82 			x_msg_count => x_msg_count,
83 			x_msg_data  => x_msg_data,
84 			p_api_type  => g_api_type);
85 END Get_Contract_Rgs;
86 
87 --Start of Comments
88 --Procedure    : Get Contract Rules
89 --Description  : Gets all or specific rules for a rule group
90 -- End of Comments
91 
92 Procedure Get_Contract_Rules(p_api_version    IN  NUMBER,
93                              p_init_msg_list  IN  VARCHAR2,
94                              p_rgpv_rec       IN  rgpv_rec_type,
95                              p_rdf_code       IN  VARCHAR2,
96                              x_return_status  OUT NOCOPY VARCHAR2,
97                              x_msg_count      OUT NOCOPY NUMBER,
98                              x_msg_data       OUT NOCOPY VARCHAR2,
99                              x_rulv_tbl       OUT NOCOPY rulv_tbl_type,
100                              x_rule_count     OUT NOCOPY NUMBER ) IS
101 
102     l_return_status		           VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
103     l_api_name			           CONSTANT VARCHAR2(30) := 'GET_CONTRACT_RULES';
104     l_api_version		           CONSTANT NUMBER	:= 1.0;
105 BEGIN
106 --Call OKL_API.START_ACTIVITY
107     l_return_status := OKL_API.START_ACTIVITY( substr(l_api_name,1,26),
108 	                                           G_PKG_NAME,
109 	                                           p_init_msg_list,
110 	                                           l_api_version,
111 	                                           p_api_version,
112 	                                           '_PUB',
113                                          	   x_return_status);
114 
115     IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
116       		RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
117     ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
118       		RAISE OKL_API.G_EXCEPTION_ERROR;
119     END IF;
120 
121     OKL_RULE_APIS_PVT.Get_Contract_Rules(p_api_version  => p_api_version,
122                              p_init_msg_list  => p_init_msg_list,
123                              p_rgpv_rec       => p_rgpv_rec,
124                              p_rdf_code       => p_rdf_code,
125                              x_return_status  => x_return_status,
126                              x_msg_count      => x_msg_count,
127                              x_msg_data       => x_msg_data,
128                              x_rulv_tbl       => x_rulv_tbl,
129                              x_rule_count     => x_rule_count);
130 
131      IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
132       		RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
133     ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
134       		RAISE OKL_API.G_EXCEPTION_ERROR;
135     END IF;
136 
137      --Call End Activity
138     OKL_API.END_ACTIVITY(x_msg_count	=> x_msg_count,
139 				         x_msg_data		=> x_msg_data);
140     EXCEPTION
141     when OKL_API.G_EXCEPTION_ERROR then
142       x_return_status := OKL_API.HANDLE_EXCEPTIONS(
143 			p_api_name  => l_api_name,
144 			p_pkg_name  => g_pkg_name,
145 			p_exc_name  => 'OKL_API.G_RET_STS_ERROR',
146 			x_msg_count => x_msg_count,
147 			x_msg_data  => x_msg_data,
148 			p_api_type  => g_api_type);
149 
150     when OKL_API.G_EXCEPTION_UNEXPECTED_ERROR then
151       x_return_status := OKL_API.HANDLE_EXCEPTIONS(
152 			p_api_name  => l_api_name,
153 			p_pkg_name  => g_pkg_name,
154 			p_exc_name  => 'OKL_API.G_RET_STS_UNEXP_ERROR',
155 			x_msg_count => x_msg_count,
156 			x_msg_data  => x_msg_data,
157 			p_api_type  => g_api_type);
158 
159     when OTHERS then
160       x_return_status := OKL_API.HANDLE_EXCEPTIONS(
161 			p_api_name  => l_api_name,
162 			p_pkg_name  => g_pkg_name,
163 			p_exc_name  => 'OTHERS',
164 			x_msg_count => x_msg_count,
165 			x_msg_data  => x_msg_data,
166 			p_api_type  => g_api_type);
167 END Get_Contract_Rules;
168 
169 
170 -- Start of comments
171 --Procedure   : Get Rule Information
172 --Description : Fetches the display value (name) and select clause of the
173 --              rule information column in a rule if stored value(p_rule_info)
174 --              is provided else just returns the select clause
175 --              IN p_rdf_code      : rule_code
176 --                 p_appl_col_name : segment column name ('RULE_INFORMATION1',...)
177 --                 p_rule_info     : segment column value default Null
178 -- End of Comments
179 
180 Procedure Get_rule_Information (p_api_version    IN  NUMBER,
181                                 p_init_msg_list  IN  VARCHAR2,
182                                 p_rdf_code       IN  VARCHAR2,
183                                 p_appl_col_name  IN  VARCHAR2,
184                                 p_rule_info      IN  VARCHAR2,
185                                 x_return_status  OUT NOCOPY VARCHAR2,
186                                 x_msg_count      OUT NOCOPY NUMBER,
187                                 x_msg_data       OUT NOCOPY VARCHAR2,
188                                 x_name           OUT NOCOPY VARCHAR2,
189                                 x_select         OUT NOCOPY VARCHAR2) IS
190 
191     l_return_status		           VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
192     l_api_name			           CONSTANT VARCHAR2(30) := 'GET_RULE_INFORMATION';
193     l_api_version		           CONSTANT NUMBER	:= 1.0;
194 BEGIN
195 --Call OKL_API.START_ACTIVITY
196     l_return_status := OKL_API.START_ACTIVITY( substr(l_api_name,1,26),
197 	                                           G_PKG_NAME,
198 	                                           p_init_msg_list,
199 	                                           l_api_version,
200 	                                           p_api_version,
201 	                                           '_PUB',
202                                          	   x_return_status);
203 
204     IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
205       		RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
206     ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
207       		RAISE OKL_API.G_EXCEPTION_ERROR;
208     END IF;
209 
210     OKL_RULE_APIS_PVT.Get_rule_Information (p_api_version    => p_api_version,
211                                 p_init_msg_list  => p_init_msg_list,
212                                 p_rdf_code       => p_rdf_code,
213                                 p_appl_col_name  => p_appl_col_name,
214                                 p_rule_info      => p_rule_info,
215                                 x_return_status  => x_return_status,
216                                 x_msg_count      => x_msg_count,
217                                 x_msg_data       => x_msg_data,
218                                 x_name           => x_name,
219                                 x_select         => x_select);
220 
221     IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
222       		RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
223     ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
224       		RAISE OKL_API.G_EXCEPTION_ERROR;
225     END IF;
226 
227      --Call End Activity
228     OKL_API.END_ACTIVITY(x_msg_count	=> x_msg_count,
229 				         x_msg_data		=> x_msg_data);
230     EXCEPTION
231     when OKL_API.G_EXCEPTION_ERROR then
232       x_return_status := OKL_API.HANDLE_EXCEPTIONS(
233 			p_api_name  => l_api_name,
234 			p_pkg_name  => g_pkg_name,
235 			p_exc_name  => 'OKL_API.G_RET_STS_ERROR',
236 			x_msg_count => x_msg_count,
237 			x_msg_data  => x_msg_data,
238 			p_api_type  => g_api_type);
239 
240     when OKL_API.G_EXCEPTION_UNEXPECTED_ERROR then
241       x_return_status := OKL_API.HANDLE_EXCEPTIONS(
242 			p_api_name  => l_api_name,
243 			p_pkg_name  => g_pkg_name,
244 			p_exc_name  => 'OKL_API.G_RET_STS_UNEXP_ERROR',
245 			x_msg_count => x_msg_count,
246 			x_msg_data  => x_msg_data,
247 			p_api_type  => g_api_type);
248 
249     when OTHERS then
250       x_return_status := OKL_API.HANDLE_EXCEPTIONS(
251 			p_api_name  => l_api_name,
252 			p_pkg_name  => g_pkg_name,
253 			p_exc_name  => 'OTHERS',
254 			x_msg_count => x_msg_count,
255 			x_msg_data  => x_msg_data,
256 			p_api_type  => g_api_type);
257 END Get_rule_Information;
258 
259 -- Start of comments
260 --Procedure   : Get_jtot_object
261 --Description : Fetches the display values (name,description)  and additional
262 --              columns status, start_date, end_date, org_id, inv_org_id,
263 --              book_type_code, if present if id1 and id2 are given
264 --              Also returns the select clause associated with the jtf_object
265 -- End of Comments
266 
267 Procedure Get_jtot_object(p_api_version     IN  NUMBER,
268                           p_init_msg_list   IN  VARCHAR2,
269                           p_object_code     IN  VARCHAR2,
270                           p_id1             IN  VARCHAR2,
271                           p_id2             IN  VARCHAR2,
272                           x_return_status   OUT NOCOPY VARCHAR2,
273                           x_msg_count       OUT NOCOPY NUMBER,
274                           x_msg_data        OUT NOCOPY VARCHAR2,
275                           x_id1             OUT NOCOPY VARCHAR2,
276                           x_id2             OUT NOCOPY VARCHAR2,
277                           x_name            OUT NOCOPY VARCHAR2,
278                           x_description     OUT NOCOPY VARCHAR2,
279                           x_status          OUT NOCOPY VARCHAR2,
280                           x_start_date      OUT NOCOPY DATE,
281                           x_end_date        OUT NOCOPY DATE,
282                           x_org_id          OUT NOCOPY NUMBER,
283                           x_inv_org_id      OUT NOCOPY NUMBER,
284                           x_book_type_code  OUT NOCOPY VARCHAR2,
285                           x_select          OUT NOCOPY VARCHAR2)IS
286 
287     l_return_status		           VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
288     l_api_name			           CONSTANT VARCHAR2(30) := 'GET_JTOT_OBJECT';
289     l_api_version		           CONSTANT NUMBER	:= 1.0;
290 BEGIN
291 --Call OKL_API.START_ACTIVITY
292     l_return_status := OKL_API.START_ACTIVITY( substr(l_api_name,1,26),
293 	                                           G_PKG_NAME,
294 	                                           p_init_msg_list,
295 	                                           l_api_version,
296 	                                           p_api_version,
297 	                                           '_PUB',
298                                          	   x_return_status);
299 
300     IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
301       		RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
302     ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
303       		RAISE OKL_API.G_EXCEPTION_ERROR;
304     END IF;
305 
306     OKL_RULE_APIS_PVT.Get_jtot_object(p_api_version     => p_api_version,
307                           p_init_msg_list   => p_init_msg_list,
308                           p_object_code     => p_object_code,
309                           p_id1             => p_id1,
310                           p_id2             => p_id2,
311                           x_return_status   => x_return_status,
312                           x_msg_count       => x_msg_count,
313                           x_msg_data        => x_msg_data,
314                           x_id1             => x_id1,
315                           x_id2             => x_id2,
316                           x_name            => x_name,
317                           x_description     => x_description,
318                           x_status          => x_status,
319                           x_start_date      => x_start_date,
320                           x_end_date        => x_end_date,
321                           x_org_id          => x_org_id,
322                           x_inv_org_id      => x_inv_org_id,
323                           x_book_type_code  => x_book_type_code,
324                           x_select          => x_select);
325 
326     IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
327       		RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
328     ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
329       		RAISE OKL_API.G_EXCEPTION_ERROR;
330     END IF;
331 
332      --Call End Activity
333     OKL_API.END_ACTIVITY(x_msg_count	=> x_msg_count,
334 				         x_msg_data		=> x_msg_data);
335     EXCEPTION
336     when OKL_API.G_EXCEPTION_ERROR then
337       x_return_status := OKL_API.HANDLE_EXCEPTIONS(
338 			p_api_name  => l_api_name,
339 			p_pkg_name  => g_pkg_name,
340 			p_exc_name  => 'OKL_API.G_RET_STS_ERROR',
341 			x_msg_count => x_msg_count,
342 			x_msg_data  => x_msg_data,
343 			p_api_type  => g_api_type);
344 
345     when OKL_API.G_EXCEPTION_UNEXPECTED_ERROR then
346       x_return_status := OKL_API.HANDLE_EXCEPTIONS(
347 			p_api_name  => l_api_name,
348 			p_pkg_name  => g_pkg_name,
349 			p_exc_name  => 'OKL_API.G_RET_STS_UNEXP_ERROR',
350 			x_msg_count => x_msg_count,
351 			x_msg_data  => x_msg_data,
352 			p_api_type  => g_api_type);
353 
354     when OTHERS then
355       x_return_status := OKL_API.HANDLE_EXCEPTIONS(
356 			p_api_name  => l_api_name,
357 			p_pkg_name  => g_pkg_name,
358 			p_exc_name  => 'OTHERS',
359 			x_msg_count => x_msg_count,
360 			x_msg_data  => x_msg_data,
361 			p_api_type  => g_api_type);
362 End Get_jtot_object;
363 --Start of Comments
364 --Procedure    : Get_Rule_disp_value
365 --Description  : Fetches the displayed values of all rule segments
366 --End of Comments
367 
368 Procedure Get_Rule_disp_value    (p_api_version    IN  NUMBER,
369                                   p_init_msg_list  IN  VARCHAR2,
370                                   p_rulv_rec       IN Rulv_rec_type,
371                                   x_return_status  OUT NOCOPY VARCHAR2,
372                                   x_msg_count      OUT NOCOPY NUMBER,
373                                   x_msg_data       OUT NOCOPY VARCHAR2,
374                                   x_rulv_disp_rec  OUT  NOCOPY rulv_disp_rec_type)IS
375 
376     l_return_status		           VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
377     l_api_name			           CONSTANT VARCHAR2(30) := 'GET_RULE_DISP_VALUE';
378     l_api_version		           CONSTANT NUMBER	:= 1.0;
379 BEGIN
380 --Call OKL_API.START_ACTIVITY
381     l_return_status := OKL_API.START_ACTIVITY( substr(l_api_name,1,26),
382 	                                           G_PKG_NAME,
383 	                                           p_init_msg_list,
384 	                                           l_api_version,
385 	                                           p_api_version,
386 	                                           '_PUB',
387                                          	   x_return_status);
388 
389     IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
390       		RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
391     ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
392       		RAISE OKL_API.G_EXCEPTION_ERROR;
393     END IF;
394 
395     OKL_RULE_APIS_PVT.Get_Rule_disp_value(p_api_version    => p_api_version,
396                                   p_init_msg_list  => p_init_msg_list,
397                                   p_rulv_rec       => p_rulv_rec,
398                                   x_return_status  => x_return_status,
399                                   x_msg_count      => x_msg_count,
400                                   x_msg_data       => x_msg_data,
401                                   x_rulv_disp_rec  => x_rulv_disp_rec);
402 
403     IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
404       		RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
405     ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
406       		RAISE OKL_API.G_EXCEPTION_ERROR;
407     END IF;
408 
409      --Call End Activity
410     OKL_API.END_ACTIVITY(x_msg_count	=> x_msg_count,
411 				         x_msg_data		=> x_msg_data);
412     EXCEPTION
413     when OKL_API.G_EXCEPTION_ERROR then
414       x_return_status := OKL_API.HANDLE_EXCEPTIONS(
415 			p_api_name  => l_api_name,
416 			p_pkg_name  => g_pkg_name,
417 			p_exc_name  => 'OKL_API.G_RET_STS_ERROR',
418 			x_msg_count => x_msg_count,
419 			x_msg_data  => x_msg_data,
420 			p_api_type  => g_api_type);
421 
422     when OKL_API.G_EXCEPTION_UNEXPECTED_ERROR then
423       x_return_status := OKL_API.HANDLE_EXCEPTIONS(
424 			p_api_name  => l_api_name,
425 			p_pkg_name  => g_pkg_name,
426 			p_exc_name  => 'OKL_API.G_RET_STS_UNEXP_ERROR',
427 			x_msg_count => x_msg_count,
428 			x_msg_data  => x_msg_data,
429 			p_api_type  => g_api_type);
430 
431     when OTHERS then
432       x_return_status := OKL_API.HANDLE_EXCEPTIONS(
433 			p_api_name  => l_api_name,
434 			p_pkg_name  => g_pkg_name,
435 			p_exc_name  => 'OTHERS',
436 			x_msg_count => x_msg_count,
437 			x_msg_data  => x_msg_data,
438 			p_api_type  => g_api_type);
439 End Get_Rule_disp_value;
440 --Start of Comments
441 --Procedure    : Get_Rule_Segment_value
442 --Description  : Fetches the displayed value and select clauses of
443 --               of specific rule segment.
444 --Note         : This API requires exact screen prompt label of the segment
445 --               to be passed as p_rdf_name
446 --End of Comments
447 Procedure Get_rule_Segment_Value(p_api_version     IN  NUMBER,
448                                  p_init_msg_list   IN  VARCHAR2,
449                                  x_return_status   OUT NOCOPY VARCHAR2,
450                                  x_msg_count       OUT NOCOPY NUMBER,
451                                  x_msg_data        OUT NOCOPY VARCHAR2,
452                                  p_chr_id          IN  NUMBER,
453                                  p_cle_id          IN  NUMBER,
454                                  p_rgd_code        IN  VARCHAR2,
455                                  p_rdf_code        IN  VARCHAR2,
456                                  p_rdf_name        IN  VARCHAR2,
457                                  x_id1             OUT NOCOPY VARCHAR2,
458                                  x_id2             OUT NOCOPY VARCHAR2,
459                                  x_name            OUT NOCOPY VARCHAR2,
460                                  x_description     OUT NOCOPY VARCHAR2,
461                                  x_status          OUT NOCOPY VARCHAR2,
462                                  x_start_date      OUT NOCOPY DATE,
463                                  x_end_date        OUT NOCOPY DATE,
464                                  x_org_id          OUT NOCOPY NUMBER,
465                                  x_inv_org_id      OUT NOCOPY NUMBER,
466                                  x_book_type_code  OUT NOCOPY VARCHAR2,
467                                  x_select          OUT NOCOPY VARCHAR2) is
468 
469     l_return_status		           VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
470     l_api_name			           CONSTANT VARCHAR2(30) := 'GET_RULE_SEGMENT_VALUE';
471     l_api_version		           CONSTANT NUMBER	:= 1.0;
472 Begin
473     --Call OKL_API.START_ACTIVITY
474     l_return_status := OKL_API.START_ACTIVITY( substr(l_api_name,1,26),
475 	                                           G_PKG_NAME,
476 	                                           p_init_msg_list,
477 	                                           l_api_version,
478 	                                           p_api_version,
479 	                                           '_PUB',
480                                          	   x_return_status);
481     IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
482       		RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
483     ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
484       		RAISE OKL_API.G_EXCEPTION_ERROR;
485     END IF;
486 
487     OKL_RULE_APIS_PVT.Get_rule_Segment_Value(p_api_version     => p_api_version,
488                                              p_init_msg_list   => p_init_msg_list,
489                                              x_return_status   => x_return_status,
490                                              x_msg_count       => x_msg_count,
491                                              x_msg_data        => x_msg_data,
492                                              p_chr_id          => p_chr_id,
493                                              p_cle_id          => p_cle_id,
494                                              p_rgd_code        => p_rgd_code,
495                                              p_rdf_code        => p_rdf_code,
496                                              p_rdf_name        => p_rdf_name,
497                                              x_id1             => x_id1,
498                                              x_id2             => x_id2,
499                                              x_name            => x_name,
500                                              x_description     => x_description,
501                                              x_status          => x_status,
502                                              x_start_date      => x_start_date,
503                                              x_end_date        => x_end_date,
504                                              x_org_id          => x_org_id,
505                                              x_inv_org_id      => x_inv_org_id,
506                                              x_book_type_code  => x_book_type_code,
507                                              x_select          => x_select);
508 
509     IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
510       		RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
511     ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
512       		RAISE OKL_API.G_EXCEPTION_ERROR;
513     END IF;
514 
515     --Call End Activity
516     OKL_API.END_ACTIVITY(x_msg_count	=> x_msg_count,
517 				         x_msg_data		=> x_msg_data);
518    EXCEPTION
519    when OKL_API.G_EXCEPTION_ERROR then
520       x_return_status := OKL_API.HANDLE_EXCEPTIONS(
521 			p_api_name  => l_api_name,
522 			p_pkg_name  => g_pkg_name,
523 			p_exc_name  => 'OKL_API.G_RET_STS_ERROR',
524 			x_msg_count => x_msg_count,
525 			x_msg_data  => x_msg_data,
526 			p_api_type  => g_api_type);
527 
528     when OKL_API.G_EXCEPTION_UNEXPECTED_ERROR then
529       x_return_status := OKL_API.HANDLE_EXCEPTIONS(
530 			p_api_name  => l_api_name,
531 			p_pkg_name  => g_pkg_name,
532 			p_exc_name  => 'OKL_API.G_RET_STS_UNEXP_ERROR',
533 			x_msg_count => x_msg_count,
534 			x_msg_data  => x_msg_data,
535 			p_api_type  => g_api_type);
536 
537     when OTHERS then
538       x_return_status := OKL_API.HANDLE_EXCEPTIONS(
539 			p_api_name  => l_api_name,
540 			p_pkg_name  => g_pkg_name,
541 			p_exc_name  => 'OTHERS',
542 			x_msg_count => x_msg_count,
543 			x_msg_data  => x_msg_data,
544 			p_api_type  => g_api_type);
545 End Get_Rule_Segment_Value;
546 --Start of Comments
547 --Bug#2525946   : overloaded to take rule segment numbers as input
548 --Procedure    : Get_Rule_Segment_value
549 --Description  : Fetches the displayed value and select clauses of
550 --               of specific rule segment.
551 --Note         : This API requires segment number
552 --               Segment number 1 to 15 are mapped to RULE_INFORMATION1 to
553 --               RULE_INFORMATION15. Segment Numbers 16, 17 and 18 are mapped
554 --               to jtot_object1, jtot_object2 and jtot_object3 respectively
555 --End of Comments
556 Procedure Get_rule_Segment_Value(p_api_version     IN  NUMBER,
557                                  p_init_msg_list   IN  VARCHAR2,
558                                  x_return_status   OUT NOCOPY VARCHAR2,
559                                  x_msg_count       OUT NOCOPY NUMBER,
560                                  x_msg_data        OUT NOCOPY VARCHAR2,
561                                  p_chr_id          IN  NUMBER,
562                                  p_cle_id          IN  NUMBER,
563                                  p_rgd_code        IN  VARCHAR2,
564                                  p_rdf_code        IN  VARCHAR2,
565                                  p_segment_number  IN  NUMBER,
566                                  x_id1             OUT NOCOPY VARCHAR2,
567                                  x_id2             OUT NOCOPY VARCHAR2,
568                                  x_name            OUT NOCOPY VARCHAR2,
569                                  x_description     OUT NOCOPY VARCHAR2,
570                                  x_status          OUT NOCOPY VARCHAR2,
571                                  x_start_date      OUT NOCOPY DATE,
572                                  x_end_date        OUT NOCOPY DATE,
573                                  x_org_id          OUT NOCOPY NUMBER,
574                                  x_inv_org_id      OUT NOCOPY NUMBER,
575                                  x_book_type_code  OUT NOCOPY VARCHAR2,
576                                  x_select          OUT NOCOPY VARCHAR2) is
577     l_return_status		           VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
578     l_api_name			           CONSTANT VARCHAR2(30) := 'GET_RULE_SEGMENT_VALUE';
579     l_api_version		           CONSTANT NUMBER	:= 1.0;
580 Begin
581     --Call OKL_API.START_ACTIVITY
582     l_return_status := OKL_API.START_ACTIVITY( substr(l_api_name,1,26),
583 	                                           G_PKG_NAME,
584 	                                           p_init_msg_list,
585 	                                           l_api_version,
586 	                                           p_api_version,
587 	                                           '_PUB',
588                                          	   x_return_status);
589     IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
590       		RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
591     ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
592       		RAISE OKL_API.G_EXCEPTION_ERROR;
593     END IF;
594 
595     OKL_RULE_APIS_PVT.Get_rule_Segment_Value(p_api_version     => p_api_version,
596                                              p_init_msg_list   => p_init_msg_list,
597                                              x_return_status   => x_return_status,
598                                              x_msg_count       => x_msg_count,
599                                              x_msg_data        => x_msg_data,
600                                              p_chr_id          => p_chr_id,
601                                              p_cle_id          => p_cle_id,
602                                              p_rgd_code        => p_rgd_code,
603                                              p_rdf_code        => p_rdf_code,
604                                              p_segment_number  => p_segment_number,
605                                              x_id1             => x_id1,
606                                              x_id2             => x_id2,
607                                              x_name            => x_name,
608                                              x_description     => x_description,
609                                              x_status          => x_status,
610                                              x_start_date      => x_start_date,
611                                              x_end_date        => x_end_date,
612                                              x_org_id          => x_org_id,
613                                              x_inv_org_id      => x_inv_org_id,
614                                              x_book_type_code  => x_book_type_code,
615                                              x_select          => x_select);
616 
617     IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
618       		RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
619     ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
620       		RAISE OKL_API.G_EXCEPTION_ERROR;
621     END IF;
622 
623     --Call End Activity
624     OKL_API.END_ACTIVITY(x_msg_count	=> x_msg_count,
625 				         x_msg_data		=> x_msg_data);
626    EXCEPTION
627    when OKL_API.G_EXCEPTION_ERROR then
628       x_return_status := OKL_API.HANDLE_EXCEPTIONS(
629 			p_api_name  => l_api_name,
630 			p_pkg_name  => g_pkg_name,
631 			p_exc_name  => 'OKL_API.G_RET_STS_ERROR',
632 			x_msg_count => x_msg_count,
633 			x_msg_data  => x_msg_data,
634 			p_api_type  => g_api_type);
635 
636     when OKL_API.G_EXCEPTION_UNEXPECTED_ERROR then
637       x_return_status := OKL_API.HANDLE_EXCEPTIONS(
638 			p_api_name  => l_api_name,
639 			p_pkg_name  => g_pkg_name,
640 			p_exc_name  => 'OKL_API.G_RET_STS_UNEXP_ERROR',
641 			x_msg_count => x_msg_count,
642 			x_msg_data  => x_msg_data,
643 			p_api_type  => g_api_type);
644 
645     when OTHERS then
646       x_return_status := OKL_API.HANDLE_EXCEPTIONS(
647 			p_api_name  => l_api_name,
648 			p_pkg_name  => g_pkg_name,
649 			p_exc_name  => 'OTHERS',
650 			x_msg_count => x_msg_count,
651 			x_msg_data  => x_msg_data,
652 			p_api_type  => g_api_type);
653 End Get_Rule_Segment_Value;
654 
655 End OKL_RULE_APIS_PUB;