44: END check_billing_address_exists;
45:
46: PROCEDURE Price_Request(
47: p_api_version_number IN NUMBER
48: ,p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE
49: ,p_commit IN VARCHAR2 := FND_API.G_FALSE
50: ,p_partner_account_id IN NUMBER
51: ,p_partner_party_id IN NUMBER
52: ,p_contact_party_id IN NUMBER
45:
46: PROCEDURE Price_Request(
47: p_api_version_number IN NUMBER
48: ,p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE
49: ,p_commit IN VARCHAR2 := FND_API.G_FALSE
50: ,p_partner_account_id IN NUMBER
51: ,p_partner_party_id IN NUMBER
52: ,p_contact_party_id IN NUMBER
53: ,p_transaction_currency IN VARCHAR2
173: -- Standard Start of API savepoint
174: SAVEPOINT PRICE_REQUEST;
175:
176: -- Initialize message list if p_init_msg_list is set to TRUE.
177: IF FND_API.to_Boolean( p_init_msg_list )
178: THEN
179: FND_MSG_PUB.initialize;
180: END IF;
181:
179: FND_MSG_PUB.initialize;
180: END IF;
181:
182: -- Standard call to check for call compatibility.
183: IF NOT FND_API.Compatible_API_Call (
184: l_api_version_number
185: ,p_api_version_number
186: ,l_api_name
187: ,G_PKG_NAME
186: ,l_api_name
187: ,G_PKG_NAME
188: )
189: THEN
190: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
191: END IF;
192:
193: -- Debug Message
194: IF (PV_DEBUG_HIGH_ON) THEN
196: END IF;
197:
198:
199: -- Initialize API return status to SUCCESS
200: x_return_status := FND_API.G_RET_STS_SUCCESS;
201: -------------End Of Initialize -------------------------------
202:
203: IF (p_partner_party_id = FND_API.G_MISS_NUM) THEN
204: FND_MESSAGE.set_name('PV', 'PV_API_MISSING_REQ_ID');
199: -- Initialize API return status to SUCCESS
200: x_return_status := FND_API.G_RET_STS_SUCCESS;
201: -------------End Of Initialize -------------------------------
202:
203: IF (p_partner_party_id = FND_API.G_MISS_NUM) THEN
204: FND_MESSAGE.set_name('PV', 'PV_API_MISSING_REQ_ID');
205: FND_MESSAGE.Set_Token('ID', 'Partner Party', FALSE);
206: FND_MSG_PUB.add;
207: RAISE FND_API.G_EXC_ERROR;
203: IF (p_partner_party_id = FND_API.G_MISS_NUM) THEN
204: FND_MESSAGE.set_name('PV', 'PV_API_MISSING_REQ_ID');
205: FND_MESSAGE.Set_Token('ID', 'Partner Party', FALSE);
206: FND_MSG_PUB.add;
207: RAISE FND_API.G_EXC_ERROR;
208: END IF;
209:
210:
211: IF (p_transaction_currency = FND_API.G_MISS_CHAR) THEN
207: RAISE FND_API.G_EXC_ERROR;
208: END IF;
209:
210:
211: IF (p_transaction_currency = FND_API.G_MISS_CHAR) THEN
212: FND_MESSAGE.set_name('PV', 'PV_API_MISSING_REQ_ID');
213: FND_MESSAGE.Set_Token('ID', 'Currency', FALSE);
214: FND_MSG_PUB.add;
215: RAISE FND_API.G_EXC_ERROR;
211: IF (p_transaction_currency = FND_API.G_MISS_CHAR) THEN
212: FND_MESSAGE.set_name('PV', 'PV_API_MISSING_REQ_ID');
213: FND_MESSAGE.Set_Token('ID', 'Currency', FALSE);
214: FND_MSG_PUB.add;
215: RAISE FND_API.G_EXC_ERROR;
216: END IF;
217:
218:
219:
216: END IF;
217:
218:
219:
220: IF (p_partner_account_id = FND_API.G_MISS_NUM) THEN
221: FND_MESSAGE.set_name('PV', 'PV_API_MISSING_REQ_ID');
222: FND_MESSAGE.Set_Token('ID', 'Account', FALSE);
223: FND_MSG_PUB.add;
224: RAISE FND_API.G_EXC_ERROR;
220: IF (p_partner_account_id = FND_API.G_MISS_NUM) THEN
221: FND_MESSAGE.set_name('PV', 'PV_API_MISSING_REQ_ID');
222: FND_MESSAGE.Set_Token('ID', 'Account', FALSE);
223: FND_MSG_PUB.add;
224: RAISE FND_API.G_EXC_ERROR;
225: END IF;
226:
227: IF (p_enrl_req_id.count < 1) THEN
228: FND_MESSAGE.set_name('PV', 'PV_API_MISSING_REQ_ID');
227: IF (p_enrl_req_id.count < 1) THEN
228: FND_MESSAGE.set_name('PV', 'PV_API_MISSING_REQ_ID');
229: FND_MESSAGE.Set_Token('ID', 'Enrollment Request', FALSE);
230: FND_MSG_PUB.add;
231: RAISE FND_API.G_EXC_ERROR;
232: END IF;
233:
234: FOR x in c_inventory_item_id LOOP
235: l_inventory_item_id_tbl.extend();
248:
249: if(not l_billing_address_exists) then
250: FND_MESSAGE.set_name('PV', 'PV_NO_BILLING_ADDRESS');
251: FND_MSG_PUB.add;
252: RAISE FND_API.G_EXC_ERROR;
253: else
254: IF (PV_DEBUG_HIGH_ON) THEN
255: PVX_UTiLiTY_PVT.debug_message('Billing Address Validated succesfully');
256: END IF;
448: IF (PV_DEBUG_HIGH_ON) THEN
449: PVX_UTiLiTY_PVT.debug_message('Return Status text after inserting : '|| l_return_status_text);
450: END IF;
451:
452: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
453: FND_MESSAGE.SET_NAME('PV','PV_PRICING_ERROR');
454: FND_MESSAGE.SET_TOKEN('ERR_TEXT',l_return_status_text);
455: OE_MSG_PUB.Add;
456: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
452: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
453: FND_MESSAGE.SET_NAME('PV','PV_PRICING_ERROR');
454: FND_MESSAGE.SET_TOKEN('ERR_TEXT',l_return_status_text);
455: OE_MSG_PUB.Add;
456: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
457: ELSIF x_return_status = FND_API.G_RET_STS_ERROR THEN
458: FND_MESSAGE.SET_NAME('PV','PV_PRICING_ERROR');
459: FND_MESSAGE.SET_TOKEN('ERR_TEXT',l_return_status_text);
460: OE_MSG_PUB.Add;
453: FND_MESSAGE.SET_NAME('PV','PV_PRICING_ERROR');
454: FND_MESSAGE.SET_TOKEN('ERR_TEXT',l_return_status_text);
455: OE_MSG_PUB.Add;
456: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
457: ELSIF x_return_status = FND_API.G_RET_STS_ERROR THEN
458: FND_MESSAGE.SET_NAME('PV','PV_PRICING_ERROR');
459: FND_MESSAGE.SET_TOKEN('ERR_TEXT',l_return_status_text);
460: OE_MSG_PUB.Add;
461: RAISE FND_API.G_EXC_ERROR;
457: ELSIF x_return_status = FND_API.G_RET_STS_ERROR THEN
458: FND_MESSAGE.SET_NAME('PV','PV_PRICING_ERROR');
459: FND_MESSAGE.SET_TOKEN('ERR_TEXT',l_return_status_text);
460: OE_MSG_PUB.Add;
461: RAISE FND_API.G_EXC_ERROR;
462: END IF;
463:
464:
465: IF (PV_DEBUG_HIGH_ON) THEN
483: PVX_UTiLiTY_PVT.debug_message('Return Status text after pricing call : '|| l_return_status_text);
484: END IF;
485:
486:
487: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
488: FND_MESSAGE.SET_NAME('PV','PV_PRICING_ERROR');
489: FND_MESSAGE.SET_TOKEN('ERR_TEXT',l_return_status_text);
490: OE_MSG_PUB.Add;
491: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
487: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
488: FND_MESSAGE.SET_NAME('PV','PV_PRICING_ERROR');
489: FND_MESSAGE.SET_TOKEN('ERR_TEXT',l_return_status_text);
490: OE_MSG_PUB.Add;
491: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
492: ELSIF x_return_status = FND_API.G_RET_STS_ERROR THEN
493: FND_MESSAGE.SET_NAME('PV','PV_PRICING_ERROR');
494: FND_MESSAGE.SET_TOKEN('ERR_TEXT',l_return_status_text);
495: OE_MSG_PUB.Add;
488: FND_MESSAGE.SET_NAME('PV','PV_PRICING_ERROR');
489: FND_MESSAGE.SET_TOKEN('ERR_TEXT',l_return_status_text);
490: OE_MSG_PUB.Add;
491: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
492: ELSIF x_return_status = FND_API.G_RET_STS_ERROR THEN
493: FND_MESSAGE.SET_NAME('PV','PV_PRICING_ERROR');
494: FND_MESSAGE.SET_TOKEN('ERR_TEXT',l_return_status_text);
495: OE_MSG_PUB.Add;
496: RAISE FND_API.G_EXC_ERROR;
492: ELSIF x_return_status = FND_API.G_RET_STS_ERROR THEN
493: FND_MESSAGE.SET_NAME('PV','PV_PRICING_ERROR');
494: FND_MESSAGE.SET_TOKEN('ERR_TEXT',l_return_status_text);
495: OE_MSG_PUB.Add;
496: RAISE FND_API.G_EXC_ERROR;
497: END IF;
498:
499:
500:
568:
569: PV_Pg_Enrl_Requests_PVT.Update_Pg_Enrl_Requests
570: (
571: p_api_version_number => p_api_version_number,
572: p_init_msg_list => Fnd_Api.G_FALSE,
573: p_commit => Fnd_Api.G_FALSE,
574: p_validation_level => Fnd_Api.G_VALID_LEVEL_FULL,
575: x_return_status => x_return_status,
576: x_msg_count => x_msg_count,
569: PV_Pg_Enrl_Requests_PVT.Update_Pg_Enrl_Requests
570: (
571: p_api_version_number => p_api_version_number,
572: p_init_msg_list => Fnd_Api.G_FALSE,
573: p_commit => Fnd_Api.G_FALSE,
574: p_validation_level => Fnd_Api.G_VALID_LEVEL_FULL,
575: x_return_status => x_return_status,
576: x_msg_count => x_msg_count,
577: x_msg_data => x_msg_data,
570: (
571: p_api_version_number => p_api_version_number,
572: p_init_msg_list => Fnd_Api.G_FALSE,
573: p_commit => Fnd_Api.G_FALSE,
574: p_validation_level => Fnd_Api.G_VALID_LEVEL_FULL,
575: x_return_status => x_return_status,
576: x_msg_count => x_msg_count,
577: x_msg_data => x_msg_data,
578: p_enrl_request_rec => l_enrl_req_rec
577: x_msg_data => x_msg_data,
578: p_enrl_request_rec => l_enrl_req_rec
579: );
580:
581: IF x_return_status = FND_API.g_ret_sts_error THEN
582: RAISE FND_API.g_exc_error;
583: ELSIF x_return_status = FND_API.g_ret_sts_unexp_error THEN
584: RAISE FND_API.g_exc_unexpected_error;
585: END IF;
578: p_enrl_request_rec => l_enrl_req_rec
579: );
580:
581: IF x_return_status = FND_API.g_ret_sts_error THEN
582: RAISE FND_API.g_exc_error;
583: ELSIF x_return_status = FND_API.g_ret_sts_unexp_error THEN
584: RAISE FND_API.g_exc_unexpected_error;
585: END IF;
586:
579: );
580:
581: IF x_return_status = FND_API.g_ret_sts_error THEN
582: RAISE FND_API.g_exc_error;
583: ELSIF x_return_status = FND_API.g_ret_sts_unexp_error THEN
584: RAISE FND_API.g_exc_unexpected_error;
585: END IF;
586:
587:
580:
581: IF x_return_status = FND_API.g_ret_sts_error THEN
582: RAISE FND_API.g_exc_error;
583: ELSIF x_return_status = FND_API.g_ret_sts_unexp_error THEN
584: RAISE FND_API.g_exc_unexpected_error;
585: END IF;
586:
587:
588: update pv_pg_enrl_requests
600:
601: END LOOP;
602:
603: IF (l_has_price_error) THEN
604: RAISE FND_API.G_EXC_ERROR;
605: END IF;
606:
607: Close c_price;
608:
611: END IF;
612: END IF;
613:
614: FND_MSG_PUB.Count_And_Get
615: ( p_encoded => FND_API.G_FALSE,
616: p_count => x_msg_count,
617: p_data => x_msg_data
618: );
619:
616: p_count => x_msg_count,
617: p_data => x_msg_data
618: );
619:
620: IF FND_API.to_Boolean( p_commit ) THEN
621: COMMIT WORK;
622: END IF;
623:
624:
622: END IF;
623:
624:
625: EXCEPTION
626: WHEN FND_API.G_EXC_ERROR THEN
627: ROLLBACK TO PRICE_REQUEST;
628: x_return_status := FND_API.G_RET_STS_ERROR;
629: FND_MSG_PUB.Count_And_Get (
630: p_encoded => FND_API.G_FALSE
624:
625: EXCEPTION
626: WHEN FND_API.G_EXC_ERROR THEN
627: ROLLBACK TO PRICE_REQUEST;
628: x_return_status := FND_API.G_RET_STS_ERROR;
629: FND_MSG_PUB.Count_And_Get (
630: p_encoded => FND_API.G_FALSE
631: ,p_count => x_msg_count
632: ,p_data => x_msg_data
626: WHEN FND_API.G_EXC_ERROR THEN
627: ROLLBACK TO PRICE_REQUEST;
628: x_return_status := FND_API.G_RET_STS_ERROR;
629: FND_MSG_PUB.Count_And_Get (
630: p_encoded => FND_API.G_FALSE
631: ,p_count => x_msg_count
632: ,p_data => x_msg_data
633: );
634:
632: ,p_data => x_msg_data
633: );
634:
635:
636: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
637: ROLLBACK TO PRICE_REQUEST;
638: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
639: -- Standard call to get message count and if count=1, get the message
640: FND_MSG_PUB.Count_And_Get (
634:
635:
636: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
637: ROLLBACK TO PRICE_REQUEST;
638: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
639: -- Standard call to get message count and if count=1, get the message
640: FND_MSG_PUB.Count_And_Get (
641: p_encoded => FND_API.G_FALSE
642: ,p_count => x_msg_count
637: ROLLBACK TO PRICE_REQUEST;
638: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
639: -- Standard call to get message count and if count=1, get the message
640: FND_MSG_PUB.Count_And_Get (
641: p_encoded => FND_API.G_FALSE
642: ,p_count => x_msg_count
643: ,p_data => x_msg_data
644: );
645:
644: );
645:
646: WHEN OTHERS THEN
647: ROLLBACK TO PRICE_REQUEST;
648: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
649: IF FND_MSG_PUB.Check_Msg_Level ( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)THEN
650: FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,l_api_name);
651: END IF;
652: FND_MSG_PUB.Count_And_Get (
649: IF FND_MSG_PUB.Check_Msg_Level ( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)THEN
650: FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,l_api_name);
651: END IF;
652: FND_MSG_PUB.Count_And_Get (
653: p_encoded => FND_API.G_FALSE
654: ,p_count => x_msg_count
655: ,p_data => x_msg_data
656: );
657: