[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;