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