68: FETCH get_account INTO l_account_id, x_party_id,l_account_number, l_account_osr, x_account_status;
69: CLOSE get_account;
70:
71: IF l_account_id IS NULL THEN
72: FND_MESSAGE.SET_NAME('AR','HZ_CM_INV_ACCT_ID');
73: FND_MESSAGE.SET_TOKEN('ACCOUNT_ID', p_account_id);
74: FND_MSG_PUB.ADD();
75: RAISE fnd_api.g_exc_error;
76: END IF;
69: CLOSE get_account;
70:
71: IF l_account_id IS NULL THEN
72: FND_MESSAGE.SET_NAME('AR','HZ_CM_INV_ACCT_ID');
73: FND_MESSAGE.SET_TOKEN('ACCOUNT_ID', p_account_id);
74: FND_MSG_PUB.ADD();
75: RAISE fnd_api.g_exc_error;
76: END IF;
77: END IF;
94: EXCEPTION
95:
96: WHEN OTHERS THEN
97:
98: FND_MESSAGE.SET_NAME('AR','HZ_CM_INV_ACCT_NUM');
99: FND_MESSAGE.SET_TOKEN('ACCOUNT_NUMBER', p_account_number);
100: FND_MSG_PUB.ADD();
101: RAISE fnd_api.g_exc_error;
102:
95:
96: WHEN OTHERS THEN
97:
98: FND_MESSAGE.SET_NAME('AR','HZ_CM_INV_ACCT_NUM');
99: FND_MESSAGE.SET_TOKEN('ACCOUNT_NUMBER', p_account_number);
100: FND_MSG_PUB.ADD();
101: RAISE fnd_api.g_exc_error;
102:
103: END;
105: /*Check if account_number is in sync*/
106:
107: ELSIF l_account_number <> p_account_number THEN
108:
109: FND_MESSAGE.SET_NAME('AR','HZ_CM_INV_ACCT_NUM');
110: FND_MESSAGE.SET_TOKEN('ACCOUNT_NUMBER', p_account_number);
111: FND_MSG_PUB.ADD();
112: RAISE fnd_api.g_exc_error;
113:
106:
107: ELSIF l_account_number <> p_account_number THEN
108:
109: FND_MESSAGE.SET_NAME('AR','HZ_CM_INV_ACCT_NUM');
110: FND_MESSAGE.SET_TOKEN('ACCOUNT_NUMBER', p_account_number);
111: FND_MSG_PUB.ADD();
112: RAISE fnd_api.g_exc_error;
113:
114: END IF;
129: p_owner_table_name => 'HZ_CUST_ACCOUNTS');
130:
131: IF (l_count = 0) THEN
132:
133: FND_MESSAGE.SET_NAME('AR','HZ_CM_INV_OSOSR');
134: FND_MESSAGE.SET_TOKEN('OSOSR', p_account_os||','||p_account_osr);
135: FND_MSG_PUB.ADD();
136: RAISE fnd_api.g_exc_error;
137:
130:
131: IF (l_count = 0) THEN
132:
133: FND_MESSAGE.SET_NAME('AR','HZ_CM_INV_OSOSR');
134: FND_MESSAGE.SET_TOKEN('OSOSR', p_account_os||','||p_account_osr);
135: FND_MSG_PUB.ADD();
136: RAISE fnd_api.g_exc_error;
137:
138: ELSIF(l_count = 1) THEN
149: END IF;
150:
151: IF l_account_id IS NOT NULL AND l_owner_table_id <> l_account_id THEN
152:
153: FND_MESSAGE.SET_NAME('AR','HZ_CM_INV_OSOSR');
154: FND_MESSAGE.SET_TOKEN('OSOSR', p_account_os||','||p_account_osr);
155: FND_MSG_PUB.ADD();
156: RAISE fnd_api.g_exc_error;
157:
150:
151: IF l_account_id IS NOT NULL AND l_owner_table_id <> l_account_id THEN
152:
153: FND_MESSAGE.SET_NAME('AR','HZ_CM_INV_OSOSR');
154: FND_MESSAGE.SET_TOKEN('OSOSR', p_account_os||','||p_account_osr);
155: FND_MSG_PUB.ADD();
156: RAISE fnd_api.g_exc_error;
157:
158: ELSIF l_account_id IS NULL THEN
162: CLOSE get_account;
163:
164: IF l_account_id IS NULL THEN
165:
166: FND_MESSAGE.SET_NAME('AR','HZ_CM_INV_OSOSR');
167: FND_MESSAGE.SET_TOKEN('OSOSR', p_account_os||','||p_account_osr);
168: FND_MSG_PUB.ADD();
169: RAISE fnd_api.g_exc_error;
170: END IF;
163:
164: IF l_account_id IS NULL THEN
165:
166: FND_MESSAGE.SET_NAME('AR','HZ_CM_INV_OSOSR');
167: FND_MESSAGE.SET_TOKEN('OSOSR', p_account_os||','||p_account_osr);
168: FND_MSG_PUB.ADD();
169: RAISE fnd_api.g_exc_error;
170: END IF;
171: END IF;
239: END IF;
240: WHEN OTHERS THEN
241: x_return_status := fnd_api.g_ret_sts_unexp_error;
242:
243: FND_MESSAGE.set_name('AR', 'HZ_API_OTHERS_EXCEP');
244: FND_MESSAGE.SET_TOKEN('ERROR' ,SQLERRM);
245: fnd_msg_pub.add;
246:
247: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
240: WHEN OTHERS THEN
241: x_return_status := fnd_api.g_ret_sts_unexp_error;
242:
243: FND_MESSAGE.set_name('AR', 'HZ_API_OTHERS_EXCEP');
244: FND_MESSAGE.SET_TOKEN('ERROR' ,SQLERRM);
245: fnd_msg_pub.add;
246:
247: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
248: p_count => x_msg_count,
312: -- Check the existence of cust_acct_site_id
313:
314: IF l_cust_acct_site_id IS NULL THEN
315:
316: FND_MESSAGE.SET_NAME('AR','HZ_CM_INV_SITE_ID');
317: FND_MESSAGE.SET_TOKEN('ACCT_SITE_ID', p_account_site_id);
318: FND_MSG_PUB.ADD();
319: RAISE fnd_api.g_exc_error;
320: END IF;
313:
314: IF l_cust_acct_site_id IS NULL THEN
315:
316: FND_MESSAGE.SET_NAME('AR','HZ_CM_INV_SITE_ID');
317: FND_MESSAGE.SET_TOKEN('ACCT_SITE_ID', p_account_site_id);
318: FND_MSG_PUB.ADD();
319: RAISE fnd_api.g_exc_error;
320: END IF;
321:
321:
322: -- Validate if acct site belongs to correct account
323:
324: IF l_cust_account_id <> p_account_id THEN
325: FND_MESSAGE.SET_NAME('AR','HZ_CM_SITE_MISMATCH');
326: FND_MESSAGE.SET_TOKEN('ACCT_SITE_ID', p_account_site_id);
327: FND_MESSAGE.SET_TOKEN('ACCOUNT_ID', p_account_id);
328: FND_MSG_PUB.ADD();
329: RAISE fnd_api.g_exc_error;
322: -- Validate if acct site belongs to correct account
323:
324: IF l_cust_account_id <> p_account_id THEN
325: FND_MESSAGE.SET_NAME('AR','HZ_CM_SITE_MISMATCH');
326: FND_MESSAGE.SET_TOKEN('ACCT_SITE_ID', p_account_site_id);
327: FND_MESSAGE.SET_TOKEN('ACCOUNT_ID', p_account_id);
328: FND_MSG_PUB.ADD();
329: RAISE fnd_api.g_exc_error;
330: END IF;
323:
324: IF l_cust_account_id <> p_account_id THEN
325: FND_MESSAGE.SET_NAME('AR','HZ_CM_SITE_MISMATCH');
326: FND_MESSAGE.SET_TOKEN('ACCT_SITE_ID', p_account_site_id);
327: FND_MESSAGE.SET_TOKEN('ACCOUNT_ID', p_account_id);
328: FND_MSG_PUB.ADD();
329: RAISE fnd_api.g_exc_error;
330: END IF;
331:
345: p_owner_table_name => 'HZ_CUST_ACCT_SITES_ALL');
346:
347: IF (l_count = 0) THEN
348:
349: FND_MESSAGE.SET_NAME('AR','HZ_CM_INV_OSOSR');
350: FND_MESSAGE.SET_TOKEN('OSOSR', p_site_os||','||p_site_osr);
351: FND_MSG_PUB.ADD();
352: RAISE fnd_api.g_exc_error;
353:
346:
347: IF (l_count = 0) THEN
348:
349: FND_MESSAGE.SET_NAME('AR','HZ_CM_INV_OSOSR');
350: FND_MESSAGE.SET_TOKEN('OSOSR', p_site_os||','||p_site_osr);
351: FND_MSG_PUB.ADD();
352: RAISE fnd_api.g_exc_error;
353:
354: ELSIF(l_count = 1) THEN
365: END IF;
366:
367: IF l_cust_acct_site_id IS NOT NULL AND l_owner_table_id <> l_cust_acct_site_id THEN
368:
369: FND_MESSAGE.SET_NAME('AR','HZ_CM_INV_OSOSR');
370: FND_MESSAGE.SET_TOKEN('OSOSR', p_site_os||','||p_site_osr);
371: FND_MSG_PUB.ADD();
372: RAISE fnd_api.g_exc_error;
373:
366:
367: IF l_cust_acct_site_id IS NOT NULL AND l_owner_table_id <> l_cust_acct_site_id THEN
368:
369: FND_MESSAGE.SET_NAME('AR','HZ_CM_INV_OSOSR');
370: FND_MESSAGE.SET_TOKEN('OSOSR', p_site_os||','||p_site_osr);
371: FND_MSG_PUB.ADD();
372: RAISE fnd_api.g_exc_error;
373:
374: ELSIF l_cust_acct_site_id IS NULL THEN
378: CLOSE get_account_site;
379:
380: IF l_cust_acct_site_id IS NULL THEN
381:
382: FND_MESSAGE.SET_NAME('AR','HZ_CM_INV_OSOSR');
383: FND_MESSAGE.SET_TOKEN('OSOSR', p_site_os||','||p_site_osr);
384: FND_MSG_PUB.ADD();
385: RAISE fnd_api.g_exc_error;
386: END IF;
379:
380: IF l_cust_acct_site_id IS NULL THEN
381:
382: FND_MESSAGE.SET_NAME('AR','HZ_CM_INV_OSOSR');
383: FND_MESSAGE.SET_TOKEN('OSOSR', p_site_os||','||p_site_osr);
384: FND_MSG_PUB.ADD();
385: RAISE fnd_api.g_exc_error;
386: END IF;
387: END IF;
393: /* Validate if acct_site exists in p_org_id */
394:
395: IF p_org_id <> l_org_id THEN
396:
397: FND_MESSAGE.SET_NAME('AR','HZ_CM_INV_SITE_OU');
398: FND_MESSAGE.SET_TOKEN('ACCT_SITE_ID', l_cust_acct_site_id);
399: FND_MESSAGE.SET_TOKEN('ORG_ID', p_org_id);
400: FND_MSG_PUB.ADD();
401: RAISE fnd_api.g_exc_error;
394:
395: IF p_org_id <> l_org_id THEN
396:
397: FND_MESSAGE.SET_NAME('AR','HZ_CM_INV_SITE_OU');
398: FND_MESSAGE.SET_TOKEN('ACCT_SITE_ID', l_cust_acct_site_id);
399: FND_MESSAGE.SET_TOKEN('ORG_ID', p_org_id);
400: FND_MSG_PUB.ADD();
401: RAISE fnd_api.g_exc_error;
402:
395: IF p_org_id <> l_org_id THEN
396:
397: FND_MESSAGE.SET_NAME('AR','HZ_CM_INV_SITE_OU');
398: FND_MESSAGE.SET_TOKEN('ACCT_SITE_ID', l_cust_acct_site_id);
399: FND_MESSAGE.SET_TOKEN('ORG_ID', p_org_id);
400: FND_MSG_PUB.ADD();
401: RAISE fnd_api.g_exc_error;
402:
403: END IF;
403: END IF;
404:
405: IF l_party_site_id IS NULL THEN
406:
407: FND_MESSAGE.SET_NAME('AR','HZ_CM_INV_SITE_ID');
408: FND_MESSAGE.SET_TOKEN('ACCT_SITE_ID', p_account_site_id);
409: FND_MSG_PUB.ADD();
410: RAISE fnd_api.g_exc_error;
411:
404:
405: IF l_party_site_id IS NULL THEN
406:
407: FND_MESSAGE.SET_NAME('AR','HZ_CM_INV_SITE_ID');
408: FND_MESSAGE.SET_TOKEN('ACCT_SITE_ID', p_account_site_id);
409: FND_MSG_PUB.ADD();
410: RAISE fnd_api.g_exc_error;
411:
412: ELSE
424: p_site_number := l_party_site_number;
425:
426: ELSIF p_site_number <> l_party_site_number THEN
427:
428: FND_MESSAGE.SET_NAME('AR','HZ_CM_INV_SITE_NUM');
429: FND_MESSAGE.SET_TOKEN('SITE_NUMBER', l_party_site_number);
430: FND_MESSAGE.SET_TOKEN('ACCT_SITE', l_cust_acct_site_id);
431: FND_MSG_PUB.ADD();
432: RAISE fnd_api.g_exc_error;
425:
426: ELSIF p_site_number <> l_party_site_number THEN
427:
428: FND_MESSAGE.SET_NAME('AR','HZ_CM_INV_SITE_NUM');
429: FND_MESSAGE.SET_TOKEN('SITE_NUMBER', l_party_site_number);
430: FND_MESSAGE.SET_TOKEN('ACCT_SITE', l_cust_acct_site_id);
431: FND_MSG_PUB.ADD();
432: RAISE fnd_api.g_exc_error;
433:
426: ELSIF p_site_number <> l_party_site_number THEN
427:
428: FND_MESSAGE.SET_NAME('AR','HZ_CM_INV_SITE_NUM');
429: FND_MESSAGE.SET_TOKEN('SITE_NUMBER', l_party_site_number);
430: FND_MESSAGE.SET_TOKEN('ACCT_SITE', l_cust_acct_site_id);
431: FND_MSG_PUB.ADD();
432: RAISE fnd_api.g_exc_error;
433:
434: END IF;
488: END IF;
489: WHEN OTHERS THEN
490: x_return_status := fnd_api.g_ret_sts_unexp_error;
491:
492: FND_MESSAGE.set_name('AR', 'HZ_API_OTHERS_EXCEP');
493: FND_MESSAGE.SET_TOKEN('ERROR' ,SQLERRM);
494: fnd_msg_pub.add;
495:
496: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
489: WHEN OTHERS THEN
490: x_return_status := fnd_api.g_ret_sts_unexp_error;
491:
492: FND_MESSAGE.set_name('AR', 'HZ_API_OTHERS_EXCEP');
493: FND_MESSAGE.SET_TOKEN('ERROR' ,SQLERRM);
494: fnd_msg_pub.add;
495:
496: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
497: p_count => x_msg_count,
557: CLOSE get_site_use_details;
558:
559: IF l_site_use_id IS NULL THEN
560:
561: FND_MESSAGE.SET_NAME('AR','HZ_CM_INV_SITE_USE_ID');
562: FND_MESSAGE.SET_TOKEN('SITE_USE_ID', p_site_use_id);
563: FND_MESSAGE.SET_TOKEN('ACCT_SITE_ID', P_account_site_id);
564: FND_MSG_PUB.ADD();
565: RAISE fnd_api.g_exc_error;
558:
559: IF l_site_use_id IS NULL THEN
560:
561: FND_MESSAGE.SET_NAME('AR','HZ_CM_INV_SITE_USE_ID');
562: FND_MESSAGE.SET_TOKEN('SITE_USE_ID', p_site_use_id);
563: FND_MESSAGE.SET_TOKEN('ACCT_SITE_ID', P_account_site_id);
564: FND_MSG_PUB.ADD();
565: RAISE fnd_api.g_exc_error;
566:
559: IF l_site_use_id IS NULL THEN
560:
561: FND_MESSAGE.SET_NAME('AR','HZ_CM_INV_SITE_USE_ID');
562: FND_MESSAGE.SET_TOKEN('SITE_USE_ID', p_site_use_id);
563: FND_MESSAGE.SET_TOKEN('ACCT_SITE_ID', P_account_site_id);
564: FND_MSG_PUB.ADD();
565: RAISE fnd_api.g_exc_error;
566:
567: END IF;
567: END IF;
568:
569: IF l_account_site_id <> p_account_site_id THEN
570:
571: FND_MESSAGE.SET_NAME('AR','HZ_CM_INV_SITE_USE_ID');
572: FND_MESSAGE.SET_TOKEN('SITE_USE_ID', p_site_use_id);
573: FND_MESSAGE.SET_TOKEN('ACCT_SITE_ID', P_account_site_id);
574: FND_MSG_PUB.ADD();
575: RAISE fnd_api.g_exc_error;
568:
569: IF l_account_site_id <> p_account_site_id THEN
570:
571: FND_MESSAGE.SET_NAME('AR','HZ_CM_INV_SITE_USE_ID');
572: FND_MESSAGE.SET_TOKEN('SITE_USE_ID', p_site_use_id);
573: FND_MESSAGE.SET_TOKEN('ACCT_SITE_ID', P_account_site_id);
574: FND_MSG_PUB.ADD();
575: RAISE fnd_api.g_exc_error;
576:
569: IF l_account_site_id <> p_account_site_id THEN
570:
571: FND_MESSAGE.SET_NAME('AR','HZ_CM_INV_SITE_USE_ID');
572: FND_MESSAGE.SET_TOKEN('SITE_USE_ID', p_site_use_id);
573: FND_MESSAGE.SET_TOKEN('ACCT_SITE_ID', P_account_site_id);
574: FND_MSG_PUB.ADD();
575: RAISE fnd_api.g_exc_error;
576:
577: END IF;
593: p_owner_table_name => 'HZ_CUST_SITE_USES_ALL');
594:
595: IF (l_count = 0) THEN
596:
597: FND_MESSAGE.SET_NAME('AR','HZ_CM_INV_OSOSR');
598: FND_MESSAGE.SET_TOKEN('OSOSR', p_site_use_os||','||p_site_use_osr);
599: FND_MSG_PUB.ADD();
600: RAISE fnd_api.g_exc_error;
601:
594:
595: IF (l_count = 0) THEN
596:
597: FND_MESSAGE.SET_NAME('AR','HZ_CM_INV_OSOSR');
598: FND_MESSAGE.SET_TOKEN('OSOSR', p_site_use_os||','||p_site_use_osr);
599: FND_MSG_PUB.ADD();
600: RAISE fnd_api.g_exc_error;
601:
602: ELSIF(l_count = 1) THEN
613: END IF;
614:
615: IF l_site_use_id IS NOT NULL AND l_owner_table_id <> l_site_use_id THEN
616:
617: FND_MESSAGE.SET_NAME('AR','HZ_CM_INV_OSOSR');
618: FND_MESSAGE.SET_TOKEN('OSOSR', p_site_use_os||','||p_site_use_osr);
619: FND_MSG_PUB.ADD();
620: RAISE fnd_api.g_exc_error;
621:
614:
615: IF l_site_use_id IS NOT NULL AND l_owner_table_id <> l_site_use_id THEN
616:
617: FND_MESSAGE.SET_NAME('AR','HZ_CM_INV_OSOSR');
618: FND_MESSAGE.SET_TOKEN('OSOSR', p_site_use_os||','||p_site_use_osr);
619: FND_MSG_PUB.ADD();
620: RAISE fnd_api.g_exc_error;
621:
622: ELSIF l_site_use_id IS NULL THEN
627:
628:
629: IF l_site_use_id IS NULL THEN
630:
631: FND_MESSAGE.SET_NAME('AR','HZ_CM_INV_OSOSR');
632: FND_MESSAGE.SET_TOKEN('OSOSR', p_site_use_os||','||p_site_use_osr);
633: FND_MSG_PUB.ADD();
634: RAISE fnd_api.g_exc_error;
635: END IF;
628:
629: IF l_site_use_id IS NULL THEN
630:
631: FND_MESSAGE.SET_NAME('AR','HZ_CM_INV_OSOSR');
632: FND_MESSAGE.SET_TOKEN('OSOSR', p_site_use_os||','||p_site_use_osr);
633: FND_MSG_PUB.ADD();
634: RAISE fnd_api.g_exc_error;
635: END IF;
636: END IF;
646: END IF;
647:
648: IF p_site_use_id IS NULL THEN
649:
650: FND_MESSAGE.SET_NAME('AR','HZ_CM_INV_SITE_USE_ID');
651: FND_MESSAGE.SET_TOKEN('SITE_USE_ID', p_site_use_id);
652: FND_MESSAGE.SET_TOKEN('ACCT_SITE_ID', P_account_site_id);
653: FND_MSG_PUB.ADD();
654: RAISE fnd_api.g_exc_error;
647:
648: IF p_site_use_id IS NULL THEN
649:
650: FND_MESSAGE.SET_NAME('AR','HZ_CM_INV_SITE_USE_ID');
651: FND_MESSAGE.SET_TOKEN('SITE_USE_ID', p_site_use_id);
652: FND_MESSAGE.SET_TOKEN('ACCT_SITE_ID', P_account_site_id);
653: FND_MSG_PUB.ADD();
654: RAISE fnd_api.g_exc_error;
655: END IF;
648: IF p_site_use_id IS NULL THEN
649:
650: FND_MESSAGE.SET_NAME('AR','HZ_CM_INV_SITE_USE_ID');
651: FND_MESSAGE.SET_TOKEN('SITE_USE_ID', p_site_use_id);
652: FND_MESSAGE.SET_TOKEN('ACCT_SITE_ID', P_account_site_id);
653: FND_MSG_PUB.ADD();
654: RAISE fnd_api.g_exc_error;
655: END IF;
656:
659: p_site_usage := l_site_use_code;
660:
661: ELSIF l_site_use_code <> p_site_usage THEN
662:
663: FND_MESSAGE.SET_NAME('AR','HZ_CM_INV_SITE_USE_TYPE');
664: FND_MESSAGE.SET_TOKEN('SITE_USE_ID', p_site_use_id);
665: FND_MSG_PUB.ADD();
666: RAISE fnd_api.g_exc_error;
667: END IF;
660:
661: ELSIF l_site_use_code <> p_site_usage THEN
662:
663: FND_MESSAGE.SET_NAME('AR','HZ_CM_INV_SITE_USE_TYPE');
664: FND_MESSAGE.SET_TOKEN('SITE_USE_ID', p_site_use_id);
665: FND_MSG_PUB.ADD();
666: RAISE fnd_api.g_exc_error;
667: END IF;
668:
716: END IF;
717: WHEN OTHERS THEN
718: x_return_status := fnd_api.g_ret_sts_unexp_error;
719:
720: FND_MESSAGE.set_name('AR', 'HZ_API_OTHERS_EXCEP');
721: FND_MESSAGE.SET_TOKEN('ERROR' ,SQLERRM);
722: fnd_msg_pub.add;
723:
724: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
717: WHEN OTHERS THEN
718: x_return_status := fnd_api.g_ret_sts_unexp_error;
719:
720: FND_MESSAGE.set_name('AR', 'HZ_API_OTHERS_EXCEP');
721: FND_MESSAGE.SET_TOKEN('ERROR' ,SQLERRM);
722: fnd_msg_pub.add;
723:
724: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
725: p_count => x_msg_count,
843: l_account_merge_request_obj := p_account_merge_request_obj;
844: --Validate p_submit_request
845:
846: IF p_submit_request not in ('Y', 'N') THEN
847: FND_MESSAGE.SET_NAME('AR','HZ_CM_INV_SUBMIT_PARAM');
848: FND_MSG_PUB.ADD();
849: RAISE fnd_api.g_exc_error;
850: END IF;
851:
855: --Begin Validate merge-from account
856:
857: IF l_account_merge_request_obj.merge_from_account IS NULL THEN
858:
859: FND_MESSAGE.SET_NAME('AR','HZ_CM_FROM_ACCT_MISSING');
860: FND_MSG_PUB.ADD();
861: RAISE fnd_api.g_exc_error;
862: END IF;
863:
877: END IF;
878:
879: IF l_account_merge_request_obj.merge_from_account.account_id IS NULL THEN
880:
881: FND_MESSAGE.SET_NAME('AR','HZ_CM_FROM_ACCT_MISSING');
882: FND_MSG_PUB.ADD();
883: RAISE fnd_api.g_exc_error;
884: END IF;
885:
887:
888: --Begin Validate merge-to account
889:
890: IF l_account_merge_request_obj.merge_to_account IS NULL THEN
891: FND_MESSAGE.SET_NAME('AR','HZ_CM_TO_ACCT_MISSING');
892: FND_MSG_PUB.ADD();
893: RAISE fnd_api.g_exc_error;
894: END IF;
895:
908: END IF;
909:
910: IF l_account_merge_request_obj.merge_to_account.account_id IS NULL THEN
911:
912: FND_MESSAGE.SET_NAME('AR','HZ_CM_TO_ACCT_MISSING');
913: FND_MSG_PUB.ADD();
914: RAISE fnd_api.g_exc_error;
915: END IF;
916:
949: l_exist := 'N';
950: END;
951:
952: if l_exist = 'Y' then
953: FND_MESSAGE.set_name ('AR', 'HZ_PROMPT_SELECTED_ACCOUNT');
954: FND_MESSAGE.SET_TOKEN('ACCT_NUM', l_account_merge_request_obj.merge_from_account.account_number);
955: FND_MESSAGE.SET_TOKEN('FACCT_NUM', tmp_duplicate_number);
956: FND_MESSAGE.SET_TOKEN('TACCT_NUM', tmp_customer_number);
957: FND_MSG_PUB.ADD();
950: END;
951:
952: if l_exist = 'Y' then
953: FND_MESSAGE.set_name ('AR', 'HZ_PROMPT_SELECTED_ACCOUNT');
954: FND_MESSAGE.SET_TOKEN('ACCT_NUM', l_account_merge_request_obj.merge_from_account.account_number);
955: FND_MESSAGE.SET_TOKEN('FACCT_NUM', tmp_duplicate_number);
956: FND_MESSAGE.SET_TOKEN('TACCT_NUM', tmp_customer_number);
957: FND_MSG_PUB.ADD();
958: RAISE fnd_api.g_exc_error;
951:
952: if l_exist = 'Y' then
953: FND_MESSAGE.set_name ('AR', 'HZ_PROMPT_SELECTED_ACCOUNT');
954: FND_MESSAGE.SET_TOKEN('ACCT_NUM', l_account_merge_request_obj.merge_from_account.account_number);
955: FND_MESSAGE.SET_TOKEN('FACCT_NUM', tmp_duplicate_number);
956: FND_MESSAGE.SET_TOKEN('TACCT_NUM', tmp_customer_number);
957: FND_MSG_PUB.ADD();
958: RAISE fnd_api.g_exc_error;
959: end if;
952: if l_exist = 'Y' then
953: FND_MESSAGE.set_name ('AR', 'HZ_PROMPT_SELECTED_ACCOUNT');
954: FND_MESSAGE.SET_TOKEN('ACCT_NUM', l_account_merge_request_obj.merge_from_account.account_number);
955: FND_MESSAGE.SET_TOKEN('FACCT_NUM', tmp_duplicate_number);
956: FND_MESSAGE.SET_TOKEN('TACCT_NUM', tmp_customer_number);
957: FND_MSG_PUB.ADD();
958: RAISE fnd_api.g_exc_error;
959: end if;
960:
962:
963:
964: IF l_from_account_status = 'A' AND l_to_account_status = 'I' THEN
965:
966: FND_MESSAGE.SET_NAME('AR','HZ_MERGING_INVALID_ACCOUNT');
967: FND_MSG_PUB.ADD();
968: RAISE fnd_api.g_exc_error;
969: END IF;
970:
971: --Validate header org_id
972:
973: IF l_account_merge_request_obj.org_id IS NULL THEN
974:
975: FND_MESSAGE.SET_NAME('AR','HZ_CM_HDR_NULL_OU');
976: FND_MSG_PUB.ADD();
977: RAISE fnd_api.g_exc_error;
978: END IF;
979:
1006: CLOSE c_get_party_details;
1007:
1008: IF l_from_customer_type <> l_to_customer_type THEN
1009:
1010: FND_MESSAGE.SET_NAME('AR','HZ_INVALID_MERGE_PARTIES');
1011: FND_MSG_PUB.ADD();
1012: RAISE fnd_api.g_exc_error;
1013:
1014: END IF;
1030:
1031: IF l_account_merge_request_obj.merge_from_account.account_id = l_account_merge_request_obj.merge_to_account.account_id
1032: AND (l_account_merge_request_obj.site_merge_details IS NULL OR l_account_merge_request_obj.site_merge_details.count = 0) THEN
1033:
1034: FND_MESSAGE.SET_NAME('AR','HZ_CM_SAME_CUST_MERGE');
1035: FND_MSG_PUB.ADD();
1036: RAISE fnd_api.g_exc_error;
1037: END IF;
1038:
1043: --Validate site level org_id
1044:
1045: IF l_account_merge_request_obj.site_merge_details(i).org_id IS NULL THEN
1046:
1047: FND_MESSAGE.SET_NAME('AR','HZ_CM_SITE_NULL_OU');
1048: FND_MESSAGE.SET_TOKEN('FROM_SITE_ID', l_account_merge_request_obj.site_merge_details(i).merge_from_account_site_obj.account_site_id);
1049: FND_MSG_PUB.ADD();
1050: RAISE fnd_api.g_exc_error;
1051: END IF;
1044:
1045: IF l_account_merge_request_obj.site_merge_details(i).org_id IS NULL THEN
1046:
1047: FND_MESSAGE.SET_NAME('AR','HZ_CM_SITE_NULL_OU');
1048: FND_MESSAGE.SET_TOKEN('FROM_SITE_ID', l_account_merge_request_obj.site_merge_details(i).merge_from_account_site_obj.account_site_id);
1049: FND_MSG_PUB.ADD();
1050: RAISE fnd_api.g_exc_error;
1051: END IF;
1052:
1085:
1086: IF (l_account_merge_request_obj.merge_from_account.account_id = l_account_merge_request_obj.merge_to_account.account_id
1087: AND l_account_merge_request_obj.site_merge_details(i).merge_to_account_site_obj IS NULL) THEN
1088:
1089: FND_MESSAGE.SET_NAME('AR','HZ_CM_NULL_TO_SITE');
1090: FND_MSG_PUB.ADD();
1091: RAISE fnd_api.g_exc_error;
1092: END IF;
1093:
1113:
1114: IF (l_account_merge_request_obj.site_merge_details(i).merge_to_account_site_obj.account_site_id =
1115: l_account_merge_request_obj.site_merge_details(i).merge_from_account_site_obj.account_site_id) THEN
1116:
1117: FND_MESSAGE.SET_NAME('AR','HZ_CM_SAME_SITES');
1118: FND_MESSAGE.SET_TOKEN('FROM_SITE_ID', l_account_merge_request_obj.site_merge_details(i).merge_from_account_site_obj.account_site_id);
1119: FND_MESSAGE.SET_TOKEN('TO_SITE_ID', l_account_merge_request_obj.site_merge_details(i).merge_to_account_site_obj.account_site_id);
1120: FND_MSG_PUB.ADD();
1121: RAISE fnd_api.g_exc_error;
1114: IF (l_account_merge_request_obj.site_merge_details(i).merge_to_account_site_obj.account_site_id =
1115: l_account_merge_request_obj.site_merge_details(i).merge_from_account_site_obj.account_site_id) THEN
1116:
1117: FND_MESSAGE.SET_NAME('AR','HZ_CM_SAME_SITES');
1118: FND_MESSAGE.SET_TOKEN('FROM_SITE_ID', l_account_merge_request_obj.site_merge_details(i).merge_from_account_site_obj.account_site_id);
1119: FND_MESSAGE.SET_TOKEN('TO_SITE_ID', l_account_merge_request_obj.site_merge_details(i).merge_to_account_site_obj.account_site_id);
1120: FND_MSG_PUB.ADD();
1121: RAISE fnd_api.g_exc_error;
1122:
1115: l_account_merge_request_obj.site_merge_details(i).merge_from_account_site_obj.account_site_id) THEN
1116:
1117: FND_MESSAGE.SET_NAME('AR','HZ_CM_SAME_SITES');
1118: FND_MESSAGE.SET_TOKEN('FROM_SITE_ID', l_account_merge_request_obj.site_merge_details(i).merge_from_account_site_obj.account_site_id);
1119: FND_MESSAGE.SET_TOKEN('TO_SITE_ID', l_account_merge_request_obj.site_merge_details(i).merge_to_account_site_obj.account_site_id);
1120: FND_MSG_PUB.ADD();
1121: RAISE fnd_api.g_exc_error;
1122:
1123: END IF;
1124:
1125:
1126: IF l_to_site_status = 'I' AND l_from_site_status = 'A' THEN
1127:
1128: FND_MESSAGE.SET_NAME('AR','HZ_CM_SITE_MASTER_ERR');
1129: FND_MESSAGE.SET_TOKEN('FROM_SITE_ID', l_account_merge_request_obj.site_merge_details(i).merge_from_account_site_obj.account_site_id);
1130: FND_MESSAGE.SET_TOKEN('TO_SITE_ID', l_account_merge_request_obj.site_merge_details(i).merge_to_account_site_obj.account_site_id);
1131: FND_MSG_PUB.ADD();
1132: RAISE fnd_api.g_exc_error;
1125:
1126: IF l_to_site_status = 'I' AND l_from_site_status = 'A' THEN
1127:
1128: FND_MESSAGE.SET_NAME('AR','HZ_CM_SITE_MASTER_ERR');
1129: FND_MESSAGE.SET_TOKEN('FROM_SITE_ID', l_account_merge_request_obj.site_merge_details(i).merge_from_account_site_obj.account_site_id);
1130: FND_MESSAGE.SET_TOKEN('TO_SITE_ID', l_account_merge_request_obj.site_merge_details(i).merge_to_account_site_obj.account_site_id);
1131: FND_MSG_PUB.ADD();
1132: RAISE fnd_api.g_exc_error;
1133:
1126: IF l_to_site_status = 'I' AND l_from_site_status = 'A' THEN
1127:
1128: FND_MESSAGE.SET_NAME('AR','HZ_CM_SITE_MASTER_ERR');
1129: FND_MESSAGE.SET_TOKEN('FROM_SITE_ID', l_account_merge_request_obj.site_merge_details(i).merge_from_account_site_obj.account_site_id);
1130: FND_MESSAGE.SET_TOKEN('TO_SITE_ID', l_account_merge_request_obj.site_merge_details(i).merge_to_account_site_obj.account_site_id);
1131: FND_MSG_PUB.ADD();
1132: RAISE fnd_api.g_exc_error;
1133:
1134: END IF;
1149: END IF;
1150:
1151: IF l_merge_yn = 'N' THEN
1152:
1153: FND_MESSAGE.SET_NAME('AR','AR_CUST_ADDR_LOC_MISMATCH');
1154: FND_MSG_PUB.ADD();
1155: RAISE fnd_api.g_exc_error;
1156: END IF;
1157:
1172: CLOSE c_site_use;
1173:
1174:
1175: IF l_site_use_exists = 'Y' THEN
1176: FND_MESSAGE.SET_NAME('AR','HZ_CM_INV_SITE_USE_ID');
1177: FND_MESSAGE.SET_TOKEN('SITE_USE_ID', NULL);
1178: FND_MESSAGE.SET_TOKEN('ACCT_SITE_ID', l_account_merge_request_obj.site_merge_details(i).merge_from_account_site_obj.account_site_id);
1179: FND_MSG_PUB.ADD();
1180: RAISE fnd_api.g_exc_error;
1173:
1174:
1175: IF l_site_use_exists = 'Y' THEN
1176: FND_MESSAGE.SET_NAME('AR','HZ_CM_INV_SITE_USE_ID');
1177: FND_MESSAGE.SET_TOKEN('SITE_USE_ID', NULL);
1178: FND_MESSAGE.SET_TOKEN('ACCT_SITE_ID', l_account_merge_request_obj.site_merge_details(i).merge_from_account_site_obj.account_site_id);
1179: FND_MSG_PUB.ADD();
1180: RAISE fnd_api.g_exc_error;
1181: END IF;
1174:
1175: IF l_site_use_exists = 'Y' THEN
1176: FND_MESSAGE.SET_NAME('AR','HZ_CM_INV_SITE_USE_ID');
1177: FND_MESSAGE.SET_TOKEN('SITE_USE_ID', NULL);
1178: FND_MESSAGE.SET_TOKEN('ACCT_SITE_ID', l_account_merge_request_obj.site_merge_details(i).merge_from_account_site_obj.account_site_id);
1179: FND_MSG_PUB.ADD();
1180: RAISE fnd_api.g_exc_error;
1181: END IF;
1182:
1199: CLOSE c_site_use;
1200:
1201: IF l_site_use_exists = 'Y' THEN
1202:
1203: FND_MESSAGE.SET_NAME('AR','HZ_CM_INV_SITE_USE_ID');
1204: FND_MESSAGE.SET_TOKEN('SITE_USE_ID', NULL);
1205: FND_MESSAGE.SET_TOKEN('ACCT_SITE_ID', l_account_merge_request_obj.site_merge_details(i).merge_from_account_site_obj.account_site_id);
1206: FND_MSG_PUB.ADD();
1207: RAISE fnd_api.g_exc_error;
1200:
1201: IF l_site_use_exists = 'Y' THEN
1202:
1203: FND_MESSAGE.SET_NAME('AR','HZ_CM_INV_SITE_USE_ID');
1204: FND_MESSAGE.SET_TOKEN('SITE_USE_ID', NULL);
1205: FND_MESSAGE.SET_TOKEN('ACCT_SITE_ID', l_account_merge_request_obj.site_merge_details(i).merge_from_account_site_obj.account_site_id);
1206: FND_MSG_PUB.ADD();
1207: RAISE fnd_api.g_exc_error;
1208: END IF;
1201: IF l_site_use_exists = 'Y' THEN
1202:
1203: FND_MESSAGE.SET_NAME('AR','HZ_CM_INV_SITE_USE_ID');
1204: FND_MESSAGE.SET_TOKEN('SITE_USE_ID', NULL);
1205: FND_MESSAGE.SET_TOKEN('ACCT_SITE_ID', l_account_merge_request_obj.site_merge_details(i).merge_from_account_site_obj.account_site_id);
1206: FND_MSG_PUB.ADD();
1207: RAISE fnd_api.g_exc_error;
1208: END IF;
1209:
1239: CLOSE c_site_use;
1240:
1241: IF l_site_use_exists = 'Y' THEN
1242:
1243: FND_MESSAGE.SET_NAME('AR','HZ_CM_INV_SITE_USE_ID');
1244: FND_MESSAGE.SET_TOKEN('SITE_USE_ID', NULL);
1245: FND_MESSAGE.SET_TOKEN('ACCT_SITE_ID', l_account_merge_request_obj.site_merge_details(i).merge_to_account_site_obj.account_site_id);
1246: FND_MSG_PUB.ADD();
1247: RAISE fnd_api.g_exc_error;
1240:
1241: IF l_site_use_exists = 'Y' THEN
1242:
1243: FND_MESSAGE.SET_NAME('AR','HZ_CM_INV_SITE_USE_ID');
1244: FND_MESSAGE.SET_TOKEN('SITE_USE_ID', NULL);
1245: FND_MESSAGE.SET_TOKEN('ACCT_SITE_ID', l_account_merge_request_obj.site_merge_details(i).merge_to_account_site_obj.account_site_id);
1246: FND_MSG_PUB.ADD();
1247: RAISE fnd_api.g_exc_error;
1248:
1241: IF l_site_use_exists = 'Y' THEN
1242:
1243: FND_MESSAGE.SET_NAME('AR','HZ_CM_INV_SITE_USE_ID');
1244: FND_MESSAGE.SET_TOKEN('SITE_USE_ID', NULL);
1245: FND_MESSAGE.SET_TOKEN('ACCT_SITE_ID', l_account_merge_request_obj.site_merge_details(i).merge_to_account_site_obj.account_site_id);
1246: FND_MSG_PUB.ADD();
1247: RAISE fnd_api.g_exc_error;
1248:
1249: END IF;
1270: END IF;
1271: IF l_account_merge_request_obj.site_merge_details(i).site_use_merge_details(j).merge_to_site_use_obj.acct_site_use_type <>
1272: l_account_merge_request_obj.site_merge_details(i).site_use_merge_details(j).merge_from_site_use_obj.acct_site_use_type THEN
1273:
1274: FND_MESSAGE.SET_NAME('AR','HZ_CM_SITE_USE_MISMATCH');
1275: FND_MESSAGE.SET_TOKEN('FROM_SITE_USE_ID',
1276: l_account_merge_request_obj.site_merge_details(i).site_use_merge_details(j).merge_from_site_use_obj.acct_site_use_id);
1277: FND_MESSAGE.SET_TOKEN('TO_SITE_USE_ID',
1278: l_account_merge_request_obj.site_merge_details(i).site_use_merge_details(j).merge_to_site_use_obj.acct_site_use_id);
1271: IF l_account_merge_request_obj.site_merge_details(i).site_use_merge_details(j).merge_to_site_use_obj.acct_site_use_type <>
1272: l_account_merge_request_obj.site_merge_details(i).site_use_merge_details(j).merge_from_site_use_obj.acct_site_use_type THEN
1273:
1274: FND_MESSAGE.SET_NAME('AR','HZ_CM_SITE_USE_MISMATCH');
1275: FND_MESSAGE.SET_TOKEN('FROM_SITE_USE_ID',
1276: l_account_merge_request_obj.site_merge_details(i).site_use_merge_details(j).merge_from_site_use_obj.acct_site_use_id);
1277: FND_MESSAGE.SET_TOKEN('TO_SITE_USE_ID',
1278: l_account_merge_request_obj.site_merge_details(i).site_use_merge_details(j).merge_to_site_use_obj.acct_site_use_id);
1279: FND_MSG_PUB.ADD();
1273:
1274: FND_MESSAGE.SET_NAME('AR','HZ_CM_SITE_USE_MISMATCH');
1275: FND_MESSAGE.SET_TOKEN('FROM_SITE_USE_ID',
1276: l_account_merge_request_obj.site_merge_details(i).site_use_merge_details(j).merge_from_site_use_obj.acct_site_use_id);
1277: FND_MESSAGE.SET_TOKEN('TO_SITE_USE_ID',
1278: l_account_merge_request_obj.site_merge_details(i).site_use_merge_details(j).merge_to_site_use_obj.acct_site_use_id);
1279: FND_MSG_PUB.ADD();
1280: RAISE fnd_api.g_exc_error;
1281:
1282: END IF;
1283:
1284: IF l_to_site_use_status = 'I' AND l_to_site_use_status = 'A' THEN
1285:
1286: FND_MESSAGE.SET_NAME('AR','HZ_CM_SITE_USE_MASTER_ERR');
1287: FND_MESSAGE.SET_TOKEN('FROM_SITE_USE_ID',
1288: l_account_merge_request_obj.site_merge_details(i).site_use_merge_details(j).merge_from_site_use_obj.acct_site_use_id);
1289: FND_MESSAGE.SET_TOKEN('TO_SITE_USE_ID',
1290: l_account_merge_request_obj.site_merge_details(i).site_use_merge_details(j).merge_to_site_use_obj.acct_site_use_id);
1283:
1284: IF l_to_site_use_status = 'I' AND l_to_site_use_status = 'A' THEN
1285:
1286: FND_MESSAGE.SET_NAME('AR','HZ_CM_SITE_USE_MASTER_ERR');
1287: FND_MESSAGE.SET_TOKEN('FROM_SITE_USE_ID',
1288: l_account_merge_request_obj.site_merge_details(i).site_use_merge_details(j).merge_from_site_use_obj.acct_site_use_id);
1289: FND_MESSAGE.SET_TOKEN('TO_SITE_USE_ID',
1290: l_account_merge_request_obj.site_merge_details(i).site_use_merge_details(j).merge_to_site_use_obj.acct_site_use_id);
1291: FND_MSG_PUB.ADD();
1285:
1286: FND_MESSAGE.SET_NAME('AR','HZ_CM_SITE_USE_MASTER_ERR');
1287: FND_MESSAGE.SET_TOKEN('FROM_SITE_USE_ID',
1288: l_account_merge_request_obj.site_merge_details(i).site_use_merge_details(j).merge_from_site_use_obj.acct_site_use_id);
1289: FND_MESSAGE.SET_TOKEN('TO_SITE_USE_ID',
1290: l_account_merge_request_obj.site_merge_details(i).site_use_merge_details(j).merge_to_site_use_obj.acct_site_use_id);
1291: FND_MSG_PUB.ADD();
1292: RAISE fnd_api.g_exc_error;
1293:
1819: END;
1820:
1821: IF l_site_cnt = 0 THEN
1822:
1823: FND_MESSAGE.SET_NAME('AR','HZ_CM_SAME_CUST_MERGE');
1824: FND_MSG_PUB.ADD();
1825: RAISE fnd_api.g_exc_error;
1826:
1827: END IF;
1927: END IF;
1928: WHEN OTHERS THEN
1929: x_return_status := fnd_api.g_ret_sts_unexp_error;
1930:
1931: FND_MESSAGE.set_name('AR', 'HZ_API_OTHERS_EXCEP');
1932: FND_MESSAGE.SET_TOKEN('ERROR' ,SQLERRM);
1933: fnd_msg_pub.add;
1934:
1935: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
1928: WHEN OTHERS THEN
1929: x_return_status := fnd_api.g_ret_sts_unexp_error;
1930:
1931: FND_MESSAGE.set_name('AR', 'HZ_API_OTHERS_EXCEP');
1932: FND_MESSAGE.SET_TOKEN('ERROR' ,SQLERRM);
1933: fnd_msg_pub.add;
1934:
1935: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
1936: p_count => x_msg_count,