[Home] [Help]
PACKAGE BODY: APPS.OKL_DEAL_PARTIES_PVT
Source
1 Package body OKL_DEAL_PARTIES_PVT as
2 /* $Header: OKLRDPRB.pls 120.3 2007/06/21 18:43:09 asahoo noship $ */
3 -------------------------------------------------------------------------------------------------
4 -- GLOBAL MESSAGE CONSTANTS
5 -------------------------------------------------------------------------------------------------
6 G_INVALID_CRITERIA CONSTANT VARCHAR2(200) := 'OKL_LLA_INVALID_CRITERIA';
7 G_FND_APP CONSTANT VARCHAR2(200) := OKL_API.G_FND_APP;
8 G_INVALID_VALUE CONSTANT VARCHAR2(200) := OKL_API.G_INVALID_VALUE;
9 G_COL_NAME_TOKEN CONSTANT VARCHAR2(200) := OKL_API.G_COL_NAME_TOKEN;
10 G_UNEXPECTED_ERROR CONSTANT VARCHAR2(200) := 'OKC_CONTRACTS_UNEXP_ERROR';
11 G_SQLERRM_TOKEN CONSTANT VARCHAR2(200) := 'SQLerrm';
12 G_SQLCODE_TOKEN CONSTANT VARCHAR2(200) := 'SQLcode';
13 -------------------------------------------------------------------------------------------------
14 -- GLOBAL OKL MESSAGES
15 -------------------------------------------------------------------------------------------------
16 G_REQUIRED_VALUE CONSTANT VARCHAR2(200) := 'OKL_REQUIRED_VALUE';
17 G_LLA_AST_SERIAL CONSTANT VARCHAR2(200) := 'OKL_LLA_AST_SERIAL';
18 G_MISSING_CONTRACT CONSTANT VARCHAR2(200) := 'OKL_LLA_CONTRACT_NOT_FOUND';
19 G_CONTRACT_ID_TOKEN CONSTANT VARCHAR2(30) := 'CONTRACT_ID';
20 -------------------------------------------------------------------------------------------------
21 -- GLOBAL EXCEPTION
22 -------------------------------------------------------------------------------------------------
23 G_EXCEPTION_HALT_VALIDATION EXCEPTION;
24 G_EXCEPTION_STOP_VALIDATION EXCEPTION;
25 G_API_TYPE CONSTANT VARCHAR2(4) := '_PVT';
26 G_API_VERSION CONSTANT NUMBER := 1.0;
27 G_SCOPE CONSTANT VARCHAR2(4) := '_PVT';
28 -------------------------------------------------------------------------------------------------
29 -- GLOBAL VARIABLES
30 -------------------------------------------------------------------------------------------------
31 G_PKG_NAME CONSTANT VARCHAR2(200) := 'OKL_DEAL_PARTIES_PVT';
32 G_APP_NAME CONSTANT VARCHAR2(3) := OKL_API.G_APP_NAME;
33 -------------------------------------------------------------------------------------------------
34
35 PROCEDURE process_label_holder(
36 p_api_version IN NUMBER,
37 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
38 x_return_status OUT NOCOPY VARCHAR2,
39 x_msg_count OUT NOCOPY NUMBER,
40 x_msg_data OUT NOCOPY VARCHAR2,
41 p_rgpv_rec IN party_role_rec_type,
42 x_rgpv_rec OUT NOCOPY party_role_rec_type) IS
43
44 l_api_name VARCHAR2(30) := 'process_label_holder';
45 l_api_version CONSTANT NUMBER := 1.0;
46
47 CURSOR c_get_rrd_id(p_chr_id NUMBER, p_rle_code VARCHAR2, p_rgd_code VARCHAR2) IS
48 SELECT rgrdfs.id
49 FROM okc_k_headers_b chr,
50 okc_subclass_roles sre,
51 okc_role_sources rse,
52 okc_subclass_rg_defs rgdfs,
53 okc_rg_role_defs rgrdfs
54 WHERE chr.id = p_chr_id
55 AND sre.scs_code = chr.scs_code
56 AND sre.rle_code = rse.rle_code
57 AND rse.rle_code = p_rle_code
58 AND rse.buy_or_sell = chr.buy_or_sell
59 AND rgdfs.scs_code = chr.scs_code
60 AND rgdfs.rgd_code = p_rgd_code
61 AND rgrdfs.srd_id = rgdfs.id
62 AND rgrdfs.sre_id = sre.id;
63
64 CURSOR c_label_holder(p_chr_id NUMBER, p_rle_code VARCHAR2) IS
65 SELECT 'Y'
66 FROM OKC_K_PARTY_ROLES_B
67 WHERE dnz_chr_id = p_chr_id
68 AND chr_id = p_chr_id
69 AND rle_code = p_rle_code;
70
71 l_party_found VARCHAR2(1);
72 l_rrd_id NUMBER;
73
74 lp_lalabl_rgpv_rec OKL_OKC_MIGRATION_PVT.rgpv_rec_type;
75 lx_lalabl_rgpv_rec OKL_OKC_MIGRATION_PVT.rgpv_rec_type;
76
77 lp_lalogo_rulv_rec Okl_Rule_Pub.rulv_rec_type;
78 lx_lalogo_rulv_rec Okl_Rule_Pub.rulv_rec_type;
79
80 lp_cplv_rec OKL_OKC_MIGRATION_PVT.cplv_rec_type;
81 lx_cplv_rec OKL_OKC_MIGRATION_PVT.cplv_rec_type;
82
83 lp_kplv_rec okl_k_party_roles_pvt.kplv_rec_type;
84 lx_kplv_rec okl_k_party_roles_pvt.kplv_rec_type;
85
86 lp_rmpv_rec OKL_OKC_MIGRATION_PVT.rmpv_rec_type;
87 lx_rmpv_rec OKL_OKC_MIGRATION_PVT.rmpv_rec_type;
88
89 l_msg_data VARCHAR2(4000);
90 l_msg_index_out number;
91
92 BEGIN
93 x_rgpv_rec := p_rgpv_rec;
94 x_return_status := OKL_API.START_ACTIVITY(
95 p_api_name => l_api_name,
96 p_pkg_name => g_pkg_name,
97 p_init_msg_list => p_init_msg_list,
98 l_api_version => l_api_version,
99 p_api_version => p_api_version,
100 p_api_type => g_api_type,
101 x_return_status => x_return_status);
102
103 -- check if activity started successfully
104 IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
105 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
106 ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
107 RAISE OKL_API.G_EXCEPTION_ERROR;
108 END IF;
109
110 OPEN c_label_holder(p_chr_id => p_rgpv_rec.chr_id,
111 p_rle_code => 'PRIVATE_LABEL');
112 FETCH c_label_holder INTO l_party_found;
113 CLOSE c_label_holder;
114
115 IF (l_party_found = 'Y') THEN
116 OKL_API.set_message(
117 p_app_name => G_APP_NAME,
118 p_msg_name => 'OKL_LLA_PVT_LBL');
119 RAISE OKL_API.G_EXCEPTION_ERROR;
120 END IF;
121
122 lp_cplv_rec.id := p_rgpv_rec.party_role_id;
123 lp_cplv_rec.object1_id1 := p_rgpv_rec.party_id;
124 lp_cplv_rec.object1_id2 := '#';
125 lp_cplv_rec.jtot_object1_code := 'OKX_PARTY';
126 lp_cplv_rec.rle_code := 'PRIVATE_LABEL';
127 lp_cplv_rec.dnz_chr_id := p_rgpv_rec.chr_id;
128 lp_cplv_rec.chr_id := p_rgpv_rec.chr_id;
129 lp_kplv_rec.attribute_category := p_rgpv_rec.attribute_category;
130 lp_kplv_rec.attribute1 := p_rgpv_rec.attribute1;
131 lp_kplv_rec.attribute2 := p_rgpv_rec.attribute2;
132 lp_kplv_rec.attribute3 := p_rgpv_rec.attribute3;
133 lp_kplv_rec.attribute4 := p_rgpv_rec.attribute4;
134 lp_kplv_rec.attribute5 := p_rgpv_rec.attribute5;
135 lp_kplv_rec.attribute6 := p_rgpv_rec.attribute6;
136 lp_kplv_rec.attribute7 := p_rgpv_rec.attribute7;
137 lp_kplv_rec.attribute8 := p_rgpv_rec.attribute8;
138 lp_kplv_rec.attribute9 := p_rgpv_rec.attribute9;
139 lp_kplv_rec.attribute10 := p_rgpv_rec.attribute10;
140 lp_kplv_rec.attribute11 := p_rgpv_rec.attribute11;
141 lp_kplv_rec.attribute12 := p_rgpv_rec.attribute12;
142 lp_kplv_rec.attribute13 := p_rgpv_rec.attribute13;
143 lp_kplv_rec.attribute14 := p_rgpv_rec.attribute14;
144 lp_kplv_rec.attribute15 := p_rgpv_rec.attribute15;
145 lp_kplv_rec.validate_dff_yn := 'Y';
146
147 IF (p_rgpv_rec.party_role_id IS NULL) THEN
148 OKL_K_PARTY_ROLES_PVT.create_k_party_role(
149 p_api_version => p_api_version,
150 p_init_msg_list => p_init_msg_list,
151 x_return_status => x_return_status,
152 x_msg_count => x_msg_count,
153 x_msg_data => x_msg_data,
154 p_cplv_rec => lp_cplv_rec,
155 x_cplv_rec => lx_cplv_rec,
156 p_kplv_rec => lp_kplv_rec,
157 x_kplv_rec => lx_kplv_rec);
158
159 IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
160 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
161 ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
162 RAISE OKL_API.G_EXCEPTION_ERROR;
163 END IF;
164 ELSE
165
166 OKL_K_PARTY_ROLES_PVT.update_k_party_role(
167 p_api_version => p_api_version,
168 p_init_msg_list => p_init_msg_list,
169 x_return_status => x_return_status,
170 x_msg_count => x_msg_count,
171 x_msg_data => x_msg_data,
172 p_cplv_rec => lp_cplv_rec,
173 x_cplv_rec => lx_cplv_rec,
174 p_kplv_rec => lp_kplv_rec,
175 x_kplv_rec => lx_kplv_rec);
176
177 IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
178 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
179 ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
180 RAISE OKL_API.G_EXCEPTION_ERROR;
181 END IF;
182
183 END IF;
184
185 IF (p_rgpv_rec.rgp_id IS NULL) THEN
186 -- Create LALABL rule group
187 lp_lalabl_rgpv_rec.id := NULL;
188 lp_lalabl_rgpv_rec.rgd_code := 'LALABL';
189 lp_lalabl_rgpv_rec.dnz_chr_id := p_rgpv_rec.chr_id;
190 lp_lalabl_rgpv_rec.chr_id := p_rgpv_rec.chr_id;
191 lp_lalabl_rgpv_rec.rgp_type := 'KRG';
192
193 OKL_RULE_PUB.create_rule_group(
194 p_api_version => p_api_version,
195 p_init_msg_list => p_init_msg_list,
196 x_return_status => x_return_status,
197 x_msg_count => x_msg_count,
198 x_msg_data => x_msg_data,
199 p_rgpv_rec => lp_lalabl_rgpv_rec,
200 x_rgpv_rec => lx_lalabl_rgpv_rec);
201
202 IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
203 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
204 ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
205 RAISE OKL_API.G_EXCEPTION_ERROR;
206 END IF;
207
208 x_rgpv_rec.rgp_id := lx_lalabl_rgpv_rec.id;
209
210 ELSE
211
212 -- Update LALABL rule group
213 lp_lalabl_rgpv_rec.id := p_rgpv_rec.rgp_id;
214 lp_lalabl_rgpv_rec.rgd_code := 'LALABL';
215 lp_lalabl_rgpv_rec.dnz_chr_id := p_rgpv_rec.chr_id;
216 lp_lalabl_rgpv_rec.chr_id := p_rgpv_rec.chr_id;
217 lp_lalabl_rgpv_rec.rgp_type := 'KRG';
218
219 OKL_RULE_PUB.update_rule_group(
220 p_api_version => p_api_version,
221 p_init_msg_list => p_init_msg_list,
222 x_return_status => x_return_status,
223 x_msg_count => x_msg_count,
224 x_msg_data => x_msg_data,
225 p_rgpv_rec => lp_lalabl_rgpv_rec,
226 x_rgpv_rec => lx_lalabl_rgpv_rec);
227
228 IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
229 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
230 ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
231 RAISE OKL_API.G_EXCEPTION_ERROR;
232 END IF;
233
234 x_rgpv_rec.rgp_id := lx_lalabl_rgpv_rec.id;
235
236 END IF;
237
238 IF (p_rgpv_rec.rul_lalogo_id IS NULL) THEN
239 -- Create LALOGO rule
240 lp_lalogo_rulv_rec.id := NULL;
241 lp_lalogo_rulv_rec.rgp_id := lx_lalabl_rgpv_rec.id;
242 lp_lalogo_rulv_rec.dnz_chr_id := p_rgpv_rec.chr_id;
243 lp_lalogo_rulv_rec.rule_information_category := 'LALOGO';
244 lp_lalogo_rulv_rec.rule_information1 := p_rgpv_rec.lalogo_rule_information1;
245 lp_lalogo_rulv_rec.WARN_YN := 'N';
246 lp_lalogo_rulv_rec.STD_TEMPLATE_YN := 'N';
247
248 OKL_RULE_PUB.create_rule(
249 p_api_version => p_api_version,
250 p_init_msg_list => p_init_msg_list,
251 x_return_status => x_return_status,
252 x_msg_count => x_msg_count,
253 x_msg_data => x_msg_data,
254 p_rulv_rec => lp_lalogo_rulv_rec,
255 x_rulv_rec => lx_lalogo_rulv_rec);
256
257 IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
258 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
259 ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
260 RAISE OKL_API.G_EXCEPTION_ERROR;
261 END IF;
262
263 x_rgpv_rec.rul_lalogo_id := lx_lalogo_rulv_rec.id;
264
265 ELSE
266
267 -- Update LALOGO rule
268 lp_lalogo_rulv_rec.id := p_rgpv_rec.rul_lalogo_id;
269 lp_lalogo_rulv_rec.rgp_id := p_rgpv_rec.rgp_id;
270 lp_lalogo_rulv_rec.dnz_chr_id := p_rgpv_rec.chr_id;
271 lp_lalogo_rulv_rec.rule_information_category := 'LALOGO';
272 lp_lalogo_rulv_rec.rule_information1 := p_rgpv_rec.lalogo_rule_information1;
273 lp_lalogo_rulv_rec.WARN_YN := 'N';
274 lp_lalogo_rulv_rec.STD_TEMPLATE_YN := 'N';
275
276 OKL_RULE_PUB.update_rule(
277 p_api_version => p_api_version,
278 p_init_msg_list => p_init_msg_list,
279 x_return_status => x_return_status,
280 x_msg_count => x_msg_count,
281 x_msg_data => x_msg_data,
282 p_rulv_rec => lp_lalogo_rulv_rec,
283 x_rulv_rec => lx_lalogo_rulv_rec);
284
285 IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
286 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
287 ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
288 RAISE OKL_API.G_EXCEPTION_ERROR;
289 END IF;
290
291 x_rgpv_rec.rul_lalogo_id := lx_lalogo_rulv_rec.id;
292
293 END IF;
294
295
296 IF (p_rgpv_rec.rgp_id IS NULL) THEN
297 OPEN c_get_rrd_id(p_rgpv_rec.chr_id, 'PRIVATE_LABEL', 'LALABL');
298 FETCH c_get_rrd_id INTO l_rrd_id;
299 CLOSE c_get_rrd_id;
300
301 lp_rmpv_rec.rgp_id := x_rgpv_rec.rgp_id;
302 --lp_rmpv_rec.cpl_id := p_rgpv_rec.party_id;
303 lp_rmpv_rec.cpl_id := lx_cplv_rec.id;
304 lp_rmpv_rec.dnz_chr_id := p_rgpv_rec.chr_id;
305 lp_rmpv_rec.rrd_id := l_rrd_id;
306
307 OKL_RULE_PUB.create_rg_mode_pty_role(
308 p_api_version => p_api_version,
309 p_init_msg_list => p_init_msg_list,
310 x_return_status => x_return_status,
311 x_msg_count => x_msg_count,
312 x_msg_data => x_msg_data,
313 p_rmpv_rec => lp_rmpv_rec,
314 x_rmpv_rec => lx_rmpv_rec);
315
316 IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
317 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
318 ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
319 RAISE OKL_API.G_EXCEPTION_ERROR;
320 END IF;
321
322 END IF;
323
324 OKL_API.END_ACTIVITY(x_msg_count => x_msg_count, x_msg_data => x_msg_data);
325
326 EXCEPTION
327 WHEN OKL_API.G_EXCEPTION_ERROR THEN
328 x_return_status := OKL_API.HANDLE_EXCEPTIONS(
329 p_api_name => l_api_name,
330 p_pkg_name => g_pkg_name,
331 p_exc_name => 'OKL_API.G_RET_STS_ERROR',
332 x_msg_count => x_msg_count,
333 x_msg_data => x_msg_data,
334 p_api_type => g_api_type);
335
336 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
337 x_return_status := OKL_API.HANDLE_EXCEPTIONS(
338 p_api_name => l_api_name,
339 p_pkg_name => g_pkg_name,
340 p_exc_name => 'OKL_API.G_RET_STS_UNEXP_ERROR',
341 x_msg_count => x_msg_count,
342 x_msg_data => x_msg_data,
343 p_api_type => g_api_type);
344
345 WHEN OTHERS THEN
346 x_return_status := OKL_API.HANDLE_EXCEPTIONS(
347 p_api_name => l_api_name,
348 p_pkg_name => g_pkg_name,
349 p_exc_name => 'OTHERS',
350 x_msg_count => x_msg_count,
351 x_msg_data => x_msg_data,
352 p_api_type => g_api_type);
353 END process_label_holder;
354
355
356 PROCEDURE load_guarantor(
357 p_api_version IN NUMBER,
358 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
359 x_return_status OUT NOCOPY VARCHAR2,
360 x_msg_count OUT NOCOPY NUMBER,
361 x_msg_data OUT NOCOPY VARCHAR2,
362 p_chr_id IN NUMBER,
363 p_party_id IN NUMBER,
364 x_party_role_rec OUT NOCOPY party_role_rec_type) IS
365
366 l_api_name VARCHAR2(30) := 'load_guarantor';
367 l_api_version CONSTANT NUMBER := 1.0;
368
369 CURSOR c_rule(p_chr_id NUMBER, p_rgd_code VARCHAR2, p_rule_info_cat VARCHAR2, p_rgp_id NUMBER) IS
370 SELECT rul.rgp_id,rgp.rgd_code,rul.ID,rul.object1_id1,rul.object1_id2,rul.jtot_object1_code,
371 rul.rule_information_category,rul.rule_information1,rul.rule_information2,rul.rule_information3,
372 rul.rule_information4
373 FROM okc_rules_b rul,
374 okc_rule_groups_b rgp
375 WHERE rgp.chr_id = p_chr_id
376 AND rgp.id = p_rgp_id
377 AND rgp.dnz_chr_id = p_chr_id
378 AND rgp.rgd_code = p_rgd_code
379 AND rgp.id = rul.rgp_id
380 AND rgp.dnz_chr_id = rul.dnz_chr_id
381 AND rul.rule_information_category = p_rule_info_cat;
382
383 l_rule c_rule%ROWTYPE;
384
385 CURSOR c_party_role_info(p_chr_id NUMBER, p_rle_code VARCHAR2, p_party_id NUMBER) IS
386 SELECT okc_party_roles.id,object1_id1,object1_id2,jtot_object1_code,okl_party_roles.attribute_category,
387 okl_party_roles.attribute1,okl_party_roles.attribute2,okl_party_roles.attribute3,okl_party_roles.attribute4,
388 okl_party_roles.attribute5,okl_party_roles.attribute6,okl_party_roles.attribute7,okl_party_roles.attribute8,
389 okl_party_roles.attribute9,okl_party_roles.attribute10,okl_party_roles.attribute11,okl_party_roles.attribute12,
390 okl_party_roles.attribute13,okl_party_roles.attribute14,okl_party_roles.attribute15
391 FROM okc_k_party_roles_b okc_party_roles,
392 okl_k_party_roles okl_party_roles
393 WHERE okc_party_roles.dnz_chr_id = p_chr_id
394 AND okc_party_roles.cle_id is null
395 AND okc_party_roles.rle_code = p_rle_code
396 AND okc_party_roles.id = okl_party_roles.id
397 AND okc_party_roles.object1_id1 = p_party_id;
398
399 l_party_role_info c_party_role_info%ROWTYPE;
400
401 CURSOR c_party_site(p_party_site_id NUMBER) IS
402 SELECT party_site_number
403 FROM hz_party_sites
404 WHERE party_site_id = p_party_site_id;
405
406 CURSOR c_party_name(p_party_id NUMBER) IS
407 SELECT party_name
408 FROM hz_parties
409 WHERE party_id = p_party_id;
410
411 CURSOR c_get_rrd_id(p_chr_id NUMBER, p_rle_code VARCHAR2, p_rgd_code VARCHAR2) IS
412 SELECT rgrdfs.id
413 FROM okc_k_headers_b chr,
414 okc_subclass_roles sre,
415 okc_role_sources rse,
416 okc_subclass_rg_defs rgdfs,
417 okc_rg_role_defs rgrdfs
418 WHERE chr.id = p_chr_id
419 AND sre.scs_code = chr.scs_code
420 AND sre.rle_code = rse.rle_code
421 AND rse.rle_code = p_rle_code
422 AND rse.buy_or_sell = chr.buy_or_sell
423 AND rgdfs.scs_code = chr.scs_code
424 AND rgdfs.rgd_code = p_rgd_code
425 AND rgrdfs.srd_id = rgdfs.id
426 AND rgrdfs.sre_id = sre.id;
427
428 CURSOR c_rgp_id(p_rrd_id NUMBER, p_dnz_chr_id NUMBER, p_cpl_id NUMBER) IS
429 SELECT rgp_id
430 FROM okc_rg_party_roles
431 WHERE rrd_id = p_rrd_id
432 AND dnz_chr_id = p_dnz_chr_id
433 AND cpl_id = p_cpl_id;
434
435 l_rrd_id NUMBER;
436 l_rgp_id NUMBER;
437
438 l_msg_data VARCHAR2(4000);
439 l_msg_index_out number;
440 BEGIN
441 x_return_status := OKL_API.START_ACTIVITY(
442 p_api_name => l_api_name,
443 p_pkg_name => g_pkg_name,
444 p_init_msg_list => p_init_msg_list,
445 l_api_version => l_api_version,
446 p_api_version => p_api_version,
447 p_api_type => g_api_type,
448 x_return_status => x_return_status);
449
450 -- check if activity started successfully
451 IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
452 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
453 ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
454 RAISE OKL_API.G_EXCEPTION_ERROR;
455 END IF;
456
457 x_party_role_rec.chr_id := p_chr_id;
458 x_party_role_rec.party_role := OKL_LLA_UTIL_PVT.GET_LOOKUP_MEANING('OKC_ROLE','GUARANTOR');
459
460 --Open the Cursor to get party_role_id
461 OPEN c_party_role_info(p_chr_id, 'GUARANTOR', p_party_id);
462 FETCH c_party_role_info INTO l_party_role_info;
463 x_party_role_rec.party_role_id := l_party_role_info.id;
464 x_party_role_rec.party_id := l_party_role_info.object1_id1;
465 x_party_role_rec.attribute_category := l_party_role_info.attribute_category;
466 x_party_role_rec.attribute1 := l_party_role_info.attribute1;
467 x_party_role_rec.attribute2 := l_party_role_info.attribute2;
468 x_party_role_rec.attribute3 := l_party_role_info.attribute3;
469 x_party_role_rec.attribute4 := l_party_role_info.attribute4;
470 x_party_role_rec.attribute5 := l_party_role_info.attribute5;
471 x_party_role_rec.attribute6 := l_party_role_info.attribute6;
472 x_party_role_rec.attribute7 := l_party_role_info.attribute7;
473 x_party_role_rec.attribute8 := l_party_role_info.attribute8;
474 x_party_role_rec.attribute9 := l_party_role_info.attribute9;
475 x_party_role_rec.attribute10 := l_party_role_info.attribute10;
476 x_party_role_rec.attribute11 := l_party_role_info.attribute11;
477 x_party_role_rec.attribute12 := l_party_role_info.attribute12;
478 x_party_role_rec.attribute13 := l_party_role_info.attribute13;
479 x_party_role_rec.attribute14 := l_party_role_info.attribute14;
480 x_party_role_rec.attribute15 := l_party_role_info.attribute15;
481 CLOSE c_party_role_info;
482
483 --Open the Cursor to get rrd_id
484 OPEN c_get_rrd_id(p_chr_id, 'GUARANTOR', 'LAGRDT');
485 FETCH c_get_rrd_id INTO l_rrd_id;
486 CLOSE c_get_rrd_id;
487
488 --Open the Cursor to get rgp_id
489 OPEN c_rgp_id(p_rrd_id => l_rrd_id,
490 p_dnz_chr_id => p_chr_id,
491 p_cpl_id => x_party_role_rec.party_role_id);
492 FETCH c_rgp_id INTO l_rgp_id;
493 CLOSE c_rgp_id;
494
495 OPEN c_rule(p_chr_id, 'LAGRDT', 'LAGRNP', l_rgp_id);
496 FETCH c_rule INTO l_rule;
497 x_party_role_rec.rgp_id := l_rule.rgp_id;
498 x_party_role_rec.rgp_lagrdt_lagrnp_id := l_rule.rgp_id;
499 x_party_role_rec.rgp_lagrdt_lagrnt_id := l_rule.rgp_id;
500 x_party_role_rec.rul_lagrnp_id := l_rule.id;
501 x_party_role_rec.rul_lagrnp_object1_id1 := l_rule.object1_id1;
502 x_party_role_rec.rul_lagrnp_object1_id2 := l_rule.object1_id2;
503 x_party_role_rec.lagrnp_rule_info_cat := l_rule.rule_information_category;
504 x_party_role_rec.lagrnp_rule_information1 := l_rule.rule_information1;
505 CLOSE c_rule;
506
507 OPEN c_rule(p_chr_id, 'LAGRDT', 'LAGRNT',l_rgp_id);
508 FETCH c_rule INTO l_rule;
509 x_party_role_rec.rul_lagrnt_id := l_rule.id;
510 x_party_role_rec.lagrnt_rule_info_cat := l_rule.rule_information_category;
511 x_party_role_rec.lagrnt_rule_information1 := l_rule.rule_information1;
512 x_party_role_rec.lagrnt_rule_information2 := l_rule.rule_information2;
513 x_party_role_rec.lagrnt_rule_information3 := l_rule.rule_information3;
514 x_party_role_rec.lagrnt_rule_information4 := l_rule.rule_information4;
515 CLOSE c_rule;
516
517
518 OPEN c_party_site(x_party_role_rec.rul_lagrnp_object1_id1);
519 FETCH c_party_site INTO x_party_role_rec.party_site_number;
520 CLOSE c_party_site;
521
522 OPEN c_party_name(x_party_role_rec.party_id);
523 FETCH c_party_name INTO x_party_role_rec.party_name;
524 CLOSE c_party_name;
525
526 OKC_API.END_ACTIVITY(x_msg_count => x_msg_count, x_msg_data => x_msg_data);
527
528 EXCEPTION
529 WHEN OKC_API.G_EXCEPTION_ERROR THEN
530 x_return_status := OKC_API.HANDLE_EXCEPTIONS(
531 p_api_name => l_api_name,
532 p_pkg_name => g_pkg_name,
533 p_exc_name => 'OKC_API.G_RET_STS_ERROR',
534 x_msg_count => x_msg_count,
535 x_msg_data => x_msg_data,
536 p_api_type => g_api_type);
537
538 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
539 x_return_status := OKC_API.HANDLE_EXCEPTIONS(
540 p_api_name => l_api_name,
541 p_pkg_name => g_pkg_name,
542 p_exc_name => 'OKC_API.G_RET_STS_UNEXP_ERROR',
543 x_msg_count => x_msg_count,
544 x_msg_data => x_msg_data,
545 p_api_type => g_api_type);
546
547 WHEN OTHERS THEN
548 x_return_status := OKC_API.HANDLE_EXCEPTIONS(
549 p_api_name => l_api_name,
550 p_pkg_name => g_pkg_name,
551 p_exc_name => 'OTHERS',
552 x_msg_count => x_msg_count,
553 x_msg_data => x_msg_data,
554 p_api_type => g_api_type);
555
556 END load_guarantor;
557
558 PROCEDURE process_guarantor(
559 p_api_version IN NUMBER,
560 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
561 x_return_status OUT NOCOPY VARCHAR2,
562 x_msg_count OUT NOCOPY NUMBER,
563 x_msg_data OUT NOCOPY VARCHAR2,
564 p_rgpv_rec IN party_role_rec_type,
565 x_rgpv_rec OUT NOCOPY party_role_rec_type) IS
566
567 l_api_name VARCHAR2(30) := 'process_gurantor';
568 l_api_version CONSTANT NUMBER := 1.0;
569
570 lp_lagrdt_rgpv_rec OKL_OKC_MIGRATION_PVT.rgpv_rec_type;
571 lx_lagrdt_rgpv_rec OKL_OKC_MIGRATION_PVT.rgpv_rec_type;
572
573 lp_lagrnp_rulv_rec Okl_Rule_Pub.rulv_rec_type;
574 lx_lagrnp_rulv_rec Okl_Rule_Pub.rulv_rec_type;
575
576 lp_lagrnt_rulv_rec Okl_Rule_Pub.rulv_rec_type;
577 lx_lagrnt_rulv_rec Okl_Rule_Pub.rulv_rec_type;
578
579 lp_cplv_rec OKL_OKC_MIGRATION_PVT.cplv_rec_type;
580 lx_cplv_rec OKL_OKC_MIGRATION_PVT.cplv_rec_type;
581
582 lp_kplv_rec okl_k_party_roles_pvt.kplv_rec_type;
583 lx_kplv_rec okl_k_party_roles_pvt.kplv_rec_type;
584
585 lp_rmpv_rec OKL_OKC_MIGRATION_PVT.rmpv_rec_type;
586 lx_rmpv_rec OKL_OKC_MIGRATION_PVT.rmpv_rec_type;
587
588 CURSOR c_get_rrd_id(p_chr_id NUMBER, p_rle_code VARCHAR2, p_rgd_code VARCHAR2) IS
589 SELECT rgrdfs.id
590 FROM okc_k_headers_b chr,
591 okc_subclass_roles sre,
592 okc_role_sources rse,
593 okc_subclass_rg_defs rgdfs,
594 okc_rg_role_defs rgrdfs
595 WHERE chr.id = p_chr_id
596 AND sre.scs_code = chr.scs_code
597 AND sre.rle_code = rse.rle_code
598 AND rse.rle_code = p_rle_code
599 AND rse.buy_or_sell = chr.buy_or_sell
600 AND rgdfs.scs_code = chr.scs_code
601 AND rgdfs.rgd_code = p_rgd_code
602 AND rgrdfs.srd_id = rgdfs.id
603 AND rgrdfs.sre_id = sre.id;
604
605 l_rrd_id NUMBER;
606
607 l_msg_data VARCHAR2(4000);
608 l_msg_index_out number;
609 BEGIN
610 x_rgpv_rec := p_rgpv_rec;
611 x_return_status := OKL_API.START_ACTIVITY(
612 p_api_name => l_api_name,
613 p_pkg_name => g_pkg_name,
614 p_init_msg_list => p_init_msg_list,
615 l_api_version => l_api_version,
616 p_api_version => p_api_version,
617 p_api_type => g_api_type,
618 x_return_status => x_return_status);
619
620 -- check if activity started successfully
621 IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
622 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
623 ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
624 RAISE OKL_API.G_EXCEPTION_ERROR;
625 END IF;
626
627 IF (p_rgpv_rec.rgp_id IS NULL) THEN
628 -- Create LAGRDT rule group
629 lp_lagrdt_rgpv_rec.id := NULL;
630 lp_lagrdt_rgpv_rec.rgd_code := 'LAGRDT';
631 lp_lagrdt_rgpv_rec.dnz_chr_id := p_rgpv_rec.chr_id;
632 lp_lagrdt_rgpv_rec.chr_id := p_rgpv_rec.chr_id;
633 lp_lagrdt_rgpv_rec.rgp_type := 'KRG';
634
635 OKL_RULE_PUB.create_rule_group(
636 p_api_version => p_api_version,
637 p_init_msg_list => p_init_msg_list,
638 x_return_status => x_return_status,
639 x_msg_count => x_msg_count,
640 x_msg_data => x_msg_data,
641 p_rgpv_rec => lp_lagrdt_rgpv_rec,
642 x_rgpv_rec => lx_lagrdt_rgpv_rec);
643
644 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
645 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
646 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
647 RAISE OKC_API.G_EXCEPTION_ERROR;
648 END IF;
649
650 x_rgpv_rec.rgp_id := lx_lagrdt_rgpv_rec.id;
651
652 ELSE
653
654 -- Update LAGRDT rule group
655 lp_lagrdt_rgpv_rec.id := p_rgpv_rec.rgp_id;
656 lp_lagrdt_rgpv_rec.rgd_code := 'LAGRDT';
657 lp_lagrdt_rgpv_rec.dnz_chr_id := p_rgpv_rec.chr_id;
658 lp_lagrdt_rgpv_rec.chr_id := p_rgpv_rec.chr_id;
659 lp_lagrdt_rgpv_rec.rgp_type := 'KRG';
660
661 OKL_RULE_PUB.update_rule_group(
662 p_api_version => p_api_version,
663 p_init_msg_list => p_init_msg_list,
664 x_return_status => x_return_status,
665 x_msg_count => x_msg_count,
666 x_msg_data => x_msg_data,
667 p_rgpv_rec => lp_lagrdt_rgpv_rec,
668 x_rgpv_rec => lx_lagrdt_rgpv_rec);
669
670 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
671 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
672 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
673 RAISE OKC_API.G_EXCEPTION_ERROR;
674 END IF;
675
676 x_rgpv_rec.rgp_id := lx_lagrdt_rgpv_rec.id;
677
678 END IF;
679
680 IF (p_rgpv_rec.rul_lagrnp_id IS NULL) THEN
681 -- Create LAGRNP rule
682 lp_lagrnp_rulv_rec.id := NULL;
683 lp_lagrnp_rulv_rec.rgp_id := lx_lagrdt_rgpv_rec.id;
684 lp_lagrnp_rulv_rec.dnz_chr_id := p_rgpv_rec.chr_id;
685 lp_lagrnp_rulv_rec.rule_information_category := 'LAGRNP';
686 lp_lagrnp_rulv_rec.rule_information1 := p_rgpv_rec.lagrnp_rule_information1;
687 lp_lagrnp_rulv_rec.WARN_YN := 'N';
688 lp_lagrnp_rulv_rec.STD_TEMPLATE_YN := 'N';
689 IF ((p_rgpv_rec.rul_lagrnp_object1_id1 IS NOT NULL) AND ( p_rgpv_rec.rul_lagrnp_object1_id2 IS NOT NULL)) THEN
690 lp_lagrnp_rulv_rec.object1_id1 := p_rgpv_rec.rul_lagrnp_object1_id1;
691 lp_lagrnp_rulv_rec.object1_id2 := '#';
692 lp_lagrnp_rulv_rec.jtot_object1_code := 'OKL_PARTYSITE';
693 END IF;
694
695 OKL_RULE_PUB.create_rule(
696 p_api_version => p_api_version,
697 p_init_msg_list => p_init_msg_list,
698 x_return_status => x_return_status,
699 x_msg_count => x_msg_count,
700 x_msg_data => x_msg_data,
701 p_rulv_rec => lp_lagrnp_rulv_rec,
702 x_rulv_rec => lx_lagrnp_rulv_rec);
703
704 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
705 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
706 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
707 RAISE OKC_API.G_EXCEPTION_ERROR;
708 END IF;
709
710 x_rgpv_rec.rul_lagrnp_id := lx_lagrnp_rulv_rec.id;
711
712 ELSE
713
714 -- Update LAGRNP rule
715 lp_lagrnp_rulv_rec.id := p_rgpv_rec.rul_lagrnp_id;
716 lp_lagrnp_rulv_rec.rgp_id := p_rgpv_rec.rgp_id;
717 lp_lagrnp_rulv_rec.dnz_chr_id := p_rgpv_rec.chr_id;
718 lp_lagrnp_rulv_rec.rule_information_category := 'LAGRNP';
719 lp_lagrnp_rulv_rec.rule_information1 := p_rgpv_rec.lagrnp_rule_information1;
720 lp_lagrnp_rulv_rec.WARN_YN := 'N';
721 lp_lagrnp_rulv_rec.STD_TEMPLATE_YN := 'N';
722 IF ((p_rgpv_rec.rul_lagrnp_object1_id1 IS NOT NULL) AND ( p_rgpv_rec.rul_lagrnp_object1_id2 IS NOT NULL)) THEN
723 lp_lagrnp_rulv_rec.object1_id1 := p_rgpv_rec.rul_lagrnp_object1_id1;
724 lp_lagrnp_rulv_rec.object1_id2 := '#';
725 lp_lagrnp_rulv_rec.jtot_object1_code := 'OKL_PARTYSITE';
726 END IF;
727
728 OKL_RULE_PUB.update_rule(
729 p_api_version => p_api_version,
730 p_init_msg_list => p_init_msg_list,
731 x_return_status => x_return_status,
732 x_msg_count => x_msg_count,
733 x_msg_data => x_msg_data,
734 p_rulv_rec => lp_lagrnp_rulv_rec,
735 x_rulv_rec => lx_lagrnp_rulv_rec);
736
737 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
738 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
739 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
740 RAISE OKC_API.G_EXCEPTION_ERROR;
741 END IF;
742
743 x_rgpv_rec.rul_lagrnp_id := lx_lagrnp_rulv_rec.id;
744
745
746 END IF;
747
748 IF (p_rgpv_rec.rul_lagrnt_id IS NULL) THEN
749 -- Create LAGRNT rule
750 lp_lagrnt_rulv_rec.id := NULL;
751 lp_lagrnt_rulv_rec.rgp_id := lx_lagrdt_rgpv_rec.id;
752 lp_lagrnt_rulv_rec.dnz_chr_id := p_rgpv_rec.chr_id;
753 lp_lagrnt_rulv_rec.rule_information_category := 'LAGRNT';
754 lp_lagrnt_rulv_rec.rule_information1 := p_rgpv_rec.lagrnt_rule_information1;
755 lp_lagrnt_rulv_rec.rule_information2 := p_rgpv_rec.lagrnt_rule_information2;
756 lp_lagrnt_rulv_rec.rule_information3 := p_rgpv_rec.lagrnt_rule_information3;
757 lp_lagrnt_rulv_rec.rule_information4 := p_rgpv_rec.lagrnt_rule_information4;
758 lp_lagrnt_rulv_rec.WARN_YN := 'N';
759 lp_lagrnt_rulv_rec.STD_TEMPLATE_YN := 'N';
760
761 OKL_RULE_PUB.create_rule(
762 p_api_version => p_api_version,
763 p_init_msg_list => p_init_msg_list,
764 x_return_status => x_return_status,
765 x_msg_count => x_msg_count,
766 x_msg_data => x_msg_data,
767 p_rulv_rec => lp_lagrnt_rulv_rec,
768 x_rulv_rec => lx_lagrnt_rulv_rec);
769
770 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
771 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
772 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
773 RAISE OKC_API.G_EXCEPTION_ERROR;
774 END IF;
775
776 x_rgpv_rec.rul_lagrnt_id := lx_lagrnt_rulv_rec.id;
777
778 ELSE
779
780 -- Update LAGRNT rule
781 lp_lagrnt_rulv_rec.id := p_rgpv_rec.rul_lagrnt_id;
782 lp_lagrnt_rulv_rec.rgp_id := p_rgpv_rec.rgp_id;
783 lp_lagrnt_rulv_rec.dnz_chr_id := p_rgpv_rec.chr_id;
784 lp_lagrnt_rulv_rec.rule_information_category := 'LAGRNT';
785 lp_lagrnt_rulv_rec.rule_information1 := p_rgpv_rec.lagrnt_rule_information1;
786 lp_lagrnt_rulv_rec.rule_information2 := p_rgpv_rec.lagrnt_rule_information2;
787 lp_lagrnt_rulv_rec.rule_information3 := p_rgpv_rec.lagrnt_rule_information3;
788 lp_lagrnt_rulv_rec.rule_information4 := p_rgpv_rec.lagrnt_rule_information4;
789 lp_lagrnt_rulv_rec.WARN_YN := 'N';
790 lp_lagrnt_rulv_rec.STD_TEMPLATE_YN := 'N';
791
792 OKL_RULE_PUB.update_rule(
793 p_api_version => p_api_version,
794 p_init_msg_list => p_init_msg_list,
795 x_return_status => x_return_status,
796 x_msg_count => x_msg_count,
797 x_msg_data => x_msg_data,
798 p_rulv_rec => lp_lagrnt_rulv_rec,
799 x_rulv_rec => lx_lagrnt_rulv_rec);
800
801 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
802 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
803 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
804 RAISE OKC_API.G_EXCEPTION_ERROR;
805 END IF;
806
807 x_rgpv_rec.rul_lagrnt_id := lx_lagrnt_rulv_rec.id;
808 END IF;
809
810 lp_cplv_rec.id := p_rgpv_rec.party_role_id;
811 lp_cplv_rec.object1_id1 := p_rgpv_rec.party_id;
812 lp_cplv_rec.object1_id2 := '#';
813 lp_cplv_rec.jtot_object1_code := 'OKX_PARTY';
814 lp_cplv_rec.rle_code := 'GUARANTOR';
815 lp_cplv_rec.dnz_chr_id := p_rgpv_rec.chr_id;
816 lp_cplv_rec.chr_id := p_rgpv_rec.chr_id;
817 lp_kplv_rec.attribute_category := p_rgpv_rec.attribute_category;
818 lp_kplv_rec.attribute1 := p_rgpv_rec.attribute1;
819 lp_kplv_rec.attribute2 := p_rgpv_rec.attribute2;
820 lp_kplv_rec.attribute3 := p_rgpv_rec.attribute3;
821 lp_kplv_rec.attribute4 := p_rgpv_rec.attribute4;
822 lp_kplv_rec.attribute5 := p_rgpv_rec.attribute5;
823 lp_kplv_rec.attribute6 := p_rgpv_rec.attribute6;
824 lp_kplv_rec.attribute7 := p_rgpv_rec.attribute7;
825 lp_kplv_rec.attribute8 := p_rgpv_rec.attribute8;
826 lp_kplv_rec.attribute9 := p_rgpv_rec.attribute9;
827 lp_kplv_rec.attribute10 := p_rgpv_rec.attribute10;
828 lp_kplv_rec.attribute11 := p_rgpv_rec.attribute11;
829 lp_kplv_rec.attribute12 := p_rgpv_rec.attribute12;
830 lp_kplv_rec.attribute13 := p_rgpv_rec.attribute13;
831 lp_kplv_rec.attribute14 := p_rgpv_rec.attribute14;
832 lp_kplv_rec.attribute15 := p_rgpv_rec.attribute15;
833 lp_kplv_rec.validate_dff_yn := 'Y';
834
835 IF (p_rgpv_rec.rgp_id IS NULL) THEN
836 OKL_K_PARTY_ROLES_PVT.create_k_party_role(
837 p_api_version => p_api_version,
838 p_init_msg_list => p_init_msg_list,
839 x_return_status => x_return_status,
840 x_msg_count => x_msg_count,
841 x_msg_data => x_msg_data,
842 p_cplv_rec => lp_cplv_rec,
843 x_cplv_rec => lx_cplv_rec,
844 p_kplv_rec => lp_kplv_rec,
845 x_kplv_rec => lx_kplv_rec);
846
847 IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
848 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
849 ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
850 RAISE OKL_API.G_EXCEPTION_ERROR;
851 END IF;
852 ELSE
853
854 OKL_K_PARTY_ROLES_PVT.update_k_party_role(
855 p_api_version => p_api_version,
856 p_init_msg_list => p_init_msg_list,
857 x_return_status => x_return_status,
858 x_msg_count => x_msg_count,
859 x_msg_data => x_msg_data,
860 p_cplv_rec => lp_cplv_rec,
861 x_cplv_rec => lx_cplv_rec,
862 p_kplv_rec => lp_kplv_rec,
863 x_kplv_rec => lx_kplv_rec);
864
865 IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
866 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
867 ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
868 RAISE OKL_API.G_EXCEPTION_ERROR;
869 END IF;
870
871 END IF;
872
873 IF (p_rgpv_rec.rgp_id IS NULL) THEN
874 OPEN c_get_rrd_id(p_rgpv_rec.chr_id, 'GUARANTOR', 'LAGRDT');
875 FETCH c_get_rrd_id INTO l_rrd_id;
876 CLOSE c_get_rrd_id;
877
878 lp_rmpv_rec.rgp_id := x_rgpv_rec.rgp_id;
879 lp_rmpv_rec.cpl_id := lx_cplv_rec.id;
880 lp_rmpv_rec.dnz_chr_id := p_rgpv_rec.chr_id;
881 lp_rmpv_rec.rrd_id := l_rrd_id;
882
883 OKL_RULE_PUB.create_rg_mode_pty_role(
884 p_api_version => p_api_version,
885 p_init_msg_list => p_init_msg_list,
886 x_return_status => x_return_status,
887 x_msg_count => x_msg_count,
888 x_msg_data => x_msg_data,
889 p_rmpv_rec => lp_rmpv_rec,
890 x_rmpv_rec => lx_rmpv_rec);
891
892 IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
893 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
894 ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
895 RAISE OKL_API.G_EXCEPTION_ERROR;
896 END IF;
897
898 END IF;
899
900
901 OKC_API.END_ACTIVITY(x_msg_count => x_msg_count, x_msg_data => x_msg_data);
902
903 EXCEPTION
904 WHEN OKC_API.G_EXCEPTION_ERROR THEN
905 x_return_status := OKC_API.HANDLE_EXCEPTIONS(
906 p_api_name => l_api_name,
907 p_pkg_name => g_pkg_name,
908 p_exc_name => 'OKC_API.G_RET_STS_ERROR',
909 x_msg_count => x_msg_count,
910 x_msg_data => x_msg_data,
911 p_api_type => g_api_type);
912
913 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
914 x_return_status := OKC_API.HANDLE_EXCEPTIONS(
915 p_api_name => l_api_name,
916 p_pkg_name => g_pkg_name,
917 p_exc_name => 'OKC_API.G_RET_STS_UNEXP_ERROR',
918 x_msg_count => x_msg_count,
919 x_msg_data => x_msg_data,
920 p_api_type => g_api_type);
921
922 WHEN OTHERS THEN
923 x_return_status := OKC_API.HANDLE_EXCEPTIONS(
924 p_api_name => l_api_name,
925 p_pkg_name => g_pkg_name,
926 p_exc_name => 'OTHERS',
927 x_msg_count => x_msg_count,
928 x_msg_data => x_msg_data,
929 p_api_type => g_api_type);
930 END process_guarantor;
931
932
933 End OKL_DEAL_PARTIES_PVT;