DBA Data[Home] [Help]

PACKAGE BODY: APPS.OKL_RGRP_RULES_PROCESS_PUB

Source


1 PACKAGE BODY OKL_RGRP_RULES_PROCESS_PUB as
2 /* $Header: OKLPRGRB.pls 115.13 2002/11/30 08:39:40 spillaip noship $ */
3 
4    G_PKG_NAME    CONSTANT VARCHAR2(200) := 'OKL_RGRP_RULES_PROCESS_PUB';
5    G_APP_NAME    CONSTANT VARCHAR2(3)   :=  OKL_API.G_APP_NAME;
6    G_API_TYPE    CONSTANT VARCHAR2(4)   := '_PUB';
7 
8 
9 PROCEDURE process_rule_group_rules(
10       p_api_version                  IN NUMBER,
11       p_init_msg_list                IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
12       x_return_status                OUT NOCOPY VARCHAR2,
13       x_msg_count                    OUT NOCOPY NUMBER,
14       x_msg_data                     OUT NOCOPY VARCHAR2,
15       p_chr_id                  IN  NUMBER,
16       p_line_id                 IN  NUMBER,
17       p_cpl_id                       IN  NUMBER,
18       p_rrd_id                       IN  NUMBER,
19       p_rgr_tbl                      IN  rgr_tbl_type) IS
20       l_return_status VARCHAR2(1) := '0';
21       l_init_msg_list CONSTANT VARCHAR2(30) := p_init_msg_list;
22       l_msg_count NUMBER := 0;
23       l_msg_data  varchar2(2000);
24       l_msg_index_out NUMBER;
25 
26       l_api_name    VARCHAR2(35)    := 'RGRP_RULES_PROCESS';
27       l_proc_name   VARCHAR2(35)    := 'PROCESS_RULE_GROUP_RULES';
28       l_api_version CONSTANT VARCHAR2(30) := p_api_version;
29 
30       BEGIN
31       x_return_status := OKC_API.G_RET_STS_SUCCESS;
32       -- call START_ACTIVITY to create savepoint, check compatibility
33       -- and initialize message list
34       x_return_status := OKC_API.START_ACTIVITY(
35             p_api_name      => l_api_name,
36             p_pkg_name      => G_PKG_NAME,
37             p_init_msg_list => p_init_msg_list,
38             l_api_version   => l_api_version,
39             p_api_version   => p_api_version,
40             p_api_type      => G_API_TYPE,
41             x_return_status => x_return_status);
42 
43       -- check if activity started successfully
44       IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) then
45          raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
46       ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) then
47          raise OKC_API.G_EXCEPTION_ERROR;
48       END IF;
49 
50 
51   OKL_RGRP_RULES_PROCESS_PVT.process_rule_group_rules(
52                 p_api_version        => p_api_version,
53                         p_init_msg_list      => p_init_msg_list,
54                         x_return_status      => x_return_status,
55                         x_msg_count          => x_msg_count,
56                         x_msg_data           => x_msg_data,
57                     p_chr_id             => p_chr_id,
58                     p_line_id            => p_line_id,
59             p_cpl_id        => p_cpl_id,
60             p_rrd_id        => p_rrd_id,
61                         p_rgr_tbl            => p_rgr_tbl);
62 
63 IF (x_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
64          RAISE OKC_API.G_EXCEPTION_ERROR;
65       END IF;
66 
67       --++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
68       OKL_API.END_ACTIVITY(x_msg_count   => x_msg_count,
69                            x_msg_data    => x_msg_data);
70 
71   EXCEPTION
72       when OKC_API.G_EXCEPTION_ERROR then
73          x_return_status := OKC_API.HANDLE_EXCEPTIONS(
74             p_api_name  => l_api_name,
75             p_pkg_name  => G_PKG_NAME,
76             p_exc_name  => 'OKC_API.G_RET_STS_ERROR',
77             x_msg_count => x_msg_count,
78             x_msg_data  => x_msg_data,
79             p_api_type  => G_API_TYPE);
80 
81       when OKC_API.G_EXCEPTION_UNEXPECTED_ERROR then
82          x_return_status := OKC_API.HANDLE_EXCEPTIONS(
83             p_api_name  => l_api_name,
84             p_pkg_name  => G_PKG_NAME,
85             p_exc_name  => 'OKC_API.G_RET_STS_UNEXP_ERROR',
86             x_msg_count => x_msg_count,
87             x_msg_data  => x_msg_data,
88             p_api_type  => G_API_TYPE);
89 
90       when OTHERS then
91          x_return_status := OKC_API.HANDLE_EXCEPTIONS(
92             p_api_name  => l_api_name,
93             p_pkg_name  => G_PKG_NAME,
94             p_exc_name  => 'OTHERS',
95             x_msg_count => x_msg_count,
96             x_msg_data  => x_msg_data,
97             p_api_type  => G_API_TYPE);
98 
99 END process_rule_group_rules;
100 
101 PROCEDURE process_template_rules(
102     p_api_version                  IN NUMBER,
103     p_init_msg_list                IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
104     x_return_status                OUT NOCOPY VARCHAR2,
105     x_msg_count                    OUT NOCOPY NUMBER,
106     x_msg_data                     OUT NOCOPY VARCHAR2,
107     p_id                       IN  NUMBER,
108     p_rgr_tbl                      IN  rgr_tbl_type,
109     x_rgr_tbl              OUT NOCOPY rgr_out_tbl_type) IS
110     l_return_status VARCHAR2(1) := '0';
111     l_api_version CONSTANT VARCHAR2(30) := p_api_version;
112     l_init_msg_list CONSTANT VARCHAR2(30) := p_init_msg_list;
113     l_msg_count NUMBER := 0;
114     l_msg_data  varchar2(2000);
115     l_msg_index_out NUMBER;
116 
117     l_api_name    VARCHAR2(35)    := 'RGRP_RULES_PROCESS';
118     l_proc_name   VARCHAR2(35)    := 'PROCESS_TEMPLATE_RULES';
119 
120     BEGIN
121 
122     x_return_status := OKC_API.G_RET_STS_SUCCESS;
123       -- call START_ACTIVITY to create savepoint, check compatibility
124       -- and initialize message list
125       x_return_status := OKC_API.START_ACTIVITY(
126             p_api_name      => l_api_name,
127             p_pkg_name      => G_PKG_NAME,
128             p_init_msg_list => p_init_msg_list,
129             l_api_version   => l_api_version,
130             p_api_version   => p_api_version,
131             p_api_type      => G_API_TYPE,
132             x_return_status => x_return_status);
133 
134       -- check if activity started successfully
135       IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) then
136          raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
137       ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) then
138          raise OKC_API.G_EXCEPTION_ERROR;
139       END IF;
140 
141 
142     OKL_RGRP_RULES_PROCESS_PVT.process_template_rules(
143                 p_api_version        => p_api_version,
144                         p_init_msg_list      => p_init_msg_list,
145                         x_return_status      => x_return_status,
146                         x_msg_count          => x_msg_count,
147                         x_msg_data           => x_msg_data,
148                     p_id                 => p_id,
149                     p_rgr_tbl            => p_rgr_tbl,
150                     x_rgr_tbl        => x_rgr_tbl);
151 
152 
153 IF (x_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
154          RAISE OKC_API.G_EXCEPTION_ERROR;
155       END IF;
156 
157       --++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
158       OKL_API.END_ACTIVITY(x_msg_count   => x_msg_count,
159                            x_msg_data    => x_msg_data);
160 
161   EXCEPTION
162       when OKC_API.G_EXCEPTION_ERROR then
163          x_return_status := OKC_API.HANDLE_EXCEPTIONS(
164             p_api_name  => l_api_name,
165             p_pkg_name  => G_PKG_NAME,
166             p_exc_name  => 'OKC_API.G_RET_STS_ERROR',
167             x_msg_count => x_msg_count,
168             x_msg_data  => x_msg_data,
169             p_api_type  => G_API_TYPE);
170 
171       when OKC_API.G_EXCEPTION_UNEXPECTED_ERROR then
172          x_return_status := OKC_API.HANDLE_EXCEPTIONS(
173             p_api_name  => l_api_name,
174             p_pkg_name  => G_PKG_NAME,
175             p_exc_name  => 'OKC_API.G_RET_STS_UNEXP_ERROR',
176             x_msg_count => x_msg_count,
177             x_msg_data  => x_msg_data,
178             p_api_type  => G_API_TYPE);
179 
180       when OTHERS then
181          x_return_status := OKC_API.HANDLE_EXCEPTIONS(
182             p_api_name  => l_api_name,
183             p_pkg_name  => G_PKG_NAME,
184             p_exc_name  => 'OTHERS',
185             x_msg_count => x_msg_count,
186             x_msg_data  => x_msg_data,
187             p_api_type  => G_API_TYPE);
188 
189 END process_template_rules;
190 
191 FUNCTION get_header_rule_group_id(
192     p_api_version                  IN NUMBER,
193     p_init_msg_list                IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
194     x_return_status                OUT NOCOPY VARCHAR2,
195     x_msg_count                    OUT NOCOPY NUMBER,
196     x_msg_data                     OUT NOCOPY VARCHAR2,
197     p_chr_id                       IN  NUMBER,
198     p_rgd_code                     IN  VARCHAR2)
199 RETURN OKC_RULE_GROUPS_B.ID%TYPE IS
200     rule_group_id NUMBER := null;
201     BEGIN
202         rule_group_id := OKL_RGRP_RULES_PROCESS_PVT.get_header_rule_group_id(
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_chr_id             => p_chr_id,
209                         p_rgd_code           => p_rgd_code);
210         return rule_group_id;
211     END get_header_rule_group_id;
212 END OKL_RGRP_RULES_PROCESS_PUB;