DBA Data[Home] [Help]

PACKAGE BODY: APPS.OKC_RULE_PVT

Source


1 PACKAGE BODY OKC_RULE_PVT AS
2 /* $Header: OKCCRULB.pls 120.1 2005/08/16 16:22:39 jkodiyan noship $ */
3 
4 	l_debug VARCHAR2(1) := NVL(FND_PROFILE.VALUE('AFLOG_ENABLED'),'N');
5 
6   G_EXCEPTION_CANNOT_DELETE    EXCEPTION;
7   G_NO_RULE_ALLOWED            EXCEPTION;
8   G_CANNOT_DELETE_MASTER       CONSTANT VARCHAR2(200) := 'OKC_CANNOT_DELETE_MASTER';
9   g_package                    varchar2(33) := '  OKC_RULE_PVT.';
10 
11 -- /striping/
12 p_rule_code   OKC_RULE_DEFS_B.rule_code%TYPE;
13 p_appl_id     OKC_RULE_DEFS_B.application_id%TYPE;
14 p_dff_name    OKC_RULE_DEFS_B.descriptive_flexfield_name%TYPE;
15 
16   -- Start of comments
17   --
18   -- Procedure Name  : update_minor_version
19   -- Description     :
20   -- Business Rules  :
21   -- Parameters      :
22   -- Version         : 1.0
23   -- End of comments
24 
25   PROCEDURE update_minor_version(p_chr_id NUMBER) IS
26     l_api_version                NUMBER := 1;
27     l_init_msg_list              VARCHAR2(1) := 'F';
28     x_return_status              VARCHAR2(1);
29     x_msg_count                  NUMBER;
30     x_msg_data                   VARCHAR2(2000);
31     x_out_rec                    OKC_CVM_PVT.cvmv_rec_type;
32     l_cvmv_rec                   OKC_CVM_PVT.cvmv_rec_type;
33    --
34    l_proc varchar2(72) := g_package||'update_minor_version';
35    --
36   BEGIN
37 
38     -- assign/populate contract header id
39     l_cvmv_rec.chr_id := p_chr_id;
40 
41     OKC_CVM_PVT.update_contract_version(
42       p_api_version    => l_api_version,
43       p_init_msg_list  => l_init_msg_list,
44       x_return_status  => x_return_status,
45       x_msg_count      => x_msg_count,
46       x_msg_data       => x_msg_data,
47       p_cvmv_rec       => l_cvmv_rec,
48       x_cvmv_rec       => x_out_rec);
49 
50     IF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
51       RAISE G_EXCEPTION_HALT_VALIDATION;
52     END IF;
53 
54   EXCEPTION
55   WHEN G_EXCEPTION_HALT_VALIDATION THEN
56     --Bug 4149131 Raising the validation so that
57     --it will be handled in the calling API.
58     RAISE;
59   WHEN OTHERS THEN
60 
61 
62     -- store SQL error message on message stack
63     OKC_API.SET_MESSAGE(
64       p_app_name        => g_app_name,
65       p_msg_name        => g_unexpected_error,
66       p_token1	        => g_sqlcode_token,
67       p_token1_value    => sqlcode,
68       p_token2          => g_sqlerrm_token,
69       p_token2_value    => sqlerrm);
70     -- notify caller of an error as UNEXPETED error
71     x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
72   END update_minor_version;
73 
74   -- Start of comments
75   --
76   -- Procedure Name  : is_rule_allowed
77   -- Description     : Checks if rules are allowed for contracts class,
78   -- Business Rules  :
79   -- Version         : 1.0
80   -- End of comments
81 
82 Procedure is_rule_allowed(p_id number,
83 					 p_object          varchar2,
84 					 P_rule_code       varchar2,
85 					 x_return       out NOCOPY varchar2,
86 					 x_rule_meaning out NOCOPY varchar2) IS
87 
88  Cursor cur_k_appl_id is
89    Select application_id
90    from okc_k_headers_b
91    where id = p_id;
92 
93 
94  CURSOR cur_rul_appl_id IS
95    SELECT application_id,meaning
96    FROM   okc_rule_defs_v
97    where rule_code = P_rule_code;
98 
99    k_appl_id number;
100    r_appl_id number;
101 
102 Begin
103 
104    Open cur_k_appl_id;
105    Fetch cur_k_appl_id into k_appl_id;
106    Close cur_k_appl_id;
107 
108 --For OKS ks no rule/rule group allowed
109    If k_appl_id =515 Then
110        x_return :='N';
111 --For OKL ks , rule groups are allowed
112 --rules for OKC categories are not allowed
113 
114    Elsif k_appl_id = 540 and p_object='RUL' Then
115         open cur_rul_appl_id;
116         Fetch cur_rul_appl_id into r_appl_id,x_rule_meaning;
117         Close cur_rul_appl_id;
118         If r_appl_id = 510 Then
119           x_return :='N';
120         End If ;
121    End If;
122 
123    If x_return is null then
124 	x_return := 'Y';
125    End If;
126 
127 End Is_rule_allowed;
128 
129 --
130   PROCEDURE create_rule(
131     p_api_version                  IN  NUMBER,
132     p_init_msg_list                IN  VARCHAR2 ,
133     x_return_status                OUT NOCOPY VARCHAR2,
134     x_msg_count                    OUT NOCOPY NUMBER,
135     x_msg_data                     OUT NOCOPY VARCHAR2,
136     p_rulv_rec                     IN  rulv_rec_type,
137     x_rulv_rec                     OUT NOCOPY rulv_rec_type,
138     p_euro_conv_yn                 IN VARCHAR2)
139   IS
140 
141     l_rulv_rec okc_rule_pub.rulv_rec_type;
142     l_return_status	VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
143     l_euro_rate         NUMBER;
144     l_rate              NUMBER;
145     l_meaning      VARCHAR2(80) ;
146     lx_return_status	VARCHAR2(1) ;
147 
148     CURSOR l_chr_csr IS
149       SELECT chr.*
150         FROM OKC_K_HEADERS_B chr
151        WHERE chr.id = p_rulv_rec.dnz_chr_id;
152     l_chr_rec l_chr_csr%ROWTYPE;
153    --
154    l_proc varchar2(72) := g_package||'create_rule';
155    --
156   BEGIN
157 
158     l_rulv_rec := p_rulv_rec;
159 
160     --/Rules Migration/
161     Is_rule_allowed(p_rulv_rec.dnz_chr_id,
162 				'RUL',
163 				p_rulv_rec.rule_information_category,
164 				lx_return_status,
165 				l_meaning);
166 
167     If lx_return_status = 'N' Then
168 	 Raise G_NO_RULE_ALLOWED;
169     End If;
170 --
171     IF p_euro_conv_yn = 'Y' THEN
172       IF p_rulv_rec.rule_information_category = 'CVN' THEN
173 
174         -- Get Contract Header info
175         OPEN l_chr_csr;
176         FETCH l_chr_csr INTO l_chr_rec;
177         CLOSE l_chr_csr;
178 
179         okc_currency_api.get_rate(
180           p_FROM_CURRENCY   => l_chr_rec.currency_code
181          ,p_TO_CURRENCY     => okc_currency_api.get_ou_currency(l_chr_rec.authoring_org_id)
182          ,p_CONVERSION_DATE => fnd_date.canonical_to_date(l_rulv_rec.rule_information2)
183          ,p_CONVERSION_TYPE => l_rulv_rec.object1_id1
184          ,x_CONVERSION_RATE => l_rate
185          ,x_EURO_RATE       => l_euro_rate
186          ,x_return_status   => l_return_status);
187 
188         IF l_return_status <> OKC_API.G_RET_STS_SUCCESS THEN
189           x_return_status := l_return_status;
190           RETURN;
191         END IF;
192 
193         l_rulv_rec.rule_information1 := l_rate;
194 
195         IF l_euro_rate IS NOT NULL THEN
196           l_rulv_rec.rule_information3 := p_rulv_rec.rule_information1;
197           l_rulv_rec.rule_information1 := l_euro_rate;
198         END IF;
199       END IF;
200     END IF;
201 
202     OKC_RUL_PVT.insert_row(
203       p_api_version   => p_api_version,
204       p_init_msg_list => p_init_msg_list,
205       x_return_status => x_return_status,
206       x_msg_count     => x_msg_count,
207       x_msg_data      => x_msg_data,
208       p_rulv_rec      => l_rulv_rec,
209       x_rulv_rec      => x_rulv_rec);
210 
211     -- Update minor version
212     IF (x_return_status = OKC_API.G_RET_STS_SUCCESS) THEN
213       update_minor_version(p_rulv_rec.dnz_chr_id);
214     END IF;
215 
216   EXCEPTION
217   WHEN okc_currency_api.no_rate then
218 
219     x_return_status := OKC_API.g_ret_sts_error;
220     OKC_API.SET_MESSAGE(G_APP_NAME,'OKC_NO_CONVERSION_RATE');
221   WHEN okc_currency_api.invalid_currency then
222 
223     x_return_status := OKC_API.g_ret_sts_error;
224     OKC_API.SET_MESSAGE(G_APP_NAME,'OKC_INVALID_CURRENCY');
225 
226   WHEN G_NO_RULE_ALLOWED then
227       x_return_status := OKC_API.g_ret_sts_error;
228 	 OKC_API.SET_MESSAGE(G_APP_NAME,'OKC_NO_RUL_ALLOWED','VALUE1',l_meaning);
229 
230   --Bug 4149131/4190812 Added logic to handle G_EXCEPTION_HALT_VALIDATION
231   WHEN G_EXCEPTION_HALT_VALIDATION THEN
232     x_return_status := OKC_API.G_RET_STS_ERROR;
233 
234   WHEN OTHERS THEN
235 
236 
237     IF l_chr_csr%ISOPEN THEN
238       CLOSE l_chr_csr;
239     END IF;
240     -- store SQL error message on message stack
241     OKC_API.SET_MESSAGE(
242       p_app_name        => G_APP_NAME,
243       p_msg_name        => G_UNEXPECTED_ERROR,
244       p_token1	        => G_SQLCODE_TOKEN,
245       p_token1_value    => SQLCODE,
246       p_token2          => G_SQLERRM_TOKEN,
247       p_token2_value    => SQLERRM);
248     -- notify caller of an error as UNEXPETED error
249     x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
250   END create_rule;
251 
252   PROCEDURE update_rule(
253     p_api_version                  IN  NUMBER,
254     p_init_msg_list                IN  VARCHAR2 ,
255     x_return_status                OUT NOCOPY VARCHAR2,
256     x_msg_count                    OUT NOCOPY NUMBER,
257     x_msg_data                     OUT NOCOPY VARCHAR2,
258     p_rulv_rec                     IN  rulv_rec_type,
259     x_rulv_rec                     OUT NOCOPY rulv_rec_type) IS
260    --
261    l_proc varchar2(72) := g_package||'update_rule';
262    --/Rules Migration/
263    l_meaning      VARCHAR2(80) ;
264    lx_return_status	VARCHAR2(1) ;
265   BEGIN
266 
267 --/Rules Migration/
268     Is_rule_allowed(p_rulv_rec.dnz_chr_id,
269                     'RUL',
270                     p_rulv_rec.rule_information_category,
271                     lx_return_status,
272                     l_meaning);
273 
274     If lx_return_status = 'N' Then
275       Raise G_NO_RULE_ALLOWED;
276     End If;
277 --
278 
279    OKC_RUL_PVT.update_row(
280       p_api_version   => p_api_version,
281       p_init_msg_list => p_init_msg_list,
282       x_return_status => x_return_status,
283       x_msg_count     => x_msg_count,
284       x_msg_data      => x_msg_data,
285       p_rulv_rec      => p_rulv_rec,
286       x_rulv_rec      => x_rulv_rec);
287 
288     -- Update minor version
289     IF (x_return_status = OKC_API.G_RET_STS_SUCCESS) THEN
290       update_minor_version(p_rulv_rec.dnz_chr_id);
291     END IF;
292 
293 
294 
295 
296   EXCEPTION
297   WHEN G_NO_RULE_ALLOWED then
298       x_return_status := OKC_API.g_ret_sts_error;
299       OKC_API.SET_MESSAGE(G_APP_NAME,'OKC_NO_RUL_ALLOWED','VALUE1',l_meaning);
300 
301   --Bug 4149131/4190812 Added logic to handle G_EXCEPTION_HALT_VALIDATION
302   WHEN G_EXCEPTION_HALT_VALIDATION THEN
303     x_return_status := OKC_API.G_RET_STS_ERROR;
304 
305   WHEN OTHERS THEN
306 
307 
308     -- store SQL error message on message stack
309     OKC_API.SET_MESSAGE(
310       p_app_name        => G_APP_NAME,
311       p_msg_name        => G_UNEXPECTED_ERROR,
312       p_token1	        => G_SQLCODE_TOKEN,
313       p_token1_value    => SQLCODE,
314       p_token2          => G_SQLERRM_TOKEN,
315       p_token2_value    => SQLERRM);
316     -- notify caller of an error as UNEXPETED error
317     x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
318   END update_rule;
319 
320   PROCEDURE delete_rule(
321     p_api_version                  IN  NUMBER,
322     p_init_msg_list                IN  VARCHAR2 ,
323     x_return_status                OUT NOCOPY VARCHAR2,
324     x_msg_count                    OUT NOCOPY NUMBER,
325     x_msg_data                     OUT NOCOPY VARCHAR2,
326     p_rulv_rec                     IN  rulv_rec_type) IS
327 
328     l_dummy_var VARCHAR(1) := NULL;
329     i NUMBER := 0;
330     CURSOR l_ctiv_csr IS
331       SELECT *
332         FROM OKC_COVER_TIMES_V ctiv
333        WHERE ctiv.RUL_ID = p_rulv_rec.id;
334 
335     CURSOR l_atnv_csr IS
336       SELECT 'x'
337         FROM OKC_ARTICLE_TRANS_V atnv
338        WHERE atnv.RUL_ID = p_rulv_rec.id;
339 
340     CURSOR l_rilv_csr IS
341       SELECT *
342         FROM OKC_REACT_INTERVALS_V rilv
343        WHERE rilv.RUL_ID = p_rulv_rec.id;
344     l_ctiv_tbl ctiv_tbl_type;
345     l_rilv_tbl rilv_tbl_type;
346 
347   L_RIC OKC_RULES_V.RULE_INFORMATION_CATEGORY%TYPE;
348 
349   CURSOR l_ric_csr IS
350     SELECT RULE_INFORMATION_CATEGORY
351     FROM OKC_RULES_B
352     WHERE ID = p_rulv_rec.id;
353   l_col_vals  okc_time_util_pub.t_col_vals;
354 
355 
356    --
357    l_proc varchar2(72) := g_package||'delete_rule';
358    --
359   BEGIN
360 
361      OPEN l_atnv_csr;
362     FETCH l_atnv_csr into l_dummy_var;
363     CLOSE l_atnv_csr;
364     IF l_dummy_var = 'x' THEN
365       RAISE G_EXCEPTION_CANNOT_DELETE;
366     END IF;
367 
368     --populate the Foreign key of the detail
369     FOR l_ctiv_rec in l_ctiv_csr LOOP
370       i := i + 1;
371       l_ctiv_tbl(i).rul_id := l_ctiv_rec.rul_id;
372       l_ctiv_tbl(i).tve_id := l_ctiv_rec.tve_id;
373     END LOOP;
374 
375     IF i > 0 THEN
376       --Delete the details
377       -- call Public delete procedure
378       OKC_RULE_PUB.delete_cover_time(
379         p_api_version   => p_api_version,
380         p_init_msg_list => p_init_msg_list,
381         x_return_status => x_return_status,
382         x_msg_count     => x_msg_count,
383         x_msg_data      => x_msg_data,
384         p_ctiv_tbl      => l_ctiv_tbl);
385 
386       IF x_return_status <> OKC_API.G_RET_STS_SUCCESS THEN
387         -- stop delete process
388         RETURN;
389       END IF;
390     END IF;
391 
392     i := 0;
393     --populate the Foreign key of the detail
394     FOR l_rilv_rec in l_rilv_csr LOOP
395       i := i + 1;
396       l_rilv_tbl(i).rul_id := l_rilv_rec.rul_id;
397       l_rilv_tbl(i).tve_id := l_rilv_rec.tve_id;
398     END LOOP;
399 
400     IF i > 0 THEN
401       --Delete the details
402       -- call Public delete procedure
403       OKC_RULE_PUB.delete_react_interval(
404         p_api_version   => p_api_version,
405         p_init_msg_list => p_init_msg_list,
406         x_return_status => x_return_status,
407         x_msg_count     => x_msg_count,
408         x_msg_data      => x_msg_data,
409         p_rilv_tbl      => l_rilv_tbl);
410 
411       IF x_return_status <> OKC_API.G_RET_STS_SUCCESS THEN
412         -- stop delete process
413         RETURN;
414       END IF;
415     END IF;
416 --
417 -- added for tve_id
418 --
419    open l_ric_csr;
420    fetch l_ric_csr into L_RIC;
421    close l_ric_csr;
422 
423 -- /striping/
424 p_appl_id  := okc_rld_pvt.get_appl_id(L_RIC);
425 p_dff_name := okc_rld_pvt.get_dff_name(L_RIC);
426 
427 --   okc_time_util_pub.get_dff_column_values( p_app_id => 510,          -- /striping/
428    okc_time_util_pub.get_dff_column_values( p_app_id => p_appl_id,
429 --                      p_dff_name => 'OKC Rule Developer DF',          -- /striping/
430                       p_dff_name => p_dff_name,
431                       p_rdf_code => l_ric,
432                       p_fvs_name =>'OKC_TIMEVALUES',
433                       p_rule_id  =>p_rulv_rec.id,
434                       p_col_vals => l_col_vals,
435                       p_no_of_cols =>i );
436    if (l_col_vals.COUNT>0) then
437      i := l_col_vals.FIRST;
438      LOOP
439        if (l_col_vals(i).col_value is not NULL) then
440          okc_time_pub.delete_timevalues_n_tasks(
441            p_api_version   => p_api_version,
442            p_init_msg_list => p_init_msg_list,
443            x_return_status => x_return_status,
444            x_msg_count     => x_msg_count,
445            x_msg_data      => x_msg_data,
446 	     p_tve_id	   => l_col_vals(i).col_value);
447          IF x_return_status <> OKC_API.G_RET_STS_SUCCESS THEN
448            -- stop delete process
449            RETURN;
450          END IF;
451      end if;
452      EXIT WHEN (i=l_col_vals.LAST);
453      i := l_col_vals.NEXT(i);
454     END LOOP;
455   end if;
456 --
457 -- /tve_id
458 --
459     OKC_RUL_PVT.delete_row(
460       p_api_version   => p_api_version,
461       p_init_msg_list => p_init_msg_list,
462       x_return_status => x_return_status,
463       x_msg_count     => x_msg_count,
464       x_msg_data      => x_msg_data,
465       p_rulv_rec      => p_rulv_rec);
466 
467     -- Update minor version
468     IF (x_return_status = OKC_API.G_RET_STS_SUCCESS) THEN
469       update_minor_version(p_rulv_rec.dnz_chr_id);
470     END IF;
471 
472   EXCEPTION
473   WHEN G_EXCEPTION_CANNOT_DELETE THEN
474 
475     -- store SQL error message on message stack
476     OKC_API.SET_MESSAGE(
477       p_app_name        => G_APP_NAME,
478       p_msg_name        => G_CANNOT_DELETE_MASTER);
479     -- notify caller of an error
480     x_return_status := OKC_API.G_RET_STS_ERROR;
481 
482   --Bug 4149131/4190812 Added logic to handle G_EXCEPTION_HALT_VALIDATION
483   WHEN G_EXCEPTION_HALT_VALIDATION THEN
484     x_return_status := OKC_API.G_RET_STS_ERROR;
485 
486   WHEN OTHERS THEN
487 
488     -- store SQL error message on message stack
489     OKC_API.SET_MESSAGE(
490       p_app_name        => G_APP_NAME,
491       p_msg_name        => G_UNEXPECTED_ERROR,
492       p_token1	        => G_SQLCODE_TOKEN,
493       p_token1_value    => SQLCODE,
494       p_token2          => G_SQLERRM_TOKEN,
495       p_token2_value    => SQLERRM);
496     -- notify caller of an error as UNEXPETED error
497     x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
498     -- verify that cursor was closed
499     IF l_ctiv_csr%ISOPEN THEN
500       CLOSE l_ctiv_csr;
501     END IF;
502     IF l_atnv_csr%ISOPEN THEN
503       CLOSE l_atnv_csr;
504     END IF;
505     IF l_rilv_csr%ISOPEN THEN
506       CLOSE l_rilv_csr;
507     END IF;
508   END delete_rule;
509 
510   PROCEDURE lock_rule(
511     p_api_version                  IN  NUMBER,
512     p_init_msg_list                IN  VARCHAR2 ,
513     x_return_status                OUT NOCOPY VARCHAR2,
514     x_msg_count                    OUT NOCOPY NUMBER,
515     x_msg_data                     OUT NOCOPY VARCHAR2,
516     p_rulv_rec                     IN  rulv_rec_type) IS
517    --
518    l_proc varchar2(72) := g_package||'lock_rule';
519    --
520   BEGIN
521 
522     OKC_RUL_PVT.lock_row(
523       p_api_version   => p_api_version,
524       p_init_msg_list => p_init_msg_list,
525       x_return_status => x_return_status,
526       x_msg_count     => x_msg_count,
527       x_msg_data      => x_msg_data,
528       p_rulv_rec      => p_rulv_rec);
529 
530   END lock_rule;
531 
532   PROCEDURE validate_rule(
533     p_api_version                  IN  NUMBER,
534     p_init_msg_list                IN  VARCHAR2 ,
535     x_return_status                OUT NOCOPY VARCHAR2,
536     x_msg_count                    OUT NOCOPY NUMBER,
537     x_msg_data                     OUT NOCOPY VARCHAR2,
538     p_rulv_rec                     IN  rulv_rec_type) IS
539    --
540    l_proc varchar2(72) := g_package||'validate_rule';
541    --
542   BEGIN
543 
544     OKC_RUL_PVT.validate_row(
545       p_api_version   => p_api_version,
546       p_init_msg_list => p_init_msg_list,
547       x_return_status => x_return_status,
548       x_msg_count     => x_msg_count,
549       x_msg_data      => x_msg_data,
550       p_rulv_rec      => p_rulv_rec);
551 
552   END validate_rule;
553 
554   PROCEDURE create_rule_group(
555     p_api_version                  IN  NUMBER,
556     p_init_msg_list                IN  VARCHAR2 ,
557     x_return_status                OUT NOCOPY VARCHAR2,
558     x_msg_count                    OUT NOCOPY NUMBER,
559     x_msg_data                     OUT NOCOPY VARCHAR2,
560     p_rgpv_rec                     IN  rgpv_rec_type,
561     x_rgpv_rec                     OUT NOCOPY rgpv_rec_type)
562   IS
563    --
564    l_proc varchar2(72) := g_package||'create_rule_group';
565    --
566     l_meaning      VARCHAR2(80) ;
567     lx_return_status     VARCHAR2(1) ;
568 
569   BEGIN
570 
571     Is_rule_allowed(p_rgpv_rec.dnz_chr_id,
572                     'RGP',
573                     NULL,
574                     lx_return_status,
575                     l_meaning);
576 
577     If lx_return_status = 'N' Then
578       Raise G_NO_RULE_ALLOWED;
579     End If;
580 
581     OKC_RGP_PVT.insert_row(
582       p_api_version   => p_api_version,
583       p_init_msg_list => p_init_msg_list,
584       x_return_status => x_return_status,
585       x_msg_count     => x_msg_count,
586       x_msg_data      => x_msg_data,
587       p_rgpv_rec      => p_rgpv_rec,
588       x_rgpv_rec      => x_rgpv_rec);
589 
590     -- Update minor version
591     IF (x_return_status = OKC_API.G_RET_STS_SUCCESS) THEN
592       update_minor_version(p_rgpv_rec.dnz_chr_id);
593     END IF;
594 
595 
596   EXCEPTION
597   WHEN G_NO_RULE_ALLOWED then
598       x_return_status := OKC_API.g_ret_sts_error;
599       OKC_API.SET_MESSAGE(G_APP_NAME,'OKC_NO_RGP_ALLOWED');
600 
601    --Bug 4149131/4190812 Added logic to handle G_EXCEPTION_HALT_VALIDATION
602   WHEN G_EXCEPTION_HALT_VALIDATION THEN
603     x_return_status := OKC_API.G_RET_STS_ERROR;
604 
605   WHEN OTHERS THEN
606     -- store SQL error message on message stack
607     OKC_API.SET_MESSAGE(
608       p_app_name        => G_APP_NAME,
609       p_msg_name        => G_UNEXPECTED_ERROR,
610       p_token1	        => G_SQLCODE_TOKEN,
611       p_token1_value    => SQLCODE,
612       p_token2          => G_SQLERRM_TOKEN,
613       p_token2_value    => SQLERRM);
614     -- notify caller of an error as UNEXPETED error
615     x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
616   END create_rule_group;
617 
618   PROCEDURE update_rule_group(
619     p_api_version                  IN  NUMBER,
620     p_init_msg_list                IN  VARCHAR2 ,
621     x_return_status                OUT NOCOPY VARCHAR2,
622     x_msg_count                    OUT NOCOPY NUMBER,
623     x_msg_data                     OUT NOCOPY VARCHAR2,
624     p_rgpv_rec                     IN  rgpv_rec_type,
625     x_rgpv_rec                     OUT NOCOPY rgpv_rec_type) IS
626    --
627    l_proc varchar2(72) := g_package||'update_rule_group';
628    --/Rules Migration/
629    l_meaning      VARCHAR2(80) ;
630    lx_return_status	VARCHAR2(1) ;
631   BEGIN
632 
633    --/ Rules Migration/
634 
635     Is_rule_allowed(p_rgpv_rec.dnz_chr_id,
636                     'RGP',
637                     NULL,
638                     lx_return_status,
639                     l_meaning);
640 
641     If lx_return_status = 'N' Then
642       Raise G_NO_RULE_ALLOWED;
643     End If;
644 
645   --
646 
647     OKC_RGP_PVT.update_row(
648       p_api_version   => p_api_version,
649       p_init_msg_list => p_init_msg_list,
650       x_return_status => x_return_status,
651       x_msg_count     => x_msg_count,
652       x_msg_data      => x_msg_data,
653       p_rgpv_rec      => p_rgpv_rec,
654       x_rgpv_rec      => x_rgpv_rec);
655 
656     -- Update minor version
657     IF (x_return_status = OKC_API.G_RET_STS_SUCCESS) THEN
658       update_minor_version(p_rgpv_rec.dnz_chr_id);
659     END IF;
660 
661 
662 
663 
664   EXCEPTION
665   WHEN G_NO_RULE_ALLOWED then
666       x_return_status := OKC_API.g_ret_sts_error;
667       OKC_API.SET_MESSAGE(G_APP_NAME,'OKC_NO_RGP_ALLOWED');
668 
669   --Bug 4149131/4190812 Added logic to handle G_EXCEPTION_HALT_VALIDATION
670   WHEN G_EXCEPTION_HALT_VALIDATION THEN
671     x_return_status := OKC_API.G_RET_STS_ERROR;
672 
673   WHEN OTHERS THEN
674 
675 
676     -- store SQL error message on message stack
677     OKC_API.SET_MESSAGE(
678       p_app_name        => G_APP_NAME,
679       p_msg_name        => G_UNEXPECTED_ERROR,
680       p_token1	        => G_SQLCODE_TOKEN,
681       p_token1_value    => SQLCODE,
682       p_token2          => G_SQLERRM_TOKEN,
683       p_token2_value    => SQLERRM);
684     -- notify caller of an error as UNEXPETED error
685     x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
686   END update_rule_group;
687 
688   PROCEDURE delete_rule_group(
689     p_api_version                  IN  NUMBER,
690     p_init_msg_list                IN  VARCHAR2 ,
691     x_return_status                OUT NOCOPY VARCHAR2,
692     x_msg_count                    OUT NOCOPY NUMBER,
693     x_msg_data                     OUT NOCOPY VARCHAR2,
694     p_rgpv_rec                     IN  rgpv_rec_type) IS
695 
696     i NUMBER;
697 
698     CURSOR l_rgpv_csr IS
699       SELECT rgp_type
700         FROM OKC_RULE_GROUPS_B rgpv
701        WHERE rgpv.ID = p_rgpv_rec.id;
702     l_rgpv_rec l_rgpv_csr%ROWTYPE;
703 
704     CURSOR l_prgpv_csr IS
705       SELECT id
706         FROM OKC_RULE_GROUPS_B rgpv
707        WHERE rgpv.PARENT_RGP_ID = p_rgpv_rec.id;
708     l_prgpv_rec l_prgpv_csr%ROWTYPE;
709 
710     CURSOR l_rulv_csr IS
711       SELECT id
712         FROM OKC_RULES_B rulv
713        WHERE rulv.RGP_ID = p_rgpv_rec.id;
714     l_rulv_rec l_rulv_csr%ROWTYPE;
715     l_rulv_tbl OKC_RULE_PUB.rulv_tbl_type;
716 
717     CURSOR l_rmpv_csr IS
718       SELECT id
719         FROM OKC_RG_PARTY_ROLES_V rmpv
720        WHERE rmpv.RGP_ID = p_rgpv_rec.id;
721     l_rmpv_rec l_rmpv_csr%ROWTYPE;
722     l_rmpv_tbl OKC_RULE_PUB.rmpv_tbl_type;
723    --
724    l_proc varchar2(72) := g_package||'delete_rule_group';
725    --
726   BEGIN
727 
728 
729     -- check whether detail records exists
730      OPEN l_prgpv_csr;
731     FETCH l_prgpv_csr into l_prgpv_rec;
732     CLOSE l_prgpv_csr;
733     IF l_prgpv_rec.id IS NOT NULL THEN
734       RAISE G_EXCEPTION_CANNOT_DELETE;
735     END IF;
736       i := 0;
737       --populate the Foreign key of the detail
738       FOR l_rmpv_rec in l_rmpv_csr LOOP
739         i := i + 1;
740         l_rmpv_tbl(i).id := l_rmpv_rec.id;
741         l_rmpv_tbl(i).dnz_chr_id := p_rgpv_rec.dnz_chr_id;
742       END LOOP;
743 
744       IF i > 0 THEN
745         --Delete the details
746         -- call Public delete procedure
747         OKC_RULE_PUB.delete_rg_mode_pty_role(
748           p_api_version   => p_api_version,
749           p_init_msg_list => p_init_msg_list,
750           x_return_status => x_return_status,
751           x_msg_count     => x_msg_count,
752           x_msg_data      => x_msg_data,
753           p_rmpv_tbl      => l_rmpv_tbl);
754 
755         IF x_return_status <> OKC_API.G_RET_STS_SUCCESS THEN
756           -- stop delete process
757           RETURN;
758         END IF;
759       END IF;
760 
761       i := 0;
762       --populate the Foreign key of the detail
763       FOR l_rulv_rec in l_rulv_csr LOOP
764         i := i + 1;
765         l_rulv_tbl(i).id := l_rulv_rec.id;
766         l_rulv_tbl(i).dnz_chr_id := p_rgpv_rec.dnz_chr_id;
767       END LOOP;
768 
769       IF i > 0 THEN
770         --Delete the details
771         -- call Public delete procedure
772         OKC_RULE_PUB.delete_rule(
773           p_api_version   => p_api_version,
774           p_init_msg_list => p_init_msg_list,
775           x_return_status => x_return_status,
776           x_msg_count     => x_msg_count,
777           x_msg_data      => x_msg_data,
778           p_rulv_tbl      => l_rulv_tbl);
779 
780         IF x_return_status <> OKC_API.G_RET_STS_SUCCESS THEN
781           -- stop delete process
782           RETURN;
783         END IF;
784       END IF;
785 
786     OKC_RGP_PVT.delete_row(
787       p_api_version   => p_api_version,
788       p_init_msg_list => p_init_msg_list,
789       x_return_status => x_return_status,
790       x_msg_count     => x_msg_count,
791       x_msg_data      => x_msg_data,
792       p_rgpv_rec      => p_rgpv_rec);
793 
794     -- Update minor version
795     IF (x_return_status = OKC_API.G_RET_STS_SUCCESS) THEN
796       update_minor_version(p_rgpv_rec.dnz_chr_id);
797     END IF;
798 
799 
800 
801 
802   EXCEPTION
803   WHEN G_EXCEPTION_CANNOT_DELETE THEN
804 
805 
806     -- store SQL error message on message stack
807     OKC_API.SET_MESSAGE(
808       p_app_name        => G_APP_NAME,
809       p_msg_name        => G_CANNOT_DELETE_MASTER);
810     -- notify caller of an error
811     x_return_status := OKC_API.G_RET_STS_ERROR;
812 
813   --Bug 4149131/4190812 Added logic to handle G_EXCEPTION_HALT_VALIDATION
814   WHEN G_EXCEPTION_HALT_VALIDATION THEN
815     x_return_status := OKC_API.G_RET_STS_ERROR;
816 
817   WHEN OTHERS THEN
818 
819 
820     -- store SQL error message on message stack
821     OKC_API.SET_MESSAGE(
822       p_app_name        => G_APP_NAME,
823       p_msg_name        => G_UNEXPECTED_ERROR,
824       p_token1	        => G_SQLCODE_TOKEN,
825       p_token1_value    => SQLCODE,
826       p_token2          => G_SQLERRM_TOKEN,
827       p_token2_value    => SQLERRM);
828     -- notify caller of an error as UNEXPETED error
829     x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
830     -- verify that cursor was closed
831     IF l_rgpv_csr%ISOPEN THEN
832       CLOSE l_rgpv_csr;
833     END IF;
834     IF l_prgpv_csr%ISOPEN THEN
835       CLOSE l_prgpv_csr;
836     END IF;
837     IF l_rulv_csr%ISOPEN THEN
838       CLOSE l_rulv_csr;
839     END IF;
840     IF l_rmpv_csr%ISOPEN THEN
841       CLOSE l_rmpv_csr;
842     END IF;
843   END delete_rule_group;
844 
845   PROCEDURE lock_rule_group(
846     p_api_version                  IN  NUMBER,
847     p_init_msg_list                IN  VARCHAR2 ,
848     x_return_status                OUT NOCOPY VARCHAR2,
849     x_msg_count                    OUT NOCOPY NUMBER,
850     x_msg_data                     OUT NOCOPY VARCHAR2,
851     p_rgpv_rec                     IN  rgpv_rec_type) IS
852    --
853    l_proc varchar2(72) := g_package||'lock_rule_group';
854    --
855   BEGIN
856 
857 
858 
859 
860     OKC_RGP_PVT.lock_row(
861       p_api_version   => p_api_version,
862       p_init_msg_list => p_init_msg_list,
863       x_return_status => x_return_status,
864       x_msg_count     => x_msg_count,
865       x_msg_data      => x_msg_data,
866       p_rgpv_rec      => p_rgpv_rec);
867   END lock_rule_group;
868 
869   PROCEDURE validate_rule_group(
870     p_api_version                  IN  NUMBER,
871     p_init_msg_list                IN  VARCHAR2 ,
872     x_return_status                OUT NOCOPY VARCHAR2,
873     x_msg_count                    OUT NOCOPY NUMBER,
874     x_msg_data                     OUT NOCOPY VARCHAR2,
875     p_rgpv_rec                     IN  rgpv_rec_type) IS
876    --
877    l_proc varchar2(72) := g_package||'validate_rule_group';
878    --
879   BEGIN
880 
881 
882 
883 
884     OKC_RGP_PVT.validate_row(
885       p_api_version   => p_api_version,
886       p_init_msg_list => p_init_msg_list,
887       x_return_status => x_return_status,
888       x_msg_count     => x_msg_count,
889       x_msg_data      => x_msg_data,
890       p_rgpv_rec      => p_rgpv_rec);
891 
892 
893 
894 
895   END validate_rule_group;
896 
897   PROCEDURE create_rg_mode_pty_role(
898     p_api_version                  IN  NUMBER,
899     p_init_msg_list                IN  VARCHAR2 ,
900     x_return_status                OUT NOCOPY VARCHAR2,
901     x_msg_count                    OUT NOCOPY NUMBER,
902     x_msg_data                     OUT NOCOPY VARCHAR2,
903     p_rmpv_rec                     IN  rmpv_rec_type,
904     x_rmpv_rec                     OUT NOCOPY rmpv_rec_type)
905   IS
906    --
907    l_proc varchar2(72) := g_package||'create_rg_mode_pty_role';
908    --
909   BEGIN
910 
911 
912 
913 
914     OKC_RMP_PVT.insert_row(
915       p_api_version   => p_api_version,
916       p_init_msg_list => p_init_msg_list,
917       x_return_status => x_return_status,
918       x_msg_count     => x_msg_count,
919       x_msg_data      => x_msg_data,
920       p_rmpv_rec      => p_rmpv_rec,
921       x_rmpv_rec      => x_rmpv_rec);
922 
923     -- Update minor version
924     IF (x_return_status = OKC_API.G_RET_STS_SUCCESS) THEN
925       update_minor_version(p_rmpv_rec.dnz_chr_id);
926     END IF;
927 
928 
929 
930 
931   EXCEPTION
932   WHEN OTHERS THEN
933 
934 
935     -- store SQL error message on message stack
936     OKC_API.SET_MESSAGE(
937       p_app_name        => G_APP_NAME,
938       p_msg_name        => G_UNEXPECTED_ERROR,
939       p_token1	        => G_SQLCODE_TOKEN,
940       p_token1_value    => SQLCODE,
941       p_token2          => G_SQLERRM_TOKEN,
942       p_token2_value    => SQLERRM);
943     -- notify caller of an error as UNEXPETED error
944     x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
945   END create_rg_mode_pty_role;
946 
947   PROCEDURE update_rg_mode_pty_role(
948     p_api_version                  IN  NUMBER,
949     p_init_msg_list                IN  VARCHAR2 ,
950     x_return_status                OUT NOCOPY VARCHAR2,
951     x_msg_count                    OUT NOCOPY NUMBER,
952     x_msg_data                     OUT NOCOPY VARCHAR2,
953     p_rmpv_rec                     IN  rmpv_rec_type,
954     x_rmpv_rec                     OUT NOCOPY rmpv_rec_type) IS
955    --
956    l_proc varchar2(72) := g_package||'update_rg_mode_pty_role';
957    --
958   BEGIN
959 
960 
961 
962 
963     OKC_RMP_PVT.update_row(
964       p_api_version   => p_api_version,
965       p_init_msg_list => p_init_msg_list,
966       x_return_status => x_return_status,
967       x_msg_count     => x_msg_count,
968       x_msg_data      => x_msg_data,
969       p_rmpv_rec      => p_rmpv_rec,
970       x_rmpv_rec      => x_rmpv_rec);
971 
972     -- Update minor version
973     IF (x_return_status = OKC_API.G_RET_STS_SUCCESS) THEN
974       update_minor_version(p_rmpv_rec.dnz_chr_id);
975     END IF;
976 
977 
978 
979 
980   EXCEPTION
981   WHEN OTHERS THEN
982 
983 
984     -- store SQL error message on message stack
985     OKC_API.SET_MESSAGE(
986       p_app_name        => G_APP_NAME,
987       p_msg_name        => G_UNEXPECTED_ERROR,
988       p_token1	        => G_SQLCODE_TOKEN,
989       p_token1_value    => SQLCODE,
990       p_token2          => G_SQLERRM_TOKEN,
991       p_token2_value    => SQLERRM);
992     -- notify caller of an error as UNEXPETED error
993     x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
994   END update_rg_mode_pty_role;
995 
996   PROCEDURE delete_rg_mode_pty_role(
997     p_api_version                  IN  NUMBER,
998     p_init_msg_list                IN  VARCHAR2 ,
999     x_return_status                OUT NOCOPY VARCHAR2,
1000     x_msg_count                    OUT NOCOPY NUMBER,
1001     x_msg_data                     OUT NOCOPY VARCHAR2,
1002     p_rmpv_rec                     IN  rmpv_rec_type) IS
1003    --
1004    l_proc varchar2(72) := g_package||'delete_rg_mode_pty_role';
1005    --
1006   BEGIN
1007 
1008 
1009 
1010 
1011     OKC_RMP_PVT.delete_row(
1012       p_api_version   => p_api_version,
1013       p_init_msg_list => p_init_msg_list,
1014       x_return_status => x_return_status,
1015       x_msg_count     => x_msg_count,
1016       x_msg_data      => x_msg_data,
1017       p_rmpv_rec      => p_rmpv_rec);
1018 
1019     -- Update minor version
1020     IF (x_return_status = OKC_API.G_RET_STS_SUCCESS) THEN
1021       update_minor_version(p_rmpv_rec.dnz_chr_id);
1022     END IF;
1023 
1024 
1025 
1026 
1027   EXCEPTION
1028   WHEN OTHERS THEN
1029 
1030 
1031     -- store SQL error message on message stack
1032     OKC_API.SET_MESSAGE(
1033       p_app_name        => G_APP_NAME,
1034       p_msg_name        => G_UNEXPECTED_ERROR,
1035       p_token1	        => G_SQLCODE_TOKEN,
1036       p_token1_value    => SQLCODE,
1037       p_token2          => G_SQLERRM_TOKEN,
1038       p_token2_value    => SQLERRM);
1039     -- notify caller of an error as UNEXPETED error
1040     x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1041   END delete_rg_mode_pty_role;
1042 
1043   PROCEDURE lock_rg_mode_pty_role(
1044     p_api_version                  IN  NUMBER,
1045     p_init_msg_list                IN  VARCHAR2 ,
1046     x_return_status                OUT NOCOPY VARCHAR2,
1047     x_msg_count                    OUT NOCOPY NUMBER,
1048     x_msg_data                     OUT NOCOPY VARCHAR2,
1049     p_rmpv_rec                     IN  rmpv_rec_type) IS
1050    --
1051    l_proc varchar2(72) := g_package||'lock_rg_mode_pty_role';
1052    --
1053   BEGIN
1054 
1055 
1056 
1057 
1058     OKC_RMP_PVT.lock_row(
1059       p_api_version   => p_api_version,
1060       p_init_msg_list => p_init_msg_list,
1061       x_return_status => x_return_status,
1062       x_msg_count     => x_msg_count,
1063       x_msg_data      => x_msg_data,
1064       p_rmpv_rec      => p_rmpv_rec);
1065 
1066 
1067 
1068 
1069   END lock_rg_mode_pty_role;
1070 
1071   PROCEDURE validate_rg_mode_pty_role(
1072     p_api_version                  IN  NUMBER,
1073     p_init_msg_list                IN  VARCHAR2 ,
1074     x_return_status                OUT NOCOPY VARCHAR2,
1075     x_msg_count                    OUT NOCOPY NUMBER,
1076     x_msg_data                     OUT NOCOPY VARCHAR2,
1077     p_rmpv_rec                     IN  rmpv_rec_type) IS
1078    --
1079    l_proc varchar2(72) := g_package||'validate_rg_mode_pty_role';
1080    --
1081   BEGIN
1082 
1083 
1084 
1085 
1086     OKC_RMP_PVT.validate_row(
1087       p_api_version   => p_api_version,
1088       p_init_msg_list => p_init_msg_list,
1089       x_return_status => x_return_status,
1090       x_msg_count     => x_msg_count,
1091       x_msg_data      => x_msg_data,
1092       p_rmpv_rec      => p_rmpv_rec);
1093 
1094 
1095 
1096 
1097   END validate_rg_mode_pty_role;
1098 
1099   PROCEDURE create_cover_time(
1100     p_api_version                  IN  NUMBER,
1101     p_init_msg_list                IN  VARCHAR2 ,
1102     x_return_status                OUT NOCOPY VARCHAR2,
1103     x_msg_count                    OUT NOCOPY NUMBER,
1104     x_msg_data                     OUT NOCOPY VARCHAR2,
1105     p_ctiv_rec                     IN  ctiv_rec_type,
1106     x_ctiv_rec                     OUT NOCOPY ctiv_rec_type)
1107   IS
1108    --
1109    l_proc varchar2(72) := g_package||'create_cover_time';
1110    --
1111   BEGIN
1112 
1113 
1114 
1115 
1116     OKC_CTI_PVT.insert_row(
1117       p_api_version   => p_api_version,
1118       p_init_msg_list => p_init_msg_list,
1119       x_return_status => x_return_status,
1120       x_msg_count     => x_msg_count,
1121       x_msg_data      => x_msg_data,
1122       p_ctiv_rec      => p_ctiv_rec,
1123       x_ctiv_rec      => x_ctiv_rec);
1124 
1125     -- Update minor version
1126     IF (x_return_status = OKC_API.G_RET_STS_SUCCESS) THEN
1127       update_minor_version(p_ctiv_rec.dnz_chr_id);
1128     END IF;
1129 
1130 
1131 
1132 
1133   EXCEPTION
1134   WHEN OTHERS THEN
1135 
1136 
1137     -- store SQL error message on message stack
1138     OKC_API.SET_MESSAGE(
1139       p_app_name        => G_APP_NAME,
1140       p_msg_name        => G_UNEXPECTED_ERROR,
1141       p_token1	        => G_SQLCODE_TOKEN,
1142       p_token1_value    => SQLCODE,
1143       p_token2          => G_SQLERRM_TOKEN,
1144       p_token2_value    => SQLERRM);
1145     -- notify caller of an error as UNEXPETED error
1146     x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1147   END create_cover_time;
1148 
1149   PROCEDURE update_cover_time(
1150     p_api_version                  IN  NUMBER,
1151     p_init_msg_list                IN  VARCHAR2 ,
1152     x_return_status                OUT NOCOPY VARCHAR2,
1153     x_msg_count                    OUT NOCOPY NUMBER,
1154     x_msg_data                     OUT NOCOPY VARCHAR2,
1155     p_ctiv_rec                     IN  ctiv_rec_type,
1156     x_ctiv_rec                     OUT NOCOPY ctiv_rec_type) IS
1157    --
1158    l_proc varchar2(72) := g_package||'update_cover_time';
1159    --
1160   BEGIN
1161 
1162 
1163 
1164 
1165     OKC_CTI_PVT.update_row(
1166       p_api_version   => p_api_version,
1167       p_init_msg_list => p_init_msg_list,
1168       x_return_status => x_return_status,
1169       x_msg_count     => x_msg_count,
1170       x_msg_data      => x_msg_data,
1171       p_ctiv_rec      => p_ctiv_rec,
1172       x_ctiv_rec      => x_ctiv_rec);
1173 
1174     -- Update minor version
1175     IF (x_return_status = OKC_API.G_RET_STS_SUCCESS) THEN
1176       update_minor_version(p_ctiv_rec.dnz_chr_id);
1177     END IF;
1178 
1179 
1180 
1181 
1182   EXCEPTION
1183   WHEN OTHERS THEN
1184 
1185 
1186     -- store SQL error message on message stack
1187     OKC_API.SET_MESSAGE(
1188       p_app_name        => G_APP_NAME,
1189       p_msg_name        => G_UNEXPECTED_ERROR,
1190       p_token1	        => G_SQLCODE_TOKEN,
1191       p_token1_value    => SQLCODE,
1192       p_token2          => G_SQLERRM_TOKEN,
1193       p_token2_value    => SQLERRM);
1194     -- notify caller of an error as UNEXPETED error
1195     x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1196   END update_cover_time;
1197 
1198   PROCEDURE delete_cover_time(
1199     p_api_version                  IN  NUMBER,
1200     p_init_msg_list                IN  VARCHAR2 ,
1201     x_return_status                OUT NOCOPY VARCHAR2,
1202     x_msg_count                    OUT NOCOPY NUMBER,
1203     x_msg_data                     OUT NOCOPY VARCHAR2,
1204     p_ctiv_rec                     IN  ctiv_rec_type) IS
1205    --
1206    l_proc varchar2(72) := g_package||'delete_cover_time';
1207    --
1208   BEGIN
1209 
1210 
1211 
1212 
1213     OKC_CTI_PVT.delete_row(
1214       p_api_version   => p_api_version,
1215       p_init_msg_list => p_init_msg_list,
1216       x_return_status => x_return_status,
1217       x_msg_count     => x_msg_count,
1218       x_msg_data      => x_msg_data,
1219       p_ctiv_rec      => p_ctiv_rec);
1220 
1221     -- Update minor version
1222     IF (x_return_status = OKC_API.G_RET_STS_SUCCESS) THEN
1223       update_minor_version(p_ctiv_rec.dnz_chr_id);
1224     END IF;
1225 
1226 
1227 
1228 
1229   EXCEPTION
1230   WHEN OTHERS THEN
1231 
1232 
1233     -- store SQL error message on message stack
1234     OKC_API.SET_MESSAGE(
1235       p_app_name        => G_APP_NAME,
1236       p_msg_name        => G_UNEXPECTED_ERROR,
1237       p_token1	        => G_SQLCODE_TOKEN,
1238       p_token1_value    => SQLCODE,
1239       p_token2          => G_SQLERRM_TOKEN,
1240       p_token2_value    => SQLERRM);
1241     -- notify caller of an error as UNEXPETED error
1242     x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1243   END delete_cover_time;
1244 
1245   PROCEDURE lock_cover_time(
1246     p_api_version                  IN  NUMBER,
1247     p_init_msg_list                IN  VARCHAR2 ,
1248     x_return_status                OUT NOCOPY VARCHAR2,
1249     x_msg_count                    OUT NOCOPY NUMBER,
1250     x_msg_data                     OUT NOCOPY VARCHAR2,
1251     p_ctiv_rec                     IN  ctiv_rec_type) IS
1252    --
1253    l_proc varchar2(72) := g_package||'lock_cover_time';
1254    --
1255   BEGIN
1256 
1257 
1258 
1259 
1260     OKC_CTI_PVT.lock_row(
1261       p_api_version   => p_api_version,
1262       p_init_msg_list => p_init_msg_list,
1263       x_return_status => x_return_status,
1264       x_msg_count     => x_msg_count,
1265       x_msg_data      => x_msg_data,
1266       p_ctiv_rec      => p_ctiv_rec);
1267   END lock_cover_time;
1268 
1269   PROCEDURE validate_cover_time(
1270     p_api_version                  IN  NUMBER,
1271     p_init_msg_list                IN  VARCHAR2 ,
1272     x_return_status                OUT NOCOPY VARCHAR2,
1273     x_msg_count                    OUT NOCOPY NUMBER,
1274     x_msg_data                     OUT NOCOPY VARCHAR2,
1275     p_ctiv_rec                     IN  ctiv_rec_type) IS
1276    --
1277    l_proc varchar2(72) := g_package||'validate_cover_time';
1278    --
1279   BEGIN
1280 
1281 
1282 
1283 
1284     OKC_CTI_PVT.validate_row(
1285       p_api_version   => p_api_version,
1286       p_init_msg_list => p_init_msg_list,
1287       x_return_status => x_return_status,
1288       x_msg_count     => x_msg_count,
1289       x_msg_data      => x_msg_data,
1290       p_ctiv_rec      => p_ctiv_rec);
1291 
1292 
1293 
1294 
1295   END validate_cover_time;
1296 
1297   PROCEDURE create_react_interval(
1298     p_api_version                  IN  NUMBER,
1299     p_init_msg_list                IN  VARCHAR2 ,
1300     x_return_status                OUT NOCOPY VARCHAR2,
1301     x_msg_count                    OUT NOCOPY NUMBER,
1302     x_msg_data                     OUT NOCOPY VARCHAR2,
1303     p_rilv_rec                     IN  rilv_rec_type,
1304     x_rilv_rec                     OUT NOCOPY rilv_rec_type)
1305   IS
1306    --
1307    l_proc varchar2(72) := g_package||'create_react_interval';
1308    --
1309   BEGIN
1310 
1311 
1312 
1313 
1314     OKC_RIL_PVT.insert_row(
1315       p_api_version   => p_api_version,
1316       p_init_msg_list => p_init_msg_list,
1317       x_return_status => x_return_status,
1318       x_msg_count     => x_msg_count,
1319       x_msg_data      => x_msg_data,
1320       p_rilv_rec      => p_rilv_rec,
1321       x_rilv_rec      => x_rilv_rec);
1322 
1323     -- Update minor version
1324     IF (x_return_status = OKC_API.G_RET_STS_SUCCESS) THEN
1325       update_minor_version(p_rilv_rec.dnz_chr_id);
1326     END IF;
1327 
1328 
1329 
1330 
1331   EXCEPTION
1332   WHEN OTHERS THEN
1333 
1334 
1335     -- store SQL error message on message stack
1336     OKC_API.SET_MESSAGE(
1337       p_app_name        => G_APP_NAME,
1338       p_msg_name        => G_UNEXPECTED_ERROR,
1339       p_token1	        => G_SQLCODE_TOKEN,
1340       p_token1_value    => SQLCODE,
1341       p_token2          => G_SQLERRM_TOKEN,
1342       p_token2_value    => SQLERRM);
1343     -- notify caller of an error as UNEXPETED error
1344     x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1345   END create_react_interval;
1346 
1347   PROCEDURE update_react_interval(
1348     p_api_version                  IN  NUMBER,
1349     p_init_msg_list                IN  VARCHAR2 ,
1350     x_return_status                OUT NOCOPY VARCHAR2,
1351     x_msg_count                    OUT NOCOPY NUMBER,
1352     x_msg_data                     OUT NOCOPY VARCHAR2,
1353     p_rilv_rec                     IN  rilv_rec_type,
1354     x_rilv_rec                     OUT NOCOPY rilv_rec_type) IS
1355    --
1356    l_proc varchar2(72) := g_package||'update_react_interval';
1357    --
1358   BEGIN
1359 
1360 
1361 
1362 
1363     OKC_RIL_PVT.update_row(
1364       p_api_version   => p_api_version,
1365       p_init_msg_list => p_init_msg_list,
1366       x_return_status => x_return_status,
1367       x_msg_count     => x_msg_count,
1368       x_msg_data      => x_msg_data,
1369       p_rilv_rec      => p_rilv_rec,
1370       x_rilv_rec      => x_rilv_rec);
1371 
1372     -- Update minor version
1373     IF (x_return_status = OKC_API.G_RET_STS_SUCCESS) THEN
1374       update_minor_version(p_rilv_rec.dnz_chr_id);
1375     END IF;
1376 
1377 
1378 
1379 
1380   EXCEPTION
1381   WHEN OTHERS THEN
1382 
1383 
1384     -- store SQL error message on message stack
1385     OKC_API.SET_MESSAGE(
1386       p_app_name        => G_APP_NAME,
1387       p_msg_name        => G_UNEXPECTED_ERROR,
1388       p_token1	        => G_SQLCODE_TOKEN,
1389       p_token1_value    => SQLCODE,
1390       p_token2          => G_SQLERRM_TOKEN,
1391       p_token2_value    => SQLERRM);
1392     -- notify caller of an error as UNEXPETED error
1393     x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1394   END update_react_interval;
1395 
1396   PROCEDURE delete_react_interval(
1397     p_api_version                  IN  NUMBER,
1398     p_init_msg_list                IN  VARCHAR2 ,
1399     x_return_status                OUT NOCOPY VARCHAR2,
1400     x_msg_count                    OUT NOCOPY NUMBER,
1401     x_msg_data                     OUT NOCOPY VARCHAR2,
1402     p_rilv_rec                     IN  rilv_rec_type) IS
1403    --
1404    l_proc varchar2(72) := g_package||'delete_react_interval';
1405    --
1406   BEGIN
1407 
1408 
1409 
1410 
1411     OKC_RIL_PVT.delete_row(
1412       p_api_version   => p_api_version,
1413       p_init_msg_list => p_init_msg_list,
1414       x_return_status => x_return_status,
1415       x_msg_count     => x_msg_count,
1416       x_msg_data      => x_msg_data,
1417       p_rilv_rec      => p_rilv_rec);
1418 
1419     -- Update minor version
1420     IF (x_return_status = OKC_API.G_RET_STS_SUCCESS) THEN
1421       update_minor_version(p_rilv_rec.dnz_chr_id);
1422     END IF;
1423 
1424 
1425 
1426 
1427   EXCEPTION
1428   WHEN OTHERS THEN
1429 
1430 
1431     -- store SQL error message on message stack
1432     OKC_API.SET_MESSAGE(
1433       p_app_name        => G_APP_NAME,
1434       p_msg_name        => G_UNEXPECTED_ERROR,
1435       p_token1	        => G_SQLCODE_TOKEN,
1436       p_token1_value    => SQLCODE,
1437       p_token2          => G_SQLERRM_TOKEN,
1438       p_token2_value    => SQLERRM);
1439     -- notify caller of an error as UNEXPETED error
1440     x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1441   END delete_react_interval;
1442 
1443   PROCEDURE lock_react_interval(
1444     p_api_version                  IN  NUMBER,
1445     p_init_msg_list                IN  VARCHAR2 ,
1446     x_return_status                OUT NOCOPY VARCHAR2,
1447     x_msg_count                    OUT NOCOPY NUMBER,
1448     x_msg_data                     OUT NOCOPY VARCHAR2,
1449     p_rilv_rec                     IN  rilv_rec_type) IS
1450    --
1451    l_proc varchar2(72) := g_package||'lock_react_interval';
1452    --
1453   BEGIN
1454 
1455 
1456 
1457 
1458     OKC_RIL_PVT.lock_row(
1459       p_api_version   => p_api_version,
1460       p_init_msg_list => p_init_msg_list,
1461       x_return_status => x_return_status,
1462       x_msg_count     => x_msg_count,
1463       x_msg_data      => x_msg_data,
1464       p_rilv_rec      => p_rilv_rec);
1465   END lock_react_interval;
1466 
1467   PROCEDURE validate_react_interval(
1468     p_api_version                  IN  NUMBER,
1469     p_init_msg_list                IN  VARCHAR2 ,
1470     x_return_status                OUT NOCOPY VARCHAR2,
1471     x_msg_count                    OUT NOCOPY NUMBER,
1472     x_msg_data                     OUT NOCOPY VARCHAR2,
1473     p_rilv_rec                     IN  rilv_rec_type) IS
1474    --
1475    l_proc varchar2(72) := g_package||'validate_react_interval';
1476    --
1477   BEGIN
1478 
1479 
1480 
1481 
1482     OKC_RIL_PVT.validate_row(
1483       p_api_version   => p_api_version,
1484       p_init_msg_list => p_init_msg_list,
1485       x_return_status => x_return_status,
1486       x_msg_count     => x_msg_count,
1487       x_msg_data      => x_msg_data,
1488       p_rilv_rec      => p_rilv_rec);
1489 
1490 
1491 
1492 
1493   END validate_react_interval;
1494 
1495   PROCEDURE add_language IS
1496    --
1497    l_proc varchar2(72) := g_package||'add_language';
1498    --
1499   BEGIN
1500 
1501 
1502 
1503 
1504     OKC_RUL_PVT.add_language;
1505     OKC_RGP_PVT.add_language;
1506 
1507 
1508 
1509 
1510   END add_language;
1511 
1512 END OKC_RULE_PVT;