[Home] [Help]
PACKAGE BODY: APPS.OKL_RULE_EXTRACT_PUB
Source
1 Package Body OKL_RULE_EXTRACT_PUB AS
2 /* $Header: OKLPREXB.pls 115.13 2003/10/14 18:32:22 ashariff noship $ */
3 --start of comments
4 --API Name : Get_Subclass_Rgs
5 --Description :API to fetch all the rule groups attached to a subclass
6 --end of comments
7 PROCEDURE Get_subclass_Rgs (p_api_version IN NUMBER,
8 p_init_msg_list IN VARCHAR2,
9 x_return_status OUT NOCOPY VARCHAR2,
10 x_msg_count OUT NOCOPY NUMBER,
11 x_msg_data OUT NOCOPY VARCHAR2,
12 p_chr_id IN Varchar2,
13 x_sc_rg_tbl OUT NOCOPY sc_rg_tbl_type) is
14 l_api_name CONSTANT VARCHAR2(30) := 'GET_SUBCLASS_RGS';
15 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
16 Begin
17 l_return_status := OKL_API.START_ACTIVITY( substr(l_api_name,1,26),
18 G_PKG_NAME,
19 p_init_msg_list,
20 G_API_VERSION,
21 p_api_version,
22 G_SCOPE,
23 x_return_status);
24
25 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
26 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
27 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
28 RAISE OKL_API.G_EXCEPTION_ERROR;
29 END IF;
30 x_return_status := l_return_status;
31 OKL_RULE_EXTRACT_PVT.Get_subclass_Rgs (p_api_version => p_api_version,
32 p_init_msg_list => p_init_msg_list,
33 x_return_status => x_return_status,
34 x_msg_count => x_msg_count,
35 x_msg_data => x_msg_data,
36 p_chr_id => p_chr_id,
37 x_sc_rg_tbl => x_sc_rg_tbl);
38 IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
39 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
40 ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
41 RAISE OKL_API.G_EXCEPTION_ERROR;
42 END IF;
43 --Call End Activity
44 OKL_API.END_ACTIVITY(x_msg_count => x_msg_count,
45 x_msg_data => x_msg_data);
46 EXCEPTION
47 WHEN OKL_API.G_EXCEPTION_ERROR THEN
48 x_return_status := OKL_API.HANDLE_EXCEPTIONS
49 (substr(l_api_name,1,26),
50 G_PKG_NAME,
51 'OKL_API.G_RET_STS_ERROR',
52 x_msg_count,
53 x_msg_data,
54 G_SCOPE);
55
56 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
57 x_return_status := OKL_API.HANDLE_EXCEPTIONS
58 (substr(l_api_name,1,26),
59 G_PKG_NAME,
60 'OKL_API.G_RET_STS_UNEXP_ERROR',
61 x_msg_count,
62 x_msg_data,
63 G_SCOPE);
64
65 WHEN OTHERS THEN
66 -- store SQL error message on message stack for caller
67 OKL_API.set_message(G_APP_NAME, G_UNEXPECTED_ERROR,G_SQLCODE_TOKEN,SQLCODE,G_SQLERRM_TOKEN,SQLERRM);
68 x_return_status := OKL_API.HANDLE_EXCEPTIONS
69 (substr(l_api_name,1,26),
70 G_PKG_NAME,
71 'OTHERS',
72 x_msg_count,
73 x_msg_data,
74 G_SCOPE);
75 END Get_Subclass_Rgs;
76 --start of comments
77 --API Name : Get_Rg_Rules
78 --Description : API to fetch all the rules attached to a rule group
79 --end of comments
80 PROCEDURE Get_Rg_Rules (p_api_version IN NUMBER,
81 p_init_msg_list IN VARCHAR2,
82 x_return_status OUT NOCOPY VARCHAR2,
83 x_msg_count OUT NOCOPY NUMBER,
84 x_msg_data OUT NOCOPY VARCHAR2,
85 p_rgd_code IN Varchar2,
86 x_rg_rules_tbl OUT NOCOPY rg_rules_tbl_type) Is
87 l_api_name CONSTANT VARCHAR2(30) := 'GET_RG_RULES';
88 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
89 BEGIN
90 l_return_status := OKL_API.START_ACTIVITY( substr(l_api_name,1,26),
91 G_PKG_NAME,
92 p_init_msg_list,
93 G_API_VERSION,
94 p_api_version,
95 G_SCOPE,
96 x_return_status);
97
98 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
99 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
100 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
101 RAISE OKL_API.G_EXCEPTION_ERROR;
102 END IF;
103 x_return_status := l_return_status;
104 OKL_RULE_EXTRACT_PVT.Get_Rg_Rules (p_api_version => p_api_version,
105 p_init_msg_list => p_init_msg_list,
106 x_return_status => x_return_status,
107 x_msg_count => x_msg_count,
108 x_msg_data => x_msg_data,
109 p_rgd_code => p_rgd_code,
110 x_rg_rules_tbl => x_rg_rules_tbl);
111 IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
112 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
113 ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
114 RAISE OKL_API.G_EXCEPTION_ERROR;
115 END IF;
116 --Call End Activity
117 OKL_API.END_ACTIVITY(x_msg_count => x_msg_count,
118 x_msg_data => x_msg_data);
119 EXCEPTION
120 WHEN OKL_API.G_EXCEPTION_ERROR THEN
121 x_return_status := OKL_API.HANDLE_EXCEPTIONS
122 (substr(l_api_name,1,26),
123 G_PKG_NAME,
124 'OKL_API.G_RET_STS_ERROR',
125 x_msg_count,
126 x_msg_data,
127 G_SCOPE);
128
129 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
130 x_return_status := OKL_API.HANDLE_EXCEPTIONS
131 (substr(l_api_name,1,26),
132 G_PKG_NAME,
133 'OKL_API.G_RET_STS_UNEXP_ERROR',
134 x_msg_count,
135 x_msg_data,
136 G_SCOPE);
137
138 WHEN OTHERS THEN
139 -- store SQL error message on message stack for caller
140 OKL_API.set_message(G_APP_NAME, G_UNEXPECTED_ERROR,G_SQLCODE_TOKEN,SQLCODE,G_SQLERRM_TOKEN,SQLERRM);
141 x_return_status := OKL_API.HANDLE_EXCEPTIONS
142 (substr(l_api_name,1,26),
143 G_PKG_NAME,
144 'OTHERS',
145 x_msg_count,
146 x_msg_data,
147 G_SCOPE);
148 END GET_RG_RULES;
149 --start of comments
150 --API Name : Get_Rule_Def
151 --Description : API to fetch rule definition - metadata for each rule segment
152 --end of comments
153 PROCEDURE Get_Rule_Def (p_api_version IN NUMBER,
154 p_init_msg_list IN VARCHAR2,
155 x_return_status OUT NOCOPY VARCHAR2,
156 x_msg_count OUT NOCOPY NUMBER,
157 x_msg_data OUT NOCOPY VARCHAR2,
158 p_rgd_code IN VARCHAR2,
159 p_rgs_code IN VARCHAR2,
160 p_buy_or_sell IN VARCHAR2,
161 x_rule_segment_tbl OUT NOCOPY rule_segment_tbl_type) IS
162 l_api_name CONSTANT VARCHAR2(30) := 'GET_RULE_DEF';
163 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
164 BEGIN
165 l_return_status := OKL_API.START_ACTIVITY( substr(l_api_name,1,26),
166 G_PKG_NAME,
167 p_init_msg_list,
168 G_API_VERSION,
169 p_api_version,
170 G_SCOPE,
171 x_return_status);
172
173 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
174 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
175 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
176 RAISE OKL_API.G_EXCEPTION_ERROR;
177 END IF;
178 x_return_status := l_return_status;
179 OKL_RULE_EXTRACT_PVT.Get_Rule_Def (p_api_version => p_api_version,
180 p_init_msg_list => p_init_msg_list,
181 x_return_status => x_return_status,
182 x_msg_count => x_msg_count,
183 x_msg_data => x_msg_data,
184 p_rgd_code => p_rgd_code,
185 p_rgs_code => p_rgs_code,
186 p_buy_or_sell => p_buy_or_sell,
187 x_rule_segment_tbl => x_rule_segment_tbl);
188 IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
189 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
190 ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
191 RAISE OKL_API.G_EXCEPTION_ERROR;
192 END IF;
193 --Call End Activity
194 OKL_API.END_ACTIVITY(x_msg_count => x_msg_count,
195 x_msg_data => x_msg_data);
196 EXCEPTION
197 WHEN OKL_API.G_EXCEPTION_ERROR THEN
198 x_return_status := OKL_API.HANDLE_EXCEPTIONS
199 (substr(l_api_name,1,26),
200 G_PKG_NAME,
201 'OKL_API.G_RET_STS_ERROR',
202 x_msg_count,
203 x_msg_data,
204 G_SCOPE);
205
206 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
207 x_return_status := OKL_API.HANDLE_EXCEPTIONS
208 (substr(l_api_name,1,26),
209 G_PKG_NAME,
210 'OKL_API.G_RET_STS_UNEXP_ERROR',
211 x_msg_count,
212 x_msg_data,
213 G_SCOPE);
214
215 WHEN OTHERS THEN
216 -- store SQL error message on message stack for caller
217 OKL_API.set_message(G_APP_NAME, G_UNEXPECTED_ERROR,G_SQLCODE_TOKEN,SQLCODE,G_SQLERRM_TOKEN,SQLERRM);
218 x_return_status := OKL_API.HANDLE_EXCEPTIONS
219 (substr(l_api_name,1,26),
220 G_PKG_NAME,
221 'OTHERS',
222 x_msg_count,
223 x_msg_data,
224 G_SCOPE);
225 END GET_RULE_DEF;
226
227 -- bug 3029276
228 --start of comments
229 --API Name : Get_Rules_Metadata
230 --Description : API to fetch rule definition - metadata for each rule segment
231 -- and retrieve ids and names for each segment.
232 --end of comments
233 PROCEDURE Get_Rules_Metadata (p_api_version IN NUMBER,
234 p_init_msg_list IN VARCHAR2,
235 x_return_status OUT NOCOPY VARCHAR2,
236 x_msg_count OUT NOCOPY NUMBER,
237 x_msg_data OUT NOCOPY VARCHAR2,
238 p_rgd_code IN VARCHAR2,
239 p_rgs_code IN VARCHAR2,
240 p_buy_or_sell IN VARCHAR2,
241 p_contract_id IN OKC_K_HEADERS_B.ID%TYPE,
242 p_line_id IN OKC_K_LINES_B.ID%TYPE,
243 p_party_id IN OKC_K_PARTY_ROLES_B.ID%TYPE,
244 p_template_table IN VARCHAR2,
245 p_rule_id_column IN VARCHAR2,
246 p_entity_column IN VARCHAR2,
247 x_rule_segment_tbl OUT NOCOPY rule_segment_tbl_type2) IS
248
249 l_api_name CONSTANT VARCHAR2(30) := 'GET_RULE_DEF';
250 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
251 BEGIN
252 l_return_status := OKL_API.START_ACTIVITY( substr(l_api_name,1,26),
253 G_PKG_NAME,
254 p_init_msg_list,
255 G_API_VERSION,
256 p_api_version,
257 G_SCOPE,
258 x_return_status);
259
260 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
261 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
262 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
263 RAISE OKL_API.G_EXCEPTION_ERROR;
264 END IF;
265 x_return_status := l_return_status;
266 OKL_RULE_EXTRACT_PVT.Get_Rules_Metadata (
267 p_api_version => p_api_version,
268 p_init_msg_list => p_init_msg_list,
269 x_return_status => x_return_status,
270 x_msg_count => x_msg_count,
271 x_msg_data => x_msg_data,
272 p_rgd_code => p_rgd_code,
273 p_rgs_code => p_rgs_code,
274 p_buy_or_sell => p_buy_or_sell,
275 p_contract_id => p_contract_id,
276 p_line_id => p_line_id,
277 p_party_id => p_party_id,
278 p_template_table => p_template_table,
279 p_rule_id_column => p_rule_id_column,
280 p_entity_column => p_entity_column,
281 x_rule_segment_tbl => x_rule_segment_tbl);
282 IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
283 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
284 ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
285 RAISE OKL_API.G_EXCEPTION_ERROR;
286 END IF;
287 --Call End Activity
288 OKL_API.END_ACTIVITY(x_msg_count => x_msg_count,
289 x_msg_data => x_msg_data);
290 EXCEPTION
291 WHEN OKL_API.G_EXCEPTION_ERROR THEN
292 x_return_status := OKL_API.HANDLE_EXCEPTIONS
293 (substr(l_api_name,1,26),
294 G_PKG_NAME,
295 'OKL_API.G_RET_STS_ERROR',
296 x_msg_count,
297 x_msg_data,
298 G_SCOPE);
299
300 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
301 x_return_status := OKL_API.HANDLE_EXCEPTIONS
302 (substr(l_api_name,1,26),
303 G_PKG_NAME,
304 'OKL_API.G_RET_STS_UNEXP_ERROR',
305 x_msg_count,
306 x_msg_data,
307 G_SCOPE);
308
309 WHEN OTHERS THEN
310 -- store SQL error message on message stack for caller
311 OKL_API.set_message(G_APP_NAME, G_UNEXPECTED_ERROR,G_SQLCODE_TOKEN,SQLCODE,G_SQLERRM_TOKEN,SQLERRM);
312 x_return_status := OKL_API.HANDLE_EXCEPTIONS
313 (substr(l_api_name,1,26),
314 G_PKG_NAME,
315 'OTHERS',
316 x_msg_count,
317 x_msg_data,
318 G_SCOPE);
319 END Get_Rules_Metadata;
320
321 End OKL_RULE_EXTRACT_PUB;