28:
29: l_valid_flag varchar2(1);
30: begin
31: -- initialize API return status to success.
32: x_return_status := FND_API.G_RET_STS_SUCCESS;
33:
34: open c1;
35: fetch c1 into l_valid_flag;
36: close c1;
40: if p_party_id is null
41: then
42: FND_MESSAGE.SET_NAME('AR', 'HZ_API_INVALID_EVENT_ID');
43: FND_MSG_PUB.ADD;
44: x_return_status := FND_API.G_RET_STS_ERROR;
45: RAISE FND_API.G_EXC_ERROR;
46: else
47: FND_MESSAGE.SET_NAME('AR', 'HZ_API_INVALID_EVENT_OBJ_ID');
48: FND_MSG_PUB.ADD;
41: then
42: FND_MESSAGE.SET_NAME('AR', 'HZ_API_INVALID_EVENT_ID');
43: FND_MSG_PUB.ADD;
44: x_return_status := FND_API.G_RET_STS_ERROR;
45: RAISE FND_API.G_EXC_ERROR;
46: else
47: FND_MESSAGE.SET_NAME('AR', 'HZ_API_INVALID_EVENT_OBJ_ID');
48: FND_MSG_PUB.ADD;
49: x_return_status := FND_API.G_RET_STS_ERROR;
45: RAISE FND_API.G_EXC_ERROR;
46: else
47: FND_MESSAGE.SET_NAME('AR', 'HZ_API_INVALID_EVENT_OBJ_ID');
48: FND_MSG_PUB.ADD;
49: x_return_status := FND_API.G_RET_STS_ERROR;
50: RAISE FND_API.G_EXC_ERROR;
51: end if;
52: end if;
53:
46: else
47: FND_MESSAGE.SET_NAME('AR', 'HZ_API_INVALID_EVENT_OBJ_ID');
48: FND_MSG_PUB.ADD;
49: x_return_status := FND_API.G_RET_STS_ERROR;
50: RAISE FND_API.G_EXC_ERROR;
51: end if;
52: end if;
53:
54:
141:
142: -- Central procedure for getting root event id.
143:
144: procedure get_bo_root_ids(
145: p_init_msg_list IN VARCHAR2 := fnd_api.g_false,
146: p_event_id IN NUMBER,
147: x_obj_root_ids OUT NOCOPY BO_ID_TBL,
148: x_return_status OUT NOCOPY VARCHAR2,
149: x_msg_count OUT NOCOPY NUMBER,
159: and child_entity_name = 'HZ_PARTIES';
160:
161: begin
162: -- initialize API return status to success.
163: x_return_status := FND_API.G_RET_STS_SUCCESS;
164:
165: -- Initialize message list if p_init_msg_list is set to TRUE
166: IF FND_API.to_Boolean(p_init_msg_list) THEN
167: FND_MSG_PUB.initialize;
162: -- initialize API return status to success.
163: x_return_status := FND_API.G_RET_STS_SUCCESS;
164:
165: -- Initialize message list if p_init_msg_list is set to TRUE
166: IF FND_API.to_Boolean(p_init_msg_list) THEN
167: FND_MSG_PUB.initialize;
168: END IF;
169:
170:
197:
198:
199: EXCEPTION
200:
201: WHEN fnd_api.g_exc_error THEN
202: x_return_status := fnd_api.g_ret_sts_error;
203:
204: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
205: p_count => x_msg_count,
198:
199: EXCEPTION
200:
201: WHEN fnd_api.g_exc_error THEN
202: x_return_status := fnd_api.g_ret_sts_error;
203:
204: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
205: p_count => x_msg_count,
206: p_data => x_msg_data);
200:
201: WHEN fnd_api.g_exc_error THEN
202: x_return_status := fnd_api.g_ret_sts_error;
203:
204: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
205: p_count => x_msg_count,
206: p_data => x_msg_data);
207:
208: -- Debug info.
216: hz_utility_v2pub.debug(p_message=>'get_bo_root_ids(-)',
217: p_prefix=>l_debug_prefix,
218: p_msg_level=>fnd_log.level_procedure);
219: END IF;
220: WHEN fnd_api.g_exc_unexpected_error THEN
221: x_return_status := fnd_api.g_ret_sts_unexp_error;
222:
223: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
224: p_count => x_msg_count,
217: p_prefix=>l_debug_prefix,
218: p_msg_level=>fnd_log.level_procedure);
219: END IF;
220: WHEN fnd_api.g_exc_unexpected_error THEN
221: x_return_status := fnd_api.g_ret_sts_unexp_error;
222:
223: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
224: p_count => x_msg_count,
225: p_data => x_msg_data);
219: END IF;
220: WHEN fnd_api.g_exc_unexpected_error THEN
221: x_return_status := fnd_api.g_ret_sts_unexp_error;
222:
223: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
224: p_count => x_msg_count,
225: p_data => x_msg_data);
226:
227: -- Debug info.
236: p_prefix=>l_debug_prefix,
237: p_msg_level=>fnd_log.level_procedure);
238: END IF;
239: WHEN OTHERS THEN
240: x_return_status := fnd_api.g_ret_sts_unexp_error;
241:
242: fnd_message.set_name('AR', 'HZ_API_OTHERS_EXCEP');
243: fnd_message.set_token('ERROR' ,SQLERRM);
244: fnd_msg_pub.add;
242: fnd_message.set_name('AR', 'HZ_API_OTHERS_EXCEP');
243: fnd_message.set_token('ERROR' ,SQLERRM);
244: fnd_msg_pub.add;
245:
246: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
247: p_count => x_msg_count,
248: p_data => x_msg_data);
249:
250: -- Debug info.
266: p_os IN VARCHAR2,
267: p_osr IN VARCHAR2
268: ) RETURN VARCHAR2 IS
269: BEGIN
270: IF((p_os is null or p_os = fnd_api.g_miss_char)
271: and (p_osr is null or p_osr = fnd_api.g_miss_char))THEN
272: RETURN 'N';
273: ELSE
274: RETURN 'Y';
267: p_osr IN VARCHAR2
268: ) RETURN VARCHAR2 IS
269: BEGIN
270: IF((p_os is null or p_os = fnd_api.g_miss_char)
271: and (p_osr is null or p_osr = fnd_api.g_miss_char))THEN
272: RETURN 'N';
273: ELSE
274: RETURN 'Y';
275: END IF;
348: p_prefix=>l_debug_prefix,
349: p_msg_level=>fnd_log.level_procedure);
350: END IF;
351:
352: x_return_status := FND_API.G_RET_STS_SUCCESS;
353:
354: l_ss_flag := is_ss_provided(p_os => px_os,
355: p_osr => px_osr);
356:
430: CLOSE is_cp_valid;
431: IF(l_dummy IS NULL) THEN
432: FND_MESSAGE.SET_NAME('AR', 'HZ_API_INVALID_TCA_ID');
433: FND_MSG_PUB.ADD;
434: RAISE fnd_api.g_exc_error;
435: END IF;
436: END IF;
437: END IF;
438: END IF;
442: -- if px_id is invalid, raise error
443: IF(l_valid_id IS NULL) THEN
444: FND_MESSAGE.SET_NAME('AR','HZ_API_INVALID_TCA_ID');
445: FND_MSG_PUB.ADD();
446: RAISE fnd_api.g_exc_error;
447: -- if px_id is valid
448: ELSE
449: -- check if px_os/px_osr is passed
450: IF(l_ss_flag = 'Y') THEN
450: IF(l_ss_flag = 'Y') THEN
451: IF(l_count = 0) THEN
452: FND_MESSAGE.SET_NAME('AR','HZ_API_INVALID_SSM_ID');
453: FND_MSG_PUB.ADD();
454: RAISE fnd_api.g_exc_error;
455: -- if px_os/px_osr is valid
456: ELSE
457: -- if px_os/px_osr is valid, but not same as px_id
458: IF(l_owner_table_id <> px_id) OR (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
454: RAISE fnd_api.g_exc_error;
455: -- if px_os/px_osr is valid
456: ELSE
457: -- if px_os/px_osr is valid, but not same as px_id
458: IF(l_owner_table_id <> px_id) OR (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
459: FND_MESSAGE.SET_NAME('AR','HZ_API_INVALID_TCA_SSM_ID');
460: FND_MSG_PUB.ADD();
461: RAISE fnd_api.g_exc_error;
462: END IF;
457: -- if px_os/px_osr is valid, but not same as px_id
458: IF(l_owner_table_id <> px_id) OR (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
459: FND_MESSAGE.SET_NAME('AR','HZ_API_INVALID_TCA_SSM_ID');
460: FND_MSG_PUB.ADD();
461: RAISE fnd_api.g_exc_error;
462: END IF;
463: END IF;
464: -- if px_os/px_osr is valid and return value is same as px_id
465: -- do nothing
469: ELSE
470: -- check if px_os/px_osr can find TCA identifier, owner_table_id
471: -- if not found, raise error
472: -- else, get owner_table_id and assign it to px_id
473: IF(l_ss_flag = 'Y') AND (l_count = 1) AND (x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
474: px_id := l_owner_table_id;
475: ELSE
476: FND_MESSAGE.SET_NAME('AR','HZ_API_INVALID_SSM_ID');
477: FND_MSG_PUB.ADD();
474: px_id := l_owner_table_id;
475: ELSE
476: FND_MESSAGE.SET_NAME('AR','HZ_API_INVALID_SSM_ID');
477: FND_MSG_PUB.ADD();
478: RAISE fnd_api.g_exc_error;
479: END IF;
480: END IF;
481:
482: EXCEPTION
479: END IF;
480: END IF;
481:
482: EXCEPTION
483: WHEN fnd_api.g_exc_error THEN
484: x_return_status := fnd_api.g_ret_sts_error;
485:
486: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
487: p_count => x_msg_count,
480: END IF;
481:
482: EXCEPTION
483: WHEN fnd_api.g_exc_error THEN
484: x_return_status := fnd_api.g_ret_sts_error;
485:
486: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
487: p_count => x_msg_count,
488: p_data => x_msg_data);
482: EXCEPTION
483: WHEN fnd_api.g_exc_error THEN
484: x_return_status := fnd_api.g_ret_sts_error;
485:
486: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
487: p_count => x_msg_count,
488: p_data => x_msg_data);
489:
490: -- Debug info.
498: hz_utility_v2pub.debug(p_message=>'validate_ssm_id(-)',
499: p_prefix=>l_debug_prefix,
500: p_msg_level=>fnd_log.level_procedure);
501: END IF;
502: WHEN fnd_api.g_exc_unexpected_error THEN
503: x_return_status := fnd_api.g_ret_sts_unexp_error;
504:
505: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
506: p_count => x_msg_count,
499: p_prefix=>l_debug_prefix,
500: p_msg_level=>fnd_log.level_procedure);
501: END IF;
502: WHEN fnd_api.g_exc_unexpected_error THEN
503: x_return_status := fnd_api.g_ret_sts_unexp_error;
504:
505: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
506: p_count => x_msg_count,
507: p_data => x_msg_data);
501: END IF;
502: WHEN fnd_api.g_exc_unexpected_error THEN
503: x_return_status := fnd_api.g_ret_sts_unexp_error;
504:
505: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
506: p_count => x_msg_count,
507: p_data => x_msg_data);
508:
509: -- Debug info.
518: p_prefix=>l_debug_prefix,
519: p_msg_level=>fnd_log.level_procedure);
520: END IF;
521: WHEN OTHERS THEN
522: x_return_status := fnd_api.g_ret_sts_unexp_error;
523:
524: fnd_message.set_name('AR', 'HZ_API_OTHERS_EXCEP');
525: fnd_message.set_token('ERROR' ,SQLERRM);
526: fnd_msg_pub.add;
524: fnd_message.set_name('AR', 'HZ_API_OTHERS_EXCEP');
525: fnd_message.set_token('ERROR' ,SQLERRM);
526: fnd_msg_pub.add;
527:
528: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false,
529: p_count => x_msg_count,
530: p_data => x_msg_data);
531:
532: -- Debug info.