6: -- get media given pid, catrgory id, dc id, site id
7: -- ****************************************************************************
8: PROCEDURE get_media (
9: p_api_version IN NUMBER,
10: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
11: x_return_status OUT NOCOPY VARCHAR2,
12: x_msg_count OUT NOCOPY NUMBER,
13: x_msg_data OUT NOCOPY VARCHAR2,
14: p_pid IN ibe_dsp_obj_lgl_ctnt.object_id%TYPE,
34: l_logmed_found boolean := false;
35: l_phymed_found boolean := false;
36: BEGIN
37: ---dbms_output.put_line('making api version call');
38: IF NOT FND_API.compatible_api_call(
39: g_api_version,
40: p_api_version,
41: l_api_name,
42: g_pkg_name
40: p_api_version,
41: l_api_name,
42: g_pkg_name
43: ) THEN
44: RAISE FND_API.g_exc_unexpected_error;
45: END IF;
46:
47: -- Initialize message list if p_init_msg_list is set to TRUE.
48: ---dbms_output.put_line(' -- Initialize message list if p_init_msg_list is set to TRUE.');
45: END IF;
46:
47: -- Initialize message list if p_init_msg_list is set to TRUE.
48: ---dbms_output.put_line(' -- Initialize message list if p_init_msg_list is set to TRUE.');
49: IF FND_API.to_Boolean(p_init_msg_list) THEN
50: FND_MSG_PUB.initialize;
51: END IF;
52:
53: -- Initialize API return status to error, i.e, its not duplicate
50: FND_MSG_PUB.initialize;
51: END IF;
52:
53: -- Initialize API return status to error, i.e, its not duplicate
54: x_return_status := FND_API.g_ret_sts_success;
55:
56: BEGIN
57: -- First determine the logical media
58: ---dbms_output.put_line(' try at pid and dc level');
73: WHEN NO_DATA_FOUND THEN
74: NULL;
75: WHEN OTHERS THEN
76: -- TODO put fnd_messages
77: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
78: END;
79:
80: if NOT l_logmed_found THEN
81: BEGIN
96: WHEN NO_DATA_FOUND THEN
97: NULL;
98: WHEN OTHERS THEN
99: -- TODO put fnd_messages
100: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
101: END;
102:
103: if NOT l_logmed_found THEN
104: BEGIN
120:
121: RETURN;
122: WHEN OTHERS THEN
123: -- TODO put fnd_messages
124: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
125: END;
126: END IF;
127: END IF;
128:
154: WHEN NO_DATA_FOUND THEN
155: NULL;
156: WHEN OTHERS THEN
157: -- TODO put fnd_messages
158: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
159: END;
160:
161: if NOT l_phymed_found THEN
162: BEGIN
185: WHEN NO_DATA_FOUND THEN
186: NULL;
187: WHEN OTHERS THEN
188: -- TODO put fnd_messages
189: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
190: END;
191:
192: if NOT l_phymed_found THEN
193: BEGIN
216: WHEN NO_DATA_FOUND THEN
217: NULL;
218: WHEN OTHERS THEN
219: -- TODO put fnd_messages
220: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
221: END;
222:
223: if NOT l_phymed_found THEN
224: BEGIN
254:
255: RETURN;
256: WHEN OTHERS THEN
257: -- TODO put fnd_messages
258: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
259: END;
260: END IF;
261: END IF;
262: END IF;
271:
272: ---dbms_output.put_line('just before returning');
273: -- RETURN;
274: EXCEPTION
275: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
276: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
277: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count,
278: p_data => x_msg_data);
279:
272: ---dbms_output.put_line('just before returning');
273: -- RETURN;
274: EXCEPTION
275: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
276: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
277: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count,
278: p_data => x_msg_data);
279:
280: WHEN OTHERS THEN
277: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count,
278: p_data => x_msg_data);
279:
280: WHEN OTHERS THEN
281: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
282:
283: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
284: THEN
285: FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME, l_api_name);