317: IF l_shelf_life_code = 2 THEN /* shelf life days */
318: l_in_lot_rec.expiration_date := SYSDATE + l_shelf_life_days;
319: ELSIF l_shelf_life_code = 4 THEN
320: IF p_expiration_date IS NULL THEN /* user-defined */
321: FND_MESSAGE.SET_NAME('INV','INV_NULL_EXPIRATION_DATE_EXP');
322: FND_MESSAGE.SET_TOKEN('PGM_NAME',g_pkg_name||'.'||l_api_name);
323: fnd_msg_pub.ADD;
324: RAISE error_null_exp_dt;
325: ELSE
318: l_in_lot_rec.expiration_date := SYSDATE + l_shelf_life_days;
319: ELSIF l_shelf_life_code = 4 THEN
320: IF p_expiration_date IS NULL THEN /* user-defined */
321: FND_MESSAGE.SET_NAME('INV','INV_NULL_EXPIRATION_DATE_EXP');
322: FND_MESSAGE.SET_TOKEN('PGM_NAME',g_pkg_name||'.'||l_api_name);
323: fnd_msg_pub.ADD;
324: RAISE error_null_exp_dt;
325: ELSE
326: l_in_lot_rec.expiration_date := p_expiration_date;
577: RAISE error_get_item_rec;
578: END IF;
579:
580: IF l_item_rec.lot_control_code = 1 THEN
581: FND_MESSAGE.SET_NAME('INV','INV_NO_LOT_CONTROL');
582: FND_MESSAGE.SET_TOKEN('PGM_NAME',g_pkg_name||'.'||l_api_name);
583: fnd_msg_pub.ADD;
584: RAISE error_not_lot_control;
585: END IF;
578: END IF;
579:
580: IF l_item_rec.lot_control_code = 1 THEN
581: FND_MESSAGE.SET_NAME('INV','INV_NO_LOT_CONTROL');
582: FND_MESSAGE.SET_TOKEN('PGM_NAME',g_pkg_name||'.'||l_api_name);
583: fnd_msg_pub.ADD;
584: RAISE error_not_lot_control;
585: END IF;
586:
1293: EXCEPTION
1294: WHEN error_val_qties THEN
1295: RETURN FALSE;
1296: WHEN error_um_conv THEN
1297: FND_MESSAGE.SET_NAME('INV','INV_NO_CONVERSION_ERR');
1298: FND_MESSAGE.SET_TOKEN('PGM_NAME',g_pkg_name||'.'||l_api_name);
1299: fnd_msg_pub.ADD;
1300: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1301: RETURN FALSE;
1294: WHEN error_val_qties THEN
1295: RETURN FALSE;
1296: WHEN error_um_conv THEN
1297: FND_MESSAGE.SET_NAME('INV','INV_NO_CONVERSION_ERR');
1298: FND_MESSAGE.SET_TOKEN('PGM_NAME',g_pkg_name||'.'||l_api_name);
1299: fnd_msg_pub.ADD;
1300: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1301: RETURN FALSE;
1302: WHEN OTHERS THEN
1341:
1342: IF l_exists > 0 THEN
1343: l_return := TRUE;
1344: ELSE
1345: FND_MESSAGE.SET_NAME('INV','INV_LOT_NOT_EXISTS');
1346: FND_MESSAGE.SET_TOKEN('PGM_NAME',g_pkg_name||'.'||l_api_name);
1347: fnd_msg_pub.ADD;
1348: l_return := FALSE;
1349: END IF;
1342: IF l_exists > 0 THEN
1343: l_return := TRUE;
1344: ELSE
1345: FND_MESSAGE.SET_NAME('INV','INV_LOT_NOT_EXISTS');
1346: FND_MESSAGE.SET_TOKEN('PGM_NAME',g_pkg_name||'.'||l_api_name);
1347: fnd_msg_pub.ADD;
1348: l_return := FALSE;
1349: END IF;
1350:
1502: FETCH cur_is_reason INTO l_is_reason;
1503: CLOSE cur_is_reason;
1504:
1505: IF l_is_reason = 0 THEN
1506: FND_MESSAGE.SET_NAME('INV','INV_INT_REACODE');
1507: FND_MESSAGE.SET_TOKEN('PGM_NAME',g_pkg_name||'.'||l_api_name);
1508: fnd_msg_pub.ADD;
1509: l_return := FALSE;
1510: ELSE
1503: CLOSE cur_is_reason;
1504:
1505: IF l_is_reason = 0 THEN
1506: FND_MESSAGE.SET_NAME('INV','INV_INT_REACODE');
1507: FND_MESSAGE.SET_TOKEN('PGM_NAME',g_pkg_name||'.'||l_api_name);
1508: fnd_msg_pub.ADD;
1509: l_return := FALSE;
1510: ELSE
1511: l_return := TRUE;