[Home] [Help]
PACKAGE BODY: APPS.POS_SEARCH_DUP_PARTY_PKG
Source
1 PACKAGE BODY POS_SEARCH_DUP_PARTY_PKG AS
2 /* $Header: POSDQMB.pls 120.1 2010/11/25 12:25:42 puppulur noship $ */
3
4 g_module VARCHAR2(30) := 'POS_SEARCH_DUP_PARTY_PKG';
5
6 PROCEDURE find_duplicate_parties
7 ( p_init_msg_list IN VARCHAR2 := fnd_api.g_true,
8 p_supp_name IN VARCHAR2,
9 p_supp_name_alt IN VARCHAR2,
10 p_tax_payer_id IN VARCHAR2,
11 p_tax_reg_no IN VARCHAR2,
12 p_duns_no IN VARCHAR2,
13 p_sic_code IN VARCHAR2,
14 p_sup_reg_id IN VARCHAR2,
15 x_search_ctx_id OUT NOCOPY NUMBER,
16 x_return_status OUT NOCOPY VARCHAR2,
17 x_msg_count OUT NOCOPY NUMBER,
18 x_msg_data OUT NOCOPY VARCHAR2)
19 IS
20 l_party_search_rec hz_party_search.party_search_rec_type;
21 l_search_ctx_id NUMBER;
22 l_num_matches NUMBER;
23 l_party_site_list hz_party_search.party_site_list;
24 l_contact_list hz_party_search.contact_list;
25 l_contact_point_list hz_party_search.contact_point_list;
26 l_supp_name VARCHAR2(100) := p_supp_name;
27 l_restrict_sql VARCHAR2(20) := NULL;
28 l_match_type VARCHAR2(20) := NULL;
29 l_search_merged VARCHAR2(20) := NULL;
30 l_rule_id NUMBER;
31 l_step VARCHAR2(100);
32 l_method VARCHAR2(100);
33
34 l_contact_name VARCHAR2(100);
35 l_email VARCHAR2(100);
36 l_contact_phone VARCHAR2(100);
37
38 addr_cnt number := 0;
39 cntc_cnt number := 0;
40
41 CURSOR c_supp_addr_cur IS
42 SELECT address_line1, city, state, postal_code, country
43 FROM POS_ADDRESS_REQUESTS
44 WHERE mapping_id = (select mapping_id
45 from pos_supplier_mappings
46 where supplier_reg_id = p_sup_reg_id);
47
48 CURSOR c_supp_contact_cur IS
49 SELECT (first_name || ' ' || last_name) contact_name,
50 email_address, phone_number
51 FROM pos_contact_requests
52 WHERE do_not_delete = 'Y' and
53 mapping_id = (select mapping_id
54 from pos_supplier_mappings
55 where supplier_reg_id = p_sup_reg_id);
56
57
58 BEGIN
59
60 l_method := 'find_duplicate_parties';
61 l_step := 'Before Calling hz_party_search.find_parties';
62 x_return_status := fnd_api.g_ret_sts_error;
63 x_msg_count := 0;
64 x_msg_data := NULL;
65
66 IF (fnd_log.level_statement >= fnd_log.g_current_runtime_level) THEN
67 fnd_log.string
68 (fnd_log.level_statement
69 , g_module || '.' || l_method
70 , l_step);
71 END IF;
72
73 /* Get Match Rule Id from Profile Option */
74
75 l_rule_id := fnd_profile.value('HZ_ORG_DUP_PREV_MATCHRULE');
76
77 l_party_search_rec.party_all_names := l_supp_name;
78 l_party_search_rec.organization_type := 'ORGANIZATION';
79 l_party_search_rec.jgzz_fiscal_code := p_tax_payer_id;
80 l_party_search_rec.tax_reference := p_tax_reg_no;
81 l_party_search_rec.duns_number_c := p_duns_no;
82 /* Commenting below as we donot have provision on UI to enter SIC code Type */
83 -- l_party_search_rec.sic_code := p_sic_code;
84 l_party_search_rec.organization_name_phonetic := p_supp_name_alt;
85
86
87 FOR address_rec IN c_supp_addr_cur
88 loop
89 addr_cnt := addr_cnt+1;
90 l_party_site_list(addr_cnt).address1 := address_rec.address_line1;
91 l_party_site_list(addr_cnt).city := address_rec.city;
92 l_party_site_list(addr_cnt).state := address_rec.state;
93 l_party_site_list(addr_cnt).postal_code := address_rec.postal_code;
94 l_party_site_list(addr_cnt).country := address_rec.country;
95 end loop;
96
97 FOR cntc_rec IN c_supp_contact_cur
98 loop
99 cntc_cnt := cntc_cnt+1;
100 l_contact_list(cntc_cnt).contact_name := cntc_rec.contact_name;
101 if (cntc_rec.email_address is not null) then
102 l_contact_point_list(cntc_cnt).contact_point_type := 'EMAIL';
103 l_contact_point_list(cntc_cnt).email_address := cntc_rec.email_address;
104 elsif ( cntc_rec.phone_number is not null) then
105 l_contact_point_list(cntc_cnt).contact_point_type := 'PHONE';
106 l_contact_point_list(cntc_cnt).phone_number := cntc_rec.phone_number;
107 end if;
108 end loop;
109
110 hz_party_search.find_parties(
111 p_init_msg_list,
112 l_rule_id,
113 l_party_search_rec,
114 l_party_site_list,
115 l_contact_list,
116 l_contact_point_list,
117 l_restrict_sql,
118 l_search_merged,
119 l_search_ctx_id,
120 l_num_matches,
121 x_return_status,
122 x_msg_count,
123 x_msg_data);
124
125 l_step := 'After Calling hz_party_search.find_parties';
126
127 IF (x_return_status = fnd_api.g_ret_sts_error) THEN
128 IF (fnd_log.level_error >= fnd_log.g_current_runtime_level) THEN
129 fnd_log.string
130 (fnd_log.level_error
131 , g_module || '.' || l_method
132 , 'Error in hz_party_search.find_parties ' || x_msg_data);
133 END IF;
134 RETURN;
135 ELSIF (x_return_status = fnd_api.g_ret_sts_success) THEN
136 x_search_ctx_id := l_search_ctx_id;
137 END IF;
138
139 RETURN;
140
141 END find_duplicate_parties;
142
143 PROCEDURE pos_create_organization(
144 p_supp_name IN VARCHAR2,
145 p_supp_name_alt IN VARCHAR2,
146 p_tax_payer_id IN VARCHAR2,
147 p_tax_reg_no IN VARCHAR2,
148 p_duns_number IN VARCHAR2,
149 p_sic_code IN VARCHAR2,
150 p_url IN VARCHAR2,
151 p_org_name_phonetic IN VARCHAR2,
152 x_return_status OUT NOCOPY VARCHAR2,
153 x_msg_count OUT NOCOPY NUMBER,
154 x_msg_data OUT NOCOPY VARCHAR2,
155 x_org_party_id OUT NOCOPY NUMBER,
156 x_org_party_number OUT NOCOPY VARCHAR2,
157 x_org_profile_id OUT NOCOPY NUMBER
158 )
159 AS
160 l_org_rec HZ_PARTY_V2PUB.organization_rec_type;
161 l_party_rec HZ_PARTY_V2PUB.party_rec_type;
162 l_api_name VARCHAR2(30) := null;
163 l_context VARCHAR2(30) := null;
164 l_step VARCHAR2(100):= null;
165 l_method VARCHAR2(100):= null;
166 g_module VARCHAR2(100):= null;
167 l_party_id NUMBER := 0 ;
168 l_party_usage_code VARCHAR2(100):= null;
169
170 l_org_return_status VARCHAR2(50);
171 l_org_msg_count NUMBER;
172 l_org_msg_data VARCHAR2(1000);
173 l_party_num VARCHAR2(1);
174
175
176 l_url VARCHAR2(100) := p_url;
177 l_contact_point_rec HZ_CONTACT_POINT_V2PUB.contact_point_rec_type;
178 l_url_rec HZ_CONTACT_POINT_V2PUB.web_rec_type;
179 l_url_return_status VARCHAR2(50):= FND_API.G_RET_STS_SUCCESS;
180 l_url_msg_count NUMBER;
181 l_url_msg_data VARCHAR2(1000);
182 l_url_contact_point_id NUMBER;
183
184
185 BEGIN
186
187 l_method := 'create_new_organization';
188 l_step := 'Before Calling hz_party_v2pub.create_organization';
189 l_api_name := 'Create_Organization';
190
191
192 l_org_rec.organization_name := p_supp_name;
193 l_org_rec.known_as := p_supp_name_alt;
194 l_org_rec.organization_name_phonetic := p_org_name_phonetic;
195 l_org_rec.created_by_module := 'POS_SUPPLIER_MGMT';
196 l_org_rec.APPLICATION_ID := 200;
197 l_org_rec.duns_number_c := p_duns_number;
198 /* Commenting below as we donot have provision on UI to enter SIC code Type */
199 -- l_org_rec.sic_code := p_sic_code;
200 l_org_rec.JGZZ_FISCAL_CODE := p_tax_payer_id;
201 l_org_rec.TAX_REFERENCE := p_tax_reg_no;
202
203 fnd_profile.get('HZ_GENERATE_PARTY_NUMBER', l_party_num);
204 IF nvl(l_party_num, 'Y') = 'N' THEN
205 SELECT HZ_PARTY_NUMBER_S.Nextval
206 INTO l_party_rec.party_number
207 FROM DUAL;
208 END IF;
209
210 l_org_rec.party_rec := l_party_rec;
211
212
213 hz_party_v2pub.create_organization(
214 p_init_msg_list => FND_API.G_FALSE,
215 p_organization_rec => l_org_rec,
216 p_party_usage_code => 'SUPPLIER_PROSPECT',
217 x_return_status => l_org_return_status,
218 x_msg_count => l_org_msg_count,
219 x_msg_data => l_org_msg_data,
220 x_party_id => x_org_party_id,
221 x_party_number => x_org_party_number,
222 x_profile_id => x_org_profile_id);
223
224 x_return_status := l_org_return_status ;
225 x_msg_count := l_org_msg_count;
226 x_msg_data := l_org_msg_data;
227
228 l_step := 'After Calling hz_party_v2pub.create_organization';
229
230 IF l_org_return_status <> fnd_api.g_ret_sts_success THEN
231
232 IF (fnd_log.level_error >= fnd_log.g_current_runtime_level) THEN
233 fnd_log.string
234 (fnd_log.level_error
235 , g_module || '.' || l_method||'.'||l_step
236 , 'Error in hz_party_v2pub.create_organization ' || x_msg_data);
237 END IF;
238 RETURN;
239 END IF;
240
241 IF l_url IS NOT NULL THEN
242
243 --populate contact point record
244 l_contact_point_rec.owner_table_name := 'HZ_PARTIES';
245 l_contact_point_rec.owner_table_id := x_org_party_id;
246 l_contact_point_rec.created_by_module := 'POS_SUPPLIER_MGMT';
247 l_contact_point_rec.application_id := 200;
248
249 --populate url record
250
251 l_contact_point_rec.contact_point_type := 'WEB';
252 l_contact_point_rec.primary_flag := 'Y';
253 l_contact_point_rec.contact_point_purpose := 'HOMEPAGE';
254 l_contact_point_rec.primary_by_purpose := 'Y';
255 l_url_rec.web_type := 'HTTP';
256 l_url_rec.url := l_url;
257
258 hz_contact_point_v2pub.create_web_contact_point(
259 p_init_msg_list => FND_API.G_FALSE,
260 p_contact_point_rec => l_contact_point_rec,
261 p_web_rec => l_url_rec,
262 x_return_status => l_url_return_status,
263 x_msg_count => l_url_msg_count,
264 x_msg_data => l_url_msg_data,
265 x_contact_point_id => l_url_contact_point_id);
266
267 IF l_url_return_status <> fnd_api.g_ret_sts_success THEN
268
269 IF (fnd_log.level_error >= fnd_log.g_current_runtime_level) THEN
270 fnd_log.string(fnd_log.level_error,
271 g_module || '.' || l_method || '.' || l_step,
272 'hz_contact_point_v2pub.create_web_contact_point ' ||
273 l_url_msg_data);
274 END IF;
275 RETURN;
276 END IF;
277
278 END IF;
279
280 RETURN;
281 END pos_create_organization;
282
283 PROCEDURE update_supp_party_id(
284 p_supp_reg_id IN NUMBER,
285 p_party_id IN NUMBER,
286 x_return_status OUT NOCOPY VARCHAR2
287 )
288 AS
289
290 l_step VARCHAR2(100):= null;
291 l_method VARCHAR2(100):= null;
292
293 l_supp_reg_id NUMBER := p_supp_reg_id ;
294 l_party_id NUMBER := p_party_id ;
295
296 BEGIN
297 l_method := 'update_supp_party_id';
298 l_step := 'update pos_supplier_registrations with partyid';
299
300
301 IF (fnd_log.level_statement >= fnd_log.g_current_runtime_level) THEN
302 fnd_log.string
303 (fnd_log.level_statement
304 , g_module || '.' || l_method
305 , l_step);
306 END IF;
307
308 Begin
309 UPDATE pos_supplier_registrations
310 SET vendor_party_id = l_party_id,
311 last_updated_by = fnd_global.user_id,
312 last_update_date = Sysdate,
313 last_update_login = fnd_global.login_id
314 WHERE supplier_reg_id = l_supp_reg_id;
315
316 x_return_status := fnd_api.g_ret_sts_success;
317 Exception
318 When no_data_found then
319 IF (fnd_log.level_error >= fnd_log.g_current_runtime_level) THEN
320 fnd_log.string
321 (fnd_log.level_error
322 , g_module || '.' || l_method||'.'||l_step
323 , 'Error updating party id ');
324 END IF;
325 x_return_status := fnd_api.g_ret_sts_error;
326 When others then
327 x_return_status := fnd_api.g_ret_sts_error;
328 end;
329
330 RETURN;
331 END update_supp_party_id;
332
333
334 PROCEDURE pos_update_organization(
335 p_supp_name IN VARCHAR2,
336 p_supp_name_alt IN VARCHAR2,
337 p_tax_payer_id IN VARCHAR2,
338 p_tax_reg_no IN VARCHAR2,
339 p_duns_number IN VARCHAR2,
340 p_sic_code IN VARCHAR2,
341 p_party_id IN NUMBER,
342 -- p_party_obj_version_no IN NUMBER,
343 x_profile_id OUT NOCOPY NUMBER,
344 x_return_status OUT NOCOPY VARCHAR2,
345 x_msg_count OUT NOCOPY NUMBER,
346 x_msg_data OUT NOCOPY VARCHAR2
347 )
348 AS
349 l_org_rec HZ_PARTY_V2PUB.organization_rec_type;
350 l_party_rec HZ_PARTY_V2PUB.party_rec_type;
351 l_api_name VARCHAR2(30) := null;
352 l_context VARCHAR2(30) := null;
353 l_step VARCHAR2(100):= null;
354 l_method VARCHAR2(100):= null;
355 g_module VARCHAR2(100):= null;
356 l_profile_id NUMBER;
357 l_org_return_status VARCHAR2(50);
358 l_org_msg_count NUMBER;
359 l_party_obj_version NUMBER := 0;
360 l_org_msg_data VARCHAR2(1000);
361 l_party_num VARCHAR2(1);
362
363 BEGIN
364
365 l_method := 'update_organization';
366 l_step := 'Before Calling hz_party_v2pub.update_organization';
367 l_api_name := 'Update_Organization';
368
369
370 select object_version_number
371 into l_party_obj_version
372 from hz_parties
373 where party_id = p_party_id;
374
375 l_org_rec.organization_name := p_supp_name;
376 l_org_rec.organization_name_phonetic := p_supp_name_alt;
377 /* Commenting below as we cannor update application Id while updating Party Rec */
378 --l_org_rec.APPLICATION_ID := 200;
379 l_org_rec.duns_number_c := p_duns_number;
380 /* Commenting below as we donot have provision on UI to enter SIC code Type */
381 -- l_org_rec.sic_code := p_sic_code;
382 l_org_rec.JGZZ_FISCAL_CODE := p_tax_payer_id;
383 l_org_rec.TAX_REFERENCE := p_tax_reg_no;
384
385 l_party_rec.party_id := p_party_id;
386
387 l_org_rec.party_rec := l_party_rec;
388
389
390 hz_party_v2pub.update_organization(
391 p_init_msg_list => FND_API.G_FALSE,
392 p_organization_rec => l_org_rec,
393 p_party_object_version_number => l_party_obj_version,
394 x_profile_id => l_profile_id,
395 x_return_status => l_org_return_status,
396 x_msg_count => l_org_msg_count,
397 x_msg_data => l_org_msg_data
398 );
399
400 x_return_status := l_org_return_status ;
401 x_msg_count := l_org_msg_count;
402 x_msg_data := l_org_msg_data;
403
404 l_step := 'After Calling hz_party_v2pub.update_Organization';
405
406 IF l_org_return_status <> fnd_api.g_ret_sts_success THEN
407
408 IF (fnd_log.level_error >= fnd_log.g_current_runtime_level) THEN
409 fnd_log.string
410 (fnd_log.level_error
411 , g_module || '.' || l_method||'.'||l_step
412 , 'Error in hz_party_v2pub.update_organization ' || x_msg_data);
413 END IF;
414 RETURN;
415 END IF;
416
417 RETURN;
418 END pos_update_organization;
419
420
421 PROCEDURE search_duplicate_parties(
422 p_init_msg_list IN VARCHAR2 := fnd_api.g_true,
423 p_party_name IN VARCHAR2,
424 p_party_number IN VARCHAR2,
425 p_status IN VARCHAR2,
426 p_sic_code IN VARCHAR2,
427 p_address IN VARCHAR2,
428 p_city IN VARCHAR2,
429 p_state IN VARCHAR2,
430 p_country IN VARCHAR2,
431 x_search_ctx_id OUT NOCOPY NUMBER,
432 x_return_status OUT NOCOPY VARCHAR2,
433 x_msg_count OUT NOCOPY NUMBER,
434 x_msg_data OUT NOCOPY VARCHAR2)
435 IS
436 l_party_search_rec hz_party_search.party_search_rec_type;
437 l_search_ctx_id NUMBER;
438 l_num_matches NUMBER;
439 l_party_site_list hz_party_search.party_site_list;
440 l_contact_list hz_party_search.contact_list;
441 l_contact_point_list hz_party_search.contact_point_list;
442 l_party_name VARCHAR2(100) := p_party_name;
443 l_restrict_sql VARCHAR2(20) := NULL;
444 l_match_type VARCHAR2(20) := NULL;
445 l_search_merged VARCHAR2(20) := NULL;
446 l_rule_id NUMBER;
447 l_step VARCHAR2(100);
448 l_method VARCHAR2(100);
449
450 BEGIN
451
452 l_method := 'search_duplicate_parties';
453 l_step := 'Before Calling hz_party_search.search_duplicate_parties';
454 x_return_status := fnd_api.g_ret_sts_error;
455 x_msg_count := 0;
456 x_msg_data := NULL;
457
458 IF (fnd_log.level_statement >= fnd_log.g_current_runtime_level) THEN
459 fnd_log.string(fnd_log.level_statement,
460 g_module || '.' || l_method,
461 l_step);
462 END IF;
463
464 /* Get Match Rule Id from Profile Option */
465
466 l_rule_id := fnd_profile.value('HZ_DL_IDENTIFY_DUP_RULE');
467
468 l_party_search_rec.party_all_names := l_party_name;
469 l_party_search_rec.organization_type := 'ORGANIZATION';
470 l_party_search_rec.party_number := p_party_number;
471 l_party_search_rec.sic_code := p_sic_code;
472 l_party_search_rec.status := p_status;
473
474 l_party_site_list(1).address1 := p_address;
475 l_party_site_list(1).city := p_city;
476 l_party_site_list(1).state := p_state;
477 l_party_site_list(1).country := p_country;
478
479 hz_party_search.find_parties(p_init_msg_list,
480 l_rule_id,
481 l_party_search_rec,
482 l_party_site_list,
483 l_contact_list,
484 l_contact_point_list,
485 l_restrict_sql,
486 l_search_merged,
487 l_search_ctx_id,
488 l_num_matches,
489 x_return_status,
490 x_msg_count,
491 x_msg_data);
492
493 l_step := 'After Calling hz_party_search.search_duplicate_parties';
494
495 IF (x_return_status = fnd_api.g_ret_sts_error) THEN
496 IF (fnd_log.level_error >= fnd_log.g_current_runtime_level) THEN
497 fnd_log.string(fnd_log.level_error,
498 g_module || '.' || l_method,
499 'Error in hz_party_search.search_duplicate_parties ' ||
500 x_msg_data);
501 END IF;
502 RETURN;
503 ELSIF (x_return_status = fnd_api.g_ret_sts_success) THEN
504 x_search_ctx_id := l_search_ctx_id;
505 END IF;
506
507 RETURN;
508
509 END search_duplicate_parties;
510
511 PROCEDURE enable_party_as_supplier(p_party_id IN NUMBER,
512 p_vendor_num IN VARCHAR2,
513 x_vendor_id OUT NOCOPY NUMBER,
514 x_return_status OUT NOCOPY VARCHAR2,
515 x_msg_count OUT NOCOPY NUMBER,
516 x_msg_data OUT NOCOPY VARCHAR2)
517 IS
518 l_msg_count NUMBER;
519 l_msg_data VARCHAR2(100);
520 l_step VARCHAR2(100);
521 l_method VARCHAR2(100);
522
523
524 l_vendor_rec ap_vendor_pub_pkg.r_vendor_rec_type;
525 l_vendor_id NUMBER;
526 l_party_id NUMBER := p_party_id;
527 l_vendor_num VARCHAR2(1000) := p_vendor_num;
528
529 l_vendor_name VARCHAR2(1000);
530 l_taxpayer_id VARCHAR2(1000);
531 l_taxreg_num VARCHAR2(1000);
532
533 BEGIN
534
535 l_method := 'enable_party_as_supplier';
536 l_step := 'Before Calling pos_vendor_pub_pkg.create_vendor';
537 x_return_status := fnd_api.g_ret_sts_error;
538 x_msg_count := 0;
539 x_msg_data := NULL;
540
541 IF (fnd_log.level_statement >= fnd_log.g_current_runtime_level) THEN
542 fnd_log.string(fnd_log.level_statement,
543 g_module || '.' || l_method,
544 l_step);
545 END IF;
546
547 /* Get other data from hz_parties */
548 SELECT party_name, jgzz_fiscal_code, tax_reference
549 INTO l_vendor_name, l_taxpayer_id, l_taxreg_num
550 FROM hz_parties
551 WHERE party_id = l_party_id;
552
553 l_vendor_rec.party_id := l_party_id;
554 l_vendor_rec.segment1 := l_vendor_num;
555 l_vendor_rec.vendor_name := l_vendor_name;
556 l_vendor_rec.jgzz_fiscal_code := l_taxpayer_id;
557 l_vendor_rec.tax_reference := l_taxreg_num;
558 l_vendor_rec.start_date_active := Sysdate;
559
560 l_step := 'call pos_vendor_pub_pkg.create_vendor';
561
562 IF (fnd_log.level_statement >= fnd_log.g_current_runtime_level) THEN
563 fnd_log.string
564 (fnd_log.level_statement
565 , g_module || '.' || l_method
566 , l_step);
567 END IF;
568
569 pos_vendor_pub_pkg.create_vendor(
570 l_vendor_rec,
571 x_return_status,
572 x_msg_count,
573 x_msg_data,
574 l_vendor_id,
575 l_party_id);
576
577 IF (fnd_log.level_statement >= fnd_log.g_current_runtime_level) THEN
578 fnd_log.string
579 (fnd_log.level_statement
580 , g_module || '.' || l_method
581 , 'create_vendor call result: x_return_status ' || x_return_status
582 || ' x_msg_count ' || x_msg_count
583 || ' x_msg_data ' || x_msg_data
584 );
585 END IF;
586 l_step := 'After Calling pos_vendor_pub_pkg.create_vendor';
587
588 IF (x_return_status = fnd_api.g_ret_sts_error) THEN
589 IF (fnd_log.level_error >= fnd_log.g_current_runtime_level) THEN
590 fnd_log.string(fnd_log.level_error,
591 g_module || '.' || l_method,
592 'Error in pos_vendor_pub_pkg.create_vendor' ||
593 x_msg_data);
594 END IF;
595 RETURN;
596 ELSIF (x_return_status = fnd_api.g_ret_sts_success) THEN
597 x_vendor_id := l_vendor_id;
598 END IF;
599
600 RETURN;
601 END enable_party_as_supplier;
602
603 PROCEDURE assign_party_usage( p_contact_party_id IN NUMBER,
604 x_return_status OUT nocopy VARCHAR2,
605 x_msg_count OUT nocopy NUMBER,
606 x_msg_data OUT nocopy VARCHAR2
607 )
608 IS
609 l_party_usg_rec HZ_PARTY_USG_ASSIGNMENT_PVT.party_usg_assignment_rec_type;
610 l_party_usg_validation_level NUMBER;
611 l_step VARCHAR2(100);
612 l_method VARCHAR2(100);
613 BEGIN
614 l_method := 'assign_party_usage';
615 l_step := 'Before Calling HZ_PARTY_USG_ASSIGNMENT_PVT.assign_party_usage';
616 x_return_status := fnd_api.g_ret_sts_error;
617 x_msg_count := 0;
618 x_msg_data := NULL;
619
620 IF (fnd_log.level_statement >= fnd_log.g_current_runtime_level) THEN
621 fnd_log.string
622 (fnd_log.level_statement
623 , g_module || '.' || l_method
624 , l_step);
625 END IF;
626
627 l_party_usg_validation_level := HZ_PARTY_USG_ASSIGNMENT_PVT.G_VALID_LEVEL_NONE;
628 l_party_usg_rec.party_id := p_contact_party_id;
629 l_party_usg_rec.party_usage_code := 'SUPPLIER_CONTACT';
630 l_party_usg_rec.created_by_module := 'POS_SUPPLIER_MGMT';
631
632 HZ_PARTY_USG_ASSIGNMENT_PVT.assign_party_usage (
633 p_validation_level => l_party_usg_validation_level,
634 p_party_usg_assignment_rec => l_party_usg_rec,
635 x_return_status => x_return_status,
636 x_msg_count => x_msg_count,
637 x_msg_data => x_msg_data);
638
639 l_step := 'After Calling HZ_PARTY_USG_ASSIGNMENT_PVT.assign_party_usage';
640 IF (x_return_status = fnd_api.g_ret_sts_error) THEN
641 IF (fnd_log.level_error >= fnd_log.g_current_runtime_level) THEN
642 fnd_log.string(fnd_log.level_error,
643 g_module || '.' || l_method,
644 'Error in HZ_PARTY_USG_ASSIGNMENT_PVT.assign_party_usage' ||
645 x_msg_data);
646 END IF;
647 RETURN;
648 END IF;
649
650 RETURN;
651
652 EXCEPTION
653 WHEN OTHERS THEN
654 x_return_status :='E';
655 IF (fnd_log.level_statement >= fnd_log.g_current_runtime_level) THEN
656 fnd_log.string(fnd_log.level_statement, g_module || '.' || 'Error while assigning usage ' , x_msg_data);
657 END IF;
658
659 END assign_party_usage;
660
661
662 END POS_SEARCH_DUP_PARTY_PKG;