68:
69: BEGIN
70: -- initialize message list
71: FND_MSG_PUB.initialize;
72: IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
73: p_api_version_number,
74: l_api_name,
75: G_PKG_NAME)
76: THEN
73: p_api_version_number,
74: l_api_name,
75: G_PKG_NAME)
76: THEN
77: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
78: END IF;
79:
80: IF p_organization_id IS NULL THEN
81: FND_MESSAGE.SET_NAME ('CSP', 'CSP_MISSING_PARAMETERS');
165: -- First check whether the item is under serial control, if yes, set l_is_serial_control to true.
166:
167: inv_quantity_tree_pub.query_quantities(
168: p_api_version_number => l_api_version_number
169: , p_init_msg_lst => fnd_api.g_false
170: , x_return_status => l_return_status
171: , x_msg_count => l_msg_count
172: , x_msg_data => l_msg_data
173: , p_organization_id => p_organization_id
191: , x_qs => l_qs
192: , x_att => l_att
193: , x_atr => l_atr);
194:
195: IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
196: RAISE FND_API.G_EXC_ERROR;
197: END IF;
198:
199:
192: , x_att => l_att
193: , x_atr => l_atr);
194:
195: IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
196: RAISE FND_API.G_EXC_ERROR;
197: END IF;
198:
199:
200: if l_qr is null then
240: END IF;
241:
242: x_msg_count := l_msg_count;
243: x_msg_data := l_msg_data;
244: x_return_status := FND_API.G_RET_STS_SUCCESS;
245:
246: EXCEPTION
247: WHEN EXCP_USER_DEFINED THEN
248: x_return_status := FND_API.G_RET_STS_ERROR;
244: x_return_status := FND_API.G_RET_STS_SUCCESS;
245:
246: EXCEPTION
247: WHEN EXCP_USER_DEFINED THEN
248: x_return_status := FND_API.G_RET_STS_ERROR;
249: x_available_quantity := NULL;
250: fnd_msg_pub.count_and_get
251: ( p_count => x_msg_count
252: , p_data => x_msg_data
252: , p_data => x_msg_data
253: );
254:
255: /* WHEN EXCP_INVALID_ITEMS THEN
256: x_return_status := FND_API.G_RET_STS_SUCCESS;
257: x_msg_data := l_msg_data||'Return 0 quantity.';
258: x_available_quantity := NULL;
259: fnd_message.set_name('CSP', 'CSP_AVAIL_QTY');
260: fnd_message.set_token('ERROR', l_msg_data);
263: ( p_count => x_msg_count
264: , p_data => x_msg_data
265: );
266: */
267: WHEN FND_API.G_EXC_ERROR THEN
268: x_return_status := l_return_status;
269: fnd_msg_pub.count_and_get
270: ( p_count => x_msg_count
271: , p_data => x_msg_data );
270: ( p_count => x_msg_count
271: , p_data => x_msg_data );
272: x_available_quantity := NULL;
273:
274: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
275: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
276: fnd_msg_pub.count_and_get
277: ( p_count => x_msg_count
278: , p_data => x_msg_data );
271: , p_data => x_msg_data );
272: x_available_quantity := NULL;
273:
274: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
275: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
276: fnd_msg_pub.count_and_get
277: ( p_count => x_msg_count
278: , p_data => x_msg_data );
279: x_available_quantity := NULL;
278: , p_data => x_msg_data );
279: x_available_quantity := NULL;
280:
281: WHEN OTHERS THEN
282: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
283: fnd_message.set_name('CSP', 'CSP_UNEXPECTED_EXEC_ERRORS');
284: fnd_message.set_token ('ROUTINE', l_api_name, TRUE);
285: fnd_message.set_token ('SQLERRM', sqlerrm, TRUE);
286: fnd_msg_pub.add;
388: inv_quantity_tree_pub.clear_quantity_cache;
389:
390: inv_quantity_tree_pub.query_quantities(
391: p_api_version_number => l_api_version_number
392: , p_init_msg_lst => fnd_api.g_false
393: , x_return_status => l_return_status
394: , x_msg_count => l_msg_count
395: , x_msg_data => l_msg_data
396: , p_organization_id => p_organization_id
417:
418: g_qoh := l_qoh;
419: g_atr := l_atr;
420:
421: IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
422: RAISE FND_API.G_EXC_ERROR;
423: END IF;
424:
425: return l_att;
418: g_qoh := l_qoh;
419: g_atr := l_atr;
420:
421: IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
422: RAISE FND_API.G_EXC_ERROR;
423: END IF;
424:
425: return l_att;
426:
427: EXCEPTION
428: WHEN EXCP_NO_REQ_PARAMETERS THEN
429: return NULL;
430:
431: WHEN FND_API.G_EXC_ERROR THEN
432: return NULL;
433:
434: WHEN OTHERS THEN
435: return NULL;
517: inv_quantity_tree_pub.clear_quantity_cache;
518:
519: inv_quantity_tree_pub.query_quantities(
520: p_api_version_number => l_api_version_number
521: , p_init_msg_lst => fnd_api.g_false
522: , x_return_status => l_return_status
523: , x_msg_count => l_msg_count
524: , x_msg_data => l_msg_data
525: , p_organization_id => p_organization_id
544: , x_qs => l_qs
545: , x_att => l_att
546: , x_atr => l_atr);
547:
548: IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
549: RAISE FND_API.G_EXC_ERROR;
550: END IF;
551:
552: return l_att;
545: , x_att => l_att
546: , x_atr => l_atr);
547:
548: IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
549: RAISE FND_API.G_EXC_ERROR;
550: END IF;
551:
552: return l_att;
553:
554: EXCEPTION
555: WHEN EXCP_NO_REQ_PARAMETERS THEN
556: return NULL;
557:
558: WHEN FND_API.G_EXC_ERROR THEN
559: return NULL;
560:
561: WHEN OTHERS THEN
562: return NULL;
640: inv_quantity_tree_pub.clear_quantity_cache;
641:
642: inv_quantity_tree_pub.query_quantities(
643: p_api_version_number => l_api_version_number
644: , p_init_msg_lst => fnd_api.g_false
645: , x_return_status => l_return_status
646: , x_msg_count => l_msg_count
647: , x_msg_data => l_msg_data
648: , p_organization_id => p_organization_id
667: , x_qs => l_qs
668: , x_att => l_att
669: , x_atr => l_atr);
670:
671: IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
672: RAISE FND_API.G_EXC_ERROR;
673: END IF;
674:
675: return l_att;
668: , x_att => l_att
669: , x_atr => l_atr);
670:
671: IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
672: RAISE FND_API.G_EXC_ERROR;
673: END IF;
674:
675: return l_att;
676:
677: EXCEPTION
678: WHEN EXCP_NO_REQ_PARAMETERS THEN
679: return NULL;
680:
681: WHEN FND_API.G_EXC_ERROR THEN
682: return NULL;
683:
684: WHEN OTHERS THEN
685: return NULL;