82: end;
83:
84: PROCEDURE Is_Contract_Exist_Then_Create(
85: p_api_version_number IN NUMBER
86: ,p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE
87:
88: ,x_return_status OUT NOCOPY VARCHAR2
89: ,x_msg_count OUT NOCOPY NUMBER
90: ,x_msg_data OUT NOCOPY VARCHAR2
150: -- Standard Start of API savepoint
151: SAVEPOINT Is_Contract_Exist_Then_Create;
152:
153: -- Standard call to check for call compatibility.
154: IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
155: p_api_version_number,
156: l_api_name,
157: G_PKG_NAME)
158: THEN
155: p_api_version_number,
156: l_api_name,
157: G_PKG_NAME)
158: THEN
159: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
160: END IF;
161:
162: -- Initialize message list if p_init_msg_list is set to TRUE.
163: IF FND_API.to_Boolean( p_init_msg_list )
159: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
160: END IF;
161:
162: -- Initialize message list if p_init_msg_list is set to TRUE.
163: IF FND_API.to_Boolean( p_init_msg_list )
164: THEN
165: FND_MSG_PUB.initialize;
166: END IF;
167:
170: PVX_UTILITY_PVT.debug_message('Private API: ' || l_api_name || 'start');
171: END IF;
172:
173: -- Initialize API return status to SUCCESS
174: x_return_status := FND_API.G_RET_STS_SUCCESS;
175:
176: IF (PV_DEBUG_HIGH_ON) THEN
177: PVX_UTILITY_PVT.debug_message('p_program_id = ' || p_program_id);
178: END IF;
197: END LOOP;
198:
199: PV_Partner_Geo_Match_PVT.Get_Matched_Geo_Hierarchy_Id(
200: p_api_version_number => 1.0
201: ,p_init_msg_list => FND_API.G_FALSE
202: ,x_return_status => x_return_status
203: ,x_msg_count => x_msg_count
204: ,x_msg_data => x_msg_data
205: ,p_partner_party_id => l_partner_party_id
205: ,p_partner_party_id => l_partner_party_id
206: ,p_geo_hierarchy_id => l_geo_hierarchy_id_tbl
207: ,x_geo_hierarchy_id => l_geo_hierarchy_id
208: );
209: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
210: FND_MESSAGE.SET_NAME('PV','PV_GET_MATCHED_GEO_HIER_ID');
211: FND_MSG_PUB.Add;
212: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
213: RAISE FND_API.G_EXC_ERROR;
208: );
209: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
210: FND_MESSAGE.SET_NAME('PV','PV_GET_MATCHED_GEO_HIER_ID');
211: FND_MSG_PUB.Add;
212: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
213: RAISE FND_API.G_EXC_ERROR;
214: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
215: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
216: END IF;
209: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
210: FND_MESSAGE.SET_NAME('PV','PV_GET_MATCHED_GEO_HIER_ID');
211: FND_MSG_PUB.Add;
212: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
213: RAISE FND_API.G_EXC_ERROR;
214: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
215: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
216: END IF;
217: END IF;
210: FND_MESSAGE.SET_NAME('PV','PV_GET_MATCHED_GEO_HIER_ID');
211: FND_MSG_PUB.Add;
212: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
213: RAISE FND_API.G_EXC_ERROR;
214: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
215: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
216: END IF;
217: END IF;
218:
211: FND_MSG_PUB.Add;
212: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
213: RAISE FND_API.G_EXC_ERROR;
214: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
215: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
216: END IF;
217: END IF;
218:
219: IF l_geo_hierarchy_id is not null THEN
229: END IF;
230:
231: OKC_TERMS_UTIL_GRP.get_translated_template(
232: p_api_version => 1.0
233: ,p_init_msg_list => FND_API.G_FALSE
234: ,p_template_id => y.contract_id
235: ,p_language => userenv('LANG')
236: ,p_document_type => 'PV_PARTNER_PROGRAM'
237: ,p_validity_date => SYSDATE
240: ,x_msg_count => x_msg_count
241: ,x_template_id => l_template_id
242: );
243:
244: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
245: FND_MESSAGE.SET_NAME('PV','PV_GET_TRANS_TMPL_ERROR_OUT');
246: FND_MSG_PUB.Add;
247: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
248: RAISE FND_API.G_EXC_ERROR;
243:
244: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
245: FND_MESSAGE.SET_NAME('PV','PV_GET_TRANS_TMPL_ERROR_OUT');
246: FND_MSG_PUB.Add;
247: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
248: RAISE FND_API.G_EXC_ERROR;
249: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
250: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
251: END IF;
244: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
245: FND_MESSAGE.SET_NAME('PV','PV_GET_TRANS_TMPL_ERROR_OUT');
246: FND_MSG_PUB.Add;
247: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
248: RAISE FND_API.G_EXC_ERROR;
249: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
250: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
251: END IF;
252: END IF;
245: FND_MESSAGE.SET_NAME('PV','PV_GET_TRANS_TMPL_ERROR_OUT');
246: FND_MSG_PUB.Add;
247: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
248: RAISE FND_API.G_EXC_ERROR;
249: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
250: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
251: END IF;
252: END IF;
253:
246: FND_MSG_PUB.Add;
247: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
248: RAISE FND_API.G_EXC_ERROR;
249: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
250: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
251: END IF;
252: END IF;
253:
254: IF (PV_DEBUG_HIGH_ON) THEN
257:
258: -- If there is an appropriate contract, instantiate the T's and C's here
259: OKC_TERMS_COPY_GRP.COPY_TERMS(
260: p_api_version => 1.0
261: ,p_init_msg_list => FND_API.G_FALSE
262: ,p_commit => FND_API.G_FALSE
263: ,p_template_id => l_template_id
264: ,p_target_doc_type => 'PV_PARTNER_PROGRAM'
265: ,p_target_doc_id => p_enrl_request_id
258: -- If there is an appropriate contract, instantiate the T's and C's here
259: OKC_TERMS_COPY_GRP.COPY_TERMS(
260: p_api_version => 1.0
261: ,p_init_msg_list => FND_API.G_FALSE
262: ,p_commit => FND_API.G_FALSE
263: ,p_template_id => l_template_id
264: ,p_target_doc_type => 'PV_PARTNER_PROGRAM'
265: ,p_target_doc_id => p_enrl_request_id
266: ,p_article_effective_date => null
283: IF (PV_DEBUG_HIGH_ON) THEN
284: PVX_UTILITY_PVT.debug_message('x_return_status: ' || x_return_status);
285: END IF;
286:
287: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
288: FND_MESSAGE.SET_NAME('PV','PV_COPY_TERMS_ERROR_OUT');
289: FND_MSG_PUB.Add;
290: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
291: RAISE FND_API.G_EXC_ERROR;
286:
287: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
288: FND_MESSAGE.SET_NAME('PV','PV_COPY_TERMS_ERROR_OUT');
289: FND_MSG_PUB.Add;
290: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
291: RAISE FND_API.G_EXC_ERROR;
292: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
293: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
294: END IF;
287: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
288: FND_MESSAGE.SET_NAME('PV','PV_COPY_TERMS_ERROR_OUT');
289: FND_MSG_PUB.Add;
290: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
291: RAISE FND_API.G_EXC_ERROR;
292: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
293: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
294: END IF;
295: END IF;
288: FND_MESSAGE.SET_NAME('PV','PV_COPY_TERMS_ERROR_OUT');
289: FND_MSG_PUB.Add;
290: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
291: RAISE FND_API.G_EXC_ERROR;
292: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
293: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
294: END IF;
295: END IF;
296: END LOOP;
289: FND_MSG_PUB.Add;
290: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
291: RAISE FND_API.G_EXC_ERROR;
292: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
293: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
294: END IF;
295: END IF;
296: END LOOP;
297: x_exist := 'Y';
309: END IF;
310:
311: -- Standard call to get message count and if count is 1, get message info.
312: FND_MSG_PUB.Count_And_Get
313: ( p_encoded => FND_API.G_FALSE,
314: p_count => x_msg_count,
315: p_data => x_msg_data
316: );
317:
316: );
317:
318: EXCEPTION
319:
320: WHEN Fnd_Api.G_EXC_ERROR THEN
321: ROLLBACK TO Is_Contract_Exist_Then_Create;
322: x_return_status := Fnd_Api.G_RET_STS_ERROR;
323:
324: -- Standard call to get message count and if count=1, get the message
318: EXCEPTION
319:
320: WHEN Fnd_Api.G_EXC_ERROR THEN
321: ROLLBACK TO Is_Contract_Exist_Then_Create;
322: x_return_status := Fnd_Api.G_RET_STS_ERROR;
323:
324: -- Standard call to get message count and if count=1, get the message
325: Fnd_Msg_Pub.Count_And_Get (
326: p_encoded => Fnd_Api.G_FALSE
322: x_return_status := Fnd_Api.G_RET_STS_ERROR;
323:
324: -- Standard call to get message count and if count=1, get the message
325: Fnd_Msg_Pub.Count_And_Get (
326: p_encoded => Fnd_Api.G_FALSE
327: ,p_count => x_msg_count
328: ,p_data => x_msg_data
329: );
330:
327: ,p_count => x_msg_count
328: ,p_data => x_msg_data
329: );
330:
331: WHEN Fnd_Api.G_EXC_UNEXPECTED_ERROR THEN
332: ROLLBACK TO Is_Contract_Exist_Then_Create;
333: x_return_status := Fnd_Api.G_RET_STS_UNEXP_ERROR;
334: -- Standard call to get message count and if count=1, get the message
335: Fnd_Msg_Pub.Count_And_Get (
329: );
330:
331: WHEN Fnd_Api.G_EXC_UNEXPECTED_ERROR THEN
332: ROLLBACK TO Is_Contract_Exist_Then_Create;
333: x_return_status := Fnd_Api.G_RET_STS_UNEXP_ERROR;
334: -- Standard call to get message count and if count=1, get the message
335: Fnd_Msg_Pub.Count_And_Get (
336: p_encoded => Fnd_Api.G_FALSE
337: ,p_count => x_msg_count
332: ROLLBACK TO Is_Contract_Exist_Then_Create;
333: x_return_status := Fnd_Api.G_RET_STS_UNEXP_ERROR;
334: -- Standard call to get message count and if count=1, get the message
335: Fnd_Msg_Pub.Count_And_Get (
336: p_encoded => Fnd_Api.G_FALSE
337: ,p_count => x_msg_count
338: ,p_data => x_msg_data
339: );
340:
339: );
340:
341: WHEN OTHERS THEN
342: ROLLBACK TO Is_Contract_Exist_Then_Create;
343: x_return_status := Fnd_Api.G_RET_STS_UNEXP_ERROR;
344: IF Fnd_Msg_Pub.Check_Msg_Level ( Fnd_Msg_Pub.G_MSG_LVL_UNEXP_ERROR)
345: THEN
346: Fnd_Msg_Pub.Add_Exc_Msg( G_PKG_NAME,l_api_name);
347: END IF;
346: Fnd_Msg_Pub.Add_Exc_Msg( G_PKG_NAME,l_api_name);
347: END IF;
348: -- Standard call to get message count and if count=1, get the message
349: Fnd_Msg_Pub.Count_And_Get (
350: p_encoded => Fnd_Api.G_FALSE
351: ,p_count => x_msg_count
352: ,p_data => x_msg_data
353: );
354:
422: IF l_geo_hierarchy_ids_tbl.count > 0 THEN
423:
424: PV_Partner_Geo_Match_PVT.get_Matched_Geo_Hierarchy_Id(
425: p_api_version_number => 1.0
426: ,p_init_msg_list => FND_API.G_TRUE
427: ,x_return_status => l_return_status
428: ,x_msg_count => l_msg_count
429: ,x_msg_data => l_msg_Data
430: ,p_partner_party_id => p_partner_party_id
431: ,p_geo_hierarchy_id => l_geo_hierarchy_ids_tbl
432: ,x_geo_hierarchy_id => l_geo_hierarchy_id
433: );
434:
435: IF l_return_Status <> FND_API.G_RET_STS_SUCCESS or l_geo_hierarchy_id is null THEN
436: l_get_all_cntr_types := TRUE;
437: END IF;
438: ELSE
439: l_get_all_cntr_types := TRUE;