297: from mtl_system_items_kfv
298: where inventory_item_id = p_inventory_item_id
299: and organization_id = p_organization_id;
300:
301: fnd_message.set_name('INV', 'INV_TRX_SER_NA_DUE_MS');
302: fnd_message.set_token('TOKEN1', p_serial_number);
303: fnd_message.set_token('TOKEN2', l_item_name);
304: x_error_msg := fnd_message.get;
305: RAISE fnd_api.g_exc_error;
298: where inventory_item_id = p_inventory_item_id
299: and organization_id = p_organization_id;
300:
301: fnd_message.set_name('INV', 'INV_TRX_SER_NA_DUE_MS');
302: fnd_message.set_token('TOKEN1', p_serial_number);
303: fnd_message.set_token('TOKEN2', l_item_name);
304: x_error_msg := fnd_message.get;
305: RAISE fnd_api.g_exc_error;
306: END IF;
299: and organization_id = p_organization_id;
300:
301: fnd_message.set_name('INV', 'INV_TRX_SER_NA_DUE_MS');
302: fnd_message.set_token('TOKEN1', p_serial_number);
303: fnd_message.set_token('TOKEN2', l_item_name);
304: x_error_msg := fnd_message.get;
305: RAISE fnd_api.g_exc_error;
306: END IF;
307: */
300:
301: fnd_message.set_name('INV', 'INV_TRX_SER_NA_DUE_MS');
302: fnd_message.set_token('TOKEN1', p_serial_number);
303: fnd_message.set_token('TOKEN2', l_item_name);
304: x_error_msg := fnd_message.get;
305: RAISE fnd_api.g_exc_error;
306: END IF;
307: */
308:
319: AND lot_number = l_lot_number;
320: --
321: IF l_lot_expiration_date IS NOT NULL
322: AND l_lot_expiration_date < Sysdate THEN
323: fnd_message.set_name('INV', 'INV_LOT_EXPIRED');
324: x_error_msg := fnd_message.get;
325: RAISE fnd_api.g_exc_error;
326: END IF;
327: --
320: --
321: IF l_lot_expiration_date IS NOT NULL
322: AND l_lot_expiration_date < Sysdate THEN
323: fnd_message.set_name('INV', 'INV_LOT_EXPIRED');
324: x_error_msg := fnd_message.get;
325: RAISE fnd_api.g_exc_error;
326: END IF;
327: --
328: EXCEPTION
326: END IF;
327: --
328: EXCEPTION
329: WHEN NO_DATA_FOUND then
330: fnd_message.set_name('INV','INVALID_LOT');
331: x_error_msg := fnd_message.get;
332: RAISE fnd_api.g_exc_error;
333: END;
334: END IF;
327: --
328: EXCEPTION
329: WHEN NO_DATA_FOUND then
330: fnd_message.set_name('INV','INVALID_LOT');
331: x_error_msg := fnd_message.get;
332: RAISE fnd_api.g_exc_error;
333: END;
334: END IF;
335:
569: debug ('l_atr:' ||l_atr );
570: END IF;
571:
572: IF x_return_status <> fnd_api.g_ret_sts_success THEN
573: FND_MESSAGE.set_name('INV', 'INV_ERR_CREATETREE');
574: FND_MESSAGE.set_token('ROUTINE','INV_QUANTITY_TREE_PUB.QUERY_QUANTITIES');
575: x_error_msg := fnd_message.get;
576:
577: RAISE fnd_api.g_exc_unexpected_error;
570: END IF;
571:
572: IF x_return_status <> fnd_api.g_ret_sts_success THEN
573: FND_MESSAGE.set_name('INV', 'INV_ERR_CREATETREE');
574: FND_MESSAGE.set_token('ROUTINE','INV_QUANTITY_TREE_PUB.QUERY_QUANTITIES');
575: x_error_msg := fnd_message.get;
576:
577: RAISE fnd_api.g_exc_unexpected_error;
578: END IF;
571:
572: IF x_return_status <> fnd_api.g_ret_sts_success THEN
573: FND_MESSAGE.set_name('INV', 'INV_ERR_CREATETREE');
574: FND_MESSAGE.set_token('ROUTINE','INV_QUANTITY_TREE_PUB.QUERY_QUANTITIES');
575: x_error_msg := fnd_message.get;
576:
577: RAISE fnd_api.g_exc_unexpected_error;
578: END IF;
579: IF (l_debug = 1) THEN
612: x_att => l_att,
613: x_atr => l_atr);
614:
615: IF x_return_status <> fnd_api.g_ret_sts_success THEN
616: FND_MESSAGE.set_name('INV', 'INV_ERR_CREATETREE');
617: FND_MESSAGE.set_token('ROUTINE','INV_QUANTITY_TREE_PUB.UPDATE_QUANTITIES');
618: x_error_msg := fnd_message.get;
619: RAISE fnd_api.g_exc_unexpected_error;
620: END IF;
613: x_atr => l_atr);
614:
615: IF x_return_status <> fnd_api.g_ret_sts_success THEN
616: FND_MESSAGE.set_name('INV', 'INV_ERR_CREATETREE');
617: FND_MESSAGE.set_token('ROUTINE','INV_QUANTITY_TREE_PUB.UPDATE_QUANTITIES');
618: x_error_msg := fnd_message.get;
619: RAISE fnd_api.g_exc_unexpected_error;
620: END IF;
621: IF (l_debug = 1) THEN
614:
615: IF x_return_status <> fnd_api.g_ret_sts_success THEN
616: FND_MESSAGE.set_name('INV', 'INV_ERR_CREATETREE');
617: FND_MESSAGE.set_token('ROUTINE','INV_QUANTITY_TREE_PUB.UPDATE_QUANTITIES');
618: x_error_msg := fnd_message.get;
619: RAISE fnd_api.g_exc_unexpected_error;
620: END IF;
621: IF (l_debug = 1) THEN
622: debug('ATT in source: ' || l_att);
652: x_att => l_att,
653: x_atr => l_atr);
654:
655: IF x_return_status <> fnd_api.g_ret_sts_success THEN
656: FND_MESSAGE.set_name('INV', 'INV_ERR_CREATETREE');
657: FND_MESSAGE.set_token('ROUTINE','INV_QUANTITY_TREE_PUB.UPDATE_QUANTITIES');
658: x_error_msg := fnd_message.get;
659: RAISE fnd_api.g_exc_unexpected_error;
660: END IF;
653: x_atr => l_atr);
654:
655: IF x_return_status <> fnd_api.g_ret_sts_success THEN
656: FND_MESSAGE.set_name('INV', 'INV_ERR_CREATETREE');
657: FND_MESSAGE.set_token('ROUTINE','INV_QUANTITY_TREE_PUB.UPDATE_QUANTITIES');
658: x_error_msg := fnd_message.get;
659: RAISE fnd_api.g_exc_unexpected_error;
660: END IF;
661:
654:
655: IF x_return_status <> fnd_api.g_ret_sts_success THEN
656: FND_MESSAGE.set_name('INV', 'INV_ERR_CREATETREE');
657: FND_MESSAGE.set_token('ROUTINE','INV_QUANTITY_TREE_PUB.UPDATE_QUANTITIES');
658: x_error_msg := fnd_message.get;
659: RAISE fnd_api.g_exc_unexpected_error;
660: END IF;
661:
662: ELSE
660: END IF;
661:
662: ELSE
663: x_return_status := fnd_api.g_ret_sts_unexp_error;
664: FND_MESSAGE.set_name('INV', 'INV_SERIAL_EXCEED_AVAILABLE');
665: x_error_msg := fnd_message.get;
666: RAISE fnd_api.g_exc_error;
667: END IF;
668:
661:
662: ELSE
663: x_return_status := fnd_api.g_ret_sts_unexp_error;
664: FND_MESSAGE.set_name('INV', 'INV_SERIAL_EXCEED_AVAILABLE');
665: x_error_msg := fnd_message.get;
666: RAISE fnd_api.g_exc_error;
667: END IF;
668:
669: -- process the serial number
687: END IF;
688:
689: IF (l_period_id = -1 or l_period_id = 0) THEN
690: x_return_status := fnd_api.g_ret_sts_error;
691: FND_MESSAGE.SET_NAME('INV', 'INV_NO_OPEN_PERIOD');
692: x_error_msg := fnd_message.get;
693: RAISE fnd_api.g_exc_error;
694: END IF;
695:
688:
689: IF (l_period_id = -1 or l_period_id = 0) THEN
690: x_return_status := fnd_api.g_ret_sts_error;
691: FND_MESSAGE.SET_NAME('INV', 'INV_NO_OPEN_PERIOD');
692: x_error_msg := fnd_message.get;
693: RAISE fnd_api.g_exc_error;
694: END IF;
695:
696: -- insert a new record for the new serial number